TKUC LogoTHE KING'S UNIVERSITY COLLEGE

COURSE NUMBER: CMPT 350
COURSE TITLE: Computer Architecture
NAME OF INSTRUCTOR: Dr. Michael Janzen
CREDIT WEIGHT AND WEEKLY TIME DISTRIBUTION: credits 3(hrs lect 3 - hrs sem 0 - hrs lab 3)
COURSE DESCRIPTION: A study of the basic principles and issues of computer organization and architecture. Topics include: the Von Neumann architecture, CISC and RISC architectures, one and two pass assemblers, loaders and linkers, macro-processors, compilers, interpreters and operating systems.

Prerequisites: CMPT 275
REQUIRED TEXTS:
  • Hennessy, John L., Patterson, David A. (2012), Computer Architecture, 5rd Ed., Morgan Kauffman / Elsevier
  • Patterson, David A., Hennessy, John L., Computer Organization and Design: The Hardware/Software Interface (3rd Edition or newer, 2007+)
MARK DISTRIBUTION IN PERCENT:
Lecture assignments15%
Lab assignments30%
Midterm20%
Final Exam35%
100%
COURSE OBJECTIVES: The course is designed to introduce the student to the subject of Computer Architecture so as “to appreciate the organizational paradigms that determine the capabilities, performance and ultimately the success of computer systems.”
  • Students will be introduced to the Assembly Language Level and practice their understanding through Assembly Language programming.
  • Students will make the connection between the theoretical constructs and real world systems by studying their instruction set architectures, computer organization and register transfer languages.
  • Students will consider the basic digital concept, logical devices and circuitry which may then be combined to form more complex systems.
  • Students will discuss the computer organization from the perspective of CPU design, micro-sequencer control design, computer arithmetic, memory organization, I/O organization and Parallel Processing.
COURSE OUTLINE:
  • Data Representation
    • Character and string representations, unsigned integers, signed integers, floating point numbers.
  • Machine and Assembly Language
    • MIPS machine and assembly language, addressing methods, instruction sets, procedures, implementing assembly language - assembly, linking, loading.
  • Assessing and Understanding Performance
    • Factors determining performance, performance metrics, benchmarking.
  • Implementing Arithmetic
    • Basics of digital logic circuits, implementing a basic ALU, carry lookahead addition, Booths algorithm for multiplication.
  • Datapath and Control
    • Processor datapath and control, building a single cycle implementation of a MIPS subset, pipelining, multiple issue.
  • Memory
    • Temporal and spatial locality, memory hierarchies, caches, virtual memory.
  • I/O
    • Selected Topics from I/O devices, buses, I/O programming, and Parallel Computing.


Required texts, assignments, and grade distributions may vary from one offering of this course to the next. Please consult the course instructor for up to date details.

© The King's University College
Maintained By Glenn J Keeler, Registrar