Computer organization and architecture

computer organization and architecture

Contact Information

My office hours, phone number and e-mail address are available on my home page.

Primary Text

Null & Lobur, (2003). The essentials of Computer Organization and Architecture. Boston, MA: Jones and Bartlet.

Good Reference Texts

Patterson & Hennessy, (1998). Computer Organization and Design: The Hardware/Software Interface. Second Edition. San Francisco, CA: Morgan Kaufmann.

Mano & Kime, (2001). Logic and Computer Design Fundamentals. 2nd Edition Updated. Upper Saddle River, NJ: Prentice Hall. Course Description

The purpose of this course is to provide you with a basic understanding of how computers do what they do. In your CS courses up to this point you have been writing programs that control a computer. You have used these programs to get the computer to perform particular tasks. But how is the computer able to understand the language of your program? What is inside that box we call a computer that allows it to carry out the program? These are the fundamental questions that we will be answering this semester.

Topics in this course will include:
  • Computer Organization and Architecture
    • Stored Program Architecture
    • Fetch-decode-execute Cycle
    • Basic Datapath Design
    • Control Unit Design
    • Instruction Set Architecture
    • RISC and CISC Design Philosophies
    • Performance Evaluation and Benchmarking
    • Advanced Architectures
      • Flynn's Taxonomy
      • Pipelining
      • Vector Processing
      • VLIW
      • EPIC
  • Data Representation
    • Integer Number Representations
    • Floating Point Number Representation
    • Non-numeric Data Representation
  • Assembly Language Programming
    • Basic Assembly Language
    • Implementation of High Level Language Constructs
    • Addressing Modes
    • Compilation, Assembly and Interpretation
  • Digital Logic
    • Boolean Identities
    • Logic Simplification
    • Logic Gates
    • Combinational Logic
    • Sequential Logic
  • Memory Systems
    • Interleaving
    • Direct Mapped and Associative Cache Memory
  • Input/Output Systems
    • Interrupts
    • Device Drivers
    • Direct Memory Access
    • RAID Systems

What should you expcect in this course? You will be expected to complete a reading assignment from the text before each class. Following each class you will be assigned several homework problems to be completed for the next class period. We will frequently begin the next class period by looking at the solution to one or more of the assigned homework problems. Finally, you will complete three larger projects. In addition, because this course satisfies 1/2 of the writing requirement, at least one of the projects in the course will be accompanied by a written paper that will undergo multiple revisions. Further, the homework in this course will place an emphasis on writing. In particular, some homework questions will ask you to write short essays instead of performing computations or writing programs.

How much time should you expect to spend on this course? To quote the Dickinson College catalog ". Each course, unless otherwise noted in the course description, is equivalent to four semester hours. Credit for courses is based on the assumption that at least three hours of study accompany each class period (excluding labs)." (p. 203) I find that this statement provides a good guideline for courses which meet three days per week. However, it is impractical for courses which meet five days per week and is insufficient for classes which meet twice a week. Given that we meet for the same amount of time as a course that meets three times a week it seems reasonable that you would invest the same amount of time outside of class. Thus, I base my assignments on the expectation that you will spend an average of 9 hours per week outside of class completing the readings, homeworks and project assignments.

Grade Determination

The breakdown of grade assignment is as follows:

Category: Architecture

Similar articles: