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

时间:2019-03-12 08:21:27

标签: verilog emulation cpu 8-bit cpu-cycles

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

我的理解是,在周期1:CPU输出一个地址,在周期2:存储器读取该地址,然后给出相应的字节,在周期3:CPU最终接收字节。这是正确的吗?

1 个答案:

答案 0 :(得分:0)

我的理解是,在周期1:CPU输出一个地址,在周期2:存储器读取该地址,然后给出相应的字节,在周期3:CPU最终接收字节。这是正确的吗?

那不是很正确。特别是,CPU必须在内存“提供”该字节的同一周期内“接收”该字节。通常,该值通过时钟的上升沿或下降沿来锁存。

究竟发生了什么,取决于执行的指令。例如,一个LDA立即需要两个周期。第一个周期,CPU读取操作码。第二个周期,CPU读取操作数并将其存储在累加器中。

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

请注意每个周期如何在6502上进行内存访问。输出地址,并读入或写出8位值。总是。