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. (7:30pm-10:35pm) Computer Architecture Basics/Performance Analysis
  2. (7:30pm-10:35pm) Instructions & SPIM simulator
  3. Computer Arithmetic
  4. Floating Point and Digital Logic
  5. Datapath and Control (Take Home Mid Term Given)
  6. Control Unit (Take Home Mid Term Due)
  7. Pipelining
  8. Memory Systems
  9. I/O Systems
  10. I/O Bus Structures
  11. High Speed Processing/Multiprocessors (Take Home Final Given)
  12. High Speed Processing/Multiprocessors (Take Home Final Due)
Prerequisites
There are no specific prerequisites for this course.
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
John Boon is a part-time Operations Researcher for RAND and is the proprietor of Intelligent Information Analysis, a consulting firm providing integrated mathematics and computer science services. Mr. Boon's areas of expertise are operations research, advanced statistical analysis, systems analysis, and software engineering. Mr. Boon earned undergraduate degrees in mathematics and political science from Virginia Wesleyan College and a M.S. in operations research from the George Washington University. He has been a tenured faculty member at another college and has taught graduate level classes since 1988.

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.

Additional Course Information


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