Instructor
Dr. Edward L. Bosworth
Center for Commerce and Technology 443
(706) 565-4128 FAX: (706) 565 – 3529
e-mail:
bosworth_edward@colstate.edu
website:
http://csc.colstate.edu/bosworth/
Office Hours (Fall 2009)
Monday 4:30 PM to 5:30 PM
6:30 PM to 7:15 PM
Tuesday 9:30 AM to 10:45 AM
Wednesday 9:30 AM to
10:45 AM
1:00 PM to 2:45 PM
Thursday 9:30 AM to 10:45 AM
Class Meetings:
The on–line offering (CRN 81171) has no fixed meeting times.
Course Prerequisites
There are no specific
prerequisites for the graduate offering of this course. The student is
expected to have some familiarity with Boolean algebra; two’s complement
arithmetic; basic
building blocks such as AND, OR and NOT gates; and basic MSI components such as
encoders, decoders, multiplexers, demultiplexers, and full adders.
The student is expected to be
able to design simple combinational circuits using the basis
logic gates (AND, OR, NOT, and XOR).
The course uses assembly language as a functional
specification for a computer. The
student is expected to be able to understand assembly language statements that
will be
used to illustrate the design of the computer.
Textbook
Design and
Architecture of Digital Computers: An Introduction
Edward L. Bosworth, Ph.D. (the
instructor)
Other Required Materials:
For the digital lab
you will be required to use the digital logic simulator Multimedia Logic
by Softronix, Inc. Go to the web site http://www.softronix.com and select MMLogic.
Select the Startup Kit and run the setup with the default settings. It is free.
Review of Boolean algebra and simple combinational and
sequential circuits. Study of
the design of the major components of a simple computer: memory, central
processing
unit, and Input/Output systems.
Considerable focus will be placed on the design of the
Control Unit. Other topics, including
examples of real computer architectures, as time
allows. Please see the listing Topics
for the Course, attached to this document.
Course Objectives (Learning Outcomes)
At the end of the course the
student will be able to describe and explain the following:
1. The
top-level architecture of a computer: CPU, Memory, and I/O Component.
2. The
basic MSI Circuits (Encoders, Decoders, Multiplexers, Demultiplexers)
and their use in designing
combinational circuits.
3. The
four basic flip-flop types and their use in design of sequential circuits.
4. The
structure of register files as a set of flip-flops.
5. The
basic concepts of finite state machines (FSM).
6. The
design of modulo-N counters and their use in control units.
7. The basics of the
interaction of the CPU and computer memory.
8. Design
of computer memory from basic memory chips.
9. The
internal structure of the CPU, including the CPU buses, the ALU, the
register file, and the control
unit.
10. The
construction of the arithmetic-logic Unit (ALU).
11. The
control unit as issuing a sequence of control signals; how those control
signals effect the execution
of the assembly language statements.
12. Hard-wired
and microprogrammed control units.
13. The
four basic types of I/O: program-controlled, interrupt-driven, direct memory
access (DMA), and I/O
channels.
14. The
disadvantages of program-controlled I/O and when it can be used.
15. The basic structure of
a vectored-interrupt system.
16. The
basic structure of a DMA controller.
17. The
use of VHDL to describe simple components of the CPU.
18. The
use of a simulation tool to describe the behavior of digital circuits.
Student Responsibilities
1. Attend class
regularly.
2. Complete
all reading assignments and all homework assignments.
3. Actively
participate in all class discussions.
4. Participate
in the hands-on laboratory for this course.
The times for these
laboratories will be posted.
5. Ask
the instructor questions.
Instructor Responsibilities
1. Give
lectures on the course material.
2. Assign
appropriate homework that illustrates the concepts of the course, and
grade and return the homework
in a timely manner with adequate explanation.
3. Give
tests over the material and grade and return the tests in a timely manner.
4. Provide
a website that supports the course.
5. Provide
at least four hours of office time primarily designated for assistance of
students in this class, at
times expected to be convenient for the students. It is
expected that the instructor
be available to the students during these hours.
Course Methods
This will be based on an in-class lecture course, taught face-to-face.
There will be a laboratory component, in
which the student will use a circuit
simulation tool to investigate a
number of digital circuits.
Laboratory Experience
There are two options for the lab experience. One option is to run the simulation on the
lab computers in CCT 450. Another option
is to download MMLogic by Softronix, run
the experiments at home (or work).
Recall that the simulator is a free download.
The lab work will be considered part of the homework and submitted as homework.
Homework Policy
All homework is to be submitted
through the WebCT/CougarView tool.
Submissions
through the standard CougarNet e–mail system are not acceptable. Submissions in class
of “hard copy” homework written on paper are not acceptable.
Lab experiments, while assigned
as homework, are to be submitted in the standard file
format produced by the logic simulation tool.
Other homework assignments are
to be submitted as either MS–Word documents or
Adobe PDF documents. Word–2003 (or
Word–2007 in compatibility mode) are
preferred, as this allows me to edit comments into your submission before
returning it.
The Research Project
In addition
to the requirements placed on the undergraduate students, graduate students
are expected to do a literature research project on a subject related to
advanced topics in
computer architecture and organization.
The students are expected to produce a paper of
at least three pages in length (single spaced) that conforms to expected
standards for
grammar, logical organization, and citation of references.
The schedule for
the paper: Monday, September
28: Proposal for paper due.
Monday,
November 30: Final copy of the paper
due.
All work submitted must be based
on electronic formats. MS–Word, Adobe
PDF, and
RTF formats are acceptable formats. All
work must be submitted through WebCT.
Methods for Evaluating Students
The evaluation methods will
include homework, a laboratory experience, a mid-term
exam, and a final exam. The relative
grading is shown below.
Homework 30%
Research Paper 20%
Mid-Term Exam 20% The week of Monday, October 5.
Final Exam 30% The week of
Monday, December 7.
The Exams: All
exams will be given as timed tests using the WebCT/Cougarview
tool. The time allocated will be the
standard.
The Mid–Term Exam will be a one–hour exam.
The Final Exam will be a two–hour exam.
Assignment of Letter
Grades
The method of assigning letter grades based on overall course averages is fairly standard.
GRADE POINTS GRADE POINTS
A 90 – 100 C 65 – 79
B 80 – 89 F Below 64
Policy on Tests and Final Exams
All in-class quizzes and tests
(but not the final exam) will be graded and returned on the
following class period. The class
meeting immediately preceding the test is devoted to
review for the test, and the class period immediately following the test is
devoted to
return of the test and discussion of all test questions and possible answers.
For all in-class quizzes and
tests (but not the final exam), the deadline for requesting a
review of the grade is either two weeks after the test is returned or one week
before the
scheduled date for the final exam, whichever date is earlier.
Please note that a grade review will never lead to reduction of an assigned grade.
Other Course Policies
If you have a documented
disability as described by the Rehabilitation Act of 1973
(P.L. 933–112 Section 504) and the Americans with Disability Act (ADA) that may
require you to need assistance attaining accessibility to instructional content
to meet
course requirements, we recommend that you contact the Center for Academic
Support
in Tucker Hall, room 100 or at (706)568–2330, as soon as possible. It is then your
responsibility to contact and meet with the instructor. It is also your responsibility
to present the instructor with a letter from the Center for Academic
Support.
Without this letter detailing the required accommodations, the instructor
cannot
help you. The Center for
Academic Support can assist you and the instructor in
formulating a reasonable accommodation plan and provide support in developing
appropriate accommodations for your disability.
Course requirements will not be waived
but accommodations may be made to assist you to meet the requirements. Technical
support may also be available to meet your specific need. For more information on
services and support available, refer to http://uc.colstate.edu/disability_services.htm.
Parking
Parking is a problem at CSU; for
this we apologize. It is the student’s
responsibility to
arrive at class on-time and submit any homework before the beginning of class.
Those students taking the course via distance education are spared the parking
problem.
Dropping the Course
We hope that you will complete the course and profit from
it. If it is necessary for you to
withdraw from the course during the semester, you must follow all official CSU
procedures for withdrawing. It is not
sufficient to notify the instructor; you must use the
the web page
http://aa.colstate.edu/advising/w.htm#Withdrawal%20from%20a%20Course.
I would appreciate it if you were first to consult with me
before starting the procedure for
withdrawing from the course. In some
cases, we can agree on an arrangement that will
allow you to complete the course with minor adjustments.
Academic dishonesty
Academic dishonesty includes, but is not limited to, activities such as
cheating and
plagiarism. It is a basis for disciplinary action. Collaboration is not
permitted on
assignments or exams/quizzes in this course. Any work turned in for individual
credit
must be entirely the work of the student submitting the work. All work must
be your
own. You may share ideas but submitting identical assignments (for example)
will be
considered cheating. A simple way to avoid inadvertent plagiarism
is to talk about the
assignments, but don't read each other's work or write solutions together. Keep
scratch
paper and old versions of assignments until after the assignment has been
graded and
returned to you. If you have any questions about this, please see me
immediately.
For assignments, access to
notes, textbook, books and other publications is allowed.
Stealing, giving or receiving any code, diagrams, drawings, text or designs
from another
person (CSU or non-CSU) is not allowed. Having access to another person’s work
on the
system or giving access to your work to another person is not allowed. It is
your
responsibility to keep your work confidential, so that other students do not
have access to
it without your knowledge. Properly
dispose of all your scratch work.
No cheating in any form will be
tolerated. The penalty for the first occurrence of
academic dishonesty is a zero grade on the assignment or exam/quiz; the penalty
for the
second occurrence is a failing grade for the course. For exams/quizzes,
discussion of any
kind (except with me) is not allowed.
(http://aa.colstate.edu/advising/a.htm#Academic
Dishonesty/Academic Misconduct)
CPSC5155: Topics for the Course
1. General Introduction to
Computer Architecture
Main components of a
Stored Program Computer.
Simple designs and modern
elaborations that increase efficiency.
Modern Design Principles.
2. Review of Boolean Algebra
and Basic Gates
Basic Boolean
functions: AND, OR, NOT, and XOR.
Theorems and Postulates of
Boolean Algebra
Truth Tables and Algebraic
Representation of Boolean Functions
Basic Gates: AND, OR, NOT,
and XOR.
Other Gates: NAND and NOR
The Tri-State Buffer (not a
Boolean gate) and its uses.
3. Review of Some Medium
Scale Integration (MSI) Circuits
Encoders and Decoders
Multiplexers and
Demultiplexers
The Full Adder and a
Ripple-Carry Adder
4. Introduction to Sequential
Circuits, Including Flip-Flops and Registers
The Basic Idea of a
Synchronous Computer
The Computer Clock as a
Synchronization Mechanism
Four Basic Flip-Flops: SR,
JK, D, and T
Registers as Collections of
Flip-Flops
Register Files and
Conventions for Usage and Representation
5. Analysis and Design of
Sequential Circuits
Flip-Flops as Interface Elements
Introduction to
Finite-State Machines (FSM)
Modulo-N Counters: Up
Counters and Up-Down Counters
A Traffic Light Controller
6. Overview of Computer
Architecture
Main components of a Computer: CPU, Memory, and I/O
Devices
Computer Buses as
Communication Devices
7. The Instruction Set
Architecture of a Model Computer
The Assembly Language
The User Registers
Other Registers
8. The Memory Subsystem of
the Computer
Interaction of the CPU
and Memory: MAR, MBR, and Control Signals
Types of Random Access
Memory: RAM and ROM
Design of Main Memory from
Memory Chips
Associative Memory and Its
Uses
9. The Central Processing
Unit (CPU) of the Computer
Main components: the
ALU, Control Unit, and Register File
Internal Bus Structure for
the CPU
Design of the
Arithmetic-Logic Unit (ALU)
The Register File and Its
Communication via CPU Buses
The Control Unit –
Specification of Control Signals and Micro-Operations
A Hard-Wired Control Unit
A Microprogrammed Control
Unit
10. The Input/Output System
Main classes of I/O: Program-Controlled,
Interrupt-Driven, and DMA
The problem with
Program-Controlled Input/Output
Design of a Multi-Level
Interrupt Structure for Vectored Interrupts
Basics of a Direct Memory
Access (DMA) I/O Controller
11. Miscellaneous Advanced
Topics
Pipe-lined execution
structures
Parallel execution
structures
Other computer
architectures