如果 6502 需要 8 位用于操作码,而 8 或 16 位用于地址或数字等数据,那么它怎么只有 8 位数据总线。为什么不是 24 位?
这让我很困惑,因为我知道地址总线不能用作数据,因为它是全向的。
根据 Synertek 8 位微处理器系列,SY6500,1979 年 4 月(附录 A,不清楚是否是原始文档的一部分)
本节包含各种处理器指令的每个周期的地址总线和数据总线上的数据概要。 (...) 所有指令都以 T0 和操作码的获取开始,并继续执行所需的周期数 (...)
文档包含对单字节指令(ASL、DEX、NOP...)的具体解释:
单字节指令需要两个周期来执行。在第二个周期中,下一条指令的地址将被放置在地址总线上。然而,在第二个周期出现在数据总线上的 OP CODE 将被忽略
相反,第2个周期数据总线上的数据将保留2或3字节指令。
如果我们阅读“A.2.3. 绝对寻址(4 个周期)”,该表显示多次提取,每个周期一次:
Tn | 地址总线 | 数据总线 | 评论 |
---|---|---|---|
T0 | 电脑 | 操作代码 | 获取操作码 |
T1 | 电脑 + 1 | 日常活动 | 获取 LSB EA |
T2 | 电脑 + 2 | ADH | 获取 MSB EA |
T3 | ADH,ADL | 数据 | 获取数据 |
注意:6502 是 SY6500 系列的一部分。