CPU의 내부 레지스터가 32 비트 폭이라고 가정 해 봅시다. 그러나 CPU는 64 비트 시스템 버스를 가지고 있으며 두 개의 개별 파이프 라인이 동시에 정보를 수신하고 있습니다. 32 비트 프로세서 또는 64 비트 프로세서로 간주됩니까?
CPU의 내부 레지스터가 32 비트 폭이라고 가정 해 봅시다. 그러나 CPU는 64 비트 시스템 버스를 가지고 있으며 두 개의 개별 파이프 라인이 동시에 정보를 수신하고 있습니다. 32 비트 프로세서 또는 64 비트 프로세서로 간주됩니까?
답변:
X 비트가 될 수있는 CPU와 관련된 많은 것들이 있습니다.
예전의 Motorola 68000은 8 비트 버스 (68008)를 사용했습니다. 인수는 32 비트 였지만 16 비트 CPU였습니다.
심지어 레지스터 또는 내부 역학은 전체 이야기를 말하지 않습니다.
그러나 프로그래머 (CPU의 내부에서 가장 많은 시간을 소비하는 프로그래머)는 CPU와 메모리 사이의 하드웨어 인터페이스를 신경 쓰지 않고 CPU의 명령어 세트를 통해 제공되는 인터페이스를 중요하게 여기며이 질문이 가장 중요하게됩니다 : 한 번에 등록 및 지시 사항을 처리 할 수있는 비트 수는 얼마입니까? .
i386
명령어 세트가 32 비트 수량을 처리하기를 선호하는 경우 32 비트보다 큰 정수를 계산해야하는 경우 하위 32 비트를 먼저 추가 한 다음 두 번째 32 비트를 넘겨야합니다. 그러나 i386
는 유연하고 16 비트 또는 8 비트 수량을 추가 할 수있을뿐만 아니라 16 비트 또는 8 비트 섹션으로 분할 레지스터를 추가 할 수 있습니다.
"긴"모드 일명 "64 비트"모드, 일명 amd64
인스트럭션 세트는 또 다른 32 비트를이 레지스터에 집어 넣지 만 레지스터의 32, 16 또는 8 비트 부분을 처리하는 모든 이전 명령어는 여전히 존재합니다.
그러면 버스와 어떻게 관련이 있죠? 그렇지 않습니다. 버스가 CPU에서 RAM으로 데이터를 가져 오는 한, 프로그래머는 상관하지 않습니다. 분명히 더 좁은 버스는 더 느리게 될 것이지만, 프로그래머가 CPU에 일을하도록 지시하는 방법에는 영향을 미치지 않을 것입니다.
최소한 CPU 비트만큼 많은 버스 비트를 갖는 것이 합리적이지만, 반드시 그런 것은 아닙니다. 버스 폭은 CPU 명령 세트 또는 그 레지스터와 관련이 없습니다.
따라서 @Eugen Rieck의 답은 정말로 옳습니다.
그것은 32 비트 CPU입니다 - 광범위한 동의, 즉 CPU의 "Bitness"는 void *
,이 경우 32 일 것입니다