Logic and Architecture Flashcards
What are the two ways we can interpret sequences of bits?
Instructions telling the computer what to do
Addresses identifying particular pieces of memory
Describe the Difference Engine
- Designed by Babbage
- Built 1930s
- Aim : Compute log and trig tables
- Programmed by setting mechanical wheels in positions
Describe the Colossus
- Used in Bletchley Park
- Used valves (vacuum tubes)
- Programmed by plugboard and paper tape
Describe IBM 407
- Accounting machine, used in 1949
- Programmed by manual writing of control panel
What made the EDVAC a big step for computers?
Same storage can be used for numbers and instructions to say what do to do with the numbers
State the steps in the fetch execute cycle
- Load data from memory address in ip (instruction pointer)
- Adjust ip to refer to next instruction
- Control unit decodes data as an instruction
- Instruction is carried out by ALU
- (some instructions may change ip)
What does the CPU consist of?
Registers
ALU
Control
Instruction Pointer
What is Instruction Set Architecture?
Set of instructions actually understood by the CPU (Their encodings into bits and their meanings)
How many implementations can a single ISA have?
Multiple
What lasts longer ISAs or CPU hardware designs?
ISAs
Describe assembly language
Text representation of individual instructions, very low level and totally ISA specific
What are some features that are present in assembly language?
- Conditional branches
- Unconditional branches
- Labels
- Data moves
- Arithmetic
- Some support for subroutines
What are some features that are not present in assembly language?
- Loop and conditional constructs
- Method call and return
- Variable names
- Data types
State the function of a compiler
Converts high level program into low level instructions for a specific machine, not usually needed at run time
State the function of an interpreter
Program that reads a high level program and carries it out. Done at run time.
What does a linker do?
Combines object code files together to make an executable program that can actually run.
What does a loader do?
Loads programs and libraries into memory to prepare them for execution.
What are the key issues in ISA design?
- Registers
- Operands
- Memory addressing
- CISC vs RISC designs
Describe a register
- very fastest form of memory
- only form of local variable you have in assembly language
State some types of registers
- General Purpose Registers
- Floating Point Registers
- Instruction Pointer
- Flags
Describe General Purpose Registers
- store one word and are used in integer operations
- most versatile and common type
- typically a small number
What part of the general purpose registers allows for backwards compatibility?
Often possible to use part of a register to access smaller units
What does it mean for an ISA to be orthogonal?
If each instruction performs a unique task without overlapping with other instructions
State a critical ISA design decision
Where arguments can come from and where results are stored to