CS 331 Computer Organization and Architecture
This course presents the fundamental concepts of computer organization and instruction set architectures. Assembly language programming is used to present and illustrate the concepts of instruction set design. The basics of Central Processor Unit (CPU) design and implementation are covered, including some performance enhancing methods like pipelining and memory caches. The interface to the Compiler and Operating System is described in terms of the interaction between the hardware and software components of a system. The course discusses developments in modern computer system such as parallel processing, virtual computing and other new architectures.
Understanding of digital system design process Understanding of modern computer architecture Understanding of memory and IO organization Understanding of Software-Hardware interface Understanding of low level programming
Introduction:Computer Block Diagram CPU ( Register File , ALU, Control Unit, Instruction Fetch), Memory, IO and Bus, History of Computer. Information Representation:Unsigned, Signed, Floating Point, ASCII and UNICODE,Bit Map Sound, Video, 3D. Background for Digital Designing:Concept of Digital systems, Boolean Algebra, Logical Equation, Optimization with K-Map. Processor: Design of ALU (Addition , Subtraction, AND, OR) Control Unit( FSM, Microprogramming) . Instruction Set Design, Pentium/MIPS instruction set. Assembly Language: Detail Discussion on Instruction Set, Simple Assembly Program, Type of Instructions, Address Mode, Stack, Procedure. Performance Enhancing in Computer Architecture: Performance Metric, Pipelining, Caches, RISC/CISC computer architecture, Parallel Processing. Advance Architectures: Hyper-threading, Virtualization, Cloud computing
Identifying Computer Components, Introduction to Electronics Design ALU ( using CAD software ) Programming Microprocessor using Assembly Language
- Prerequisites: CS 212 Computer Programming OR CS 112 Computer Programming for Engineering; Enrollment in CS 221 Discrete Structures and Theory