Study your flashcards anywhere!

Download the official Cram app for free >

  • 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

How to study your flashcards.

Right/Left arrow keys: Navigate between flashcards.right arrow keyleft arrow key

Up/Down arrow keys: Flip the card between the front and back.down keyup key

H key: Show hint (3rd side).h key

A key: Read text to speech.a key


Play button


Play button




Click to flip

69 Cards in this Set

  • Front
  • Back
Something that holds a list of function calls (call frames?)
You have to move 2 places in assembly
2 bytes, 4 zeros in Hex
You have to move 4 places in assembly
one place?
address register
a0---a something, holds addresses, can be used to hold data or address, can use address indirect mode
data register
used to hold data
address direct
treat %a something as a value, like a data register

Maybe revised
effective address
The actual location a data is stored in main storage Several techniques are used to get the effective address: displacement, indexing
Use the address indirect mode, then add a constant
b = 10
Move by byte. Faciliate the retrival of information
Address indirect with displacement and indexing
address register indirect with displacement and indexing usage:
An is base address of the array.
Dm is (word) wide register that provides the byte offset of element from base address.
d is selected to make index of first element 0 bytes away from base address

In c programming, d is always 0
not a and not b
K map
list possibilites, list the ones, make map
For more than 16 entries, make two maps
A special circuit in a CPU, such as an accumulator or program counter that can either hold a value or perform some arithmetical or logical operation.

Or just a location in RAM
assembly command for 68k
Cmp #5, %d5
Test conditions in 68k
bgt, beq, blt
something like that
little endian
if the least significant byte is on the left
big endian
if the most significant byte is on the left
int *a, int *b
In C, meaning the pointer to a and b
swap (&a,&b)
&a and &b are memory addresses of a and b. Are they then pointers?
logical shift left / right
lsl in assembly, lsr
don't know about C
Careful, doesn't take care of negative numbers. May make them bigger?
arithemetic shift left/ right
asl, asr in assembly
in C, << >>
bitwise AND
^ is XOR, and | OR in C (bitwise)
& in C is bitwise AND
1's complement
flip negative
different representations of 0
from -2^n +1 to 2^n - 1 for size n
2's complement
flip negative add 1
one 0
from -2^n to 2^n -1
signed magnitude
greatest bit is sign
range is same as 1's complement, which is

-2^n + 1 to 2^n-1
convert a number to floating point binary
Take digit if 1, times 2, take digit if 1, times 2, all until you see repeat

can't represent 0.1 with finite digits because it repeats in binary
Von Neumann architecture
What is this guy not a part of?
Stored program computers

fetch instruction
write where to go next
execute instruction
move to the next place

Use CPU, memory, and others things to store and perform instructions. Programmable!
phantom one bit
Yeah, what is it?
program counter
says where the program will go next

called PC in the debugger
condition code / status register
lower right hand corner of debugger

Z=Zero, C=Carry, V=oVerflow, X=eXtend, and N=Negative
Address register indirect with predecrement:
-(%a7), that is, -(%sp)
logarithmic gate delay for fan in
In a fan-in-allowed situation, there will be log n gate delay
MUX takes several inputs and produce one output
DEMUX takes one input and addresses and produce several outputs

MUX is lab 6 4.b
DEMUX is the digital lab circuit on the top right
Half adder
XOR for S, AND for C
no carry in
Full adder
String twD o half adders and you get it
Ripple adder
String several full adders and you get it
something that remembers its value
Don't know what the output looks like yet
latch with a clock (really?)
T flip flip
XOR inside
we use it to make a counter
call frame
My guess is the thing about

allocating space for local variables
in assembly
link %a6, #-10
there are two possible signals.
One will be on indefinitely until an external input changes it
flipflops are bistable
JK flipflop
don't have 1,1 problems
when both 1, the output toggles

something more?
T flipflop
simple version of JK flipflop
D flipflop
one input
----->o---->o----- dual inverter type
----->---- true type
When is fan-in allowed?
When only one of the interconnected lines is 1 every time
Tri-state buffer
| (control)
(input) ---->---- (output)
when control is high, acts like buffer; when low, acts like broken wire
Difference between no output and 0
They are different in the case of tri-state buffer
no signal is when the control is off
0 is when the control is on and output is 0
MUX revisited
What does a MUX look like?
input, address, and gate, or gate
what does a DEMUX look like?
input, address, and gates, many outputs
4 X 1 memory
| |
| |
| |
4 is the number of units in the memory
1 is the addressability, the smallest number of bits we can address
The cables connecting a memory
D <------> | |
A <------> x 2 | 4 |
read !write ---> | x |
chip select (cs) --->|_1__|
D cable
The data bus? To transfer values to storage, get a value from it
number of wires is the same as addressability number
A cables
There are log2(n)of them.
selects among n units of memory. Seems like a MUX

select which unit in read/write? what?
read !write cable
looks like a boolean, 1 meaning read, 0 meaning write
chip select
selects the chip
in other words, activates the chip
Draw a 4 x 1 memory
See Teresco's website for answer
Draw a 4 x 4 memory
See Teresco's website for answer
In memory speicification:
4 x 4
What's A and D?
A is the log of left number
D is the right number
Draw a 4 x 8 memory
See Teresco's website for answer
Draw a 1000 x 8 memory
See Teresco's website for answer
The two options of 1000 x 8
Option1 Bank 1: 0 - 3
Bank 2: 4 - 7
Option2 Bank 1: 0,256,512
Bank 2: 1,257,513

1. continguous memory on a bank
2. advantages for chip layout
Draw a 128 x 64 memory
do it
How many cables do you need for a memory
Data lines + Address lines + CS + Re!write
CPU request address lines
if CPU can address bytes?
Address lines + lines needed to pick one byte

16384 x 1024

14 address lines + 10 to pick out a byte = 24 address lines
Why option 2?
Because we want to get the values all at once

Also because we have to implement too many wires in option 1
Parity bit
Make parity bit, use that bit to check if the data still has an odd number of 1's when it is retrieved