Computer Architecture and Organization

Computer Architecture and Organization
Principles of computer hardware and instruction set architecture. Subjects include: internal CPU organization and implementation, peripheral interconnect and IO systems, and low-level programming and security issues.
IT
252
 Hours3.0 Credit, 2.0 Lecture, 3.0 Lab
 PrerequisitesIT 124 & C S 235
 TaughtWinter, Spring
 ProgramsContaining IT 252
Course Outcomes

Assembly Language

Demonstrate ability to understand and program with assembly language.

Development Tools

Demonstrate ability to use a C compiler, an assembler, a disassembler, a debugger, and CPU emulators to develop, debug, test, analyze and optimize programs.

Program Architecture

Know how to write more reliable, secure, and efficient software with an understanding of how the software is executed on the underlying architecture.

CPU Architecture

Demonstrate ability to modify a CPU design to add instructions and to improve the overall efficiency of execution.

Abstraction

Demonstrate understanding of the various abstractions used to manage complexity in computer systems and support application concurrency. e.g. system calls and virtual memory.

Performance

Know how application performance can be affected in a target system by memory hierarchy design factors such as cache size, bus width, clock rate and memory speed.

Security

Demonstrate how vulnerabilities in software coding can be exploited in computer security attacks (eg. buffer overflow).

Input/Output

Demonstrate understanding of how peripherals are accessed in a computer system, e.g. polling or interrupt driven I/O.