14:332:331 Computer Architecture and Assembly Language

Course catalog description: History and principles of computer architecture. Computer organization, Assembly language and machine code, computer arithmetic, ALU design, computer performance, datapath and control, pipelining, memory hierarchy, I/O devices, multiprocessor architectures, and mobile and multicore processors.

Credits and contact hours: 3 credits; 1 hour and 20-minute session twice a week, every week

Pre-Requisite courses: 14:332:231 and 14:332:233

Co-Requisite courses: 14:332:333 

Topics Covered:

  • Introduction, history of computers, relation between hardware and software components of computer architecture. Computer Performance
  • Power, why multi-core/ Assembly language instructions
  • Assembly language instructions
  • Computer arithmetic principles and hardware
  • Computer arithmetic, Midterm
  • Datapath and its control
  • Microprocessor Pipelining
  • Memory hierarchy
  • Parallel Processors, Cloud
  • Distributed architectures

Textbook: Patterson, David A. and Hennessy, John L., Computer Organization & Design, RISC-V Edition, Morgan Kaufmann Publishers. 

Other supplemental material: class notes; extra readings.