Introduction to Computer Architecture
Computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit (CPU) performs internally and accesses addresses in memory. It may also be defined as the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals.
Computer architecture can be classified into three main categories:
- Instruction Set Architecture, or ISA, is the image of a computing system that is seen by a machine language programmer. It includes the instruction set, word size, memory address modes, processor registers, and address and data formats.
- Computer Organization is a lower level and detailed description of the system that involves how the different parts of the system are interconnected and how they interoperate in order to implement the ISA.
- System Design which includes all of the other hardware components within a computing system such as:
- Computer buses and switches
- Memory controllers
- Direct Memory Access (DMA)
- Issues like multi-processing