| ECE291 |
Computer Engineering II |
Potts, Summer 2000 |
On-Line Lectures Notes
- Lecture 1: Course goals; Course overview; history;
review of binary number systems, 2's complement, and base conversion.
- Lecture 2: Computer System Architecures;
Specifics on the 80x86 (registers, memory, periphials);
Hints for MP0
- Lecture 3: Programming with registers;
Assembly Opcodes; Complex addressing modes.
- Lecture 4: Logical and Shifting
Operations, Math operations. Overflows & carries, flags settings.
- Lecture 5:
Conditional branching; Numerical comparisons;
Mapping loop/branch paradigms to linear code.
- Lecture 6:
Program organization, Assembly and debugging techniques, MASM
directives; On-line examples of ECE291 projects.
- Lecture 7:
Multiplication; Division; MACROs
- Lecture 8:
The stack: Implementation, PUSH & POP operations, direct access,
procedures, recursion
- Lecture 10:
Programming with high-level languages; Combining C with ASM:
(assemble, compile, link, and run)
- Lecture 11:
Floating Point Arithmetic, the x87 FPU
- Lecture 12:
Memory-Mapped I/O, Video I/O Subsystem; Text Mode Video
- Lecture 13:
Table-Lookup Functions, Jump Tables, DOS/BIOS/vBIOS Calls,
Interrupt Vectors, Hash Functions
- Lecture 14:
Interrupt-Driven I/O, Hardware Interrupt Service Routines (ISR's),
Terminate & Stay Resident (TSR) Programs
- Lecture 15:
Interrupt Topics: Timer Demo, Critical Sections, 8259 PIC, Scheduling
- Lecture 16:
Device I/O with Ports: IN/OUT, 8253 Timer, Keyboard,
Parallel Port, Joystick
- Lecture 17:
Pixel-based video graphics,
Mode 13h video,
Efficient string Instructions for fast graphics.
- Lecture 19:
Drawing lines; Bresenham's Line Algorithm.
- Lecture 22:
Bitmap graphic:, PCX files, BMP files, Programming Techniques
- Lecture 22x: PC Sound card, DSP Programming,
FM Synthesis, Mixer Control
- Lecture 22z: Direct Memory Access.
DMA interface to audio hardware.
- Lecture 23:
Computer Networking: Ethernet, TCP/IP, NetBios Programming
- Lecture 24:
Instruction-level parallelism:
MultiMedia eXtensions (MMX), 3DNow, SSE
- Lecture 25: Engineering Ethics (Guest Lecture by Michael Loui)
- Lecture 26 Final Project writeups/demos. Final Exam
- Lecture 27:Hardware Methods for Improving
CPU Performance, Applications of ECE291 knowledge, Where to go
from here..
and the last day of class
Return to ECE291 Home Page