Computer Architecture

Computer Architecture. Instructor: Prof. Smruti Ranjan Sarangi, Department of Computer Science and Engineering, IIT Delhi. This is an introductory computer architecture course for beginners. We will start out with a discussion on binary representations, and a discussion on number systems (1's complement and 2's complement). Then, the course will move on to discuss assembly languages, and computer arithmetic. Once, we are done with the fundamentals, we shall look at the design of a simple processor, concepts of pipelining, and the design of a modern memory system. (from

Lecture 27 - Principles of Pipelining: Pipeline with Interlocks, Forwarding

Go to the Course Home or watch other lectures:

Lecture 01 - Introduction to Computer Architecture
Lecture 02 - The Language of Bits: Boolean Algebra, Positive Integers
Lecture 03 - The Language of Bits: Negative Integers
Lecture 04 - The Language of Bits: Floating-Point Numbers, Strings
Lecture 05 - Assembly Language: Overview and Assembly Language Syntax
Lecture 06 - Assembly Language: SimpleRisc ISA
Lecture 07 - Assembly Language: Functions and Stacks, SimpleRisc Encoding
Lecture 08 - ARM Assembly Language: Basic and Advanced Instructions
Lecture 09 - ARM Assembly Language: Branch, Memory Instructions; Instruction Encoding
Lecture 10 - x86 Assembly Language: X86 Machine Model, Simple Integer Instructions
Lecture 11 - x86 Assembly Language: Simple Integer Instructions, Branch Instructions
Lecture 12 - x86 Assembly Language: Advanced Memory Instructions, Floating Point Instructions
Lecture 13 - x86 Assembly Language: Encoding the x86 ISA
Lecture 14 - A Primer on Digital Logic: Transistors and Gates, Combinational Logic
Lecture 15 - A Primer on Digital Logic: Sequential Logic
Lecture 16 - A Primer on Digital Logic: SRAM/DRAM Cells
Lecture 17 - Computer Arithmetic: Addition
Lecture 18 - Computer Arithmetic: Multiplication
Lecture 19 - Computer Arithmetic: Multiplication (cont.)
Lecture 20 - Computer Arithmetic: Division
Lecture 21 - Computer Arithmetic: Floating Point Addition
Lecture 22 - Computer Arithmetic: Floating Point Multiplication and Division
Lecture 23 - Processor Design: Detailed Design of Each Stage, The Control Unit
Lecture 24 - Processor Design: Microprogrammed Processor, Microassembly Language
Lecture 25 - Processor Design: Microassembly Language, The Microcontrol Unit
Lecture 26 - Principles of Pipelining: A Pipelined Datapath, Pipeline Hazards
Lecture 27 - Principles of Pipelining: Pipeline with Interlocks, Forwarding
Lecture 28 - Principles of Pipelining: Forwarding, Performance Metrics
Lecture 29 - Principles of Pipelining: Interrupts and Exceptions
Lecture 30 - The Memory Systems: Overview
Lecture 31 - The Memory Systems: Caches
Lecture 32 - Details of the Memory System
Lecture 33 - The Memory Systems: Virtual Memory