1.1.1: Structure and Function of the Processor Flashcards
What does the Arithmetic Logic Unit do to the data?
- Performs arithmetic and logical operations on the data
What instructions can the Arithmetic Logic Unit do?
- ADD
- SUBTRACT
- MULTIPLY
- DIVIDE
- On fixed or floating point numbers
What operations can the Arithmetic Logic Unit do?
- Shift operations comparing two values
- Using AND, OR, NOT, XOR
What does the Control Unit do?
- Controls and coordinates the activities of the CPU
- Directs the flow of data between CPU and other devices
What does the Control Unit do to the next instruction?
- Accepts the next instruction
- Decodes it into several sequential steps [e.g. fetching addresses and data from memory]
- Manages its execution
- Stores the resulting data back in memory or registers
What are Registers?
- A small amount of very high speed memory
- Used to temporarily store data, and all arithmetic, logical, and shift operations
What is the purpose of the Program Counter?
- Holds address of the next instruction to be executed
What is the purpose of the Accumulator?
- Stores results from calculations
What is the purpose of the Memory Address Register?
- Holds address of a location that is to be read from or written to
What is the purpose of the Memory Data Register?
- Temporarily stores data that has been read or data that needs to be written
What is the purpose of the Current Instruction Register?
- Holds the current instruction being executed, divided up into operand and opcode
What are Buses?
- A set of parallel wires connecting two or more components inside the CPU
What is the width of a Bus?
- The number of parallel wires the bus has
- Typically 8, 16, 32, or 64 wires wide
What is the width of a Bus directly proportional to?
- Directly proportional to the number of bits that can be transferred simultaneously at any given time
What is the Data Bus?
- Bi-directional bus used for transporting data and instructions between components
What is the Address Bus?
- Uni-directional bus used to transmit the memory addresses specifying where data is to be sent to or retrieved from
What is the width of the Address Bus proportional to?
- The number of addressable memory locations
What is the Control Bus?
- Bi-directional bus used to transmit Control Signals between internal and external components
What does the Control Bus do?
- Coordinates the use of Address and Data Busses
- Provides status information between system components
What does the Control Signal ‘Bus Request’ do?
- Shows that a device is requesting the use of the Data Bus
What does the Control Signal ‘Bus Grant’ do?
- Shows that the CPU has granted access to the Data Bus
What does the Control Signal ‘Memory Write’ do?
- Data is written into the addressed location using this bus
What does the Control Signal ‘Memory Read’ do?
- Data is read from a specific location to be placed onto the Data Bus
What does the Control Signal ‘Interrupt Request’ do?
- Shows that a device is requesting access to the CPU
What is the Clock used for?
- To synchronise operations
What is the Fetch-Decode-Execute cycle?
- A sequence of operations completed in order to execute an instruction
What happens in the registers during the ‘Fetch’ stage of the FDE cycle?
- Address from PC is copied to the MAR
- Instruction held at the address is copied to MDR by the Data Bus
- Simultaneously, the contents of the PC are increased by 1
What happens in the registers during the ‘Decode’ stage of the FDE cycle?
- The contents of the CIR are split into operand and opcode
What happens in the registers during the ‘Execute’ stage of the FDE cycle?
- The decoded instruction is executed
What is the System Clock?
- An electronic device that generates signals, switching between 0 and 1
What is Clock Speed?
- The time taken for one clock cycle to complete
What is a Core?
- An independent processor that is able to run its own FDE cycle
- A computer with multiple cores can complete more than one FDE at any given time
What programs can utilise multiple Cores?
- Not all programs are able to utilise multiple cores efficiently as they have not been designed to do so
- Executing tasks faster may not always be possible
What is Level 1 Cache?
- Very fast memory cells with a small capacity (2 - 64KB)
What is Level 2 Cache?
- Relatively fast memory cells with a medium sized capacity (256KB - 2MB)
What is Level 3 Cache?
- Much larger and slower memory cell
What is Pipelining?
- The process of completing FDE cycles of three separate instructions simultaneously, holding appropriate data in a buffer in close proximity to the CPU until it’s required
What is the purpose of Pipelining?
- Aimed to reduce the amount of CPU which is kept idle
What is Instruction Pipelining?
- Separating out the instruction into Fetching, Decoding, and Executing
What is Arithmetic Pipelining?
- Breaking down the arithmetic operations and overlapping them as they are performed
What does Von Neumann Architecture include?
- Basic components of the computer and processor:
- Single CPU
- ALU
- Registers
- Memory Units
What concept is Von Neumann Architecture built upon?
- The stored program concept
What Buses are used in Von Neumann Architecture?
- A shared Memory and Data Bus is used for both Data and Instructions
What is the main feature of Harvard Architecture?
- Physically separate memories for Instructions and Data
What is Harvard Architecture commonly used with?
- Embedded processors
When is it useful to utilise Harvard Architecture?
- When Memories have different characteristics
- i.e. Instructions may be read only, while Data may be read-write
What does Harvard Architecture allow for?
- The optimisation of the size of individual memory cells and their Buses depending on needs
- i.e. The Instruction Memory can be designed to be larger so a larger word size can be used for Instructions
What is the first advantage of Von Neumann Architecture?
- Cheaper to develop as the CU is easier to design
What is the second advantage of Von Neumann Architecture?
- Programs can be optimised in size
What is the first advantage of Harvard Architecture?
- Quicker execution as Data and Instructions can be fetched in parallel
What is the second advantage of Harvard Architecture?
- Memories can be different sizes, which can make more efficient use of space
What is Contemporary Architecture (Contemporary Processing)?
- The use of a combination of Von Neumann and Harvard Architecture
When is Von Neumann Architecture used in Contemporary Architecture (Contemporary Processing)?
- When working with Data and Instructions in main memory
What is Harvard Architecture used for in Contemporary Architecture (Contemporary Processing)?
- To divide the Cache into Instruction Cache and Data Cache