Bit 는 CPU가 처리하는 데이터의 최소 단위이다. 비트가 클수록 한 번에 처리할 수 있는 데이터가 많아진다.
32 비트와 64 비트의 가장 큰 차이점은 메모리 인식률로, 32비트는 최대 약 4GB 까지의 메모리 (RAM)만 인식할 수 있는 반면, 64비트는 16엑사바이트까지 인식 가능하다. 이는 데이터의 처리 양과 속도, 업그레이드 가능/불가능의 차이와 관련이 있다.
(1) 정의
- x86 프로세서
32비트 인텔 아키텍처이다.
아키텍처 측면에서 사운드 카드 및 그래픽 카드, 메모리, 스토리지, CPU와 같은 x86 시스템 내의 하드웨어 구성 요소는 모두 서로 독립적이다. 대부분의 구성 요소에는 컨트롤러라는 별도의 칩이 있습니다. 구성 요소는 연결성 또는 전반적인 하드웨어 플랫폼에 영향을 미치지 않고 변경하거나 확장할 수 있다.
- x64 프로세서
64비트 아키텍처(intel, amd64) 이다.
AMD(AArch64): Acorn RISC Machine으로 Intel의 x86 프로세서 호환 CPU. intel 이 아닌 AMD 란 기업이 만들었다.
처음에는 AMD64로 불렸는데 추후 인텔도 64 비트를 출시하여 둘을 통칭하여 x64로 불린다.
- ARM 프로세서
64비트 아키텍처이다.
별도의 CPU가 없다. 대신, 처리 장치는 다른 하드웨어 컨트롤러와 동일한 물리적 기판 위에 있는데, 이를 집적 회로라고 한다. 또한 Intel 또는 AMD CPU와 달리 ARM 프로세서 제조업체는 없다. 대신, Arm Holdings가 다른 하드웨어 제조업체에 칩 설계 라이센스를 부여하면 제조업체는 ARM 프로세서 칩을 자체 하드웨어 설계에 통합한다. 기존 x86 기반 컴퓨터와 달리 ARM 칩은 상호 호환되지 않으며 애플리케이션별로 크게 다르다. 이 프로세서는 SoC(System on a Chip)라는 방식으로 함께 제조된다.
(2) RISC , CISC
컴퓨터로 생산적인 작업을 수행하기 위해 운영 체제와 이 운영 체제가 실행하는 프로그램은 중앙 처리 장치(CPU)뿐 아니라 메모리, 스토리지, 네트워크 카드와 같은 다른 하드웨어와도 상호 작용해야 한다. CPU는 운영 체제(와 실행 중인 프로그램) 및 이러한 하드웨어 사이를 이어준다.
프로그래머의 작업을 간소화하기 위해 CPU에는 명령 집합 또는 ISA(Instruction Set Architecture)라고 하는 일련의 사전 정의된 작업 및 계산이 포함되어 있다. 운영 체제와 운영 체제가 실행하는 프로그램(둘 다 프로그래머가 작성)은 이러한 명령을 통해 다음과 같은 낮은 수준의 기능을 수행한다.
- CPU와 하드웨어(메모리, 스토리지, 네트워크 등) 간 상호 작용
- 연산 기능(덧셈, 뺄셈 등)
- 데이터 조작(바이너리 시프트 등)
x86 CPU에는 매우 풍부한 명령 집합이 있다. 단일 명령으로 전체 계산(예: 곱하기)을 완료하거나 많은 데이터를 메모리의 한 곳에서 다른 곳으로 직접 이동할 수 있다. 간단해 보일 수 있지만 곱하기와 메모리 내 여러 장소 간 데이터 이동은 이처럼 낮은 수준에서 많은 명령이 필요하다. x86 컴퓨터에서는 이처럼 복잡한 일련의 연산을 한 번의 주기로 실행할 수 있다. 이러한 유형의 명령 집합을 보유한 처리 장치를 CISC(Complex Instruction Set Computer, 복잡 명령 집합 컴퓨터)라고 한다.
하지만 CISC 컴퓨터의 강력한 명령으로 인해 더 많은 트랜지스터가 필요한데, 이는 공간과 전력 소모가 크다.
이로 인해 1980년대 초에 CPU 아키텍처에서 명령 집합을 간소화하는 방법과 에너지 효율성을 모색하는 몇 가지 프로젝트가 시작되었다. 연구자들은 CISC 컴퓨터에서 제공하는 막대한 양의 명령 집합 중에서 대부분의 컴퓨터가 실제 사용하는 것은 극히 일부의 하위 집합에 불과하다는 것을 알게 되면서, 결국 RISC(Reduced Instruction Set Computer, 축소 명령 집합 컴퓨터) 프로세서 설계로 이어졌습니다. RISC 프로세서에는 각 명령이 전력 소비가 적은 단순 연산만을 나타내는 명령 집합이 있다. 이로 인해 어셈블리 언어 프로그래머의 작업은 더 복잡해지는 반면, 프로세서의 작업은 간소화된다. RISC 프로세서와 고급 RISC 머신의 경우 복잡한 연산은 여러 명령을 실행하거나 복잡성을 CPU 코어가 아닌 컴파일러로 푸시하는 방식으로 수행된다.
=> x86 CPU는 컴퓨팅 성능이 매우 빠른 편이라 프로그래밍과 명령 수가 더 명확하거나 단순한 대신, 수많은 트랜지스터가 집적된 더 크고 값비싼 칩이 필요하다. ARM 프로세서는 어떤 유형의 연산에는 매우 빠르지만 연산이 복잡해지고 연산 정의 및 실행을 위한 작업이 명령 집합이 아닌 프로그래밍(및 프로그래머)으로 푸시됨에 따라 개별 연산의 주기가 반복되면서 속도가 느려질 수 있다.
[References]
'OS' 카테고리의 다른 글
[ Monitoring ] AWS EC2 CloudWatch Metrics (0) | 2024.10.30 |
---|---|
[RHEL] dnf-automatic 을 이용한 패키지 업데이트 자동화 (4) | 2024.10.29 |
[ Linux ] Boot Process (0) | 2024.09.25 |
Open SUSE [1] (1) | 2024.09.09 |
[ DEVOCEAN OpenLab ] 리눅스 네임스페이스 (Network Namespace) (0) | 2024.05.09 |