Assembly language and machine language;
example: a subset of these languages for a RISC processor.
Elementary Assembly programming:
if-then-else, loops, arrays, pointers,
run-time stack, procedure call.
Introduction to current processor implementation technology.
Processor implementation using
registers, multiplexors, adders, ALU's,
memories, combinatorial logic, and FSM:
datapath and control unit design, interrupts-exceptions.
Quick introduction to pipelining.
Introduction to processor performance.
Memory System:
introduction to cache memories, virtual memory,
user-kernel mode, system call, protection.
Peripheral devices
and their communication with the central unit:
memory-mapped I/O, polling, interrupts, DMA,
buses, master, slave, arbitration.
Brief mention of parallel processors.
Exercises include:
Assembly programming on the SPIM simulator
of the MIPS architecture;
a design and simulation project
of a subset of the MIPS processor at the register transfer level
using the Verilog hardware description language.
Book:
D. Patterson, J. Hennessy:
"Computer Organization & Design: the Hardware/Software Interface",
2nd Edition, 1997, Morgan Kaufmann Publishers, ISBN 1-55860-428-6,
chapters: 1, 3, 5, 7, 8, and a bit of 9.