《第三章 存储系统.ppt》由会员分享,可在线阅读,更多相关《第三章 存储系统.ppt(179页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华北电力大计算机系华北电力大计算机系王晓霞王晓霞 计算机组成原理第三章计算机组成与结构第三章第三章 存储系统存储系统 第三章 本章结构3.4辅辅助存储器助存储器3.3高速缓冲存储器高速缓冲存储器3.2 主存储器主存储器3.1 存储系统存储系统3.5 虚拟存储系统虚拟存储系统3.6 相联存储器相联存储器3.7 存存储保护储保护计算机组成与结构第三章第三章 存储系统存储系统 3.1 存储系统概述存储器的分类存储器的分类 3.1.1 存储系统的层次结构存储系统的层次结构3.1.2计算机组成与结构第三章第三章 存储系统存储系统 存储器的分类1.按存储介质分类按存储介质分类(1)半导体存储器半导体存储器
2、(2)磁表面存储器磁表面存储器(3)磁芯存储器磁芯存储器(4)光盘存储器光盘存储器易失易失TTL、MOS磁头、载磁体磁头、载磁体硬磁材料、环状元件硬磁材料、环状元件激光、磁光材料激光、磁光材料非非易易失失计算机组成与结构第三章第三章 存储系统存储系统 存储器的分类(1)存取时间与物理地址无关(随机访问)存取时间与物理地址无关(随机访问)顺序存取存储器顺序存取存储器 磁带磁带2.按存取方式分类按存取方式分类(2)存取时间与物理地址有关(串行访问)存取时间与物理地址有关(串行访问)随机存储器随机存储器(RAM)只读存储器只读存储器(ROM)直接存取存储器直接存取存储器 磁盘磁盘计算机组成与结构第三
3、章第三章 存储系统存储系统 存储器的分类磁盘、磁带、光盘磁盘、磁带、光盘 高速缓冲存储器(高速缓冲存储器(Cache)Flash Memory存存储储器器主存储器主存储器辅助存储器辅助存储器MROMPROMEPROMEEPROMRAMROM静态静态 RAM动态动态 RAM3.按在计算机中的作用分类按在计算机中的作用分类计算机组成与结构第三章第三章 存储系统存储系统 存储系统的层次结构n存储系统由几个容量、速度和价格各不相同的存储器构成的系统。n目标n容量大n速度快n价格低计算机组成与结构第三章第三章 存储系统存储系统 存储系统的层次结构高高低低小小大大快快慢慢辅辅存存寄存器寄存器缓存缓存主存主
4、存磁盘磁盘光盘光盘磁带磁带光盘光盘磁带磁带速度速度容量容量 价格价格 位位CPUCPU主主机机计算机组成与结构第三章第三章 存储系统存储系统 存储系统的层次结构CPU寄存器组主存cache辅存主机解决主存速度不足解决主存容量不足Cache存储系统虚拟存储系统计算机组成与结构第三章第三章 存储系统存储系统 存储系统的层次结构缓存缓存CPU主存主存辅存辅存缓存缓存主存主存辅存辅存主存主存10 ns20 ns200 nsms(速度)(速度)(容量)(容量)计算机组成与结构第三章第三章 存储系统存储系统 3.2 主存储器第三章 主存储器概述主存储器概述 3.2.1 半导体存储器存储原理半导体存储器存储
5、原理3.2.2主存储器的设计与扩展主存储器的设计与扩展3.2.3计算机组成与结构第三章第三章 存储系统存储系统 3.2.1 主存储器概述1.主存的基本组成主存的基本组成存储体存储体驱动器驱动器译码器译码器MAR控制电路控制电路读读写写电电路路MDR地址总线地址总线数据总线数据总线读读写写计算机组成与结构第三章第三章 存储系统存储系统 3.2.1 主存储器概述2.主存和主存和 CPU 的联系的联系MDRMARCPU主主 存存读读数据总线数据总线地址总线地址总线写写计算机组成与结构第三章第三章 存储系统存储系统 3.2.1 主存储器概述(2)存储速度存储速度3.主存的技术指标主存的技术指标(1)存
6、储容量存储容量(3)存储器的带宽存储器的带宽主存主存 存放二进制代码的总位数存放二进制代码的总位数 读出时间读出时间 写入时间写入时间 存储器的存储器的 访问时间访问时间 存取时间存取时间 存取周期存取周期 读周期读周期 写周期写周期 连续两次独立的存储器操作连续两次独立的存储器操作(读或写)所需的(读或写)所需的 最小间隔时间最小间隔时间 单位时间内存储器存取的信息量单位时间内存储器存取的信息量 单位单位:位位/秒秒计算机组成与结构第三章第三章 存储系统存储系统 3.2.2 半导体存储器存储原理 双极型存储单元与存储原理第三章 TTL型存储单元计算机组成与结构第三章第三章 存储系统存储系统
7、3.2.2 半导体存储器存储原理 TTL型存储器芯片举例(SN74189)第三章 16脚双列直插式封装 存储容量16单元4位 SN74189SN74189(16164 4)1 18 89 91616A A0 0/S/W DI/S/W DI1 1 DO DO1 1 DI DI2 2 DO DO2 2 GND GND V VCCCC A A1 1 A A2 2 A A3 3 DI DI4 4 DO DO4 4 DI DI3 3 DO DO3 3 计算机组成与结构第三章第三章 存储系统存储系统 3.2.2 半导体存储器存储原理 静态MOS存储单元存储原理 静态MOS存储单元电路第三章 VccVccT
8、3T3T1T1T4T4T2T2T5T5T6T6Z ZW W 组成触发器T1、T3:MOS反相器T2、T4:MOS反相器T5、T6:控制门管Z:字线(选择存储单元)W、W:定义“0”:T1导通,T2截止;“1”:T1截止,T2导通。W W位线(完成读写)计算机组成与结构第三章第三章 存储系统存储系统 3.2.2 半导体存储器存储原理第三章 工作Z:加高电平,T5、T6导通,选中该单元。写入:在W、W上分别加高、低电平,写1/0。读出:根据W、W上有无电流,读1/0。保持Z:加低电平,只要电源正常,保证向导通管提供电流,便能维持一管导通,另一管截止的状态不变,称静态。静态单元是非破坏性读出,读出后
9、不需重写。计算机组成与结构第三章第三章 存储系统存储系统 3.2.2 半导体存储器存储原理 静态MOS存储芯片举例(Intel 2114)第三章 21142114(1K1K4 4)1 19 910101818A6 A5 A4 A3 A0 A1 A2 CS GND A6 A5 A4 A3 A0 A1 A2 CS GND VccVcc A7 A8 A9 D0 D1 D2 D3 WE A7 A8 A9 D0 D1 D2 D3 WE地址端:A9A0(入)数据端:D3D0(入/出)控制端:片选CS=0 选中芯片=1 未选中芯片写使能WE=0 写=1 读电源、地 读写时序读周期ACSDOUT地址有效地址有
10、效地址失效地址失效片选失效片选失效数据有效数据有效数据稳定数据稳定高阻高阻tAtCOtOHAtOTDtRC片选有效片选有效读周期读周期 tRC 地址有效地址有效 下一次地址有效下一次地址有效读时间读时间 t tA A 地址有效地址有效数据稳定数据稳定 tCO 片选有效片选有效数据稳定数据稳定tOTD 片选失效片选失效输出高阻输出高阻tOHA 地址失效后的地址失效后的数据维持时间数据维持时间写周期ACSWEDOUTDINtWCtWtAWtDWtDHtWR写周期写周期 t tWCWC 地址有效地址有效下一次地址有效下一次地址有效写时间写时间 t tW W 写命令写命令 WEWE 的有效时间的有效时
11、间t tAWAW 地址有效地址有效片选有效的滞后时间片选有效的滞后时间t tWRWR 片选失效片选失效下一次地址有效下一次地址有效t tDWDW 数据稳定数据稳定 WE WE 失效失效t tDHDH WE WE 失效后的数据维持时间失效后的数据维持时间计算机组成与结构第三章第三章 存储系统存储系统 动态MOS存储单元与芯片n基本存储原理:存储信息以电荷形式存于电容上,通常定义电容充电至高电平,为1;放电至低电平,为0。第三章 计算机组成与结构第三章第三章 存储系统存储系统 单管动态存储单元第三章 组成C:记忆单元T:控制门管Z:字线W:位线 定义“0”:C无电荷,电平V0(低)“1”:C有电荷
12、,电平V1(高)动态MOS存储单元与芯片计算机组成与结构第三章第三章 存储系统存储系统 动态MOS存储单元与芯片第三章 工作写入:Z加高电平,T导通。W加高/低电平,写1/0读出:W预充电,断开充电回路。Z加高电平,T导通,根据W线电位的变化,读1/0。保持Z:加低电平,T截止,该单元未选中,保持原状态单管单元是破坏性读出,读出后需重写。计算机组成与结构第三章第三章 存储系统存储系统 动态存储器的刷新n刷新 定期向电容补充电荷n刷新原因 电容上存储的电荷会泄露n刷新间隔 2msn刷新与重写n刷新:非破坏性读出,补充电荷n重写:破坏性读出,恢复原来信息第三章&刷新方式 刷新与行地址有关刷新与行地
13、址有关 集中刷新集中刷新(存取周期为存取周期为0.5 s s )“死时间率死时间率”为为 128/4 000 100%=3.2%“死区死区”为为 0.5 s s 128=64 s s 周期序号周期序号地址序号地址序号tc0123871 387201tctctctc3999V W01127读读/写或维持写或维持刷新刷新读读/写或维持写或维持3872 个周期个周期(1936 s s)128个周期个周期(64 s s)刷新时间间隔刷新时间间隔(2 ms)刷新序号刷新序号tcXtcY 以以128 128 矩阵为例矩阵为例tC=tM +tR读写读写 刷新刷新无无“死区死区”分散刷新分散刷新(存取周期为存
14、取周期为1 s )(存取周期为存取周期为 0.5 s+0.5 s )以以 128 128 矩阵为例矩阵为例W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔刷新间隔 128 个存取周期个存取周期 分散刷新与集中刷新相结合(异步刷新)分散刷新与集中刷新相结合(异步刷新)对于对于 128 128 的存储芯片的存储芯片(存取周期为存取周期为 0.5 s s )将刷新安排在指令译码阶段,不会出现将刷新安排在指令译码阶段,不会出现“死区死区”“死区死区”为为 0.5 s s 若每隔若每隔 15.6 s s 刷新一行刷新一行每行每隔每行每隔 2 ms 刷新一次刷
15、新一次计算机组成与结构第三章第三章 存储系统存储系统 动态动态 RAM 和静态和静态 RAM 的比较的比较DRAMSRAM存储原理存储原理集成度集成度芯片引脚芯片引脚功耗功耗价格价格速度速度刷新刷新电容电容触发器触发器高高低低少少多多小小大大低低高高慢慢快快有有无无主存主存缓存缓存计算机组成与结构第三章第三章 存储系统存储系统 半导体只读存储器第三章 1.掩模掩模 ROM(MROM)行列选择线交叉处有行列选择线交叉处有 MOS 管为管为“1”行列选择线交叉处无行列选择线交叉处无 MOS 管为管为“0”2.PROM(一次性编程一次性编程)VCC行线行线列列线线熔丝熔丝熔丝断熔丝断为为“0”为为“
16、1”熔丝未断熔丝未断计算机组成与结构第三章第三章 存储系统存储系统 半导体只读存储器 3.EPROM(多次性编程多次性编程)2716 EPROM112A7A1A0VSSDO2DO0DO127162413VCCA8A9VPPCSA10PD/ProgrDO3DO7PD/Progr功率下降功率下降/编程输入端编程输入端 读出时读出时 为为 低电平低电平计算机组成与结构第三章第三章 存储系统存储系统 半导体只读存储器 4.EEPROM(多次性编程多次性编程)电可擦写电可擦写局部擦写局部擦写全部擦写全部擦写5.Flash Memory(闪速型存储器闪速型存储器)比比 EEPROM快快EPROM价格便宜价
17、格便宜 集成度高集成度高EEPROM电可擦洗重写电可擦洗重写具备具备 RAM 功能功能计算机组成与结构第三章第三章 存储系统存储系统 半导体只读存储器特点:第三章(1)固有的固有的非易失性非易失性具有可靠的非易失性,是一种理想的存储器。(2)廉价的廉价的高密度高密度节省了后援存储器(磁盘)的额外费用和空间。(3)可直接可直接执行执行直接与CPU连接,工作速度仅取决于闪速存储器的存取时间。(4)固态固态性能性能是一种低功耗、高密度且没有机电移动装置的半导体技术。&闪速存储器计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展设计一个存储器需要明确总容量指标。主存储器构
18、成:ROM和RAM。芯片数量:取决于主存总容量和每个芯片容量大小。主存储器的组织:存储器逻辑设计、如何与CPU连接、动态存储器的刷新、存储器的校验等。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 主存储器容量的扩充 位扩展方式:原有 2K4 芯片,扩展为 2K8 芯片第三章 2K4CSD7D4数据线数据线(双向双向)CPUD0D7A0A10 R/W2K4CSD3D0地址线地址线(单向单向)片选信号线片选信号线读写信号线读写信号线计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 字扩展方式:原有 2K8 芯片,扩展为 4
19、K8 芯片2K8CSD7D0数据线数据线(双向双向)CPUD0D7A0A10R/W A112K8CSD7D0地址线地址线(单向单向)片选信号线片选信号线读写信号线读写信号线计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 字位同时扩展方式 用2114(1K4)SRAM芯片组成容量为4K8的存储器。地址总线A15A0(低),双向数据总线D7D0(低),读/写信号线R/W。计算芯片数 先扩展位数,再扩展单元数。第三章 2片1K4 1K8 4组1K8 4K8 8片 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 先扩展单元数,再扩展位
20、数。第三章 4K4 2组4K4 4K8 8片 4片1K4 地址分配与片选逻辑存储器寻址逻辑芯片内的寻址系统(二级译码)芯片外的地址分配与片选逻辑为芯片分配哪几位地址,以寻找片内的存储单元由哪几位地址形成片选逻辑,以寻找芯片计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展存储空间分配:4KB存储器在16位地址空间(64KB)中占据任意连续区间。第三章 64KB1K41K41K41K41K41K41K41K4需12位地址寻址:4KBA15A12A11A10A9A0 A11A00 0 0 0 任意值 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 1
21、0 0 0 1 1 0 0 1 1 1 1 片选 芯片地址 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 连接方式 扩展位数;扩展单元数;连接控制线;形成片选逻辑电路。第三章 低位地址分配给芯片,高位地址形成片选逻辑。芯片 芯片地址 片选信号 片选逻辑1K1K1K1KA9A0A9A0A9A0A9A0CS0CS1CS2CS3A11A10 A11A10 A11A10 A11A10 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 4 1K4 1K4410 1K4 1K4410 1K4 1K44104 1K4 1K441044
22、A9A0D7D4D3D044R/WA11 A10CS3A11 A10CS0A11 A10CS1 A11 A10CS2计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 4 1K4 1K4410 1K4 1K4410 1K4 1K44104 1K4 1K441044A9A0D7D4D3D044R/WY0 Y1 Y2 Y3 2:4 译码器译码器A10A11与CPU的接线图计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 访存地址的译码方式 地址码:片内地址和选片地址两部分。片内地址:由低端地址码构成,其长度取决于 所选存储芯片的字
23、数。选片地址:高端地址码为选片地址,经译码产 生选片信号。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 全译码方式 选片地址部分全部参加译码。两种情况:实际使用的存储空间与CPU可访问的最大存储空间相同;对实际空间的地址范围有严格要求。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 实际使用存储空间与CPU可访问最大存储空 间相同。例:CPU的访存地址长16位(A15A0),可访问最大存储空间64KB,选用16K4芯片8片,构成4个小组,片内地址14位,选片地址2位,2位选片地址必须全部参加译码才能产生4个片
24、选信号。4个小组的地址范围为:0000H3FFFH 4000H7FFFH 8000HBFFFH C000HFFFFH 第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 实际使用存储空间小于CPU可访问最大存储空间,对实际空间地址范围有严格的要求。例:CPU的访存地址长16位(A15A0),可访问的最大存储空间为64KB,而系统中实际使用的存储空间只有8KB,选用容量4K4的芯片4片,并要求其地址范围必须在4000H5FFFH范围内。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 芯片号片选地址片内地址译码输
25、出地址范围A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A000000000010101010101010101010101=000000FFFH00000011010101010101010101010101=010001FFFH00001100010101010101010101010101=020002FFFH00001111010101010101010101010101=030003FFFH00110000010101010101010101010101=040004FFFH00110011010101010101010101010101=050005FFF
26、H00111100010101010101010101010101=060006FFFH00111111010101010101010101010101=070007FFFH计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 地地址址译译码码方方式式A11A0A15 A14 A13 A124K4CS Y0 Y4 Y5 Y6 Y7G1 G2A G2BC B A5V4K4CS4K4CS4K4CS计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 按照这种译码方式,当前使用的存储空间其地址范围被严格地定义在4000H5FFFH范围内,
27、最大可扩充为32K8(位)存储空间。两种全译码方式共同特点:所使用的存储芯片的地址范围是唯一的。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展 部分译码方式 实际使用的存储空间比CPU可访问的最大存储空间小,而且对实际空间的地址范围没有严格要求。例:CPU的访存地址长16位(A15A0),可访问的最大存储空间为64KB,而系统中实际使用的存储空间只有16KB,选用容量4K4的芯片8片第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 地地址址译译码码方方式式A11A0A12A13A14A154K4D3D0CS
28、 Y0 Y1 Y2 Y32:4 译码器译码器4K4D3D0CS4K4D3D0CS4K4D3D0CS4K4D7D4CS4K4D7D4CS4K4D7D4CS4K4D7D4CS最高2位地址线A15A14未参加译码,即部分译码。计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 地址分配(Y0)片选地址片内地址译码输出地址范围A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A000000000010101010101010101010101=000000FFFH00110000010101010101010101010101=040004FF
29、FH11000000010101010101010101010101=080008FFFH11110000010101010101010101010101=0C000CFFFH计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第2组地址范围为(其余类推):1000H1FFFH;5000H5FFFH;9000H9FFFH;D000HDFFFH。采用部分译码使得各芯片出现了重叠的地址范围,其地址重叠区的个数取决于没有参加译码的地址码的位数。本例中,2位地址码没有参与译码,所以出现四个地址重叠区。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储
30、器的设计与扩展 主存储器的编址方式按字编址按字节编址第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展主存容量16K32(位)按字编址,访存地址码长度14(位);按字节编址,访存地址码长度16(位)。第三章 00,0000,0000,000000,0000,0000,000100,0000,0000,001011,1111,1111,1111(a)按字编码0000,0000,0000,00000000,0000,0000,01000000,0000,0000,10001111,1111,1111,1100 3 2 1 0 7 6 5 4 B A 9 8FF
31、FFH FFFEH FFFDHFFFCH(b)按字节编码计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展主存储器设计举例例1 现有8K4的RAM和8K8的ROM。CPU输出地址线A0A15,数据线D0D7,欲构成24KRAM,16KROM存储器。地址范围:RAM 20007FFFH,ROM C000FFFFH。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展RAM用8K4的芯片组成,8K4芯片6片。ROM末地址首地址=FFFFHC000H=3FFFH,ROM容量:214=16K。ROM用8K8芯片组成,8K8的芯片2片。R
32、OM的地址范围展开为1100 0000 0000 00001111 1111 1111 1111,高位地址A15A14A13为110111。已给定存地址空间,有严格的要求,属于全译码方式。地址无重叠区。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展第三章 存储器的组成结构图及与CPU的连接图计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展例2 某计算机系统中,CPU可输出20条地址线(A19A0),8条数据线(D7D0)和一条读/写控制线(WE),主存储器按字节编址,由16KB的ROM和64KB的RAM组成。拟采用8K4
33、(位)的ROM芯片2片,8K8(位)的ROM芯片1片,32K2(位)的RAM芯片4片,32K8(位)的RAM芯片1片。主存储器可采用部分译码方式。第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展计算机组成原理第三章 计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展主存储器地址范围第三章 32K8的RAM1个8180001FFFFH =0 0 0 0 0 0 0 1 1 1 1 1 1 X X X 1 1 X X X 1 132K2的RAM4个81000017FFFH =0 0 0 0 0 0 0 1 1 1 1 1 1 X
34、 X X 1 0 X X X 1 08K8的ROM1个320800009FFFH =00 0 0 01 1 1 1 X X X 0 1 X X X X X 0 1 X X8K4的ROM2个320000001FFFH =00 0 0 01 1 1 1 X X X 0 0 X X X X X 0 0 X XA12A11A10 A0A19 A18 A17 A16 A15 A14 A13RAMROM片数重叠区个数地址范围译码输出片内地址选片地址所选芯片计算机组成与结构第三章第三章 存储系统存储系统 3.2.3 主存储器的设计与扩展对于芯片、可构成32个地址重叠区第三章 出现多个地址重叠区的原因是由于有
35、一部分地址码没有参加译码。&提高访存速度的措施提高访存速度的措施 采用高速器件采用高速器件 调整主存结构调整主存结构1.单体多字系统单体多字系统 W位位W位位W位位W位位W位位 地址寄存器地址寄存器 主主存存控控制制器器.单字长寄存器单字长寄存器 数据寄存器数据寄存器 存储体存储体 采用层次结构采用层次结构 Cache 主存主存 增加存储器的带宽增加存储器的带宽 2.多体并行系统多体并行系统(1)高位交叉高位交叉 M0M1M2M3体内地址体内地址体号体号体号体号地址地址00 000000 000100 111101 000001 000101 111110 000010 000110 1111
36、11 000011 000111 1111顺序编址顺序编址 各个体并行工作各个体并行工作M0地址地址01n1M1nn+12n1M22n2n+13n1M33n3n+14n1地址译码地址译码体内地址体内地址体号体号体号体号(1)高位交叉高位交叉 M0M1M2M3体号体号体内地址体内地址地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 011111 101111 11(2)低位交叉低位交叉各个体轮流编址各个体轮流编址M0地址地址044n4M1154n3M2264n2M3374n1地址译码地址译码 体号体号体
37、内地址体内地址 体号体号(2)低位交叉低位交叉 各个体轮流编址各个体轮流编址低位交叉的特点低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽在不改变存取周期的前提下,增加存储器的带宽时间时间 单体单体访存周期访存周期 单体单体访存周期访存周期启动存储体启动存储体 0启动存储体启动存储体 1启动存储体启动存储体 2启动存储体启动存储体 3设四体低位交叉存储器,存取周期为设四体低位交叉存储器,存取周期为T,总线传输周期,总线传输周期为为,为实现流水线方式存取,应满足,为实现流水线方式存取,应满足 T 4。连续读取连续读取 4 个字所需的时间为个字所需的时间为 T(4 1)3.高性能存储芯片高
38、性能存储芯片(1)SDRAM(同步同步 DRAM)在系统时钟的控制下进行读出和写入在系统时钟的控制下进行读出和写入CPU 无须等待无须等待(2)RDRAM由由 Rambus 开发,主要解决开发,主要解决 存储器带宽存储器带宽 问题问题(3)带带 Cache 的的 DRAM 在在 DRAM 的芯片内的芯片内 集成集成 了一个由了一个由 SRAM 组成的组成的 Cache,有利于,有利于 猝发式读取猝发式读取 计算机组成与结构第三章第三章 存储系统存储系统 3.3 高速缓冲存储器(cache)第三章 Cache的工作原理与的工作原理与Cache结构结构 3.3.1主存与主存与Cache的地址映象的
39、地址映象 3.3.2Cache的替换算法的替换算法 3.3.3Cache的读写过程的读写过程 3.3.4Cache的性能分析的性能分析 3.3.5计算机组成与结构第三章第三章 存储系统存储系统 引入Cache的目的nCache 引入:nCPU速度与主存速度相差很大(例如,一般的DRAM的工作速度比CPU慢100倍以上)n为解决CPU和主存之间的速度差距,提高整机的运算速度n存储CPU经常访问的数据和命令nCache特点n存取速度快,容量小n存储控制和管理由硬件实现nCache全部用硬件调度对所有程序员都是透明的计算机组成与结构第三章第三章 存储系统存储系统 Cache的位置nCache工作速度
40、很高,可以将其集成到CPU内n高性能CPU通常用两、三级Cachen一级在CPU内,其容量比较小,速度很快n第二、三级在主板上,容量比较大,速度比第一级低5倍左右计算机组成与结构第三章第三章 存储系统存储系统 程序运行的局部性原理n程序运行的局部性原理表现在三方面n n时间方面时间方面时间方面时间方面:在一小段在一小段时间时间内,最近被访问过的程序和内,最近被访问过的程序和数据很可能再次被访问,数据很可能再次被访问,例如:程序循环例如:程序循环n n空间方面空间方面空间方面空间方面:在在空间空间上这些被访问的程序和数据往往集上这些被访问的程序和数据往往集中在一小片存储区,中在一小片存储区,例如
41、:数组存放例如:数组存放n n指令执行顺序方面指令执行顺序方面指令执行顺序方面指令执行顺序方面:在访问在访问顺序顺序上,指令顺序执行比上,指令顺序执行比转移执行的可能性大转移执行的可能性大 (大约大约 5:1)5:1)计算机组成与结构第三章第三章 存储系统存储系统 3.3.1 Cache的基本结构第三章 Cache的的基基本本结结构构主存Cache替换机构Cache存储体主存cache地址映像变换机构 块号 块内地址 块号 块内地址地址总线数据总线CPU未满?命中?主存地址访问主存替换cache访问主存装入cachecache地址直接通路nonoyesyes计算机组成与结构第三章第三章 存储系
42、统存储系统 3.3.1 Cache的基本结构nCache系统主要由三部分组成nCache存储体n地址映象变换机构n替换机构nCache系统的工作原理n把Cache和主存都分成相同大小的块,每一块由若干个字或字节组成n主存地址和Cache地址 第三章 计算机组成与结构第三章第三章 存储系统存储系统 n为了把信息从主存复制到Cache,必须应用某种规则或方法把主存地址定位到Cache中,称作地址映像。n在信息按照这种映像关系(采用硬件方法实现)装入Cache后,执行程序时应将主存地址变换成Cache地址,这个变换过程叫做地址变换。n地址的映像和变换是密切相关的。n基本地址映像方式n直接映像n全相联
43、映像n组相联映像3.3.2 主存与Cache的地址映象 计算机组成与结构第三章第三章 存储系统存储系统&映像规则映像规则 一个主存块只能映像到一个主存块只能映像到Cache中的唯一一个指定块中的唯一一个指定块&映像规律:映像规律:j=i mod C j是是Cache的块号的块号i是主存的块号是主存的块号C为为Cache的块数的块数直接映像计算机组成与结构第三章第三章 存储系统存储系统 第N-1块 第1块第0块第MN-1块 第(M-1)N-1块第(M-1)N块 第N-1块 第1块第0块第第0区区第第M-1区区主存主存Cache的直接映射图的直接映射图Cache直接映像相等比较块内地址块号区号主存
44、地址主存地址块内地址块号Cache地址地址比较相等比较相等,且且有效位为有效位为1,访问访问Cache块失效块失效命中命中有效位区号(按地址访问)1块表存储器块表存储器地址变换过程地址变换过程计算机组成与结构第三章第三章 存储系统存储系统 n直接映象方法的主要优点直接映象方法的主要优点硬件实现很简单硬件实现很简单访问速度也比较快访问速度也比较快实际上不做地址变换实际上不做地址变换 n直接映象方法的主要缺点直接映象方法的主要缺点 块的冲突率太高块的冲突率太高第一区的第第一区的第0块和第二区的第块和第二区的第0块都映象到块都映象到cache第第0块块直接映像例例1:某机主存为:某机主存为1MB=2
45、20,Cache为为8KB=213,每块为每块为512B=29。Cache分为分为24=16块;主存分为块;主存分为220-9=2048块,又分块,又分20-4-9=7,27=128区,每区区,每区16块。块。15块块标记标记 .1块块标记标记0块块标记标记2047块块 2033块块2032块块 31块块 17块块16块块15块块 1块块0块块块内块内地址地址Cache块号块号主存主存标记标记7位位 Cache主存主存主存地址主存地址0区区1区区127区区主存块号主存块号Cache地址地址7位位4位位9位位在访存时,只需比较在访存时,只需比较两者标记,如相同则命中两者标记,如相同则命中计算机组
46、成与结构第三章第三章 存储系统存储系统 n例2:设有一个Cache容量4K字,每个块为32字,主存的容量为256K字,试问:(1)该Cache分为多少块?主存可分为多少块?(2)在直接映像方式下,主存的第i块映像到Cache中的哪一块?(3)进行直接地址映像时,Cache地址有多少位?Cache的地址分为哪几段?各段分别为几位?(4)进行直接地址映像时,主存地址有多少位?分为哪几段?各段分别为几位?直接映像计算机组成与结构第三章第三章 存储系统存储系统 解:解:(1)Cache中有4K/32=1024*4/32=128块;主存可分为256K/32=8192块(2)j=i mod 128 其中,
47、j是Cache的字块号,i是主存的字块号。(3)因为Cache的容量为4K字=212字,所以Cache的字地址为12位。分成两段:块地址和块内地址。因为每个块为32字=25字,所以块内地址是5位字地址;Cache中有128块=27块,块地址为7位。(4)因为主存的容量为256K字=218字,所以主存的地址为18位。分成三段:主存字块标记、块地址和块内地址。主存字块标记的长度为主存地址长度减去Cache地址长度之差,即18-12=6位。因为主存的块地址和块内地址与Cache的相同,所以块内地址是5位,块地址为7位。直接映像例3:设一个直接映像的Cache中有8个块,访问主存进行读的块地址顺序为十
48、进制数22、26、22、26、16、4、16、18,求每次访问后Cache中的内容。解:v因为主存的访问是块地址,最大的块地址号为26 所以可以用5位二进制数表示主存的块地址。vCache中有8个块,需要3位块地址。v因此以主存的低3位地址作为Cache的块号,高2位地址作为主存字块标记位识别Cache命中情况。计算机组成与结构第三章第三章 存储系统存储系统 表表1 直接映像的块分配情况直接映像的块分配情况访问顺序12345678主存块地址222622261641618主存块地址1011011010101101101010000001001000010010Cache 000块16161616
49、Cache 001块Cache 010块26262626262618Cache 011块Cache 100块444Cache 101块Cache 110块2222222222222222Cache 111块操作状态调入调入命中命中调入调入命中替换计算机组成与结构第三章第三章 存储系统存储系统&规则规则u映象规则:主存中的任意一块都可以映象映象规则:主存中的任意一块都可以映象 到到Cache中的任意一块中的任意一块u用硬件实现非常复杂用硬件实现非常复杂全相联映像计算机组成与结构第三章第三章 存储系统存储系统 第N-1块 第1块第0块第MN-1块 第1块第0块 全相联映像全相联映像特点:特点:1、
50、冲突概率低、冲突概率低 2、空间利用率高、空间利用率高 3、地址变换复杂、地址变换复杂 4、速度较慢、速度较慢全相联映像计算机组成与结构第三章第三章 存储系统存储系统 块内地址块号B块内地址块号b有效位Cache块号b主存块号BbB主存地址主存地址Cache地址地址命中命中相联比较相联比较块表块表全相联映像块内地址内地址15块标记标记.1块标记标记0块标记标记2047块15块1块0块主存块标号主存块标号11位位 Cache主存主存主存地址主存地址主存块号主存块号11位位9位位由于每个由于每个Cache块可以映射块可以映射2048个主存块中的任一块,因个主存块中的任一块,因此每块的此每块的Cac