1.1 Systems Architecture Flashcards
What is the purpose of the control unit (CU)?
- Co-ordinates all activities of the CPU
- Directs the flow of data between the CPU and other devices
- Accepts, decodes, executes and stores results back in memory
What is the purpose of the program counter (PC)?
- Holds the address of the next instruction to be executed
- e.g. the next instruction in a sequence of instructions or an address to jump to if the current instruction is a command to branch
What is the purpose of the memory address register (MAR)?
- Holds the address of the memory location from which data or an instruction is to be fetched or to which data is to be written
- Sends the address to memory down the address bus
What is the purpose of the memory data register (MDR)?
- Used to temporarily store the data which is read from and written to memory
- All data to and from memory must travel down the data bus and pass through the MDR
What is the purpose of the current instruction register (CIR)?
- Holds the current instruction being executed
- Contents of the MDR are copied if it’s an instruction
- Contains the opcode and operand of the current instruction
What is the purpose of the arithmetic logic unit (ALU)?
- Performs logical and arithmetic operations on data
What is the purpose of the accumulator?
- Holds the results of calculations made in the ALU
What are buses?
- A physical set of parallel wires connecting and carrying groups of bits between several components of a computer
What is an address bus?
- Carries memory address which identify where data is read from or written to
What is a data bus?
- Carries that binary that make up the actual information being transmitted around the CPU
What is a control bus?
- Controls command and control signals to and from every other component of the CPU
What are the factors that affect the performance of the CPU?
- Clock speed
- Cache size
- Number of cores
Factors that affect the performance of the CPU: clock speed
- The number of instruction cycles it can execute per second
- Measured in hertz
- The faster the clock ticks, the more FDE cycles can be executed per second
Factors that affect the performance of the CPU: cache size
- Holds data and instructions that are frequently accessed and used by the CPU
- Much quicker to access than RAM
Factors that affect the performance of the CPU: number of cores
- A complete copy of the CPU
- CPUs with multiple cores have the power to run multiple programs at the same time
Why does doubling the number of cores not necessarily mean it will double the performance?
- Extra communication is needed between the cores = extra time
- Many programs are not designed to make use of multiple cores
What is pipelining?
- The process of completing the FDE cycles of three separate instructions simultaneously
What is the instruction pipeline?
- Consists of various stages an instruction must move through the processor
What is the arithmetic pipeline?
- Parts of the arithmetic operation that can be broken down and overlapped as they are carried out
Von Neumann architecture (4)
- Shared memory space for data and instructions (in the same format)
- A single CU/processor follow a linear FDE cycle
- One instruction at a time
- Register used as fast access to data
Harvard architecture (4)
- Instructions and data stored in separate memory units
- Each has its own bus
- Reading and writing can be done at the same time as fetching an instruction
- Used by RISC processors
Contemporary Processor architecture
- A modern computer architecture combining elements of both Von Neumann and Harvard architecture
What is the the purpose of Single Instruction Multiple Data (SIMD)?
- Parallel processing is where a processor carries out a single instruction on multiple data items at the same time
What is the the purpose of Multiple Instruction Multiple Data (MIMD)?
- Multiple instructions are carried out on multiple data across several cores
What is distributed computing?
Multiple computers on the same network each take part on a bigger problem
What is an instruction set?
- A set of all instructions written in machine code that can be recognised and executed by a given processing unit/CPU
What are the features of Complex Instruction Set Computer (CISC)?
- Aims to complete the task in as few lines of assembly code as possible
- Complicated hardware and circuitry so it can understand and execute a series of operations
- Multiple machine/clock cycles per instruction
- Makes more efficient use of RAM
- Used in laptop and desktop computers
What are the features of Reduced Instruction Set Computer (RISC)?
- Aims to use simple instructions that will be executed within a single clock cycle
- Requires less complex hardware, leaving room for cache and registers
- Used in smartphones and embedded systems
- Heavy use of RAM (can cause bottlenecks if limited)
What is a co-processor?
- Any additional processor used for a specialised task
- Improves overall speed of computer by executing concurrently with the CPU, aided by a bespoke set of electronics
What is a GPU?
- A co-processor which has a lots of independent processors working in parallel making it efficient at tasks such as image processing and machine learning
What are the differences between GPUs and CPUs?
- CPUs are generic processing units (all-rounders) / GPUs are highly specialised
- CPUs excel at performing complex operations on small data sets (vice versa)
- GPUs designed so a single instruction can work over a large block of similar data
What is a multicore processor?
- Single chip containing two or more independent processing units
- Each core can fetch, decode and execute its own instructions
How is the performance of a multicore processor enhanced?
- An in chip shared cache and inter-core communication
What is parallel processing?
- The process of program instructions by dividing them between multiple processors or processor cores
What are the limitations of parallel processing?
- It can speed up computation depending on:
- The task being carried out
- If the software being designed makes use of parallel processing
What is an input?
- Any device that allows you to pass information from the outside world into a computer system
What is an output?
- Any device that can take data stored in digital form and convert it into another format humans can process such as sound, images and vibrations
What is a storage device?
- Any device used for either temporary or permanent storage of data
- Can be internal or external
What is optical storage?
- Data is stored in the reflectivity (pits and lands) of a surface and is read from and written to by a laser
What are some examples of optical storage?
- CD
- DVD
- Blu-ray
What are the advantages of optical storage?
- Cheap
- Portable
- Lightweight
What are the disadvantages of optical storage?
- Slow access times
- Prone to scratches
What is magnetic storage?
- Relies on the polarisation of magnetic particles to store bits on a magnetic material which is typically moved mechanically
What are some examples of magnetic storage?
- Hard Disk Drives
- Floppy Disks
- Magnetic Tape
What are the advantages of magnetic storage?
- Cheap
- High data capacity
What are the disadvantages of magnetic storage?
- Slow access times
- Fragile
What is solid state/flash storage?
- Solid state technology that stores data on a collection of memory chips
- No moving parts as data is accessed by software
What are some examples of solid state/flash storage?
- SSDs
- Memory Sticks
- Flash cards
What are the advantages of solid state/flash storage?
- Durable
- Fast access times
What are the disadvantages of solid state/flash storage?
- Expensive
- Limited read/write cycles
What is RAM?
- Temporary storage of data and instructions
- Holds data and instructions that are currently being used by the CPU and computer
- Volatile (data is lost when power is turned off)
What is ROM?
- Small piece of read only memory located on the motherboard
- Contains the start up instructions of the computer (bootstrap)
- Non volatile
What is a Power On Self Test?
- Sends signals to all connected components and makes the CPU aware they all exist
What do the first instructions in ROM perform when the computer is turned on?
- A Power On Self Test
What is opcode?
- What we need to do (operation)
What is operand?
- What do we need to do it to
What occurs during the fetch phase?
- Address from the PC is copied to the MAR
- Instructions in MAR is copied to the MDR by the data bus, simultaneously contents of the PC increase by 1
- Value of the MDR is copied to the CIR
What occurs during the decode phase?
- Instruction in the CIR is split into opcode and operand
What occurs during the execute phase?
- Opcode is executed on the data
What is cloud storage?
- The concept of receiving and retrieving data on the internet in the cloud instead of a local storage device