이론/컴퓨터구조

CPU 성능 분석

ohojee 2023. 11. 2. 15:28

성능에 영향을 미치는 요소

  • 크로스 컴파일러: 내가 실행하는 환경과 다른 컴파일 파일을 만들어줌 ex) 윈도우에서 임베디드 sys로 arm 사용해 컴파일하면 arm에서 실행되는 컴파일 파일 생성
  • CPU의 성능을 평가할 때 클록 속도가 중요
    • 클록 천천히 발생 ⇒ 실행 속도 느림 but 클록 속도가 빠르다고 무조건 성능이 더 우수하다고 할 수 x
      • 동일한 CPU 구조라면 클록 속도가 빠를 수록 빠름, but CPU 구조가 다르면 다른 요인도 함께 고려해야 o (cuz 명령어가 처리되는 과정이 다름 ex) 한 명령어를 한 클록에 실행 or 여러 클록에 실행)
  • 컴퓨터 안에는 클록 생성기 존재(일정 속도로 전기신호 발생) ⇒ 클록 신호가 발생할 때마다 마이크로 프로그램들이 하나씩 실행, 각 명령어가 사용하는 클록 수는 다름(한 개일 수도, 여러 개일 수도 O)
  • 헤르츠(Hz)
    • 주파수나 진동수의 단위, 1초에 몇 번 진동하는지 ⇒ 초당 사이클 (CPS, cycle per second)
    • ex) 클록 속도 3.0GHz? 1초에 3G번(3,000,000,000번) 클록이 발생한다는 것

CPU 실행시간의 분해

  • CPU의 성능은 프로그램 실행 시간으로 구분 가능
  • 하나의 프로그램에 대한 CPU 실행시간
    • 하나의 명령어를 처리할 때 사이클이 몇 개가 필요한가 = 몇 개의 클록이 필요한가 ⇒ CPI(Cycle Per Instruction)
  • but CPI는 명령어마다 다름 ⇒ 평균 CPI 사용

    ⇒ 최종 식은

    • 실행시간 ⬇️, 명령어 개수 ⬇️, 평균 CPI ⬇️, 사이클 시간 ⬇️, 클록 속도 ⬆️

예제

  • 클록속도 ⇒ Hz, 1/클록속도 ⇒ s(사이클 시간)
  • 실행시간 ⬇️ → 성능 ⬆️
  • ⇒ m2가 m1보다 1.19만큼 성능 향상이 있다, 1.19배 빠르다

성능에 영향을 미치는 요소의 분석

구분명령어 개수CPI 클록 속도
알고리즘알고리즘 최적화
명령어 집합 구조CISC 구조가 유리RISC 구조가 유리RISC 구조가 유리
컴퓨터 구현파이프라이닝짧은 데이터경로
컴퓨터 실현고밀도 반도체 제조 기술
💡
CISC(Complex Instruction Set Computer, 복합 명령어 집합 구조)
  • 명령어 개수가 많음(고성능 명령어 ⇒ 크기 큼)
  • 명령어 하나를 빠르게 처리 가능
  • 명령어 개수 많고 복잡, 명령어 길이가 김
  • 명령어 단위 하나로 처리 가능
💡
RISC(Reduced Instruction Set Computer, 축약 명령어 집합 구조)
  • 명령어 개수가 적음(기본적 명령어 ⇒ 크기 작음)
  • 명령어 하나를 빠르게 처리 가능
  • 명령어 개수 적고 단순, 명령어 길이 짧음
  • 어떤 알고리즘을 풀 때 여러 개의 명령어 필요
💡
파이프라이닝: 명령어 하나 실행 → 그 다음 실행이 아니라 하나를 실행하면서 그 다음 명령어 중첩 실행 병렬화와 관련
  • 아키텍처 수준
    • CISC 구조 사용 ⇒ 프로그램 크기 ⬇️, 평균 CPI와 사이클 시간 ⬆️
    • RISC 구조 사용 ⇒ 명령어 개수 ⬆️ , 평균 CPI와 사이클 시간 ⬇️
  • 컴퓨터 구현
    • 시스템 병렬화 ⇒ 평균 CPI가 ⬇️, 사이클 시간 ⬆️ cuz 한 사이클에 처리해야될 일 증가
  • 컴퓨터 실현
    • 집적도를 높임 ⇒ 사이클 시간 ⬇️, 비용 ⬆️

Uploaded by N2T