Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
41 Cards in this Set
- Front
- Back
RISC |
Reduced Instructions Set Computer |
|
Mips was an acronym for |
microprocessor |
|
CISC |
Complex instruction set computer x86 |
|
ISA design principles |
Simplicity favors regularity smaller is faster make the common case fast good design demands good compromises |
|
General classes of MIBS |
arithmetic operations logical data transfer transfer of control |
|
Why allow constants in MIBS |
Makes the common case fast |
|
Advantages of using registers |
smaller is faster |
|
$zero |
hardwired to be zero |
|
$v0-$v1 |
values for function results(2-3) |
|
$a0-$a3 |
function arguments (4-7) |
|
$t0-$t7 |
temps( |
|
$s0-$s7 |
saved temp |
|
$t8-$t9 |
more temps |
|
.data |
switch to data segment |
|
.text |
switch to instructions set |
|
.space n |
allocate space n |
|
.word n, n1, n2 |
Place n value in space |
|
R format is for |
registers only |
|
I format is for |
loads, stores, branches, and imm |
|
j format |
for jumps and calls |
|
based displacement |
value of referenced register added to imm |
|
R type |
Op is operation funct operation to be operated shamt is used for shifts
|
|
Syscal 1 |
print int |
|
Syscal 5 |
read int |
|
Syscal 10 |
exit |
|
mult destination |
Lo |
|
div |
Lo is / Hi is % |
|
Having all instructions the same size and a reasonable length means having to construct global address and some constants in two instructions |
good design demands good compromises |
|
Big endian |
Writes from left to right |
|
little endian |
writes from right to left |
|
Static data contains: |
global variables static locals variables string and floating point |
|
run-time stack contains |
saved values of callee-saved registers
local variables and arguments not allocated to registers
space for the maxium words of arguments passed on stack to other functions |
|
What does the heap contain |
dynamically allocated data |
|
Translation process |
preprocessing Compiling Assembling Linking Loading |
|
Compiler |
from c program to assebly |
|
assembler |
from assembly to machine |
|
linker |
combine program and libraries(both in machine code) |
|
loader |
load machine program into memory |
|
compilers are responsible for checking |
syntax, semantic checks, and optimizing. |
|
The object file contains |
a header with size and positions data segment text segment relocation info global labels debugging info |
|
Goals when designing an instruction set |
make easy to build processor, compiler, and assembler maximize performance and energy efficiency minimize cost |