版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章存储器4.1概述4.2主存储器4.3高速缓冲存储器4.4辅助存储器14.1概述一、存储器分类1.按存储介质分类(1)半导体存储器(2)磁表面存储器(3)磁芯存储器(4)光盘存储器易失TTL、MOS磁头、载磁体硬磁材料、环状元件激光、磁光材料非易失2(1)存取时间与物理地址无关(随机访问)顺序存取存储器磁带4.12.按存取方式分类(2)存取时间与物理地址有关(串行访问)随机存储器只读存储器直接存取存储器磁盘在程序的执行过程中可读可写在程序的执行过程中只读3磁盘、磁带、光盘高速缓冲存储器(Cache)FlashMemory存储器主存储器辅助存储器MROMPROMEPROMEEPROMRAMROM静态RAM动态RAM3.按在计算机中的作用分类4.1易失非易失非易失非易失4高低小大快慢辅存寄存器缓存主存磁盘光盘磁带光盘磁带速度容量价格位/1.存储器三个主要特性的关系二、存储器的层次结构CPUCPU主机4.15缓存CPU主存辅存2.缓存主存层次和主存辅存层次缓存主存辅存主存虚拟存储器10ns20ns200nsms虚地址逻辑地址实地址物理地址主存储器4.1(速度)(容量)64.2主存储器一、概述1.主存的基本组成存储体驱动器译码器MAR控制电路读写电路MDR地址总线数据总线读写……………72.主存和CPU的联系MDRMARCPU主存读数据总线地址总线写4.28
高位字节地址为字地址
低位字节地址为字地址设地址线24根按字节寻址按字寻址若字长为16位按字寻址若字长为32位字地址字节地址11109876543210840字节地址字地址4523014203.主存中存储单元地址的分配4.2224=16M8M4M9(2)存储速度4.主存的技术指标(1)存储容量(3)存储器的带宽主存存放二进制代码的总位数
读出时间写入时间存储器的访问时间
存取时间存取周期读周期写周期
连续两次独立的存储器操作(读或写)所需的最小间隔时间
位/秒4.2
存取周期大于存取时间10芯片容量二、半导体存储芯片简介1.半导体存储芯片的基本结构译码驱动存储矩阵读写电路1K×4位16K×1位8K×8位片选线读/写控制线地址线…数据线…地址线(单向)数据线(双向)1041411384.211二、半导体存储芯片简介1.半导体存储芯片的基本结构译码驱动存储矩阵读写电路片选线读/写控制线地址线…数据线…片选线读/写控制线(低电平写高电平读)(允许读)4.2CSCEWE(允许写)WEOE12存储芯片片选线的作用用16K×1位的存储芯片组成64K×8位的存储器
32片当地址为65535时,此8片的片选有效8片16K×1位8片16K×1位8片16K×1位8片16K×1位4.2130,015,015,70,7
读/写控制电路
地址译码器
字线015……16×8矩阵………07D07D位线读/写选通A3A2A1A0……2.半导体存储芯片的译码驱动方式(1)线选法4.200000,00,7…0…07…D07D读/写选通
读/写控制电路
用一根字线直接选中一个存储单元的各位,结构简单,适用于容量不大的存储芯片。14A3A2A1A0A40,310,031,031,31
Y地址译码器
X地址译码器
32×32矩阵……A9I/OA8A7A56AY0Y31X0X31D读/写……(2)重合法4.200000000000,031,00,31……I/OD0,0读用矩阵的形式,选中行、列,交叉点即为所要访问的存储单元。15三、随机存取存储器(RAM)1.静态RAM(SRAM)(1)静态RAM基本电路A´触发器非端1T4T~触发器5TT6、行开关7TT8、列开关7TT8、一列共用A
触发器原端T1~T4T5T6T7T8A´A写放大器写放大器DIN写选择读选择DOUT读放位线A位线A´列地址选择行地址选择4.2T1~T4基本R-S触发器,用于记忆1位二进制代码。控制存储单元是否被选中。16A´T1
~T4T5T6T7T8A写放大器写放大器DIN写选择读选择读放位线A位线A´列地址选择行地址选择DOUT
①静态RAM基本电路的读
操作行选
T5、T6开4.2T7、T8开列选读放DOUTVAT6T8DOUT读选择有效17T1~T4T5T6T7T8A´ADIN位线A位线A´列地址选择行地址选择写放写放读放DOUT写选择读选择
②静态RAM基本电路的写
操作行选T5、T6开两个写放DIN4.2列选T7、T8开(左)
反相T5A´(右)
T8T6ADINDINT7写选择有效T1~T418(2)静态RAM芯片举例①Intel2114外特性存储容量1K×4
位4.2I/O1I/O2I/O3I/O4A0A8A9WECSVCCGNDIntel2114…19
②Intel2114RAM矩阵(64×64)读A3A4A5A6A7A8A0A1A2A915…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS第一组第二组第三组第四组4.22015…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS第一组第二组第三组第四组00000000004.2
②Intel2114RAM矩阵(64×64)读21第一组第二组第三组第四组15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS00000000004.2
②Intel2114RAM矩阵(64×64)读150311647326348…………22第一组第二组第三组第四组4.2
②Intel2114RAM矩阵(64×64)读15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0000000000150311647326348…………0…164832………2315…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0000000000150311647326348…………0…164832………第一组第二组第三组第四组4.2
②Intel2114RAM矩阵(64×64)读0163248CSWE2415…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0…164832………第一组第二组第三组第四组4.2
②Intel2114RAM矩阵(64×64)读150311647326348…………01632480000000000…………2515…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0000000000…………第一组第二组第三组第四组4.2
②Intel2114RAM矩阵(64×64)读150311647326348…………01632480…164832………2615…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0000000000…………第一组第二组第三组第四组4.2
②Intel2114RAM矩阵(64×64)读150311647326348…………0163248读写电路读写电路读写电路读写电路0…164832………2715…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0000000000…………第一组第二组第三组第四组4.2
②Intel2114RAM矩阵(64×64)读150311647326348…………0163248读写电路读写电路读写电路读写电路0…164832………I/O1I/O2I/O3I/O428A3A4A5A6A7A8A0A1A2A915…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写2915…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS第一组第二组第三组第四组00000000004.2
③Intel2114
RAM矩阵(64×64)写30第一组第二组第三组第四组15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS00000000004.2
③Intel2114
RAM矩阵(64×64)写150311647326348…………31第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码I/O1I/O2I/O3I/O4WECS0000000000150311647326348…………WECS0…164832………32第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写I/O1I/O2I/O3I/O4WECS15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码0000000000150311647326348…………I/O1I/O2I/O3I/O40…164832………33第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写I/O1I/O2I/O3I/O4WECS15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码0000000000150311647326348…………I/O1I/O2I/O3I/O4读写电路读写电路读写电路读写电路0…164832………34第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写I/O1I/O2I/O3I/O4WECS15…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码0000000000150311647326348…………I/O1I/O2I/O3I/O4读写电路读写电路读写电路读写电路0…164832………35第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写I/O1I/O2I/O3I/O415…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码WECS0000000000150311647326348…………读写电路读写电路读写电路读写电路I/O1I/O2I/O3I/O40…164832………36第一组第二组第三组第四组4.2
③Intel2114
RAM矩阵(64×64)写I/O1I/O2I/O3I/O415…031…1647…3263…48150311647326348读写电路读写电路读写电路读写电路……………………0163015……行地址译码列地址译码WECS0000000000150311647326348…………I/O1I/O2I/O3I/O4读写电路读写电路读写电路读写电路01632480…164832………37ACSDOUT地址有效地址失效片选失效数据有效数据稳定高阻(3)静态RAM读时序tAtCOtOHAtOTDtRC片选有效4.2读周期
tRC
地址有效下一次地址有效读时间
tA
地址有效数据稳定tCO
片选有效数据稳定tOTD
片选失效输出高阻tOHA
地址失效后的数据维持时间38ACSWEDOUTDIN(4)静态RAM(2114)写
时序tWCtWtAWtDWtDHtWR写周期
tWC
地址有效下一次地址有效4.2写时间
tW
写命令WE
的有效时间tAW地址有效片选有效的滞后时间tWR片选失效下一次地址有效tDW数据稳定
WE失效tDH
WE失效后的数据维持时间39DD预充电信号读选择线写数据线写选择线读数据线VCgT4T3T2T11(1)动态RAM基本单元电路2.动态RAM(DRAM)读出与原存信息相反读出时数据线有电流为“1”数据线CsT字线DDV010110写入与输入信息相同写入时CS充电为“1”放电为“0”4.2T3T2T1T无电流有电流40单元电路读写控制电路列地址译码器………读选择线写选择线D行地址译码器001131311A9A8A7A6A531A4A3A2A1A0刷新放大器写数据线读数据线……………0…(2)动态RAM芯片举例①三管动态RAM芯片(Intel1103)读00000000000D…004.2单元电路读写控制电路…41A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0…②三管动态RAM芯片(Intel1103)写4.242111114.2②三管动态RAM芯片(Intel1103)写A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0…43A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0…11111…4.2②三管动态RAM芯片(Intel1103)写44A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0……01000111114.2②三管动态RAM芯片(Intel1103)写45A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0……11111101000114.2②三管动态RAM芯片(Intel1103)写…46A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0……D111110100014.2②三管动态RAM芯片(Intel1103)写…47A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0……D111110100014.2②三管动态RAM芯片(Intel1103)写读写控制电路…48A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0……D111110100014.2②三管动态RAM芯片(Intel1103)写读写控制电路…49A9A8A7A6A5读写控制电路列地址译码器………读选择线写选择线D单元电路行地址译码器00113131131A4A3A2A1A0刷新放大器写数据线读数据线……………0……D111110100014.2②三管动态RAM芯片(Intel1103)写读写控制电路…50时序与控制行时钟列时钟写时钟
WERASCAS
A'6A'0存储单元阵列基准单元行译码列译码器再生放大器列译码器读出放大基准单元存储单元阵列行译码
I/O缓存器数据输出驱动数据输入寄存器
DINDOUT~行地址缓存器列地址缓存器③单管动态RAM4116(16K×
1位)外特性4.2DINDOUTA'6A'0~51
读放大器
读放大器
读放大器………………………06364127128根行线Cs01271128列选择读/写线数据输入器I/O缓冲输出驱动DOUTDINCs④4116(16K×1位)芯片读
原理
读放大器
读放大器
读放大器……4.263000I/O缓冲器输出驱动器OUTD列地址选择管行选择线左边反相右边同相52
读放大器
读放大器
读放大器………………………06364127128根行线Cs01271128列选择读/写线数据输入I/O缓冲输出驱动DOUTDINCs…⑤4116(16K×1位)芯片写
原理数据输入器I/O缓冲I/O缓冲DIN读出放大器
读放大器4.263053(3)动态RAM时序
行、列地址分开传送写时序行地址RAS有效写允许WE有效(高)数据
DOUT
有效数据
DIN
有效读时序4.2行地址RAS有效写允许WE有效(低)列地址CAS有效列地址CAS有效54(4)动态RAM刷新
刷新与行地址有关①集中刷新(存取周期为0.5s
)“死时间率”为128/4000×100%=3.2%“死区”为0.5s
×128=64s
周期序号地址序号tc0123871387201tctctctc3999VW01127读/写或维持刷新读/写或维持3872个周期(1936s)
128个周期(64s)
刷新时间间隔(2ms)刷新序号••••••tcXtcY••••••4.2以128×128矩阵为例55tC=tM
+tR读写刷新无“死区”②
分散刷新(存取周期为1
s
)(存取周期为0.5s
+0.5s
)4.2以128
×128矩阵为例W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔128个存取周期…56③分散刷新与集中刷新相结合(异步刷新)对于128×128的存储芯片(存取周期为0.5s
)将刷新安排在指令译码阶段,不会出现“死区”“死区”为0.5s
若每隔15.6s
刷新一行每行每隔2ms
刷新一次4.2573.动态RAM和静态RAM的比较DRAMSRAM存储原理集成度芯片引脚功耗价格速度刷新电容触发器高低少多小大低高慢快有无主存缓存4.258四、只读存储器(ROM)1.掩模ROM(MROM)行列选择线交叉处有MOS管为“1”行列选择线交叉处无MOS管为“0”2.PROM(一次性编程)VCC行线列线熔丝熔丝断为“0”为“1”熔丝未断4.2593.EPROM(多次性编程)(1)N型沟道浮动栅MOS电路——基本存储单元4.2·初始态:每个单元的浮动栅极上都没有电荷,源极与漏极之间不导电,此时表示该存储单元保存的信息为“1”。
·写入信息“0”:在漏极和源极(即S)之间加上十25v的电压,同时加上编程脉冲信号(50ns),漏极与源极间被瞬时击穿,电子注入到浮动栅。在高压电源去除之后,浮动栅为负,就形成了导电沟道,从而使相应单元导通,即将0写入该单元。·清除信息:用一定波长的紫外光照射浮动栅,使负电荷获取足够的能量,摆脱SiO2的包围,以光电流的形式释放掉,即原来存储的信息也就不存在了。60G栅极S源D漏紫外线全部擦洗D端加正电压形成浮动栅S与D不导通为“0”D端不加正电压不形成浮动栅S与D导通为“1”SGDN+N+P基片GDS浮动栅
SiO2+++++___
4.261…控制逻辑Y译码X译码数据缓冲区Y控制128×128存储矩阵……PD/ProgrCSA10A7…A6A0……DO0…DO7112…A7A1A0VSSDO2DO0DO1…27162413…VCCA8A9VPPCSA10PD/ProgrDO3DO7…(2)2716EPROM的逻辑图和引脚4.2PD/ProgrPD/Progr功率下降/编程输入端
读出时为低电平624.EEPROM(多次性编程)电可擦写局部擦写全部擦写5.FlashMemory(闪速型存储器)4.2FLASH存储器也翻译成闪速存储器,它是高密度非失易失性的读/写存储器。高密度意味着它具有巨大比特数目的存储容量。非易失性意味着存放的数据在没有电源的情况下可以长期保存。总之,它既有RAM的优点,又有ROM的优点,称得上是存储技术划时代的进展。63用1K
×
4位存储芯片组成1K
×
8位的存储器?片五、存储器与CPU的连接1.存储器容量的扩展(1)位扩展(增加存储字长)10根地址线8根数据线DD……D0479AA0•••21142114CSWE4.22片64(2)字扩展(增加存储字的数量)用1K
×
8位存储芯片组成2K
×
8位的存储器11根地址线8根数据线4.2?片2片1K×8位1K×8位D7D0•••••••••••••••WEA1A0•••A9CS0A10
1CS165(3)字、位扩展用1K
×
4位存储芯片组成4K
×
8位的存储器8根数据线12根地址线WEA8A9A0...D7D0…A11A10CS0CS1CS2CS3片选译码……………………4.21K×41K×41K×41K×41K×41K×41K×41K×4?片8片66(4)存储器模块条存储器通常以插槽用模块条形式供应市场。这种模块条常称为内存条,它们是在一个条状形的小印制电路板上,用一定数量的存储器芯片,组成一个存储容量固定的存储模块。如图所示。内存条有30脚、72脚、100脚、144脚、168脚等多种形式。30脚内存条设计成8位数据线,存储容量从256KB~32MB。72脚内存条设计成32位数据总线100脚以上内存条既用于32位数据总线又用于64位数据总线,存储容量从4MB~512MB。67练习:1.某计算机字长为16位,他的存储容量是1MB,按字编址,他的寻址范围是()2.某一RAM芯片,其容量为128K×16位,除电源和接地端外,该芯片引出线的最少数目是()
3.若主存每个存储单元为16位,则()A.其地址线为16根B.其地址线数与16无关C.其地址线数与16有关684.下列叙述中()是正确的A.主存可由RAM和ROM组成B.主存只能由RAM组成5.设机器字长为32位,存储容量为16MB,若按双字编址,其寻址范围是()A。8MBB.2MC.4M69
2.存储器与CPU的连接
(1)地址线的连接(2)数据线的连接(3)读/写命令线的连接(4)片选线的连接(5)合理选择存储芯片(6)其他时序、负载4.2CPU低位和存储芯片地址线相连,CPU高位产生片选信号等。扩充存储芯片位数,使其与CPU数据线数相等。直接与存储器读写控制端相连。可由CPU高位地址线产生;与访存控制信号MREQ(低电平有效)有关ROM存放系统程序、标准子程序、各类常数。RAM(动态)存放用户程序。70例4.1
设CPU有16根地址线,8根数据线,并用MREQ作访存控制信号(低电平有效),用WR作读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K×4位RAM;4K×8位RAM;8K×8位RAM;2K×8位ROM;4K×8位ROM;8K×8位ROM及74LS138译码器和各种门电路,如图4.1所示。画出CPU与存储器的连接图,要求①主存地址空间分配:6000H~67FFH为系统程序区;6800H~6BFFH为用户程序区。②合理选用上述存储芯片,说明各选几片?③详细画出存储芯片的片选逻辑图。7172例4.1
解:
(1)写出对应的二进制地址码(2)确定芯片的数量及类型0110000000000000A15A14A13A11A10…A7…
A4A3…
A0…01100111111111110110100000000000…01101011111111112K×8位1K×8位RAM2片1K×4位ROM1片2K×8位4.273(3)分配地址线A10~A0接2K
×
8位ROM的地址线A9~A0接1K
×
4位RAM的地址线(4)确定片选信号CBA0110000000000000A15A13A11A10…A7…A4A3…
A0…01100111111111110110100000000000…01101011111111112K
×
8位1片ROM1K
×
4位2片RAM4.2742K
×8位ROM
1K
×4位
RAM1K
×4位
RAM………&PD/ProgrY5Y4G1CBAG2BG2A……MREQA14A15A13A12A11A10A9A0…D7D4D3D0WR…………例4.1
CPU与存储器的连接图4.2………75(1)写出对应的二进制地址码练习1
假设同前,要求最小4K为系统程序区,相邻8K为用户程序区。(2)确定芯片的数量及类型(3)分配地址线(4)确定片选信号1片4K
×
8位
ROM2片4K
×
8位
RAMA11~A0接ROM和RAM的地址线4.276练习2
设CPU有20根地址线,8根数据线。并用IO/M作访存控制信号。RD为读命令,WR为写命令。现有2764EPROM(8K×8位),外特性如下:用138译码器及其他门电路(门电路自定)画出CPU和2764的连接图。要求地址为F0000H~FFFFFH,
并写出每片2764的地址范围。4.2…D7D0CEOECE片选信号OE允许输出PGM可编程端PGM…A0A1277例4.2CPU及其它芯片假设同上题,画出CPU与存储器的连接图。要求的地址空间满足下述条件:最小8K地址为系统程序区,与其相邻的16K地址为用户程序区,最大4K地址空间为系统程序工作区。详细画出存储芯片的片选逻辑并指出存储芯片的种类及片数。78第二步,根据地址范围的容量及其在计算机系统中的作用,确定最小8K系统程序区选1片8K×8位ROM;与其相邻的16K用户程序区选2片8K×8位RAM;最大4K系统程序工作区选1片4K×8位RAM。第三步,分配CPU地址线。将CPU的低13位地址线A12~A0与1片8K×8位ROM和两片8K×8位RAM的地址线相连;将CPU的低12位地址线A11~A0与1片4K×8位RAM的地址线相连。第四步,形成片选信号。7980例4.3设CPU有20根地址线和16根数据线,并用IO/M作访存控制信号,RD为读命令,WR为写命令。CPU可通过BHE和A0来控制按字节或字两种形式访存(如表4.1所示)。要求采用图4.4所示的芯片,门电路自定。试回答:(1)CPU按字节访问和按字访问的地址范围各是多少?(2)CPU按字节访问时需分奇偶体,且最大64KB为系统程序区,与其相邻的64KB为用户程序区。写出每片存储芯片所对应的二进制地址码。(3)画出对应上述地址范围的CPU与存储芯片的连接图。81解:(1)CPU按字节访问的地址范围为1M,CPU按字访问的地址范围是512K。82(2)由于CPU按字节访存时需区分奇偶体,并且还可以按字访问,因此如果选64K×8位的芯片,按字节访问时体现不出奇偶分体;如果选32K×16位的芯片,虽然能按字访问,但满足不了以字节为最小单位。故一律选择32K×8位的存储芯片,其中系统程序区64KB选两片32K×8位ROM,用户程序区64KB选两片32K×8位RAM。它们对应的二进制地址范围是:8384六、存储器的校验编码的纠错、检错能力与编码的最小距离有关L——编码的最小距离D——检测错误的位数C——纠正错误的位数汉明码是具有一位纠错能力的编码4.2L1=D+C(D≥C)1.编码的最小距离任意两组合法代码之间二进制位数的最少差异L=3具有一位纠错能力85a)汉明码的组成需增添?位检测位b)检测位的位置?c)检测位的取值?2k
≥
n+k+1检测位的取值与该位所在的检测“小组”中承担的奇偶校验任务有关组成汉明码的三要素4.22.汉明码的组成2i
(i=0,1,2,3,)…86各检测位Ci
所承担的检测小组为gi
小组独占第2i-1
位gi
和gj
小组共同占第2i-1+2j-1
位gi、gj
和gl
小组共同占第2i-1+2j-1+2l-1
位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,24,…4.287例4.4求0101按“偶校验”配置的汉明码解:∵n=4根据2k
≥n+k+1得k=3汉明码排序如下:二进制序号名称1234567C1C2C40∴0101的汉明码为
010010101014.21088按配偶原则配置0011的汉明码二进制序号名称1234567C1C2C41000011解:∵n=4根据2k
≥n+k+1取k=3C1=357=1C2=367=0C4=567=0∴0011的汉明码为
1000011练习14.2893.汉明码的纠错过程形成新的检测位Pi
,如增添3位(k=3),新的检测位为P4P2P1
。以k=3为例,Pi
的取值为P1=13
57P2=23
67P4=45
67对于按“偶校验”配置的汉明码不出错时P1=0,P2=0,P4=0C1C2C4其位数与增添的检测位有关,4.290P1=1357=0无错P2=2367=1有错P4=4567=1有错∴
P4P2P1=110第6位出错,可纠正为0100101,故要求传送的信息为
0101。纠错过程如下例4.5解:
已知接收到的汉明码为0100111(按配偶原则配置)试问要求传送的信息是什么?4.2
91练习2P4=4567=1P2=2367=0P1=1357=0∴P4P2P1=100第4位错,可不纠写出按偶校验配置的汉明码0101101的纠错过程练习3按配奇原则配置0011的汉明码配奇的汉明码为01010114.292七、提高访存速度的措施采用高速器件:SDRAM、RDRAM调整主存结构:单体多字系统、多体并行系统1.单体多字系统W位W位W位W位W位
地址寄存器
主存控制器......单字长寄存器数据寄存器存储体采用层次结构:Cache–主存增加存储器的带宽4.2932.多体并行系统(1)高位交叉M0……M1……M2M3…………4.2体内地址体号体号地址000000000001001111010000010001011111100000100001101111110000110001111111顺序编址(顺序存储)94各个体并行工作4.2M0地址01……n-1M1nn+1……2n-1M22n2n+13n-1M33n3n+14n-1…………地址译码体内地址体号体号(1)高位交叉951.各模块间顺序存储,一模块满才能存储下一模块。2.高位地址为体号,低位地址为体内地址。地址是连续的,有利于存储器的扩充。3.并行工作:不同的请求源可同时访问不同的体。4.2高位交叉的特点:
96M0……M1……M2M3…………
体号体内地址地址000000000001000010000011000100000101000110000111111100111101111110111111(2)低位交叉(交叉存储)各个体轮流编址97M0地址04……4n-4M115……4n-3M2264n-2M3374n-1…………地址译码
体号体内地址
体号(2)低位交叉各个体轮流编址(模m编址)98低位交叉的特点在不改变存取周期的前提下,增加存储器的带宽,适用于成批数据的读取。时间单体访存周期单体访存周期4.2启动存储体0启动存储体1启动存储体2启动存储体399
4.2设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足T=4τ。连续读取4个字所需的时间为
T+(4
-1)τ若为高位交叉编址,则连续读取4个字所需的时间为4T100例:设有四个模块组成的四体存储器结构,每个体的存储字长为32位,存取周期为200ns。假设数据总线宽度为32位,总线传输周期为50ns,试求顺序存储和交叉存储的存储器带宽。解:顺序存储(高位交叉编址)和交叉存储(低位交叉编址)连续读出4个字的信息量是32×4=128位。顺序存储存储器连续读出4个字的时间是200ns×4=800ns=8×10-7s交叉存储存储器连续读出4个字的时间是200ns+50ns×(4-1)=350ns=3.5×10-7s顺序存储器的带宽是128/(8×10-7)=16×107bps交叉存储器的带宽是128/(3.5×10-7)=37×107bps101(3)存储器控制部件(简称存控)合理安排各部件请求访问的顺序以及控制主存读写操作的功能。易发生代码丢失的请求源,优先级最高(如:外设)一旦响应某请求源的请求,CM置1,启动节拍发生器。4.2控制线路排队器节拍发生器QQCM来自各个请求源
…主脉冲存控标记触发器严重影响CPU工作的请求源,给予次高优先级(如:写数>读数>读指令)1024.23.高性能存储芯片(1)SDRAM(同步DRAM)在系统时钟的控制下进行读出和写入。以处理器-存储器总线的最高速度运行,不需插入等待状态。CPU无须等待:CPU给出的地址信号会被SDRAM锁存,直到指定的时钟周期数后再响应。支持猝发访问模式:CPU发出一个地址可以连续访问一个数据块。可包含多个存储体,这些体可以轮流工作,提高访问速度。f)DDR-SDRAM:双数据速率,每周期两次向CPU送出数据。1034.2(2)RDRAM由Rambus
开发,主要解决存储器带宽问题,通过高速总线获得存储器请求,总线最多可寻址320块RDRAM芯片,传输率可达1.6GBps。b)采用异步的面向块的传输协议传送地址信息和数据信息。通过互连电路RamLink连接,数据交换以包为单位。(3)CDRAM(带
Cache
的
DRAM)在DRAM的芯片内集成了一个由SRAM
组成的Cache
,有利于猝发式读取
.SRAM用于保存一行内容。允许在写操作完成同时启动同一行的读操作。c)在SRAM读出期间可同时对DRAM阵列进行刷新。104(3)双端口存储器1)因同一个存储器具有两组相互独立的读写控制电路而得名。两个端口,一个面向CPU,一个面向外设和I/O处理机,两端口可独立使用,也可访问同一单元,增大信息吞吐量。由于进行并行的独立操作,因而是一种高速工作的存储器,在科研和工程中非常有用。2)在运算器中,可作为通用寄存器组,能快速提供双操作数。3)在多机系统中,作为CPU的共享存储器,实现多CPU间的通信。105双端口存储器IDT7133的逻辑框图106补充:相联存储器原理:按内容存取的存储器,可以选择记录(关键字)的一个字段作为地址组成:见下一页图主要用途:在虚拟存储器中存放段表、页表和快表,也可以作Cache的行地址1071084.3高速缓冲存储器一、概述1.问题的提出a.避免CPU“空等”现象b.CPU和主存(DRAM)的速度差异缓存CPU主存容量小速度高容量大速度低根据:程序访问的局部性原理:在一个较短的时间间隔内,程序所访问的存储器地址在很大比例上集中在存储器地址空间的很小范围内。1092.Cache的工作原理(1)主存和缓存的编址主存和缓存按块存储块的大小相同B
为块长~~~~……主存块号主存储器012m-1字块0字块1字块M-1主存块号块内地址m位b位n位M块B个字缓存块号块内地址c位b位C块B个字~~~~……字块0字块1字块C-1012c-1标记Cache缓存块号4.3110(2)命中与未命中缓存共有C
块主存共有M
块M>>C主存块调入缓存主存块与缓存块建立了对应关系用标记记录与某缓存块建立了对应关系的主存块号命中未命中主存块与缓存块未建立对应关系主存块未调入缓存4.3111(3)Cache的命中率命中率:CPU欲访问的信息在Cache中的比率b.命中率与Cache的容量与块长有关c.
一般每块可取4~8个字d.块长也可取一个存取周期内从主存调出的信息长度CRAY_116体交叉块长取16个存储字
IBM370/1684体交叉
块长取4个存储字4.3a.命中率用来衡量Cache的效率。命中率h=访问Cache的总命中次数Nc/Nc+访问主存的总次数112(4)Cache–主存系统的效率效率e
与命中率有关
设Cache命中率为h,访问Cache
的时间为tc
,
访问主存的时间为tm
4.3则
e=×100%tc
h
×
tc+(1-h)×tm
访问Cache的时间
平均访问时间
e=×100%113例1.假设CPU执行某段程序时,共访问Cache命中2000次,访问主存50次。已知Cache的存取周期为50ns,主存的存取周期为200ns。求Cache-主存系统的命中率、效率和平均访问时间。(1)Cache的命中率为2000/(2000+50)=0.97(2)由题可知,访问主存的时间是访问Cache时间的4倍(200/50=4),设访问Cache的时间为t,访问主存的时间为4t,Cache-主存系统的访问效率为e,则(3)平均访问时间=50ns×0.97+200ns×(1–0.97)=54.5ns1142.CRAY_1的主存是16体交叉,每个体为单字宽,则存放指令的Cache块长为
个存储字。3.IBM370的主存是4体交叉,每个体宽为64位,则存放指令的Cache块长为
个字节。1153.Cache的基本结构4.3Cache替换机构Cache存储体主存Cache地址映射变换机构由CPU完成CPU与Cache之间的数据传送是以字为单位,主存与Cache之间的数据传送是以块为单位116cache基本原理地址映射;替换策略;写一致性;性能评价。1174.Cache的读写操作
访问Cache取出信息送CPU
访问主存取出信息送CPU将新的主存块调入Cache中执行替换算法腾出空位
结束命中?Cache满?CPU发出访问地址
开始是否是否读4.3118Cache和主存的一致性4.Cache的读写操作写4.3写直达法(Write–
through)写回法(Write–
back)写操作时数据既写入Cache又写入主存
写操作时只把数据写入Cache而不写入主存当Cache数据被替换出去时才写回主存
写操作时间就是访问主存的时间,读操作时不涉及对主存的写操作,更新策略比较容易实现写操作时间就是访问Cache的时间,读操作Cache失效发生数据替换时,被替换的块需写回主存,增加了Cache的复杂性更新策略1195.Cache的改进(1)增加Cache的级数片载(片内)Cache片外Cache(2)统一缓存和分立缓存指令Cache数据Cachea.与主存结构有关b.与指令执行的控制方式有关超前控制和流水线控制方式都要分立缓存。4.3
参见课本116页图4.52120
字块2m-1
字块2c+1
字块2c+1-1
字块2c
+1
字块2c
字块2c-1
字块1字块0………主存储体字块1
标记字块0
标记字块2c-1标记Cache存储体t位012c-1…字块字块地址主存字块标记t
位c
位b
位主存地址比较器(t位)=≠不命中有效位=1?*m位Cache内地址否是命中二、Cache–
主存的地址映射1.直接映射每个缓存块
i
可以和若干个主存块对应每个主存块
j
只能和一个缓存块对应i=j
mod
C4.3
字块2c+1
字块2c字块0字块01212.全相联映射主存中的任一块可以映射到缓存中的任一块字块2m-1字块2c-1字块1
字块0……字块2c-1字块1字块0…标记标记标记主存字块标记
字块内地址主存地址m=t+c
位b位m
=
t+cCache存储器主存储器
字块04.3122字块2m-1字块2c-r+1
字块2c-r+
1字块2c-r字块2c-r
-
字块1字块0………字块3标记字块1标记字块2c-1标记字块2标记字块0标记字块2c-2标记…………字块内地址组地址主存字块标记s=t+r
位q=
c-r
位b
位组012c-r-1主存地址Cache主存储器m
位共Q
组,每组内两块(r=1)1某一主存块
j
按模Q
映射到缓存的第i
组中的任一块i=j
mod
Q直接映射全相联映射3.组相联映射4.3字块0字块1字块0字块2c-r字块2c-r+1123三、替换算法随机算法:用软的或硬的随机数产生器来形成主存重要被替换页的页号。简单,易于实现;没有利用历史信息;命中率低,很少使用2.近期最少使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度船舶拆解工程合同
- 2024年度食品加工合同:原料供应商与食品加工厂的加工协议
- 瓦工结账合同范本
- 窗户购置合同范本
- 2024年三人合伙协议书
- 无租合同范本
- 粮油货合同范本
- 2024版瓷砖销售代理与分销合同
- 2024年度出租车座套生产进度与交付合同
- 二零二四年度泥工分包工程合同书
- 饿了么加盟商合同模板
- 心脏超声完整版
- 阿奇舒勒矛盾矩阵表
- 并列式分论点的拟写技巧上课
- 《小学语文关于整本书阅读的策略研究》课题研究方案
- 管理学基础:管理实训:第十二章考察某企业的控制系统和第十三章了解某企业的质量保证体系
- 服务心理学智慧树知到课后章节答案2023年下安徽职业技术学院
- 信号塔无人机精细化巡检
- 《口腔医学影像学课件》
- 23J916-1:住宅排气道(一)
- 责任心与执行力全文PPT
评论
0/150
提交评论