版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理任课教师:任春玉黑大信息科学与技术学院Email:7/23/20231第一章概述第二章计算机中的数据表示第三章运算方法和运算器第四章存储器及存储系统第五章指令系统第六章中央处理器第七章系统总线第八章输入输出系统第九章计算机外部设备第十章计算机系统结构目录2教学目标掌握存储器分类及分级结构掌握半导体存储器芯片基本工作原理存储器与中央处理器的连接方法掌握提高存储器性能的主要方法7/23/20233教学过程4.1存储器概述4.2主存储器4.3半导体存储器芯片4.4主存储器组织4.5存储保护7/23/202344.1存储器概述(1/3)存储器的两大功能:1、存储(写入Write)2、取出(读出Read)三项基本要求:1、大容量 2、高速度3、低成本7/23/202354.1存储器概述(2/3)概念1、基本存储单元:存储一位(bit)二进制代码的存储元件称为基本存储单元(或存储元)2、存储单元:主存中最小可编址的单位,是CPU对主存可访问操作的最小单位。3、存储体:多个存储单元按一定规则组成一个整体。4、存储器分辩率:指存储器能被区分、识别与操作的精细程度。7/23/202364.1存储器概述(3/3)存储器的特性:1、存储器是计算机中信息存储的核心。 程序存储功能由存储器来承担。2、内存是CPU与外界进行数据交换的窗口,CPU所执行的程序和所涉及的数据都由内存直接提供。CPU可以对内存进行直接读操作和写操作。3、外存可以保存大量的程序和数据。7/23/202374.1.1存储器的分类(1)按其所处的位置分为:①内存②外存(2)根据所用材料分为:①磁存储器②半导体存储器③光存储器(3)根据工作方式分为:①读写存储器(read/writestorage,RWS)②只读存储器(4)根据访问方式分为:①按地址访问存储器②按内容访问存储器(关键字)7/23/20238(5)根据寻址方式分为:①随机存储器(randomaccessmemory,RAM)②顺序存储器(sequentiallyaddressedmemory,SAM)③直接存储器(directeddressedmemory,DAM)例:磁盘(6)根据读出方式分为破坏性读出存储器(再生)和非破坏性读出存储器。7/23/20239主存的基本组成存储体驱动器译码器MAR控制电路读写电路MDR....................地址总线数据总线读写7/23/202310主存储器的组成和基本操作1.主存的基本组成⑴存储元件(存储元、存储位)能够存储一位二进制信息的物理器件。如一个双稳态半导体电路、一个CMOS晶体管或一个磁性材料的存储元等存储元是存储器中最小的存储单位。作为存储元的条件:①有两个稳定状态。即可以存储“0”、“1”。②在外界的激励下,能够进入要求的状态。即可以写入“0”、“1”。③能够识别器件当前的状态。即可以读出所存的“0”、“1”。7/23/202311⑵存储单元:由一组存储元件组成,可以同时进行读写。⑶存储体(存储阵列):把大量存储单元电路按一定形式排列起来,即构成存储体。存储体一般都排列成阵列形式,所以又称存储阵列。⑷存储单元的地址:存储体中每个存储单元被赋予的一个唯一的编号。存储单元的地址用于区别不同的存储单元。要对某一存储单元进行存取操作,必须首先给出被访问的存储单元的地址。1.主存的基本组成7/23/202312⑸存储单元的编址编址单位:存储器中可寻址的最小单位。①按字节编址:相邻的两个单元是两个字节。②按字编址:相邻的两个单元是两个字。例:一个32位字长的按字节寻址计算机,一个存储器字中包含四个可单独寻址的字节单元,当需要访问一个字,即同时访问4个字节时,可以按地址的整数边界进行存取。即每个字的编址中最低2位的二进制数必须是“00”,这样可以由地址的低两位来区分不同的字节。1.主存的基本组成7/23/202313地址00011011000001230100456710008910111100121314157/23/202314⑹地址寄存器:用于存放所要访问的存储单元的地址。要对某一单元进行存取操作,首先应通过地址总线将被访问单元地址存放到地址寄存器中。⑺地址译码与驱动电路:用于对地址寄存器中的地址进行译码,通过对应的地址选择线到存储阵列中找到所要访问的存储单元,并提供驱动信号驱动其完成指定的存取操作。⑻读写电路:根据CPU发出的读写控制命令,控制对存储单元的读写。⑼数据寄存器:暂存需要写入或读出的数据。数据寄存器是存储器与计算机其它功能部件联系的桥梁。7/23/202315⑽时序控制电路:用于接收来自CPU的读写控制信号,产生存储器操作所需的各种时序控制信号,控制存储器完成指定的操作。如果存储器采用异步控制方式,当一个存取操作完成后,该控制电路还应给出存储器操作完成(MFC)信号。7/23/202316CPU与主存之间的数据传送,可采用同步控制方式,也可采用异步控制方式。同步控制方式:数据传送在固定的时间间隔内完成。即在一个存取周期内完成。异步控制方式:数据传送的时间不固定,存储器在完成读/写操作后,需向CPU回送“存储器功能完成”信号(MFC),表示一次数据传送完成。目前多数计算机采用同步方式控制CPU与主存之间的数据传送。由于异步控制方式允许不同速度的设备进行信息交换,所以多用于CPU与外设的数据传送中。同步控制方式与异步控制方式7/23/2023172.主存和CPU的联系MDRMARCPU主存读数据总线地址总线写7/23/202318高位字节地址为字地址低位字节地址为字地址设地址线24根按字节寻址按字寻址若字长为16位按字寻址若字长为32位字地址字节地址11109876543210840字节地址字地址4523014203.主存中存储单元地址的分配224=16M8M4M7/23/2023194.1.2存储器的分级结构“大容量、高速度、低成本”如图4-2所示的存储系统,它有如下特点:①在存储器体系结构中,各层之间的信息调度由辅助硬件或软件直接完成。②存储体系结构能发挥整个存储系统的最大效能,有最佳的性能价格比。③工作原理:CPU首先访问Cache,如果Cache中没有,则存储系统通过辅助硬件,到主存储器中去找;如果主存没有CPU要访问的内容,则存储系统通过辅助硬件或软件,到辅存中去找。然后把找到的数据逐级上调。CPUCPU主存主存辅存辅存辅助软硬件Cache辅助硬件辅助硬,软件(a)两级存储器层次结构(b)三级存储器层次结构图4-2存储器层次结构7/23/2023204.2主存储器存储器的性能指标是对存储器的主要要求,也是对存储器进行设计、使用和提高时的主要依据,存储器性能指标也称为存储器参数。7/23/2023211.存储容量是指一个功能完备的存储器所能容纳的二进制信息总量。SM=W*L(位或字节)容量存储字数存储器字长若主存储器由m个并行工作的存储体构成,则主存容量为:SM=m*W*L(位或字节)例:某存储器字长16位,共有1024个存储字,则该存储器的容量为:1024*16=16384位=2048字节4.2.1主存储器技术指标7/23/202322存储容量的主要计量单位:1K=210=10241M=220=1024K=10485761G=230=1024M=1073741824容量与存储器地址线的关系1K=210需要10根地址线1M=220需要20根地址线256M=228需要28根地址线7/23/2023232.存储速度主存储器的速度可用访问时间TA、访问周期TM和存储器频宽等三个参数来描述。存取时间TA存取周期TM
存储器的访问时间读出时间写入时间
连续两次独立的存储器操作(读或写)所需的最小间隔时间
读周期写周期4.2.1主存储器技术指标7/23/202324存储器频宽Bm指连续访问存储器时,存储器所能提供的数据传送速率。Bm=m*L/TM(位/秒,字节/秒)注:m个并行工作的存储体,访问周期TM,L存储器字长4.2.1主存储器技术指标7/23/2023254.2.1主存储器技术指标3.可靠性 存储器的可靠性是指在规定时间内存储器无故障的情况,一般用平均无故障时间MTBF来衡量。 为提高存储器的可靠性,必须对存储器中存在的特殊问题,采取适当的方法:(1)对于破坏性读出的存储器:设立缓冲寄存器(2)断电后信息会丢失:备用电源的方法或采用中断的技术转储(3)动态存储:定期刷新7/23/2023264.2.1主存储器技术指标4.价格 又称成本,它是衡量经济性能的重要指标。设C是存储容量为S位的整个存储器以元计算的价格,可定义存储器成本c为:c=(C/S)元/位.衡量存储器性能还有一些其它性能指标,如体积、功耗、重量、使用环境等。7/23/2023274.2.2主存储器基本组成①贮存信息的存储体。②信息的寻址机构,即读出和写入信息的地址选择机构。这包括:地址寄存器(MAR)和地址译码器。③存储器数据寄存器MDR。④写入信息所需的能源,即写入线路、写驱动器等。⑤读出所需的能源和读出放大器,即读出线路、读驱动器和读出放大器。⑥存储器控制部件。无论是读或写操作,都需要由一系列明确规定的连续操作步序来完成,这就需要主存时序线路、时钟脉冲线路、读逻辑控制线路,写或重写逻辑控制线路以及动态存储器的定时刷新线路等,这些线路总称为存储器控制部件。7/23/2023284.2.2主存储器基本组成地址码地址寄存器MAR地址译码器存储体存储器数据寄存器MDR图4-3主存储器原理框图读命令写命令7/23/2023294.2.3主存储器基本操作存储器的基本操作:读操作写操作
7/23/202330芯片容量半导体存储芯片的基本结构译码驱动存储矩阵读写电路1K×4位16K×1位8K×8位片选线读/写控制线地址线……数据线……地址线(单向)数据线(双向)1041411387/23/202331存储芯片片选线的作用用16K×1位的存储芯片组成64K×8位的存储器32片当地址为65535时,此8片的片选有效8片16K×1位8片16K×1位8片16K×1位8片16K×1位4.27/23/2023320,015,015,70,7
读/写控制电路
地址译码器
字线015…………16×8矩阵…………07D07D位线读/写选通A3A2A1A0……2.半导体存储芯片的译码驱动方式(1)线选法(单译码)00000,00,7…0……07……D07D读/写选通7/23/202333(1)结构:(A)存储容量M=W行×b列;(B)阵列的每一行对应一个字,有一根公用的字选择线W;(C)存储器的地址不分组,只用一组地址译码器。
(2)字结构是2度存储器:只需使用具有两个功能端的基本存储电路:字线和位线(3)优点:结构简单,速度快:适用于小容量M(4)缺点:外围电路多、成本昂贵,结构不合理。RAM结构与地址译码—字结构或单译码方式7/23/202334A3A2A1A0A40,310,031,031,31
Y地址译码器
X地址译码器
32×32矩阵……A9I/OA8A7A56AY0Y31X0X31D读/写……(2)重合法(双译码)00000000000,031,00,31……I/OD0,0读7/23/202335比较采用双译码方案,对于4096个字只需128个译码驱动电路。而若采用单译码方案,4096个字将需4096个译码驱动电路。7/23/2023364.3半导体存储器芯片一、分类:按使用器件,半导体存储器分双极型半导体存储器(TTL)和MOS半导体存储器两种(1)TTL:存储速度高,集成度低,价格高,主要用于小容量的高速存储器.(2)MOS:主要用于大容量存储器。根据存储信息机构的原理不同,又分静态MOS存储器(SRAM)和动态MOS存储器(DRAM),前者利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的,后者利用MOS电容存储电荷来保存信息,使用时,需不断给电容充电才能使信息保持。二、半导体存储器优点:存储速度快,存储体积小,可靠性高;主要缺点:断电时,读写存储器不能保存信息。7/23/2023374.3.1静态MOS存储器基本存储元6管静态MOS存储元8管静态MOS存储元6管双向选择MOS存储元7/23/202338三、随机存取存储器(RAM)1.静态RAM(SRAM)(1)静态RAM基本电路A´触发器非端1T4T~触发器5TT6、行开关7TT8、列开关7TT8、一列共用A触发器原端T1~T4T5T6T7T8A´A写放大器写放大器DIN写选择读选择DOUT读放位线A位线A´列地址选择行地址选择T1~T47/23/202339A´T1
~T4T5T6T7T8A写放大器写放大器DIN写选择读选择读放位线A位线A´列地址选择行地址选择DOUT①静态RAM基本电路的读操作行选
T5、T6开4.2T7、T8开列选读放DOUTVAT6T8DOUT7/23/202340T1~T4T5T6T7T8A´ADIN位线A位线A´列地址选择行地址选择写放写放读放DOUT写选择读选择②静态RAM基本电路的写操作行选T5、T6开两个写放DIN4.2列选T7、T8开(左)
反相T5A´(右)
T8T6ADINDINT77/23/202341静态RAM缺点:管子多,速度受影响;功耗大,需保持电流。7/23/202342(2)静态RAM芯片举例①Intel2114外特性存储容量1K×4位......I/O1I/O2I/O3I/O4A0A8A9WECSCCVGNDIntel21147/23/2023432.存储器芯片举例1)Intel2114芯片Intel2114是1K×4位的静态MOS存储器芯片。采用N—MOS工艺制作,双列直插式封装。共18个引脚。A9~A0:10根地址线,用于寻址1024个存储单元I/O4~I/O1:4根双向数据线CS:片选信号线WE:读/写控制线+5V:5V电源线GND:地线7/23/202344三态门X0X63Y0Y157/23/2023452114芯片由存储体、地址缓冲器、地址译码器、读/写控制电路及三态输入输出缓冲器组成。存储体中共有4096个六管存储单元电路,排列成64×64阵列。在存储体内部的阵列结构中,存储器的读/写操作由片选信号CS与读/写控制信号WE控制。7/23/202346在1970年,Intel公司推出了世界上第一块动态RAM(DynamicRAM,DRAM)芯片,其容量为1024位,它使用一个MOS管和一个电容来存储一位二进制信息。用电容来存储信息减少了构成一个存储单位所需要的晶体管的数目。但由于电容本身不可避免地会产生漏电,因此DRAM存储器芯片需要频繁的刷新操作,但DRAM的存储密度大大提高了。动态RAM7/23/202347四管动态MOS存储元7/23/202348单管动态存储元电路7/23/202349四管存储元电路和单管存储元电路的比较四管存储元的内部元件多,集成度不高,外围电路简单,刷新时无须另加逻辑电路。单管存储元的内部元件少,集成度高,外围电路复杂。7/23/202350动态存储器的刷新集中式---正常读/写操作与刷新操作分开进行,刷新集中完成。例:2116芯片,读/写周期为500ns,则刷新128行所需时间500ns*128=64us,则2ms时间内集中用64us刷新。特点:存在一段停止读/写操作的死时间,适用于高速存储器。
7/23/202351动态存储器的刷新分散式---将一个存储系统周期分成两个时间片,分时进行正常读/写操作和刷新操作。例:读/写周期为500ns相当于延长到1000ns,每读/写128次存储器就能对128行存储元刷新一遍,刷新间隔为128us,2ms内对每个存储元刷新16遍。特点:不存在停止读/写操作的死时间,但系统运行速度降低。7/23/202352动态存储器的刷新异步式---前两种方式的结合,每隔一段时间刷新一次,保证在刷新周期内对整个存储器刷新一遍。例:2116芯片访问周期为500ns,整个芯片共128行,故每行的刷新间隔为:2ms/128=15.625us所以2ms分成128段,每段15.5us,每段内利用0.5us刷新一行。特点:死时间分散,对CPU的影响不大,不降低访问速度,控制不复杂,较实用。异步式刷新还可利用CPU不访问存储器的空闲时间进行刷新。7/23/202353动态存储器的刷新--集中式、分散式、异步式7/23/2023544.2.3半导体存储器的组成由于一块存储器芯片的容量总是有限的,因此一个存储器总是由一定数量的存储器芯片构成。要组成一个主存储器,需要考虑的问题:①如何选择芯片根据存取速度、存储容量、电源电压、功耗及成本等方面的要求进行芯片的选择。②所需的芯片数量:
7/23/202355例:用2114芯片组成32K×8位的存储器,所需2114芯片数为:③如何把许多芯片连接起来。通常存储器芯片在单元数和位数方面都与实际存储器要求有很大差距,所以需要在字方向和位方向两个方面进行扩展。7/23/2023561.位扩展当芯片的单元数满足存储器单元数的要求,但单元中的位数不满足要求时,需要进行位扩展。位扩展:只进行位数扩展(加大字长)。采用位扩展时,芯片的单元数(字数)与存储器的单元数是一致的。位扩展的连接方式:①将所有存储器芯片的地址线、片选信号线和读/写控制线均对应的并接在一起,连接到地址和控制总线的对应位上。②将各芯片的数据线单独列出,分别接到数据总线的对应位。7/23/202357例:用2114存储器芯片构成1K×8位的存储器。2114为1K×4位的芯片,现存储器要求容量为1K×8位,单元数满足,位数不满足,需要1K×8/1K×4=2片2114来构成存储器。1K×8位的存储器共需8根数据线D7~D0,两片2114各自的4根数据线分别用于连接D7~D4和D3~D0。2114本身具有10根地址线,称为片内地址线,与存储器要求的10根地址线一致,所以只要将他们并接起来即可。电路中CPU的读/写控制线(R/W)与2114的WE信号并接。MREQ为CPU的访存请求信号,作为2114的片选信号连接到CS上。7/23/2023587/23/2023592.字扩展当芯片单元中的位数满足存储器位数的要求,但芯片的单元数不满足存储器单元数要求时,需要进行字扩展。字扩展:仅是单元数(字数)扩展,而位数不变。采用字扩展时,芯片单元中的位数与存储器的数据位数是一致的。字扩展的连接方式:①将所有芯片的地址线、数据线、读/写控制线均对应地并接在一起,连接到地址、数据、控制总线的对应位上。②由片选信号区分被选芯片。片选信号:通常由高位地址经译码进行控制。高位地址:存储器总地址减去芯片内部寻址的地址得到的地址。7/23/202360例:用16K×8位的存储器芯片构成64K×8位的存储器。16K×8位的芯片,可以满足64K×8位的存储器数据位的要求,但不满足单元数的要求。需要4片16K×8位的芯片采用字扩充方式来构成存储器。64K×8位的存储器需要16位地址线A15~A0,而16K×8位的芯片的片内地址线为14根,所以用16位地址线中的低14位A13~A0进行片内寻址,高两位地址A15、A14用于选择芯片,即选片寻址。设存储器从0000H开始连续编址,则四块芯片的地址分配:第一片地址范围为:0000H~3FFFH第二片地址范围为:4000H~7FFFH第三片地址范围为:8000H~BFFFH第四片地址范围为:C000H~FFFFH7/23/202361A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFH第一片010000000000000001111111111111114000H~7FFFH第二片100000000000000010111111111111118000H~BFFFH第三片11000000000000001111111111111111C000H~FFFFH第四片片内地址片选地址7/23/2023627/23/2023633.字和位同时扩展当芯片的单元数和单元的数据位均不满足存储器的要求时需要进行字和位的同时扩展。字和位同时扩展:按位扩展和字扩展的方法分别在位方向和字方向进行扩展。字和位同时扩展的连接方式:①所有芯片的片内地址线、读/写控制线均对应地并接在一起,连接到地址和控制总线的对应位上。②同一地址区域内,不同芯片的片选信号连在一起,接到片选译码器的同一输出端;不同地址区域内的芯片的片选信号分别接到片选译码器的不同输出端。7/23/202364③不同地址区域内,同一位芯片的数据线对应地并接在一起,连接到数据总线的对应位上。不同位芯片的数据线分别连接到数据总线的不同位上。7/23/202365例1:用2114芯片组成8K×8位存储器需用16片2114芯片构成8K×8位存储器。16片芯片排成8行×2列,每行按位扩展方法连接,每列按字扩展方法连接。存储器地址线A12~A0,芯片片内地址A9~A0,高三位地址A12、A11、A10用于选片寻址。存储器数据线D7~D0,芯片数据线I/O3~I/O0,两片芯片的数据线一同构成存储器的8位数据线。7/23/202366A12A11A10A9………A2A1A0000000000000000011111111110000H~03FFH第一组001000000000000111111111110400H~07FFH第二组010000000000001011111111110800H~0BFFH第三组011000000000001111111111110C00H~0FFFH第四组100000000000010011111111111000H~13FFH第五组101000000000010111111111111400H~17FFH第六组110000000000011011111111111800H~1BFFH第七组111000000000011111111111111C00H~1FFFH第八组7/23/2023677/23/202368例:某微机系统有16根地址线,8根数据线,地址空间安排为:16K系统程序存储区,用ROM芯片,安排在地址最低区;接着留出16K的设备地址空间;其后的32K作为用户程序区,采用RAM芯片。给定芯片如下,请画出连线图,给出各存储区的地址范围。ROMD7~D0A13A0CSDE…RAMD7~D0A13A0CSRD…WR7/23/202369ROM区:16K×8位,需1片16K×8位ROM芯片RAM区:32K×8位,需2片16K×8位RAM芯片I/O区:16K×8位,主存不应使用A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFHROM区010000000000000001111111111111114000H~7FFFHI/O区100000000000000010111111111111118000H~BFFFHRAM区111000000000000001111111111111111C000H~FFFFHRAM区27/23/202370ROMA13~A0CSDERAMD7~D0A15A14CSRDWRRAMY0CSRDWR地址译码器MEMRY2Y3Y1R/W7/23/2023717/23/202372判断以下图为哪种译码法?7/23/202373A0~A10CSWED7~D0A0~A10CSWED7~D0A0~A10CSWED7~D0A0~A10CSWED7~D0A11~A15A0~A10IO/MWRD7~D05:32译码器CPU……3130106116②6116①6116③6116④23全译码法线选法7/23/202374A0~A10CSWED7~D0A0~A10CSWED7~D0A0~A10CSWED7~D0A0~A10CSWED7~D0A14~A15A0~A10IO/MD7~D02:4译码器CPU106116②6116①6116③6116④23WR部分译码法7/23/202375A0~A10CSWED7~D0A0~A10CSWED7~D0A0~A10CSWED7~D0A0~A10CSWED7~D0A11A0~A10IO/MD7~D0CPU6116②6116①6116③6116④A12A13A14WR线选法7/23/2023764.4.2高速缓冲存储器(Cache)Cache概念:①CPU与主存储器之间的一种高速缓冲装置。②Cache-主存层次结构:由硬件变换地址和控制调度。从结构上提高存储器速度的关键技术是层次化存储系统。
7/23/2023777/23/202378引入的理论依据7/23/202379Cache的特点:①位于CPU与主存之间,是存储器层次结构中级别最高的一级;②容量比主存小,目前一般有数KB到数MB;③速度比主存快5-10倍,通常由存储速度高的双极型三极管或SRAM组成;④其容量是主存的部分副本;⑤其用途可用来存放指令,也可用来存放数据;⑥快存的功能全部由硬件实现,并对程序员透明。7/23/202380Cache的基本组成Cache存储器Cache控制器地址变换逻辑替换逻辑组成。7/23/202381数据总线Cache替换机构可装进?命中?主存Cache地址映象变换机构主存访问主存替换CacheCache存储体块号块内地址直接通路访问主存装入CacheNNYY块号块内地址CPU主存地址地址总线Cache地址3.Cache的基本结构Cache替换机构由CPU完成
Cache存储体主存Cache地址映象变换机构
7/23/202382地位与作用程序局部性原理:CPU在一个较短的时间间隔内,由程序产生的地址往往簇聚在一个很小的区域内。如果把这一局部区域的程序和数据从主存复制到Cache中,使CPU能够高速地在Cache中读取指令和数据,就可大大提高CPU的访存速度。7/23/202383结构与工作原理因为CPU以主存地址访问Cache,所以必须把访存地址变换为Cache的实际地址。地址变换取决于地址映像方式,也即主存信息按什么规则装入Cache。7/23/2023844.4.2高速缓冲存储器Cache的工作原理1、Cache以块为单位进行操作2、当CPU发出访内操作请求后,首先由Cache控制器判断当前请求的字是否在Cache中,若在,叫命中,否则,不命中.7/23/2023853、若命中:若是“读”请求,则直接对Cache读,与主存无关若是“写”请求:Cache单元与主存单元同时写(Writethrough写)只更新Cache单元并加标记,移出时修改主存(写回Copyback)只写入主存,并在Cache中加标记,下次从MM读出,保证正确。
4、未命中时:若是“读”请求,则从主存读出所需字送CPU,且把含该字的一块送Cache,称“装入通过”,若Cache已满,置换算法;若是“写”请求,直接写入主存。7/23/2023864.Cache的读写操作
访问Cache取出信息送CPU
访问主存取出信息送CPU将新的主存块调入Cache中执行替换算法腾出空位
结束命中?Cache满?CPU发出访问地址
开始YNYN写Cache和主存的一致性读7/23/2023875.Cache的改进(1)增加Cache的级数片载(片内)Cache片外Cache(2)统一缓存和分开缓存指令Cache数据Cache与主存结构有关与指令执行的控制方式有关是否流水Pentium8K指令Cache8K数据CachePowerPC62032K指令Cache32K数据Cache7/23/2023884.4.2高速缓冲存储器Cache替换算法替换算法的目标是使Cache获得最高的命中率,就是让Cache中总是保持着使用频率高的数据,从而使CPU访问Cache的成功率最高,其算法如下:①先进先出法(FIFO),替换最早进入Cache中的信息块,由于只考虑了历史情况,没有反映信息的使用情况,所以命中率不高。其原因是最先进来的信息块可能是经常用的块,反而被替换掉了。
7/23/202389②近期最少使用算法(LRU),替换近期使用最少的信息块。这就要求随时记录Cache中各块的使用情况,以便确定哪个字块是最近期最少使用的。由于近期使用少,未必是将来使用最少的,所以,这种算法的命中率比FIFO有所提高,但并不最理想。③优化替换算法(OPT)。这是一种理想算法,但实现起来难度大。因此,只作为衡量其它算法的标准,这种算法需让程序运行两次,第一次分析地址流,第二次才真正运行程序。7/23/2023904.4.2高速缓冲存储器Cache存储器的地址映象1、概念(1)地址映象:为了把信息放到Cache中,必须应用某种函数把主存地址映象到Cache中定位,称作地址映象。(2)地址变换:在信息按这种映象关系装入Cache后,执行程序时,应将主存地址变换成Cache地址。这个变换过程叫作地址变换。地址映象和变换是密切相关的。2、Cache的地址映象方式有:直接映象全相联映象组相联映象7/23/202391
字块2m-1
字块2c+1
字块2c+1-1
字块2c
+1
字块2c
字块2c-1
字块1字块0………主存储体字块1
标记字块0
标记字块2c-1标记Cache存储体t位01C-1…字块字块地址主存字块标记t位c
位b
位主存地址比较器(t位)=≠不命中有效位=1?*m位Cache内地址否是命中二、Cache主存的地址映象1.直接映象每个缓存块i可以和若干个主存块对应每个主存块j只能和一个缓存块对应i=jmodC
字块2c+1
字块2c
字块0
字块07/23/202392某一主存块只能映射到Cache的特定行.做法是将主存分成与cache同样大小的区,每个区的第0块只能调入cache第0块,每个区的第1块只能调入cache第1块,依此类推。多对一映射7/23/2023934.4.2高速缓冲存储器优点:硬件简单,成本低;
缺点:容易产生冲突,易"颠簸",不能有效利用Cache空间。7/23/202394例:访问存储器地址序列为22、26、22、26、16、4、16、18,采用直接映射方式时,Cache行分配情况(见图)。7/23/2023952.全相联映象主存中的任一块可以映象到缓存中的任一块字块2m-1字块2c-1字块1
字块0……字块2c-1字块1字块0…标记标记标记主存字块标记
字块内地址主存地址m=t+c
位b位m
=
t+cCache存储器主存储器
字块0多对多映射7/23/2023967/23/2023974.4.2高速缓冲存储器优点:灵活缺点访问速度太慢,这是因为要与所有标记全部比较一遍,才能确定是否命中;成本太高7/23/202398例:设访问存储器地址的块号序列为22、26、22、26、16、4、16、18,采用全相联映射方式时,Cache行分配情况如下图:7/23/202399字块2m-1字块2c-r+1
字块2c-r+
1字块2c-r字块2c-r
-
字块1字块0………字块3标记字块1标记字块2c-1标记字块2标记字块0标记字块2c-2标记…………字块内地址组地址主存字块标记s=t+r位q=
c-r位b位组012c-r-1主存地址Cache主存储器m位共Q组,每组内两块(r=1)1某一主存块j按模Q映射到缓存的第i组中的任一块i=jmodQ直接映象全相联映象3.组相联映象
字块0
字块1
字块0
字块2c-r
字块2c-r+17/23/20231007/23/2023101优点:结合上面两种的优点。
①因为组内行数较少,比较器容易实现;
②组内又有灵活性,冲突大大减少。7/23/2023102例:设Cache有8个行,分成2个组,设访问存储器地址的块号序列为22、26、22、26、16、4、16、18,采用组相联映射方式时,Cache行分配情况(见图)。7/23/2023103小结某一主存块只能固定映射到某一缓存块直接全相联组相联某一主存块能映射到任一缓存块某一主存块能映射到某一缓存组中的任一块不灵活成本高7/23/2023104cache的容量与命中率的关系7/23/2023105替换策略当Cache写满时,有新的内容写入,就要替换老的内容,正确选择替换策略与命中率直接有关。较为简单的替换算法有FIFO,但其效果不是很好,不符合程序的访问的局部性原则,经常出现所谓的"颠簸"现象。
7/23/2023106常用的替换算法为:
1.不经常使用(LFU)算法:
·方法:每行设置一个计数器:每访问一次加"1";替换后清"0"。
需替换时,比较各计数器值,将最小值的行换出。
·特点:这种算法将计数周期限定在对这些特定行两次替换之间的时间间隔内,因而不能严格反映近期访问情况。7/23/20231072.近期最少使用(LRU)算法:·方法:每行设置一个计数器,每命中一次清“0”,其它计数器加“1”。
需替换时,比较各计数器值,将最大值的行换出。·特点:合理,符合程序访问的局部性理论。
是目前使用较多的一种策略,能够有效的提高命中率。
7/23/2023108例:在全相联方式下,访问存储器地址序列为2、11、2、9、7、6、4、3时,采用
LRU方式时,Cache内容变化情况(见图)7/23/20231093.随机替换:
硬件上容易实现并且速度快,虽然表面看起来是盲目替换,但实际表明,其性能稍逊于前两种。7/23/2023110Cache的更新策略Cache的更新策略即写操作策略。
·目的:维护Cache、主存数据的一致性。7/23/20231113.写一次法:
上述两种方法的结合,主要用于多个Cache数据不一致的维护,具体策略可参考体系结构的相关内容。
7/23/20231124.4.3多体交叉存储器如果主存储体有物理上互相分隔的若干个模块构成,给每个模块配置MAR、MDR和读写电路,使每个模块成为能独立进行CPU读写操作的存储器。几个模块可同时执行读或写操作,提高整个主存的平均存取时间。称为多模块存储器。7/23/20231134.4.3多体交叉存储器(1/4)方案一:顺序方式(a)主存地址被分成高n位和低m位,高位(n)表示模块号,低位(m位)表示块内地址;(b)在一个模块内,程序是从低位地址连续存放;(c)对连续单元存取,一般仅对一个模块操作(d)特点:多模块并行工作易扩充容量故障局部性。7/23/20231144.4.3多体交叉存储器(2/4)数据总线
模块i
模块2n-1
模块0模块号块内地址MARm位n位图4-26并行多模块存储器结构框图............7/23/20231154.4.3多体交叉存储器(3/4)方案二:交叉方式(a)主存地址被分成高n位和低m位,低位(m位)表示模块号,高位(n)表示块内地址;(b)各模块间采用多模块交叉编址;(c)对连续单元存取,则多个模块并行工作(d)特点:多模块并行工作,速度快不易扩展故障全局性。7/23/20231164.4.3多体交叉存储器(4/4)
模块i
模块2n-1
模块0块内行地址模块号MARn位m位图4-27多模块交叉存取存储器结构框图............数据总线7/23/20231174.4.4虚拟存储器虚拟存储器是一个逻辑模型,并不是一个实际的物理存储器。7/23/20231184.4.4虚拟存储器(1/13)虚拟存储器与一般的主存--辅存系统的本质区别:(1)虚拟存储器允许人们使用比主存容量大得多的地址空间来访问主存,非虚拟存储器最多只允许人们使用主存的整个空间,一般只允许使用操作系统分配的主存中的某一部分空间。(2)虚拟存储器每次访问主存时必须进行虚、实变换,而非虚拟存储器系统则不必变换。7/23/2023119虚拟存储器与Cache比较:(1)主存/Cache的访问“时间比”较小,典型的为10:1,每次传送的页较小;辅存/主存的访问“时间比”较大,典型的为100:1—1000:1,每次传送的页较大;(2)Cache未命中期间,处理器不改变任务,仍被等待从内存取数的进程占用;7/23/20231204.4.4虚拟存储器(2/13)虚似存储器的功能与特点①虚拟存储器是“主存-外存”层次;②使计算机的存取容量达到辅存的容量;③使计算机存储速度接近主存的速度;④使计算机整个存储系统的成本接近辅存的成本。7/23/2023121主存外存层次的基本信息传送单位可采用三种不同的方案:段、页或段页,这就形成了页式虚拟存储器段式虚拟存储器段页式虚拟存储器。7/23/20231224.4.4虚拟存储器(3/13)1、页式虚拟存储器概念 以页为信息传送单位的虚拟存储器,即在这种虚拟存储器中,不论是虚拟空间,还是主存空间都被分成大小相等的页,称为页面。(A)逻辑页:虚存空间,虚拟地址分为两个字段:高位字段为逻辑页号,低位字段为页内行地址;(B)物理页:主存空间,实存地址也分为两个字段:高位字段为物理页号,低位字段为页内行地址 页面大小都是相等的,所以页内行地址(位数)是相等的。7/23/20231234.4基本分页分配方式针对分区分配的不足,提出把作业离散分配到内存中的思想。静态分页管理动态分页管理7/23/20231244.4.1静态分页管理作业地址空间划分成连续的大小相同的页面内存划分成连续的大小相等的块(也称为页框)页面的大小与内存块的大小完全相同作业进入内存时其不同的页面对应于内存中不同的块,连续页面可以对应不连续的块。1.原理7/23/20231252.逻辑地址4.4.1静态分页管理页面号,页号的范围还取决于逻辑地址的位数。页内位移,页内位移范围与内存块的大小有关例:假定逻辑地址为32位,内存块的大小为4KB。4KB的页内位移变化范围为0~4095字节,这需要12位来进行描述(212=4×1024);剩下的20位就是页面号的范围0~1048575(220-1)。由此可见内存块的划分有一定的规则,其大小只能是2N。分页管理的逻辑地址实际上是线性变化的。用户编程时不需要确定逻辑地址的页面号和页内位移,只有逻辑地址空间进入物理地址空间后,页面号和页内位移才通过计算电路来划分。对于用户而言,逻辑地址就是一个受地址寄存器位数限制的连续变化的地址范围,可以根据需要来确定页面大小和页面号的范围,因此我们称分页管理的逻辑地址空间为线性空间。7/23/20231263.数据结构4.4.1静态分页管理页表:页表用来说明作业页面号与内存块号的对应关系,内容包括页面号、内存块号。页表寄存器:页表寄存器用来存放作业所对应的页表的起始地址。内存分块表:内存分块表内容为块号、块使用状态(已使用或未使用)。作业表:作业表内容为作业号、页表起始地址。7/23/20231274.地址映射4.4.1静态分页管理页表起始地址页表中页号为P的表目地址:(页表寄存器)+表目长度×P获得对应的内存块号P’获得绝对地址:P’×页框长度+d7/23/20231285.分配与释放4.4.1静态分页管理7/23/20231296.存储保护与共享4.4.1静态分页管理存储保护:用页表寄存器来记录页表的起始地址和页表长度,它相当于界地址寄存器的功能作业A、作业B、作业C共享一个内存块的情况无法真正实现共享!7/23/20231307.存储区整理表面看来不存在内存空间的浪费。但存在页内碎片。内存分块越大,页内碎片也越大。如何减小页内碎片?4.4.1静态分页管理7/23/20231318.静态分页管理的优缺点(1)管理简单(2)每访问一次内存数据需要经过二次寻址。(3)解决了碎片问题。无须内存碎片整理。(4)无法实现共享。(5)作业大小受内存可用页面数的限制。——如果想在内存中运行较大的作业,则必须利用内存以外的存储空间。4.4.1静态分页管理7/23/20231324.4.2动态分页管理1.原理与静态分页管理不同:——按需分配。将需要运行的页面存放于内存,暂时不需要运行的页面存放于辅存,当需要运行存放于辅存上的页面时,再将对应的页面调入内存。注意页表变化7/23/20231334.分配与淘汰算法——动态分配7/23/20231344.分配与淘汰算法——淘汰算法4.4.2动态分页管理衡量淘汰算法依据:——好的淘汰算法应该有较低的缺页率和淘汰率。7/23/20231354.分配与淘汰算法——淘汰算法选择在最远的将来才被访问的页面淘汰。
谁是最远的、将来才被访问的页面?选择最早进入内存的页面淘汰
这种方法包含一个假定:最早进入内存的页面就是目前最不会被使用的页面。假定不成立?——系统抖动!7/23/20231364.分配与淘汰算法——淘汰算法选择最近一段时间内最长时间未被使用的页面淘汰该算法的假定:长时间未使用的页面不会马上被使用。这正好符合内存局部性原理(内存中某个位置现在被访问,很快将再次被访问;某个位置现在被访问,其邻近位置也将被访问。)问题:需要确定一个比较时间段来反映哪一个页面长期未被使用,时间段过长时该算法将变为先进先出算法,时间段过短又会使系统频繁地记录访问次数并进行比较,从而增加系统开销。17/23/2023137(4)最近未使用算法(NUR)选择页面选择指针遇到的最近未被访问的页面淘汰。简化的方法是:页面选择指针下移,只要遇到刚才未使用的页面就可以淘汰。7/23/20231385.虚拟存储器动态分页技术实现了虚拟存储器。 虚拟要素?4.4.2动态分页管理7/23/20231396.加速寻址二次寻址?一次寻址?4.4.2动态分页管理7/23/20231407.分页管理的优缺点(1)管理简单。(2)支持虚拟存储器。(3)无法实现共享。——作业空间按逻辑意义分割!4.4.2动态分页管理7/23/20231414.5分段与段页式管理分段管理段页式管理7/23/20231424.5.1分段管理作业地址空间按逻辑意义划分成段,每段都有其对应的段号和段长,对分段数量和分段的长度没有限制。内存空间采用多重动态分区的形式,分区的长度和位置没有限制。段表将作业中的段对应于内存中的分区。有缺段机制。1.原理7/23/20231434.5.1分段管理2.逻辑地址段号S段内位移d每个段的段内位移的范围是不同的。 分页管理中,逻辑地址是线性地址。 分段管理中,段号S和段内位移d不能形成一个线性地址,因为它实际上是代表着段长和段内位移两个变量。 由于这两个变量没有特定的限制范围而无法用一个变量来替代,因此分段管理的逻辑地址是二维地址,分段管理的逻辑地址空间是二维空间。7/23/20231444.5.1分段管理3.数据结构段表段表寄存器内存分块表Or 已使用分区表 自由分区表 自由分区块链作业表7/23/20231454.5.1分段管理4.地址映射段表中段号为S的表目地址=(段表寄存器)+表目长度×S段表起始地址=(段表寄存器)对应的内存分区地址S′绝对地址=S′+d7/23/20231464.5.1分段管理5.分配与释放首先为作业分配段表空间;分配主程序段: 按一定的分配算法(内存空间采用动态分区形式,因此分配算法可采用最先适应算法、最佳适应算法或者最坏适应算法。)填写段表: 填入对应段表表目中该段的内存地址,其他暂时不在内存的段,缺段状态置为1,在需要运行时再调入。7/23/20231476.连接当作业空间逻辑分段后,用户是靠调用来实现段与段之间的关系,而存储管理将其实现称为连接——7/23/2023148连接也可以分为静态连接与动态连接。6.连接4.5.1分段管理静态连接发生在作业刚装入内存还没有被执行前,——一次完成所有连接。动态连接发生在执行过程中,每当作业段与段之间产生调用要求时才进行连接。问题:作业段必须一次全部调入内存,限制了作业的大小,对内存的容量要求高。作业中的各段没有必要一次全部调入,这极大的提高了内存的利用率。分段管理采用的是动态连接方式。7/23/20231497.共享4.5.1分段管理7/23/20231508.存储保护 在段表中既有段的起始位置也有段的长度,——实现作业区域的界限管理。 在段表中增加一个访问权限项,——实现访问授权控制。9.虚拟存储器 缺段中断机制+换进、换出,——实现了虚拟存储器。10.存储区整理 动态分区形式导致内存碎片,——可以使用紧缩的方法。4.5.1分段管理7/23/202315111.分段管理的特点(1)易于实现共享。(2)实现了动态连接。(3)实现了虚拟存储器。(4)段长受内存容量的限制。(5)内存管理复杂。4.5.1分段管理有没有同时利用分页管理和分段管理的优点,克服它们的弱点管理方法?7/23/20231524.5.2段页式管理作业地址空间分段再分页内存分块(页框)对应页表是否在内存对应页面是否在内存7/23/20231534.5.2段页式管理2.逻辑地址段号页号页内位移一维地址二维地址7/23/20231544.5.2段页式管理3.数据结构段表页表段表寄存器存储分块表作业表7/23/20231554.5.2段页式管理4.地址映射7/23/20231564.5.2段页式管理5.分配与释放段表分配
页表分配
内存块分配淘汰算法7/23/20231574.5.2段页式管理6.连接与共享连接——页表动态连接(段连接)共享——同分段管理的共享7.存储保护同分段管理的存储保护8.虚拟存储器缺段中断+缺页中断+淘汰算法7/23/20231584.5.2段页式管理9.存储区整理只存在页内碎片10.快速寻址使用高速存储器来存放常用页面的页表,页表内容为:段号、页号和块号。7/23/2023159各种存储管理方案比较7/23/20231604.4.4虚拟存储器(4/13)1、页式虚拟存储器页表页表是记录虚页与实页对照关系的表,从虚存地址到主存实地址的变换就是由存放在主存的页表来实现的,在页表中,对应每一个虚存逻辑页号有一个表目,表目内容至少要包含该逻辑页所在的主存页面地址(物理页号),用它作为主存地址的高字段,与虚存地址的页内行地址字段相拼接,就产生了完整的实主存地址,据此访问主存.7/23/20231614.4.4虚拟存储器(5/13)1、页式虚拟存储器工作原理一般方法(A)CPU提供虚地址:逻辑地址+页内地址(B)访问页表:页表基址寄存器+逻辑页号(C)查表。若页面命中:主存地址:物理页号+页内地址若未命中:启动I/O系统,从外存调入主存。改进快表+慢表方法:快表由硬件组成,只是慢表的小副本。查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地把找到的对应的物理页号送入主存地址寄存器,并使慢表的查找作废。如果在快表中查不到,那就要多一个访问主存的时间查慢表,从中查到物理页号送入实存地址寄存器,同时,将此逻辑页号和对应的物理页号送入快表,替换快表中应该移掉的内容。优点:管理方便,空间利用率高缺点:页的处理,保护,共享等不方便。7/23/20231624.4.4虚拟存储器(6/13)页表基地址页表基址寄存器逻辑页号(虚页号)页内行地址CPU提供的虚存地址控制位实页号物理页号页内行地址图4-30页式虚拟存贮器的虚-实地址变换页表(在主存中)实存地址7/23/20231634.4.4虚拟存储器(7/13)2、段式虚拟存储器段式虚拟存储器是以程序的逻辑结构所形成的段(如过程,子程度等)作为主存空间分配单位的虚拟存储管理方式,由于各段的长度因程序而异,虚拟地址由段号和段内地址组成。为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年硕士(教育)考前冲刺练习题附完整答案详解【历年真题】
- 上海上海市疾病预防控制中心(上海市预防医学科学院)2025年第二批初级岗位招聘笔试历年参考题库附带答案详解(5卷)
- 2026青海省交控建设工程集团有限公司校园引才总笔试历年参考题库附带答案详解
- 2026福建泉州市晋江市市政工程建设有限公司权属公司常态化招聘项目制工作人员最终及综合名次笔试历年参考题库附带答案详解
- 2025年注册岩土工程师之《岩土基础知识》考前冲刺测试卷包及答案详解(夺冠系列)
- 2026中国人民财产保险招聘车险续保专员20人笔试历年参考题库附带答案详解
- 2025重庆发展投资有限公司总法律顾问公开招聘笔试历年参考题库附带答案详解
- 供应链管理优化与风险管理指南
- 2026上半年上海市普陀区属国有企业招聘37人笔试备考题库及答案解析
- 家居建材行业销售技巧指南(标准版)
- 2025-2026学年上海市杨浦区八年级(上)期末英语试卷
- 抖音投流合作协议合同
- 烟草配送员规范管理制度
- 施工项目成本考核课件
- DB32∕T 5209.1-2025 智慧港口建设技术规范 第1部分:干散货码头
- T-CNLIC 0199-2025 穿戴甲标准规范
- 财会人员防范电信诈骗
- 中铁十二局招聘笔试题库2025
- 养老护理员(三级)资格理论考试题库(附答案)
- 2025年高级执法资格考试试题及答案
- 顺丰物流配送流程信息系统优化案例
评论
0/150
提交评论