Arquitetura e organização de computadores

Entenda o que acontece dentro do computador, da tecla apertada até a letra na tela, e por que um programa é rápido ou lento. Vamos tratar do que é o livro, para quem ele foi escrito, do que você vai conseguir fazer, de como o conteúdo está organizado, do português estruturado, da conversa com os outros livros da série e de como aproveitar a leitura.

0 (0)

1 Alunos

Iniciante

Arquitetura e organização de computadores

43h 35m de conteúdo

Certificado de conclusão

Acesso em todas as plataformas

Toda vez que você aperta uma tecla, uma pequena viagem acontece dentro da máquina. Um contato elétrico se fecha, um sinal atravessa fios e circuitos, um programa decide o que fazer com aquilo, uma letra vira desenho e, finalmente, alguns pontinhos de luz se acendem na tela. Tudo isso leva menos tempo do que você leva para piscar.

Este livro conta essa viagem do começo ao fim. Ele mostra o que acontece por baixo de tudo o que você vê no computador, e por baixo de todo código que um dia você vai escrever.

O que é este livro

O nome "arquitetura e organização de computadores" assusta um pouco, mas a ideia por trás dele é simples.

A palavra arquitetura fala do que a máquina promete fazer. Pense na planta de uma casa: ela diz quantos quartos existem, onde fica a porta e por onde passa a água. Quem vai morar na casa só precisa da planta para saber como usá-la.

A palavra organização fala de como essa promessa é cumprida por dentro. É a obra da casa: o tipo de tijolo, a grossura dos canos, o caminho dos fios dentro da parede. Duas casas com a mesma planta podem ter obras bem diferentes, e uma delas pode ser muito mais confortável que a outra.

Com o computador acontece o mesmo. Dois processadores podem prometer exatamente as mesmas coisas e, mesmo assim, um ser muito mais rápido que o outro. Entender essa diferença é o coração deste livro.

O processador, aliás, é a peça que executa as ordens de um programa, uma depois da outra, bilhões de vezes por segundo. Pense nele como um cozinheiro muito rápido que segue uma receita linha por linha, sem nunca pular uma.

Para quem ele foi escrito

Este livro é para você que nunca programou, ou que está dando os primeiros passos agora. Também é para você que olha para a matemática da escola e sente que ela ficou lá atrás, meio esquecida ou nunca bem aprendida.

Isso não é um problema aqui. Toda conta que aparecer será feita passo a passo, com números pequenos e concretos. Toda palavra técnica será explicada na primeira vez que surgir, sempre com uma comparação do dia a dia. Se em algum momento você sentir que uma frase pressupõe algo que você não sabe, a falha é do livro, não sua.

Você também não precisa ter lido nenhum outro material da série antes. Este livro começa do zero e se sustenta sozinho.

O que você vai conseguir fazer no final

Ao terminar a leitura, você vai conseguir contar, com as suas palavras, o caminho completo entre apertar a tecla "A" e ver a letra aparecer na tela. Vai saber em quais pontos desse caminho o tempo é gasto e por quê.

Você também vai entender por que um programa é rápido ou lento. Vai ver que duas formas corretas de resolver o mesmo problema podem levar tempos muito diferentes, às vezes dez vezes mais, só pela maneira como usam a máquina.

Vai saber o que o computador realmente faz com uma linha de código. Uma frase simples como "some o preço deste produto ao total" vira, lá embaixo, uma pequena sequência de ordens muito mais básicas, e você vai acompanhar essa transformação com os próprios olhos.

E vai entender por que trocar de computador às vezes não resolve nada. Um processador com um número maior na caixa nem sempre deixa o seu programa mais rápido, e você vai saber dizer quando isso acontece e quando não acontece.

Como o conteúdo está organizado

O livro tem 20 capítulos, e eles seguem a ordem da viagem. Começamos no que você vê, a tecla e a tela, e descemos camada por camada: a forma como a máquina representa números e letras, os circuitos que fazem contas, o relógio que dá o ritmo de tudo, o processador por dentro, as ordens que ele entende e o caminho entre o que uma pessoa escreve e o que a máquina executa.

Depois, olhamos para a memória, que é onde a máquina guarda o que está usando no momento. Ela aparece em vários capítulos porque é, quase sempre, o lugar onde o desempenho se ganha ou se perde. Em seguida vêm o armazenamento, a conversa com o teclado, o disco e a rede, e as várias formas de a máquina fazer mais de uma coisa ao mesmo tempo.

Os últimos capítulos juntam tudo: como medir desempenho sem se enganar, como o hardware aparece no código do dia a dia, como a segurança é tratada lá embaixo, uma linha do tempo de como chegamos até aqui e o que estudar depois.

Cada capítulo começa com uma aula de introdução, que mostra o problema que ele resolve e o que você vai conseguir fazer ao final. Depois vêm as aulas, uma para cada assunto. Em cada uma, a ideia nasce de uma pergunta prática, ganha uma comparação ou um desenho, depois um exemplo pequeno com números de verdade e, quando faz sentido, um experimento.

Muitos capítulos têm uma aula de prática, que traz um experimento comentado: medições feitas pelo autor numa máquina de servidor na nuvem, com os números de verdade e a explicação de cada um.

Depois de cada aula de conteúdo, inclusive das práticas, vem uma aula de exercícios. São de cinco a oito exercícios para resolver no papel, com a calculadora quando houver conta, sem precisar programar. As respostas ficam escondidas num bloco que você abre só depois de tentar, cada uma com o resultado e o porquê. Alguns exercícios convidam você a olhar o seu próprio computador, com uma ferramenta gratuita como o gerenciador de tarefas, mas esses ficam sempre no fim da lista e não são necessários para seguir em frente.

E todo capítulo fecha com um quiz de dez perguntas, cada uma com quatro alternativas, para você conferir se as ideias principais ficaram firmes antes de passar para o próximo.

No fim do livro há um apêndice com o glossário completo de termos e um resumo das estruturas usadas nos exemplos, para você consultar sempre que esquecer alguma coisa.

Por que os exemplos são em português estruturado

Em vários momentos, o livro vai mostrar um algoritmo, que é simplesmente uma sequência de passos para resolver um problema. Uma receita de bolo é um algoritmo: misture isto, depois aqueça aquilo, espere tantos minutos.

Programas de verdade são escritos em linguagens de programação, como C#, Python ou JavaScript. Cada uma tem suas regras próprias de escrita, com símbolos, chaves e pontuações que não têm nada a ver com a ideia que queremos ensinar. Para quem ainda não escolheu uma linguagem, esses detalhes disputam a atenção com o que importa.

Por isso, todos os exemplos deste livro estão em português estruturado: uma forma de escrever algoritmos com palavras do nosso idioma, organizada o suficiente para ser precisa e simples o suficiente para ser lida por qualquer pessoa. Veja um exemplo pequeno, que vai nos acompanhar ao longo do livro:

algoritmo "soma_da_compra"
var
   total: real
inicio
   total <- 0
   total <- total + 12.50
   total <- total + 8.90
   total <- total + 23.00
   escreva("Total da compra: ", total)
fimalgoritmo

Lendo de cima para baixo: o algoritmo reserva um espaço chamado total para guardar um número com vírgula. Esse espaço com nome é o que chamamos de variável, como uma caixinha etiquetada onde você guarda um valor para usar depois. O total começa em 0. Depois recebe 12,50 e passa a valer 12,50. Recebe 8,90 e passa a valer 21,40. Recebe 23,00 e chega a 44,40, que é o valor mostrado na tela. A setinha <- quer dizer "guarde este valor aqui". Repare que nos números do exemplo a vírgula vira ponto, porque é assim que a máquina escreve números decimais.

Parece trivial, e é. Mas ao longo do livro você vai descobrir que cada uma dessas linhas vira várias ordens para o processador, que o número 8,90 não é guardado exatamente como você imagina e que somar 0,1 com 0,2 dentro do computador não dá exatamente 0,3. Tudo isso será explicado no seu devido tempo.

Como este livro conversa com os outros da série

Este material faz parte de uma série. O livro de hardware apresenta as peças do computador e para que cada uma serve. Este aqui abre essas peças e mostra como elas funcionam por dentro e como conversam entre si. O livro de sistemas operacionais começa onde este termina, na camada de programas que administra toda essa máquina.

Os três se completam, mas cada um pode ser lido sozinho e em qualquer ordem. Quando um assunto encostar em outro livro, você vai encontrar um aviso dizendo isso, sem precisar sair daqui para entender.

Como aproveitar a leitura

Não tenha pressa. Este livro rende mais lido em pequenas doses, um pouco por dia, do que de uma vez só em um fim de semana. No primeiro capítulo há uma aula inteira sobre como ler sem travar, com sugestões para quando algum trecho não fizer sentido de primeira.

As aulas de prática, que aparecem no fim da maioria dos capítulos, são as que transformam leitura em entendimento. Elas mostram medições reais e depois pedem que você observe, conte ou calcule alguma coisa com as suas próprias mãos. Vale a pena fazê-las com calma, mesmo que pareçam simples.

E guarde a pergunta que abre este livro: o que acontece quando você aperta uma tecla? No primeiro capítulo você vai ganhar a resposta curta. No último, vai perceber que sabe contar a resposta longa.