7. Fundamentals of Computer Organisation and Architecture Flashcards
What is the CPU, and what does it do?
The CPU is the Central Processing Unit. It is the component of the computer which executes the Instructions which make up computer programs.
What is the System Bus, and what does it consist of?
The System Bus is the connections between the CPU and different components in the computer. It consists of the Address Bus (which carries Addresses), the Data Bus (which carries Data), and the Control Bus (which carries Control Signals).
What is the purpose of the Control Bus?
The Control Bus carries Control Signals between components of the computer. It is a bi-directional Bus. Control signals may be related to memory access (read/write), interrupts, bus requests, and clock signals.
What is the purpose of the Data Bus?
The Data Bus carries data between components of the computer. It is a bi-directional Bus. The speed of transfer of data is determined by the Data Bus Width, which is how much data can be transferred per clock cycle.
What is the purpose of the Address Bus?
The Address Bus carries addresses from the CPU to other components in the computer. It is a one-directional Bus. The Address Bus Width determines the number of bits used to represent an address in memory. The more bits used to represent an address, the higher the limit on available system memory. In modern 64-bit computer architectures the upper limit is 2^64 bytes of memory.
What is an I/O Controller?
An I/O Controller is the hardware which interfaces with an external device (such as a keyboard, or a printer). An example is a USB (Universal Serial Bus) controller which is used to connect external devices using USB cables.
What is the von Neumann Architecture?
The von Neumann Architecture specifies how the core components of a computer are organised and their purpose. In this type of architecture a single Main Memory unit stores the Data and Instructions for the currently executing processes. Instructions are fetched one at a time into the CPU over the System Bus and executed. The idea of storing the instructions for processes in the Main Memory is called the Stored Program Concept, and allows the concept of a General Purpose Programmable Computer. Most modern computers have a von Neumann Architecture.
What is the Harvard Architecture?
In the Harvard Architecture there are separate Memory units for Instructions and Data which each have their own Bus. This allows Instructions and Data to be fetched into the CPU at the same time (in parallel). This type of architecture can be useful for special purpose processing of large amounts of data, such as in Digital Signal Processing (e.g. for Computer Vision applications).
What is the ALU?
The Arithmetic Logic Unit is specialised circuitry inside the CPU for performing mathematical and logical operations.
What is the Control Unit?
The Control Unit is the circuitry inside the CPU which controls and coordinates the components of the CPU and other components inside the computer. It is involved in decoding and executing Instructions for processes.
What is the purpose of the System Clock?
The System Clock sends timing signals around the computer which synchronises the actions of components. The speed of the System Clock is an upper speed limit on the processing of Instructions on the computer.
What is a Register? Name all the special purpose Registers in the CPU and their purposes.
A Register is a memory unit inside the CPU. The following are special purpose Registers:
- Program Counter (PC) - stores the Address of the next Instruction from the current process.
- Current Instruction Register (CIR) - stores the Instruction which is currently executing.
- Memory Address Register (MAR) - stores the address used for a memory access (Load or Store), connected to the Address Bus.
- Memory Data Register (MDR) - stores data loaded or to be stored during memory access, connected to the Data Bus.
- Status Register (SR) - stores information about the current status of the CPU, for example whether an integer overflow has occurred.
- Accumulator (ACC) - stores the result of an instruction.
What is the purpose of the Fetch stage in the Fetch-Execute Cycle? Describe the steps of the Fetch stage.
The Fetch Stage fetches the Instruction at the Address stored in the Program Counter from Main Memory (RAM) into the Current Instruction Register inside the CPU.
- The Address in the Program Counter (PC) is copied to the Memory Address Register (MAR). MAR ← [PC]
- The Address in the PC is incremented. PC ← [PC] + 1
- The Address in the MAR is sent over the Address Bus to Main Memory, and the Instruction at that Address is sent over the Data Bus to the Memory Data Register (MDR). MDR ← [[MAR]]
- The Instruction in the MDR is copied to the Current Instruction Register (CIR). CIR ← [MDR]
What is an Instruction? What are the Opcode and Operand?
An Instruction is an individual action to be undertaken by the CPU, computer programs consist of many Instructions usually translated from High Level Languages.
An Opcode is the type of Instruction - what to do.
An Operand is the input(s) required to perform the Instruction.
What is an Addressing Mode? Which Addressing Modes are available on CPUs?
An Addressing Mode defines how the Operand is to be interpretted.
Immediate Addressing means that the Operand is a value (i.e. a number).
Direct Addressing means that the Operand is the address in memory of the value which is input to the Instruction.