CSE 2021:
Computer Organization
Winter 2008
Instructor: Marvin Mandelbaum
Department
of Computer Science and Engineering, York University
Computers are usually viewed as having a structure organized into several levels, ranging from high-level programming languages such as Java to digital logic circuits. Each level provides specific resources and abstractions for the programmer. The course provides students with the basic understanding of the computers at the low-lying levels of this structure. This includes programming in assembly and machine language, computer organization (CPU, DRAM, I/O, and buses), CPU structure (Datapath and Control), and digital logic. The presentation is centered on performance and covers topics like caching, pipelining, and parallel processing. The course presents theoretical concepts as well as concrete implementations on a modern, RISC processor. The following topics are covered in the course.
1. Computer Organization and Performance
2. Assembly Language Programming (MIPS)
3. Machine Language, SPIM simulator.
4. Data Representation
5. Hardware abstraction through Verilog
6. ALU: Datapath
and Control.
7. Datapath and
Control (Single cycle and multiple cycles).
8. Pipelines
9.
Caches
Text:
J. L. Hennessy and D. A. Patterson, Computer Organization and Design,
Reference Books: arranged in an alphabetical order based on the last
name of the first author
1. V. C. Hamacher, Z. G. Vranesic,
and S.G. Zaky, Computer Organization, McGraw-Hill,
5th Edition (2002).
2. G. Kane and J. Heinrich, MIPS RISC Architecture, NY: Prentice Hall (1992).
3. William Stallings, Computer Organization and Architecture: Designing for Performance, Prentice Hall, 7th edition (2006).
4.
Andrew S. Tanenbaum, Structured Computer Organization, NY: Prentice
Hall, 5th edition (2006).
Enrollment:
Enrollment in COSC2021 is managed by the Computer Science Undergraduate
Office (UGO) CSE 1003 (operating hours posted on the door). Please note that
the professor will NOT be able to enroll you and only the UGO can entertain
such requests on approval from the undergraduare
director and director of the Computer Engineering program.
Update:
The website will be updated on a regular basis. Please visit the WHAT'S NEW
link in the left hand side of the menu for a listing of updates made to the
course home page.
Academic Integrity:
Academic honesty requires that students do not falsely claim credit for the
ideas, writing or other intellectual property of others, either by presenting
such works as their own or through impersonation. Similarly,
academic honesty requires that students do not cheat (attempt to gain an
improper advantage in an academic evaluation), nor attempt or actually alter,
suppress, falsify or fabricate any research data or results, official academic
record, application or document. Suspected breaches of academic honesty
will be investigated and charges shall be laid if reasonable and probable grounds
exist. Please visit the Senate Policy on Academic Honesty for further details.
In case of any broken links or errors, please notify Dr. Marvin Mandelbaum through an email.