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.