Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Autores: Prof. Alexandre Bozolan
 Profa. Sandra Muniz
Colaboradoras: Profa. Vanessa Lessa
 Profa. Larissa Rodrigues Damiani
Arquitetura de 
Computadores Modernos
Professores conteudistas: Alexandre Bozolan / Sandra Muniz 
Alexandre Bozolan
É doutor em Ciências, subárea Engenharia Elétrica, com ênfase em Telecomunicações pela Escola de Engenharia 
de São Carlos da Universidade de São Paulo – USP, e mestre em Engenharia Elétrica e Computação pela Universidade 
Presbiteriana Mackenzie com ênfase em Óptica não linear e Telecomunicações Ópticas. Engenheiro de computação, 
formado pela Universidade Brás Cubas, licenciado em Matemática pela Universidade Paulista – UNIP, atua como 
professor no curso de bacharelado em Ciência da Computação e nos cursos tecnólogos de Automação Industrial, 
Gestão em Análise e Desenvolvimento de Sistemas, Gestão em Tecnologia da Informação na UNIP. 
Sandra Muniz
Doutora em Tecnologias da Inteligência e Design Digital pela Pontifícia Universidade Católica de São Paulo, mestre 
em Tecnologias da Inteligência e Design Digital pela mesma instituição e especialista em Segurança da Informação e 
graduada em Tecnologia da Informação. É coordenadora auxiliar dos cursos Análise e Desenvolvimento de Sistemas, 
Gestão de Tecnologia da Informação. Atua como professora no curso de bacharelado em Ciência da Computação e 
Sistemas da Informação nos cursos tecnólogos de Automação Industrial, Gestão em Análise e Desenvolvimento 
de Sistemas, Gestão em Tecnologia da Informação na UNIP. 
© Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por qualquer forma e/ou 
quaisquer meios (eletrônico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem 
permissão escrita da Universidade Paulista.
Dados Internacionais de Catalogação na Publicação (CIP)
B793a Bozolan, Alexandre.
Arquitetura de Computadores Modernos / Alexandre Bozolan, 
Sandra Muniz. – São Paulo: Editora Sol, 2023.
268 p., il.
Nota: este volume está publicado nos Cadernos de Estudos e 
Pesquisas da UNIP, Série Didática, ISSN 1517-9230.
1. Processador. 2. Memória. 3. Transmissão. I. Bozolan, Alexandre. 
II. Muniz, Sandra. III. Título.
CDU 681.3.026
U517.38 – 23
Profa. Sandra Miessa
Reitora
Profa. Dra. Marilia Ancona Lopez
Vice-Reitora de Graduação
Profa. Dra. Marina Ancona Lopez Soligo
Vice-Reitora de Pós-Graduação e Pesquisa
Profa. Dra. Claudia Meucci Andreatini
Vice-Reitora de Administração e Finanças
Prof. Dr. Paschoal Laercio Armonia
Vice-Reitor de Extensão
Prof. Fábio Romeu de Carvalho
Vice-Reitor de Planejamento
Profa. Melânia Dalla Torre
Vice-Reitora das Unidades Universitárias
Profa. Silvia Gomes Miessa
Vice-Reitora de Recursos Humanos e de Pessoal
Profa. Laura Ancona Lee
Vice-Reitora de Relações Internacionais
Prof. Marcus Vinícius Mathias
Vice-Reitor de Assuntos da Comunidade Universitária
UNIP EaD
Profa. Elisabete Brihy
Profa. M. Isabel Cristina Satie Yoshida Tonetto
Prof. M. Ivan Daliberto Frugoli
Prof. Dr. Luiz Felipe Scabar
 Material Didático
 Comissão editorial: 
 Profa. Dra. Christiane Mazur Doi
 Profa. Dra. Ronilda Ribeiro
 Apoio:
 Profa. Cláudia Regina Baptista
 Profa. M. Deise Alcantara Carreiro
 Profa. Ana Paula Tôrres de Novaes Menezes
 Projeto gráfico:
 Prof. Alexandre Ponzetto
Revisão:
 Vitor Andrade 
 Vera Saad 
Sumário
Arquitetura de Computadores Modernos
APRESENTAÇÃO ......................................................................................................................................................9
INTRODUÇÃO ...........................................................................................................................................................9
Unidade I
1 INTRODUÇÃO .................................................................................................................................................... 11
1.1 Fundamentos dos computadores digitais .................................................................................. 11
1.2 Período histórico e evolução dos computadores modernos............................................... 13
1.2.1 Computadores de primeira geração: válvulas (1936-1953) .................................................. 15
1.2.2 Computadores de segunda geração: transistores (1954-1965) .......................................... 20
1.2.3 Computadores de terceira geração: circuitos integrados (1965-1980) ........................... 22
1.2.4 Computadores de quarta geração e além: VLSI (1980-atual) .............................................. 23
1.3 A evolução do poder de processamento e a lei de Moore .................................................. 24
1.4 Definição da organização e arquitetura de computadores ................................................. 26
1.5 Sobre a hierarquia de função do computador: processamento, armazenamento, 
movimentação e controle de dados ..................................................................................................... 27
1.5.1 Operação funcional ................................................................................................................................ 27
1.5.2 Dados e seu processamento ............................................................................................................... 28
1.5.3 Como o computador armazena dados .......................................................................................... 28
1.5.4 Como os dados são movimentados................................................................................................. 29
1.5.5 Unidade de controle .............................................................................................................................. 30
1.6 Sua estrutura ......................................................................................................................................... 30
1.7 Definições de computadores multiníveis modernos .............................................................. 32
1.7.1 Os níveis de evolução das máquinas multiníveis ....................................................................... 34
1.8 Sistemas operacionais e seu desenvolvimento ........................................................................ 34
2 UNIDADE CENTRAL DE PROCESSAMENTO E OS PROCESSADORES MODERNOS .................. 37
2.1 Fundamentos da CPU (Central Unit Processing – unidade central 
de processamento) ...................................................................................................................................... 37
2.1.1 Como acontece o processo de fabricação da CPU .................................................................... 39
2.1.2 Conceitos dos chips de CPU ............................................................................................................... 43
2.1.3 Como surge o Intel Core i7 ................................................................................................................. 46
2.1.4 Como é a organização geral de um processador ....................................................................... 50
2.1.5 Um processador e sua microarquitetura ....................................................................................... 51
2.1.6 Principal dispositivo interno do processador – Unidade lógica e aritmética (ULA) .... 52
2.1.7 Dispositivo mais complexo da CPU – Unidade de controle (UC) ........................................ 52
2.2 Principais conceitos sobre o desempenho de operação do processador....................... 54
2.2.1 Sinal elétrico de sincronismo – clock ............................................................................................. 56
2.2.2 Cálculo da taxa de execução de instruções por segundo ...................................................... 58
2.3 A arquitetura da máquina de von Neumann ............................................................................ 59
2.3.1 Fundamentos do computador IAS ...................................................................................................59
2.3.2 Histórico e a arquitetura Harvard .................................................................................................... 62
2.4 Como os registradores de um computador são organizados ............................................. 63
2.4.1 A linguagem de baixo nível e os registradores de propósito geral ou 
visíveis ao usuário .............................................................................................................................................. 64
2.4.2 Registradores de controle e estado ................................................................................................. 64
2.4.3 Passo a passo da organização de registradores nos processadores modernos ............. 67
2.5 Processador Intel x86 e sua evolução .......................................................................................... 70
3 MEMÓRIAS E SUA HIERARQUIA: MEMÓRIAS PRIMÁRIAS E MEMÓRIAS SECUNDÁRIAS............. 79
3.1 Principais características das memórias ..................................................................................... 79
3.1.1 Como acontece o acesso à memória .............................................................................................. 81
3.1.2 Entendendo os endereços de memória ......................................................................................... 84
3.1.3 Projeto de hierarquia de memória ................................................................................................... 84
3.2 Memória cache ...................................................................................................................................... 86
3.2.1 Dados de cache e instruções .............................................................................................................. 88
3.2.2 Endereçamento de cache .................................................................................................................... 89
3.2.3 Caches associativas ................................................................................................................................ 90
3.2.4 Mapeamento direto com caches ...................................................................................................... 90
3.3 Memória somente de leitura ........................................................................................................... 91
3.3.1 ROM programada por máscara ......................................................................................................... 92
3.3.2 PROM ........................................................................................................................................................... 93
3.3.3 EPROM ......................................................................................................................................................... 94
3.3.4 EEPROM e flash ....................................................................................................................................... 94
3.4 Memória RAM ........................................................................................................................................ 95
3.4.1 Memória DRAM e SRAM ...................................................................................................................... 96
3.4.2 Organização de memória: endereço, conteúdo, armazenamento 
e posição na memória RAM .......................................................................................................................... 99
3.4.3 Operação de leitura ..............................................................................................................................102
3.4.4 Operação de escrita .............................................................................................................................103
3.4.5 DRAM síncrona ......................................................................................................................................105
3.4.6 DRAM Rambus .......................................................................................................................................106
3.4.7 DDR-SDRAM ...........................................................................................................................................108
3.5 Memórias secundárias ......................................................................................................................109
3.5.1 Organizando o funcionamento dos discos rígidos ...................................................................111
3.5.2 Principais propriedades e o funcionamento dos discos rígidos ........................................ 114
3.5.3 Calculando o espaçamento e armazenamento em discos rígidos....................................114
3.5.4 Funcionamento do desempenho em discos rígidos ...............................................................115
3.6 RAID em discos rígidos.....................................................................................................................117
3.6.1 RAID 0 ........................................................................................................................................................117
3.6.2 RAID 1 ........................................................................................................................................................118
3.6.3 RAID 2 ........................................................................................................................................................118
3.6.4 RAID 3 ........................................................................................................................................................118
3.6.5 RAID 4 ........................................................................................................................................................119
3.6.6 RAID 5 ........................................................................................................................................................119
3.6.7 Memória virtual .................................................................................................................................... 120
3.7 Drive de estado sólido (SSD) ..........................................................................................................121
3.8 Discos ópticos ......................................................................................................................................123
3.8.1 CD-ROM ................................................................................................................................................... 123
3.8.2 DVD ............................................................................................................................................................ 125
3.8.3 Blu-ray ...................................................................................................................................................... 125
3.9 Disquetes ...............................................................................................................................................126
3.10 Fitas magnéticas ...............................................................................................................................128
4 COMPUTADOR E SEUS BARRAMENTOS E TIPOS DE TRANSMISSÃO DE DADOS..................130
4.1 Barramentos do computador ........................................................................................................130
4.2 Largura de barramento ....................................................................................................................132
4.3 Barramentos síncronos ....................................................................................................................133
4.4 Barramentos assíncronos ................................................................................................................1354.5 Barramento ISA ...................................................................................................................................136
4.6 Barramento PCI ...................................................................................................................................137
4.7 Barramento AGP .................................................................................................................................137
4.8 Barramento PCI Express ...................................................................................................................138
4.9 Barramento serial universal USB .................................................................................................139
4.10 Principais tipos de transmissão ..................................................................................................141
4.10.1 Transmissão serial ...............................................................................................................................141
4.10.2 Transmissão paralela ........................................................................................................................ 143
Unidade II
5 O COMPUTADOR E SEUS DISPOSITIVOS DE ENTRADA E SAÍDA (E/S) .......................................150
5.1 Principais características dos dispositivos de E/S ..................................................................150
5.2 Interfaces e dispositivos de E/S ....................................................................................................152
5.3 Teclado ....................................................................................................................................................153
5.4 Mouse ......................................................................................................................................................155
5.5 Impressoras matriciais, jato de tinta e a laser ........................................................................156
5.6 Monitores de vídeo ............................................................................................................................160
6 COMPUTADOR E O CONJUNTO DE INSTRUÇÕES DE MÁQUINA .................................................162
6.1 Aspecto fundamental do ciclo de instrução ...........................................................................162
6.2 Os tipos de operandos ......................................................................................................................163
6.2.1 Números .................................................................................................................................................. 163
6.2.2 Caracteres ............................................................................................................................................... 164
6.2.3 Dados lógicos ........................................................................................................................................ 165
6.3 Execução de instrução: ciclo indireto ........................................................................................165
6.4 Busca e execução de instruções ...................................................................................................166
6.5 Formatos de instrução .....................................................................................................................168
6.5.1 A expansão de opcodes ......................................................................................................................170
6.6 Intel Core i7 e suas instruções ......................................................................................................172
6.7 Endereçamento de instruções .......................................................................................................173
6.7.1 Tipo de endereçamento imediato ................................................................................................. 173
6.7.2 Tipo de endereçamento direto ....................................................................................................... 174
6.7.3 Tipo de endereçamento indireto ................................................................................................... 174
6.7.4 Tipo de endereçamento de registradores ................................................................................... 174
6.7.5 Endereçamento indireto por registradores ............................................................................... 175
6.7.6 Endereçamento por deslocamento ............................................................................................... 175
6.7.7 Endereçamento de pilha ................................................................................................................... 177
6.8 O computador e as interrupções .................................................................................................179
6.8.1 As interrupções e o ciclo de instrução .........................................................................................181
6.8.2 Interrupções múltiplas ....................................................................................................................... 186
6.9 Pipeline de instruções.......................................................................................................................188
6.9.1 Desempenho do pipeline .................................................................................................................. 194
6.9.2 Hazards de pipeline ............................................................................................................................. 199
6.9.3 Previsão de desvio em pipeline .......................................................................................................201
6.10 Princípios da linguagem de montagem ..................................................................................205
7 FUNDAMENTOS DAS ARQUITETURAS RISC X CISC, PROCESSAMENTO PARALELO, 
PROCESSADORES SUPERESCALARES, MULTITHREADING E MULTICORE ...................................212
7.1 Arquitetura RISC .................................................................................................................................212
7.1.1 Menor quantidade de instruções e todas com largura fixa ................................................212
7.1.2 Execução otimizada de chamada: funções ................................................................................212
7.1.3 Menor quantidade de modos de endereçamento ...................................................................213
7.1.4 Modos de execução baseados no uso de pipeline...................................................................213
7.1.5 Execução de cada instrução em um ciclo de clock .................................................................213
7.2 Arquitetura RISC da IBM .................................................................................................................213
7.3 Pipeline na arquitetura RISC .........................................................................................................215
7.4 Processador superescalar e superpipeline ................................................................................217
7.4.1 Comparativo entre processadores superescalar e superpipeline .......................................219
7.4.2 Limitações ............................................................................................................................................... 220
7.5 Multithreading ....................................................................................................................................222
7.6 Multicore ................................................................................................................................................225
8 TÓPICOS EM SISTEMAS EMBARCADOS, IOT, SMART CITIES E TI VERDE ..................................2308.1 Sistemas embarcados .......................................................................................................................230
8.1.1 Sistemas padronizados de hardware embarcado ................................................................... 234
8.2 Internet das coisas (IoT – Internet of Things) .........................................................................242
8.2.1 IoT versus M2M..................................................................................................................................... 244
8.3 Smart houses e smart cities ...........................................................................................................246
8.3.1 Casas inteligentes (smart houses) ................................................................................................. 246
8.3.2 Cidades inteligentes (smart cities) ................................................................................................ 249
8.4 TI verde e sustentabilidade .............................................................................................................252
9
APRESENTAÇÃO
O objetivo desta disciplina é oferecer ao aluno conhecimentos básicos e ao mesmo tempo 
fundamentais para uma boa compreensão do funcionamento dos computadores em geral e/ou dos 
sistemas embarcados, por exemplo os dispositivos móveis, que possuem funcionamento equivalente.
A evolução dos computadores nos tem possibilitado um elevado nível de acessibilidade e interação 
com as máquinas, o que facilitou sua aplicação em diversas áreas da ciência e tecnologia, tornando 
nosso cotidiano muito mais prático e versátil. Devido a essa rápida evolução dos computadores, se 
faz necessário estudarmos um pouco mais essa máquina, além de conhecermos toda sua trajetória 
evolutiva até chegarmos às máquinas atuais.
Há aproximadamente 70 anos, desde quando os computadores eletromecânicos foram 
desenvolvidos, que os rumos da história tecnológica do homem mudaram para sempre. Logicamente 
que, em seu início, os computadores ainda não tinham o pleno alcance de usabilidade como nos 
dias de hoje. Na verdade, eles não possuíam a capacidade de processamento sequer comparada a 
um celular mais simples atualmente. Hoje em dia, computadores estão em toda a parte, sejam de 
grande, sejam de pequeno porte, em cima de uma mesa ou no bolso da calça, no pulso, nas televisões 
modernas, nas geladeiras etc., realizando todos os tipos de tarefas a que foram programados. 
Entre algumas dessas tarefas, podemos exemplificar as tarefas simples, que vão desde escrever/ler um 
e-mail, manipular fotografias, construir tabelas e gráficos, até tarefas mais complexas, como simular 
colisão de partículas subatômicas, efetuar cálculos meteorológicos, controlar voos, toda uma malha 
ferroviária, robôs em uma linha de produção etc.
INTRODUÇÃO
O novo profissional do século XXI deverá estar adaptado às diferentes funcionalidades apresentadas 
por um computador, inclusive saber utilizar essas novas tecnologias para sugerir outras novas que ainda não 
chegaram a nossas residências. Os profissionais da área de tecnologia da informação deverão se apropriar 
dos conhecimentos de funcionamento interno dos computadores para que assim possam também 
contribuir nesse desenvolvimento das novas tecnologias. Por fim, um conhecimento aprofundado da 
organização de computadores oferece ao profissional/aluno um pleno entendimento de como a relação 
hardware/software é implementada, e poderá, assim, embasar todas as suas implementações futuras na 
área de tecnologia.
Neste livro-texto, são abordadas, primeiramente, a organização e a arquitetura básica dos computadores, 
além de sua evolução a partir do desenvolvimento do primeiro computador eletromecânico. São apresentados 
os sistemas de numeração e métodos de conversão em binário e hexadecimal, utilizados em sistemas 
computacionais, além do conceito de portas lógicas digitais, fundamentais para realizar o processamento 
e o armazenamento de dados.
10
São apresentados os temas referentes à organização dos sistemas computacionais, quanto à 
arquitetura de um processador, e o conjunto de instruções executadas internamente em um 
computador.
São explanados os tipos e as características das memórias primárias e secundárias de um 
computador, responsáveis por operacionalizar todo o armazenamento dos dados e instruções na 
máquina.
Finalmente, são tratados temas como os meios de transmissão (barramentos) de comunicação 
de dados e instruções nos computadores. Também são abordados meios de comunicação entre 
dispositivos de entrada e saída, além de métodos de processamento paralelo e máquinas com vários 
núcleos de processadores.
Esperamos que você tenha um ótimo aproveitamento deste material e se sinta motivado a ler e 
conhecer mais sobre a arquitetura de computadores.
Boa leitura!
11
ARQUITETURA DE COMPUTADORES MODERNOS
Unidade I
1 INTRODUÇÃO
1.1 Fundamentos dos computadores digitais
Os computadores podem nos libertar de enfadonhas tarefas repetitivas e rotineiras, nos ajudando 
a utilizar nossas principais qualidades e características humanas em outras tarefas que exijam maior 
criatividade. Outra forma de encarar a importância dos computadores é sua utilização no processo de 
ensino/aprendizagem do século XXI. Nos dias atuais não há meios didáticos e pedagógicos eficientes 
que, em pelo menos uma de suas fases de produção, não houve a utilização de um computador.
Essas máquinas, além de facilitar nossos trabalhos e estudos, em sua maioria atualmente, servem 
como uma forma de lazer para muitas pessoas, seja por meio de interações sociais, compras online, 
serviços de delivery, navegação por GPS (Global Positioning System – sistema de posicionamento global) 
ou jogos digitais. Dessa forma, se faz necessária uma abordagem técnica e incisiva sobre o assunto 
computador e por que é tão importante em nossas vidas.
Figura 1 – Uso dos dispositivos computacionais no dia a dia
Disponível em: https://bit.ly/3kogkgU. Acesso em: 18 jan. 2023.
12
Unidade I
Uma das possíveis definições para um computador moderno é o de uma máquina, constituída 
por diversas partes eletrônicas ou eletromecânicas, capazes de operar dados digitais ou analógicos 
fornecendo assim, de forma sistêmica e controlada, informações usadas em uma gama variada de 
aplicações que facilitam nosso cotidiano. Os computadores modernos são, de certa forma, implementações 
de algoritmos que executam diversos outros algoritmos. Dessa forma, esse conjunto de algoritmos 
aninhados (estruturas hierárquicas) contém o princípio da equivalência de hardware e software que diz: 
“Qualquer coisa que possa ser feita com software pode ser feita com hardware, e qualquer coisa que 
possa ser feita com hardware pode ser feita com software” (NULL; LOBUR, 2010, p. 37).
Um computador, que tenha um certo propósito de funcionamento, pode ser projetado para 
realizar qualquer tarefa, como a edição de um texto, análise orçamentária, desenhos de plantas de 
edifícios, controle funcional de uma linha de produção em uma fábrica, sistemas embarcados etc. 
Outro enfoque mais abrangente do assunto se refere aos diferentes tipos de arquiteturas e organização 
de computadores. Entende-se como organização de computadores o tratamento de questões 
relacionadas à sua estrutura e comportamento dos sistemas lógicos, do ponto de vista do programador 
de computador. No caso da arquitetura de computadores, incluirá muitos outros elementos, tais como 
conjuntos de instruções, códigos de operações, tipos de dados, quantidade de registradores, modos 
de endereçamento, modelos de acesso aos diferentes tipos de memórias e aos diferentes tipos de 
acessos aos dispositivos de E/S (entrada e saída). Dessa forma podemos ressaltar que a arquitetura 
de computadores afeta, de  forma direta, a execução lógica dos programas. E qual é a verdadeira 
importância em estudarmos os computadores de forma aprofundada?
Uma das formas de entender a relevânciado estudo das diferentes arquiteturas de computadores 
está justamente na otimização de softwares e programas que, em conjunto com os compiladores, 
realiza toda a interface para a comunicação do hardware (nível mais baixo) com o software (nível 
mais alto). Outra forma de entender a importância dos computadores em nossas vidas é a sua exímia 
capacidade de resolver problemas complexos do mundo real, baseando-se em simulações de modelos 
matemáticos abstratos. Para que os computadores “computem”, ou seja, façam com que sinais elétricos 
se transformem em informação, vários processos precisam ocorrer no tratamento ou processamento de 
dados. O dado, por exemplo, é definido como o elemento primordial ou entrada original a ser processada 
por algum computador. Já a informação é definida como a saída do processamento dos dados de entrada 
(MONTEIRO, 2019). Para que haja um bom funcionamento e otimização do desempenho, todos os dados 
introduzidos em um computador precisam ser interpretados pela máquina, de modo que ela possa 
processá-los corretamente.
Por outro lado, a informação resultante do processamento deverá ser compativelmente armazenável. 
Para que isso ocorra, temos como menor unidade de informação o “algarismo binário” ou “dígito 
binário”, popularmente conhecido como bit, originário da contração das palavras em inglês binary digit. 
Os dígitos binários alternam entre duas possibilidades de valores, sendo eles (0 e 1). Tais valores digitais 
são representados em volts. O byte (conjunto contendo oito bits), implementado pela IBM, foi a 
primeira padronização de ordenação para um grupo de bits e é utilizado até os dias de hoje por todos 
os fabricantes de computadores.
13
ARQUITETURA DE COMPUTADORES MODERNOS
 Lembrete
Para que operem de forma correta, os computadores modernos 
necessitam realizar o processamento dos dados, que consiste basicamente 
em uma série de atividades ordenadas e controladas, a fim de manipular um 
arranjo de dados que resultarão em uma informação relevante para 
o usuário.
Para que possamos entender melhor o funcionamento dos computadores modernos se faz necessário 
um estudo sobre como eles chegaram até os dias atuais e como ocorreu essa evolução tecnológica 
pelas décadas.
1.2 Período histórico e evolução dos computadores modernos
O estudo do histórico dos computadores se baseia, principalmente, em sua capacidade evolutiva a fim 
de produzir um ganho no poder computacional a cada nova geração de computadores desenvolvidos, 
otimizando o processamento dos dados, atingindo a diminuição de tamanho dos seus componentes 
eletrônicos, aumentando a capacidade de armazenamento em bytes e, por fim, atingindo melhorias na 
comunicação entre os diversos dispositivos de E/S.
 Observação
A evolução dos computadores teve origem incerta, às vezes atribuída ao 
ábaco, desenvolvido no Iraque em 2700 a.C., ao mecanismo de Anticítera, 
desenvolvido na Grécia antiga cerca de 125 a.C. Cita-se também a máquina 
de cálculo mecânica de Blaise Pascal (1623-1662), construída em 1642, 
ou mesmo a máquina diferencial de Charles Babbage (1791-1871), 
construída em 1822.
Podemos atribuir como um dos principais fatores que contribuíram para o aumento do desempenho 
dos processadores e, por consequência, dos computadores, seu emprego em substituição a atividades 
até então realizadas inteiramente por humanos. A partir do momento em que as máquinas foram 
capazes de realizar tarefas complexas, difíceis até para nós, ficou claro também que era necessário 
aumentar cada vez mais seu poder. Chegou-se também à conclusão de que componentes eletrônicos 
menores poderiam consumir menos energia e aquecer menos, e mesmo assim apresentar um ganho de 
desempenho. Assim, o encolhimento de componentes recém-desenvolvidos na década de 1940, como 
os transistores, possibilitaram um aumento no desempenho dos computadores.
14
Unidade I
Figura 2 – Miniaturização dos componentes e circuitos de um computador
Disponível em: https://bit.ly/3D0RB8P. Acesso em: 18 jan. 2023.
Além disso, outros fatores têm contribuído para o aperfeiçoamento dos computadores nas décadas 
seguintes como a melhoria no desempenho dos processadores, incluindo o uso do processamento 
paralelo, baseando-se no uso de técnicas de pipeline, superpipeline, computadores superescalares ou 
mesmo execução de instruções de forma preditiva. Para que todas essas técnicas possam ocasionar 
ganho de desempenho seu projeto deve conter um equilíbrio, a fim de que o ganho final não ocasione 
algum tipo de atraso entre dispositivos.
De fato, a miniaturização dos dispositivos eletroeletrônicos teve seu início nas décadas de 1930 
e 1940, justamente com o surgimento dos computadores da chamada “primeira geração”. Podemos 
observar, de forma sintetizada, a tabela a seguir, contendo dados sobre o desempenho (operações por 
segundo) em função da quantidade de dispositivos envolvidos em realizar o processamento (relés, 
válvulas, transistores e integração de transistores).
Tabela 1 – Gerações dos computadores modernos
Geração Datas (aproximadas) Tecnologia utilizada
Velocidade de dados em 
operações por segundo
1 1946-1957 Válvula 40.000
2 1958-1964 Transistor 200.000
3 1965-1971 Integração em pequena escala 1.000.000
4 1972-1977 Integração em grande escala 10.000.000
5 1978-1991 Integração em escala muito grande 100.000.000
6 1991-? Integração em escala ultra grande 1.000.000.000
Adaptada de: Stallings (2010, p. 20).
15
ARQUITETURA DE COMPUTADORES MODERNOS
1.2.1 Computadores de primeira geração: válvulas (1936‑1953)
Não há um consenso histórico conclusivo sobre quem inventou o primeiro computador eletrônico 
ou eletromecânico. Muitas pessoas, equivocadamente, creditam como sendo o primeiro computador o 
ENIAC. Na verdade, o ENIAC foi o primeiro computador a válvulas patenteado, o que lhe rendeu toda 
essa “fama”.
Figura 3 – Válvula termiônica
Disponível em: https://bit.ly/3YlVUUB. Acesso em: 18 jan. 2023.
Alguns pesquisadores, redescobrindo fatos históricos, apontam que na verdade o primeiro computador 
binário programável foi construído na Alemanha entre 1936 e 1938. Seu projeto não foi, inicialmente, 
uma ideia com aplicações militares (o que era muito comum nesse período pré-Segunda Guerra Mundial), 
mas sim um trabalho do brilhante engenheiro Konrad Zuse (1910-1995). Zuse construiu uma série 
com quatro, chamados V1, V2, V3 e V4, cuja letra V significava Versuchmodell ou modelo experimental 
(WAZLAWICK, 2016, p. 120). Apesar dessas máquinas iniciais, o computador Z1, concebido para ser uma 
continuação do projeto inicial do modelo de Babbage (1791-1871), foi o computador que mais lhe 
trouxe os resultados pretendidos. Diferentemente da máquina analítica de Babbage, que utilizava discos 
para representar a aritmética decimal, o Z1 já operava em base binária (base 2), o que representa uma 
automatização e processamento muito mais simples.
16
Unidade I
Figura 4 – Réplica da máquina Z1 de Konrad Zuse no museu de Berlim
Fonte: Wazlawick (2016, p. 122).
O Z1 inicialmente não possuía relés (dispositivos eletromagnéticos capazes de produzir uma variação 
súbita através da aplicação de uma corrente elétrica). Os relés foram de fato incorporados em seu 
projeto Z3, de maneira que o Z1 possuía apenas pinos metálicos que podiam estar em duas posições 
distintas, a fim de representarem os bits 0 e 1.
Figura 5 – Relé eletromecânico
Disponível em: https://bit.ly/3IXpcEo. Acesso em: 18 jan. 2023.
17
ARQUITETURA DE COMPUTADORES MODERNOS
Embora construído de forma amadora (na sala de estar da casa dos seus pais) o Z1 era um computador 
bastante avançado para a época, usando uma programação de instruções inseridas através de cartões 
perfurados, utilizados para escrever instruções e/ou dados.
Figura 6 – Processo de transcrição de programas em cartões perfurados utilizados em computadores
Disponível em: https://bit.ly/3ZImvwp. Acesso em: 18 jan. 2023.
A máquina possuía um clock de processamento de 4 Hz (quatro ciclos de operaçãopor 
segundo), capaz de realizar operações de soma e subtração através de somas sucessivas e subtrações 
sucessivas, respectivamente. Além disso, o Z1 utilizava números em ponto flutuante, ou seja, números 
representados por uma mantissa e um expoente. Apesar de a primeira geração ser marcada pelos 
computadores a válvula, o Z1 foi considerado pertencente a essa geração dos computadores que 
também estavam em pleno desenvolvimento, tanto na Europa quanto nos Estados Unidos.
Ainda em 1936, Zuse convidou um de seus amigos (Helmut Schreier 1912-1984) para conhecer o Z1 
e participar do projeto do Z2. Zuse estava propenso a construir esse novo projeto utilizando relés, mas 
Schreier indicou que ele deveria usar um dispositivo mais rápido, a válvula. De fato, Schreier projetou 
um computador baseado no uso de válvulas, mas foi inicialmente refutado tanto por Zuse quanto pelos 
18
Unidade I
militares. Entretanto, na mesma época o físico e professor norte-americano John Atanasoff (1903-1995), 
em conjunto com seu aluno Clifford E. Berry, tiveram a mesma ideia de construir um computador a 
válvulas, denominado ABC (Atanasoff-Berry Computer), considerado o primeiro computador a válvulas 
termiônicas em 1939. O ABC possuía 300 válvulas e mais de 1,5 km de fios em sua estrutura interna. 
Um dos supostos motivos para o não conhecimento dessa máquina foi sua baixa eficiência, visto que 
essa máquina não era programável, assim como a máquina de Babbage, projetada para o cálculo de 
polinômios ou sistemas de equações lineares. Sendo assim, o computador ABC não pode ser considerado 
uma máquina de Turing completa, ou seja, uma máquina capaz de realizar qualquer cálculo utilizando 
algum programa codificado especificamente para determinada tarefa (FOROUZAN; MOSHARRAF, 2012).
Figura 7 – Réplica do computador ABC
Disponível em: https://bit.ly/3RsQIf7. Acesso em: 18 jan. 2023.
Por causa de sua representatividade histórica, é de suma importância abordarmos o computador 
ENIAC (Electronic Numerical Integrator and Computer – computador integrador numérico eletrônico), 
apresentado em 1945 pelos cientistas John Mauchly (1907-1980) e John Presper Eckert (1919-1995), 
também se baseando no trabalho de John Atanasoff (computador ABC). O ENIAC ocupava uma área 
correspondente a 1.800 metros quadrados, pesando aproximadamente 30  toneladas e consumindo 
cerca de 174 quilowatts de energia elétrica. Diferentemente do Z1, o ENIAC utilizava 17.468 válvulas, 
capazes de auxiliar na realização das operações computacionais. Além dessas características, o ENIAC 
possuía uma memória com capacidade de cerca de 1.000 bits ou 1k de informação, armazenados em 
cartões perfurados (NULL; LOBUR, 2010).
19
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 8 – Computador ENIAC em operação
Disponível em: https://bit.ly/3ZXR95l. Acesso em: 18 jan. 2023.
Assim como o Z1, o ENIAC foi desenvolvido para fins militares, principalmente no cálculo de trajetórias 
balísticas. O modo como o ENIAC tomava decisões foi uma forte influência para a criação da linguagem 
FORTRAN alguns anos depois. Apesar de sua sofisticação (para a época), o trabalho de programação no 
ENIAC era demorado. Inicialmente, seis mulheres foram escolhidas entre “computadores humanos” para 
realizar sua programação, o que era tarefa para várias semanas e era realizada na seguinte sequência 
(WAZLAWICK, 2016):
1 O problema a ser resolvido deveria ser representado por um conjunto de equações matemáticas.
2 As operações mais complexas dessas equações deveriam ser reduzidas em operadores aritméticos 
básicos para que sejam executados pelo ENIAC.
3 Em cada passo era necessário “plugar” os acumuladores que receberiam os dados e onde também 
seriam armazenados os resultados.
4 Outros passos de computação precisavam ser plugados em sua sequência correta para que cada 
um fosse executado através do controle principal.
20
Unidade I
1.2.2 Computadores de segunda geração: transistores (1954‑1965)
A década de 1950 viu o surgimento da computação comercial como vemos hoje em dia. Em se 
tratando de hardware, essa década foi responsável pela transição gradual dos computadores a válvula 
e relés para um dispositivo revolucionário, o transistor. Isso porque o uso de válvulas não era muito 
prático, do ponto de vista de engenharia, pois as válvulas tinham um elevado consumo de eletricidade, 
superaqueciam e queimavam com muita facilidade. Chegava-se ao ponto de que elas queimavam mais 
rápido do que podiam ser repostas, de modo que os computadores passavam mais tempo em manutenção 
do que funcionando. Conhecendo esses problemas, os cientistas John Bardeen (1908-1991), Walter 
Brattain (1902-1987) e William Shockley (1910-1989) desenvolveram o transistor, derivação da palavra 
transfer resistor, ou resistor de transferência.
Figura 9 – Réplica do primeiro transistor
Disponível em: https://bit.ly/3YhpfiN. Acesso em: 18 jan. 2023.
O transistor é um componente totalmente eletrônico, geralmente utilizado como um amplificador 
ou como um interruptor de sinais elétricos, entre outras funções. Ele opera basicamente abrindo ou 
fechando a passagem de corrente elétrica. O transistor não foi capaz de revolucionar apenas a indústria 
dos computadores, mas também foi responsável pelo desenvolvimento de vários outros dispositivos como 
rádio, televisão, calculadora de bolso, máquina de lavar, geladeira, micro-ondas, aviões, refrigeradores, 
possibilitando até chegarmos aos robôs. O uso de transistores nos eletroeletrônicos se tornou muito 
vantajoso, pois, além de seu custo de fabricação ser menor, seu consumo de energia elétrica é irrisório 
se comparado às antigas válvulas termiônicas. Atualmente, os processadores contêm mais de um bilhão 
de transistores em uma única placa microprocessada, formando circuitos capazes de realizar cálculos 
extremamente complexos de maneira bastante rápida.
21
ARQUITETURA DE COMPUTADORES MODERNOS
 Observação
Os transistores modernos que equipam nossos computadores, celulares, 
tablets etc. possuem apenas alguns nanômetros de diâmetro (1 nanômetro 
equivale a 1 milímetro dividido por 1 milhão). Na 11ª geração de processadores 
Intel os transistores possuem dimensão de apenas 10 nanômetros.
A primeira máquina construída para ser um computador de propósito geral totalmente transistorizado 
foi o Harwell Cadet, desenvolvido em 1953 no Reino Unido. Esse computador possuía um clock de 
apenas 58 kHz, o que era aproximadamente 20 vezes mais lento que os processadores a válvula ou 
relés da época.
Figura 10 – Primeiro computador totalmente transistorizado
Disponível em: https://bit.ly/3WeO25O. Acesso em: 18 jan. 2023.
Posteriormente, em 1956 o MIT (Massachusetts Institute of Technology) também desenvolveu um 
computador totalmente transistorizado, o TX-0 (Transistorized Experimental Computer – computador 
transistorizado experimental), ao qual reivindicam como sendo o primeiro.
22
Unidade I
 Saiba mais
Aprofunde-se no assunto com a leitura de:
OLIVEIRA, J. Intel anuncia CPUs de 11ª geração de alto desempenho para 
notebooks gamer. Canaltech, 11 maio 2021. Disponível em: https://bit.ly/3XhIl8q. 
Acesso em: 18 jan. 2023.
1.2.3 Computadores de terceira geração: circuitos integrados (1965‑1980)
A década de 1950 introduziu o conceito do uso contínuo de transistores de estado sólido substituindo 
as válvulas termiônicas. Entretanto, o crescimento das demandas por máquinas com cada vez maior 
desempenho forçou os pesquisadores, juntamente com os grandes fabricantes de dispositivos, a buscar 
maneiras de integrarem cada vez mais transistores em suas máquinas. Um problema decorrente era que 
um único ponto de solda malfeita nos transistores poderia inviabilizar totalmente o funcionamento do 
computador. Dessa forma, podemos considerar que o grande avanço no uso dos computadores ocorreu 
justamente a partir da terceira geração, principalmente devido à construção do circuito integrado 
(CI ou IC – Integrated Circuit), desenvolvido pelos cientistas Jack Kilby(1923-2005) e Robert Noyce 
(1927-1990). O CI consiste no empacotamento de vários transistores conectados, formando uma rede 
interligada, onde é possível controlar a passagem da corrente elétrica de forma lógica. Isso levou a 
um desenvolvimento exponencial na eletrônica, inclusive aperfeiçoar o funcionamento das portas 
lógicas básicas (AND, OR, NOT, XOR, XNOR) responsáveis pelo processamento de dados e instruções no 
computador e que até então eram realizadas por válvulas ou relés.
Figura 11 – Réplica do primeiro circuito integrado
Disponível em: https://bit.ly/3XBUogs. Acesso em: 19 jan. 2023.
23
ARQUITETURA DE COMPUTADORES MODERNOS
Pode-se afirmar que um dos marcos do início da terceira geração moderna de computadores 
ocorreu em 1963, quando a IBM apresentou o computador IBM 360, desenvolvido por John Watson Jr. 
(1914-1993). Esse computador utilizava circuitos integrados (CIs) capazes de operar instruções de 
máquina em bilionésimos de segundos, além de serem rápidos e confiáveis. Apesar de revolucionário, 
esse projeto foi considerado um suicídio para a IBM, pois foram gastos mais de 5 bilhões de dólares, de 
modo que o seu sucesso poderia representar a obsolescência de muitos outros produtos da empresa 
(WAZLAWICK, 2016). Por fim, o IBM 360 se consolidou como o fim da distinção entre compradores para 
uso científico e para uso comercial, pois ele poderia servir qualquer demanda que fosse necessária, 
apresentando um alto poder de processamento.
Figura 12 – Mainframe IBM 360
Disponível em: https://bit.ly/3wfvxUo. Acesso em: 19 jan. 2023.
1.2.4 Computadores de quarta geração e além: VLSI (1980‑atual)
A terceira geração ocasionou a rápida expansão dos computadores para várias aplicações, desde o uso 
militar até em pequenas e grandes corporações comerciais. Isso foi possível devido à integração de milhares 
de transistores em um chip e, à medida que as técnicas de fabricação avançavam, um número maior de 
transistores poderia ser agrupado, possibilitando uma variedade de escalas de integração de circuitos 
eletrônicos muito grande, o que fez surgir toda uma indústria da microeletrônica. Tecnicamente existem 
várias categorias de integração de circuitos, a começar pelo SSI (Small Scale Integration – integração em 
pequena escala), onde é possível compactar cerca de 10 a 100 componentes eletrônicos (transistores, 
capacitores, resistores etc.) por chip; o MSI (Medium Scale Integration – integração em média escala), 
capaz de conter de 100 a 1.000 componentes por chip; LSI (Large Scale Integration – integração em larga 
24
Unidade I
escala), onde se acoplam de 1.000 a 10.000 componentes; e, por fim, VLSI (Very Large Scale Integration – 
integração em escala muito larga), que contém mais de 10.000 componentes por chip e que marca 
o início da quarta geração dos computadores (NULL; LOBUR, 2010). A tecnologia conhecida como 
VLSI possibilitou o desenvolvimento do microcomputador ou PC (Personal Computer – computador 
pessoal), dispositivo suficientemente pequeno, barato (se comparado aos antigos Mainframes) e de fácil 
fabricação, tornando seu acesso ao público muito mais simples.
Figura 13 – IBM PC modelo 5150
Disponível em: https://bit.ly/3Hg1h1G. Acesso em: 19 jan. 2023.
 Saiba mais
Conheça mais sobre a evolução dos computadores modernos:
EVOLUÇÃO dos computadores. Brasil Escola, 2022. Disponível em: 
https://bit.ly/3HbWtuc. Acesso em: 17 jan. 2023.
1.3 A evolução do poder de processamento e a lei de Moore
A indústria de manufatura de computadores e seus dispositivos periféricos continua em plena 
expansão, principalmente devido à constante evolução da capacidade e desempenho dos microchips 
e sua aplicação direta nos sistemas embarcados. O que tornou possível a melhora no desempenho nos 
computadores foi a miniaturização dos transistores, que, em menor tamanho e maior quantidade, foram 
capazes de proporcionar melhores condições para que um chip possa efetuar mais cálculos lógicos e 
aritméticos que um processador de uma geração anterior.
25
ARQUITETURA DE COMPUTADORES MODERNOS
O fundador da Intel, o famoso cientista Gordon Moore (1929-), publicou em 1965 na Electronic 
Magazine um artigo científico baseado em suas pesquisas, onde ele verificou que cada nova geração de 
chips de memória era lançada três anos após a geração anterior.
Dessa forma, se cada geração tiver quatro vezes mais memória do que a geração anterior, o número 
de transistores do chip também crescerá a uma taxa constante, permitindo-nos observar um crescimento 
contínuo e estável pelas próximas décadas (TANENBAUM; AUSTIN, 2013). Essa pesquisa ficou conhecida 
mundialmente como lei de Moore, embora não seja uma lei, propriamente dita. Hoje em dia costuma-se 
empregá-la referenciando-se que o número de transistores pode aumentar a cada 18 meses, o que 
equivale a um aumento de 60% do número de transistores por ano.
 Saiba mais
Leia o artigo na íntegra no link a seguir:
MOORE, G. Cramming more components onto integrated circuits. 
Electronics, v. 38, n. 8, abr. 1965. Disponível em: https://intel.ly/2OZhsWY. 
Acesso em: 18 jan. 2023.
1970 1975 1980 1985
Ano de lançamento
1990 1995 2000 2005 2010
Lei de Moore para chips de CPU (Intel)
4004
8008
8080
8008
8086
80286
Lei de Moore
Pentium II
Pentium 4
Core Duo
Core 2
Core i7
Pentium III
Pentium 
Pro
Pentium
80386
80486
10G
10K
10M
10
100
100K
100M
Tr
an
sit
or
es
1
1K
1M
1G
Figura 14 – Número de transistores versus ano de lançamento
Fonte: Tanenbaum e Austin (2013, p. 34).
26
Unidade I
Como é possível observar na figura, até meados da década de 1970 o número de transistores 
ainda estava abaixo de 10K (10 mil) transistores. Durante os anos 1990 foi alcançada a incrível marca 
de 1M (1 milhão) de transistores em um chip de processador. Após os anos 2010 e até a atualidade, 
o número de transistores em um chip ultrapassa a barreira de 10G (10 bilhões). A lei de Moore é 
apenas uma observação empírica sobre como a engenharia de materiais pode avançar na produção 
de processadores digitais. Alguns cientistas afirmam que a lei de Moore ainda pode continuar válida 
por pelo menos mais uma década, apesar de isso já ter sido dito há mais de uma década. Outros 
pesquisadores acreditam que o “calcanhar de Aquiles” seja a dissipação de energia, fuga de corrente 
elétrica e outros efeitos indesejados da eletrônica, que se tornam um obstáculo, pois tais efeitos 
podem causar problemas sérios nos processadores, diminuindo sua vida útil. Outro fator importante 
é que, devido à diminuição dos transistores, a tendência é de que as espessuras desses dispositivos 
cheguem a um nível atômico, impossibilitando maiores diminuições de tamanho, exigindo assim 
blocos de montagem subatômicos, o que dificultaria o processo de fabricação. Contudo, novas 
pesquisas com transistores estão sendo realizadas, incluindo os novos avanços em computação 
quântica, nanotubos de carbono além das pesquisas utilizando o grafeno, trazendo um novo patamar 
para o poder computacional.
 Saiba mais
Conheça mais sobre a tecnologia do Grafeno:
HELERBROCK, R. Grafeno. Mundo Educação. [s.d.]. Disponível em: 
https://bit.ly/3wfkYQU. Acesso em: 18 jan. 2023.
1.4 Definição da organização e arquitetura de computadores
Podemos definir a arquitetura de computadores como os atributos acessíveis a um programador de 
computador e com impacto direto sobre a execução lógica da máquina. Por outro lado, a organização 
de  computadores são unidades operacionais pertencentes à arquitetura e suas interconexões 
(meios de se comunicar com outros dispositivos). Fazem parte dos atributos de uma arquitetura 
de computadores o conjunto de instruções ou códigos de operação que uma máquina necessita 
para poder operar, o número de bits utilizados para que seja realizada a representação dos dados, 
por exemplo números ou caracteres, mecanismos de entrada e saída (E/S) de dados e instruções, 
além de técnicas de endereçamento de memórias internas ou externas (STALLINGS, 2010). Algunsatributos presentes em sistemas computacionais podem incluir todos os hardwares acessíveis a um 
programador, por exemplo sinais de controle, interfaces entre o computador e seus periféricos e 
estrutura de memória utilizada no sistema etc.
27
ARQUITETURA DE COMPUTADORES MODERNOS
 Observação
De modo geral, não há uma distinção entre a arquitetura e a organização 
de computadores. Alguns fabricantes de computadores oferecem uma 
família de computadores (grupo de computadores tendo como base o 
uso de processadores com características em comum) utilizando a mesma 
arquitetura, mas com diferenças em sua organização.
Em uma classe de computadores denominada PC (Personal Computer – computador pessoal), o 
relacionamento entre a arquitetura e organização de computadores é de fato praticamente idêntica.
1.5 Sobre a hierarquia de função do computador: processamento, 
armazenamento, movimentação e controle de dados
A hierarquia dos sistemas computacionais consiste em componentes de entrada e saída que 
se inter-relacionam com os níveis mais baixos de sua estrutura e é essencial em um projeto de um 
computador moderno. Assim, cada nível hierárquico dependerá de uma caracterização simplificada e 
resumida do sistema local, ficando os demais níveis caracterizados separadamente, de modo que, quando 
um computador é projetado, essas características são analisadas em relação à sua estrutura e função.
1.5.1 Operação funcional
A operação funcional de um computador pode ser representada através de um diagrama, contendo 
funções básicas, que são: processamento de dados, armazenamento de dados, movimentação de dados 
e controle. A figura a seguir mostra uma visão funcional de um computador, com cada uma das funções 
citadas anteriormente.
Ambiente operacional 
(origem e destino dos dados)
Aparato de 
movimentação 
de dados
Mecanismo 
de controle
Capacidade de 
processamento 
de dados
Capacidade de 
armazenamento 
de dados
Figura 15 – Interconexão e fluxo de dados entre sistemas 
de armazenamento, processamento e controle
Fonte: Stallings (2010, p. 8).
28
Unidade I
Observa-se que o sistema necessita de uma interface física para que ocorra a movimentação de 
dados, constituída por dispositivos periféricos, que servirão de receptores/transmissores (RX/TX) para os 
dados após a inserção de dados no sistema ou seu processamento. Em seguida, o mecanismo de controle 
indica qual tipo de operação o dado requererá, seja processamento de dados, seja armazenamento 
de dados. Após o processamento de dados, estes são armazenados de forma temporária ou definitiva, e 
uma cópia desses dados é devolvida para o operador no ambiente externo à máquina pelos periféricos 
do computador, como monitor, impressora, pendrive, impressora etc.
1.5.2 Dados e seu processamento
O processamento de dados é o processo que consiste na extração de informações de forma ordenada 
e concatenada, resultando em uma combinação de novos resultados a serem utilizados pelo próprio 
hardware e/ou pelo sistema operacional. O processamento de dados é subdividido em três etapas: entrada, 
processamento e saída. Os dados geralmente ficam armazenados, sendo necessária a movimentação 
deles para que seja realizado o processamento, como observado na figura a seguir.
Controle
Movimentação
Armazenamento Processamento
Figura 16 – Movimentação dos dados desde o armazenamento, controle, 
processamento de dados e de volta ao armazenamento
Fonte: Stallings (2010, p. 9).
1.5.3 Como o computador armazena dados
O computador deve ser capaz de armazenar dados temporariamente, tornando o armazenamento de 
dados e instruções um processo dinâmico e contínuo. Dessa forma, os dados transferidos do ambiente 
externo para o interno podem ser armazenados no computador para a realização dos processos de 
leitura e escrita, como mostra a figura.
29
ARQUITETURA DE COMPUTADORES MODERNOS
Controle
Movimentação
Armazenamento Processamento
Figura 17 – Armazenamento de dados internos/externos
Fonte: Stallings (2010, p. 9).
1.5.4 Como os dados são movimentados
Como mencionado anteriormente, um computador também deve ser capaz de movimentar dados 
gerados internamente para dispositivos externos. Dessa forma, ele será capaz de receber dados e 
processá-los. Os dispositivos responsáveis pela interconexão com seu exterior (entrada/saída – E/S) são 
conhecidos como periféricos e são muito importantes para que o usuário tenha a possibilidade de 
interação com a máquina. Um computador pode funcionar como um dispositivo para movimentação 
de dados transferindo-os de um periférico para outro, como ilustra a figura.
Controle
Movimentação
Armazenamento Processamento
Figura 18 – Movimentação de dados
Fonte: Stallings (2010, p. 9).
30
Unidade I
1.5.5 Unidade de controle
O controle, como o próprio nome diz, controla as operações realizadas pelo processador, fornecendo 
instruções para a realização das três funções descritas anteriormente (processamento de dados, 
armazenamento de dados e movimentação de dados). O gerenciamento dessas funções é realizado 
pelo processador do computador, mais especificamente pela unidade de controle (UC), gerenciando os 
recursos computacionais através de instruções, além de coordenar o desempenho e as funcionalidades 
do processador.
1.6 Sua estrutura
Um computador moderno está estruturado a partir de quatro componentes, responsáveis pelo seu 
pleno funcionamento, classificados em (STALLINGS, 2010):
• Unidade central de processamento (UCP ou CPU – central processing unit): constituída 
pela unidade lógica e aritmética (ULA) e pela unidade de controle (UC), tem como função o 
controle de toda a operação do computador, realizando suas funções de processamento de dados 
e instruções, além de gerenciar o armazenamento de dados.
• Memória principal: tem como função armazenar os dados de forma dinâmica e temporária.
• Entrada e saída (E/S ou I/O – input/output): responsável por mover os dados entre o computador e 
seu ambiente externo (periféricos) ou de um ambiente externo para seu processamento interior.
• Interconexão do sistema: é formada por mecanismos que oferecem meios de comunicação 
entre a CPU, a memória principal e os dispositivos de E/S. Um exemplo comum de interconexão 
do sistema é pelo barramento de dados e instruções, que consiste em uma série de fios de cobre 
condutores aos quais todos os outros componentes se conectam. A figura a seguir ilustra uma 
visão ampliada dos dispositivos contidos na estrutura interna de um computador moderno.
31
ARQUITETURA DE COMPUTADORES MODERNOS
(a)
E/S Memória 
principal
CPU
Barramento 
do sistema
Computador
(b)
Registradores ULA
Unidade 
de controle
Barramento 
interno
CPU
(c)
Lógica de 
sequenciação
Memória 
de controle
Registradores e 
decodificadores 
da unidade de 
controle
Unidade 
de controle
Figura 19 – Estrutura organizacional expandida de um computador moderno
Adaptada de: Stallings (2010, p. 10).
Conforme observado na figura 19, a estrutura interna organizacional de um computador moderno é 
constituída principalmente por barramentos (fios) que fazem o elo entre os diferentes dispositivos e níveis 
de um computador. Na figura 19a, é possível observar o nível de dispositivos internos do computador, 
como CPU, memória principal e dispositivos de E/S; na figura 19b, é possível ter uma visão ampliada 
da CPU, constituída pelos registradores, ULA, UC e o barramento interno, que faz a interconexão entre 
esses dispositivos; na figura 19c, um nível mais abaixo mostra uma visão ampliada da UC, constituída 
por registradores e decodificadores da UC, memória de controle e dispositivos lógicos, que realizam a 
sequenciação de instruções.
32
Unidade I
 Observação
A UC (unidade de controle) realiza todo o controle operacional 
da CPU (unidade central de processamento), a ULA (unidade lógica e 
aritmética) realiza a função de processamento de dados, e os registradores 
oferecem armazenamento interno na CPU para o armazenamento de 
dados einstruções.
1.7 Definições de computadores multiníveis modernos
Os computadores modernos possuem diversos estágios de desenvolvimento onde foram introduzidos 
diferentes níveis de abstrações e organizações para o tratamento de dados/instruções. Atualmente, são 
aceitos, basicamente, seis níveis, que vão do nível zero, também conhecido como nível lógico, até o nível 
cinco, que é o nível mais alto, onde estão as linguagens de programação (TANENBAUM; AUSTIN, 2013). 
A figura a seguir mostra como estão separados os multiníveis de computadores atualmente.
Nível de linguagem orientada a problemas
Nível de linguagem de montagem (assembly)
Nível do sistema operacional da máquina
Nível de arquitetura de conjunto de instruções
Nível de microarquitetura
Nível lógico digital
Nível 5
Tradução (compilador)
Interpretação parcial (sistema operacional)
Interpretação (microprogramação) ou execução direta
Hardware
Tradução (assembler)
Nível 4
Nível 3
Nível 2
Nível 1
Nível 0
Figura 20 – Níveis de abstração de um computador moderno
Fonte: Tanenbaum e Austin (2013, p. 4).
O nível mais baixo da estrutura (nível 0 ou nível lógico digital) contém todo o hardware da máquina. 
Nesse nível são encontrados os dispositivos fundamentais para a operação de um computador (portas 
lógicas ou logic gates). As portas lógicas são responsáveis pelo comportamento digital binário de um 
computador, tratando os dados apresentados a partir de estados eletrônicos 0 (desligado) e 1 (ligado).
33
ARQUITETURA DE COMPUTADORES MODERNOS
F
A
B
F
A
B
A F
A
B F
A
B
FAND
Nome Símbolo gráfico
OR
NOT
NAND
NOR
XOR F
A
B
Figura 21 – Diferentes tipos de portas lógicas digitais
Fonte: Stallings (2010, p. 320).
As portas lógicas são constituídas por elementos analógicos como transistores, que, combinados 
com outros componentes eletrônicos, resultam em um comportamento digital. Cada porta lógica é 
constituída por alguns transistores, e a junção de várias portas lógicas formam circuitos digitais 
combinacionais ou sequenciais, que operaram sobre dados binários constituídos por 8, 16, 32, 64, 128 
bits ou mais.
O próximo nível é o 1, conhecido como nível de microarquitetura, que ainda está na categoria de 
nível de hardware. No nível 1 também se encontra uma coleção de registradores, que são dispositivos 
de memória interna, contidos dentro da CPU, e são basicamente constituídos por portas lógicas. Nesse 
nível também se encontra a ULA, que é responsável pela organização lógica e aritmética do processador. 
Os registradores também servem como base para a transferência de dados e instruções para dentro e 
fora da ULA. Geralmente, em computadores modernos a operação do fluxo dos dados é controlada por 
um programa denominado microprograma.
O nível 2, também conhecido como nível de arquitetura do conjunto de instruções de máquina 
ou ainda instruction set architecture (ISA), contém instruções de operação do hardware. As empresas 
fabricantes de computadores geralmente entregam, ao venderem o computador, um manual de 
referência da máquina com seus princípios práticos operacionais. Nesse manual se encontra o nível ISA 
e como as instruções são executadas e interpretadas pela máquina.
34
Unidade I
O nível 3 (nível de máquina do sistema operacional) costuma ser conhecido como nível híbrido, pois 
a maioria de suas instruções operacionais está contida no nível ISA, informando que há uma mescla 
entre os níveis mais baixos, dificultando sua separação exata. Os acréscimos feitos nesse nível implicam 
a introdução de um interpretador, que realiza o controle dos hardwares contidos nos níveis abaixo 
(nível 0 e nível 1), além de interpretar o conjunto de instruções produzidas no nível 2.
O nível 4 foi criado especificamente para atender desenvolvedores de sistemas e aplicativos, ou seja, 
profissionais especializados no projeto e execução de emuladores, para que possam ter acesso direto ao 
hardware das camadas mais abaixo, usando uma linguagem de baixo nível, como a linguagem assembly.
Por fim, o último nível (5) é conhecido como nível de linguagem orientada a objeto e trata dos 
softwares utilizados por desenvolvedores de aplicações, também conhecidas popularmente como 
linguagens de alto nível. Há uma lista extensa dessas linguagens, sendo algumas das mais conhecidas 
C, C++, C#, Java, Javascript, Python, PHP, Perl, R etc., que possuem como função a compilação 
(interpretação) de instruções obtidas em alto nível (nível de usuário) convertendo-as em instruções de 
máquinas (baixo nível).
1.7.1 Os níveis de evolução das máquinas multiníveis
Os seis níveis adotados atualmente são responsáveis pelo funcionamento do processamento de 
dados de um computador. Antes disso, a ideia de níveis sofreu algumas mudanças necessárias para 
que essa separação fosse de fato uma implementação prática. Os programas escritos em linguagem de 
máquina (nível 1) podiam inicialmente ser executados diretamente pelos circuitos digitais encontrados 
no nível 0 (hardware), sem a necessidade de algum interpretador ou tradutor para realizar essa leitura e 
transferência de dados. Entretanto, ao evoluírem, os níveis mais altos, que constituem basicamente no 
uso de softwares, ficaram cada vez mais responsáveis por realizar o intercâmbio das informações entre o 
hardware e o software, com o intuito de otimizar o processamento e armazenamento das informações.
Os primeiros computadores digitais da história, desenvolvidos na década de 1940, continham 
apenas dois níveis de abstração: nível 0 e nível 1, onde era realizada toda a programação em nível 
lógico digital. Durante a década de 1950, foi introduzido mais um nível, com o intuito de facilitar a 
inserção e interpretação de dados. Esse nível era baseado no uso de microprogramação, e executava 
programas do nível ISA através da interpretação de instruções. Os três níveis mais baixos perduraram até 
a década de 1970, quando os demais níveis foram elaborados e aperfeiçoados, principalmente através 
do desenvolvimento dos sistemas operacionais (nível 3).
1.8 Sistemas operacionais e seu desenvolvimento
Um sistema operacional pode ser definido como um programa capaz de gerenciar todo o hardware 
de um computador (SILBERSCHATZ; GALVIN; GAGNE, 2015). Um sistema operacional também pode 
ser definido como um ambiente de software que facilita, no âmbito do usuário, a inserção/extração de 
dados e instruções de um ambiente para outro (software/hardware).
35
ARQUITETURA DE COMPUTADORES MODERNOS
 Lembrete
Um sistema operacional é o principal software de um computador, 
pois além de realizar todo o controle dos componentes de hardware, ele 
nos permite um acesso facilitado e intuitivo a tarefas importantes como 
edição de textos, navegação web, elaboração de planilhas, comunicação 
com outros usuários etc.
O surgimento dos sistemas operacionais advém da necessidade de facilitar a interação 
homem-computador (IHC). Nos anos de 1960, quando um usuário necessitava operar um computador, 
seu acesso à máquina era diretamente através do hardware. Aliado a essa necessidade, o volume de 
dados e instruções ocorria em crescimento exponencial, sendo necessário algum software para realizar 
o gerenciamento de dados e instruções contidos nos cartões perfurados ou nas fitas magnéticas. De 
modo que, durante a segunda geração de computadores (1955-1965), surgiram os primeiros softwares 
para gerenciamento de arquivos em lote (batch), ou seja, para controle de um lote de cartões perfurados. 
Nesse período, computadores (mainframes) começaram a processar um volume muito grande de dados. 
Os cartões perfurados continham os programas de computadores que possuíam o programa que, 
depois de inseridos um a um para leitura, eram processados. Porém, a inserção de dados manualmente 
e unitária de cada cartão perfurado se mostrou ineficaz. Logo, se mostrou necessário o uso do lote de 
cartões perfurados para serem lidos e processados mais rapidamente pelo computador, otimizando o 
tempo de execução das tarefas. A partir disso,notou-se também a necessidade do desenvolvimento de 
algum software que realizasse o controle dessa tarefa, surgindo os primeiros sistemas operacionais em 
lote, desenvolvidos na linguagem Fortran ou assembly. A figura a seguir mostra uma sequência lógica 
de como o processo era realizado.
7094
Leitor de 
cartão
Acionador 
de fita
Fita de 
entrada
Fita de 
saída
Sistema 
de fita
Impressora
1401 1401
(a) (b) (c) (d) (e) (f)
Figura 22 – Funcionamento de um sistema operacional em lote
Fonte: Tanenbaum (2010, p. 5).
No início do processo (figura 22a), o primeiro operador é responsável pela inserção de um lote 
de cartões perfurados em um leitor de cartões que fazem parte do sistema de mainframe IBM 1401 
(figura 22b). O processo tem sequência com o mainframe 1401 realizando a operação de conversão dos 
dados contidos nos cartões para um sistema de fita magnética. Depois de terminar da transferência, os 
dados gravados nas fitas de entrada (figura 22c) agora são inseridos em outro mainframe (IBM 7094) 
36
Unidade I
(figura 22d), que de fato realiza o processamento do programa escrito inicialmente nos cartões perfurados. 
Terminado o processamento, os dados eram armazenados em outro conjunto de fitas magnéticas de 
saída (figura 22e), que serão lidos por outro mainframe 1401, sendo por fim realizada a impressão dos 
dados resultantes na saída (figura 22f). A figura a seguir ilustra em qual sequência as instruções eram 
realizadas em um lote (batch) de cartões perfurados.
$JOB, 10,6610802,
MARVIN TANENBAUM
$FORTRAN
$RUN
$END
Dados para programa
$LOAD
Programa Fortran
Figura 23 – Conjunto estruturado de cartões perfurados em lote
Fonte: Tanenbaum (2010, p. 6).
No início da sequência, um cartão $JOB contém informações com o tempo máximo para o processamento e 
os dados do programador que está utilizando o sistema. Em seguida, encontra-se o cartão $FORTRAN, que 
informa ao sistema operacional o acionamento do compilador Fortran a partir de informações contidas em 
uma fita magnética. A próxima leitura será justamente do programa Fortran desenvolvido pelo programador 
contendo os dados a ser processados pelo sistema. Na sequência, o cartão $LOAD ordena ao sistema 
operacional o carregamento do programa-objeto recém-compilado. O próximo cartão a ser lido será o 
$RUN, que indica ao sistema operacional que naquele momento deve ser executado o programa constituído 
pelo conjunto de dados já ordenados nos cartões. Por fim, o cartão $END indica a conclusão das tarefas. 
Um dos sistemas operacionais mais populares a executar as tarefas de leitura e processamento de dados e 
instruções nesse período (1960-1970) foi o Fortran Monitor System (FMS) e o sistema operacional da IBM, 
IBSYS (TANENBAUM, 2010).
 Saiba mais
Para conhecer um pouco mais sobre os sistemas operacionais modernos, 
leia os capítulos 1 e 2 de:
SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Fundamentos de sistemas 
operacionais. 9. ed. Rio de Janeiro: LTC, 2015.
37
ARQUITETURA DE COMPUTADORES MODERNOS
2 UNIDADE CENTRAL DE PROCESSAMENTO E OS PROCESSADORES 
MODERNOS
2.1 Fundamentos da CPU (Central Unit Processing – unidade central 
de processamento)
O processador é considerado o “cérebro” do computador, controlando suas tarefas, como processar, 
gravar ou interpretar dados, operando sobre dígitos binários (bits 0 e 1). Ele também é considerado 
o elemento mais ativo de um computador, pois realiza, constantemente, a execução de programas 
armazenados na memória principal (memória RAM), buscando por novas instruções, decodificando-as 
e, por fim, executando-as sequencialmente. No geral, as CPUs são “empacotadas” em um único chip 
multiprocessado constituído por um núcleo de silício, ligado a um conjunto de pinos capazes de realizar 
toda a comunicação de dados/instruções eletronicamente.
Figura 24 – UCP (unidade central de processamento) Intel I5
Disponível em: https://bit.ly/3wfNTVa. Acesso em: 19 jan. 2023.
 Lembrete
A CPU é constituída por diferentes partes distintas em unidade de 
controle, responsável pela busca e decodificação de instruções e pela 
unidade lógica e aritmética (ULA), que efetua operações lógicas booleana 
(AND, OR, NOT, NAND, NOR, XOR, XNOR).
38
Unidade I
Figura 25 – George Boole
Disponível em: https://bit.ly/2m1YbXT. Acesso em: 19 jan. 2023.
A origem da lógica booleana data em 1854, quando o matemático britânico George Boole escreveu 
um trabalho científico intitulado “An investigation of the laws of thought” (Uma investigação das 
leis do pensamento). Em seu trabalho, Boole prenunciou que as tarefas poderiam ser resolvidas com 
base em decisões lógicas como verdadeiro (V) ou falso (F) (TOCCI; WIDMER; MOSS, 2011). Essa teoria 
é amplamente utilizada até os dias atuais e emprega um sistema baseado em símbolos ou operadores 
lógicos para descrever as tomadas de decisão.
 Saiba mais
Da mesma forma que se utilizam símbolos algébricos, por exemplo x 
e y, assim também a teoria booleana se baseia no uso de símbolos para 
representar uma expressão lógica. Saiba mais em:
MONTEIRO, M. A. Introdução à organização de computadores. 5. ed. Rio 
de Janeiro: LTC, 2019.
39
ARQUITETURA DE COMPUTADORES MODERNOS
2.1.1 Como acontece o processo de fabricação da CPU
É muito importante entender como ocorre o processo de fabricação dos processadores desde o seu 
início, com a preparação do silício bruto, até a obtenção final do microchip encapsulado. A partir da 
visão do processo de fabricação também é possível diagnosticar quais são as limitações que a indústria 
da eletrônica atravessa atualmente com a escassez de matéria-prima além das dificuldades em se 
produzirem componentes cada vez menores.
É de conhecimento de todo usuário que cada vez mais os dispositivos integrados na CPU diminuem 
de maneira que novas tecnologias precisam ser modificadas para manter a indústria da microeletrônica 
em constante evolução. A indústria deve continuar a oferecer o máximo em desempenho aos usuários 
que, por sua vez, utilizam cada vez mais os recursos computacionais para o lazer e a diversão e que, por 
consequência, requerem mais desempenho das máquinas.
Figura 26 – Operador de uma máquina de litografia durante o processo de fabricação do chip
Disponível em: https://bit.ly/3wfmh2r. Acesso em: 19 jan. 2023.
O processo para a fabricação de um processador envolve várias etapas, desde a obtenção do silício 
em altíssimo grau de pureza até o estágio final com a litografia (impressão de circuitos eletrônicos) e 
encapsulamento do processador.
40
Unidade I
 Observação
O processo de litografia, que deriva das palavras gregas lithos (pedra) 
e graphein (escrever) não é uma descoberta recente, mas remonta ao 
século XVIII. Logicamente, em seu início, essa tecnologia não era empregada 
na fabricação de processadores, e sim na escrita em peças de calcário. 
Somente em meados do século XX é que todo o processo de fabricação de 
peças eletrônicas, utilizando a escrita de dispositivos com lasers, foi de fato 
implementada nos processadores.
Em um primeiro estágio de fabricação, o silício está num estado sólido (como pode ser observado 
na figura 27) e, na sequência, ele é triturado até ficar reduzido ao tamanho de pequenos grãos de pó 
(figura 28).
Figura 27 – Pedaço de silício com alto grau de pureza
Disponível em: https://bit.ly/3WjInLH. Acesso em: 19 jan. 2023.
41
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 28 – Silício em pó
Disponível em: https://bit.ly/3kYZGoq. Acesso em: 19 jan. 2023.
Após a trituração e obtenção do pó, ele será inserido em uma máquina, conhecida como câmara 
de crescimento epitaxial (figura 29), para que possa ser aquecido em altas temperaturas (aproximadamente 
1000 °C).
Figura 29 – Máquina de crescimento epitaxial
Disponível em: https://bit.ly/3WsiHfY. Acesso em: 19 jan. 2023.
42
Unidade I
Durante o processo de aquecimento e crescimento epitaxial, o silício passa por um processo de 
rotação para que seja obtido um formato cilíndrico, também conhecido como pré-forma ou“tarugo”.
Figura 30 – Pré-forma ou “tarugo” de silício dentro de uma máquina de crescimento epitaxial
Disponível em: https://bit.ly/3J1URoi. Acesso em: 19 jan. 2023.
Essa pré-forma é finalmente fatiada transversalmente, facilitando o próximo estágio da fabricação, 
que será a litografia. Na sequência, é possível observar o próximo estágio de fabricação do processador, 
em que se retira um pequeno pedaço do wafer, que será empacotado num chip.
43
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 31 – Dezenas de processadores no wafer
Disponível em: https://bit.ly/3XEdv9Q. Acesso em: 19 jan. 2023.
 Saiba mais
Aprofunde seus conhecimentos sobre a fabricação dos processadores 
com a leitura de:
ALECRIM, E. Processadores: fabricação, miniaturalização e 
encapsulamento. Infowester, 2009. Disponível em: https://bit.ly/3GU25YC. 
Acesso em: 18 jan. 2023.
2.1.2 Conceitos dos chips de CPU
Um chip de CPU, basicamente, contém três funcionalidades, a saber: alocação de endereços, 
processamento e controle de dados. Assim, essas premissas de operação poderão ser conectadas a 
pinos na memória e a chips de E/S através de um conjunto de fios de cobre paralelos (barramento), 
para que as operações básicas ocorram na CPU. Ao buscar uma instrução na memória, inicialmente 
a CPU coloca o endereço da posição de memória desejada daquela exata instrução em seus pinos de 
44
Unidade I
endereços. Após essa primeira etapa, ela ativa uma ou mais linhas de controle com a finalidade de 
informar à memória que ela necessita ler uma palavra. A palavra, do inglês word, é um termo técnico 
utilizado em computação para denominar uma sequência fixa de bits contendo 8, 16, 32 ou 64 bits de 
acordo com a arquitetura do processador e que representa uma informação útil para o computador 
(MONTEIRO, 2019). Então a memória responde colocando a palavra requisitada nos pinos de dados da 
CPU e ativa um sinal que informará o que acabou de ser realizado. Ao receber esse sinal, a CPU aceita 
a palavra e executa a instrução indicada. A instrução indicada pode ser uma requisição para realizar 
alguma leitura ou escrita de palavra de dados, em que todo o processo deverá ser repetido para cada 
palavra adicional que será processada.
Nos chips de CPU também existem dois parâmetros que determinam o seu desempenho, que são a 
quantidade de pinos de endereços e o número de pinos para dados. Um chip com m pinos de endereços 
poderá realizar o endereçamento de até 2m localizações na memória. Os valores mais comuns para 
o número de pinos m são 16, 32 e 64 (TANENBAUM; AUSTIN, 2013). Assim, um chip consistindo em 
n pinos de dados pode ler ou escrever uma palavra de n bits em uma única operação. Portanto, um chip 
de 64 pinos de dados será muito rápido, porém de altíssimo custo.
Além dos pinos para endereçamento, a CPU possui pinos de controle. Os pinos de controle servem 
para regular o fluxo e a temporização de dados que chegam da CPU e que passam por ela, além de 
outras funcionalidades. As CPUs também possuem pinos para energização (entre 1,2 volt a 1,5 volt), 
um pino de aterramento (negativo) e um pino para o sinal de sincronismo de clock (onda quadrada de 
frequência bem definida). Existem outros pinos que realizam o controle e que podem ser agrupados nas 
seguintes categorias:
• Controle de barramento
• Interrupções
• Arbitragem de barramento
• Sinalização de coprocessador
• Estado
• Diversos
45
ARQUITETURA DE COMPUTADORES MODERNOS
A figura a seguir mostra um chip de CPU genérico baseado no uso desses grupos de pinos de sinais.
Microprocessador típico
Dados
Controle de 
barramento
Interrupções
Endereçamento
Estado
Coprocessador
Diversos
Símbolo para 
aterramento elétrico
Arbitragem de 
barramento
Alimentação
Símbolo para sinal 
de clock
Φ
Figura 32 – Pinagem lógica de uma CPU genérica
Fonte: Tanenbaum e Austin (2013, p. 147).
Como observado na figura anterior, as diversas setas indicam os sinais de entrada e os sinais 
de saída do chip. Além dessas, outras setas indicam a utilização de vários pinos para realização da 
comunicação de dados e instruções. Também é possível observar, logo abaixo da figura, a pinagem para 
alimentação elétrica, aterramento e entrada para realização do sincronismo de clock.
 Lembrete
A maioria dos pinos de controle do barramento interno do chip são, 
na verdade, pinos de saídas de comunicação da CPU para o barramento; 
portanto, são linhas de comunicação dos dispositivos de E/S para a memória 
principal (RAM).
Outros diversos pinos do chip são utilizados para sinalização de interrupções, oriundas dos 
dispositivos de E/S que se conectam à CPU e necessitam interromper processos em execução. Assim, 
a principal função nesse caso é a de controlar algum dispositivo de E/S, ativando um sinal dos pinos 
para interromper a CPU ou fazê-la realizar algum tipo de serviço para o dispositivo de E/S, como a 
verificação de ocorrências de erros de comunicação de E/S. Algumas CPUs, como a observada na figura 
anterior, possuem um pino de saída para confirmação do sinal de interrupção. Os pinos de arbitragem de 
46
Unidade I
barramento são utilizados para realizar o controle do tráfego no barramento, de modo a impedir que dois 
ou mais dispositivos tentem usá-lo simultaneamente e, por consequência, ocorra algum conflito. Outros 
chips são projetados para operarem como processadores auxiliares ou coprocessadores, como o Sprow 
ARM7 observado na figura a seguir, especializado em processamento paralelo e processamento gráfico.
Figura 33 – Coprocessador Sprow ARM7
Disponível em: https://bit.ly/3GR0mDt. Acesso em: 19 jan. 2023.
2.1.3 Como surge o Intel Core i7
Talvez o mais conhecido e também o processador mais bem-sucedido da Intel é o Core i7. Ele foi 
lançado no ano de 2008 em sua primeira geração e é considerado a maior evolução dos processadores 
Intel desde o Intel 8088. Como comparativo, o 8088 possuía míseros 29 mil transistores e um clock de 
4,77 MHz e que foi amplamente utilizado no desktop IBM PC da década de 1980, enquanto em seu 
lançamento (2008) o i7 possuía cerca de 731 milhões de transistores distribuídos em quatro processadores, 
operando à frequência de clock de 3,2 GHz (3,2 bilhões de hertz ou ciclos por segundo), utilizando uma 
largura de linha (fios de cobre de ligação entre os transistores) de 45 nanômetros (45 x 10-9 metros). Aqui 
pode-se ressaltar que quanto menor for a largura de linha (o que também implica transistores menores), 
mais transistores serão empacotados em um chip, aumentando, assim, seu poder de processamento em 
hertz. A primeira geração da arquitetura i7 era baseada na arquitetura Nahalem, que na época substituiu 
a arquitetura Core utilizada nos processadores anteriores e evoluiu para uma arquitetura Sandy Bridge, 
composta por 1,16 bilhão de transistores, trabalhando a uma velocidade de até 3,5 GHz, com largura 
de linha de 32 nanômetros (TANENBAUM; AUSTIN, 2013). Outra diferença interessante é que o i7 é 
uma máquina completa de 64 bits multicore, que corresponde ao tamanho da palavra/instrução que o 
processador consegue interpretar.
47
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 34 – Intel Core I7
Disponível em: https://bit.ly/3QYwCcz. Acesso em: 19 jan. 2023.
O i7 é compatível em aplicações que requerem o uso de processamento paralelo e de threads de 
hardware e software. O sistema de hyper‑threading (conceito de processamento paralelo desenvolvido 
em 2002 nos processadores Pentium 4), também conhecido como multithreading simultâneo, permite 
que latências com quantidade de tempo para acesso a outro hardware em tempos muito curtos sejam 
utilizadas quando há falta de espaço em memória cache. Além disso, todos os processadores Core i7 
possuem três níveis (layer) de memória cache (L1, L2 e L3), em que cada núcleo possui uma cache de 
dados L1 (layer 1) com 32 kB (kilobytes) e uma cache L1 de instruções também com 32 kB. Os núcleos 
dos processadores i7 também possuem sua própria cache L2 com 256 kB, além de compartilharem entretodos os núcleos uma cache unificada L3 com tamanhos que variam de 4 a 15 MB (megabytes).
Como descrito anteriormente, todos os processadores Core i7 possuem múltiplos núcleos com 
caches específicas para dados. Isso pode ocasionar um problema quando a CPU modifica a palavra 
na cache e que também esteja contida em outro núcleo, sendo utilizada ao mesmo tempo. Se outro 
processador tenta ler a mesma palavra da memória, poderá obter um valor ultrapassado, ou seja, sem as 
modificações mais recentes, visto que as palavras de cache modificadas não são escritas imediatamente 
de volta na memória. Assim, para manter uma consistência de informações da memória, cada núcleo 
em um sistema microprocessado realiza a operação snoops (escuta) no barramento de memória, em 
busca de referências de palavras contidas na cache. Quando ela acha uma dessas referências, são 
fornecidos os dados antes que a memória faça a leitura deles, assim não haverá risco de os dados não 
estarem atualizados.
48
Unidade I
Outro problema apresentado no projeto do Intel i7 se refere ao consumo elevado de energia, o que 
também ocorre naturalmente com outras CPUs. Um processador Core i7 consome entre 17 e 150 watts, 
dependendo de seu modelo ou frequência de operação (hertz). A fim de impedir que algum dano ocorra 
no silício devido ao aquecimento excessivo, em todo projeto de processadores a Intel utiliza métodos 
de resfriamento com o uso de dissipadores de calor, para que o calor não danifique o substrato do 
processador e o silício queime. Na figura a seguir é possível observar um dissipador de calor anexo à CPU.
Figura 35 – Dissipador de calor anexo na parte superior da CPU
Disponível em: https://bit.ly/3iNh9zv. Acesso em: 19 jan. 2023.
O projeto original do Intel i7 também possui um soquete de conexões land grid array (LGA) com 
37,5  milímetros de borda e 1.155 pinos em sua parte inferior, em que 286 são para alimentação e 
360 para aterramento. Os pinos estão dispostos como um quadrado de 40 x 40 pinos com 17 x 25 pinos 
faltando no meio. Outros 20 pinos também estão faltando no perímetro de forma assimétrica, para 
impedir que o chip seja inserido de forma incorreta pelo usuário na sua base situada na placa-mãe 
Essa disposição física da pinagem é observada na figura a seguir.
49
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 36 – Vista inferior da disposição física dos pinos do Intel Core i7
Fonte: Tanenbaum e Austin (2013, p. 160).
A pinagem lógica de funcionamento é mostrada na próxima figura, onde é possível observar que 
em seu lado esquerdo há cinco grupos principais de sinais de barramento, incluindo comunicações 
com a memória principal (RAM) através de comunicação double data rate (DDR); e no seu lado direito, 
uma diversidade de sinais, para diagnósticos, monitoramento térmico, detecção e gerenciamento de 
energia etc.
50
Unidade I
CPU do Core i7
Canal de memória DDR#2
Canal PCle
Interface de mídia direta
Interface de monitor flexível
Canal de memória DDR#1
Monitoramento térmico
Gerenciamento de energia
Diversos
Detecção de energia
Configuração
Diagnósticos
Energia
286 360
21
16
80
124
124
12
24
7
10
4
18
TerraCK
Figura 37 – Pinagem lógica do Intel Core i7
Fonte: Tanenbaum e Austin (2013, p. 161).
Após o estudo externo, incluindo sua pinagem lógica e física, agora é necessária uma abordagem das 
principais características de funcionamento da CPU.
2.1.4 Como é a organização geral de um processador
O processador é organizado de acordo com as seguintes funcionalidades:
• Buscar instruções: o processador deve ser capaz de realizar a leitura de uma ou várias instruções 
que ocupam endereços específicos na memória (registrador, cache, memória principal).
• Interpretar instruções: as instruções são decodificadas a fim de se determinar qual ação é 
requerida naquele momento.
• Obter dados: o ato da execução de uma ou mais instruções pode requerer a leitura de dados da 
memória ou algum dispositivo de E/S.
• Processar dados: a execução de instruções pode requerer a realização de operações lógicas e/ou 
aritméticas com os dados.
• Gravar dados: os resultados obtidos através do processamento de dados podem ser gravados na 
memória ou dispositivos de E/S.
51
ARQUITETURA DE COMPUTADORES MODERNOS
2.1.5 Um processador e sua microarquitetura
A microarquitetura de um processador é constituída por um conjunto de instruções contendo 
operações complexas, além de três subsistemas principais: unidades de execução, banco de registradores 
e lógica de controle. Essas unidades também podem ser descritas como o caminho dos dados do 
processador, pois os dados e instruções fluem regularmente por eles (CARTER, 2002), como indica a 
figura seguinte.
Banco de registradores
Lógica de controle
Sinais de 
controle
Unidade 
artimética 
de ponto 
flutuante
Dados para memória Dados para memória
Dados fornecidos 
pela memória
Instruções de memória
Unidade 
artimética 
de inteiros
Figura 38 – Diagrama de blocos de uma CPU moderna
Fonte: Carter (2002, p. 49).
O diagrama da figura anterior mostra quais são as etapas envolvidas na execução de uma ou 
várias instruções e como os módulos do processador interagem entre si durante o processamento e a 
decodificação da instrução. Inicialmente, o processador busca a instrução que está contida na memória 
principal (externa ao processador) e a direciona para ser decodificada pela lógica de controle. Após a 
decodificação da instrução, esta é representada em um padrão de bits a fim de informar ao hardware 
como ela deverá ser executada. Esse padrão de bits será então enviado para a próxima sessão da unidade 
de execução da instrução, através de sinais de controle, a qual lê as entradas da instrução na memória 
interna do processador (banco de registradores). Assim que a instrução é decodificada e os valores são 
armazenados nos registradores, as instruções são executadas em uma unidade lógica aritmética (ULA) 
de inteiros e/ou ponto flutuante, a fim de se obter resposta ao processamento desejado. Por fim, os 
dados obtidos são devolvidos como resposta à memória principal do computador, primeiro passando 
pelo banco de registradores através do barramento interno do processador.
52
Unidade I
2.1.6 Principal dispositivo interno do processador – Unidade lógica e aritmética (ULA)
A ULA é o principal dispositivo interno do processador e realiza efetivamente as operações lógicas/
matemáticas sobre dados e instruções. Qualquer ULA é considerada um conjunto de circuitos lógicos 
simples que, ao se integrarem, realizam as operações (AND, OR, NAND, NOR, XOR e XNOR), operações 
de deslocamento, incremento, complemento, soma, subtração, multiplicação e divisão (MONTEIRO, 
2019). Uma ULA geralmente possui duas entradas de dados conectadas à saída (resultado da operação 
efetuada), entrada para sinais de controle para determinação da operação a ser realizada, além de 
saídas de comunicação com registradores e para sinalização de flags. Em processadores mais antigos, o 
barramento interno para dados é utilizado para interligar a ULA ao registrador acumulador, conhecido 
também como AC ou ACC (accumulator), e aos demais registradores, e na sequência à mEmória principal, 
conforme observado na figura a seguir.
Saída para flags Saída para registradores
Sinais de controle da UC
Entradas de sinais de registradores
ULA
Figura 39 – ULA e suas conexões de entrada e saída
Adaptada de: Monteiro (2019, p. 164).
Alguns fabricantes de processadores atuais, como a Intel, têm substituído o nome unidade lógica e 
aritmética (ULA) por unidade de cálculo ou unidade de execução; outros, como a AMD, têm chamado a 
ULA de integer unit (UI). Alguns processadores atuais também são constituídos por unidades responsáveis 
por cálculos fracionários (representados em ponto flutuante) denominadas unidade de FPU (Floating 
Point Unit – ponto flutuante).
2.1.7 Dispositivo mais complexo da CPU – Unidade de controle (UC)
A UC é considerada o dispositivo mais complexo dentroda CPU. Ela é responsável pela movimentação 
de dados/instruções no processador através de sinais de controle sincronizados pelo clock. A UC opera 
sobre micro-operações (pequenos passos no ciclo de leitura), em que a cada início de um ciclo de instrução 
ocorrerá uma busca (fetch) da instrução solicitada, trazendo uma cópia dela para o processador, que será 
armazenada no IR (Instruction Register – registrador de instrução). Cada micro-operação é inicializada 
por um pulso oriundo da UC em decorrência de uma programação prévia, realizada diretamente no 
hardware. A estrutura básica diagramada de funcionamento da UC é observada na figura a seguir.
53
ARQUITETURA DE COMPUTADORES MODERNOS
Registrador 
de instrução
Decodificador
Unidade de controle
Pulsos 
de relógio
Código de operação
Sinal resultante 
da decodificação 
(apenas 1 saída 
ativada de cada vez)
Sinais de controle para 
dispositivos internos 
da UCP (registradores, 
UAL, etc.)
Sinais de 
controle vindos 
do barramento 
de sistema
Barramento de controle
Sinais de 
controle para 
o barramento 
de sistema
Gerador 
de tempo
t
t
t
t
Figura 40 – Diagrama de bloco de funcionalidade da unidade de controle
Fonte: Monteiro (2019, p. 172).
Os opcodes oriundos do registrador de instrução (IR) são inicialmente decodificados, ou seja, as 
instruções são interpretadas e servem de sinais de execução de tarefas na UC. Como é observado na 
figura anterior, um gerador de tempo está conectado à UC para controlar o ritmo (pulsos) em que 
as instruções devem ser inseridas no barramento para que alguma ação seja executada pela ULA.
Além das tarefas citadas anteriormente, a UC possui requisitos funcionais, como segue:
• Definição dos elementos básicos do processador.
• Descrição das micro-operações que o processador executa.
• Determinação das funções que a UC deve realizar para que as micro-operações sejam efetuadas.
A UC também desempenha duas tarefas básicas, que são o sequenciamento e a execução.
• Sequenciamento: as micro-operações devem ser executadas em série, baseando-se no programa 
que está em execução.
• Execução: a UC deve garantir que cada micro-operação seja executada.
Para que a UC realize a operação da CPU de forma funcional, ela deve ser constituída por sinais de 
controle de entrada, como:
54
Unidade I
• Registrador de instrução: é utilizado para definir qual opcode deverá ser executado no ciclo de 
instrução corrente.
• Flags: são necessárias para que a UC determine o estado do processador e das saídas das operações 
anteriores da ULA.
• Sinais de controle do barramento de controle: fazem parte do barramento do sistema para o 
fornecimento de sinais para a UC.
• Sinais de controle dentro do processador: são sinais que fazem os dados serem movidos de um 
registrador para outro registrador, além de ativarem funções específicas da ULA.
• Sinais de controle para barramento de controle: são constituídos pelos sinais de controle para 
memória principal e sinais de controle para os módulos de E/S.
• Clock: é responsável pelo tempo de ciclo do processador ou tempo de ciclo de clock de operação 
do processador.
2.2 Principais conceitos sobre o desempenho de operação do processador
Os principais fabricantes de processadores como a Intel e a AMD buscam, continuamente, o aumento 
no desempenho de seus processadores, mesmo que a evolução dos processadores e seu desempenho 
também estejam atrelados à lei de Moore. Como existem limitações para aumentar a velocidade do 
processador, atualmente três técnicas são utilizadas para contornar algumas limitações impostas por 
Moore (STALLINGS, 2010):
• A primeira implica aumentar a frequência do hardware do processador, e o aumento deve se 
fundamentar na diminuição de tamanho das portas lógicas contidas no processador. Assim, 
quanto mais portas lógicas reunidas dentro de um mesmo chip, maior será a frequência de clock.
• A segunda implica aumentar a capacidade e a velocidade das memórias auxiliares do processador 
(memórias do tipo cache), que fazem a “ponte” e o trânsito de dados/instruções entre o processador e 
a memória principal (RAM).
• A terceira técnica implica a realização de mudanças na arquitetura e organização de um 
processador, de modo a buscar o aumento na velocidade da execução das instruções, o que pode 
envolver algum processo de paralelismo na execução de tarefas.
Entre os fatores citados, o mais aplicado para que haja ganho no desempenho tem sido o aumento 
na quantidade de transistores no processador, aumentando assim a capacidade de clock. Entretanto 
vale ressaltar que uma diminuição constante nos componentes eletrônicos os torna também cada vez 
mais próximos, ocasionando um aumento no aquecimento do processador. A figura a seguir mostra 
uma tendência de aumento linear no desempenho do processamento à medida que a densidade de 
transistores também aumenta.
55
ARQUITETURA DE COMPUTADORES MODERNOS
1970
0,1
1
10
102
103
104
105
106
107
1975 1980 1985 1990 1995 2000 2005 2010
Transistores (milhares)
Cores
Frequência (MHz)
Potência (W)
Figura 41 – Tendência de aumento linear no desempenho dos processadores 
em função do aumento da quantidade de transistores
Fonte: Stallings (2010, p. 42).
Como citado anteriormente, vários são os problemas que podem ser apontados como limitadores do 
aumento no desempenho do processador, como:
• Potência: aumentar a densidade de transistores e, consequentemente, a velocidade de clock do 
processador também aumentará a densidade de potência dada em watts/cm2. Isso levará a uma 
dificuldade para dissipar o calor gerado no chip, de forma que o calor irá se configurar um sério 
problema a ser considerado no projeto.
• Atraso de resistência e capacitância (RC): existe uma limitação física na velocidade em que os 
elétrons fluem no chip entre os transistores, que é dada pela resistência e capacitância dos fios 
metálicos que conectam os transistores. Assim, o atraso pode aumentar à medida que o produto 
RC aumenta. Consequentemente, com a diminuição dos componentes do chip, as interconexões 
de fios metálicos se tornam mais finas, o que aumenta a resistência elétrica. E, ao diminuir o 
tamanho e a distância entre os transistores, os transistores também ficarão mais próximos uns dos 
outros, aumentando a capacitância.
• Latência de memória: a baixa frequência na comunicação entre o processador e a memória 
também limitará a velocidade e o desempenho do processador.
56
Unidade I
 Saiba mais
Aprenda mais sobre a lei de Moore e seus principais impactos em:
ROTMAN, D. We’re not prepared for the end of Moore’s Law. Technology 
Review, 2020. Disponível em: https://bit.ly/3Wu0yi4. Acesso em: 18 jan. 2023.
2.2.1 Sinal elétrico de sincronismo – clock
Os processadores e as memórias são componentes digitais, constituídos por milhares de portas 
lógicas. Os circuitos digitais mudam de estado (comutam de estado) entre os bits 0 e 1 milhão ou até 
mesmo bilhões de vezes por segundo ao executarem tarefas específicas, de acordo com instruções de 
um programa. Essas operações precisam estar sincronizadas para que executem as tarefas de forma 
ordenada, ou seja, com uma sequência lógica de início, meio e fim. Para que isso ocorra, o componente 
que realiza tal sincronização é o relógio, conhecido também como clock (MONTEIRO, 2019).
O clock é considerado um contador de tempo do processador e foi desenvolvido para gerar pulsos; a 
duração entre o início da contagem do pulso até o início do próximo pulso é denominada ciclo. De forma 
geral, os pulsos comutam de valor para intensidade alta, que corresponde ao bit 1, para a intensidade 
baixa, que corresponde ao bit 0. Essa alternância de estado faz que seja possível sincronizar e cadenciar 
as ações ou atividades do processador. De certa forma, o clock também pode ser entendido como um 
dispositivo que realiza um controle, sincronizando todos os componentes do computador, visto que é o 
processador quem dita a frequência de como tudo deve operar. A figuraa seguir mostra um esquema 
com um conjunto de pulsos gerados por um clock e alguns de seus elementos principais.
1
0
1 ciclo de clock
Tempo
Período
Borda de subida Borda de descida
Figura 42 – Diagrama de pulsos de clock
Fonte: Monteiro (2019, p. 173).
57
ARQUITETURA DE COMPUTADORES MODERNOS
Os elementos contidos na figura anterior podem ser entendidos como:
• Ciclo de clock ou ciclo de relógio: determina o intervalo de tempo entre o início da borda de subida 
(ou descida) do pulso até o início da próxima borda de subida (ou descida) do pulso subsequente.
• Período ou ciclo de tempo: é o intervalo de tempo necessário para que o pulso execute uma 
oscilação completa.
• Borda de subida: é constituída pelo período usado pelo pulso para realizar a transição de subida.
• Borda de descida: é formada pelo período utilizado pelo pulso para realizar a transição de descida.
• Frequência ou taxa de clock: é a quantidade de ciclos por segundo do clock, determinada também 
pelo inverso do período e medida em hertz (Hz), em que 1 Hz é igual a um ciclo por segundo.
A figura a seguir mostra um diagrama de ciclo de clock, onde o sinal de clock original foi denominado 
(T0), e os demais ciclos de processador subsequentes são constituídos pelos pulsos (T1, T2, T3, T4 e T5).
To
T1
T2
T3
T4
T5
1 ciclo = t0
1 subciclo = t0 / 5
Figura 43 – Diagrama de ciclos de um processador contendo cinco subciclos
Fonte: Monteiro (2019, p. 175).
O ciclo de clock geralmente é relacionado a uma operação elementar que ocorre durante o ciclo de 
instrução. Porém, mesmo as operações elementares não se realizam em um único ciclo, de forma que 
um ciclo pode se subdividir em outros ciclos menores, conhecidos como subciclos. Os subciclos podem 
estar defasados no tempo, de maneira que cada um pode acionar um passo diferente da operação 
elementar inicial. Essas diferenças de operações do ciclo fundamental também são conhecidas como 
micro-operações e possibilitam, entre outras coisas, o processamento paralelo. Na figura anterior 
também foi possível observar um subciclo dado por t0/5 que corresponde ao tempo de início da borda 
de subida do ciclo t0 dividido por 5, que é o tempo de duração do último subciclo t5 e, portanto, de sua 
borda de descida.
58
Unidade I
2.2.2 Cálculo da taxa de execução de instruções por segundo
Como já definido antes, um processador é controlado através de um sinal de clock em uma frequência 
constante f ou, de forma equivalente, por um tempo de ciclo constante (letra grega tau), onde: τ = 1 𝑓 . 
Exemplo de aplicação
A partir da frequência de operação de um processador de 233 MHz, encontre o tempo de duração 
de cada ciclo.
Resolução
Utilizando a fórmula: τ = 1 𝑓’ , tem-se: τ = 
 1 2,29 x 10-9 
 233 x 106 segundos ou 4,29 nanossegundos (ns).
É importante notar que nesse tipo de cálculo não devemos trabalhar com arredondamentos, pois, 
como os valores de tempo de resposta são muito pequenos, qualquer diferença ou arredondamento 
pode ocasionar um erro acumulativo durante a execução dos demais ciclos de clock.
A tabela a seguir mostra alguns dos prefixos para valores na base decimal (base 10) e base binária (base 2), 
organizados pela International Electrotechnical Commission, e que são úteis na resolução dos exemplos e 
exercícios dados.
Tabela 2 – Prefixo de valores e bases utilizados em computação
Prefixo Símbolo Potência de 10 Potência de 2 Prefixo Símbolo Potência de 10 Potência de 2
Kilo K 1 mil = 103 210 = 1024 Mili m 1 milésimo = 10-3 2-10
Mega M 1 milhão = 106 220 Micro µ 1 milionésimo = 10-6 2-20
Giga G 1 bilhão = 109 230 Nano n 1 bilionésimo = 10-9 2-30
Tera T 1 trilhão = 1012 240 Pico p 1 trilionésimo = 10-12 2-40
Peta P 1 quadrilhão = 1015 250 Femto f 1 quadrilionésimo = 10-15 2-50
Exa E 1 quintilhão = 1018 260 Atto a 1 quintilionésimo = 10-18 2-60
Zetta Z 1 sextilhão = 1021 270 Zepto z 1 sextilionésimo = 10-21 2-70
Yotta Y 1 setilhão = 1024 280 Yocto y 1 setilionésimo = 10-24 2-80
Adaptada de: Null e Lobur (2010).
Outro fator preponderante no cálculo da execução de instruções é a contagem de instruções, dada 
pela sigla IC. Pode-se também determinar outro parâmetro importante para a aferição do tempo total de 
execução de várias instruções em função da frequência do processador. Essa outra variável na equação 
corresponde à medida de CPI (Cycles per Instruction – ciclos por instrução).
59
ARQUITETURA DE COMPUTADORES MODERNOS
Para instruções que exigem o mesmo número de ciclos de clock para serem executadas, a CPI será 
dada por um valor constante, de acordo com a frequência do processador. Dessa forma, é possível 
calcular o tempo total T necessário para a execução de um determinado programa, dado por:
Exemplo de aplicação
Qual será o tempo total de resposta para a execução de um determinado programa que possua 
445 instruções (IC), 8 ciclos por instrução e uma frequência (f) de processamento de 1,33 GHz?
Resolução
T = Ic X CPI X τ, mas é importante lembrar que 
1
f
τ = , então:
T = Ic X CPI X 
1
f
 → T = 445 X 8 X, 1( (1,33x109 → T = 2,67 microssegundos (2,67 µs).
Outra medida muito utilizada para calcular o desempenho de um processador é a taxa de 
execução, expressa em MIPS (Millions of Instructions per Second – milhões de instruções por segundo), 
dada por: 1CPI X 106 .
Exemplo de aplicação
Considere a execução de um programa contendo 900 instruções, executadas em um processador 
capaz de operar 4 ciclos por instrução a uma frequência de 1,33 GHz. Qual será a quantidade de MIPS 
para esses valores?
Resolução
Substituindo na fórmula:
1
CPI X 106 → 
1,33x109
4x106
 = 332,5 MIPS ou 332,5 milhões de instruções por segundo.
Note que, apesar de no enunciado ter sido citada a quantidade de instruções, na fórmula utilizada 
esse dado não foi inserido na obtenção do resultado final.
2.3 A arquitetura da máquina de von Neumann
2.3.1 Fundamentos do computador IAS
Atualmente a microarquitetura de um processador é bem aceita, mas no início da computação, 
principalmente durante as gerações dos computadores da década de 1940 e 1950, os computadores 
ainda não possuíam um padrão bem definido, sobretudo quanto aos componentes necessários para 
60
Unidade I
que seu funcionamento ocorresse de forma otimizada, pois naquela época não havia uma estruturação 
de quais componentes deveriam estar contidos em cada máquina para melhor tratar dados/instruções.
Coube ao matemático húngaro (naturalizado americano posteriormente) John von Neumann 
(1903-1957), que trabalhava no Instituto de Estudos Avançados da Universidade de Princeton, nos 
Estados Unidos, realizar modificações no projeto do já famoso computador ENIAC, em 1946. As tarefas 
de processamento e armazenamento de dados no ENIAC eram extremamente enfadonhas. Von Neumann 
verificou que a programação poderia ser facilitada se o programa fosse representado de forma adequada 
para a realização do armazenamento na memória junto com os dados. Assim, um computador poderia 
obter suas instruções lendo-as diretamente da memória, e um programa poderia ser criado ou alterado 
através de endereços da memória, de forma que essa ideia ficou conhecida como conceito de “programa 
armazenado” (STALLINGS, 2010).
A publicação do novo projeto de von Neumann ocorreu em 1945 e foi a base para a construção de um 
computador com uma nova proposta de arquitetura, o EDVAC (Electronic Discrete Variable Automatic 
Computer), finalizado em 1949. Após o término do projeto do EDVAC, von Neumann se dedicou à 
construção do seu novo computador, desenvolvido nos laboratórios do Instituto de Estudos Avançados 
de Princeton, cujo nome ficou conhecido como computador IAS (Institute of Advanced Studies). O IAS 
ficou pronto em 1952 e é conhecido como o protótipo para todos os computadores modernos de uso 
geral. A figura a seguir mostra como foi projetada a estrutura geral do computador IAS.
Memória 
principal (M)
Equipamento de 
E/S (E,S)
Unidade lógica e 
aritmética (CA)
Unidadede controle 
do programa (CC)
Unidade central de processamento (CPU)
Figura 44 – Estrutura simplificada de um computador IAS
Fonte: Stallings (2010, p. 14).
61
ARQUITETURA DE COMPUTADORES MODERNOS
A partir dessa máquina, von Neumann definiu que todos os computadores deveriam possuir as 
seguintes características:
• Memória principal para armazenamento dos dados.
• Unidade lógica e aritmética (ULA) para realizar operações em dados binários.
• Unidade de controle (UC) para interpretar/executar todas as instruções da memória principal.
• Dispositivos de entrada e saída (E/S) controlados pela UC.
Segundo von Neumann, um computador precisa ser capaz de realizar as operações elementares da 
aritmética (adição, subtração, multiplicação e divisão), lembrando que nesse caso a aritmética adotada 
precisa ser a aritmética binária. Assim, é imprescindível que ele contenha as unidades especializadas 
em realizar essas tarefas. O controle lógico do dispositivo tem como função organizar a sequência 
apropriada de como as operações devem ser executadas (para que haja sincronismo). Von Neumann 
estabeleceu também que, para que os dispositivos possam executar operações em sequências longas 
e complicadas, se faz necessário o uso de uma memória que seja capaz de armazenar um volume 
grande de dados. Um computador deve ser capaz de estabelecer contato de entrada e saída com 
dispositivos internos/externos com a finalidade de ler/gravar dados. Como praticamente todos os 
computadores atuais possuem a mesma função e estrutura, eles também são conhecidos como 
máquinas de von Neumann.
Um fator muito importante do computador de von Neumann é sua memória. No computador 
IAS a memória era constituída de 1.000 locais para armazenamento, chamados de palavras (words), 
contendo 40 dígitos binários (40 bits). Uma palavra pode ser definida como um conjunto ordenado de 
bytes no qual a informação pode ser armazenada, processada e transmitida dentro de um computador. 
Geralmente, um processador possui um conjunto de instruções de tamanho fixo, de forma que o 
tamanho da instrução será igual ao tamanho da palavra. Por exemplo, um computador de 64 bits 
processará palavras de 64 bits ou mesmo duas palavras de 32 bits. A figura 45a mostra a formatação 
desses dados, em que cada número é representado por um bit de sinal e um valor de 39 bits contendo 
a palavra. Já na figura 45b é possível observar a mesma palavra de 40 bits podendo ser subdividida em 
duas instruções de 20 bits cada.
62
Unidade I
390 1
Bit de sinal (a) Palavra de número
Instrução esquerda
Opcode OpcodeEndereço Endereço
0 8 20 28 39
Instrução direita
(b) Palavra de instrução
Figura 45 – Estrutura simplificada de um computador IAS
Fonte: Stallings (2010, p. 15).
Cada instrução/palavra subdividida em duas instruções de 20 bits será constituída de um opcode 
(código de operação) de 8 bits que especifica a operação realizada naquele momento, e um endereço 
de 12 bits que designa uma das palavras na memória, com valores numerados de 0 a 999. A máquina de 
von Neumann foi desenvolvida basicamente utilizando componentes de memória (registradores) que 
auxiliam em toda as tarefas da UC e da ULA.
 Saiba mais
Conheça mais sobre a máquina de von Neumann:
FREIBERGER, P. A. Von Neumann machine. Encyclopedia Britannica, 
2022. Disponível em: https://bit.ly/3XnAoyH. Acesso em: 18 jan. 2023.
2.3.2 Histórico e a arquitetura Harvard
A arquitetura Harvard teve seu início com o desenvolvimento do computador eletromecânico 
Mark III, em 1950. Esse computador possuía memórias diferentes para dados e instruções.
63
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 46 – Computador Mark III
Disponível em: https://bit.ly/3Xujpec. Acesso em: 19 jan. 2023.
A diferença básica entre a arquitetura de von Neumann e a desenvolvida na Universidade de Harvard 
é que, enquanto a de von Neumann utiliza o mesmo barramento para envio/recebimento de dados e 
instruções (o que pode ocasionar gargalos na execução de tarefas de busca), a arquitetura Harvard usa 
barramentos diferentes. Como a arquitetura Harvard é capaz tanto de ler instruções ou dados ao mesmo 
tempo, há um grande benefício para a utilização de processamento paralelo como o pipeline, o que 
aumenta a velocidade de execução das aplicações.
2.4 Como os registradores de um computador são organizados
Os registradores são pequenos dispositivos de memória fabricados dentro do processador, constituídos 
basicamente de portas lógicas e que fornecem armazenamento temporário para dados/instruções na 
CPU. Os registradores estão no topo da hierarquia da memória, pois são mais rápidos, ou seja, possuem 
maior velocidade de transferência de dados/instruções para dentro ou fora do processador. Apesar disso, 
os registradores possuem uma capacidade de armazenamento menor, se comparada a outras memórias 
internas, além de possuírem custo mais elevado em relação a outras memórias. Os registradores 
geralmente são classificados de acordo com sua funcionalidade em: registradores de propósito geral e 
registradores de controle e estado (STALLINGS, 2010).
64
Unidade I
2.4.1 A linguagem de baixo nível e os registradores de propósito geral ou visíveis ao usuário
Os registradores de propósito geral possibilitam que o desenvolvedor de linguagem de baixo nível 
(linguagem de máquina), como assembly, realize referências diretamente à memória principal (RAM). Esses 
registradores podem ser subdivididos, ainda, como: de uso geral, dados, endereços e códigos condicionais.
Os registradores de uso geral são atribuídos a uma variedade de funções de acordo com a necessidade 
do programador em nível de máquina. Essa categoria de registradores pode conter um operando para 
realizar qualquer operação, por exemplo operações de ponto flutuante (tipo de representação de números 
utilizada em computadores) ou operações que envolvam processo de pilhas. Em algumas situações, os 
registradores de uso geral também podem ser utilizados para funções de endereçamento ou dados. 
Como registradores de dados, eles podem ser utilizados somente para guardar dados temporários, e não 
podem ser empregados para o cálculo do endereço de um operando. Como registradores de endereços, 
eles podem se dedicar exclusivamente ao modo de endereçamento de ponteiros de segmento, quando 
o endereço não está somente em um lugar exclusivo, mas sim segmentado. Podem se comportar como 
registradores de índice para indexar endereços ou como ponteiros de pilha, caso exista a necessidade de 
empilhamento de endereços.
2.4.2 Registradores de controle e estado
Os registradores de controle e estado são usados no funcionamento do processador e, diferentemente 
dos “visíveis” ao usuário (aptos a serem programados por qualquer usuário que tenha conhecimento 
de linguagem de baixo nível), eles estão ocultos para programação, ficando apenas disponíveis para o 
acesso direto do sistema operacional. Esses registradores são organizados da seguinte forma:
• MBR (Memory Buffer Register – registrador de buffer de memória): é o registrador que 
recebe uma ou várias palavras que serão armazenadas na memória ou enviadas para alguma 
unidade de E/S. Pode-se entender a palavra também como algum dado a ser processado pelo 
computador que ficará temporariamente armazenado aguardando instruções, ou uma palavra 
pode ser interpretada como o resultado do processamento e seu próximo passo será o envio para 
memória principal e unidades de E/S.
• IR (Instruction Register – registrador de instrução): é o registrador que contém um código de 
operação (opcode) que está em execução.
• IBR (Instruction Buffer Register – registrador de buffer de instrução): é utilizado para 
armazenar temporariamente a próxima instrução a ser executada (depois que for executada a 
instrução contida no IR).
• MAR (Memory Address Register – registrador de endereço de memória): é o registrador que 
especifica o endereço na memória principal a ser lido/escrito.
• PC (Program Counter – registrador contador de programa):é o registrador que contém o 
endereço para busca de um par de instruções contidas na memória principal.
65
ARQUITETURA DE COMPUTADORES MODERNOS
Além dos registradores de controle e estado, a máquina de von Neumann possui os registradores 
acumulador (AC) e multiplicador (MQ), que são empregados para manter temporariamente os operandos 
(que especificam os dados a serem modificados) e resultados de operações da ULA.
A figura a seguir mostra uma estrutura detalhada envolvendo todos os registradores do IAS, assim 
como o processador constituído pela ULA e UC e as comunicações via barramento de dados/instruções 
conectando a memória principal e seus endereçamentos e algum equipamento de entrada e saída E/S.
Equipamento de 
entrada-saída (E, S)
M (0)
MBR
PC
MAR IR
Circuitos de 
controle
Sinais de 
controle
Instruções 
e dados
Instruções 
e dados
AC: registrador acumulador
MQ: registrador de quociente-multiplicador
MBR: registrador de buffer de memória
IBR: registrador de buffer de instrução
PC: contador de programa
MAR: registrador de endereço de memória
IR: registrador de instrução
Unidade de controle 
do programa (CC)
Endereços
IBR
AC
Unidade lógica e aritmética (CA)
Unidade central de processamento (CPU)
MQ
Circuitos lógico-aritméticos
M (1)
M (2)
M (3)
M (4)
Memória 
principal (M)
M (4092)
M (4093)
M (4095)
Figura 47 – Diagrama da estrutura expandida da máquina de Von Neumann (IAS)
Fonte: Stallings (2010, p. 10).
A máquina de von Neumann realiza repetidamente um ciclo de instrução, em que cada ciclo 
consiste em dois subciclos. Durante o primeiro ciclo (ciclo de busca de instrução ou fetch cycle), o 
código de operação (opcode) da próxima operação é carregado no registrador de instrução (IR) e parte 
do endereço é carregada no registrador de endereço de memória (MAR). A instrução então poderá ser 
retirada do IBR ou recebida da memória principal carregando-se uma palavra no MBR e, na sequência, 
para IBR, IR e MAR.
66
Unidade I
O computador IAS possuía um total de 21 instruções agrupadas como segue:
• Transferência de dados: são instruções de movimentação de dados entre a memória e os 
registradores da ULA ou mesmo entre dois registradores diretamente para a ULA.
• Desvio incondicional: são instruções que podem modificar a sequência de execução das 
instruções para facilitar a execução de operações repetitivas.
• Desvio condicional: são instruções que podem se tornar dependentes de uma condição do 
programa, permitindo que ele possua pontos de decisão.
• Aritméticas: são instruções realizadas pela ULA consistindo em operações binárias de adição, 
subtração, multiplicação e divisão.
• Modificação de endereço: são instruções que permitem que os endereços sejam calculados 
na ULA e inseridos em instruções armazenadas na memória, permitindo uma flexibilidade para 
realização do endereçamento.
Não são todos os processadores que possuem registradores designados para tarefas específicas 
como o MAR e o MBR, porém é necessário que haja algum mecanismo de armazenamento temporário 
(buffer). Geralmente, o processador atualiza o registrador program counter (PC) após ler cada 
instrução para que o PC sempre possa apontar para as próximas instruções a serem executadas. Uma 
instrução de desvio condicional ou incondicional também modificará o conteúdo do registrador PC, 
de forma que a instrução é lida e colocada no registrador IR, em que o opcode será analisado. Os 
dados são transferidos entre a memória e os registradores MAR e MBR através do barramento interno 
do processador.
Existem diversos fluxos para execução dos dados na máquina de von Neumann, a qual é realizada 
por registradores contidos na ULA e na UC assim como pelos diversos barramentos que conectam esses 
dispositivos. Por exemplo, um banco de registradores genéricos recebe os valores A e B para realização 
da operação aritmética de adição na ULA. A ULA efetuará a operação nessas entradas, produzindo um 
resultado no registrador de saída que é armazenado em um outro registrador e que pode, na sequência, 
ser armazenado na memória principal, a fim de ser enviado para algum dispositivo de E/S. A figura a 
seguir mostra uma operação de adição de dois valores.
67
ARQUITETURA DE COMPUTADORES MODERNOS
A + B
A
B
A
ULA
B
Registrador de saída da ULA
 Barramento de entrada da ULA
 Registrador de entrada da ULA
Banco de registradores
A + B
Figura 48 – Fluxo de execução de instruções no processador da máquina de von Neumann
Fonte: Tanenbaum e Austin (2013, p. 44).
2.4.3 Passo a passo da organização de registradores nos processadores modernos
Muitos modelos de processadores podem incluir um conjunto de registradores conhecidos como 
PSW (Program Status Word – palavra de estado do programa), que contém as informações de códigos 
condicionais ou informação de estado ou flags (sinalizadores), como:
• Sinais: bits resultantes da última operação aritmética realizada.
• Zero: quando o resultado da operação for igual a zero.
• Carry: quando uma operação resulta em um transporte (adição) para empréstimo (subtração) 
de um bit de ordem superior. Também é utilizado em operações aritméticas para operações com 
múltiplas palavras.
• Igual: utilizado para realizar uma comparação lógica de igualdade.
• Overflow: usado para indicar uma sobrecarga aritmética.
• Habilitar/desabilitar interrupções: aplicado para habilitar ou desabilitar interrupções.
• Supervisor: utilizado na identificação do uso do processador em modo supervisor ou modo 
de usuário.
68
Unidade I
Além desses registradores, vários outros são utilizados na organização dos registradores de controle 
e estado de um processador e variam de acordo com o modelo. Por exemplo, um ponteiro para um bloco 
de memória contendo informações adicionais sobre algum processo. Outros modelos de processadores 
podem utilizar máquinas baseadas em interrupções vetorizadas, fazendo-se necessário o uso de um 
registrador que atenda a esse tipo de requisição de endereçamento. Em outros processadores, se faz 
necessário o uso de registradores do tipo pilha, quando é preciso realizar chamadas de sub-rotinas que 
estão em um topo da pilha. Há também registradores usados como ponteiros de tabela de páginas da 
memória virtual, além dos registradores utilizados para operações de E/S.
Em um projeto de processadores, existe uma série de fatores que influenciam na inclusão (ou não) 
de certos registradores de controle e estado. Uma das questões relacionadas a esse projeto remete 
ao sistema operacional. Geralmente, um projetista de sistema operacional deve ter o conhecimento 
funcional dos registradores para que eles possam funcionar de modo a otimizar a conexão entre o 
hardware e o software, tornando essa interação fluida. Outra questão fundamental do projeto dos 
registradores é referente à alocação de informações e comunicação entre registradores e a memória. Em 
geral, se dedicam a algumas centenas ou milhares de palavras de memória e controle, e o projetista de 
hardware deve decidir quanto da informação será armazenada nos registradores e quanto da informação 
ficará na memória cache ou memória RAM. Alguns processadores de 16 ou 32 bits são baseados nessa 
arquitetura de organização de registradores e servem de exemplo o Motorola MC68000, o Intel 8086 e 
o Pentium 4 (STALLINGS, 2010).
O MC68000, por exemplo, possui registradores de 32 bits que são divididos em 8 registradores para 
manipulação de dados e 9 registradores de endereços indexados. Por possuir registradores de 32 bits, nesse 
tipo de processador há uma facilidade de realizar operações de dados de 8, 16 ou 32 bits determinadas 
pelo código da operação realizada. Dada a capacidade de 32 bits dos registradores de endereços, não 
há a necessidade de segmentação de endereçamento; além disso, dois desses 9 registradores podem ser 
utilizados como ponteiros de pilha.
Outros registradores possuem funcionalidades bem conhecidas, como para uso do sistema 
operacional, contador de programa, controle e estadoe registradores para uso do próprio usuário. 
A parte (a) da figura a seguir mostra a organização dos registradores do MC68000.
69
ARQUITETURA DE COMPUTADORES MODERNOS
DO
D1
D2
D4
D3
D6
D5
D7
A0
A1
A2
A4
A3
A6
A5
A7
AX
BX
CX
DX
SP
BP
SI
DI
Acumulador
Base
Contador
Dados
AX
BX
CX
DX
Ponteiro de pilha
Ponteiro de base
Índice de origem
Índice de destino
SP
BP
SI
DI
Código
Segmento
Dados
Pilha
Extra
CS
DS
SS
ES
Flags
Estado de programa
Ponteiro de 
instruçãoContador de programa
Estado de programa
Registrador de estado
EAX
EBX
ECX
EDX
ESP
EBP
ESI
EDI
Ponteiros e índices
Registrador FLAGS
Ponteiro da instrução
Estado do programa
Registradores gerais Registradores gerais
Registrador de endereços
Registrador de dados
a) MC68000 b) 8086 c) 80386
Figura 49 – Exemplo de organização de registradores em processadores
Fonte: Stallings (2010, p. 361).
Na parte (c) da figura anterior, pode-se observar a organização dos registradores do processador 
80386, que possui registradores de 32 bits constituídos pelos registradores de uso geral AX, BX, CX e DX, 
além dos de controle SP, BP, SI e DI e de estado (registrador de flags e ponteiro de instruções).
 Observação
O processador 8086, primeiro processador de 16 bits fabricado pela Intel, 
utiliza uma abordagem diferente na organização de seus registradores, pois 
cada registrador possui um uso específico.
Alguns registradores podem ser utilizados para operarem como de uso geral, enquanto outros podem 
ser usados para realizar endereçamento ou armazenamento de dados e instruções, além de registradores 
de 16 bits para atuarem como índices e ponteiros. Além desses, o 8086 (figura 49b) possui quatro 
registradores de segmento de instruções, como para realização de desvio, segmento de dados e segmento 
de pilha. O uso de um processador de 32 bits também permite a compatibilidade de programas escritos 
para arquiteturas de 8 ou 16 bits, o que possibilitou aos projetistas maior flexibilidade ao projetar a 
organização dos registradores.
70
Unidade I
2.5 Processador Intel x86 e sua evolução
A arquitetura x86 teve sua origem no processador de apenas 4 bits Intel 4004, fabricado em larga 
escala a partir de 1971 com o intuito de disputar uma fatia da crescente indústria japonesa de eletrônicos. 
Esse processador apresentava como característica um chip do tipo dual in-line package (DYP), com 
circuitos eletrônicos (transistor) totalmente integrados.
Figura 50 – Processador Intel 4004
Disponível em: https://bit.ly/3Xpgxir. Acesso em: 19 jan. 2023.
Após o sucesso do lançamento do 4004, a Intel desenvolveu melhorias na sua linha de processadores, 
e lançou, em 1972, um processador de 8 bits para dados e 16 bits para palavras, denominado Intel 8008. 
Esse processador possuía surpreendentes 500 kHz de frequência clock.
Figura 51 – Processador Intel 8008
Disponível em: https://bit.ly/3wdtoZ1. Acesso em: 19 jan. 2023.
71
ARQUITETURA DE COMPUTADORES MODERNOS
A Intel continuou a evoluir em sua linha de processadores e lançou em 1974 o primeiro processador 
de uso geral do mundo, o 8080. Esse processador possuía sete registradores de uso geral e capacidade de 
endereçamento de memória de 64 kB, além de um clock de 2 MHz, que foram utilizados no computador 
da Xerox, o Altair, um sucesso de vendas na época com cerca de 25 mil unidades.
Figura 52 – Processador Intel 8080
Disponível em: https://bit.ly/40kYWdx. Acesso em: 19 jan. 2023.
A evolução do 8080 foi o processador Intel 8086, o precursor da arquitetura x86. O 8086 foi tão 
importante que até os dias atuais ainda serve de base para os processadores modernos. Ele era um 
circuito muito poderoso para época (1978) e operava a 16 bits, tanto para dados quanto para palavras, 
além da possibilidade de endereçamento de 1 Mb de posições, direcionados em um caminho para dados 
(barramento) de 20 bits.
Figura 53 – Processador Intel 8086
Disponível em: https://bit.ly/3QQsTh3. Acesso em: 19 jan. 2023.
72
Unidade I
O 8086 possuía uma estrutura simples, o que facilitava sua programação em linguagem de montagem 
(assembly). Internamente, o Intel 8086 é dividido em duas unidades: unidade de execução e unidade de 
interface com o barramento (PANNAIN; BEHRENS; PIVA JR., 2012):
• EU (Execution Unit – unidade de execução): a unidade de execução (EU) está situada na ULA 
e é responsável pela execução das operações lógicas e aritméticas e das instruções de máquina.
• BIU (Bus Interface Unit – unidade de interface com o barramento): é a unidade responsável 
pela comunicação de dados entre a ULA e os meios externos, como memória e dispositivos de E/S. 
Também é responsável pela transmissão de sinais de endereçamento, dados, controle e busca 
de instruções.
A figura 54 mostra a arquitetura do processador 8086 e seus registradores operacionais.
ES
SS
CS
IP
DS
Operando
Indireto
 AX
 DX
 BX
SP
 CX
BP
SI
DI
TMP A
TMP B
TMP C
FLAG
Sequenciador
Unidade de interface 
com barramento
Barramento A
Unidade de 
execução
Barramento C
Somador
ALU
Q6
Q3
Q5
Q2
Q4
Q1
Figura 54 – Organização básica do processador Intel 8086
Fonte: Pannain, Behrens e Piva Jr. (2019, p. 243).
Os registradores do Intel 8086 estão divididos em registradores de propósito geral e registradores 
específicos ou de estado e controle. Os específicos geralmente são utilizados como segmentadores, 
apontadores e índices de endereçamento, além de sinalizadores de estado e controle (flags). O 8086 
73
ARQUITETURA DE COMPUTADORES MODERNOS
possuía quatro registradores de propósito geral de 16 bits, que também podiam operar a 8 bits (AX, BX, 
CX e DX), utilizados para operações lógicas e aritméticas:
• Registrador AX (acumulador): utilizado em operações lógicas e aritméticas, para instruções de E/S 
e em instruções de operações de ajuste BCD (binary coded decimal – codificação binária decimal).
• Registrador BX (base): usado como registrador base para referenciação a posições da memória 
principal, ou seja, é capaz de armazenar o endereço base de uma tabela ou vetor de dados, onde 
as posições são obtidas adicionando-se um valor de deslocamento (offset).
• Registrador CX (contador): aplicado em operações iterativas e repetitivas para contagem de 
bits, bytes ou palavras, sendo incrementado ou decrementado quando necessário.
• Registrador DX (dados): utilizado em operações para armazenamento de parte de um produto de 
32 bits ou em operações também de 32 bits para armazenar o resto de uma operação de divisão.
Os registradores específicos ou de controle e estado podem ser classificados em: segmento de código, 
segmento de dados, segmento de pilha e segmento extra (também utilizado para dados). Todos esses 
registradores são de 16 bits e são utilizados para trabalhar com blocos de memória de 64 kB:
• Registrador de segmento de código (code segment – CS): usado para apontar para uma área 
de memória que contém o código do programa que está sendo executado.
• Registrador de segmento de dados (data segment – DS): usado para apontar para um 
segmento de memória que será utilizada no armazenamento de dados do programa em execução.
• Registrador de segmento de pilha (stack segment – SS): aplicado na identificação do segmento 
que será utilizado como pilha (stack), com o objetivo de armazenar os dados temporários do 
programa em execução.
• Registrador de segmento extra de dados (extra segment – ES): utilizado para determinar um 
segmento extra de dados, como no armazenamento e acesso da memória de vídeo.
 Observação
O endereçamento no Intel 8086 pode apresentar algumas diferenças 
no armazenamento de dados na memória principal ou em uma pilha 
de registradores.
Em cada situação, serão separados os segmentos ativos endereçáveis para alocar os 64 Kbytes. Os 
segmentos ativos estão dispostos como: segmento de código endereçado por CS, segmento de dados 
endereçado por DS, segmento de pilha endereçado por SS e segmento extra de dados endereçados 
por ES. Os registradores citados anteriormente (CS, DS, SSe ES) armazenam o endereço base de seu 
74
Unidade I
segmento; então, há uma necessidade de haver outros registradores para armazenar o deslocamento 
(offset) dentro de um dado segmentado, como mostra o esquema da figura 55.
Registro de segmento
64 KBYTES
Deslocamento (OFFSET)
Figura 55 – Segmento de endereço base e deslocamento
Fonte: Pannain, Behrens e Piva Jr. (2019, p. 246).
O processador Intel 8086 possui outros registradores auxiliares, todos de 16 bits, listados a seguir:
• Registrador IP (Instruction Pointer): é considerado o program counter (PC) do 8086 e é utilizado 
em conjunto com o registrador CS para localizar uma posição, em um segmento de código em 
operação, da próxima instrução que será executada. Esse segmento será automaticamente 
incrementado em função do número de bytes da instrução após a operação de busca dessa instrução.
• Registrador SP (Stack Pointer): usado em conjunto com o registrador SS no acesso à área de 
pilha contida na memória principal, apontando sempre para o topo da pilha.
• Registrador BP (Base Pointer): utilizado no acesso ao conjunto de dados que está dentro do 
segmento de pilha, como um vetor de dados.
• Registrador SI (Source Index): usado como registrador de índice em modos de endereçamento 
indireto, em conjunto com o registrador DS.
• Registrador DI (Destination Index): atua em conjunto com ES, quando utilizado em instruções 
de manipulação de string ou com DS em acesso a vetores armazenados no segmento de dados.
• Registrador de sinalizadores (flags): é um registrador de 16 bits que tem como função indicar 
um estado do processador após a execução de uma instrução.
Após o lançamento do 8086, a Intel continuou a desenvolver processadores mais robustos e versáteis, 
como o utilizado mundialmente 80286 (figura a seguir), capaz realizar um endereçamento de memória 
de 16 MB e com 6 MHz de frequência de clock.
75
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 56 – Processador Intel 80286
Disponível em: https://bit.ly/3GVNJar. Acesso em: 19 jan. 2023.
Em seguida, em 1985, a Intel lançou seu primeiro processador multitarefa (multitask) de 32 bits, 
denominado 80386 (figura a seguir), capaz de executar milhares de tarefas de forma simultânea. Esse 
processador teve uma aceitação muito grande entre o público e foi muito usado em minicomputadores 
e mainframes.
Figura 57 – Processador Intel 80386
Disponível em: https://bit.ly/3QSP1Yr. Acesso em: 19 jan. 2023.
A Intel continuou a aperfeiçoar seus processadores, sempre desenvolvendo novas tecnologias no que 
diz respeito à miniaturização dos componentes embutidos e, em 1989, lançou o 80486 (figura a seguir). 
Esse processador possuía um poder de processamento de 25 MHz de frequência de clock, mais do que 
o dobro da capacidade do anterior 80386, que tinha apenas 12 MHz de clock. O 80486 oferecia um 
coprocessador matemático interno, auxiliando a CPU na realização das tarefas matemáticas complexas. 
PCs baseados no uso desse processador popularizaram o uso dos computadores na indústria, comércios 
e, principalmente, em seu uso nas residências para a diversão de crianças, jovens e adultos.
76
Unidade I
Figura 58 – Processador Intel 80486
Disponível em: https://bit.ly/3HhBJBx. Acesso em: 19 jan. 2023.
Apesar de a família de processadores da Intel possuir essa codificação utilizando o 86 em sua 
numeração, e ainda que sua arquitetura básica continuasse baseada no x86, em 1993 foi lançado o 
Pentium (figura a seguir), baseado em um poder de processamento de 66 MHz.
Figura 59 – Processador Intel Pentium
Disponível em: https://bit.ly/3XJMr96. Acesso em: 19 jan. 2023.
 Observação
Esse processador foi um grande avanço nas arquiteturas da Intel, 
pois se baseava em técnicas superescalares, que permitiam que múltiplas 
instruções fossem executadas em paralelo.
77
ARQUITETURA DE COMPUTADORES MODERNOS
A sequência de lançamentos da Intel ocorreu através do lançamento do Pentium II (1997), baseado 
na tecnologia MMX, projetada para processamento eficaz de áudio e vídeo e poder de processamento 
de 233 MHz de clock.
Figura 60 – Processador Intel Pentium II
Disponível em: https://bit.ly/3QQVh2I. Acesso em: 19 jan. 2023.
Fabricado em 1999 e com uma frequência de clock de 450 MHz, o Pentium III incorpora melhorias 
nas operações em ponto flutuante, melhorando seu desempenho em gráficos 3D.
Figura 61 – Processador Intel Pentium III
Disponível em: https://bit.ly/3CZsELc. Acesso em: 19 jan. 2023.
A sétima geração de processadores da Intel iniciou-se com o lançamento do Pentium 4 em de 2000, e 
foi um dos maiores sucessos tecnológicos e de vendas da empresa. O Pentium 4 possuía surpreendentes 
1,3 GHz de clock, melhorias de desempenho em processos gráficos e de multimídia, além do alto 
desempenho para operações de ponto flutuante.
78
Unidade I
Figura 62 – Processador Intel Pentium 4
Disponível em: https://bit.ly/3iNVTcL. Acesso em: 19 jan. 2023.
 Observação
Ponto flutuante (ou virgula flutuante, dependendo do país em que 
essa notação for empregada) é uma forma de representar números 
muito grandes ou muito pequenos, contendo muitos dígitos à esquerda 
ou à direita da vírgula, de forma mais simplificada, utilizando uma 
mantissa e um número inteiro positivo ou negativo, chamado expoente. 
Por exemplo, em vez de escrevermos o número 0,00000000765, podemos 
representá-lo como 7,65x10-9.
Antes ainda do lançamento das famílias i3, i5, i7 e i9 em 2009 e que ainda estão em utilização, a Intel 
lançou em 2006 o Intel Core e o Intel Core 2. Esses processadores foram os primeiros com arquitetura 
de 64 bits e núcleo de quatro processadores em um único chip.
 Saiba mais
Para conhecer um pouco mais sobre a evolução dos processadores da 
Intel e sua arquitetura interna, leia:
JORDÃO, F. Tabela de processadores Intel. TecMundo, 2013. Disponível 
em: https://bit.ly/3GPuTBG. Acesso em: 18 jan. 2023.
79
ARQUITETURA DE COMPUTADORES MODERNOS
3 MEMÓRIAS E SUA HIERARQUIA: MEMÓRIAS PRIMÁRIAS E MEMÓRIAS 
SECUNDÁRIAS
3.1 Principais características das memórias
Uma memória é um componente pertencente a um sistema eletrônico, que possui como principal 
função o armazenamento de dados/instruções que foram manipuladas por um sistema computacional 
(MONTEIRO, 2019). A figura a seguir mostra, em um esquema conceitual, uma memória fictícia simbolizada 
por um depósito para ser utilizada por uma ou mais entidades, como ocorre com um armário que possui 
várias gavetas contendo pastas em seu interior. Por causa do tipo de organização computacional atual, 
as memórias devem ser interligadas e integradas.
Armazenar (escrita)
Cada caixa tem um endereço
Leitura (recuperar)
101 102 103 104
108107106105
109 110 111 112
116115114113
Figura 63 – Arquivo organizador para o armazenamento de pastas
Fonte: Monteiro (2019, p. 79).
 Lembrete
Devido à otimização na organização dos dados nos sistemas 
computacionais atuais, não é possível a utilização de somente um tipo 
(físico) de memória, mas sim de um conjunto de memórias interligadas 
e integradas, com diversas velocidades e capacidades de armazenamento.
As memórias do tipo primárias são memórias que os processadores acessam para realizar a “leitura” 
ou “escrita” dos dados/instruções de forma rápida (TANENBAUM; AUSTIN, 2013). Esse tipo de memória 
possui como característica uma capacidade de armazenamento pequeno (se comparada às memórias 
secundárias), geralmente contendo algumas centenas de dezenas de bits até no máximo poucos 
megabits. Já as memórias secundárias, também conhecidas como memórias auxiliares, são memórias 
não voláteis e se posicionam externamente à placa-mãe do computador. Elas são utilizadas para o 
armazenamento auxiliar de dados e programas em grandes volumes de bytes (STALLINGS, 2010).
80
Unidade I
São consideradas memória primárias de um computador os seguintes dispositivos: memória cache, 
memória ROM (Read Only Memory – memória somente de leitura) e memória RAM (Random Access 
Memory – memória de acesso aleatório).Um dispositivo de memória deve ser capaz de armazenar no 
mínimo um dos dois estados fundamentais, os bits 0 ou 1. O modo pelo qual o bit é identificado na 
memória pode variar, como em discos rígidos (HD – Hard Disks) por meio de um campo magnético, 
presença ou ausência de uma marca óptica (CDs, DVDs, blu-rays etc.) ou mais comumente por um sinal 
elétrico (memória RAM, ROM, cache, registradores), esquematizado na figura a seguir:
+ V
ø V
- V
Bit ø Bit 1 Bit ø Bit 1 Bit ø
Figura 64 – Representação de bits em sinais elétricos
Fonte: Monteiro (2019, p. 82).
Um bit pode indicar dois valores distintos (+5v ou -5V), que podem ser usados para o armazenamento 
dos dados de forma simbólica, como o alfabeto. O alfabeto em língua portuguesa contém 26 letras 
minúsculas (incluindo as letras k, w, x, y), 26 letras minúsculas, 4 símbolos matemáticos (+, -, *, /) e 
8 sinais de pontuação (. ; : , ( ) – “). Apenas nesse exemplo simples foi possível criar 64 possibilidades de 
representação de informações que necessitariam ser distinguidas internamente por um computador, 
utilizando apenas dois bits para tal tarefa. Uma das possíveis soluções para esse problema de codificação 
é definir um código com 64 elementos, com cada elemento contendo 6 bits.
Além da codificação, os sistemas de memória podem ser compreendidos de acordo com algumas 
classificações, como (STALLINGS, 2010):
• Localização: indica se a memória utilizada é interna ou externa ao computador.
• Capacidade: a memória deve ser fabricada para suportar a leitura/escrita em bytes (8 bits) de 
acordo com o tamanho da palavra em sistemas que compreendem 8, 16, 32 e 64 bits.
• Unidade de transferência: é constituída pelo número de linhas elétricas (barramento) para 
dentro ou fora do módulo de memória em operação, que podem ser lidas ou escritas de uma 
só vez. Em se tratando de memórias externas, os dados transferidos seguem ao seu destino em 
unidades maiores, como os blocos, que possuem centenas de palavras.
• Palavra: é a unidade básica de organização da memória, que possui um tamanho igual ao número 
de bits utilizados para representar o tamanho de uma instrução. A arquitetura x86, por exemplo, 
possui grande variedade de tamanhos de instruções, expressos como múltiplos de bytes.
• Unidades endereçáveis: a unidade endereçável é constituída pela palavra, que possui uma 
relação entre o tamanho em bits A de um endereço e o número N de unidades endereçáveis 
como 2A = N.
81
ARQUITETURA DE COMPUTADORES MODERNOS
3.1.1 Como acontece o acesso à memória
Mais alguns parâmetros associados às memórias dizem respeito a como se realiza o acesso para 
leitura/escrita dos dados e instruções, subdivididos em:
• Acesso sequencial: as memórias estão organizadas em unidades chamadas registros. O acesso 
em algumas memórias é realizado em uma sequência linear específica, assim a informação de 
endereçamento é utilizada no auxílio de separação de registros e no processo de recuperação 
de dados armazenados. Unidades de memória de fita magnética são o exemplo mais comum para 
o acesso sequencial.
Figura 65 – Rolo de fita magnética
Disponível em: https://bit.ly/3DWUk3R. Acesso em: 19 jan. 2023.
• Acesso direto: de forma semelhante ao sequencial, esse acesso geralmente envolve um esquema 
compartilhado para realizar a leitura/escrita. Nesse tipo de acesso, os registros individuais ou 
blocos de registros possuem um endereço exclusivo em algum local físico da memória. Para que 
seja possível o acesso direto, primeiramente é necessário alcançar uma vizinhança geral ao 
endereço, depois uma busca sequencial, uma contagem ou espera até que o local desejado seja 
alcançado. O tempo de acesso para esse tipo de sistema pode ser variável, pois depende de alguns 
fatores, como as rotações por minuto (RPM). Os discos rígidos magnéticos, como o da figura a 
seguir, são um exemplo de acesso direto à memória.
82
Unidade I
Figura 66 – Disco rígido magnético
Disponível em: https://bit.ly/3kp0O4q. Acesso em: 19 jan. 2023.
• Acesso aleatório: nessa categoria de acesso à memória, cada local endereçável possuirá um 
sistema de endereçamento exclusivo, fisicamente interligado. O tempo necessário para o acesso 
à memória de forma aleatória é independente da sequência de acessos anteriores, dessa forma, 
qualquer local desejado poderá ser selecionado de forma aleatória (randômica) e, também, 
endereçado e acessado de forma direta. A memória principal do computador (memória RAM), como 
mostrado na figura seguinte, é o principal exemplo de utilização do acesso aleatório à memória.
Figura 67 – Memória de acesso aleatório RAM
Disponível em: https://bit.ly/3JuGKbo. Acesso em: 19 jan. 2023.
83
ARQUITETURA DE COMPUTADORES MODERNOS
• Acesso associativo: variação do acesso aleatório, porém nesse tipo de endereçamento uma 
palavra será recuperada da memória baseada em um pedaço de seu conteúdo, em vez do seu 
endereço. Assim, como no acesso aleatório, cada endereço terá seu modo de endereçamento, 
com um tempo de recuperação constante, independentemente do padrão de acesso anterior. 
Memórias cache, como as da próxima figura, representam esse tipo de acesso.
Figura 68 – Memórias cache externas à CPU
Disponível em: https://bit.ly/3D1C8W5. Acesso em: 19 jan. 2023.
Outras características também são importantes no que diz respeito ao desempenho de um sistema 
de memória, como a capacidade da memória e sua velocidade. Para que o desempenho seja avaliado, 
três parâmetros devem ser considerados, como segue:
• Latência ou tempo de acesso à memória: é o tempo gasto para que seja realizada uma 
operação de leitura/escrita. Esse tempo será contado desde que o endereço seja apresentado à 
memória até o momento em que os dados forem armazenados ou se tornarem disponíveis para 
serem utilizados.
• Tempo de ciclo de memória: consiste no tempo para um acesso aleatório mais um tempo 
adicional antes do início de um segundo acesso.
• Taxa de transferência: consiste na taxa onde dados podem ser transferidos externa ou 
internamente da unidade de memória. No caso de um acesso aleatório à memória, esse valor 
será igual a 1 sobre o tempo de ciclo, ou seja, 1
τ
. Em situações em que o acesso não seja do tipo 
aleatório, a seguinte relação é utilizada:
n
RTN = TA+
onde TN = tempo médio para ler/escrever N bits, TA = tempo de acesso médio à memória, n é o 
número de bits e R a taxa de transferência em bps (bits por segundo).
84
Unidade I
3.1.2 Entendendo os endereços de memória
As memórias são organizadas em células unitárias onde é possível armazenar uma informação em 
forma de bit. Cada célula unitária possui um número que determina seu endereço, onde os programas 
podem ser referenciados durante a operação de leitura/escrita. Todas as células de memória têm o 
mesmo número de bits, assim, se uma célula possuir k bits, ela poderá conter qualquer um dos 2K 
diferentes tipos de combinações de bits. E se a memória possuir n células, seu endereçamento será 
de 0 a n − 1. A figura a seguir mostra três modos de organização de uma memória de 96 bits, em 
que as células adjacentes possuem endereços consecutivos. Todos os computadores atuais expressam 
o endereçamento de memória, como números binários, mesmo aqueles que também trabalham com as 
bases octal ou hexadecimal. De modo que se um endereço contiver m bits, o número máximo de células 
que poderão ser endereçáveis é de 2m.
11
10
9
8
7 7
6 6
5 5 5
4 4 4
3 3 3
2 2 2
1 1 1
0
Endereço
Endereço
Endereço
1 célula
0 0
8 bits
(a)
12 bits
(b)
16 bits
(c)
Figura 69 – Célula de endereçamento de 8 bits (A), célula de endereçamento 
de 12 bits (B), e célula de endereçamento de 16 bits (C)
Fonte: Monteiro (2019, p. 107).
3.1.3 Projeto de hierarquia de memória
Em um projeto de desenvolvimento de memórias há três questões que devem ser levadas em 
consideração em sua fabricação: qual o seu custo, qual sua capacidade e qual a sua velocidade. 
Respondendo a essas questões, no que diz respeito à capacidade de armazenamento, as memóriasdevem possuir a maior (capacidade) possível, deixando livre para o uso de aplicações que necessitem 
de mais espaço. Em relação à velocidade, certamente que um maior desempenho é desejável para que 
o processador possa, em tempo síncrono, enviar e receber informações oriundas da memória, ou seja, 
é desejável que tanto o processador quanto a memória possuam a mesma velocidade de operação. Em 
relação ao custo, ela não deve ser demasiadamente cara em relação a outros dispositivos do computador. 
Além disso, a relação de custo de uma memória deve conter outras características, como:
85
ARQUITETURA DE COMPUTADORES MODERNOS
• tempo de acesso rápido envolverá um custo maior por bit;
• quanto maior a capacidade de armazenamento, menor será o custo por bit;
• quanto maior a capacidade, mais lento será o tempo de acesso à memória.
Ao se projetar um sistema de memória, é necessário atender aos requisitos de desempenho, se 
atentando para o custo por bit e a capacidade de armazenamento, além de buscar uma melhora no 
desempenho com tempos menores de acesso. Em um projeto de computador é necessário levar em 
conta não apenas um dispositivo de memória que fará parte do projeto, mas emprego de uma hierarquia 
de memória, em que é possível estabelecer o tempo médio de acesso de vários tipos de memória, como 
demonstra a figura:
Mais caro
Tempos de acesso
1ns 2ns
3ns 10ns
25ns 50ns
30ns 90ns
5ms 20ms
100ms 50s
10s 3m
Mais barato
Fita magnética (bibliotecas robotizadas)
Discos óticos (vitrolas automáticas)
Disco rígido fixo
Memória principal
Cache nível 2
Cache nível 1
Registradores
Lin
ha
 pr
óxi
maCo
ne
cta
doSi
ste
ma
De
sco
ne
cta
do
Figura 70 – Pirâmide estrutural da hierarquia de memória
Fonte: Null e Lobur (2010, p. 313).
A relação de descendência na hierarquia de memória segue os seguintes critérios:
• Diminuição do custo por bit, quanto menor for o nível na hierarquia.
• Aumento na capacidade de armazenamento, quanto menor for o nível na hierarquia.
• Aumento no tempo para acesso à memória, quanto menor for o nível na hierarquia.
• Aumento ou diminuição da frequência de acesso às memórias, de acordo com o nível de hierarquia.
86
Unidade I
Como observado, no topo da hierarquia de memória estão os registradores (MBR, IR, MAR, PC, AC 
etc.) do processador que, embora mais rápidos (por volta de 1 a 2 nanossegundos), são os mais caros 
e têm menor capacidade de armazenamento. Memórias caches L1, L2 e L3, internas ao processador, 
possuem tempo de acesso estimado de 3 a 50 nanossegundos, respectivamente. A memória principal 
do computador (RAM) tem um tempo de acesso médio de 90 nanossegundos e capacidade de 
armazenamento que pode chegar a 32 gigabytes em um único pente de memória. Descendo mais 
no nível de hierarquia, os discos rígidos magnéticos, muito utilizados em computadores pessoais, têm 
capacidade de armazenamento mediano (1 a 10 terabytes) a um custo de tempo de acesso na faixa 
dos milissegundos. Discos ópticos e fitas magnéticas, geralmente utilizadas para realizar backup em 
empresas, estão na base da hierarquia de memória e têm tempo de acesso que pode levar segundos ou 
mesmo minutos, com a grande vantagem de serem as memórias com menor custo financeiro atualmente. 
Como os registradores já foram abordados especificamente anteriormente, agora é necessário estudar 
com detalhes a memória cache.
3.2 Memória cache
A memória cache tem o objetivo de obter desempenho similar ao de memórias mais rápidas, como 
os registradores, porém disponibilizando uma maior capacidade (alguns megabytes) se comparada à 
capacidade de armazenamento dos registradores.
 Observação
O computador, durante sua execução, opera referenciando dados/
instruções localizados na memória principal, de forma que essa memória 
intermediária tenta acessar esses endereços de forma mais ágil e, ao 
mesmo tempo, armazenar parte desses dados ou endereços para possíveis 
acessos futuros.
O conjunto de memórias do computador consiste basicamente em uma memória principal (RAM) 
de maior capacidade, porém mais lenta, em conjunto com a memória cache, de menor capacidade, 
porém mais rápida, como esquematizado na figura a seguir.
Transferência 
de palavra
Transferência 
de bloco
CPU Memória cache Memória principal
Rápida Lenta
Figura 71 – Relação de comunicação entre a CPU, cache e memória principal
Fonte: Stallings (2010, p. 96).
87
ARQUITETURA DE COMPUTADORES MODERNOS
Na medida em que o processador necessita realizar a operação de leitura de uma palavra contida 
na memória, realiza-se a verificação para determinar se ela está contida na memória cache. Se estiver 
contida, a palavra será entregue à CPU, se não estiver, um bloco da memória principal, contendo algum 
número fixo de palavras, será lido na cache e o resultado será fornecido à CPU. Essas conexões são 
conhecidas como localidade de referência e ocorrem quando um bloco de dados é enviado para a 
memória cache a fim de realizar uma única referência à memória. As memórias do tipo cache ainda 
podem ser subdivididas em diferentes níveis (multiníveis) ou layers (L1, L2 e L3), em que a L3 possui 
maior capacidade de armazenamento entre todas as caches, porém, sendo a mais lenta. A L2 é mais 
lenta que a L1 e, por consequência, a L1 é a mais rápida nessa hierarquia. A figura a seguir mostra uma 
relação de comunicação entre os diferentes níveis de cache, porém, nesse exemplo, todas elas estão 
externas à CPU, fato que não ocorre com as memórias cache atuais.
CPU Cache de nível 1 
(L1)
Cache de nível 2 
(L2)
Cache de nível 3 
(L3)
Memória principal
Rápida Menos rápidaMais rápida Lenta
Figura 72 – Organização de memória cache em três níveis
Fonte: Stallings (2010, p. 96).
Especificamente, a memória cache possui uma matriz de etiqueta e uma matriz de dados, como 
mostrado na figura a seguir. Essa matriz de etiquetas possui os endereços de todos os dados contidos na 
memória cache, e a matriz de dados contém, consequentemente, todos os dados.
Matriz de dados
Dados
Etiqueta
Acerto?
Endereço
Lógica de 
acertos/faltas
Matriz de etiqueta
Figura 73 – Diagrama de blocos da memória cache
Fonte: Carter (2002, p. 159).
88
Unidade I
A proposta da divisão da memória cache em matrizes tem como objetivo reduzir seu tempo de 
acesso, pois a matriz de etiquetas geralmente tem menos bits (se comparada à matriz de dados) e, por 
consequência, poderá ser acessada de forma mais rápida se comparada à matriz de dados. Quando 
esta é acessada, a saída obtida precisa ser comparada com o endereço da memória de referência para 
que seja determinado se houve ou não um acerto de memória cache, também conhecido como cache 
hit. O acerto de cache significa que os buffers de dados e endereços são desativados e haverá uma 
comunicação apenas entre a CPU e a memória cache, sem outro tráfego no barramento interno do 
sistema. O processo inverso ocorre em caso de falha de cache ou cache miss, em que o endereço desejado 
é colocado no barramento e os dados são deslocados pelo buffer de dados para a memória cache e CPU.
3.2.1 Dados de cache e instruções
Em outros tipos de memória, como a RAM, as instruções e os dados geralmente compartilham o 
mesmo espaço dentro de cada nível da hierarquia de memória, entretanto o mesmo não ocorre na 
memória cache em que dados e instruções são armazenados em caches diferentes. Essa característica 
ficou conhecida como cache Harvard (figura a seguir), pois se trata de uma das características da 
arquitetura de Harvard.
Busca de 
instruções
Memória principal
Cache de instruções Cache de dados
Processador
Busca de dados
Figura 74 – Esquema de interligação de cache para processadores de arquitetura Harvard
Fonte: Carter (2002, p. 159).
Essa configuração permite que a CPU busque, de forma simultânea, as instruções a partir da cache 
de instruções e dados pela cache de dados. Assim, quando a memória cache possui tanto instruções 
quanto dados, ela é denominada cache unificada. Uma desvantagem nouso de caches separadas é que 
a automodificação de certos programas se torna difícil, ou seja, quando um programa precisa modificar 
suas próprias instruções, tais instruções serão tratadas como dados e armazenados na cache de dados. 
Assim, para executar as instruções modificadas, o sistema operacional precisará realizar operações 
especiais de descarga. De forma geral, a memória cache de instruções pode ser de duas a quatro vezes 
89
ARQUITETURA DE COMPUTADORES MODERNOS
menor do que a cache de dados, pois as instruções de um sistema operacional ocupam menor espaço 
físico na memória se comparadas com os dados.
3.2.2 Endereçamento de cache
Um conceito intimamente relacionado com a memória cache diz respeito à memória virtual, nome 
dado à técnica que utiliza uma memória secundária como o disco rígido, ou mesmo à memória cache 
para o armazenamento temporário. Uma memória virtual, basicamente, permite que programas façam o 
endereçamento da memória de forma lógica, sem de fato considerar a quantidade de memória disponível 
fisicamente na RAM. Quando a memória virtual é utilizada, os locais de endereço nas instruções conterão 
endereços virtuais, e não físicos, de forma que para realizar a leitura/escrita da memória RAM será 
necessário o uso de uma unidade gerenciadora de memória (MMU – Memory Management Unit) para 
traduzir os endereços virtuais em endereços físicos na RAM, como mostra a figura:
Cache
MMU
Endereço físicoEndereço lógico
Dados
Processador Memória principal
Figura 75 – Organização de memória cache lógica
Fonte: Stallings (2010, p. 99).
Uma cache lógica (ou virtual) pode armazenar os dados utilizando endereços virtuais, assim o 
processador irá acessar a memória cache de forma direta, sem a necessidade de ter que passar pela 
MMU, como mostra a organização feita na figura a seguir.
Cache
MMU
Endereço físicoEndereço lógico
Dados
Processador Memória principal
Figura 76 – Organização de memória cache física
Fonte: Stallings (2010, p. 99).
Uma das vantagens nesse tipo de abordagem da cache lógica é que a velocidade de acesso será maior 
se comparada à uma cache do tipo física, pois, como os diagramas mostram, a cache pode responder 
antes que a MMU concretize a tradução do endereçamento.
90
Unidade I
3.2.3 Caches associativas
A associatividade em memória cache significa quantas posições nela contém um endereço de 
memória. As caches associativas permitem que os endereços sejam armazenados em diversas posições 
na cache, o que reduzirá as penalidades ocasionadas por conflitos no barramento de memória, devido 
a dados que precisam ser armazenados nas mesmas posições. Memórias cache que possuam uma baixa 
associatividade podem restringir o número de posições de endereços disponíveis, o que pode ocasionar 
o aumento nas falhas, e que, por consequência, reduzirá o espaço ocupado. As caches podem ter um 
mapeamento associativo, como mostrado na figura:
Linha de dadosEtiqueta
Lógica de acerto/falha Acerto?
Linha de dadosEtiqueta
Lógica de acerto/falha Acerto?
Linha de dadosEtiqueta
Lógica de acerto/falha Acerto?
Linha de dadosEtiqueta
Lógica de acerto/falha Acerto?
Endereço
Linha que contém 
dado é enviada à CPU
Figura 77 – Esquema de memória cache com mapeamento associativo
Fonte: Carter (2002, p. 162).
Nesse tipo de endereçamento de cache é permitido que qualquer endereço seja armazenado em 
qualquer uma das linhas de cache. Assim, quando uma operação de acesso à memória é solicitada à 
cache, tal acesso precisa ser comparado a cada uma das entradas na matriz de etiquetas, para que seja 
determinado se os dados referenciados na operação de fato estarão contidos nela. As caches associativas 
são, no geral, implementadas com matrizes distintas para dados e etiquetas.
3.2.4 Mapeamento direto com caches
As caches que possuem mapeamento direto são exatamente o oposto das associativas. No 
mapeamento direto, cada endereço só poderá ser armazenado em uma posição da memória cache, 
como exemplificado na figura a seguir. Dessa forma, quando uma operação de acesso a memória é 
enviada a uma cache que foi mapeada de forma direta, um subconjunto de bits será utilizado para 
selecionar o byte que está dentro de uma linha da cache para onde aponta o endereço.
91
ARQUITETURA DE COMPUTADORES MODERNOS
Endereço
Matriz de etiquetas Matriz de dados
Etiqueta para verificar 
acertos/falhas
Envio de dados para o 
processador se houver acerto
Acerto?
Comparação
Figura 78 – Esquema de memória cache com mapeamento direto
Fonte: Carter (2002, p. 163).
Assim, haverá n bits menos significativos no endereçamento que serão utilizados para determinar a 
posição do endereço de dentro da linha de cache, onde n é dado por log na base 2 do número de bytes 
contidos na linha. Assim, os m bits mais significativos dados também por log na base 2 do número de 
linhas na cache serão utilizados para selecionar a linha que conterá o endereço armazenado.
 Saiba mais
Aprenda mais sobre a importância das memórias do tipo cache nos 
computadores atuais pesquisando em:
O QUE é memória cache? Entenda sua importância para o PC. Techtudo, 
2022. Disponível em: http://glo.bo/3QTlwpo. Acesso em: 18 jan. 2023.
3.3 Memória somente de leitura
As memórias somente de leitura (ROM – Read Only Memory), como as da figura a seguir, são fabricadas 
a partir de materiais semicondutores (silício), não voláteis, ou seja, não perdem seus dados/instruções ao 
serem desligadas, possuem desempenho semelhante aos das memórias de leitura/escrita, além de serem 
seguras por permitir apenas a leitura de seu conteúdo através de determinados programas.
92
Unidade I
 Observação
Todos os dispositivos computacionais modernos (computadores, 
celulares, tablets, consoles de jogos, câmeras digitais etc.) utilizam parte 
do endereçamento da memória RAM baseada em memórias do tipo ROM.
Figura 79 – Memória somente de leitura do tipo ROM
Disponível em: https://bit.ly/3WrGInk. Acesso em: 19 jan. 2023.
As memórias ROM são conhecidas por fazerem parte do sistema de inicialização dos computadores 
pessoais, e são popularmente conhecidas como BIOS (Basic Input Output System – sistema básico 
de entrada e saída). Além disso, devido a sua versatilidade e baixo custo, a memória ROM também 
é responsável por armazenar sistemas de controle de processos em dispositivos embarcados como 
injeção eletrônica em automóveis, fornos micro-ondas, geladeiras, smart TVs, drones, entre outros. As 
memórias do tipo ROM vêm evoluindo ao passar das décadas, a fim de torná-las mais rápidas e práticas 
devido a sua grande aderência em dispositivos embarcados, de modo que vários tipos de diferentes 
configurações de ROM foram criados.
3.3.1 ROM programada por máscara
O tipo mais básico de memória ROM é a programada por máscara, nome dado devido ao processo de 
fabricação e escrita de bits através de máscaras padrão. Os bits que fazem parte do programa de usuário 
são gravados no interior dos elementos da memória durante o processo de fabricação, conhecido como 
hardwired, onde cada um já é gravado no endereço de célula correspondente (MONTEIRO, 2019). Após 
sua fabricação, a pastilha ROM estará pronta para ser utilizada e nenhum tipo de software será capaz 
de modificar os bits nela gravados. Ademais, a fabricação da memória ROM é mais barata, pois utiliza-se 
apenas uma máscara de um programa matriz para que milhares de cópias do hardware sejam produzidas. 
Contudo, também há desvantagens no processo de fabricação em larga escala dessas memórias como:
93
ARQUITETURA DE COMPUTADORES MODERNOS
• Uma vez produzida, não há possibilidade de recuperar qualquer erro do programa, ou seja, se 
apenas um único bit estiver errado na pastilha, todo o lote deverá ser descartado.
• O custo de fabricação de uma máscara para escrita dos bits na memória é o mesmo, de modo que 
é possível fabricar milhares de módulos de memória.
• Devido a essas características, a memória ROM é considerada um dispositivo mais simples, se 
comparada às memóriascache e RAM, pois necessita de apenas um decodificador e um barramento 
de saída, além de circuitos lógicos utilizando portas OR para realizar o endereçamento, como 
mostra a figura a seguir.
A1
Habilitar
Decodificada 
2 po 4
A0
00
01
10
11
00
01
10
11
0101
1011
1110
0000
End. Conteúdo
S3 S2 S1 S0
Figura 80 – Esquema de memória ROM com mapeamento direto
Fonte: Monteiro (2019, p. 114).
Nessa figura é possível observar que a memória é decodificada no modo 2 por 4 e possui quatro 
células  de 4 bits cada, podendo endereçar quatro endereços de 2 bits. Nota-se também que o 
decodificador de endereços possui uma entrada para um endereço de dois bits (A0 e A1) e linhas de saída 
do decodificador que se conectam em quatro portas OR (S0, S1, S2 e S3), em que cada porta será responsável 
pela geração de um dos quatro bits da célula de memória, de acordo com o endereço especificado.
3.3.2 PROM
As memórias ROM programáveis (Programable Read Only Memory) são fabricadas sem qualquer 
informação; posteriormente, seja pelo fabricante, seja pelo usuário, são inseridos os bits contendo 
as informações que ficarão fixas nela. Isso quer dizer que, embora fabricadas sem nenhum dado (limpas), 
após serem gravados, os dados não poderão mais ser apagados. Um outro diferencial entre a memória 
ROM e a PROM está no seu custo individual. Como a ROM pode ser fabricada em larga escala a custos 
fixos da matriz, divididos pela quantidade de cópias, no caso da PROM, sua fabricação será facilitada 
devido ao menor custo individual de fabricação, que independe da quantidade, pois não haverá o custo 
da fabricação da máscara.
94
Unidade I
3.3.3 EPROM
Com a evolução dos computadores, também vieram as evoluções nas memórias ROMs. Uma variação 
da PROM foi a EPROM – Erasable PROM ou PROM apagável (figura a seguir) –, que também se trata de 
uma memória não volátil.
Figura 81 – Memória EPROM
Disponível em: https://bit.ly/3QPPxWO. Acesso em: 19 jan. 2023.
Uma EPROM é programada através de um dispositivo eletrônico que transforma o programa 
computacional em uma corrente elétrica, injetada na memória. Uma janela de quartzo situada acima da 
memória já programada é utilizada para apagar completamente todo seu conteúdo. Para que o processo 
de apagamento seja realizado, uma luz ultravioleta (~200-400 nanômetros) é incidida sobre a janela em 
um tempo estimado de 20 a 25 minutos. Uma vez apagada, a memória ainda pode ser regravada através 
do processo de “queima” de bits, que ocorre com a inserção de uma corrente elétrica mais forte do que 
a convencional utilizada para ler os dados.
3.3.4 EEPROM e flash
A memória EEPROM (Electronically EPROM), ou EPROM eletronicamente gravável e apagável, é uma 
memória parecida com a RAM, pois permite que múltiplos endereçamentos sejam escritos/apagados em 
uma única operação. Com um grande diferencial da memória RAM, uma vez escrito algum dado, ele 
será preservado sem a necessidade de fonte de alimentação constante para mantê-lo. Uma variação da 
memória EEPROM é a memória flash, muito utilizada como cartões de memória, pen drives, MP3 players, 
armazenamento interno de câmeras digitais e celulares. Esse tipo de memória pode apagar totalmente 
ou parcialmente seu conteúdo em uma única operação de escrita.
95
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 82 – Diversos formatos de memórias do tipo flash
Disponível em: https://bit.ly/3Rylsf2. Acesso em: 19 jan. 2023.
 Saiba mais
Sobre as memórias do tipo ROM, acesse:
O QUE é memória ROM? Techtudo, 2012. 
Disponível em: http://glo.bo/3HczPSG. Acesso em: 18 jan. 2023.
3.4 Memória RAM
Uma célula unitária da memória principal é constituída basicamente de um material semicondutor 
(silício). Por definição, um material semicondutor é aquele que apresenta um nível intermediário (não é 
totalmente isolante nem totalmente condutor) de portadores de carga ou elétrons livres.
As células unitárias de memória têm algumas propriedades em comum, como (STALLINGS, 2010):
• Devem apresentar dois estados estáveis, que representam os números binários 0 e 1.
• Devem ser capazes de ser escritas, pelo menos uma vez, para que seu estado seja definido.
• Devem ser capazes de ser lidas, para que seu estado atual seja conhecido.
96
Unidade I
 Lembrete
Por definição, um material semicondutor é aquele que apresenta um 
nível intermediário de portadores de carga ou elétrons livres. De forma 
que um material semicondutor, como o nome mesmo já diz, não é um 
bom condutor e também não é um isolante, estando em um patamar 
intermediário entre os dois.
Uma célula de memória tem três terminais funcionais, como mostra a figura a seguir, capazes de 
transportar o sinal elétrico que definirá seu estado (0 ou 1). Um dos terminais é o de seleção, que selecionará 
individualmente cada célula de memória, para que uma operação de leitura ou escrita seja realizada.
(b) Leitura(a) Escrita
Seleção
Controle
Entrada 
de dados
Célula Seleção
Controle
Entrada 
de dados
Célula
Figura 83 – Operação de escrita (A) e operação de leitura (B)
Fonte: Stallings (2010, p. 129).
 Observação
Cada célula unitária possui um terminal de controle que define qual das 
duas operações serão realizadas naquele momento. Na operação de escrita, 
um terminal fornecerá um sinal elétrico que define qual estado (0 ou 1) 
deverá ser gravado na célula. Por fim, na operação de leitura, o terminal de 
saída é utilizado para obter o estado atual da célula.
3.4.1 Memória DRAM e SRAM
As memórias do tipo RAM (Random Access Memory) acessam as palavras individuais de forma direta 
através de uma lógica de endereçamento interno. Em memórias RAM é possível ler os dados contidos 
na memória e escrever novos dados de forma muito rápida, pois necessitam apenas de sinais elétricos 
para essas tarefas. Outra característica muito importante nas memórias do tipo RAM é que elas são 
voláteis, ou seja, para que seu estado seja mantido por um tempo determinado, elas devem receber 
alguma fonte de energia constante. Assim, se a energia for interrompida, os dados gravados serão 
perdidos, o que determina que a RAM é utilizada somente para armazenamento de dados/instruções de 
forma temporária.
97
ARQUITETURA DE COMPUTADORES MODERNOS
Existem, de forma básica, dois tipos de tecnologias de memórias RAM: a RAM dinâmica e a 
RAM estática.
 Lembrete
Os sistemas básicos de memória são constituídos de vários dispositivos 
para realizar o armazenamento de dados e instruções, em que cada 
dispositivo tem sua própria característica em relação ao tempo de 
transferência, capacidade e custo.
RAM dinâmica ou DRAM (Dynamic RAM)
Nessa tecnologia, a célula unitária da memória é constituída por capacitores que armazenam os 
dados como cargas elétricas em seu interior. Apesar de armazenarem um estado binário, as memórias 
RAM são basicamente um dispositivo analógico, pois armazenará uma carga elétrica com um valor 
dentro de um certo intervalo. Os capacitores são dispositivos eletrônicos que interpretam, nessa 
situação, a presença (bit 1) ou a ausência (bit 0) de uma carga elétrica para que seu estado seja definido. 
Entretanto, os capacitores são dispositivos dinâmicos, ou seja, variam em função do tempo e possuem 
como característica uma tendência natural para que sua energia seja descarregada. Dessa forma, 
para que os dados sejam mantidos até a próxima operação de leitura ou escrita, é necessário que um 
mecanismo de recarga elétrica periódica (refresh) ocorra, a fim de que os dados não sejam perdidos. 
A figura a seguir mostra uma estrutura esquemática de uma memória DRAM típica, com uma célula 
unitária, capaz de armazenar 1 bit.
Terra
Capacitor de 
armazenamento
Transistor
Linha de endereço
Linha de 
bit B
Figura 84 – Célula unitária de uma memória DRAM
Fonte: Stallings (2010, p. 130).
Nessa figura, é possível observar que há uma linha de endereço ativada toda vez que o valor do 
bit precisa ser alterado para o estado de lido ou escrito. Há também outro dispositivo eletrônico na 
célula,denominado transistor. Resumidamente, um transistor é um dispositivo semicondutor (silício ou 
98
Unidade I
germânio) que atua, de acordo com o tipo, ou como um amplificador de corrente elétrica ou como uma 
chave para atenuar ou barrar uma corrente elétrica. No caso das células unitárias da RAM, o transistor 
atuará como uma chave, aceitando ou não uma corrente elétrica. Assim, o funcionamento da célula de 
RAM se dá quando o transistor aceita a corrente aplicada na linha de endereço e armazena a carga no 
capacitor. Na escrita, um sinal elétrico é aplicado na linha de endereço com destino ao capacitor; uma 
alta tensão (3 a 5 volts) representará um bit e uma baixa tensão (0-0,8 volts) representará o bit zero. 
Na operação de leitura, a linha de endereço é utilizada para acionar o transistor da célula unitária, de 
modo que o estado atual do capacitor seja lido e sua carga transferida em uma linha de bit, e, assim, um 
amplificador de voltagem a compare com um valor de referência e determine se a célula contém o bit 
zero ou um. É importante salientar que a cada operação de leitura da célula de memória o capacitor será 
descarregado, necessitando ser restaurado pelo estado anterior ou por um novo estado após a operação.
RAM estática ou SRAM (Static RAM)
Pode-se citar como principal aplicação de uma memória SRAM seu emprego em memórias do tipo 
cache. Diferentemente da memória DRAM, a RAM estática é um dispositivo mais complexo, como 
pode ser observado na figura a seguir, e contém os mesmos elementos lógicos encontrados em um 
processador. O dispositivo básico de armazenamento dos estados nesse tipo de memória é o flip-flop, 
que se trata de um dispositivo estático, ou seja, os bits ficarão armazenados enquanto houver energia 
elétrica sendo fornecida ao dispositivo.
Linha de 
bit B Linha de endereço
Terra
T2
T6
C1 C2
T5
T3 T4
Voltagem cc
T1
Linha de 
bit B
Figura 85 – Célula unitária de uma memória SRAM
Fonte: Stallings (2010, p. 130).
No diagrama da figura anterior, observa-se que existem quatro transistores (T1, T2, T3 e T4), que são 
cruzados, como nota-se nos circuitos sequenciais, também conhecidos como flip-flops, de forma a 
produzir um estado lógico estável. Para o estado lógico, C1 está em nível lógico alto e C2 está em nível 
lógico baixo, de modo que T1 e T4 estarão desligados e T2 e T3 estarão ligados. Já para o estado lógico zero, 
o ponto C1 está em nível baixo e o ponto C2 está em nível alto. Nessa situação, T1 e T4 estarão ligados e 
T2 e T3 estarão desligados. Os dois estados serão estáveis desde que uma corrente elétrica seja aplicada 
continuamente e, diferentemente da memória DRAM, não será necessária nenhuma recarga para que os 
99
ARQUITETURA DE COMPUTADORES MODERNOS
dados sejam retidos. A linha de endereço na SRAM também é utilizada para abrir ou fechar uma chave, 
assim como na DRAM, além de controlar dois transistores (T5 e T6). Dessa forma, quando um sinal for 
aplicado à linha de endereço, esses dois transistores serão ligados, permitindo que uma operação de 
leitura ou escrita seja realizada. No caso de uma operação de leitura, o estado de bit desejado é aplicado 
à linha B e seu complemento à linha B, de forma que forçará que os quatro transistores (T1, T2, T3 e T4) 
permaneçam no estado correto.
3.4.2 Organização de memória: endereço, conteúdo, armazenamento e posição na 
memória RAM
Em uma organização de memória, composta por vários elementos identificados e localizados 
individualmente, é necessário que algum código seja atribuído ao elemento a fim de que ele possa ser 
identificado e localizado. Esse conceito é o endereçamento ou posição da memória e é válido para qualquer 
tipo de memória. Na figura a seguir, é possível observar que existem dois endereços (257A e 257B), que 
alocam dois conteúdos, 1F e 2C, respectivamente. Os Mbits armazenados estão contidos em células de 
memória e são geralmente expressos em grupos de 8 bits ou 1 byte. Dessa forma, é comum expressar a 
capacidade da memória em termos como 64 Mbytes ou 64 MB.
≈ ≈
1F
2C
Conteúdo da posição de memória = 2C
Posição da memória principal 
com endereço igual a 257 tem 
armazenada a informação cujo 
valor é 1F
End 257 A
End 257 B
Figura 86 – Valores de endereço e conteúdo da memória principal
Fonte: Monteiro (2019, p. 96).
 Lembrete
Capacidade da memória refere-se à quantidade de dados que podem 
ser armazenados em um certo instante de tempo. Para computadores, onde 
a representação dos dados é através do bit, os valores para expressar a 
capacidade da memória podem ser de 512 bits, 16.384 bits ou 8.388.608 bits.
100
Unidade I
À medida que esse número de bits aumenta, fica muito difícil de expressá-lo, devido ao tamanho de 
algarismos necessários para essa tarefa. Entretanto é possível realizar a simplificação dos valores através 
da seguinte tabela:
Tabela 3 – Grandezas numéricas computacionais
Unidade Valor em potência de 2 Valor em unidades
1 K (1 quilo) 210 1.024
1 M (1 mega) 1.024 K = 220 1.048.576
1 G (1 giga) 1.024 M = 230 1.073.741.824
1 T (1 tera) 240 1.099.511.627.776
1 P (1 peta) 250 1.125.899.906.843.624
1 E (1 exa) 260 1.152.921.504.607.870.976
1Z (1 zeta) 270 1.180.591.620.718.458.879.424
1Y (1 yota) 280 1.208.925.819.615.701.892.530.176
Adaptada de: Monteiro (2019, p. 47).
Dessa forma, os valores 16.384 e 8.388.608 podem ser representados de forma mais simples, como 
16 Kbits e 8 Mbits, respectivamente. Embora facilite a interpretação, essa não é a melhor maneira de 
quantificar a capacidade da memória. Como é sabido, não é possível armazenar dois estados em uma 
única célula de memória, assim somente um único endereço poderá ser localizado e identificado, pois, se 
dois valores fossem armazenados em um único endereço ou célula, o sistema operacional não seria capaz 
de identificar qual dos dois estados seria o desejado naquela operação (leitura ou escrita). Dessa forma, 
mais importante do que a capacidade de uma memória é a quantidade de endereçamento que ela pode 
manipular, visto que é possível armazenar um dado em cada endereço. Em se tratando de quantizar 
a capacidade da memória principal, não há padronização. Entretanto o uso da quantidade de bytes 
em vez da quantidade de palavras é bem aceito nos computadores modernos e outras denominações, 
como células, também são aceitas. Alguns exemplos também mostram que utilizar uma simbologia 
mais simplificada ajuda o leitor a identificar o volume de bytes envolvidos nos cálculos, como pode 
ser observado:
• 2.048 bytes ≡ 2 K bytes ≡ 2 x 210 bytes
• 393.216 células ≡ 384 K células ≡ 384 x 210 células
• 1.048.576 palavras ≡ 1 M palavras ≡ 1 x 220 palavras
A memória RAM é constituída de um conjunto de N células, cada célula armazenando um valor 
(0 ou 1) designado como Mbits. Assim, a quantidade de endereços que ocupam o espaço endereçável 
da memória RAM também será igual a N, pois cada conteúdo da célula será associado a um endereço. 
De  forma que o valor de N representará a capacidade da memória, que também está associada 
à quantidade de células ou endereços dessa memória. Como o bit é representado por dois estados 
possíveis, então é possível concluir que (MONTEIRO, 2019):
101
ARQUITETURA DE COMPUTADORES MODERNOS
• É possível armazenar em cada célula unitária um valor entre 0 e 2M-1, de forma que se tem 
2M combinações possíveis. Por exemplo, se M for igual a 8, então tem-se 28 = 256 combinações, 
resultando em valores binários iniciados em 00000000 e 11111111, que podem ser convertidos em 
016 e FF16 na base 16 ou 010 e 25510 na base decimal, respectivamente.
• A memória principal tem N endereços, e sendo E igual à quantidade de bits dos números que 
representarão cada um dos N endereços, tem-se: N = 2E. Assim, se N = 512, então 512 = 2E, logo 
E será igual a 9 pois 29 = 512.
• O número total de bits armazenados na memória RAM é de 512 células. De forma que com 8 bits 
de tamanho resulta em: N = 512 (total de células), M = 8 bits (tamanho de cada célula), E = 9 bits(tamanho em bits do número que representa cada endereço) e T = 4096 (total de bits da memória).
• Utilizando-se a equação T = N x M, tem-se que: 4.096 = 512 x 8. Esses valores podem ser mais 
facilmente operacionalizados se houver uma representação em potenciação, assim, T = 4096 bits 
ou 4 Kbits ou 212 bits. É possível utilizar a potenciação para simplificar os demais termos no restante 
da equação, colocando-os em base 2, onde 512 é representado por 29 e 8 é representado por 23.
Exemplo de aplicação
Exemplo 1
Uma memória RAM possui um espaço de endereçamento de 2 K, onde cada célula pode armazenar 
até 16 bits. Qual será o valor total de bits que podem ser armazenados nessa memória e qual o tamanho 
de cada endereço?
Resolução
Se o espaço máximo endereçável é de 2 K, então N = 2 K (quantidade máxima de células também 
é 2 K). Cada célula tem 16 bits, então M = 16 bits (tamanho da célula) ou 24. Sendo N = 2 E, então 
N = 2 K, e convertendo 2 K em potência na base 2, tem-se: 21 × 210 = 211(mantém-se a base e somam-se 
os expoentes). Dessa forma, obtém-se que E = 11. Se E representa a quantidade de bits de cada número 
que irá expressar um endereço e E = 11, logo os endereços de cada célula são números que possuem 
11 bits. Aplicando-se a equação: T = N × M → 211 × 24 = 215. Convertendo para múltiplos de K = 210, 
tem-se: 25 × 210 = 32K.
Logo: T = 32 K (total de bits da memória principal) e E = 11 bits (tamanho de cada endereço).
Exemplo 2
Uma RAM foi fabricada com a possibilidade de armazenar 256 K bits, onde cada célula unitária pode 
armazenar 8 bits. Qual é o tamanho de cada endereço e qual é o total de células unitárias que podem 
ser armazenadas nessa RAM?
102
Unidade I
Resolução
Como o total de bits é dado por T = 256 K, e utilizando a potenciação em base 2, pode-se expressar 
256 K como: T = 28 × 210 → T = 218.
Se 1 célula contém 8 bits, então M = 8 → M = 23. Utilizando-se a equação T = M x N, então 
N (quantidade de células) pode ser reescrito como: N = T/M. Assim, substituindo os valores na equação, 
tem-se: N = 256 K/8. Colocando tudo em potenciação para facilitar as contas: N = 218/23 = 215 (mantém-se 
a base e subtraem-se os expoentes).
Para facilitar a quantificação de N = 215, pode-se representar como N = 25 × 210 ou N = 32 K 
(células). Sabendo-se que N = 215 e que N = 2E, então o tamanho de cada endereço é E = 15.
3.4.3 Operação de leitura
A leitura ocorre após a execução de instruções menores, também conhecidas como micro-operações 
(micro-ops), sendo que cada uma dessas instruções consiste em uma etapa do processo de leitura ou 
escrita da memória. Essas micro-operações geralmente gastam um certo tempo de acesso à memória 
para serem executadas. Assim, o intervalo de tempo gasto na realização de duas operações consecutivas 
(leitura-leitura, leitura-escrita ou escrita-leitura) são conhecidas como ciclo de memória. Como exemplo, 
as operações de leitura de um dado armazenado (5C) em um endereço 1324 da memória principal para 
a CPU. As etapas que descrevem essa operação de leitura, que também pode ser observada no diagrama 
da próxima figura, são:
• O registrador MAR (Memory Address Register) recebe o dado de outro registrador da CPU.
• O endereço é então colocado no barramento de endereços.
• Insere-se um sinal de leitura no barramento de controle.
• Decodifica-se o endereço e a localização das células.
• O registrador MBR recebe os dados pelo barramento de dados.
• Enviam-se os dados contidos na MBR (Memory Buffer Register) para outro registrador.
Inicialmente, a UC (unidade de controle) começa a operação de leitura realizando a transferência do 
endereço 1324 de algum registrador específico, como o PC (Program Counter) para o registrador MBR e 
insere o sinal de leitura (READ) no barramento de controle para indicar o que a memória principal deve 
fazer em seguida. A memória principal então decodifica o endereço recebido e transfere seu conteúdo 
para o registrador MBR pelo barramento de dados. A partir do registrador MBR, a informação desejada 
será transferida para o elemento do processador, o destinatário final, que geralmente é algum outro 
registrador da CPU.
103
ARQUITETURA DE COMPUTADORES MODERNOS
≈≈
5C
13245C
End 0000
Memória principal
End 1324
End FFFF
Barramento de controle
Barramento de endereços
Barramento de dados
5C
MBR
Outro reg. Outro reg.
MAR UC
CPU
Figura 87 – Operação de leitura na memória principal
Fonte: Monteiro (2019, p. 102).
O tempo utilizado no acesso para a realização dos seis passos descritos antes não garante que a 
memória principal possa realizar uma nova operação logo em seguida. O que indica que estar pronta ou 
não para uma nova operação está inteiramente relacionada com o modelo de memória RAM utilizada 
(DRAM ou SRAM). As memórias do tipo SRAM, por exemplo, permitem que outra operação de leitura 
ou escrita seja realizada de forma imediata logo após a conclusão de uma operação, enquanto memórias 
do tipo DRAM não possibilitam isso.
3.4.4 Operação de escrita
A operação de escrita possui um procedimento de funcionamento parecido ao da operação de leitura, 
com exceção do sentido da transferência, que é inverso ao da leitura, ou seja, o sentido é do processador 
para a memória principal. A próxima figura mostra um exemplo de operação de escrita de um dado (F7) 
oriunda do processador para ser armazenado na memória principal no endereço 21C8. Os seguintes 
passos explicam essa operação:
104
Unidade I
• O registrador MAR recebe da CPU o dado oriundo de outro registrador.
• O endereço correto recebido é colocado no barramento de endereços.
• O registrador MBR recebe os dados da CPU oriundos de outro registrador.
• É realizado o sinal de escrita (WRITE) através do barramento de controle.
• O dado é transferido para a célula de memória referida através do barramento de dados.
≈≈
F7
21C8F7
End 0000
Memória principal
End 21C8
Barramento de controle
Barramento de endereços
Barramento de dados
MBR MAR UC
CPU
Figura 88 – Operação de escrita na memória principal
Fonte: Monteiro (2019, p. 104).
A UC (unidade de controle) coloca o endereço desejado no registrador MAR e o dado que deve 
ser transferido no registrador MBR. O endereço é então fixado no barramento de endereços e, 
consequentemente, o dado é colocado no barramento de dados, além do sinal de escrita (WRITE), acionado 
no barramento de controle. O resultado da operação de decodificação do endereço pelos dispositivos de 
controle da memória será o valor F7, que será alocado na célula unitária com endereço 21C8.
105
ARQUITETURA DE COMPUTADORES MODERNOS
3.4.5 DRAM síncrona
A SDRAM (Synchronous DRAM) foi desenvolvida no ano de 1994, com o intuito de realizar a 
troca de dados com o processador de forma sincronizada através de um sinal de clock externo. Além 
disso, a DRAM possui maior velocidade de transmissão no barramento da CPU/memória, sem ter a 
necessidade de impor algum estado de espera na comunicação, como ocorria na DRAM tradicional 
assíncrona. Na DRAM, a CPU apresenta endereços e níveis de controle à memória, o que indica que 
um conjunto de dados que estão em um determinado local na memória deverá ser lido/escrito. 
Após um tempo de acesso, a DRAM irá escrever ou ler os dados, e durante o atraso de tempo de 
acesso, a DRAM poderá realizar diversas funções internas, tais como verificar e rotear dados através 
de buffers de saída. Entretanto a CPU deverá esperar por algum atraso, o que diminuirá, obviamente, 
o seu desempenho. A tabela a seguir mostra algumas das diversas pinagens encontradas nas SDRAM 
e suas diferentes funcionalidades.
Tabela 4 – Pinagem básica de uma DRAM síncrona
A0 a A13 Entradas de endereço
CLK Entrada de clock
CKE Habilitação de clock
CS Seleção de chip
RAS Strobe de endereço de linha
CAS Strobe de endereço de coluna
WE Habilitação de escrita
DQ0 a DQ7 Entrada/Saída de dados
DQM Máscara de dados
Fonte: Stallings (2010, p. 141).
A SDRAM possui a característica do emprego do modo rajada (burst),que elimina o tempo de 
configuração de endereçamento e tempo de pré-carga de fileira de linha e coluna após um primeiro 
acesso à memória. Nesse modo rajada, uma quantidade de dados pode ser enviada rapidamente após 
o primeiro bit ter sido acessado. Esse modo de operação é muito útil em situações que todos os bits 
a serem acessados estiverem em sequência e na mesma linha de array do acesso inicial. Além disso, a 
SDRAM tem uma arquitetura interna (figura a seguir) com um banco múltiplo de memória, que melhora 
o desempenho devido a operações em paralelo no chip.
106
Unidade I
De
co
di
fic
ad
or
 
de
 li
nh
a Array de células 
banco de memória 2
(2MB X 8)
DRAM
Decodificador de coluna
Amplificadores
De
co
di
fic
ad
or
 
de
 li
nh
a Array de células 
banco de memória 2
(2MB X 8)
DRAM
Decodificador de coluna
Amplificadores
De
co
di
fic
ad
or
 
de
 li
nh
a Array de células 
banco de memória 0
(2MB X 8)
DRAM
Decodificador de coluna
Amplificadores
De
co
di
fic
ad
or
 
de
 li
nh
a Array de células 
banco de memória 1
(2MB X 8)
DRAM
Decodificador de coluna
Amplificadores
RC CA
C
Ci
rc
ui
to
 d
e 
co
nt
ro
le
 
de
 d
ad
os
DCM
CAC = contador 
de coluna de 
endereços (column 
adress conter)
MR = registrador de 
modo (mode register)
RC = contador 
de refresh 
(refresh conter)
Buffer CLKCLK
Buffer CKECKE
Bu
ffe
rs
 d
e 
en
de
re
ço
 (1
4)
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A11
A12
A13
A10
Bu
ffe
rs
 d
e 
E/
S 
de
 d
ad
os
000
001
002
003
004
005
006
007
Ge
ra
do
r 
de
 si
na
l d
e 
co
nt
ro
le
M
R
De
co
di
fic
ad
or
 
de
 c
om
an
do
WE
CAS
RAS
CS
Figura 89 – Diagrama funcional de uma DRAM síncrona
Fonte: Stallings (2010, p. 142).
O MR (Mode Register – registrador de modo) é considerado outro recurso que diferencia as SDRAMs 
das DRAMs convencionais. Esse mecanismo de lógica especifica o tamanho da rajada, que é baseada 
no número de unidades de dados alimentadas sincronamente pelo barramento. A SDRAM transfere, de 
modo eficiente, grandes blocos de dados em série, muito utilizado para aplicações como processamento 
de textos ou planilhas.
3.4.6 DRAM Rambus
Desenvolvida em meados de 1997, esse tipo de memória ser tornou a principal concorrente 
da memória SDRAM e foi logo compatibilizada com os processadores Pentium e Itanium da Intel. Essa 
memória tem os chips encapsulados verticalmente, com todos os pinos situados em um dos lados, 
como mostra a próxima figura. A troca de dados entre memória e CPU ocorre por um barramento com 
28 fios de cobre, que tem a capacidade de endereçar até 320 chips de RDRAM a uma taxa de 1,6 GBps 
(Gyga bits por segundo).
107
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 90 – Memória DRAM Rambus ou RDRAM
Disponível em: https://bit.ly/3D3ou4L. Acesso em: 19 jan. 2023.
O barramento de comunicação da memória RDRAM oferece informações de endereçamento e 
controle utilizando um protocolo de comunicação assíncrono, orientado a bloco de palavras. Em vez 
de ser controlada por sinais RAS, CAS, R/W ou CE, como na memória SDRAM, a RDRAM recebe uma 
solicitação de memória através do barramento de alta velocidade- que contém o endereço solicitado, 
o tipo de operação e o número de bytes utilizados na operação atual. A configuração de uma RDRAM, 
como mostrado na figura a seguir, consiste em um controlador e uma série de módulos conectados pelo 
barramento em comum.
Controlador
INIT
INITo
RDRAM 1 RDRAM RDRAM n
Barramento de dados (18:0)
Vterm
RC [7:0]
RCIK [2]
TCIK [2]
Vief [2]
Gnd (32/18)
Vd (4)
Figura 91 – Estrutura básica da memória RDRAM
Fonte: Stallings (2010, p. 143).
O controlador está situado na extremidade da memória e conectado pelo barramento, que tem 
18  inhas para dados, sendo 16 reais e 2 de paridade, “pulsando” a uma taxa dobrada do sinal do clock, 
ou seja, um bit é enviado em cada transição de clock. Isso resultará em uma taxa de 800 Mbps em cada 
linha de sinal de dados. Na outra extremidade do barramento está localizada a entrada do sinal de clock, 
que se propaga até o extremo do controlador e depois retorna ao seu ponto original. As linhas adicionais 
do barramento incluem também uma tensão elétrica de referência, fio terra e fonte de alimentação.
108
Unidade I
3.4.7 DDR‑SDRAM
A DRAM síncrona (SDRAM) desenvolvida em 1994 era capaz apenas de enviar dados ao processador 
a cada ciclo de clock, o que tornava o processo de escrita e leitura um tanto quanto lento e limitado, 
pois cada um deles só podia ser realizado a cada ciclo. Uma nova versão de SDRAM, a mundialmente 
conhecida DDR-SDRAM (Double Data Rate SDRAM), desenvolvida pela JEDEC Solid State Technology 
Association, tem a capacidade de ler/escrever dados duas vezes por ciclo de clock. As operações de 
leitura ou escrita ocorrem, uma de cada vez, a cada transição de subida ou descida do pulso do sinal 
de clock. A figura a seguir mostra a temporização básica para o processo de leitura na DDR.
RAS = Seleção de endereço de linha
CAS = Seleção de endereço de coluna
DQ = Dados (entrada e saída)
DQS = Seleção DQ
Clock
Endereço
DQ
CAS
RAS
DQS
Linha de 
endereço
Endereço 
de coluna
Dados 
válidos
Dados 
válidos
Dados 
válidos
Dados 
válidos
Figura 92 – Temporização de leitura em uma DDR-SDRAM
Fonte: Stallings (2010, p. 144).
A transferência de dados nessa memória ocorre de forma síncrona, com a transição de leitura 
e escrita nas bordas de subida e descida. Um sinal denominado strobe de dados bidirecional (DQS), 
fornecido pelo controlador da memória, ajuda a sincronizar a memória durante um- leitura ou escrita- 
Em algumas implementações de DRAM, - DQS pode ser ignorado durante o processo de leitura. Para 
facilitar a realização do processo de leitura e escrita nas células de memória, elas são organizadas 
como matrizes, construídas por linhas e colunas. Dessa forma, para que um endereço na memória seja 
conhecido através de uma posição, o controlador de memória obtém seu valor (RAS – Row Address 
Strobe) de uma coluna e o seu valor de linha (CAS – Column Address Strobe), como pode ser observado 
no diagrama a seguir.
109
ARQUITETURA DE COMPUTADORES MODERNOS
0
2
4
6
8
10
12
14
16
18
20
Figura 93 – Diagrama de linhas e colunas de um endereço de memória RAM
Fonte: Edwards e Leung (s.d.).
Há algumas variações na tecnologia DDR, principalmente no que diz respeito à taxa de transferência 
de bits. A DDR2, por exemplo, aumenta a taxa de transferência de dados, o que leva a um aumento da 
frequência de operação desse chip de memória, além de aumentar o buffer (cache localizada na RAM) 
que realiza a pré-busca, aumentando de 2 bits na versão anterior para 4 bits. Esse buffer permite que 
o chip RAM pré-posicione os bits que serão colocados na base de dados de forma rápida. Já a DDR3, 
desenvolvida em 2007, tem a capacidade de realizar a pré-busca utilizando um buffer de 8 bits. Um 
módulo DDR simples tem a capacidade de transferir dados a uma taxa de 200 MHz a 600 MHz. Já 
um módulo DDR2 tem a capacidade de transferir a uma taxa de 400 a 1.066 MHz, e um módulo de 
memória DDR3 consegue transferir a uma taxa de clock de 800 MHz a 1.600 MHz.
 Saiba mais
Para um conhecimento mais aprofundado sobre qual tipo de memória 
RAM escolher para seu computador, recomenda-se a seguinte leitura:
SODERSTROM, T. How to choose the right memory: a 2020 guide to 
DRAM. Tom’s Hardware, 2020. Disponível em: https://bit.ly/2MacOBV. 
Acesso em: 18 jan. 2023.
3.5 Memórias secundárias
Os primeiros computadores desenvolvidos não possuíam nenhum dispositivo de memória secundária 
como os HDs (Hard Disks – discos rígidos). Entre 1930 e 1940 os programas eram introduzidos 
manualmente, todas as vezes que precisassem ser executados, mesmo que essa execução fosse repetida, 
ainda assim era necessário inserir manualmente o programa em cada nova utilização. Os primeiros 
dispositivos de armazenamento em massa foram as fitas magnéticas, semelhantes às utilizadas nos 
110
Unidade I
gravadores de som da época. Como surgimento dos computadores pessoais (PCs) em 1981, surgiram 
também os primeiros dispositivos denominados discos rígidos magnéticos, desenvolvidos pela IBM. 
Antes disso, os discos magnéticos eram utilizados somente nas grandes corporações e eram muito 
grandes (quase o tamanho de duas geladeiras residenciais), se comparados com os discos rígidos atuais, 
como pode ser observado a seguir:
Figura 94 – RAMAC, o primeiro sistema de armazenamento em discos rígidos
Disponível em: https://bit.ly/3wrYIDy. Acesso em: 19 jan. 2023.
O RAMAC (Random Access Method of Accounting and Control – método de acesso aleatório de 
contagem e controle) da IBM foi o primeiro disco rígido comercializado em 1956 (MONTEIRO, 2019).
 Lembrete
Vale ressaltar que os dispositivos anteriores ao RAMAC não eram 
propriamente discos, e sim tambores cobertos com material magnético 
para o armazenamento dos dados no formato de minúsculos campos 
magnéticos.
Nesse mesmo período, a IBM trabalhava em um novo dispositivo, baseado em discos que giravam a 
taxas elevadas de1.000 a 1.200 rpm ou rotações por minuto (elevadas para a época), mas que tendia 
a danificar a cabeça de gravação. No início dos anos 1960, a IBM conseguiu lançar o aperfeiçoamento 
do RAMAC, facilitando assim o crescimento dessa nova tecnologia.
111
ARQUITETURA DE COMPUTADORES MODERNOS
3.5.1 Organizando o funcionamento dos discos rígidos
Os discos rígidos magnéticos são constituídos de várias superfícies circulares e metálicas, denominadas 
pratos, onde cada superfície é coberta por um material magnetizável. A figura a seguir mostra um 
disco rígido magnético utilizado em computadores atuais. Observe que ele está aberto somente para 
demonstração de seu interior, visto que, ao se abrir um disco rígido magnético, ele deixa de ter seu 
funcionamento correto.
Atuador
Braço
EixoDisco (prato)
Cabeça de leitura e gravação
Figura 95 – Disco rígido magnético aberto e seus componentes
Disponível em: https://bit.ly/3Hq2qTn. Acesso em: 27 jan. 2023.
Cada superfície ou face do disco, também conhecido como prato, é organizado em áreas circulares 
concêntricas chamadas trilhas, que são numeradas de 0 a T-1, endereço da última trilha do disco. Essas 
separações têm seu início a partir da 0 (mais externa do disco) até a mais interna T-1, como mostram 
as próximas figuras. Todas as trilhas têm a mesma capacidade de armazenar bytes e isso se deve ao fato 
de que existe uma diferença de densidade de gravação entre as trilhas mais externa e a mais interna. 
Dessa forma, para que se evitem erros devido à proximidade do final do prato nas extremidades, além 
de evitar que haja uma diferença muito grande em relação às densidades entre as trilhas externas, a sua 
área magnetizável fica posicionada na parte central do prato, de forma que não haverá trilhas próximo à 
borda do prato ou mesmo ao eixo central de rotação.
112
Unidade I
Prato
Rotação
Trilhas
Setor
Cabeça de leitura/gravação
Superfícies
Cilindro
Figura 96 – Organização interna de um disco rígido magnético
Fonte: Monteiro (2019, p. 318).
As trilhas nas superfícies dos discos são magnetizáveis e são divididas em partes menores de tamanho 
fixo, denominadas setores, que servem de parâmetro de unidade de armazenamento. Cada setor do disco 
rígido é organizado para gravar os 512 bytes para dados, de forma que o sistema de leitura/gravação 
não seja confundido com outro setor.
S6
S6 SNSNS5
S5
S4
S4
S3
S3
S2
S2
S1
S1
Setores Trilhas
Lacuna 
entre trilhas
Lacunas 
entre setores
Figura 97 – Layout de separação interna do disco rígido
Fonte: Stallings (2010, p. 151).
113
ARQUITETURA DE COMPUTADORES MODERNOS
Os setores têm um campo inicial, que se inicia antes dos bytes destinados para dados, conhecido 
como preâmbulo. O preâmbulo contém elementos necessários para sincronizar a cabeça antes de cada 
leitura/gravação. Outro espaço existente entre cada par de setores é conhecido como espaço morto ou 
gap intersetorial e é utilizado para evitar a superposição de leitura/gravação nos casos em que os setores 
fiquem contíguos, devido à alta velocidade da rotação do disco no eixo. Os setores também possuem um 
campo denominado ECC (figura a seguir), que contém bits calculados durante a transmissão dos dados 
e têm como finalidade proteger o bloco de 512 bytes de possíveis erros decorrentes da transmissão.
Gap entre setores
512 bytes de dadosECC – error connecting code 
(bits para deteção de erros)
512 bytes de dados
Setor
Preâmbulo ECC
Setor
Preâmbulo ECC
Figura 98 – Organização de trilhas e setores em um disco rígido
Fonte: Monteiro (2019, p. 319).
Como já mencionado, um disco rígido é constituído não só por um, mas diversos pratos, que giram 
constantemente e na mesma velocidade em torno do seu eixo central. Um braço mecânico transporta 
a cabeça de gravação/leitura, efetuando um movimento na transversal, realizando as operações de 
gravação/leitura em cada uma das trilhas solicitadas na operação. A movimentação do braço é realizada 
através de um mecanismo, denominado atuador, movimentado pela atração de uma bobina. Existem 
diferentes métodos de acesso aos discos rígidos, além de diversas unidades de transferência, utilizadas 
de acordo com o sistema operacional escolhido. Alguns sistemas efetuam a transferência de dados do 
disco rígido para o processador e a memória principal de setor por setor.
 Observação
É importante ressaltar que em outros sistemas de maior capacidade de 
armazenamento e também ao volume de transferências, a transferência 
de dados é realizada a para um grupo de setores ou cluster (vários setores) de 
cada vez.
114
Unidade I
3.5.2 Principais propriedades e o funcionamento dos discos rígidos
O acesso a dados/instruções em um disco rígido ocorre em uma série de etapas, também conhecidas 
como micro-operações. De forma resumida, pode-se definir as seguintes etapas para que o acesso ao 
disco seja completado:
• Interpretação do comando que realiza a solicitação de E/S. Etapa em que um endereço físico que 
contém os dados desejados é localizado pelo número do cilindro ou setor e é conhecido como 
geometria do disco.
• Movimentação do braço em direção à trilha desejada ou cilindro, conhecido também como seek.
• Localização do setor, onde a cabeça de leitura/gravação passa por cima do setor desejado.
• Transferência de bits através de condutores com destino a um buffer e depois para uma área da 
memória principal especificada na operação de busca.
O tempo gasto entre o início da operação de leitura/escrita e o seu término é conhecido como tempo 
de acesso e é constituído pela soma dos quatro tempos distintos, correspondentes às seguintes etapas 
(MONTEIRO, 2019):
• Tempo necessário para a interpretação do comando: é todo o período gasto para que o sistema 
operacional seja capaz de interpretar o comando, transmitir a instrução para o controlador de 
disco e a conversão no endereço físico desejado.
• Tempo para realização da busca (seek): é o tempo gasto para realizar a interpretação do 
endereço desejado pela unidade de controle além da movimentação mecânica do braço até as 
trilhas desejadas.
• Tempo de latência: é o período decorrido a partir da chegada da cabeça de leitura/gravação 
na trilha e a passagem pelo setor. O tempo médio para a latência será igual à metade do tempo 
gasto para que o disco efetue uma volta completa, ou seja, para que seja possível que o setor gire 
completamente ao redor da cabeça, o que é inversamente proporcional à velocidade de rotação 
do disco, estimada entre valores de 5.400, 7.200 e 10.000 rpm (rotações por minuto).
• Tempo para realizar a transferência dos dados: é o tempo para realizar a transmissão dos 
sinais elétricos em formato de bits, com valores típicos da ordem de 400 a 800 microssegundos.
3.5.3 Calculando o espaçamento e armazenamento em discos rígidos
O cálculo do espaço necessário para o armazenamento em discos rígidos consiste na escolha do 
setor ou grupo de setores, como a unidade de transferênciafixa, deixando de existir, portanto, o fator 
de bloco de dados variáveis. Dessa forma, será necessário o cálculo de quantidade de trilhas ou cilindros 
115
ARQUITETURA DE COMPUTADORES MODERNOS
que serão consumidos por arquivo. Um cilindro é constituído por um conjunto de todas as trilhas que 
estão na mesma posição relativa, como exemplificado na figura seguinte:
Figura 99 – Trilhas e cilindros internos
Fonte: Stallings (2010, p. 154).
Exemplo de aplicação
Os arquivos de dados são constituídos de N registros lógicos e, considerando a divisão de trilhas 
em setores, cada um deles com uma quantidade fixa de bytes no armazenamento. Assim, pode-se 
implementar o cálculo com o seguinte exemplo:
Deseja-se conhecer qual será o espaço necessário para armazenar em disco rígido um arquivo com 
80.000 bytes. O disco, para realizar o armazenamento, possui 40 trilhas, além de 9 setores de 512 bytes 
cada. Como calcular?
Resolução
A quantidade de setores necessária será 80.000/512 = 156,25. Mas como o número de setores deve 
ser composto por um número inteiro, então serão necessários 157 setores. O cálculo da quantidade 
de trilhas consiste em dividir o total de setores obtido (157) pelos setores disponíveis no disco (9), 
resultando em: 157/9 = 17,4 trilhas, que também precisa ser adequado para 18 trilhas, pois esse número 
também não é fracionado.
3.5.4 Funcionamento do desempenho em discos rígidos
Para o funcionamento ideal, os discos rígidos dependem de vários fatores, entre eles: a quantidade 
de operações de E/S, taxa de transferência, quantidade de bytes envolvidos na operação, além do sistema 
operacional utilizado. Quando uma unidade de disco rígido está em operação, o disco gira de forma 
constante em altas velocidades, de modo que, para realizar a leitura/gravação, a cabeça necessita ser 
posicionada no início do setor e na trilha desejada.
116
Unidade I
O processo de seleção da trilha envolverá a movimentação da cabeça em um sistema de cabeça 
móvel ou mesmo selecionando eletronicamente uma cabeça no sistema de cabeça fixa. Para sistemas de 
cabeça móvel, o tempo gasto para o posicionamento da cabeça na trilha é conhecido como tempo 
de busca ou seek time (STALLINGS, 2010). Após a trilha ser selecionada, o controlador de disco rígido 
aguarda até que o setor escolhido esteja alinhado com a cabeça. Assim, o tempo gasto até que o início 
do setor encontre a cabeça é conhecido como atraso rotacional ou latência rotacional. Além desses 
tempos gastos para o alinhamento da cabeça na trilha, existe a soma do tempo de busca, quando 
ocorre o atraso rotacional que será igual ao tempo de acesso, determinado pelo tempo gasto para 
o posicionamento da cabeça na operação de leitura/gravação. Dessa forma, quando a cabeça já está 
posicionada corretamente, a operação de leitura/gravação será realizada quando o setor se mover sob a 
cabeça, realizando de fato a transferência dos dados, obtidos pelo tempo de transferência.
Em uma rede de computadores, por exemplo, existe uma técnica utilizada para a detecção da 
posição rotacional dos discos, conhecida como RPS (Rotational Positional Sensing – sensor de posição 
rotacional). Essa técnica é acionada quando o comando de busca é emitido, daí o canal é liberado para 
tratar outras solicitações de E/S. Assim, quando a busca termina, o dispositivo determinará quando os 
dados solicitados na operação estarão posicionados sob a cabeça do disco. À medida que o setor se 
aproxima da cabeça, o dispositivo procura o caminho solicitado para que ocorra a comunicação com o 
sistema. Se a unidade de controle estiver ocupada em outra operação de E/S, então uma nova tentativa 
para realizar a conexão é solicitada, e, se houver falha, ainda assim o disco necessitará girar por mais 
uma volta inteira antes de uma nova reconexão. Esse processo é conhecido como falha de RPS e é um 
elemento que deverá ser somado à linha de tempo de transferência para o disco rígido, como mostra a 
figura a seguir.
Dispositivo ocupado
Espera pelo 
dispositivo Busca
Atraso 
rotacional
Transferência 
de dados
Espera 
pelo canal
Figura 100 – Temporização de transferência em discos rígidos
Fonte: Stallings (2010, p. 156).
O cálculo do tempo de transferência depende da velocidade de rotação dos discos rígidos e obedece 
à expressão: T = b/rN, onde T é o tempo de transferência, b é o número de bytes a serem transferidos, 
N é o número de bytes em uma trilha e r a velocidade de rotação dada em rpm, ou rotações por minuto.
Exemplo de aplicação
Calcule o tempo total em uma operação de transferência de dados onde o número de bytes a serem 
transferidos é de 1.024 Mbytes, o número de bytes da trilha é de 512 bytes e a velocidade de rotação do 
disco é de 7.200 rpm.
117
ARQUITETURA DE COMPUTADORES MODERNOS
Resolução
Calculando o tempo total T para a realização da transferência, a resposta seria: T = 1.024/7.200 * 512 
→ 277,77 µs (microssegundos).
3.6 RAID em discos rígidos
Em 1988, David Patterson e outros pesquisadores sugeriram que seis tipos de organizações de 
paralelismo específicas poderiam ser utilizados para a melhoria de desempenho e a confiabilidade do 
armazenamento de dados nos discos rígidos magnéticos. As ideias de Patterson foram empregadas pela 
indústria na fabricação dessa nova tecnologia para os dispositivos de E/S e ficaram conhecidas como 
RAID (Redundant Array of Inexpensive Disks – arranjo redundante de discos baratos) (TANENBAUM; 
AUSTIN, 2013).
 Observação
O processamento realizado de forma paralela nos computadores pode 
acelerar seu desempenho.
A ideia do sistema RAID envolve a instalação de uma caixa contendo vários discos rígidos, geralmente 
próximos a um servidor, e substituição da placa controladora de disco por uma placa controladora 
RAID. Dessa forma, de acordo com a configuração adotada, os discos rígidos, embora sendo muitos, 
aparecerão como apenas um único disco para o sistema operacional. Outra propriedade importante no 
sistema RAID se refere à distribuição dos dados pelos diferentes discos, a fim de permitir que a operação 
ocorra em paralelo. Com essa finalidade, Patterson desenvolveu diferentes esquemas ou níveis que 
ficaram conhecidos como RAID 0 até o nível RAID 5.
3.6.1 RAID 0
Embora tenha o nome de RAID e também faça parte do sistema de esquemas de redundância, o 
RAID 0 não possuía redundância. Essa configuração consiste em dividir os discos em tiras (stripes), 
distribuídos e intercalados (striped), o que auxilia no processo das solicitações de blocos de dados, que 
estarão distribuídos pelos vários discos. Isso tornará o processo mais veloz, visto que a resposta para essa 
solicitação será executada em paralelo por todos os discos envolvidos no processo.
Tira 8
Tira 4
Tira 0
Tira 9
Tira 5
Tira 1
Tira 10
Tira 6
Tira 2
Tira 11
Tira 7
Tira 3
RAID nível 0
Figura 101 – RAID 0
118
Unidade I
3.6.2 RAID 1
Essa configuração RAID consiste na implementação de redundância através da duplicação ou mesmo 
triplicação de um determinado volume de dados em todos os discos, criando uma espécie de espelhamento, 
conforme observa-se na figura a seguir. Dessa forma, cada transação de leitura/gravação de dados em 
um disco também ocorrerá nos outros definidos no espelhamento. É possível realizar a combinação dos 
RAID 0 e RAID 1, garantindo maior rapidez e confiabilidade. O uso de um sistema combinado de RAIDs 
geralmente é atribuído para servidores de arquivos ou grandes datacenters.
Tira 8
Tira 4
Tira 0
Tira 9
Tira 5
Tira 1
Tira 10
Tira 6
Tira 2
Tira 11
Tira 7
Tira 3
Tira 8
Tira 4
Tira 0
Tira 9
Tira 5
Tira 1
Tira 10
Tira 6
Tira 2
Tira 11
Tira 7
Tira 3
RAID nível 1
Figura 102 – RAID 1
3.6.3 RAID 2
Nesse sistema, o RAID incluirá um mecanismo para detecção de falhas como um código de correção 
de erros. No processo de leitura/gravação dos discos, os dados solicitados e o código de correção de 
erro associado serão entregues ao controlador do array. Se algum bit contiver erro, o controlador 
poderáreconhecê-lo e corrigi-lo de forma instantânea, usando algum processo de paridade de bits 
para a recuperação.
Bit 1 Bit 5Bit 2 Bit 6Bit 3 Bit 7Bit 4
RAID nível 2
Figura 103 – RAID 2
3.6.4 RAID 3
Semelhantemente ao RAID 2, no RAID 3 os dados são divididos pelos vários discos rígidos, utilizando-se 
um disco adicional para a verificação de erros através do processo de paridade. O uso dessa técnica pode 
garantir maior integridade dos dados quando houver a necessidade de recuperação.
Bit 1 Bit 2 Bit 3 Bit 4 Paridade
RAID nível 3
Figura 104 – RAID 3
119
ARQUITETURA DE COMPUTADORES MODERNOS
3.6.5 RAID 4
No esquema de RAID 4, os dados são divididos igualmente entre todos os discos, com exceção de 
um, que é utilizado exclusivamente para inserir os dados necessários para realizar a paridade. A única 
diferença do RAID 4 com os anteriores consiste no tamanho dos blocos de armazenamento, são maiores 
do que do RAID 3, tornando o rendimento melhor no processo de leitura. Esse sistema é indicado para 
utilização com arquivos de tamanho grande, quando é exigida uma maior integridade dos dados, pois a 
cada operação de leitura é realizada a paridade dos dados, resultando também em maior confiabilidade.
Tira 8
Tira 4
Tira 0
Tira 9
Tira 5
Tira 1
Tira 10
Tira 6
Tira 2
Tira 11
Tira 7
Tira 3
P8-11
P4-7
P0-3
RAID nível 4
Figura 105 – RAID 4
3.6.6 RAID 5
No RAID 5 a paridade não se restringe a somente uma unidade de disco, como foi observado 
no RAID 4, mas toda a matriz de discos tem a paridade distribuída. Nessa situação, o tempo de 
gravação será menor, pois não será preciso acessar um único disco de paridade em cada operação 
de leitura/escrita, mas sim acessar o disco que possui a paridade necessária para a recuperação de 
dados em um processo específico.
P16-19 Tira 16 Tira 17 Tira 18 Tira 19
Tira 12 P12-15 Tira 13 Tira 14 Tira 15
Tira 8 Tira 9 P8-11 Tira 10 Tira 11
Tira 4
Tira 0
Tira 5
Tira 1
Tira 6
Tira 2
P4-7
Tira 3
Tira 7
P0-3
RAID nível 5
Figura 106 – RAID 5
 Saiba mais
Aprenda mais sobre configurações de software e hardware dos 
sistemas RAID em:
VIANA, A. L. S. Um pouco sobre RAID – configuração via software e via 
hardware. DevMedia, 2012. Disponível em: https://bit.ly/3HglwfM. Acesso 
em: 18 jan. 2023.
120
Unidade I
3.6.7 Memória virtual
Um conceito importante e muito usado em discos rígidos magnéticos é conhecido como memória 
virtual. Essa técnica é utilizada porque, no geral, os computadores pessoais não possuem uma quantidade 
elevada de memória RAM, tornando insuficiente a execução de algumas aplicações quem envolvem, por 
exemplo, processamento gráfico, processamento de vídeo, programação de alto desempenho de dados, 
entre outros.
 Observação
A memória virtual tem como objetivo principal utilizar o disco como 
uma extensão da memória principal, aumentando, assim, o espaço para o 
endereçamento disponível da RAM.
Ao utilizar a memória virtual, a memória principal (RAM) possuirá uma área muito maior do que a 
original para realizar o endereçamento. Essa área no disco rígido é reconhecida como um arquivo de 
páginas, pois contém algumas porções da memória principal. Uma forma simples de entender como 
funcionam as memórias virtuais é o conceito de posição imaginária da memória principal, endereçado 
no disco rígido pelo sistema operacional. A memória virtual também é conhecida como páginas, o que 
é uma maneira de dividir a memória em blocos com tamanhos fixos, dividindo também os programas 
com blocos do mesmo tamanho. Alguns conceitos de memória virtual envolvem os seguintes termos:
• Endereço virtual: é o endereço lógico no programa que o processo utilizará. Dessa forma, sempre 
que o processador gerar o endereço, ele estará relacionado ao espaço de endereçamento virtual.
• Endereço físico: é o endereço real na memória RAM.
• Mapeamento: é o mecanismo onde os endereços virtuais serão traduzidos para endereços físicos.
• Quadro de páginas: são pedaços ou blocos de mesmo tamanho em que a memória RAM é dividida.
• Páginas: são pedaços ou blocos onde a memória virtual é dividida, de modo que cada um desses 
blocos possuem o mesmo tamanho que um quadro da página.
• Paginação: é o processo de copiar uma página virtual do disco para um quadro de página que 
está na memória RAM.
• Fragmentação: é um pedaço da memória que se torna não utilizável.
• Falha de página: envolve um ou mais eventos que ocorrem quando a página que é solicitada não 
está na memória RAM e deve ser copiada do disco rígido para ela.
121
ARQUITETURA DE COMPUTADORES MODERNOS
Como a memória RAM e a memória virtual são divididas em páginas de tamanhos iguais, algumas 
partes do espaço de endereçamento dos processos podem ser movidos para a memória RAM e não 
precisam ser armazenados de forma contígua.
Outro fator importante em termos de paginação são os registros utilizados para gravar as informações 
das páginas, conhecidos como tabela de páginas. Dessa forma, cada processo armazenado possui sua 
própria tabela, que irá armazenar sua posição física de cada página virtual do processo. Assim, uma 
dessas tabelas possui N linhas, onde N será o número de páginas virtuais do processo.
3.7 Drive de estado sólido (SSD)
Da mesma forma que os HDs, os SSD (Solid State Drive) são memórias não voláteis e se apresentam 
como uma alternativa de memória de alta velocidade. Melhor que as memórias do tipo RAM, o SSD é 
constituído por várias células unitárias, cujo principal componente é o transistor. Os transistores são 
dispositivos eletrônicos que possuem como uma das suas principais características a comutação, ou 
seja, eles modificam o seu estado atual. Porém, ao comutarem, eles se desgastam, chegando a um ponto 
de não funcionarem mais, o que é conhecido como falha de um transistor. Essa falha também pode ser 
explicada como uma injeção de portadora, que ocorre quando uma carga elétrica é colocada dentro do 
transistor, alterando o seu estado anterior e tornando-o permanentemente ligado ou desligado. E foi 
assim que a empresa Toshiba, na década de 1980, viu que era possível aproveitar essa falha para criar 
um mecanismo de memória não volátil, a memória flash (TANANBAUM; AUSTIN, 2013).
Figura 107 – Drive de estado sólido
Disponível em: https://bit.ly/3Hh4Bd5. Acesso em: 19 jan. 2023.
Diferentemente dos discos rígidos magnéticos, que possuem tanto parte elétrica quanto mecânicas, 
as memórias SSD têm um desempenho superior, visto que são basicamente dispositivos inteiramente 
eletrônicos, sem peças mecânicas. Outra grande vantagem do SSD é a sua utilização em dispositivos 
móveis, como notebooks, a fim de evitar trepidações ou movimentos bruscos, que dificilmente irão 
impactar o seu correto funcionamento.
122
Unidade I
Conforme pode ser observado na figura a seguir, uma célula de memória flash é composta de um 
transistor especial. Nele há uma espécie de porta flutuante que é carregada e descarregada (eletricamente) 
através do uso de voltagens maiores do que os 5 volts convencionais, em se tratando de dispositivos 
para computadores.
Semicondutor
Origem Canal DrenoPonta de teste
Carga negativa 
interceptada
Isolador
Tensão de programação
12V
Isolador
Porta de controle
Porta flutuante
Terra
Figura 108 – Célula de memória do tipo flash
Fonte: Tanenbaum e Austin (2013, p. 77).
Antes de a célula unitária flash ser programada, o que corresponde à aplicação da carga elétrica, a 
porta flutuante não afetará a operação do transistor, de modo que ela continuará atuando como um 
isolador entre a porta de controle e o canal, tornando-o apenas um transistor simples. A referida alta 
tensão é baseada em 12 volts e aplicada na porta de controle, que irá acelerar o processo referido de 
injeção de portadora na porta flutuante. A carga elétrica inserida na porta flutuante tornará o transistor 
flash negativamente carregado, aumentando, assim, a tensão necessária para que ele seja ligado. Uma 
atenção mais baixa do que 12 volts será exigida para determinar se aporta flutuante está ou não 
carregada, o que resultará em um valor que será codificado como bits 0 ou 1. Dessa forma, uma das 
principais vantagens das memórias SSD constitui que, uma vez que a carga é inserida na célula unitária, 
ela irá permanecer estável, mesmo que não haja alimentação elétrica, tornando-a não volátil.
Em relação à velocidade, os dispositivos SSD podem operar duas ou mesmo três vezes mais rápido 
do que um disco rígido convencional, que possui acesso a dados em até 100 MB/s. Logicamente, não há 
somente vantagens nesse tipo de dispositivo, podendo-se destacar a sua alta taxa de falha. Essas falhas 
ocorrem geralmente porque uma célula flash unitária tipicamente pode ser escrita aproximadamente 
cem mil vezes até que ela deixe de funcionar corretamente. Isso quer dizer que o processo de injetar 
elétrons danifica a célula aos poucos, assim como os isolantes que estão ao seu redor. Algumas técnicas 
para aumentar o tempo de vida dos dispositivos SSD são usadas atualmente. Uma delas é conhecida 
como nivelamento de desgaste, sendo empregada a fim de espalhar as escritas por todas as células flash, 
não tornando algum ou alguns pontos viciados. Dessa forma, todas as vezes que um bloco precisa ser 
escrito, há uma distribuição homogênea por ele, ou mesmo a busca por blocos que não foram escritos 
no processo anterior.
123
ARQUITETURA DE COMPUTADORES MODERNOS
Ao utilizar o nivelamento de desgaste, um drive SSD poderá suportar uma quantidade de escritas 
que será igual ao número de escritas que uma célula poderia sustentar multiplicado pelo número de 
blocos no drive.
3.8 Discos ópticos
Desenvolvidos em meados dos anos 1980 pelas empresas Philips e Sony, os discos ópticos eram 
inicialmente utilizados para gravar em programas de televisão e, na sequência, devido a sua grande 
capacidade de armazenamento para a época, também passaram a ser usados no armazenamento de 
dados de computadores. Entretanto, sua popularidade ocorreu na gravação de músicas, substituindo os 
discos de vinil. Entre as variedades desses discos ópticos podem ser citados: CD-ROM, CDs regraváveis, 
DVDs e blu-rays.
3.8.1 CD‑ROM
Os Compact Discs (CDs) possuem, no geral, 120 mm de diâmetro, 1,2 mm de espessura e um orifício de 
15 mm em sua área central, como mostra a figura a seguir. No ato de sua fabricação, um CD é preparado 
com o uso de um laser infravermelho de alta potência que produz orifícios com 0,8 micrômetros de 
diâmetro em um disco mestre que é revestido de vidro. A partir desse disco mestre será fabricado um 
molde com saliências onde estavam originalmente os orifícios produzidos pelo laser.
Figura 109 – Mídias de CD-ROM
Disponível em: https://bit.ly/3GVu1LR. Acesso em: 19 jan. 2023.
No ato de sua fabricação, um CD é preparado através da utilização de um laser infravermelho 
de alta potência, que produz orifícios com 0,8 micrômetros de diâmetro em um disco mestre, que é 
revestido de vidro. A partir desse disco mestre será fabricado um molde com saliências onde estavam 
originalmente os orifícios produzidos pelo laser. Nesse processo de preparação é introduzido o 
policarbonato, uma espécie de plástico fundido no molde, a fim de formar um CD com o mesmo 
padrão de orifícios do mestre. Logo após, é depositada uma camada fina de alumínio refletivo sobre a 
camada já depositada anteriormente de policarbonato, produzindo assim um verniz de proteção. Por 
fim, insere-se uma etiqueta com a nomenclatura da finalidade daquele CD, sendo as possibilidades 
124
Unidade I
diversas, como gravar músicas ou dados. Essas marcas inseridas no substrato de policarbonato são 
conhecidas tecnicamente como depressões ou pits, do inglês, e as áreas que estão posicionadas entre 
as depressões são conhecidas como planos, lands, como exemplificado na figura a seguir.
Sulco em espiral
Plano
Depressão
Bloco de 2 k de 
dados de usuário
Figura 110 – Estrutura de gravação em CD-ROM
Fonte: Tanenbaum e Austin (2013, p. 79).
O processo de leitura do CD-ROM (Compact Disk Read Only Memory) ocorre quando um diodo 
laser de baixa potência emite uma luz infravermelha com comprimento de onda de 780 nm sobre as 
depressões e planos que estão no disco, realizando a leitura dos dados contidos naquele local por onde 
a luz passa. Devido à altura das depressões, correspondente a um quarto do comprimento de onda da 
luz do laser, a luz refletida na depressão terá uma defasagem de meio comprimento de onda em relação 
à que é refletida na superfície que a circunda. O resultado disso é que as duas partes irão interferir 
umas com as outras de forma destrutiva, o que envolverá a devolução de menos luz ao fotodetector 
do aparelho de reprodução de luz que reflete. É exatamente dessa forma que um aparelho interpreta 
a diferença entre uma depressão e um plano, que envolverá justamente a leitura dos bits 0 e 1.
Embora possa parecer muito mais simples interpretar uma depressão como sendo um bit zero e o 
plano como sendo o bit 1, é muito mais confiável utilizar uma transição entre a depressão e o plano ou 
o plano, e a depressão para representar o bit 1 é a sua ausência para indicar o bit zero. É exatamente 
dessa forma que os bits 0 e 1 são interpretados em um CD-ROM, como mostra o esquema da figura 111. 
As depressões em planos são escritas no CD-ROM em uma espiral única e contínua que começa próxima 
ao orifício central e se estende até uma distância de 32 mm em direção a sua borda. Uma espiral conterá 
22.188 rotações ao redor do disco, o que daria cerca de 600 mm.
Para que uma música seja tocada em um CD-ROM e haja uma taxa uniforme, é necessário que os 
planos e as depressões passem sob a luz a uma velocidade linear e constante. Como consequência, a 
taxa de rotação deve ser reduzida de forma contínua à medida que a cabeça de leitura do dispositivo se 
125
ARQUITETURA DE COMPUTADORES MODERNOS
move, desde a parte interna até a parte externa do CD-ROM. A parte interna do disco geralmente possui 
uma taxa de rotação de 530 rpm, enquanto a taxa na parte mais externa é de 200 rpm. Essa variação na 
velocidade deve ser regulada da mesma maneira que ocorre nos discos rígidos magnéticos que possuem 
um sistema de velocidade angular constante.
Em relação a sua organização de dados, os dispositivos de CD-ROM operam com 75 setores/s, 
o que dá uma taxa de dados de 153.600 bps. Um CD-ROM padrão de áudio possui um espaço de 
74 minutos de música; se usado para dados, possui aproximadamente uma capacidade de 682.000 bits, o 
que geralmente é arredondado para 650 MB, pois um MB será igual a 220 bytes, ou seja, 1.048.576 bytes.
3.8.2 DVD
Devido à grande demanda no aumento da capacidade de gravação de dados em CDs, em meados 
da década de 1990 foi desenvolvida uma variação dessa mídia para que ela tivesse a capacidade de 
armazenar não somente músicas como também filmes. Com essa demanda, surgiu o DVD (Digital Vídeo 
Disc), hoje também conhecido como Digital Versatile Disc. Os DVDs possuem o mesmo desenho dos CDs, 
porém com algumas novidades:
• depressões com tamanhos reduzidos de 400 nm;
• espirais mais estreitas, com uma separação entre trilhas de 740 nm;
• leitura de gravação utilizando um laser de 650 nm.
Além dessas melhorias, que ocasionaram um aumento na capacidade em 7 vezes, chegando a um 
total de 4,7 GB, um dispositivo DVD funciona com diferentes velocidades. A velocidade de transferência 
do DVD 1x possui 1,4 KB/s e pode alcançar velocidades 4x (5400 KB/s) ou maiores. Assim como os 
CDs de maiores capacidades, os DVDs podem gravar em ambas as faces de sua mídia, chegando à 
capacidade de armazenamento:
• uma face, uma camada com 4,7 GB;
• uma face, duas camadas totalizando 8,5 GB;
• duas faces, uma camada totalizando 9,4 GB;
• duas faces, duas camadas totalizando 17 GB.
3.8.3 Blu‑ray
Em sucessão ao DVD, surgiu o blu-ray, assim chamado devido à frequência de luz na faixa do laser 
azul utilizado para leitura dos dados gravados. A frequência azul aplicada possui um comprimento 
de onda menor e uma frequênciamaior, o que obriga no ato da leitura que as depressões e os planos 
também sejam menores. Dessa forma, com mais depressões e planos na mídia, é possível armazenar 
126
Unidade I
muito mais dados. A figura a seguir mostra, de forma resumida, um comparativo entre as principais 
mídias óticas apresentadas, incluindo a variação das depressões e regiões planas, que influenciarão na 
quantidade de dados gravados.
p=
16 µm
I=800 nm
CD DVD HD DVD Blu-ray
I=400 nm I=200 nm I=150 nm
ø=
16 µm
0.1 mm
0.1 mm
0.6 mm
0.6 mm
0.6 mm
0.6 mm
11 mm
1.1 mm
λ=405 nmλ=405 nm λ=650 nmλ=780 nm
ø=
11 µm
ø=
480 nm
ø=
620 nm
w=
600 nm
w=
320 nm
w=
200 nm
w=
130 nm
p=
740 nm
p=
400 nm
p=
320 nm
Figura 111 – Variações entre os tamanhos das depressões e planos em função da luz laser inserida
Disponível em: https://bit.ly/3QWnW6t. Acesso em: 19 jan. 2023.
 Saiba mais
Conheça mais sobre os últimos avanços em discos ópticos em:
CRIADO disco óptico que armazena dados em cinco dimensões. 
Inovação Tecnológica, 2009. Disponível em: https://bit.ly/3GS7QGh. Acesso 
em: 18 jan. 2023.
3.9 Disquetes
Também conhecidos como floppy disk drivers (FDD), os disquetes possuem características 
semelhantes ao disco rígido, embora com menor capacidade de armazenamento. A grande diferença 
entre esses dispositivos está na velocidade de acesso, capacidade de armazenamento, tempo de 
transferência de dados e, principalmente, a sua portabilidade, ou seja, disquetes são muito mais simples 
de serem removidos do que os discos rígidos.
127
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 112 – Disquete
Disponível em: https://bit.ly/3XLHsom. Acesso em: 19 jan. 2023.
 Observação
Os disquetes foram desenvolvidos na década de 1960 como uma 
alternativa mais simples e barata do que os discos rígidos.
Devido a sua facilidade e usabilidade, os disquetes se tornaram muito populares entre usuários 
tanto domésticos quanto empresariais. Esse processo ocorreu junto com o avanço dos computadores 
pessoais. As informações são gravadas de forma idêntica aos discos rígidos. Em trilhas, esses setores 
estão posicionados na superfície do disco magnetizável. Para que seja acionado o disquete em um 
computador, há um mecanismo que realiza a leitura ou gravação para cada superfície. Comumente, 
um  computador possui um drive para acionar o disquete. Esse drive contém um sistema eletromecânico 
que irá acessar as trilhas entre setores dos disquetes. No geral, os usuários desse dispositivo dispunham 
de alguns modelos diferentes oferecidos conforme três fatores principais:
• capacidade total de armazenamento;
• taxa de transferência de bits;
• tempo médio para acesso ao dispositivo.
Em relação à taxa de transferência dos disquetes, logicamente não se compara com as dos discos 
rígidos magnéticos, que podem alcançar taxas de transferência na ordem de MB/s, enquanto em 
disquetes essa taxa não chega a centenas de KB/s.
128
Unidade I
3.10 Fitas magnéticas
Desenvolvidas em meados dos anos 1950, elas foram muito utilizadas como dispositivos para 
armazenamento de dados e instruções, visto que no início da computação os modos de realizar a leitura 
e a gravação de dados era um processo um tanto quanto lento, pois se baseavam no uso de cartões 
perfurados. O princípio de funcionamento das fitas magnéticas é bastante semelhante ao processo 
de leitura e gravação de fitas aplicadas em dispositivos de som. Eles usam de dois carretéis de fita 
que se desenrolam de um lado para o outro, de maneira que a fita passará por um par de leitura ou 
gravação em velocidades constantes. A figura a seguir mostra um dispositivo de fita magnética usada 
em computadores como mainframes na década de 1980.
Figura 113 – Rolo de fita magnética
Disponível em: https://bit.ly/3QWIs7e. Acesso em: 19 jan. 2023.
Diferentemente do tipo de acesso à memória que ocorre em dispositivos como discos rígidos 
magnéticos ou memória RAM, o acesso aos dados contidos na fita magnética é realizado apenas 
sequencialmente, ou seja, cada informação é armazenada uma após a outra e a sua leitura é executada 
também num processo sequencial. Dessa forma, a localização do registro desejado na operação de 
leitura começará a partir do início da fita, variando registro a registro, até que se identifique o registro 
desejado, como corre numa fita cassete.
A fita magnética é constituída por uma tira contínua de um material plástico que é coberto com 
alguns elementos magnetizáveis, onde os bits serão gravados. Dessa forma, os bits gravados em um 
certo sentido de magnetização irão representar o bit 0, enquanto em outro sentido magnetizável irão 
indicar o bit 1. As posições nas trilhas são magnetizáveis quando esses campos são preenchidos pela 
passagem de corrente elétrica em uma bobina que está presente na cabeça de gravação. A figura a 
seguir mostra como exemplo um trecho de uma fita magnética em que é possível observar os bits 
indicados em linhas paralelas.
129
ARQUITETURA DE COMPUTADORES MODERNOS
0 1 2 3 4 5 6 7 8 9 A B C D E F M N Y $ / % *
Posições dos bits
* A posição P do bit se refere ao bit de paridade
Coluna
9
8
7
6
5
4
3
2
1
4
6
0
1
2
P*
3
7
5
Trilhas
Figura 114 – Organização de linhas e colunas em diferentes trilhas de uma fita magnética
Fonte: Monteiro (2019, p. 319).
Os dados armazenados em canais paralelos, conhecidos como trilhas, percorrem toda a fita magnética. 
A quantidade de trilhas pode variar entre 7 ou 9, embora fitas com 7 trilhas já estejam obsoletas há 
muitas décadas, de modo que somente as com 9 trilhas continuam a ser fabricadas. Cada caractere é 
armazenado verticalmente, um bit a cada trilha, adicionando-se um bit de verificação de paridade, o 
que irá completar as 9 trilhas necessárias.
Entre as características das fitas magnéticas, uma das mais interessantes é a respeito do seu sistema 
de transporte de unidades de fita, que consiste no processo de parada e partida das rotações dos carretéis. 
Entre as colunas da fita magnética é obtida a gravação, que pode variar de acordo com a velocidade de 
passagem da fita, podendo demonstrar que uma das principais características referentes ao desempenho 
das unidades da fita está relacionada a sua densidade. Em geral, fitas magnéticas possuem densidades 
de 800  caracteres por polegadas ou BPI (bytes per inch), chegando até mesmo em densidades de 
6.250 caracteres por polegada. Devido à implementação de dispositivos com maior desempenho e velocidade 
para gravação de dados, como DVD e blu-ray, as fitas magnéticas caíram em desuso, principalmente, para 
usuários domésticos, ficando restritas em grandes data centers, como dispositivos de backup.
Além dessas características, as fitas magnéticas possuem algumas marcas de ações para o controle 
da gravação de dados, por exemplo, uma marca refletora no seu início e no final do carretel, para 
impedir que a fita ultrapasse os limites e ocorra algum dano a ela.
 Saiba mais
Aprenda mais sobre as novas tendências de armazenamento de dados 
ultrarrápidos em:
ULTRAMAGNETRON: gravação magnética à velocidade da luz. Inovação 
Tecnológica, 2014. Disponível em: https://bit.ly/3WmtKat. Acesso em: 19 jan. 2023.
130
Unidade I
4 COMPUTADOR E SEUS BARRAMENTOS E TIPOS DE TRANSMISSÃO DE 
DADOS
4.1 Barramentos do computador
Tecnicamente, barramento é definido como um fio (ou vários fios) de cobre que tem como função 
realizar um “caminho” para que a corrente elétrica possa fluir entre vários dispositivos internos ou 
externos ao computador, como pode ser observado na placa de circuitos impressos da figura a seguir.
Figura 115 – Configuração de fios de cobre em um barramento da placa-mãe
Disponível em: https://bit.ly/3J12mf2. Acesso em: 19 jan. 2023.
 Observação
Os barramentos geralmente possuem diferenças que variam de acordo 
com sua finalidade, como para o transporte de dados entre a ULA e a UC, 
ou entre a CPU e a memória principal, ou mesmo entre outros dispositivos 
de E/S como disco rígido, CD, DVD, pen drive etc.
Os primeiros computadores pessoaispossuíam um barramento externo, conhecido também 
como barramento do sistema, que consistia em 50 a 100 fios de cobre alocados em paralelo dentro 
da placa-mãe. Esses fios também eram formados por conectores com intervalos de distanciamento 
regulares ligados à memória principal e outras placas de E/S como conexões de rede, impressora etc. 
(TANENBAUM; AUSTIN, 2013).
131
ARQUITETURA DE COMPUTADORES MODERNOS
Em alguns diagramas, o barramento sempre é representado por setas largas e sombreadas. A distinção 
entre as setas e uma linha reta apenas cortada por um pequeno segmento de reta inclinada com valores 
de bits é quase imperceptível. Quando os bits de dados ou endereços, por exemplo, são utilizados na 
figura, comumente são representados por um segmento de reta diagonal. Entretanto, para bits de 
controle, usam-se geralmente setas mais largas e sombreadas, como esquematizado na figura a seguir.
Chip de CPU
Barramento 
de memória
Barramento de E/S
Controlador 
de barramento
Disco Rede Impressora
Memória
Registradores
Barramentos
Barramento no chip
ULA
Figura 116 – Organização interna de um computador e seus barramentos
Fonte: Tanenbaum e Austin (2013, p. 148).
Os barramentos devem possuir um certo padrão. Para tal, os projetistas de computação devem 
seguir um protocolo de barramentos, que irá determinar especificações mecânicas (tensões mecânicas) 
e elétricas (temporização, largura de banda) na fabricação das placas. Existem variedades de barramentos 
para uso em computadores, entre os mais conhecidos estão: Omnibus (PDP-8), Unibus (PDP-11), 
Multibus (8086), barramento IBM PC (PC/XT), barramento ISA (PC/AT), barramento SCSI. Outra 
característica de funcionamento dos barramentos está relacionada à transferência ativa ou passiva de 
dados/instruções: os ativos são conhecidos como mestres; os passivos, escravos.
Quando o processador ordena que uma controladora de discos realize o processo de leitura ou escrita 
de um bloco de palavras, a CPU está agindo como um mestre e o dispositivo que atua obedecendo à 
operação como um escravo. Os sinais em binário, emitidos pelos dispositivos do computador, geralmente 
são fracos e não conseguem energizar o barramento, principalmente se ele for relativamente longo e 
com muitos dispositivos conectados nele. Assim, a maioria dos barramentos mestres estão conectados 
por um chip denominado controlador de barramento, que opera como um amplificador digital de 
sinais elétricos. De forma semelhante, os dispositivos que operam como escravos estão conectados em 
um chip denominado transceptor de barramento. As interfaces de barramento possuem três estados 
diferentes, que permitem que se desconectem quando for necessário ou então se conectem (coletor 
aberto) (TANENBAUM; AUSTIN, 2013).
132
Unidade I
4.2 Largura de barramento
A largura do barramento também é um parâmetro que deve ser considerado no projeto de um 
computador ou mesmo de um dispositivo móvel. Quanto mais linhas de endereços houver no barramento, 
mais capacidade de memória cache ou memória principal e processador poderão ser endereçadas de 
forma direta. Portanto, se um barramento possuir n linhas de endereços, então a CPU poderá utilizá-la 
para endereçar 2n localizações diferentes na memória.
Em memórias de grande capacidade, os barramentos exigem muitas linhas de endereços. O problema 
é que barramentos muito largos necessitam, obrigatoriamente, de mais espaço físico, mesmo utilizando 
fios estreitos, além de precisar de conectores maiores. Esses fatores podem encarecer o barramento, 
obrigando os fabricantes a produzir tipos que levem em consideração o tamanho máximo de memória a 
ser usada a um barramento específico. Um sistema usando barramento de endereçamento de 64 linhas 
e 232 bytes de memória principal irá custar mais do que um com 32 linhas e os mesmos 232 bytes. 
O computador IBM PC com processador Intel 8088, esquematizado na parte A da figura a seguir possuía 
um barramento de endereços de 20 bits que possibilitavam o endereçamento de 1 MB de memória.
8088 80286 80386
Endereço de 20 bits
Controle
Controle
Controle
Controle
Controle
Controle
Endereço de 20 bits
Endereço de 4 bits
Endereço de 4 bits
Endereço de 8 bits
(c)(b)(a)
Endereço de 20 bits
Figura 117 – Barramento de endereço e controle no processador 
Intel 8088 (A), no Intel 80286 (B) e no Intel 80386 (C)
Fonte: Tanenbaum e Austin (2013, p. 148).
A partir da evolução do 8088, a Intel lançou o 80286 e decidiu aumentar o espaço de endereçamento 
para 16 MB, de modo que foi necessário adicionar mais quatro linhas de barramento sem alterar as vinte 
linhas originais para facilitar a compatibilidade, conforme a parte B da figura anterior. Já no lançamento 
do Intel 80386, oito linhas de endereço precisaram ser adicionadas, além de outras linhas de controle, 
originando o barramento conhecido como EISA, como ilustra a parte C da figura anterior.
 Observação
Nos projetos dos dispositivos digitais atuais, não são apenas o número 
de linhas de endereços que tendem a crescer, mas também o número de 
linhas para transmissão de dados.
133
ARQUITETURA DE COMPUTADORES MODERNOS
Segundo Tanenbaum e Austin (2013), existem dois modos básicos para aumentar a largura de banda 
para transmissão de dados no barramento:
• redução do tempo para realizar a transmissão de dados, o que implicaria mais transferências 
por segundo.
• aumento da largura de dados, possibilitando mais bits em cada transferência.
Dessa forma, aumentar a aceleração do barramento também é possível, porém difícil, pois os sinais 
geralmente trafegam com diferentes velocidades no barramento, problema conhecido na literatura 
como atraso diferencial do barramento. Esse atraso pode complicar a evolução dele, pois quanto mais 
rápido for o barramento, mais provável e sério será o atraso diferencial. Outro problema relacionado ao 
barramento está associado à compatibilidade da aceleração. Placas e circuitos impressos mais antigos 
foram projetados para barramentos mais lentos e podem não funcionar com um novo. Para contornar 
um problema desses, os projetistas de computadores optam por usar um barramento multiplexado, 
assim, em vez de linhas de endereços e dados separados, podem ser anexadas 32 linhas de endereços 
e dados juntos. Então, inicialmente, pode-se utilizar o barramento somente para endereços e depois 
somente para dados. Os barramentos ainda podem ser divididos em duas categorias: síncronos ou 
assíncronos, de acordo com sua dependência do clock.
4.3 Barramentos síncronos
Possuem uma linha controlada por um oscilador de cristal, responsável pelo sinal de clock, que 
consiste em uma onda quadrada gerada a partir de um sinal analógico, que tem frequências geralmente 
entre 5 MHz e 133 MHz.
Cristal de 
quartzo
Conversão 
de analógico 
para digital
Figura 118 – Geração de um sinal de clock e sua conversão analógica/digital
Fonte: Stallings (2010, p. 39).
134
Unidade I
Utilizando um barramento síncrono, considere o diagrama temporal da figura a seguir para melhor 
compreensão dos sinais de clock. Nesse exemplo, aplica-se um clock de 100 MHz, resultando em um 
ciclo de barramento de 10 nanossegundos, e tem-se as linhas de clock, ADDREES, DATA, MREQ, RD e 
WAIT, e representadas na mesma escala de tempo.
TML
TAD
TDH
TRH
TMH
TDS
T2T1
Φ
T3
TRL
TM
Tempo
DATA
ADDRESS Endereço de memória a ser lido
Dados
Ciclo de leitura com 
1 estado de espera
MREQ
RD
WAIT
Figura 119 – Temporização de leitura em um barramento síncrono
Fonte: Tanenbaum e Austin (2013, p. 152).
Usando esse barramento, leva-se 15 nanossegundos (15x10-9 segundos) para que um endereço 
seja lido na memória. No geral, essa leitura ocorre durante três ciclos de barramento; o primeiro ciclo 
começa na borda ascendente de T1 e o terceiro ciclo termina na borda ascendente de T4. No exemplo da 
figura anterior, nenhuma das bordas ascendentes ou descendentes foi colocada na linha vertical, pois 
nenhum sinal elétrico poderá trocar seu valorno tempo zero, de modo que se pode admitir que se leva 
1 nanossegundo para o sinal mudar. O início de T1 é definido através da borda ascendente do clock, e 
no meio do caminho de T1 o processador insere o endereço da palavra desejada nas linhas de endereço. 
O endereço não é constituído de um único valor e é mostrado na figura como duas linhas que se cruzam 
no instante da mudança de endereço. Assim, é possível observar que o conteúdo das linhas de dados não 
é significativo até grande parte de T3. Após as linhas de endereços acomodarem seus novos valores, eles 
são ativados. No primeiro, indica-se que está sendo ativada (bit 0) a memória, e não uma comunicação 
de E/S, e o segundo é ativado (bit 0) para leitura e negado (bit 1) para realização da operação de escrita. 
Dessa forma, como a memória leva cerca de 15 nanossegundos após o endereço ficar estável, ela não 
poderá entregar os dados requisitados durante o tempo T2.
135
ARQUITETURA DE COMPUTADORES MODERNOS
4.4 Barramentos assíncronos
Os barramentos assíncronos não possuem um clock mestre e, embora sejam fáceis para trabalhar 
devido a seus intervalos discretos de tempo, eles possuem alguns problemas. Por exemplo, como 
os ciclos  de clock não podem ser fracionados, ainda que o processador e a memória realizem uma 
transferência de dados em 3,1 ciclos, eles deverão ser prolongados até 4,0. Outro problema também 
relacionado com os ciclos de leitura/escrita é que barramentos construídos especificamente para esse tipo 
de comunicação dificilmente são aproveitados em avanços de tecnologia. Nos barramentos assíncronos, 
como o da figura a seguir, em vez de vincular todas as operações ao clock, quando o mestre quando o 
mestre ativar o endereço MREQ e RD na sequência, ele ativa um sinal especial denominado MSYN ou 
master synchronization. Dessa forma, quando o escravo verifica o sinal, ele irá realizar o trabalho de 
forma mais rápida, concluindo a fase ativando o SSYN ou slave synchronization. Em resumo:
• MSYN é ativado.
• SSYN é ativado em resposta MSYN.
• MSYN é negado em resposta a SSYN.
• SSYN é negado em resposta à negação de MSYN.
Observe a operação de um barramento assíncroo:
SSYN
MSYN
MREQ
DATA
ADDRESS Endereço de memória a ser lido
Operação de um barramento assíncrono
RD
Dados
Figura 120 – Temporização de leitura em um barramento assíncrono
Fonte: Tanenbaum e Austin (2013, p. 154).
136
Unidade I
4.5 Barramento ISA
O ISA (Industry Standard Architecture) foi um dos tipos mais utilizados nos anos 1980/1990. Ele 
foi desenvolvido para funcionar em computadores pessoais IBM PC/AT, equipados com processadores 
Intel 80286 e era uma estrutura típica de 8 bits, projetada para substituir o padrão já ultrapassado 
VESA (Video Electronics Standards Association). Orginalmente, o padrão ISA operava em frequência de 
4,77 MHz, mas que logo foi substituído por uma frequência mais alta de 8,33 com o lançamento dos 
modelos de computadores PC/XT de 16 bits. O padrão ISA era dividido em duas partes: a primeira tinha 
pinos usados por placas que suportavam apenas 8 bits; a segunda tinha a capacidade de extensão para 
adicionar pinos extras. Outra característica do ISA é a grande quantidade de contatos elétricos, que 
chegam a 98, como mostra a figura a seguir: há somente 16 trilhas para dados, e o restante delas é 
usado para realizar o endereçamento. Se comparada com os barramentos atuais, o ISA é considerado 
muito lento para operações que envolvem processamento de alto desempenho, como os da placa-mãe 
do computador, porém esse tipo ainda é usado, principalmente, pela facilidade de operação, e muitos 
desenvolvedores na área de automação industrial ou robótica ainda utilizam esse padrão.
PCI-X Slots PCI Slots
ISA Slots
SHB Slot
X8 PCI-E Slot
X16 PCI-E Slot
USB Connectors
Etherbet 
Connectors
ATX Power in
AUX Power in
PCI-X Bridge
ISA Bridge
Figura 121 – Diversos padrões de barramentos, entre eles o padrão PCI, ISA, PCI express
Disponível em: https://bit.ly/3Xqyc9s. Acesso em: 19 jan. 2023.
137
ARQUITETURA DE COMPUTADORES MODERNOS
4.6 Barramento PCI
O PCI (Peripheral Interconnect Bus – barramento de interconexão de componente periférico) foi 
desenvolvido em 1990 para substituir o já ultrapassado EISA (Extended Industry Standard Architecture). 
Originalmente, o PCI possuía a capacidade de transferir 32 bits por ciclo, barramento compatível a um 
clock de 33 MHz e largura de banda de 133 MB/s. Em 1993 foi lançada a segunda versão do padrão 
PCI (PCI 2.0), em 1995, o PCI 2.1. O tipo PCI tem capacidade de funcionamento em uma frequência até 
66 MHz, manipulando transferências em 64 bits a uma largura de banda total, atingindo 528 MB/s. 
Devido a essa taxa elevada de transferência de dados/instruções, foi possível melhorar o desempenho 
nas transmissões de áudio, principalmente, de vídeo em alta qualidade.
Figura 122 – Barramento PCI
Disponível em: https://bit.ly/3J2uOxo. Acesso em: 19 jan. 2023.
A melhora do padrão PCI se deve a dois chips da Intel, que trabalham como uma espécie de ponte que 
conecta o PCI ao processador, à memória principal e ao restante do barramento. O PCI foi desenvolvido 
para operar em 32 bits ou 64 bits, de modo que o padrão 64 bits pode comportar o funcionamento em 
32 bits, mas o contrário não é possível. Além disso, o padrão PCI também suporta operar em 5 volts e 
3,3 volts, como os barramentos mais modernos.
4.7 Barramento AGP
No final dos anos 1990, o barramento padrão ISA estava praticamente inutilizado, portanto novos 
projetos, além do aprimoramento do padrão PCI, estavam em desenvolvimento. A Intel desenvolveu um 
novo tipo para comandar a placa gráfica, denominado AGP (Accelerated Graphics Port Bus – barramento 
138
Unidade I
de porta gráfica acelerada), como mostra a figura a seguir. A primeira versão do AGP foi a 1.0, que 
funcionava a uma largura de banda de 264 MB/s, e ficou conhecida como 1x. Embora um pouco mais 
lento do que o já existente PCI, ele era capaz de controlar de forma eficiente a placa gráfica.
Figura 123 – Barramento do tipo AGP
Disponível em: https://bit.ly/3CXCixS. Acesso em: 19 jan. 2023.
4.8 Barramento PCI Express
O barramento AGP foi superado, em desempenho, por um novo tipo, denominado PCI Express, que 
possui a incrível capacidade de largura de banda de 16 GB/s de dados por enlaces de barramento serial 
de alta velocidade.
Figura 124 – Barramento do tipo PCI express
Disponível em: https://bit.ly/3XK8cWA. Acesso em: 19 jan. 2023.
139
ARQUITETURA DE COMPUTADORES MODERNOS
Uma das novas implementações da tecnologia PCI Express, ou simplesmente PCIe, é eliminar o 
barramento paralelo, constituído de muitos mestres e escravos, e usar um projeto baseado em conexões 
seriais ponto a ponto de alto desempenho. Essa solução apresenta uma transição radical na tradição do 
barramento ISA/EISA/PCI e se pauta em algumas ideias do universo de redes Ethernet comutada. A ideia 
se fundamenta em uma estrutura com um computador constituído de um conjunto de chips, memória 
e controladores de E/S que necessitam ser interconectados. O PCIe irá fornecer um sistema comutador 
de uso geral para conectar os chips usando ligações seriais, como ilustra o esquema da figura a seguir.
Gráficos
Sistema PCI Express típico
Disco Rede USB 2 Outro
Ligações seriais 
em pares
Cache de 
nível 2 CPU CHIP ponte
Computador
Memória
Figura 125 – Sistema de barramento PCIe
Fonte: Tanenbaum e Austin (2013, p. 177).
Como mostrado na figura anterior, o processador, a memória e a cache estão conectadas a um chip 
através de ligações seriais em pares. Cada conexão é constituída por um par de canais unidirecionais – um 
liga o comutador e o outro é oriundo dele. Cada canal de transmissão é formado por dois fios de 
barramento, um para o sinal e outro para o aterramento, para diminuir alguma possibilidade de ruído 
durante a transmissão de alta velocidade. A arquitetura PCIe também possui três pontos de diferenças 
em relação ao barramento PCI antigo, um deles é o comutadorcentralizado e o outro é o uso de 
conexões seriais ponto a ponto estreitas. A terceira diferença é um pouco mais sutil, envolve um 
modelo conceitual de mestre de barramento encontrado no PCI, que emite um comando a um escravo 
que envia um pacote de dados a um outro dispositivo. Assim, é comum se referir ao barramento PCIe 
como uma miniatura de rede de comunicação de comutação de pacotes.
4.9 Barramento serial universal USB
Os barramentos PCI e PCIe são muito eficientes e rápidos ao anexar dispositivos de alto desempenho, 
mas são muito caros para ser empregados em dispositivos de E/S, que operam a baixa velocidade. Além 
da questão do custo, alguns barramentos como ISA têm a necessidade de que sejam adaptados alguns 
comutadores e pontes na placa, para assegurar que o barramento terá êxito de execução em versões 
mais recentes e para que nenhum ajuste adicional seja preciso.
140
Unidade I
 Observação
Para resolver todas as pendências relacionadas ao desempenho, em 
1993 sete empresas do ramo da tecnologia (Compaq, DEC, IBM, Intel, 
Microsoft, NEC e Northern Telecom) se juntaram para buscar uma solução 
de unificação para a anexação de uma gama variada de dispositivos de E/S.
Esse padrão resultante da pesquisa em conjunto das empresas envolvidas foi lançado em 1998 e ficou 
conhecido como USB (Universal Serial Bus – barramento serial universal), e desde então é amplamente 
utilizado em computadores, celulares, tablets, smart TVs e sistemas embarcados em geral (TANENBAUM; 
AUSTIN, 2013). Ao se juntarem, as sete empresas tomaram como primordial na elaboração do projeto as 
seguintes características:
• Os usuários não necessitarão de ajustes de comutadores ou pontes para que o USB funcione para 
diferentes tipos de dispositivos.
• Os usuários não precisarão abrir a torre para instalar novos dispositivos de E/S.
• Apenas um tipo de cabo e conector será utilizado como padrão para esse barramento (figura a seguir).
• A energia de alimentação deverá ser fornecida pelo próprio barramento.
• O limite para 127 dispositivos é poderem ser conectados a um único computador usando 
o padrão USB.
• O sistema deverá ser capaz de suportar dispositivos que operem em tempo real, como telefone, 
televisão etc.
• Novos dispositivos poderão ser instalados mesmo com o computador em funcionamento.
• Não será necessária a reinicialização do computador após a instalação do novo dispositivo.
• A produção desse novo barramento e todos os dispositivos de E/S baseados nele não deverá ter 
um custo alto.
141
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 126 – Conector do tipo USB (barramento serial universal)
Disponível em: https://bit.ly/3HeiDer. Acesso em: 19 jan. 2023.
O padrão USB atende a todos esses requisitos e é largamente utilizado em dispositivos como 
teclado, mouse, câmeras fotográficas, scanners, telefones digitais, entre outros. A primeira versão do 
padrão USB ficou conhecida como 1.0 e possui uma largura de banda de 1,5 Mbps, suficiente para 
atender teclados e mouses. Já a versão 1.1 opera em 12 Mbps, capaz de operar impressoras, câmeras 
digitais e  outros dispositivos de multimídia. Já a versão 2.0 tem suporte para dispositivos com a 
capacidade de transferência de 480 Mbps, capaz de operar drives de disco rígido externo, webcams de 
alta definição e interfaces de redes ethernet. A versão 3.0 alcança incríveis velocidades de transferência 
de 5 Gbps e pode ser usada em dispositivos de alta performance e ultrabanda larga, como memórias 
externas SSD (Solid State Drive).
4.10 Principais tipos de transmissão
Existem, basicamente, dois modos para realizar uma transmissão/recepção entre os periféricos/
interfaces, o barramento e o processador/memória principal, denominados serial e paralela 
(MONTEIRO, 2019).
4.10.1 Transmissão serial
Na transmissão em série (também chamada serial), o periférico é conectado ao módulo de controle 
ou interface de E/S através de uma linha única para execução da transmissão de dados, de maneira que 
essa transferência seja realizada um bit de cada vez, mesmo que o controlador tenha a capacidade de 
ser conectado ao processador/memória principal através do barramento constituído de diversas linhas 
de transmissão e com grande largura de banda, como observado na figura a seguir:
142
Unidade I
UCP/MP Periférico
Interface
Buffer
Barramento 
do sistema 
(transmissão em V)
10110001
Serial
Figura 127 – Diagrama de transmissão serial entre uma interface e o periférico
Fonte: Monteiro (2019, p. 345).
Inicialmente, a transmissão serial era considerada muito lenta se comparada com a paralela. Teclado, 
mouse e modens são dispositivos que realizam comunicação serial. Como a transmissão serial é feita 
bit a bit, sempre será necessário que o receptor (RX) e o transmissor (TX) estejam sincronizados bit a bit, 
ou seja, o transmissor deverá transmitir os bits sempre na mesma velocidade, de modo que todos eles 
deverão possuir o mesmo tempo de duração. Por exemplo, se TX estiver funcionando em uma velocidade 
de 1 Kbps, isso significará que cada bit irá durar 1/1.000 segundos ou 1 milissegundo. Para que o RX 
seja capaz de receber todos os bits de forma correta, ou seja, um a um, ele precisa iniciar a sequência de 
bits e denominar qual a sua duração, conhecida como largura de bit. Assim, se a cada 1 milissegundo 
TX enviar um bit, cujo nível de tensão alta é considerado bit 1 e nível de tensão baixa considerado bit 0, 
então RX deverá verificar o nível de tensão da linha recebida para identificar o bit como 0 ou 1.
As comunicações em série também podem ser subclassificadas como síncronas e assíncronas. Nas 
assíncronas, o processo de sincronização de RX é realizado e cada novo caractere transmitido, assim, 
antes de a transmissão ser iniciada, cada caractere será acrescido de dois pulsos, um no início e outro 
no final do pulso. Já a transmissão síncrona é considerada uma forma moderna de comunicação se 
comparada com a assíncrona, pois nesse caso os dados são transmitidos de uma só vez por blocos de 
caracteres sem a necessidade de intervalos entre eles tampouco de um pulso indicando o início ou o 
fim da transmissão, reduzindo com o uso a quantidade de bits na linha de transmissão. Hoje uma das 
aplicações de maior uso de cabeamento em série é sua aplicação para conexão de discos rígidos ou 
drives de SSD, utilizando o cabeamento SATA (Serial Advanced Technology Attachment).
143
ARQUITETURA DE COMPUTADORES MODERNOS
Figura 128 – Conexão de cabo SATA (serial ATA)
Disponível em: https://bit.ly/3wfaaCr. Acesso em: 19 jan. 2023.
4.10.2 Transmissão paralela
Possui a capacidade de enviar um conjunto de bits de cada vez, assim, cada bit é enviado por uma 
linha separada de transmissão, como mostra a figura a seguir:
T R
0 1
Transmissão
Transmissor Receptor
1 0
0 1
1 0
1 1
0 0
0 0
0 0
Caractere 2 Caractere 1
Figura 129 – Diagrama de transmissão paralela entre TX e RX
Fonte: Monteiro (2019, p. 350).
144
Unidade I
 Observação
Nesse tipo de transmissão (paralelo), quanto maior a distância entre os 
dispositivos, maior será o custo, devido à quantidade de linhas utilizadas.
Outra característica das transmissões em paralelo é que elas podem ser mais rápidas, se comparadas 
com algumas conexões em série mais antigas, o que permite maiores taxas de transmissões para dados. 
Um problema aparente com a transmissão em paralelo é que os bits enviados podem não chegar ao 
destino exatamente no mesmo instante ao qual foram programadas para chegar. Isso ocorre devido 
a algumas diferenças de comprimento de cabos de que os canais de comunicação são constituídos. 
A solução para esse problema foi o aprimoramento da transmissão em série, pois ao transmitir bit a bit 
não ocorrerá o problema de desvio conhecido como skew. Consequentemente, como já abordado, em 
1995 surgiu outro padrão, conhecido como USB. Entre os dispositivos que usavam em larga escala as 
conexões em paralelo estão as impressoras e as conexões entre o disco rígido e a placa-mãe,conhecidos 
como IDE (Integrated Drive Electronics), como mostra a figura a seguir:
Figura 130 – Cabo flat para conexão em paralelo do tipo IDE
Disponível em: https://bit.ly/3wiyYta. Acesso em: 19 jan. 2023.
145
ARQUITETURA DE COMPUTADORES MODERNOS
 Resumo
Nesta unidade, foi possível verificar como ocorreu a evolução dos 
computadores modernos e entender como essa evolução proporcionou o 
avanço dos modelos que usamos atualmente.
Vimos que o principal dispositivo eletrônico utilizado nos dispositivos 
atualmente é o transistor. Esse dispositivo ainda continua em plena 
evolução e seu emprego se expande cada vez mais para tudo que usamos 
diariamente, como smart TVs, smartphones, smartwatches, aparelhos de 
micro-ondas, geladeiras, drones, satélites etc.
Destacamos, de forma detalhada e cronológica, alguns dos principais 
aspectos operacionais dos processadores assim como dos registradores que 
dão suporte de memória para armazenamento das instruções.
Em seguida, aprendemos um pouco mais sobre os sistemas de memória. 
Vimos que elas podem ser subdivididas entre memórias internas, ou seja, 
aquelas que estão posicionadas ou dentro da CPU (registradores, memória 
cache) ou acopladas na placa-mãe, como RAM e ROM. Acentuamos 
que as memórias do tipo externa são aquelas acopladas externamente 
às placas-mãe, como discos rígidos, pendrive, fitas magnéticas, mídias 
ópticas, disquetes etc.
Também ressaltamos que existem regras para o endereçamento e 
armazenamento dos dados e instruções nas memórias. Nesse contexto, 
estudamos como os discos rígidos podem operar de forma segura e com 
melhor desempenho utilizando-se o sistema de discos redundantes, RAID.
Finalmente, pudemos detalhar os diferentes tipos de conexões e 
barramentos existentes em computadores ou em qualquer dispositivo 
digital. Observamos que o principal tipo de barramento encontrado em um 
PC é o da placa-mãe. Além disso, aprendemos que a própria placa-mãe 
necessita de outros tipos de conexões para se comunicar eficazmente 
com os dispositivos periféricos, o que pode ocorrer principalmente pela 
conexão USB. Vimos que durante a evolução das placas-mãe vários 
tipos de conectores foram utilizados, como VESA, ISA, PCI, entre outros, 
o que possibilitou a variação da velocidade de transmissão dos dados 
e das instruções.
146
Unidade I
 Exercícios
Questão 1. (Apice 2021, adaptada) No contexto de sistemas operacionais e considerando os estágios 
dos computadores multiníveis modernos, avalie as afirmativas a seguir.
I – Um sistema operacional é um programa que, do ponto de vista do programador, acrescenta 
diversas novas instruções e características, acima e além do que o nível ISA (Instruction Set 
Architecture – arquitetura do conjunto de instrução) fornece.
II – Em geral, o sistema operacional é executado, em grande parte, em software, mas não há qualquer 
razão teórica para que ele não possa ser colocado em hardware, exatamente como acontece com os 
microprogramas (quando estão presentes).
III – O sistema operacional pode ser considerado um intérprete para certas características de 
arquitetura não encontradas no nível ISA. Entre as principais, estão memória virtual, instruções de E/S 
virtual e facilidades de processamento.
É correto o que se afirma em:
A) I, apenas.
B) III, apenas.
C) I e II, apenas.
D) II e III, apenas.
E) I, II e III.
Resposta correta: alternativa E.
Análise das afirmativas
I – Afirmativa correta.
Justificativa: os computadores modernos apresentam diversos estágios de desenvolvimento, nos 
quais foram introduzidos, ao longo do tempo, diferentes níveis de abstrações e de organizações para 
o tratamento de dados/instruções. Atualmente, são aceitos, basicamente, seis níveis, que vão do nível 
zero, também conhecido como nível lógico digital, até o nível cinco, no qual estão as linguagens de 
programação modernas. O nível 2, que corresponde ao nível ISA, contém as instruções de operação 
do hardware, ou seja, o conjunto de instruções que o processador pode realizar. Já o nível 3 é o 
nível do sistema operacional (SO). Nesse nível, são acrescentados recursos além dos fornecidos pelo 
147
ARQUITETURA DE COMPUTADORES MODERNOS
nível ISA, como a possibilidade oferecida pelo SO de gerenciar o funcionamento do processador e 
da memória, de forma a permitir o uso simultâneo de diversos aplicativos (que conhecemos como 
sistemas multitarefas).
II – Afirmativa correta.
Justificativa: hardware e software são considerados recursos logicamente equivalentes. Isso significa 
que toda operação realizada pelo software pode ser implementada diretamente pelo hardware, assim 
como operações executadas pelo hardware podem ser simuladas pelo software. Desse modo, não há 
razão teórica para que um sistema operacional não possa ser executado em hardware. A escolha pelo 
software se dá por questões de custo e de facilidade de atualização, entre outros motivos que tornam 
essa implementação mais viável.
III – Afirmativa correta.
Justificativa: o sistema operacional funciona como um interpretador de comandos oriundos dos 
níveis superiores (níveis 4 e 5), arbitrando o acesso ao hardware. Com isso, características de arquitetura 
não presentes no nível ISA, como memória virtual, são implementadas graças ao gerenciamento do SO.
Questão 2. (Enade 2017, adaptada) Leia o texto a seguir a respeito da memória em um sistema 
computacional.
Em um computador, a memória é a unidade funcional que armazena e recupera operações e dados. 
Tipicamente, a memória de um computador usa uma técnica chamada acesso aleatório, que permite 
o acesso a qualquer uma de suas posições (células). As memórias de acesso aleatório são divididas em 
células de tamanho fixo, estando cada célula associada a um identificador numérico único chamado 
endereço. Todos os acessos à memória referem-se a um endereço específico e deve-se sempre buscar ou 
armazenar o conteúdo completo de uma célula, ou seja, a célula é a unidade mínima de acesso.
SCHNEIDER, G. M.; GERSTING, J. L. An invitation to computer science. 6. ed. 
Boston: MA: Course Technology, Cengage Learning, 2009 (com adaptações).
A figura a seguir ilustra a estrutura de uma unidade de memória de acesso aleatório.
148
Unidade I
Endereço
0
1
2
3
2N-1
Memória
Largura da memória
Registrador de endereços da memória
Registrador de dados da memória
N bits
1 bits
Figura 131 
Considerando o funcionamento de uma memória de acesso aleatório, avalie as afirmativas a seguir.
I – Se a largura do registrador de endereços da memória for de 8 bits, o tamanho máximo dessa 
unidade de memória será de 256 células.
II – Se o registrador de dados da memória tiver 8 bits, será necessária mais que uma operação para 
armazenar o valor inteiro, 2024, nessa unidade de memória.
III – Se o registrador de dados da memória tiver 12 bits, é possível que a largura da memória 
seja de 8 bits.
É correto o que se afirma em:
A) I, apenas.
B) III, apenas.
C) I e II, apenas.
D) II e III, apenas.
E) I, II e III.
Resposta correta: alternativa C.
149
ARQUITETURA DE COMPUTADORES MODERNOS
Análise das afirmativas
I – Afirmativa correta.
Justificativa: se a largura do registrador de endereços da memória for de n bits, é possível 
endereçar até 2n células de memória. Com um registrador de endereços de 8 bits, endereçamos 
28 = 256 células de memória.
II – Afirmativa correta.
Justificativa: se o registrador de dados da memória tiver m bits, será possível armazenar 2m valores 
inteiros distintos nesse registrador, sendo que o valor armazenado pode ter um valor que vai de 
0 até 2m – 1. Com um registrador de dados de 8 bits, pode-se armazenar na unidade de memória, 
em uma operação, um valor que varia de 0 até 28 – 1 = 255. Desse modo, será necessária mais 
do que uma operação de gravação para armazenar o valor inteiro, 2024, nessa unidade de memória. 
Para que essa gravação acontecesse em apenas uma operação, precisaríamos de um registrador de 
dados de, pelo menos, 11 bits, já que 211 – 1 = 2047.III – Afirmativa incorreta.
Justificativa: o registrador de dados pode ter a capacidade maior do que uma célula da memória com 
a qual se comunica. Normalmente, um registrador de dados tem o tamanho da palavra do processador. 
Desse modo, um dado pode ocupar várias células de memória. No entanto, é esperado que o tamanho 
do registrador de dados seja múltiplo da largura de memória. Como 12 não é múltiplo de 8, temos uma 
afirmativa incorreta.

Mais conteúdos dessa disciplina