1. The Characteristics of Contemporary Processors, Input, Output and Storage Devices 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 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 a Core? How does having multiple Cores affect CPU performance?
A Core is an independent execution unit inside the CPU which can execute Instructions. A CPU which has multiple Cores can execute multiple Instructions simultaneously (in parallel) which speeds up the computer. Not all processes are written in a way which can take advantage of this, more commonly each Core will execute Instructions from a different process which will speed up Multi-tasking.
What is Cache Memory? How does the amount of Cache Memory affect CPU performance?
Cache Memory sits between the CPU and Main Memory (RAM). When data is fetched from RAM into the CPU, the CPU checks whether that data is in the Cache - if it is (Cache Hit) it is fetched into the Memory Data Register (MDR), otherwise (Cache Miss) the block of memory containing the data is fetched into the Cache and then the data into the MDR. This means the Cache is always populated with the data surrounding previous requested data from RAM, which gives a higher probability of Cache Hits in the future. Storing data closer to the CPU increases the speed of memory access, and the more Cache Memory the higher the probability of a Cache Hit which further increases this benefit. Modern CPUs have a hierarchy of up to three levels of Cache.
What is the Word Length? How does it affect CPU performance?
The Word Length is the unit of data which can be processed in a Register on the CPU, for modern computers this is usually 64-bit. Data larger than the Word Length may take multiple clock cycles to process, so larger Word Length improves the performance of the CPU.