반응형

컴퓨터 구성 요소

  1. Input
  2. Output
  3. Memory
  4. 프로세서
    • datapath(데이터가 다니는 통로)
    • control(제어 유닛)

 

각각의 예시

  • input : 키보드, 마우스, 마이크, 네트워크 어댑터, SSD
  • output : 스피커, LCD, SSD
  • memory : dram(느리지만 용량이 큼), sram(빠르지만 용량이 크진 않음)
  • processor(cpu : central processing unit)
    • data path : 산술 연산을 수행
    • control : datapath, memory, I/O에게 뭘 할지 명령

 

컴퓨터 성능

응답시간(Response Time = execution time)

작업개시에서 종료까지의 시간
일반적으로 사용자가 요청을 시작한 후 첫 번째 응답을 받을 때까지 걸리는 시간을 측정(웹페이지 요청)

  • 디스크 접근, 메모리 접근, 입출력 작업, 운영체제 오버헤드 및 cpu시간을 다 포함

 

Throughput(Bandwidth)

일정 시간동안 처리하는 작업의 양

  • bps(bit/s)
  • flops
    • 단위시간 1초에 얼마나 많은 floation point를 연산하는가(즉, 1초에 (+, *)연산을 몇번 하는가?)
    • 예시)
      • 2G flops per 1 cpu
      • 4 cpu = 8G flops
    • 단위
      • 1k → 1M → 1G → 1T → 1P (*10^3)
      • 키로 → 메가 → 기가 → 테라 → 페타
      • 1m → 1µ → 1n → 1p → 1f (/10^3)
      • 미리 → 마이크로 → 나노 → 피코 → 펨토

 

Wall clock time(elapsed time)

한 작업을 끝내는데 필요한 전체 시간

  • 프로그램이 실행되는 데 걸리는 시간이나 파일을 전송하는 데 걸리는 시간 등을 측정할 때 사용

🔥 response time과 wall clock time의 차이점

wall clock time은 작업이 완료되는 데 걸리는 전체 시간을 측정하고, response time은 요청에 대한 응답이 얼마나 빨리 전송되는지를 측정

cpu time

I/O 대기시간을 제외하고 cpu가 이 작업에만 사용한 시간

  • 프로세서가 순수하게 이 프로그램을 실행하기 위해 소비한 시간

 

공식

Response time(실행 시간)

스크린샷 2023-04-14 오후 2 19 43

 

cpu time(cpu 실행시간)

스크린샷 2023-04-14 오후 2 22 02스크린샷 2023-04-14 오후 2 24 11

 

CPI(명령어 성능)과 CPU 클럭사이클 수

스크린샷 2023-04-14 오후 2 24 05

 

문제 예시

  1. 같은 프로그램을 컴퓨터 A에서 10초, B에서는 15초 컬린다면 A는 B 보다 얼마나 빠른가?

 

풀이
A가 B보다 얼마나 빠른지 묻는 것이므로 상대적인 값 구하기

스크린샷 2023-04-14 오후 2 28 54

실행시간 A의 1.5배가 실행시간 B

  1. We want to build a computer B that execute our
    program in 6 seconds whereas a 2GHz-computer A
    does in 10 seconds. Raising the clock rate of the
    computer B causes to require 1.2 times as many clock
    cycles as computer A. What should be the clock rate
    of computer B?

 

컴퓨터 A = 실행시간 : 10초, 클럭싸이클 시간 : 2GHz
컴퓨터 B = 실행시간 : 6초, 클럭싸이클 시간 : ?

컴퓨터 B의 클럭속도를 높이는 것은 컴퓨터 A의 클럭싸이클 수를 1.2배한 만큼이 필요하다.

스크린샷 2023-04-14 오후 2 39 38스크린샷 2023-04-14 오후 3 33 39

 

  1. Which code sequence will be faster?

image스크린샷 2023-04-14 오후 5 14 38

 

4.

스크린샷 2023-04-14 오후 5 16 12

 

  1. Computers A and B implement the same ISA. Computer A has a clock cycle time of 250 ps and an effective CPI of 2.0 for some program and computer B has a clock cycle time of 500 ps and an effective CPI of 1.2 for the same program. Which computer is faster and by how much?

 

프로그램 성능에 영향을 미치는 것

image

효과적인 알고리즘을 골라야 좋은 퍼포먼스가 나옴(CPI, 명령어 개수에 영향)

프로그래밍 언어에 따라 명령의 개수에 형향을 줌

컴파일러는 소스 언어를 컴퓨터 명령어로 변환하는 역할으 수행하기에 얼마나 효율적인가에 따라 영향을 줌

ISA는 명령어 집합 구조로 어떤 기능을 수행하기 위해 필요한 명령어의 수, 명령어당 사이클 수, 프로세서의 클럭 속도에 미치는 영향을 미침

 

Power

  • 집적회로의 주된 기술인 CMOS가 에너지를 소비하는 주원인은 동적 에너지(트랜지스터가 0=>1 혹은 반대로 스위칭 되는 동안 소비되는 에너지)스크린샷 2023-04-14 오후 5 19 41
If we reduce a voltage 25%, how much can we reduce 
the dynamic power consumption?

스크린샷 2023-04-14 오후 5 20 34

  • 파워를 낮추는 방법 : 전압 낮추기
  • frequency를 유지하면서 전압을 낮추기는 힘듦
    • 트랜지스터의 volatge를 줄일 수 없어서(Threshhold volatge가 고정되어있기에 V_{dd}가 더 낮출수 없기 때문에(0과 1이 구분이 안될 수 있음)
  • 멀티코어로 기술 발전(전압을 낮추긴 힘들기에 코어를 여러개 사용)

 

단일 프로세서에서 멀티 프로세서

멀티코어는 성능을 늘릴 수 있음(Power 소비량을 비슷하게 유지하면서)

  • 한 프로그램의 응답속도 개선 대신 여러 프로그램의 처리량을 개선
    • 예를 들어 for문을 돌아도 100번까지 돌면 한 프로세스는 049, 다른 프로세스는 50100까지 도는 형식으로 멀티코어로 처리량 개선하기위한 알고리즘 필요
    • 멀티코어여도 순서가 있다면 처리량이 비슷함?
      • 하드웨어 악셀러레이터 사용(특수 작업을 빠르게 처리)
  • C는 늘지만 전압과 Frequency를 줄여 전체 Power를 줄임
  • 나노를 줄일수록 vdd를 줄이는데 power

 

Amdahl의 법칙

스크린샷 2023-04-14 오후 5 25 43

A program runs in 100 seconds in a computer. Multiply 
operations takes 80 seconds out of 100 seconds. How 
much speedup do I have to achieve in multiply 
operation to make the program 5 times faster ?

스크린샷 2023-04-14 오후 5 26 57

개선크기를 구할 수 없음

MIPS

실행시간 대신 쓸 수 있는 척도 중 하나

스크린샷 2023-04-14 오후 5 28 06

instuctions(명령어 집합)가 다른 경우 mips로 비교해도 의미 x

📌cpu 실행시간만이 유용한 성능 척도

반응형

+ Recent posts