EC3840 Introduction to Computer Architecture

The fundamental principles of computer architecture and processor design, including the influences of implementation technology, cost, performance, and the historical development of computer architecture. Levels of abstraction and instruction set/architecture design. Processor design and implementation, including the data path and the control unit. Computer design, including buses, the memory hierarchy, and the input/output subsystem. Factors affecting performance and performance measurement, evaluation, and comparison. The effects of embedded military applications on computer architecture.

Prerequisite

EC2820

Lecture Hours

3

Lab Hours

2

Course Learning Outcomes

  • The student will understand how computer architecture is influenced by implementation technology, cost, performance, and the historical evolution of computer architecture.
  • Given one or more processors and/or computer systems, the student will be able to design, conduct, and evaluate tests to determine performance and to compare performance results between different processors and/or systems.
  • The student will understand the different levels of abstraction used in the design of processors and computer systems.
  • The student will understand the rolls of assembly language and machine language for a computer and how the machine language is interpreted by the instruction set/architecture.
  • Given a computational problem, the student will be able to design an instruction set/architecture capable of solving the problem with suitable programming.
  • Given a specification for an instruction set/architecture, the student will be able to design a processor at the register transfer level, including both the data path and the controller.
  • Given the specification for a processor controller, the student will be able to evaluate the engineering tradeoffs between the use of microprogrammed control and finite state machine control.
  • Given the design for a processor, the student will be able to evaluate different implementation alternatives, including discrete components, programmable logic devices, and VLSI.
  • The student will understand the operation of the memory hierarchy, including virtual memory and cache memory.
  • Given a specification for a memory subsystem, the student will be able to design, at the register transfer level, a cache memory, the main memory, the memory bus, and to evaluate their performance.
  • Given the specification for an input/output subsystem, the student will be able to design I/O controllers, the I/O bus, and to evaluate their performance.
  • The student will understand the application of imbedded computers in military systems and the importance of reliability and radiation tolerance.