第三节 主存储器
存储器分类,存储器组成与工作原理,Cache存储器
1.ROM存储器
ROM(Read Only Memory)是只读存储器,其内容只能读出,不能写入。
PROM(Programmable ROM)是可编程只读存储器,允许用户一次性写入。
EPROM(Erasable PROM)是可擦除的可编程只读存储器,可通过紫外光照射来擦除其内容,而重新写入,并可以重复多次。
EEPROM(Electrical EPROM)是电可擦除的可编程只读存储器,可不从电路板上拔下芯片,利用电信号擦除与写入。
2.SRAM与DRAM
静态随机存取存储器SRAM的基本存储电路利用触发器存储信息的原理,通常由6支MOS晶体管构成,工作速度较快而功耗较高;动态随机存取存储器DRAM的基本存储电路利用电容存储信息的原理,通常由2支MOS晶体管构成,由于电容的漏电而需要经常(约2毫秒)刷新,所以工作速度较慢,但芯片存储容量大且功耗低。
3.存储矩阵与译码驱动
设存储容量为2n,则存储器的地址线为n条,若直接译码驱动,就需要2n个驱动器。为了节省驱动线数,一般将存储器分成(2n/2)×(2n/2)矩阵,这样,驱动线就是2×(n/2)条。例如n=12,存储容量为4096,若直接译码驱动,则需驱动线4096条;若采用矩阵式译码,则只需驱动线2×26 =2×64=128条。
4.PC机的存储控制信号
M/IO———访问存储器或外设的控制信号,高电平时表示访问存储器。
RD———读信号,低电平时表示读存储器。
WR———写信号,低电平时表示写存储器。
ALE———地址锁存信号,高电平时将地址锁存到存储器中。
DEN———数据有效信号,低电平时才打开数据收发器(否则存储器与数据总线断开)。
DT/R———数据收发控制信号,高电平表示CPU发出数据,低电平表示CPU接收数据。
BHE———高8位数据允许信号,低电平表示8位数据总线上的数据是16位数据的高8位。经过总线的控制器后,存储器读写控制信号的名称会有所变化,例如MRDC是存储器读命令,MWTC是存储器写命令等。
5.存储器地址选择
一个存储器通常由若干存储器芯片组成,为了实现对存储器的正确寻址,应将存储器芯片的地址线连到CPU地址线的低位部分,以实现片内寻址;CPU地址线的其余部分应按存储器地址分布的要求,通过译码器对单个芯片进行选择(产生片选信号CS)。若干为了节省译码器件,只用部分高位CPU地址参加译码,则会产生地址重叠问题。在实际应用中,应避免两个以上的地址访问到同一存储单元。
6.CPU时序与存储器存取时间的配合
CPU进行读写操作是按一定的时序进行的,如果存储器的读出时间或写入时间较长,不能满足CPU时序的要求,则需要在CPU时序中插入等待周期,才能保证对存储器的正确读写。
7.高速缓存(Cache)
为了使高速的CPU与慢速的主存储器之间能协同工作,而又不要在CPU时序中插入等待周期,而在CPU与主存储器之间引入高速缓存(又称快存)。在快存中存放使用最频繁的指令和数据,这样CPU的工作速度得到了保证,从而提高了整个系统的工作速度。为什么不提高整个内存的速度?因为成本太高。目前内存(DRAM)的存取时间是60~70纳秒,快存(SRAM)的存取时间是15纳秒,而前者的价格是后者的10倍。
为了提高快存的工作效率,在CPU中的缓存又分成存取指令和存取数据两部分,并在CPU芯片外设立二级缓存,奔腾机的一级缓存容量为16KB(存放指令与数据各8KB),二级缓存容量为256KB或512KB。
一、二级缓存合在一起,可使CPU访问缓存的命中率达到98%,如果数据既不在一级缓存中,又不在二级缓存中,则Cache控制器将从主存中存取数据,并在向CPU传送数据的同时,修改缓存中的内容。显然,应保持Cache与主存中数据的一致性,为此,当CPU执行写操作时,不但要写入Cache中,还要写入主存中。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |