CSE 2021: Computer Organization
Winter 2008
Instructor:
   Marvin Mandelbaum

URL: http://www.cse.yorku.ca/course/2021Z
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, San Francisco, CA: Morgan Kaufmann Publishers Inc., 3rd Edition (2005). ISBN # 1-55860-604-1.

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.