Learning Outcomes
This course is intended to provide
• An understanding of the underlining principles and the
organization of computer hardware
• A foundation for students to better understand how
software interacts with hardware
• Basic knowledge on how to design the control and data
path hardware for a MIPS‐like processor
• Basic knowledge on instruction pipelining
By the end of the course the student should be able
• To understand the internal organization of the processor
hardware, memory and their interconnecting bus as seen
from the machine language programmer
• to translate simple high level language programs to
machine level programs
• to make or change functions of machine instructions by
modifying the control and data path hardware
Course Content (Syllabus)
Computer Abstractions, Operations of Computer Hardware,
Instruction Set, Representing Instructions in Assembly Language,
Addressing, Arithmetic for Computers, Processor, Datapath,
Control Unit, Microprogramming, Pipelined datapath, pipelined
control, Exceptions, Memory Hierarchy, Basics of Cashes, Busses
and Connections between Processor, Memory and I/O, Interfacing
I/O devices to Processor and Memory.
Course Bibliography (Eudoxus)
David A. Patterson, John L. Hennessy, "Οργάνωση και Σχεδίαση Υπολογιστών-Η Διασύνδεση Υλικού και Λογισμικού", Τέταρτη Αμερικανική Έκδοση, Εκδόσεις Κλειδάριθμος, Αθήνα, 2006