《微机原理 第七章5.ppt》由会员分享,可在线阅读,更多相关《微机原理 第七章5.ppt(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章 存储器和高速缓存技术7.17.1 半导半导体存储器概述体存储器概述7.2 7.2 随机随机存取存储器存取存储器7.3 7.3 只读只读存储器存储器7.4 7.4 半导半导体存储器与体存储器与CPUCPU的连接的连接7.7.高档高档微机中的高速缓存技术微机中的高速缓存技术7.1 半导体存储器概述v除采用磁、光原理除采用磁、光原理的辅存外,其它存的辅存外,其它存储器主要都是采用储器主要都是采用半导体存储器半导体存储器v本章介绍采用半导本章介绍采用半导体存储器及其组成体存储器及其组成主存的方法主存的方法CPUCACHE主存(内存)主存(内存)辅存(外存)辅存(外存)2存储器的逻辑结构示意图存
2、储器的逻辑结构示意图3 7.1.1选择存储器件的考虑因素选择存储器件的考虑因素(1 1)易失性)易失性 (2 2)只读性)只读性(3 3)位容量)位容量 (4 4)功耗)功耗(5 5)速度)速度 (6 6)价格)价格(7 7)可靠性)可靠性47.1.2 半导体存储器的分类v按制造工艺按制造工艺双极型:双极型:速度快速度快、集成度低、功耗大、集成度低、功耗大MOSMOS型:速度慢、集成度高、型:速度慢、集成度高、功耗低功耗低v按使用属性按使用属性随机存取存储器随机存取存储器RAMRAM:可读可写可读可写、断电丢、断电丢失失只读存储器只读存储器ROMROM:正常只读、:正常只读、断电不丢失断电不丢
3、失5半导体存储器的分类半导体半导体存储器存储器只读存储器只读存储器(ROM)随机存取存储器随机存取存储器(RAM)静态静态RAM(SRAM)动态动态RAM(DRAM)非易失非易失RAM(NVRAM)掩膜式掩膜式ROM一次性可编程一次性可编程ROM(PROM)紫外线擦除可编程紫外线擦除可编程ROM(EPROM)电擦除可编程电擦除可编程ROM(EEPROM)闪烁存储器闪烁存储器FLASH ROM(EEPROM)61.读写存储器RAM组成单元速度集成度应用SRAM触发器快低小容量系统DRAM极间电容慢高大容量系统NVRAM带微型电池慢低小容量非易失72.只读存储器ROMv掩膜掩膜ROM:信息制作在芯
4、片中,不可更改信息制作在芯片中,不可更改vPROM:允许一次编程,此后不可更改允许一次编程,此后不可更改vEPROM:用紫外光擦除,擦除后可编程;用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程并允许用户多次擦除和编程vEEPROM(E2PROM):):采用加电方法在采用加电方法在线进行擦除和编程,也可多次擦写线进行擦除和编程,也可多次擦写vFlash Memory(闪存):能够快速擦写的(闪存):能够快速擦写的EEPROM,但只能按块(,但只能按块(Block)擦除)擦除87.1.3 半导体存储器芯片的结构地地址址寄寄存存地地址址译译码码存储体存储体控制电路控制电路AB数数据据寄寄存存读
5、读写写电电路路DBOE WE CS 存储体存储体存储器芯片的主要部分,用来存储信息存储器芯片的主要部分,用来存储信息 地址译码电路地址译码电路根据输入的地址编码来选中芯片内某个特根据输入的地址编码来选中芯片内某个特定的存储单元定的存储单元 片选和读写控制逻辑片选和读写控制逻辑选中存储芯片,控制读写操作选中存储芯片,控制读写操作9 存储体v每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据v存储容量与地址、数据线个数有关:芯片的存储容量2MN存储单元数存储单元的位数M:芯片的地址线根数N:芯片的数据线根数10 地址译码电路译译码码器器A5A4A3A2A1A0630
6、1存储单元存储单元64个单元个单元行行译译码码A2A1A0710列译码列译码A3A4A501764个单元个单元单译码双译码v单译码结构v双译码结构双译码可简化芯片设计主要采用的译码结构11 片选和读写控制逻辑v片选端CS*或CE*有效时,可以对该芯片进行读写操作v输出OE*控制读操作。有效时,芯片内数据输出该控制端对应系统的读控制线v写WE*控制写操作。有效时,数据进入芯片中该控制端对应系统的写控制线127.2 随机存取存储器静态静态RAMRAMSRAM 2114SRAM 2114SRAM 6264SRAM 6264动态动态RAMRAMDRAM 4116DRAM 4116DRAM 2164DR
7、AM 2164137.2.1 静态RAMvSRAMSRAM的基本存储单元是触发器电路的基本存储单元是触发器电路v每个基本存储单元存储二进制数一位每个基本存储单元存储二进制数一位v许多个基本存储单元形成行列存储矩阵许多个基本存储单元形成行列存储矩阵vSRAMSRAM一般采用一般采用“字结构字结构”存储矩阵:存储矩阵:每个存储单元存放多位(每个存储单元存放多位(4 4、8 8、1616等)等)每个存储单元具有一个地址每个存储单元具有一个地址14静态RAM的结构典型的RAM的示意图15SRAM芯片2114v存储容量为10244v18个引脚:10根地址线A9A04根数据线I/O4I/O1片选CS*读写
8、WE*123456789181716151413121110VccA7A8A9I/O1I/O2I/O3I/O4WE*A6A5A4A3A0A1A2CS*GND16SRAM 2114的读周期数据数据地址地址TCXTODTTOHATRCTATCODOUTWECSvT TA A读取时间读取时间从读取命令发出到数据稳定出现的时间从读取命令发出到数据稳定出现的时间给出地址到数据出现在外部总线上给出地址到数据出现在外部总线上vT TRCRC读取周期读取周期两次读取存储器所允许的最小时间间隔两次读取存储器所允许的最小时间间隔有效地址维持的时间有效地址维持的时间vT TCOCO片选到输出稳定时间片选到输出稳定时
9、间vT TCXCX片选到输出有效时间片选到输出有效时间vT TOTDOTD从断开片选到输出变为三态从断开片选到输出变为三态vT TOHAOHA地址改变后的维持时间地址改变后的维持时间17SRAM 2114的写周期TWCTWRTAW数据数据地址地址TDTWTWDOUT DINTDWTDHWECSvT TWW写入时间写入时间从写入命令发出到数据进入存储单元的从写入命令发出到数据进入存储单元的时间时间写信号有效时间写信号有效时间vT TWCWC写入周期写入周期两次写入存储器所允许的最小时间间隔两次写入存储器所允许的最小时间间隔有效地址维持的时间有效地址维持的时间vT TWRWR写恢复时间写恢复时间v
10、T TDTWDTW从写信号有效到输出三态的时间从写信号有效到输出三态的时间vT TDWDW数据有效时间数据有效时间vT TDHDH数据保持时间数据保持时间18SRAM芯片6264v存储容量为存储容量为8K8v28个个引脚:引脚:13根地址线根地址线A12A08根数据线根数据线D7D0片选片选CS1*、CS2读写读写WE*、OE*+5VWE*CS2A8A9A11OE*A10CS1*D7D6D5D4D3NCA12A7A6A5A4A3A2A1A0D0D1D2GND12345678910111213142827262524232221201918171615194.2.2 动态RAMvDRAM的基本存
11、储单元是单个场效应管及其的基本存储单元是单个场效应管及其极间电容极间电容v必须配备必须配备“读出再生放大电路读出再生放大电路”进行刷新进行刷新v每次同时对一行的存储单元进行刷新每次同时对一行的存储单元进行刷新v每个基本存储单元存储二进制数一位每个基本存储单元存储二进制数一位v许多个基本存储单元形成行列存储矩阵许多个基本存储单元形成行列存储矩阵vDRAM一般采用一般采用“位结构位结构”存储体:存储体:每个存储单元存放一位每个存储单元存放一位需要需要8个存储芯片构成一个字节单元个存储芯片构成一个字节单元每个字节存储单元具有一个地址每个字节存储单元具有一个地址20DRAM芯片4116v存储容量为存储
12、容量为16K1v16个个引脚:引脚:7根地址线根地址线A6A01根数据输入线根数据输入线DIN1根数据输出线根数据输出线DOUT行地址选通行地址选通RAS*列地址选通列地址选通CAS*读写控制读写控制WE*VBBDINWE*RAS*A0A2A1VDDVSSCAS*DOUTA6A3A4A5VCC1234567816151413121110921DRAM 4116的读周期DOUT地址地址TCACTRACTCAHTASCTASRTRAHTCASTRCDTRASTRC行地址行地址列地址列地址WECASRAS存储地址需要分两批传送行地址选通信号RAS*有效,开始传送行地址随后,列地址选通信号CAS*有效
13、,传送列地址,CAS*相当于片选信号读写信号WE*读有效数据从DOUT引脚输出22DRAM 4116的写周期TWCSTDS列地址列地址行地址行地址地址地址 TDHTWRTCAHTASCTASRTRAHTCASTRCDTRCTRASDINWECASRAS存储地址需要分两批传送行地址选通信号RAS*有效,开始传送行地址随后,列地址选通信号CAS*有效,传送列地址读写信号WE*写有效数据从DIN引脚进入存储单元23DRAM 4116的刷新TRCTCRPTRAS高阻高阻TASRTRAH行地址行地址地址地址DINCASRAS采用“仅行地址有效”方法刷新行地址选通RAS*有效,传送行地址列地址选通CAS*
14、无效,没有列地址芯片内部实现一行存储单元的刷新没有数据从输入输出存储系统中所有芯片同时进行刷新DRAM必须每隔固定时间就刷新24DRAM芯片2164v存储容量为64K1v16个引脚:8根地址线A7A01根数据输入线DIN1根数据输出线DOUT行地址选通RAS*列地址选通CAS*读写控制WE*NCDINWE*RAS*A0A2A1GNDVSSCAS*DOUTA6A3A4A5A712345678161514131211109257.3 只读存储器EPROMEPROM 2716EPROM 2764EEPROMEEPROM 2717AEEPROM 2864A267.3.1 EPROMv顶部开有一个圆形的
15、石英窗口,用于紫外线透过顶部开有一个圆形的石英窗口,用于紫外线透过擦除原有信息擦除原有信息v一般使用专门的编程器(烧写器)进行编程一般使用专门的编程器(烧写器)进行编程v编程后,应该贴上不透光封条编程后,应该贴上不透光封条v出厂未编程前,每个基本存储单元都是信息出厂未编程前,每个基本存储单元都是信息1 1v编程就是将某些单元写入信息编程就是将某些单元写入信息0 027EPROM芯片2716v存储容量为2K8v24个引脚:11根地址线A10A08根数据线DO7DO0片选/编程CE*/PGM读写OE*编程电压VPPVDDA8A9VPPOE*A10CE*/PGMDO7DO6DO5DO4DO31234
16、56789101112242322212019181716151413A7A6A5A4A3A2A1A0DO0DO1DO2Vss28EPROM芯片2764v存储容量为8K8v28个引脚:13根地址线A12A08根数据线D7D0片选CE*编程PGM*读写OE*编程电压VPPVppA12A7A6A5A4A3A2A1A0D0D1D2GNDVccPGM*NCA8A9A11OE*A10CE*D7D6D5D4D312345678910111213142827262524232221201918171615291 12 23 34 45 56 67 78 89 910101111121213131414151
17、51616171718181919202021212222232324242525262627272828VppVppA12A12A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0D0D0D1D1D2D2GNDGNDD3D3D4D4D5D5D6D6D7D7CECEA10A10OEOEA11A11A9A9A8A8A13A13A14A14VccVcc2725627256引脚图引脚图A14A14A13A13A12A12A11A11A10A10A9A9A8A8A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0CECEOEOED7D7D6D6D5D5D4D4D3D3D2D2D
18、1D1D0D02725627256逻辑图逻辑图EPROM芯片芯片27256307.3.2 EEPROMv用加电方法,进行在线(无需拔下,直接用加电方法,进行在线(无需拔下,直接在电路中)擦写(擦除和编程一次完成)在电路中)擦写(擦除和编程一次完成)v有字节擦写、块擦写和整片擦写方法有字节擦写、块擦写和整片擦写方法v并行并行EEPROM:多位同时进行:多位同时进行v串行串行EEPROM:只有一位数据线:只有一位数据线31EEPROM芯片2817Av存储容量为存储容量为2K8v28个个引脚:引脚:11根地址线根地址线A10A08根数据线根数据线I/O7I/O0片选片选CE*读写读写OE*、WE*状
19、态输出状态输出RDY/BUSY*32EEPROM芯片2864Av存储容量为存储容量为8K8v28个个引脚:引脚:13根地址线根地址线A12A08根数据线根数据线I/O7I/O0片选片选CE*读写读写OE*、WE*VccWE*NCA8A9A11OE*A10CE*I/O7I/O6I/O5I/O4I/O3NCA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND12345678910111213142827262524232221201918171615337.4 半导体存储器与CPU的连接vSRAM、EPROM与与CPU的连接的连接v译码方法同样适合译码方法同样适合I/O端口端口34
20、7.4.1 存储芯片与CPU的连接存储芯片的数据线存储芯片的数据线 存储芯片的地址线存储芯片的地址线 存储芯片的片选端存储芯片的片选端 存储芯片的读写控制线存储芯片的读写控制线35CPUCPU与存储器的连接时应注意的问题与存储器的连接时应注意的问题1 1CPUCPU总线的带负载能力总线的带负载能力2 2存储器的组织、地址分配与片选问题存储器的组织、地址分配与片选问题3 3CPUCPU的时序与存储器的存取速度之间的配合的时序与存储器的存取速度之间的配合361.1.存储芯片数据线的处理存储芯片数据线的处理v若芯片的数据线正好若芯片的数据线正好8 8根:根:一次可从芯片中访问到一次可从芯片中访问到8
21、 8位数据位数据全部数据线与系统的全部数据线与系统的8 8位数据总线相连位数据总线相连v若芯片的数据线不足若芯片的数据线不足8 8根:根:一次不能从一个芯片中访问到一次不能从一个芯片中访问到8 8位数据位数据利用多个芯片扩充数据位利用多个芯片扩充数据位这个扩充方式简称这个扩充方式简称“位扩充位扩充”37位扩充2114(1)A9A0I/O4I/O1片选片选D3D0D7D4A9A02114(2)A9A0I/O4I/O1CECEv多个位扩充的存储芯片的数据线连多个位扩充的存储芯片的数据线连接于系统数据总线的不同位数接于系统数据总线的不同位数v其它连接都一样其它连接都一样v这些芯片应被看作是一个整体这
22、些芯片应被看作是一个整体v常被称为常被称为“芯片组芯片组”382.2.存储芯片地址线的连接存储芯片地址线的连接v芯片的地址线通常应全部与系统的低位芯片的地址线通常应全部与系统的低位地址总线相连地址总线相连v寻址时,这部分地址的译码是在存储芯寻址时,这部分地址的译码是在存储芯片内完成的,我们称为片内完成的,我们称为“片内译码片内译码”39片内译码片内译码A9A0存储芯片存储芯片000H001H002H3FDH3FEH3FFH全0全1000000010010110111101111范围(16进制)A9A0403.3.存储芯片片选端的译码存储芯片片选端的译码v存储系统常需利用多个存储芯片扩充容量存储
23、系统常需利用多个存储芯片扩充容量v也就是扩充了存储器地址范围也就是扩充了存储器地址范围v进行进行“地址扩充地址扩充”,需要利用存储芯片的片,需要利用存储芯片的片选端对多个存储芯片(组)进行寻址选端对多个存储芯片(组)进行寻址v这个寻址方法,主要通过将存储芯片的片选这个寻址方法,主要通过将存储芯片的片选端与系统的高位地址线相关联来实现端与系统的高位地址线相关联来实现v这种扩充简称为这种扩充简称为“地址扩充地址扩充”或或“字扩充字扩充”41地址扩充(字扩充)片选端片选端D7D0A19A10A9A0(2)A9A0D7D0CE(1)A9A0D7D0CE译码器0000000001000000000042
24、片选端常有效A19A15A14A0 全全0全全1D7D027256EPROMA14A0CEn令芯片(组)的片选端常有效令芯片(组)的片选端常有效n不与系统的高位地址线发生联系不与系统的高位地址线发生联系n芯片(组)总处在被选中的状态芯片(组)总处在被选中的状态n虽虽简简单单易易行行、但但无无法法再再进进行行地地址址扩扩充充,会会出现出现“地址重复地址重复”43地址重复地址重复v一个存储单元具有多个存储地址的现象v原因:有些高位地址线没有用、可任意使用地址,出现地址重复时,常选取其中既好用、又不冲突的一个“可用地址”v例如:00000H07FFFHv选取的原则:高位地址全为0的地址高位地址译码才
25、更好44 译码和译码器译码和译码器v译码:将某个特定的译码:将某个特定的“编码输入编码输入”翻译翻译为唯一为唯一“有效输出有效输出”的过程的过程v译码电路可以使用译码电路可以使用门电路组合逻辑门电路组合逻辑v译码电路更多的是采用集成译码电路更多的是采用集成译码器译码器v常用的常用的2:4译码器译码器74LS139v常用的常用的3:8译码器译码器74LS138v常用的常用的4:16译码器译码器74LS15445存储地址译码电路存储地址译码电路74LS138经常用来作为存储器的译码电路。经常用来作为存储器的译码电路。74LS138引脚46 G1C B AY7Y0有效输出有效输出0 0 10 0 0
26、1 1 1 1 1 1 1 0Y00 0 10 0 11 1 1 1 1 1 0 1Y10 0 10 1 01 1 1 1 1 0 1 1Y20 0 10 1 11 1 1 1 0 1 1 1Y30 0 11 0 01 1 1 0 1 1 1 1Y40 0 11 0 11 1 0 1 1 1 1 1Y50 0 11 1 01 0 1 1 1 1 1 1Y60 0 11 1 10 1 1 1 1 1 1 1Y7其他值其他值 1 1 1 1 1 1 1 1无效无效 74LS138的真值的真值47 全译码全译码v所有的系统地址线均参与对存储单元的译所有的系统地址线均参与对存储单元的译码寻址码寻址v包
27、括低位地址线对芯片内各存储单元的译包括低位地址线对芯片内各存储单元的译码寻址(片内译码),高位地址线对存储码寻址(片内译码),高位地址线对存储芯片的译码寻址(片选译码)芯片的译码寻址(片选译码)v采用全译码,采用全译码,每个存储单元的地址都是唯每个存储单元的地址都是唯一的,一的,不存在地址重复不存在地址重复v译码电路可能比较复杂、连线也较多译码电路可能比较复杂、连线也较多48全译码示例A15 A14A13A16CBAE3138 2764A19A18A17A12A0CEY6E2E1IO/M1C000H1DFFFH全0全10 0 0 1 1 1 00 0 0 1 1 1 0地址范围A12A0A19
28、A18A17A16A15A14 A1349 部分译码部分译码v只有部分(高位)地址线参与对存储芯片只有部分(高位)地址线参与对存储芯片的译码的译码v每个存储单元将对应多个地址每个存储单元将对应多个地址(地址重复)(地址重复),需要选取一个可用地址,需要选取一个可用地址v可简化译码电路的设计可简化译码电路的设计v但系统的部分地址空间将被浪费但系统的部分地址空间将被浪费50部分译码示例138A17 A16A11A0A14 A13A12(4)(3)(2)(1)2732273227322732CBAE3E2E1IO/MCECECECEY0Y1Y2Y3A19 A15A14 A12A11A0一个可用地址一
29、个可用地址123410101010000001010011全全0全全1全全0全全1全全0全全1全全0全全120000H20FFFH21000H21FFFH22000H22FFFH23000H23FFFH51 线选译码线选译码v只用少数几根高位地址线进行芯片的译只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组)码,且每根负责选中一个芯片(组)v虽构成简单,但地址空间严重浪费虽构成简单,但地址空间严重浪费v必然会出现地址重复必然会出现地址重复v一个存储地址会对应多个存储单元一个存储地址会对应多个存储单元v多个存储单元共用的存储地址不应使用多个存储单元共用的存储地址不应使用52线选译
30、码示例A14A12A0A13(1)2764(2)2764 CECEA19 A15A14 A13A12A0一个可用地址一个可用地址121 00 1全全0全全1全全0全全104000H05FFFH02000H03FFFH注意:注意:A14 A1300的情况不能出现的情况不能出现00000H01FFFH的地址不可使用的地址不可使用534.CPU4.CPU(80868086系列)与存储器的连接举例系列)与存储器的连接举例 (1 1)1KB RAM1KB RAM与与CPUCPU的连接的连接(1 1)计算出所需的芯片数。)计算出所需的芯片数。(2 2)构成数据总线所需的位数和系统所需的容量。)构成数据总线
31、所需的位数和系统所需的容量。(3 3)控制线,数据线,地址线对应相连。)控制线,数据线,地址线对应相连。54用用10241位的芯片组成位的芯片组成1K RAM的方框图的方框图55用用2564位的芯片组成位的芯片组成1K RAM的方框图的方框图564KB RAM的连接的连接(1)计算出所需的芯片数)计算出所需的芯片数(2)构构成成数数据据总总线线所所需需的的位位数数和和系系统统所所需需的容量的容量(3)控控制制线线,数数据据线线,地地址址线线的的连连接接:有有线线选选方方式式、局局部部译译码码选选择择方方式式和和全全局局译译码码选择方式之分。选择方式之分。57线选方式地址分布线选方式地址分布A1
32、5 A14 A13 A12 A11 A10A15 A14 A13 A12 A11 A10地址分布地址分布0 0 1 1 1 00 0 1 1 1 0第一组:第一组:3800H3BFFH3800H3BFFH0 0 1 1 0 10 0 1 1 0 1第二组:第二组:3400H07FFH3400H07FFH0 0 1 0 1 10 0 1 0 1 1第三组:第三组:2C00H2FFFH2C00H2FFFH0 0 0 1 1 10 0 0 1 1 1第四组:第四组:1C00H1FFFH1C00H1FFFH58 用用2114芯片组成芯片组成4K RAM线选控制译码结构图线选控制译码结构图59用用211
33、42114芯片组成芯片组成4K RAM4K RAM局部译码结构图局部译码结构图60用用2114芯片组成芯片组成4K RAM全局译码结构图全局译码结构图61片选端译码小结片选端译码小结v存储芯片的片选控制端可以被看作是一根存储芯片的片选控制端可以被看作是一根最高位地址线最高位地址线v在系统中,主要与地址发生联系:包括在系统中,主要与地址发生联系:包括地地址空间的选择址空间的选择(接系统的(接系统的IO/M*信号)和信号)和高高位地址的译码选择位地址的译码选择(与系统的高位地址线(与系统的高位地址线相关联)相关联)v对一些存储芯片通过片选无效可关闭内部对一些存储芯片通过片选无效可关闭内部的输出驱动
34、机制,起到降低功耗的作用的输出驱动机制,起到降低功耗的作用624.4.存储芯片的读写控制存储芯片的读写控制v芯片芯片OE*与系统的读命令线相连与系统的读命令线相连当芯片被选中、且读命令有效时,存储芯片当芯片被选中、且读命令有效时,存储芯片将开放并驱动数据到总线将开放并驱动数据到总线v芯片芯片WE*与系统的写命令线相连与系统的写命令线相连当芯片被选中、且写命令有效时,允许总线当芯片被选中、且写命令有效时,允许总线数据写入存储芯片数据写入存储芯片637.4.2 存储芯片与CPU的配合v存储芯片与存储芯片与CPU总线的连接,还有两个总线的连接,还有两个很重要的问题:很重要的问题:vCPU的总线负载能
35、力的总线负载能力CPU能否带动总线上包括存储器在内的连能否带动总线上包括存储器在内的连接器件接器件v存储芯片与存储芯片与CPU总线时序的配合总线时序的配合CPU能否与存储器的存取速度相配合能否与存储器的存取速度相配合641.总线驱动总线驱动vCPU的总线驱动能力有限的总线驱动能力有限v单向传送的地址和控制总线,可采用三单向传送的地址和控制总线,可采用三态锁存器和三态单向驱动器等来加以锁态锁存器和三态单向驱动器等来加以锁存和驱动存和驱动v双向传送的数据总线,可以采用三态双双向传送的数据总线,可以采用三态双向驱动器来加以驱动向驱动器来加以驱动652.时序配合时序配合v分析存储器的存取速度是否满足分
36、析存储器的存取速度是否满足CPU总总线时序的要求线时序的要求v如果不能满足:如果不能满足:考虑更换芯片考虑更换芯片总线周期中插入等待状态总线周期中插入等待状态TW注意:时序配合是连接中的难点667.7.高档微机中的高速缓存技术高档微机中的高速缓存技术 思路思路:在引入高速缓冲存储器的系统中,内存由两级存储在引入高速缓冲存储器的系统中,内存由两级存储构成。一级是采用高速静态构成。一级是采用高速静态RAMRAM芯片组成的小容量存储器,芯片组成的小容量存储器,即即CacheCache;另一级是用廉价的动态另一级是用廉价的动态RAMRAM芯片组成的大容量主芯片组成的大容量主存储器。存储器。程序运行的所
37、有信息存放在主存储器内,而高速缓冲存程序运行的所有信息存放在主存储器内,而高速缓冲存储器中存放的是当前使用最多的程序代码和数据,即主存储器中存放的是当前使用最多的程序代码和数据,即主存中部分内容的副本。中部分内容的副本。CPUCPU访问存储器时,首先在访问存储器时,首先在CacheCache中寻中寻找,若寻找成功,通常称为找,若寻找成功,通常称为“命中命中”,则直接对,则直接对CacheCache操作;操作;若寻找失败,则对主存储器进行操作,并将有关内容置入若寻找失败,则对主存储器进行操作,并将有关内容置入CacheCache。引入引入CacheCache是是存储器速度与价格折衷的最佳方法。存
38、储器速度与价格折衷的最佳方法。67CPU地址索引机构置换控制器高速缓冲存储器主存段(页)地址高位地址低位地址地址总线数据总线Cache结构框图 图中高速缓冲存储器用于存入要访问的内容,即当前访问最多程序代码和数据;图中高速缓冲存储器用于存入要访问的内容,即当前访问最多程序代码和数据;地址索引机构中存放着与高速缓冲存储器内容相关的高位地址,当访问高速缓冲存储地址索引机构中存放着与高速缓冲存储器内容相关的高位地址,当访问高速缓冲存储器命中时,用来和地址总线上的低位地址一起形成访问缓冲存储器地址;器命中时,用来和地址总线上的低位地址一起形成访问缓冲存储器地址;而置换控制器则按照一定的置换算法控制高速
39、缓冲存储器中内容的更新。而置换控制器则按照一定的置换算法控制高速缓冲存储器中内容的更新。68一、地址映象方式一、地址映象方式1.1.全相联映象方式全相联映象方式v 从主存中将信息调入缓冲存储器通常是以从主存中将信息调入缓冲存储器通常是以“页页”为单位为单位进行的。为了准确寻址,必须将调入页的页地址编码全部进行的。为了准确寻址,必须将调入页的页地址编码全部存入地址索引机构中。主存一个区块可能映象到存入地址索引机构中。主存一个区块可能映象到cachecache的的任何地方。任何地方。每个主存块允许放到每个主存块允许放到Cache的任何一个槽中的任何一个槽中字节号字节号标签标签优点:复杂优点:复杂优
40、点:优点:Cache命中率高、命中率高、Cache空间空间利用率也高利用率也高692 2 直接映象方式直接映象方式 规定缓存中各页只接收主存中相同页号内容规定缓存中各页只接收主存中相同页号内容的副本,即不同段中页号相同的内容只有一个能的副本,即不同段中页号相同的内容只有一个能复制到缓存中去。这种映象的限制使对高速缓存复制到缓存中去。这种映象的限制使对高速缓存的寻址变得相当简单,在地址索引机构中只要存的寻址变得相当简单,在地址索引机构中只要存入地址的段号即可。主存一个区块可能映象到入地址的段号即可。主存一个区块可能映象到cashecashe的一个对应地方。的一个对应地方。每个主存块只允许放到每个
41、主存块只允许放到Cache的特定的槽中的特定的槽中优点:简单优点:简单缺点:缺点:Cache命中率低、命中率低、Cache空间空间利用率也低利用率也低字节号字节号槽号槽号标签标签703 3 分组相联映象方式分组相联映象方式 主存一个区块可以映象到主存一个区块可以映象到cashecashe的有限地方。的有限地方。二、地址索引机构二、地址索引机构 索引结构一般采用按内容存取的相联存储器索引结构一般采用按内容存取的相联存储器(CAMCAM)实现。)实现。把把Cache分成若干组,每组若干个槽。分成若干组,每组若干个槽。设每组有设每组有J个槽,称为个槽,称为J路组相联路组相联每个主存块允许放在特定组内
42、的任意一个槽中每个主存块允许放在特定组内的任意一个槽中字节号字节号组号组号标签标签71三、三、CacheCache的数据更新策略的数据更新策略v 在在Cache中,选择置换策略追求的目标是获得最高的命中中,选择置换策略追求的目标是获得最高的命中率。目前使用的策略有先进先出率。目前使用的策略有先进先出(FIFO)策略和最近最少策略和最近最少使用(使用(LRULRU)策略。策略。v FIFO 策略选择最早装入高速缓存的页作为被置换的页。策略选择最早装入高速缓存的页作为被置换的页。v LRU 策略选择策略选择CPUCPU最近最少访问的页作为被替换的页。最近最少访问的页作为被替换的页。vIntel 公司的公司的8048680486微处理器的片内微处理器的片内CacheCache一般在一般在116KB之之间。有些具有间。有些具有RISCRISC结构的微处理器片内结构的微处理器片内CacheCache已达已达32KB32KB。有的微机了为提高性能,除了片内有的微机了为提高性能,除了片内CacheCache之处,还增设一之处,还增设一个片外的二级个片外的二级CacheCache,其容量一般在其容量一般在256KB256KB以上。以上。72本章结束,谢谢合作!本章结束,谢谢合作!73