8086微处理器64KB存储器映射与地址译码问题求解
8086存储器映射设计与地址译码解题思路
一、针对题设要求的64KB译码电路设计方案
题设要求用2片16KB SRAM + 2片16KB EPROM搭建64KB存储系统,核心设计逻辑如下:
- 单块16KB芯片的寻址空间对应14根地址线(2^14=16384=16KB),因此所有芯片的地址引脚直接连8086的A₀~A₁₃作为片内位置选择信号。
- 8086共20根地址线,剩余A₁₄~A₁₉作为译码输入:
- 优先取最高4位A₁₆~A₁₉作为总片选,当这4位全为0时,选中本次设计的64KB存储区间(地址范围
00000H~0FFFFH)。 - 取A₁₄、A₁₅两根地址线做2-4译码,输出4个片选信号分别对应4块16KB芯片,单块芯片的地址区间划分可根据设计需求调整,常规分配逻辑如下(可根据读写需求修改):
A₁₅ A₁₄ 芯片类型 地址范围 0 0 SRAM1 00000H~03FFFH 0 1 SRAM2 04000H~07FFFH 1 0 EPROM1 08000H~0BFFFH 1 1 EPROM2 0C000H~0FFFFH
- 优先取最高4位A₁₆~A₁₉作为总片选,当这4位全为0时,选中本次设计的64KB存储区间(地址范围
二、地址0A557H的片选与位置选择信号计算
首先把20位地址00A557H(题设给出的0A557H为低16位,高位补0凑20位)拆分为二进制:0000 1010 0101 0101 0111,从高位到低位对应A₁₉~A₀。
- 片选信号判断
高位片选段A₁₉A₁₄的值为`000010`,即A₁₆A₁₉全为0(总片选有效,选中本次设计的64KB存储组),A₁₅=1、A₁₄=0。
如果按照常规地址分配,该地址落在EPROM1的区间,无法执行写入操作;如果题设要求该地址可写,说明地址分配规则调整为A₁₅=1的区间分配给SRAM,此时对应A₁₅=1、A₁₄=0的SRAM芯片片选有效。 - 位置选择信号提取
片内地址段为A₀~A₁₃,对应的二进制为10 0101 0101 0111,转十六进制为2557H,就是本次操作的位置选择信号。
三、该类考试题型通用解题步骤
- 第一步:计算芯片地址线宽度,nKB芯片对应地址线数量为
log₂(n*1024),低位的对应数量地址线直接作为片内位置选择信号,剩余高位作为片选译码输入。 - 第二步:把给定的20位地址按上述拆分规则,拆成片选段和片内段。
- 第三步:对照地址分配表,把片选段的值和各个芯片的片选条件匹配,找到有效片选信号。
- 第四步:把片内段转成十六进制,就是对应的位置选择信号。
额外注意:8086为16位总线,若题目涉及字节/字操作判断,还需要结合A₀和BHE#信号判断奇偶存储库选择
内容的提问来源于stack exchange,提问作者myestery
相关产品推荐
相关产品推荐

