存储器的基本知识
- 构成存储器的存储介质主要是半导体材料和磁性材料。
用半导体器件组成的存储器叫半导体存储器;用磁性材料组成的存储器叫磁表面存储器 - 存储位元(存储元):存储器中最小的存储单位,是一个二进制代码位。
- 存储单元:由一些存储位元组成一个存储单元。
- 存储器:由很多个存储单元组成一个存储器。
- 随机存储器:这种存储器里的所有存储单元的内容都能被随机存储,并且读取和存储数据的时间与存储单元的物理位置无关。
- 顺序存储器:存储器只能按照某种顺序存储,也就是说存取的时间和存储单元的物理位置有关。如磁带存储器,磁盘存储器是半顺序存储器。
- 只读存储器(ROM):只能读出但是不能写入的半导体存储器叫 只读存储器。
- 随机读写存储器(RAM):既能读出又能写入的半导体存储器。
- 易失性存储器:断电后会信息消失的存储器。半导体存储器RAM就是易失性存储器。
- 非易失性存储器:断电后仍然能够保存信息的存储器;磁表面存储器就是非易失性存储器。
- 存储器在计算机中可以分为内部存储器(内存,CPU能直接访问的存储器,包括cache和主存)和外部存储器(外存,信息需要传给内部存储器才能被CPU处理)。还可以分为主存储器,辅助存储器,高速缓冲器,控制存储器。半导体存储器是内部存储器,磁盘是外部存储器,也是辅助存储器。
- cache(高速缓冲器):特点是速度快,存储容量小,为了提高计算机的存储效率而诞生,用途是保存你经常使用的数据,当你要再次使用时计算机可以迅速调出来,根据如何选择保存你常使用的数据会有不同的选择方式。
- 主要存储器:用来存放计算机的主要数据和程序,由MOS半导体存储器组成。
- 外存储器:是一种大容量辅助存储器,用来存放大型文件和数据库。系统不可以直接访问,需要通过将数据传入到内存才可以访问其中的数据。
主存储器
- 子存储单元:存放一个机器字的存储单元,相应的单元地址叫字地址。每个存储单元都有唯一一个地址编号,这个编号叫做单元地址,给每一个存储单元编号就叫编址,经编址后,存储器在逻辑上便形成一个线性地址空间。存取数据时,必须先给出地址码,再由硬件电路译码找到数据所在地址,这叫寻址。有关存储单元地址参考这篇文章。
- 存储容量
最小的存储单位是bit(比特),又叫位,依次往后是B(字节):1 B = 8 bit; KB(千字节):1 KB = 2¹⁰ B; MB(兆字节)1 MB = 2²⁰ B;GB(吉字节):1 GB = 2³⁰ B;TB(太字节):1 TB = 2⁴⁰ B …
主存的速度指标
- 存取时间
指存储器从读数据开始到将数据读到数据总线上或取写数据开始到操作结束的时间,又叫做存储器访问时间。 - 存取周期
连续两次读操作之间的最小间隔时间,一般来讲存储周期略大于存取时间。 - 存取器带宽
单位时间里存储器存储的信息量。
存储器带宽 = 信息总量 / 存储时间
SRAM存储器
Static RAM 静态随机存储器:是一种可以静态存储数据的存储器,静态是指不需要刷新电路就可以保存数据。
SRAM 是用触发器作为存储元,触发器只要直流电源一直加在记忆电路上,就会一直保持0或1的状态,电源断电就会失去记忆,也就是说当供电时SRAM可以存储数据,但是一旦断电存储的数据就会消失。
SRAM有三组信号线与外部连接:
- 地址线
地址线的条数 n 的数量指定了存储器的容量为 2 ^ n 个 存储单元。 - 数据线
n 条数据线指定了存储器的存储字长为 n 位。 - 控制线
控制线控制存储器是进行读操作(高电平)还是写操作(低电平)。 - SRAM采用双译码方式,以便组织更大的存储容量。
想要了解更多SRAM存储器原理,可以参考这篇文章 。
DRAM
dynamic RAM (动态随机存储器) ,具有极大的存储容量,一般用作计算机的主存储器。
SRAM 的存储元是一个触发器,有两个稳定的状态。这个触发器是由一个MOS管和电容器组成的记忆电路。MOS管是用作开关使用的,电容器充满电表示存储1,电容器没电代表存储0。
SRAM和DRAM的不同之处
- DRAM增加了行地址锁存器和列地址锁存器
因为DRAM的存储容量很大,所以地址线的宽度很大,这需要增加地址线的管脚数目,因此会大大增加成本。为了避免这种情况采用的方法是分时传送法。
- 分时传送法:假设地址总线宽度为10位,先通过行地址选通信号RAS传送 A0~A9 地址位到
行地址锁存器
,再通过列地址选通信号CAS传送 A10~A19 地址位到列地址锁存器;芯片内部两部分合起来,地址总线宽度就达到了20位。
- DRAM增加刷新计数器和相应的控制电路
DRAM读出后必须要进行刷新,并且刷新的是行,因此没有读写的存储元的也要按行刷新,所以刷新计数器的位宽和行地址锁存器的位宽相等;每次刷新是和读写操作交替进行,所以通过2选1多路开关来提供刷新行或者读写操作的行地址。
DRAM读写周期
读周期和写周期是从RAS行选通信号下降沿开始到下一个RAS信号开始的时间,为了控制方便,读周期和写周期的时间相等。
刷新周期
刷新方式有两种:
- 集中式刷新
- 分散式刷新
刷新周期的来源是由于DRAM存储器的存储元是靠电容器上的电量来保持存储的状态的,是所以需要定期刷新来确保存储器的状态是正确的。
1.集中式刷新
DRAM 的所有行在每一个刷新周期中都被刷新。
Cache(高速缓冲存储器)
cache是由 一系列SRAM组成的,所以它的存取速度比主存快,但是成本较高。
cache基本原理
CPU和cache数据传送是以字
为单位的,cache和主存之间的数据传送是以块
为单位的,一个块的包含了若干的字。
CPU读一个字的时候把字的内存地址同时送给cache和内存,根据cache控制逻辑判断这个字是否在cache中。如果在就从cache中调出;如果不在就从主存中调出,并且把这个字的数据送入cache中。
cache的命中率
cache存在的意义就是提高CPU读取数据的效率,就是让CPU尽可能快的存取数据,因为从cache的传送数据的速度比从主存快的多,所以cache的命中率也就是CPU对cache的使用率越高效率就越高。
相关例题解释
Cache的地址映射
CPU要拿取数据的时候会通过cache控制逻辑判断数据是否在cache里,在的话就会从cache里拿取,不在的话才会去主存里存取数据,所以问题来了,数据是一样的数据,但是存放的地方不同,那么必然会出现两个地址,所以不管是靠主存的内存地址去对应cache内的地址,还是CPU根据内存地址转换成cache的地址,都要用到cache的地址映射。
Cache有三种地址映射:全相联映射,直接映射,组相联映射;
全相联映射
【未完待续】