CPSC5155G - Computer Architecture
Graduate On–Line Offering (CRN 81171)

 

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.

 


Course Description

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

ADA Accommodation Notice

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.

Attendance Policy
I do not take roll, but believe that it is important for students to attend class regularly.  If
you find it necessary to miss one or more classes, you are still responsible for all material
covered in the class.  You should notify me in advance of expected class absences to
avoid late penalties on homework due on the date you
miss.  For more information on
class attendance and withdrawal, refer to http://aa.colstate.edu/advising/a.htm#Attendance%20Policy.

 

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
ISIS system and withdraw officially.  For details on how to withdraw from a course, see
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