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.

Learning Outcomes:

1.To be able to design general purpose and dedicated microprocessors.
2.To be able to realize and test designed microprocessor.
3.To be able to develop programs in Assembly language.

Topics
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)