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;
69 Cards in this Set
- Front
- Back
Stack
|
Something that holds a list of function calls (call frames?)
|
|
word
|
You have to move 2 places in assembly
2 bytes, 4 zeros in Hex |
|
long
|
You have to move 4 places in assembly
|
|
short
|
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
|
|
displacement
|
Use the address indirect mode, then add a constant
Ex: b = 10 b(%a0) |
|
indexing
|
Move by byte. Faciliate the retrival of information
|
|
Address indirect with displacement and indexing
|
address register indirect with displacement and indexing usage:
d(An,Dm.w) 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 |
|
Nor
|
not a and not b
|
|
K map
|
list possibilites, list the ones, make map
For more than 16 entries, make two maps |
|
Register
|
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 |
|
CMP
|
assembly command for 68k
Cmp #5, %d5 beq... |
|
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, << >> |
|
XOR, OR
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 CCR |
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, DEMUX
|
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 and AND
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
|
|
latch
|
something that remembers its value
Don't know what the output looks like yet |
|
flipflop
|
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
oldfp rts variables |
|
allocating space for local variables
in assembly |
link %a6, #-10
|
|
bistable
|
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
|
|
Buffer
|
----->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
|