内存按字节编址,利用8K*4b的存储器芯片,构成84000H到8FFFFH的内存,共需几片?

        分析:有内存地址偏移量,可以求出总内存是多大。然后用总内存除以单片内存,即可算出需要几片内存。

        总内存 = 尾地址 - 首地址 +1

        8FFFF - 84000 = BFFF (A=10,B=11, C=12,D=13,E=14, F=15)

        BFFF +1 = C000

        C000 转二进制 = 1100  0000 0000 0000 = 2^15 + 2^14 = 2^10 * ( 2^5 + 2^4) = 1k * (32+16) = 48K  由于是按字节编址,1B=8b,因此总内存= 48K * 8

        总内存 / 单片内存 = 48K * 2^3  /  8K * 2^2 = 6 * 2^1 = 12

        结论:共需12片

        

在构建这种存储器系统时,我们需要将 ROM 和 RAM 合并在一起,并虑到地址线和数据线的配置。假设我们有两块芯片: 1. 一块 88 位的 ROM(Read Only Memory),它有 8K(即 2^11 = 2048)个存储单元,每个单元占用8位。它的地址空间从 0000H 到 1FFFH。 2. 另一块 84 位的 RAM(Random Access Memory),也有 8K 个存储单元,但每个单元只有4位宽。其地址范围从 6000H 到 7FFFH。 由于 RAM 需要更多的地址线来访问完整的4位数据,而ROM 单元已经足够大可以一次性读取一个字节(8位),所以我们可以直接将 ROM 紧凑地放置在地址范围内0000H到3FFFH,而 RAM 从 6000H 开始,每四个连续地址对应一个完整的8位数据。 以下是存储器组成结构图的大致示意图: ``` +----------------------------------------+ | 8Kx8 ROM (0000H - 1FFFH) | +---------------------+-----------------+ | | +--+-------------+ | | 8Kx4 RAM | | | | (6000H - 7FFFH)| | | +--+ +-------------------------------------------------+ | Address Bus (11 bits for ROM, 10 bits for RAM)| | Data Bus (8 bits for both) | +---+ | Connection to CPU: Address and Data Lines | +-------------------------------------------------+ ``` CPU 通过地址总线选择数据来源,如果地址在0000H到3FFFH范围内,会从 ROM 中获取数据;如果地址在6000H到7FFFH范围内,则从 RAM 中获取数据。数据线用于读取或写入数据到相应的存储器位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值