Course Description
Course Number / CSCI 4593Course Title / Computer Organization
Semester Hours / 3
Course Coordinator / Manish Vachharajani
Course URL / http://www.cs.colorado.edu/courses/csci4593.html
Current Catalog Description
Studies computer design at the gate level. Discusses microprogrammed and hardwired control units, memory design, arithmetic and logic unit, I/O, and peripheral devices. Briefly covers aspects of modern computer architecture, such as parallel processing and reduced instruction set computers. Prereq., ECEN 2120, 3100. Same as CSCI 4593.
Textbook
One of the following:
· Patterson and Hennessy, Computer Organization and Design, Morgan Kaufmann
· Vincent P. Heuring and Harry F. Jordan, Computer Systems Design and Architecture, Prentice Hall, Upper Saddle River, NJ 2004
References
None
Instructors (for the last 3 years: Fall 2006 — Spring 2009)
Andrew Pleszkun, Vincent Heuring, Manish Vachharajani, Dan Connors, Jones Irvin
Meeting Times (Number and Duration of Sessions per Week)
Three 50 minute lectures per week
Course Outcomes
ECEN 4593 presents the principles, characteristics, and trends of computer systems design at a level appropriate for all computer scientists and computer engineers. It expands on the role of a traditional computer architecture course, focusing largely on the hardware design, to include aspects of the complete system, comprising the hardware, operating system, compilers, and application software.
The intention is to present material that will benefit all computer scientists, even those who are more concerned with software development than with hardware design. By learning more about what is inside "the box," software developers can make more effective use of computers, often achieving dramatic performance gains.
Students will also gain an understanding of the hardware technology that has fueled the rapid progress of computer systems. Since the technology will continue to change and improve, it is important to see how these changes will affect the characteristics of future computer systems.
Relationship between Course Outcomes and Program Outcomes
Outcomes / A.Apply Knowledge / B.
Computing Requirements / C.
Design System / D.
Team Work / E.
Professional Issues / F.
Communicate Effectively
Understanding of Computer Hardware Design / ✓ / ✓ / ✓
Outcomes / G.
Analyze Impacts / H.
Professional Development / I.
Current Techniques / J.
Design Tradeoffs / K.
Design & Development
Understanding of Computer Hardware Design / ✓ / ✓ / ✓
Prerequisites by Topic
Prereq., ECEN 2120, 3100. Same as CSCI 4593
Major Topics Covered in the Course
* Introduction, machine classes, ISAs, addressing modes (3)
* RISC ISA, instruction encoding, abstract RTL (4)
* Logic structures in computer design, data paths (2)
* Assembly, assemblers, simulators (1)
* Commercial CISC (3)
* Commercial RISC (2)
* Data Path and control unit implementation, exception handling (4)
* Pipelining, pipeline design, multi-issue machines (5)
* Microcoding (1)
* Number representations, arithmetic, ALU design (4)
* Floating point representation and arithmetic (2)
* Static, dynamic RAM, chips, boards, modules (2)
* Caches, cache design (3)
* I/O HW and SW (2)
* Error detection/correction, SECDED (1)
* Static and dynamic disk drive analysis (1)
* DAC/ADC Design, errors (1)
* Performance analysis (1) Design (RTL) (1)
* Networking, serial, Ethernet, Internet ISO and TCP/IP layer models (2)
* Exams, review (2)
Assessment Plan for the Course
Students are evaluated through periodic homework assignments, 1 or 2 midterm exams, a final exam, and 1 or more projects.
How is Data from this Course used to Assess Program Outcomes?
The instructor retains copies of student homework assignments, midterms, and semester projects. These materials are then evaluated by the department’s external advisory board for examples that demonstrate fulfillment of the program outcomes.
Curriculum Category Content (Semester Hours)
Area / Core / AdvancedAlgorithms
Data Structures
Computer Organization and Architecture / 3
Software Design
Concepts of Programming Languages