组成原理-存储器 - 易芝
组成原理-存储器
计算机三级存储体系:主存,辅存,寄存器。 寄存器在CPU芯片的内部,高速缓冲存储器也制作在CPU芯片内。而主存储器由插在主板内存插槽中的若干内存条组成。
内存的质量好坏与容量大小会影响计算机的运行速度。
主存 保存计算机正在执行的当前数据和指令,远慢于CPU速度。所以引入寄存器和高速缓存。
高速缓冲存储器(Cache) 比主存小,但是比寄存器大,远大(根据程序的局部性原理,把程序放入高速缓存,可大幅度提高速度)
紧靠内存的一级高速缓存速度最高,容量较小。
- RAM 是一个临时存放代码和数据的地方,CPU 要执行代码时,就要到内存(RAM)中去取指令。(ROM呢)
其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;
在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;
在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。
计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。
外存通常是磁性介质或光盘等,能长期保存信息。
内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
主板上可以集成小块电池,内存条,高速缓冲存储器(cpu的部件之一)。
DMA
(直接存储器访问)
原理是 外 部设备 不通过CPU而直接与 内存 交换数据
DMA控制器 让 CPU不参与数据传输 , 减轻CPU的负担。
在现代操作系统中,外设有数据到来时,基本上都采用中断方式通知CPU,操作系统响应中断,然后再从外设读取数据,这时,如果外设的数据比较频繁,那么是否每到一个数据都中断一次呢??这样 CPU 就非常频繁地被外调中断打断,操作系统在处理中断时要浪费一定时间,而且 CPU 读外部 IO 速度也很慢,这样的话,大量时间被用在了响应中断上,而去调度其它任务的时间减少,让人感觉系统响应速度不够,也会影响外设的数据传输速度(如果外设传输速度太快,操作系统就有可能丢失部分数据),
由此引出 DMA 的机制:
外设直接将一块数据放在了 RAM (random access memory)中,然后再产生一次中断,这样操作系统直接将内存中的那块数据传给想要获取这块数据的一个任务(或者放在内存的另一空闲部分),此时,系统就少了频繁响应外设中断的开销,也少了读取外设 IO 的时间开销(读取 RAM 比读取外设 IO 要快很多),这就是 DMA 的作用所在!
- CPU 工作的核心就是一个 PC 指针,PC 指针指向什么地址,CPU 就会把相应地址处的二进制数据送至内部译码器进行译码后运行,
DMA与通常中断方式
DMA方式则是以数据块(外设里的数据暂时放在RAM中,供cpu拿指令)为单位传输的,在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数
总结:
DMA方式,仅仅是开始和结尾借用CPU一点时间,其余不占用CPU任何资源,中断方式是程序切换,每次操作需要保护和恢复现场
中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。
DMA方式(和通道方式)较好地解决了上述问题。
这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。
中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。
DMA方式 较好地解决了上述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。