
计算机组成原理第四章高级课堂.ppt
108页第四章第四章 存存 储储 器器4.1 概述概述4.2 主存储器主存储器4.3 高速缓冲存储器高速缓冲存储器4.4 辅助存储器辅助存储器1高等课堂4.1 概概 述述一、存储器分类一、存储器分类 1. 按存储介质分类按存储介质分类 存储介质存储介质是指能寄存是指能寄存“0”、、“1”两种代码并能两种代码并能区别两种状态的物质或区别两种状态的物质或元器件元器件2高等课堂(1) 半导体存储器半导体存储器(2) 磁表面磁表面 存储器存储器(3) 磁芯存储器磁芯存储器(4) 光盘存储器光盘存储器易失易失TTL 、、MOS磁头、载磁体磁头、载磁体硬磁材料、环状元件硬磁材料、环状元件 激光在磁光材料上进行激光在磁光材料上进行读写操作读写操作非非易易失失 体积小、功耗低、存取时间短体积小、功耗低、存取时间短 磁盘、磁带磁盘、磁带3高等课堂4高等课堂5高等课堂6高等课堂(1) 存取时间与物理地址无关(存取时间与物理地址无关(随机访问随机访问)) • 顺序存取存储器(串行)顺序存取存储器(串行) 磁带磁带4.12. 按存取方式分类按存取方式分类 (2) 存取时间与物理地址有关(存取时间与物理地址有关(串行访问串行访问))• 随机存储器随机存储器• 只读存储器只读存储器• 直接存取存储器直接存取存储器 先直接后串行先直接后串行 磁盘磁盘在程序的执行过程中在程序的执行过程中 可可 读读 可可 写写在程序的执行过程中在程序的执行过程中 只只读读7高等课堂磁盘、磁盘、 磁带磁带 、光盘、光盘 高速缓冲存储器(高速缓冲存储器(Cache))Flash Memory存存储储器器主存储器主存储器辅助存储器辅助存储器MROMPROMEPROMEEPROMRAMROM静态静态 RAM动态动态 RAM3. 按在计算机中的作用分类按在计算机中的作用分类4.18高等课堂高高低低小小大大快快慢慢辅辅存存寄存器寄存器缓存缓存主存主存磁盘磁盘光盘光盘磁带磁带光盘光盘磁带磁带速度速度容量容量 价格价格 位位//1. 存储器三个主要特性的关系存储器三个主要特性的关系 二、存储器的层次结构二、存储器的层次结构CPUCPU主主机机4.19高等课堂缓存缓存CPU主存主存辅存辅存2. 缓存缓存 主存层次和主存主存层次和主存 辅存层次辅存层次10 ns20 ns200 nsms4.1 缓存缓存-主存层次主存层次主要解决主要解决CPU和主存和主存速度不匹配速度不匹配的问题,的问题,主存和缓存之间的数据调用是由主存和缓存之间的数据调用是由硬件自动完成硬件自动完成的。
的 主存主存-辅存层次辅存层次主要解决存储系统的容量问题主要解决存储系统的容量问题 主存和辅存之间的数据调用是由主存和辅存之间的数据调用是由硬件硬件和和操作系统操作系统共同完成共同完成10高等课堂缓存缓存主存主存辅存辅存主存主存虚拟存储器虚拟存储器虚地址虚地址逻辑地址逻辑地址实地址实地址物理地址物理地址主存储器主存储器(速度)(速度)(容量)(容量)1) 指令地址码访问的地址为虚地址或指令地址码访问的地址为虚地址或逻辑地址逻辑地址2) 程序在执行过程中真正能访问到的地址为程序在执行过程中真正能访问到的地址为物理地址物理地址11高等课堂4.2 主存储器主存储器一、概述一、概述1. 主存的基本组成主存的基本组成存储体存储体驱动器驱动器译码器译码器MAR控制电路控制电路读读写写电电路路MDR....................地址总线地址总线数据总线数据总线读读写写12高等课堂2. 主存和主存和 CPU 的联系的联系MDRMARCPU主主 存存读读数据总线数据总线地址总线地址总线写写4.213高等课堂 高位字节高位字节 地址为字地址地址为字地址 低位字节低位字节 地址为字地址地址为字地址字地址字地址字节地址字节地址11109876543210840字节地址字节地址字地址字地址4523014203. 主存中存储单元地址的分配主存中存储单元地址的分配4.2低地址存高字节低地址存高字节(大端模式)大端模式)低地址存低字节低地址存低字节(小端模式)(小端模式)14高等课堂 计算机系统可以按计算机系统可以按字(存储字长)寻址字(存储字长)寻址,也可,也可以按以按字节寻址字节寻址。
不同机器存储字长不同,存储字长取不同机器存储字长不同,存储字长取8的倍数的倍数设地址线设地址线 24 根根按按 字节字节 寻址寻址按按 字字 寻址寻址若字长为若字长为 16 位位按按 字字 寻址寻址若字长为若字长为 32 位位224 = 16 M8 M4 M15高等课堂(2) 存储速度存储速度4. 主存的技术指标主存的技术指标(1) 存储容量存储容量 存放二进制代码的总数量存放二进制代码的总数量 存储器的存储器的 访问时间访问时间 • 存取时间存取时间4.2 指启动一次存储器操作,到完成该操作所需要指启动一次存储器操作,到完成该操作所需要的全部时间的全部时间 1) 读出时间读出时间指从存储器接收到有效地址,到产生有效输指从存储器接收到有效地址,到产生有效输出所需要的全部时间出所需要的全部时间 2) 写入时间写入时间是从存储器接收到有效地址开始,到数据写是从存储器接收到有效地址开始,到数据写入被选中单元为止所需要的时间入被选中单元为止所需要的时间16高等课堂(3) 存储器的带宽存储器的带宽 连续两次独立的存储器操作连续两次独立的存储器操作(读或写)所需的(读或写)所需的 最小间隔时间最小间隔时间 位位/秒秒• 存取周期存取周期 单位时间内存储器存取的信息量。
单位时间内存储器存取的信息量17高等课堂芯片容量芯片容量二、半导体存储芯片简介二、半导体存储芯片简介1. 半导体存储芯片的基本结构半导体存储芯片的基本结构译译码码驱驱动动存存储储矩矩阵阵读读写写电电路路1K × 4位位16K × 1位位8K × 8位位片选线片选线读读/写控制线写控制线地地址址线线……数数据据线线……地址线地址线(单向)(单向)数据线数据线(双向)(双向)1041411384.218高等课堂l 1) 译码驱动电路:译码驱动电路:把总线送来的地址信号把总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读翻译成对应存储单元的选择信号,该信号在读写电路的配合下完成对备选中单元的读写电路的配合下完成对备选中单元的读/写操作l 2) 读写电路:读写电路:读写放大器和写入电路读写放大器和写入电路l 3) 控制线:控制线:读写控制线与片选线两种读写控制线与片选线两种l 存储芯片通过存储芯片通过地址总线地址总线、、数据总线数据总线和和控制总控制总线线与外部连接与外部连接19高等课堂0,015,015,70,7 读读/写控制电路写控制电路 地地址址译译码码器器 字线字线015…………16×8矩阵矩阵…………07D07D 位线位线 读读 / 写选通写选通A3A2A1A0……2. 半导体存储芯片的译码驱动方式半导体存储芯片的译码驱动方式(1) 线选法线选法 ((16×8存储芯片)存储芯片)4.200000,00,7…0……07……D07D 读读 / 写写选通选通20高等课堂A3A2A1A0A40,310,031,031,31 Y 地址译码器地址译码器 X地地址址译译码码器器 32×32 矩阵矩阵……A9I/OA8A7A56AY0Y31X0X31D读读/写写……(2) 重合法重合法 ((1K×1位)位)4.200000000000,00,31……I/OD0,0读读21高等课堂 静态静态RAM用用触发器触发器工作原理存储信息,信息工作原理存储信息,信息读出后,仍保持其原状态,不需要再生。
读出后,仍保持其原状态,不需要再生 电源掉电时,原存储信息丢失,故属于易失性电源掉电时,原存储信息丢失,故属于易失性半导体存储器半导体存储器 基本单元单元由基本单元单元由6个个MOS管组成 三、随机存取存储器三、随机存取存储器 ( RAM ) 1. 静态静态 RAM (SRAM) 22高等课堂 (1) 静态静态 RAM 基本电路基本电路A´ 触发器非端触发器非端1T4T~触发器触发器5TT6、行开关行开关7TT8、列开关列开关7TT8、一列共用一列共用A 触发器原端触发器原端T1 ~ T4T5T6T7T8A´A写放大器写放大器写放大器写放大器DIN写选择写选择读选择读选择DOUT读放读放位线位线A位线位线A´列地址选择列地址选择行地址选择行地址选择T1 ~ T423高等课堂 (2) 静态静态 RAM 芯片举例芯片举例存储容量存储容量1 1K K×4 4位位......I/O1I/O2I/O3I/O4A0A8A9WECSCCVGNDIntel 211424高等课堂 2. 动态动态 RAM ( DRAM ) 1)) 动态动态RAM基本单元电路有基本单元电路有三管式三管式和和单管单管式式。
主要由主要由MOS管和电容组成管和电容组成 2)) 利用利用电容存储电荷电容存储电荷的原理来寄存信息的原理来寄存信息 3)) 电容电荷一般只能维持电容电荷一般只能维持1~2ms,电源不掉,电源不掉电,信息也丢失电,信息也丢失 4)) 需要对存储单元进行动态再生和刷新需要对存储单元进行动态再生和刷新 5)与静态)与静态RAM比,集成度高,功耗低比,集成度高,功耗低25高等课堂DD预充电信号预充电信号读选择线读选择线写数据线写数据线写选择线写选择线读数据线读数据线VCgT4T3T2T11 (1) 动态动态 RAM 基本单元电路基本单元电路读出与原存信息相反读出与原存信息相反读出时数据线有电流读出时数据线有电流 为为 “1”数据线数据线CsT字线字线DDV0 10 11 0写入与输入信息相同写入与输入信息相同写入时写入时CS充电充电 为为 “1” 放电放电 为为 “0”T3T2T1T无电流无电流有电流有电流26高等课堂 (2) 动态动态 RAM 刷新刷新 1)) 刷新的过程就是将原存信息读出,再由刷刷新的过程就是将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。
新放大器形成原信息并重新写入的再生过程 2)动态)动态RAM存储单元内容长时间不读写会存储单元内容长时间不读写会慢慢消失,必须定时刷新,一般为慢慢消失,必须定时刷新,一般为2ms刷新一次,刷新一次,称为称为刷新周期刷新周期 3)刷新按行进行刷新按行进行27高等课堂 (3) 动态动态 RAM 刷新刷新 刷新与行地址有关刷新与行地址有关①① 集中刷新集中刷新 ((存取周期为存取周期为0.5μs))“死时间率死时间率” 为为 128/4000 ×100% = 3.2%“死区死区” 为为 0.5 μs ×128 = 64 μs周期序号周期序号地址序号地址序号tc0123871 387201tctctctc3999V W01127读读/写或维持写或维持刷新刷新读读/写或维持写或维持3872个周期个周期 ((1936))128个周期个周期 (( 64))刷新时间间隔刷新时间间隔 ((2ms))刷新序号刷新序号•••••••μsμstcXtcY• • •• • •以以 128 × 128 矩阵矩阵28高等课堂t tC C = = t tM M + + t tR R读写读写 刷新刷新无无 “死区死区”②② 分散刷新分散刷新((存取周期为存取周期为1μs))(存取周期为存取周期为 0.5 μs + 0.5 μs)W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔刷新间隔 128 个读写周期个读写周期以以 128 ×128 矩阵为例矩阵为例29高等课堂 ③③ 异步刷新异步刷新对于对于 128 ×128 的存储芯片的存储芯片((存取周期为存取周期为 0.5μs))将刷新安排在指令译码阶段,不会出现将刷新安排在指令译码阶段,不会出现 “死区死区”“死区死区” 为为 0.5 μs若每隔若每隔 15.6 μs 刷新一行刷新一行而且每行每隔而且每行每隔 2 ms 刷新一次刷新一次若每隔若每隔 2 ms 集中刷新一次集中刷新一次“死区死区” 为为 64 μs30高等课堂 3. 动态动态 RAM 和静态和静态 RAM 的比较的比较DRAMSRAM存储原理存储原理集成度集成度芯片引脚芯片引脚功耗功耗价格价格速度速度刷新刷新电容电容触发器触发器高高低低少少多多小小大大低低高高慢慢快快有有无无主存主存缓存缓存4.231高等课堂DDR=Double Data Rate双倍速率同步双倍速率同步动态随机存储动态随机存储器器32高等课堂 (2) 静态静态 RAM 芯片举例芯片举例存储容量存储容量1 1K K×4 4位位......I/O1I/O2I/O3I/O4A0A8A9WECSCCVGNDIntel 211433高等课堂 四、只读存储器(四、只读存储器(ROM)) 1. 掩膜掩膜 ROM ( MROM ) 行列选择线交叉处有行列选择线交叉处有 MOS 管为管为“1”。
行列选择线交叉处无行列选择线交叉处无 MOS 管为管为“0” 存储的信息由生产厂家在掩膜工艺过程中存储的信息由生产厂家在掩膜工艺过程中“写入写入”,用户不能修改用户不能修改34高等课堂 2. PROM (一次性编程一次性编程) VCC行线行线列列线线熔丝熔丝熔丝断熔丝断为为 “0”为为 “1”熔丝未断熔丝未断 芯片出厂时内容全部为芯片出厂时内容全部为0,用户可以用专门的,用户可以用专门的PROM写入器将信息写入写入器将信息写入35高等课堂 3. EPROM (多次性编程多次性编程 ) EPROM是一种可擦除可编程只读存储器,是一种可擦除可编程只读存储器,用户可以对其信息作任意次的改写用户可以对其信息作任意次的改写 采用紫外线进行擦除,擦除时间比较长(采用紫外线进行擦除,擦除时间比较长(8-20分钟),但不能对个别需要改写的单元进行单分钟),但不能对个别需要改写的单元进行单独擦除或重写独擦除或重写36高等课堂…控制逻辑控制逻辑Y 译码译码X 译译码码数据缓冲区数据缓冲区Y 控制控制128 × 128存储矩阵存储矩阵…………PD/ProgrCSA10A7…A6A0..…DO0…112………………A7A1A0VSSDO2DO0DO1……27162413………………VCCA8A9VPPCSA10PD/ProgrDO3DO7…2716 EPROM 的逻辑图和引脚的逻辑图和引脚PD/Progr功率下降功率下降 / 编程输入端编程输入端 读出时读出时 为为 低电平低电平37高等课堂 4. EEPROM (多次性编程多次性编程 ) 电可擦写电可擦写局部擦写局部擦写 20ms全部擦写全部擦写5. Flash Memory (快擦型存储器快擦型存储器) 比比 E2PROM快快4.2EPROM价格便宜价格便宜 集成度高集成度高EEPROM电可擦洗重写,重写速度快电可擦洗重写,重写速度快(5us)具备具备 RAM 功能功能FLAH 编程、读取、擦除。
高密度非易失性编程、读取、擦除高密度非易失性读写存储器读写存储器38高等课堂39高等课堂存储空间:存储空间:CPU决定决定存储器:用户存储器:用户 需求定需求定存储芯片:芯片厂家存储芯片:芯片厂家40高等课堂41高等课堂 五、存储器与五、存储器与 CPU 的连接的连接 1. 存储器容量的扩展存储器容量的扩展 (1) 位扩展位扩展(增加存储字长)(增加存储字长) 用用 2片片 1K × 4位位 存储芯片组成存储芯片组成 1K × 8位位 的存储器的存储器10根地址线根地址线8根数据线根数据线DD••••D0479AA0•••21142114CSWE4.242高等课堂 (2) 字扩展(增加存储字的数量)字扩展(增加存储字的数量) 用用 2片片 1K × 8位位 存储芯片组成存储芯片组成 2K × 8位位 的存储器的存储器11根地址线根地址线8根数据线根数据线 1K ×× 8位位 1K ×× 8位位D7D0•••••••••••••••••WEA1A0•••A94.2CS0A10 1CS143高等课堂 (3) 字、位扩展字、位扩展用用 8片片 1K × 4位位 存储芯片组成存储芯片组成 4K × 8位位 的存储器的存储器8根数据线根数据线12根地址线根地址线WEA8A9A0...D7D0……A11A10CS0CS1CS2CS3片选片选译码译码................4.21K×41K××41K××41K××41K××41K××41K××41K×444高等课堂 2. 存储器与存储器与 CPU 的连接的连接 (1) 地址线的连接地址线的连接 低位地址线低位地址线(2) 数据线的连接数据线的连接 字扩展字扩展(3) 读读/写线的连接写线的连接 (4) 片选线的连接片选线的连接 /MREQ,高位地址,高位地址线。
线5) 合理选用芯片合理选用芯片4.245高等课堂例例 4.1 设设CPU有有16根地址线,根地址线,8根数据线,并用根数据线,并用/MREQ作为访存控制信号,用作为访存控制信号,用/WR作为读作为读/写控制信号现有存写控制信号现有存储芯片:储芯片:1K*4位位RAM,,4K*8位位RAM,,8K*8位位RAM,,2K*8位位ROM,,4K*8位位ROM,8K*8位位ROM及及74138译码译码器和几种门电路器和几种门电路1)主存地址空间分配:)主存地址空间分配: 6000H-67FFH为系统程序区为系统程序区 6800H-6BFFH为用户程序区为用户程序区2)合理选择存储芯片,说明各选几片合理选择存储芯片,说明各选几片3)详细画出存储芯片的片选逻辑图详细画出存储芯片的片选逻辑图46高等课堂例例4.1 解解: : (1) 写出对应的二进制地址码写出对应的二进制地址码(2) 确定芯片的数量及类型确定芯片的数量及类型0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0A15A14A13 A11 A10 … A7 … A4 A3 … A0…0 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 0…0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K×8位位1K×8位位RAM2片片1K×4位位ROM1片片 2K×8位位4.247高等课堂(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 … A7 … A4 A3 … A0…0 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 0…0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 12K × 8位位1片片 ROM1K × 4位位2片片RAM4.248高等课堂49高等课堂真值表真值表输入:自然二进制码输入:自然二进制码输出:低电平有效输出:低电平有效50高等课堂 2K ××8位位 ROM 1K ××4位位 RAM1K ××4位位 RAM………&PD/ProgrY5Y4G1CBAG2BG2A……MREQA14A15A13A12A11A10A9A0…D7D4D3D0WR…………例例 4.1 CPU 与存储器的连接图与存储器的连接图4.2………51高等课堂(1) 写出对应的二进制地址码写出对应的二进制地址码例例4.2 假设同前,要求最小假设同前,要求最小 8K为系统为系统 程序区,相邻程序区,相邻 16K为用户程序区,为用户程序区,最大最大4K为系统程序工作区。
为系统程序工作区2) 确定芯片的数量及类型确定芯片的数量及类型(3) 分配地址线分配地址线(4) 确定片选信号确定片选信号1片片 8K × 8位位 ROM 2片片 8K × 8位位 RAM1片片4K × 8位的位的RAMA11~ A0 接接 ROM 和和 RAM 的地址线的地址线4.252高等课堂例例 4.3 设设 CPU 有有 20 根地址线,根地址线,8 根数据线根数据线 并用并用 IO/M 作访存控制信号作访存控制信号RD 为读命令,为读命令, WR 为写命令现有为写命令现有 2764 EPROM ( 8K × 8位位 ), 外特性如下:外特性如下:…D7D0CEOECE片选信号片选信号OE允许输出允许输出PGM可编程端可编程端PGM…A0A12用用 138 译码器及其他门电路(门电路自定)画出译码器及其他门电路(门电路自定)画出 CPU和和 2764 的连接图要求地址为的连接图要求地址为 F0000H~FFFFFH , 并并写出每片写出每片 2764 的地址范围的地址范围4.253高等课堂七、提高访存速度的措施七、提高访存速度的措施• 采用高速器件采用高速器件• 调整主存结构调整主存结构1. 单体多字系统单体多字系统 W位位W位位W位位W位位W位位地址寄存器地址寄存器主主存存控控制制部部件件. . . . . .. . . . . .单字长寄存器单字长寄存器 数据寄存器数据寄存器 存储体存储体 • 采用层次结构采用层次结构 Cache 主存主存 增加存储器的带宽增加存储器的带宽 4.254高等课堂 在一个存取周期内,从同一地址取出在一个存取周期内,从同一地址取出4条指令,条指令, 然后逐条将指令送至然后逐条将指令送至CPU执行,即每隔执行,即每隔1/4存取周存取周期,主存向期,主存向CPU送一条指令。
送一条指令 前提:前提:指令和数据在内存内必须连续存放指令和数据在内存内必须连续存放55高等课堂2. 多体并行系统多体并行系统(1) 高位交叉(顺序存取)高位交叉(顺序存取)各个体并行工作各个体并行工作M0地址地址01……n--1M1nn+1……2n--1M22n2n+13n--1M33n3n+14n--1…………地址译码地址译码体内地址体内地址体号体号56高等课堂l 多体模块组成的存储器,每个模块有相同多体模块组成的存储器,每个模块有相同的容量和存取速度,各模块有自己独立的地址的容量和存取速度,各模块有自己独立的地址寄存器、数据寄存器、地址译码、驱动电路和寄存器、数据寄存器、地址译码、驱动电路和读写电路,能并行工作,又能交叉工作读写电路,能并行工作,又能交叉工作57高等课堂(2) 低位交叉(交叉存储)低位交叉(交叉存储)M0地址地址04……4n--4M115……4n--3M2264n--2M3374n--1…………地址译码地址译码 体号体号体内地址体内地址各个体轮流编址各个体轮流编址58高等课堂问题:交叉存储器可以一次读取多个字,总线宽问题:交叉存储器可以一次读取多个字,总线宽度不变怎么办?度不变怎么办?59高等课堂低位交叉的特点低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽在不改变存取周期的前提下,增加存储器的带宽时间时间 单体单体访存周期访存周期 单体单体访存周期访存周期4.2启动存储体启动存储体 0启动存储体启动存储体 1启动存储体启动存储体 2启动存储体启动存储体 360高等课堂例:设有例:设有4个模块组成的四体存储器结构,每个个模块组成的四体存储器结构,每个体的存储字长为体的存储字长为32位,存取周期为位,存取周期为200ns,假设,假设数据总线宽度为数据总线宽度为32位,总线传输周期为位,总线传输周期为50ns,,试求读取试求读取128位顺序存储器和交叉存储器的存储位顺序存储器和交叉存储器的存储器带宽。
器带宽61高等课堂(3) 存储器控制部件(简称存控)存储器控制部件(简称存控)易发生代码易发生代码丢失的请求丢失的请求源,优先级源,优先级最高最高严重影响严重影响 CPU工作的请求源,工作的请求源,给予给予 次高次高 优先级优先级4.2控制线路控制线路排队器排队器 节拍节拍发生器发生器CM来自各个请求源来自各个请求源……主脉冲主脉冲存控标记存控标记 触发器触发器62高等课堂4.3 高速缓冲存储器高速缓冲存储器一、一、Cache 概述概述(1)问题的引入问题的引入(2)Cache工作原理工作原理(3)Cache基本结构基本结构(4)Cache读写操作读写操作(5)Cache的改进的改进63高等课堂1. 问题的提出问题的提出避免避免 CPU “空等空等” 现象现象CPU 和主存(和主存(DRAM))的速度差异的速度差异缓存缓存CPU主存主存容量小容量小速度高速度高容量大容量大速度低速度低程序访问的局部性原理程序访问的局部性原理64高等课堂 2. Cache 的工作原理的工作原理(1) 主存和缓存的编址主存和缓存的编址主存和缓存按块存储主存和缓存按块存储 块的大小相同块的大小相同B 为块长为块长~~~~… …主存块号主存块号主存储器主存储器012m--1字块字块 0字块字块 1字块字块 M--1主存块号主存块号块内地址块内地址m位位b位位n位位M块块B个字个字缓存块号缓存块号块内地址块内地址c位位b位位C块块B个字个字~~~~… …字块字块 0字块字块 1字块字块 C--1012c--1标记标记Cache缓存块号缓存块号4.365高等课堂(2) 命中与未命中命中与未命中缓存共有缓存共有 C 块块主存共有主存共有 M 块块M >> C主存块主存块 调入调入 缓存缓存主存块与缓存块主存块与缓存块 建立建立 了对应关系了对应关系 标记标记 记录记录 与某缓存块建立了对应关系的与某缓存块建立了对应关系的 主存块主存块 块号块号命中命中未命中未命中主存块与缓存块主存块与缓存块 未建立未建立 对应关系对应关系主存块主存块 未调入未调入 缓存缓存66高等课堂 (3) Cache 命中率命中率CPU 欲访问的信息在欲访问的信息在 Cache 中的中的 比率比率命中率命中率 与与 Cache 的的 容量容量 与与 块长块长 有关有关 一般每块一般每块: 4 至至 8 个字个字 块长取一个存取周期内从主存调出的信息长度块长取一个存取周期内从主存调出的信息长度67高等课堂(1)在程序的执行时间,在程序的执行时间,Nc 为访问为访问Cache的总命的总命中的次数,中的次数,Nm为访问主存的总次数为访问主存的总次数. 命中率命中率h为为H=Nc/(Nc+Nm).(2) tc为命中时的为命中时的Cache访问时间,访问时间,tm为未命中时为未命中时的主存访问时间,的主存访问时间,1-h为未命中率。
为未命中率 平均访问时间平均访问时间ta为:为:ta=h *tc+((1-h))*tm(3))e为为访问效率访问效率:: E=tc/ta*100%68高等课堂例例4.7 假设假设CPU执行某段程序时,共访问执行某段程序时,共访问Cache命中命中2000次,访问主存次,访问主存50次已知Cache的存取的存取周期为周期为50ns,, 主存的存取周期主存的存取周期200ns 求Cache-主存系统的命中率、效率和平均访问时间主存系统的命中率、效率和平均访问时间69高等课堂数据总线数据总线Cache替换机构替换机构可装进?可装进? 命中?命中?主存主存Cache 地址映象地址映象 变换机构变换机构 主主 存存访问主访问主存替换存替换Cache Cache 存储体存储体块号块号块内地址块内地址直接通路直接通路访问主存装入访问主存装入CacheNNYY块号块号块内地址块内地址CPU主存地址主存地址地址总线地址总线Cache地址地址3. Cache 基本结构基本结构Cache替换机构替换机构由由 CPU 完成完成 Cache 存储体存储体主存主存Cache 地址映象地址映象 变换机构变换机构 70高等课堂4. Cache 的的 读写读写 操作操作 访问访问Cache取出信息送取出信息送CPU 访问主存访问主存取出信息送取出信息送CPU将新的主存块将新的主存块调入调入Cache中中执行替换算法执行替换算法 腾出空位腾出空位 结束结束命中?命中?Cache满?满?CPU发出访问地址发出访问地址 开始开始YNYN读读71高等课堂 对对Cache写操作,必须与被映射的主存块内的写操作,必须与被映射的主存块内的信息完全一致。
信息完全一致 1)) 写直达法写直达法 2)) 写回法写回法写写Cache 和主存的一致性和主存的一致性 72高等课堂5. Cache 的改进的改进(1) 增加增加 Cache 的级数的级数片载(片内)片载(片内)Cache片外片外 Cache(2) 统一缓存和分开缓存统一缓存和分开缓存指令指令 Cache数据数据 Cache与主存结构有关与主存结构有关与指令执行的控制方式有关与指令执行的控制方式有关是否流水是否流水Pentium 8K 指令指令 Cache 8K 数据数据 CachePowerPC620 32K 指令指令 Cache 32K 数据数据 Cache73高等课堂二、二、Cache 主存的地址映象主存的地址映象 Cache中的块取自主存中的某个块,将主中的块取自主存中的某个块,将主存中某个块复制到存中某个块复制到Cache中某个块,依据一定中某个块,依据一定的映射规则,由主存地址映射到的映射规则,由主存地址映射到Cache地址称地址称为地址映射为地址映射 ((1)直接映射方式)直接映射方式 ((2)全相联映射方式)全相联映射方式 ((3)组相联映射方式)组相联映射方式74高等课堂1. 直接映象方式直接映象方式每个缓存块每个缓存块 i 可以和可以和 若干若干 个个 主存块主存块 对应对应每个主存块每个主存块 j 只能和只能和 一一 个个 缓存块缓存块 对应对应 字块字块字块地址字块地址 主存字主存字 块标记块标记t 位位c 位位b 位位主存地址主存地址m位位 Cache内地址内地址例:某内存为例:某内存为64块,块,Cache有有4块,采用直接映射方式。
块,采用直接映射方式主存中任意块和主存中任意块和Cache中唯一的块相对应中唯一的块相对应主存块号主存块号块内地址块内地址m位位b位位75高等课堂00011011000000000001000010000011000100000101000110111001111010111011111100111101111110111111…………000011 Mod 100 = ?j Mod C = ? j i标记??标记??111176高等课堂 字块字块 1 标记标记 字块字块 0 标记标记字块字块 2c-1标记标记Cache存储体存储体t位位01C--1… 字块字块字块地址字块地址 主存字主存字 块标记块标记t 位位c 位位b 位位主存地址主存地址 比较器(比较器(t位)位)= ≠不命中不命中有效位有效位=1??*m位位 Cache内地址内地址否否是是命中命中i = j mod C77高等课堂直接映象方式的特点:直接映象方式的特点:不灵活,每个主存块只能固定对应某个缓存块,不灵活,每个主存块只能固定对应某个缓存块,即使还空着许多位置也不能用即使还空着许多位置也不能用。
有其它改进有其它改进的映象方式吗的映象方式吗78高等课堂 2. 全相联映象方式全相联映象方式主存主存 中的中的 任一块任一块 可以映象到可以映象到 缓存缓存 中的中的 任一块任一块主存字块标记主存字块标记 字块内地址字块内地址主存地址主存地址m位位b位位例:某内存为例:某内存为64块,块,Cache有有4块,采用直接映射方式块,采用直接映射方式79高等课堂00011011000000000001000010000011000100000101000110111001111010111011111100111101111110111111………… i标记??标记??11110011101080高等课堂字块字块2m--1字块字块2c--1字块字块1 字块字块0……字块字块2c--1字块字块1字块字块0…标记标记标记标记标记标记m = t+cCache 存储器存储器主存储器主存储器 字块字块081高等课堂优点:优点:灵活,命中率高灵活,命中率高缺点缺点: 主存字块标记为全部块地址,访问主存字块标记为全部块地址,访问Cache时主存的字块标记要和时主存的字块标记要和Cache的全部标的全部标记位进行比较。
记位进行比较 全相联映象方式特点全相联映象方式特点82高等课堂3. 组相联映象方式组相联映象方式某一主存块某一主存块 j 按模按模 Q 映射到映射到 缓存缓存 的第的第 i 组组中的中的 任一块任一块 字块字块组地址组地址 主存字主存字 块标记块标记t 位位q 位位b 位位主存地址主存地址m位位 Cache内地址内地址例:某内存为例:某内存为64块,块,Cache有有4块,每组块,每组2块,采用组相联块,采用组相联映射方式映射方式Cache分成分成Q组,每组组,每组R块,块,i=j mod Q.组内两块,组相联映射定义为二路组相联组内两块,组相联映射定义为二路组相联83高等课堂01000000000001000010000011000100000101000110111001111010111011111100111101111110111111…………000001 Mod 10= ?j Mod q = ? i标记??标记??111011 Mod 10= ?000001110184高等课堂字块字块2m--1字块字块2c-r+1 字块字块2c-r + 1 字块字块2c-r字块字块2c-r -- 字块字块1 字块字块0……… 字块字块 3标记标记 字块字块 1标记标记字块字块 2c--1标记标记 字块字块 2标记标记 字块字块 0标记标记字块字块 2c--2标记标记………… 字块内地址字块内地址组地址组地址主存字块标记主存字块标记组组012c-r--1主存地址主存地址Cache主存储器主存储器共共 Q 组组,每组内两块(,每组内两块(r = 1)1 字块字块0 字块字块 1 字块字块 0 字块字块2c-r 字块字块2c-r+185高等课堂例例4.8 假设主存容量为假设主存容量为512KB,Cache容量为容量为4KB,每,每个字块为个字块为16个字,每个字个字,每个字32位。
位1))Cache地址有多少位,可容纳多少块地址有多少位,可容纳多少块2)主存地址有多少位,可容纳多少块)主存地址有多少位,可容纳多少块3)) 在直接映射方式下,主存的第几块映射到在直接映射方式下,主存的第几块映射到Cache的第的第5块设起始字块为第一块)块设起始字块为第一块)4)) 画出直接映射方式下主存地址字段中各段的位数画出直接映射方式下主存地址字段中各段的位数86高等课堂例例4.9 假设主存容量为假设主存容量为512K*16位,位,Cache容量为容量为4096*16位,块长为位,块长为4个个16位的字,访存地址为字地位的字,访存地址为字地址1) 在直接映射方式下,设计主存的地址格式在直接映射方式下,设计主存的地址格式2)在全相联映射方式下,设计主存的地址格式在全相联映射方式下,设计主存的地址格式3)在二路组全相联映射方式下,设计主存的地址)在二路组全相联映射方式下,设计主存的地址格式4)若主存容量为)若主存容量为1024K*16位,块长不变,在四路位,块长不变,在四路组相联方式下,设计主存的地址格式组相联方式下,设计主存的地址格式87高等课堂例例4.10 假设假设Cache的工作速度是主存的的工作速度是主存的5倍,且倍,且Cache被访问命中的概率是被访问命中的概率是95%,则采用,则采用Cache后,后,存储器性能提高多少存储器性能提高多少?88高等课堂例例4.11 设某机主存容量为设某机主存容量为16MB,Cache容量为容量为8KB,,每字块有每字块有8字,每字字,每字32位。
设计一个四路组相联映射位设计一个四路组相联映射的的Cache组织1) 画出主存地址字段中各段的位数画出主存地址字段中各段的位数2)设)设Cache初态为空,初态为空,CPU一次从主存的第一次从主存的第0,1,2,,…,,99单元读出单元读出100个字,并重复个字,并重复10次,问命中率多次,问命中率多少?少?3)若)若Cache速度是主存速度的速度是主存速度的5倍,试问有倍,试问有Cache和和无无Cache相比,速度提高多少倍?相比,速度提高多少倍?4)系统的效率为多少?)系统的效率为多少?89高等课堂三、替换算法三、替换算法1. 先进先出先进先出 (( FIFO ))算法算法 2. 近期最少使用法(近期最少使用法( LRU))算法算法小结小结某一某一 主存块主存块 只能固定只能固定 映射到映射到 某一某一 缓存块缓存块直接直接全相联全相联组相联组相联某一某一 主存块主存块 能能 映射到映射到 任一任一 缓存块缓存块某一某一 主存块主存块 能能 映射到映射到 某一某一 缓存缓存 组组 中的中的 任一块任一块不灵活不灵活成本高成本高90高等课堂考研题:考研题:假设某计算机按字变址,假设某计算机按字变址,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 91高等课堂4.4 辅助存储器辅助存储器一、磁记录原理一、磁记录原理 磁盘是用某些磁性材料薄薄地涂在金属铝表面磁盘是用某些磁性材料薄薄地涂在金属铝表面作载磁体来存储信息作载磁体来存储信息l 92高等课堂二、硬磁盘存储器二、硬磁盘存储器1. 硬磁盘存储器的类型硬磁盘存储器的类型(1) 固定磁头和移动磁头固定磁头和移动磁头(2) 可换盘和固定盘可换盘和固定盘2. 硬磁盘存储器结构硬磁盘存储器结构磁磁 盘盘 控控 制制 器器磁磁 盘盘 驱驱 动动 器器盘盘 片片主主 机机93高等课堂 (1) 磁盘控制器磁盘控制器• 接受主机发来的命令,转换成磁盘驱动器的控制命令接受主机发来的命令,转换成磁盘驱动器的控制命令• 实现主机和驱动器之间的数据格式转换,数据缓冲、实现主机和驱动器之间的数据格式转换,数据缓冲、 串并,并串转换。
串并,并串转换• 控制磁盘驱动器读写控制磁盘驱动器读写通过总线通过总线对主机对主机对硬盘(设备)对硬盘(设备)磁盘控制器磁盘控制器 :主机与磁盘驱动器之间的主机与磁盘驱动器之间的 接口接口94高等课堂(2) 磁盘驱动器磁盘驱动器 控制磁盘的转动,找到目标磁道完成数据控制磁盘的转动,找到目标磁道完成数据转换及读转换及读/写控制操作写控制操作 (3) 盘片盘片由硬质铝合金材料制成由硬质铝合金材料制成, 是存储信息的载体是存储信息的载体95高等课堂96高等课堂97高等课堂01298高等课堂l 磁磁道道(Track)(Track)::磁磁面面上上均均匀匀分分布布的的同同心心圆圆存存储储轨轨迹迹最最外外层层为为0 0磁磁道道也也称称柱柱面面(Cylinder)(Cylinder)::各各个个盘盘面面上上同同一一编编号号磁磁道道的组合l 盘盘面面::磁磁盘盘组组由由多多个个同同轴轴盘盘片片组组成成,,每每个个盘盘片片都都是是双双面面存存储储,,第第一一个个盘盘片片的的第第一一面面为为0 0磁磁面面,,下下一一个个为为1 1磁磁面面;;第第二二个个盘片的第一面为盘片的第一面为2 2磁面,以此类推。
磁面,以此类推l 扇扇区区(Sector)(Sector)::磁磁道道上上等等弧弧度度划划分分的的扇扇段段一一般般一一个个扇扇区区的存储容量为的存储容量为512512字节l 台号台号磁道号磁道号(柱面)柱面)盘面号盘面号扇段号扇段号99高等课堂三三. 硬磁盘的磁道记录格式硬磁盘的磁道记录格式1)定长记录格式定长记录格式 每个磁道由若干个扇段组成,每个每个磁道由若干个扇段组成,每个扇段扇段记录一记录一个数据块,每个数据块格式大小固定记录格个数据块,每个数据块格式大小固定记录格式简单,可以根据台号、磁道号、盘面号、扇式简单,可以根据台号、磁道号、盘面号、扇段号进行寻址段号进行寻址2)不定长记录格式)不定长记录格式 根据需要来决定记录块大小根据需要来决定记录块大小100高等课堂磁盘地址:磁盘地址:磁盘地址:磁盘地址:台号台号磁道号磁道号 盘面号盘面号扇段扇段号号101高等课堂四、磁表面存储器的技术指标四、磁表面存储器的技术指标道密度道密度 Dt位密度位密度 DbC = n × k × s寻道时间寻道时间 ts+ 等待时间等待时间tw(1) 记录密度记录密度(2) 存储容量存储容量(3) 平均平均寻址时间寻址时间(4) 数据传输率数据传输率辅存的速度辅存的速度寻址时间寻址时间磁头读写时间磁头读写时间Dr = Db × V 记录密度和记录介质运动速度记录密度和记录介质运动速度102高等课堂l例例4.12 假设磁盘存储器共有假设磁盘存储器共有6个盘片,最外两侧盘个盘片,最外两侧盘面不能记录,每面有面不能记录,每面有204条磁道,每条磁道有条磁道,每条磁道有12个个扇段,每个扇段有扇段,每个扇段有512B,磁盘机以,磁盘机以7200rpm速度旋速度旋转,磁头平均定位时间为转,磁头平均定位时间为8ms。
l1) 计算该磁盘存储器的存储容量计算该磁盘存储器的存储容量l2)计算该磁盘存储器的平均寻址时间计算该磁盘存储器的平均寻址时间103高等课堂l例例4.13 一个磁盘组共有一个磁盘组共有11片,每片有片,每片有203道,数据道,数据传输率为传输率为983040Bps,磁盘组转速为,磁盘组转速为3600rpm假设每个记录块有设每个记录块有1024B,且系统可挂,且系统可挂16台这样的台这样的磁盘机,计算该磁盘存储器的总容量并设计磁盘磁盘机,计算该磁盘存储器的总容量并设计磁盘地址的格式地址的格式104高等课堂l引申引申 :目前磁盘的主要参数:目前磁盘的主要参数l(1)目前磁盘主流转速5400rpm ,7200rpml(2)RAIDl (3) ATA、 SCSI、IDE、SAS105高等课堂五、光盘五、光盘1. 概述概述采用光存储技术采用光存储技术采用非磁性介质采用非磁性介质采用磁性介质采用磁性介质第一代光存储技术第一代光存储技术第二代光存储技术第二代光存储技术不可擦写不可擦写可擦除重写可擦除重写2. 光盘的存储原理光盘的存储原理1)只读型)只读型 2)只写一次型)只写一次型3)可擦写光盘)可擦写光盘利用激光写入和读出利用激光写入和读出106高等课堂l1.某计算机字长是.某计算机字长是16位,它的存储容量是位,它的存储容量是1MB,按字编址,它的寻址范围是,按字编址,它的寻址范围是______。
lA..512K;; lB..1M;; lC..512KB;; lD..1MBl2.一个.一个16K×32位的位的RAM存储器,其地址线和数存储器,其地址线和数据线的总和是据线的总和是______lA..48;; lB..46;; lC..36;; lD..32..107高等课堂考研题:考研题:假设某计算机按字编址,假设某计算机按字编址,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 108高等课堂。












