Computer Architecture

[컴퓨터 구조 및 설계] 1-2. Computer Abstractions and Technology: Performance

noahkim_ 2025. 3. 24. 20:37

최규상 님의 KOCW 강의 "컴퓨터 구조"를 정리한 글입니다.

* David A. Patterson님과 John L. Hennessy 님의
"컴퓨터 구조 및 설계" 책을 교제로 한 강의입니다. (책의 내용은 포함되지 않았습니다)



1. Performance

구성 요소

개념 설명
Response Time 오퍼레이션이 완료되기까지 걸리는 시간.
Throughput 단위 시간당 처리할 수 있는 작업의 양.

 

상관 관계
  • Response Time이 줄어들면, Throughput이 증가함
  • Throughput은 Response Time에 영향을 주지 않음

 

Execution time

개념 설명
Elapsed Time (실행 시간) 명령 실행에 걸린 총 시간.
System Performance를 정의하는데 중요한 요소.
- Processing: 연산에 걸린 시간.
- I/O: 입출력에 걸린 시간.
- OS Overhead: 운영체제에서 소요된 시간.
- Idle Time: 대기 시간.
CPU Time (CPU 시간)
CPU에서 실행되는 작업에 걸린 총 시간.
- User CPU Time: 사용자가 수행한 작업에 걸린 시간.
- System CPU Time: 운영체제가 수행한 작업에 걸린 시간.
  • Performance는 Execution Time과 반비례 관계
  • Execution Time이 짧아지면 성능이 향상됨

 

CPU Time

  • CPU가 작업을 완료하는데 걸리는 시간
  • CPU Time = CPU Clock Cycle / CPU Rate
개념 설명
Clock Cycle Time
하나의 클락 사이클에 소요되는 시간.
단위: picoseconds (ps), 1 ps = 10−12초.
Clock Rate
초당 발생하는 클락 사이클의 횟수.
Clock Period와 반비례 관계.
단위: Gigahertz (GHz), 1 GHz = 109 사이클/초.

 

성능 향상
  • Clock Cycle Time 감소
    • Clock Cycle Time가 줄어들면, 작업을 완료하는 데 걸리는 시간이 짧아짐
    • 하나의 클락 사이클에 필요한 시간이 적어지면 더 빠르게 작업을 처리할 수 있음
  • Clock Rate 증가
    • Clock Rate가 높아지면 초당 처리할 수 있는 클락 사이클이 많아짐
    • 더 많은 작업을 더 빨리 처리할 수 있음

 

Instruction Conut and CPI

항목 설명
CPI (Cycles per Instruction)
각 명령어가 실행되는 데 필요한 클락 사이클 수.
Clock Cycle
전체 클락 사이클 수 = Instruction count(실행해야 할 명령어 수) × CPI(각 명령어의 클락 사이클 수)
CPU Time
전체 CPU 시간 = Instruction count × CPI × 클락 주기 시간

 

성능 결정 요소
항목 설명
Instruction Count
한 인터페이스 명령에 사용하는 기계 명령의 횟수가 적을수록 성능이 좋음.
(알고리즘, 프로그래밍 언어, 컴파일러에 따라 결정됨)
Average Cycle
인터페이스 명령이 다양하므로 평균을 내어 factor로 사용.
(ISA 및 CPU 하드웨어에 따라 결정됨)

  

2. The Power Wall

Power

  • 전력 소비량
  • = capacitive load(회로가 전하를 저장하는 능력) * Voltage^2 * Frequency(클록 주파수)

 

Trend

clock rate
  • clock rate는 2004년부터 급격히 증가하였으나, 계속해서 정체중
  • clock rate이 빨라지면 속도가 빨라지지만, 전력 소모도 급격히 증가

 

power
  • power도 clock rate에 따라 급격히 증가하였으나, 계속해서 완만히 감소중
  • 전압 감소와 주파수 감소 등의 기술적 개선 덕분에 완만하게 감소하는 추세입니다.

 

voltage과 frequency
  • frequency는 1000배 빨라지고, Voltage 사용을 5->1V 로 낮아짐
  • 전압이 낮아져 전력소비는 30배정도만 power가 증가하는 수준으로 제한됨

 

Reducing Power

  • capacitive load, voltage 및 frequency가 85%까지 줄여 전력 소비를 개선하였음
  • 그러나 이 이상 발전하지 못하였음

 

Power Wall

  • 전력 소비를 줄이는데 있어 드라마틱한 성능 향상이 더이상 가능하지 않음

 

전압과 주파수를 낮추지 못함
  • 전압을 낮추면 반도체 소자가 제대로 동작하지 못하거나 성능이 급격히 떨어짐
  • 주파수를 낮춰도 성능이 감소함 (한 사이클당 처리할 수 있는 명령어 수가 줄어듬)

 

열 문제
  • 전압이나 주파수를 높이면 성능은 향상되지만 그만큼 더 많은 열이 발생함
  • 이 열을 처리하는데 한계가 있고, 일정 수준 이상의 과열은 시스템을 불안하게 만듬

 

3. The Sea Change: The Switch to Multiprocessors

  • Power Wall을 해결하기 위한 방법

 

Uniprocessor

  • 성능 향상에 한계 발생
  • Power, Instruction-Level Parallelism(ILP), Memory Latency 제약 존재

 

Multiprocessor

  • 성능 향상을 위해 parallel programming을 사용해야 함

 

어려움
  • 프로그래머가 일일이 병렬 프로그래밍 스타일로 짜야 함
  • 스레드별 할당작업을 균등하게 나누어줘야 함
  • 동시성 오버헤드를 줄여줘야 함

 

SPEC 

  • Standard Performance Evaluation Corp

 

CPU Benchmark
  • CPU 성능 측정

 

Power Benchmark (서버)
  •  초당 워크로드 처리 

 

Fallacies and Pitfalls

Amdahl's Law

  • 컴퓨터에 어느 한 부분을 성능 향상 시키면, 전체 성능향상이 비례함

 

 

출처