I have programmed an emulator, but I have some doubts about how to organizate it properly, because, I see that it has some problems about classes connection (CPU <-> Machine Board). For example: I/O ports, interruptions, communication between two or more CPU, etc.
I need for the emulator to has the best performance and good understanding of the code.
PD: Sorry for my bad English.
EDITED:
Asking for multiple patterns.