CS6461 Computer Architecture
Fall 2016
Morris Lancaster
Lecture 0 - Administrative
October 7, 2017
Contact Me
Adjunct Prof. Morris S. Lancaster
H: 703 400 6408
email: [email protected]
Teachers open the door.
You enter by yourself.
It is best to contact me by email.
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-2
Adapted from Professor Stephen Kaislers Slides
Purpose
To understand some of the basic concepts and tradeoffs in the design
of modern computer architectures.
This course will review concepts in architecture design, branch
prediction, pipelining, speculative execution, structure of processors.
As this is a Computer Science course, we will focus on understanding
computer architecture from the perspective of the system software
programmer (at an assembly language level).
We are interested in how a machine executes instructions.
From a performance perspective, we will explore what is the
performance impact of s/w and h/w designs; what makes
programs run slowly, what h/w features can speed up the
execution of programs.
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-3
Adapted from Professor Stephen Kaislers Slides
Course Requirements
This course consists of a term paper, a class project, and a final
exam.
1. Class Project 50%
a. Part I 5%
b. Part II 10%
c. Part III 15%
d. Part IV 20% (if applicable)
2. Term Paper 25%
3. Final Exam (2 Hours) 25%
Total 100%
Prerequisites: Programming and Data structures, Discrete
Math, and a basic knowledge of computer organization.
You will be programming in Java; you should have had at
least one programming course (preferably Java)
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-4
Adapted from Professor Kaislers Presentation
Textbooks
Required:
Rampolla, M.L. A Short Guide to Writing in History, 6th.
Ed. St. Martins Press 0312403577
Optional:
Hennessy, J. & Patterson, D. Computer Architecture: A
Quantitative Approach, 5th Edition, Morgan Kaufmann
Note: Rampollas book contains the rules for writing good term papers. A
question from this book may appear on the final exam. When grading
your term papers for spelling, usage, structure, etc., Rampolla will be
used as the key reference. It is strongly recommended that you buy this
book and read it. There is NO excuse for a poorly written paper at the
Graduate Level!!
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-5
Adapted from Professor Stephen Kaislers Slides
Class Notes
Class notes will be on the website. These will be posted to the class
Blackboard site.
The final exam will be drawn from the class notes, the lectures, and
the readings.
The class notes will serve as an outline, but I will provide additional
material during the lectures. Therefore, it is incumbent upon you to
attend every lecture (unless you are ill or on travel for your job) or to
obtain class notes from someone who was physically present (and,
hopefully, awake).
The textbook is supplemental to the lectures. You should read
for absorption and understanding, not for regurgitation.
Other Reading:
Substantial additional reading is required. These papers
will be posted to the class Blackboard site. Others, you
will have to access for yourself at URLs or through
reading articles in technical journals in the library.
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-6
Adapted from Professor Stephen Kaislers Slides
Other Sources
Not required reading, but may be helpful
William Stallings, Computer Organization and Architecture:
Designing for Performance 6th ed., Prentice-Hall, Upper Saddle
River, NJ, 2002
Cragon, H.G. 2000. Computer Architecture and Implementation,
Cambridge University Press, Cambridge, England
Other books on computer architecture available at Gelman Library
For Development of Term Papers
If English is NOT your primary language, I encourage you to
make use of the GW Writing Center,
http://www.gwu.edu/~gwriter/
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-7
Adapted from Professor Stephen Kaislers Slides
Online Sources
Courses
coursera
MIT Open Courseware
Carnegie Mellon
Too Much!!!! There are many others. You find them if they help you!!!
Lecture videos
All over the place. YouTube for example
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-8
Adapted from Professor Stephen Kaislers Slides
Course Policy
It is expected that you will work on your term papers
individually.
It is appropriate, and a good idea, to discuss the work
with other students, but the work you turn in must be
your own.
Read the GWU Academic Integrity Policy!!
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-9
Adapted from Professor Stephen Kaislers Slides
Class Project - I
What we have to learn to do we learn by doing.
Aristotle, Ethica Nicomachea II (ca. 325 B.C)
The bulk of the grade for this course will consist of a class project.
Working in teams of 3 or 4, you will build a simulation of a small-
scale computer system, consisting of central processor, memory,
and some I/O systems.
The team will be graded on their group results. Therefore, it is up
to the team to make sure everyone does his or her fair share.
Do NOT ask me to resolve team conflicts or referee team
disputes. As graduate students, you will need to get along for a
semester in order to achieve a common goal.
The class project will consist of four segments spaced out over
the course of the semester. Each segment will require
approximately 3-4 weeks. The last segment will be submitted at
the time of the final exam (or shortly thereafter).
This is an example of agile programming!
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-10
Adapted from Professor Stephen Kaislers Slides
Class Project - II
The class project will require substantial time outside of the
class room.
The class project is described in a separate handout.
Why this project?
I have taught computer architecture several times. It is my
experience that most computer science students do not really
understand how a computer works.
I feel as a Computer Science Graduate Student you should be
able to explain to anyone who asks the details of how a
computer system, e.g., the central processor and memory and
I/O, operates.
October 7, 2017 Dept. of Computer Science - CS6461 Computer Architecture L0-11
Adapted from Professor Stephen Kaislers Slides