Script
프로세서는 무조건 빠른게 좋을까? 본문
1.프로세서의 작업 루틴
오늘날 사용되는 실제 프로세스는 성능을 중심으로 훨씬 복잡하게 구성되어 있다.
프로세서는 인출,해석,실행 사이클을 계속 반복 수행한다.
우선 메모리에서 다음에 처리할 명령어를 인출한다.
보통은 다음 메모리 위치에 저장된 명령어지만, GOTO나 IFZERO가 명시하는 위치에 있는 명령어일수도 있다.
이어서 가져온 명령어를 해석한다.
즉, 명령어가 무슨 일을 하는지 파악하고 명령어를 수행하는데 필요한 모든 준비를 마치는 것을 의미한다.
다음으로 명령어를 실행한다.
명령어 실행은 메모리에서 정보를 가져오고, 산술 연산이나 논리 연산을 수행하며, 그 결과를 저장하는 인출 단계로 되돌아 간다.
2.컴퓨터 아키텍처
컴퓨터 아키텍처는 프로세서 설계와 더불어 프로세서와 컴퓨터 나머지 부분 간의 연결 설계를 다루는 분야다.
컴퓨터 아키텍처 분야의 주요 관심사 중 하나는 명령어 집합이다.
명령어 집합이란 프로세서가 제공하는 명령어 레퍼토리를 뜻한다.
컴퓨터 아키텍처는 기능성,속도,복잡도,전력 소모 정도, 프로그램 가능성 등 상충하는 요구 간 복잡한 트레이드오프를 수반한다.
트레이드 오프는 짧게 얘기해서, 하나를 얻으면 다른 하나는 무조건 잃게된다는 것을 뜻한다.
ex) 전력 소모 정도를 낮추면 속도가 저하되는 등
3.아키텍처 기법
설계자들은 프로세서가 더 빨리 작동하도록 만들기 위해 여러가지 아키텍처 기법을 동원한다.
- 파이프라이닝- 인출과 실행단계가 겹치도록 프로세서를 설계해서 명령어 여러개가 다양한 단계에 걸쳐 진행되도록 하는것.
- 프로세서 여러개가 동시에 작업하도록 하는 기법- 단일칩에 더 많은 프로세서를 담거나, 컴퓨터마다 두개 이상의 칩을 넣는 것.
결론
하지만, 결국 트레이드오프라는 특성때문에 프로세서 간에 속도를 비교하는 것은 어려울 뿐만 아니라 무의미하다.
사용 분야에 따라 프로세서를 설계할 때 다양한 종류의 트레이드오프가 이루어지기 때문에 변수가 너무 많고,
각 기기와 성능에 따라서 서로 다른 방식으로 프로세서가 작동하기 때문에 프로세서 간에 속도를 비교하는 것은 어려운 일이다. 따라서 어떤 프로세서가 다른 것보다 '빠르다' 라는 주장은 조심스럽게 받아들일 필요가 있다.
'CS' 카테고리의 다른 글
| 68 (0) | 2022.08.09 |
|---|---|
| 57~59 (0) | 2022.08.06 |
| 파일 시스템과 블록 / 파일을 휴지통에 넣을 때 일어나는 일 (0) | 2022.08.03 |
| 고수준 언어에서 프로그램 실행까지 (0) | 2022.07.30 |
| HDD와 SSD의 차이 (0) | 2022.07.20 |