资源预览内容
第1页 / 共93页
第2页 / 共93页
第3页 / 共93页
第4页 / 共93页
第5页 / 共93页
第6页 / 共93页
第7页 / 共93页
第8页 / 共93页
第9页 / 共93页
第10页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 计算机组成与系统结构计算机组成与系统结构Computer Organization And Systems Architecture教师:张建教师:张建E-mail: Zj960514163.com办公室:办公室: 主楼主楼B1-707电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 引言引言冯若依曼(Von Nouma)美籍匈牙利数学家 1903 1957存储程序概念存储程序概念要运行的程序必须先调入内存,然后再执行。程序程序MemoryCPULoadAllExecuteOne by one电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.1 7.1 存储器概述存储器概述n存储器的分类半导体存储器1. 静态随机存储器 SRAM2. 动态随机存储器 DRAM磁表面存储器:容量、存储周期容量、存储周期例:例:2GB 60ns容量、转速容量、转速例:例: 200GB 7200转转/分分3. 闪存 - Flash Memory电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 光盘存储器: 1. 1. CD-ROM:只读性光盘:只读性光盘 2. 2. WORM:写入式(只能写一次):写入式(只能写一次) 3. 3. CD-RW:可擦:可擦/ /写光盘写光盘DVD - Digital Versatile Disc 4.7GBVCD - Video Compact Disc 700MB7.1 7.1 存储器概述存储器概述电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n存储器存取方式 可按地址随机地访问任一存储单元随机存取存储器(RAM) 访问时间与访问地址无关顺序存取存储器(SAM)必须按顺序访问,例如:磁带。速度慢,现在已Out了。7.1 7.1 存储器概述存储器概述电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 直接存取储器(DAM)7.1 7.1 存储器概述存储器概述 第1步:直接选取该区域第2步:该区域内顺序存取电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n按可更改性分类7.1 7.1 存储器概述存储器概述 只读存储器(ROM)/读/写存储器最初的信息是如何写入的呢?电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n按功能分类7.1 7.1 存储器概述存储器概述高速缓冲存储器主存储器辅助存储器海量后备存储器电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 主存储器基本框图主存储器基本框图地地址址寄寄存存器器地地址址译码读写控制写控制电路路地址线读写控制信号数据线电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n存储器的主要性能指标 存储容量单位:Byte、KB、MB、GB 存取周期 CPU连续访存中平均一次存取操作所需的时间。7.1.3 7.1.3 存储器的主要性能指标存储器的主要性能指标 存储器的带宽 单位时间内传输的最大数据率,字节/秒电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.1.4 7.1.4 存储器的层次化结构存储器的层次化结构CPU主存储器主存储器冯冯冯冯 若依曼计算若依曼计算若依曼计算若依曼计算机体系结构机体系结构机体系结构机体系结构辅助存储器辅助存储器解决大容量低成解决大容量低成解决大容量低成解决大容量低成本矛盾本矛盾本矛盾本矛盾Cache解决解决解决解决CPUCPUCPUCPU与主存与主存与主存与主存与速度不匹配与速度不匹配与速度不匹配与速度不匹配的矛盾的矛盾的矛盾的矛盾电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器10 六管静态MOS管存储单元1110假设要将假设要将假设要将假设要将“ “1 1” ”存存存存储在该单元中储在该单元中储在该单元中储在该单元中电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器静态静态RAMRAM的组成的组成电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器(1) (1) (1) (1) 无需进行数据的刷新,外围电路简单。无需进行数据的刷新,外围电路简单。无需进行数据的刷新,外围电路简单。无需进行数据的刷新,外围电路简单。(2) (2) (2) (2) 速度快。速度快。速度快。速度快。(3) (3) (3) (3) 管数较多,成本高。管数较多,成本高。管数较多,成本高。管数较多,成本高。(4) (4) (4) (4) 功耗大,双稳态触以器中始终有一个功耗大,双稳态触以器中始终有一个功耗大,双稳态触以器中始终有一个功耗大,双稳态触以器中始终有一个MOSMOSMOSMOS管导通。管导通。管导通。管导通。静态存储器静态存储器静态存储器静态存储器( ( ( (SRAMSRAM) ) ) )的特点:的特点:的特点:的特点:电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器静态静态RAMRAM芯片举例芯片举例电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器62646264引脚功能说明:引脚功能说明:引脚功能说明:引脚功能说明: A12A0:地址线地址线地址线地址线 D7D0:数据线数据线数据线数据线 NC:未使用未使用未使用未使用 CE:片选信号片选信号片选信号片选信号 WE:写信号写信号写信号写信号 OE:读信号读信号读信号读信号电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器动态存储器动态存储器动态存储器动态存储器DRAMDRAM11111假设要将假设要将假设要将假设要将“ “1 1” ”存储在该单元中存储在该单元中存储在该单元中存储在该单元中电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器从存储单元中读出数据从存储单元中读出数据从存储单元中读出数据从存储单元中读出数据1/0VB=(V1+V0 )/2预充电预充电预充电预充电V VB BV1 1=“=“1 1” ”的电平的电平的电平的电平V0 0=“=“0 0” ”的电平的电平的电平的电平11该点有充放电现象,该点有充放电现象, 以此判断以此判断1/0电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.2.4 7.2.4 半导体随机存取存储器半导体随机存取存储器从动态存储器的工作原理可知:从动态存储器的工作原理可知:从动态存储器的工作原理可知:从动态存储器的工作原理可知:集成度高,功耗低,位成本低。集成度高,功耗低,位成本低。集成度高,功耗低,位成本低。集成度高,功耗低,位成本低。由于电容存存漏电现象,需周期刷新。由于电容存存漏电现象,需周期刷新。由于电容存存漏电现象,需周期刷新。由于电容存存漏电现象,需周期刷新。是破坏性读出,需读后重写。是破坏性读出,需读后重写。是破坏性读出,需读后重写。是破坏性读出,需读后重写。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.3.2 7.3.2 存储器芯片的扩展存储器芯片的扩展当单个存储芯片的容量不能满足系统要求时,当单个存储芯片的容量不能满足系统要求时,当单个存储芯片的容量不能满足系统要求时,当单个存储芯片的容量不能满足系统要求时,需多片组合起来以扩展字长需多片组合起来以扩展字长需多片组合起来以扩展字长需多片组合起来以扩展字长( ( ( (位扩展位扩展位扩展位扩展) ) ) )或字数或字数或字数或字数( ( ( (字字字字扩展扩展扩展扩展) ) ) )或字位全扩展。或字位全扩展。或字位全扩展。或字位全扩展。位扩展位扩展在位数方向扩展在位数方向扩展在位数方向扩展在位数方向扩展( ( ( (加大字长加大字长加大字长加大字长) ) ) ),使芯片的位数与,使芯片的位数与,使芯片的位数与,使芯片的位数与系统要求位数相一致的。系统要求位数相一致的。系统要求位数相一致的。系统要求位数相一致的。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.3.2 7.3.2 存储器芯片的扩展存储器芯片的扩展当单个存储芯片的容量不能满足系统要求时,当单个存储芯片的容量不能满足系统要求时,当单个存储芯片的容量不能满足系统要求时,当单个存储芯片的容量不能满足系统要求时,需多片组合起来以扩展字长需多片组合起来以扩展字长需多片组合起来以扩展字长需多片组合起来以扩展字长( ( ( (位扩展位扩展位扩展位扩展) ) ) )或字数或字数或字数或字数( ( ( (字字字字扩展扩展扩展扩展) ) ) )或字位全扩展。或字位全扩展。或字位全扩展。或字位全扩展。位扩展位扩展在位数方向扩展在位数方向扩展在位数方向扩展在位数方向扩展( ( ( (加大字长加大字长加大字长加大字长) ) ) ),使芯片的位数与,使芯片的位数与,使芯片的位数与,使芯片的位数与系统要求位数相一致的。系统要求位数相一致的。系统要求位数相一致的。系统要求位数相一致的。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.3.2 7.3.2 存储器芯片的扩展存储器芯片的扩展9030 9030 电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 字扩展字扩展9070 9070 译码电路路电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.4 7.4 半导体只读存储器和半导体只读存储器和FlashFlash存储器存储器n半导体只读存储器半导体只读存储器半导体只读存储器半导体只读存储器掩膜只读存储器掩膜只读存储器掩膜只读存储器掩膜只读存储器可编程只读存储器可编程只读存储器可编程只读存储器可编程只读存储器可擦除可编程只读存储器可擦除可编程只读存储器可擦除可编程只读存储器可擦除可编程只读存储器电电电电擦除电改写只读存储器擦除电改写只读存储器擦除电改写只读存储器擦除电改写只读存储器n半导体半导体半导体半导体FlashFlashFlashFlash存储器存储器存储器存储器电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.5 7.5 并存储器结构技术并存储器结构技术9070 9070 9070 9070 译码电路路n连续编址方式连续编址方式连续编址方式连续编址方式电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.5 7.5 并存储器结构技术并存储器结构技术9070 9070 9070 9070 译码电路路n交叉编址方式交叉编址方式交叉编址方式交叉编址方式电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 7.6 高速缓冲存储器高速缓冲存储器控制器控制器数据路径数据路径存储器存储器处理器处理器输入输入输出输出指令指令数据数据n存储器向处理器提供指令和数据但但问题是是:存:存储器器太小太小、太慢太慢?电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n时间局部性如果某个数据被访问,那么很快它有可能再次被访问。n空间局部性如果某个数据被访问,那么与它邻近的数据有可能很快被访问。Really? 别骗我!我!局部性原理局部性原理电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 CacheCache的基本原理的基本原理nDRAM的发展趋势容量:4倍/3年速度:2倍/10年电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 CacheCache的基本原理的基本原理nCPU与Memory的速度差110100100019801981198319841985198619871988198919901991199219931994199519961997199819992000CPU1982增长:增长: 50% / 年年性能性能“Moores Law”DRAM电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 Cache的基本工作原理的基本工作原理n问题:存储器太小、太慢办法:存储器系统分层结构控制器控制器 数据数据 路径路径存储器存储器(内存内存)(DRAM)处理器处理器寄寄存存器器L1Cache(SRAM)L2Cache(SRAM)外存外存(硬盘硬盘)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 处理器处理器数据行或数据行或块命中命中: 数据在高数据在高层存存储器器缺失缺失: 数据没有位于高数据没有位于高层存存储器器Cache的基本工作原理的基本工作原理电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 术语术语命中率在高层存储器中找到访问数据的比例。缺失率在高层存储器中没有找到访问数据的比例。缺失率 = 1 命中率电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 术语术语命中时间访问高层存储器所需的时间。缺失代价将数据块从低层搬到高层存储器并送到处理器所需的时间。判断时间 + 数据传送时间电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 当前计算机的存储器结构当前计算机的存储器结构SystemControllerL1 CacheMain Memory(DRAM)GraphicsProcessor(I/O Bus)L2 CacheProcessor电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 CacheCache的原理的原理CPU主存主存Cachen插入到CPU与主存间n由快速SRAM实现n存储程序的部分指令数据n操作:命中(在Cache中)未命中 (不在Cache中)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 例例题题:例7.2(1)Cache的命中率?访存次数:未命中次数:命中率:1000 + 3000 = 40004 + 6 = 104000 104000= 99.75%电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 例例题题:例7.2(2)CPU的平均访存时间?= 2.02( )电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 实现实现CacheCache的的4 4个关键问题个关键问题1:数据块放在Cache的什么地方?2:如何在Cache中找到所需的数据块?3:Cache未命中时如何转换数据块?4:写数据时如何写?A. 只写Cache?B. 只写Memory?C. 同时时写Cache和Memory?D. 其它?电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 基本的基本的CacheCache设计设计- -直接映射直接映射主存中每一个页只能映射到某一固定的主存中每一个页只能映射到某一固定的主存中每一个页只能映射到某一固定的主存中每一个页只能映射到某一固定的CacheCache页页页页中,直接映射有如下函数关系:中,直接映射有如下函数关系:中,直接映射有如下函数关系:中,直接映射有如下函数关系:K = j K = j K = j K = j modmodmodmodK : CacheK : CacheK : CacheK : Cache的页号的页号的页号的页号j : j : j : j : 主存的页号主存的页号主存的页号主存的页号n : Cachen : Cachen : Cachen : Cache页号的位数页号的位数页号的位数页号的位数CacheCacheCacheCache中的页数中的页数中的页数中的页数 = 2= 2= 2= 2n n n nCacheCacheCacheCache中中中中的页数的页数的页数的页数电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 假定:假定:主存的容量为主存的容量为主存的容量为主存的容量为1MB1MB,每页大小,每页大小,每页大小,每页大小512B512B, , , ,分为分为分为分为2048204820482048页;页;页;页;CacheCacheCacheCache的容量为的容量为的容量为的容量为8KB8KB,每页大小,每页大小,每页大小,每页大小512B512B, , , ,分为分为分为分为16161616页;页;页;页;二者必须二者必须相等相等基本的基本的CacheCache设计设计- -直接映射直接映射电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 组号组号第第0页页7位位Cache组号组号第第1页页组号组号第第15页页第第0页页第第1页页第第15页页第第16页页第第17页页第第31页页第第2032页页第第2033页页第第2047页页0组组1组组127组组主存主存组号组号组内页号组内页号页内地址页内地址XXYYZZ749定位定位Cache页,页,读取组号读取组号相等吗?相等吗?据此判断内存目标页据此判断内存目标页是否在是否在Cache中中基本的基本的CacheCache设计设计- -直接映射直接映射电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n内存地址结构的设计内存地址结构的设计组号组号组内页号组内页号数据页(数据页(512B)4位位7位位主存的容量为主存的容量为主存的容量为主存的容量为1MB1MB,每页大小,每页大小,每页大小,每页大小512B,512B,分为分为分为分为20482048页页页页512 = 299位位16 = 242048/16 = 128 = 27基本的基本的CacheCache设计设计- -直接映射直接映射电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 nCache地址结构的设计地址结构的设计CacheCache的容量为的容量为的容量为的容量为8KB8KB,每页大小,每页大小,每页大小,每页大小512B512B, ,分为分为分为分为1616页页页页标记位标记位有效位有效位数据页(数据页(512B)1位位7位位标记位 = 204816 = 128 = 27必必须与主存与主存页大小相同大小相同基本的基本的CacheCache设计设计- -直接映射直接映射数据是否已存入标记数据是否已存入标记电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 000010100101110100100111010101110000101010XXXXXXXXX09 812 1119VTagData=DATAHIT基本的基本的CacheCache设计设计- -直接映射直接映射电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 n特点:特点: 硬件硬件实现容易;实现容易; Cache利用率低;利用率低;基本的基本的CacheCache设计设计- -直接映射直接映射电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 举例举例假设一个直接映射的Cache,有16KB数据,块大小4个字,地址32位,那么Cache总共有多少位?(即Cache的大小)参考答案:参考答案:MIPS中:32位/字=4字节/字块大小:4字/块=16字节/块=128位/块16KB分为:16K16=1K=1024(块)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 举例举例数据数据块0128bit有效位有效位1bit标记位位18bit数据数据块1有效位有效位标记位位数据数据块1023有效位有效位标记位位1024= 147= 18.4电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 举例举例对于前面例子,若内存地址分别为100005和0x100005的字节将分别映到Cache的哪一块?10000516 = 6250.3125参考答案:n对于内存地址100005 该内存地址位于第?块映射到Cache的块 = 62501024 = 1066249块?6250块?6251块?6250块电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 10位举例举例参考答案:n对于内存地址0x100005010100000000000000000001500001十六进制十六进制二进制二进制= 0映射到的块 = 第 块电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 基本的基本的CacheCache设计设计- -全相联映射全相联映射主存中每一个主存中每一个主存中每一个主存中每一个页可映射到任意一个页可映射到任意一个页可映射到任意一个页可映射到任意一个CacheCache页页页页中。中。中。中。CacheMemoryTagBlock 0TagBlock m-1Block 0Block 1Block n-1电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 基本的基本的CacheCache设计设计- -全相联映射全相联映射n地址结构设计地址结构设计地址结构设计地址结构设计主存的主存的主存的主存的容量容量容量容量为为为为1MB1MB,每页大小,每页大小,每页大小,每页大小512B512B, ,分为分为分为分为20482048页页页页CacheCache的容量为的容量为的容量为的容量为8KB8KB,每页大小,每页大小,每页大小,每页大小512B512B, ,分为分为分为分为1616页页页页标记位标记位有效位有效位数据页(数据页(512B)1位位11位位标记位标记位数据页(数据页(512B)11位位9位位判断是否判断是否在在Cache中中电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 基本的基本的CacheCache设计设计- -全相联映射全相联映射特点:特点:特点:特点:CacheCacheCacheCache标记太长,判断时间太长标记太长,判断时间太长标记太长,判断时间太长标记太长,判断时间太长硬件复杂硬件复杂硬件复杂硬件复杂CacheCacheCacheCache利用率高利用率高利用率高利用率高电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 nn路组相联映射假设:主存:32位地址线Cache大小:256KB块大小:4KBn:4,即4路组组相联映射基本的基本的CacheCache设计设计- -组组相联映射组组相联映射电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 组组相联映射组组相联映射-Cache -Cache 的设置的设置TagBlock 0TagBlock 1TagBlock 2TagBlock 3TagBlock 0TagBlock 1TagBlock 2TagBlock 3TagBlock 0TagBlock 1TagBlock 2TagBlock 34路相联0组1组15组组的大小=44=16KBCache的组数 =25616=16最后组是15组电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 组组组相联映射组相联映射 - - 主存主存(Memory)(Memory)的设置的设置Block 0Block 1Block15Block 0Block 1Block 15Cache分为16组0组Block 0Block 1Block 151组65535组组的大小=164=64KB主存的组数 =23221064=65536最后组是65535组电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 组组组相联映射组相联映射 - Cache - Memory)- Cache - Memory)的映射关系的映射关系Block 0Block 1Block 15Block 0Block 1Block 15Block 0Block 1Block 15TagBlock 0TagBlock 1TagBlock 2TagBlock 3TagBlock 0TagBlock 1TagBlock 2TagBlock 3TagBlock 0TagBlock 1TagBlock 2TagBlock 30组1组15组0组1组65535组CacheMemory电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 组组相联映射组组相联映射 - -主存主存(Memory)(Memory)地址地址12 bits组内块号:01516 bits组号:0655354 bits块内寻址:块大小4K31011121516电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 组组相联映射组组相联映射 - Cache - Cache 的标志的标志 ( Tag )( Tag )1 bit16 bits有效位Tag数据数据块Data问题(针对前面的假设):主存地址:101A 1234 (Hex)计算:该地址数据放入Cache后,在Cache中的的块号及对应Cache项的Tag是多少?内存中的组号电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 在在CacheCache中查找一个块中查找一个块n4路相联Cache电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 CacheCache的的缺失与关联度缺失与关联度关关联度度数据缺失率数据缺失率110.3%28.6%48.3%88.1%Cache: Size = 64KB , Block size = 16 words 10个SPEC2000测试程序的结果电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 标记位大小与组组相联标记位大小与组组相联假设一个Cache:有4K个块块大小为4个字主存地址为32位计算:直接映射、两路组相联、四路组相联和全相联映射时,Cache的总组数及总的标记位数?电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 标记位大小与组组相联标记位大小与组组相联1. 直接映射Cache的1个块就是1个组Cache的总组数:4K = 212索引位的长度 = log2212= 12每项标记位的长度 = 32 12 4 = 16块大小大小4个字,即个字,即16=24个字个字节,故需要,故需要4位地址表示。位地址表示。总的标记位数 = 164 = 64K(位)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 标记位大小与组组相联标记位大小与组组相联2. 两路组映射Cache的2个块为1个组每项标记位的长度 = 32 11 4 = 17总的标记位数 = 174 = 68K(位) Cache的总组数 = 4 2 = 2K = 211电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 标记位大小与组组相联标记位大小与组组相联3. 四路组映射Cache的4个块为1个组每项标记位的长度 = 32 10 4 = 18总的标记位数 = 184 = 72K(位) Cache的总组数 = 4 4 = 1K = 210电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 标记位大小与组组相联标记位大小与组组相联5. 全相联映射Cache只有一个4K的块组每项标记位的长度 = 32 4 = 28总的标记位数 = 284 = 112K(位) Cache的总组数 = 1电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 主存主存(Memory)(Memory)地址地址12 bits组内块号:01516 bits组号:0655354 bits块内寻址:块大小4K31011121516电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 Cache Cache 的标志的标志 ( Tag )( Tag )1 bit16 bits有效位Tag数据数据块Data问题(针对前面的假设):主存地址:101A 1234 (Hex)计算:该地址数据放入Cache后,在Cache中的的块号及对应Cache项的Tag是多少?内存中的组号电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 问题解答问题解答(1)(1):1. 首先计算该地址在主存的块号:n该地址所在的块号是: = 101 1234 (4210) = 101 12. 分析块号n在主存中的组号及组内序号在主存中的组号:101AH组内序号:1H(每组有16个块)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 问题解答问题解答(2)(2):3. 存入Cache后所对应的块 映射到Cache的第1组,即: 块在主存中组内序号为1H4. 对应Cache的Tag是:101AHCache块号为:47 中的某一块电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 存入存入Cache Cache 后的情况后的情况有效位TagData1组组4#块0#块 7#块63#块1101AH XXXCache电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 缺失率与块大小缺失率与块大小电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 缺失率与块大小缺失率与块大小Cache块较大时,一 旦缺失,带来的延时和开销是比较大的。n提前重启(early restart)当块中所需字一旦返回就马上执行,而不需要等待整个块都传过来再执行。该技术用于指令访问,效果较好,因为指令通常是连续的。该技术用于数据Cache效率要低一些,因为请求的数据其分布无法预知。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 缺失率与块大小缺失率与块大小n请求字优先/关键字优先缺失时,先将请求字从存储器传输到Cache中,然后再传输该块的剩余部分,之后再从块的开始部分传输。该技术的延时性能比提前重启要好一些。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 Cache的缺失处理的缺失处理n指令Cache缺失的处理步骤将PC 4送到存储器中通知主存执行读操作,并等待主存访问完成写Cache项,并设置Cache相关标志重新取指令,此时指令在Cache中电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 写操作处理写操作处理nWrite-through(写直达/通写)当需要写数据时(执行Store指令),将数据同时写入Cache和主存中。优点:Cache和主存的内容保持一致。缺点:耗时长,效率低。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 写操作处理写操作处理n写缺失当要写的数据不在Cache中时,发生写缺失。1. 将主存中的数据块读到Cache;2. 将要写的数据写到Cache和主存中;为什么不直接写到什么不直接写到Cache和主存?和主存?电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 写操作处理写操作处理n写直达方法简单,但效率低下例如例如,10%的指令是store,没有Cache失缺的情况下,CPI为1.0,每次写操作要额外花费100个周期,此时CPI为:CPI - ClockcyclePerInstruction= . + % = 电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 写操作处理写操作处理n写缓冲(Write buffer)当有数据需要写入主存时:将数据写入Cache和写缓冲区(write buffer)后,处理器继续执行;当写主存操作完成后,写缓冲区里的数据被释放;若写缓冲区满,则处理器必须等待一个写操作完成后(释放一个空位)才能将数据写入写缓冲区。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 写操作处理写操作处理n写回机制(Write back 回写)当有数据需要写入主存时:先将数据写入Cache,并作已修改标记;当被修改的Cache块被替换时才将Cache的内容写回主存;电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 精解精解n写缺失时的策略写直达/通写(write through)1. 写分配策略(write allocate)2. 写不分配策略(no write allocate)写回机制/回写(write back)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 设计支持设计支持CacheCache的存储系统的存储系统n主存是由DRAM构成数据宽度固定通过总线(Bus)与处理器连接总线频率比处理要慢很多假设:假设:地址(address)传输需要1个总线周期存储器存储需要15个总线周期数据(data)传输需要1个总线周期电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 设计支持设计支持CacheCache的存储系统的存储系统如果一个Cache块有4个字,DRAM的宽度为1个字:缺失代价:1 + 415 + 41 = 65()每个总线周期传输的字节数:4465 = 0.25( /)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 1 1个字存储器带宽个字存储器带宽处理器Cache主存主存Bus1个字缺失代价:1 + 415 + 41 = 65()每个总线周期传输的字节数:4465 = 0.25(B/cycle)电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 增加存储器带宽增加存储器带宽2 2个字宽度个字宽度处理器Cache主存主存MUXBus2个字缺失代价:= 1 + 215 + 21每个总线周期传输的字节数:= 4433= 33()= 0.48( /)49.2%92%电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 增加存储器带宽增加存储器带宽4 4个字宽度个字宽度处理器CacheBus交叉存储组织存存储体体0#存存储体体1#存存储体体2#存存储体体3#缺失代价:= 1 + 115 + 41= 20()每个总线周期传输的字节数:= 4420= 0.8( /)69.2%2.2倍电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 问题:问题:处理器CacheBus存存储体体0#存存储体体1#存存储体体2#存存储体体3#存存储体体4#存存储体体5#存存储体体6#存存储体体n#这样可能会更好!可能会更好!电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 存储器的最新发展存储器的最新发展n双倍速率动态随机存储器Double Data Rate DRAM基本原理:在时钟的上升沿和下降沿各传输一次数据。电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 小结小结nCache块越大,则Cache的命中率越高,效率也高,但缺失代价也越大。n为避免性能损失增加主存带宽增加存储器位宽交叉存取电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 小测验小测验在Cache设计时,下面哪些指导思想是正确的?A. 存储器延时越短,cache块小B. 存储器延时越短,cache块大C. 存储器带宽越高,cache块小D. 存储器带宽越高,cache块大电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 CacheCache中主存块的替换算法中主存块的替换算法: 计数器使用位电子科技大学计算机科学与工程学院电子科技大学计算机科学与工程学院 CacheCache中主存块的替换算法中主存块的替换算法3. 最不经常用算法4. 随机替换算法您的消息是什么您的消息是什么?POWERPOINT 2010
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号