"Architecture" often refers to "the rules a computer program must obey in order to execute correctly.” (Lorin, 3). In other words, architecture includes everything that a programmer should know in order to program a computer properly. A processor’s architecture is the form and sequence of instructions which are executed on it, memory architecture is the collection of methods for data transfer in and out of memory, and I/O architecture defines the conventions that must be used to move data between memory and I/O devices such as a printer
The key components of a computer’s architecture, then, are:
- Mode of data representation
- Size of basic data structure
- Addressing conventions
- Register model
- Instruction set
- I/O design