Computer Architecture Flashcards

1
Q

What is an instruction set?

A

The interface between the hardware and the software

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

List four different types of ISAs

A
  1. Accumulator based ISAs
  2. General purpose register ISAs
  3. Reduced instruction set computers
  4. Stack based ISAs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Describe the architecture of a reduced instruction set computer

A

It has a small number of instructions which all have a common format and all of these instructions apart from LOAD and STORE operate on the registers. LOAD and STORE transfer information to and from memory.

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

How many clock ticks does an instruction take to execute in a RISC?

A

Typically 1 clock cycle

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

WHat is the opposite to a RISC computer?

A

A Complex Instruction Set Computer

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

What is the principle behind a stack based ISA?

A

Instructions are stored in a stack and only the first element in the stack can be manipulated using push or pop

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

What is MIPS 1 ISA?

A

An influential instruction set

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

What are the three categories of instructions in a MIPS 1 ISA?

A

Arithmetic and logic instructions, data transfer instructions, and control transfer instructions

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

What type of form is a MIPS 1 ISA?

A

A RISC form ISA

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

What does MIPS32 mean?

A

There are 32 registers each of which has 32 bits

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

What is 1 downsides to MIPS1 ISA?

A

There is no floating point capability

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

How are instructions stored in MIPS1 ISA?

A

6 bits for the operation class
5 bits for the first source register
5 bits for the second source register
5 bits for the destination register
5 bits for a shift operation
6 bits for the functions in class

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

What is the default ‘mode’ of the PC?

A

Sequential execution

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

Describe the concept behind a multi stage fill adder with ripple carry

A

We can connect multiple adders together to allow the carry from the original adder to flow to the next one but this is too slow

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

What is a carry-select adder?

A

Carry select adders split multi stage ripple carry adders into two so that the addition of lower value and upper value bits are executed simultaneously

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

What are status flags?

A

Contained in a flags register

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

What are status flags for the ALU?

A
  1. Zero flag checks whether all of the outputs are 0
  2. The negative flag checks the value of the MSB to determine if a number if negative
  3. The overflow flag checks for overflow by using negative flags
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the two types of volatile memory?

A

Static and dynamic

19
Q

Difference cost and efficiency of static and dynamic memory

A

Dynamic memory is slower and cheaper
Static memory is faster but more expensive

20
Q

Uses of static memory

A

Registers and cache, fast but small so not too expensive

21
Q

What does the address decoder do?

A

Maps a linear address provided by the processor to a specific location on a specific memory chip

22
Q

Difference between big endian and little endian

A

Big endian stores the MSB in the lowest memory address
Little endian stores the MSB in the highest memory address

23
Q

What type of logic does static memory use as opposed to dynamic

A

Static memory uses sequential logic where as dynamic memory uses combinatorial logic (Boolean)

24
Q

What is sequential logic?

A

The outputs from sequential logic are based on the inputs and outputs meaning that you have a feedback loop

25
Q

Give an example of sequential logic

A

Flip-flops

26
Q

Describe an S-R flip-slop

A

The flip flop has distinct SET and RESET inputs and consists of several NAND gates. But it is limited to only SET and RESET inputs

27
Q

What is the master-slave flip-flop?

A

It consists of two D-type flip-flops the first being the master and the second being the slave. The output of the slave can only be read if the output enable is high which ensures that data is read being it is overwritten

28
Q

Describe how a master-slave flip-flop works

A

The master side acts like a latch and pulses high allowing the data signal to be stored in the master side and the slave side is untouched. When the signal returns to low the data in the master flip-flop is transferred to the slave where it is then controlled by the output enable

29
Q

How can we split data busses up?

A

Internal and external

30
Q

What is the correct way to reference the MBR?

A

MDR - memory data register

31
Q

What are the two ways of executing the fetch-decode-execute cycle?

A

Using FSMs or microcode

32
Q

What does a FSM do?

A

A FSM consists of hard wired sequential logic which are high performance but expensive and hard to evolve

33
Q

What is microcode?

A

A sequence of microinstructions that are contained in micro-memory, it is much more flexible than a FSM as it is not hard-wired but it is slightly lower performance

34
Q

What is pipelining?

A

Pipelining is a way to speed up the execution of the fetch-decode-execute cycle by exploiting inherent parallelism and running multiple instructions at the same time as they will not all need to use the same sub-component of the processor at the same time

35
Q

What are the three types of pipeline hazards?

A
  1. Control hazards when a control-transfer instructions changes the flow of execution from being sequential
  2. Data hazards when instruciton n depends on the result from n-1 so it needs to be executed first
  3. Structural hazards when two parts of the pipeline needs to use the same hardware
36
Q

How do we fix a pipeline stall?

A

When a pipeline hazard occurs the pipeline stalls so we must flush it which costs us a lot of time

37
Q

What are the two main problems with connecting I/O devices?

A
  1. The speed gap challenge where the two processors are running at different orders of magnitude faster or slower
  2. The diversity challenge because peripheral devices are extermely diverse and they all have different ways of performing different instructions
38
Q

How do we solve the speed-gap problem?

A

The device driver acts like a middle man. The device driver is a software plug in

39
Q

How do we soolve the diversity problem?

A

Devcie drivers abstract the diversity of the peripherals by grouping devices that are essentially the same

40
Q

FUnctions of a device driver

A

Registering the device with the OS and initialising it
Initiating data transfers to and from the device
Monitoring status events from the device
Managing device/suystem shutdown

41
Q

What is the traditional two fold classification of device type

A

Character devices which send and receive one byte at a time
Block devices which send and receive multi-byte blocks at a time

42
Q

How does a hard disk store information?

A

The information is stored in tracks which are then split into sectors, these sectors are stacked to form cylinders and cylinders are then grouped into heads

43
Q

What does an isolated I/O do?

A

Provide physical pins for the connection of the I/O device and dedicated instructions for doing I/O operations, better for simple devices as you can achieve diversity

44
Q

What does a memory-mapped I/O do?

A

It has a device that sits within the CPU/s linear memory address space