Computer Architecture

As a fundamental discipline within computer engineering, computer architecture defines the conceptual design and operational structure of a computer system. It serves as the critical blueprint that dictates how hardware components work together and provides the interface between the physical hardware and the software, most notably through the instruction set architecture (ISA) which specifies the commands a processor can execute. This field governs the design of the processor (microarchitecture), memory hierarchy, and input/output systems, with the overarching goal of balancing the competing engineering trade-offs of performance, power consumption, and cost.

  1. Introduction to Computer Architecture
    1. Defining Computer Architecture
      1. Definition and Scope
        1. Distinction from Computer Organization
          1. Role of the Computer Architect
            1. Relationship to Other Computing Disciplines
            2. Historical Development
              1. Early Computing Machines
                1. Mechanical Calculators
                  1. Electromechanical Computers
                    1. First Electronic Computers
                    2. Foundational Architectures
                      1. Von Neumann Architecture
                        1. Stored Program Concept
                          1. Von Neumann Bottleneck
                          2. Harvard Architecture
                            1. Separate Instruction and Data Memory
                              1. Comparison with Von Neumann
                            2. Computer Generations
                              1. First Generation
                                1. Vacuum Tube Technology
                                  1. Programming Methods
                                  2. Second Generation
                                    1. Transistor Technology
                                      1. Assembly Languages
                                      2. Third Generation
                                        1. Integrated Circuits
                                          1. Operating Systems
                                          2. Fourth Generation
                                            1. Microprocessors
                                              1. Personal Computing
                                              2. Fifth Generation and Beyond
                                                1. Parallel Processing
                                                  1. Modern Developments
                                              3. Abstraction Layers
                                                1. Application Layer
                                                  1. User Applications
                                                    1. System Utilities
                                                    2. System Software Layer
                                                      1. Operating Systems
                                                        1. Compilers and Assemblers
                                                          1. Linkers and Loaders
                                                          2. Instruction Set Architecture
                                                            1. Definition and Role
                                                              1. Hardware-Software Interface
                                                              2. Microarchitecture
                                                                1. ISA Implementation
                                                                  1. Datapath and Control
                                                                  2. Logic and Circuit Layer
                                                                    1. Combinational Logic
                                                                      1. Sequential Logic
                                                                        1. Transistors and Gates
                                                                      2. Performance Fundamentals
                                                                        1. Performance Metrics
                                                                          1. Response Time
                                                                            1. Throughput
                                                                              1. Latency vs Bandwidth
                                                                              2. CPU Performance Equation
                                                                                1. Instruction Count
                                                                                  1. Cycles Per Instruction
                                                                                    1. Clock Cycle Time
                                                                                    2. Clock Systems
                                                                                      1. Clock Period
                                                                                        1. Clock Rate
                                                                                          1. Impact on Performance
                                                                                          2. Performance Analysis
                                                                                            1. Instructions Per Cycle
                                                                                              1. Cycles Per Instruction
                                                                                                1. Factors Affecting Performance
                                                                                                2. Benchmarking
                                                                                                  1. Types of Benchmarks
                                                                                                    1. SPEC Benchmarks
                                                                                                      1. Benchmark Interpretation
                                                                                                      2. Amdahl's Law
                                                                                                        1. Formula and Derivation
                                                                                                          1. Performance Improvement Limits
                                                                                                            1. Practical Applications