COURSE DESCRIPTION Department and Course Number Course Title CS 271 Computer Organization and Operating Systems Course Coordinator Total Credits Mark C. Temte 3.0 Current Catalog Description Introduction to computer systems organization. Organization and functions of hardware components including the central processor, memory, and I/O devices. Operating system components and their function including job control and memory, processor, and device management. Operating system services including command language interface, libraries, and utilities. Hardware support for interrupt processing, virtual memory, and multiprogramming. Examination of representative architectures and operating systems. Textbook Andrew Tannenbaum, Structured Computer Organization (4th edition), Prentice-Hall, 1999. ISBN 0-13-095990-1. References None. Course Goals The objective of this course is to understand the concepts of computer organization at the levels of digital logic, of microarchitecture, of the machine instruction set, and of the operating system. Study includes detailed examination of the central processor, memory, buses, device communication, architectural support for high-level languages, virtual memory, and process concepts. Prerequisites by Topic A first course in programming in a high-level language is assumed to have been taken before this course together with a course in assembly language. Major Topics Covered in the Course (class hours) Binary arithmetic, two’s complement, floating point, and conversion (3 hours) Input/output devices (4 hours) Digital logic: Boolean algebra, gates, combinational and sequential logic (6 hours) Memory design (2 hours) Bus characteristics, design, and interfacing (3 hours) Integration of components into a computer system (1 hours) Design of the CPU and the microarchitecture level (12 hours) Instruction set architecture, data types, instruction formats, and addressing (2 hours) Traps and interrupts (2 hours) Paging and virtual memory (3 hours) Process concepts, multiprogramming, and semaphores (3 hours) Multiprocessing computers (1 hour) Examinations (4 hours) Laboratory projects (specify number of weeks on each) Simulation of two’s complement arithmethic (2 weeks) Simulation of a RISC processor (6 weeks) Estimate CSAB Category Content CORE ADVANCED Data Structures 0 0 Algorithms 0 0 Software Design 0 0 CORE Computer Organization and 3.0 Architecture Concepts of Programming 0 Languages ADVANCED 0 0 Oral and Written Communications Every student is required to submit at least two written reports of typically 10 pages reporting their investigation of an I/O device and reporting the difficulties they have in the second laboratory project. Social and Ethical Issues No significant component. Theoretical Content (course hours) Binary and two’s complement arithmetic (1) Boolean algebra and simplification of Boolean functions (1) The working set for analyzing demand paging (1) Process concepts and semaphores(2) Problem Analysis and Solution design Students perform analysis and design activity on four homework assignments involving digital logic that involve Boolean functions, combinational logic circuits, and sequential logic circuits. Each assignment involves analysis of the problem followed by the design of a solution. The two programming projects also involve analysis of the requirements followed by the design (and implementation) of a solution. Furthermore, about 20 hours of lecture time is devoted to design of computer components, including basic digital logic circuits, memory, buses, a simple computer system, a CPU, and the mircoarchitecture level.