Assembly na prática: como um laço em C vira instruções em x86-64 e ARM64
Como um laço de soma em C vira instruções em x86-64 e ARM64, com os bytes conferidos no clang e no objdump, desvios calculados e flags explicadas.
11 posts
Como um laço de soma em C vira instruções em x86-64 e ARM64, com os bytes conferidos no clang e no objdump, desvios calculados e flags explicadas.
Como a CPU busca, decodifica e executa uma instrução, o que o contador de programa faz e como a unidade de controle liga os sinais em cada etapa.
Como portas lógicas formam um somador, como a ULA e os registradores trabalham e como o ciclo busca, decodifica e executa avança passo a passo na CPU.
O que é uma CPU, como ela executa instruções, como chegou aos chips atuais e quais limites físicos enfrenta na computação moderna.
Como as CPUs diferem por arquitetura: CISC e RISC, VLIW e EPIC do Itanium, a evolução de 8 a 64 bits e os chips atuais de x86-64, ARM, RISC-V e POWER.
Da válvula do ENIAC ao transistor, ao circuito integrado e ao microprocessador, com modelos reais de cada época e os números de clock, bits e transistores.
Por que o clock parou de subir: o fim da lei de Dennard, a lei de Moore, as paredes de potência e calor, e o que foram Meltdown e Spectre em alto nível.
Como a CPU guarda o endereço de retorno e as variáveis locais na pilha, com quadros medidos em arm64, a convenção de chamada em x86-64 e arm64 e erros comuns.
Como a CPU acelera o processamento: pipeline, previsão de desvios, execução fora de ordem, cache L1/L2/L3, memória virtual, SIMD e multithreading.
Como a ULA soma, subtrai, compara e faz lógica, o que são as flags Z, N, C e V e para que servem os registradores dentro da CPU.