CENG 311

Computer Architecture

Prerequisites: CENG 214

Basic computer organization and design. Instruction fetch, decode and execution. CPU organization. Hardwired and microprogrammed control organization. Arithmetic algorithms and arithmetic processor design. Input-Output organization. Memory organization, virtual memories, caches, and their management. Machine language and assembly language. Instruction formats and addressing modes. Survey of computer architectures: Von Neumann, Parallel and RISC. Pipelining and other advanced techniques for performance improvements. Introduction to parallel computing, interconnection networks, and multiprocessors.

Introduction to Computer Architecture and Organization
Computer Arithmetics (Lab: Fundamentals of VHDL)
MIPS Architecture and Assembly (Lab:VHDL Programming and Simulation)
Single and General Purpose Datapath Design (LAB: Datapath implementation on Modelsim -1)
VHDL Programming Language (LAB: Datapath implementation on Modelsim -2)
Design of Pabs microprocessor – 1 (Lab: Implementation of the internal units)
Design of Pabs microprocessor – 2 (Lab: Integration of the internal units and testing)
Design of external IO units and interrupt mechanisms
Pipelining, Pabs Assembly (Lab: Assembler and Linker of uPabs)
8086 based Computer Organization (Lab: 8086 Assembly Programming – 1)
8086 assembly programming – 1 (Lab: 8086 Assembly Programming – 2)
8086 assembly programming – 2 (Lab: 8086 Assembly Programming – 3)
Segmentation, Paging, real-mode, protected-mode and others
Memory organization (Lab: Fundamentals of operating system design)