Part-Time Programs in Engineering and Applied Science, Johns Hopkins University
Foundations of Computer Architecture
605.411

Course Description
This course provides a detailed examination of the internal structure and operation of modern computer systems. Each of the major system components is investigated including the following topics: the design and operation of the ALU, FPU, and CPU; microprogrammed vs. hardwired control, pipelining, and RISC vs. CISC machines; the memory system including caches and virtual memory; parallel and vector processing, multiprocessor systems and interconnection networks; superscalar and superpipelined designs; and bus structures and the details of low level I/O operation using interrupt mechanisms, device controllers, and DMA. The impact of each of these topics on system performance is also discussed. The instruction set architectures and hardware system architectures of different machines are examined and compared. The classical Von Neumann architecture is also compared and contrasted with alternative approaches such as data flow machines and neural networks.

Syllabus

  1. Introduction to Computer Architecture
  2. ALU Operation & Computer Arithmetic
  3. The Digital Logic Level
  4. CPU and Control Unit
  5. Control Unit Implementation
  6. Pipelined Processors
  7. Mid Term Examination
  8. Pipeline Control & Hazards
  9. Superscalar and VLIW Machines
  10. The Memory System
  11. I/O and Bus Systems
  12. Multiprocessor Systems
  13. Review
  14. Final Examination
Prerequisites
A course in programming with a high-level language such as Java, C/C++, or Pascal, as well as an introductory course in basic computer organization and assembly language programming (including computer arithmetic and the internal representation of data). May be taken concurrently with 605.401 Foundations of Software Engineering.

Instructor
Horace Malcom is a Principal Staff Physicist in the Space Department of the Johns Hopkins University Applied Physics Laboratory. He specializes in the design and development of on-board real time embedded software systems for satellites. Mr. Malcom holds a M.S. degree in physics from Emory University and a M.S. degree in computer science from the Pennsylvania State University. He has taught courses on computer architecture, assembly language and systems software in the Part-Time Programs in Engineering and Applied Science since 1981. He also serves as a faculty advisor and as a member of the computer science program committee.

Computer Lab Requirements
Students are urged to access the SPIM simulator (spimwin.exe for Microsoft Windows environments) from ftp://ftp.cs.wisc.edu/pub/spim/. Documentation for this simulator is also available from this ftp location. Students must have an email address and must make that address known to the course instructor as soon as practical after the start of the course. Students may use their own computing resources (hardware/software tools) or may arrange to access the necessary tools through the student services entities of JHU. Students must have access to the Internet, have a web browser and the Acrobat Reader application.

Textbook
TBD

Additional Course Information


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Fall 2000-01