Rajesh Subramanyan's lecture slides

This page contains lecture notes provided by Rajesh Subramanyan,
the instructor of this course during the early stages of the book.
Slides are in landscape mode to make the printed copies convenient

  • Introduction
            1. Introduction And Overview
  • Part 1, Basics
            2. Fundamentals Of Digital Logic
            3. Data And Program Representation
  • Part 2, Processors
            4. The Variety Of Processors And Computational Engines
            5. Processor Types And Instruction Sets`w
            6. Operand Addressing And Instruction Representation
            7. CPUs: Microcode, Protection, And Processor Modes
            8. Assembly Languages And Programming Paradigm
  • Part 3, Memories
            9. Memory And Storage
            10. Physical Memory And Physical Addressing
            11. Virtual Memory Technologies And Virtual Addressing
            12. Caches And Caching
  • Part 4, I/O
            13. Input/Output Concepts And Terminology
            14. Buses And Bus Architectures
            15. Programmed And Interrupt-Driven I/O
            16. A Programmer's View Of Devices, I/O, And Buffering
  • Part 5, Advanced topics
            17. Parallelism
            18. Pipelining
            19. Assessing Performance
            20. Architecture Examples And Hierarchy

For queries about the site, please contact <subraman@purdue.edu>