본문 바로가기
Digital Hardware Design/Computer architecture

Computer architecture(2)

by 꿀벌이목표 2022. 10. 14.
반응형

이어서 설명하겠습니다. 

이번장에서는 이전 장에서의 용어를 공부하신다고 생각하면 마음 편하실 것 같네요

 

Ⅰ. Clock Cycle Time

- Clock Cycle time은 당연히 critical path에 영향을 받는 요소이며, Transition 되기 위해 요구되는 시간을 의미합니다.

- 아래의 그림을 보시면 이해가 되실 겁니다.

clock cycle time

- 앞서 말씀드렸듯이, clock cycle time은 Logic design과 가장 연관되어 있습니다.

    + 아래와 같이 가정을 해봅시다.

        > 모든 저장 요소(fiip-flop)는 동일한 clock을 사용

        > Eege-triggered 클럭을 사용

        > Clock이 충분이 느리면, 어떠한 design이든 항상 동작이 가능

    + 위의 조건을 가지는 logic을 그림으로 표현하면 아래와 같습니다.

        > "Longest propagatio delay"를 줄인다면, 그만큼 clock cycle time을 줄일 수 있겠죠? 

        > 위의 말을 다시 돌려 말하면, Logic을 최적화하여 설계를 해서  "Longest propagatio delay"을 줄이면  clock cycle time을 줄일 수 있다는 말입니다. 즉, 성능 향상이 가능하다는 것입니다.

        ※ Longest propagatio delay(=Critical path delay) : 많은 path들 중에서 가장 긴 timing delay를 가지는 path를 의미 (STA(Static Timing Analysis를 통해서 식별 가능)

Ⅱ.  Execution time

- CPU의 Execution time은 빈번하게 사용되며, 계산하는 수식은 아래와 같습니다.

execution time 수식

- Program의 Clock cycle 수와 Clock cycle time을 곱하면, Execution time을 손쉽게 계산 가능합니다.

Ⅲ. CPI(Cycle Per Instruction)

- CPI는 Instruction(ex. MOV. ADD 등) 마다 Clock Cycle 이 다르기 때문에, 평균값을 사용

- ISA(Instruction Set Architecture)들은 CPI를 사용하여 비교가 가능
(※ CPI는 낮을수록 좋으며, IPC(Instruction Per Cyle)은 클수록 좋음)

- CPI를 안다면, Excution time은 아래와 같이 다시 쓰일 수 있습니다.

execution time 수식

Ⅳ. MIPS(Million Instruction Per Second)

- MIPS는 그대로 시간당 명령어(instruction)의 수만 카운트 합니다.

MIPS 수식

- 이것은  IPC를 고려하지 않았을 뿐만 아니라, 명령어의 Clock Cycle 등이 고려되어 있지 않습니다.

    + 쉽게 말씀을 드리면, RISC(Reduced Instruction Set Computer)와 CISC(Complex Instruction Set Computer)는 IPC가 크게 차이가 나는데, 이 둘의 IPC를 고려하지 않고 MIPS의 수치로만 성능을 판단하면 큰 실수로 이어지는 것이지요.

 

Ⅴ. Performance 향상 방법

- Performance를 향상시키는 방법은  "Execution time"을 감소시키는 것입니다. 이를 위해서는 아래의 방법이 존재합니다.

    + Clock rate를 향상 시키기

    + 더 낮은 CPI

    + Instruction을 감소시키기

- 성능을 향상시킬때에는 상충되는 metric 간에 trade-off를 잘 고려해서 최적화하여야 합니다.

- 최종적으로 execution time의 수식은 아래와 같이 정리할 수 있습니다.

- execution time 수식

- Instruction count / CPI / Clock rate의 영향은 아래와 같이 정리 가능합니다.

  Instruction Count CPI Clock Rate
Program    
Compiler  
ISA  
Organization  
Technology    

Ⅵ. Amdahls' law

- 정의 : Execution  speedup은 향상의 정도와 영향을 받은 양에 비례

    + 어떤 시스템을 개선하여 P 만큼의 부분에서 S 만큼의 성능 향상이 있을 때, 전체 시스템의 최대 성능 향상은 1/ ( (1-P)* (P/S) )

- 수식은 아래와 같이 정의된다.

성능이 향상된 Execution time을 계산하는 수식

    +예를 들어, 연산 명령어의 성능이 2배 향상되었고 해당 명령어는 전체의 20%를 차지할 경우 새로운 Execution time 은 아래와 같이 계산됨

        > ExTime(new) = ExTime(old) x  (0.8 +  0.2/2) = 0.90 x ExTime(old)

        > Speedup(overall) = ExTime(old) / ( 0.90 x ExTime(old) ) = 1.11111

 

반응형

댓글