版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1第三章存储系统2§3.1存储系统概述一、存储器分类1、按存储介质分类2、按存取方式及功能分类顺序存取存储器(SAM)随机存取存储器(RAM)直接存取存储器(DAM)只读存储器(ROM)编址单位记录块存储字记录块同RAM/DAM操作方式存、取取存取时间可变(与访问地址关系较大)固定(与访问地址无关)可变(与访问地址关系较小)同RAM/DAM半导体存储器磁性材料存储器光介质存储器示例内存、Flash磁盘、磁带光盘存储特征易失性非易失性33、按在计算机中的作用分类主存储器(MM)辅助存储器(AM)高速缓冲存储器(Cache)控制存储器(CM)作用直接与CPU交换信息的MEM主存的后援MEMCPU-主存间的缓冲MEMCPU内部存放微程序的MEM存储介质MOS型半导体磁/光介质MOS型半导体MOS型半导体存取方式DRAM和ROMSAM/DAMSRAMROM4二、存储器的主要性能指标*容量(S):能存储的二进制信息总量,常以字节(B)为单位*速度(B):常用存取时间或存取周期、带宽表示存取时间(TA)—指MEM从收到命令到完成操作所需时间存取周期(TM)—指连续访存的最小间隔时间,TM=TA+T恢复*价格:常用总价格C或每位价格c表示,c=C/S
带宽(BM)—指单位时间内MEM最多可读写的二进制位数,常以bps为单位,BM=W/TM,W为数据宽度/次TA
TM
MEM响应地址和命令有效数据有效MEM响应MEM恢复地址和命令有效数据有效MEM恢复TA
TM
5三、层次结构存储系统1、层次结构的引入*程序访问局部性规律:程序执行时,访问指令和数据所呈现的相对簇聚特性*用户需求矛盾的解决方案:*用户需求的矛盾:需求—大容量、高速度、低价格矛盾—??
时间局部性—被访问过的信息,可能很快被再次访问空间局部性—被访问信息的相邻信息,可能很快被访问示例:for(i=0;i<n;i++)S=S+A[i];
近期常用数据—放在“前方”MEM(快而小)中近期不用数据—放在“后方”MEM(慢而大)中∑=高速度、大容量、低价格62、层次结构的存储系统(1)层次存储系统组成*思想:①用多种类型MEM构成前方-后方的层次结构③各层MEM之间信息传递是“透明”的SM1<<SM2<<…<<SMnBM1>>BM2>>…>>BMn②前方MEM中信息为后方MEM中信息的副本寄存器M1M2Mn存储系统CPU…M1M2Mn教材勘误7*“Cache-主存”存储层次:目标—解决主存速度问题(Cache的速度,主存的容量)CPUCache主存辅助硬件主存地址*“主存-辅存”存储层次:目标—解决主存容量问题(主存的速度,辅存的容量)CPU主存辅存辅助软硬件主存地址(2)常见的存储系统层次结构
围绕主存的层次结构一般为“Cache-主存-辅存”三种MEM构成的两个存储层次Cache辅存主存8(3)层次存储系统的工作方式*程序执行需求:准备执行的指令和数据存放在主存中;
按程序的逻辑顺序执行*存储系统工作方式:
存储层次+面向软件管理(虚拟存储器)主存主存CacheCache地址主存地址Cache辅助硬件不命中命中主存地址CPU程序地址存储管理部件MMU成功辅存辅存地址产生硬件异常不成功OS相关软件9§3.2半导体存储器基础静态RAM(SRAM)动态RAM(DRAM)半导体ROM(永久型)
双极型RAM(TTL、ECL)MOS型RAM半导体RAM(易失型)
MROMPROMEPROMEEPROM(E2PROM)FLASH*静态RAM—用触发器存储信息,长时间不访问及信息读出后信息值(状态)保持不变;*动态RAM—用电容存储信息,长时间不访问及信息读出后信息值(状态)被破坏,需及时恢复信息值(称为刷新及再生)101、SRAM存储元的组成原理一、静态RAM(StaticRAM,SRAM)
保持—使W=V地→T5和T6截止→T1、T2状态保持不变
写入—①在W线上加正脉冲(时长为写入延迟)→T5和T6导通;②若写“0”,使D=V地、D=V中→T2截止→T1导通;若写“1”,使T1截止→T2导通
读出—①在W线上加正脉冲;②使D=D=V中→D或D产生压降(“0”导致D电压下降)→差动放大器可检测出所存信息,T1、T2状态保持不变(非破坏性读)*6管MOS静态存储元工作原理:字选择线W6管MOS型静态存储元电路VCCT1T2ABDDT5T6T4T3112、SRAM芯片的组成原理(1)存储芯片基本组成由存储阵列、地址译码器、I/O电路、控制电路等组成X译码器64×64存储阵列I/O电路读/写WE……驱动器01…63A6A7A11Y译码器…A0A1
A5…输出驱动器控制电路数据D片选CS…地址译码方式决定正方形阵列(信号延迟最小)*存储阵列:内部存储单元有一维和二维两种组织方式12*地址译码器:有一维、二维两种译码方式译码器输出线数—2M根2×2M/2=2M/2+1根*驱动器:①X译码器输出需驱动同一行各存储元的字选线
├→设置驱动器增加驱动能力②I/O电路输出需驱动总线信号…X译码器…A6A11DI/O电路读写…Y译码器…数据DA0A5……………存储元存储元存储元存储元DDD驱动器……输出驱动器
常见译码方式—二维译码方式→同一列存储元共用位选择线13*I/O电路:根据内部读/写信号,检测/控制D及D线*片选与控制电路:片选—MEM常由多个芯片组成,MEM读/写常针对某个芯片DA6~A0WEA7CSCS1#芯片(地址范围128~255)0#芯片(地址范围0~127)
控制电路—根据片选CS及WE信号生成内部读/写信号CS写读WE&&11数据D差分读出放大器读写放大器DD写驱动器存储元(所选)14(2)存储器芯片相关参数与结构组织*芯片相关参数:存储阵列容量—阵列容量=存储字数×存储字长
数据引脚数量—引脚组织成双向时,引脚数=存储字长引脚组织成单向时,引脚数=2*存储字长地址引脚数量—引脚数=log2存储字数,即引脚数=log2(阵列容量/存储字长)
练习1—某SRAM芯片容量为4Kbit,数据引脚(双向)为8根,地址引脚为多少根?若数据引脚改为32根,地址引脚为多少根?
练习2—某SRAM芯片数据引脚(单向)为8根、地址引脚亦为8根,芯片存储容量为多少个字节?1115*SRAM芯片结构组织:
--以Intel2114SRAM芯片为例参数—容量=1K×4b,数据引脚=4根(双向),地址引脚=10根
结构—①正方形存储阵列(64×64);②4套I/O电路;③二维译码(log264=6、log2[64/4]=4)行译码器…A3A8I/O电路列译码器A2
A1
A0
A9………………DDDDDDDD……D0D3…I/O电路读写CS&&WEY0Y63Y0
Y15………存储元存储元………存储元存储元64行×64列……存储元存储元存储元存储元……13163、SRAM芯片的读写时序*读周期时序:(存储器对外部信号的时序要求)tAtRC地址CSI/O1~4WEtOTDtCOtCXtRC--CPU读周期时间tA--CPU访问时间(读出时间)tCO—SRAM读出时间tCX—SRAM存取时间
(CS有效→数据引脚输出稳定)tOTD—SRAM恢复时间
(CS无效→数据引脚高阻)数据出地址信号已稳定由地址信号或由操作命令获得CPU已读得数据tCO-tCX≥线路延迟先发地址信号、后发操作命令(tA-tCO≥tOTD、tRC-tA≥tOTD-Δ)13SRAM—CS有效时开始读操作、CS无效时结束读操作
操作者—17*写周期时序:tWC地址CSI/O1~4WEtWC─CPU写周期时间tW─CPU写入时间tWR—CPU写恢复时间tAW—SRAM地址写入时间tDW—SRAM数据写入时间tDH—SRAM数据保持时间(关闭写)tAWtWtWRtDWtDH数据入先发地址、后发命令(tAW≥地址译码时长)SRAM已完成数据写入地址信号已稳定tW≥tDWWE无效后数据保持≥tDHSRAM—CS有效时开始写操作、CS无效时结束写操作
操作者—18二、动态存储器(DynamicRAM,DRAM)1、动态RAM存储元工作原理写入—①所写数据加到WD上②打开T3→对CS充电/放电保持—断开T3→CS保存信息(无放电回路、会缓慢泄漏)
需定时对CS刷新←┘读出—①在Φ上加正脉冲→对CD预充电,②打开T2→读RD上电压变化(非破坏性读)
刷新—先读出数据、再写入所读数据*3管MOS式动态存储元工作原理:
动态RAM目标:降低功耗、节约成本写数据线WD读选择线T4ΦED读数据线RD预充电CD&&字选择线T3T2CST1写选择线读选择写选择1019数据线DCD字选择线XT1CS*单管MOS式动态存储元工作原理:
写入—①所写数据加到D上②打开T1→对CS充电/放电
保持—断开T1→信息存储在CS中(无放电回路、会缓慢泄漏)
读出—①在D上加正脉冲→对CD预充电②打开T1→读D上电压变化(破坏性读)←CS被充电
刷新—步骤同读操作③立即用所读数据对CS重新写入←称为再生*单管MOS式存储元与3管MOS式存储元的区别:相同—均需定时(如2ms~3.3ms内)对各存储元刷新不同—只需1个MOS管、1根数据线,读后需立即再生202、DRAM芯片的组成原理(1)3管MOS式DRAM芯片的组成X译码器…I/O电路Y译码器…D……WDRDWDRD…………………A11A6A5A064×64读
写控制电路CSWEREFCDCD&&&&刷新放大器1118*基本结构:与SRAM类似,①设置刷新放大器、预充电电路;②传送数据不采用差分方式;③增加刷新控制机构*芯片操作:读、写、刷新(新增)21*存储元刷新的实现:使用刷新操作→要求所刷新存储元和I/O电路断开
如何提高刷新的效率?*支持行刷新方式的芯片引脚组织:方案①—地址引脚不变,增加REF引脚(刷新时列地址无用)√方案②—地址引脚减半,设置行选择、列选择引脚
同一行中所有存储单元同时刷新!列译码器输出全部无效每列设置刷新放大器称为行刷新A11~A0
地址方案①--地址引脚不变REFWECSA5~A0RAS行地址方案②--地址引脚减半列地址WECAS可代替CS22(2)单管MOS式DRAM芯片的组成*基本结构:通常采用地址分两次传送方式组织增设①地址锁存器、时序控制电路,②再生电路19X译码器I/O电路Y译码器…D……读出再生放大器……………A6A11A5A064×64D…D……WE时序控制电路行地址锁存器………列地址锁存器RASCASA5’…A0’行时钟列时钟写时钟读出再生放大器*芯片操作:读、写、刷新(行刷新方式[无需列地址])可缩小芯片面积23(3)DRAM芯片组成示例*Intel2116芯片:单管MOS存储元、地址分两次传送参数—容量=16K×1b;地址引脚=14/2=7根;数据引脚=2根(单向的DIN/DOUT、共1位宽度)
结构—2个64×128存储阵列,时钟发生器串联6:64行译码器64×128存储阵列128个读出再生放大器7:128列译码器64×128存储阵列行时钟发生器列时钟发生器写时钟发生器数据输入缓冲数据输出驱动RASCASWEDINDOUT6:64行译码器……………A12~A7A13A6~A0A6’
A0’列地址锁存器行地址锁存器~24*Intel2164芯片:单管MOS型存储元、地址分两次传送参数—64K×1b容量,2根数据(单向)、16/2=8根地址引脚
结构—4个128×128存储阵列;2套行、列译码器同时译码※说明—DRAM芯片默认采用单管MOS、地址引脚减半型芯片!128×128存储阵列128个读出再生放大器行地址锁存器1/2行译码器128×128存储阵列128个读出再生放大器1/2列译码器128×128存储阵列128个读出再生放大器1/2列译码器128×128存储阵列128个读出再生放大器1/2行译码器列地址锁存器行时钟发生器列时钟发生器写时钟发生器4选1I/O电路数据输入缓冲数据输出锁存……A7’A6’
A0’RASCASWEDOUTDIN253、DRAM芯片的操作时序*读周期时序:CPU已读得数据tA-tRCL≥tCAC+线路延迟先锁存行地址RAS先于CAS有效(tRCL≥tAH)WE在CAS有效期间无效DRAM—RAS有效时开始操作、RAS无效时结束操作
操作者—tAtCRD地址I/O有效tDOHtCAC行地址列地址tAHtCRD—CPU读周期时间tA--CPU访问时间tAH--地址锁存延迟tRCL–RAS与CAS信号延迟tRAC—RAS有效至数据输出延迟tCAC—CAS有效至数据输出延迟tDOH—数据保持时间tAHtRACtRCLRASWECAS26tCRF—刷新周期时间(同读操作)tA--刷新读出时间(同读操作)tDOH—刷新写入时间(同读操作)tRC—RAS与CAS信号最大间隔tAtCRF地址I/O行地址tRCRASCAStDOH时钟发生器可检测t>tRC23*刷新周期时序:
与读周期类似,区别在于CAS在整个操作过程中无效
└→行刷新时不需要列地址274、DRAM芯片的刷新*刷新周期:同一存储元连续两次刷新的最大间隔*刷新方法:每个刷新周期内,循环进行所有行的行刷新(1)DRAM芯片刷新方式通常有集中式、分散式、异步式三种方式间隔?*集中式刷新:将所有行刷新集中在刷新周期的后部内部序号1
2…nn+1n+2…n+m地址行号X
Y
…
R
01
…
m-1tC
tC…
tCtC
tC…
tC读/写/空闲刷新刷新周期(如2ms)时长tC—芯片的存取周期m—行刷新的循环次数n—刷新周期内可访存次数设tC=0.5us、m=128次,则n=2000/0.5-128=3872次
特点—存在“死区”(不能进行读/写操作的时间段)28*分散式刷新:将行刷新分散在每个存取周期中地址行号R/W
R/W
R/WR/W
R/W
R/W
REF
REF
REF
X0
Y
1Rm-1
AB
tMtR刷新周期真实刷新
tC停止刷新…………
特点—避免了“死区”,增加了存取时间(1倍)
*异步式刷新:将行刷新均匀分布在刷新周期中15.5μs地址行号X…Y
0
R
…S1ABm-1
tC
…
tC
tC
tC…
tC
tCtC…tCtCR/W…
R/W
REF
R/W…
R/W
REF
R/W…
R/WREF15.5μs15.5μs……刷新周期(如2ms)设芯片需刷新128次,则每次刷新间隔2000/128=15.5μs
特点—“死区”可忽略,支持固有的存取周期→最常用29(2)DRAM芯片刷新实现
按约定的刷新方式,由专用电路定时产生行刷新命令*DRAM芯片的刷新电路:DRAM芯片行/列地址刷新地址计数器定时发生器刷新定时器②①③RASWECAS固化了刷新方式*刷新电路在计算机的位置:
通常独立于DRAM芯片/模块→DRAM控制器(主存控制器)产生行刷新地址CPU地址多路开关仲裁电路地址读/写305、MOS型SRAM与DRAM芯片比较*DRAM芯片的优点:*DRAM芯片的缺点:
DRAM速度远低于SRAM←使用动态元件(电容)所致*RAM芯片应用:
SRAM芯片—常用来构成高速度、小容量MEM,如Cache
DRAM芯片—常用来构成大容量MEM,如主存①DRAM集成度远高于SRAM;←常采用单管MOS存储元②DRAM地址引脚是SRAM的一半;←常采用地址分两次传送方式③DRAM功耗约为SRAM的1/4;←采用单管MOS存储元所致④DRAM成本远低于SRAM
作业一:P143—4、5、9、1031三、只读存储器(ReadonlyMemory,R0M)*ROM:信息注入MEM后不能再改变,它具有非易失性*半导体ROM:有时希望可改变信息*ROM芯片组成:与SRAM类似,区别在于存储元的实现及操作1、掩膜ROM(MaskedROM,MROM)*特征:用户不可修改信息*存储元状态:用MOS管的有/无表示
“1”/“0”行地址译码器A5A9VCCD列地址译码器……………………A0A4
选通01310131……*数据读出:字选线加电压时,位线电压为所选存储元的数据通常需随机访问非易失性的半导体MEM,如EPROM、FLASH等322、可编程ROM(ProgrammableROM,PROM)*特征:用户可一次性修改信息(电写入)*存储元状态:用二极管/熔丝的通/断表示“1”/“0”VCC字选择线X数据线DVCC熔丝未断(“1”)字选择线X数据线D熔丝已断(“0”)VDVD*数据写入:字线X加电压,若写“0”—VD=V地→熔丝熔断,
若写“1”—VD=V中→熔丝不断*数据读出:字线X加电压、VD=V中,检测VD变化可读出数据333、可擦除可编程ROM(ErasablePROM,EPROM)*特征:用户可多次修改信息(电写入、光擦除)*存储元状态:常用FAMOS的浮栅Gf是/否带电荷表示“1”/“0”DSN基体P源极S漏极DSiO2P浮栅GfN基体P源极S漏极DSiO2P浮栅Gf----++++*数据读出:Gf带电荷时→FAMOS导通→VD=0V,否则VD=VCC(a)读出时字选线X数据线DVCC*写数据“1”(写入):
VPP=+25V、脉冲宽度约50ms(PN结击穿→部分电子注入浮栅Gf)(b)写“1”时数据线D字选线XVPP*写数据“0”(擦除):
用紫外线照射10~20分钟→整个芯片一起擦除
(Gf上电子获得光子能量→穿过SiO2层→与基体电荷中和)344、电可擦除可编程ROM(ElectricallyEPROM,E2PROM)*特征:用户可多次修改信息(电写入、电擦除)*存储元状态:常用Flotox的浮栅Gf是/否带电荷表示“1”/“0”*数据读出:Gf带电荷时→Flotox截止→VD不变,否则VD=0V*数据写入:写“0”时Gf放电,写“1”时Gf吸收电荷,写入时先自动进行擦除(擦除精度常为行)字选线X位线DGC+3V+5V(a)数据读出+20V(c)写“1”(擦除)字选线X位线DGC+20V+0V+20V+0V(b)写“0”(写入)字选线X位线DGC+20VN
基体PSDGCSiO2PDSGCGf355、闪速存储器(FLASH)
*特征:用户可多次修改信息(电写入、电擦除)*存储元状态:与叠栅EPROM类似,但氧化层更薄
→速度更快DSP基体NSDGCSiO2NGC*数据写入与擦除:与E2PROM相同,擦除精度通常为块*数据读出:与E2PROM相同;VS=0V(a)读出状态字线X位线D+5V字线X位线D0VVS=+12V(c)写“1”(擦除)0V字线X位线D+12VVS=0V(b)写“0”(写入)+6V36§3.3主存储器一、主存储器的组成*主存储器相关参数:主存容量=主存单元长度×主存单元个数实际配置的主存(可降低成本)bw-1…b0………CPU最大寻址空间主存单元长度……0…00…0
0…01…10…10…0
1…11…1………………主存地址位数An-1
A0计算机结构设计时确定的参数软硬件遵守此约定(如CPU引脚数量等)大小表示:
n位、或2n(最大主存地址空间)37*应用对主存储器的需求:系统程序区(如机器启动时的BIOS)用户程序区(如机器启动后的OS等)bx…b00…0
1…1…………主存地址空间需求—只读、非易失性需求—读写*主存储器的组成:
①由ROM、RAM芯片组成的特定存储字长的存储器;②ROM空间大小固定、RAM空间大小可选配(≤最大空间)静态程序区(大小固定)动态程序区(大小可选)SRAM或DRAMROM主存单元长度(特定值)CPU按此设置引脚38二、主存储器的逻辑设计
存储器容量=存储字长×存储字数
=存储单元长度×存储单元个数*主存逻辑设计:使用ROM、SRAM或DRAM芯片进行容量扩展,实现主存单元长度和主存单元个数*存储器容量扩展方法:位扩展法、字扩展法、字位扩展法1、位扩展法(又称并联扩展)*目的:扩展存储器的存储字长存储器容量扩展的特例*芯片连接特征:
各芯片数据引脚连接不同,其余引脚连接相同39
例1—用1K×1bSRAM芯片构成1K×4b存储模块A9A0D3~D0WE1K×1bSRAM…CS1K×1bSRAM1K×1bSRAM1K×1bSRAM………………
例2—用1K×1bDRAM芯片构成1K×4b存储模块A4A0D3~D0WE1K×1bDRAM…RAS1K×1bDRAM1K×1bDRAM1K×1bDRAMCAS………………1K×1b………………1K×1b…bit3…bit0
1111111111402、字扩展法(又称串联扩展)*目的:扩展存储器的存储字数
例3—用1K×4bSRAM芯片构成2K×4b存储模块
解:①芯片数量—
②各芯片地址范围—存储模块地址为log2(2K)=11位,共需(2K÷1K)×(4b÷4b)=2片A9A0D3~D0WE1K×4bSRAM(0#)…CSA101K×4bSRAM(1#)…………&&(000H)……(3FFH)10000000000(400H)……11111111111(7FFH)
各芯片片选有效逻辑—0#、1#芯片分别为A10=0、A10=1
练习1—用1M×4bSRAM芯片构成4M×4b存储模块b3…b01K×4b(1#)1K×4b(0#)41
例4—用1K×4bDRAM芯片构成4K×4b存储模块
解:芯片数量—共需(4K÷1K)×(4b÷4b)=4片A5行地址中无A5,行不通!②独立控制法:1K×4bDRAM1K×4bDRAM1K×4bDRAM1K×4bDRAMA4~A0D3~D0WECASRAS3RAS0~A4~A0D3~D0WERASCASA5A11A10A9A8A7A6A5A4A3A2A1A0第1次地址第2次地址
根据各芯片地址范围及R/W单元地址,使RASi有效,易实现!
引脚组织—①地址扩展法:CSA21A202:4译码器1M×4(0#)1M×4(1#)1M×4(2#)1M×4(3#)Y0Y3GEBA423、字位扩展法*目的:同时扩展存储器的存储字长和存储字数
例5—用1K×4b
SRAM芯片构成2K×8b存储模块
解:①芯片数量—共需(2K÷1K)×(8b÷4b)=4片芯片片选有效逻辑0#、1#A10=02#、3#A10=1(000H)…(3FFH)10000000000(400H)…11111111111(7FFH)A10D3~D0A9~A0D7~D4WE1K×4bSRAM(0#)CS1K×4bSRAM(1#)1K×4bSRAM(2#)1K×4bSRAM(3#)&&
③连接图—
②各芯片地址范围—存储模块地址为log2(2K)=11位b7
~b41#1K×4bb3
~b00#1K×4b3#1K×4b2#1K×4b43
练习2—用1K×4bSRAM芯片构成4K×8b存储模块
例6—用1K×4bROM、1K×8bSRAM芯片构成4K×8b存储模块,其中前1KB空间为只读空间
解:①芯片数量—共需ROM2片、SRAM3片
②各芯片地址范围—模块地址为12位、芯片为10位00
XXXXXXXXXX01
XXXXXXXXXX10
XXXXXXXXXX11
XXXXXXXXXXROM1#ROM0#SRAM1#SRAM2#SRAM3#
③连接图—A11A10D3~D0A9~A0D7~D4WE1K×4bROM(1#)CS1K×8bSRAM(1#)1K×8bSRAM(2#)1K×8bSRAM(3#)1K×4bROM(0#)2:4译码器Y0BAGE44三、主存储器与CPU的连接1、CPU与外部的接口*CPU访问外部的过程:按地址访问
←冯·诺依曼模型要求CPUABDBCB主存①地址I/O设备①命令②状态②数据*CPU与外部的接口:地址、数据、控制/状态4种信号CPU(早期)DY-1~D0AX-1~A0WRRDIO/
MREADYCPU(现代)DY-1~D0AX-1~A0READYW/RADSIO/
M注:①地址引脚组织—反映最大寻址空间大小、与实际配置空间无关
②空闲状态与读/写状态的表示—必须用≥2个信号表示
③访问主存或I/O设备时的区分—常用控制信号IO/
M区分452、主存储器与CPU的连接主存连接与控制电路…CPU*需进行信号及时序的转换:可表示MEM操作、I/O操作、无操作按地址一次性传送方式设置引脚可由SRAM或DRAM构成*SRAM主存与DRAM主存:
SRAM
模块WECSD7~D0A18~A0DRAM控制器A8~A00#DRAM
模块A8~A0D7~D0WECSA18~A0CASRASWEWECAS0RAS0CAS1RAS11#DRAM
模块A8~A0D7~D0CASRASWE
△简化复杂度→重点讨论SRAM主存与CPU的连接46(1)数据线的连接*要求:主存数据线数=CPU数据引脚数CPU可直接访问主存*连接:CPU数据引脚与主存数据线一一对应连接(2)地址线的连接*要求:配置的主存地址空间≤CPU的(主存)最大寻址空间*连接:b7…
b0A19A18…A0512KBSRAM512KBSRAMCPU的(主存)最大寻址空间配置的主存地址空间00……0
01……110……0
11……1……&
主存CSWED7~D0A18~A08088CPUD7~D0A18~A0A19CPU地址引脚低位与主存地址线一一对应连接;CPU地址引脚高位与主存片选线按一定逻辑连接安排在空间低端47CPU读/写命令线与主存读/写线直接连接;CPU其余命令线与主存片选线按MEM操作逻辑连接(3)命令线的连接*命令线功能:MEM操作—IO/M为低、RDWR=1
I/O操作—IO/M为高、RDWR=1
无操作
—
RDWR=0(4)片选线的连接*有效逻辑:CPU对MEM操作、地址在配置主存地址范围内时&
主存CSWED7~D0A18~A08088CPUD7~D0A18~A0A19RDWRIO/M=1&*连接:4548
例1—某CPU有16根地址线、8根数据线,命令线有IO/M、RD、WR;主存配置如右图所示,有2K×8bROM及4K×4bSRAM芯片可用。⑴需ROM、RAM芯片各多少块?⑵列出主存中各芯片片选有效逻辑;⑶画出主存内部组成;⑷画出与CPU的连接图
解:⑴芯片数量—ROM=(4K÷2K)×(8b÷8b)=2块,RAM=6块
⑵各芯片的片选有效逻辑—主存地址共14位(A13~A0)芯片片选有效逻辑A13~A11=000A13~A11=001A13~A12=01A13~A12=10A13~A12=11b7…b0RAMROM4K地址空间0…0H12K地址空间在主存中的地址范围0K~2K-1000XXXXXXXXXXX2K~4K-1001XXXXXXXXXXX4K~8K-101XXXXXXXXXXXX8K~12K-110XXXXXXXXXXXX12K~16K-111XXXXXXXXXXXXb7
~b41#SRAMb3
~b00#SRAM3#SRAM2#SRAM0#ROM1#ROM5#SRAM4#SRAM49⑶主存内部连接—0#ROMWE1#ROM0#SRAM1#SRAM2#SRAM3#SRAM4#SRAM5#SRAMA10~A0D3~D0D7~D4A13A12A11CS2:4译码器BAGEY0Y2Y1&&Y350⑷主存与CPU的连接—主存空间(16K)放在CPU空间(64K)低端
练习—16位CPU的主存按字编址、最大空间为2MB,欲配置512KB主存(前128KB为只读空间),现有64K×8bROM、64K×16bSRAM、256K×16bSRAM芯片可用。请画出主存内部芯片连接图,及主存与CPU的连接图
主存CSWEA13A12A11A10~A0D3~D0D7~D4CPUA13A12A14A15A11A10~A0RDWRD3~D0D7~D4IO/M
思考—若主存由DRAM芯片构成,则如何与CPU进行连接?=1&&46474851附:计算机中主存容量的可选配实现(不作课程要求)①主存控制器支持的主存模块的最大数量固定
└→即内存条└→即主板上的BANK插槽数0#BANK(主存模块)1#BANK(主存模块)CPUA31~A0RDWRD31~D0主存控制器RAS0A15~A0RAS1WECAS0CAS1IO/M系统管理总线SMB②各主存模块的接口统一、容量可变
└→不同时期流行规格不同,常见168线DIMM52③系统启动时,检测内存条的容量、分配内存条的地址范围
硬件支持—内存条均包含SPD芯片,并与SMB连接;
串行的存在检测芯片←┘└→系统管理总线④主存控制器实现内存条选择和信号转换例:(设CPU为16位地址线、8位数据线)BANK插槽内存条主存控制器容量地址引脚地址空间分配BANK016KB8根0K~16K-1BANK1BANK216KB8根16K~32K-1BANK3
地址分配—BIOS按BANK顺序分配各内存条的地址范围
检测实现—启动时,BIOS通过SMB读取所有BANK的容量;CPU地址A15~A14=00CPU地址A15~A14=01RAS有效逻辑53三、提高访存速度的措施*CPU的访存特征:一次访存常为多个存储单元,多次访存的地址常为连续的带宽B=W/TM1、多模块存储器--多体存储器*多体MEM工作方式:串行方式、并行方式、交叉方式*多体MEM编址方式:顺序编址(高位交叉)方式交叉编址(低位交叉)方式单元地址:
体内地址体号N位2位M3
M2M1M00481215913261014371115
体号
体内地址2位N位M3
M2M1M00123456789101112131415按最小长度编址程序访问局部性*提高访存速度的方法:减少TM或平均TM、增加W54(1)串行工作方式--适用于顺序编址方式同一时刻只有一个存储体工作→W’=w、TM’=TM*特点:访存性能无任何提高,便于扩展MEM容量(2)并行工作方式--适用于交叉编址方式同一时刻所有存储体可同时工作→W’=nw、TM’=TM数据(4w)A11~A2M3wA9~A0BE3&D7~D0WEM2wA9~A0BE2&D7~D0WEM1wA9~A0BE1&D7~D0WEM0wA9~A0BE0&D7~D0WE体选择WR通过BE3~BE0选择*特点:√一次访问多个存储字,×多次访存地址连续55*多体并行MEM与CPU的连接:
CPU引脚设置—数据线数=主存字长×存储体数,BE#值(负逻辑)起始体号及信息长度读写00004B(体M0)4B1100(体M0)2B0011(体M2)2B1110/1101/1011/0111(体Mi)1B
连接—信号转换时需作特殊处理
Intel80486CPUD31~D0A31~A2M/IOW/RADSBE3~BE00#BANK1#BANK主存控制器RAS0A15~A0RAS1WECAS0CAS1BE3~BE0列地址最低2位为零体选择信号表示起始体号及信息长度
Intel80486CPUD31~D0A31~A2M/IOW/RADSBE3~BE056(3)交叉工作方式--适用于交叉编址方式存控部件使各存储体流水工作→W’=w、TM’=1/nTM
多模块存储器应用:
多体并行MEM应用更广泛,多体并行MEM+多体交叉MEM效果更佳A11~A0
M3wA9~A0D7~D0WEWR存储器控制部件
M2wA9~A0D7~D0WE
M1wA9~A0D7~D0WE
M0wA9~A0D7~D0WE~A11A2wTM/2
TM
2TMtM3体M2体M1体M0体4×BM*特点:×一次访问多个存储字,√多次访存地址连续54访存时自动启动各体572、高性能存储器(1)EDODRAM(ExtendedDataOutput
DRAM)*提高性能思路:同时读出并缓冲一行信息,减小平均TM*实现原理:用SRAM保存上次读操作的一整行信息,当前读操作的行地址若与上次读操作相同,则直接从SRAM中取出信息地址A
数据A
地址A+1
数据A+1地址A+3
数据A+3…11位比较器行地址锁存器最后读出行地址锁存器列地址锁存器行地址及控制DRAM阵列2048×512×4行译码器RA10~RA0列译码器512×4bSRAM(最后读出行)读出放大和写选择I/O控制和数据锁存D3~D0CA10~CA2CASRASWECEA10~A0REF58*猝发传送(成组传送)模式:(2)SDRAM(SynchronousDRAM)*提高性能思路:采用同步工作方式,减小TM及平均TM操作期间CPU无须等待定时+计数可实现成组传送A1D1D2CLK地址线数据线A2A3常规传送∑TM=n×(T地址+T数据)A1D1D2D3CLK地址线数据线D4猝发传送∑TM=T首址+n×T数据
*实现原理:
①基于CLK进行信号锁存及I/O
MEM从所接收地址开始,连续读/写多个存储字(内部计数器产生各存储字地址),减少了多个地址连续的数据传送的平均TM59工作方式REG行地址锁存器列地址锁存器行多路器A体DRAM(1M×8)行译码器列译码器读放和I/O门数据输出缓冲器D7~D0CASRASWECEA10~A0数据输入缓冲器刷新计数器控制逻辑CLKB体DRAM(1M×8)行译码器读放和I/O门成组传送计数器②支持成组传送方式猝发长度—由工作方式REG确定常规传送表示—猝发长度=1的成组传送操作步骤—a)设置猝发长度、b)首地址及操作命令与上次相同时无需设置用特殊命令设置A/B体:同时实现操作与刷新需有CE60(3)DDRSDRAM(DoubleDataRateSDRAM)
*提高性能思路:使用多模块并行技术,减小平均TM
*实现原理:核心CLKI/O
CLK总线CLK
100MHz100MHz
100MHzDDRSDRAM存储体I/O缓冲WWW存储体*DDR2SDRAM:
由4个存储体组成,与DDRSDRAM原理基本相同核心CLKI/O
CLK总线CLK
100MHz200MHz
200MHzDDR2SDRAM存储体I/O缓冲WWW存储体存储体存储体WW
多模块MEM为MEM级优化技术
高性能MEM为MEM内优化技术两个存储体同时工作,CLK上升沿和下降沿均I/O核心CLKI/O
CLK总线CLK
100MHz100MHz
100MHzSDRAM存储体I/O缓冲WW613、双端口存储器--同时支持两个操作*结构:2套译码+I/O+读写电路,1个存储阵列+判断逻辑电路*应用:Cache目录表等2K×8SRAM阵列A3L~A0L判断逻辑电路D7L~D0LWELBUSYLI/O电路列选择行选择A10L~A4LI/O电路列选择行选择CSL……A3R~A0RD7R~D0RWERBUSYRA10R~A4RCSR……
存储元连接—2个独立的行选MOS管、数据线及列选MOS管*冲突判断:同时对同一存储单元操作时冲突,某个BUSY有效
作业二:P143—7、8、11、12、1462§3.4高速缓冲存储器一、Cache的基本原理*Cache的功能:是主存的快速缓冲器存储阵列控制器阵列地址CPU主存(SRAM)主存地址主存地址
*Cache的性能:
命中率(H)—HC=NC/(NC+NM)
NC、NM为CPU访存操作在Cache、主存中的命中次数√平均访问时间—理论TA=HCTCache+(1-HC)Tmem’
实际TA=T命中+(1-HC)T缺失=TCache+(1-HC)Tmem
数据为主存中数据的拷贝=TCache+Tmem631、Cache的存储空间管理(1)Cache-主存的信息交换单位*目标:尽量地减小平均访问时间TA*减小TA的方法分析:①提高HC—利用程序访问局部性∑TMem=TM首地址+n×TM数据
②减小TMem—优化∑TMem=n×(TM地址+TM数据)相邻信息均在Cache中猝发传送*Cache-主存的信息交换单位:字块(又称数据块或块)确定块大小方法—HC较高时的n,使(∑TMem)/n≈TCache
块大小—通常为8个字左右64(2)Cache的存储空间管理*Cache存储阵列的编址单位:与主存相同(CPU所需,假设为字)*Cache-主存间的信息交换管理:交换单位为块块0块2m-1主存空间……0
2b-1………0
2b-1…m位b位主存地址主存块号块内字号块0块2c-1Cache空间……0
2b-1………0
2b-1…c位b位Cache地址Cache块号块内字号①主存与Cache均划分成若干大小相同的块有效位
标记位……②Cache用标志标识所存放的是哪个主存块
用有效位标识是否空闲(有/无数据)0*0*1i6265*Cache信息的组织:--国内教材讲法①Cache由存储阵列、目录表组成②需进行Cache内字编址
(假设主存按字编址)c位b位Cache地址Cache块号块内字号数据块(字0~字2b-1)…数据块(字0~字2b-1)数据块(字0~字2b-1)第0块第2c-1块………标记位有效位状态位标记位有效位状态位标记位有效位状态位操作针对某个块的某个字进行66*Cache信息的组织:--国外教材讲法(较流行)①Cache是高速缓存行的数组,每行可存放一个数据块标记位有效位状态位标记位有效位状态位标记位有效位数据块(字0~字2b-1)状态位…………第0行第2c-1行数据块(字0~字2b-1)数据块(字0~字2b-1)②需进行Cache内行编址、数据块内字编址c位b位Cache地址Cache块号块内字号c位b位Cache行号块内字号Cache行地址块内字地址操作只针对某个字进行(当前行中)
两种组织方式比较—功能相同,性能、成本有所不同672、Cache的基本工作原理*完成访问过程:①地址变换,②访问数据,③保持一致性调入目标块(到行i)YN找出被替换行i腾空行i中数据缺失处理有空闲行iN查找相关的行命中Y接收CPU的主存地址访问(R/W)行中数据通知CPU操作完成替换算法*实现要求:全部工作均由硬件完成(对程序员透明)!*相关技术:映射规则、替换算法、写策略映射规则写策略62CPU操作=W数据写回主存Y683、Cache的结构与组成*存储体:由SRAM构成,支持猝发传送模式*地址映射及变换机构:由行标记、比较器等组成CPU主存地址SystemBus存储体(SRAM)控制器地址映射及变换机构数据(字/次)主存(DRAM)替换机构MUX命令数据(块/次)主存地址命令Cache地址命令
地址映射机构—确定查找哪些行←映射规则影响索引位组成
地址变换机构—比较行中标记,获得目标行
命中时:当前行为目标行←┤
不命中时:由缺失处理产生目标行←┘646967*控制器:由时序部件、控制信号形成部件等组成
功能—产生Cache工作过程所需的各种时序及控制信号*替换机构:由行状态、状态更新及行选择部件等组成操作时—更新相关行的状态缺失时—比较相关行的状态,选择被替换的行行0行2c-1行j有效位标记位状态位数据块……0as31is01bs1…………块内地址(t)主存地址索引(j)标记(i)比较器=≠&≥1命中缺失译码器70二、Cache的相关技术1、地址映射及变换*功能目标:某主存块可存放到Cache的哪些行中?*性能指标:块冲突率(调入块时)、地址变换的速度与成本
└→≠命中率H、但对H有很大影响(1)直接地址映射及变换*映射规则:主存块i可映射到Cache的行j=(imodG)中主存区号一行区0
…主存空间行G-1标记数据块Cache空间…行1行0
块0
…
块G-1区1区M/G-1
块0
…
块G-1
块0
…
块G-1标记组成—查找区域—块内地址t主存地址区内块号j区号r块内地址t行号jCache地址直接标记Cache行号主存块号71*地址变换:
比较Cache相应行的标记,命中时该行即为目标行└→与主存地址中区内块号对应行0行2c-1行j有效位标记位数据块……0a1r1b…………块内地址t主存块号主存地址区内块号j区号r比较器=&命中缺失译码器*特征:映射规则—块冲突率最高地址变换—速度最快、成本最低72
例1:CPU的最大主存容量为1MB、主存按字节编址,块大小16B,Cache容量为8KB。采用直接映射方式时,⑴主存地址如何划分(含参数)?⑵Cache的标记位长度?⑶CPU访存地址为36454H时,则可能命中的Cache行号?命中时目标行的有效位、标记位?
解:⑴Cache行数=8KB/16B=512行、行号log2512=9位,7位9位4位块内地址区号区内块号主存地址划分块内地址行号Cache地址9位20-9-4位=直接映射
主存地址log2(1MB/1B)=20位,其中块内地址为4位⑵Cache的标记位中为主存区号,标记位长度=7位
可能命中的Cache行号=0
0100
0101B=045H,⑶主存地址=(
0011
0110
0100
0101
0100)2,
命中时目标行的有效位=1、标记位=0011
011B=1BH7073(2)全相联地址映射及变换*映射规则:主存块i可映射到Cache的任意行中标记组成—查找区域—直接块内地址tb位主存地址主存块号im位块内地址t行号jCache地址主存空间块0块2m-1……块i行2c-1标记数据块Cache空间……行j行0主存块号(m位)所有行*地址变换:比较所有行的标记,命中行即为目标行有效位标记位数据块≥1命中主存块号有效位标记位数据块比较器=&…比较器=&译码器译码器块内地址……行0…行2c-1707174
例2:CPU的(主存)最大寻址空间为1M、主存按字节编址,块大小16B,Cache容量为8KB。采用全相联映射方式时,⑴主存地址如何划分(含参数)?⑵Cache的标记位长度?⑶CPU访问36454H主存单元时,则命中时目标行的有效位、标记位?
解:⑴主存地址log2(1M)=20位,其中块内地址为4位块内地址主存块号4位16位
主存地址划分:⑵Cache的标记位中为主存块号,标记位长度=16位⑶主存地址=(
0011
0110
0100
0101
0100)2,
命中时目标行的有效位=1、标记位=3645H*特征:映射规则—块冲突率最低地址变换—速度最慢、或成本最高7275(3)组相联地址映射及变换标记组成—查找区域—主存群号组内所有行群0群1群M/(G/n)-1…主存空间
块0
块G/n-1……
块0
块G/n-1…
块0
块G/n-1组0组G/n-1标记数据块Cache空间行n-1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育赛事承销协议书范本
- 大型活动道具翻新吊车租赁协议
- 2024年娄桂离婚协议:未来的规划与双方的自由
- 农村水上乐园建设合同协议书
- 美容院美容椅门施工协议
- 2024年光缆租赁合同协议
- 旅游景区副班司机招聘协议
- 2024年劳动合同协议
- 高中跨学科教学的模式分析与路径选择
- 新质生产力的核心要素
- 社会主义核心价值观秀版
- 食堂消防安全知识培训内容
- 房室传导阻滞学习课件
- 新拌混凝土的性能
- 2023-2024学年四川省成都市高一上英语期末考试题(含答案和音频)
- 做头疗计划书
- 《中国建筑股份有限公司施工企业质量管理办法》
- 风电项目投资计划书
- GB/T 29712-2023焊缝无损检测超声检测验收等级
- 初中美术期末检测方案
- 配电室运行维护投标方案(技术标)
评论
0/150
提交评论