3

我已经编写了一个模拟器,但我对如何正确组织它有一些疑问,因为我看到它在类连接(CPU <-> 机器板)方面存在一些问题。例如:I/O 端口、中断、两个或多个 CPU 之间的通信等。

我需要模拟器具有最佳性能和对代码的良好理解。

PD:对不起我的英语不好。

编辑:

要求多种模式。

4

3 回答 3

4

这里发生了两件密切相关的事情。

  1. 模拟器是命令定义的集合。模拟器能做的每一件事都是一个命令。一些命令是嵌套的命令序列。

  2. 模拟器有许多内部状态定义。模拟器所做的每一件事都会更新一个或多个状态对象。

于 2010-03-22T15:01:02.060 回答
1

在不考虑“模式”的情况下构建您的软件。如果它们打算在那里,这些模式会自然地从你的工作中消失。构建您的软件以适应先入为主的观念,即它们往往会使其变得更庞大和更难以改变。

(如果您还没有,请为您的语言下载一个单元测试框架并用它来指导您的开发!)

于 2010-03-22T16:45:22.510 回答
1

首先看看维基。它似乎为仿真艺术提供了一些切入点。其次,我会看看QEMUDOSBox的结构。也看看 SourceForge。简单查询给出以下软件模拟器:

一般来说,这种复杂的任务没有单一的模式。您肯定需要状态机模式,并且您可能会使用命令模式来调度操作。但我真的建议你看看其他人的工作。

于 2010-03-22T17:00:16.683 回答