ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컴퓨터구조) 01 Computer Abstractions and Technology
    CS/Computer Architecture 2023. 1. 2. 15:05

    Electronic Control Unit (ECU)

    • ECU is an embedded system in automotive electronics that controls on or more of the electrical systems in a vehicle

     

    What is Computer Architecture

     

    Abstraction Analogies (내부적으로 알 필요없다)

    Eight Great Ideas in Computer Architecture

    • Design for Moore’s raw (integrated circuit resources)
    • 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

     

    Below Your Program

    • The layers of software are organized primarily in a hierarchical fashion
    • Application software is written in high-level language
    • System software is sitting between the hardware and application software
      • Operating system interfaces between a user’s program and the hardware
        • Handling basic input and output operation
        • Allocating storage and memory
        • Resource sharing and task scheduling
        • ex) Linux, windows, ios
      • Compiler translates of a program written in high-level languages into instructions that the hardware executes
    • Hardware includes processor, memory, I/O controller, etc

     

    High-Level Language to Language of Hardware

    • High-level language is a level of abstraction close to problem domain
      • Providing for productivity and portablility
      • Compilers translate programs into instructions
    • Assembly language is a sysbolic representation of machine instructions
      • Aseemblers translate a symbolic version of instructions into the binary version
    • Machine language is a hardware representation of machine instructions
      • Represented by binary digits, ex) bits
      • Encoded instructions and data 

     

    Organization of a Computer

    • The five classic components of a computer are input, output, memory, datapath, and control
      • Processor: datapath + control
      • The processor gets instructions and data from memory
      • Input writes data to memory
      • Output reads data from memory
      • Control sends the signals that determine the operations of the data path, memory, input, and output
    • Same components for all kinds of computer
      • ex) desktop, server, and embedded

     

    Opening the Box (1)

    • I/O of the five components dominate the Apple iPhone XS Max
      • I/O : a capacitive multitouch LCD, front-/rear-facing cameras, microphone, speakers, Wi-Fi and Bluetooth networks, etc
      • The datapath, control, and memory are a tiny portion
    • There are many integrated circuits in the board
      • A12 processor contains two large and four little ARM processors (aka CPU) that operate with a clock rate of 2.5 GHz
        • Datapath performs arithmetic(연산) operations
        • Control sequences datapath, memory, and I/O
    • iPhone XS max package includes a memory chip with 32Gb
      • Memory is the storage area where programs and data are kept when running
      • The memory is built from dynamic random access memory (DRAM) chips that contain the instructions and data of a program
    • Cache memory consists of a small, fast memory that acts as a buffer for the DRAM
      • Cache is built using static random access memory (SRAM), which is faster but less dense, and hence more expensive, than DRAM
      • SRAM and DRAM are two layers of the memory hierarchy
    • Abstraction helps us deal with complexity by hiding lower-level details
      • Abstract of interface between the hardware and the lowest-level software is instruction set architecture (ISA), or simply architecture
      • Application binary interface (ABI) is the ISA + OS interface
      • Implementation is the hardware that obeys architecture abstraction

     

    A Safe Place for Data

    • Volatile(휘발성) memory loses instructions and data when power off (전원을 끌때)
      • Main memory or primary memory
      • Usually small size and fast
      • ex) DRAM and SRAM
    • Nonvolatile memory keeps programs and data when power off
      • Secondary memory
      • Larger size and slower than the main memory
      • ex) magnetic hard disk, flash memory, optical disk (CD, DVD)

     

    Communicating with other Computers

    • Networks interconnect whole computers and networked computers have several major advantages
      • Communication : Information is exchanged between computers at high speeds
      • Resource sharing: Computers on the network can share I/O devices
      • Nonlocal access: Users need NOT be near the computer they are using
    • Local area network (LAN) is desinged to carry data within a geographically confined area, typically within a single building: Ethernet
    • Wide area network (WAN) is a network extended over hundreds of kilometers that can span a continent: Internet
    • Wireless network: Wi-Fi, Bluetooth

     

    Chip Manufacturing Process

    • The manufacture of a chip begins with silicon, a substance found in sand
      • Silicon is called semiconductor because it does NOT conduct electricity well
      • With a special chemical process, it can be 1) excellent conductors, 2) excellent insulator, 3) areas that can conduct or insulate under specific conditions (switch)

     

    Cost of Integrated Circuit

     

    Defining Performance

    • Performance considerations for computer
      • Processor characteristics (ex) clock frequency, # of cores)
      • System bus speed
      • Cache/ Memory size
      • Disk storage (SSD or HDD)
      • Graphic cards (GPU)
      • Power consumption
      • Price, weight, form factor, etc

     

    Response Time

    • Individual computer user is interested in reducing response time (반응시간이 짧은지)
      • The time between the start and completion of a task, called execution time
    • Datacenter manager cares about increasing throughput (bandwidth) (많은 것을 처리하는지)
      • The total amount of work done in a given time
    • How are response time and throughput affected by
      • Replacing the processor with a faster one → both response time and throughput 증가
      • Adding additional processors → only throughput 증가

     

    Measuring Performance

    • Time is the measure of computer performance
      • Program execution time is measured in seconds per program
    • The most straightforward definition of time is called wall clock time, response time, or elapsed time
      • These terms mean the total time to complete a task, including disk/memory accesses, input/ouput (I/O) activities, operating system overheads - everything
    • CPU execution time (or CPU time) is the time the CPU spends computing for the task
      • This does NOT include the time consumed by I/O or other programs
      • CPU time can be further divided into user CPU time and system CPU time
    • Different applications are sensitive to different aspects of the performance of a computer system
      • To improve the performance of a program, one must have a clear definition of what performance metric matters
      • Then, proceed to find performance bottlenecks by measuring program execution

     

    CPU Clocking

    • Almost all computers are constructed using a clock that determines when events take place in the hardware
      • These discrete time intervals are called clock cycles (or ticks , clock ticks, clock periods, clocks , cycles)

    • Designers refer to the length of a clock period both as the time for a complete clock cycle and as the clock rate (frequency)
      • Clock period: duration of a clock cycle (ex) 250ps)
      • Clock rate (or clock frequency- clock cycle time의 역수) : cycles per sound (ex)4GHz)

     

    CPU Performance

    • The bottom-line performance measure is CPU execution time

    • The hardware designer can improve performance by
      • Reducing the number of clock cycles required for a program
      • Reducing the length of the clock cycle (i.e., increasing the clock rate)
    • The designer often faces a trade-off between the number of clock cycles and the clock rate

     

    Instruction Performance

    • The execution time depends on the number of instructions in a program

    • Instruction count for a program is determined by program, ISA, and compiler
    • CPI (Clock cycle per instruction) is the average number of clock cycles each instruction take to execute for a program
      • Determined by CPU hardware
      • Different instructions may take different clock cycles → CPI is an average

     

    Performance Summary

     

    Power Wall

     

    Amdahl’s Law

     

    MIPS as a Performance Metric

    • MIPS (million instructions per second) is given by

    • Faster computers have a higher MIPS rating
    • CPI varies between programs on a given CPU
    • MIPS does NOT account for
      • differences in ISAs between computers
      • differences in complexity between instructions
Designed by Tistory.