Modern Topics in Computer Architecture

Course Code: 
Credit Points: 

Course Outline

Α. Lectures and Tutorials

 Data path and control unit design:

  • single-cycle implementation
  • multi-cycle implementation


  • Organization
  • Performance
  • structural, data and procedural hazards
  • hazard solution techniques
  1. NOP instructions
  2. pipeline stages stall
  3. bypassing
  4. delayed branch instructions
  5. branch prediction techniques
    • static prediction techniques
    • dynamic prediction techniques
  6. Pipeline data path design

 Cache memory:

  • fetch policie
  • organization
  • replacing policies
  • update policies

 Virtual memory:

  • Implementation
    1. paging (single level page table, multilevel page table, inverted page table)
    2. segmentation
    3. segmentation and paging
    4. Translation Lookaside Buffer (TLB)

 cache memory in the virtual and in the physical space

 Superscalar processors

  • true data dependencies
  • artificial data dependencies
  • register renaming
  • issue rate
    1. in-order issue
    2. out of order issue
  • sequential consistency
    1. weak sequential consistency
    2. strong sequential consistency
    3. reorder buffer

 Very Long Instruction Word, VLIW, processors

 Multithreading at processor level

 Multi-core processors


Β. Laboratory

The laboratory exercises are based on the use of a simulator of a microprogrammable computer, developed in our laboratory, running on a Windows environment. The students have the opportunity to design a machine language instruction set and then to write the necessary microprograms which implement the designed instruction set. After loading the microprograms into the control memory the students can write programs using the machine language, which they have designed and implemented, and run them in the microprogrammable computer.

Startup Growth Lite is a free theme, contributed to the Drupal Community by More than Themes.