Computer Abstractions and Technology
Moore's Law
하나의 싱글 칩에 들어갈 수 있는 트랜지스터의 수가 매년 2배씩 늘어나는 법칙
What You Will Learn
- How Programs are translated into the machine language
- The hw/sw interface
- What determines program performance
- How hardware designers imporve performance
Eight Great Ideas in Computer Architecture
- Design for Moore's Law
- Use abstraction to simplify design design
- Make the common cast fast
- Performance via parallelism
- Performance via pipelining
- Performance via prediction
- Hierarchy of memories
- Dependability via redundancy (redundancy를 통한 안정성 / 신뢰성 획득)
Below Your Program
- Application software
- high-level language로 작성됨
- System software
- Compiler: HLL code > machine code로 translate
- Operating System
- Hardware
- Processor, memory, I/O controllers
Levels of Program Code
- High-level language
- Level of abstraction closer to problem domain
- Assembly language
- Textual representation of instructions
- Hardware representation
- Binary digits (bits)
- Encoded instructions and data
Under the Covers
Inside the Processor(CPU)
- Datapath: performs operations on data
- Control: sequences datapath, memory, ...
- Cache memory
- Small fast SRAM memory for immedicate access to data
A Safe Place for Data
- Volatile main memory(휘발성 메인 메모리, DRAM)
- Loses instructions and data when power off
- Non-volatile secondary memory memory(저장장치, storage)
- Magnetic disk
- Flash Memory
- Optical
Networks
- Communication, resource sharing, nonlocal access
- Local area network (LAN): Ethernet
- Wide area network (WAN): the Internet
- Wireless network: WIFI, Bluetooth