26考研——存储系统_主存储器与 CPU 的连接(3)
408答疑
文章目录
- 三、主存储器与 CPU 的连接
- 连接原理
- 主存容量的扩展
- 位扩展法
- 字扩展法
- 字扩展的连接方式
- 字扩展后存储芯片的地址范围
- 字位同时扩展法
- 存储芯片的地址分配和片选
- 线选法
- 译码片选法
- 存储器与 CPU 的连接
- 合理选择存储芯片
- 地址线的连接
- 数据线的连接
- 读/写命令线的连接
- 片选线的连接
- 七、参考资料
- 鲍鱼科技课件
- 26王道考研书
三、主存储器与 CPU 的连接
连接原理
- 主存储器通过数据总线、地址总线和控制总线与 CPU 连接。
- 数据总线的位数与工作频率的乘积正比于数据传输速率。
- 地址总线的位数决定了可寻址的最大内存空间。
- 控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻。
主存储器与 CPU 的连接如下图所示。
单个芯片的容量是有限的,因此通过存储器芯片扩展技术,将多个芯片集成在一个内存条上,然后由多个内存条及主板上的 ROM 芯片组成计算机所需的主存空间,再通过总线与 CPU 相连。
主存容量的扩展
单个存储芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有差距,因此需要在字和位两方面进行扩充才能满足实际存储器的容量要求。
位扩展法
- 位扩展是指对字长进行扩展(增加存储字长)。
- 当 CPU 的系统数据线数多于存储芯片的数据位数时,必须对存储芯片扩位,使其数据位数与 CPU 的数据线数相等。
- 位扩展的连接方式:各芯片的地址线、片选控制线和读/写控制线与系统总线相应并联;各芯片的数据线单独引出,分别连接系统数据线。各芯片同时工作。
- 例如,如下图所示,用 8 片 8 K × 1 8K×1 8K×1 位的 RAM 芯片组成 8 K × 8 8K×8 8K×8 位的存储器。8 片 RAM 芯片的地址线 A 12 ∼ A 0 A_{12} \sim A_0 A12∼A0、片选控制线 C S ‾ \overline{CS} CS、读/写控制线 W E ‾ \overline{WE} WE 都分别连在一起,每片的数据线依次作为 CPU 数据线的一位。
字扩展法
字扩展是指对存储字的数量进行扩展,而存储字的位数满足系统要求。系统数据线位数等于芯片数据线位数,系统地址线位数多于芯片地址线位数。
字扩展的连接方式
- 各芯片的地址线与系统地址线的低位对应相连;
- 芯片的数据线和读/写控制线与系统总线相应并联;
- 由系统地址线的高位译码得到各芯片的片选信号,各芯片分时工作。
字扩展后存储芯片的地址范围
如下图所示,用 4 片 16 K × 8 16K×8 16K×8 位的 RAM 芯片组成 64 K × 8 64K×8 64K×8 位的存储器。4 片 RAM 芯片的数据线 D 0 ∼ D 7 D_0 \sim D_7 D0∼D7 和 W E ‾ \overline{WE} WE 都分别连在一起。将 A 15 A 14 A_{15}A_{14} A15A14 用作片选信号, A 15 A 14 = 00 A_{15}A_{14}=00 A15A14=00 时,译码器输出端 0 有效,选中最左边 1 号芯片(第一片); A 15 A 14 = 01 A_{15}A_{14}=01 A15A14=01 时,译码器输出端 1 有效,选中 2 号芯片(第二片),以此类推(同一时刻只能有一个芯片被选中)。
各芯片的地址(16位)分配如下:
- 第一片,最低地址:0000 0000 0000 0000;最高地址:0011 1111 1111 1111
- 第二片,最低地址:0100 0000 0000 0000;最高地址:0111 1111 1111 1111
- 第三片,最低地址:1000 0000 0000 0000;最高地址:1011 1111 1111 1111
- 第四片,最低地址:1100 0000 0000 0000;最高地址:1111 1111 1111 1111
字位同时扩展法
字位同时扩展是前两种扩展的组合,这种方式既增加存储字的数量,又增加存储字长。
字位同时扩展的连接方式:
- 将进行位扩展的芯片作为一组,各组的连接方式与位扩展的相同;
- 由系统地址线高位译码产生若干片选信号,分别接到各组芯片的片选控制线。
如下图所示,用 8 片 16 K × 4 16K×4 16K×4 位的 RAM 芯片组成 64 K × 8 64K×8 64K×8 位的存储器。每两片构成一组 16 K × 8 16K×8 16K×8 位的存储器(位扩展),4 组便构成 64 K × 8 64K×8 64K×8 位的存储器(字扩展)。地址线 A 15 A 14 A_{15}A_{14} A15A14 经译码器得到 4 个片选信号, A 15 A 14 = 00 A_{15}A_{14}=00 A15A14=00 时,输出端 0 有效,选中第一组的芯片 (①和②) (①和②) (①和②); A 15 A 14 = 01 A_{15}A_{14}=01 A15A14=01 时,输出端 1 有效,选中第二组的芯片 (③和④) (③和④) (③和④),以此类推。
存储芯片的地址分配和片选
CPU 要实现对存储单元的访问,首先要选择存储芯片,即进行片选;然后在选定的芯片中选择具体的存储单元,以进行数据的读/写,即进行字选。芯片内的字选通常是由 CPU 送出的 N N N 条低位地址线完成( N N N 由片内存储容量 2 N 2^N 2N 决定)。片选信号的产生方法分为线选法和译码片选法。
线选法
线选法用除片内寻址外的高位地址线直接连接至各个存储芯片的片选端,当某位地址线信息为 “0” 时,就选中与之对应的存储芯片。这些片选地址线每次寻址时只能有一位有效,不允许同时有多位有效,这样才能保证每次只选中一个芯片(或芯片组)。
假设 4 片 2 K × 8 2K×8 2K×8 位存储芯片采用线选法构成 8 K × 8 8K×8 8K×8 位存储器,各芯片的片选信号见下表(线选法的地址分配),其中低位地址线 A 10 ∼ A 0 A_{10} \sim A_0 A10∼A0 作为字选线,用于片内寻址。
芯片 | A 14 ∼ A 11 A_{14} \sim A_{11} A14∼A11 |
---|---|
0# | 1110 |
1# | 1101 |
2# | 1011 |
3# | 0111 |
优点: 不需要地址译码器,线路简单。
缺点: 地址空间不连续,选片的地址线必须分时为低电平(否则不能工作),不能充分利用系统的存储器空间,造成地址资源的浪费。
译码片选法
译码片选法用除片内寻址外的高位地址线通过地址译码器产生片选信号。如用 8 片 8 K × 8 8K×8 8K×8 位的存储芯片组成 64 K × 8 64K×8 64K×8 位存储器(地址线为 16 位,数据线为 8 位),需要 8 个片选信号;若采用线选法,除去片内寻址的 13 位地址线,仅余高 3 位,不足以产生 8 个片选信号。因此,采用译码片选法,即用一片 74LS138 作为地址译码器,高 3 位用于片选,则 A 15 A 14 A 13 = 000 A_{15}A_{14}A_{13}=000 A15A14A13=000 时选中第一片, A 15 A 14 A 13 = 001 A_{15}A_{14}A_{13}=001 A15A14A13=001 时选中第二片,以此类推。
存储器与 CPU 的连接
合理选择存储芯片
要组成一个主存系统,选择存储芯片是第一步,主要指存储芯片的类型(RAM 或 ROM)和数量的选择。通常选用 ROM 存放系统程序、标准子程序和各类常数,RAM 则是为用户编程而设置的。此外,在考虑芯片数量时,要尽量使连线简单、方便。
地址线的连接
存储芯片的容量不同,其地址线数也不同,而 CPU 的地址线数往往比存储芯片的地址线数要多。通常将 CPU 地址线的低位与存储芯片的地址线相连,以选择芯片中的某一单元(字选),这部分的译码是由芯片的片内逻辑完成的。而 CPU 地址线的高位则在扩充存储芯片时使用,用来选择存储芯片(片选),这部分译码由外接译码器逻辑完成。
例如,设 CPU 地址线为 16 位,即 A 15 ∼ A 0 A_{15} \sim A_0 A15∼A0, 1 K × 4 1K×4 1K×4 位的存储芯片仅有 10 根地址线,此时可将 CPU 的低位地址 A 9 ∼ A 0 A_9 \sim A_0 A9∼A0 与存储芯片的地址线 A 9 ∼ A 0 A_9 \sim A_0 A9∼A0 相连。
数据线的连接
CPU的数据线数与存储芯片的数据线数不一定相等,在相等时可直接相连;在不等时必须对存储芯片扩位,使其数据位数与 CPU 的数据线数相等。
读/写命令线的连接
CPU 读/写控制线一般可直接与存储芯片的读/写控制端相连,通常高电平为读,低电平为写。有些 CPU 的读/写控制线是分开的(读为 RD ‾ \overline{\text{RD}} RD,写为 WE ‾ \overline{\text{WE}} WE,均为低电平有效),此时 CPU 的读命令线应与芯片的允许读控制端相连,而 CPU 的写命令线则应与芯片的允许写控制端相连。
片选线的连接
片选控制线的连接是 CPU 与存储芯片连接的关键。存储器由许多存储芯片叠加而成,哪一片被选中完全取决于该存储芯片的片选控制端 CS ‾ \overline{\text{CS}} CS 是否能接收到来自 CPU 的片选有效信号。
片选有效信号与 CPU 的访存控制信号 MREQ ‾ \overline{\text{MREQ}} MREQ(低电平有效)有关,因为只有当 CPU 要求访存时,才要求选中存储芯片。若 CPU 访问 I/O,则 MREQ ‾ \overline{\text{MREQ}} MREQ 为高,表示不要求存储器工作。
七、参考资料
鲍鱼科技课件
b站免费王道课后题讲解:
网课全程班: