计算机组成原理存储器PPT_第1页
计算机组成原理存储器PPT_第2页
计算机组成原理存储器PPT_第3页
计算机组成原理存储器PPT_第4页
计算机组成原理存储器PPT_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理存储器PPT第一页,共四十七页,编辑于2023年,星期五

第4章

教学内容§4.1概述§4.2主存储器一、概述二、半导体存储芯片结构三、RAM存储器四、ROM存储器五、存储器与CPU的连接六、存储器的校验七、提高访存速度的措施§4.3高速缓冲存储器§4.4辅助存储器第二页,共四十七页,编辑于2023年,星期五六、存储器的校验为了能及时发现并纠正存储过程中数据的差错,需要对数据作检验和校正,常常将原数据配成校验码。1、码距(1)定义:一种编码体制中,各组合代码间不同位的bit数称为距离,其中最小的距离称为该编码的码距0011000000110010码距=2码距=1(2)作用:衡量一种编码的查错、纠错能力。第三页,共四十七页,编辑于2023年,星期五(3)查错与纠错的原理:1)约定某种规律作为检测的依据,将有效信息位+校验位形成校验码,再传输;译码后检测是否符合约定规律,从而知道传输数据有没有错误。2)增大码距可以提高校验信息量,为指出出错位和纠正错误位提供了可能。L-1=D+C(D≥C)L—编码的最小距离D—检测错误的位数C—纠正错误的位数2、例子(1)8421码:无校验位的编码01110110码距=1011究竟是6还是7,无法知道,也不知道有无错误,更无法纠错第四页,共四十七页,编辑于2023年,星期五(2)奇偶校验码:有1位校验位的编码如:8位偶校验码为

1011001□,□中为0

1011011□,□中为1若其中D2位由0变1,则校验位也要变为1,即:1位错,则有2bit不同,故码距=2约定:有效信息位+1个校验位=校验码奇校验:校验码中1的个数必须为奇数偶校验:校验码中1的个数必须为偶数通过检测校验码中是否偶数个1来判断有无传输错误,而且只能检测1、3、5等奇数个错误,无法具体指出错误位置,无法纠错。常用于主存等不容易出错的地方作校验。第五页,共四十七页,编辑于2023年,星期五3、循环校验码CRC(1)约定规律:校验码能被某约定代码除尽设:有效信息A,约定代码G,则R余数,A-R为检验码(2)编码方法:有效信息+余数=校验码如:A=1100,G=1110,则模2除法得R=010,所以校验码为1100010(7,4码);1位有错则余数也应该变,故码距=4,能检测2位错,赳1位。第六页,共四十七页,编辑于2023年,星期五无余数,传输正确;有余数,传输出错。(3)译码查错方法:校验码约定码有错时,不同余数值对应不同出错位数,见P146表4.6(4)赳错方法:将错误位取反,得正确得校验码更换检测码不会改变不同余数值对应不同出错位数的规律。利用“循环特性”可以将任何位的错误循环到N1位,故只在N1位设纠错电路—异或门,可节省硬件。生成多项式第七页,共四十七页,编辑于2023年,星期五(5)生成多项式的条件:任一位出错,则余数不为零不同出错位对应不同的余数余数添0继续作模2除,余数循环4、海明码HanmingCode(1)约定编码规律:海明码是具有一位纠错能力的编码,海明码的组成有下列三要素。①海明码的组成需要增添检测位k的计算:2k≥n+k+1n有效信息位数,n-k的规律见P100表4.2第八页,共四十七页,编辑于2023年,星期五②检测位的位置i安排:2i(i=0、1、2、3……)③检测位的取值原则:检测位的取值与该位Ci所在的检测“小组”gi中承担的奇偶校验任务有关。C1检测的g1小组包含第1,3,5,7,9,11…C2检测的g2小组包含第2,3,6,7,10,11…C4检测的g3小组包含第4,5,6,7,12,13…C8检测的g4小组包含第8,9,10,11,12,13,14,15…gi小组独占第2i-1位gi和gj小组共同占第2i-1+2j-1位gi、gj和gl小组共同占第2i-1+2j-1+2l-1位第九页,共四十七页,编辑于2023年,星期五例:求0101按“偶校验”配置的海明码解:∵n=4根据2k

≥n+k+1得k=3海明码排序如下:序号1234567名称C1

C2b4C4b3b2b1配置0

100101结论:0101的配偶海明码为:010010110011010101的配奇海明码为:?第十页,共四十七页,编辑于2023年,星期五(2)译码纠错过程:形成新的检测位Pi,(i=1,2,4,8……),其检测算法与Ci对应。对于按“偶校验”配置的海明码,正确传输后Pi=0,对于按“奇校验”配置的海明码,正确传输后Pi=1;否则Pi的组合数值(高位到低位排列)将指明出错位数;若是有效位出错,则取反该位即可,若检测位出错,一般不予纠正。如果编码时k=3,则新检测位为P4P2P1,且:第十一页,共四十七页,编辑于2023年,星期五例:已知接收到的海明码为0100111,(按配偶原则配置)试问要求传送的信息是什么?解:先判断是否传输有错,纠错过程如下:P4P2P1=110B=6,第6位出错,可纠正为0100101,故要求传送的信息为0101。k=3,则新检测位为P4P2P1,且:“配奇”原则编码见P102例题4.5第十二页,共四十七页,编辑于2023年,星期五七、提高访存速度的措施采用层次结构——缓存、主存、辅存寻找高速元件——*自学SDRAM\RDRAM\CDRAM调整主存结构——单体多字、多体并行、设置存控1、单体多字系统

指令和数据在主存内连续存放。存储器内仅一套地址寄存器和地址译码器,但可以在一个存取周期内从同一地址取出n条指令或数据,再同时或分时由DB送CPU。相当于1/n周期就向CPU提供了一条指令,增大了存储器带宽。W位M0M1Mn-1地址译码器MARMDRW位……W位…….第十三页,共四十七页,编辑于2023年,星期五2、多体并行系统

多体模块组成存储器。每模块有相同的容量、存取速度和独立的MAR、MDR、译码器、驱动电路、读写电路。高位交叉编址多体存储器,程序按体内地址连续依体存放,利于存储器扩充。

顺序存储第十四页,共四十七页,编辑于2023年,星期五

低位交叉编址的多体存储器(下图),程序连续存放在相邻体中,交叉存储。利于取连续执行指令模4交叉存储第十五页,共四十七页,编辑于2023年,星期五多体并行存储器并行工作方式:Ⅰ—并行方式:N体同时启动,并行工作,分时传送Ⅱ—流水线方式:N体分时启动、分时工作,分时传送不改变存取周期的前提下,增大了存储器带宽(Page106例4.6)第十六页,共四十七页,编辑于2023年,星期五3、设置存控

存储器控制部件可以合理安排I/O、辅存、CPU等对主存的访问顺序,控制读写操作,提高效率。排队器控制线路节拍发生器存控标志发生器…QCMCP1易失代码请求2严重影响CPU工作的请求3写数请求4读数请求…第十七页,共四十七页,编辑于2023年,星期五

第4章

教学内容§4.1概述§4.2主存储器§4.3高速缓冲存储器

一、基本结构与工作原理二、地址映像和变换三、替换策略§4.4辅助存储器第十八页,共四十七页,编辑于2023年,星期五§4.3高速缓冲存储器一、基本结构与工作原理1、设置Cache的目的:(1)开辟CPU信息“小仓库”,避免与I/O争抢访存(2)提供高速信息平台,解决CPU-主存速度不匹配

一直以来,CPU和主存储器的速度总是有差距。CPU的发展一直以速度为主,以提高速度为核心;主存的发展一直以容量为主,以提高容量为核心;如何解决这之间的矛盾?这不是一个技术问题,而是一个经济问题。从技术上说,能制造出多高速度的CPU,就能制造出同样速度的存储器,只不过是我们是否愿意付出如此高的价格。有没有更好的办法?能否用廉价的高容量存储器实现相对的高速度呢?第十九页,共四十七页,编辑于2023年,星期五2、设置Cache的理论依据—程序局部性原理程序在一定的时间段内通常只访问较小的地址空间地址空间访问概率两种局部性第二十页,共四十七页,编辑于2023年,星期五地址之间的映射关系:如何从主存地址得到Cache地址?主存内容是否已经在Cache中?Cache内容装入策略如何提高Cache的命中率?如何实现主存地址—Cache地址的地址映射判断?要解决的主要问题第二十一页,共四十七页,编辑于2023年,星期五3、设置主存-缓存的编址方式:都按块存储,块的大小相同,块长都为b,块的个数不同主存缓存第二十二页,共四十七页,编辑于2023年,星期五——Miss,CPU发出访存操作请求后,要访问的内容不在缓存中。4、术语和计算公式块数块长命中未命中命中率——主存共有M块,缓存共有C块,M>>C——一个存取周期内从主存调出的信息长度一般每块可取4至8个字——Hit,CPU发出访存操作请求后,要访问的内容已经在缓存中。——CPU欲访问的信息在Cache中的比率。与Cache的容量、与块长有关标记——Cache块前,表示当前块与主存块对应关系的记号。第二十三页,共四十七页,编辑于2023年,星期五访问主存总次数命中率访问Cache总命中次数平均访问时间访问效率命中时Cache访问时间未命中时主存访问时间第二十四页,共四十七页,编辑于2023年,星期五例题:CPU访问Cache命中2000次,访问主存50次,Cache存取周期50ns,主存存取周期200ns。求:Cache-M.M系统的命中率、平均访问时间、效率及使用缓存后存储系统性能提高倍数。第二十五页,共四十七页,编辑于2023年,星期五5、Cache工作过程示意框图第二十六页,共四十七页,编辑于2023年,星期五6、Cache读操作第二十七页,共四十七页,编辑于2023年,星期五7、Cache写操作写数据必须考虑Cache与主存保持内容一致性的问题(1)写直达法:(存直达法)

把数据同时写入Cache和主存简单,正确率高,增加访存次数,存取速度慢(2)写回法:(拷回法)把数据写入Cache并标志为“浊”,在该块被替换前才写回主存。存取速度快,读Cache失效时要先将替换块写回主存,操作复杂。(3)失效法:把数据只写入主存,并标志Cache中相应块为“0”,使之失效。存取速度慢,操作简单,适宜多Cache系统。第二十八页,共四十七页,编辑于2023年,星期五单一缓存和二级缓存片载Cache——强调速度片外Cache——强调容量(2)统一缓存和分立缓存将指令Cache与数据Cache分开,主要考虑因素:主存结构是否同一、指令执行是否指令预取和指令流水控制方式。8、Cache的改进第二十九页,共四十七页,编辑于2023年,星期五二、地址映像和地址变换地址映像:存放在主存中的程序按照某种规则复制到缓存中地址字段分配:

Cache和主存都按块存储、以块交换,每块内的字数相同B=2b,Cache块数C=2c,主存块数M=2m字块标志字块内地址C块c位b位B个字字块标志字块内地址M块m位b位B个字缓存地址主存地址第三十页,共四十七页,编辑于2023年,星期五1、直接映像:主存地址分2部分:区号、块内地址Cache地址分2部分:

区号、块内地址主存分成若干区,每区块数与Cache中块数相同;区内分块,每块大小与Cache块大小相等。每个主存块只能映像到Cache中唯一指定的块中,即相同块号的位置;但每个缓存块可以对应多个不同区的相同位置的主存块1区2区第三十一页,共四十七页,编辑于2023年,星期五比较:只需要比较区号(t=m-c)就可以判断主存内容是否在缓存中主存区号字块内地址c位b位Cache字块数t位m位缓存区号字块内地址b位t位t位比较器数据有效时,命中未命中,替换主存缓存第三十二页,共四十七页,编辑于2023年,星期五直接映射Cache:硬件实现①块内地址译码②发缓存区号②发主存区号③比较得出“在”信号④数据有效,得出“命中”缓存有效标志位⑤向CPU输出有效数据CPU发出的主存地址第三十三页,共四十七页,编辑于2023年,星期五地址变换简单,判断主存-缓存区号即可判断“在”否替换简便,同区号内容直接替换即可实现数据替换可以由组成主存地址中直接提取出Cache地址无替换算法问题命中后速度很快块冲突率高,尤其在CPU访问不同区同一位置的主存块时,造成命中率低按区替换,若缓存块数大于主存区内块数,则无法充分利用缓存的剩余空间适宜容量大,速度高的Cache特点:第三十四页,共四十七页,编辑于2023年,星期五2、全相联映射:主存地址分2部分:区号、块内地址Cache地址分2部分:区号、块内地址主存分成若干区,区内分块,主存块大小与Cache块大小相等每个主存块可以映像到Cache中任何缓存块的位置;每个缓存块可以对应任何主存块。第三十五页,共四十七页,编辑于2023年,星期五比较:需全比较区号和块内地址才能判断主存内容是否在缓存中主存区号字块内地址c位b位主存字块数t位m位m位比较器数据有效时,命中未命中,替换主存缓存缓存区号字块内地址c位b位Cache字块数t位m位第三十六页,共四十七页,编辑于2023年,星期五全相连映射硬件实现①全地址译码②各缓存硬件比较得出“在”信号③数据有效,得出“命中”④向CPU输出有效数据CPU发出的主存地址缓存第三十七页,共四十七页,编辑于2023年,星期五判断复杂,需要完整判断主存-缓存的区号和块内地址,只有全部相同,才可以判断数据在缓存内比较电路硬件开销大替换复杂,计算出替换区号块号后才实现数据替换,并修改Cache内地址标志允许主存块映像到任意缓存块,无法由主存地址中直接提取出Cache地址块命中率高。无需按区映像,若缓存块数大于主存区内块数,能充分利用缓存的剩余空间适宜容量小,速度低的Cache特点:第三十八页,共四十七页,编辑于2023年,星期五3、组相联映射:主存地址分3部分:区号、组号、块内地址Cache地址分2部分:区号、组号、块内地址主存分区,区内分组,组内分块,块大小相等每个主存块可以按组映像到Cache中相应缓存组的任何位置;每个缓存块可以对应同组主存的任意数据块。第三十九页,共四十七页,编辑于2023年,星期五主存区号字块内地址q=c-r位b位主存块组数s=t+r位m位主存缓存区号字块内地址q=c-r位b位缓存块组数s=t+r位m位缓存比较:需全比较区号和组地址才能判断主存内容是否在缓存中m位比较器数据有效时,命中未命中,替换第四十页,共四十七页,编辑于2023年,星期五四路组相连Cache实现第四十一页,共四十七页,编辑于2023年,星期五组间直接映像,组内全相联映像判断复杂,需要完整判断主存-缓存的区号和组地址,只有全部相同,才可以判断数据在缓存内组内才需要大量比较电路,硬件开销小替换快,计算出替换区号组号后可以实现数据替换2r反映每组内块数,称为2r路组相联;当2r=0,为全相联映像;2r=c为直接映像。块命中率高,能充分利用缓存剩余空间,被广泛采用适宜容量小,速度高的Cache特点:第四十二页,共四十七页,编辑于2023年,星期五例题:主存容量512K×16位,Cache容量4096×16位,块长为4个16位的字,按字地址访存。Cache地址有多少位,可容纳多少块?主存地址多少位,可容纳多少块?在直接映射方式下,设计主存地址格式在全相联映射方式下,设计主存地址格式在二路组相联映射方式下,设计主存地址格式解:第四十三页,共四十七页,编辑于2023年,星期五主存区号字块内地址C=10b=2Cache字块数t=7主存主存区号字块内地址b=2主存字块数m=17

主存主存区号字块内地址q=9b=2主存块组数s=8主存第四十四页,共四十七页,编辑于2023年,星期五三、替换策略1.先进先出算法(FIFO,firstinfirstont)将最早调入Cache的字块替换出去容易实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论