OCR Computer Science A Level 1.1.1 Structure and Function of the Processor PDF

Document Details

FresherAltoSaxophone9285

Uploaded by FresherAltoSaxophone9285

Sandringham School

OCR

Tags

computer science processor architecture CPU computer components

Summary

This document provides advanced notes on the structure and function of a processor, specifically targeting OCR Computer Science A Level. It covers topics like the Arithmetic Logic Unit (ALU), Control Unit, registers (e.g., program counter, accumulator), buses (data, address, control), and the fetch-decode-execute cycle. The document also delves into pipelining and different architectures like Von Neumann and Harvard.

Full Transcript

OCR Computer Science A Level 1.1.1 Structure and Function of the Processor Advanced Notes www.pmt.education Specification: 1.1.1 a) The Arithmetic and Logic Unit The Control Unit Registers: ○ Program Counter ○ Accumulator ○ Mem...

OCR Computer Science A Level 1.1.1 Structure and Function of the Processor Advanced Notes www.pmt.education Specification: 1.1.1 a) The Arithmetic and Logic Unit The Control Unit Registers: ○ Program Counter ○ Accumulator ○ Memory Address Register ○ Memory Data Register ○ Current Instruction Register buses: ○ Data Bus ○ Address Bus ○ Control Bus How these relate to assembly language programs 1.1.1 b) The Fetch-Decode-Execute Cycle Its effect on registers 1.1.1 c) The factors affecting the performance of the CPU: ○ Clock Speed ○ Number of Cores ○ Cache 1.1.1 d) The use of pipelining in a processor to improve efficiency 1.1.1 e) Von Neumann architecture Harvard architecture Contemporary processor architecture www.pmt.education Components of a Processor The processor is the brain of a computer. It executes instructions which allows programs to run. The Arithmetic and Logic Unit The ALU (Arithmetic and Logic Unit) completes all of the ​arithmetical and logical operations​. Arithmetical operations include all mathematical operations such as addition and subtraction on fixed or floating point numbers. Logical operations include boolean logic operations such as AND, OR, NOT, and XOR. The Control Unit The Control Unit is the component of the processor which ​directs the operations of the CPU​. It has the following jobs: - Controlling and coordinating the activities of the CPU - Managing the flow of data between the CPU and other devices - Accepting the next instruction - Decoding instructions - Storing the resulting data back in memory Registers Registers are ​small memory cells​ that operate at a ​very high speed​. They are used to temporarily store data​ and all ​arithmetic​, ​logical​ and ​shift​ operations occur in these registers. Registers Purpose Program Counter (PC) Holds the ​address​ of the ​next instruction​ to be executed. Accumulator (ACC) Stores the ​results from calculations Memory Address Register (MAR) Holds the ​address​ of a location that ​is to be read from or written to​. Memory Data Register (MDR) Temporarily stores data​ that has been ​read or data that needs to be ​written​. Current Instruction Register (CIR) Holds the ​current instruction​ being executed, divided up into ​operand and opcode​. www.pmt.education Buses Buses are a set of ​parallel wires​ which connect ​two or more components​ inside the CPU. There are three buses in the CPU: ​data bus​, ​control bus​, and ​address bus​. These buses collectively are called the ​system bus​. The width of the bus is the ​number of parallel wires​ the bus has. The width of the bus is directly proportional​ to the ​number of bits​ that can be transferred ​simultaneously​ at any given time. buses are typically 8, 16, 32 or 64 wires wide. Data Bus This is a ​bi-directional bus​ (meaning bits can be carried in both directions). This is used for transporting ​data​ and ​instructions​ between components. Address Bus This is the bus used to transmit the ​memory addresses​ specifying where data is to be sent to or retrieved from. The width of the address bus is proportional to the ​number of addressable memory locations​. Control Bus This is a ​bi-directional​ bus used to transmit ​control signals​ between internal and external components. The control bus coordinates the use of the address and data buses and provides status information between system components. The control signals include: - Bus request: shows that a device is requesting the use of the ​data bus - Bus grant: shows that the CPU has ​granted access​ to the data bus - Memory write: data is written into the addressed location using this bus - Memory read: data is read from a specific location to be placed onto the data bus, - Interrupt request: shows that a device is requesting access to the CPU - Clock: used to ​synchronise operations Assembly language Assembly code​ uses ​mnemonics​ to represent instructions, for example ADD represents addition. This is a simplified way of representing ​machine code​. The instruction is divided into ​operand​ and ​opcode​ in the Current Instruction Register. The operand contains the data or the ​address​ of the data upon which the operation is to be performed. The opcode specifies the ​type of instruction​ to be executed. www.pmt.education Operation Code Operand Machine Code Operation Addressing mode 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 A Level only Pipelining Pipelining is the process of completing the fetch, decode, and execute cycles of ​three separate instructions​ ​simultaneously​, holding appropriate data in a ​buffer​ in close proximity to the CPU until it’s required. While one instruction is being executed, another can be decoded and another fetched. Pipelining is aimed to reduce the amount of the CPU which is kept ​idle​. It is separated into instruction pipelining​ and ​arithmetic pipelining​. Instruction pipelining is separating out the instruction into fetching, decoding, and executing. Arithmetic pipelining is breaking down the arithmetic operations and overlapping them as they are performed. Fetch-Decode-Execute Cycle and Registers The fetch-decode-execute cycle is the​ sequence of operations​ that are completed in order to execute an instruction. Fetch phase: - Address from the PC is copied to the MAR - Instruction held at that address is copied to MDR by the data bus - Simultaneously, the contents of the PC are increased by 1 - The value held in the MDR is copied to the CIR Decode phase: - The contents of CIR are split into operand and opcode Execute phase: - The decoded instruction is executed www.pmt.education Factors affecting CPU performance There are three factors that affect CPU performance: clock speed, number of cores and the amount and type of cache memory. Clock speed The clock speed is determined by the ​system clock​. This is an electronic device which generates signals​, switching between 0 and 1. All processor activities begin on a clock pulse, and each CPU operation starts as the clock changes from 0 to 1. The clock speed is the time taken for one clock cycle to complete. Number of cores A core is an ​independent processor​ that is able to run its own fetch-execute cycle. A computer with multiple cores can complete ​more than one​ fetch-execute cycle at any given time. A computer with dual cores can theoretically complete tasks ​twice as fast​ as a computer with a single core. However, not all programs are able to utilise multiple cores efficiently as they have not been designed to do so, so this is not always possible. Amount and type of Cache Memory Cache memory is the ​CPU’s​ ​onboard memory​. Instructions fetched from main memory are copied to the cache, so if required again, they can be accessed quicker. As cache fills up, unused instructions are replaced. Cache Type Properties Level 1 Cache Very fast memory cells with a small capacity. (2-64KB) Level 2 Cache Relatively fast memory cell, with a medium sized capacity. (256KB-2MB) Level 3 Cache Much larger and slower memory cell. Computer Architecture Von Neumann Architecture This architecture includes the basic components of the computer and processor (single control unit​, ​ALU​, ​registers​ and ​memory units​) in which a ​shared memory ​and ​shared data bus​ is used for both data and instructions. Von Neumann architecture is built on the stored program concept. Harvard Architecture www.pmt.education Harvard architecture has physically separate memories for instructions and data, more commonly used with embedded processors.This is useful for when memories have different characteristics​, i.e. instructions may be read only, while data may be read-write. This also allows you to optimise the size of individual memory cells and their buses depending on your needs, i.e. the instruction memory can be designed to be larger so a larger word size can be used for instructions. Advantages of Von Neumann Advantages of Harvard Architecture Architecture Cheaper to develop​ as the control unit is Quicker execution​ as data and instructions easier to design can be fetched in parallel. Programs can be ​optimised in size Memories can be different sizes​, which can make more efficient use of space Contemporary Processing Contemporary processors use a ​combination of Harvard and Von Neumann​ architecture. Von Neumann is used when working with data and instructions in main memory, but uses Harvard architecture to divide the cache into instruction cache and data cache. www.pmt.education

Use Quizgecko on...
Browser
Browser