 |
Course Description
Architectures of modern computing systems. Techniques for high-speed computation:
pipelining, vector processing, array processors. General purpose parallel architectures: SIMD
, MIMD and data flow systems and their memory organizations and processor communication.
Prerequisites: Admission to MS in CS program, or consent of department, plus CS 2170
or equivalent.
Course Syllabus
-
Introduction to Technology and Architecture(*)
- Impact of technology on computer architecture
- Evolution of computer architecture
-
Associative Memory (CAM)
- Hardware concepts of CAM
- Lewin's O(n) sorting algorithm
-
Cache Memory(*)
- Basic cache structure
- Set associative caches
- Evaluating Cache performances
- Determining Cache parameters
- Replacement Policies
- Implementing LRU replacement policies
- Detail example of a cache memory system
-
Virtual Memory(*)
- Basic virtual memory structure
- Translation lookaside buffer
- Segment tables
- Replacement algorithms
- Detail example of a virtual memory system
-
Pipeline Techniques(*)
- Principles of Pipelined computers
- Evaluating performance of pipelined computers
- Reservation tables and collision vectors
- Maximizing pipeline performance
- Conditional branches in pipelined computers
- Internal forwarding and deferred instructions
-
Reconfigurable computer architectures
- Reconfigurable busses
- Addition in time O(1)
-
Multiprocessors
- Flynns classification of multiprocessors
-
Vector computers(*)
- Numerical algorithms on a vector computer
- Pipelining in vector computers
- Examples of vector computers, e.g. Cray
- Multiprocessor interconnections(*)
- General purpose multiprocessors, e.g. RP-1, HEP
- Data flow computers
-
RISC computers(*)
- Pipelined structure of the CPU
- RISC characteristics
- Detail example of a RISC computer
(*) This topic is core material to be covered every time the course is taught.
|