This is an old revision of the document!
Computer Organization
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 - V. C. Hamacher, Z. G. Vranesic, and S.G. Zaky, Computer Organization, McGraw-Hill, 5th Edition (2002). - G. Kane and J. Heinrich, MIPS RISC Architecture, NY: Prentice Hall (1992). - William Stallings, Computer Organization and Architecture: Designing for Performance, Prentice Hall, 7th edition (2006). - Andrew S. Tanenbaum, Structured Computer Organization, NY: Prentice Hall, 5th edition (2006).
Description
The course lays the conceptual foundation of object-oriented programming. It covers delegation and contracts, encapsulation and API programming, aggregation and the collections framework, inheritance and polymorphism, all from the client's perspective.
Lecture Times
- Section A: Mondays and Fridays, 11:00am - 12:00pm, CSE 111