Programação  
 
Rede de conhecimento computador >> Programação >> C /C + + programação >> Content
Por que se registrar na instrução é mais rápido?
As instruções de registro para registro são mais rápidas que as instruções de memória para registro ou registro para memória principalmente devido às diferenças fundamentais nas velocidades de acesso entre registros e memória:

* proximidade à CPU: Os registros estão localizados * dentro * da CPU. Eles fazem parte da arquitetura interna da CPU, diretamente acessível pela ALU (unidade lógica aritmética) e outras unidades de processamento. Isso significa que o acesso é incrivelmente rápido, normalmente pegando apenas um único ciclo de relógio.

* Hierarquia de memória: A memória (RAM) é externa à CPU. O acesso à memória envolve um processo mais complexo:

* Tradução de endereço: A CPU precisa traduzir o endereço de memória em um endereço físico.
* Acesso ao cache: A CPU primeiro verifica seu cache (L1, L2, L3 Caches) para verificar se os dados já estão presentes. Caso contrário, é necessário um acesso mais lento à memória principal.
* Acesso à memória: O acesso à memória principal envolve o envio de sinais sobre o barramento do sistema para os chips de RAM, aguardando os dados a serem recuperados e enviá -los de volta à CPU. Esse processo é significativamente mais lento do que acessar registros.
* contenção de barramento: Vários dispositivos podem competir pelo acesso ao barramento do sistema, atrasando ainda mais o acesso à memória.

Em resumo:operações de registro para registro ignoram todas as complexidades e atrasos associados ao acesso à memória principal. Os dados já estão "disponíveis" na CPU, permitindo uma execução muito mais rápida. A diferença de velocidade pode ser ordens de magnitude; Os acessos à memória podem levar dezenas ou até centenas de ciclos de relógio, em comparação com um único ciclo para operações de registro. Esta é uma limitação fundamental da arquitetura de computadores.

Anterior :

Próximo :
  Os artigos relacionados
·Como o código de um 5X5 grade em C + + 
·Como usar arquivos de esqueleto em OGRE 
·Como aprender C # para Iniciantes 
·Prós e contras de Objective C 
·Funções C para Xilinx 
·Como usar o C Arrays em C + + 
·Como usar um ponteiro de função no Array Inteiros 
·Como compilar C no Ubuntu 
·Como usar Ctags Com UltraStudio 
·Como projetar o Editor Usando OpenGL 
  Artigos em destaque
·Tutoriais Qt Designer 
·Por que quando digito uma língua estrangeira ela fica …
·Comparação de algoritmos de ordenação 
·Como escrever um programa SAS Simples 
·Como converter texto Médio para JPG em PHP 
·Como remover uma entidade de um Array em PHP 
·Como ler um grande número de registros em uma tabela c…
·Java Coding Standards 
·Como limpar Stringstreams 
·Como Incorporar JavaScript em Asp.net 
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados