Instruction Sets and Processors Flashcards
What is the basic setup of von Neumann architecture?
memory and a CPU with registers for PC, IR, and general purpose registers
What is the basic setup of Harvard architecture?
data memory, program memory and a CPU with registers for PC, IR, and general purpose registers
What is the main difference between von Neumann and Harvard architectures?
harvard can’t use self-modifying code, von Neumann can, Harvard allows 2 simultaneous memory fetches, von Neumann doesn’t, Harvard has greater and more predictable memory bandwidth
What is RISC?
reduced instruction set computer, allows load/store, piplinable instructions
What is CISC?
complex instruction set computer, many addressing modes and operations
What are the characteristics of instruction sets?
fixed vs. variable length, addressing modes, number of operands, and types of operands
What is the programming model?
The registers visible to the programmer
What is an example of a register that is not visible to the programmer?
Instruction register (IR)
What are some characteristics that can vary between architecture implementations?
clock speeds, bus widths, cache sizes
True or false: all assembly languages are not one-to-one?
false
What are some basic features of an assembly language?
one instruction per line, labels provide names for addresses, instructions are in later columns, and columns run to end of line
What are pseudo-ops?
assembler directives that don’t correspond directly to instructions
What can pseudo ops usually do?
define current address, reserve storage, hold constants
True or false: there are many versions of the ARM architecture/assembly language?
true
What is the meaning if the N flag is logical one for both logical instructions and arithmetic instructions?
logical: no meaning, arithmetic: bit 31 is 1 meaning it is a neg number
What is the meaning if the Z flag is logical one for both logical instructions and arithmetic instructions?
logical: result is all zeroes, arithmetic: result of op was zero
What is the meaning if the C flag is logical one for both logical instructions and arithmetic instructions?
logical: after shift op, ‘1’ was left in carry flag, arithmetic: result is > 32 bits
What is the meaning if the V flag is logical one for both logical instructions and arithmetic instructions?
logical: no meaning, arithmetic: result is > 31 bits, possible corruption of signed bit
What is endianness?
relationship between bit and byte/word ordering
How is little endian set up?
Bit 31 is MSB, Byte 3 is MSByte
How is big endian set up?
Bit 31 is MSB, Byte 0 is MSByte
How big is a word in ARM?
32-bits
How many bytes can a word be divided into?
4 8-bit bytes
How long can ARM addresses be?
32-bits
What does Address refer to?
byte
True or false: ARM is always big endian?
false, endianness can be set up at power-up
What does ADD/ADC do?
add/add with carry ex: ADD r0, r2, #3 (r0=r2+3)
What does SUB/SBC do?
subtract/subtract with carry ex: SUB r3, r4, r1 (r3=r4-r1)