|
Muhamed F. Mudawar
mudawar@kfupm.edu.sa
Office: Building 22, Room 328, Phone: 4642
Office Hours: SMW 10 am - 12 noon
Syllabus |
Lectures |
Assignments |
Spring 2007
Announcements
Final Exam: Wednesday,
January 23, 7:30 AM, Building 22, Room 119
Check your grades on
WebCT
Extra Lecture:
Saturday, January 5, at 7 PM
Quiz 5: Monday,
January 7 (Single-Cycle Processor Implementation)
Exam II: Saturday,
December 8, 7 PM, Building 24, Room 174
Quiz 4: Wednesday,
December 5 (Performance and Metrics)
Quiz 3: Monday,
November 26 (Integer Multiplication/Division, Floating-Point)
Project I: Postponed
till Saturday, December 1
Exam I: Saturday,
November 3, at 7 PM, Building 24, Room 125
Quiz 2: Monday, October
29 (MIPS ISA and Assembly Language)
MIPS Assembly Project
is posted on WebCT on Monday October 1st
Quiz 1: Wednesday, September 26
(Computer Abstractions and Technology)
No change
in office hours during the holy month of Ramadan
Assistant
Walid Alzu'bi
Email:
zwalidk@gmail.com
Questions related to
assignments and grading should be directed to the teaching assistant
Textbooks
David A. Patterson and John L. Hennessy, Computer Organization &
Design, The Hardware/Software Interface,
Third Edition, Morgan Kaufmann Publishers, 2005. ISBN: 1-55860-604-1.
Robert L. Britton, MIPS
Assembly Language Programming, Pearson Prentice Hall, 2004.
Course Objectives
Towards the end of this course,
students should be able to:
Describe the instruction set
architecture of a MIPS processor
Analyze, write, and test MIPS
assembly language programs
Describe the
organization/operation of integer and floating-point arithmetic units
Design the datapath and control
of a single-cycle processor
Design the datapath and control
of a pipelined processor and handle hazards
Describe the
organization/operation of memory and caches
Analyze the performance of
processors and caches
Academic Honesty
View
important information on academic honesty
Exam
Schedule
Exam 1: Saturday, November 3,
7:00 PM,
Building 24, Room 125
Exam 2: Saturday, December 8,
7:00 PM, Building 24, Room 174
Final Exam: Wednesday,
January 23, 7:30 AM, Building 22, Room 119
Grading
Lab: 20%
Quizzes:
10%
Projects: 20%
Midterm Exam I: 15%
Midterm Exam II: 15%
Final
Exam: 20%
Software
Tools used in Projects
MARS Simulator: runs MIPS-32 assembly
language programs
MARS
homepage
PCSpim simulator: runs MIPS-32 assembly language programs
Appendix A in Patterson and
Hennessy Book
Logisim Simulator:
educational tool for designing and simulating CPUs
Logisim homepage
Manuals
MIPS32 Architecture
for Programmers, Volume I: Introduction to the MIPS32 Architecture,
MIPS Technologies Inc, Revision 2.50, July 2005.
MIPS32
Architecture for Programmers, Volume II: The MIPS32 Instruction Set,
MIPS Technologies Inc, Revision 2.50, July 2005.
MIPS32
Architecture for Programmers, Volume III: The MIPS32 Privileged Resource
Architecture, MIPS Technologies Inc, Revision 2.50, July 2005.
Course
Topics
Week |
Course Topics |
Reading |
1 |
Introduction to computer
architecture, ISA versus organization, high-level, assembly, and
machine languages, components of a computer system, abstraction,
technology improvements, chip manufacturing process. |
Chapter 1 |
2 |
Instruction set design,
RISC design principles, MIPS registers, instruction formats,
arithmetic instructions, immediate operands, bit manipulation,
load and store instructions, byte ordering, addressing modes,
flow control instructions, pseudo-instructions, MIPS
register conventions. |
Sections 2.1 – 2.9
Sections 2.13, 2.15 – 2.18
Sections 3.2 – 3.3
|
3 |
MIPS assembly language programming, tools, program template,
directives, text, data, and stack segments, defining data,
arrays, and strings, array indexing and traversal, translating
expressions, if-else statements, loops, indirect jump, console
input and output |
Appendix A |
4 |
Runtime stack and its applications, defining procedures,
procedure calls and return address, nested procedure calls,
passing arguments in registers and on the stack, stack frames,
value and reference parameters, saving and restoring registers,
local variables on the stack |
|
6 , 7 |
Review of data representation, binary and hexadecimal
addition and subtraction, carry and overflow, characters and the
ASCII table. Integer multiplication,
integer division, floating point representation, IEEE 754
standard, normalized and de-normalized numbers, zero, infinity, NaN, FP comparison, FP addition, FP multiplication, rounding and
accurate arithmetic, FP instructions in MIPS. |
Sections 3.2 – 3.3
Sections 3.4 – 3.6
Sections 3.8 – 3.9 |
8 |
CPU performance and
metrics, CPI, performance equation, MIPS as a metric, Amdahl’s
law, benchmarks and performance of recent Intel processors. |
Chapter 4 |
9 , 10 |
Designing a processor,
register transfer logic, datapath components, clocking
methodology, single-cycle datapath, main control signals, ALU
control, single-cycle delay, multi-cycle instruction execution,
multi-cycle implementation, CPI in a multi-cycle CPU. |
Sections 5.1 – 5.5 |
11 |
Pipelining versus serial
execution, MIPS 5-stage pipeline, pipelined datapath, pipelined
control, pipeline performance. |
Sections 6.1 – 6.3 |
12 |
Pipeline hazards,
structural hazards, data hazards, stalling pipeline, forwarding,
load delay, compiler scheduling, hazard detection, stall and
forwarding unit, control hazards, branch delay, dynamic branch
prediction, branch target and prediction buffer.
|
Sections 6.4 – 6.6 |
13 , 14 |
Cache memory design,
locality of reference, memory hierarchy, DRAM and SRAM,
direct-mapped, fully-associative, and set-associative caches,
handling cache miss, write policy, write buffer, replacement
policy, cache performance, CPI with memory stall cycles, AMAT,
two-level caches and their performance, main memory organization
and performance. |
Sections 7.1 – 7.3
Sections 7.5 – 7.6 |
|