프로세스는 무조건 빠른게 좋을까?

강인호·2022년 7월 27일
0

cs스터디

목록 보기
7/17
post-custom-banner

프로세서는 인출 해석 실행 사이클을 계속 반복 수행한다.

1.메모리에서 처리할 명령어를 인출한다.
메모리에 저장되어 있는 명령어를 가져 온 뒤 명령어를 해석한다. 즉 명령어를 수행하는 데 필요한 모든 준비를 마치는 것을 의미한다.

명령어를 실행한다.
미리 저장되어있는 산술 연산이나 논리 연산을 수행하며 그 결과를 저장하는 일련의 작업을 명령어에 따라 적절하게 조합함으로써 이루어진다. 그 다음 인출관계로 되돌아간다.

실제로는 더 정교한 메커니즘이 사용되지만 루프자체는 동일한 루프이다.

실제 프로그램은 앞선 내용보다 방대하며 수백만개의 명령어로 이루어져있다.

컴퓨터 아키텍처는 프로세서 설계와 더불어 프로세서와 컴퓨터 나머지 부분 간의 연결 방식 설계를 다루는 분야다.

컴퓨터 아키텍처 분야의 주요 관심사 중 하나는 명령어 집합이다. 명령어 집합이란 프로세서가 제공하는 명령어 레퍼토리를 뜻한다.

폭넓고 다양한 종류의 계산이 처리되도록 많은 수의 명령어가 있는것과 작성하기 쉽고 더 빨리 실행되도록 더 적은 수의 명령어가 있는것중 컴퓨터 아키텍쳐는 기능성 속도 복잡도 전력소모정도 프로그램가능성등 상충하는 요구간 복잡한 트레이드 오프를 수반한다.

프로세서 속도는 매우 빨라서 명령어를 가져오는 시간보다 압도적으로 빠르기 때문에 현대 컴퓨터 아키텍쳐는 캐시라는 고속 메모리를 몇개 사용한다 캐시는 프로세서와 메모리 사이에 있고 최근 사용된 명령어와 데이터를 담고 있다. 메모리에서 명령어를 기다리는 것보다 캐시에 있는 정보에 접근하는것이 더 빠르기 때문이다.

또한 인출과 실행 단계가 겹치도록 프로세서를 짜서 명령어가 다양한 단계에 걸쳐 진행되도록 만들수도 있는데 이것을 '파이프라이닝' 이라고 하며 자동차가 조립라인을 따라 이동하는 것과 개념적으로 비슷하다. 명령어 한 개가 완료되는 데는 여전히 같은 시간이 걸리지만, 여러 개의 명령어를 동시에 처리하므로 전체적인 처리 속도는 빨라진다.

그 밖에도 프로세서 여러 개가 동시에 작업하도록 하는 기법도 있는데, 오늘날 노트북과 휴대전화에서표준으로 사용되는 기술이다.
단일 칩에 더많은 프로세서 코어를 담거나 컴퓨터마다 두 개 이상의 칩을 넣는 경향이 크다. 개별프로세서는 더 이상 빨라지지 않지만 더 많은 코어를 쓸 수 있어서 실질적인 연산속도는 꾸준히 증가하고 있다.

기존에는 데스크톱 위주에서 프로세서가 주로 사용되어왔기 때문에 전력이 충분하고 팬으로 열을 분산시킬 방법이 있었기에 가능한 한 빨리 작동하도록 만드는 데 집중할 수 있었지만 노트북이 등장하면서 배터리에서 전력을 공급받고 발열 관련 문제도 있어서 비슷한 조건이라고 가정했을때 데스크톱보다 노트북용 프로세서가 더 느리고 전력을 적게 쓰는 경향이 있다.

휴대전화 태블릿과 같은 휴대성 높은 기기는 크기 무게 전력에 제약이 훨씬 심하다. 기본설계를 약간 수정하는 것으로는 불충분한데 데스크톱과 노트북용 프로세서는 인텔 혹은 AMD 가 절대적인 공급자 이지만 휴대전화와 태블릿은 대부분 ARM이라는 프로세서 설계를 사용한다. ARM은 전력을 적게 사용하도록 특별히 설계된 방식이다.

post-custom-banner

0개의 댓글