What are the 4 computer system components? correct answers 1) Processor
2) Main Memory (RAM)
3) External Devices (like I/O)
4) Interconnection Network (communication medium, uses shared buses)
Harvard Architecture correct answers Instruction memory and data memory are stored separately
Von Neumann Architecture correct answers Instruction memory and data memory are stored
together
How many addressable locations if k is the address size? correct answers 2^k
Big endian correct answers Starts with the Most Significant Byte (Big byte)
Little endian correct answers Starts with the Least Significant Byte (Little byte)
Program Counter correct answers Holds the address of the current instruction
Instruction Register correct answers Holds the current instruction to execute
Conditional branch correct answers Changes the PC to a specific address if a condition is true
Unconditional branch correct answers Always changes the PC to a specific address
Decoder correct answers Receives an input number and spits out a one hot encoded output with a
1 at the position of the input number
How many CMOS transistors for a NAND gate? correct answers 4
How many NAND gates for a flip flop? correct answers 6
How many CMOS transistors for a flip flop? correct answers 24, but can be optimized to 20
Memory bit cell correct answers Two not gates and sense/write circuit; only 4 transistors per bit
instead of 20 like a flip flop
Structure of RAM correct answers a single decoder that addresses a memory cell bit. Columns of
cells share a sense/write circuit, and each row shares a decoder line. It's a big rectangle!
How to detect overflow for unsigned arithmetic? correct answers Carry out bit
How to detect overflow for 2's complement arithmetic? correct answers if both summands have
the same sign, and the sum has a different sign than that of the summands (ie 0 0 1 or 1 1 0)
, logical vs arithmetic shift correct answers Logical: pad with 0s
Arithmetic: extend sign bit
Do a sketch of the datapath, including all registers, reg file, alu correct answers See notes
Draw the "Finite State Machine With Branching" as seen in lecture correct answers See notes
Instruction Set Architecture (ISA) correct answers The ISA, The ISA, or programming model,
consists of the instruction set, information about how memory is organized, how to access
memory, etc.
Is memory in ARM byte-addressable or word addressable? correct answers Byte addressable!
Is memory in ARM big endian or little endian? correct answers Little endian!
Register 15 in ARM correct answers Program Counter
Register 14 in ARM correct answers Link Register
Register 13 in ARM correct answers Stack Pointer
Draw the partition of the 32 bit instructions in ARM correct answers See notes
What does the MOVT Rd, #Imm16 instruction do? correct answers MOVes top: moves a 16-bit
constant into the high-order 16 bits of Rd and leaves the lower bits unchanged
Why is MOVT useful? correct answers It is useful for moving constants that are larger than 16
bits. We can do 2 in a row to store 32 bit constants
What does the BIC Rd, Rn, Op2 instruction do? correct answers BIt Clear: Rd <-- Rn AND
NOT(Op2)
What does the ROR Rd, Rn, Op2 do instruction do? correct answers It rotates Rn to the right by
Op2 bits CIRCULARLY!
What does the MLA R2, R3, R4, R5 instruction do? correct answers R2 <-- (R3 * R4) + R5
What does the UDIV R0, R1, R2 instruction do? correct answers R0 <-- R1 / R2, R1 and R2
unsigned
What does the SDIV R0, R1, R2 instruction do? correct answers R0 <-- R1 / R2, R1 and R2 are
signed
Register Indirect addressing correct answers [Rn], EA = Rn
Immediate Offset addressing correct answers [Rn, #offset], EA = Rn + offset