我目前正在为我的下一个仿真项目学习 C,这是一个周期精确的 68000 内核(我的上一个项目是一个用 Java 编写的非周期精确的 Sega Master System 仿真器,现在已经发布了第三版)。我的查询将循环级别的准确性视为将事物提升到这个级别对我来说是新事物。
要将事情分解为 1 个 CPU 周期的粒度,大概我需要知道内存访问需要多长时间等等,但我的问题是,对于在内存获取/写入阶段需要多个周期的指令,CPU 在做什么每个周期 - 例如每个周期复制的 x 位数。
使用我的 SMS 仿真器,我不必太担心 M1 阶段等,因为它只是为每条指令使用循环计数 - 换句话说,它只精确到指令级别,而不是循环级别。我不是在寻找特定于架构的细节,只是想知道在达到这种粒度级别时应该注意哪些事情。
但是,欢迎提供 68k 详细信息。基本上,我想知道如果视频芯片从内存区域读取,而 CPU 在指令的该阶段中途仍在向其写入数据,以及其他类似情况,会发生什么。我希望我已经说得够清楚了,谢谢。