我编写了一个模拟器,但我对如何正确组织它有一些疑问,因为,我发现它在类连接(CPU< - > Machine Board)方面存在一些问题。 例如:I / O端口,中断,两个或多个CPU之间的通信等
我需要让模拟器具有最佳性能和对代码的良好理解。
PD:抱歉我的英语不好。编辑:
要求多种模式。
答案 0 :(得分:4)
这里有两个密切相关的事情。
模拟器是命令定义的集合。模拟器可以做的每件事都是一个命令。一些命令是嵌套的命令序列。
模拟器有许多内部状态定义。模拟器确实会更新一个或多个状态对象。
答案 1 :(得分:1)
构建您的软件而不考虑“模式”。如果它们打算在那里,模式将自然地落在你的工作之外。构建您的软件以符合先入为主的概念,即他们将采用哪种模式使其变得更笨重,更能抵御变革。
(如果您还没有,请下载适合您语言的单元测试框架并使用它来指导您的开发!)
答案 2 :(得分:1)
首先看看wiki。它似乎为仿效艺术提供了一些切入点。其次,我会看看QEMU 或DOSBox是如何构建的。另请查看SourceForge。 Simple query提供以下软件模拟器:
一般来说,这种复杂的任务没有单一的模式。您肯定需要状态机模式,您可以使用命令模式进行调度操作。但我真的建议你看看其他人的工作。