Other Instruction Sets Flashcards

1
Q

What type of machine was EDSAC?

A

Accumulator machine

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

What is a disadvantage of accumulator machines?

A

Huge memory churn since every instruction reads/writes data from/to memory, because there is no cache or other registers

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

What was missing from the EDSAC instruction set?

A
  1. Subroutines
  2. Interrupts
  3. Virtual memory
  4. Rich I/O
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How do accumulator machines work?

A

The accumulator is the only register, so there is one value in the CPU to manipulate and everything else is in memory

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

What type of machine was the Cray-1 supercomputer?

A

Vector machine

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

How do vector machines work?

A

Instructions operate on a vector of operands simultaneously

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

Describe the Cray-1 ISA

A

Different instructions for arithmetic and register operations
Different vector and address registers

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

What features was Xerox Alto the first computer to have?

A
  1. GUI
  2. Mouse
  3. Ethernet
    4 Laser printer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What type of ISA is Intel x86?

A

CISC

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

What characterises a CISC ISA?

A

Variable length instructions that are complex to decode, often decoded into micro-operations that are similar to RISC instructions
Many registers are special purpose

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

What type of ISA is ARM?

A

RISC

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

Describe the Java bytecode ISA

A

Instruction set focused on portability
Has variable length instructions - first byte is opcode, next n bytes of operands

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

What type of machine is the Java bytecode ISA executed on?

A

Stack-based machine

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

Describe a stack-based machine

A

Operand stack is used instead of registers, values are pushed and popped from the stack
Top of stack is dependency for most instructions, can limit instruction level parallelism
Hidden registers for PC, stack pointer etc.

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

Describe the HeartBleed bug

A

SSH protocol - client and server send ‘heartbeat’ messages to confirm they are still alive. Server never checked to see if it was overflowing out of buffer that stores word requested by client, so would send buffer contents and the next x bits in memory, which could contain sensitive information

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

How could the HeartBleed bug have been prevented?

A

Use hardware (CHERI processor) to dynamically check bounds and guarantee pointer integrity and provenance

17
Q

What is the solution to both HeatBleed and reducing the attack surface?

A

CHERI
Application-level least privilege

18
Q

What is CHERI?

A

Processor technology to improve security. Software compartmentalisation decomposes software into isolated compartments that are delegated limited rights. Able to mitigate unknown and as-yet undiscovered vulnerabilities

19
Q

Which 2 principles does CHERI help to uphold?

A
  1. Principle of intentional use
  2. Principle of least privilege
20
Q

What is the principle of intentional use? How does CHERI uphold it?

A

Ensure the software runs the way the programmer intended, not the way the attacker tricked it
Upheld using guaranteed pointer integrity and provenance, efficient dynamic bounds checking (compiler encodes bounds and permissions information)
This automatically mitigates buffer-overflow attacks

21
Q

What is the principle of least privilege? How does CHERI uphold it?

A

Reduce the attack surface
Upheld using software compartmentalisation

22
Q

What is the new type CHERI adds?

A

The Capability

23
Q

What is a Capability?

A

Bounds checked pointer with integrity, held in memory and registers

24
Q

Draw a diagram of a Capability and how it is stored in virtual memory

25
What new instructions does CHERI add?
Memory access - loads and stores via a bounds checked capability, exception if address is out of range Guarded manipulation of capabilities - decrease bounds, decrease permissions so capabilities cannot be created/forged
26
What is a sealed capability?
None dereferencable capabilities, which have to be unsealed (eg. inside a compartment) before use
27
Draw a diagram of a sealed capability
.
28
What are sealed capabilities used for?
Compartmentalisation
29
Draw a diagram of calling a compartment
.
30
What call is used to call a compartment in CHERI?
CCall
31