《DJ主存储器的组织.pptx》由会员分享,可在线阅读,更多相关《DJ主存储器的组织.pptx(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CPU存储芯片 2存储芯片 1存储芯片 n.地址总线数据总线控制总线 地址译码电路(产生片选信号)地址.第1页/共51页例1.给出芯片地址分配与片选逻辑,画出存储器框图1.计算所需芯片数用2114(1K4)SRAM芯片组成容量为4K8的存储器。假设CPU地址总线A15A0,双向数据总线D7 D0,读/写信号线R/W。设计步骤:方法1:先扩展位数,再扩展单元数2片1K4 1K8 4组1K8 4K8 8片 方法2:先扩展单元数,再扩展位数4片1K4 4K4 2组4K4 4K8 8片 位扩展单元扩展或字扩展第2页/共51页存储器寻址逻辑2.地址分配与片选逻辑芯片内的寻址系统芯片外的地址分配与片选逻辑
2、为芯片分配哪几位地址,以便寻找片内的存储单元.由哪几位地址形成芯片选择逻辑,以便寻找芯片.存储空间分配:本例假设:4KB存储器在16位地址空间(64KB)中占据任意连续区间。即本4KB占据64KB的哪4K空间?第3页/共51页A15A12A11A10 A9 A0任意值 片选 芯片地址 低位地址分配给芯片,高位地址形成片选逻辑。64KB1K41K41K41K41K41K41K41K44KB1 1 0 01 1 1 11 0 1 11 0 0 00 1 1 10 1 0 0 0 0 0 0 0 0 1 1000-3FF400-7FF800-BFFC00-FFF(需要12位地址A11A0,每块芯片需
3、要10位地址A9A0)第4页/共51页1KA9A0CS0A11 A101KA9A0CS3A11 A101KA9A0CS1A11 A101KA9A0CS2A11 A10低位地址分配给芯片,高位地址形成片选逻辑。芯片 芯片地址 片选信号 片选逻辑第5页/共51页3.连接方式(假设片选信号低电平有效)4 1K4 1K4410 1K4 1K4410 1K4 1K44104 1K4 1K441044A9A0D7D4D3D044R/WA11 A10CS3A11 A10CS0A11 A10CS1A11 A10CS2第6页/共51页即每一组的连接详图(如0组):2114(1K4)2114(1K4)D7D6 D
4、5D4 D3D2 D1D0D3D2 D1D0D7D6 D5D4R/WWE地址总线A9A0A11A10CS0CSCS+A11A10第7页/共51页某半导体存储器,按字节编址。其中,0000H 07FFH为ROM区,选用EPROM芯片(2KB/片);0800H 13FFH为RAM区,选用RAM芯片(2KB/片和1KB/片)。地址总线A15A0。给出地址分配和片选逻辑。例2.1.计算容量和芯片数ROM区:2KB RAM区:3KB 存储空间分配:2.地址分配与片选逻辑先安排大容量芯片(放地址低端),再安排小容量芯片。便于拟定片选逻辑。共3片(5K)(0000H13FFH)第8页/共51页A15A14A
5、13A12A11A10A9A05KB需13位地址寻址:A12 A00 0 0 0 0 0 00 0 0 0 0 1 10000 H07FFH 0 0 0 0 1 1 1 0 0 0 0 1 0 00800 H0FFFH 0 0 0 1 0 0 1.1 0 0 0 1 0 0 0.01000 H13FFH64KB1K 2K(ROM)2K(RAM)(RAM)即:对2K的ROM,有A12A11=00 对2K的RAM,有A12A11=01 对1K的RAM,有A12A11A10=100第9页/共51页低位地址分配给芯片,高位地址形成片选逻辑。2KA10A0CS1A12A111KA9 A0CS2A12A1
6、1A10A15A14A13为全02KA10A0CS0A12A11芯片 芯片地址 片选信号 片选逻辑3.连接方式注:芯片每个单元长度为1个字节。片选信号低电平有效。(假设ROM的片选信号有效时,便能实现读操作。)第10页/共51页CPU地址总线 2KRAM 2KROM 1KRAM数据总线D7D0D7D0D7D0A12 A11 CSCSCSR/WA10A0A10A0A9A0A11A12A10A11A12第11页/共51页CPU 2KROM 2KRAM 1KRAM数据总线 D7D0A0A10.第12页/共51页 关于 全译码、部分译码和线译码例1:用2114(1K4)SRAM芯片组成2K8的存储器。
7、地址总线A15A0,双向数据总线D7D0。所需芯片数量:4片 分配地址范围:1000H 17FFHA15A14A13A12A11 A10 A9A8A7A6A5A4A3A2A1A0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 110位地址直接与芯片相连A10如何使用?第13页/共51页按照1K4芯片 组成2K8容量需要构成两组:A9A0A9A01K4RAM1K4RAM1K4RAM1K4RAMD3D0D7D4D3D0D7D4CS1CS2问题是:如何产生CS片选信号?第14页/共51页将整个2K8的地址范围1000H17
8、FFH分给两个组,即两个1K 8:1000H 13FFH1400H 17FFHA15A14A13A12A11 A10 A9A8A7A6A5A4A3A2A1A0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 10 0 0 1 0 1 0 0 0 0 0 0 0 0 0 00 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1低10位地址直接与芯片相连第一组第二组第一组第二组第15页/共51页方式之一:A9A0A9A01K4RAM1K4RAM1K4RAM1K4RAMD3D0D7D4D3D0D7D4CS1CS2A1
9、5A10=000100译码A15A10=000101 译码将除了与芯片连接的地址以外的所有高位地址用于译码产生片选信号,称为全译码方式。第16页/共51页方式之二:A9A0A9A01K4RAM1K4RAM1K4RAM1K4RAMD3D0D7D4D3D0D7D4CS1CS2A11A10=00译码 A11A10=01 译码将除了与芯片连接的地址以外的部分高位地址用于译码产生片选信号,称为部分译码方式。第17页/共51页方式之三:A9A0A9A01K4RAM1K4RAM1K4RAM1K4RAMD3D0D7D4D3D0D7D4CS1CS2A10=0直接用一条可以区分两组地址范围的地址线的高低电平作为片
10、选信号,称为线译码方式。A10=1第18页/共51页三种译码方式的应用场合:三种译码方式的优缺点:全译码方式的译码电路更为复杂,部分译码和线译码相对简单。部分译码和线译码时,存储器扩展比较困难。例:所设计的存储器达到CPU提供的全部存储空间时,必须用全译码,且任何时候都可以使用全译码方式。所设计的存储器未达到CPU提供的全部存储空间时,可以用部分译码或线译码。可采用全译码与部分译码相结合的方式,即部分芯片用全译码,另一些芯片采用部分译码。第19页/共51页上例中:若采用线译码方式,用地址线A10的“0”和“1”来区分两组芯片,当需要扩展存储芯片时,为新扩展芯片分配任何地址都将与已有的存储空间的
11、地址A10重叠,因此必须修改原有地址译码电路。如再用1K4芯片扩展一组2KB存储器,分配地址空间1800H1FFFH(即1800H1BFFH和1C00H 1FFFH):0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1A15A14A13A12A11 A10 A9A8A7A6A5A4A3A2A1A0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1与采用线译码重叠第20页/共51页 如果采用部分译码,扩展的存储空间的地址分配会受到一定限制。按前
12、面的例子,新扩展的地址的A11 A10不能为00和01。如果采用全译码,则没有上述问题。任何时候都可以使用全译码。如再用1K4芯片扩展一组2KB存储器,分配地址空间2000H27FFH:0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1A15A14A13A12A11 A10 A9A8A7A6A5A4A3A2A1A0与采用部分译码重叠第21页/共51页例3.用1K8的存储芯片构成6K8的存储器。CPU地址总线16条,数据总线D7D0 需要的芯片数:6片 地址空间分配:2000H23FFH,2400H27FFH2800H2
13、BFFH,2C00H2FFFH3000H33FFH,3400H37FFH 写出二进制代码:第22页/共51页A15A14A13A12A11 A10 A9A8A7A6A5A4A3A2A1A00 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 1 1 1 1 1 1 1 1 1 10 0 1 0 0 1 0 0 0 0 0 0 0 0 0 00 0 1 0 0 1 1 1 1 1 1 1 1 1 1 10 0 1 0 1 0 0 0 0 0 0 0 0 0 0 00 0 1 0 1 0 1 1 1 1 1 1 1 1 1 10 0 1 0 1 1 0 0 0 0
14、0 0 0 0 0 00 0 1 0 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 0 0 1 1 1 1 1 1 1 1 1 10 0 1 1 0 1 0 0 0 0 0 0 0 0 0 00 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1第23页/共51页 用于连接芯片的地址线为 A9 A0 A10以上地址线用于译码产生片选信号 任何一个区域的A15 A14 A13=001 A12 A11A10体现不同区域的地址上的区别0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1第一区第二区
15、第三区第四区第五区第六区 采用的译码方式第24页/共51页 全译码方式 3-8 译码器EN1A15 A14A13Y0Y1Y2Y3Y4Y5Y6Y7EN2EN3 芯 片 1 芯 片 2 芯 片 4 芯 片 3 芯 片 6 芯 片 5CS1CS2CS3CS4CS5CS6 3-8 译码器A12A11A10EN1/2+5VY0Y1Y2Y3Y4Y5EN3001M/IO第25页/共51页 部分译码 芯 片 1 芯 片 2 芯 片 4 芯 片 3 芯 片 6 芯 片 5CS1CS2CS3CS4CS5CS6A12 A11 A100 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 3-8 译码
16、器EN1A12 A11A10Y0Y1Y2Y3Y4Y5 Y6Y7EN2EN3M/IO第26页/共51页例4:用两片8KB的SRAM芯片组成16KB的存储器。地址总线A15A0,数据总线D7D0。采用的地址分配:0000H1FFFH 和 2000H3FFFH0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0第一片第二片0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1第一片和第
17、二片的地址的高三位A15A14A13分别为000和001,体现区别的位是A13第27页/共51页 可以采用线译码方式:A12A0 8KB 8KBD7D0CS1CS2A13=0A13=1A12A0D7D0R/WR/W地址总线数据总线第28页/共51页 假设再扩展两片8KB的容量作以下地址分配:4000H5FFFH 和 6000H7FFFH0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0第三片第四片0 1 1 0 0 0 0 0 0 0 0 0 0
18、 0 0 00 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1连同已有的第一片和第二片,地址分配情况是:第29页/共51页0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0第一片第二片0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10000H1FFFH 和 2000H3FFFH4000H5FFFH 和 6000H7FFFH0 1 0 0 0 0 0 0 0 0
19、 0 0 0 0 0 00 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1第三片第四片0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1第30页/共51页只有两片芯片时,A13=0 选中第一片,增加两片后,第三片的A13也等于0,同样A13=1选中第二片,但第四片的A13也等于1。因此,仅用A13不能区分对不同芯片的访问,可以采用部分译码方式。第一片:A14 A13=00第二片:A14 A13=01第三片:A14 A13=10第四片:A14 A13=11有以下逻辑电路:第31页/共51页 采用部分译码方式数据
20、总线A12A0 8KB 8KBD7D0CS1CS2A12A0D7D0R/W地址总线 8KBCS3 8KBCS4D7D0A14 A13 2:4译码器A14A13=00=01=10=11第32页/共51页 假设在上述四片的基础上,再扩展两片8KB的容量作以下地址分配:8000H9FFFH 和 A000HBFFFH连同已有的四片芯片,地址分配情况是:0000H1FFFH 和 2000H3FFFH4000H5FFFH 和 6000H7FFFH8000H9FFFH 和 A000HBFFFH第33页/共51页A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00 0 0 0 0 0
21、 0 0 0 0 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 1 1 1 1 1 1 1 1 1 1 1 1 10 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1第一片第二片第三片第四片1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 1 1 1 1 1 1 1
22、1 1 1 1 1 1第五片1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 01 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1第六片第34页/共51页只有四片芯片时,A14A13=00 选中第一片,但又增加两片后,第五片的A14A13也等于0,同样A14A13=01选中第二片,但第六片的A14A13也等于01。因此,仅用A14A13不能区分对不同芯片的访问,需采用全译码方式。第一片:A15A14A13=000第二片:A15A14A13=001第三片:A15A14A13=010第四片:A15A14A13=011有以下逻辑电路:第五片:A15A14A13=100第六片:A
23、15A14A13=101第35页/共51页 采用全译码方式数据总线A12A0D7D0CS1A12A0D7D08KB(1)R/W地址总线D7D0A15A14A13=000=011=001=0108KB(2)8KB(3)8KB(4)8KB (6)A12A0A12A0D7D03:8 译码器CS3CS2CS4.CS6=101第36页/共51页结论:(1)采用线译码和部分译码方式,译码线路简单,但是可扩展性差;(2)采用哪一种译码方式取决于所设计的存储系统的容量;(3)任何容量的存储器系统都可以采用全译码方式,可扩展性好。例:仅有两片8KB的芯片时,采用全译码方式:第37页/共51页A12A0 8KB
24、8KBD7D0CS1CS2A12A0D7D0R/WR/W地址总线数据总线 3:8译码器A15 A14 A13A15A14A13=000A15A14A13=001第38页/共51页例5.用16K8芯片1片、8K8芯片3片、4K8芯片4片、2K8芯片3片、1K8 芯片1片,构成一个63K8的存储器,地址总线16条。存储芯片总数:12片 地址空间分配:4K8:(4片)5000H 5FFFH4000H 4FFFH3000H 3FFFH 2000H 2FFFH8K8:(3片)A000HBFFFH 8000H9FFFH6000H7FFFH16K8:(1片)C000H FFFFH2K8:(3片)1800H
25、1FFFH 1000H 17FFH0800H 0FFFH1K8:(1片)0400H 07FFH空闲区:0000H 03FFH第39页/共51页 写出地址分配的二进制代码:A15A14A13A12A11 A10 A9A8A7A6A5A4A3A2A1A016K8K1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 01 0 1 1 1 1 1 1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 1 1 1 1 1 1 1 1 1 1 1 1 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 1 1 1 1 1 1
26、 1 1 1 1 1 1 1 10 1 1 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1第40页/共51页0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 1 1 1 14K0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 00 1 0 1 1 1 1 1 1 1 1 1 1 1 1 10 1 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 1 1 1 1 1 1 1 1 1 1 1 10 0 1 1 0 0 0 0 0 0 0 0 0
27、 0 0 00 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10 0 1 0 0 0 0 0 0 0 0 0 0 0 0 00 0 1 0 1 1 1 1 1 1 1 1 1 1 1 12K0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 0 1 1 1 1 1 1 1 1 1 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1第41页/共51页0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 1 1 1 11K由以
28、上地址分配,设计出以下存储器译码电路:第42页/共51页作16K 8的片选CSA13作8K8 的片选CS作8K8 的片选CSA13A12作4K8 的片选CS作8K8 的片选CS作4K8 的片选CS111001作4K8 的片选CS作4K8 的片选CS00 2-4 译码器11100100A13A12EN1A15A14 2-4 译码器M/IOEN1第43页/共51页A11作2K8 的片选CS作2K8 的片选CS作2K8 的片选CS作1K8 的片选CS0100A11A10(A13A12)第44页/共51页4.4 动态存储器的刷新1.刷新定义和原因定期向电容补充电荷刷新动态存储器依靠电容电荷存储信息。电
29、容电荷随时间推移将缓慢释放(泄漏),因此需要定期向电容补充电荷,以保持信息不变。注意刷新与重写的区别。破坏性读出后重写,以恢复原来的信息非破坏性读出的动态M,需补充电荷以保持原来信息第45页/共51页2.最大刷新间隔大多数DRAM的要求:2ms内必须对所有动态单元刷新一遍各动态芯片可同时刷新,片内按行刷新(按行读)。3.刷新方法刷新一行所用的时间。刷新周期(存取周期):刷新周期数:刷新一片芯片所需的周期数由芯片矩阵的行数决定。四管动态存储器,读出时能自动补充电荷;单管动态存储器,读出时能自动重写以补充电荷;刷新时的几个基本概念:第46页/共51页 对主存的访问由CPU提供行、列地址随机访问CP
30、U访存:动态芯片刷新:由刷新地址计数器提供行地址,定时刷新。2ms内集中安排所有刷新周期。4.刷新周期的安排方式死区集中刷新用于实时要求不高的场合.(1)集中刷新R/W刷新R/W刷新2ms50ns在此期间,不能使用存储器第47页/共51页(2)分散刷新各刷新周期分散安排在存取周期中。R/WR/W刷新刷新100ns造成主存利用率降低,用在低速系统中。第48页/共51页(3)异步刷新例.一片动态存储芯片共128行刷新周期分散安排在2ms内。用在大多数计算机中2ms128行15.6 微秒即:每隔15.6微秒提一次刷新请求,刷新一行;2毫秒内刷新完所有行。R/W刷新R/W刷新R/WR/WR/W15.6
31、 微秒15.6 微秒15.6 微秒刷新请求刷新请求(可作为DMA请求)(可作为DMA请求)第49页/共51页 设计一半导体存储器,其中ROM区4KB,选用ROM芯片(4K4位/片);RAM区3KB,选用RAM芯片(2KB/片和1K4位/片)。地址总线A15A0,双向数据总线D7D0,读/写线R/W,地址有效信号VMA(=1,片选有效;=0,片选无效)。作业:1.给出芯片地址分配和片选逻辑式2.画出该存储器逻辑框图(各芯片信号线的连接及片选逻辑电路,片选低电平有效)。注意:(1)ROM的数据端是单向(出),不使用R/W;(2)VMA(Valid Memory Address,有效存储地址)连至片选逻辑电路。第50页/共51页感谢您的欣赏!第51页/共51页