CENG 311
Computer Architecture
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)
|