Computer Architecture - DOC

Document Sample
Computer Architecture - DOC Powered By Docstoc
					      CPSC5155 - Introduction to Computer Architecture
 COURSE STANDARD FOR THE UNDERGRADUATE OFFERING
                     Fall Semester 2007
Instructor
       Dr. Edward L. Bosworth
       Center for Commerce and Technology 443
       (706) 565-4128
       e-mail: bosworth_edward@colstate.edu
       website: http://csc.colstate.edu/bosworth/

Office Hours – Fall 2007
       Monday:       No office hours on Monday.
       Tuesday:      10:00 AM      – 12:00 Noon,
                     2:00 PM       – 3:20 PM.
       Wednesday: 10:00 AM         – 12:00 Noon
                     2:00 PM       – 4:00 PM.
       Thursday:     10:00 AM      – 12:00 Noon,
                     2:00 PM       – 3:20 PM.
       Friday:       No office hours on Friday.
Class Meetings:
      Tuesday and Thursday 7:30 – 8:45 PM
      Center for Commerce and Technology, Room 405
Course Prerequisites
    CPSC 2105           Introduction to Computer Organization
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
MSI components such as encoders, decoders, multiplexers, demultiplexers, and full
adders. 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)
      Available in the CSU bookstore or on the instructor’s web site.
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.




Page 1 of 7 pages                     CPSC5155U        Last Revised on February 23, 2010
CPSC 5155                                        Introduction to Computer Architecture
                         Undergraduate Offering of the Course
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 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.


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.




Page 2 of 7 pages                     CPSC5155U       Last Revised on February 23, 2010
CPSC 5155                                         Introduction to Computer Architecture
                          Undergraduate Offering of the Course
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. Schedule laboratory sessions at times convenient to the students and provide
       for assistance to the students as they complete the lab assignments.
   5. Provide a website that supports the course.
   6. 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 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.

Mid-Term and Final Exams
All exams for this course will be open-book, open-notes. Students are cautioned not to
rely on reading the notes during tests to find the answers, as the questions are only rarely
taken directly from previous homework or classroom discussions.

Homework Policy
All homework is due at the beginning of the class on the day assigned. Homework
handed in after the start of class will be considered to be late. The penalty for late
homework (if assessed) will be 10 points per class period. Homework may not be
submitted after the solution has been discussed in class.

Laboratory Experience
There are two options for the lab experience. The student may run the simulation on the
lab computers in CCT 450 and hand in lab reports to the lab instructor. Another option is
to download MMLogic by Softronix, run the experiments at home (or work), and submit
the lab reports via e–mail to the instructor.
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              25%
       Laboratory Work       15%
       Mid-Term Exam         30% (Tuesday, October 2)
       Final Exam            30% (Tuesday, December 11 at 6:00 – 8:00 PM)




Page 3 of 7 pages                      CPSC5155U        Last Revised on February 23, 2010
CPSC 5155                                         Introduction to Computer Architecture
                          Undergraduate Offering of the Course
Assignment of Letter Grades
The method of assigning letter grades based on overall course averages is fairly standard.
The basic method for assigning grades is described as follows:
      GRADE          POINTS
          A          90 – 100        D      55 - 69
          B           80 – 89        F      Below 55
          C           70 – 79


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.




Page 4 of 7 pages                      CPSC5155U        Last Revised on February 23, 2010
CPSC 5155                                          Introduction to Computer Architecture
                           Undergraduate Offering of the Course
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)




Page 5 of 7 pages                        CPSC5155U        Last Revised on February 23, 2010
CPSC 5155                                       Introduction to Computer Architecture
                        Undergraduate Offering of the Course

                      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




Page 6 of 7 pages                    CPSC5155U       Last Revised on February 23, 2010
CPSC 5155                                       Introduction to Computer Architecture
                        Undergraduate Offering of the Course
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




Page 7 of 7 pages                   CPSC5155U       Last Revised on February 23, 2010