1. 컴퓨터 구조를 배우면 항상 등장하는 식.
cpu time (execution time) = IC * CPI * CCT
실행 시간은 instruction 개수, instruction 하나당 cycle 수, 1cycle당 걸리는 시간(sec)의 곱이라는 의미이다.
보통 CCT의 경우, clock rate (clock frequency)로 표현이 되는데, 이는 CCT의 역수이다.
즉 clock frequency는 1초당 몇 cycle인지를 의미하며, Hz 단위를 보고 이 숫자가 clock frequency임을 파악하게 된다.
CPI = ideal CPI + stall CPI
stall CPI = data hazard s.CPI + control hazard s.CPI + structural hazard s.CPI + cache miss s.CPI
cf : data hazard의 경우 다른 게시물에서 자세히 설명하였다. :)
2. Static vs Dynamic
① IC
-- static IC : 프로그램의 instruction 개수
-- dynamic IC : 위 식에서의 IC
② Power와 Energy
-- static Power/Energy : 실행중이 아닐 때도 소모되는.
-- dynamic Power/Energy : 실행하면서 소모되는
3. Power vs Energy (dynamic)
Power는 변화율. "얼마나 베터리를 빨리 소모하는가" 를 의미한다. (단위 : Joule)
Energy는 총량. "베터리가 얼마나 남았는가"를 의미한다. (단위 : Watt)
시간에 대해서 power를 적분하면 energy가 되고, 반대로 energy를 미분하면 power가 된다.
<공식>
Power .. C V^2 f
Energy .. C V^2
예를 들어 clock frequency를 2배 낮추면, power는 2배 감소한다. 이것은 더 느리게 일하는 대신 베터리를 더 느리게 소모함을 의미한다. 반면, energy는 변화가 없다. "베터리의 양"을 의미하는 energy는 일하는 속도와는 무관하기 때문이다.
이때 Execution time의 경우, 2배 증가한다. 이것은 더 느리게 일하기 때문에 더 오래 걸리는 것을 의미한다.
cf : V(Voltage)를 낮추면 frequency가 같이 감소하는 것이 일반적이다.
이것에 대한 이유는 나의 생각인데, 전류가 흐르기 위한 높낮이를 만들어주는 전압이 낮아지는 것이므로,
자연스럽게 더 느리게 일하게 되는 것이다.
4. Static Power
static power = static current * voltage
static power는 누설 전류에 의해 발생한다. 즉 공식의 static current는 누설 전류의 세기를 의미한다.
5. 암달의 법칙
(최대로 올릴 수 있는 속도) = 1 / {(1 - 향상시킨 성능 비율) + 향상시킨 성능 비율/향상시킨 속도}
내가 60%를 차지하는 파트에 대해 10배의 성능 향상을 이루었다면, 전체 속도도 40% 증가했으면 좋겠지만,
나머지 40%가 성능 향상과 무관하기 때문에, 전체 속도 향상이 그보다 적게 이루어지는 상황을 의미한다.
0.6 + 0.4/10 = 0.64
1 / 0.64 ≒ 1.56 배로 속도가 향상된다.
p/s : 암달의 법칙 공식이 너무 복잡하다. 예시로 기억하자!
'컴퓨터 구조' 카테고리의 다른 글
Speculative Tomasulo's Algorithm (0) | 2024.03.16 |
---|---|
Dynamic Branch Prediction Overview (0) | 2024.03.16 |
Data Hazard 3가지 - RAW, WAR, WAW (0) | 2024.03.16 |
[컴퓨터 구조] Pipelined Processors 종류 (0) | 2024.03.11 |
[Cache] Cache의 종류와 Memory System (2) | 2023.11.06 |