ARM과 Intel x86-64의 차이점

Intel Arm의 차이점

고성능 노트북과 엣지 서버에서 ARM 칩이 널리 사용됨에 따라 이러한 새로운 장치가 다음 구매의 가치가 있는지에 대한 질문을 하는 것은 합당합니다. ARM 프로세서와 이전에 칩 시장을 방해받지 않고 운영했던 더 강력한 x86-64 선구자들 간의 기술적 차이를 이해할 시간입니다.

목차

  • x86-64는 도대체 무엇인가?
  • 명령 세트
  • 전력 소비
  • ARM 또는 x86 시스템을 선택해야 할까요?

읽기: ARM이 결국 노트북의 x86 CPU를 대체할 수 있을까요? 알아봅시다!

x86-64는 도대체 무엇인가?

데스크톱 및 노트북 컴퓨터에서 발견되는 Intel 프로세서는 때때로 “x86” 프로세서라고 불립니다. 오늘날 모든 현대 컴퓨터가 사용하는 64비트 아키텍처는 이제 x86 모델의 상위에 위치하며, 이는 이제 “x86-64”라고 불립니다.

이 모든 것은 조금 혼란스러워 보이지만, Windows에서 두 개의 서로 다른 프로그램 파일 폴더가 존재하는 이유를 설명하는 데 도움이 됩니다.

X86arm 프로그램 파일

간단히 말해 모든 32비트 애플리케이션은 x86 폴더에, 64비트 애플리케이션은 다른 폴더에 들어갑니다. 이는 Microsoft가 2001년에 64비트 버전의 Windows XP를 출시한 이후의 관례입니다.

조금 더 간소화하기 위해, “x86-64”를 “x86”이라고 언급하겠습니다. 32비트와 64비트 칩 간에 통합할 수 있는 충분한 유사성이 있기 때문입니다.

“x86”이라는 라벨은 현대 처리의 조상으로서 Intel이 만든 마이크로프로세서인 8086에서 유래됩니다. 이 16비트 칩은 현대 프로세서들이 오늘날에도 여전히 사용하고 있는 명령 세트를 기반으로 고급 컴퓨팅 작업을 수행했습니다.

텍스트 편집기에서 고급 비디오 렌더링 소프트웨어에 이르기까지 모든 소프트웨어는 1978년에 태어난 아키텍처를 기반으로 작동할 수 있는 능력을 여전히 갖추고 있습니다!

8086 마이크로프로세서의 출시 이후, Intel은 80286 및 80386과 같은 향후 모델에 대한 명명 규칙을 유지했으나, 펜티엄 시리즈를 출시하면서 전통에서 벗어났습니다. 그럼에도 불구하고 우리는 여전히 x86이라는 명령 세트를 사용하는 모든 후속 프로세서를 분류하여 이전 칩에 경의를 표합니다.

AMD가 2000년대 초 오프테론 시리즈에서 처음 출시한 보다 현대적인 64비트 프로세서도 동일한 지정을 받았으며, 데스크톱 시스템과 서버에서 대부분의 64비트 프로세서는 이제 겸손한 8086의 기둥 위에 서 있습니다.

명령 세트

프로세서의 모든 기능은 명령 세트라고 하는 것에 기반합니다. 이는 칩이 수행할 수 있는 기본 연산의 하드와이어 세트입니다. 각 명령은 칩에게 기본적인 수학 및 데이터 이동과 같은 작업을 수행하도록 지시합니다. 당신의 기계에서 실행하는 모든 프로그램의 코드의 가장 기본적인 부분은 프로세서와 소통하는 계층이 있습니다. 이 계층은 어셈블리 언어라고 하는 자체 코드를 사용하여 종종 머신 코드 또는 머신 언어라고 불리는 기본 명령으로 한 단계 더 변환합니다.

Intel i386의 IHS

여기서 ARM과 x86 칩 간의 핵심적인 차이를 알 수 있습니다.

x86 칩은 복합 명령어 집합 컴퓨팅(CISC)을 사용하는 반면, ARM 칩은 축소 명령어 집합 컴퓨팅(RISC)을 사용합니다. CISC 칩은 이 작업을 수행하기 위해 클럭 사이클을 희생하면서 하나의 명령어에 더 많은 “작업”을 넣으려는 반면, RISC 칩은 이름을 통해 알 수 있듯이 훨씬 더 작은 명령어 집합을 가지고 있으며, 이를 단일 클럭 사이클로 실행할 수 있는 간단한 단계로 나눕니다.

CISC 대 RISC

CISC 칩이 두 숫자를 곱해야 한다면, MULT 2, 3라는 단일 명령을 실행할 수 있습니다. 이 단일 명령은 메모리에서 숫자를 로드하고, 곱한 다음 결과를 올바른 메모리 위치에 저장하는 것을 포함합니다. 동일한 작업을 수행하는 RISC 칩은 훨씬 더 많은 단계를 요구합니다. 먼저, 숫자를 레지스터에서 실행 유닛으로 이동시키기 위한 LOAD 명령이 필요합니다. 그런 다음 숫자를 곱하기 위한 PROD 명령이 필요합니다. 끝으로, 결과를 올바른 레지스터에 놓기 위한 STOR 명령이 필요합니다.

MacBook에 장착된 Apple M1 SoC

CISC 칩은 명령이 더 간단해 보이기 때문에 더 효율적으로 보일 수 있지만, 몇 가지 중요한 차이를 염두에 두어야 합니다:

  • 첫째, CISC 칩은 여러 클럭 사이클에 걸쳐 명령을 실행하는 반면, RISC 칩의 각 명령은 단일 클럭 사이클에서 실행됩니다. 그래서 가상의 MULT 명령은 동일한 작업을 수행하는 RISC 명령 세트와 같은 양의 사이클에서 실행될 수 있습니다.
  • 둘째, CISC의 모든 명령과 논리는 트랜지스터에 저장될 필요가 있습니다. RISC 칩은 저장해야 할 명령어가 적기 때문에 더 적은 수의 트랜지스터를 사용할 수 있습니다.
  • 셋째, RISC에서 필요한 낮은 수의 트랜지스터는 전력 사용량을 줄이게 합니다.

CISC에는 몇 가지 장점이 있습니다. 첫째, 컴퓨터는 C와 같은 인간 수준의 프로그래밍 언어를 프로세서 수준의 어셈블리 언어로 변환하기 위해 많은 작업을 할 필요가 없습니다. 사실, 위에서 언급한 MULT 명령은 C 명령 foo = foo * bar와 매우 유사합니다.

RISC 칩은 컴파일러가 어셈블리 언어로 코드를 내리기 위해 훨씬 더 많은 작업을 요구합니다. CISC 칩은 시스템 메모리에서 직접 작업을 수행할 수 있지만, RISC 칩은 데이터를 메모리에서 프로세서 레지스터로 가져와야 합니다.

두 시스템 간의 면대면 성능 대결에서는 소비자 관점에서의 명확한 우승자가 없습니다. 그러나 RISC는 CISC에 대한 우위를 확보할 수 있는 또 하나의 강점을 가지고 있습니다.

전력 소비

CISC와 RISC 간의 전력 사용에 대해선 절대적으로 경쟁이 없습니다. RISC가 분명히 여기서 왕관을 쥐고 있습니다. 축소된 명령 세트는 웨이퍼 면적을 줄여 칩을 더 작고 전력을 덜 소모하게 만듭니다.

전통적인 ATX 데스크탑 전원 공급 장치의 내부 부품

더 작은 칩이 더 적은 미세 부품으로 구성되어 있어 전기 저항이 줄어들고 운영하는 데 필요한 와트 수도 줄어듭니다. 이와 관련된 가장 좋은 사례 연구는 스마트폰의 입증된 기술입니다. 스마트폰은 비교적 작은 크기에도 불구하고 엄청난 성능을 발휘하면서도 많은 경우 24시간 이상 비교적 작은 배터리로도 유지할 수 있습니다.

그렇다고 해서 모든 컴퓨터가 전력 소비를 줄이기 위해 ARM 칩을 사용할 것이라는 의미는 아닙니다. 데스크탑 시장에서는 시스템이 일반적으로 배터리 대신 벽 소켓에 직접 연결되기 때문에 전력 효율성이 그렇게 큰 우선 사항이 아닙니다. CISC 칩은 이러한 상황에서도 여전히 놀라운 성능을 발휘하며, 정말로 이런 상황이 바뀔 기미는 보이지 않습니다.

ARM 또는 x86 시스템을 선택해야 할까요?

Microsoft가 ARM 아키텍처용 Windows 11을 출시하고 Apple이 Mac을 ARM 칩으로 전환하면서, ARM PC를 사는 것에 흥미를 느낄 수 있습니다. 하지만 이는 아주 간단한 질문으로 귀결됩니다: 배터리에서 공급되는 전력당 가능한 모든 성능을 끌어내려고 노력하고 있습니까? 아니면 배터리 수명을 희생하면서 가능한 많은 원시 성능을 장치에 밀어넣으려는 경향이 있습니까?

대부분의 경우, 시스템을 구매하는 사람들이 선택할 수 있는 결정은 그만큼 간단합니다. 결국, 충전 케이블을 잊지 않는 것을 잊지 마세요!