1.1 (PROCESSORS) Flashcards

1
Q

What is a register?

A

Temporary memory locations in the CPU which are used for a single specific purpose

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Name the registers(5)

A

PC, ACC, MAR, MDR, CIR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the purpose of the CPU?

A

The purpose of the CPU is to fetch, decode and execute instructions. (For processing all data within the system)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the ALU do?

A

Performs any mathematical or decision making calculations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does the CU do?

A

Controls data transfer in the CPU and decodes data/instructions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does the PC do?

A

Stores the memory address of the next data/instruction to be fetched

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does the ACC do?

A

Where values are temporarily stored, either after they’ve been inputted or loaded or after being calculated in the ALU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does the MAR do?

A

Where adresses are stored, either being fetched or stored

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does the MDR do?

A

Where adresses are stored, either being fetched or stored

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What does the CIR do?

A

When an instruction has been fetched from memory it is loaded here before being split into opcode and operand. After this, it will be decoded.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Components of the ALU: (5)

A

Arithmetic circuit:
This carries out any arithmetic (addition, subtraction, multiplication or division)

Logic circuit:
Carries out operations like AND, OR, NOT, XOR

Registers:
Additional registers to store data

Status flags:
This includes overflow flags (if the value is too large for the register) or could include a zero flag (to tell if the answer is 0 easily)

Busses:
Data transport

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the 3 busses that connect the CPU and the RAM and their uses?

A

Data bus:
Holds data being sent to and from the CPU and RAM

Address bus:
Holds addresses sent to and from the CPU and RAM

Control bus:
Sends signals to determine whether theother busses are in read or write mode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the operations the 3 busses that connect the CPU and the RAM can do?

A

Data bus:
Read/Write

Address bus:
Read/Write

Control bus:
Sends signals

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

FDE cycle?

A

Fetch
The PC is loaded with O
The value from the PC (0) is copied to the MAR
The data from the MAR (O) is sent across the address bus with the instruction
to read the data sent across the control bus
The data from that location in memory (0) is sent down the data bus to
the MDR
The PC is incremented by 1

Decode
The data is sent from the MDR to the CIR where it is split into the opcode and
operand
This is sent to the CU to be decoded

Execute
Which registers are used here will depend on the instruction being executed
If a value is being inputted (INP) the ACC will store the value
If a value is being outputted (OUT) this will be the value currently in
the ACC
If a value is loaded from RAM (LDA) this will be sent across the data bus
from RAM (in the address location in the MAR) to the MDR
If a value is to be stored (STA) it will take the value from the ACC, send it to
the MDR and then send it across the data bus to RAM (to the address
location in the MAR)
If a value is being added to or subtracted from another value (ADD/SUB)
If the LMC code is to branch (BRA/BRZ/BRP) the comparison will take
place in the ALU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

3 ways to measure CPU performance and description:

A

Clock speed:
Measure of how many state changes the CPU performs per second. One state change can be one or more FDE cycles

Cores:
Number of cores (processors) allowing for more simultaneous tasks
(speed also partially determined by the tasks being performed as some tasks cant be split between multiple processors)

Cache:
Cache stores frequently used data and instructions
It is used as it’s closer to the CPU than RAM and therefore is faster to retrieve data
from (some of the cache is included within each core)
The more cache there is, the more data can be stored which speeds up the performance of the CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explain cache levels

A

Level 1:
Small and fast, 1 for each core

Level 2:
Shared between cores, slower and has higher capacity than L1

Level 3:
Slower and has larger capacity than L2
Sits on motherboard unlike L1 and L2

17
Q

What is Pipelining?

A

Pipelining is the process of carrying out multiple instructions concurrently
Each instruction will be at a different stage of the fetch-decode-execute cycle
One instruction can be fetched while the previous one is being decoded and the
one before is being executed
In the case of a branch, the pipeline is flushed

18
Q

How does pipelining help?

A

Pipelining reduces latency
The CPU is not idle while waiting for the next instruction which increases the speed of execution

19
Q

Differences between the 2 main types of computer architecture:

A

Memory organisation:
Von Neumann:Unified
Harvard: Separate data and instruction memory

Busses:
Von Neumann: Data, instruction and control busses but the same bus. All the same word size
Harvard: Different busses for data and instructions. Can be different word sizes

CUs:
Von Neumann: Single
Harvard: Seperate

Usage:
Von Neumann: Most modern computers, microcontrollers
Harvard: Specialised embedded systems

20
Q

How does Harvard architecture perform better than Von Neumann architecture

A

Two separate areas of memory:
One for instructions and one for data
Instructions and data can be accessed concurrently

Different sets of buses:
One for instructions and one for data
Instructions and data can be accessed concurrently

Pipelining:
Whilst an instruction is being executed the next can be decoded and the subsequent one fetched

Virtual cores / Hyper-threading:
Where one core can act as multiple

Onboard Graphics:
Built-in circuitry for graphical processing

Out of Order Execution:
Instructions can be executed before earlier ones if they are ready

Super Scalar:
Multiple instructions can be executed simoulatiously