ISA Design Flashcards

1
Q

What is a register?

A

A small, high-speed hardware storage device found in a processor with a fixed size and functionality to fetch and store.

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

What is a general-purpose register?

A

These are used as a temporary storage mechanism; a processor usually has a small number of them and they are usually the size of an integer.

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

What is the instruction pointer?

A

Gives the address of the next function to execute

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

What does orthogonal mean?

A

Each instruction in an ISA performs a unique task without overlapping with other instructions (ARM is, x86 isn’t)

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

What is an operand?

A

Things the CPU can apply operations to

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

In an operation, where can arguments come from and where can results be stored to?

A

This movement can occur between:

  1. Register-memory, where at least one argument comes from memory; this is more expressive and easier than trying to organise register allocation
  2. Register-register, where all operations work between registers and only data transfer operations access memory; this separation of memory access and arithmetic functions makes design simpler
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How many operands can an instruction take?

A

3: add x to y and store in z; both inputs and output are supplied, more memory access required
2: add x to y, changing y; result replaces one input
1: add x to accumulator; all operations modify an “accumulator”
0: replace the two top numbers of the stack by their sum

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

How many bits should a single address refer to?

A
  1. Word addressed, one address for each word; with extra info to refer to specific byte within word
  2. Byte addressed, one address for each byte; lowest address in the word stands for the word
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is endianness?

A

When byte addressing is used and a number is stored in 4 bytes, endianness refers to whether the start of the number is stored in the first or last byte

Big-endian = stored left-to-right, as a human would read, DE=0, AD=1, BE=2, EF=3
Little-endian = stored right-to-left, as a computer would read binary, EF=0, BE=1, AD=2, DE=3
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is an addressing mode?

A

This refers to how an ISA allows instructions to access memory

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

What is meant by the addressing mode “immediate mode”?

A

Where a required value is specified in the instruction itself, used for constants (i.e $42)

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

What is meant by the addressing mode “direct mode”?

A

Where a required value is at a fixed address specified in the instruction, used for global variables

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

What is meant by the addressing mode “indirect mode”?

A

Where a required value is at a fixed address in a register, powerful but can’t perform indexing

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

What is meant by the addressing mode “index mode”?

A

Where a required value is at a fixed address plus index obtained from register

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

What are the advantages and disadvantages of orthogonality?

A

An advantage is that it simplifies code development, however chips may need to be bigger and more complex

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

What are the advantages and disadvantages of having more powerful instructions?

A

An advantage is that fewer instructions are required to do the same thing, but instructions might be/take longer if more operands are needed

17
Q

What is a Complex Instruction Set Computer (CISC)?

A

A computer using an ISA with no orthogonality, has lots of addressing modes and variable-length instructions

18
Q

What is a Reduced Instruction Set Computer (RISC)?

A

A computer using an ISA with orthogonality, many registers and register-register argument movement