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
Introduction
Classes of Computers
Defining Computer Architecture
Trends in Technology
Trends in Power and Energy in Integrated Circuits
Trends in Cost
Dependability
Measuring, Reporting, and Summarizing Performance
Quantitative Principles of Computer Design
Putting It All Together: Performance, Price, and Power
Fallacies and Pitfalls
Concluding Remarks
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:
Design for Moore's Law: Circuit complexity (transistors/inch²) doubles approximately every two years.
Use abstraction to simplify the design.
Optimize for the common case.
Implement performance via parallelism.
Implement performance via pipelining.
Implement performance via prediction.
Utilize a hierarchy of memories.
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:
Data-Level Parallelism (DLP): Many data items can be processed simultaneously.
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
SISD (Single Instruction, Single Data): Uni-processor; leverages ILP techniques like superscalar and speculative execution.
SIMD (Single Instruction, Multiple Data): Same instruction executed by multiple processors on different data streams; used in vector architectures and GPUs.
MISD (Multiple Instruction, Single Data): This category lacks commercial processors but completes the classification model.
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
Discussion on Moore’s Law in "MORE THAN MOORE" by M. Mitchell Waldrop, Nature, February 2016.
Computer performance graphs from a report by the National Academy, USA.
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.
Intel Processor Timeline.
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.