Quantos bytes processa um processador de 64 bits?

0

Esta é uma questão de entrevista - link

"não há mais de uma maneira de responder, como o número de bytes que um processador de 64 bits processa e o sinal de kill para o linux"

O sinal de morte para o Linux foi muito fácil de encontrar. Acabei de fazer uma pesquisa rápida no google e consegui encontrar este artigo. link

Estou confuso sobre a parte "número de bytes que um processador de 64 bits processa". Um artigo ( link ) declara que "Na verdade, um processador de 64 bits pode, teoricamente, processar até 18.446.744.073.709.551.616 bytes ou 16 exabytes (EB) de uma só vez." Outro artigo ( link ), que faz um sentido mais intuitivo, afirma que "em CPUs de 64 bits (Unidades de Processamento Central) como como os programas Athlon, Itanium e Opteron, processam informações de 64 bits (ou 8 bytes) de cada vez ". Este fez sentido para mim porque 64 bits são 8 bytes (8 bits por byte)

Será que em um momento em ambos os artigos significa em nano segundo? mili segundo? Destes dois artigos, que resposta um entrevistador esperaria? Ele espera que a resposta de 8 bytes de cada vez e algo que seja muito maior?

    
por committedandroider 06.02.2015 / 06:32

5 respostas

2

A coisa com o grande número é, é 2 ^ 64 (2 à 64ª potência). Essa é a quantidade de estados únicos em que um registrador x64 poderia estar, já que há 64 bits no registrador para serem ativados ou desativados, portanto existem 2 ^ 64 combinações exclusivas de bits ativadas e desativadas.

Supondo que um valor de registro aponta para um endereço de byte na memória, ele pode "identificar" qualquer byte em uma memória de 2 ^ 64 bytes. Então, nesse sentido, ele pode "alcançar" todos os bytes nos 16 TEs da RAM a qualquer momento. Mas não é como se uma CPU tivesse 16 EB's de ram embutido, que é como o artigo da boson.com soa.

De uma vez, isso provavelmente não implicaria em um certo intervalo de tempo, mas um único traçado de processamento. Eu diria que a resposta é de fato 8 bytes. Se o intervalo de tempo fosse importante para essa questão, seria um cálculo mais difícil, já que seria necessária a velocidade do clock da CPU e também seria necessário definir se a contagem inclui novas tentativas de correção de erros nos mesmos dados, ciclos usados para CPU gráficos / áudio e muitas outras coisas.

    
por 06.02.2015 / 07:21
4

Basicamente, sua primeira referência estava errada, e sua segunda referência estava certa, mas eles não deram a visão completa.

Aqui está (espero) uma imagem mais completa e precisa da CPU / Fundamentos da memória:

Um processador de 64 bits possui um "barramento" interno de 64 bits. Isto é literalmente 64 fios que podem cada um passar uma alta ou baixa tensão (1 ou 0) a qualquer momento. Isso permite várias coisas, incluindo:

1) 64 bits (8 Bytes) de dados podem "fluir" através do barramento a qualquer momento. Estes dados são "empurrados" através do barramento cada vez que o "clock" da CPU está ativo. Se você está curioso, um "clock" da CPU é geralmente um cristal interno que vibra ("oscila") quando é carregado eletricamente. O cristal de osculação produz uma "onda" eletrônica que é então transformada em uma forma de onda rígida, "alternada". Este é o batimento cardíaco do processador, e cada batida "empurra" os dados através do barramento (basta colocar). Por exemplo, uma CPU de 1Ghz, 64-bit pode "empurrar" dados 1 bilhão de vezes a cada segundo, e ele envia 64 bits a cada vez. Portanto, seu poder de processamento ou "largura de banda" é de 64 bilhões de bits / segundo ou "largura de banda" de 8 Gb / s.

2) Como existem 64 fios binários, existem 2 ^ 64 valores possíveis que o barramento pode produzir. Como esses valores podem se referir a "endereços" de memória, um processador de 64 bits tem a capacidade de apontar para até 2 ^ 64 locais de memória, cada um com 1 Byte de comprimento. Isso é ENORME ... 18,5 Bilhões de GB de RAM ... Isso é 2 GB de RAM para cada humano na Terra ... em um único computador. Mas, para um melhor exemplo, considere uma CPU de 32 bits, que pode se referir a até 2 ^ 32 endereços de memória (RAM). Mais uma vez, cada "endereço" de RAM é geralmente 1 Byte (8 bits), então isso é 2 ^ 32 Bytes (4GB) de RAM. É por isso que qualquer computador que tenha um processador de 32 bits ou um Windows de 32 bits está limitado a usar 4 GB de RAM. Mesmo que mais RAM esteja instalada, o sistema pode usar apenas 4 GB. Além disso, uma CPU de 64 bits executando janelas de 32 bits ainda é limitada a 4 GB de RAM porque o software do Windows não foi projetado para conectar-se a mais do que os "endereços" de memória de 4 GB (2 ^ 32).

OBSERVAÇÃO: lembre-se de que, à medida que as tecnologias são adicionadas, como bits de 3 estados, processadores de vários núcleos, fibra ótica etc., esses cálculos fundamentais ficam mais complexos.

FONTE: Bacharelado em Ciência da Computação / Engenharia Elétrica pela Purdue (IUPUI) em 2010 e trabalhou em Data / IT / Analysis nos últimos 8 anos. Eu também sou um construtor de PC de jogos / entusiasta e AnadTech / TomsHardawre artigo viciado:)

Atenciosamente, - Jonathan Mathews

    
por 23.02.2017 / 20:11
0

Eu acho estranha a formulação da pergunta, mas vou tentar explicar algumas coisas. 32 bits e 64 bits tem pouco a ver com o poder de processamento. A capacidade de processamento é medida em cálculos por segundo ou operações inteiras ou operações de ponto flutuante (Flops).
Mais bits (16 vs 32 vs 64) na verdade significa que os dados podem ser processados em blocos maiores, o que também significa mais precisamente. Um valor de ponto flutuante pode ter muito mais precisão (mais números após a parte inteira).
Ter mais bits também permite que o sistema aponte ou resolva um número maior de locais na memória física. Sistemas de 32 bits foram a atualização de 16 bits, porque eles poderiam endereçar até 4 GB de memória. (2 ^ 32 = mais de 4 bilhões).
Agora, os aplicativos exigem mais de 4 GB de memória, o de 64 bits agora é amplamente difundido. O valor endereçável se torna 2 ^ 64 (16 exabytes). Então, a coisa mais próxima que você pode dizer é que uma CPU de 64 bits pode endereçar endereços de memória de até 2 ^ 64-1. Na prática, é menos do que isso, já que não há RAM perto desse valor.
Nano segundos não tem nada a ver com o problema. Então, para resumir uma resposta, a situação é vantajosa, pois a questão não está clara o suficiente para fornecer uma resposta exata.
Perguntar "Quantos bytes um processador de 64 bits processa" está fundamentalmente errado, já que não há tempo ou outro tipo de referência. "Quantos bytes por segundo" seria uma formulação OK, mas isso seria mais uma vez relacionado à velocidade de processamento, que é muito mais dependente de arquitetura e velocidade (GHz) que 32/64-bit.

    
por 06.02.2015 / 07:43
-1

Existe uma maneira de calcular quantos dados um processador pode processar por segundo, é simples, mas não é o mais preciso, mas é bastante preciso. O que você faz é pegar a taxa de atualização (GHz) e multiplicá-la pelo cache total do processador. Como este 2.16 * .00225 = 0,00486 ou 4,86 MB por segundo       ^ ^ GHz por segundo X total de cache da CPU

    
por 05.08.2017 / 17:30
-1

CPUs de 64 bits são mais rápidas que CPUs de 32 bits na mesma velocidade de clock porque o comprimento do código de máquina é duplo de 32 bits, então ele pode processar mais código por ciclo de CPU ... como 32bit

Comprar leite ---- ciclo de clock cpu 1 Compre cerveja ---- ciclo de clock cpu 2

Em 64 bits é Compre leite & cerveja ... ciclo de clock da CPU 1

Mas isso não se traduz como CPUs de 64 bits sendo duas vezes mais rápidas no entanto. Além disso, eles não são mais rápidos na execução do código de 32 bits ....

É por isso que os processadores de 32 bits não podem executar código de 64 bits ou sistemas operacionais ..... mas o inverso é possível. Meus dois centavos.

    
por 10.10.2018 / 13:56