32 비트 CPU에 64 비트 버스 시스템이있는 경우 64 비트 또는 32 비트입니까?


1

CPU의 내부 레지스터가 32 비트 폭이라고 가정 해 봅시다. 그러나 CPU는 64 비트 시스템 버스를 가지고 있으며 두 개의 개별 파이프 라인이 동시에 정보를 수신하고 있습니다. 32 비트 프로세서 또는 64 비트 프로세서로 간주됩니까?


토론을위한 좋은 주제. 우리는 적어도 1) 내부 레지스터 너비가 있습니다. 2) 외부 메모리로의 데이터 폭. 3) 메모리의 주소 라인 수. 개인적으로 # 1 (386SX는 16 비트 데이터 폭)은 여전히 ​​32 비트 CPU이고 68000 (내부적으로 32 비트, 메모리 주소를 선택하는 24 비트 및 메모리에 대한 16 비트 데이터 폭은 모두 32 비트 CPU.
Hennes

64 비트 시스템에서 32 비트 CPU가 누락되면 어떻게됩니까? 32 비트 이상입니까?
ott--

답변:


3

X 비트가 될 수있는 CPU와 관련된 많은 것들이 있습니다.

예전의 Motorola 68000은 8 비트 버스 (68008)를 사용했습니다. 인수는 32 비트 였지만 16 비트 CPU였습니다.

심지어 레지스터 또는 내부 역학은 전체 이야기를 말하지 않습니다.

  • Z-80은 일반적으로 8 비트 CPU (opcode는 8 비트 폭)로 간주되지만 대부분의 명령어는 레지스터 파트를 16 비트 CPU와 같은 모든 16 비트 인덱스 액세스에 결합합니다.
  • 나는 실제로 8 개의 주소 라인을 가진 8 비트 CPU가 있다고 생각하지 않는다. (256 바이트의 RAM에만 접근 할 수있다.) 클래식 8 비트 CPU는 일반적으로 16 개의 주소 라인을 가지고 있으며 64K RAM / ROM을 처리 할 수 ​​있습니다. (Atari 2600의 CPU는 아니지만 4K로 제한되었습니다.)
  • CP1610 (이전 Intellivision 게임 시스템의 CPU)은 10 비트 opcode (20 비트 이상의 스프레드를 인코딩하는 데 16 비트가 필요한 일부 명령어 - 바이트 정렬 여부는 확실하지 않음)를 사용했지만 그렇지 않은 경우 16 비트로 간주되었습니다 시스템 (Sega Genesis가 처음으로 16 비트 홈 게임 시스템이라고 말하지 않도록하십시오!)

그러나 프로그래머 (CPU의 내부에서 가장 많은 시간을 소비하는 프로그래머)는 CPU와 메모리 사이의 하드웨어 인터페이스를 신경 쓰지 않고 CPU의 명령어 세트를 통해 제공되는 인터페이스를 중요하게 여기며이 질문이 가장 중요하게됩니다 : 한 번에 등록 및 지시 사항을 처리 할 수있는 비트 수는 얼마입니까? .

i386 명령어 세트가 32 비트 수량을 처리하기를 선호하는 경우 32 비트보다 큰 정수를 계산해야하는 경우 하위 32 비트를 먼저 추가 한 다음 두 번째 32 비트를 넘겨야합니다. 그러나 i386 는 유연하고 16 비트 또는 8 비트 수량을 추가 할 수있을뿐만 아니라 16 비트 또는 8 비트 섹션으로 분할 레지스터를 추가 할 수 있습니다.

enter image description here

"긴"모드 일명 "64 비트"모드, 일명 amd64 인스트럭션 세트는 또 다른 32 비트를이 레지스터에 집어 넣지 만 레지스터의 32, 16 또는 8 비트 부분을 처리하는 모든 이전 명령어는 여전히 존재합니다.

enter image description here

그러면 버스와 어떻게 관련이 있죠? 그렇지 않습니다. 버스가 CPU에서 RAM으로 데이터를 가져 오는 한, 프로그래머는 상관하지 않습니다. 분명히 더 좁은 버스는 더 느리게 될 것이지만, 프로그래머가 CPU에 일을하도록 지시하는 방법에는 영향을 미치지 않을 것입니다.

최소한 CPU 비트만큼 많은 버스 비트를 갖는 것이 합리적이지만, 반드시 그런 것은 아닙니다. 버스 폭은 CPU 명령 세트 또는 그 레지스터와 관련이 없습니다.

따라서 @Eugen Rieck의 답은 정말로 옳습니다.


3

그것은 32 비트 CPU입니다 - 광범위한 동의, 즉 CPU의 "Bitness"는 void *,이 경우 32 일 것입니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.