Chapter 4 - Processor Fundamentals Flashcards

(56 cards)

1
Q

What is the Von Neumann model?

A
  • a model outlining how the computer memory, input/output devices and processor all work together
  • makes use of the shared program concept, a CPU, registers, and the ability to access memory directly
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the shared program concept?

A
  • both program instructions and data are stored in the same memory and are processed by the fetch-execute cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are registers?

A
  • extremely fast and small temporary memories in the CPU that hold data, instructions, and addresses used by the CPU during the fetch-execute cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between general purpose registers and special purpose registers?

A
  • general purpose registers can store any data the CPU is currently working on, whereas special purpose registers has a dedicated role within the operation of the CPU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

PC register

A
  • program counter
  • holds the memory address of the next address to be processed
  • increments by 1 during f-e cycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

MAR

A
  • memory access register
  • holds the memory address of where data and instructions are to be fetched from memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

MDR

A
  • memory data register
  • stores the data/instruction that has been fetched from the memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

CIR

A
  • current instruction register
  • stores the instruction the CPU is currently processing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

ACC

A
  • accumulator
  • stores the results of any arithmetic calculations that have taken place in the ALU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

IX

A
  • index register
  • stores a value to be added to base addresses so the CPU can access memory locations more efficiently
  • used for indexed addressing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

SR

A
  • status register
  • stores flags of individual bits that reflect the outcome of CPU operations
  • helps the CPU to make decisions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Carry flag (C)

A
  • set to 1 if there is a CARRY following an addition operation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Negative flag (N)

A
  • set to 1 if the result of a calculation yields a negative value
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Overflow flag (V)

A
  • set to 1 if an arithmetic operation results in an overflow being produced
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Zero flag (Z)

A
  • set to 1 if the result of a calculation is equal to 0
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the ALU and its purpose?

A
  • arithmetic logic unit
  • carries out arithmetic and logic operations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the CU and its purpose?

A
  • control unit
  • manages execution of instructions in sequential order
  • synchronises the actions of other components of the CPU
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the purpose of the system clock?

A
  • sends out regular pulses to synchronise all CPU operations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the IAS and its purpose?

A
  • immediate access store
  • main memory where instructions and data needed by the CPU are temporarily stored
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What are buses?

A
  • parallel set of wires connecting components within the CPU and wider computer system through which data and signals are transmitted from one component to another
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Address Bus

A
  • unidirectional, transmits addresses from CPU to memory and i/o devices
  • transmits the memory address the CPU wants to read from/write to
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Data Bus

A
  • bidirectional
  • carries data/instructions between CPU, memory and i/o devices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Control Bus

A
  • bidirectional
  • carries commands and control signals to manage the flow of information and synchronise operations
24
Q

Multicore CPU

A
  • CPU with more than one core
  • allows for parallel processing, meaning that multiple instructions can be processed at the same time
25
Clock speed
- measures how many state changes happen per second
26
What is the purpose of the clock?
to control the timings of the operations in the CPU
27
Cache
- primary storage memory areas located close to the CPU that store frequently accessed data and instructions
28
Bus width
- number of bits a bus can carry at once
29
List some factors that affect system performance and why
- number of cores: more cores = better system performance as multiple instructions can be processed at the same time, meaning overall faster instruction execution time - clock speed: higher clock speed means the CPU can execute more instructions per second, improving system performance as the computer can run tasks more quickly and efficiently - number of cache: more cache = more data and instructions stored nearby the CPU = less time waiting for data from RAM - wider bus width: more data can be moved in the same amount of time, so faster processing of data and more efficient memory access - amount of RAM: more currently running data and instructions can be stored without needing to use virtual memory and having to fetch from secondary storage first, which has a slower access time
30
USB
- universal serial bus - widely used standard for transmitting data between devices - operates asynchronously - USB-C: latest standard, known for its small size, transfer speeds, and its ability to carry power
31
Asynchronous data transfer
- method of data transfer where devices do not need a shared clock, allowing them to send data independently when they are ready
32
What happens when a device is connected to a USB port?
- the computer automatically detects that the device is connected - the device will then look for the correct driver - if the driver is already installed, it is loaded so that the device can communicate with the computer - if the device is new, the computer will look for an appropriate driver - if one cannot be found, the user must download and install a driver manually
33
HDMI
- digital port that sends both video and audio output from a computer to HDMI-enabled devices - uses digital signals - provides faster and higher bandwidth for widescreen format, higher resolution, faster refresh rates, and wider colour range - uses HDCP (high bandwidth digital content protection) to help prevent unauthorised copying of protected content
34
Describe the process of HDCP
- devices check for an authentication key before sending data - if the device is authenticated, a "handshake" occurs and data is transmitted
35
VGA
- video graphics array - was the standard for video output but is now outdated - uses analogue signals, so lower image quality over long cables and more likely to experience signal loss or interference - lower resolution, refresh rate, and colour range than HDMI
36
What is the fetch-execute cycle?
- the process that the CPU goes through repeatedly to process instructions - fetch: fetching an instruction from memory - decode: decoding the instruction and then reading and retrieving the required data from their addresses - execute: CPU carries out the required action
37
Describe the fetch stage of the fetch execute cycle in detail, including the registers used for it
- the PC holds the address of the next instruction to be processed - the value held in the PC is copied into the MAR **{MAR <- [PC]}** - the address in the MAR is sent via the address bus to the RAM, and a read instruction is sent to the CPU by the control bus - the data of the address from the RAM is sent to the CPU via the data bus - the data from the data bus is copied into the MDR **{MDR <- [[MAR]]}** - PC is incremented by 1 **{PC <- [PC] + 1}**
38
Describe the decode stage of the fetch execute cycle in detail, including the registers used for it
- the data from the MDR is copied into the CIR **{CIR <- [MDR]}** - the CIR splits the instruction into opcode (operation) and operand (data/address) - the instruction is sent to the CU, which decides what to do next
39
Describe the execute stage of the fetch execute cycle in detail, including the registers used for it
- the control unit executes the instruction in the CIR by performing the opcode on the operand - any processed data will be stored in the accumulator or memory location
40
What are interrupts?
- a signal to the processor that stops its current task and performs a different task temporarily - forces the processor to suspend the current program execution and transfers control to an ISR
41
What are some types of interrupts?
- timing signal - input/output processes - a hardware fault - user interaction - a software error that can't be ignored
42
Identify 3 causes of a software interrupt
- dividing by 0 - going outside the bounds of an array - stack overflow
43
Describe the interrupt process
1. interrupt controller detects an interrupt and passes it on to the interrupt handler 2. interrupt handler decides if the interrupt needs to be dealt with now or later; if it has to be dealt with immediately, the current contents of the registers are saved in memory 3. the processor fetches the appropriate interrupt service routine from a lookup table 4. the processor transfers control to the ISR and executes the routine to handle the specific interrupt 5. after the ISR is done executing, the contents of the registers are restored and the fetch-execute cycle is resumed
44
What is an instruction set?
- list of all the commands that can be processed by a CPU - each command has a binary code - in assembly language the binary code is written as a mnemonic and split into an opcode and operand
45
Single pass assembler
- puts the machine code instructions straight into the computer memory to be executed
46
Double pass assembler
- first pass: assembler scans each line and assigns memory addresses to labels but does not translate the instructions yet - second pass: assembler replaces labels with their corresponding memory addresses and outputs machine code
47
What are the 5 categories of instructions for assembly language?
- data movement - input and output of data - arithmetic operations - unconditional and conditional operations - compare instructions
48
What is an addressing method?
- a way in which an instruction in assembly language or machine code can access data stored in memory
49
What is immediate addressing?
- the operand represents the value that the instruction utilises - ADD #27
50
What is direct addressing?
- the operand corresponds to the memory location where the value needed for the instruction is stored - ADD COUNT
51
What is indirect addressing?
- the operand is an address which holds the address where the value needed for the instruction is stored - ADD[COUNT]
52
What is indexed addressing?
- the operand is an index or offset added to a base address in the index register to access a specific memory location - ADD 17
53
What is relative addressing?
- the operand is an offset relative to the current instruction address - JMP + 5
54
What is arithmetic binary shift?
- moves bits but preserves the sign bit - used for signed binary numbers in two's complement - left shift same as logical left shift - right shift: shift right, copy the MSB into the new leftmost bit
55
What is cyclic binary shift?
- rotates the bits around so that no bits are lost and no 0s are added - the bits that should be discarded are reused at the other end
56
What is cyclic binary shift usually used for?
- bit rotation - encryption - checksums