资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机组成原理考研复习,计算机组成原理考研复习,1,第三章 存储器层次结构,考点分析:,存储器层次结构是组成原理这门课的重点,大家在复习这一章的时候要注意Cache-主存-外存的层次结构,对比Cache-主存和虚拟存储器的相关思想、原理和方法。,本章是综合应用题常考点,典型的考题包括Cache的三种不同映像方式的相关计算,主存芯片的字扩展和位扩展方案设计以及虚存相关地址转换的内容。,第三章 存储器层次结构 考点分析:,2,(一) 存储器的分类,(二) 存储器的层次化结构,(三) 半导体随机存取存储器,1. SRAM 存储器的工作原理,2. DRAM 存储器的工作原理,3. 只读存储器,(四) 主存储器与 CPU 的连接,(五) 双口 RAM 和多模块存储器,(六) 高速缓冲存储器(Cache),1. 程序访问的局部性原理,1. Cache 的基本工作原理,2. Cache 和主存之间的映射方式,3. Cache 中主存块的替换算法,4. Cache 写策略,(七) 虚拟存储器,(一) 存储器的分类,3,存储器的分类(识记),包括各种不同的分类方式,不同存储器的对比识记,存储器的层次化结构(理解),理解Cache-主存-外存的层次结构设计的原理和目的理解,存储器的分类(识记),4,半导体存储器,磁表面存储器,存储器分类,按存储介质分,随机存储器,顺序存储器,按存取方式分,只读存储器,ROM,随机读写存储器,RAM,按存储内容可变性分,易失性存储器,非易失性存储器,按信息易失性分,主存储器,辅助存储器,高速缓冲,存储器,控制,存储器,按在计算机系统中的作用分,半导体存储器存储器分类按存储介质分 随机存储器按存取方式分,5,高速缓冲存储器:高速小容量半导体存储器,存放计算机运行期间的大量程序和数据,内存:CPU可直接访问的存储器,外存:大容量辅助存储器。用来存放系统程序和大型数据文件及数据库。,存储器的分级结构,高速缓冲存储器:高速小容量半导体存储器存放计算机运行期间的大,半导体随机存取存储器,SRAM存储器的工作原理,DRAM存储器的工作原理,注意DRAM刷新相关问题,以及SRAM和DRAM的对比(断电后不能保存信息;SRAM存取速度快,但容量不如DRAM大。),只读存储器,知道有PROM、EPROM、EEPROM、Flash Memory 等不同种类的ROM,半导体随机存取存储器,7,主存与CPU的连接(熟练掌握),这是解决,主存扩展问题,的基础, 地址线的连接;, 数据线的连接;, 控制线的连接。,主存与CPU的连接(熟练掌握)这是解决主存扩展问题的基础,8,【例3】CPU的地址总线16根(A15A0,A0为低位),双向数据总线8根(D7D0),控制总线中与主存有关的信号有MREQ(允许访存, 低电平有效),R/W(高电平为读命令,低电平为写命令)。主存地址空间分配如下:,08191为系统程序区,由只读存储芯片组成;819232767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。,上述地址为十进制,按字节编址。现有如下存储器芯片:EPROM:8K8位(控制端仅有CS);SRAM:16K1位,2K8位,4K8位,8K8位。请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及38译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片。,8K(EPROM),24K(SRAM),30K(空),2K (SRAM ),0,8191,8192,32767,63487,65535,主存容量:2,16,8位64KB,选用芯片:,EPROM:8K8位芯片1片,SRAM:8K8位芯片3片, 2K8位芯片1片。,需要用到3:8译码器的5个输出端,且对最后的2K8位芯片另需加门电路译码。,【例3】CPU的地址总线16根(A15A0,A0为低位),输入,输 出,C,B,A,Y,0,Y,1,Y,2,Y,3,Y,4,Y,5,Y,6,Y,7,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,8K(EPROM),24K(SRAM),30K(空),2K (SRAM ),3:8译码器,Y,0,Y,1,Y,2,Y,3,Y,4,Y,5,Y,7,Y,6,A,B,C,芯片,A,15,A,14,A,13,A,12,A,0,EPROM 8K,0 0 0,0000000000000,0 0 0,1111111111111,SRAM,8K,0 0 1,0000000000000,0 0 1,1111111111111,SRAM,8K,0 1 0,0000000000000,0 1 0,1111111111111,SRAM,8K,0 1 1,0000000000000,0 1 1,1111111111111,1 0 0,0000000000000,1 1 1,1011111111111,SRAM,2K,1 1 1,1100000000000,1 1 1,1111111111111,输入输 出CBAY0Y1Y2Y3Y4Y5Y6Y7000,CS,CPU,74LS138,D,0,D,7,R/W,A,0,A,10,A,11,A,12,A,13,A,15,A,14,EPROM,8KB,D,0,D,7,A,0,A,12,CS,SRAM,8KB,D,0,D,7,A,0,A,12,CS,SRAM,8KB,D,0,D,7,A,0,A,12,CS,SRAM,8KB,D,0,D,7,A,0,A,12,CS,SRAM,2KB,D,0,D,7,A,0,A,10,R/W,R/W,Y,0,Y,1,Y,2,Y,3,Y,4,Y,5,Y,7,Y,6,A,B,C,MREQ,CSCPU74LS138D0D7R/WA0A10A11A,(五) 双口 RAM 和多模块存储器,双端口存储器,和,多模块交叉存储器,属于并行存储器。前者采用,空间并行技术,,后者采用,时间并行技术,。,t,字 模块,W4 M0,W3 M3,W2 M2,W1 M1,W0 M0,T,交叉存储器连续读取n个字所需的时间为:,t1=T+(n-1),顺序方式连续读取n个字所需时间为:,t2=nT,(五) 双口 RAM 和多模块存储器双端口存储器和多模块,Cache的基本工作原理,Cache和主存之间的映射方式,不同映射方式的对比,以及相关的计算,Cache中主存块的替换算法,理解不同的替换算法的思想,Cache写策略,了解写直达和回写的原理和目的,高速缓冲存储器(Cache)(掌握 ),高速缓冲存储器(Cache)(掌握 ),13,cache的基本原理,解决CPU和主存之间速度不匹配的问题,CPU与cache之间的数据交换以,字,为单位,Cache与主存间的数据传送以,数据块,为单位,cache的基本原理 解决CPU和主存之间速度不匹配的问题,14,Cache的相关计算,命中率,(Hit Rate),:,h,=,N,c,N,c,+N,m,cache/主存系统的平均访问时间t,a,:,t,a,=ht,c,+(1-h)t,m,t,c,命中时的,cache访问时间,t,m,未命中时的,主存访问时间,h命中率,N,c,cache完成存取的总次数,N,m,主存完成存取的总次数,设,r=t,m,/t,c,表示主存慢于cache的倍率,,e表示访问效率,t,c,e=,t,a,=,t,c,ht,c,+,(1-h)t,m,=,1,r+,(1-r)h,Cache的相关计算命中率(Hit Rate):h=NcNc,主存与Cache的地址映射,全相联映,射,(fully associative mapping),可以将一个主存块存储到任意一个Cache行,直接映,射,(direct mapping),将一个主存块存储到唯一的一个Cache行,组相联映,射,(set associative mapping),可以将一个主存块存储到唯一的一个Cache组中任意一个行,主存与Cache的地址映射全相联映射(fully assoc,全相联映射,全相联映射的检索过程,全相联映射全相联映射的检索过程,17,直接映射,直接映射的检索过程,直接映射直接映射的检索过程,18,组相联映射,组相联映射的检索过程,组相联映射组相联映射的检索过程,19,Cache中主存块的替换算法,全相联和组相联,需要选择替换策略(算法),思想,优点,缺点,随机算法RAND,用软的或硬的随机数产生器产生上层中要被替换的页号,简单、易于实现,没有利用上层存储器使用的历史信息,没有反映等程序局部性,命中率低。,先进先出FIFO,选择最早装入上层的页作为被替换的页,实现方便,利用了主存历史的信息,不能正确反映程序局部性原理,命中率不高,可能出现一种异常现象。,近期最少使用法LRU,选择近期最少访问的页作为被替换的页,比较正确反映程序局部性,利用访存的历史信息,命中率较高,实现较复杂,优化替换算法OPT,将未来近期不用的页换出去,命中率最高,可作为衡量其他替换算法的标准,不现实,只是一种理想算法,Cache中主存块的替换算法全相联和组相联,需要选择替换策,20,cache的写操作策略,写入策略解决主存内容的更新问题,保持正确,写回法(write back),只写入Cache,在被替换时才写回主存,全写,法(write through),写入Cache的同时也写入主存,写一次法,写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存,cache的写操作策略写入策略解决主存内容的更新问题,保持正,21,虚拟存储器的基本概念,页式虚拟存储器,段式虚拟存储器,段页式虚拟存储器,TLB(快表),虚拟存储器(掌握),虚拟存储器(掌握),22,虚拟存储器的基本概念,虚拟存储器,:,在,主存-外存,层次间,借助于磁盘辅助存储器实现,以,透明,方式提供给用户,作用,:,扩大主存容量,提高辅存访问速度,有效管理存储系统,虚拟存储器的基本概念 虚拟存储器:,虚拟存储器的基本概念,虚存机制要解决的关键问题,(1),调度问题,:决定哪些程序和数据应被调入主存。,(2),地址映射问题,:在访问主存时把虚地址变为主存物理地址(内地址变换);在访问辅存时把虚地址变成辅存的物理地址(外地址变换),以便换页。,(3,),替换问题,:决定哪些程序和数据应被调出主存。,(4),更新问题,:确保主存与辅存的一致性。,虚拟存储器的基本概念虚存机制要解决的关键问题,主存-外存层次的基本信息传送单位,段,:按程序逻辑划分为可变长的块,称为段,页,:机械地划分为大小相同的块,称为页面,段页,:程序按模块分段,段内分页,虚拟存储器的管理,段式管理,:,把主存按段分配的存储管理方式,页式管理:,以定长页面进行存储管理的方式,段页式管理:,分段和分页相结合,主存-外存层次的基本信息传送单位虚拟存储器的管理,页式虚拟存储器,页面基地址,逻辑页号 页内行地址,物理页号 页内行地址,页表基址寄存器,虚存地址,实存地址,+,页表,(在主存中),控制位 主存页面号,页式管理的地址变换:用,页表,页式虚拟存储器页面基地址逻辑页号 页内行地址物,快表与慢表,为避免页表已保存或已调入主存时对主存访问次数的增多, 把页表的最活跃部分存放在高速存储器中组成,快表,。,转换后援缓冲器TLB,:专用于页表缓存的高速存储部件,快表与慢表为避免页表已保存或已调入主存时对主存访问次数的增多,段式虚拟存储器,在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异。,虚拟地址由,段号,和,段内地址,组成,为了把虚拟地址变换成实主存地址,需要一个段表。,段表的表项至少包含下面三个字段:,(1) 有效位,:指明该段是否已经调入实存。,(2) 段起址,:指明该段在实存中的首地址。,(3) 段长,:记录该段的实际长度。,段式虚拟存储器在段式虚拟存储系统中,段是按照程序的逻辑结构划,段式管理的地址变换:用,段表,段表基地址,段号 段内地址,主存地址,段表基址寄存器,虚存地址,实存地址,+,段表(在主存中),+,段起址,装入位,段长,段号,段式管理的地址变换:用段表段表基地址段号 段内,段页式虚拟存储器,段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。,它把程序按逻辑单位分段以后,再把每段分成固定大小的页。,虚拟地址格式如下:,基号,段号,段内页号,页内地址,指示哪个基址寄存器,从中取出段表的起始地址,由段号,从段表中取出页表起始地址,由页号,从页表中取出物理页号,段页式虚拟存储器段页式虚拟存储器是段式虚拟存储器和页式虚拟存,第四章 指令系统,考点分析:,指令系统历来都是考试的常考点,这一章相对简单,要拿高分就要确保这章相关考点的分数。,第四章 指令系统考点分析:,31,指令系统,指令格式(熟练掌握 ),指令的基本格式,定长操作码指令格式,扩展操作码指令格式,定长操作码和扩展操作码优缺点的对比,采用扩展操作码方式指令数目的计算以及设计,指令系统指令格式(熟练掌握 ),32,一、指令的一般格式,操作码字段,地址码字段,1. 操作码,反映机器做什么操作,(1) 长度固定,(2) 长度可变,用于指令字长较长的情况,,RISC,如 IBM 370,操作码 8 位,操作码分散在指令字的不同字段中,一、指令的一般格式 操作码字段 地址码字段1,(3) 扩展操作码技术,操作码的位数随地址数的减少而增加,OP,A,1,A,2,A,3,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,0000,0001,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,0000,0001,1111,1111,1111,1111,1111,1111,1111,A,3,A,3,A,3,0000,0001,1110,4 位操作码,8 位操作码,12 位操作码,16 位操作码,最多15条三地址指令,最多15条二地址指令,最多15条一地址指令,16条零地址指令,(3) 扩展操作码技术操作码的位数随地址数的减少而增加OP,(3) 扩展操作码技术,操作码的位数随地址数的减少而增加,OP,A,1,A,2,A,3,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,0000,0001,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,0000,0001,1111,1111,1111,1111,1111,1111,1111,A,3,A,3,A,3,0000,0001,1110,4 位操作码,8 位操作码,12 位操作码,16 位操作码,三地址指令操作码,每减少一种可多构成,2,4,种二地址指令,二地址指令操作码,每减少一种可多构成,2,4,种一地址指令,(3) 扩展操作码技术操作码的位数随地址数的减少而增加OP,练习,已知指令字长为16位,每个地址码为4位,采用扩展操作码的方式,设计15条三地址指令,15条二地址指令,15条一地址指令,16条零地址指令,画出扩展图,练习已知指令字长为16位,每个地址码为4位,采用扩展操作码的,36,OP,A,1,A,2,A,3,0000,0001,1110,A,1,A,1,A,1,A,2,A,2,A,2,A,3,A,3,A,3,A,2,A,2,A,2,A,3,A,3,A,3,1111,1111,1111,0000,0001,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,0000,0001,1111,1111,1111,1111,1111,1111,1111,A,3,A,3,A,3,0000,0001,1110,4 位操作码,8 位操作码,12 位操作码,16 位操作码,OP A1 A2 A3000000011110A1A1A1,例:设机器指令字长为,16,位,指令中地址字段的长度为,4,位,共有,11,条三地址指令,,72,条二地址指令,,64,条零地址指令。问最多还能规定多少条单地址指令?,解:三地址指令的地址字段共需12位,所以可有4位操作码,可规定16条三地址指令。现有11条三地址指令,所以还有16115个编码用于二地址指令。,二地址指令的地址字段共需8位,可有8位操作码,去掉三地址指令用掉的操作码,可规定51680条二地址指令。现有72条二地址指令,所以还有80728个编码用于单地址指令。,单地址指令的地址字段共需4位,可有12位操作码,去掉二、三地址指令用掉的操作码,可规定816128条单地址指令。,由于要求有64条零地址指令,而4位操作码只能提供16条指令,所以需要由单地址指令提供64/164个操作码编码,因此还能规定1284124条单地址指令。,例:设机器指令字长为16位,指令中地址字段的长度为4位,共有,研究生入学考试计算机组成原理大纲解析课件,练习,指令系统指令字长为16位,具体双操作数、单操数和无操作数三种指令格式,每个操作数地址规定用6位表示,现要求设计14条双操作数指令、 100条单操作数指令和100条无操作数指令,画出扩展图。,练习指令系统指令字长为16位,具体双操作数、单操数和无操作数,40,OP,A,1,A,2,0000,0001,1101,A,1,A,1,A,1,A,2,A,2,A,2,A,2,A,2,A,2,1110,1110,1111,000000,000001,100011,双操作数,单操作数,无操作数,000000,000001,100011,1111,1111,1111,100100,100100,100101,OP A1 A2000000011101A1A1A1A2,指令系统,指令的寻址方式(掌握),有效地址的概念,数据寻址和指令寻址,常见寻址方式,要注意不同寻址方式的对比,掌握每种方式的寻址过程,指令系统指令的寻址方式(掌握),42,指令的寻址方式,1.顺序寻址方式, PC1PC,设置程序计数器(或称指令计数器),PC,,每执行一条指令,计数器加1;,把计数器内容作为指令的存储地址。,2.跳跃寻址方式, 当程序转移时,修改PC的内容,下条指令的地址,不是计数器给出的,而是当前指令指定的。,程序跳跃后,按新的指令地址开始顺序执行,指令计数器的内容相应改变。,指令的寻址方式 1.顺序寻址方式 PC1PC,43,有效地址,:,操作数的实际地址。,寻址方式,算法,隐含寻址,操作数在专用寄存器,立即寻址,操作数=A(A为形式地址),直接寻址,EA=A (EA为有效地址),间接寻址,EA=(A),寄存器寻址,EA=R,寄存器间接寻址,EA=(R),偏移寻址,EA=A+(R),段寻址,EA=A+(R),堆栈寻址,EA=栈顶,有效地址:操作数的实际地址。寻址方式 算法 隐含寻址,44,偏移寻址,直接寻址和寄存器间接寻址方式的结合;,OP,有两个地址字段:形式地址A,某个专用寄存器。,EA=A+(R),三种偏移寻址是相对寻址、基址寻址、变址寻址。,偏移寻址直接寻址和寄存器间接寻址方式的结合;OP有两个地址字,45,指令系统,CISC和RISC的基本概念(了解),知道两者的区别,指令系统CISC和RISC的基本概念(了解) 知道两者的区,46,CISC与RISC的对比,类别,CISC,RISC,指令系统,指令数量,很多,较少,,通常少于100,执行时间,有些指令执行时间很长,,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器,没有较长执行时间的指令,编码长度,编码长度可变,,1-15,字节,编码长度固定,通常为4个字节,寻址方式,寻址方式,多样,简单,寻址,操作,可以对存储器和寄存器,进行算术和逻辑操作,只能对寄存器,对行算术和逻辑操作,Load/Store体系结构,编译,难以用优化编译器生成高效的目标代码程序,采用优化编译技术,生成高效的目标代码程序,CISC与RISC的对比类别CISCRISC指令系统指令数量,47,
展开阅读全文