Course ID: | CSCI 4720. 4 hours. |
Course Title: | 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. |
Oasis Title: | Computer Architecture Organiza |
Duplicate Credit: | 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 semester every year. |
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 |