Computer Architecture Souad MEDDEB
Objectives of the course This course provides the basic knowledge necessary to understand the hardware operation of digital computers: It presents the various digital components used in the organization and design of digital computers. Introduces the detailed steps that a designer must go through in order to design an elementary basic computer. Presents the organization and architecture of the central processing unit. Introduces the concepts of parallel processing & pipelining Introduces the organization and architecture of input- output and memory. Summarizes the concepts of multiprocessing.
Prerequisites Students are expected to have a solid background in digital systems design. It will often be assumed that students have working knowledge of computer concepts, and binary arithmetic.
Textbook Reference Material & Readings M. Morris Mano, Computer System Architecture, 3rd edition,1993, Prentice-Hall. John Hennessy and David Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, Morgan Kaufmann, Lecture notes
Course Organization 1.Basic combinational and sequential circuits used for building digital computers including: Logic Gates, Arithmetic Circuits, Decoders, Encoders, Multiplexers, Flipflops, Registers, and Counters. 2.Register Transfer and Micro-operations: Micro-operations, Register transfer language, register transfer, Bus and memory transfer, three-state Buffers, memory transfer, Binary Adder, Binary Adder- Subtractor, Binary incrementer, Arithmetic circuit. 3.Micro-operations: Arithmetic Micro-operations Logic Micro-operations,Shift Micro operations, Hardware Implementation, Arithmetic logic shift unit, Examples
continued 4.Basic Computer Organization and Design. Instruction codes, Stored program organization, Indirect address, Computer registers. Computer Bus system. 5.Computer Instructions, Timing and control, Instruction Cycle. Memory-Reference Instructions, Input-output and interrupt, Register reference instructions, Complete computer description, Complete Design of Basic Computer, Design of Accumulator Logic Unit. 6.Programming the Basic Computer: Machine language, Assembly language
continued 7.Assembler (2-pass), Program loops, Subroutines, Input-output programming. 8.Central Processing Unit: Introduction, Single Processor-Register Organization, General register organization, Stack Organization, Instruction Formats. 9.Addressing Modes, Data Transfer and Manipulation, Program Control, Reduced Instruction set Computing.
continued 10.Pipeline and Vector Processing: Parallel processing, Pipelining, Arithmetic Pipeline, Instruction Pipeline, RISC Pipeline, Vector Processing, Array Processors 11.Input – Output Organization: Peripheral devices, Input–output interface, Asynchronous data transfer, Modes of transfer, Priority interrupt, Direct memory access. 12.Memory Organization: Memory hierarchy, Main memory, Auxiliary memory, Associative memory, Cache memory, Virtual memory, Memory management hardware