Apresentação
No artigo anterior, Números Binários, vimos como o computador escreve números, letras e cores usando só zeros e uns. Ficaram duas perguntas: quem faz as contas com esses zeros e uns? E onde tudo isso fica guardado?
Este artigo responde às duas, passando pelas partes principais que todo computador tem, do mais potente ao mais simples.
É um artigo longo. As partes chamadas “Para ir além” são opcionais e mostram os detalhes por dentro de cada peça. Dá para pular todas elas sem perder o fio da explicação.
As partes do computador
Todo computador tem as mesmas partes principais. No centro fica a CPU, o processador. Ligadas a ela ficam quatro partes: a entrada, a memória, o armazenamento e a saída.
Descrição detalhada: na imagem, quatro partes do computador estão ligadas à CPU (Unidade Central de Processamento). São elas:
- Entrada: representada por um teclado, no canto superior esquerdo.
- Memória: representada por pentes de memória RAM, no canto inferior esquerdo.
- Saída: representada por um monitor, no canto superior direito.
- Armazenamento: representado por um disco rígido, no canto inferior direito.
Cada parte está ligada à CPU por uma linha colorida, indicando a conexão entre elas.
Quando você usa o computador, a informação faz sempre um caminho parecido:
- Entra por um dispositivo de entrada, como o teclado.
- É processada pela CPU, que faz as contas e toma as decisões.
- Fica guardada: na memória, enquanto está sendo usada, ou no armazenamento, para ficar salva mesmo com o computador desligado.
- Sai por um dispositivo de saída, como a tela.
Isso acontece toda vez que você assiste a um vídeo, escreve um texto, joga ou acessa a internet. O artigo segue essa mesma ordem de peças: primeiro a CPU, depois a memória, o armazenamento e, por fim, a entrada e a saída.
Hardware e software
Para um computador funcionar, ele precisa de duas coisas: hardware e software.
O hardware é a parte física, que dá para tocar: o teclado, o mouse, a tela, o processador, a memória, o disco.
O software é a parte que não dá para tocar: os programas. O Windows, o Word, o Google Chrome, os jogos e os aplicativos são exemplos de software. Essa diferença volta no fim do artigo.
CPU: Unidade Central de Processamento
CPU é a sigla em inglês para Unidade Central de Processamento. Ela também é chamada de processador ou microprocessador. É o chip que executa as instruções dos programas, e por isso muita gente diz que ela é o “cérebro” do computador.
Dá para imaginar a CPU como uma calculadora muito rápida. Mas ela não faz só contas: também leva informações de um lugar para outro dentro do computador e controla as outras peças.
Dentro da CPU existem duas partes principais:
- a ULA (Unidade Lógica e Aritmética), que faz as contas;
- a Unidade de Controle (UC), que organiza tudo e diz a cada parte o que fazer.
A ULA: onde as contas acontecem
A ULA faz três tipos de trabalho:
- Contas: somar, subtrair, multiplicar e dividir. Se o programa pede 2 + 3, a ULA responde 5.
- Comparações: descobrir se um número é maior, menor ou igual a outro. Se o programa pergunta se 4 é maior que 2, a ULA responde que sim.
- Operações lógicas: com verdadeiro e falso, que os programas usam para tomar decisões.
Nada disso é mágica. Lembra das portas lógicas, do artigo Circuitos Lógicos? A ULA é feita delas: muitas portas encaixadas, que somam, comparam e decidem com zeros e uns.
As instruções também são 0 e 1
As ordens que a CPU executa, como “some estes dois números”, também são sequências de 0 e 1. Esse conjunto de instruções se chama linguagem de máquina.
Ninguém escreve um programa direto em 0 e 1. Quem cria um programa usa uma linguagem de programação, mais fácil para pessoas, e um programa chamado compilador (ou interpretador) traduz tudo para a linguagem de máquina.
A Unidade de Controle: o maestro
Dentro do computador, dados e instruções são sequências de 0 e 1, e ficam guardados juntos, na mesma memória. Então, como a CPU sabe o que é dado e o que é instrução, sem se confundir? É aí que entra a Unidade de Controle.
Pense em uma orquestra. Violinos, piano e flauta precisam começar e parar na hora certa, e quem organiza isso é o maestro. Ele não toca nenhum instrumento, mas mostra o momento de cada um entrar. No computador, a Unidade de Controle faz o papel do maestro. Ela:
- Busca a próxima instrução na memória.
- Decodifica a instrução, ou seja, lê e entende o que deve ser feito. Se a instrução for “somar dois números”, ela avisa a ULA.
- Coordena cada parte para trabalhar no momento certo, no ritmo do clock.
Voltando à pergunta do começo: por fora, dado e instrução são iguais, porque os dois são sequências de 0 e 1. A diferença está no uso.
A Unidade de Controle anota em que posição da memória está a próxima instrução. Essa anotação fica em um contador, chamado contador de programa. O que ela busca nessa posição, ela trata como instrução. Já os dados são os números com que a instrução manda trabalhar.
O clock: o ritmo da CPU
O clock é o relógio interno da CPU. Ele não é como um relógio de parede: começa em um cristal minúsculo que vibra milhões de vezes por segundo (isso se mede em megahertz) e manda sinais elétricos. Cada sinal é como uma batida de tambor que marca o ritmo.
Milhões ainda é pouco para um processador. Por isso, um circuito do próprio processador multiplica esse ritmo até chegar a bilhões de batidas por segundo (isso se mede em gigahertz). A cada batida, a Unidade de Controle dá uma ordem, como:
- “ULA, é hora de somar!”
- “Memória, guarde esse resultado!”
Quando alguém diz que um “processador é de 3 GHz”, isso quer dizer que o clock dele faz 3 bilhões de batidas por segundo. Um clock mais rápido permite executar mais instruções em menos tempo.
Mas o clock não é a única coisa que importa. A própria Intel avisa que muitos outros fatores entram nessa conta e que, para comparar processadores pelo clock, o ideal é comparar modelos da mesma marca e da mesma geração.
Exemplo: 5 + 3 por dentro da CPU
Vamos ver a CPU trabalhando em uma conta simples:
- O pedido. Você pede a soma 5 + 3. O programa que faz a conta já está em linguagem de máquina, e os números também viram 0 e 1: o 5 é 0 0 0 0 0 1 0 1 e o 3 é 0 0 0 0 0 0 1 1, como vimos em Números Binários.
- A Unidade de Controle entra em ação. Ela busca a instrução na memória, decodifica e vê que é uma soma. Então manda a ULA somar os dois números.
- A ULA faz a conta. O resultado é 0 0 0 0 1 0 0 0.
- O resultado aparece. Em decimal, ele é o número 8. O programa transforma esse número em algo que a gente lê, e a tela mostra “8”.
Tudo isso acontece em uma fração minúscula de segundo.
Exemplo: abrindo um jogo
Abrir um jogo leva bem menos de um segundo para começar. Aqui vamos explicar devagar, passo por passo:
- Você clica no ícone do jogo. O sistema operacional (Windows, Linux, macOS ou Android, no celular) entende que você quer abrir o jogo e transforma esse clique em instruções que a CPU consegue executar.
- A Unidade de Controle começa a trabalhar. Ela lê a primeira instrução: algo como “pegue o jogo que está no HD ou SSD e coloque na memória”.
- O jogo é carregado na memória. Depois disso, a Unidade de Controle vai lendo as instruções do jogo, uma por uma. Algumas dizem, por exemplo, “mostre a tela inicial”, “toque a música de fundo” e “mostre o personagem na posição inicial”.
- A ULA faz as contas. Quando você aperta a seta para a direita, o jogo precisa somar 1 à posição do personagem para ele andar. A Unidade de Controle manda a ULA fazer essa conta. Um circuito chamado MUX escolhe quais números vão para a ULA (ele aparece no “Para ir além” desta seção).
- Tudo acontece no ritmo do clock. Cada batida é um passo:
- na 1ª batida, a Unidade de Controle busca a próxima instrução;
- na 2ª, ela entende o que precisa ser feito;
- na 3ª, a ULA faz a conta ou outra peça entra em ação;
- na 4ª, o resultado vai para a memória ou para a tela.
- O jogo aparece na tela. Esse ciclo se repete bilhões de vezes por segundo. Por isso você só vê o jogo funcionando, com imagem, som e personagens se movendo.
Curiosidade: von Neumann e o Intel 4004
Guardar dados e instruções juntos, na mesma memória, é uma ideia descrita em 1945 pelo matemático John von Neumann. Por isso, esse jeito de organizar o computador se chama arquitetura de von Neumann. Os computadores que usamos hoje seguem essa ideia.
E por que a CPU também se chama microprocessador? Porque todas as partes dela cabem em um único chip, bem pequeno. Antes, essas funções ficavam espalhadas em vários chips. Em 1971, o Intel 4004 juntou tudo em um chip só.
Para ir além: o MUX, um seletor feito de portas lógicas
O multiplexador, ou MUX, é um circuito que escolhe qual dado vai passar adiante. Ele funciona como um guarda de trânsito: deixa passar só uma informação por vez.
- Entradas de dados: o MUX recebe vários dados, chamados de x0, x1, x2 e assim por diante.
- Sinais de seleção: são como os botões de um controle remoto. Têm nomes como S0 e S1 e, lidos juntos, formam um número em binário que diz qual entrada foi escolhida. Com o código 0 0, passa a entrada x0; com 0 1, a x1; com 1 0, a x2; com 1 1, a x3.
- Saída: é por onde sai o dado escolhido, chamada de Y.
Por dentro, o MUX é feito das portas lógicas de Circuitos Lógicos. Cada entrada tem o seu caminho de portas, e os sinais de seleção deixam só um desses caminhos ativo. No final, uma porta OU junta os caminhos e manda adiante o único dado que passou.
A ULA usa MUX para escolher qual operação vai fazer (somar, subtrair, comparar) e quais números vão entrar na conta.
Memória
Você já deve ter visto anúncios assim:
“Computador com 500 GB de armazenamento e 8 GB de memória RAM!”
E talvez tenha pensado: não é tudo memória? Por que dois nomes diferentes?
Bancada e armário
O computador tem dois tipos de lugar para guardar dados:
- Memória de trabalho: guarda o que está sendo usado agora. É rápida, mas volátil: perde tudo quando o computador desliga. A memória RAM e a cache são desse tipo.
- Armazenamento: guarda os dados mesmo sem energia. Por isso é chamado de não volátil. O HD, o SSD e a memória dos pendrives e cartões de memória são desse tipo.
Pense em uma cozinha. Para preparar uma refeição, você usa uma bancada, e guarda os utensílios em um armário.
Conforme precisa, você pega a tábua e a faca no armário e coloca na bancada. A bancada é a memória de trabalho: se for pequena, cabem poucas coisas ao mesmo tempo, e isso limita o que você consegue fazer de uma vez. Se for grande, dá para preparar várias partes da refeição juntas.
O armário é o armazenamento: guarda tudo o que você tem, mesmo o que não está usando agora. Pode ser pequeno, médio ou bem grande, dependendo do quanto você precisa guardar.
Por isso, ao comprar um computador, vale olhar as duas coisas. Quanto mais memória RAM (a bancada), mais coisas você consegue fazer ao mesmo tempo sem travar. Quanto maior o HD ou SSD (o armário), mais arquivos você pode guardar.
E por que os dois são medidos em gigabytes? Porque os dois guardam dados, e dado se mede em bytes.
Só que a RAM é vendida em potências de 2: o que o anúncio chama de 8 GB são, na verdade, 8 GiB, ou seja, cerca de 8,6 bilhões de bytes. Já o disco usa a conta de 1.000. Essa diferença está explicada no artigo Números Binários.
Memória RAM
A RAM (sigla em inglês para “memória de acesso aleatório”) é a bancada do computador. É nela que ficam os programas abertos e os dados que eles estão usando, e é dela que a CPU busca as instruções.
E o “acesso aleatório” do nome? Quer dizer que a CPU pode ir direto a qualquer posição da RAM, sem passar pelas anteriores, como seria preciso em uma fita cassete.
A célula: portinha e baldinho
A RAM é feita de silício, com transistores, e a RAM usada como memória principal tem também capacitores, peças que guardam carga elétrica. Esse tipo de RAM se chama DRAM (RAM dinâmica).
Dentro dos chips, cada célula de memória tem duas peças:
- um transistor, que funciona como uma portinha. É o mesmo interruptor do artigo Física dos Computadores. Ele controla quando dá para mexer no que está guardado;
- um capacitor, que funciona como um baldinho. Cheio de carga, ele guarda um 1. Vazio, guarda um 0.
Cada célula guarda um único bit. Juntando bilhões de células, temos a memória RAM.
Endereços: como na reglete
O computador não dá um endereço para cada bit sozinho. Ele junta as células de 8 em 8, formando um byte, e cada byte recebe um número único: o endereço. É como o número da casa onde ele mora. A CPU usa esse número para saber onde buscar ou guardar cada informação.
Para quem conhece o Braille, dá para comparar com a reglete, a régua usada para escrever em Braille. Cada quadradinho da reglete é uma cela, e cada cela guarda uma letra. Para escrever uma palavra, você usa uma cela para cada letra.
Só não confunda a cela com a célula de memória, que guarda um bit só. Na comparação, a cela faz o papel do byte: guarda uma letra e ocupa uma posição.
Imagine uma reglete com 4 linhas e 24 colunas, ou seja, 96 celas. A palavra “casa” ocupa 4 celas seguidas na primeira linha, e cada letra fica em uma posição exata. Essa posição é o endereço da letra.
Para simplificar, o desenho abaixo mostra a palavra do jeito que ela é lida, da esquerda para a direita. Na reglete de verdade, a escrita é feita da direita para a esquerda, e a folha é virada para a leitura.
Na memória do computador é igual, só que o endereço é um número, e não uma linha e uma coluna:
Guardar e ler
Para guardar um valor, o computador abre a portinha da célula. Se for para guardar um 1, ele enche o baldinho de carga. Se for para guardar um 0, ele esvazia o baldinho.
Para ler, ele abre a portinha de novo e verifica se o baldinho tem carga. Como essa carga é muito fraquinha, um circuito especial aumenta o sinal antes de o computador decidir se é 0 ou 1 (os detalhes estão no “Para ir além” desta seção).
Refresh: o baldinho vaza
O capacitor não é uma bateria. Com o tempo, o baldinho vai perdendo a carga sozinho, mesmo que ninguém mexa nele.
Por isso, a própria memória recarrega os baldinhos de tempos em tempos, para que a informação não desapareça. Esse processo se chama refresh (atualização).
É por isso que a RAM é volátil: quando o computador desliga, não há mais energia para o refresh, os baldinhos se esvaziam e os dados se perdem.
Para ir além: a RAM por dentro
Esta parte mostra como a memória acha a célula certa, prepara o caminho e lê o sinal fraquinho.
Linhas de palavra e de bit. As células ficam organizadas em uma grade, com fileiras e colunas. Duas “linhas” elétricas fazem o acesso:
- a linha de palavra passa por uma fileira inteira e abre todas as portinhas daquela fileira;
- a linha de bit (em inglês, bit line) é o corredor por onde o dado entra ou sai de uma coluna.
A célula acessada é a que fica no cruzamento das duas. O endereço chega a um circuito chamado decodificador, que escolhe qual linha de palavra ativar.
Pré-carga. Antes de cada leitura ou escrita, um circuito de pré-carga deixa a linha de bit pronta e estável, como quem varre o corredor antes de alguém passar. Sem isso, os dados poderiam ser lidos ou gravados errado.
Leitura e amplificador. Na leitura, a portinha se abre e a carga do baldinho, ou a falta dela, passa para a linha de bit. Esse sinal é tão fraco que seria difícil saber se é 0 ou 1.
Por isso existe o amplificador de leitura (em inglês, sense amplifier). Ele funciona como um megafone: pega o sinal fraquinho e deixa ele forte e claro, para o computador saber com certeza se o valor é 0 ou 1.
Juntando tudo, a RAM por dentro fica assim:
Palavra de memória. A CPU não lê um byte de cada vez. Ela lê ou grava um grupo de bytes de uma vez, por exemplo 4, chamado palavra de memória. E, mesmo assim, a memória é mais lenta que o processador, que às vezes precisa esperar a resposta.
Variáveis e endereços. Quem programa dá nomes aos dados, como “a”, “q”, “y” ou “m”. Esses nomes se chamam variáveis. O computador guarda o valor de cada variável em um endereço da memória.
Se cada variável ocupa 4 bytes, os endereços pulam de 4 em 4: “a” no 1000, “q” no 1004, “y” no 1008 e “m” no 1012. A pessoa programadora usa os nomes, e o computador usa os números.
Memória cache
A CPU é muito mais rápida que a RAM. Além disso, a RAM fica fora do chip do processador, mais longe. Quando a CPU precisa de um dado que está na RAM, ela perde tempo esperando a resposta. Esse atraso é um gargalo: um ponto que deixa todo o resto mais lento.
Para diminuir essa espera, os processadores têm uma pequena memória muito rápida, construída dentro do próprio chip da CPU, bem colada nos circuitos que fazem as contas. Essa memória se chama cache.
Além de ficar mais perto, a cache é feita de outro tipo de memória, chamado SRAM (RAM estática). Cada bit da SRAM usa seis transistores e nenhum capacitor. Sem baldinho para vazar, ela não precisa de refresh e é bem mais rápida.
Em troca, ocupa mais espaço, gasta mais energia e custa muito mais caro. Por isso a cache é bem menor que a RAM.
A cache costuma ser dividida em três níveis. A L1 é a menor e mais rápida; a L2 é um pouco maior e um pouco mais lenta; e a L3 é a maior das três e costuma ser compartilhada entre os núcleos do processador (as unidades da CPU que executam instruções, e hoje um processador costuma ter vários).
Quando a CPU precisa de um dado, ela olha primeiro na cache:
- se o dado estiver lá, é um acerto (em inglês, cache hit), e ele é usado na hora;
- se não estiver, é uma falta (em inglês, cache miss), e a CPU precisa buscar o dado na RAM, o que leva mais tempo.
Esse sistema funciona porque os programas costumam usar os mesmos dados várias vezes em pouco tempo. Quando um programa repete o mesmo trecho muitas vezes, por exemplo, os mesmos números e instruções voltam a ser usados, e a cache já está com eles à mão.
Para ir além: como a cache decide o que guardar
Como a cache é pequena, ela precisa decidir o que jogar fora quando enche. Uma regra muito usada é tirar o dado que não é usado há mais tempo. Em inglês, essa regra se chama LRU (least recently used).
E quando a CPU muda um dado, a cache pode guardar a mudança primeiro só nela e mandar para a RAM depois. Esse jeito de trabalhar se chama write-back.
Armazenamento
Agora vamos ao armário: o armazenamento, que guarda os dados mesmo com o computador desligado.
HD: disco rígido
O nome disco rígido não é só um jeito de falar. Dentro do HD existe mesmo um disco (ou vários, empilhados), feito de material rígido e chamado de prato. Ele fica dentro de uma caixa de metal bem fechada.
Na superfície do prato existem partículas magnéticas, e é nelas que os dados são gravados. Para ler e gravar, o HD tem um braço com uma espécie de agulha, parecida com a de um toca-discos de vinil.
Na ponta fica uma pecinha chamada cabeçote, que lê e grava os dados. Mas atenção: o cabeçote não encosta no disco. Ele flutua bem pertinho da superfície.
Ao lado do braço fica o atuador, um motorzinho que move o braço de um lado para o outro. Ele não usa engrenagens: funciona com uma bobina e ímãs.
Na parte de fora do HD ficam as entradas, que lembram tomadas. Elas ligam o HD ao computador, levando energia e deixando os dados entrarem e saírem.
Hoje, o HD é barato: dá para comprar um com 1 ou 2 terabytes por um preço razoável. Por isso ele ainda é uma opção popular para quem precisa de muito espaço gastando pouco.
Por que o HD é frágil e lento
O HD é muito sensível, e por isso vem lacrado. Lacrado não quer dizer sem ar: o cabeçote flutua justamente sobre um colchão de ar bem fininho. Nos discos atuais, ele fica a cerca de 5 nanômetros do prato, ou seja, 5 milionésimos de milímetro. É uma distância milhares de vezes menor que a espessura de um fio de cabelo.
Nessa distância, qualquer sujeirinha que entre lá dentro é como uma pedra enorme no caminho. Poeira e umidade podem fazer o cabeçote raspar o disco, e aí o HD pode parar de funcionar e perder os dados.
Nos HDs de grande capacidade, o que fica lá dentro nem é ar: eles são lacrados com gás hélio, que é bem mais leve. Com menos turbulência, cabem mais pratos na mesma caixa.
Se o cabeçote encostar no disco, a gravação pode se estragar. Por isso, notebooks com HD não devem ser carregados de um lado para o outro enquanto estão ligados, nem usados em movimento, e muito menos sofrer quedas ou pancadas.
O HD também é mecânico: tem partes que se movem. Para encontrar um dado, o braço leva o cabeçote até a trilha certa, o caminho circular onde a informação está, e depois espera o disco girar até o dado passar embaixo dele.
Só essa ida até a trilha costuma levar de 3 a 9 milésimos de segundo. Parece pouco, mas em 3 milésimos de segundo um processador de 3 GHz já deu cerca de 9 milhões de batidas de clock. Por isso o HD é um gargalo, e programas pesados podem demorar a abrir em computadores com HD.
Para não deixar tudo ainda mais lento, muitos programas anotam as mudanças na memória primeiro e só depois gravam tudo de uma vez no disco.
SSD: Unidade de Estado Sólido
O SSD (sigla em inglês para Unidade de Estado Sólido) guarda os dados sem nenhuma parte que se mexe. Ele usa a memória flash, a mesma dos pendrives e cartões de memória. Por isso é bem mais rápido que o HD, mais resistente a pancadas e silencioso.
O ponto fraco do SSD é o desgaste. As células da memória flash aguentam um número limitado de gravações, e cada vez que um trecho é apagado e gravado de novo, elas se gastam um pouco. O próprio SSD espalha as gravações para que esse desgaste demore a aparecer.
Os dois podem falhar
Tanto o SSD quanto o HD podem falhar. O HD às vezes dá sinais, como barulhos estranhos, mas nem sempre. Em um estudo do Google com mais de cem mil HDs, mais de 36% dos que falharam não tinham dado nenhum aviso nos sensores de monitoramento do próprio disco (chamados de SMART).
Por isso, faça cópias de segurança (backups) dos seus arquivos importantes, seja qual for o seu disco.
Para ir além: o que acontece dentro do SSD
Páginas e blocos. As células do SSD são organizadas em páginas, e as páginas são agrupadas em blocos. Uma página costuma ter uns 4 KiB, e um bloco, 128 ou 256 KiB: um bloco junta dezenas de páginas.
Ler é fácil, regravar é difícil. Ler uma página é quase instantâneo. Mas, para gravar algo novo, o SSD geralmente precisa apagar um bloco inteiro antes.
Por isso existe o comando TRIM: com ele, o sistema operacional avisa o SSD de quais dados foram apagados. Assim, o SSD libera esse espaço na sua faxina interna, chamada coleta de lixo, e deixa blocos prontos para as próximas gravações.
O controlador. É o chip que organiza o SSD. Ele decide onde cada dado será guardado e corrige erros automaticamente (com o ECC, sigla em inglês para código de correção de erros).
Ele também espalha as gravações por todas as células (wear leveling) e usa uma parte reservada da memória, escondida de quem usa o computador, para organizar as gravações e trocar células gastas (over-provisioning).
NVMe e SATA. Os SSDs do tipo NVMe se ligam direto na placa-mãe (a placa principal do computador, onde as outras peças se encaixam) por um caminho de alta velocidade chamado PCIe. Eles são bem mais rápidos que os SSDs do tipo SATA, que usam a mesma conexão dos HDs.
Comparando HD e SSD
| Característica | HD (disco rígido) | SSD (estado sólido) |
|---|---|---|
| Velocidade | Lento, por causa das partes que se movem | Muito rápido, sem partes que se movem |
| Resistência | Sensível a quedas e pancadas | Mais resistente a pancadas |
| Preço por GB | Mais barato | Mais caro |
| Consumo de energia | Maior | Menor |
| Barulho | Pode fazer barulho por causa do disco girando | Silencioso |
Swap: quando a bancada enche
No disco, seja HD ou SSD, existe um espaço especial chamado swap (área de troca). É uma memória reserva que o computador usa quando a RAM está ficando cheia.
Voltando à cozinha: imagine que a bancada lotou e não cabe mais nada. Para continuar, você usa um cantinho do armário como bancada extra. Esse cantinho é o swap.
O sistema nem espera a bancada lotar: ele costuma mandar para o swap as coisas que não são usadas há algum tempo, para liberar a RAM para o que está em uso.
O swap evita que o computador trave quando há muitos programas abertos. Mas o disco, seja HD ou SSD, é bem mais lento que a RAM. Quando o computador usa o swap com frequência, fica mais devagar, como se você tivesse que levantar toda hora para buscar algo no armário.
Por isso, vale ter uma quantidade de memória RAM adequada ao que você costuma fazer.
Para ir além: DDR, ECC e memória virtual
DDR. O tipo de memória RAM mais comum hoje é a DDR (sigla em inglês para taxa dupla de dados). Ela transfere dados duas vezes a cada batida do clock que comanda a memória: uma no “tic” e outra no “tac”. Por isso é mais rápida que as memórias mais antigas.
ECC. Os servidores (computadores potentes, ligados em rede, que atendem pedidos de outros computadores) costumam usar memória com ECC. Ela corrige sozinha pequenos erros, como um bit que muda de valor por defeito ou até por radiação. É mais cara, mas evita travamentos e dados corrompidos.
Memória virtual. Os programas não usam os endereços da RAM diretamente. Cada programa enxerga uma memória só dele, chamada memória virtual.
O sistema operacional decide o que fica na RAM e o que vai para o swap, e o processador traduz os endereços na hora, sem o programa perceber. Já a cache é cuidada só pelo processador, sem ajuda do sistema operacional.
Firmware: o primeiro programa
Existe ainda outro grupo de memórias não voláteis que, por motivos históricos, é chamado de ROM (memória somente de leitura), mesmo que alguns tipos possam ser regravados. Os programas guardados nela se chamam firmware.
É um firmware o primeiro programa que roda quando você liga o computador. Ele dá a partida e depois passa o controle para o sistema operacional. Nos computadores mais antigos, esse firmware se chamava BIOS. Hoje, a UEFI ocupa esse lugar.
Entrada e saída
Os dispositivos de entrada são os que o computador usa para receber informações. Os dispositivos de saída são os que ele usa para entregar informações de volta para a pessoa.
Alguns dispositivos de entrada:
- teclado, mouse e touchpad (o painel sensível ao toque dos notebooks);
- microfone e câmera;
- scanner (leitor de documentos) e leitor de código de barras;
- teclado Braille, para digitar em Braille;
- acionadores: botões grandes que podem ser apertados com a mão, o pé ou a cabeça, usados por pessoas com pouca mobilidade nas mãos;
- rastreador ocular, que permite controlar o computador com o olhar.
Alguns dispositivos de saída:
- monitor (a tela) e projetor;
- caixa de som e fones de ouvido;
- impressora e plotter (impressora de grande formato);
- impressora Braille, que imprime em relevo;
- motor de vibração (o vibracall do celular).
Alguns dispositivos fazem as duas coisas, entrada e saída:
- a tela sensível ao toque (touchscreen): quando você toca, é entrada; quando ela mostra, é saída;
- o modem e a placa de rede, que enviam e recebem dados;
- a linha Braille, que mostra o texto da tela em Braille, com pinos que sobem e descem, e tem teclas para digitar e navegar.
O leitor de telas: hardware ou software?
Lembra da diferença entre hardware e software, do começo do artigo? O leitor de telas é um software. Ele lê o que aparece na tela e entrega para a pessoa por um dispositivo de saída: a caixa de som ou os fones, com uma voz sintetizada, ou a linha Braille.
Resumo
- Todo computador tem uma CPU no centro, ligada à entrada, à memória, ao armazenamento e à saída.
- Na CPU, a ULA faz contas, comparações e operações lógicas, com circuitos feitos de portas lógicas. A Unidade de Controle busca e decodifica as instruções e coordena tudo no ritmo do clock.
- A memória RAM é a bancada: rápida, mas volátil. Cada célula tem uma portinha (transistor) e um baldinho (capacitor), cada byte tem um endereço, e o refresh impede que os dados se percam.
- A cache é uma memória pequena e muito rápida dentro da CPU, que guarda os dados mais usados.
- O armazenamento é o armário: o HD é barato, mas mecânico, frágil e lento; o SSD é rápido e sem partes móveis, mas se desgasta. Os dois podem falhar, então faça backup.
- Os dispositivos de entrada e saída incluem também tecnologias assistivas, como a linha Braille, que faz as duas coisas.
Já conhecemos o hardware por dentro, do transistor ao computador inteiro. Mas quem diz ao hardware o que fazer são os programas. Esse é o assunto do próximo artigo, Programas ou Softwares.
Referências
- BRYANT, Randal E.; O'HALLARON, David R. Computer Systems: A Programmer's Perspective, 2. ed. Capítulo 6, The Memory Hierarchy (prévia). Disponível em: https://csapp.cs.cmu.edu/2e/ch6-preview.pdf. Acesso em: 10 out. 2026.
- University of Illinois Urbana-Champaign, CS 102. Computer Architecture (arquitetura de von Neumann). Disponível em: https://courses.grainger.illinois.edu/cs102/sp2026/text/architecture.html. Acesso em: 10 out. 2026.
- Colorado State University, CS 270. Chapter 4: The Von Neumann Model (slides de aula; contador de programa e instruções que "look just like data"). Disponível em: https://www.cs.colostate.edu/~cs270/.Fall18/slides/Lecture15(C4).pdf. Acesso em: 15 out. 2026.
- Computer History Museum. This Day in History, 30 de junho: "First Draft of Report on EDVAC" Published. Disponível em: https://www.computerhistory.org/tdih/june/30/. Acesso em: 10 out. 2026.
- Computer History Museum. 1971: Microprocessor Integrates CPU Function onto a Single Chip. Disponível em: https://www.computerhistory.org/siliconengine/microprocessor-integrates-cpu-function-onto-a-single-chip/. Acesso em: 10 out. 2026.
- Cornell University, CS 3410. Processes (notas de aula). Disponível em: https://www.cs.cornell.edu/courses/cs3410/2025fa/notes/process.html. Acesso em: 10 out. 2026.
- Cornell University, CS 3410. Caches (notas de aula). Disponível em: https://www.cs.cornell.edu/courses/cs3410/2025fa/notes/caches.html. Acesso em: 10 out. 2026.
- Intel. What Are the Differences Between vCPU, Core, and Hyperthreading on an Intel Xeon Processor? (definição de núcleo). Disponível em: https://www.intel.com/content/www/us/en/support/articles/000098959/processors/intel-xeon-processors.html. Acesso em: 15 out. 2026.
- Princeton University, COS 217. Memory Management (slides de aula). Disponível em: https://www.cs.princeton.edu/courses/archive/spr11/cos217/lectures/18MemoryMgmt.pdf. Acesso em: 10 out. 2026.
- Stanford University, CS 106E. Lecture #6: Computer Hardware (Memory) (notas de aula; o que quer dizer acesso aleatório). Disponível em: https://web.stanford.edu/class/cs106e/lectureNotes/L06NHardwareMemory.pdf. Acesso em: 15 out. 2026.
- Northwestern University. Combinational Circuit Design (multiplexador 4 para 1). Disponível em: https://users.cs.northwestern.edu/~agupta/_projects/network_switch/Lectures/CombinatorialCircuitDesign/index.html. Acesso em: 10 out. 2026.
- University of Wisconsin-Madison, CS 354. Lecture notes on Addressibility. Disponível em: https://pages.cs.wisc.edu/~markhill/cs354/Fall2008/notes/addressibility.html. Acesso em: 10 out. 2026.
- Michigan State University, ECE 410. Memory Basics (capítulo 13, slides de aula). Disponível em: https://www.egr.msu.edu/classes/ece410/mason/files/Ch13.pdf. Acesso em: 10 out. 2026.
- Instituto Superior Técnico (Universidade de Lisboa). Electrónica Geral: problemas de memória DRAM, com soluções. Disponível em: https://fenix.tecnico.ulisboa.pt/downloadFile/1689468335671587/Prob_Memoria_DRAM_sol.pdf. Acesso em: 10 out. 2026.
- Intel. 12th Generation Intel Core Processors Datasheet, Volume 1: Clock Topology e Integrated Reference Clock PLL. Disponível em: https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/009/clock-topology/ e https://edc.intel.com/content/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-lake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/010/integrated-reference-clock-pll/. Acesso em: 10 out. 2026.
- Intel. What Is Clock Speed? Disponível em: https://www.intel.com/content/www/us/en/gaming/resources/cpu-clock-speed.html. Acesso em: 10 out. 2026.
- Microsoft. UEFI firmware requirements. Disponível em: https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/oem-uefi. Acesso em: 10 out. 2026.
- NIST (National Institute of Standards and Technology). Definitions of the SI units: The binary prefixes. Disponível em: https://physics.nist.gov/cuu/Units/binary.html. Acesso em: 10 out. 2026.
- Western Digital. Helium Hard Drives Explained. Disponível em: https://blog.westerndigital.com/helium-hard-drives-explained/. Acesso em: 10 out. 2026.
- Seagate Technology. Patente US 6.577.474 (motor de bobina, voice coil motor, do braço do HD). Disponível em: https://patents.google.com/patent/US6577474. Acesso em: 10 out. 2026.
- WIKIPEDIA. Flying height (altura de voo do cabeçote em discos rígidos). Disponível em: https://en.wikipedia.org/wiki/Flying_height. Acesso em: 13 out. 2026.
- ARPACI-DUSSEAU, Remzi H.; ARPACI-DUSSEAU, Andrea C. Operating Systems: Three Easy Pieces. Capítulo Flash-based SSDs. Disponível em: https://pages.cs.wisc.edu/~remzi/OSTEP/file-ssd.pdf. Acesso em: 10 out. 2026.
- Seagate. What Is SSD Over-Provisioning? Disponível em: https://www.seagate.com/blog/ssd-over-provisioning-and-benefits/. Acesso em: 10 out. 2026.
- PINHEIRO, Eduardo; WEBER, Wolf-Dietrich; BARROSO, Luiz André. Failure Trends in a Large Disk Drive Population. 5th USENIX Conference on File and Storage Technologies (FAST '07), 2007. Disponível em: https://www.usenix.org/legacy/event/fast07/tech/full_papers/pinheiro/pinheiro_html/index.html. Acesso em: 10 out. 2026.
- Microsoft. Introduction to the page file. Disponível em: https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/introduction-to-the-page-file. Acesso em: 10 out. 2026.
- Apple. View memory usage in Activity Monitor on Mac. Disponível em: https://support.apple.com/guide/activity-monitor/view-memory-usage-actmntr1004/mac. Acesso em: 10 out. 2026.
- MDN Web Docs. Server (glossário). Disponível em: https://developer.mozilla.org/en-US/docs/Glossary/Server. Acesso em: 10 out. 2026.