存储器地址寄存器(MAR)
数字逻辑实验舱的 8 位存储器地址寄存器在 LD(装载)=1 时于 CLK(时钟) 上升沿采样并保存 D0–D7,并持续在 A0–A7 上驱动已存储的值。
概述
本地实验舱存储器地址寄存器是一个固定8位、上升沿触发的寄存器。它从支持总线的输入采样地址,并持续向存储器元件驱动该地址。
本地实验舱 的确切实现
| 方向 | 索引 | 引脚 | 作用 |
|---|---|---|---|
| 输入 | 0–7 | D0–D7 | 支持总线的地址数据;D0为最低有效位(LSB)。 |
| 输入 | 8 | CLK | 上升沿时钟。 |
| 输入 | 9 | LD | 高电平有效的同步装载使能。 |
| 输出 | 0–7 | A0–A7 | 已存储的地址;A0为最低有效位(LSB)。 |
逻辑与时序
- 已存储地址和全部输出的初始状态均为LOW(低电平)(0x00)。
- A0–A7始终驱动已存储的地址。没有OE(输出使能)、复位或清零引脚。
- 在加载沿,仅当解析后的输入明确为HIGH(高电平)时,才将该输入位存为1;LOW、Z和X都存为0。应避免加载尚未确定有效值的地址总线。
- 该八位数值可寻址256个位置,范围为0x00至0xFF。
CPU(中央处理器) 中的用途
MAR(存储器地址寄存器)可以在其他总线数值变化时保持地址稳定。将候选地址源连接到D0–D7,在上升沿针对选定的数据源使LD有效,并将A0–A7连接到RAM(随机存取存储器)或ROM(只读存储器)的地址输入。
运行时参考
| 端子 | 方向 |
|---|---|
D0 |
输入 |
D1 |
输入 |
D2 |
输入 |
D3 |
输入 |
D4 |
输入 |
D5 |
输入 |
D6 |
输入 |
D7 |
输入 |
CLK |
输入 |
LD |
输入 |
A0 |
输出 |
A1 |
输出 |
A2 |
输出 |
A3 |
输出 |
A4 |
输出 |
A5 |
输出 |
A6 |
输出 |
A7 |
输出 |
新放置元件的输出初始状态按上方输出端子顺序排列为:00000000。四态符号为 0、1、X(主动驱动的未知态)和 Z(高阻态)。默认传播延迟:2 ns(仿真时间)。
学习路径
常见问题
什么是 MAR?
MAR 是用于保存地址值的同步字节寄存器,具有 D0–D7、CLK 和 LD 输入,以及始终驱动的 A0–A7 输出;没有 CLR(清零) 或 OE 引脚。
MAR 与 PC(程序计数器) 有何区别?
程序计数器专门用于安排指令执行顺序,支持递增或加载。数字逻辑实验舱的 MAR 仅在 CLK 上升沿且 LD 为 HIGH 时采样地址,其余时间保持原值。