Assembly language and machine language;
example: a subset of these languages for the MIPS processor.
Elementary Assembly programming:
if-then-else, loops, arrays, pointers,
and introduction to the run-time stack and 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.
Introduction to pipelining.
Processor performance, CPI and related equations.
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: The Greek Translation of:
D. Patterson, J. Hennessy:
"Computer Organization & Design: the Hardware/Software Interface",
translated from the
3rd Edition, 2004, Morgan Kaufmann Publishers, ISBN 1558606041:
Chapters 2, 5, 7, 8, and Appendix A.