-
컴퓨터구조) 01 Computer Abstractions and TechnologyCS/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
- Operating system interfaces between a user’s program and the hardware
- 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
- A12 processor contains two large and four little ARM processors (aka CPU) that operate with a clock rate of 2.5 GHz
- 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
'CS > Computer Architecture' 카테고리의 다른 글
컴퓨터구조) 3 Arithmetic for Computers (0) 2023.01.02 컴퓨터구조) 02 Instructions: Language of the Computer (0) 2023.01.02