Skip to Secondary Navigation | Skip To Content

525.412 - Computer Architecture Course Homepage

Instructor Information

Charles Cameron

Email: cameronc@usna.edu
Work Phone: (410) 293-6152
Home Phone: (410) 757-8876

Course Information

Course Description

This course covers organization, structure, and design of computers, starting with a review of the original Von Neumann machine. Major architectural improvements since 1950 are reviewed, and the contemporary view of multilevel, virtual machines is introduced. Topics include instruction set designs including RISC, addressing, interrupt and trap handling, stacks, data paths control, horizontal and vertical microprogramming, busses, paging, segmentation, and cache. Mapping of twos complement arithmetic onto register level hardware, including simple control units for Booth's algorithm and non-restoring division, is also covered.

Prerequisites

A senior-level course in digital design.

Course Goal

The purpose of this course is to teach students how to design and implement computers. The focus is on the development of (1) processors that interpret and execute machine instructions; (2) pipelined implementations of such processors; (3) memory subsystems; (4) input/output subsystems; and (5) arithmetic logic units.

Course Objectives

  • Be able to design hardware implementations of processors capable of executing machine instructions for a given computer architecture.
  • Be able to design pipelined implementations of such computer processors.
  • Be able to design memory systems for such processors using integrated memory circuits.
  • Be able to design input/output interfaces for such processors, both hardware and software.

When This Course is Typically Offered

This course is typically offered in the fall term at the Applied Physics Laboratory.

Syllabus

Topics Covered

  • Introduction: History of Computer Architecture
  • Digital Design
  • Processor design
  • Pipelined processor design
  • Computer arithmetic
  • Software/hardware interaction
  • Computer memory hierarchy
  • Input and output
  • High-performance computer design

Student Assessment Criteria

Homework 15%
Quizzes 20%
Mid-term exam 30%
Final exam 35%

Grades for all assignments, quizzes, and tests are on a scale from 0 to 4, weighted according to difficulty, length, and percentages indicated above. Textbook: Vincent P. Heuring and Harry Jordan, Computer Systems Design and Architecture, 2nd ed., ISBN  0130484407 or 978-0130484406, Prentice Hall, 2004.

Computer and Technical Requirements

Skill in digital design, including the use of logic gates, encoders, decoders, multiplexers, demultiplexers, flip-flops, and registers in the design of state machines. Prior experience using assembly language on any processor would be an advantage.

Participation Expectations

Weekly homework assignments, open-book quizzes, open-book exams. Exams and quizzes are done in class. In keeping with the open-book policy, exams and quizzes are geared to the application of ideas, not the mere recitation of facts.

Textbooks

Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are no notes for this course.

Final Words from the Instructor

This is an introductory course in Computer Architecture. Such courses are often taught at the senior undergraduate level or, as in this case, as graduate-level courses. Advanced topics, such as superscalar design, are mentioned, but not discussed in detail.

 Textbook:  Heuring, Vincent P. and Jordan, Harry F., Computer systems design and architecture, second edition, ISBN  0130484407 or 978-0130484406, Pearson Education, Inc., Upper Saddle River, New Jersey, 2004.

Term Specific Course Website

http://www.apl.jhu.edu/Notes/Cameron/525.412

(Last Modified: 07-20-2009 at 9:02:42 AM)