Course content:

- 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.
- 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.
- Advanced topics: Multicore processors, Cache Coherence, Out-of-Order execution, Hardware Multithreading, GPGPU's.

Keywords:

- Computer Organization
- Computer Architecture
- Assembly Programming
- Processor Datapath Design
- Introduction to Pipelining
- Cache Memory Introduction
- Virtual Memory Introduction
- Computer Peripheral Device Communication

Last modified: Wednesday, 5 November 2014, 11:38 AM