1.1.1 Processor Architecture Flashcards

1
Q

What is a computer system

A

The hardware and software that work together to process inputs with instructions and produce an output

Hardware - physical components
software - programs that make hardware do useful things
Peripherals - hardware connected to computer

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

Control unit

A

Central component of CPU
- Co-ordinates activity of CPU with other components
- Decodes instructions
- Controls buses - sends control signals to co-ordinate movement of data through processor with other devices
- Controls buses - manages FDE cycle

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

Function and Components of CPU

A

CPU processes instructions and data through the fetch decode execute cycle

-Control unit
-Arithmetic-Logic unit
-Dedicated registers
-Cache
-Buses

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

ALU and Registers

A

Arithmetic Logic unit
- Does calculations (Arithmetic and Logical operations)

Registers
- Small memory in the CPU
- Very fast access speed
- Temporary store of data
- Dedicated purpose - single specific purpose

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

All Registers

A

Accumulator :
- Temporary storage for data being processed during calculations (result of ALU)
- Used as input / output - buffer / gateway

Program Counter :
- Holds memory location of next instruction to be fetched
- Increments by one every FDE cycle
- Keeps track of where in memory currently at

Memory address register :
- Holds memory address of instruction currently being fetched from or sent to

Memory data register :
- Temporarily stores data that has been read from memory or to be written to memory

Current instruction register :
- Stores the current instruction being executed (most recently fetched)

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

Buses

A

Set of parallel wires that connect two or more components - series of connectors that transfer signals between internal components

Data Bus : Bi-directional and carries data from one component to another

Address Bus : Carries memory address of where data is to be written to or read from

Control Bus : Bi-directional and used to transmit control signals (read or write from memory/ clock to synchronize operations)

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

Factors affecting CPU performance

A

Clock speed - Speed a FDE cycle is completed - number of instructions that can be executed.

Cache size - Memory that contains frequently used instructions/data and has a faster R/W speed than RAM because it is located nearer to the CPU than RAM - more cache means more data can be stored which speeds up CPU performance.

Number of Cores - Independent processing units that can complete more than one FDE cycle at the same time through parallel processing and splitting a task between cores.

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

FDE cycle (read)

A
  • Contents of PC copied to MAR (Fetch)
  • PC increments by one
  • Memory address sent down address bus from MAR
  • Control bus sends read signal to RAM
  • Data from memory location referenced by MAR sent down data bus to MDR
  • Data copied to CIR from MAR and split into opcode and operand (Decode)
  • Data Decoded by CU
  • Data executed and placed in accumulator (execute)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

FDE cycle (Write)

A

(after fetching and decoding instruction to write into memory) so this is execute stage :
- Contents of CIR (address) copied to MAR
- Memory address sent down address bus from MAR
- Control bus sends write signal to RAM
- Accumulator data copied to MDR and Data sent down data bus from MDR to memory location in RAM.

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

Von Neumann architecture

A

Von Neumann
- Shared memory location unit/block for data and instructions
- Data and instructions stored in same format
- Single CU follows linear FDE cycle
- Single set of buses for data and instructions
- Used in most modern computers

ADV:
- Simpler design for CU so cheaper to develop
- Backwards compatible as data accessed from memory in same way

DISADV:
- Single bus causes bottleneck which reduces speed of execution of programs.

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

Harvard architecture

A

Harvard :
- Separate memory location units/blocks for data and instructions.
- Each memory unit has own buses.
- Separate control units
- Speed priority over complexity.
-Fixed memory sizes for data and instructions.

Common in embedded processors as :
- instructions fixed size,
- no need for instructions to be changed,
- no need for memory to be shared between data and instructions.

ADV:
- Quicker execution and efficiency - data and instructions can be fetched concurrently as two sets of buses.

DISADV:
- Increased complexity of design
- Data and instructions stored in different formats - compatibility issues

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

Contemporary architectures

A

Make use of many features that make the processor more efficient such as :

Two separate areas of memory…
…one for instructions & one for
data./instructions and data can be
accessed concurrently.

Different (sets of) buses…
… one for instructions & 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.

Use of Cache…
…A small amount of high performance
memory is (next to the CPU) / which stores frequently used data/instructions

Virtual cores/Hyper-threading …
…Treating a physical core as two virtual cores.

Multiple Cores…
…Each core acts as a separate
processing unit.

Onboard Graphics…
…Built in circuitry for graphics processing

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

Pipelining - CPU

A

Pipelining : Concurrent processing of multiple instructions
While one instruction is being decoded the next one is being fetched and previous one is being executed - completing FDE cycle of 3 separate instructions simultaneously.
(Output of process becomes input for next process)

ADV:
- Increases efficiency and speed of execution
- CPU is not idle waiting for next instruction so reduces latency (time for instruction to go through FDE cycle)
- All parts of processor used at any instance of time - register values not idle

DISADV:
- When branching the next instruction to be processed is no longer the next in memory - so must flush the pipeline

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