UGA Bulletin Logo

Computer Architecture and Organization


Course Description

Design and analysis of the structure and function of modern computing systems. Topics studied include combinational and sequential logic, number systems and computer arithmetic, hardware design and organization of CPU, I/O systems and memory systems, instruction set and assembly language design, performance characterization and measurement, and current trends and developments in computer architecture and organization.


Athena Title

Computer Architecture Organiza


Equivalent Courses

Not open to students with credit in CSCI 4720E


Prerequisite

(CSCI 2670 or CSCI 2670E or CSEE 2220 or CSEE 2220E) and CSCI 1730


Semester Course Offered

Offered fall, spring and summer


Grading System

A - F (Traditional)


Course Objectives

The overall goal of the course is to enable students to analyze and design the structure and function of various components of modern computing systems. By the end of the semester, all students will be able to do the following: 1. Design a combinational logic circuit using logic gates and programmable logic arrays (PLAs) given a functional description. 2. Design a functional analysis of common combinational logic circuits, such as adders, decoders, encoders, multiplexors, demultiplexers, and switches/routers. 3. Design a sequential logic circuit using flip flops and combinational logic given a functional description of a finite state automaton. 4. Design and perform functional analysis of common sequential logic circuits, such as sequence detectors and counters. 5. Design memory elements, such as registers and RAM using flip flops. 6. Design hierarchical memory using register files, caches, and RAM modules. 7. Analyze the performance of computer systems in terms of commonly used metrics, such as CPU execution time, MIPS, MFLOPS, power consumption and reliability, and the speedup resulting from system optimization using Amdahl’s law. 8. Analyze the tradeoffs in Instruction Set Architecture design using the MIPS assembly language as an example. 9. Design and analyze algorithms for fixed-point and floating-point binary arithmetic. 10. Design and analyze the single cycle and pipelined datapath and CPU control for a subset of the MIPS assembly language. 11. Discuss multicore computing architectures such as Graphical Processing Unit (GPU) and their applications.


Topical Outline

Combinational Logic Design Sequential Logic Design Hierarchical Memory Design Performance Analysis of Computer Systems Binary Computer Arithmetic Instruction Set Architecture Design MIPS Assembly Language Programming Using SPIM/XSPIM CPU Datapath Design CPU Controller Design Emerging Trends in Computer Systems Design


Syllabus