Structure and organization of digital computers. Registers, memory, control and I/O. Data and instruction formats, addressing modes, assembly language programming. Elements of system software, subroutines and their linkages.
Prerequisite: Minimum grade of C- in ENEE244; and 1 course with a minimum grade of C- from (ENEE150, CMSC132); and permission of ENGR-Electrical & Computer Engineering department.
Restriction: Must be in one of the following programs (Engineering: Computer; Engineering: Electrical).
Semesters OfferedFall 2017, Spring 2018, Summer 2018, Fall 2018, Spring 2019, Summer 2019, Fall 2019, Spring 2020
- Develop a deep understanding of the formats in which computers take instructions
- Develop a conceptual understanding of how to estimate the CPU performance and what are the underlying parameters
- Develop an understanding of what are the significant modules and components in modern CPUs and how are they interconnected
- Develop mechanisms for improving the CPU performance using pipelining, and also techniques for addressing the associated hazards
- Techniques for improving the CPU memory interface using cache memory
- Ability to design a basic CPU that supports a given set of instructions and also engineering methods for improving its performance
- Instruction Set Architecture
- Computer Arithmetic
- Processor Datapath and Control
- Virtual Memory