Section 1: Components of a computer Flashcards
What are the control unit’s functions?
Control Unit’s jobs:
- Guide data flow through different computer areas
- Regulates and controls processor timing
- Interprets instructions
- Controls sequential instruction execution
- Sends and receives control signals from other computer devices
What is the definition of a bus in computing?
A bus is a set of parallel wires connecting two or more components of a computer.
What are the 3 types of bus (along with the direction with which they move)?
The 3 types of bus are:
- The address bus, uni-directional
- The data bus, bi-directional
- The control bus, bi-directional
What does it mean if a bus is bi-directional?
If a bus is bi-directional then it can carry signals in both directions (as opposed to being uni-directional).
What is the job of the control bus?
The job of the control bus is to use control lines in order to make sure that access to and use of the data and address buses by different components does not lead to conflict.
Name 3 examples of control lines
Examples of control lines:
- Bus request
- Bus grant
- Memory write
- Memory read
- Interrupt request
- Clock
What does the data bus do?
The data bus provides a bi-directional path for moving data and instructions between components.
What is a memory address?
A memory address is an address in the memory for a specific word.
What does the Arithmetic Logic Unit do?
The ALU performs arithmetic and logical operations on the data.
What are registers?
Registers are special memory cells that operate at very high speed.
How many general purpose registers can typically be found in the CPU?
There are typically 16 general purpose registers in the CPU.
What does the Program Counter (PC) do?
The PC holds the address of the next instruction to be executed.
What does the Current Instruction Register (CIR) do?
The CIR holds the current instruction being executed, divided into operand and opcode.
What does the Memory Address Register (MAR) do?
The MAR holds the addresses of the memory location from which data (or an instruction) is to be fetched or to which data is to be written.
What does the Memory Data Register (MDR) do?
The MDR temporarily stores the data read from or to be written to memory.
How does a processor access a particular main memory location using buses?
When the processor wishes to access a particular main memory location, it sends this address to memory on the address bus. The data in that location is then returned to the CPU on the data bus. Control signals are sent along the control bus.
What is the collective term for the 3 buses?
The collective term for the 3 buses is the system bus.
What is the accumulator?
The accumulator is a register that is used in specialised processors or used to represent general purpose registers in a simplified diagram.
What are the 3 stages of the fetch phase in the fetch-decode-execute cycle?
Fetch phase:
- The address of the next instruction is copied from the program counter to the memory address register
- The instruction held at that address is copied to the memory data register. Simultaneously, the content of the PC is incremented so that it holds the address of the next instruction.
- The contents of the MDR are copied to the current instruction register.
What happens during the decode phase in the fetch-decode-execute cycle?
Decode phase:
The instruction held in the CIR is decoded i.e. split into opcode and operand.
What is the opcode of an instruction?
The opcode of an instruction is the code that determines what type of instruction is to be executed and what hardware should be used when executing it (e.g. 0 means stop and 1 means add in a little man computer)
What is the operand of an instruction?
The operand of an instruction holds either:
- the address of the data to be used with the operation (which is then copied to the MAR), or
- the actual data to be operated on, which will be copied to the MDR (and may be passed through the ALU/accumulator)
What happens during the execute phase of the fetch-decode-execute cycle?
Execute phase:
The appropriate instruction/opcode is carried out on the operand.
What is meant by the word size of a computer?
The word size of a computer is the number of bits that can be processed by a computer’s CPU in one go (typically 32 or 64 bits)
What are the 3 main factors that affect processor performance?
The 3 main factors that affect processor performance are clock speed, number of cores and size or type of cache memory.
How is clock speed defined?
Clock speed is the speed at which a processor can cycle between 1s and 0s to complete instructions.
On what number do clock cycles begin on most computers?
On most computers, clock cycles begin at 0.
What is cache used for and why?
Cache is used to store the most frequently used data because it is much faster than main memory.
What is the typical range of capacity for level 1 cache?
The typical range of capacity for level 1 cache is 2-64KB.
What is the typical range of capacity for level 2 cache?
The typical range of capacity for level 2 cache is 256KB-2MB.
What is pipelining?
Pipelining is a technique used to make the most of the processor during the fetch-decode-execute cycle. It ensures that, while the processor is performing arithmetic and logic operations, the next instruction can already be fetched rather than allow the rest of the processor to be idle.
How does pipelining work?
Pipelining stops the fetch-decode-execute cycle from being sequential per instruction. Instead, while one instruction is being decoded and executed another can be fetched and ready for execution rather than allowing processor components to be idle.
How can pipelining be split up?
Pipelining can be split up into an arithmetic pipeline and an instruction pipeline. The instruction pipeline consists of the pipelining steps that are taken within the processor, while the arithmetic pipeline represents the parts of an arithmetic operation that can be broken down and overlapped as the tasks are being performed.
What is a word in computing?
A word is a group of bytes.
What does the width of the address bus determine?
The width of the address bus determines the maximum possible memory capacity of the system.
If a data bus is 32-bits, what is the maximum size of an integer that a word could hold?
If a data bus is 32-bits, the maximum size of an integer that a word could hold would be 2^32.
How is the stored program concept defined?
The stored program concept:
Machine code instructions are fetched and executed serially by a processor that performs arithmetic and logical operations.
What is the stored program concept often referred to?
The stored program concept is often referred to as the Von Neumann Machine.
What are the fundamental differences between Von Neumann architecture and Harvard architecture?
Differences between Von Neumann and Harvard architectures:
- In Von Neumann, instructions and data both share the same memory. In Harvard, they have different memories.
- Harvard architecture can allow for having larger or smaller capacity in either the instruction or data memory
Where is Von Neumann architecture typically used?
Von Neumann architecture is typically used in conventional processors in PCs, servers and embedded systems with only control functions.
Where is Harvard architecture typically used?
Harvard architecture is typically used in digital signalling processing and in embedded systems, mobile communication systems, audio, speech and image processing systems.
Why can Harvard architecture be faster than Von Neumann?
Harvard architecture can be faster than von Neumann because data and instructions can be fetched in parallel instead of competing for the same bus.
What is the contemporary processor architecture like?
Modern high-performance CPU chips take aspects of both aforementioned architectures. CPU cache memory can be divided into instruction and data cache (Harvard), while instructions and data may be stored together in main memory (von Neumann).
What is CISC?
CISC (Complex Instruction Set Computers) is a type of computer with a small set of complex instructions. Each instruction may complete a number of tasks.