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

김채운·2022년 5월 25일
0

CS

목록 보기
1/9

오늘날 사용되는 실제 프로세서는 '성능'을 중심으로 세부 사항이 복잡하게 구성되어있다.
그리고 이 프로세서는 인출,해석,실행 사이클을 계속 반복 수행한다.

인출

  • 메모리에서 처리할 명령어를 인출한다.

해석

  • 가져온 명령어를 해석한다.
  • 명령어가 무슨 일을 하는지 파악하고 명령어를 수행하는 데 필요한 모든 준비를 마치는 것을 의미한다.

실행

  • 메모리에서 정보를 가져오고, 산술 연산이나 논리 연산을 수행
  • 그 결과를 저장하는 일련의 작업을 명령어에 따라 적절하게 조합

이 모든 과정을 마치고 나면 다시 인출 단계로 돌아간다.

프로그램이 작성되는 방식

❗컴퓨터 아키텍처는 프로세서 설계와 더불어 프로세서와 컴퓨터 나머지 부분 간의 연결 방식 설계를 다루는 분야로 주요 관심사는 '명령어'다. 명령어는 컴퓨터 상에서 다양한 종류의 계산을 처리하게 만드는데 계산을 처리하는 과정에서 어떻게 하면 더 빠르게 처리가 가능할지에 대해서 컴퓨터 아키텍처는 기능성, 속도, 복잡도, 전력 소모 정도, 프로그램 가능성등 상충하는 요구 간 복잡한 트레이드오프를 수반한다.

*트레이드 오프(trade-off), 우리말로는 상충관계입니다. 하나를 얻으면 하나를 잃을 수 있는 상황 혹은 결정을 요하는 관계를 지칭한다.
객체의 어느 한부분의 품질을 높이거나 낮추는게, 다른 부분의 품질을 높이거나 낮추는데 영향을 끼치는 상황을 이야기한다. 일반적으로 한쪽의 품질을 높이면, 다른쪽의 품질은 떨어지는 방향으로 흐른다.

아키텍처 기법

현대 컴퓨터 아키텍처는 캐시라는 고속 메모리를몇 개 사용한다.
캐시는 프로세서와 메모리 사이에 있고 최근 사용된 명령어와 데이터를 담고있다.
캐시에서 찾을 수 있는 정보에 접근하는 편이 메모리에서 정보가 오기를 기다리는 것보다 빠르다.

💁 이처럼 컴퓨터 설계자들은 프로세서가 더 빨리 작동하도록 만들기 위해 여러가지 아키텍처 기법을 동원한다.

  1. 인출과 실행 단계가 겹치도록 프로세서를 설계해서 명령어 여러 개가 다양한 단계에 걸쳐 진행되도록 만드는데 이를 파이프라이닝이라고 한다.
  • 이는 여러 개의 명령어를 동시에 처리하므로 전체적인 처리 속도가 빨라진다.
  1. 다수의 명령어를 병렬적으로 실행하는 방법이다.
  • 이는 명령어들이 상호작용하지 않는다면 가끔 명령어의 순서를 바꿔 실행하는 일도 가능하다.
  1. 프로세서 여러 개가 동시에 작업하도록 하는 기법
  • 오늘날 노트북과 휴대전화에서 표준으로 사용되는 기술.
  • 2015년에 제조된 컴퓨터의 인텔 프로세서는 단일 집적회로 칩에 코어가 두 개 있지만, 요즘은 단일 칩에 더 많은 프로세서 코어를 담거나, 컴퓨터마다 두개 이상의 칩을 넣는 경향이 크다.
  • 집적회로의 선폭이 작아질수록 칩에 트랜지스터를 더 많이 넣을 수 있는데, 보통 더 많은 코어와 캐시 메모리를 넣는 데 사용된다.
  • 그래서 개별 프로세서는 더 이상 빨라지지 않지만, 더 많은 코어를 쓸 수있어서 실질적인 연산 속도는 꾸준히 증가하고 있다.

👉결론

사용 분야에 따라 프로세서를 설계할 때 다양한 종류의 트레이드오프가 이루어진다.
각 기기와 성능에 따라서 서로 다른 방식으로 프로세서가 작동하기 때문에 프로세서 간에 속도를 비교하는 것은 어려운 일이다.

0개의 댓글