计算机组成原理-04-主存储器
主存储器
1.概述
主存中存储单元地址的分配
主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。
通常计算机系统的既可按字寻址,也可按字节寻址。
主存的技术指标
主存的主要技术指标是存储容量和存储速度。
1.存储容量
指在主存能存放二进制代码的总位数,即
存储容量=存储单元个数××存储字长
2.存储速度
由存取时间和存取周期来表示。
存取时间又称为存储器的访问时间,是指启动一次存储器操作到完成该操作所需的全部时间。存取时间分读出时间和写入时间两种。
存取周期是指存储器进行连续两次独立的存储器操作所需的最小间隔时间,通常存取周期大于存取时间。
3.存储器带宽
与存取周期密切相关的指标为存储器带宽,它表示单位时间内存储器存取的信息量,单位可用字/秒或字节/秒或位/秒表示。带宽是衡量数据传输率的重要技术指标。
为了提高存储器的带宽,可以采用一下措施:
缩短存取周期
增加存储字长,使每个存取周期可读/写更多的二进制位数。
增加存储体。
半导体存储芯片简介
半导体存储芯片的基本结构
存储芯片通过地址总线、数据总线和控制总线与外部连接。
地址线是单向输入的,其位数与芯片容量有关。
数据线是双向的,其位数与芯片可读出或写入的数据位数有关。数据线的位数与芯片容量有关。
地址线和数据线的位数共同反映存储芯片的容量。
控制线主要有读/写控制线与片选线两种。读/写控制线决定芯片进行读/写操作,片选线用来选择存储芯片。
半导体存储芯片的译码驱动方式
半导体存储芯片的译码驱动方式有两种:线选法和重合法。
由于被选单元是由X、Y两个方向的地址决定的,故称为重合法。
随机存取存储器
按照存储信息的原理不同可分为静态RAM和动态RAM两大类。
动态RAM的刷新
刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。
必须采用定时刷新的方法,它规定在一定的时间内,对动态RAM的全部基本单元电路必做一次刷新,一般取2ms,这个时间称为刷新周期,又称再生周期。通常有三种方式刷新:集中刷新、分散刷新、异步刷新。
1.集中刷新
集中刷新是在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。
不能进行读/写操作的时间称为“死时间”,又称访存“死区”,所占的比例称为死时间率。
2.分散刷新
分散刷新是指对每行存储单元的刷新分散到每个存取周期内完成。
把机器的存取周期tC分成两段,前半段tM用来读/写或维持信息,后半段tR用来刷新,即tC=tM+tR。
3.异步刷新
异步刷新是前两种方式的结合,它既可缩短“死时间”,又充分利用最大刷新间隔为2ms的特点。
动态RAM和静态RAM的比较
动态RAM的应用比静态RAM要广泛得多:
1.在同样大小的芯片中,动态RAM的集成度远高于静态RAM。
2.动态RAM行、列地址按先后顺序输送,减少了芯片引脚,封装尺寸也减少。
3.动态RAM的功耗比静态RAM小。
4.动态RAM的价格比静态RAM的价格便宜。
动态RAM的缺点:
1.由于使用动态元件(电容),因此它的速度比静态RAM低。
2.动态RAM需要再生,故需配置再生电路,也需要消耗一部分功率。
4.只读存储器
对半导体ROM而言,基本器件为两种:MOS型和TTL型。
1.掩膜ROM
用行、列交叉处是否有耦合元件MOS管,便可区分原存“1”还是存“0”。
2.PROM
PROM是可以实现一次性编程的只读存储器。熔断丝断或未断可区别其所存信息是“1”或“0”。
3.EPROM
EPROM是一种可擦除可编程只读存储器。它可以由用户对其所存信息作任意次的改写。
存储器与CPU的连接
1.存储容量的扩展
将若干存储芯片连在一起才能组成足够容量的存储器,称为存储容量的扩展,通常有位扩展和字扩展。
1.位扩展
位扩展是指增加存储字长。
2.字扩展
字扩展是指增加存储器字的数量。
3.字、位扩展
字、位扩展是指既增加存储字的数量,又增加存储字长。
存储器与CPU的连接
1.地址线的连接
CPU的地址数往往比存储芯片的地址线数多。通常总是将CPU地址线的低位与存储字的地址线相连。CPU地址线的高位或在存储芯片扩充时用,或做其他用途,如片选信号等。
2.数据线的连接
CPU的数据线数与存储芯片的数据线数也不一定相等。此时必须对存储芯片扩位,使其数据位数CPU的数据线数相等。
3.读/写命令线的连接
CPU读/写命令线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。
4.片选线的连接
片选线的连接CPU与存储芯片正确工作的关键。片选有效信号与CPU的访存控制信号MREQ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯MREQ¯(低电平有效)有关,因为只有当CPU要求访存时,才需选择存储芯片。片选有效信号还和地址有关,因为CPU的地址线往往多于存储芯片的地址线,故那些未与存储芯片连上的高位地址必须和访存控制信号共同产生存储芯片和片选信号。
5.合理选择存储芯片
主要是指存储芯片类型(RAM或ROM)和数量的选择。通常选用ROM存放系统程序、标准子程序和各类常数等。RAM则是为用户编程而设置的。
6.存储器的校验
汉明码的组成
任何一种编码是否具有检测能力和纠错能力,都与编码的最小距离有关。所谓编码最小距离,是指在一种编码系统中,任意两组合法代码之间的最少二进制位数的差异。
根据纠错理论得
L−1=D+C
L−1=D+C
且D≥CD≥C,即编码最小距离L越大,则其检测错误的位数D越大,纠正错误的位数C也越大,且纠错能力恒小于或等于检错能力。倘若能在信息编码中增加若干位检测位,增大L,显然便能提高检错和纠错能力。
设欲检测的二进制代码为n位,为使其具有纠错能力,需增添k位检测位,组成n+k位的代码。为了能准确对错误定位以及指出代码没错,新增添的检测位数k应满足:
2k≥n+k+1
2k≥n+k+1
设n+k位代码自左至右一次编号为第1,2,…,n+k位,而将k为检测位记作Ci(i=1,2,4,8,…)Ci(i=1,2,4,8,…),分别安插在n+k为代码编号的第1,2,4,8,…,2k−11,2,4,8,…,2k−1为上。这些检测位的位置设置是为了保证它们能分别承担n+k位信息中不同数位所组成的“小组”的奇偶检测任务,使检测位和它所负责检测的小组中1的个数为奇数或偶数。
这种小组的划分有如下特点:
每个小组gigi有且仅有一位为它所独占,这一位是其他小组所没有的,即gigi小组独占第2i−12i−1位(i=1,2,3,…)。
每两个小组gigi和gjgj共同占有一位是其他小组没有的,即每两小组gigi和gjgj共同占有第2i−1+2j−12i−1+2j−1位(i,j=1,2,…)。
每3个小组gigi、gjgj、glgl共同占有第2i−1+2j−1+2l−12i−1+2j−1+2l−1位。
汉明码的纠错过程
7.提高访存速度的措施
单体多字系统
在一个存取周期内,从同一地址取出4条指令,然后再逐条将指令送至CPU执行,即每隔1/4存取周期,主存向CPU送一条指令。
采用这种办法的前提是:指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或者操作数不能连续存放,这种方法的效果就不明显。
多体并行系统
采用多体模块组成的存储器。并行工作即同时访问N个模块,同时启动,同时读出,完全并行地工作。
1.高位交叉编址的多体存储器
程序按体内地址顺序存放,故又有顺序存储之称。高位地址可表示体号,低位地址为体内地址。按这种编址方式,只要合理调动,使不同的请求源同时访问不同的体,便可实现并行工作。
2.地位交叉编址的多体存储器
程序连续存放在相邻体中,故又有交叉存储之称。低位地址用来表示体号,高位地址为体内地址。这种编址方法又称为模M编址(M等于模块数)。一般模块数M取2的方幂,使硬件电路比较简单。
多体模块结构的存储器采用交叉编址后,可以在不改变每个模块存取周期的前提下,提高存储器的带宽。假设每个体的存储字长和数据总线的宽度一致,并假设低位交叉的存储器模块数为n,存取周期为T,总线传输周期为ττ,那么采用流水线方式存取时,应满足T=nτT=nτ。
对于低位交叉的存储器,连续读取n个字所需的时间t1t1为
t1=T+(n−1)τ
t1=T+(n−1)τ
若采用高位交叉编址,组连续读取n个字所需的时间t2t2为
t2=nT
t2=nT
3.存控
存控具有合理安排各部件请求访问的顺序以及控制主存读/写操作的功能。一个存控基本结构包括排队器、控制线路、节拍发生器、标记触发器。
(1)排队器
为了防止两个以上的请求源同时占用同一个存储体,并防止将代码错送到另一个请求源等各种错误的发生,在存控内需设置一个排队器,由它来确定请求源的优先级别。
确定原则:
1.对易发生代码丢失的请求源,应列为最高优先级。
2.对严重影响CPU工作的请求源,给予次高优先级,否则会导致CPU工作失常。
(2)存控标记触发器
它用来接受排队器的输出信号,一旦响应某请求源的请求,CMCM被置为“1”,以便启动节拍发生器工作。
(3)节拍发生器
用来产生固定节拍,与机器主脉冲同步,使控制线路按一定时序发出信号。
(4)控制线路
由它将排队器给出的信号与节拍发生器提供的节拍信号配合,向存储器各部件发出各种控制信号,用以实现对总线控制及完成存储器读/写操作,并向请求源发出回答信号,表示存储器已响应了请求等。
高性能存储芯片
(1)SDRAM
SDRAM与常用的DRAM不同,它与处理器的数据交换同步于系统的时钟信号,并且处理器-存储器总线的最高速度运行,而不需要插入等待状态。
(2)RDRAM
RDRAM采用专门的DRAM和高新能的芯片接口取代现有的存储器接口。
(3)带Cache的DRAM(CDRAM)
带cache的DRAM是在通常的DRAM芯片内又集成了一个小的SRAM,又称增强型的DRAM(EDRAM)。
个人感受
- 对于 DRAM 的刷新方式非常的巧妙,受益匪浅。
参考资料
《计算机组成原理》