计算机组成原理——第4章主存储器1.存储器容量扩展位扩展字扩展字位扩展2.存储控制集中刷新分散刷新异步刷新3.存储校验线路4.8半导体存储器的组成与控制复习(一)RAM存储器芯片总结RAM存储器芯片有多种型号,每一RAM存储器芯片具有:地址线Ai:引脚数与存储芯片的单元数有关;数据线Di:引脚数与存储芯片的字长有关;片选信号CS:只有CS有效时,芯片才被选中,所连地址线才有效,才能进行读/写操作。读/写信号WE:为0,控制写入电路进行写入;为1,控制读出电路进行读出。电源线、地线复习(二)例1:某RAM芯片,其存储容量为16K×8位,问:(1)该芯片引出线的最小数目应为多少?(2)存储器芯片的地址范围是什么?解:(1)16K=214,所以地址线14根;字长8位,所以数据线8根。14+8+1+1+1+1=26地址线数据线片选读/写电源线地线(2)存储器芯片的地址范围为0000H~3FFFH存储器芯片的地址范围:地址线从全“0”到全“1”的所有编码复习(三)SRAM芯片2114(1K×4位)外特性:地址端:2114(1K×4)191018A6A5A4A3A0A1A2CSGNDVccA7A8A9D0D1D2D3WEA9~A0(入)数据端:D3~D0(入/出)控制端:片选CS=0选中芯片=1未选中芯片写使能WE=0写=1读电源、地1、存储器容量扩展位扩展——扩展每个存储单元的位数(扩展宽度)字扩展——扩展存储单元的个数(扩展长度)字位扩展——两者的综合(扩展宽度和长度)假设扩展同种芯片,则需要的芯片:总片数=总容量/(容量/片)………………位扩展字扩展字位扩展1、存储器容量扩展——位扩展例2使用8K×1位RAM芯片组成8K×8位的存储器,画出逻辑框图。分析:①芯片位数小于存储器所要求的位数,需进行位扩展。②8个芯片的关系是平等的,同时工作,并联的,对应的地址一一相连。③详细的连接见下图:I/OI/OI/OI/OI/OI/OCS8K×1位RAM芯片组成8K×8位的存储器D0D7数据线I/O8K×1I/OWEA0A12地址线位扩展总结:当构成内存的存储芯片的字长内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。位扩展方法:将每片的地址线、片选CS、读写控制线并联,数据线分别引出。位扩展特点:存储器的单元数不变,位数增加。…1、存储器容量扩展——字扩展例3使用16K×8位的RAM芯片组成一个64K×8位的存储器。分析:①芯片的字数不够,需进行字扩展。②共需芯片数目是64K÷16K=4。将4片RAM的地址线、数据线、读写线一一对应并联。③出现地址线不够问题,如何解决?可以用高2位地址作为选片端。④详细的连接见下图:CSWECSWECSWECSWE16K×8位的RAM芯片组成一个64K×8位的存储器地址端地址端CSWE地址端地址端10字扩展总结:特点:地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足。扩展原则:每个芯片的地址线、数据线、读写控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。…1、存储器容量扩展——字位扩展实际存储器往往需要在字向、位向两个方向同时扩展。一个存储器的容量为M×N位,若使用L×K位的存储芯片,则该存储器共需的芯片个数为:MNLK×需解决:芯片的选用、地址分配与片选逻辑、信号线的连接。…………要求:1、确定整个存储器所需的芯片数及芯片的分组情况;2、确定存储器及每组芯片的地址范围;3、说明地址线的分配方法,并画出存储器的结构图。2114(1K×4)SRAM芯片组成容量为4K×8的存储器例4用2114(1K×4)SRAM芯片组成容量为4K×8的存储器。2114(1K×4)SRAM芯片组成容量为4K×8的存储器1.计算芯片数先扩展位数,再扩展单元数。2片1K×41K×84组1K×84K×88片分析:整个存储器所需要芯片数=(4×8)/(1×4)=8片每组需2114(1K×4)SRAM芯片2片,共4组。位扩展2片芯片CS连在一起,4组字扩展CS要分开。2114(1K×4)SRAM芯片组成容量为4K×8的存储器存储器寻址逻辑2.地址分配与片选逻辑芯片内的寻址系统(二级译码)芯片外的地址分配与片选逻辑为芯片分配哪几位地址,以便寻找片内的存储单元由哪几位地址形成芯片选择逻辑,以便寻找芯片存储空间分配:4KB存储器在16位地址空间(64KB)中占据任意连续区间。2114(1K×4)SRAM芯片组成容量为4K×8的存储器A11A10A9……A0000……0001……1011……1101……1010……0100……0110……0111……1片选芯片地址64KB1K×41K×41K×41K×41K×41K×41K×41K×4需12位地址寻址:4KBA11~A02114芯片为1K×4位,片内寻址需要10根地址线,为A0~A9低位地址分配给芯片,高位地址形成片选逻辑。芯片芯片地址片选信号片选逻辑1K1K1K1KA9~A0A9~A0A9~A0A9~A0CS0CS1CS2CS3A11A10A11A10A11A10A11A10整个存储器的地址范围:000H~FFFH共分为4组,每组的地址范围为:第一组:000H~3FFH第二组:400H~7FFH第三组:800H~BFFH第四组:C00H~FFFH2114(1K×4)SRAM芯片组成容量为4K×8的存储器2114(1K×4)SRAM芯片组成容量为4K×8的存储器3.连接方式(1)扩展位数(2)扩展单元数(3)连接控制线(4)形成片选逻辑电路11100100例5:某半导体存储器总容量4K×8位。其中固化区2K字节,选用EPROM芯片2716(2K×8位);工作区2K字节,选用SRAM芯片2114(1K×4/片)。地址总线A15~A0(低),双向数据总线D7~D0(低)。2K×81K×41K×41K×41K×4000007FF08000BFF0C000FFFa.确定芯片:1块2716,4块2114,如图组织逻辑地址b.位扩展就是并联多个芯片的地址线,可以视为多组8位芯片c.字扩展就是确定片选信号,根据地址线总宽度和地址分配情况,确定片选信号产生逻辑•芯片1:/A11•芯片2:A11·/A10•芯片3:A11·A101K×81K×8设计目标:4K×8的地址空间片选信号的产生逻辑—寻找地址空间的特征值4K空间需12位地址,A15~A12不用芯片1:0000~07FF,A10~A0全部占用为地址信号,A11始终为0,此空间外地址的A11必为1,故片选逻辑为/A11芯片2:0800~0BFF,A9~A0全部占用为地址信号,A11始终为1,A10始终为0,故片选逻辑为A11·/A10芯片3:0C00~0FFF,A9~A0全部占用为地址信号,A11始终为1,A10始终为1,故片选逻辑为A11·A10字扩展:片选逻辑具有排他性,确保同一时刻只有一个芯片在工作设计结果芯片1使用11位地址A10~A0,A11用于片选芯片2、3都使用并联的10位地址A9~A0,并将A11、A10用于片选2K×81K×41K×41K×41K×4000007FF08000BFF0C000FFF27162114211421142114D7~4D3~0R/WCS0CS1CS2A11A11A10A11A10A10~0A9~0A9~0地址芯片级存储器逻辑图应表示出:所用存储芯片。各芯片的地址线。片选逻辑。注意,芯片的片选信号一般是/CS,即低电平有效,设计往往先从逻辑命题真写出逻辑式数据线。数据总线是双向总线,数据通路宽度8位。ROM芯片数据为单向输出。RAM芯片为双向连接。2114每片4位,分别连到数据线D7~D4和D3~D0,两组拼接为8位。读/写控制R/W。2716没有R/W输入端,R/W信号只送至RAM芯片2114。思考题:用8K×8位的ROM芯片和8K×4位的RAM芯片组成存储器,按字节编址,其中RAM的地址为2000H~7FFFH,ROM的地址为C000H~FFFFH,画出此存储器组成结构图及与CPU的连接图。解题提示:ROM芯片在联机工作中是只读不写,即单向输出,无WE线。RAM芯片可读可写,双向连接。思考题:1.计算容量和芯片数高位地址A15A14A13为001~011,RAM的容量为8K×3=24K,需要8K×4位的RAM芯片6片。RAM区:地址范围展开为00100000000000000111111111111111RAM单个芯片的容量为8K=21301111111111111110010000000000000ROM区:末地址-首地址=FFFFH-C000H=3FFFH所以ROM的容量为214=16K,需要8K×8位的ROM芯片2片。高位地址A15A14A13为110~111ROM的地址范围展开为11111111111111111100000000000000CS1A15A14A13CS3A15A14A13CS6A15A14A13CS7A15A14A130011……1思考题:A15A14A13A12……A00010……01101……11100……0低位地址分配给芯片,高位地址形成片选逻辑。选用3:8译码器(74LS138)40KB需16位地址寻址:RAMA15~A0ROM64KB8K×88K×48K×48K×48K×48K×48K×48K×8010010011011111111片选信号片选逻辑CS2A15A14A13存储系统CPU与主存巨大的性能差距——MemoryWall提高访存效率的途径增强存储器的性能增加存储器字长采用并行操作的双端口存储器每个周期存取多个字CPU与主存之间插入高速的Cache存储系统CACHE主存(内存)辅存(外存)根据各种存储器的存储容量、存取速度和价格比的不同,将它们按照一定的体系结构组织起来,使所放的程序和数据按照一定的层次分布在各种存储器中。CPUCache是为弥补主存速度的不足,在CPU和主存之间设置的高速、小容量的缓冲存储器。组成:小容量的SRAM和高速缓存控制器组成。功能:将CPU当前快要用到的部分数据块由主存复制到容量小、速度快的SRAM中,由SRAM向CPU直接提供它所需要的数据。高速缓冲存储器(Cache)为了使CPU不至因为等待存储器读写操作的完成而无事可做,可以采取一些加速CPU和存储器之间有效传输的特殊措施。实现的途径有:1)主存储器采用更高速的技术来缩短存储器的读出时间,或加长存储器的字长;2)采用并行操作的双端口存储器;3)在CPU和主存储器之间插入一个高速缓冲存储器(cache),以缩短读出时间;4)在每个存储器周期中存取几个字。高速缓冲存储器(Cache)图4-39CPU存储器系统的关系Cache的基本原理介于CPU与主存之间基于高速的SRAM小容量、高速度硬件实现的管理功能对程序员透明可以集成到CPU中一种高速缓冲器,解决CPU与主存之间速度不匹配的一项技术Cache的基本原理读操作CPU发送地址到Cache/主存Cache命中则直接读出数据否则主存将数据送至CPU和Cache图4-40cache原理图主存→Cache以块为单位,即:复制目标存取字在内的一块数据目的:下次读取时可以直接访问CacheCache的基本原理程序局部性原理CPU访问存储器时,无论是取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。两种不同类型的局部性时间局部性(TemporalLocality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。空间局部性(SpatialLocality):在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。指令的顺序执行、数组的连续存放等是产生空间局部性的原因。Cache的基本原理帕雷托法则(Paretoprinciple),也称为80/20法则,此法则指在众多现象中,80%的结果取决于20%的原因,