计算机组成原理(华科)chap4_第1页
计算机组成原理(华科)chap4_第2页
计算机组成原理(华科)chap4_第3页
计算机组成原理(华科)chap4_第4页
计算机组成原理(华科)chap4_第5页
已阅读5页,还剩156页未读 继续免费阅读

下载本文档

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

文档简介

,第四章存储系统,本章主要内容:存储系统的组成存储单体的工作原理(动态和静态)如何由存储单体构成存储器存储器的扩充(含不连续地址空间的存储器扩充)如果提高存储系统的访问速度-高速存储器(Cache)回答为什么要使用模块化程序设计(不用Goto语句)虚拟存储器(解决内存容量不足的问题)外存储(磁盘存储)网络存储本章学时1214,一、存储器的概述,1、存储器的分类:从不同的角度进行,1)按存储介质分:半导体磁性材料光纸,2)按存储方式分:随机存储器:可按地址访问且访问时间与单元的物理位置无关顺序存储器:存储时间与单元的物理位置有关磁盘是半顺序和半随机设备,3)按读写方式分:RAM:RandomAccessMemoryROM:ReadOnlyMemory,永久性:与是否断电无关非永久性:断电后信息消失,4)按信息的可保存性,5)按在计算机系统中所起的作用:控制存储器(CMorCS)CPU中的CacheCPU外面的Cache主存辅存,2、计算机中存储系统的分级结构,1)分级结构的提出人们的追求:大容量、快速度、低价格,2)分级结构,CPU,CACHE,主存,辅助存储器,最后的效果(左向右看):Cache的速度,辅存的容量和价格,3)存储分级的理论基础!,程序的局部性原理,又包括:时间局部性:现在被访问的指令在不久的将来还将再次被访问。,时间局部性的程序结构体现:,循环,空间局部性:现在访问指令2,下一次访问的指令在2的附近。,空间局部性的程序结构体现:,顺序,3、主存的常用技术指标,存储容量指标:存储器所能存储的二进制信息的位数.速度指标:(1)存取时间(存储器访问时间)启动存取操作到操作完成所经历的时间(2)存储周期(读写周期):对存储器进行连续两次存取操作所需的最短时间间隔。存储器在一次存取操作后需要一定的恢复时间.因此,该时间一般大于存取时间.(3)存储器带宽:单位时间内存储器所存取的信息位,也称存储器的数据传输率.即存储器总线宽度/存储周期,单位为位/秒,二、随机存储器,1、SRAM-StaticRandomAccessMemory,1)基本存储单元-存放一位二进制信息的电路2)SRAM存储单元结构及其工作原理,工作管:T1、T2负载管:T3、T4门控管:T5、T6T7、T8,Source:源极Drain:漏极Gate:栅极,衬底一般与S极相连,与G极之间绝缘,大多数情况下S和D可互换,写过程,行选通T5、T6通A与D连通列选通T7、T8通B与D连通,写1的过程D=1A=1T2通B=0T1截止D=0B=0T1截止A=1T2通此时,T1、T2形成了稳态,A=1、B=0,写0的过程D=0A=0T2截止B=1T1通D=1B=1T1通A=0T2截止,此时,T1、T2形成了稳态,B=1、A=0,即:六管静态存储单元是以T1和T2构成的稳定互锁态保存信息,读过程,行选通T5、T6通A与D连通列选通T7、T8通B与D连通,读1的过程若原来保存的是1,则此时,D=1、D=0,D和D外接一个读出放大器,放大器中的电流从D流向D,表示读出为1,读0的过程若原来保存的是0,则此时,D=0、D=1,D和D外接一个读出放大器,放大器中的电流从D流向D,表示读出为0,读出的内容是通过外接在D和D之间电流放大器中的电流的方向来判断的,对于存储器而言,除了读、写状态外,还有什么状态?,保持状态,此时X和Y地址(行选和列选)都处于浮空状态。原保持的信息,使T1、T2处于稳定的互锁状态,无论是保存的1或0,两只工作管总有一只要饱和导通。工作管导通所需要的工作电流将由负载管T3或T4承担。,3)SRAM存储器的组成,由上图知,SRAM存储器由下列部件构成:,存储体:存储单元的集合地址译码器:把二进制表示的地址转换成输出电位,驱动相应的读写电路,选择所需的存储单元。驱动器:I/O电路:控制选中单元的读/写和信号放大。片选与读/写控制电路:用于存储器的扩容。输出驱动电路:用于多片输出的互连或与双向数据总线的连接。,4)双译码结构分析,什么是双译码?将来自CPU的地址线分行和列分别送到两个移码器进行移码.双译码的优点能够大大减少移码输出线以12位地址为例进行说明:单译码时,12位地址译码输出的状态线为212=4096根双译码时,设分为X译码和Y译码,各输入6位则译码输出的状态线总数为26+26=128根显然,地址线的位数越多,采用双译码的效果越明显。对于小容量的存储器,可以采用单译码;对于大容量的存储器,则必须采用双译码。,5)译码结构与存储器中存储单元的组织,采用不同的译码结构,与存储体当中存储单元的排列有关,回顾存储单元的结构,其中有行、列地址,只有两者都选中,该单元才会被选中。单译码的存储器组织:,双译码器的组织:,MN=161的存储器的内部结构,MN=164的存储器的内部结构,D3,D2,D1,D0,6)静态存储器距离6116,读出逻辑:CS=0.OE=0,WE=1写入逻辑:CS=0.OE=1,WE=0高阻:CS1,2、动态存储器-DRAM,构成工作管:T1、T2门控管:T5、T6、T7、T8,信息的保存:分布电容C1、C2上的电荷写操作:基本步骤同六管静态单元写1,A=1对C2充电,T2导通B=0对C1放电,T1截止,A=0对C2放电,T2截止B=1对C1充电,T1导通,写0,读操作通过T9T10给D线和D线上的分布电容CD、CD预充电,其结果是使上述两电容均达到电源电压读出信息:X有效T5、T6通Y有效T7、T8通,若原存1,则CD上的电荷经T2泄漏D=0而CD只向C2微充电D=1有D到D的电流,即读出的为“1”,若原来存放的为0,则读出的过程正好相反。,还需要什么状态?,刷新操作,需要刷新的原因:保存信息的电容C1、C2上的电荷维持的时间有限(一般2ms)。刷新原理:对C1、C2充电只给字线T5、T6导通CD对C2充电或CD对C1充电。即刷新是按行进行,因此,必须知道动态存储器的内部行列结构。一次刷新是一次不完全的读操作。刷新地址由刷新计数器给出。,三种刷新方式(设刷新周期为2ms,存储矩阵采用128128结构,存储体的读/写周期为0.5s),集中式刷新:将2ms的读写周期分成2000/0.5=4000个读写时间段。前面4000-128=3872个读写时间段用于读/写,后面128个读写时间段用于刷新,在此阶段,不允许进行读写操作,故称为死时间.,采用集中刷新的存储器平均读写周期,T,=2ms/(4000128)=0.5165s,分散刷新,将每一个存储周期分成两部分,前一部分为读/写时间段,后一部分为刷新时间段,对于本例的实际则是存储器的读写周期变成了1s,其中前0.5s为读/写时间,0.5s为刷新时间。,T,=1s,异步刷新,是集中刷新和分散刷新的结合,将2ms分成128个时间段,每段的时间为2000/128=15.5s,再将每段时间分成两部分,其中前面的15s用于读写,最后的0.5s用于刷新。,T,=2ms/(4000128)=0.5165s,三种刷新方式的比较:,集中刷新:用于高速存储器中,但存在死时间分散刷新:虽然不存在死时间,但大大降低了存储体的速度异步刷新:既不存在死时间,也保持了存储体的高速特性,关于动态存储器刷新的几点说明:不同材料不同生产工艺的动态存储器的刷新周期不同,常见的有2ms、4ms、8ms,刷新时间间隔不能超过刷新周期。要知道存储体的行、列结构,即行译码器输出的线数,因为,刷新是按照行进行的。当存储器是由若干单体构成时,以单体的容量为计算的依据,同时考虑双译码的原则。如由256K的存储体构成2M的存储器。行为29,若由512K的单体构成,则行可以是29或210,但要说明。刷新地址是由专门的器件-刷新地址计数器给出的。,动态存储器举例,64K1存储体:需16位地址,由4个128128的存储阵列构成;地址锁存器:2164A采用双译码方式,受封装限制,16位地址信息通过同一组引脚分两次送入,故在芯片内部需要能保存8位地址信息的地址锁存器;1/4I/O门电路:由行、列地址信号的最高位控制,能从相应的4个存储矩阵中选择一个进行输入输出操作;,数据输入缓冲器用以暂存输入的数据;数据输出缓冲器用以暂存要输出的数据;,行、列时钟缓冲器:用以协调行、列地址的选通信号;写允许时钟缓冲器:用以控制芯片的数据传送方向;128读出放大器:4个128读出放大器接收由行地址选通的4128个存储单元的信息,经放大后,再写回原存储单元,实现刷新.1/128行、列译码器:分别用来接收7位的行、列地址,经译码后,从128128个存储单元中选择一个确定的存储单元,以便对其进行读/写操作。,:行地址选通信号输入引脚,低电平有效,兼作芯片选择信号。当为低电平时,表明芯片当前接收的是行地址;,:列地址选通信号输入引脚,低电平有效,表明当前正在接收的是列地址(此时行选择应保持为低电平),SRAM和DRAM的主要区别,3、只读存储器,相对RAM而言,只能读,不能写,芯片上没有R/W引脚具有不易失性有不同的类型,1)掩膜式的ROM,2)一次编程-PROM(熔丝工艺),1111,1010,3)多次可编写程,可根据用户的需要,修改ROM中的内容?根据修改的方式不同,又可分为不同的类型:Electrically-ErasableProgrammableRead-OnlyMemory(E2PROM)电可擦除ROM可在线读和在线写,但断电后其中的内容不丢失Reprogrammableread-onlymemory(RPROM)用光(紫外线)来擦除ROM中的内容,四、信息存储及存储器编址,1)存储字长与数据字长的概念存储字长:主存的一个存储单元所包含的二进制位数数据字长(字长):计算机一次能处理的二进制数的位数2)目前大多数计算机的主存采用按字节编址,而计算机的字长又包含多个字节,如16位字长、32位字长和64位字长,所包含的字节数分别为2、4、8。,3)大端(big-endian)和小端(little-endian)数据存放方式,big-endian:最高字节地址(最左边)作为字地址(正常存放方式),little-endian:最低字节地址(最右边)作为字地址,68000采用大端,Intel采用小端,ARM两者都支持(兼容性问题),4)大端(big-endian)和小端(little-endian)数据存放方式应用举例,设某程序执行前r0=0 x11223344执行下列指令:r1=0 x100STRr0,r1LDRBr2,r1,执行后:小端模式下:,r2=0 x44,大端模式下:,r2=0 x11,)字节编址的存储器按边界对齐数据存放方法,若数据字长32位,存储字长64位。则半字长16位,双字长64位边界对齐的数据存放如下图所示。,双字数据的起始地址的最末三位为000(8字节的整数倍),表示访问一个64位字长的字,如果要访问其中的某字节或半字则用低三位中的部分位来选择.单字数据的起始地址的最末二位为00(4字节的整数倍)半字数据的起始地址的最末一位为0(字节的整数倍),1、SRAM存储器与CPU的连接及扩展,1)需要连接的线地址线、数据线、读/写控制线、片选信号2)存储器扩展的种类位扩展:当数据位不足时字扩展:当容量不足时字位同时扩展:当数据位和存储体的容量均不足时使用,五、存储器扩展及综合应用,3)位扩展,数据位不够时位扩展所需芯片数量:,K=数据线位数/存储体数据位本例中K=8/1=8所有芯片的片选为低;CPU访问存储器时,其发出的地址和控制信号同时传给8个存储芯片,选中每个芯片的同一个单元.,CS=0,4)字扩展,容量不够时字扩展所需芯片数量:,L=主存容量/存储体容量或:L=2CPU地址线数-存储体地址线数本例中L=64/16=4片选产生办法:线选法全译码法部分译码法.来自CPU多余地址译码输出CPU每次只能选中一个存储芯片中的某个单元.,5)字扩展时计算不同存储体的地址范围,6)字位同时扩展,当用户所需要的存储器的容量和数据位均大于存储体的容量和数据位时,采用字位同时扩展。所需要的存储体的数量P=KL=,存储器的容量数据位,存储芯片的容量数据位,7)字位同时扩展举例引例、用256K32位的存储体构造2M32位的存储器,并完成与CPU的连接解:所需要的存储体的片数为P=,21024K,256K,=8片,分析:,访问2M字存储空间需要地址线:,21根,256K的存储体的地址线数:,18根,多余3根送片选移码,由于是32位数据,是8的4倍,为保证按字边界对齐,需A1A0=00,例1、用256K8位的存储体构造2M32位的存储器,并完成与CPU的连接,分析:1)本例与引例有何不同是字位同时扩展,(256K32位V256K8位)2)本例与引例有何联系,这种联系对解答本题有何启示?最后存储器的容量相同,都是2M启示:如果先用256K8位的存储体构造成256K32位的存储体则其余的解题方法同引例,所需要的存储体的片数为P=,=32,先用4片256KX8位的存储体构成256KX32的存储体,再用引例中的方法即可,如下图所示。,本题也可以直接表示成如下图所示的结构。,例3某计算机的主存地址空间中,从地址000016到3FFF16为ROM存储区域,从400016到5FFF16为保留地址区域,暂时不用,从600016到FFFF16为RAM地址区域。RAM的控制信号为CS#和WE#,CPU的地址线为A15A0,数据线为D7D0,控制信号有R/W#和访存请求MREQ#,要求:(1)如果ROM和RAM存储器芯片都采用8K1的芯片,试画出存储器与CPU的连接图。,8K1,40K8,(1)分析,地址空间分布分析:0000H3FFFH(16K):ROM011111111111111000000000000000=111111111111114000H5FFFH(8K):保留区6000HFFFFH(40K):RAM区(FFFFH-6000H=1001,1111,1111,1111=215+8K)。需要ROM和RAM的片数量需要ROM的数量为:,16K8,8K1,=16片,需要RAM的数量为:,=40片,RAM和ROM均需要进行字/位同时扩展,扩展,译码线的选择参加译码的线数为16-log28192=1613=3根则译码器的输出有8根,每根输出选中64K/8=8K的存储单元,总共选中64K个单元。由于中间有8K的保留区(4000H5FFFH),故译码器的第3个输出轮空,具体的连接方案如下图所表示,每个片选译码线选择8K的存储空间,(2)如果ROM存储器芯片采用8K8的芯片,RAM存储器芯片采用4K8的芯片,试画出存储器与CPU的连接图。,地址空间分布分析:0000H3FFFH(16K):ROM4000H5FFFH(8K)):保留区6000HFFFFH(40K):RAM区需要ROM和RAM的片数量需要ROM的数量为:,16K8,8K8,=2,需要RAM的数量为:,40K8,4K8,=10,扩展ROM和RAM均只需要进行字扩展,如何选择译码输入?,以大容量的为目标(8k单体),先将容量小的进行扩充成中间模块,使容量和位数与大容量的相同。剩余的地址线再作为译码器的输入此时送入译码器的输入地址线的数量为:1613=3根共产生8个译码输出线,每根译码输出线选择的内存空间范围是:64K/8=8K,每个片选译码线选择8K的存储空间,每个片选译码线选择8K的存储空间,如以小容量的为目标(4K的单体),此时送入译码器的输入地址线的数量为:1612=4根共产生16个译码输出线,每根译码输出线选择的内存空间范围是:64K/16=4K显然,为了留出8K的保留区,必须预留出2根片选信号,以小容量的为目标,每个片选译码输出选择4K的存储范围,(3)如果ROM存储器芯片采用16K8的芯片,RAM存储器芯片采用8K8的芯片,试画出存储器与CPU的连接图。,地址空间分布分析同前需要ROM和RAM的片数量需要ROM的数量为:,16K8,16K8,=1,需要RAM的数量为:,40K8,8K8,=5,扩展片选移码可以有两种选择方式1)以16K单体为目标,每个片选译码线选择16K的存储空间注意:保留区只有8K,不能使用一完整的译码输出线,以16K单体为目标,每个片选译码线选择16K的存储空间,以8K的单体为目标,每个片选译码线选择8K的存储空间,例4CPU的地址总线共有A15A0,双向数据总线8根(D7D0),控制总线中与主存有关的信号是MREQ,R/W。主存地址空间分配如下:08191:为系统程序区,由ROM组成8192-32767:为用户程序区,最后2K:地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器供选用:EPROM:8Kx8位(控制端仅有CS)SRAM:16Kx1、2Kx8、4Kx8、8Kx8设计该存储器的,并与CPU相连。,解:先画出主存地址空间分布图和分析移码器的处理,选用的芯片:EPROM:8Kx81片SRAM:8Kx83片2Kx81片,译码器的处理,64K内存需要地址线:16根8K的存储体需要地址线:13根译码器的输入线:3根,每个输出选择8K保留区和2K容量特殊,画图分析,可见,只有当A12A11=11的时,才能选中最后的2K原方案中,当地址为E000HE7FFH、E8FFH0EFFFH和F000HF7FFH也能选中RAM3,这与题意不相符合。因此,对RAM4的片选还要做修改,3:8,译码器,OE#,MREQ#,R/W#,CPU,D,7,D,0,CE,8K,8,(RAM,2,),WE*D,CE,8K,8,(ROM1),D,CE,8K,8,(R,AM1,),D,CE,8K,8,(RAM,3,),WE*D,CE,2,K,8,(RAM,7,),WE*D,A,10,A,0,A,11,A,12,A,13,A,15,与存放顺序一致,故空间局部性好!但每个Aij只被访问一次,故时间局部性差!(2)变量sum:单个变量不考虑空间局部性;每次循环都要访问sum,所以其时间局部性较好!(3)for循环体:循环体内指令按序连续存放,所以空间局部性好!循环体被连续重复执行2048x2048次,所以时间局部性好!,程序段B的时间局部性和空间局部性分析(1)变量sum:(同程序A)(2)for循环体:(同程序A)(3)数组A:访问顺序为A00A20470;与存放顺序不一致,每次跳过2048个单元,若主存与Cache之间交换信息的块单位小于2KB,则没有空间局部性!(每个数组变量只被访问一次,没有时间局部性,同程序A),例3假定主存和Cache之间采用直接映射方式,块大小为16B。Cache的数据区容量为64KB,主存地址为32位,按字节编址,数据字长32位。要求:说明主存地址如何划分,访存过程的硬件实现,并计算Cache有多少行?容量多大?,(1)计算机字长32位,每块大小为16B,按字节编址。则一块包含4个字,故需要2位表示选择一块内的哪个字,而一个字32位又包含4个字节,故用2位表示一个32位字中的哪个字节。(也可直接理解成需要4位来表示选择哪个字节)Cache分成的行数为:64KB/16B=4096块,则用于选择Cache行的索引字段位数为12位则标记字段的位数为(表示主存的不同分区)32-12-(2+2)=16位,硬件访问过程如下图所示,(2)计算Cache的容量,4096(1+16+128)=580Kbits,例4设某机内存容量为16MB,Cache的容量16KB,每块8个字,每个字32位.设计一个四路组相联映象(即Cache内每组包含4个字块)的Cache组织方式(方式1),要求:1)画出主存地址字段中各字段的位数2)设Cache的初态为空,CPU依次从主存第0,1,2,.99号地址单元读出100个字(主存一次读出一个字),并重复此次序读8次,问命中率为多少?3)若Cache的速度是主存速度的6倍,问有Cache和无Cache相比,存储系统的速度提高了多少倍,解:1)每块8*32位=32B,块内地址5位,Cache行数:16KB/32B=512行,Cache的组数为:512/4=128组,则主存每组中包含的块数为128块,组内块地址为:7位,主存组地址为:24-5-7=12位,2)先画出Cache的基本结构,一个字块,包含8个字,每个字32位,07,815,1623,2431,3239,4047,4855,5663,6471,7279,8087,8895,96103,07,3239,6471,96103,815,4047,7279,1623,4855,8087,2431,5663,8895,.,Z0,Z1,Z2,Z3,Zn,K0,K1,K2,K3,K4(0组),.,K13,按组相联映射方式1的映射关系,07,815,1623,2431,3239,4047,4855,5663,6471,7279,8087,8895,96103,07,815,1623,2431,3239,4047,4855,5663,6471,7279,8087,8895,96103,104111,112119,120127,.,Z0,Z1,Z2,Z3,主存100个单元只需分13块(4组)就可调度完成,而Cache有128组,因此,访问主存前100号单元不会发生页面调度,Zn,K0,K1,K2,K3,K4,.,K13,初始状态为空,每块第一个字不命中,后面7个均命中,100号单元对应13块,第一轮访问13次不命中,后七轮访问均命中,命中率为:(100*8-13)/(8*100)=98.375%,按组相联映射方式2的映射关系,3)由题意,设主存存取周期为6t,Cache的存取周期为t,则没有Cache的访问时间为:Tnc=800*6t=4800t则有Cache的访问时间为:Tc=13*6t+(800-13)*t=865t则采用Cache后的访问速度是没有Cache访问速度的5.5倍(4800t/865t)提高的倍数为5.5-1=4.5倍,补充作业:某计算机采用直接映象Cache,已知主存的容量为4MB,Cache的容量为4096B,字块长度为8个字(每字32位).1)画出反映主存与Cache映象关系的主存地址各字段分配框图2)设Cache的初态为空,CPU依次从主存第0,1,2,.99号读出100个字(主存一次读出一个字),并重复此次序读8次,问命中率为多少?3)若Cache的速度是主存速度的6北,问有Cache和无Cache相比,存储系统的速度提高了多少倍,七、虚拟存储器,1)问题的提出:如果目标程序比主存空间大,程序能运行吗?2)虚拟存储器虚拟存储器是一个大容量存储器的逻辑模型,该模型描述的存储器的大小取决于辅存空间。在存储体系中处于主存-辅存层次。3)虚拟存储器提出的目的允许多个程序间有效地共享主存;消除小而受限的主存容量对编程造成的障碍。4)虚拟存储器的优点:提供更为有效的管理存储设备的方法主存空间的大小对程序员透明,用户可以使用比主存空间大的程序地址空间,5)虚拟地址与物理地址,虚拟地址:是程序的逻辑地址,由编译程序生成,所对应的虚拟地址空间的大小受到辅存容量的限制。物理地址:主存的地址,其空间受CPU地址线数的限制当程序由辅存调入到主存时将发生虚拟地址到物理地址的转换。,6)虚拟存储器和高速缓冲存储器的比较,使用的目的不同:Cache是为了缓解快速的CPU与慢速的主存之间的速度差异。虚拟存储器虽然也大大地减少了慢速辅存对CPU性能的影响,但其主要功能是解决主存容量不足的问题。交换的信息单位不同:Cache-主存之间信息交换的基本单位是定长的块;而主存-辅存间交换信息的基本单位随虚拟存储器类型的不同而不同,如有段、页、段页,Cache主存在命中失效时,一方面信息从主存调入Cache,同时通过CPU和主存之间的专用通道调入CPU;而对于虚拟存储器而言,由于CPU和辅存之间不存在专用通道,所以,只有当信息调入主存后,CPU才能通过主存来读信息。,命中失效的处理方式不同:,高速缓冲存储器的地址映射和替换策略全由硬件实现,对程序员和系统程序员透明。虚拟存储系统的地址映射和和替换由操作系统加部分硬件实现,其算法对程序员透明,但对系统程序员不透明。,透明程度不同,7)三种类型的虚拟存储器,段式:按程序的自然段作为主存和辅存之间交换的信息单位。使用段表来登记段的调入情况,段表是主存的一部分。优点:保护了用户程序自身的相对独立性。缺点:管理复杂,且容易造成主存的碎片,页式,将程序分成固定长度的页作为主存和辅存之间交换的信息单位。使用页表来登记页的调入情况,页表是主存的一部分。优点:管理方便,主存空间浪费少缺点:破坏了原程序自身的相对独立性。,段页式,对程序段分成固定长度的页,页作为主存和辅存之间交换的信息单位。但共享和保护按段进行。使用段表和页表来登记段和页的调入情况。优点:管理方便,主存空间浪费少,保持原程序自身的相对独立性。,7、存储保护,问题提出:共享主存的环境下,要防止由于某道程序出错而影响其它用户或破坏系统,以及一个非授权用户对其它数据的访问。解决问题的方法:存储保护实现方法:采用硬件实现。,8.页式虚拟存储器,(1)基本概念,(2)页式虚拟存储逻辑地址划分,与物理页大小相关,与页表项数相关,若主存页大小为4K,虚存大小为4GB,则:,页内偏移量为:12位虚拟页号为:32-12=20位,对应的页表有1024*1024项页表的位置:主存内(!)页表是页表项PTE(PageTableEntry)的集合,(3)页表的结构及虚拟存储器访问流程,页表寄存器,物理页号,页偏移量,访问主存,典型页表中有装入位、修改(Dirt)位、替换控制位、访问权限位、禁止缓存位、实页号.,应用举例,在下图所示的虚拟页式存储页表中,假定页面大小为1024B,求对应于虚拟地址2050和3080的主存地址。(最大物理空间为64KB),0,1,2,3,页表,(2050)10=2048+2=(100000000010)2,虚页号为2,查页表可得到物理页号为000111,则对应的物理地址为:,0001110000000010,虚存3080号单元对应的物理地址为:,0001000000001000,1:处理器生成一个虚拟地址,并把它传送给MMU(存储管理单元);2:MMU生成页表项地址PTEA,查找页表(存在于高速缓存/主存中),以获得页表项PTE;3:向MMU返回PTE;4:MMU利用返回PTE中的PPN(物理页号)构造物理地址,并利用该物理地址访问高速缓存/主存;5:CPU从高速缓存/主存读取所请求的数据。,(4)页面命中和缺页的操作流程,1:处理器生成一个虚拟地址,并把它传送给MMU;2:MMU生成页表项地址PTEA,查找页表,获得页表项PTE;3:向MMU返回PTE;4:PTE中有效位为零(无效),MMU触发缺页异常,CPU调用缺页异常处理程序;5:如果该页面被修改,缺页处理程序将其换出到磁盘;6:缺页处理程序调入新的页面,并更新页表;7:缺页处理程序返回到原来的进程,CPU将导致缺页的指令重新发给MMU,并重新启动该指令。因为此时该虚拟页已经调入主存,因此,重新访问时该页将命中。执行流程又回到了图(a)。,(5)TLB的概念及结构,根据局部性原理,可增加一个小容量、高速的存储部件存放当前访问的地址变换条目,该存储部件称为TLB(地址转换后备缓冲器)。,TLB的结构和页表的结构类似,也是PTE的集合。为了实现对TLB的快速访问,类似于Cache中的映射方法,对来自于CPU的虚页号进行逻辑划分,得到相应的标记和索引字段。其中索引字段的位数取决于TLB的分组数。,由于页表存储在内存中,查表过程需付出很大的代价。(分析),PPO:页偏移地址,因为用TLBI定位PTE,因此,TLB中只需Tag,增加TLB后,CPU访问时将先在TLB中查找需要的地址变换条目,若不存在,才从内存中的页表中查询,并把相应的结果添加到TLB中,更新它的内容。,(6)包含Cache和TLB的存储层次访问,存储器系统页大小为4K,地址空间为32位,假设物理地址长度与虚拟地址相同,TLB包含64个表项,采用全相联.计算机字长32位,主存块大小为4B.Cache采用直接映像,数据区容量为64KB,包含1位有效位.,b=12a=20c=20e=14f=2,d=16g=16,H?,H=20,(7)包含TLBCache和虚存的存储层次,八、外存储器,1、磁表面存储器的工作原理:,在磁性材料上存储信息的存储方式称为磁表面存储器,磁头在磁表面存储信息的原理图,利用磁性材料剩磁的两种磁化方向(S-NN-S)和矩形磁滞回线特性来工作。写入信息时,根据写入信息的不同(0或1),向磁头线圈输入不同方向的电流并在磁性材料上形成不同磁化状态。读取信息时,保留在磁性材料上的剩磁强度表现出的不同磁化状态,在磁头的线圈中感应出不同方向的电流,由此,判断出读出的信息是1还是0。,工作原理:,2、磁性存储设备的磁记录方式,将待写入的二进信息变换成输入磁头的写电流脉冲序列,并形成不同写入电流波形的方式称为记录方式常见的磁记录方式,磁记录方式的评价:,评价指标:编码效率、自同步能力、检读分辨率、抗干扰能力、信道带宽、编码/译码电路的复杂性等a)不同的记录方式具有不同的特定,应用于不同的存储场合b)NRZ0具有较好的抗干扰性c)PM也具有较强的抗干扰性,且具有良好的自同步能力(每位中间都存在跳变),常用于磁带存储器。d)FM记录密度高,具有自同步能力,常用于单密度磁盘;e)MFM记录密度进一步提高,常用于双密度磁盘;,在纵向磁记录的装置中,信息的记录密度有一定的限制,当密度达到15.5Gbits/cm2的时候,磁化方向在温度的影响下自身可能产生不稳定的现象.,纵向磁记录方式,垂直磁记录方式,/jcheng/magweb/mchapter6.htm,3、磁盘存储器的结构与工作原理,1)磁盘数据的读写利用磁头和盘片来实现2)磁盘存储器的逻辑结构磁道、扇区、柱面,3)磁盘存储器的读写过程写过程:定位(查磁道、找扇区),根据写入的二进制数据转换成相应的磁记录方式并输入到磁头线圈,产生不同的磁化状态。读过程定位(查磁道、找扇区),根据盘面保存的不同的磁化状态在磁头的线圈中产生不同方向的电路,经放大、鉴别和整形后还原成数字信息,4)硬盘存储器的基本结构,5)硬盘的分类,IDE硬盘:通过电缆与IDE(IntegratedDriveElectronics)接口相连接。集成驱动器即控制器与盘体集成在一起的硬盘驱动器SCSI磁盘:通过电缆与SCSI(SmallComputerSystemInterface)卡相连接SATA磁盘:通过SATA(SerialAdvancedTechnologyAttachment:串行高级技术附件)连接线与SATA卡相连接光纤通道磁盘:通过光纤与主机相连接移动硬盘:通过USB口与主机相连,a.存储密度:分为道密度、位密度、面密度。道密度:沿磁盘半径方向单位长度上的磁道数。道/英寸。位密度:沿磁道方向单位长度记录的二进制位数。位/英寸。面密度:道密度与位密度的乘积。b.存储容量:一个磁盘所能存储的字节总数。c.数据传输率:磁盘在单位时间内向主机传送的字节数。(考虑缓存),4、硬盘的技术指标,S=nN(n为磁盘的转速,N为磁道容量,单位为字节)=DV(D为位密度,V为磁盘旋转的线速度)可见,提高磁盘的转速,有利于提高磁盘的数据传输率。d.平均存取时间:从发出读写操作到找到正确位置并开始读写信息所用的时间。比较与存储器的存取时间概念的不同点?该过程由两个过程组成。寻道:等待,表示磁盘速度的公式有:,寻道时间和等待时间均随机变化,一般用下

温馨提示

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

评论

0/150

提交评论