1、计算机组成原理第四章2一、存储器分类一、存储器分类 1. 按存储介质分类按存储介质分类 存储介质是指能寄存存储介质是指能寄存“0”、“1”两种代码并能两种代码并能区别两种状态的物质或元器件。区别两种状态的物质或元器件。3(1) 半导体存储器半导体存储器(2) 磁表面磁表面 存储器存储器(3) 磁芯存储器磁芯存储器(4) 光盘存储器光盘存储器易失易失TTL 、MOS磁头、载磁体磁头、载磁体硬磁材料、环状元件硬磁材料、环状元件 激光在磁光材料上进行激光在磁光材料上进行读写操作。读写操作。非非易易失失 体积小、功耗低、存取时间短体积小、功耗低、存取时间短 磁盘、磁带磁盘、磁带4567(1) 存取时间
2、与物理地址无关(随机访问)存取时间与物理地址无关(随机访问) 顺序存取存储器(串行)顺序存取存储器(串行) 磁带磁带2. 按存取方式分类按存取方式分类 (2) 存取时间与物理地址有关(串行访问)存取时间与物理地址有关(串行访问) 随机存储器随机存储器 只读存储器只读存储器 直接存取存储器直接存取存储器 先直接后串行先直接后串行 磁盘磁盘在程序的执行过程中在程序的执行过程中 可可 读读 可可 写写在程序的执行过程中在程序的执行过程中 只读只读89磁盘、磁盘、 磁带磁带 、光盘、光盘 高速缓冲存储器(高速缓冲存储器(Cache)Flash Memory存存储储器器主存储器主存储器辅助存储器辅助存储
3、器MROMPROMEPROMEEPROMRAMROM静态静态 RAM动态动态 RAM3. 按在计算机中的作用分类按在计算机中的作用分类10高高低低小小大大快快慢慢辅存辅存寄存器寄存器缓存缓存主存主存磁盘磁盘光盘光盘磁带磁带光盘光盘磁带磁带速度速度容量容量 价格价格 位位1. 存储器三个主要特性的关系存储器三个主要特性的关系 二、存储器的层次结构二、存储器的层次结构CPUCPU主机主机11缓存缓存CPU主存主存辅存辅存2. 缓存缓存 主存层次和主存主存层次和主存 辅存层次辅存层次10 ns20 ns200 nsms 缓存缓存-主存层次主要解决主存层次主要解决CPU和主存速度不匹配的问题,和主存速
4、度不匹配的问题,主存和缓存之间的数据调用是由硬件自动完成的。主存和缓存之间的数据调用是由硬件自动完成的。 主存主存-辅存层次主要解决存储系统的容量问题辅存层次主要解决存储系统的容量问题 。主存和辅存之间的数据调用是由硬件和操作系统共同完成。主存和辅存之间的数据调用是由硬件和操作系统共同完成。12缓存缓存主存主存辅存辅存主存主存虚拟存储器虚拟存储器虚地址虚地址逻辑地址逻辑地址实地址实地址物理地址物理地址主存储器主存储器(速度)(速度)(容量)(容量)1) 指令地址码访问的地址为虚地址或逻辑地址。指令地址码访问的地址为虚地址或逻辑地址。2) 程序在执行过程中真正能访问到的地址为物理地址。程序在执行
5、过程中真正能访问到的地址为物理地址。13一、概述一、概述1. 主存的基本组成主存的基本组成存储体存储体驱动器驱动器译码器译码器MAR控制电路控制电路读读写写电电路路MDR.地址总线地址总线数据总线数据总线读读写写142. 主存和主存和 CPU 的联系的联系MDRMARCPU主主 存存读读数据总线数据总线地址总线地址总线写写15 高位字节高位字节 地址为字地址地址为字地址 低位字节低位字节 地址为字地址地址为字地址字地址字地址字节地址字节地址11109876543210840字节地址字节地址字地址字地址4523014203. 主存中存储单元地址的分配主存中存储单元地址的分配低地址存高字节低地址存
6、高字节(大端模式)大端模式)低地址存低字节低地址存低字节(小端模式)(小端模式)16 计算机系统可以按字(存储字长)寻址,也计算机系统可以按字(存储字长)寻址,也可以按字节寻址。可以按字节寻址。 不同机器存储字长不同,存储字长取不同机器存储字长不同,存储字长取8的倍数。的倍数。设地址线设地址线 24 根根按按 字节字节 寻址寻址按按 字字 寻址寻址若字长为若字长为 16 位位按按 字字 寻址寻址若字长为若字长为 32 位位224 = 16 M8 M4 M17(2) 存储速度存储速度4. 主存的技术指标主存的技术指标(1) 存储容量存储容量 存放二进制代码的总数量存放二进制代码的总数量 存储器的
7、存储器的 访问时间访问时间 存取时间存取时间 指启动一次存储器操作,到完成该操作所需要指启动一次存储器操作,到完成该操作所需要的全部时间。的全部时间。 1) 读出时间指从存储器接收到有效地址,到产生有效读出时间指从存储器接收到有效地址,到产生有效输出所需要的全部时间。输出所需要的全部时间。 2) 写入时间是从存储器接收到有效地址开始,到数据写入时间是从存储器接收到有效地址开始,到数据写入被选中单元为止所需要的时间。写入被选中单元为止所需要的时间。18(3) 存储器的带宽存储器的带宽 连续两次独立的存储器操作连续两次独立的存储器操作(读或写)所需的(读或写)所需的 最小间隔时间最小间隔时间 位位
8、/秒秒 存取周期存取周期 单位时间内存储器存取的信息量。单位时间内存储器存取的信息量。19芯片容量芯片容量二、半导体存储芯片简介二、半导体存储芯片简介1. 半导体存储芯片的基本结构半导体存储芯片的基本结构译译码码驱驱动动存存储储矩矩阵阵读读写写电电路路1K 4位位16K 1位位8K 8位位片选线片选线读读/写控制线写控制线地地址址线线数数据据线线地址线地址线(单向)(单向)数据线数据线(双向)(双向)10414113820l 1) 译码驱动电路:把总线送来的地址信号译码驱动电路:把总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读翻译成对应存储单元的选择信号,该信号在读写电路的配合下完
9、成对备选中单元的读写电路的配合下完成对备选中单元的读/写操写操作。作。l 2) 读写电路:读写放大器和写入电路读写电路:读写放大器和写入电路l 3) 控制线:读写控制线与片选线两种。控制线:读写控制线与片选线两种。l 存储芯片通过地址总线、数据总线和控制总存储芯片通过地址总线、数据总线和控制总线与外部连接。线与外部连接。210,015,015,70,7 读读/写控制电路写控制电路 地地址址译译码码器器 字线字线015168矩阵矩阵07D07D 位线位线 读读 / 写选通写选通A3A2A1A02. 半导体存储芯片的译码驱动方式半导体存储芯片的译码驱动方式(1) 线选法线选法 (168存储芯片)存
10、储芯片)00000,00,7007D07D 读读 / 写选通写选通22A3A2A1A0A40,310,031,031,31 Y 地址译码器地址译码器 X地地址址译译码码器器 3232 矩阵矩阵A9I/OA8A7A56AY0Y31X0X31D读读/写写(2) 重合法重合法 (1K1位)位)00000000000,00,31I/OD0,0读读23 静态静态RAM用触发器工作原理存储信息,信息用触发器工作原理存储信息,信息读出后,仍保持其原状态,不需要再生。读出后,仍保持其原状态,不需要再生。 电源掉电时,原存储信息丢失,故属于易失性电源掉电时,原存储信息丢失,故属于易失性半导体存储器。半导体存储器
11、。 基本单元单元由基本单元单元由6个个MOS管组成。管组成。 三、随机存取存储器三、随机存取存储器 ( RAM ) 1. 静态静态 RAM (SRAM) 24 (1) 静态静态 RAM 基本电路基本电路A 触发器非端触发器非端1T4T触发器触发器5TT6、行开关行开关7TT8、列开关列开关7TT8、一列共用一列共用A 触发器原端触发器原端T1 T4T5T6T7T8A A写放大器写放大器写放大器写放大器DIN写选择写选择读选择读选择DOUT读放读放位线位线A位线位线A 列地址选择列地址选择行地址选择行地址选择T1 T425 (2) 静态静态 RAM 芯片举例芯片举例存储容量存储容量1 1K K4
12、 4位位.I/O1I/O2I/O3I/O4A0A8A9WECSCCVGNDIntel 211426 2. 动态动态 RAM ( DRAM ) 1) 动态动态RAM基本单元电路有三管式和单管基本单元电路有三管式和单管式。主要由式。主要由MOS管和电容组成。管和电容组成。 2) 利用电容存储电荷的原理来寄存信息。利用电容存储电荷的原理来寄存信息。 3) 电容电荷一般只能维持电容电荷一般只能维持12ms,电源不,电源不掉电,信息也丢失。掉电,信息也丢失。 4) 需要对存储单元进行动态再生和刷新。需要对存储单元进行动态再生和刷新。 5)与静态)与静态RAM比,集成度高,功耗低。比,集成度高,功耗低。2
13、7DD预充电信号预充电信号读选择线读选择线写数据线写数据线写选择线写选择线读数据线读数据线VCgT4T3T2T11 (1) 动态动态 RAM 基本单元电路基本单元电路读出与原存信息相反读出与原存信息相反读出时数据线有电流读出时数据线有电流 为为 “1”数据线数据线CsT字线字线DDV0 10 11 0写入与输入信息相同写入与输入信息相同写入时写入时CS充电充电 为为 “1” 放电放电 为为 “0”T3T2T1T无电流无电流有电流有电流28 (2) 动态动态 RAM 刷新刷新 1) 刷新的过程就是将原存信息读出,再由刷刷新的过程就是将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。新
14、放大器形成原信息并重新写入的再生过程。 2)动态)动态RAM存储单元内容长时间不读写会存储单元内容长时间不读写会慢慢消失,必须定时刷新,一般为慢慢消失,必须定时刷新,一般为2ms刷新一刷新一次,称为刷新周期。次,称为刷新周期。 3)刷新按行进行。)刷新按行进行。29 (3) 动态动态 RAM 刷新刷新 刷新与行地址有关刷新与行地址有关 集中刷新集中刷新 (存取周期为存取周期为0.5s)“死时间率死时间率” 为为 128/4000 100% = 3.2%“死区死区” 为为 0.5 s 128 = 64 s周期序号周期序号地址序号地址序号tc0123871 387201tctctctc3999V
15、W01127读读/写或维持写或维持刷新刷新读读/写或维持写或维持3872个周期个周期 (1936)128个周期个周期 ( 64)刷新时间间隔刷新时间间隔 (2ms)刷新序号刷新序号sstcXtcY 以以 128 128 矩阵矩阵30t tC C = = t tM M + + t tR R读写读写 刷新刷新无无 “死区死区” 分散刷新分散刷新(存取周期为存取周期为1s)(存取周期为存取周期为 0.5 s + 0.5 s)W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔刷新间隔 128 个读写周期个读写周期以以 128 128 矩阵为例矩阵为例31 异
16、步刷新异步刷新对于对于 128 128 的存储芯片的存储芯片(存取周期为存取周期为 0.5s)将刷新安排在指令译码阶段,不会出现将刷新安排在指令译码阶段,不会出现 “死区死区”“死区死区” 为为 0.5 s若每隔若每隔 15.6 s 刷新一行刷新一行而且每行每隔而且每行每隔 2 ms 刷新一次刷新一次若每隔若每隔 2 ms 集中刷新一次集中刷新一次“死区死区” 为为 64 s32 3. 动态动态 RAM 和静态和静态 RAM 的比较的比较DRAMSRAM存储原理存储原理集成度集成度芯片引脚芯片引脚功耗功耗价格价格速度速度刷新刷新电容电容触发器触发器高高低低少少多多小小大大低低高高慢慢快快有有无
17、无主存主存缓存缓存33DDR=Double Data Rate双倍速率同步双倍速率同步动态随机存动态随机存储器储器34 (2) 静态静态 RAM 芯片举例芯片举例存储容量存储容量1 1K K4 4位位.I/O1I/O2I/O3I/O4A0A8A9WECSCCVGNDIntel 211435 四、只读存储器(四、只读存储器(ROM) 1. 掩膜掩膜 ROM ( MROM ) 行列选择线交叉处有行列选择线交叉处有 MOS 管为管为“1”。行列选择线交叉处无行列选择线交叉处无 MOS 管为管为“0”。 存储的信息由生产厂家在掩膜工艺过程中存储的信息由生产厂家在掩膜工艺过程中“写入写入”,用户不能修改
18、。,用户不能修改。36 2. PROM (一次性编程一次性编程) VCC行线行线列线列线熔丝熔丝熔丝断熔丝断为为 “0”为为 “1”熔丝未断熔丝未断 芯片出厂时内容全部为芯片出厂时内容全部为0,用户可以用专门的,用户可以用专门的PROM写入器将信息写入。写入器将信息写入。37 3. EPROM (多次性编程多次性编程 ) EPROM是一种可擦除可编程只读存储器,是一种可擦除可编程只读存储器,用户可以对其信息作任意次的改写。用户可以对其信息作任意次的改写。 采用紫外线进行擦除,擦除时间比较长(采用紫外线进行擦除,擦除时间比较长(8-20分钟),但不能对个别需要改写的单元进行单分钟),但不能对个别
19、需要改写的单元进行单独擦除或重写。独擦除或重写。38控制逻辑控制逻辑Y 译码译码X 译译码码数据缓冲区数据缓冲区Y 控制控制128 128存储矩阵存储矩阵PD/ProgrCSA10A7A6A0.DO0112A7A1A0VSSDO2DO0DO127162413VCCA8A9VPPCSA10PD/ProgrDO3DO72716 EPROM 的逻辑图和引脚的逻辑图和引脚PD/Progr功率下降功率下降 / 编程输入端编程输入端 读出时读出时 为为 低电平低电平39 4. EEPROM (多次性编程多次性编程 ) 电可擦写电可擦写局部擦写局部擦写 20ms全部擦写全部擦写5. Flash Memory
20、 (快擦型存储器快擦型存储器) 比比 E2PROM快快EPROM价格便宜价格便宜 集成度高集成度高EEPROM电可擦洗重写,重写速度快电可擦洗重写,重写速度快(5us)具备具备 RAM 功能功能FLAH 编程、读取、擦除。高密度非易失性编程、读取、擦除。高密度非易失性读写存储器。读写存储器。4041存储空间:存储空间:CPU决定决定存储器:用户存储器:用户 需求定需求定存储芯片:芯片厂家存储芯片:芯片厂家4243 五、存储器与五、存储器与 CPU 的连接的连接 1. 存储器容量的扩展存储器容量的扩展 (1) 位扩展位扩展(增加存储字长)(增加存储字长) 用用 2片片 1K 4位位 存储芯片组成
21、存储芯片组成 1K 8位位 的存储器的存储器10根地址线根地址线8根数据线根数据线DDD0479AA021142114CSWE44 (2) 字扩展(增加存储字的数量)字扩展(增加存储字的数量) 用用 2片片 1K 8位位 存储芯片组成存储芯片组成 2K 8位位 的存储器的存储器11根地址线根地址线8根数据线根数据线 1K 8位位 1K 8位位D7D0WEA1A0A9CS0A10 1CS145 (3) 字、位扩展字、位扩展用用 8片片 1K 4位位 存储芯片组成存储芯片组成 4K 8位位 的存储器的存储器8根数据线根数据线12根地址线根地址线WEA8A9A0.D7D0A11A10CS0CS1CS
22、2CS3片选片选译码译码.1K41K41K41K41K41K41K41K446 2. 存储器与存储器与 CPU 的连接的连接 (1) 地址线的连接地址线的连接 低位地址线低位地址线(2) 数据线的连接数据线的连接 字扩展字扩展(3) 读读/写线的连接写线的连接 (4) 片选线的连接片选线的连接 /MREQ,高位地址线。,高位地址线。(5) 合理选用芯片合理选用芯片47例例 4.1 设设CPU有有16根地址线,根地址线,8根数据线,并用根数据线,并用/MREQ作为访存控制信号,用作为访存控制信号,用/WR作为读作为读/写控制信号。现有存写控制信号。现有存储芯片:储芯片:1K*4位位RAM,4K*
23、8位位RAM,8K*8位位RAM,2K*8位位ROM,4K*8位位ROM,8K*8位位ROM及及74138译码译码器和几种门电路。器和几种门电路。1)主存地址空间分配:)主存地址空间分配: 6000H-67FFH为系统程序区为系统程序区 6800H-6BFFH为用户程序区为用户程序区2)合理选择存储芯片,说明各选几片。)合理选择存储芯片,说明各选几片。3)详细画出存储芯片的片选逻辑图。)详细画出存储芯片的片选逻辑图。48例例4.1 解解: : (1) 写出对应的二进制地址码写出对应的二进制地址码(2) 确定芯片的数量及类型确定芯片的数量及类型0 1 1 0 0 0 0 0 0 0 0 0 0
24、0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K8位位1K8位位RAM2片片1K4位位ROM1片片 2K8位位49(3) 分配地址线分配地址线A10 A0 接接 2K 8位位 ROM 的地址线的地址线A9 A0 接接 1K 4位位 RAM 的地址线的地址线(4) 确定片选信号确定片选信号C B A0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15 A13 A11 A10
25、 A7 A4 A3 A00 1 1 0 0 1 1 1 1 1 1 1 1 1 1 10 1 1 0 1 0 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K 8位位1片片 ROM1K 4位位2片片RAM5051真值表真值表输入:自然二进制码输入:自然二进制码输出:低电平有效输出:低电平有效BAGGG22252 2K 8位位 ROM 1K 4位位 RAM1K 4位位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WR例例 4.1 CPU 与存储器的连接图与存储器的
26、连接图53(1) 写出对应的二进制地址码写出对应的二进制地址码例例4.2 假设同前,要求最小假设同前,要求最小 8K为系统为系统 程序区,相邻程序区,相邻 16K为用户程序区,为用户程序区,最大最大4K为系统程序工作区。为系统程序工作区。(2) 确定芯片的数量及类型确定芯片的数量及类型(3) 分配地址线分配地址线(4) 确定片选信号确定片选信号1片片 8K 8位位 ROM 2片片 8K 8位位 RAM1片片4K 8位的位的RAMA11 A0 接接 ROM 和和 RAM 的地址线的地址线54例例 4.3 设设 CPU 有有 20 根地址线,根地址线,8 根数据线。根数据线。 并用并用 IO/M
27、作访存控制信号。作访存控制信号。RD 为读命令,为读命令, WR 为写命令。现有为写命令。现有 2764 EPROM ( 8K 8位位 ), 外特性如下:外特性如下:D7D0CEOECE片选信号片选信号OE允许输出允许输出PGM可编程端可编程端PGMA0A12用用 138 译码器及其他门电路(门电路自定)画出译码器及其他门电路(门电路自定)画出 CPU和和 2764 的连接图。要求地址为的连接图。要求地址为 F0000HFFFFFH , 并并写出每片写出每片 2764 的地址范围。的地址范围。55七、提高访存速度的措施七、提高访存速度的措施 采用高速器件采用高速器件 调整主存结构调整主存结构1
28、. 单体多字系统单体多字系统 W位位W位位W位位W位位W位位地址寄存器地址寄存器主存控制部件主存控制部件. . . . . . . . . . .单字长寄存器单字长寄存器 数据寄存器数据寄存器 存储体存储体 采用层次结构采用层次结构 Cache 主存主存 增加存储器的带宽增加存储器的带宽 56 在一个存取周期内,从同一地址取出在一个存取周期内,从同一地址取出4条指令,条指令, 然后逐条将指令送至然后逐条将指令送至CPU执行,即每隔执行,即每隔1/4存取周存取周期,主存向期,主存向CPU送一条指令。送一条指令。 前提:指令和数据在内存内必须连续存放。前提:指令和数据在内存内必须连续存放。572.
29、 多体并行系统多体并行系统(1) 高位交叉(顺序存取)高位交叉(顺序存取)各个体并行工作各个体并行工作M0地址地址01n1M1nn+12n1M22n2n+13n1M33n3n+14n1地址译码地址译码体内地址体内地址体号体号58l 多多体体模模块块组组成成的的存存储储器器,每每个个模模块块有有相相同同的的容容量量和和存存取取速速度度,各各模模块块有有自自己己独独立立的的地地址址寄寄存存器器、数数据据寄寄存存器器、地地址址译译码码、驱驱动动电电路路和和读读写写电电路路,能能并并行行工工作作,又又能能交交叉叉工工作作。59(2) 低位交叉(交叉存储)低位交叉(交叉存储)M0地址地址044n4M11
30、54n3M2264n2M3374n1地址译码地址译码 体号体号体内地址体内地址各个体轮流编址各个体轮流编址60问题:交叉存储器可以一次读取多个字,总线宽问题:交叉存储器可以一次读取多个字,总线宽度不变怎么办?度不变怎么办?61低位交叉的特点低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽在不改变存取周期的前提下,增加存储器的带宽时间时间 单体单体访存周期访存周期 单体单体访存周期访存周期启动存储体启动存储体 0启动存储体启动存储体 1启动存储体启动存储体 2启动存储体启动存储体 362例:设有例:设有4个模块组成的四体存储器结构,每个个模块组成的四体存储器结构,每个体的存储字长为体的存
31、储字长为32位,存取周期为位,存取周期为200ns,假设,假设数据总线宽度为数据总线宽度为32位,总线传输周期为位,总线传输周期为50ns,试求读取试求读取128位顺序存储器和交叉存储器的存储位顺序存储器和交叉存储器的存储器带宽。器带宽。63(3) 存储器控制部件(简称存控)存储器控制部件(简称存控)易发生代码易发生代码丢失的请求丢失的请求源,优先级源,优先级最高最高严重影响严重影响 CPU工作的请求源,工作的请求源,给予给予 次高次高 优先级优先级控制线路控制线路排队器排队器 节拍节拍发生器发生器QQCM来自各个请求源来自各个请求源主脉冲主脉冲存控标记存控标记 触发器触发器64一、一、Cac
32、he 概述概述问题的引入问题的引入Cache工作原理工作原理Cache基本结构基本结构Cache读写操作读写操作(1) Cache的改进的改进651. 问题的提出问题的提出避免避免 CPU “空等空等” 现象现象CPU 和主存(和主存(DRAM)的速度差异的速度差异缓存缓存CPU主存主存容量小容量小速度高速度高容量大容量大速度低速度低程序访问的局部性原理程序访问的局部性原理66 2. Cache 的工作原理的工作原理(1) 主存和缓存的编址主存和缓存的编址主存和缓存按块存储主存和缓存按块存储 块的大小相同块的大小相同B 为块长为块长 主存块号主存块号主存储器主存储器012m1字块字块 0字块字
33、块 1字块字块 M1主存块号主存块号块内地址块内地址m位位b位位n位位M块块B个字个字缓存块号缓存块号块内地址块内地址c位位b位位C块块B个字个字 字块字块 0字块字块 1字块字块 C1012c1标记标记Cache缓存块号缓存块号67(2) 命中与未命中命中与未命中缓存共有缓存共有 C 块块主存共有主存共有 M 块块M C主存块主存块 调入调入 缓存缓存主存块与缓存块主存块与缓存块 建立建立 了对应关系了对应关系 标记标记 记录记录 与某缓存块建立了对应关系的与某缓存块建立了对应关系的 主存块主存块 块号块号命中命中未命中未命中主存块与缓存块主存块与缓存块 未建立未建立 对应关系对应关系主存块
34、主存块 未调入未调入 缓存缓存68 (3) Cache 命中率命中率CPU 欲访问的信息在欲访问的信息在 Cache 中的中的 比率比率命中率命中率 与与 Cache 的的 容量容量 与与 块长块长 有关有关 一般每块一般每块: 4 至至 8 个字个字 块长取一个存取周期内从主存调出的信息长度块长取一个存取周期内从主存调出的信息长度69在程序的执行时间,在程序的执行时间,Nc 为访问为访问Cache的总命的总命中的次数,中的次数,Nm为访问主存的总次数为访问主存的总次数. 命中率命中率h为为H=Nc/(Nc+Nm).(2) tc为命中时的为命中时的Cache访问时间,访问时间,tm为未命为未命
35、中时的主存访问时间,中时的主存访问时间,1-h为未命中率。为未命中率。 平均访问时间平均访问时间ta为:为:ta=h *tc+(1-h)*tm(3)e为访问效率:为访问效率: E=tc/ta*100%70例例4.7 假设假设CPU执行某段程序时,共访问执行某段程序时,共访问Cache命中命中2000次,访问主存次,访问主存50次。已知次。已知Cache的存取的存取周期为周期为50ns, 主存的存取周期主存的存取周期200ns 。求。求Cache-主存系统的命中率、效率和平均访问时间。主存系统的命中率、效率和平均访问时间。71数据总线数据总线Cache替换机构替换机构可装进?可装进? 命中?命中
36、?主存主存Cache 地址映象地址映象 变换机构变换机构 主主 存存访问主访问主存替换存替换Cache Cache 存储体存储体块号块号块内地址块内地址直接通路直接通路访问主存装入访问主存装入CacheNNYY块号块号块内地址块内地址CPU主存地址主存地址地址总线地址总线Cache地址地址3. Cache 基本结构基本结构Cache替换机构替换机构由由 CPU 完成完成 Cache 存储体存储体主存主存Cache 地址映象地址映象 变换机构变换机构 724. Cache 的的 读写读写 操作操作 访问访问Cache取出信息送取出信息送CPU 访问主存访问主存取出信息送取出信息送CPU将新的主存
37、块将新的主存块调入调入Cache中中执行替换算法执行替换算法 腾出空位腾出空位 结束结束命中?命中?Cache满?满?CPU发出访问地址发出访问地址 开始开始YNYN读读73 对对Cache写操作,必须与被映射的主存块内写操作,必须与被映射的主存块内的信息完全一致。的信息完全一致。 1) 写直达法写直达法 2) 写回法写回法写写Cache 和主存的一致性和主存的一致性 745. Cache 的改进的改进(1) 增加增加 Cache 的级数的级数片载(片内)片载(片内)Cache片外片外 Cache(2) 统一缓存和分开缓存统一缓存和分开缓存指令指令 Cache数据数据 Cache与主存结构有关
38、与主存结构有关与指令执行的控制方式有关与指令执行的控制方式有关是否流水是否流水Pentium 8K 指令指令 Cache 8K 数据数据 CachePowerPC620 32K 指令指令 Cache 32K 数据数据 Cache75二、二、Cache 主存的地址映象主存的地址映象 Cache中的块取自主存中的某个块,将主中的块取自主存中的某个块,将主存中某个块复制到存中某个块复制到Cache中某个块,依据一定中某个块,依据一定的映射规则,由主存地址映射到的映射规则,由主存地址映射到Cache地址称地址称为地址映射为地址映射 (1)直接映射方式)直接映射方式 (2)全相联映射方式)全相联映射方式
39、 (3)组相联映射方式)组相联映射方式761. 直接映象方式直接映象方式每个缓存块每个缓存块 i 可以和可以和 若干若干 个个 主存块主存块 对应对应每个主存块每个主存块 j 只能和只能和 一一 个个 缓存块缓存块 对应对应 字块字块字块地址字块地址 主存字主存字 块标记块标记t 位位c 位位b 位位主存地址主存地址m位位 Cache内地址内地址例:某内存为例:某内存为64块,块,Cache有有4块,采用直接映射方式。块,采用直接映射方式。主存中任意块和主存中任意块和Cache中唯一的块相对应。中唯一的块相对应。主存块号主存块号块内地址块内地址m位位b位位7700011011000000000
40、001000010000011000100000101000110111001111010111011111100111101111110111111000011 Mod 100 = ?j Mod C = ? j i标记?标记?111178 字块字块 1 标记标记 字块字块 0 标记标记字块字块 2c-1标记标记Cache存储体存储体t位位01C1 字块字块字块地址字块地址 主存字主存字 块标记块标记t 位位c 位位b 位位主存地址主存地址 比较器(比较器(t位)位)= 不命中不命中有效位有效位=1?*m位位 Cache内地址内地址否否是是命中命中i = j mod C79直接映象方式的特点:
41、直接映象方式的特点:不灵活,每个主存块只能固定对应某个缓存块,不灵活,每个主存块只能固定对应某个缓存块,即使还空着许多位置也不能用。即使还空着许多位置也不能用。有其它改进有其它改进的映象方式吗的映象方式吗80 2. 全相联映象方式全相联映象方式主存主存 中的中的 任一块任一块 可以映象到可以映象到 缓存缓存 中的中的 任一块任一块主存字块标记主存字块标记 字块内地址字块内地址主存地址主存地址m位位b位位例:某内存为例:某内存为64块,块,Cache有有4块,采用直接映射方式。块,采用直接映射方式。8100011011000000000001000010000011000100000101000
42、110111001111010111011111100111101111110111111 i标记?标记?11110011101082字块字块2m1字块字块2c1字块字块1 字块字块0字块字块2c1字块字块1字块字块0标记标记标记标记标记标记m = t+cCache 存储器存储器主存储器主存储器 字块字块083优点:灵活,命中率高。优点:灵活,命中率高。缺点缺点: 主存字块标记为全部块地址,访问主存字块标记为全部块地址,访问Cache时主存的字块标记要和时主存的字块标记要和Cache的全部标的全部标记位进行比较。记位进行比较。 全相联映象方式特点全相联映象方式特点843. 组相联映象方式组相联
43、映象方式某一主存块某一主存块 j 按模按模 Q 映射到映射到 缓存缓存 的第的第 i 组中的组中的 任一块任一块 字块字块组地址组地址 主存字主存字 块标记块标记t 位位q 位位b 位位主存地址主存地址m位位 Cache内地址内地址例:某内存为例:某内存为64块,块,Cache有有4块,每组块,每组2块,采用组相联块,采用组相联映射方式。映射方式。Cache分成分成Q组,每组组,每组R块,块,i=j mod Q.组内两块,组相联映射定义为二路组相联。组内两块,组相联映射定义为二路组相联。850100000000000100001000001100010000010100011011100111
44、1010111011111100111101111110111111000001 Mod 10= ?j Mod q = ? i标记?标记?111011 Mod 10= ?000001110186字块字块2m1字块字块2c-r+1 字块字块2c-r + 1 字块字块2c-r字块字块2c-r 字块字块1 字块字块0 字块字块 3标记标记 字块字块 1标记标记字块字块 2c1标记标记 字块字块 2标记标记 字块字块 0标记标记字块字块 2c2标记标记 字块内地址字块内地址组地址组地址主存字块标记主存字块标记组组012c-r1主存地址主存地址Cache主存储器主存储器共共 Q 组,每组内两块(组,每组
45、内两块(r = 1)1 字块字块0 字块字块 1 字块字块 0 字块字块2c-r 字块字块2c-r+187例例4.8 假设主存容量为假设主存容量为512KB,Cache容量为容量为4KB,每,每个字块为个字块为16个字,每个字个字,每个字32位。位。1)Cache地址有多少位,可容纳多少块。地址有多少位,可容纳多少块。2)主存地址有多少位,可容纳多少块)主存地址有多少位,可容纳多少块3) 在直接映射方式下,主存的第几块映射到在直接映射方式下,主存的第几块映射到Cache的第的第5块。(设起始字块为第一块)块。(设起始字块为第一块)4) 画出直接映射方式下主存地址字段中各段的位数。画出直接映射方
46、式下主存地址字段中各段的位数。88例例4.9 假设主存容量为假设主存容量为512K*16位,位,Cache容量为容量为4096*16位,块长为位,块长为4个个16位的字,访存地址为字地位的字,访存地址为字地址。址。1) 在直接映射方式下,设计主存的地址格式。在直接映射方式下,设计主存的地址格式。2)在全相联映射方式下,设计主存的地址格式。)在全相联映射方式下,设计主存的地址格式。3)在二路组全相联映射方式下,设计主存的地址)在二路组全相联映射方式下,设计主存的地址格式。格式。4)若主存容量为)若主存容量为1024K*16位,块长不变,在四路位,块长不变,在四路组相联方式下,设计主存的地址格式。
47、组相联方式下,设计主存的地址格式。89例例4.10 假设假设Cache的工作速度是主存的的工作速度是主存的5倍,且倍,且Cache被访问命中的概率是被访问命中的概率是95%,则采用,则采用Cache后,后,存储器性能提高多少存储器性能提高多少?90例例4.11 设某机主存容量为设某机主存容量为16MB,Cache容量为容量为8KB,每字块有每字块有8字,每字字,每字32位。设计一个四路组相联映位。设计一个四路组相联映射的射的Cache组织。组织。1) 画出主存地址字段中各段的位数。画出主存地址字段中各段的位数。2)设)设Cache初态为空,初态为空,CPU一次从主存的第一次从主存的第0,1,2
48、,99单元读出单元读出100个字,并重复个字,并重复10次,问命次,问命中率多少?中率多少?3)若)若Cache速度是主存速度的速度是主存速度的5倍,试问有倍,试问有Cache和和无无Cache相比,速度提高多少倍?相比,速度提高多少倍?4)系统的效率为多少?)系统的效率为多少?91三、替换算法三、替换算法1. 先进先出先进先出 ( FIFO )算法算法 2. 近期最少使用法(近期最少使用法( LRU)算法算法小结小结某一某一 主存块主存块 只能固定只能固定 映射到映射到 某一某一 缓存块缓存块直接直接全相联全相联组相联组相联某一某一 主存块主存块 能能 映射到映射到 任一任一 缓存块缓存块某
49、一某一 主存块主存块 能能 映射到映射到 某一某一 缓存缓存 组组 中的中的 任一块任一块不灵活不灵活成本高成本高92考研题:考研题:假设某计算机按字变址,假设某计算机按字变址,Cache有有4个行,个行,Cache和主存之和主存之间交换的块为间交换的块为2个字。若个字。若Cache的内容初始为空,采用的内容初始为空,采用2路路组相联映射方式和组相联映射方式和LRU替换策略,访问的主存地址依次替换策略,访问的主存地址依次为为0,4,8,2,0,6,8,6,4,8时,命中时,命中Cache的次数是:的次数是:A.1 B.2 C. 3 D.4 93一、磁记录原理一、磁记录原理 磁盘是用某些磁性材料
50、薄薄地涂在金属铝表面磁盘是用某些磁性材料薄薄地涂在金属铝表面作载磁体来存储信息。作载磁体来存储信息。l 94二、硬磁盘存储器二、硬磁盘存储器1. 硬磁盘存储器的类型硬磁盘存储器的类型(1) 固定磁头和移动磁头固定磁头和移动磁头(2) 可换盘和固定盘可换盘和固定盘2. 硬磁盘存储器结构硬磁盘存储器结构磁磁 盘盘 控控 制制 器器磁磁 盘盘 驱驱 动动 器器盘盘 片片主主 机机95 (1) 磁盘控制器磁盘控制器 接受主机发来的命令,转换成磁盘驱动器的控制命令接受主机发来的命令,转换成磁盘驱动器的控制命令 实现主机和驱动器之间的数据格式转换,数据缓冲、实现主机和驱动器之间的数据格式转换,数据缓冲、
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。