访存控制信号——IO/M(M上方带横杠)

本文深入探讨了CPU在不同电平下与存储器及输入输出设备进行数据传输的机制。低电平(0)时,CPU与存储器交互;高电平(1)时,CPU与输入输出设备通信。理解这一基本原理对于掌握计算机内部工作流程至关重要。

当低电平(0)时,表示CPU和存储器之间进行数据传输

当高电平(1)时,表示CPU和输入输出设备之间进行数据传输

### 1. 地址空间分析 16根地址线可寻址的空间为$2^{16} = 64KB$,地址范围是$0000H - FFFFH$。 ### 2. 芯片选择 假设对主存地址空间进行如下分配: - 系统程序区:$0000H - 1FFFH$,大小为$8KB$,可选择1片$8K×8$位的ROM。 - 用户程序区:$2000H - 3FFFH$,大小为$8KB$,可选择1片$8K×8$位的RAM。 - 数据存储区:$4000H - 5FFFH$,大小为$8KB$,可选择2片$4K×4$位的RAM进行位扩展组成$4K×8$位,再用2片$4K×8$位进行字扩展组成$8K×8$位。 ### 3. 地址线连接 - 对于$8K×8$位的芯片(ROM和RAM):需要$13$根地址线($2^{13}=8K$),连接CPU的$A0 - A12$。 - 对于$4K×4$位的芯片:需要$12$根地址线($2^{12}=4K$),连接CPU的$A0 - A11$。 - 剩余的地址线$A13 - A15$用于74138译码器进行片选。 ### 4. 数据线连接 - $8$位的芯片($8K×8$位的ROM和RAM):数据线直接连接CPU的$D0 - D7$。 - $4$位的芯片($4K×4$位的RAM):两片$4K×4$位的芯片进行位扩展,一片连接$D0 - D3$,另一片连接$D4 - D7$。 ### 5. 读写控制线连接 - 读写控制信号$R/W$直接连接到所有RAM芯片的读写控制端,高电平读,低电平写。 - ROM芯片只有读操作,可将$R/W$通过一个非门后连接到ROM芯片的使能端(假设ROM使能端低电平有效)。 ### 6. 访存控制信号连接 - $\overline{MREQ}$(低电平有效)连接到74138译码器的使能端$G_2A$和$G_2B$,同时连接到所有芯片的片选使能相关端。 ### 7. 片选逻辑 使用74138译码器,其输入为$A13 - A15$,根据地址分配,不同的输出端选中不同的芯片: - $A15A14A13 = 000$时,选中$8K×8$位的ROM。 - $A15A14A13 = 001$时,选中$8K×8$位的RAM。 - $A15A14A13 = 010$和$011$时,分别选中两片$4K×4$位扩展后的$8K×8$位RAM。 ### 示例代码(伪代码表示连接关系) ```python # 地址线连接 for chip in [rom_8k, ram_8k, ram_4k_1, ram_4k_2]: if chip.size == 8192: chip.address_lines = cpu.address_lines[0:13] elif chip.size == 4096: chip.address_lines = cpu.address_lines[0:12] # 数据线连接 rom_8k.data_lines = cpu.data_lines ram_8k.data_lines = cpu.data_lines ram_4k_1.data_lines = cpu.data_lines[0:4] ram_4k_2.data_lines = cpu.data_lines[4:8] # 读写控制线连接 for ram_chip in [ram_8k, ram_4k_1, ram_4k_2]: ram_chip.rw_control = cpu.rw_control rom_8k.enable = not cpu.rw_control # 访存控制信号连接 for chip in [rom_8k, ram_8k, ram_4k_1, ram_4k_2]: chip.mreq = cpu.mreq decoder.g2a = cpu.mreq decoder.g2b = cpu.mreq # 片选逻辑 decoder.input_lines = cpu.address_lines[13:16] rom_8k.cs = decoder.output[0] ram_8k.cs = decoder.output[1] ram_4k_cs = decoder.output[2:4] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值