CS-511: Accelerated Fundamentals of Computer Systems:
Computer Organization
Course Syllabus
© 2000 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 installs 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 (1999). A+ Guide to Managing and Maintaining Your PC - Comprehensive. Third Edition. Cambridge, MA: Course Technology. ISBN 0-619-00038-4.
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, management of memory, installation and basic operating principles of several operating systems, and instructions on how to assemble your own PC from components. The book is not quite up-to-the-last-minute in terms of its coverage of PC technology (that would be almost impossible to accomplish), but it has the advantage of having an excellent series of laboratory exercises as well as highly useful summary and review sections, and it is about as up-to-date as a textbook can be. This book is an excellent investment for the Computer Science student.
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. It is available on-line through the Carrier Library.
Kofler, Michael (1999). Linux. Second Edition. Reading, MA: Addison-Wesley.. ISBN 0-201-59628-8.
This is a very decent general text on Linux, is very moderately priced (around $40.00), and also includes two CD-ROMs with a robust version (6.0) of Red Hat Linux, which you will be required to install on your own PC. By selecting this text, I avoid requiring you to spend additional funds to purchase a Linux distribution.
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 also 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.
Symantec Corporation's "Partition It" software. URL for both product and sales information:
http://www.symantec.com/sabu/qdeck/partition-it-ex/main.html
This software package also allows the user to resize and move existing disk partitions, as well as 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 therefore also 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. This product carries a smaller list price than the one described previously. I have never used it, and therefore do not know which of the two is better. If you use this product, be sure to follow all the cautionary recommendations that come with it.
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.
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 quality 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 a 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:
Prof. Charles Abzug
Course Outline:
Course Practices:
Relationship of Course Sessions to Readings: Course sessions will cover some of the material in the readings, but will also include material not covered by the readings. Therefore, students must do all of the readings and must also attend classes. I do take attendance at every class, but information on attendance does not get factored into the grading process. If you miss out on a class, it is your responsibility to find out what was covered, and to obtain the material from one of your fellow students.
Assignment, Homework, and Term Project Policy: All work submitted must be machine-generated, and must be submitted both in hard- and in soft-form. It must have your name, course number, semester (Fall 2000) and date of submission in the upper left corner of the first page, and must be stapled together.
Late Submissions Policy: All work is due at the designated date and time. Penalties for late submission are:
Date Submitted |
Penalty from Maximum Credit |
One day late |
10% |
Two days late |
20% |
Up to one week late |
40% |
Up to two weeks late |
60% |
Over two weeks late |
100% |
Crisis Policy: If you should become seriously ill or if you encounter some family- or work-related crisis, please get in touch with me as soon as possible. I will endeavor to work out with you some reasonable arrangement.
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.
Course assignments include a substantial amount of readings, several group laboratory projects as well as individual laboratory projects, several programming assignments, and a term project, and a written final examination. The will be an individual effort, and will consist of both a written paper and an oral presentation.
Makeup of the 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 2000 semester on Wednesday evenings from 1800 to 2230 hrs in ISAT/CS Room 243.