This course covers is a top-down approach to computer design. Topics: Computer architecture, introduction to assembly language programming and machine language set design. Computer organization, logical modules; CPU, memory and I/O units. Instruction cycles, the datapath and control unit. Hardwiring and microprogramming. The memory subsystem and timing. I/O interface, interrupts, programmed I/O and DMA. Introduction to pipelining and memory hierarchies. Fundamentals of computer networks.
Prerequisites: CS 2204 for computer engineering majors; CS 2134 (C- or better) and MA 2312/2322 for computer science majors. ABET competencies: a, c, e.