7. How are registers used in computer systems?
What is the purpose of the program counter?
What is the purpose of the instruction decoder?
What does “ALU” stand for? What is its purpose?
Compare and contrast the type of computer
language used versus the ease of generating code
and the control of timing.
Which register of the CPU holds the address of the
instruction to be fetched?
Which section of the CPU is responsible for
performing addition?
What is the largest hex value that can be moved
into an 8-bit register? What is the decimal
equivalent of the hex value?
7
8. 1 clock cycle modes
◦ Inherent – no operand
◦ Indexed – operand address in register
2 clock cycle modes
◦ Immediate – 8 bit constant follows
◦ Direct – 8 bit operand address follows
◦ Relative – 8 bit operand address offset follows
3 clock cycle modes
◦ Immediate – 16 bit constant follows
◦ Extended – 16 bit operand address follows
8
9. High level language
◦ lightCtr = 0; // reset the counter
◦ err = OS_ERR_Q_EMPTY;
Assembly language
◦ LDAB #$12 ;load 12H into B
◦ LDAA source ;copy source to reg A.
Machine language
9
10. Can a microcontroller programmer
make up new addressing modes? Why
or why not?
Compare and contrast the different
addressing modes available in most
microprocessors.
True or false. HCS12 instructions using
extended addressing mode are 3-byte
/3-clock cycle instructions.
10
11. von Neumann
◦ One data bus
◦ One address bus
Harvard
◦ Two data busses
◦ Two address busses
Direct Memory Access (DMA)
Microcontroller (e.g. PIC795, HCS12)
◦ Harvard internally
◦ Von Neumann for add-ons
◦ Separate ports for I/O
◦ Sets of “shadow” registers
11
12. High level versus assembly
Instruction size
Clock cycles per instruction
Number of registers
Register vs memory operations
12
13. Compare and contrast the Harvard and von
Neumann architectures in terms of the use of
address and data busses to fetch code and data.
Which architecture is most commonly used by
microcontrollers internally and why? Externally?
What do RISC and CISC stand for? Compare and
contrast the size of instructions in each.
Which of the following operations do not exist
for the ADD instruction in RISC?
(a) register to register
(b) immediate to register
(c) memory to memory
13