본문 바로가기
Computer S&E/컴퓨터구조

[컴퓨터구조] 1-3. Performance

by 와플킴 2022. 10. 25.
728x90

Defining Performance

무엇을 기준으로 하느냐에 따라 성능이 다름

Response Time as Performance

개별 유저 기준으로 본다

  • 컴퓨터 X에 대한 퍼포먼스

성능X = 1 / 실행 시간X

  • X와 Y 비교

성능 시간 좋은 쪽이 실행 시간 짧다

  • X is n times faster than Y

성능X / 성능Y = 실행 시간Y / 실행 시간X

# Question

A program 10s on A, 15s on B

**How much faster is A than B?**

# Solution

**A가 B보다 1.5배 빠르다**

수행 시간 측정

경과 시간

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

디스크 접근, 메모리 접근, 입출력 작업, 운영체제 오버헤드 등 모든 시간을 다 더한 것

CPU 시간

입출력이나 다른 프로그램을 실행하는 데 걸린 시간은 포함되지 않음

→ 우리는 CPU 시간으로 성능을 정의

Clock Cycle as Performance

클럭의 시간 간격

클럭 주기 period

한 클럭 사이클에 걸리는 시간

ex) 250ps

클럭 속도 rate

클럭 주기의 역수

ex) 4GHz

CPU Performance

프로그램에 대한 CPU 사용 시간

= cycle 개수 * 한 번 cycle 도는 데 몇 초

= cycle 개수 / clock rate 클럭 속도

# Question

Com A: 2GHz clock rate, 10s CPU time
Com B: 1.2 times clock cycles, 6s CPU time

**What is the clock rate of com B?**

# Solution

****A: 10s = <cycles> / 2GHz
cycles = 10s * 2GHz

B: 6s = 1.2 * 10 * 2GHz / <rate>
rate = 1.2 * 10 * 2GHz / 6s = **4GHz**

CPI: 명령 하나 수행하는 데 걸린 clock cycles 수

CPU clock cycle 수 = 프로그램의 명령어 수 * 명령어 하나 당 clock cycle 수 (CPI)

  • 프로그램에 대한 명령어 수
  • 프로그램, ISA, 컴파일러로 결정
  • 명령어 하나 당 평균 사이클 수
  • CPU hardware로 결정

CPU time

= 명령어 수 * CPI * clock cycle time

= 명령어 수 * CPI / clock rate

Time = 초 / 프로그램

= 명령어 수 / 프로그램 * 사이클 수 / 명령어 수 * 초 / 사이클 수

A: clock cycle time = 250ps, CPI = 2.0
B: clock cycle time = 500ps, CPI = 1.2
Two computers have the same ISA

**Which computer is faster, and how much?**

CPU time
= instruction count * CPI * cycle time

A = I * 2 * 250ps = I * 500ps
B = I * 1.2 * 500ps = I * 600ps

**A가 1.2배 빠르다**
<   > <CPI for each instruction class>
<   > <A> <B> <C>
<CPI> <1> <2> <3>

<    > <Instruction counts for each instruction class>
<Code> <A> <B> <C>
< 1 >  <2> <1> <2>
< 2 >  <4> <1> <1>

**Which code executes more instructions?**

Code 1: 2 + 1 + 2 = 5
Code 2: 4 + 1 + 1 = 6
**instruction 수는 2가 더 많다

Which one is faster?**

Code 1: 2 + 2 + 6 = 10
Code 2: 4 + 2 + 3 = 9
**속도는 2가 더 빠르다

What is the CPI for each code?

Code 1: 10 / 5 = 2
Code 2: 9 / 6 = 1.5**

Understanding Program Performance

알고리즘, 프로그래밍 언어, 컴파일러 → instruction count, CPI에 영향

ISA → instruction count, CPI, clock rate에 영향

왜냐햐면, 어떤 ISA를 쓸건지 보고 clock rate를 설계하기 때문

Power Wall

스위칭 빈도는 clocrk rate에 비례

728x90

'Computer S&E > 컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] 1-2. Computer Organization  (1) 2022.10.13
[컴퓨터구조] 1-1. Introduction  (0) 2022.10.12
[컴퓨터구조] Performance  (0) 2022.09.08

댓글