《计算机组成原理》 课件 张基温 第3-5章 存储系统、IO接口与数据交换控制、控制器逻辑_第1页
《计算机组成原理》 课件 张基温 第3-5章 存储系统、IO接口与数据交换控制、控制器逻辑_第2页
《计算机组成原理》 课件 张基温 第3-5章 存储系统、IO接口与数据交换控制、控制器逻辑_第3页
《计算机组成原理》 课件 张基温 第3-5章 存储系统、IO接口与数据交换控制、控制器逻辑_第4页
《计算机组成原理》 课件 张基温 第3-5章 存储系统、IO接口与数据交换控制、控制器逻辑_第5页
已阅读5页,还剩326页未读 继续免费阅读

下载本文档

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

文档简介

存储器是计算机系统中的记忆设备,用来存放程序和数据。第3章存储系统3.1主存储器元件第3章存储系统3ROM(readonlymemory,只读存储器)RAM(randomaccessmemory,随机存储器)两部分。这里的RAM的“随机”,包含了可以在线读写,也包含了可以直接读写任何单元两重意思。SRAM(staticRAM)。SRAM是利用开关特性进行记忆,只要电源有电,它总能保持两个稳定的状态中的一个状态。DRAM(dynamicRAM)。DRAM则除了要电源有电外,还必须动态地每隔一定的时间间隔对它进行一次刷新,否则信息就会丢失。第3章存储系统4ROM(readonlymemory,只读存储器)

特点:在机器运行过程中只能读出、不能写入信息无源存储器非易失性器件存储的信息是用特殊方式写入的。3.2.1ROM记忆元件第3章存储系统5ROMMROM(MOSROM)掩膜型只读存储器)PROM(programmableROM,可编程的ROM)一次性编程的EPROMUVEPROM(ultravioletEPROM,紫外线擦除EPROM)E2PROM(elctronicallyEPROM,电可改写EPROM)EPROM第3章存储系统61.可编程PROMPROM(可编程只读存储器),常采用熔丝型。出厂时熔丝完好,用户用之前,将0要用大电流将熔丝烧断。写入自己的信息。W0W1b0b1b2上例中PROM的输出?第3章存储系统72.MROMMROM(MOSROM,掩膜型只读存储器)也简称ROM。这种ROM采用二次光刻掩膜工艺一次制成,只能由厂家在生产时制成,出厂后再不可改变。这种元件集成度高,可以批量生产,成本低、可靠性高,但其灵活性差,单个生产费用大。第3章存储系统8掩膜型ROM16条行选线8位字长行、列交叉点对应一个Mos管。行选线与MOS管栅极连接,MOS导通,列线上为高电平,表示存储1.行选线与MOS管栅极不连接,MOS截止,表示存储0第3章存储系统93.EPROMEPROM(erasableprogrammableROM,可擦除可编程ROM)是一种可改写的ROM。目前用得最多的EPROM是浮动栅雪崩注入型MOS管(floating-gateavalanche-in-jectionMOS,FAMOS)。第3章存储系统10按照擦除方法的不同有两种EPROM。(1)UVEPROM。UVEPROM(ultravioletEPROM,紫外线擦除EPROM)芯片上有一个石英窗口,想改写EPROM的内容时,将窗口置于12mV/cm2的紫外线灯下,相距3cm照射10~25分钟。紫外线使浮栅上的电荷得以泄放,恢复到原来不带电荷的状态(“1”状态)。经过擦除之后的芯片可重新写入。这种芯片在使用时,窗口应该用不透明的胶纸贴住,注意避免阳光和室内灯光的直接照射,以免引起芯片局部擦去内容或部分功能损伤。UVEPROM虽然使用很广泛,但也存在着两个问题:一是紫外线擦除信息需很长时间(与紫外线光的照射强度有关);二是不能把芯片中个别需要改写的存储单元单独擦除和重写。(2)E2PROM(elctronicallyEPROM,电可改写EPROM)可用电气方法将存储内容擦除,再重新写入。它在联机条件下可以擦除,基本解决了UVEPROM存在的问题。第3章存储系统11EPROM(光擦除可编程只读存储器),常采用浮栅雪崩注入型MOS管。内容可更新,抹去原内容,写入新内容。当漏极D端加上高压,导致雪崩击穿,产生很多高能量电子;G2加上正电压,使电荷到浮栅G1上,被二氧化硅包围,长期保存。G1浮空栅G2控制栅D漏极S源级G1带电荷,G2给予高电平时,源级与漏极之间没有通道,故不导通,表示“0”。G1不带电荷,G2给予高电平时,源级与漏极之间导通,表示“1”.第3章存储系统12EPROM(光擦除可编程只读存储器),常采用浮栅雪崩注入型MOS管。器件上方石英窗口,40w紫外线照射G1几分钟,G1中的电子获得能量,能穿过氧化层回到衬底中。G1电荷的消失,相当于抹去信息,源级与漏极之间导通,存储器中又都存“1”.即出厂时的全“1”状态第3章存储系统13EPROM(光擦除可编程只读存储器),常采用浮栅雪崩注入型MOS管。多次重写:D端加20V正脉冲行线、列线高电压第3章存储系统14G1浮空栅、控制栅G2抹去栅D漏极S源级G1与D之间有薄氧化层,可产生隧道效应。E2PROM(elctronicallyEPROM,电可改写EPROM)用电气方法,将存储内容擦除,再写入。第3章存储系统15G2加上20V正脉冲P1,通过隧道效应,使电子注入到浮栅G1上,相当于存1。即抹成全“1”。E2PROM(elctronicallyEPROM,电可改写EPROM)用电气方法,将存储内容擦除,再写入。D加上20V正脉冲P2,G2接地,电子通过隧道返回衬底,相当于写0。第3章存储系统163.1.2RAM记忆元件1.SRAM记忆元件利用双稳态触发器进行数据存储第3章存储系统17MOS开关WVccRMOS开关元件是一种金属(M)、氧化层(O)和半导体(S)组成的场效应管。当W为高电位时导通,R点与Vcc同电位。MOS开关管场效应管栅极源极漏极第3章存储系统18读操作写操作0110双稳态0T3、T4:负载管T1、T2:工作管T5、T6:控制管T7、T8:控制管T1,T2组成双稳态的触发器,T3,T4作为阻抗,T5,T6作为记忆单元的选中开关(读写控制门)。当记忆单元未被选中(字线保持低电平)时,T5,T6管截止,触发器与位线隔开,原来保存的状态不改变。当字线加上高电平时,T5,T6管导通,该记忆单元被选中,可进行读/写操作6管静态MOS电路2.一维地址RAM中的信号

及其出现顺序·数据总线上的地址信号;·片选信号。·写控制信号WE。·读出使能信号OE。·数据总线上的数据信号。关键:读、写操作需要在有关信号稳定的条件下进行3.SRAM的有关时间参数在对于一维地址译码存储器进行读写的过程中,为了保证读写质量,要关注如下一些时间参数。tSA:地址建立时间:从CPU发送地址信号到地址信号稳定时间,以保证读写信号正确性。tEQ:片选有效时间:从CPU发送CS到其稳定的有效时间,以保证后续信号正确。tGQ:读控制有效时间:从CPU发送OE到其稳定的有效时间,以保证后续信号正确。tAQ:有效读出时间,即CS和OE稳定到数据线上数据信号稳定的有效时间,在这段时间内CS和OE信号不可撤销。tAD:数据保持时间:以保证数据信号不在地址信号撤销前被撤销,否则会造成数据错误。tWD:有效写入时间,以保证数据信号WE信号之前撤销,否则可能造成写入数据错误。tWC:写入周期。tRC:读出周期。通常tWC=tRC,通称存取周期。还需要强调,不同的技术中,读写的时序可能不同。但关键是如何保证可靠的读写。3.1.3DRAM基本原理1.DRAM元件DRAM存储元件靠栅极电容上的电荷保存信息,也称电荷存储型记忆元件。刷新放大器行地址线行选通三极管存储电容列选通三极管列地址线位线(数据I/O)第3章存储系统23DRAM存储位元的记忆原理

DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的记忆电路。为了长久保存信息,要周期性的刷新电容上的电荷。因此要附加刷新逻辑电路。MOS管作为开关使用,存储的信息1或0是由电容上的电荷量来体现,当充满电荷时,代表存储1,当放电没有电荷时,代表存了0.2.DRAM的逻辑结构与读写信号(1)行地址。(2)行地址选通信号RAS。(3)列地址。(4)列地址选通信号CAS。(5)数据总线(DIN和DOUT)。(6)读写控制脉冲R/W。

3.DRAM读写操作时的时序第3章存储系统26

为了提高主存的工作速度,人们不断改进主存的工作模式。下面介绍几种主存芯片:EDODRAMSDRAM(synchronousDRAM,同步动态随机存储器)DDRSDRAM(doubledatarateSDRAM,双数据传输率同步动态内存)RDRAM(rambusDRAM)4.DRAM工作模式第3章存储系统271.FPMDRAM与EDODRAM早期的DRAM称为PMRAM(PageModeRAM,页模式随机存储器),其特点是每写入一个bit数据,就必须送出列(页)和行地址各一次,用来定出该bit的位置,并且每个地址都必须有一段稳定的时间,才能读写有效数据。在这一段稳定的时间之前,所写入或读取的数据都是无效的。FPMDRAM(FastPageModeDRAM,快速页模式随机存储器)是一种改良型DRAM。其特点是,若需要读写的前后数据在同一列或同一页(page)内,则内存控制器不必重复送出列地址,只需指出下一行地址即可。以此来调高读写效率。EDODRAM则是缩短等待时间,即不必等到数据完整地读取或写入,只要一到有效的时间,即可准备送出下一个地址。EDODRAM比传统DRAM快,但是由于Cache的出现和应用,EDODRAM的效益变得不太明显。第3章存储系统282.SDRAMPMRAM、FPMDRAM与EDODRAM都称为异步DRAM,即RAM与CPU采用不同的时钟频率。SDRAM(SynchronousDRAM,同步动态随机存储器)的基本原理是将CPU与RAM通过一个相同的时钟锁在一起,使得RAM与CPU共享同一时钟,以相同的速度同步工作,避免了在系统总线对异步DRAM进行操作时间步所需的额外等待时间,可加快数据的传输速度。第3章存储系统293.DDRSDRAMDDRSDRAM(doubledatarateSDRAM,双倍速率同步动态内存)简称DDR,是第二代SDRAM。它使用了先进的同步技术,允许在时钟脉冲的上升沿和下降沿都可以传输数据。尤其是使用了DLL(delay-lockedloop,延时锁定回路)来提供一个数据滤波信号。当数据有效时,存储控制器可以利用这个数据滤波信号精确地定位数据,每16位输出一次。读出时预取2位,在同样的时钟频率下工作速度是SDRAM的两倍。当前DDRSDRAM已经成为市场的主流内存,并且又出现升级产品,如DDR2和DDR3等。DDR2采用4b预取机制,内部同时发送4b数据,数据带宽比DDR增一倍。DDR3采用8b预取机制,内部同时发送8b数据,数据带宽又比DDR2增一倍。DDR3的改进型是DDR4。在同样工作频率下,DDR4的传输速度是DDR3的2倍。它有两种规格:一种是Single-endedSignaling信号,带宽可以达到1.6~3.2GB/s;另一种是采用基于差分信号的技术,带宽可以达到6.4GB/s。第3章存储系统30芯片类型时钟频率(MHz)带宽(GB/s)单条容量(B)工作电压(V)针脚数DDR200/266/333/4002.7~3.2256M~1G2.5184DDR2400/533/667/8003.2~5.31G~8G1.8240DDR3667/800/1066/1333/1600>5.31G~16G1.5~1.2240第3章存储系统314.RDRAMRDRAM(RambusDRAM)是美国Rambus公司研发的总线式DRAM,开始时使用16位数据总线,后来扩展到32位和64位。它依靠超高时钟频率(频率范围为800~1200MHz)以及时钟双沿(上升沿和下降沿)传输数据,每一个RDRAM晶片的传输峰值可达到6.4Gb/s。RDRAM在技术上有许多独到之处。除了采用超高时钟频率外,还采用串行模块结构——各个芯片用一条总线串接起来,像接力赛一样,前面的芯片写满数据后,后面的芯片才开始读入数据(DDR是并行架构,不管数据流量多少,所有芯片都处于读取工作状态)。这样可以简化产品设计。RDRAM非常快,约为一般DRAM的十倍以上的速度,但是内存控制器组要相当大的改变,目前绝大部分使用在游戏机或图形应用系统上。3.2主存储体组织第3章存储系统333.2.1存储体扩展存储体是存储器中承载数据存储的部件。由于一个元件只能存储一位信息,为了存储大量数据,就要把按照字(或字节)和地址两个维度进行排列,形成一个存储元件阵列。所以存储体也称存储阵列。半导体存储器一般由一些存储芯片连接而成,每个存储芯片集成了一定数量的存储元件。再由一些芯片扩展成的存储体阵列。通常半导体存储芯片有多字一位和多字多位(4或8位)两种集成方式。如64Kb容量的存储芯片可以有64K×1b和8K×8b等产品。用存储芯片组成存储体的方式,称为存储扩展(扩容)。所采用的芯片的集成方式以及计算机要求的字长不同,扩展方式也不同。(1)字扩展方式(2)位扩展方式(3)段扩展方式第3章存储系统341.字扩展方式位数(字长)不变,字数增加第3章存储系统352.位扩展方式字数不变,位数(字长)增加第3章存储系统363.段扩展方式字向和位向都扩展3.2.2BankBank是内存行业中常用的一个术语——将内存称为“内存库”,并且至少将其赋予三种意义:(1)P-Bank:用“P-Bank数”表示内存物理存储体的数量——等同于“行”(Row)。(2)作为内存逻辑插槽单位的Bank。(3)L-Bank:用“L-Bank数”表示内存的逻辑存储库的数量。1.芯片位宽与P-BankP-Bank实际上就是指为满足CPU工作的内存颗粒阵列.对于字长为64b的计算机,若各个芯片位宽之和为64bit,就是单P-Bank;若各个芯片位宽之和为128b,就是双P-Bank。2作为插槽逻辑单位的Bank通常,内存插槽要与主板数据总线配合使用。例如对于位宽为64b主板,一个168线槽称为一个Bank,因为168线内存的数据宽度是64b;而2个72线槽才能构成一个Bank,因为72线内存的数据宽度是32b。只有插满一个Bank,计算机才可以正常开机。在计算机的主板上,常常对于插槽按照逻辑Bank从bank0开始编号,必须插满bank0才能正常开机。Bank1以后的插槽留给日后升级扩充内存用,称做内存扩充槽。3.L-Bank在芯片的内部,内存的数据是以位(bit)为单位写入一张大的矩阵中,每个单元称为Cell,.这个阵列就称为内存芯片的Bank,也称之为L-Bank(LogicalBank,逻辑Bank)。

4内存芯片容量的计算方法内存芯片的容量可以用L-Bank计算,也可以用位宽计算。(1)用L-Bank计算存储单元数量=行数×列数(得一个L-Bank存储单元数量)×L-Bank的数量(2)用位宽计算用M×W的方式来表示芯片的容量。M是该芯片中存储单元的总数,单位是兆;W代表每个存储单元的容量,也就是SDRAM芯片的位宽(Width),单位是bit。计算出来的芯片容量也是以Mbit为单位,但用户可以采用除以8的方法换算为字节(Byte)。3.2.3内存条及其基本组成第3章存储系统433.1.6内存条1.SPD芯片SPD(SerialPresenceDetect,系列参数预置检测)芯片2.内存颗粒内存颗粒就是内存芯片,是内存条的核心部件。一般内存颗粒上都印刷有生产厂家、产品编号。从产品编号中可以看出内存颗粒的容量、数据宽度、存取速度、工作电压等重要参数。3.排阻和电容4.内存引脚与接口第3章存储系统441.SIMMSIMM(singlein-linememorymodule,单列直插存储模块)内存条有30线、72线和专用内存条三类。30线SIMM:数据线宽度为8,常见容量有256KB、1MB和4MB,目前基本淘汰;72线SIMM:数据线宽度为32,常见容量有4MB、8MB、16MB、32MB、64MB等。专用内存条没有统一标准。第3章存储系统452.DIMMDIMM(dualin-linememorymodule,双列直插存储模块)与SIMM相比,最大的特点是两面都有金手指(引脚),并且数据宽度都是64(无奇偶校验)或72(奇偶校验)。因此只需一个DIMM就可以构成一个有64位数据宽度的主存储器。SDRAM内存条是168个引脚,并且有两个缺口DDR内存条有184个引脚,金手指中也只有一个缺口第3章存储系统463.SODIMM

非常小的32位模块。尺寸仅为72线SIMM模块的一半,已成为笔记本电脑用内存条的标准模式。速度是内存的一个主要性能指标,指内存在无错情况下作出反应的时间,单位为纳秒(ns)。常见的有52ns,70ns,80ns,120ns等四种,在内存条上对应的字样为“-5”,“-7”,“-8”,“-12”等。内存条的速度应与系统的要求一致,否则会导致系统崩溃。一般不同速度的内存条可以混合使用,速度以慢的为准。

第3章存储系统473.2.4并行存储器随着计算机处理信息量的增加,对存储器的速度、容量提出更高要求。为了提高带宽,从存储体系结构方面改进。解决途径多个存储器并行工作并行访问和交叉访问设置各种缓冲器通用寄存器采用分层的存储系统Cache虚拟存储系统第3章存储系统48双端口存储器读写应用

多处理机中,可以设置两个CPU同时访问主存,也可以一个面向CPU、一个面向I/O.成倍提高存储效率。第3章存储系统491.无冲突读写

不同时访问同一个单元,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被驱动,可对整个存储器进行存取,每一个端口都有自己的片选控制(CE)和输出控制(OE)。读操作时,端口的OE(低电平有效)打开输出驱动器,由存储矩阵读出的数据就出现在I/O线上。双端口存储器读写控制第3章存储系统50

当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。在这种情况下,片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志(BUSY变为低电平),即暂时关闭此端口。2.有冲突读写第3章存储系统51

根据程序访问的局部性,要连续使用的信息大多是连续存放的。使用同一套地址系统,按统一地址码,在一个周期内取出多字。单体多字系统字长为W位的n个模块Mi并连,构造字长为n*W的存储体,带宽提高n倍,同时读出n个连续的字。第3章存储系统52

多体存储中各存储体都有一套地址寄存器、译码、驱动、读数、时序电路,能以同等方式与CPU通信。多体存储系统一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式。第3章存储系统533.3SDRAM内部操作与性能参数3.3.1SDRAM的主要引脚3.3.2SDRAM的读写时序SDRAM的读写操作是从对一个L-Bank中的阵列发出激活命令Active开始的。其过程如图所示:先是行有效操作,再是列读写。两者之间的时间间隔称为tRCD(RAStoCASdelay,RAS信号到CAS信号之间的延迟)。然后才是读写操作。readcommand1.行有效行有效就是确定要读写的行,使之处于激活(active)——有效状态。一般说来,行有效之前要进行片选和L-Bank定址,但它们与行有效可以同时进行。这个操作过程如下。①行地址通过地址总线传输到地址引脚。②RAS引脚被激活,行地址被放入行地址选通电路(RowAddressLatch)。③行地址解码器(RowAddressDecoder)选择正确的行然后送到传感放大器S-AMP。图2.29行有效过程中的时序④WE引脚此时不被激活,所以DRAM知道它们不是进行写操作。在行有效过程中,主要涉及3个时间关系:tRAS、tRC和tRP

tRAS:RAS(rowaddressstrobe)信号有效时间。

tRC(RowCycleTime,行周期时间):在一个L-Bank中,两个相邻的Active命令之间的时间间隔。tRP(RASprechargetime,RAS预充电时间):用来设定在另一行能被激活之前RAS需要的充电时间。2.列读写CAS(Column

Address

Strobe,列地址选通脉冲)信号可以区分开行与列寻址的不同。在发出列寻址信号的同时发出读写命令,并用WE#信号的状态区分是读还是写:低电平(有效)时是写命令,为高电平(无效)时是读命令。在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定义为tRCD(RAS

to

CAS

delay,RAS

至CAS延迟)。在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过I/O通道输出到内存总线上了。但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读取命令发出到第一笔数据输出的这段时间,被定义为CL(CAS

Latency,CAS潜伏期)。由于CL只在读取时出现,所以CL又被称为读取潜伏期(RL,Read

Latency)。需要注意,潜伏(latency)与延迟期(delay)是两个不同的概念。延迟指一个信息或一个事件被推迟的时间量,而潜伏期指已经发生但还没有到达一定水平。因此说,CL造成了一些输出延迟,但CL并不是CD(CASDelay)。tAC(Access

Time

from

CLK,时钟触发后的访问时间)由如下原因引起:S-AMP的放大驱动要有一个准备时间才能保证信号的发送强度(事前还要进行电压比较以进行逻辑电平的判断)。这段时间称为tAC。简单地说,从数据I/O总线上有数据输出之前的一个时钟上升沿开始,数据就已传向S-AMP,经过一定的驱动时间最终传向数据I/O总线进行输出,这段时间被定义为tAC。tAC的单位是ns,并且需要小于一个时钟周期。3.3.3突发传输

突发(burst)传输技术是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元(列)的数量就是突发长度(burst

lengths,BL)。(b)(a)3.3.4数据掩码精确屏蔽一个P-Bank位宽中的每个字节,不需要哪个字节,就屏蔽掉那个字节。写入操作时的DQM3.3.5DRAM的动态刷新1.DRAM动态刷新的特点(1)DRAM刷新采用“读出”方式进行RASCAS刷新R/WDinDout写1操作高高低低高—写0操作高低低低低—读1操作高高低高—高刷新1操作高高高高—高(2)刷新通常是一行一行进行的(3)刷新和CPU访问存储器有时会发生冲突。为了避免这种冲突,一般采取刷新优先的策略。2.自动刷新与自刷新DRAM有许多类型,SDRAM刷新操作分为两种:自动刷新(autorefresh,AR)自刷新(selfrefresh,SR)。实际上,它们都是内部的自动操作,都不需要外部提供行地址。3.刷新周期与刷新方式刷新周期的确定就有两种方式:(1)根据所有存储元件中的信息不丢失的原则,确定刷新周期。(2)分散式刷新(distributedrefresh)。这种刷新方式是读写与刷新交替进行:每读写一次,进行一次刷新(3)异步刷新(asynchronousrefresh)。异步刷新的特点是刷新周期固定,也是读写与刷新交替进行。3.3.6芯片初始化与预充电1.芯片初始化芯片初始化也称为MRS(moderegisterset,模式寄存器设置),就是在对SDRAM进行数据存取之前,由SDRAM芯片内部的逻辑控制单元首对其MR(moderegister,模式寄存器)进行设置。设置用的信息由地址总线供给。地址总线MR(1)突发长度(turstlength)决定当前接收到一个读取信号时可以读取的最大列数目。·在连续读取模式下,可以设置为1,2,4,8或整页(fullpage)。·在隔行读取模式下,可以设置为1,2,4,8。(2)BT(bursttype)决定读取模式为顺序(连续)还是交错(隔行)。(3)CASLatency可以设置为1,2或3个时钟周期。(4)操作模式(operationmode):·A7A8=00,突发模式。·A9=0,突发BurstLength适合于读和写。·A9=1,只能读取一个单元,不支持块操作。·A10A11,备用。2.预充电由于SDRAM的寻址具有独占性,它要求在进行完读写操作后,如果要对同一L-Bank的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。简单地说,L-Bank关闭现有工作行,准备打开新行的操作就是预充电(precharge)。具体地说,预充电主要是对工作行中所有存储体进行数据回写。此后,还要进行下列工作:·对行地址进行复位;·释放S-AMP;·准备新行的读写。3.3.7存储器控制器DRAM存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。这些控制线路形成DRAM控制器MC(MemoryController),它将CPU的信号变换成适合DRAM片子的信号。(1)地址多路开关:刷新时不许要提供刷新地址,由多路开关进行选择。(2)刷新定时器:定时电路用来提供刷新请求。(3)刷新地址计数器:只用RAS信号的刷新操作,需要提供刷新地址计数器。(4)仲裁电路:对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权进行裁定。(5)定时发生器:提供行地址选通信号RAS、列地址选通信号CAS和写信号WE。3.3.8RAM的一般性能参数1.存储容量存储容量是主存的关键性参数,通常用字节数表示,也可以用bit数表示。2.内存颗粒的工作频率3.存取时间(TAC)4.传输延迟tCL、tRCD和tRP。tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔;CL决定了列寻址到数据进行真正被读取所花费的时间.tRP则决定了相同L-Bank中不同工作行转换的速度。5.工作电压对于DRAM来说,工作电压是刷新用的电压。6.ECCECC(errorcheckingandcorrecting,差错校验)为存储器传输提供正确性保障。7.封装方式封装方式是将存储芯片集成到PCB板上的方式,它影响主存的稳定性和抗干扰性。8.可靠性存储器的可靠性指存储器在规定的时间内无故障工作的概率。通常用MTBF衡量。9.功耗3.3.9DDRSDRAM与RDRAM1.DDRSDRAM表3.5DDR内存芯片基本参数DDRDDR2DDR3DDR4工作电压(V)2.51.81.51.05I/O接口SSTL_25SSTL_18SSTL_15SSTL_数据传输率(Mbps)200~400400~800800~21332133~4266、容量标准64M~1G256M~4G512M~8G2G~16G存储潜伏期(ns)15~2010~2010~15CL值1.5/2/2.5/33/4/5/65/6/7/813预取设计(bit)248L-Bank数量2/44/88/164/8/16突发长度2/4/84/88封装TSOPFBGAFBGA引脚标准184pin,DIMM240pin,DIMM240pin,DIMM288pin,DIMM2.RDRAM3.4.1磁表面存储原理3.4.2硬磁盘存储器的存储结构3.4.3硬磁盘存储器与主机的连接3.4.4硬磁盘存储器的技术参数3.4.5磁盘格式化3.4.6磁盘阵列RAID3.4磁盘存储器第3章存储系统813.4.1磁表面存储原理磁表面存储元当具有很窄缝隙的磁头的写线圈中通过电流时,其垂直下方的一个小区间会形成一个局部小磁环,称为存储元。第3章存储系统82写操作:写入线圈通入写脉冲电流I,产生磁通Φ,通过磁头缝隙

将高速运动的磁层磁化,磁层的剩磁记录了写入的信息。

二进制位→磁化位(磁化元)读操作:记录有磁化位的磁层高速通过磁头缝隙,与铁心耦合形成闭合磁路,磁通的变化可在读出线圈感应出电势,经放大输出1或0的信号。1、磁表面存储器 第3章存储系统833.数字磁记录格式目的:自同步能力。记录密度:由记录1位二进制信息的磁化翻转次数决定,翻转次数多的磁记录密度就低。记录信息的可靠性第3章存储系统841)归零制(RZ)

这是用向磁头线圈送入正、负脉冲电流的办法执行写“1”、写“0”操作的方案,使1和0信号的磁化状态正好相反。它的主要矛盾,是在两个信息位之间磁层处于非磁化状态,难以解决,故不实用,但对理解经过电磁转换在磁性材料中记录二进制信息的原理是有帮助的。2)不归零制(NRZ)

这是用向磁头线圈送入正、反向电流的办法执行写"1"、写"0"操作的方案,使1和0信号的磁化状态正好相反。与前一种方案相比,取消了两个信息位之间磁头线圈中无电流的情况,故磁层中不存在未被磁化的状态,不是被正向磁化,就是被正向磁化。第3章存储系统853)调相制(PM)

这是用在磁层中不同的磁化翻转方向来区别数据“1”和“0”的方案,为此,磁头线圈中的电流,在写“1”和写“0”的要朝不同的方向变化.写1时,电流由正向负跳变一次;写0时,电流由负向正跳变一次;当写连续的0或1时,信号交界处也要跳转。读出时,就表现为读出的信号是正还是负脉冲,即二者的信号相位差为180度。4)调频制(FM)

这是用在磁层中不同的磁化翻转次数来区别数据"1"和"0"的方案,记录"1"比记录"0"磁化翻转频率要多一倍。为此,磁头线圈中的电流,在每个位周期起始处要变化一次方向,在写"1"时,还要在位周期中心处再变化一次方向,而写"0"则不会在位周期中心处变化电流方向。读出时,读出的1信号表现为两个脉冲,读出的0信号表现为一个脉冲。二者的读出脉冲频率差一倍。第3章存储系统863.4.2硬磁盘存储器的存储结构柱面(磁道)号、盘面号、扇区号第3章存储系统87第3章存储系统88第3章存储系统893.4.3磁盘格式化与分区1.硬磁盘的低级格式化低级格式化就是将空白的磁盘划分出柱面和磁道,再将磁道划分为若干个扇区,确定扇区交错因子,并给扇区加上标记,以便驱动器能识别指定的扇区。第3章存储系统902.硬盘分区分区(Partition)是将硬盘分为几个不同的存储区域。第3章存储系统911)主引导扇区(2字节)第3章存储系统92·

该分区的状态:活动、非活动或隐藏。·

该分区起始头(HEAD)。·

该分区起始扇区和起始柱面。·

该分区类型,如82-->LinuxNative分区,83-->LinuxSwap分区。·

该分区终止扇区和终止柱面。·

该分区起始绝对分区。·

该分区扇区数。第3章存储系统93MBR硬盘引导程序的主要作用是检查分区表是否正确,并且在系统硬件完成自检以后引导具有活动标志(80H)的分区上的操作系统,并在程序结束时把活动分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。需要注意的是MBR由分区程序(例如DOS的Fdisk.exe)产生,但它的产生并不依赖哪一种操作系统,无论是安装Windows还是Linux,MBR的结构都是一样的。第3章存储系统942)主分区、扩展分区与逻辑分区每个分区的信息需要16B。PDT的总长度是64B,最多只能记录这4个主分区信息,即一块硬盘最多可以分为4个分区,通常以C-F作为盘符。4个分区有时不能满足使用需求。为了解决此问题,磁盘分区命令允许用户在4个分区中指定一个分区作为扩展分区。在有扩展分区的情况下,还应进行逻辑分区才可以使用。扩展分区可以逻辑分区为一个逻辑分区或多达23个逻辑分区,每个逻辑分区都单独分配一个盘符(如D~Z),可以被计算机作为独立的物理设备使用。扩展分区仅用于存放数据。为了与扩展分区相区别,把能安装操作系统的磁盘分区称为磁盘主分区,也称基本分区或系统分区。第3章存储系统953)GUID分区格式前面介绍的分区方法通常就以MBR为名,称为MBR分区格式。随着计算机技术的发展,这种分区方法显示出了一些不足:MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区(逻辑分区不限制),最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费。面对这种局限,人们提出了GUID(GlobaiiyUniqueilIdentifier,全局唯一标识)方案,通常也称为GPT(GUIDPartitionTable,全局唯一标识分区表)。第3章存储系统96(1)GUID本身对于分区数目没有限制,但有点操作系统有限制。例如Windows系统中,磁盘上可以创建的分区数量昀多为24个。(2)GUID用算法生成长度为128b的二进制数字标识。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。(3)如图3.44所示,MBR的分区信息保存在MBR记录中,它有自己的启动代码。一旦启动代码遭破坏,系统将无法启动。GUID分区表信息在磁盘首尾各保存一份,其中一份被破坏,可以通过另一份恢复,所以安全一些。(4)通常GUID会自动生成两个隐藏分区ESP和MSR。其中,ESP为EFI引导分区,用于采用了EFIBIOS的计算机系统;MSR是为GPT分区表下Windows系统保留的引导分区。第3章存储系统97第3章存储系统983.硬磁盘的高级格式化(逻辑格式化)硬磁盘的高级格式化是在分区的基础上,对各个分区进行磁道的格式化,在逻辑上划分磁道,建立各分区的数据结构。具体内容包括:·

清除硬盘上的数据;·

生成OBR引导区信息;·

为各个逻辑盘建立文件分配表初始化FAT表;·

建立根目录相应的文件目录表(FDT)及数据区(DATA)·

从各个逻辑盘指定柱面开始,对扇区进行逻辑编号·

标注逻辑坏道等。第3章存储系统991)操作系统引导扇区OBROBR(OSBootRecord)通常位于每个分区(Partition)的第一扇区,是操作系统可直接访问的位置。通常包括一个引导程序和一个被称为BPB(BIOSParameterBlock)的本分区参数记录表,参数视分区的大小、操作系统的类别而有所不同引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(AllocationUnit,以前也称之为簇)的大小等重要参数。第3章存储系统1002)文件分配表

FAT在分区中,FAT(FileAllocationTable)处于DBR之后。为了说明FAT的概念,需要补充簇(Cluster)的概念。文件占用磁盘空间时,基本单位不是按照字节分配,而是按簇分配。簇的大小是扇区数,与硬盘的总容量大小有关,可能是4、8、16、32、64……。当向磁盘中存写一个文件时,操作系统往往会根据磁盘中的空闲簇,将文件分布不连续的段空间上,形成链式存储结构,并把段与段之间的连接信息保存在FAT中,以便操作系统读取文件时,能够准确地找到各段的位置并正确读出。为了数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份,FAT区紧接在OBR之后,其大小由本分区的大小及文件分配单元的大小决定。FAT的格式有很多选择。Microsoft的DOS及Windows多采用FAT12、FAT16和FAT32格式。除此以外还有其它格式的FAT,像WindowsNT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。第3章存储系统1013)根目录DIRDIR(Directory)是文件组织结构的又一重要组成部分,它紧接在第二FAT表之后,用于与FAT配合起来准确定位文件的位置。DIR分为两类:根目录,子目录。根目录有一个,子目录可以有多个。子目录下还可以有子目录,从而形成“树状”的文件目录结构。子目录其实是一种特殊的文件,文件系统为目录项分配32字节。目录项分为三类:文件,子目录(其内容是许多目录项),卷标(只能在根目录,只有一个。目录项中有文件(或子目录,或卷标)的名字,扩展名,属性,生成或最后修改日期,时间,开始簇号,及文件大小。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。第3章存储系统102按照FAT12文件格式进行高级格式化后一个逻辑盘的数据结构。该盘的系统区从0扇区开始,到32扇区结束。这33个扇区又被分成了三部分,分别是引导扇区、文件分配表(FAT)和根目录。余下的33到2879扇区是数据区。3.4.4硬磁盘系统组成1.硬盘驱动器2.磁盘控制器磁盘控制器是位于主机与磁盘驱动器之间的电子部件。其主要作用是:·接收主机送来的命令,并转送给磁盘驱动器。·将磁盘的状态送主机。·在主机与磁盘驱动器之间进行读写数据的交换。为实现上述功能,它要由如下4部分组成:·数据与命令的接收/发送部分。·数据转换(格式转换与串/并转换)。·数据分离——将数据域时钟信号分离。数据发送数据转换磁盘驱动器数据格式转换·数据放大(读放大与写放大)。·第3章存储系统104第3章存储系统105

3.硬盘的接口标准(总线)ATA(AdvancedTechnologyAttachment,高级技术附加装置)SATA(SerialATA,串行

ATA)SCSI(SmallComputerSystemInterface,小型计算机系统接口)SAS(SerialAttachedSCSI,串行连接SCSI)FC(FiberChannel,光纤通道)。细节将在8.4节介绍。第3章存储系统1063.4.5硬磁盘存储器的技术参数(1)记录密度:道密度Dt是径向单位长度的磁道数,在数值上等于磁道距P的倒数,单位为TPI(tracksperinch)或TPM(trackspermillimeter)。磁盘的位密度是以最小的同心圆进行计算的结果。其外的位密度显然要低,因为同一磁盘存储器中的各扇区的容量相同。(2)磁盘容量指其所能存储的字节的总量。非格式化容量就是整个磁盘存储器的容量。格式化实际上就是在磁盘上划分记录区,为此要写入一些标志和地址信息。第3章存储系统107磁盘存储容量计算公式:

(1)总磁道数=记录面数×磁道密度×(外直径-内直径)÷2(2)非格式化容量=位密度×3.14×最内圈直径×总磁道数

(3)格式化容量=每道扇区数×扇区容量×总磁道数

例1:假设一个硬盘有4个记录面,转速为7200r/min,盘面有效记录区域的外直径为30cm,内直径为10cm,记录位密度为250b/mm,磁道密度为8道/mm,每磁道分16个扇区,每扇区512字节,试计算该磁盘的非格式化容量和格式化容量。第3章存储系统108最内圈周长=100*3.14=314mm每记录面的磁道数=(150-50)×8=800道;每记录面的非格式化容量=314×250×800/8=7.5MB非格式化容量=4×7.5MB=30MB每记录面的格式化容量=每道扇区数×扇区容量×总磁道数=16×512×800/1024/1024=6.25MB格式化容量=4×6.25MB=25MB第3章存储系统109(3)主轴转速由于每次读写前,磁头不会正好在目的扇区,所以主轴转速快,磁头达到目的扇区的速度就快。若主轴转速为每分钟3600转,计算该磁盘的平均寻区时间Twa。解:在极端概况下,磁头的原始位置有两种可能:在目的扇区和目的扇区刚过的扇区,所以平均寻区时间应按旋转半周时间。即Twa=12×103×60/3600=8.3335(ms)第3章存储系统110(4)寻道时间也称查找时间,是磁头找到目的磁道需要的时间。寻道时间由磁盘存储器的性能决定,一般是由厂家给定的一个参数。(5)平均存取时间近似等于平均寻区时间与寻道时间之和。(6)缓冲存储区大小为了解决硬盘内部读写与接口之间的数据传输速度不匹配,在它们之间可以设置一个缓冲存储区,以从整体上提高硬盘的数据读写速度。第3章存储系统111(6)数据传输率硬盘的数据传输率分为内部数据传输率和外部数据传输率。内部数据传输率主要由主轴的旋转速度决定。外部数据传输率是系统总线与硬盘缓冲区之间的数据传输率,它与接口类型和缓存大小有关(7)误码率是衡量磁表面存储器出错概率的参数,它等于从辅存读出时,出错信息第3章存储系统1123.4.6磁盘阵列RAID1.RAID0RAID0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。按条交叉存放文件条0条1条2条3条4条5┇条0条4┅条1条5┅条2条6┅条3条7┅读写控制器数据盘0数据盘1数据盘2数据盘3条6条7第3章存储系统1132.RAID1与RAID10RAID1:RAID1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性,是一种可靠性第一的技术。每个工作盘都有一个对应的镜像盘(mirrordisk),在写数据时必须同时写入工作盘和镜像盘。正常工作时只访问工作盘,不访问镜像盘。一旦工作盘出错,镜像盘立即投入使用,并用其恢复工作盘。这种技术是可靠性第一的技术。RAID10是RAID1与RAID0技术的结合。条0条4┅条1条5┅条2条6┅条3条7┅读写控制器数据盘0数据盘1数据盘2数据盘3条0条4┅条1条5┅条2条6┅条3条7┅备份盘0备份盘1备份盘2备份盘3第3章存储系统1143.RAID2~RAID5·RAID2:采用位交叉及海明校验码纠错的磁盘阵列技术。·RAID3:采用位交叉技术和一个奇偶校验盘的磁盘阵列。·RAID4:采用块交叉技术和一个奇偶校验盘的可独立传输的磁盘阵列。·RAID5:RAID4的改进型。采用块交叉技术的可独立传输的磁盘阵列,但不单独设校验盘,而是按某种规则把校验数据分布在组成阵列的磁盘上。这样,一个磁盘上既有数据,又有校验信息,从而解决了多盘争用校验盘的问题。读写控制器条0条4数据盘0条7P3┅条1条5数据盘1P2条10┅条2P1数据盘2条8条11┅P0条6数据盘3条9条12┅第3章存储系统1154.RAID6RAID6是采用双磁盘驱动器容错的块交叉技术磁盘阵列。由于有两个磁盘驱动器用于存放检、纠错码,因而能有很高的数据有效性和可靠性。5.RAID7RAID7的主要特点是采用多数据通道技术和cache技术,进一步提高了存取速度和可靠性。多数据通道是在每一个作为I/O的磁盘驱动器与每一个主机之间都有独立的控制和数据通道。多数据通道不仅能防止磁盘故障造成的错误,还能防止通道故障造成的错误,并能提高访问速度。3.5光盘存储器

第3章存储系统1173.5.1光盘存储器的技术特点与类型1.光盘存储的技术特点由于多媒体需要很大的存储空间,硬盘已不能满足,这促使了光盘技术的迅速发展。光盘存储技术的特点如下:·记录密度高,存储容量大,容量一般都在650MB以上。·采用非接触方式读/写,没有磨损,可靠性高。·可长期(60~100年)保存信息。·成本低廉,易于大量复制。·存储密度高,体积小,能自由更换盘片。·误码率,在10-10~10-17以下。·存取时间,即把信息写入光盘或从光盘上读出所需的时间,一般为100~500ms。数据存取速率比磁盘略低,基本速率(单倍速)为150MB/s。第3章存储系统1182.光盘的基本类型光盘存储器可分为固定型(compadtdiscreadonlymemry,CD-ROM)只写一次型(writeonce,readmemry,WORM)可擦写型(compadtdiscreadandwrite,CD-RW)。第3章存储系统1193.5.2可擦写型光盘读写原理1.磁光盘读写原理磁光盘的存储介质是由光磁材料,如GdFe,GdCo,TbFe和GdTbFe等稀土-铁族光磁材料做成的易于垂直磁化的磁性薄膜。写入信息前,先要使磁膜向(垂直于盘面的)某一个方向磁化。要写“1”时,光头产生激光束,使磁膜局部受热,上升到居里点(150℃左右),使磁顽力降至零,用极弱磁场便可以将磁极反转;写入末端,激光束消失,以永磁保持刚才写入的信息。读出时,利用激光与磁化介质相互作用时偏振状态的变化来区别存储的信息是“0”还是“1”。2.相变光盘读写原理相变型光盘的存储介质通常由硫族(S,Se,Te)化合物制成,写入前全部是结晶状态。写“1”时,利用短激光脉冲使结晶态的存储介质局部熔化,骤冷后变成非结晶态。擦去时,则用光波较长的、强度较弱的光脉冲使它复原为结晶态。读出时,根据结晶态和非结晶态对激光束反射率的不同,区别存储的是“0”还是“1”。第3章存储系统1203.5.3光盘规格

(1)CD-DA(compactdisc-digitalaudio)规范及格式

(2)CD-ROM规范及格式

(3)CD-I规范及格式

(4)可录CD-R规范及格式

(5)VCD规范及格式

(6)DVD协议及格式

(7)蓝光光盘、HD-DVD和HVD3.6闪速存储器

第3章存储系统122特点:固有的非易失性廉价的高密度可直接执行固态性能3.6.1闪存的特点与原理 FLASH存储器也翻译成闪速存储器,它是高密度非失易失性的读/写存储器。高密度意味着它具有巨大比特数目的存储容量。非易失性意味着存放的数据在没有电源的情况下可以长期保存。总之,它既有RAM的优点,又有ROM的优点。1.闪存及其特点

2.闪存的基本原理第3章存储系统123第3章存储系统124浮空栅控制栅D漏极S源级控制栅加正电压,浮空栅存储许多负电子,定义为状态“0”;控制栅不加正电压,浮空栅存储很少负电子,定义为状态“1”;。存储元的原始状态为“1”2.闪存d基本原理第3章存储系统125编程即写操作。由于默认状态是“1”,只写“0.”控制栅加正电压,则状态变为“0”;读操作。控制栅加正电压,浮空栅上的负电荷量决定是否开启MOS。若存1,开启Mos,能检测到电,则读出1.若存0,Mos无法开启,无电流,则读“0“。01擦除操作。源级S加正电压,吸收浮空栅中的电子,使状态变为”1“。3.NAND型闪存分类第3章存储系统1263.6.2固态硬盘固态硬盘(SolidStateDisk或SolidStateDrive,SSD)是一种没有旋转盘状结构的大容量存储器,可以用来代替常规硬盘。通常,也把它看作是一种硬盘,并加上“固态”二字以区别。第3章存储系统1271.固态硬盘分类1)按照存储介质分类目前固态硬盘的存储介质有两种:闪存(Flash芯片)介质、DRAM介质。2)根据接口分类(1)SATA。(2)MSATA。(3)PCI-E(4)M.2(5)CFast(6)SFF-8639第3章存储系统1283)根据传输协议分类固态硬盘昀为主流的传输协议有两种。一种是AHCI协议,另一种是NVMe

协议。(1)AHCl。(2)NVMe第3章存储系统1292.固态硬盘内部架构一块PCB(1)主控芯片(2)缓存芯片(3)NANDFlash闪存芯片。第3章存储系统1303.固态硬盘内部架构一块PCB(1)主控芯片(2)缓存芯片(3)NANDFlash闪存芯片。3.固态硬盘的优点(1)读写速度快。(2)物理特性:无噪声、抗震动、低热量、体积小、工作温度范围大。4.固态硬盘的缺点(1)成本高。(2)由于不像传统硬盘那样屏蔽于法拉第笼中,固态硬盘更易受到某些外界因素的不良影响,如断电(尤其是基于DRAM的固态硬盘)、磁场干扰、静电等。(3)数据损坏后难以恢复。(4)大容量的功耗高。第3章存储系统1313.7存储体系与存储管理第3章存储系统133存储系统的分层结构

计算机应用对存储器的容量和速度的要求是无止境的,理想状态下应有充足的容量和CPU相匹配的速度。

矛盾:价格、容量、速度分级存储规律:价格依次降低容量依次增加访问时间依次增长CPU访问频度依次减少3.7.1多级存储体系的建立第3章存储系统1342.程序访问的局部性原理程序访问的局部性原理(principleofLocality)是建立多级存储体系的可行性基础。它告诉人们,CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个局部。这个局部包含了3个方面的意义:(1)时间局部性(TemporalLocality):如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。程序循环、堆栈等是产生时间局部性的原因。(2)空间局部性(SpatialLocality):在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。(3)顺序局部性(OrderLocality):在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1。此外,对大型数组访问也是顺序的。指令的顺序执行、数组的连续存放等是产生顺序局部性的原因。第3章存储系统1353.7.2多级存储体系的性能参数1.平均单位价格设M1和M2的容量、单价分别为C1、P1和C2、P2,则该存储体系的平均单位价格为C=(C1·P1+C2·P2)/(C1+C2)显然,当C1<<C2时,C≈C2。2.命中率在层次结构的存储系统中,某一级的命中率是指对该级存储器来说,要访问的信息正好在这一级中的概率,用命中的访问次数与总访问次数之比计算。其中,最主要的是指CPU产生的逻辑地址能在内存中访问到的概率。它同传送信息块的大小、这一级存储器的容量、存储管理策略等因素有关。在基于访问的局部性而实现的存储器层次体系中,如果存储器的容量足够大、系统调度得当,可以获得较高的命中率H。设在执行或模拟一段有代表性的程序后,在M1和M2中访问的次数分别为N1和N2,则M1的命中率为H

=N1+N2N1

有时,也使用不命中率或失效率F作为评价多级存储体系的参数。显然,F=1-H第3章存储系统1363.平均访问周期平均访问周期TA是与命中率关系密切的最基本的存储体系的评价指标。设M1和M2的访问周期分别为TA1和TA2,则CPU对整个存储系统的平均访问周期为TA=H·TA1+F·TA2如果把存储层次中相邻两级的访问周期比值叫做r=TA2/TA1,又规定存储层次的访问效率e=TA1/TA,可以得出e=TA1/TA=TA1/(HTA1+(1-H)TA2)=1/(H+(1-H)r)=1/(r+(1-r)H)第3章存储系统137第3章存储系统138Cache是介于CPU和主存M2之间的小容量存储器,存取速度比主存快。3.7.3Cache第3章存储系统139(2)Cache组成三部分:

Cache存储体:存放由主存调入的指令与数据块。地址转换部件:建立目录以实现主存地址到缓存地址的转换。替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。第3章存储系统140第3章存储系统141Cache-CPU-主存之间的关系关系CPUCache主存字传送块传送…...…...主存块Cache标记结构第3章存储系统142Cache的基本结构(分块)设主存地址n位,有2n个单元。将主存分块(Block),每块B字节,共分M=2n/B块。

Cache由同样大小的块组成,由于容量小,所以块的数目小得多,主存中只有一小部分块的内容可放在Cache中。B=2b,M=2n/2b=2m,主存地址n=m+bCache地址=c+bCache的每一块都有一个标记第3章存储系统143(3)Cache的工作原理第3章存储系统144当CPU发出读请求时,将主存地址m位(或m位中的一部分)与Cache某块的标记相比较,根据其比较结果是否相等而分出两种情况:当比较结果相等时,说明需要的数据已在Cache中,那么直接访问Cache就行了,在CPU与Cache之间,通常一次传送一个字;当比较结果不相等时,说明需要的数据尚未调入Cache,那么就要把该数据所在的整个字块从主存一次调入Cache.前一种情况称为访问Cache命中(Hit),后一种情况称为访问Cache不命中(Miss).第3章存储系统145开始读取AD字递交给CPU包含AD的块在Cache中?由CPU接收(读)地址AD为主存块分配Cache行为含AD的块访问主存将主存块装入Cache行将AD字交给CPU结束Cache的读操作流程替换时字时分两种:一种是把整个字块装入Cache后,再将需要的信息读出;另一种是装信息的同时把信息送给CPU,称通过式加载。第3章存储系统146Cache中保存的字块是主存中相应字块的一个副本.如果程序执行过程中要对该字块的某个单元进行写操作,就会遇到如何保持Cache与主存的一致性问题.通常有三种写入方式:标志交换法。暂时只向Cache写入,并用标志加以说明,直到经过修改的字块被从Cache中替换出来时才一次写入主存(writeback);通过式写。每次写入Cache时也同时写入主存,使Cache和主存保持一致(writethrough).WriteBack:称为写回法,或回写法WriteThrough:称为写直达法,或全写法,或写通过法仅将信息写入主存。写一次:当被修改的单元根本就不在Cache时,写操作直接对主存进行,而不写入Cache.第3章存储系统147(4)替换策略LFU(最不经常使用):被访问的行计数器增加1,换出值小的行,不能反映近期cache的访问情况,LRU(近期最少使用):被访问的行计数器置0,其他的计数器增加1,换出值大的行,符合cache的工作原理随机替换:随机替换策略实际上是不要什么算法,从特定的行位置中随机地选取一行换出即可。这种策略在硬件上容易实现,且速度也比前两种策略快。缺点是随意换出的数据很可能马上又要使用,从而降低命中率和cache工作效率。但这个不足随着cache容量增大而减小。随机替换策略的功效只是稍逊于前两种策略。先进先出(FIFO):总是把最先进入的Cache字块作为被替换的块。它不需要记录各个字的使用情况,因此开销小,容易实现。但一些常用的程序块容易被替换掉。第3章存储系统148(5)地址映像为了把信息放到Cache中,必须应用某种函数把主存地址映像到Cache,称作地址映像。地址映像方式:直接映像全相联映像组相联映像第3章存储系统1493、Cache的命中率

从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。

计算命中率:

在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有

h=Nc/(Nc+Nm)第3章存储系统1503、Cache的命中率计算平均访问时间:

温馨提示

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

评论

0/150

提交评论