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

- 클록속도 ⇒ 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