week1

Course Logistics

  • Lecture Schedule: 2 lectures per week

Assessment Breakdown

  • Quizzes: 6 quizzes, accounting for 20% of the final grade

  • Assignments: 2 assignments, accounting for 10% of the final grade

  • Midterm Exam (M1 + M2): Accounts for 30% of the final grade

  • Final Exam: Accounts for 40% of the final grade

  • Important Policies:

    • No retakes for quizzes will be entertained.

    • Late assignments will receive a grade of zero.

    • Attendance must comply with the NU attendance policy.

Textbook Information

  • Primary Textbook:

    • John L. Hennessy & David A. Patterson

    • Title: "Computer Architecture: A Quantitative Approach"

    • Edition: Seventh Edition

  • Additional References:

    • Christos Kozyrakis.

Pre-Midterm Plan

  • Weeks 1-2: Chapter 1 - Quantitative Design and Analysis

    • Performance Parameters and Effects

  • Weeks 2-3: Appendix A - Instruction Set Principles

    • Understanding the nuts and bolts of Instruction Set Architecture (ISA)

  • Weeks 3-5: Appendix C - Pipelining: Basic and Intermediate Concepts

    • Understanding basic pipelining

  • Study Tip: Read at least 15 pages a day to stay on track with the course material.

Textbook Contents Breakdown

Chapter 1: Fundamentals of Quantitative Design and Analysis

  1. Introduction

  2. Classes of Computers

  3. Defining Computer Architecture

  4. Trends in Technology

  5. Trends in Power and Energy in Integrated Circuits

  6. Trends in Cost

  7. Dependability

  8. Measuring, Reporting, and Summarizing Performance

  9. Quantitative Principles of Computer Design

  10. Putting It All Together: Performance, Price, and Power

  11. Fallacies and Pitfalls

  12. Concluding Remarks

  13. Historical Perspectives and References

  • Includes case studies and exercises authored by Diana Franklin.

Appendix A: Instruction Set Principles

  • A1: Introduction

  • A2: Classifying Instruction Set Architectures

  • A3: Memory Addressing

  • A4: Type and Size of Operands

  • A5: Operations in the Instruction Set

  • A6: Instructions for Control Flow

  • A7: Encoding an Instruction Set

  • A8: Cross-Cutting Issues: The Role of Compilers

  • A9: Putting It All Together: The RISC-V Architecture

  • A10: Fallacies and Pitfalls

  • A11: Concluding Remarks

  • A12: Historical Perspective and References

  • Exercises provided by Gregory D. Peterson.

Appendix C: Pipelining: Basic & Intermediate Concepts

  • C1: Introduction

  • C2: The Major Hurdle of Pipelining—Pipeline Hazards

  • C3: How Is Pipelining Implemented?

  • C4: What Makes Pipelining Hard to Implement?

  • C5: Extending the RISC-V Integer Pipeline to Handle Multicycle Operations

  • C6: Putting It All Together: The MIPS R4000 Pipeline

  • C7: Cross-Cutting Issues

  • C8: Fallacies and Pitfalls

  • C9: Concluding Remarks

  • C10: Historical Perspective and References

  • C11: Updated Exercises by Diana Franklin.

What is Computer Architecture?

  • Definition: The science and art of designing, selecting, and interconnecting hardware components and designing the hardware/software interface to create a computing system that meets functional, performance, energy consumption, cost, and other specific goals.

Computer Architecture vs. COAL

  • Computer Architecture (CA): Focused on high-level specifications with programs looking towards CPU instructions and Instruction Set Architecture (ISA).

  • COAL (Computer Organization and Logic): Viewed from the inside, focusing on how the CPU interacts with memory and peripherals.

Importance of Studying Computer Architecture

  • Goals: Enhance overall system capability, leading to faster, cheaper, smaller, and more reliable computers.

  • Applications: Key innovations such as life-like 3D visualization, virtual reality, self-driving cars, personalized medicine (genomics), and advancements in AI applications.

  • Significance for Software Innovation: Continuous improvements in computer architecture have catalyzed significant software innovation, achieving over 50% performance improvements per year.

  • Challenges: The shift leads to many problems due to increased data demands, power/energy constraints, design complexity, and security/privacy issues.

The Goal of Computer Architecture

  • To design computers to achieve the highest energy efficiency and performance through

    • Algorithm and device co-design across the hierarchy: from algorithms to physical devices.

    • Focus on specialization within design goals of hardware and software, including aspects like:

    • Applications

    • Operating Systems

    • Compilers

    • Firmware

    • Instruction Sets

    • Processor architecture

    • Input/output systems

    • Datapath & Control

    • Digital Design

    • Circuit Design

    • Layout & fabrication

    • Semiconductor Materials.

Trends in Microprocessors

  • 50 Years of Microprocessor Trends: Tracking the progress of technological advancements in processor performance.

  • Eight Great Ideas in Computer Architecture:

    1. Design for Moore's Law: Circuit complexity (transistors/inch²) doubles approximately every two years.

    2. Use abstraction to simplify the design.

    3. Optimize for the common case.

    4. Implement performance via parallelism.

    5. Implement performance via pipelining.

    6. Implement performance via prediction.

    7. Utilize a hierarchy of memories.

    8. Ensure dependability via redundancy.

Moore's Law and Its Implications

  • Moore’s Law: Describes the doubling of circuit complexity, which enhances opportunities for exploiting parallelism at the instruction level (ILP).

  • Current challenges: Law is becoming constrained by fundamental physics; the doubling rate is slowing down.

  • Post Moore's Law Innovations Include:

    • Specialized Hardware: Use of GPUs and dedicated AI accelerators.

    • Heterogeneous Computing: Combining various processor types (CPUs, GPUs) for better overall performance.

    • New architectures exploring 3D stacking, new materials, and quantum computing.

Levels of Representation in Computer Architecture

  • Everything can be represented as a number, whether it be data or instructions. Example representation of a temporary variable:

  temp = v[k];  
  v[k] = v[k+1];  
  v[k+1] = temp;
  • Instruction examples:

    • Iw $10,0($2)

    • sw $11,0($2)

    • sw $10,4($2)

Characteristics of Mainstream Computing Classes

Computing Class

System Characteristics

Price Range

Sales Notes

Personal Mobile Device (PMD)

Price: $100-$1000, Critical issues: Cost, energy, performance

Servers included


Desktop

Price: $300-$2500, Performance in media, throughput

275 million PCs sold


Server

Price: $5000-$10,000,000, Requirements for high transaction processing

15 million servers sold


Clusters/warehouse-scale computer

Price: $100,000-$200,000,000, Energy performance issues



IoT/Embedded Devices

Price: $10-$100,000, Critical performance in applications

19 billion embedded processors sold in 2015


Parallelism in Computer Design

  • Parallelism is now a driving force across classes of computers, constrained by energy and cost.

  • Types of Parallelism:

    1. Data-Level Parallelism (DLP): Many data items can be processed simultaneously.

    2. Task-Level Parallelism (TLP): Creating distinct tasks to further enhance performance.

  • Flynn's Taxonomy of Parallelism:

    • Classes of parallelism in applications.

    • Architectural parallelism categories: Instruction-Level Parallelism (ILP), Thread-Level Parallelism.

Architectural Parallelism Types

  1. SISD (Single Instruction, Single Data): Uni-processor; leverages ILP techniques like superscalar and speculative execution.

  2. SIMD (Single Instruction, Multiple Data): Same instruction executed by multiple processors on different data streams; used in vector architectures and GPUs.

  3. MISD (Multiple Instruction, Single Data): This category lacks commercial processors but completes the classification model.

  4. MIMD (Multiple Instruction, Multiple Data): Each processor has its own instructions; targets task-level parallelism. MIMD is generally more flexible and expensive than SIMD.

Memory Hierarchy

  • Review of memory hierarchy and its significance.

Additional Readings and References

  1. Discussion on Moore’s Law in "MORE THAN MOORE" by M. Mitchell Waldrop, Nature, February 2016.

  2. Computer performance graphs from a report by the National Academy, USA.

  3. Introduction to specialization areas of 'Computer Architecture' via Hennessy and Patterson, "A New Golden Age for Computer Architecture," Communications of the ACM, February 2019, pp. 48-60.

  4. Intel Processor Timeline.

  5. Review of course outline with detailed topics and grading breakdown.

Acknowledgements

  • Materials adapted with acknowledgment to:

    • John L. Hennessy and David A. Patterson, "Computer Architecture: A Quantitative Approach," 5th Edition, Morgan Kaufman, 2012.

    • David A. Patterson and John L. Hennessy, "Computer Organization and Design: The Hardware/Software Interface," 5th Edition, Morgan Kaufman, 2014.

    • David M. Harris and Sarah L. Harris, "Digital Design and Computer Architecture," 2nd Edition, Morgan Kaufman, 2013.

    • Course resources from Dr. Ronald F. DeMara, UCF and various internet sources for photos and quotes.