ECE238: Topics Covered
This is tentative, serving currently as notes to myself as I sort out what we will cover and when --John
Prerequisites
- fluent with bases, especially base 2 and 16
- understand boolean logic
- ability to design digital gates to implement digital logic
- fluent with flow charts
- fluent in at least one computer programming language
CPU Architecture
basics
- stored program
- fetch-execute loop
- timing (instruction, processor)
- T states
- M cycles
- three bus architecture
processor types
- single/parallel
- CISC/RISC
- DSP
- microprocessor/microcontroller
computer languages
- high-level/low-level
Assembly Language
- registers
- PC, SP, A
- flags
- addressing modes
- direct
- register addressing
- immediate addressing
- register indirect addressing
- relative addressing
- indexed addressing
- Instruction groups
- LD group of instructions
- Exchange group
- The stack, POP and PUSH
- Arithmetic
- Jumps calls and returns
- And or and xor
- Bit set reset and test
- Rotate and shift
- General arithmetic and control
- Block transfer and search
- Input and Output instructions
- Interrupts
Gameboy Architecture
- Processor
- Memory architecture
- I/O and carts
- boot sequence
- modes: low power, stop, halt
- video
- tiles
- background
- window
- sprites
- sound
- interrupts
- timer
- I/O registers