Computer Organization and Design

Nikos Bellas


This is an introductory course on the structure and functionality of modern computing systems. The curriculum includes the following topics:


  • Description of the basic organization of a modern computer system
  • Introduction to machine language (assembly) for the MIPS processor
  • Support of functions and procedures in the hardware. Stack memory
  • Representation of integers and floating point numbers
  • Measuring CPU performance
  • Single cycle MIPS CPU micro-architecture
  • MIPS pipelined microarchitecture. Structural, data and control hazards in a pipeline. Data forwarding and pipeline stalling
  • Interrupts and Exceptions
  • Branches and branch predictions schemes
  • Memory hierarchy and caches. System performance with a memory hierarchy. Cache techniques for performance optimizations
  • Virtual memory and virtual machines
  • Main Memory (DRAM) design and organization
  • Basic concepts of parallel computer architectures
  • Data-level parallelism (SIMD)
  • Thread-level parallelism
  • Multicore micro-architectu
Course code: ECE232
Faculty: Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών » Προπτυχιακό