ARM과 Intel x86-64의 차이점
ARM 칩이 고성능 노트북과 엣지 서버에서 널리 사용되면서, 이 새로운 기기가 다음 구매에 가치가 있는지 묻는 것은 당연합니다. ARM 프로세서와 이전에 칩 시장을 방해받지 않고 운영했던 더 강력한 x86-64 전임자 간의 기술적 차이점을 이해할 때입니다.
x86-64는 무슨 뜻인가요?
데스크탑과 노트북 컴퓨터에서 발견되는 인텔 프로세서는 때때로 “x86” 프로세서라고 불립니다. 오늘날 모든 현대 컴퓨터가 사용하는 64비트 아키텍처는 이제 “x86-64″라고 불리는 x86 모델 위에 있습니다.
이 모든 것이 약간 혼란스럽게 들리지만 Windows에 두 개의 서로 다른 Program Files 폴더가 있는 이유를 설명하는 데 도움이 됩니다.
간단하게 말해서, 모든 32비트 애플리케이션은 x86 폴더에 넣고 64비트 애플리케이션은 다른 폴더에 넣습니다. 이는 Microsoft가 2001년에 64비트 버전의 Windows XP를 출시한 이래로 관례가 되었습니다.
조금 더 단순화하기 위해 “x86-64″를 “x86″이라고 부르겠습니다. 32비트 칩과 64비트 칩은 서로 그룹화할 만큼 유사점이 많기 때문입니다.
“x86″이라는 라벨은 현대 처리의 원조인 인텔이 만든 8086이라는 마이크로프로세서에서 유래했습니다. 이 16비트 칩은 오늘날에도 현대 프로세서에서 고급 컴퓨팅 작업을 수행하는 데 널리 사용되는 명령어 집합으로 작동했습니다.
텍스트 편집기부터 고급 비디오 렌더링 소프트웨어까지 모든 것이 1978년에 탄생한 아키텍처에서 작동할 수 있는 역량을 여전히 갖추고 있습니다!
8086 마이크로프로세서가 출시된 이후, 인텔은 펜티엄 시리즈를 출시하여 전통을 깨기 전까지 80286 및 80386과 같은 미래 모델에 대한 명명 규칙을 계속 사용했습니다. 그럼에도 불구하고 우리는 여전히 명령어 세트를 사용하는 모든 후속 프로세서를 “x86″으로 분류하여 이러한 오래된 칩에 경의를 표합니다.
AMD가 2000년대에 Opteron 시리즈로 처음 출시한 최신 64비트 프로세서조차도 동일한 명칭을 사용하고 있으며, 데스크톱 시스템과 서버에 사용되는 64비트 프로세서의 대부분은 현재는 겸손해진 8086을 기반으로 하고 있습니다.
명령어 세트
프로세서의 모든 기능은 명령어 집합이라고 하는 것을 기반으로 합니다. 이것은 칩이 수행할 수 있는 기본적인 연산의 하드와이어 세트입니다. 각 명령어는 칩에 기본적인 수학 및 데이터 이동과 같은 작업을 하라고 지시합니다. 컴퓨터에서 실행하는 모든 프로그램의 모든 코드의 맨 아래에는 프로세서와 통신하는 계층이 있습니다. 이 계층은 어셈블리 언어라고 하는 자체 코드도 사용하는데, 이는 종종 기계 코드 또는 기계어라고 하는 기본 명령어로 한 단계 더 아래로 변환됩니다.
여기서 ARM과 x86 칩의 핵심적인 차이점을 알 수 있습니다.
x86 칩은 복잡한 명령어 세트 컴퓨팅(CISC)을 사용하는 반면, ARM 칩은 축소 명령어 세트 컴퓨팅(RISC)을 사용 합니다. CISC 칩은 이 작업을 수행하기 위해 클록 사이클을 희생하면서 하나의 명령어에 더 많은 “작업”을 넣으려고 하지만, RISC 칩은 (이름에서 알 수 있듯이) 모든 것을 단일 클록 사이클에서 실행할 수 있는 더 간단한 단계로 분해하는 훨씬 더 작은 명령어 세트를 가지고 있습니다.
CISC 대. 위험
CISC 칩이 두 숫자를 곱해야 하는 경우 단일 명령을 실행할 수 있습니다 MULT 2, 3
. 이 단일 명령은 메모리에서 숫자를 로드하고, 서로 곱하고, 결과를 올바른 메모리 위치에 저장하는 것을 포함합니다. 동일한 작업을 수행하는 RISC 칩은 훨씬 더 많은 단계가 필요합니다. 먼저, LOAD
레지스터에서 실행 장치로 숫자를 이동하는 명령입니다. 그런 다음, PROD
숫자를 곱하는 명령입니다. 마지막으로, STOR
결과를 올바른 레지스터에 배치하는 명령입니다.
CISC 칩은 명령이 더 간단해 보이기 때문에 더 효율적으로 보일 수 있지만 몇 가지 중요한 차이점을 명심하세요.
- 첫째, CISC 칩은 여러 클럭 사이클에 걸쳐 명령을 실행하는 반면, RISC 칩의 각 명령어는 단일 클럭 사이클에 걸쳐 실행됩니다. 이 때문에 우리의 가상
MULT
명령어는 동일한 작업을 수행하는 RISC 명령어 세트와 동일한 사이클 수에서 실행될 수 있습니다. - 둘째, CISC의 모든 명령어와 논리는 트랜지스터에 저장되어야 합니다. RISC 칩은 명령어를 덜 저장해야 하기 때문에 더 적은 트랜지스터를 사용할 수 있습니다.
- 셋째, RISC에 필요한 트랜지스터 수가 적기 때문에 전력 사용량도 낮아집니다.
CISC에는 몇 가지 장점이 있습니다. 첫째, 컴퓨터는 C와 같은 인간 수준 프로그래밍 언어에서 프로세서 수준 어셈블리 언어로 변환하는 데 많은 작업을 할 필요가 없습니다. 사실, MULT
위에서 언급한 명령은 C 명령과 매우 유사합니다 foo = foo * bar
.
RISC 칩은 컴파일러에게 코드를 어셈블리 언어로 내리기 위해 훨씬 더 많은 작업을 하도록 요구합니다. CISC 칩은 시스템 메모리에서 직접 작업을 수행할 수 있는 반면 RISC 칩은 작업하기 전에 메모리에서 프로세서 레지스터로 데이터를 끌어와야 합니다.
두 회사의 일대일 성능 경쟁에서 소비자 입장에서는 명확한 승자가 없습니다. 하지만 RISC는 CISC에 앞서 나갈 수 있는 비장의 무기를 하나 더 가지고 있습니다.
전력 소비
CISC와 RISC 사이에는 전력 사용에 관한 한 경쟁이 전혀 없습니다. RISC가 여기에서 확실히 우위를 점합니다. 명령어 세트가 줄어들면 웨이퍼 풋프린트가 줄어들어 칩이 더 작아지고 따라서 전력 소모가 줄어듭니다.
미세한 구성 요소가 적은 작은 칩은 처리해야 할 전기 저항도 적고 작동에 필요한 와트수도 적습니다. 이에 대한 가장 좋은 사례 연구는 스마트폰의 입증된 기술입니다. 스마트폰은 비교적 작은 크기에 비해 엄청난 성능을 발휘하지만 비교적 작은 배터리로 24시간 이상 지속되는 경우가 많은 “컴퓨터 라이트” 장치입니다.
그렇다고 해서 모든 컴퓨터가 전력 소비를 줄이기 위해 ARM 칩을 사용하기 시작한다는 것은 아닙니다. 데스크톱 시장에서는 시스템이 일반적으로 배터리가 아닌 벽면 소켓에 직접 연결되므로 전력 효율성이 그렇게 큰 우선순위는 아닙니다. CISC 칩은 여전히 이런 상황에서 놀라운 성능을 발휘하며, 이것이 곧 바뀔 조짐은 보이지 않습니다.
ARM이나 x86 시스템을 구매해야 할까?
하지만 모든 것을 아주 간단한 질문 하나로 요약합니다. 배터리에서 공급하는 와트-시간당 모든 성능을 짜내려고 합니까? 아니면 배터리 수명을 희생하고 장치에 최대한 많은 원시 성능을 밀어넣으려고 합니까?
대부분의 사용 사례에서 누군가가 시스템을 구매하는 경우 결정은 간단합니다. 결국 충전 케이블을 잊지 마세요!
이미지 출처: 멸균복을 입은 엔지니어가 DepositPhotos의 마이크로칩을 들고 있습니다.
답글 남기기