CS 150 Computer Organization & ArchitectureTotal Credits: 3 cr Course Coordinator: Bob Rinker URL: http://www2.cs.uidaho.edu/~rinker/cs150/index.html Current Catalog Description: Digital logic and digital systems, machine-level representation of data, assembly-level machine organization, memory system organization and architecture, interfacing and communication, functional organization, multiprocessing and alternative architectures. Prereq: CS 120 Textbook: Introduction to Computing Systems, Second Ed., Patt and Patel, McGraw-Hill, 2004 or equivalent text. References: None. Course Goals: Teach Prerequisites by Topic:
Major Topics Covered in the Course: (duration) (CC 2001 BOK reference)
Laboratory projects (specify number of weeks on each): There are typically 2-3 homework assignments in this class, each of which is expected to take 2 weeks to complete. Late assignments are worth no credit. Estimated Curriculum Category Content:
Oral and Written Communications: : None. Social and Ethical Issues: The class deals with ethics primarily in the context of suspicious marketing practices based on performance metrics or business practices as evidenced by Intel with the division bug in the Pentium processor. A small amount of the class time is devoted to this topic. Theoretical Content: The class covers digital logic, and the students are required to design certain types of circuits based on this knowledge. Students are expected to understand IEEE floating point representation. Students are expected to be able to convert both integers and fractions between different number bases. Machine and assembly language is covered, and students are expected to be able to understand both, as well as convert from machine language to assembly language. Students are expected to understand the theory of CPU design. Students are expected to understand the concepts of temporal and spatial locality, and how this relates to cache design. Students are expected to know the differences between polling and interrupt-based I/O, and be able to explain the differences as well as do calculation based on this. Students are expected to understand how bus systems work. These topics comprise 40% of the course content. Problem Analysis: Alternative CPU designs such as a multi-cycle and pipelined implementation of the MIPS architecture are presented and students must be able to explain the differences between these designs as well as make trade-offs (complexity, performance, and so forth) between them. Memory and caching schemes are presented and students are expected to be able to discuss the differences and trade-offs between various caching schemes (e.g., overhead, search time, and thrashing potential). Various performance metrics are presented, and students are expected to understand and perform calculations based on these metrics. These topics comprise 40% of the course content. Solution Design: The students are expected to design small circuits according to a verbal description or a truth table. The students are expected to design a simple ALU which performs various mathematical and logical operations, given two small (typically 8 bit) binary inputs. These topics comprise 16% of the course content. Course Outcomes: The following list documents the course outcomes and crossreferences them to the BSCS program outcomes. The letter at the beginning of each reference identifies the program outcome supported. The numbers sequentially identify the course outcome for this course. After completing CS 150 a student should:
|