ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CPI (Clock per instruction) 및 프로세스 성능 향상 기법
    컴퓨터지식/컴퓨터구조 2024. 5. 5. 13:40

    CPI (Clock per instruction)

    컴퓨터의 모든 명령어는 CPU의 클럭 펄스에 맞춰 명령어를 처리하는 방식으로, 클럭 펄스에 따라서 메모리에서 명령어를 가져와서 해석하고 처리하는 방식으로 작동한다.

    CPI는 Clock per instruction 으로 한 명령어를 실행하는 데 걸리는 평균 클럭 사이클 수를 나타내며, 프로세서의 성능을 평가하는 중요한 지표 중 하나이다. CPI가 낮을수록 프로세서가 효율적으로 작동하고 빠르게 명령어를 처리할 수 있다,

    최근에는, 파이프라이닝과 캐시모메모리 기술을 활용해서 CPI를 줄이기 위한 기술들을 적용하고 있으며, 파이프라이닝의 경우 한번의 싸이클의 CPU의 fetch, decode, exucte의 과정을 병렬적으로 처리하기 위한 방법으로 활용된다.

    만약 1.0GHz 주기의 프로세서가 있다면 1.0GHz = 1 x 109 이므로 clock period는 10-9즉 1ns 이다

     

    CPI 예제

    프로그램 수행 시간 계산은 다음과 같다

    T (time) = cycle time (cycle 당 소요되는 시간) x CPI (각 명령어 수행시 소요되는 cycle 수) x 명령어 수 (컴파일 했을 경우 명령어의 수)

    ex) 기존 응용프로그램이 15초에 걸려 수행이 되었을때, 새로운 컴파일러의 명령어가 0.6배 줄고, CPI는 1.1배 커졌을때 새 컴파일러에서의 수행 시간은?

    15 = cycle time x CPI x 명령어수

    15 = cycle time x (1.1 x CPI) x (0.6 x 명령어 수)

    -> 15 x 1.1 x 0.6 = 9.9

     

    프로세서 성능 향상 방안

    구분 방법
    직접도 향상 CPU 내의 레지스터, 캐시, 버스 비트 증가 등
    clk 속도 향상 clk 속도 증가
    레지스터 수 증가 레지스터 수 증가로 CPU 의 빠른 응답
    파이프라이닝 슈퍼스칼라, 슈퍼 파이프라이닝등 의 기술 적용

     

     

    프로세서 성능 향상 기법

    프로세스 성능 향상을 위해서는 CPI를 낮추는 것이 중요합니다. 이를 위해 파이프라인을 세분화하여 명령어 처리를 여러 단계로 분할하여 동시에 실행하는 방법과 단일 사이클에 여러개의 명령어를 동시에 수행하는 방식과 같은 방법들이 고안되었다.

     

    아래는 프로세서 성능향상을 위한 다양한 아키텍처들과 장,담점을 비교한 표이다.

     

    아키텍처 설명 장점 단점
    파이프라인 명령어 처리를 여러 단계로 분할하여 동시에 실행하는 구조 명령어 실행 시간을 단축하고 프로세서 성능 향상 명령어 간의 의존성 문제가 발생 가능
    슈퍼 파이프라인 파이프라인을 더 세분화하여 병렬성을 더 극대화 파이프라인 세분화로 더 높은 성능 향상 파이프라인 스테이지가 많아질수록 오버헤드 발생 가능
    슈퍼 스칼라 단일 사이클에 여러개의 명령어를 동시에 수행 여러 명령어를 동시에 실행하여 병렬성 향상 명령어간의 의존성 처리를 위해 복잡한 하드웨어 및 제어로직 필요
    슈퍼파이프라인 + 슈퍼스칼라 두개를 결합하여 높은 병렬성과 성능 향상 높은 성능 하드웨어 및 로직이 복잡해지고 전력 소비 증가
    VLIW 하나의 명령어 안에 여러개의 서브 명령어를 묶어 동시에 실행 단순 하드웨어로 병렬성 최대 소프트웨어 복잡성 증가

     

Designed by Tistory.