8 位 CPU 和内存读取的时钟周期

Clock cycles for a 8bit CPU and memory reads

8位CPU是否有可能在不到3个时钟周期内读取内存?我知道 6502 使用异步存储器,但其他 8 位 CPUs 与时钟存储器呢?我需要一个时钟分频器来使 CPU 变慢吗?

我的理解是第1个周期:CPU输出一个地址,第2个周期:内存读取地址然后给出对应的字节,第3个周期:CPU最后接收到字节。这是正确的吗?

My understanding is that during cycle 1: CPU outputs an address, during cycle 2: memory reads the address then gives the corresponding byte, and during cycle 3: CPU finally receives byte. Is this correct?

这不太正确。特别是,CPU 必须 "receive" 内存具有 "given" 它的同一周期中的字节。通常,该值在时钟上升沿或下降沿锁存。

具体发生什么取决于正在执行的指令。例如,一个 LDA 立即数需要两个周期。第一个周期,CPU 读取操作码。第二个循环,CPU读取操作数存入累加器

另一个例子:LDA zeropage。 CPU 在第一个周期读取指令。它在第二个周期读取地址。然后它在指令的第三个也是最后一个周期将数据读入累加器。

注意6502上每个周期是一个内存访问,输出一个地址,读入或写出一个8位的值。总是。