Se uma CPU de 32 bits possui um sistema de barramento de 64 bits, ela é de 64 ou 32 bits?

1

Digamos que os registradores internos de uma CPU tenham 32 bits de largura. Mas a CPU tem um barramento de sistema de 64 bits e os dois pipelines separados estão recebendo informações simultaneamente, é considerado um processador de 32 bits ou um processador de 64 bits?

    
por Space Ghost 07.05.2015 / 22:02

2 respostas

3

Existem muitas coisas relacionadas a uma CPU que pode ser X-bits.

O antigo Motorola 68000 veio em uma variante de barramento de 8 bits, o 68008, por exemplo. No entanto, era uma CPU de 16 bits, embora o argumento pudesse ser feito em 32 bits.

Mesmo os registros ou mecanismos internos não contam toda a história.

  • O Z-80 é geralmente considerado uma CPU de 8 bits (os opcodes tinham 8 bits de largura), mas muitas de suas instruções combinam partes de registradores a todos os acessos indexados de 16 bits a coisas como uma CPU de 16 bits.
  • Eu não acho que houve uma CPU de 8 bits em uso amplo que realmente tinha 8 linhas de endereço (permitindo acesso apenas a 256 bytes de RAM). As CPUs clássicas de 8 bits normalmente tinham 16 linhas de endereço e podiam endereçar 64K de RAM / ROM. (Não a CPU no Atari 2600, porém, limitou-se a 4K).
  • O CP1610 (a CPU no antigo sistema de jogo do Intellivision) supostamente usava opcodes de 10 bits (algumas instruções requerendo 16 bits para codificar 20 bits - não tendo certeza se isso estava alinhado em bytes ou não), mas foi considerado Sistema de 16 bits (não deixe ninguém lhe dizer que o Sega Genesis foi o primeiro sistema de jogo doméstico de 16 bits!)

Mas os programadores (que são os que mais gastam tempo com as entranhas da CPU) realmente não se importam com a interface de hardware entre CPU e memória, eles se preocupam com a interface apresentada através do conjunto de instruções da CPU, e essa questão se torna o mais importante: Qual é o número de bits que registra e instruções lidam de uma só vez .

O conjunto de instruções

i386 prefere lidar com grandezas de 32 bits, se você precisar fazer cálculos em quantidades inteiras maiores que 32 bits, você precisa primeiro adicionar os 32 bits mais baixos e, em seguida, passar para os segundos 32 bits. Mas i386 é flexível e permite adicionar também quantidades de 16 ou 8 bits, bem como separar registradores em seções de 16 ou 8 bits.

Omodo"longo", também conhecido como "64 bits", também conhecido como amd64 , ajusta outros 32 bits para esses registros, mas todas as instruções antigas que tratam de 32, 16 ou 8 bits de registros ainda são lá.

Então, como isso está relacionado ao ônibus? Não é. Contanto que o barramento obtenha os dados da CPU para a RAM, o programador não se importa. Obviamente, um barramento mais estreito será mais lento, mas não afetará a forma como o programador instrui a CPU a fazer as coisas (além de talvez tentar tornar a memória de acesso do programa mais eficiente).

Faz sentido ter pelo menos tantos bits de barramento quanto bits de CPU, mas isso não precisa ser o caso. A largura do barramento não precisa ter nada a ver com o conjunto de instruções da CPU ou seus registradores.

Portanto, a resposta do @Eugen Rieck é realmente correta.

    
por 07.05.2015 / 23:29
3

É uma CPU de 32 bits - há amplo consenso, que a "Bitness" de uma CPU é a largura de um void * , que neste caso seria 32

    
por 07.05.2015 / 23:05