Lecture 1 - Computer Architecture Intro Flashcards
(13 cards)
Computer Architecture Overview
(Definition and Key Components)
Definition: Computer architecture encompasses the design of circuits, gates, and chips for desktops, servers, and mobile devices, focusing on cost, performance, and energy efficiency.
Key Components: Instruction Set Architecture (ISA), microarchitecture (µ-arch), and hardware circuitry.
ISA - Instruction Set Architecture
(Definiton and examples)
Definition: An ISA is defined as a set of instructions that a computer processor can perform to execute.
Examples: Various ISAs exist, including x86 (Intel, AMD), Arm (Apple, Qualcomm, Samsung, Google), and RISC-V (Nvidia).
Microarchitecture - µ-arch
(Definiton and examples)
Definition: A Microarchitecture describes the design of the CPU circuits and components used to implement the ISA.
Examples: Different microarchitectures are used in processors, such as (Intel’s Pentium, Core i5, Core i3, and Celeron), as well as (AMD’s Opteron, Athlon, Ryzen, Phenom, and Cyrix).
Single Processor Performance
(Describe the trend in single processor over time)
Performance improvements in single processors have slowed down significantly since around 2013, leading to a shift towards multi-processor systems.
Computer Architecture Trends
(Describe the curernt trends in computer architecture)
The focus has shifted from Instruction Level Parallelism (ILP) to Data Level Parallelism (DLP) and Thread Level Parallelism (TLP), requiring explicit restructuring of applications.
Parallelism
(Definition and Classes)
Defintion: The use of executing multiple processes simultaneously for solving a problem.
Two types of parallelism:
Applications:
- Data Level Parallelism (DLP)
- Task Level Parallelism (TLP)
Architectural:
- Instruction Level Parallelism (ILP)
- Vector Architectures/Graphics Processing Units (GPUs)
Flynn’s Taxonomy
(Definition and Classes)
Definition: A classification of computer architectures, proposed by Michael J. Flynn 1966.
Classes:
- SISD (Single Instruction, Single Data)
* Executes a single instruction stream to operate on a single data stream. (Ex, older single-core CPUs)
- SIMD (Single Instruction, Multiple Data)
* Executes a single instruction simultaneously on multiple data streams. (Ex, Vector Processors and GPUs). Suitable for parallel processing tasks like image and video processing.
- MISD (Multiple Instruction, Single Data)
* Executes multiple instructions operate on a single data stream. Less common, used in fault tolerant system (where multiple processors perform the same calculations on the same data for redundancy).
- MIMD (Multiple Instruction, Multiple Data)
* Executes multiple instructions on different data streams. Most Common type. Examples being Multi-Core, clusters, and distrbuted systems.
Bandwidth and Latency
(Defintions)
Bandwidth: Total work done in a given time
Latency: Time between start and completion of an event
Power and Energy
(Description)
Power consumption is a critical concern, with Thermal Design Power (TDP) being a key metric. Energy per task is also an important consideration.
Note: Clock rate can be reduced dynamically to limit power consumption.
Static Power and Dynamic Power
(What is the difference?)
Static Power: Power drawn from leakage with no activity.
Dynamic Power: Power used by actitivity (things actaully happening in the hardware circuitry).
Quick Question: How do you reduce power consumption?
- Reducing clock rate reduces power, not energy.
- Turning off cores.
Measuring Performance
- Typical performance metrics include response time (Latency) and throughput.
- Speed-up calculations compare execution times.
- Execution time can be measured as wall clock time or CPU time.
- Benchmarks are used to evaluate performance.
Principles of Computer Design
Key principles include taking advantage of parallelism, leveraging locality, focusing on the common case (Amdahl’s Law), and optimizing memory placement.