欢迎来到我的技术博客! 🎉
这里不仅有满满的编程干货和学习资源,我的某站账号也为你准备了更多实用的技术视频和知识分享。
👉 点击关注我的小破站账号,获取更多编程技巧和学习资源!
小破站主页
我们先看例题
现有Intel6264(8Kx8)静态RAM 芯片若干,要求设计一个32Kx8的存储器系统,与某8位CPU相连,地址总线为16位,地址范围为0000H-7FFFH
(1)该6264芯片的地址线和数据线各有多少根?
(2)共需要几个这样的芯片?
(3)若采用全译码方式,16位地址总线中多少位参与片内寻址,多少位参与片间寻址?
我们主要看片内寻址和片间寻址地址线的分配怎么做?
这次你真的该感谢我了,,,我在网上找了很久都没找见片内寻址和片间寻址地址线的分配怎么做的方法?
下面是解决片内寻址和片间寻址地址线的分配怎么做的方法
为了设计一个使用 Intel 6264 (8Kx8) 静态RAM芯片的 32Kx8 存储系统,片内和片间寻址地址线的分配需要遵循一定的逻辑。接下来,我们详细分析如何分配地址线。
1. 总存储器设计概述
- 需要构建的存储器系统是 32K×8,即 32K字节。
- 每个 Intel 6264 芯片的容量是 8K×8,即 8K字节,所以我们需要 4个 6264芯片。
- 系统与CPU的 地址总线为16位,可寻址的地址空间范围为 0000 H − 7 F F F H 0000H - 7FFFH 0000H−7FFFH,即 0到32K字节 的空间。
2. 片内寻址与片间寻址的分配
片内寻址
每个 Intel 6264 芯片内部有 8K地址,即 8,192个存储单元。要在一个芯片内选择某个地址,需要 2 13 = 8192 2^{13} = 8192 213=8192 这么多地址。因此,每个芯片需要 13位地址线来进行片内寻址。
片间寻址
整个存储器系统使用 4个6264芯片,每个芯片的容量为 8K字节。因此,我们需要用地址总线中的一部分来选择哪个芯片处于启用状态。
为了区分这4个芯片,我们需要 2 2 = 4 2^2 = 4 22=4 ,即 2位地址线 来进行片间寻址。
3. 地址线的分配
地址总线是16位,表示 CPU 通过 16根地址线来访问总存储空间。这16位地址如何分配到片内和片间寻址,具体如下:
低13位:片内寻址
- 6264芯片的 13根地址线 用于片内寻址,所以地址总线的 低13位 A 0 A_0 A0 到 A 12 A_{12} A12 用来选择芯片内部的存储单元。
- 这意味着每个芯片内部的存储单元地址为 A 0 A_0 A0 到 A 12 A_{12} A12。
高2位:片间寻址
- 为了区分 4个6264芯片,需要地址总线的 高2位 A 13 A_{13} A13 和 A 14 A_{14} A14 来进行片间选择。
- 每个芯片根据
A
13
A_{13}
A13和
A
14
A_{14}
A14 的组合来决定哪个芯片被选中:
- 00 00 00: 选中第1片芯片
- 01 01 01: 选中第2片芯片
- 10 10 10: 选中第3片芯片
- 11 11 11: 选中第4片芯片
剩余的1位地址:外设或其他存储器选择
- 由于地址总线为16位,但只需要15位来完全访问32K存储空间(即 A 0 A_0 A0到 A 14 A_{14} A14),剩下的1位 A 15 A_{15} A15 通常用于外设或其他存储器设备的选择。这里不需要用到 A 15 A_{15} A15 位,因为问题给出的地址范围是 0000H - 7FFFH,所以不超出16位地址范围的前32K部分。
4. 地址线分配示例
设想 CPU 向地址 2000H 访问:
- 地址
2000
H
2000H
2000H 的二进制表示为
0010
_
0000
_
0000
_
000
0
2
0010\_0000\_0000\_0000_2
0010_0000_0000_00002。
- 高2位 A 13 = 01 A_{13} = 01 A13=01,这意味着选择的是第 2片6264芯片。
- 低13位 A 0 A_0 A0到 A 12 = 000 _ 0000 _ 000 0 2 A_{12} = 000\_0000\_0000_2 A12=000_0000_00002 ,表示该芯片的 内部地址为0。
再例如 CPU 访问地址 7800H:
- 地址 ( 7800H ) 的二进制表示为
0111
_
1000
_
0000
_
000
0
2
0111\_1000\_0000\_0000_2
0111_1000_0000_00002。
- 高2位 A 13 = 11 A_{13} = 11 A13=11 ,表示选择 第4片6264芯片。
- 低13位 A 0 A_0 A0 到 A 12 = 100 _ 0000 _ 000 0 2 A_{12} = 100\_0000\_0000_2 A12=100_0000_00002,表示该芯片的 内部地址为1024。
总结:
- 片内寻址使用地址总线的低 13位,即 A 0 A_0 A0 到 A 12 A_{12} A12。
- 片间寻址使用地址总线的 2位,即 A 13 A_{13} A13 和 A 14 A_{14} A14,选择4片6264芯片中的一个。
- 剩余的1位 A 15 A_{15} A15 可用于外设选择或其他存储器选择,不参与当前32K存储器系统的寻址。
很好,现在你应该已经知道片内寻址和片间寻址地址线的分配怎么做了。
现在我们将这道题完整写出来。
你可以直接看我的题解。
关注我的小破站账号哈~~~~
完整题解
请把蟹蟹博主,发在评论区/(ㄒoㄒ)/~~