Podcast
Questions and Answers
What are the four key current directions in computer architecture?
What are the four key current directions in computer architecture?
What are the five classic components of a computer?
What are the five classic components of a computer?
Input, Output, Memory, Datapath, Control
Which of these is NOT a type of computer?
Which of these is NOT a type of computer?
The instruction set architecture (ISA) is the interface between hardware and the lowest level software.
The instruction set architecture (ISA) is the interface between hardware and the lowest level software.
Signup and view all the answers
What are the two main factors that contribute to computer performance?
What are the two main factors that contribute to computer performance?
Signup and view all the answers
The term "throughput" is synonymous with "bandwidth".
The term "throughput" is synonymous with "bandwidth".
Signup and view all the answers
Which of the following is NOT an example of a high-level programming language?
Which of the following is NOT an example of a high-level programming language?
Signup and view all the answers
What is the role of a compiler?
What is the role of a compiler?
Signup and view all the answers
The ______ is a small, fast SRAM memory that is used for immediate access to data.
The ______ is a small, fast SRAM memory that is used for immediate access to data.
Signup and view all the answers
A computer processes analog data.
A computer processes analog data.
Signup and view all the answers
What does CPI stand for?
What does CPI stand for?
Signup and view all the answers
What is the fundamental principle behind clocking in computer hardware?
What is the fundamental principle behind clocking in computer hardware?
Signup and view all the answers
Increasing the clock rate always improves performance.
Increasing the clock rate always improves performance.
Signup and view all the answers
What are the two ways to improve computer performance?
What are the two ways to improve computer performance?
Signup and view all the answers
Match the following components with their corresponding descriptions:
Match the following components with their corresponding descriptions:
Signup and view all the answers
Study Notes
Computer Architecture CS 320
- Course instructor: Dr. Khaled El Helow
- Email: [email protected]
- Course name: Computer Architecture CS 320
- Institution: Thebes Higher Institute of Computer & Management Sciences
- Course is about Computer Architecture
Lecture 1: Introduction and Basics
- Four Key Current Directions:
- Fundamentally Secure/Reliable/Safe Architectures
- Fundamentally Energy-Efficient Architectures
- Memory-Centric (Data-Centric) Architectures
- Fundamentally Low-Latency and Predictable Architectures
- Architectures For AI/ML, Genomics, Medicine, Health
The Transformation Hierarchy
- Highest level: Problem, Algorithm, Program/Language
- Middle level: System Software, SW/HW Interface
- Lower level: Micro-architecture, Logic, Devices, Electrons
Classes of Computers
- Personal computers: General-purpose, variety of software, subject to cost/performance tradeoffs.
- Server computers: Network-based, high capacity, performance, reliability, range from small to building-sized.
- Supercomputers: High-end scientific and engineering calculations, highest capability, small fraction of overall computer market.
- Embedded computers: Hidden as components of systems, stringent power/performance/cost constraints.
Units of Measurement
- Different units for measuring data storage sizes exist, with both decimal and binary representations. Decimal units are based on powers of 10, while binary units are based on powers of 2. There are some differences between the units
- Examples: kilobyte (KB), megabyte (MB), gigabyte (GB), terabyte (TB), petabyte (PB), exabyte (EB), zettabyte (ZB), yottabyte (YB)
The PostPC Era
- Personal Mobile Device (PMD): Battery-operated, connects to the internet, hundreds of dollars, smart phones, tablets, electronic glasses.
- Cloud computing: Warehouse Scale Computers (WSC), Software as a Service (SaaS), portion of software runs on a PMD and a portion runs in the Cloud, Amazon and Google.
Eight Great Ideas
- Design for Moore's Law
- Use abstraction to simplify design
- Make the common case fast
- Performance via parallelism
- Performance via pipelining
- Performance via prediction
- Hierarchy of memories
- Dependability via redundancy
Abstraction Layers in Computing
- Applications, Algorithms, Programming Languages, Compiler, Linker, Run-time Libraries, Operating System, Virtual Machines, Instruction Set Architecture (ISA), Microarchitecture, Logic Gates, Circuits, Devices, Layout, Physics
Hardware or Software Component Affecting Performance
- Algorithm: Determines both the number of source-level statements and the number of I/O operations executed.
- Programming Language, Compiler, and Architecture: Determines the number of computer instructions for each source-level statement.
- Processor and Memory: Determines how fast instructions can be executed.
- I/O System (hardware and operating system): Determines how fast I/O operations may be executed.
Computer Architecture
- Instruction set architecture + Computer organization
- Aim to improve performance through:
- Response time (execution time)
- Throughput (total work done per unit time)
Computer Architecture vs Computer Organization
- Computer Architecture describes what a computer does (functional behavior, high-level design).
- Computer Organization describes how it does it (structural relationship, low-level design, performance).
Five Classic Components of a Computer
- Input
- Output
- Memory
- Datapath
- Control
Opening the Box
- Computer components are presented in physical examples. The images are computer diagrams showing the locations of components inside computers such as personal laptops and tablets (physical components).
Inside the Processor
- Datapath: Performs operations on data
- Control: Sequences datapath, memory, etc.
- Cache memory: Small, fast SRAM memory for immediate access to data.
What is Under Your Program?
- Application software: Written in high-level language.
- System software: Compiler, translates HLL code to assembly code, Operating system (Linux, Windows), handles input/output operations, manages memory and storage.
- Hardware: Processor, memory, etc.
Compiler and Assembler
- Compiler: Translates HLL code to assembly code.
- Assembler: Translates assembly code to machine code.
- Computer understands 0 and 1 (bits).
Hardware
- Inputting data (keyboard)
- Outputting data (speakers)
- Processing data (processor - Datapath & Control)
- Storing data (cache)
The Hardware/Software Interface
- ISA (Instruction Set Architecture): The interface between hardware and lowest level software
Summary
- A computer processes digital data.
- A user solves problems through high-level programming language programs (like C).
- Inside, system programs (compiler and assembler) break down to assembly code to binary machine code.
- Hardware (control, datapath, memory, I/O) processes the machine code for desired results.
Performance
- Performance measurements can be studied.
Relative Performance
- Performance = 1 / Execution time
- “X is n times faster than Y”: Performance_X / Performance_Y = n
- Example: If A takes 10 seconds and B takes 15 seconds, A is 1.5 times faster than B.
Measuring Execution Time
- Time is a measure of computer performance, measured in seconds per program.
- Elapsed time (response time/wall clock time): Total response time including processing, I/O, OS overhead, idle time.
- CPU time (CPU execution time): Time spent processing a given job.
CPU Clocking
- Digital hardware operation governed by a constant-rate clock.
- Clock period: Duration of a clock cycle.
- Clock frequency: Cycles per second.
CPU Time
- CPU Time = CPU Clock Cycles × Clock Cycle Time = CPU Clock Cycles / Clock Rate.
- Performance improvement comes from reducing the number of clock cycles required or increasing clock rate.
CPU Time Example
-Example of calculating clock speed based on CPU time.
Instruction Count and CPI
- Clock Cycles = Instruction Count × Cycles per Instruction (CPI)
- CPU Time = Instruction Count × CPI × Clock Cycle Time / Clock Rate.
- Instruction count is determined by the program, ISA, and compiler, CPI is determined by CPU hardware.
CPI Example
- Example comparing performance for a CPU with different clock cycle time and CPI values.
Weighted Average CPI
- If different instruction classes take different numbers of cycles to execute, a weighted average of CPI must be used.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the fundamentals of Computer Architecture in Lecture 1 of CS 320. This lecture covers key current directions in architecture, including energy efficiency and security. Delve into the transformation hierarchy and different classes of computers.