7
Extending the TC1
In this chapter, you will learn how to expand the functionality of the TC1 simulator that we designed in Chapter 6. We also look at some of the elements of the design of a simulator, including input/output techniques and data validation, and describe how the simulator can display the state of a processor as it executes instructions.
TC1 is a compromise. Initially, it was designed to support teaching the basics of computer architecture. It is an aid to understanding instruction encoding, instruction format trade-offs, the execution of an instruction, addressing modes, and the ability to design and implement an instruction set.
Here, we look at ways of expanding TC1 by, for example, discussing how new instructions can be added. Finally, we deal with a topic that we have omitted so far: how to create a computer architecture with variable-length instructions. That is, individual instructions can be an integer multiple of the basic word length.
The TC1 CPU...