CS-511: Accelerated Fundamentals of Computer Systems:
Computer Organization
Course Syllabus
© 1999 Charles Abzug
Summary Course Description:
Students learn how a digital computer works through thorough study of the principles of operation of a simple but workable machine. They cover the principal subsystems of a computer, including the central processing unit (CPU), memory, input/output ports, communications bus, and several types of input/output devices (including keyboard and video display terminal). Number systems and various schemes for the digital representation of numbers are also discussed, as well as the principles of digital integer arithmetic, to provide insight into several different ways that arithmetic calculations can be made in digital computers.
The major computer subsystems are surveyed, including the CPU, system bus and subsidiary buses, primary storage (RAM and ROM), and secondary storage (HDD and floppy drives),
Basic electronics is reviewed, in order to convey an understanding of the operation of logic circuits (AND gates, OR gates, NOT gates, buffer gates, XOR gates and XNOR gates) and digital integrated circuits. The types of integrated circuits that are studied include simple combinational logic, such as latches, flip-flops, and registers, combinational logic of intermediate complexity, including multiplexors, demultiplexors, encoders and decoders, and progressing upwards to more highly complex integrated circuits, such as an Arithmetic Logic Unit (ALU), a bus, "Random Access Memory" (RAM) and "Read-Only Memory" (ROM) modules.
Computer operations are introduced, along with the representation of computer operations in an Assembly Language. Implementation of program statements in a Higher Level Language, such as C or C++, is studied through the decomposition of each higher-level language statement into a sequence of machine or Assembly-Language instructions, and some of these are further decomposed into sequences of micro-operations. The operation of major subsystems of the computer is examined through decomposition of a subsystem into an organized set of simpler circuit elements.
Additional critical subjects covered include the principles of hierarchical computer organization, machine instruction sets, addressing modes, CISC vs. RISC, input/output processing, and interrupt handling, as well as the application of many of these concepts to modern personal computers, and the boot process. The student partitions the hard drive on his/her own computer and to install the LINUX operating system into a separate bootable partition on the machine, in addition to the Windows-95/98 or Windows-NT operating system already there, in order to gain deeper insight into the boot-up process and to prepare the groundwork for the study of Operating Systems in the next course.
Required Textbooks and Materials
:
Andrews, Jean (1998). A Guide to Managing and Maintaining Your PC -Enhanced. Second Edition. Cambridge, MA: Course Technology. ISBN 0-619-00064-3.
This book provides a substantial amount of practical information about the IBM PC and compatibles. It covers both hardware and operating software issues, such as the installation of floppy disk drives and hard disk drives and of assorted types of adapter cards, managing memory, installation and basic operating principles of several operating systems, and how to assemble your own PC from components. It is an excellent investment.
Maxfield, Clive Richard; & Brown, Alvin (1997). Bebop Bytes Back: An Unconventional Guide to Computers. Madison, AL: Doone Publications. 97-65591; ISBN 0-9651934-0-3.
Peleg, Alex; Wilkie, Sam; & Weiser, Uri (1997). "Intel MMX for Multimedia PCs." Communications of the ACM, 40 (1): 25-38.
This article discusses the general subject of Intel's "multimedia extensions" (MMX) to the instruction set of its Pentium chip. It includes a superbly written section on Saturation Arithmetic.
Sobell, Mark H. (1997). A Practical Guide to LINUX. Reading, MA: Addison-Wesley Publishing Company. QA76.76.063S5948 1997; 005.4'469-dc21; 97-8248; ISBN 0-201-89549-8.
Linux Operating System (1999). Red Hat Linux 6.0. Research Triangle Park, NC: Red Hat Software, Inc. [Boxed set includes two CD-ROMs containing the Linux operating system including the version 2.2 kernel, an installation program, several utilities, and the GNOME graphical desktop environment, and a boot diskette. There is an additional CS-ROM containing Linux applications, and also the Linux Installation Guide and the Linux Getting Started Guide.] ISBN 1-888172-27-4
NOTE: I am attempting to ascertain whether there might be an alternative to this package that is both less expensive and at least as easy to use.
Suggested Supplementary Materials:
Maxfield, Clive Richard (1995). Bebop to the Boolean Boogie. An Unconventional Guide to Electronics Fundamentals, Components, and Processes. Solana Beach, CA: HighText Publications. TK7868.D5M323 1995; 821.39'5-dc20; 94-41062; ISBN 1-878707-22-1.
This book provides a superbly readable account of the basic principles of electronics and digital logic, including a description of how Integrated Circuits, hybrid circuits, and printed-circuit-boards are made, in each case discussing several alternate technologies.
PowerQuest Corporation's PartitionMagic software. URL for product information:
http://www.powerquest.com/product/pm/PMdescription.html URL for sales information: http://www.powerquest.com/product/index.html
This software package allows the user to resize and move existing disk partitions, and to create new partitions, on a computer that is already in use with an installed operating system as well as data already present on the system. It greatly simplifies the problem of converting a computer that has been set up to boot under a single operating system into one that can boot up under a choice of two or more, with the selection made at boot-up time. If you use this product, be sure to follow all the cautionary recommendations that come with it.
Learning Objectives:
By the end of this course, the student should:
Relevance of this Course to the Curriculum:
Why have we seen fit to incorporate this course as a prerequisite for our Computer Science curriculum? The topics of Assembly Language, Computer Organization, and Computer Architecture, which are all spanned by CS-511, are integral to understanding how computers work, and therefore have traditionally been part of every Computer Science curriculum for as long as Computer Science has been recognized as a separate field of study. It is inconceivable that any respectable Computer Science Department can award a degree to any student who does not have at least a basic understanding of these areas. The material of this course conveys understanding of how application programs are actually executed, as well as providing a basis for understanding how operating systems work.
Instructor:
Course Outline:
Grading Policy:
A grade of A, either on an individual assignment or for the entire semester, indicates excellent understanding of the concepts covered. A grade of B indicates adequate comprehension of the material. A grade of C indicates a lower level of achievement than expected, but nevertheless sufficient to warrant receipt of credit for the class, while a grade of F indicates work far below satisfactory, demonstrating insufficient ability in the skills or level of knowledge required.
Grades for the semester will be based upon a combination of criteria. These include both quality and quantity of the student's participation in class discussion,. and assessment of the quality of deliverable homework assignments. There will also be a group term project, consisting of both a written paper and an oral presentation, and there will be a written final examination.
Makeup of overall grade for the semester will be as follows:
Deliverables (individual point assignments vary) |
40 pts |
Term Project (15 points written paper, 15 pts oral presentation) |
30 pts |
Written Final Exam: |
30 pts |
TOTAL: |
100 pts |
|
|
Opportunities to be announced, and participation in class discussion can earn extra points : |
|
Rules for the Examination:
Class Meetings:
Classes meet during the Fall 1999 semester on Tuesday evenings from 1830 to 2100 hrs in ISAT/CS Room 243.