Computer Architecture CS 320 Lecture 1
15 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What are the four key current directions in computer architecture?

  • Architectures For AI/ML, Genomics, Medicine, Health (correct)
  • Fundamentally Energy-Efficient Architectures (correct)
  • Fundamentally Secure/Reliable/Safe Architectures (correct)
  • Fundamentally Low - Latency and predictable Architectures (correct)
  • Memory-Centric (Data-Centric) Architectures (correct)
  • What are the five classic components of a computer?

    Input, Output, Memory, Datapath, Control

    Which of these is NOT a type of computer?

  • Embedded Computer
  • Server Computer
  • Personal Computer
  • Supercomputer
  • Quantum Computer (correct)
  • The instruction set architecture (ISA) is the interface between hardware and the lowest level software.

    <p>True</p> Signup and view all the answers

    What are the two main factors that contribute to computer performance?

    <p>Response Time and Throughput</p> Signup and view all the answers

    The term "throughput" is synonymous with "bandwidth".

    <p>True</p> Signup and view all the answers

    Which of the following is NOT an example of a high-level programming language?

    <p>Assembly Language</p> Signup and view all the answers

    What is the role of a compiler?

    <p>A compiler translates high-level language code into assembly code.</p> Signup and view all the answers

    The ______ is a small, fast SRAM memory that is used for immediate access to data.

    <p>Cache</p> Signup and view all the answers

    A computer processes analog data.

    <p>False</p> Signup and view all the answers

    What does CPI stand for?

    <p>Cycles Per Instruction</p> Signup and view all the answers

    What is the fundamental principle behind clocking in computer hardware?

    <p>A constant-rate clock governs the operation of digital hardware.</p> Signup and view all the answers

    Increasing the clock rate always improves performance.

    <p>False</p> Signup and view all the answers

    What are the two ways to improve computer performance?

    <p>Reduce the number of clock cycles required for a program; Increase the clock rate.</p> Signup and view all the answers

    Match the following components with their corresponding descriptions:

    <p>Input = Provides data to the computer Output = Displays or transmits the results of processing Memory = Stores data and instructions Datapath = Performs operations on data Control = Sequences the operations of other components</p> 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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser