컴퓨터 구조 1강 (feat. 무어의 법칙)

shinychan95·2020년 3월 19일
2
post-thumbnail

모든 내용을 정리하는 것이 아니라, 주 맥락이나 파헤치며 배우고 깨닫게 된 부분에 대해서 정리합니다.

컴퓨터 구조 수업에 대해서

넓게 말하자면, Architecture와 Microarchitecture에 대한 수업이다. 각각은 다음과 같다.

  • Architecture - 하드웨어와 소프트웨어 인터페이스. 즉, 컴퓨터 하드웨어가 어떻게 소프트웨어와 상호작용 하는가.
  • Microarchitecture - 아키텍처의 실행(구현)이 실제로 어떻게 되는가. 어떻게 컴퓨터가 동작하는가.

하지만, 집중할 것은 설계가 왜 그런지 insight + 디자인에 있어서 trade-offs

 

다루게 될 주제들

  • Instruction Set Architecture (ISA)
  • Processor
    • Datapath
    • Control
    • Pipelining
  • Memory
    • Memory hierarchy
    • Cache/TLB
    • Virtual memory
    • Memory devices
  • I/O
    • I/O mechanism
    • Storage
  • Parallel computing
    • Parallel architectures
    • Synchronization
  • Advanced topics
    • Out‐of‐order execution
    • GPGPU
    • Domain‐specific architecture

하나도 모른다 외딴섬이라 더욱 망했네

 

1강 정리

Architecture vs Microarchitecture

  • Architecture (a.k.a. Instruction Set Architecture)
    • attributes of a system as seen by the programmer, i.e.,The conceptual structure and functional behavior as distinct from the organization of the dataflow and controls, the logic design, and the physical implementation. (약간 사용자가 전체적인 구조도를 한눈에 살펴볼 수 있는 인터페이스적인 용도로 그려놓은 기능을 담고 있는 느낌)
    • ex) Von Neumann Architecture(or stored‐program computer): both program and data are store in memory

 

  • Microarchitecture (or computer organization)
    • The way a given instruction set architecture (ISA) is implemented in a particular processor. (아래 그림과 같이 프로세서 혹은 컴퓨터처럼 특정한 물건의 세세한 구조도 기능이 구현되기 위한 실제적인 구조)
    • ex) Processor

 

Computer System Abstractions

우리는 붉은색 두 가지에 대해서 배울 것이다.

 

Transistor

  • Digital Circuits = A Lot of Switeches
    • Transistor, vacuum tube, … - Switch to connect or disconnect for 0 (gnd) and 1 (Vdd)

If you have INV, NAND, NOR.. You have everything to build a digital logic device and memory.

 

Challenges in Computer Architecture

무어의 법칙에 대해서는 많이 들어봤고 안다고 생각하다. 하지만 아니었다.
정말 많은 것을 다시 알게 되었다.

  • 세로축이 속도가 아닌 트랜지스터의 수 이다.
  • 그리고 이 그래프만으로는 컴퓨터 아키텍처의 한계가 드러나지 않는다. 아래의 그래프를 봐야 한다.

  • 트랜지스터 수는 많아져도, 단일스레드 성능은 그에 비례하여 증가하지 않는다.
    • 파워를 어느 수준 이상으로 올릴 수 없다. 왜냐하면 이론적인 온도가 태양에 가까워진다. (Power Wall)
    • 프로세서 성능 성장에 비해 메모리 성능 성장이 확연히 느려서 병목 현상이 발생한다. (Memory Wall)
    • Roughly same power budget, but 1.6x performance. (Parallelism Wall)
    • 작아지면서 오류가 많이 발생한다. (Reliability Wall)

 

Recent Developments

  • GPU vs CPU
    • 사실 둘다 숫자 처리를 위해 디자인되었다. 하지만 왜 GPU는 일반 계산을 목적으로 사용하지 않는가?
  • 그래서 나온 것이 GPGPU
    • Key enabler of the deep learning breakthrough

 

정리 끝

🙋‍♂️

profile
개발자로 일하는 김찬영입니다.

0개의 댓글