CENG 311
Computer Architecture
Basic computer organization concepts. Instruction set architecture. Assembly-level programming. Processor design. Pipelining. Data and control hazards. Memory hierarchy and cache. Parallelism and system performance.
LECTURES & LABS
Lectures: 3 hours each week
Lab sessions: 2 hours each week
OBJECTIVE
To equip students with fundamental knowledge of computer organization and design.
1. Understand basic computer organization concepts.
2. Design and implement assembly-level programs.
3. Understand processor design and instruction execution.
4. Design and implement a single-cycle processor using HDL.
5. Understand memory hierarchy and cache.
6. Evaluate system performance.
LEARNING OUTCOMES
1. Ability to design general-purpose and application-specific microprocessors
2. Ability to demonstrate experience in microprocessor implementation and testing
3. Ability to program in assembly language
TEXTBOOK
Computer Organization and Design: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design), 5th Edition, by David A. Patterson, John L. Hennessy.
| Week | Lecture Topic |
| 1 | Intr. to comp. tech. |
| 2 | MIPS assembly (instruction set) |
| 3 | MIPS assembly (loops) |
| 4 | MIPS assembly (procedure calls) |
|
5
|
MIPS assembly (machine language) |
|
6
|
Computer arithmetic |
|
7
|
Processor (datapath) |
|
8
|
Processor (control) |
|
9
|
Pipelining
|
|
10
|
Data and control hazards |
|
11
|
Memory hierarchy and cache |
|
12
|
Cache design |
|
13
|
Parallelism |
|
14
|
System performance |


