半导体存储器组成课件_第1页
半导体存储器组成课件_第2页
半导体存储器组成课件_第3页
半导体存储器组成课件_第4页
半导体存储器组成课件_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理——第4章主存储器计算机组成原理——第4章主存储器11.存储器容量扩展位扩展字扩展字位扩展2.存储控制集中刷新分散刷新异步刷新3.存储校验线路4.8半导体存储器的组成与控制1.存储器容量扩展4.8半导体存储器的组成与控制2复习(一)RAM存储器芯片总结RAM存储器芯片有多种型号,每一RAM存储器芯片具有:地址线Ai:引脚数与存储芯片的单元数有关;数据线Di:引脚数与存储芯片的字长有关;片选信号CS:只有CS有效时,芯片才被选中,所连地址线才有效,才能进行读/写操作。读/写信号WE:为0,控制写入电路进行写入;为1,控制读出电路进行读出。电源线、地线复习(一)RAM存储器芯片总结片选信号CS:只有CS有效时,3复习(二)例1:某RAM芯片,其存储容量为16K×8位,问:(1)该芯片引出线的最小数目应为多少?(2)存储器芯片的地址范围是什么?解:(1)16K=214,所以地址线14根;字长8位,所以数据线8根。

14+8+1+1+1+1=26地址线数据线片选读/写电源线地线(2)存储器芯片的地址范围为0000H~3FFFH存储器芯片的地址范围:地址线从全“0”到全“1”的所有编码复习(二)例1:某RAM芯片,其存储容量为16K×8位,问:4复习(三)SRAM芯片2114(1K×4位)外特性:地址端:2114(1K×4)191018A6A5A4A3A0A1A2CSGNDVccA7A8A9D0D1D2D3WEA9~A0(入)数据端:D3~D0(入/出)控制端:片选CS=0选中芯片=1未选中芯片写使能WE=0写=1读电源、地复习(三)SRAM芯片2114(1K×4位)外特性:地址端:51、存储器容量扩展位扩展

——扩展每个存储单元的位数

(扩展宽度)字扩展

——扩展存储单元的个数

(扩展长度)字位扩展——两者的综合

(扩展宽度和长度)假设扩展同种芯片,则需要的芯片:

总片数=总容量/(容量/片)………………位扩展字扩展字位扩展1、存储器容量扩展位扩展——扩展每个存储单元的61、存储器容量扩展——位扩展例2使用8K×1位RAM芯片组成8K×8位的存储器,画出逻辑框图。分析:①芯片位数小于存储器所要求的位数,需进行位扩展。②8个芯片的关系是平等的,同时工作,并联的,对应的地址一一相连。③详细的连接见下图:1、存储器容量扩展——位扩展例2使用8K×1位RAM芯片组7I/OI/OI/OI/OI/OI/OCS8K×1位RAM芯片组成8K×8位的存储器D0D7数据线

I/O8K×1I/OWEA0A12地址线每片一位组成一个字节CS8K×1位RAM芯片组成8K×8位的存储器D0D7数据线8位扩展总结:当构成内存的存储芯片的字长<内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。位扩展方法:将每片的地址线、片选CS、读写控制线并联,数据线分别引出。位扩展特点:存储器的单元数不变,位数增加。…位扩展总结:当构成内存的存储芯片的字长<内存单元的字长时91、存储器容量扩展——字扩展例3使用16K×8位的RAM芯片组成一个64K×8位的存储器。分析:①芯片的字数不够,需进行字扩展。②共需芯片数目是64K÷16K=4。将4片RAM的地址线、数据线、读写线一一对应并联。③出现地址线不够问题,如何解决?

可以用高2位地址作为选片端。④详细的连接见下图:1、存储器容量扩展——字扩展例3使用16K×8位的RAM芯10CSWECSWECSWECSWE16K×8位的RAM芯片组成一个64K×8位的存储器地址端地址端CSWE地址端地址端10CSCSCSCS1611字扩展总结:特点:地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足。扩展原则:每个芯片的地址线、数据线、读写控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。…字扩展总结:特点:…121、存储器容量扩展——字位扩展实际存储器往往需要在字向、位向两个方向同时扩展。一个存储器的容量为M×N位,若使用L×K位的存储芯片,则该存储器共需的芯片个数为:MNLK×需解决:芯片的选用、地址分配与片选逻辑、信号线的连接。…………1、存储器容量扩展——字位扩展实际存储器往往需要在字向、位向13要求:1、确定整个存储器所需的芯片数及芯片的分组情况;2、确定存储器及每组芯片的地址范围;3、说明地址线的分配方法,并画出存储器的结构图。2114(1K×4)SRAM芯片组成容量为4K×8的存储器例4用2114(1K×4)SRAM芯片组成容量为4K×8的存储器。要求:2114(1K×4)SRAM芯片组成容量为4K×8的存142114(1K×4)SRAM芯片组成容量为4K×8的存储器1.计算芯片数先扩展位数,再扩展单元数。

2片1K×4

1K×8

4组1K×8

4K×8

8片分析:整个存储器所需要芯片数=(4×8)/(1×4)=8片每组需2114(1K×4)SRAM芯片2片,共4组。位扩展2片芯片CS连在一起,4组字扩展CS要分开。2114(1K×4)SRAM芯片组成容量为4K×8的存储器1152114(1K×4)SRAM芯片组成容量为4K×8的存储器存储器寻址逻辑2.地址分配与片选逻辑芯片内的寻址系统(二级译码)芯片外的地址分配与片选逻辑为芯片分配哪几位地址,以便寻找片内的存储单元由哪几位地址形成芯片选择逻辑,以便寻找芯片存储空间分配:4KB存储器在16位地址空间(64KB)中占据任意连续区间。2114(1K×4)SRAM芯片组成容量为4K×8的存储器存162114(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低位地址分配给芯片,高位地址形成片选逻辑。2114(1K×4)SRAM芯片组成容量为4K×8的存储器A17芯片芯片地址片选信号片选逻辑1K1K1K1KA9~A0A9~A0A9~A0A9~A0CS0CS1CS2CS3A11A10A11A10A11A10A11A10整个存储器的地址范围:000H~FFFH共分为4组,每组的地址范围为: 第一组:000H~3FFH 第二组:400H~7FFH 第三组:800H~BFFH 第四组:C00H~FFFH2114(1K×4)SRAM芯片组成容量为4K×8的存储器芯片芯片地址片选信号片选逻辑1K182114(1K×4)SRAM芯片组成容量为4K×8的存储器3.连接方式(1)扩展位数(2)扩展单元数(3)连接控制线(4)形成片选逻辑电路111001002114(1K×4)SRAM芯片组成容量为4K×8的存储器319例5:某半导体存储器总容量4K×8位。其中固化区2K字节,选用EPROM芯片2716(2K×8位);工作区2K字节,选用SRAM芯片2114(1K×4/片)。地址总线A15~A0(低),双向数据总线D7~D0(低)。半导体存储器组成课件202K×81K×41K×41K×41K×4000007FF08000BFF0C000FFF确定芯片:1块2716,4块2114,如图组织逻辑地址位扩展就是并联多个芯片的地址线,可以视为多组8位芯片字扩展就是确定片选信号,根据地址线总宽度和地址分配情况,确定片选信号产生逻辑芯片1:/A11芯片2:A11·/A10芯片3:A11·A101K×81K×8设计目标:4K×8的地址空间000007FF08000BFF0C000FFF确定芯片:121片选信号的产生逻辑—寻找地址空间的特征值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字扩展:片选逻辑具有排他性,确保同一时刻只有一个芯片在工作片选信号的产生逻辑—寻找地址空间的特征值字扩展:片选逻辑具有22设计结果芯片1使用11位地址A10~A0,A11用于片选芯片2、3都使用并联的10位地址A9~A0,

并将A11、A10用于片选2K×81K×41K×41K×41K×4000007FF08000BFF0C000FFF设计结果000007FF08000BFF0C000FFF2327162114211421142114D7~4D3~0R/WCS0CS1CS2A11A11A10A11A10A10~0A9~0A9~0地址D7~4D3~0R/WCS0CS1CS2A11A11A10A24芯片级存储器逻辑图应表示出:所用存储芯片。各芯片的地址线。片选逻辑。注意,芯片的片选信号一般是/CS,即低电平有效,设计往往先从逻辑命题真写出逻辑式数据线。数据总线是双向总线,数据通路宽度8位。ROM芯片数据为单向输出。RAM芯片为双向连接。2114每片4位,分别连到数据线D7~D4和D3~D0,两组拼接为8位。读/写控制R/W。2716没有R/W输入端,R/W信号只送至RAM芯片2114。芯片级存储器逻辑图应表示出:25思考题:用8K×8位的ROM芯片和8K×4位的RAM芯片组成存储器,按字节编址,其中RAM的地址为2000H~7FFFH,ROM的地址为C000H~FFFFH,画出此存储器组成结构图及与CPU的连接图。解题提示:ROM芯片在联机工作中是只读不写,即单向输出,无WE线。RAM芯片可读可写,双向连接。思考题:用8K×8位的ROM芯片和8K×4位的RAM芯片组成26思考题: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~111

ROM的地址范围展开为11111111111111111100000000000000思考题:1.计算容量和芯片数高位地址A15A14A13为0027CS1A15A14A13CS3A15A14A13CS6A15A14A13CS7A15A14A13001

1……1思考题:A15A14A13A12……A00010……0

110

1……1

110

0……0低位地址分配给芯片,高位地址形成片选逻辑。选用3:8译码器(74LS138)40KB需16位地址寻址:RAMA15~A0ROM64KB8K×88K×48K×48K×48K×48K×48K×48K×8010010011011111111片选信号片选逻辑CS2A15A14A13CS1A15A14A13CS328存储系统CPU与主存巨大的性能差距——MemoryWall提高访存效率的途径增强存储器的性能增加存储器字长采用并行操作的双端口存储器每个周期存取多个字CPU与主存之间插入高速的Cache存储系统CPU与主存29存储系统CACHE主存(内存)辅存(外存)根据各种存储器的存储容量、存取速度和价格比的不同,将它们按照一定的体系结构组织起来,使所放的程序和数据按照一定的层次分布在各种存储器中。CPU存储系统CACHE主存(内存)辅存(外存)根据各种存储器的存30

Cache是为弥补主存速度的不足,在CPU和主存之间设置的高速、小容量的缓冲存储器。组成:小容量的SRAM和高速缓存控制器组成。功能:将CPU当前快要用到的部分数据块由主存复制到容量小、速度快的SRAM中,由SRAM向CPU直接提供它所需要的数据。高速缓冲存储器(Cache)Cache是为弥补主存速度的不足,在CPU31为了使CPU不至因为等待存储器读写操作的完成而无事可做,可以采取一些加速CPU和存储器之间有效传输的特殊措施。实现的途径有:主存储器采用更高速的技术来缩短存储器的读出时间,或加长存储器的字长;采用并行操作的双端口存储器;在CPU和主存储器之间插入一个高速缓冲存储器(cache),以缩短读出时间;在每个存储器周期中存取几个字。

高速缓冲存储器(Cache)为了使CPU不至因为等待存储器读写操作的完成32图4-39CPU存储器系统的关系Cache的基本原理介于CPU与主存之间基于高速的SRAM小容量、高速度硬件实现的管理功能对程序员透明可以集成到CPU中一种高速缓冲器,解决CPU与主存之间速度不匹配的一项技术图4-39CPU存储器系统的关系Cache的基本原理33Cache的基本原理读操作CPU发送地址到Cache/主存Cache命中则直接读出数据否则主存将数据送至CPU和Cache图4-40cache原理图主存→Cache以块为单位,即:复制目标存取字在内的一块数据目的:下次读取时可以直接访问CacheCache的基本原理读操作图4-40cache原理图34Cache的基本原理程序局部性原理CPU访问存储器时,无论是取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。两种不同类型的局部性时间局部性(TemporalLocality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。空间局部性(SpatialLocality):在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。指令的顺序执行、数组的连续存放等是产生空间局部性的原因。Cache的基本原理程序局部性原理35Cache的基本原理帕雷托法则(Paretoprinciple),也称为80/20法则,此法则指在众多现象中,80%的结果取决于20%的原因,而这一法则在很多方面被广泛的应用。在计算机科学里,帕雷托法则可借由观察80%的资源是由20%所操作使用,来最佳化资源。在软件工程上,常有接近90%的电脑程序执行次数花费在10%的程式源代码执行。在图书资讯学里,一间图书馆的20%馆藏是由80%的读者所借阅。Cache的基本原理帕雷托法则(Paretoprincip36Cache的基本原理Cache的组成基于SRAM的存储实体硬件控制逻辑存取单位CPU与Cache之间的数据交换以字为单位Cache与主存之间的数据交换以块为单位,一个块由若干字组成,是定长的。图4-40cache原理图Cache的基本原理Cache的组成图4-40cac37Cache的基本原理数据块Cache与主存之间的数据交换单位主存单元的逻辑划分主存中的块对应Cache中的行,二者长度相等且固定—一一对应数据字地址被划分为块号/行标记和块/行内部地址两部分Cache主存标记块行命中:地址的块号与某一行的行标记匹配Cache的基本原理数据块Cache主存标记块行命中:地址的38主存与Cache的地址映射Cache主存标记块行?主存与Cache的地址映射Cache主存标记块行?39主存标记Cache块号块内地址主存块号主存地址7位4位9位Cache块号块内地址cache地址4位9位主存标记Cache块号块内地址主存块号主存地址7位4位9位C40图4-40cache原理图主存与Cache的地址映射地址映射建立主存数据块与Cache行,以及主存地址与Cache存储单元的对应关系利用硬件实现对CPU/程序员透明映射策略全相联映射直接映射组相联映射图4-40cache原理图主存与Cache的地址映射41主存与Cache的地址映射全相联映射主存中的每一个字块映像到cache中的任意一行块号即为行标记主存与Cache的地址映射全相联映射42主存与Cache的地址映射全相联映射实例主存为1MB,划分2048块;Cache容量为8KB,全相联Cache如何设计?主存容量为1MB,块内容量512B。主存地址为20位;其中块地址11位,块内地址9位。Cache容量为8KB,行容量为512B,共16行。行内地址9位。Cache中各行标记为11位,对应主存中的数据块编号(地址)。主存与Cache的地址映射全相联映射实例43主存与Cache的地址映射全相联映射实例读过程CPU给出20位地址。Cache将高11位的块地址与所有各行的标记进行比较。命中则将低9位的块(行)内地址送入Cache完成访问。否则从主存读出数据并复制数据块到Cache。图4-40cache原理图优点:存放位置灵活,命中率高缺点:当Cache或主存规模很大时,块地址比较过程非常复杂,硬件实现复杂度高。结论:全相联映射仅适用于小容量的Cache设计主存与Cache的地址映射全相联映射实例图4-40c44主存与Cache的地址映射直接映射主存中的某个字块只能缓存与Cache中的特定行利用模运算克服Cache与主存的容量差距,模即为Cache中的行数例如:对于4行Cache而言,主存中的第0、4、8、16…块均只能缓存于第0行主存与Cache的地址映射直接映射45主存与Cache的地址映射直接映射实例主存为1MB,划分2048块;Cache容量为8KB,直接映射Cache如何设计?主存容量为1MB,块内容量512B。Cache容量为8KB,行容量为512B,共16行。主存可以划分为2048/16=128个区,每区含16块。总地址为20位;其中块内地址9位,4位地址作为区内编号(地址),高7位作为区编号。区编号作为行标记存储。主存与Cache的地址映射直接映射实例46主存与Cache的地址映射直接映射实例读过程CPU给出20位地址。Cache利用中间4位的区内编号确定目标行。Cache将高7位的区编号与该行的标记进行比较。命中则利用低9位的块(行)内地址完成访问。否则从主存读出数据并复制数据块到Cache。优点:降低了标记比较(硬件实现)的复杂度缺点:块号相距nXm的字块可能需要频繁替换,数据放置不灵活,命中率低例如:地址00000001000XXXXXXXXX对应某区的第8块和Cache的第8行,只要该行标记为0000000,则表示第0区的第8行位于Cache中,即命中主存与Cache的地址映射直接映射实例优点:降低了标记比较(47主存与Cache的地址映射组相联映射Cache被划分为u组,每组包含v行(称为v路)以u为模确定数据块缓存的目标组数据块可以存储于目标组的任意一行与直接映射相比,将行扩展为组主存与Cache的地址映射组相联映射与直接映射相比,将行扩展48主存与Cache的地址映射组相联映射实例主存为1MB,划分2048块;Cache容量为8KB,组相联Cache如何设计?(假设每组包含2行,即2路组相联Cache)主存容量为1MB,块内容量512B。Cache容量为8KB,行容量为512B,共16行,8组。主存可以划分为2048/8=256个区。总地址为20位;其中块内地址9位,3位地址为组编号,高8位地址作为区编号(组内块编号)。区编号作为行标记存储。主存与Cache的地址映射组相联映射实例49主存与Cache的地址映射组相联映射实例读过程CPU给出20位地址。Cache利用中间3位的组编号确定目标组。Cache将高8位的区编号与组内各行的标记比较。命中则利用低9位的块(行)内地址完成访问。否则从主存读出数据并复制数据块到Cache。全相联与直接映射的混合体,将逐行匹配工作局限于组内,兼具灵活性和易于实现等优点例如:地址00000000100XXXXXXXXX对应某区的第4块和Cache的第4组(第6、7行),只要两行标记之一为00000000,则表示第0区的第8行位于Cache中,即命中主存与Cache的地址映射组相联映射实例全相联与直接映射的混50图4-40cache原理图主存与Cache的地址映射地址映射建立主存数据块与Cache行,以及主存地址与Cache存储单元的对应关系利用硬件实现对CPU/程序员透明映射策略全相联映射直接映射组相联映射图4-40cache原理图主存与Cache的地址映射51Cache的基本原理读操作CPU发送地址到Cache/主存Cache命中则直接读出数据否则主存将数据送至CPU和Cache图4-40cache原理图问题:如何替换Cache中的陈旧数据?Cache的基本原理读操作图4-40cache原理图52替换算法最不经常使用算法(LFU)各行配备访问计数器,访问一次加1(越小越糟糕)替换某行后,所有行计数器清0近期最少使用算法(LRU)各行记录不命中次数,不命中加1(越大越糟糕)该行命中后清0随机替换算法随机算法并不一定比“有规则的算法”差硬件实现替换算法最不经常使用算法(LFU)硬件实现53Cache读写过程读操作命中:直接读Cache中的数据不命中:从主存读出数据,并视情况更新Cache(即:替换Cache中的数据)写操作标志交换方式(写回法)在被替换之前仅在Cache中做标记。仅更新cache单元,用标志位标记,直至修改的字块被从cache中替换出来时,则一次写入内存。写直达法(通过式写入)同时写Cache和主存中的数据特点:写直达法简单,但当一个字被多次更新时,会引起对主存的多次写入,这是不必要的。写回法速度快,但因在最后写主存前,主存中的字块未经随时修改而可能失效。Cache读写过程读操作特点:写直达法简单,但当一个字被多次54多层次Cache存储器独立的指令Cache与数据Cache哈佛结构多层次Cache结构Core2酷睿2DuoE8200:L1-128K,L2-6MCache一致性问题写入过程并不同时修改Ll,L2和主存内容,造成了数据的不一致——cache一致性问题。多层次Cache存储器独立的指令Cache与数据Cache55Cache的性能Cache的评价指标——命中率

设NC表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有:

h=NC/(NC+Nm)

若tc表示命中时的Cache访问时间,tm表示未命中时的主存访问时间,则Cache—主存系统的平均访问时间ta为:Cache的性能Cache的评价指标——命中率56若平均访问时间ta为:ta=h·tc+(1-h)·tm设r=tm/tc表示主存慢于Cache的倍率,e表示访问效率,则:

e=tc/ta=tc/[h·tc+(1-h)·tm]=1/[h+(1-h)·r]为提高访问效率,命中率h越接近1越好,r值以5—10为宜,不宜太大。命中率h与程序行为、cache的容量、组织方式、块的大小有关。Cache的性能若平均访问时间ta为:ta=h·tc+(1-h)·t57例:CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取周期为250ns,求Cache—主存系统的效率和平均访问时间。解:h=NC/(NC+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/[r+(1-r)·h]=1/[5+(1-5)×0.95]≈83.3%ta=tc/e=50ns/0.833=60ns或ta=h·tc+(1-h)(tc+tm)=0.95·50+(1-0.95)·(50+250)=47.5+15=62.5nsCache的性能例:CPU执行一段程序时,Cache完成存取的次数为190058主存与辅存之间的关系主存:(半导体存储器组成)优:速度快缺:容量受限,单位成本高,断电丢失信息。辅存:(光盘,磁盘)优:容量大,信息长久保存,单位成本低.缺:存取速度慢CPU正在运行的程序和数据存放在主存暂时不用的程序和数据存放在辅存。辅存只与主存进行数据交换主存与辅存之间的关系主存:(半导体存储器组成)59虚拟存储器辅存主存虚拟存储器辅存主存60虚拟存储器定义(作用)内存-外存层次。以透明的方式给用户提供一个比实际主存空间大得多的程序地址空间。虚拟地址:程序的逻辑地址虚拟地址空间:程序的逻辑地址空间实存地址:主存的物理地址虚拟存储器定义(作用)虚拟地址:程序的逻辑地址61虚拟存储器工作原理——程序局部性程序中最近常用的部分驻留在高速存储器中这部分变得不常用时,被送回低速存储器中替换过程由硬件或操作系统完成,用户透明力图使存储系统的性能接近高速存储器,价格接近低速存储器虚拟存储器与Cache主存—辅存层次与“主存—Cache”层次具有相似性虚拟存储器工作原理——程序局部性虚拟存储器与Cache62虚拟存储器特点一个容量非常大的存储器的逻辑模型不是任何实际的物理存储器相当于借助磁盘等辅存来扩大主存容量本质:用辅存实现主存功能,程序以访问主存的方式运行,以及访问虚拟空间,实际访问的数据可能位于辅存,需要按需装入主存虚拟存储器特点本质:用辅存实现主存功能,程序以访问主存的方式63相关概念逻辑地址(虚拟地址):程序员编程以及CPU通过指令访问内存所用的程序地址,其寻址空间完全由指令中的地址码长度决定,如地址码32位,寻址空间可过4G。物理地址(真实地址):内存实际提供的地址,其可寻址空间大小完全由内存容量决定。辅存地址:磁盘地址空间。形式地址、有效地址、指令的地址、指令中的地址。相关概念64虚拟存储器Cache的数据交换单位行,内存块虚拟存储器的基本信息传送地址变换:虚拟地址的可寻址空间远大于内存的可寻址空间,于是出现了虚拟存储器必须解决的问题----虚实地址变换如何实现?段、页、段页虚拟存储器Cache的数据交换单位65段式虚拟存储器段的定义利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立部分例如:过程、子程序、数据表、阵列等段式管理以段为单位划分应用程序空间虚存地址为“段号+段内地址”以段为单位完成“主存—辅存”数据传送利用段表维护载入状态和虚实地址映射关系段式虚拟存储器段的定义66段式虚拟存储器段式虚拟存储器67段式虚拟存储器段式虚拟存储器68段式虚拟存储器优点段的分界与程序的自然分界相对应;段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段(堆栈、队列)具有动态可变长度,允许自由调度以便有效利用主存空间。缺点各段长度不同、起点和终点不定,给主存空间分配带来麻烦;上述特点还容易在段间留下许多空余的零碎存储空间不好利用,造成浪费段式虚拟存储器优点69页式虚拟存储器页的定义主存的物理空间被划分为等长的固定区域页式管理以页为单位划分应用程序和主存空间,分别成为逻辑页和物理页虚存/实存地址为“逻辑页/物理页号+页内地址”页大小为2n字,页起点低位字段为0以页为单位完成“主存—辅存”数据传送利用页表维护载入状态和虚实地址映射关系页式虚拟存储器页的定义70页式虚拟存储器辅存主存页式虚拟存储器辅存主存71页式虚拟存储器地址映射图4-46页式虚拟存储器结构页式虚拟存储器地址映射图4-46页式虚拟存储器结构72段页式虚拟存储器按逻辑单位分段,进一步划分页程序/数据的传送以页为单位数据的共享、保护以段为单位优点是兼备页式和段式系统的长处。

缺点是在地址映象过程中需要多次查表。段页式虚拟存储器按逻辑单位分段,进一步划分页优点是兼备页式和73存储保护存储区域保护页表保护—产生实地址时检查,保证访问范围内的段、页地址键方式—实地址产生后检查,保证访问属于自己的段、页地址访问方式保护读、写、执行等操作属性存储保护存储区域保护74MMUMMU7580286史上第一款带有MMU的处理器8028676计算机组成原理——第4章主存储器计算机组成原理——第4章主存储器771.存储器容量扩展位扩展字扩展字位扩展2.存储控制集中刷新分散刷新异步刷新3.存储校验线路4.8半导体存储器的组成与控制1.存储器容量扩展4.8半导体存储器的组成与控制78复习(一)RAM存储器芯片总结RAM存储器芯片有多种型号,每一RAM存储器芯片具有:地址线Ai:引脚数与存储芯片的单元数有关;数据线Di:引脚数与存储芯片的字长有关;片选信号CS:只有CS有效时,芯片才被选中,所连地址线才有效,才能进行读/写操作。读/写信号WE:为0,控制写入电路进行写入;为1,控制读出电路进行读出。电源线、地线复习(一)RAM存储器芯片总结片选信号CS:只有CS有效时,79复习(二)例1:某RAM芯片,其存储容量为16K×8位,问:(1)该芯片引出线的最小数目应为多少?(2)存储器芯片的地址范围是什么?解:(1)16K=214,所以地址线14根;字长8位,所以数据线8根。

14+8+1+1+1+1=26地址线数据线片选读/写电源线地线(2)存储器芯片的地址范围为0000H~3FFFH存储器芯片的地址范围:地址线从全“0”到全“1”的所有编码复习(二)例1:某RAM芯片,其存储容量为16K×8位,问:80复习(三)SRAM芯片2114(1K×4位)外特性:地址端:2114(1K×4)191018A6A5A4A3A0A1A2CSGNDVccA7A8A9D0D1D2D3WEA9~A0(入)数据端:D3~D0(入/出)控制端:片选CS=0选中芯片=1未选中芯片写使能WE=0写=1读电源、地复习(三)SRAM芯片2114(1K×4位)外特性:地址端:811、存储器容量扩展位扩展

——扩展每个存储单元的位数

(扩展宽度)字扩展

——扩展存储单元的个数

(扩展长度)字位扩展——两者的综合

(扩展宽度和长度)假设扩展同种芯片,则需要的芯片:

总片数=总容量/(容量/片)………………位扩展字扩展字位扩展1、存储器容量扩展位扩展——扩展每个存储单元的821、存储器容量扩展——位扩展例2使用8K×1位RAM芯片组成8K×8位的存储器,画出逻辑框图。分析:①芯片位数小于存储器所要求的位数,需进行位扩展。②8个芯片的关系是平等的,同时工作,并联的,对应的地址一一相连。③详细的连接见下图:1、存储器容量扩展——位扩展例2使用8K×1位RAM芯片组83I/OI/OI/OI/OI/OI/OCS8K×1位RAM芯片组成8K×8位的存储器D0D7数据线

I/O8K×1I/OWEA0A12地址线每片一位组成一个字节CS8K×1位RAM芯片组成8K×8位的存储器D0D7数据线84位扩展总结:当构成内存的存储芯片的字长<内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。位扩展方法:将每片的地址线、片选CS、读写控制线并联,数据线分别引出。位扩展特点:存储器的单元数不变,位数增加。…位扩展总结:当构成内存的存储芯片的字长<内存单元的字长时851、存储器容量扩展——字扩展例3使用16K×8位的RAM芯片组成一个64K×8位的存储器。分析:①芯片的字数不够,需进行字扩展。②共需芯片数目是64K÷16K=4。将4片RAM的地址线、数据线、读写线一一对应并联。③出现地址线不够问题,如何解决?

可以用高2位地址作为选片端。④详细的连接见下图:1、存储器容量扩展——字扩展例3使用16K×8位的RAM芯86CSWECSWECSWECSWE16K×8位的RAM芯片组成一个64K×8位的存储器地址端地址端CSWE地址端地址端10CSCSCSCS1687字扩展总结:特点:地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足。扩展原则:每个芯片的地址线、数据线、读写控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。…字扩展总结:特点:…881、存储器容量扩展——字位扩展实际存储器往往需要在字向、位向两个方向同时扩展。一个存储器的容量为M×N位,若使用L×K位的存储芯片,则该存储器共需的芯片个数为:MNLK×需解决:芯片的选用、地址分配与片选逻辑、信号线的连接。…………1、存储器容量扩展——字位扩展实际存储器往往需要在字向、位向89要求:1、确定整个存储器所需的芯片数及芯片的分组情况;2、确定存储器及每组芯片的地址范围;3、说明地址线的分配方法,并画出存储器的结构图。2114(1K×4)SRAM芯片组成容量为4K×8的存储器例4用2114(1K×4)SRAM芯片组成容量为4K×8的存储器。要求:2114(1K×4)SRAM芯片组成容量为4K×8的存902114(1K×4)SRAM芯片组成容量为4K×8的存储器1.计算芯片数先扩展位数,再扩展单元数。

2片1K×4

1K×8

4组1K×8

4K×8

8片分析:整个存储器所需要芯片数=(4×8)/(1×4)=8片每组需2114(1K×4)SRAM芯片2片,共4组。位扩展2片芯片CS连在一起,4组字扩展CS要分开。2114(1K×4)SRAM芯片组成容量为4K×8的存储器1912114(1K×4)SRAM芯片组成容量为4K×8的存储器存储器寻址逻辑2.地址分配与片选逻辑芯片内的寻址系统(二级译码)芯片外的地址分配与片选逻辑为芯片分配哪几位地址,以便寻找片内的存储单元由哪几位地址形成芯片选择逻辑,以便寻找芯片存储空间分配:4KB存储器在16位地址空间(64KB)中占据任意连续区间。2114(1K×4)SRAM芯片组成容量为4K×8的存储器存922114(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低位地址分配给芯片,高位地址形成片选逻辑。2114(1K×4)SRAM芯片组成容量为4K×8的存储器A93芯片芯片地址片选信号片选逻辑1K1K1K1KA9~A0A9~A0A9~A0A9~A0CS0CS1CS2CS3A11A10A11A10A11A10A11A10整个存储器的地址范围:000H~FFFH共分为4组,每组的地址范围为: 第一组:000H~3FFH 第二组:400H~7FFH 第三组:800H~BFFH 第四组:C00H~FFFH2114(1K×4)SRAM芯片组成容量为4K×8的存储器芯片芯片地址片选信号片选逻辑1K942114(1K×4)SRAM芯片组成容量为4K×8的存储器3.连接方式(1)扩展位数(2)扩展单元数(3)连接控制线(4)形成片选逻辑电路111001002114(1K×4)SRAM芯片组成容量为4K×8的存储器395例5:某半导体存储器总容量4K×8位。其中固化区2K字节,选用EPROM芯片2716(2K×8位);工作区2K字节,选用SRAM芯片2114(1K×4/片)。地址总线A15~A0(低),双向数据总线D7~D0(低)。半导体存储器组成课件962K×81K×41K×41K×41K×4000007FF08000BFF0C000FFF确定芯片:1块2716,4块2114,如图组织逻辑地址位扩展就是并联多个芯片的地址线,可以视为多组8位芯片字扩展就是确定片选信号,根据地址线总宽度和地址分配情况,确定片选信号产生逻辑芯片1:/A11芯片2:A11·/A10芯片3:A11·A101K×81K×8设计目标:4K×8的地址空间000007FF08000BFF0C000FFF确定芯片:197片选信号的产生逻辑—寻找地址空间的特征值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字扩展:片选逻辑具有排他性,确保同一时刻只有一个芯片在工作片选信号的产生逻辑—寻找地址空间的特征值字扩展:片选逻辑具有98设计结果芯片1使用11位地址A10~A0,A11用于片选芯片2、3都使用并联的10位地址A9~A0,

并将A11、A10用于片选2K×81K×41K×41K×41K×4000007FF08000BFF0C000FFF设计结果000007FF08000BFF0C000FFF9927162114211421142114D7~4D3~0R/WCS0CS1CS2A11A11A10A11A10A10~0A9~0A9~0地址D7~4D3~0R/WCS0CS1CS2A11A11A10A100芯片级存储器逻辑图应表示出:所用存储芯片。各芯片的地址线。片选逻辑。注意,芯片的片选信号一般是/CS,即低电平有效,设计往往先从逻辑命题真写出逻辑式数据线。数据总线是双向总线,数据通路宽度8位。ROM芯片数据为单向输出。RAM芯片为双向连接。2114每片4位,分别连到数据线D7~D4和D3~D0,两组拼接为8位。读/写控制R/W。2716没有R/W输入端,R/W信号只送至RAM芯片2114。芯片级存储器逻辑图应表示出:101思考题:用8K×8位的ROM芯片和8K×4位的RAM芯片组成存储器,按字节编址,其中RAM的地址为2000H~7FFFH,ROM的地址为C000H~FFFFH,画出此存储器组成结构图及与CPU的连接图。解题提示:ROM芯片在联机工作中是只读不写,即单向输出,无WE线。RAM芯片可读可写,双向连接。思考题:用8K×8位的ROM芯片和8K×4位的RAM芯片组成102思考题: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~111

ROM的地址范围展开为11111111111111111100000000000000思考题:1.计算容量和芯片数高位地址A15A14A13为00103CS1A15A14A13CS3A15A14A13CS6A15A14A13CS7A15A14A13001

1……1思考题:A15A14A13A12……A00010……0

110

1……1

110

0……0低位地址分配给芯片,高位地址形成片选逻辑。选用3:8译码器(74LS138)40KB需16位地址寻址:RAMA15~A0ROM64KB8K×88K×48K×48K×48K×48K×48K×48K×8010010011011111111片选信号片选逻辑CS2A15A14A13CS1A15A14A13CS3104存储系统CPU与主存巨大的性能差距——MemoryWall提高访存效率的途径增强存储器的性能增加存储器字长采用并行操作的双端口存储器每个周期存取多个字CPU与主存之间插入高速的Cache存储系统CPU与主存105存储系统CACHE主存(内存)辅存(外存)根据各种存储器的存储容量、存取速度和价格比的不同,将它们按照一定的体系结构组织起来,使所放的程序和数据按照一定的层次分布在各种存储器中。CPU存储系统CACHE主存(内存)辅存(外存)根据各种存储器的存106

Cache是为弥补主存速度的不足,在CPU和主存之间设置的高速、小容量的缓冲存储器。组成:小容量的SRAM和高速缓存控制器组成。功能:将CPU当前快要用到的部分数据块由主存复制到容量小、速度快的SRAM中,由SRAM向CPU直接提供它所需要的数据。高速缓冲存储器(Cache)Cache是为弥补主存速度的不足,在CPU107为了使CPU不至因为等待存储器读写操作的完成而无事可做,可以采取一些加速CPU和存储器之间有效传输的特殊措施。实现的途径有:主存储器采用更高速的技术来缩短存储器的读出时间,或加长存储器的字长;采用并行操作的双端口存储器;在CPU和主存储器之间插入一个高速缓冲存储器(cache),以缩短读出时间;在每个存储器周期中存取几个字。

高速缓冲存储器(Cache)为了使CPU不至因为等待存储器读写操作的完成108图4-39CPU存储器系统的关系Cache的基本原理介于CPU与主存之间基于高速的SRAM小容量、高速度硬件实现的管理功能对程序员透明可以集成到CPU中一种高速缓冲器,解决CPU与主存之间速度不匹配的一项技术图4-39CPU存储器系统的关系Cache的基本原理109Cache的基本原理读操作CPU发送地址到Cache/主存Cache命中则直接读出数据否则主存将数据送至CPU和Cache图4-40cache原理图主存→Cache以块为单位,即:复制目标存取字在内的一块数据目的:下次读取时可以直接访问CacheCache的基本原理读操作图4-40cache原理图110Cache的基本原理程序局部性原理CPU访问存储器时,无论是取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。两种不同类型的局部性时间局部性(TemporalLocality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。空间局部性(SpatialLocality):在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。指令的顺序执行、数组的连续存放等是产生空间局部性的原因。Cache的基本原理程序局部性原理111Cache的基本原理帕雷托法则(Paretoprinciple),也称为80/20法则,此法则指在众多现象中,80%的结果取决于20%的原因,而这一法则在很多方面被广泛的应用。在计算机科学里,帕雷托法则可借由观察80%的资源是由20%所操作使用,来最佳化资源。在软件工程上,常有接近90%的电脑程序执行次数花费在10%的程式源代码执行。在图书资讯学里,一间图书馆的20%馆藏是由80%的读者所借阅。Cache的基本原理帕雷托法则(Paretoprincip112Cache的基本原理Cache的组成基于SRAM的存储实体硬件控制逻辑存取单位CPU与Cache之间的数据交换以字为单位Cache与主存之间的数据交换以块为单位,一个块由若干字组成,是定长的。图4-40cache原理图Cache的基本原理Cache的组成图4-40cac113Cache的基本原理数据块Cache与主存之间的数据交换单位主存单元的逻辑划分主存中的块对应Cache中的行,二者长度相等且固定—一一对应数据字地址被划分为块号/行标记和块/行内部地址两部分Cache主存标记块行命中:地址的块号与某一行的行标记匹配Cache的基本原理数据块Cache主存标记块行命中:地址的114主存与Cache的地址映射Cache主存标记块行?主存与Cache的地址映射Cache主存标记块行?115主存标记Cache块号块内地址主存块号主存地址7位4位9位Cache块号块内地址cache地址4位9位主存标记Cache块号块内地址主存块号主存地址7位4位9位C116图4-40cache原理图主存与Cache的地址映射地址映射建立主存数据块与Cache行,以及主存地址与Cache存储单元的对应关系利用硬件实现对CPU/程序员透明映射策略全相联映射直接映射组相联映射图4-40cache原理图主存与Cache的地址映射117主存与Cache的地址映射全相联映射主存中的每一个字块映像到cache中的任意一行块号即为行标记主存与Cache的地址映射全相联映射118主存与Cache的地址映射全相联映射实例主存为1MB,划分2048块;Cache容量为8KB,全相联Cache如何设计?主存容量为1MB,块内容量512B。主存地址为20位;其中块地址11位,块内地址9位。Cache容量为8KB,行容量为512B,共16行。行内地址9位。Cache中各行标记为11位,对应主存中的数据块编号(地址)。主存与Cache的地址映射全相联映射实例119主存与Cache的地址映射全相联映射实例读过程CPU给出20位地址。Cache将高11位的块地址与所有各行的标记进行比较。命中则将低9位的块(行)内地址送入Cache完成访问。否则从主存读出数据并复制数据块到Cache。图4-40cache原理图优点:存放位置灵活,命中率高缺点:当Cache或主存规模很大时,块地址比较过程非常复杂,硬件实现复杂度高。结论:全相联映射仅适用于小容量的Cache设计主存与Cache的地址映射全相联映射实例图4-40c120主存与Cache的地址映射直接映射主存中的某个字块只能缓存与Cache中的特定行利用模运算克服Cache与主存的容量差距,模即为Cache中的行数例如:对于4行Cache而言,主存中的第0、4、8、16…块均只能缓存于第0行主存与Cache的地址映射直接映射121主存与Cache的地址映射直接映射实例主存为1MB,划分2048块;Cache容量为8KB,直接映射Cache如何设计?主存容量为1MB,块内容量512B。Cache容量为8KB,行容量为512B,共16行。主存可以划分为2048/16=128个区,每区含16块。总地址为20位;其中块内地址9位,4位地址作为区内编号(地址),高7位作为区编号。区编号作为行标记存储。主存与Cache的地址映射直接映射实例122主存与Cache的地址映射直接映射实例读过程CPU给出20位地址。Cache利用中间4位的区内编号确定目标行。Cache将高7位的区编号与该行的标记进行比较。命中则利用低9位的块(行)内地址完成访问。否则从主存读出数据并复制数据块到Cache。优点:降低了标记比较(硬件实现)的复杂度缺点:块号相距nXm的字块可能需要频繁替换,数据放置不灵活,命中率低例如:地址00000001000XXXXXXXXX对应某区的第8块和Cache的第8行,只要该行标记为0000000,则表示第0区的第8行位于Cache中,即命中主存与Cache的地址映射直接映射实例优点:降低了标记比较(123主存与Cache的地址映射组相联映射Cache被划分为u组,每组包含v行(称为v路)以u为模确定数据块缓存的目标组数据块可以存储于目标组的任意一行与直接映射相比,将行扩展为组主存与Cache的地址映射组相联映射与直接映射相比,将行扩展124主存与Cache的地址映射组相联映射实例主存为1MB,划分2048块;Cache容量为8KB,组相联Cache如何设计?(假设每组包含2行,即2路组相联Cache)主存容量为1MB,块内容量512B。Cache容量为8KB,行容量为512B,共16行,8组。主存可以划分为2048/8=256个区。总地址为20位;其中块内地址9位,3位地址为组编号,高8位地址作为区编号(组内块编号)。区编号作为行标记存储。主存与Cache的地址映射组相联映射实例125主存与Cache的地址映射组相联映射实例读过程CPU给出20位地址。Cache利用中间3位的组编号确定目标组。Cache将高8位的区编号与组内各行的标记比较。命中则利用低9位的块(行)内地址完成访问。否则从主存读出数据并复制数据块到Cache。全相联与直接映射的混合体,将逐行匹配工作局限于组内,兼具灵活性和易于实现等优点例如:地址00000000100XXXXXXXXX对应某区的第4块和Cache的第4组(第6、7行),只要两行标记之一为00000000,则表示第0区的第8行位于Cache中,即命中主存与Cache的地址映射组相联映射实例全相联与直接映射的混126图4-40cache原理图主存与Cache的地址映射地址映射建立主存数据块与Cache行,以及主存地址与Cache存储单元的对应关系利用硬件实现对CPU/程序员透明映射策略全相联映射直接映射组相联映射图4-40cache原理图主存与Cache的地址映射127Cache的基本原理读操作CPU发送地址到Cache/主存Cache命中则直接读出数据否则主存将数据送至CPU和Cache图4-40cache原理图问题:如何替换Cache中的陈旧数据?Cache的基本原理读操作图4-40cache原理图128替换算法最不经常使用算法(LFU)各行配备访问计数器,访问一次加1(越小越糟糕)替换某行后,所有行计数器清0近期最少使用算法(LRU)各行记录不命中次数,不命中加1(越大越糟糕)该行命中后清0随机替换算法随机算法并不一定比“有规则的算法”差硬件实现替换算法最不经常使用算法(LFU)硬件实现129Cache读写过程读操作命中:直接读Cache中的数据不命中:从主存读出数据,并视情况更新Cache(即:替换Cache中的数据)写操作标志交换方式(写回法)在被替换之前仅在Cache中做标记。仅更新cache单元,用标志位标记,直至修改的字块被从cache中替换出来时,则一次写入内存。写直达法(通过式写入)同时写Cache和主存中的数据特点:写直达法简单,但当一个字被多次更新时,会引起对主存的多次写入,这是不必要的。写回法速度快,但因在最后写主存前,主存中的字块未经随时修改而可能失效。Cache读写过程读操作特点:写直达法简单,但当一个字被多次130多层次Cache存储器独立的指令Cache与数据Cache哈佛结构多层次Cache结构Core2酷睿2DuoE8200:L1-128K,L2-6MCache一致性问题写入过程并不同时修改Ll,L2和主存内容,造成了数据的不一致——cache一致性问题。多层次Cache存储器独立

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论