• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/41

Click to flip

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
like load word n+$gp

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