Arquitetura De Computadores Livro - Arquitetura de Computadores, Carlos Ribeiro - Livro - Bertrand
Arquitetura de Computadores, Carlos Ribeiro - Livro - Bertrand

Qual livro escolher para estudar arquitetura de computadores

Escolher um livro de arquitetura de computadores não é sobre encontrar o melhor, é sobre encontrar o que combina com o seu nível atual e com o tempo que você tem disponível. A maioria das pessoas compra o livro mais famoso da prateleira e desiste na metade porque o ritmo não é o delas.

Arquitetura de computadores livro: por onde começar de verdade

Se você está começando do zero ou precisa de uma base sólida, o Computer Organization and Design do Patterson e Hennessy continua sendo a referência mais honesta do mercado. Ele não tenta ser emocionante, mas é rigoroso, bem organizado e cobre desde lógica booleana até processadores pipelined e memórias hierárquicas com exemplos em RISC-V e MIPS. A segunda parte do livro, onde ele entra em detalhes de pipeline, hazards e branch prediction, é onde a maioria dos cursos falha em explicar direito. Se o seu foco é entender o que acontece quando você roda um programa e quer conectar hardware com software, o Computer Systems: A Programmer's Perspective (CSAPP), do Bryant e O'Hallaron, é outro diferencial. Ele mostra cache misses, problemas de localidade, paginação e linkage de uma forma que poucos livros conseguem. O laboratório do Bookworm, que exige analisar um arquivo binário malicioso em assembly, parece exagero na descrição mas é exatamente isso que a indústria espera de alguém que entende a matéria.

Quando o assunto é processadores modernos e microarquitetura, o The Elements of Computing Systems (também conhecido como Nand2Tetris) é útil mas tem uma limitação séria: ele constrói um computador completo do zero e isso é pedagogicamente poderoso, porém o processador que você chega no final é um single-cycle sem pipelines, sem cache e sem branch prediction. Não substitui um livro de microarquitetura real. Use como introdução, não como conclusão. Para quem já passa de inglês com tranquilidade e quer ir fundo, Computer Architecture: A Quantitative Approach, do Hennessy e Patterson, é o nível avançado. Ele introduz medidas quantitativas, análise de performance com a lei de Amdahl, trade-offs de design e benchmarks reais. O problema é que exige maturidade matemática e não engraça com leitor iniciante. Eu vi gente tentando ler o capítulo 5 sobre memória hierárquica sem ter feito os capítulos 1 a 3 e travando completamente.

O que ninguém conta sobre estudar esse assunto

A maior armadilha é achar que ler o livro é o suficiente. Arquitetura de computadores se fija fazendo exercícios de timing de pipeline, calculando hit rate de cache e montando tabelas de mapeamento de página. Sem isso, você decorou definições e não consegue resolver um problema real de performance. Um detalhe que quase todo mundo perde: a diferença entre arquitetura e microarquitetura. Arquitetura é o que o programador vê. Microarquitetura é como o fabricante implementa aquela arquitetura. A instruction set do x86 não mudou muito em décadas, mas o que acontece dentro do processador mudou radicalmente. Entender essa separação evita confusão na hora de estudar otimização de código e benchmarking.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Também é comum subestimar a parte de memória. O capítulo de hierarquia de memória é onde a teoria colide com a prática. Um cache L1 pode responder em 4 ciclos de relógio enquanto um acesso à RAM leva 200 ciclos. Isso parece óbvio até você ver um programa lento porque o array não cabia no cache e causava thrashing constante. A sensação é de frustração até você entender que o problema não era o algoritmo em si, mas o padrão de acesso aos dados. Uma experiência prática que tive: estava ajustando o desempenho de um programa de processamento de imagem e o profiling mostrava que quase todo o tempo estava em acessos aleatórios a matrizes grandes. A solução não foi melhorar o código em si, foi reorganizar os dados para operar em tiles que cabessem no cache L2. Reduzi o tempo de execução de 47 segundos para cerca de 8 segundos sem mudar a lógica do algoritmo. Só consegui fazer isso porque o livro de arquitetura tinha me preparado para pensar em termos de localidade espacial e temporal.

Alternativas quando o livro impresso não funciona para você

Se o custo do livro físico é uma barreira, as versões em PDF circulam amplamente em comunidades acadêmicas, mas o legal é que a editora da Oxford frequentemente disponibiliza slides e materiais complementares gratuitos para o CSAPP, e o Nand2Tetris tem todo o conteúdo aberto no site oficial. Quando uso esses recursos, costumo complementar com as videoaulas do curso de arquitetura da Universidade da Columbia no Coursera, que é gratuito e segue a mesma linha do Patterson. O principal ponto fraco dos livros tradicionais é que eles ficam desatualizados rápido em relação a hardware moderno. Processadores atuais têm predição de branch sofisticada, execução especulativa, SMT e estruturas que os livros de 2015 mal mencionam. Para essa parte, o artigo "Speculative Execution and Side Channels" da Intel e os whitepapers da AMD são mais atualizados do que qualquer livro didático. Use o livro para a base e os manuais técnicos para o estado da arte.

O que considerar antes de comprar

Verifique a edição. A sexta edição do Computer Organization and Design já usa RISC-V como ISA principal, enquanto edições mais antigas usam MIPS. Se você está começando agora, RISC-V é mais relevante porque é aberto e está crescendo em ambientes acadêmicos e industriais. A diferença de preço entre edições não é pequena, então vale a pena confirmar antes de fechar o pedido. O CSAPP tem uma terceira edição com laboratórios atualizados para sistemas modernos, incluindo suporte a containers e novos exercícios de shellcode. Se você for usar o livro para estudo autônomo, os laboratórios são obrigatórios, não opcionais. Eles levam de 15 a 40 horas cada um dependendo da sua experiência, mas é aí que o conhecimento realmente fixa.

Se o seu objetivo é passar em provas técnicas de empresas de hardware ou sistemas embarcados, considere também Digital Design and Computer Architecture, da Harris e Harris. Ele conecta lógica digital com arquitetura de forma direta e tem exercícios em Verilog e VHDL que são úteis para quem vai trabalhar com FPGA. É mais curto que os outros, então funciona bem como segundo livro, não como único.