2011考研计算机组成原理
再在增加字的数量方向扩展组,且使各组的存储器芯片分时工作
?. 已知CPU的数据宽度8位,地址线16位,请用2K×1位的存储芯片,扩展为6K×8位的存储系统。
分析: (1)对于存储芯片与CPU的DB数据宽度不一致,需要位扩展,即8块芯片组成位宽为8位(一个字长),容量为2KB的组;
(2)在此基础上,还需要进行3组字扩展才符合系统要求,即2KB×3为6KB。如图3.?所示,其中A10~A0(寻址2K单元)为片内寻址,A13、A12和A11为片外寻址,即寻找三个不同组中的一组,使之分时工作;又因同一组的/CE和/WE接在一起,即同一组中各芯片能同时工作,并传送不同的8位数据。
(3)由于用剩余的5根高位A线来选3中之一,所以设A15和A14恒为0,则计算出各存储芯片的地址空间分别为3000H~37FFH、2800~2FFFH和1800~1FFFH,可见这种方法造成地址空间不连续;
(4)16位地址,最大寻址空间应为64KB,即可寻址8组相同的芯片,显然本题的接法不能实现,所以这种方法还会造成地址资源的浪费。 3.7 读、写操作
1、读操作过程
(1) CPU发A至AB A信号→MAR→AB ; (2) CPU发读命令 ? Read ; (3) 读出D经DB To CPU M(MAR)→DB→MDR ; 读过程中,如果在规定的时间里,存储器不能完成数据输出,将给CPU发没有就绪信号,CPU将插入Wait周期,直至从存储器读出D。 2、写操作过程
(1) CPU发A至AB A信号→MAR→AB ; (2) CPU发D送至DB ? 数据→MDR→DB ; (3) CPU发写命令 Write ; 同样,写过程中,如果在规定的时间里,存储器不能完成数据写,将给CPU发没有就绪信号,CPU将插入Wait周期,直至从存储器D写入。 此过程并不复杂,但对于CPU设计很有用。
?. RAM芯片并联的目的是为了 ,RAM芯片串连的目的是为了 。要组成容量为4K×8位的存储器,需要 片4K×1位的静态RAM芯片并联,或者需要 片1K×8的静态RAM芯片串连。
解: (扩展单元字长,扩充单元数量,8,4)
3.8 二、多模块交叉存储器 多模块存储器有多种类型,为提高访问速度,常用的有单体多字存储器和多体低位交叉存储器。
多体低位交叉存储器
CPU访问多个存储体是在同一个存储周期内完成的。结构特点:由m个相同的存储体组成,有各自独立的工作电路(m套),如图3.?所示的电路为m=4。问方式:CPU同时送出的m个地址,由存储器分时使用数据总线进行信息传递。更适合采用流水线方式并行存取,当CPU连续访问一个字块时,就较大地提高了带宽。
通常在一个存储器周期内,如图3.?所示,m个存储体必须分时启动,若各个存储体的启动间隔
第26页 共65页
2011考研计算机组成原理
为??T/n(n为交叉存取度),通常取m≥n,这样整个存储器的存取速度有望提高n倍, m?n?1t?T?(m?1)??T() (T为读写一个字的存取周期)交叉 n 图3.? 4模块低位交叉流水访问示意 图3.? 4模块低位交叉示意 ★★ 常考题型及其解法与技巧
题型一 对双端口存储器、多模块存储器的深入理解
?.名词解释:相联存储器;多体交叉存储器; 解:
(1) 相联存储器:一种按内容同时访问其内所有单元的存储器,每个存储单元有匹配电路,
可用于cache中查找信息,比如全相联映像时,用CPU给出的主存块号去相联查找块表中所有的块号标志;
(2) 多体交叉存储器:由多个相互独立、容量相同的存储体构成的存储器,每个存储体独立
工作,当为地址交叉时,读写操作还将重叠进行,大大加快了访问速度,为流水线读取所常用。
?. 双端口存储器和多模块交叉存储器属于 存储器结构,前者采用 , 技术,后者采用 技术。 解: 并行;空间并行;时间并行
3.9 高速缓冲存储器(Cache
高速缓冲存储器的运行原理
1. Cache 的工作原理 (1) 工作流程如图3.?所示:
CPU送出主存(大)地址,命中,此大地址变换成cache(小)地址并送cache,将读出的字传送到CPU的DB;不命中,主存将读出的字送到DB,同时,将此字的所在块(若干个字)送到cache;如果cache中可以装入就直接写入,不能装入就根据一定的算法进行置换。
(2) 命中率: h=cache中访问到的次数/所有访问的次数
第27页 共65页
2011考研计算机组成原理
(3) 平均访问时间: T平均=c + (1 – h)m (c一次访缓存时间,m一次访主存时间)
图7.47高速缓存的工作流程
2. Cache 的更新算法
为CPU写操作确保两处的一致性而选用的算法被称为更新算法。 (1) 命中:a) 全写法 同时写。为访存时间,降低了速度,但一致性好。
b) 写回法 拖后写。“修改”标记,等机会写。算法效率很高。一致性稍低。 (2) 失效:a) 写分配法 在写主存的同时,将该块调入cache。
通常与写分配法合用。分配是指分配cache块。
b) 非写分配法 只写主存,不调入cache。全写法通常与非写分配法合用。 采用分体缓存,即指令用一个高速缓存而数据用另外一个,这也被称为哈佛结构。
Cache的3种地址映像方式
1. 地址映像与变换
映象:用某种函数或规则使主存地址与Cache地址具有某种逻辑对应关系。 变换:将主存地址按映像规则变换成Cache地址。
2. 三种基本地址映像:全相联映像、直接映像和组相联映象 3. 三种映像方式的内在联系:
当组相联映像中组内的块容量为1时,就转化为直接映象;当组数的量为cache的容量时,就转化为全相联映象。因此,组相联映像是上述两种映像的普遍形式。
★★ 常考题型及其解法与技巧
题型一 深入理解cache工作原理的问题
?.在cache中,常用的更新策略有:写直达法、写回法和按写分配法、不按写分配法,以下表述中正确的选项是。
(1) 读操作时,写直达法和写回法在命中时运用; (2) 写操作时,写回法和按写分配法在命中时运用; (3) 读操作时,写直达法和按写分配法在失效时运用;
(4) 写操作时,按写分配法、不按写分配法在在失效时运用; 分析: 答案应该是(D),这个题主要是希望考生注意更新策略运用的场合:写操作并且命中还是失效;还有要注意他们命中和失效时的策略运用的搭配。 ?.名词解释:逻辑地址;物理地址;
第28页 共65页
2011考研计算机组成原理
解: 逻辑地址:程序员编程所用的地址以及CPU通过指令访问主存时所产生的地址。 物理地址:实际的主存储器的地址称为―真实地址‖。
?.三级不同的存储器,是用读写速度不同、存储容量不同、运行原理不同、管理使用方法也不尽相同的不同存储器介质实现的。一般静态存储器芯片用于 ,动态存储器芯片用于 ,而快速磁盘设备上的部分存储区则用于 。 解: 高速缓冲存储器;主存储器;虚拟存储器;
?.在cache存储器系统中,当程序正在执行时,由 完成地址变换。 (1) 程序员 (2) 硬件
(3) 硬件和软件 (4) 操作系统 解: (2)
题型二 地址位数、命中率、效率的计算
?.有一cache系统,字长为16位,主存容量为16字*256块, cache的容量为16字*8块。求:
(1) 主存和cache的容量各为多少byte,主存和cache的字地址各为几个bit?
(2) 如果原先已经依次装入了5块的信息,问字地址为338H所在的主存块,将装入cache块的块号及在cache中的字地址?
(3) 如果块表中地址为1的行中,标记着36H的主存块号标志,则当CPU送来主存的字地址为368H时,是否命中,如果命中,此时的cache的字地址为多少? 解: 如图3.?所示,
(1) 主存容量=16 *256*2=32768B,cache容量=16*8*2=256B, 主存字地址=8+4=12bit, cache字地址=3+4=7bit
(2) 如图3..?所示,由于每块16个字,所以该主存字所在的主存块号为33H,由于是全相联映像,原先已经装入cache的5个块依次在0~4号块,因此主存的第33H的块将装入cache的第5块。对应cache的字地址为1011000B,其中101为块号,1000为块内地址。
(3) 如图3.?所示,由于块表中地址为1的行中,标记着36H的主存块号标志,则当CPU送来主存的字地址为368H时,其主存块号为36H,所以命中,此时的cache字地址为1011000B 图3.? 全相联映像例题 图3.??全相联映像例题 图3.? ?全相联映像例题
?. CPU 执行一段程序时,CACHE 完成存取的次数为 5000 次,主存完成存取的次数为 200 次。已知 CACHE 存取周期Tc为 40ns,主存存取周期Tm为 160ns。分别求: (当cache不命中时才启动主存)
第29页 共65页
2011考研计算机组成原理
(1) Cache的命中率 H; (2) 平均访问时间 Ta (3) CACHE-主存系统的访问效率 e。 解: (1) H=Nc/(Nc+Nm)=5000/5200≈0.96 (2) Ta=Tc+(1-H) ×Tm=40ns+(1-0.96) ×160ns=46.4ns (3) E=Tc/Ta=40ns/46.4ns×100%=86.2%
?.有一全相联cache系统,cache有8个块构成,CPU送出的主存地址流序列分别为01101B、10010B、01101B、01000B、10010B、00100B、01000B和01010B,即十进制为14、18、14、18、8、4、8、和10。求: (1) 每次访问后,cache的地址分配情况。 (2) 当cache的容量换成4个块,地址流为00110B、01111B、00110B、01101B、01011B、01010B、01000B和00111B时,求采用先进先出替换算法相应地址分配和操作
解: 依据cache的块容量和访问的块地址流序列可以画出图3.?由于是全相联映像,因此,相应的地址分配如图,相应的操作也分别为调进、调进、命中、命中、调进、调进、命中和调进。 图3.? 全相联映像例题2
(1) 依据cache的块容量和访问的块地址流序列可以画出图3.?。由于是全相联映像,且当访问的第6个地址(含)开始,cache已经装不下,因此,按照先进先出的原则依次替换出第0块、第2块和第3块,相应的地址分配如图,相应的操作也分别为调进、调进、命中、调进、调进、替换、替换和替换。
图3.?先进先出替换算法
第30页 共65页