Buscar

Teoria de Microcontroladores e Microprocessadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 201 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 201 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 201 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Indaial – 2021
Teoria de 
MicroconTroladores 
e Microprocessadores
Prof. Kevin Rabelo Costa
1a Edição
Copyright © UNIASSELVI 2021
Elaboração:
Prof. Kevin Rabelo Costa
Revisão, Diagramação e Produção:
Centro Universitário Leonardo da Vinci – UNIASSELVI
Ficha catalográfica elaborada na fonte pela Biblioteca Dante Alighieri 
UNIASSELVI – Indaial.
Impresso por:
C837t
Costa, Kevin Rabelo
Teoria de microcontroladores e microprocessadores. / Kevin 
Rabelo Costa – Indaial: UNIASSELVI, 2021.
192 p.; il.
ISBN 978-65-5663-735-8
ISBN Digital 978-65-5663-736-5
1. Monitoramento de dados. - Brasil. II. Centro Universitário 
Leonardo da Vinci.
CDD 004
apresenTação
Caro acadêmico, apresentamos a você o livro de Microcontroladores 
e Microprocessadores. Através dele, você terá acesso ao conhecimento 
necessário para realizar os seus primeiros projetos e acompanhar uma área 
que é base para as mais recentes inovações tecnológicas, como: internet das 
coisas, robótica, monitoramento de dados, entre muitos outras. Esperamos 
que esse livro didático seja um diferencial no seu futuro profissional.
De modo a facilitar o seu entendimento, este livro foi dividido em 
três unidades, apresentadas a seguir, cada uma delas com três tópicos. Ao 
final de cada tópico estão presentes questões de autoatividade com o intuito 
de proporcionar uma melhor retenção do conteúdo, sendo primordial 
a realização delas. Lembre-se, muito em Eletrônica e Programação está 
relacionado à prática e ao exercício de determinadas atividades básicas.
A Unidade 1 apresenta um panorama histórico do desenvolvimento 
dos microprocessadores e microcontroladores, partindo desde o conceito 
de máquinas programáveis até os últimos lançamentos nessa indústria. Na 
unidade, nós estudaremos também a arquitetura de um microprocessador, 
utilizando o conhecimento adquirido para o estudo do microcontrolador 
Atmega328 no final da unidade.
Na Unidade 2, nós estudaremos a programação de dispositivos 
microcontrolados. Teremos como ponto de partida a lógica de programação 
e seguiremos estudando os principais tipos de dados e estruturas utilizadas 
na linguagem C++. Ao final, nos utilizaremos desse conhecimento para 
estudar o básico da placa de desenvolvimento Arduino Uno.
Na Unidade 3, desenvolveremos nossos primeiros projetos práticos, 
utilizando uma visão profissional de: abordagem do problema, utilização de 
recursos do microcontrolador, simulação e resultados. Nessa fase, você será 
capaz de desenvolver seus primeiros projetos, a partir de um entendimento 
pleno do hardware e software à disposição.
Pretendemos, assim, caro acadêmico, contribuir com a sua formação 
na área através de um conteúdo bem elaborado e consoante com a tecnologia 
atual.
Prof. Kevin Rabelo
Você já me conhece das outras disciplinas? Não? É calouro? Enfim, tanto para 
você que está chegando agora à UNIASSELVI quanto para você que já é veterano, há novi-
dades em nosso material.
Na Educação a Distância, o livro impresso, entregue a todos os acadêmicos desde 2005, é 
o material base da disciplina. A partir de 2017, nossos livros estão de visual novo, com um 
formato mais prático, que cabe na bolsa e facilita a leitura. 
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova diagra-
mação no texto, aproveitando ao máximo o espaço da página, o que também contribui 
para diminuir a extração de árvores para produção de folhas de papel, por exemplo.
Assim, a UNIASSELVI, preocupando-se com o impacto de nossas ações sobre o ambiente, 
apresenta também este livro no formato digital. Assim, você, acadêmico, tem a possibilida-
de de estudá-lo com versatilidade nas telas do celular, tablet ou computador. 
 
Eu mesmo, UNI, ganhei um novo layout, você me verá frequentemente e surgirei para 
apresentar dicas de vídeos e outras fontes de conhecimento que complementam o assun-
to em questão. 
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas 
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa 
continuar seus estudos com um material de qualidade.
Aproveito o momento para convidá-lo para um bate-papo sobre o Exame Nacional de 
Desempenho de Estudantes – ENADE. 
 
Bons estudos!
NOTA
Olá, acadêmico! Iniciamos agora mais uma disciplina e com ela 
um novo conhecimento. 
Com o objetivo de enriquecer seu conhecimento, construímos, além do livro 
que está em suas mãos, uma rica trilha de aprendizagem, por meio dela você 
terá contato com o vídeo da disciplina, o objeto de aprendizagem, materiais complemen-
tares, entre outros, todos pensados e construídos na intenção de auxiliar seu crescimento.
Acesse o QR Code, que levará ao AVA, e veja as novidades que preparamos para seu estudo.
Conte conosco, estaremos juntos nesta caminhada!
LEMBRETE
suMário
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS
 MICROCONTROLADORES E MICROPROCESSADORES ........................... 1
TÓPICO 1 — HISTÓRIA DOS MICROCONTROLADORES
 E MICROPROCESSADORES ..................................................................................... 3
1 INTRODUÇÃO .................................................................................................................................... 3
2 OS PRIMEIROS COMPUTADORES ............................................................................................... 4
3 EIS QUE SURGEM OS TRANSISTORES ...................................................................................... 6
4 OS PRIMEIROS MICROPROCESSADORES ............................................................................... 8
5 MICROCONTROLADORES ............................................................................................................. 9
6 ESTADO DA ARTE ........................................................................................................................... 10
6.1 LANÇAMENTOS RECENTES EM MICROPROCESSADORES ........................................... 10
6.2 LANÇAMENTOS RECENTES EM MICROCONTROLADORES ......................................... 11
RESUMO DO TÓPICO 1..................................................................................................................... 14
AUTOATIVIDADE .............................................................................................................................. 15
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR ............................................. 19
1 INTRODUÇÃO .................................................................................................................................. 19
2 UNIDADE LÓGICO ARITMÉTICA – ULA ................................................................................. 20
3 UNIDADE DE CONTROLE ............................................................................................................ 21
4 REGISTRADORES ............................................................................................................................ 23
5 BARRAMENTOS ............................................................................................................................... 24
6 SET DE INSTRUÇÕES ..................................................................................................................... 25
6.1 ELEMENTOS DE UMA INSTRUÇÃO ...................................................................................... 25
6.2 TIPOS DE INSTRUÇÕES ............................................................................................................. 27
6.3 NÚMERO DE ENDEREÇOS ....................................................................................................... 28
6.4 TIPOS DE OPERANDOS ............................................................................................................. 29
6.4.1 Números ................................................................................................................................ 29
6.4.2 Dadoslógicos ....................................................................................................................... 30
6.4.3 Caracteres .............................................................................................................................. 30
6.5 ENDEREÇAMENTO .................................................................................................................... 31
6.5.1 Imediato ................................................................................................................................ 31
6.5.2 Direto ..................................................................................................................................... 31
6.5.3 Indireto .................................................................................................................................. 32
6.5.4 Por registrador ..................................................................................................................... 32
6.5.5 Indexado ............................................................................................................................... 32
6.5.6 Base mais deslocamento .................................................................................................... 33
7 AS ARQUITETURAS RISC E CISC ............................................................................................... 33
8 AS ARQUITETURAS VON NEUMANN E HARVARD ............................................................ 35
RESUMO DO TÓPICO 2..................................................................................................................... 37
AUTOATIVIDADE .............................................................................................................................. 39
TÓPICO 3 — O MICROCONTROLADOR ATMEGA328 ............................................................ 41
1 INTRODUÇÃO ................................................................................................................................. 41
2 FAMILIA AVR .................................................................................................................................... 42
3 ARQUITETURA ................................................................................................................................. 43
4 MEMÓRIAS DE PROGRAMA ....................................................................................................... 46
5 MEMÓRIA DE DADOS ................................................................................................................... 48
6 REGISTRADORES ............................................................................................................................ 49
7 INTERRUPÇÕES ............................................................................................................................... 52
8 PINAGEM ........................................................................................................................................... 53
LEITURA COMPLEMENTAR ............................................................................................................ 56
RESUMO DO TÓPICO 3..................................................................................................................... 61
AUTOATIVIDADE .............................................................................................................................. 63
REFERÊNCIAS ...................................................................................................................................... 66
UNIDADE 2 — PRIMEIROS PASSOS NA PROGRAMAÇÃO
 DE DISPOSITIVOS MICROCONTROLADOS ....................................................................69
TÓPICO 1 — INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C++ .......................... 71
1 INTRODUÇÃO .................................................................................................................................. 71
2 LÓGICA DE PROGRAMAÇÃO ..................................................................................................... 72
2.1 DESCRIÇÃO ................................................................................................................................. 72
2.2 FLUXOGRAMA ........................................................................................................................... 73
2.3 PSEUDOCÓDIGO ........................................................................................................................ 74
3 A LINGUAGEM C++ ......................................................................................................................... 75
4 TIPOS DE DADOS E VARIÁVEIS ................................................................................................ 76
4.1 TIPOS DE DADOS ........................................................................................................................ 76
4.2 DECLARANDO VARIÁVEIS ...................................................................................................... 77
4.3 CONSTANTES ............................................................................................................................. 79
5 OPERADORES LÓGICOS E RELACIONAIS ............................................................................. 80
5.1 OPERADORES RELACIONAIS ................................................................................................. 80
5.2 OPERADORES LÓGICOS ........................................................................................................... 81
6 ESTRUTURAS DE SELEÇÃO ......................................................................................................... 83
7 ESTRUTURA DE REPETIÇÃO ....................................................................................................... 85
8 VETORES ............................................................................................................................................ 88
9 STRINGS ............................................................................................................................................. 89
10 FUNÇÕES .......................................................................................................................................... 90
RESUMO DO TÓPICO 1..................................................................................................................... 94
AUTOATIVIDADE .............................................................................................................................. 95
TÓPICO 2 — APRESENTAÇÃO DA PLACA DE DESENVOLVIMENTO ARDUINO ......... 97
1 INTRODUÇÃO ................................................................................................................................. 97
2 HARDWARE E SOFTWARE LIVRE ............................................................................................. 98
3 A FAMILIA ARDUINO .................................................................................................................. 100
3.1 ARDUINO UNO ......................................................................................................................... 101
3.2 ARDUINO NANO ...................................................................................................................... 101
3.3 ARDUINO LEONARDO ........................................................................................................... 101
3.4 ARDUINO MEGA ...................................................................................................................... 102
4 ARQUITETURA ............................................................................................................................... 102
RESUMO DO TÓPICO 2................................................................................................................... 105
AUTOATIVIDADE ............................................................................................................................106
TÓPICO 3 — CONFIGURANDO E CONHECENDO A IDE DO ARDUINO ....................... 109
1 INTRODUÇÃO ................................................................................................................................ 109
2 INSTALAÇÃO E CONFIGURAÇÃO DA IDE ........................................................................... 110
3 CONECTANDO O ARDUINO ..................................................................................................... 112
4 FUNÇÕES SETUP() E LOOP() ...................................................................................................... 114
5 MONITOR SERIAL ......................................................................................................................... 115
6 ENVIANDO O PRIMEIRO SKETCH .......................................................................................... 116
7 IMPORTANDO BIBLIOTECAS ................................................................................................... 118
LEITURA COMPLEMENTAR .......................................................................................................... 122
RESUMO DO TÓPICO 3................................................................................................................... 128
AUTOATIVIDADE ............................................................................................................................ 129
REFERÊNCIAS .................................................................................................................................... 131
UNIDADE 3 — DESENVOLVIMENTO DE PROJETOS COM ARDUINO ........................... 133
TÓPICO 1 — SIMULANDO O ARDUINO ATRAVÉS DO TINKERCAD ............................. 135
1 INTRODUÇÃO ................................................................................................................................ 135
2 PRIMEIROS PASSOS COM O TINKERCAD ........................................................................... 136
3 AJUSTANDO PARAMÊTROS ...................................................................................................... 139
3.1 OSCILOSCÓPIO ......................................................................................................................... 140
3.2 GERADOR DE FUNÇÃO .......................................................................................................... 141
3.4 FONTE DE ENERGIA ................................................................................................................ 142
3.3 MULTÍMETRO ............................................................................................................................ 142
4 DEPURADOR ................................................................................................................................... 143
5 ADICIONANDO BIBLIOTECAS ................................................................................................. 144
6 EXEMPLO PRÁTICO ...................................................................................................................... 145
RESUMO DO TÓPICO 1................................................................................................................... 148
AUTOATIVIDADE ............................................................................................................................ 149
TÓPICO 2 — EXPLORANDO RECURSOS NATIVOS DO ARDUINO ................................. 151
1 INTRODUÇÃO ................................................................................................................................ 151
2 ENTRADAS E SAÍDAS DIGITAIS .............................................................................................. 151
3 CONVERSORES ANALÓGICO-DIGITAIS .............................................................................. 152
4 SAIDAS PWM .................................................................................................................................. 155
5 TRANSMISSÃO SERIAL .............................................................................................................. 158
6 TIMERS .............................................................................................................................................. 160
RESUMO DO TÓPICO 2................................................................................................................... 164
AUTOATIVIDADE ............................................................................................................................ 165
TÓPICO 3 — PROJETOS COM SENSORES E ATUADORES .................................................. 167
1 INTRODUÇÃO ................................................................................................................................ 167
2 CONHECENDO OS SENSORES E ATUADORES ................................................................... 167
2.1 SENSORES DE LUMINOSIDADE ........................................................................................... 168
2.2 SENSORES DE TEMPERATURA ............................................................................................. 169
2.3 SENSORES DE DISTÂNCIA ..................................................................................................... 171
2.4 MOTOR CC .................................................................................................................................. 172
2.5 MOTOR DE PASSO .................................................................................................................... 174
2.6 DISPLAY LCD ............................................................................................................................. 175
3 PROJETO DE UM POSTE ELETRÔNICO.................................................................................. 176
4 PROJETO DE UM ALARME DE PRESENÇA ............................................................................ 178
5 PROJETO DE UM TERMÔMETRO DIGITAL .......................................................................... 179
LEITURA COMPLEMENTAR .......................................................................................................... 183
RESUMO DO TÓPICO 3................................................................................................................... 189
AUTOATIVIDADE ............................................................................................................................ 190
REFERÊNCIAS .................................................................................................................................... 192
1
UNIDADE 1 — 
HISTÓRIA E ARQUITETURA DOS 
MICROCONTROLADORES E 
MICROPROCESSADORES
OBJETIVOS DE APRENDIZAGEM
PLANO DE ESTUDOS
 A partir do estudo desta unidade, você deverá ser capaz de:
• conhecer a evolução da tecnologia de microprocessadores e microcon-
troladores, através da análise de fatos históricos e detalhes de arquite-
tura;
• entender a arquitetura e organização dos processadores, bem como cada 
módulo se comunica para realizar o processamento de dados;
• compreender os detalhes construtivos do Atmega328, microcontrolador 
presente no Arduino Uno;
• compreender como é realizada a configuração de um microcontrolador 
em nível de máquina.
 Esta unidade está dividida em três tópicos. No decorrer da unidade, 
você encontrará autoatividades com o objetivo de reforçar o conteúdo 
apresentado.
TÓPICO 1 – HISTÓRIA DOS MICROCONTROLADORES e 
 MICROPROCESSADORES
TÓPICO 2 – ARQUITETURA DE UM MICROPROCESSADOR
TÓPICO 3 – O MICROCONTROLADOR ATMEGA328
Preparado para ampliar seus conhecimentos? Respire e vamos 
em frente! Procure um ambiente que facilite a concentração, assim absorverá 
melhor as informações.
CHAMADA
2
3
TÓPICO 1 — UNIDADE 1
HISTÓRIA DOS MICROCONTROLADORES E 
MICROPROCESSADORES
1 INTRODUÇÃO
A automatização de tarefas, ou as rotinas, como é mais comum falarmos, 
estão presentes na vida de todos.Você, todos os dias acorda e, provavelmente, 
escova os dentes, arruma a cama e toma café da manhã, antes de iniciar seus estudos 
ou outra atividade. As rotinas são ações sequenciais realizadas diariamente, 
que você realiza muitas vezes sem perceber e de forma automática. Da mesma 
forma que uma rotina, como ir à academia todos os dias, pode ser aprendida, 
as máquinas podem ser programadas para executar uma sequência de ações 
ininterruptamente. Hoje isso já é extremamente comum: você programa o seu 
despertador para tocar todos os dias no mesmo horário, programa a sua geladeira 
para manter acima de uma determinada temperatura, ou a sua Alexa para dizer 
“Oi” quando você chegar em casa. Mas nem sempre foi assim. As primeiras 
máquinas consideradas programáveis não eram nem elétricas. Como você vai 
ver nesse tópico foi preciso longos anos de estudo para chegar onde chegamos. 
Mesmo a humanidade já tendo avançado bastante, a ponto de chegarmos a 
miniaturizações como o celular, ainda existe espaço para muito mais.
O estudo histórico dos microprocessadores e microcontroladores 
é principalmente importante para acompanharmos as tendências na área. 
Como esses dispositivos evoluíram? Qual a tendência dessa evolução? Está 
na miniaturização? Está na velocidade de processamento? Isso tudo além de 
estudarmos a tecnologia que foi utilizada na época, porque ao contrário do que se 
pensa, muita tecnologia dita “antiga” ainda é usada atualmente nos mais diversos 
dispositivos, como veremos neste tópico.
Pensando nisso, você estudará como os computadores se desenvolveram 
até chegarem às máquinas complexas que são hoje e que servem como bases para 
as mais diversas aplicações. Dessa forma, a leitura desse tópico agregará a você, 
acadêmico, não apenas o conhecimento histórico do assunto, mas também a base 
tecnológica que levou à evolução dos computadores. Assim, você terá, ao fim deste 
tópico, a base necessária para iniciar o estudo efetivo dos microcontroladores e 
microprocessadores de que trataremos no restante desse livro.
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
4
2 OS PRIMEIROS COMPUTADORES
Em vez de já irmos explorando os primeiros computadores, é interessante 
primeiro entendermos por que eles surgiram. Como vimos, o nosso dia a dia 
é formado de rotinas, em outras palavras, atividades repetitivas, que fazemos 
sempre da mesma forma e normalmente com os mesmos materiais. Ao longo da 
história a tendência sempre foi de melhorar mais esses processos, de forma a deixá-
los mais rápidos, menos onerosos e mais simples. Foi a partir dessa tendência de 
facilitar processos que surgiram as primeiras máquinas programáveis. A primeira 
delas, conforme afirma Pereira (2009), foram os teares, que eram programadas 
através de cartões perfurados para repetir padrões em tecidos. Essas máquinas 
são consideradas as percussoras dos computadores justamente por exibir esse 
padrão programado e repetitivo que vemos ainda hoje em vários códigos 
computacionais. 
Há ainda quem afirme que os computadores surgiram da necessidade de 
se fazer cálculos de forma rápida e precisa. De qualquer modo, as calculadoras 
também são consideradas parte importante no processo de concepção dos 
computadores. Caso você esteja se perguntando, a primeira calculadora foi 
inventada por William Schickard, ainda no início do século XVII. Ela era mecânica 
e capaz de realizar as quatro operações básicas em um girar de alavancas. 
Durante muito tempo se achou que a primeira calculadora foi inventada por 
Pascal, contudo após o estudo de cartas trocadas entre Schickard e Kepler, se 
descobriu que o alemão, na verdade, estava 20 anos adiantado em relação à Pascal 
(WAZLAWICK, 2017). A Figura 1 apresenta a vista da famosa Pascaline, criada 
por Pascal. Apesar da importância histórica, essas máquinas não são consideradas 
programáveis, simplesmente por não haver a entrada de instruções informando o 
que fazer com os números.
FIGURA 1 – PASCALINE, DURANTE MUITO TEMPO FOI CONSIDERADA A PRIMEIRA 
CALCULADORA A SER INVENTADA
FONTE: <https://www.britannica.com/technology/Pascaline>. Acesso em: 23 mar. 2021.
TÓPICO 1 — HISTÓRIA DOS MICROCONTROLADORES E MICROPROCESSADORES
5
Os cartões perfurados no qual os teares são baseados foram utilizados ainda 
em várias outras máquinas até chegarem ao engenheiro alemão Konrad Zuse, 
que construiu o primeiro computador eletromecânico utilizando-se dos cartões 
perfurados e relés, o Z1. Para você entender melhor, os relés foram inventados 
anos antes por Joseph Henry, e se utilizavam de um fenômeno eletromagnético 
conhecido como indução magnética. Vamos entender melhor esse fenômeno: 
basicamente, ao induzirmos uma corrente elétrica em um enrolamento de fios, 
um campo magnético é gerado, sendo capaz de atrair objetos metálicos, da mesma 
forma que um ímã. A partir desse princípio, o relé, formado por uma bobina e 
um contato móvel metálico foi utilizado para gerar estados binários de zeros e 
uns. Inicialmente, com a bobina desenergizada, o contato permanece aberto, não 
havendo condução de corrente, o que corresponde digitalmente ao estado “0”, 
em contrapartida, ao energizar a bobina, o campo magnético gerado aproxima o 
contato, permitindo o fluxo de corrente, o que corresponde ao estado digital “1”. 
Na Figura 2, você confere o esquema prático de um relé, bem como os estados 
de comutação que falamos. Vale dizer que apesar dos relés terem proporcionado 
grandes ganhos em relação às máquinas mecânicas, estes ainda era muito lentos 
e foram rapidamente substituídos pelas válvulas mecânicas na construção de 
computadores.
Um dos primeiros computadores à válvula conhecido foi o famoso 
ENIAC, fabricado pelo EUA durante a segunda guerra mundial. Apesar de ser 
extremamente pesado (em torno de 27 toneladas), e consumir em torno de 150 
kW, o ENIAC apresentou um grande avanço em relação ao seu antecessor Mark 
I, que operava a 8Hz enquanto o ENIAC chegava a alcançar 5 kHZ (TECHTUDO, 
2012). O ENIAC também foi o primeiro computador a utilizar a arquitetura 
Von Neumman, que como veremos adiante, é utilizada até hoje em certos 
microprocessadores.
Mesmo com a capacidade de programação, os computadores anteriores 
à década de 1950, necessitavam terem cabos reposicionados, chaves ligadas 
ou desligadas e um novo programa devia ser carregado sempre que houvesse 
a necessidade de reprogramação (TECMUNDO, 2011). As coisas começaram a 
mudar, e principalmente a diminuir, quando um certo componente foi inventado.
Apesar de os relés não terem sido utilizados por muito tempo na construção 
de computadores, eles são utilizados ainda hoje, principalmente para o chaveamento de 
cargas em corrente alternada. Um exemplo interessante é o acionamento remoto de uma 
lâmpada através de um microcontrolador. O relé permite, nesse caso, o acionamento de 
uma carga em corrente alternada, normalmente conectada em 220V ou 110V, através de 
um pulso de 5V gerado pelo microcontrolador.
INTERESSA
NTE
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
6
FIGURA 2 – ESTADOS DE CONDUÇÃO DE UM RELÉ
FONTE: Adaptado de <https://bit.ly/371sfY4>. Acesso em: 23 mar. 2021.
3 EIS QUE SURGEM OS TRANSISTORES
O grande mérito por transformar os computadores antigos, que ocupavam 
o tamanho de uma sala, em aparelhos portáteis que carregamos hoje na bolsa está 
em um componente: o transistor. A invenção de Bardeen, Brattain e Shockley foi 
patenteada em 1947 e revolucionou a eletrônica da época. O transistor substituiu 
as válvulas eletromecânicas e deu espaço para uma redução no tamanho dos 
dispositivos eletrônicos em geral.
Basicamente, o transistor é um dispositivo eletrônico composto por 
pelo menos três terminais, nomeados como base, coletor e emissor. Uma tensão 
aplicada na base faz com que a corrente flua entre coletor e emissor. Dessa forma, 
o transistor também pode atuar como uma chave eletrônica, uma vez que uma 
tensão na base permite o fluxo de corrente(chave fechada) e quando não existe 
tensão, a corrente fica impedida de circular (chave aberta). Esse comportamento 
reproduz os zeros e uns amplamente utilizados na computação para cálculo e 
processamento de dados.
Tudo bem, mas você deve se perguntar o que levou os transistores a 
serem utilizados tão amplamente na construção de computadores, uma vez que 
os relés e até mesmo as válvulas replicam esse mesmo estado de zero e uns. O 
grande diferencial do transistor está na velocidade e também no tamanho desses 
dispositivos. Como isso é possível? De forma básica, o processo de condução do 
transistor (o fluxo de corrente através dele) acontece de forma extremamente 
rápida. Além disso, são necessários apenas pequenas porções de materiais 
dopados para a montagem de um transistor, o que garantiu também uma 
miniaturização dos computadores. A partir da sua invenção, o transistor passou a 
ser utilizado na construção de computadores e também na amplificação de sinais 
e na implementação de dispositivos lógicos.
a) Estado 0: a bobina desenergizada 
não proporciona o campo magnético 
necessário para unir os dois contatos.
b) Estado 1: a energização da bobina 
proporciona a aproximação dos 
contatos e o fluxo de corrente.
TÓPICO 1 — HISTÓRIA DOS MICROCONTROLADORES E MICROPROCESSADORES
7
Como você deve lembrar, as portas lógicas desempenham papel 
fundamental na Eletrônica Digital. Uma curiosidade é que todas as portas 
lógicas podem ser recriadas utilizando transistores, assim como memórias, 
microprocessadores e microcontroladores. Por isso enfatizamos tanto a 
importância da invenção dos transistores. As figuras 3 e 4 apresentam uma porta 
lógica AND e NOT implementadas apenas com transistores discretos.
FIGURA 3 – IMPLEMENTAÇÃO DE UMA 
PORTA AND USANDO TRANSITORES
FONTE: O autor (2021) FONTE: O autor (2021)
FIGURA 4 – IMPLEMENTAÇÃO DE UMA 
PORTA NOT USANDO TRANSISTORES
A dopagem eletrônica é o procedimento em que um determinado material 
semicondutor é acrescido de impurezas de modo a proporcionar uma condução controlada 
(PEREIRA, 2010). No caso do transistor, a condição de condução acontece quando uma 
tensão é induzida no terminal base. Para saber mais sobre a relação da dopagem com 
a condução de semicondutores acesse: http://www.quimica.seed.pr.gov.br/modules/
conteudo/conteudo.php?conteudo=179.
NOTA
A fim de ampliar os conhecimentos acerca dos transistores e a sua importância 
para computação, recomenda-se a leitura do seguinte artigo: https://tecdicas.com/criando-
portas-logicas-com-transistores/.
DICAS
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
8
O surgimento dos transistores proporcionou um grande avanço na 
computação da época: computadores passaram a ser produzidos de forma menos 
dispendiosa, em menor espaço e consumindo menos energia. É aí que nascem os 
primeiros microprocessadores, como veremos a seguir.
4 OS PRIMEIROS MICROPROCESSADORES
No final dos anos 1960, os transistores passaram a ser utilizados na 
construção dos mais diferentes tipos de circuitos lógicos. Entre eles, começaram 
a surgir dispositivos capazes de executar sequência de instruções, assim como os 
microprocessadores modernos. Inicialmente, esses circuitos eram formados pela 
conexão discreta de diversos circuitos integrados e transistores. Só no início da 
década de 1970 surgiram os primeiros microprocessadores totalmente integrados 
e encapsulados em um único chip, como conhecemos hoje (TECHTUDO, 2012).
Conforme afirma Pereira (2009), o primeiro microprocessador foi lançado 
em 1969 pela Intel e ficou conhecido na época como i4004. O chip era destinado 
para o desenvolvimento de calculadoras, e possuía na época 4 bits, cerca de 46 
instruções, um clock base de 740 kHz, e era o resultado do encapsulamento de 
mais de 2000 transistores em um único chip. A vista do i4004 pode ser vista na 
Figura 5.
FIGURA 5 – INTEL I4004: CONSIDERADO O PRIMEIRO MICROPROCESSADOR DA HISTÓRIA.
FONTE: <https://bit.ly/376u8Tw>. Acesso em: 15 jul. 2021.
O i4004 deu início a um intenso desenvolvimento tecnológico nos 
anos subsequentes. Como veremos, a busca a partir de agora foi por viabilizar 
dispositivos cada vez mais rápidos. Em 1972, a Intel lançou o i8008, processador 
de 8 bits, com barramento externo de 14 bits e capaz de endereçar 48 instruções e 
um clock de 800 kHz. O sucesso do i8008 foi tão grande que o microprocessador 
passou a integrar os primeiros computadores pessoais da época.
O i8008 foi o percursor de um dos microprocessadores mais importantes 
da história: o i8080, o primeiro microprocessador a implementar um barramento 
de 16 bits, com clock de 3 MHz e 78 instruções. O i8080 equipou o IBM-PC, 
TÓPICO 1 — HISTÓRIA DOS MICROCONTROLADORES E MICROPROCESSADORES
9
enquanto o Macintosh da Apple foi equipado com os processadores 6800 da 
Motorola, que também já concorria nesse mercado na época.
 
Foi com base no i8080 que surgiram a família de processadores x86. O 
primeiro processador da família, o i8086, alcançou um clock com velocidade 
de 5 MHz, usando instruções de 16 bits. A família x86 foi lançada no final da 
década de 70 e ainda serve como base para boa parte dos computadores atuais 
(TECHTUDO, 2012).
5 MICROCONTROLADORES
Você já deve ter percebido que nos computadores modernos os 
microprocessadores não atuam de forma autônoma, sendo necessários 
componentes externos como: memória RAM (para armazenamento de dados 
e variáveis) e memória ROM (para armazenamento de programas), além de 
geradores de clock externo, endereçamento, dispositivos de regulação, entre 
outros. A partir dessa necessidade, surgiu ainda em meados de 70, o primeiro 
MCU (Micro Controller Unit), ou microcontroladores como passaremos a chamar 
aqui. O primeiro microcontrolador foi inventado pela Texas Instrument e era 
basicamente o encapsulamento de um microprocessador com memórias RAM e 
ROM integradas (AUGARTEN, s.d.). 
Ao contrário dos microprocessadores, um microcontrolador já possui 
todos os dispositivos necessários para o seu funcionamento integrados em um 
mesmo chip. Como veremos mais adiante, muitos microcontroladores hoje já 
possuem até tecnologias como Bluetooth e WiFi integradas, além de diversos 
protocolos de comunicação.
Os primeiros microcontroladores derivaram também do i8080. Chips 
como o 8048, e posteriormente o 8050 da Intel, se tornaram os mais populares na 
época e os mais utilizados em tarefas de automação.
Nos anos subsequentes, os microcontroladores continuaram evoluindo 
para chips mais rápidos, mas ainda havia uma limitação nesses dispositivos: a 
reprogramação. Geralmente era necessária programação especializada (realizada 
pelo próprio fabricante), mudança de hardware e a remoção do dispositivo 
do circuito, o que deixava o desenvolvimento mais lento e mais oneroso. Foi 
com o desenvolvimento das memórias flash, durantes os anos 1990, que os 
microcontroladores passaram a ser programados ou apagados através de sinais 
elétricos, não sendo necessário nem a retirada do dispositivo do circuito, nem 
muito menos o retorno ao fabricante (AYCOCK, 2017). Atualmente fabricantes 
como Microchip e Atmel se utilizam largamente desse tipo de memória para os 
seus dispositivos.
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
10
Além dos microcontroladores, outros tipos de microprocessadores 
merecem destaque. Os processadores de sinais digitais, ou DSPs, como são 
conhecidos, são tipos de microprocessadores empregados no processamento 
de sinais digitais, estando presentes em televisões digitais e em aparelhos de 
CD e DVD. Já as GPU são chips especializados em processar gráficos. É muito 
comum hoje que alguns processadores já venham com uma GPU integrada para 
o processamento de vídeo e jogos em geral.
 
6 ESTADO DA ARTE
As aplicações para microcontroladores e microprocessadores crescem 
dia após dia, do mesmo modo que a pesquisa nessas áreas. A necessidade por 
miniaturização e eficiência trouxe a eletrônicaa um nível fantástico nos dias de 
hoje. Em menos de 70 anos, computadores passaram de dispositivos imensos 
para pequenas telas que carregamos no nosso bolso, e não para por aí. A seguir 
é apresentado o estado da arte de microcontroladores e microprocessadores, o 
que nada mais é do que estado atual de conhecimento nessa área. Por ser uma 
área muito grande e com diversas ramificações, principalmente, no que se 
refere às aplicações dessas tecnologias, focaremos nos lançamentos recentes de 
microprocessadores e microcontroladores que estão ao nosso alcance, e que como 
profissionais da área temos grandes chances de um dia chegar a trabalhar com 
eles.
6.1 LANÇAMENTOS RECENTES EM MICROPROCESSADORES
Os microprocessadores estão presentes na maioria dos equipamentos 
eletrônicos que conhecemos hoje: celulares, tablets, notebooks, placas de vídeos, 
servidores, bombas de gasolina, máquinas de cartão de crédito, dispositivos 
médicos, se utilizam de algum tipo de microprocessador para gerar valor à 
sociedade. Cada microprocessador serve perfeitamente para cada aplicação, 
o que significa que são escolhidos de acordo com os requisitos práticos. Os 
microprocessadores presentes nos computadores modernos, por exemplo, 
possuem uma capacidade de processamento de dados bem maior que uma 
máquina de cartão de crédito, mas são ainda normalmente menores em capacidade 
Artigos que apresentam o estado da arte de uma determinada tecnologia 
são sempre bem-vindos pela comunidade acadêmica por servirem de base para vários 
outros trabalhos. Que tal se aprofundar no estado da arte de microprocessadores e 
microcontroladores, se juntar com um ou mais colegas e escrever um artigo?
DICAS
TÓPICO 1 — HISTÓRIA DOS MICROCONTROLADORES E MICROPROCESSADORES
11
que os dos servidores. Como você verá na sua trajetória profissional, cada centavo 
economizado na escolha correta de um componente eletrônico, significa uma 
economia de milhares em equipamentos que são produzidos em série.
Como você deve imaginar, os microprocessadores continuaram evoluindo 
em velocidade, recursos e capacidade de processamento.
Já a AMD lançou recentemente, em janeiro de 2021, a nova linha de 
processadores Ryzen 5000, com arquitetura Zen 3 para notebooks. Segundo a 
fabricante, o Ryzen 7 5800U promete ser o melhor processador para notebooks 
ultrafinos, com 8 núcleos e clock de até 4,4 GHz, além de ter melhor eficiência 
energética, capaz de reproduzir vídeos por 21 horas com uma única carga. Para 
desktops (computadores de mesa) a empresa lançou o Ryzen 9 5900, com incríveis 
12 núcleos e performance até 24% melhor em jogos que o seu antecessor.
6.2 LANÇAMENTOS RECENTES EM 
MICROCONTROLADORES
Recentemente, em janeiro de 2021, a empresa Raspberry anunciou o 
lançamento da Raspberry Pi Pico, por um valor de aproximadamente $4. A placa 
é baseada no microcontrolador RP2040, o primeiro desenvolvido pela empresa 
e conta com dois núcleos, um clock base de 133 MHz (perceba a diferença em 
relação aos primeiros micros), memória RAM de 256 kB e flash de 2MB, além de 
possuir 30 pinos GPIO (pinos com opção de uso como entrada ou saída de dados, 
exploraremos mais sobre isso adiante), sensor de temperatura e comunicação SPI, 
I2C, UART, integradas (RASPBERRY, s.d.). A placa foi desenvolvida para ser uma 
opção de baixo custo para desenvolvimento de protótipos. O microcontrolador 
vai equipar ainda outras placas com o Arduino Nano RP2040 e o Adafruit Feather 
RP2040.
Uma das pioneiras em placas de desenvolvimento foi a Arduino. O intuito 
desde o início era criar um dispositivo que fosse barato, fácil de programar e 
acessível para estudantes e projetistas amadores. Assim, surgia o Arduino Uno, 
A Raspberry Pi Pico trata-se de uma placa de desenvolvimento, enquanto 
o RP2040 é o microcontrolador que integra essa placa. As placas de desenvolvimento 
normalmente são mais indicadas para iniciantes por possuir toda a estrutura para a 
aprendizagem, como: interface para programação via USB, regulação de tensão, pinos para 
conexão com os GPIOs e outras facilidades.
IMPORTANT
E
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
12
baseado no microcontrolador Atmega328 da Atmel, e facilmente programado 
em C++, através da conexão USB ao computador. Depois de programada a placa 
pode ser conectada e usada de forma independente para o acionamento de um 
robô, controle de temperatura, acionamento remoto de bombas e muitas outras 
aplicações. Existem placas Arduino para as mais diversas aplicações sendo as 
mais comuns o Arduino Uno, o Nano e o Mega.
 
Com o recente desenvolvimento do conceito de Internet das Coisas (IoT), 
mais e mais projetos passaram a ter como premissa a conexão com a Internet. 
Vendo essa necessidade, placas de desenvolvimento com o ESP8266, e o seu 
sucessor, o ESP32 surgiram. Essas placas contam com módulos de conexão WiFi 
e Bluetooth integrados, facilitando o desenvolvimento para a área de IoT. 
Contudo, nem sempre as placas de desenvolvimento são a melhor opção. 
Em projetos comerciais que requerem protótipos menores, é comum a utilização 
do microcontrolador em si, sem todo o aparato que as placas de desenvolvimento 
possuem. Microcontroladores muito utilizados nesse tipo de aplicação são os PICs. 
Os PICs são gravados através da conexão de pinos específicos do microcontrolador 
com o PICKIT, que por sua vez se conecta ao computador via cabo USB. Os 
microcontroladores PIC possuem famílias com núcleos de processamento de 8, 
16 e mais recentemente de 32 bits e atingem velocidades de até 48 MHz.
Voltados normalmente para aplicações de maior desempenho, temos a 
nova linha de microcontroladores STM32G0, da fabricante ST. Lançados em 2019, 
os microcontroladores são uma boa opção para aplicações industriais, oferecendo 
uma memória RAM de até 128 kB e flash de até 512 kB (SEMICONDUCTORS, 
s.d.).
Para você ter uma ideia de como os microcontroladores desempenham 
papel fundamental no desenvolvimento de novos projetos, vamos analisar alguns 
dos mais interessantes a seguir.
A fim de reduzir o tempo gasto procurando por vagas de estacionamento 
e, consequentemente, a poluição, Melnyk, Djahel e Nait-Abdesselam (2019) 
propuseram uma solução inteligente que verifica as vagas disponíveis em um 
estacionamento e disponibiliza ao usuário através de um aplicativo Android, de 
modo que ele possa ir diretamente a vaga indicada. O papel do microcontrolador 
nessa aplicação é receber os dados dos sensores que indicam se determinada vaga 
está ocupada ou não.
Já Mtshali e Khubisa (2019) propuseram um sistema de casas inteligentes 
voltados para pessoas com deficiência física. Através do sistema o usuário 
consegue ligar e desligar aparelhos e ainda pedir ao assistente virtual que mostre 
o interior desses aparelhos. O sistema conta ainda com sistema de monitoramento 
em caso de queda da pessoa com deficiência e chama imediatamente o serviço de 
saúde mais próximo.
TÓPICO 1 — HISTÓRIA DOS MICROCONTROLADORES E MICROPROCESSADORES
13
Os incêndios florestais sejam eles espontâneos ou criminosos, resultam 
em grandes perdas para fauna e flora local. Dessa forma, Zhu, Xie e Yuan (2012) 
propuseram um sistema de monitoramento capaz de coletar informações de fogo 
na floresta em qualquer momento, sendo possível prevenir o incêndio, em seu 
estágio inicial. 
Em muitas cidades, a alta incidência de crimes se torna um problema para 
o governo, e o efetivo de policiais, muitas vezes, não é suficiente para monitorar 
todos os pontos. Assim, surgiram aplicações, como apresentado por Singh et al. 
(2018), que utilizam de microprocessamento de imagens para detectar e alertar 
sobre movimentos considerados perigosos ou violentos.
A grande variedade de microcontroladores vista atualmente facilita 
bastante a implementação dos mais diversos projetos, e, como vimos, proporciona 
avanços significativos no bem-estar da sociedade. E você, tem ideias que seriam 
possíveis com o uso de microcontroladores?
14
 Nestetópico, você aprendeu que:
• Os microprocessadores evoluíram de dispositivos eletromecânicos que 
pesavam toneladas para pequenos chips que integram a maioria dos 
dispositivos eletrônicos de que conhecemos hoje.
• A invenção do transistor representou um grande avanço para o desenvolvimento 
da computação, por ser uma chave mais compacta, econômica e confiável que 
as antecessoras eletromecânicas.
• Os transistores são a base de diversos dispositivos lógicos como 
microprocessadores, memórias e portas lógicas.
• Enquanto os microprocessadores precisam de componentes externos para 
funcionar, como: memórias RAM e ROM, endereçadores e clocks externos, 
os microprocessadores já possuem todos esses componentes internos e 
encapsulados em um único CI.
• Além dos microcontroladores, outros tipos de microprocessadores são 
importantes e estão presentes no nosso dia a dia, como: as GPUs, responsáveis 
pelo processamento de gráficos, e os DSPs, responsáveis pelo processamento 
de sinais digitais.
• Placas de desenvolvimento normalmente são melhores para iniciantes por já 
virem com todo o hardware necessário para o desenvolvimento de protótipos.
• O mercado na área de microprocessadores cresce a cada ano, e que os 
principais fabricantes: Intel e AMD, fazem lançamentos anuais buscando 
sempre reduzir custo, melhorar a capacidade de processamento e velocidades 
dos chips.
• Vários fabricantes de microcontroladores estão alinhados com as novas 
tendências, estando disponíveis no mercado placas de desenvolvimento como 
o ESP32 que já possuem módulos WiFi e Bluetooth integrados, voltados para 
o desenvolvimento na área de IoT.
• A grande variedade de microcontroladores proporciona uma maior facilidade 
na escolha do dispositivo de acordo com a aplicação.
• O desenvolvimento de sistemas microcontrolados vem proporcionando 
solução para vários problemas da sociedade.
RESUMO DO TÓPICO 1
15
1 Apesar de ter evoluído enormemente nos últimos anos, o desenvolvimento 
da computação não se deu de forma linear, existindo nos primeiros 
computadores problemas que propiciaram um campo para o 
desenvolvimento de novas tecnologias. Acerca dos problemas presentes 
nos primeiros computadores, classifique V para as sentenças verdadeiras e 
F para as falsas:
( ) A capacidade de reprogramação esteve presente nos primeiros 
computadores, não sendo um problema. 
( ) O ENIAC, um dos primeiros computadores inventados, apresentou um 
grande avanço em relação ao Mark I, apesar de possuir um consumo 
elevado de energia.
( ) O relé, dispositivo eletromecânico inventado por Joseph Henry, foi 
rapidamente substituído pelas válvulas por ser muito lento.
( ) A utilização dos transistores permitiu uma diminuição no tamanho 
dos computadores da época, assim como uma maior velocidade de 
processamento.
Assinale a alternativa que apresenta a sequência CORRETA:
a) ( ) V – V – F – F.
b) ( ) F – V – V – V. 
c) ( ) V – F – F – V.
d) ( ) F – V – V – F.
2 Ao longo da história dos processadores, vários dispositivos ficaram 
conhecidos e acabaram contribuindo para o desenvolvimento tecnológico 
que temos hoje nessa área. Sobre os dispositivos que fizeram parte da 
história dos processadores, associe os itens, utilizando o código a seguir:
I- Teares.
II- Pascaline.
III- Z1.
IV- ENIAC.
V- i4004.
( ) Deu início ao desenvolvimento dos microprocessadores como conhecemos 
hoje, sendo o resultado do encapsulamento de mais de 2000 transistores. 
( ) É considerado o primeiro computador eletromecânico construído, o 
dispositivo funcionava a partir de cartões perfurados e relés
( ) É considerado a primeira máquina programável, seu funcionamento era 
baseado na repetição de padrões gravados em cartões perfurados
( ) Acreditou-se durante muito tempo ser a primeira calculadora inventada, 
quando na verdade o feito pertence a William Schickard.
AUTOATIVIDADE
16
( ) Um dos primeiros computadores a válvula a ser construído, atingindo 
velocidades de até 5 kHz.
Assinale a alternativa que apresenta a sequência CORRETA:
a) ( ) V – III – I – II – IV.
b) ( ) II – IV – I – V – III.
c) ( ) V – I – II – III – IV.
d) ( ) II – I – III – IV – V. 
3 Apesar de serem derivados também do i8008, os microcontroladores possuem 
uma topologia diferente dos microprocessadores, servindo também para 
aplicações diferentes. A respeito da diferença entre microcontroladores e 
microprocessadores, assinale a alternativa CORRETA:
a) ( ) É comum que microcontroladores possuam maior velocidade de 
processamento que os processadores.
b) ( ) O microcontrolador ao contrário do microprocessador possui memória 
RAM e ROM, além de outros recursos, integrados em um mesmo 
encapsulamento, apesar de normalmente atingir menores velocidades 
de processamento.
c) ( ) O microprocessador ao contrário do microcontrolador possui memória 
RAM e ROM, além de outros recursos, integrados em um mesmo 
encapsulamento.
d) ( ) Projetos com microcontroladores necessitam da conexão externa de 
memórias RAM e ROM, ao contrário dos microprocessadores que não 
tem essa limitação.
4 A história dos computadores foi marcada por novas tecnologias, que 
possibilitaram avanços na forma como esses equipamentos processavam 
informações. Contudo, uma invenção em específico contribuiu 
significantemente na redução do tamanho dos computadores. O que 
contribuiu para o que os computadores atuais sejam significantemente 
menores que os seus antecessores eletromecânicos? Justifique sua resposta.
5 Os transistores estão presentes na maioria dos eletrônicos que conhecemos 
hoje: desde os computadores até as máquinas de lavar modernas possuem 
esses pequenos componentes. Sabendo disso, explique o princípio elétrico 
que faz com que os transistores sejam utilizados na maioria dos dispositivos 
eletrônicos modernos. 
6 Após a sua invenção, os transistores passaram a ser utilizados nos mais 
diversos circuitos lógicos, reduzindo também o tamanho de calculadoras e 
outros dispositivos matemáticos. Pesquise e explique como os transistores 
podem ser utilizados para realizar uma adição simples.
17
7 Dependo da foram como são construídos, os microcontroladores podem 
ser utilizados nas mais diversas aplicações, sendo esse um fator decisivo 
na escolha de um componente ou outro. Sobre os microcontroladores 
utilizados na indústria aeroespacial e militar, disserte acerca do que esses 
dispositivos possuem de diferente dos convencionais.
18
19
TÓPICO 2 — UNIDADE 1
ARQUITETURA DE UM MICROPROCESSADOR
1 INTRODUÇÃO
Como estudamos no Tópico 1, os microprocessadores são parte 
fundamental dos computadores modernos, todo o processamento de dados, 
cálculos e requisições para dispositivos periféricos passam por ele. 
Ainda assim, o microprocessador depende de outros dispositivos para 
funcionar: como periféricos, memórias e um barramento. De forma geral, 
pode-se dizer que a união desses dispositivos com o microprocessador resulta 
em um computador. Apesar da importância dos demais componentes, iremos 
focar apenas na arquitetura do microprocessador propriamente dito. Você pode 
visualizar a estrutura detalhada de um computador na Figura 6, nela também é 
apresentada a estrutura do microprocessador, que será o alvo do nosso estudo.
FIGURA 6 – ESTRUTURA DETALHADA DE UM MICROPROCESSADOR
FONTE: Stallings (2010, p. 10)
20
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
A estrutura de blocos que vemos na Figura 6 se repete para a maior 
parte dos fabricantes, de modo que, estudando essa estrutura básica, você 
terá uma facilidade maior que entender a estrutura específica da família de 
microprocessadores ou microcontroladores que por ventura você vier a estudar.
Neste tópico, além da estrutura lógica de um microprocessador, veremos 
também o seu princípio de funcionamento. Assim, entenderemos como as 
unidades lógicas se comunicam e qual a função de cada uma no contexto de 
processamento. Esse entendimento é primordial para o desenvolvimentode 
projetos robustos e otimizados, independente da linguagem de programação ou 
família de processadores que você irá trabalhar.
2 UNIDADE LÓGICO ARITMÉTICA – ULA
A ULA, ou ALU (Arithmetic and Logic Unit), do inglês, é a unidade do 
microprocessador responsável pelas operações lógicas e aritméticas como: soma, 
subtração, multiplicação, divisão, comparação, diferenciação e outras. Conforme 
afirma Stallings (2010), a ULA é a essência do processador, e pode ser considerada 
umas das partes mais importantes pelo simples fato de receber e processar dados 
de todos as outras partes do processador. 
Dito isso, vamos analisar como ela funciona. A ULA possui basicamente 
duas entradas: uma para os registradores e outra para a unidade de controle, e 
duas saídas: uma de flags e a outra de registradores. Sempre que uma operação for 
realizada, os dados a serem calculados são apresentados através de registradores 
(que como veremos mais adiante armazenam esses valores), ao passo que a 
unidade de controle informa o que deve ser feito com eles. A ULA realiza então 
essa operação e o resultado é armazenado novamente em um registrador. Ao 
final da operação uma flag pode ainda ser gerada. As flags normalmente passam 
alguma informação ao bloco que receberá o resultado. Ao executar uma operação 
de soma em que o resultado for maior que o espaço destinado para o seu 
armazenamento, por exemplo, uma flag de overflow (transbordamento, em uma 
tradução direta) é gerada informando que o resultado não foi corretamente salvo 
no registrador por conta do espaço disponível ser insuficiente.
Dessa forma, a ULA funciona com uma calculadora que recebe comandos 
através da unidade de controle e entrega esses dados através de registradores as 
demais partes do microprocessador.
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR
21
3 UNIDADE DE CONTROLE
Chegamos à unidade de controle do microprocessador. Você tem ideia 
do que essa unidade faz? Bem, a unidade de controle é quem gera os gatilhos 
para que ações sejam tomadas dentro do processador. Basicamente, a unidade de 
controle emite sinais para dispositivos externos ao processador como: periféricos 
e memórias, e internamente para a ULA, de modo que determinada função interna 
seja realizada, recebendo como entrada instruções, flags e sinais de controles de 
fontes externas, através dos registradores. Em termos práticos podemos dizer que 
a unidade de controle é quem garante a correta execução das tarefas, ou instruções 
como passaremos a chamar daqui em diante, no microprocessador. Veremos a 
seguir como as instruções são processadas, dessa forma, entenderemos melhor 
como a unidade de controle funciona.
A operação de um programa depende da execução de uma sequência de 
instruções, como uma lista de tarefas que executamos ao longo dia. Contudo, 
como é descrito a seguir, as instruções ainda não são as menores unidades de 
execução de um programa. 
[...] Para resumir, a execução de um programa consiste da execução 
sequencial de instruções. Cada instrução é executada durante um ciclo 
de instrução feito de subciclos menores (por exemplo, busca, indireto, 
execução, interrupção). A execução de cada subciclo envolve uma ou 
mais operações mais curtas, ou seja, micro-operações (STALLINGS, 
2010, p. 462).
Pode parecer complexo, mas na verdade tudo o que foi falado aqui pode 
ser resumido na Figura 7.
Como você deve se lembrar, uma das entradas da ULA vem justamente da 
unidade de controle. É ela que informa a ULA o que deve ser feito com os dados nos 
registradores.
LEMBRETE
22
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
FIGURA 7 – ESTRUTURA DE EXECUÇÃO DE UM PROGRAMA
FONTE: Stallings (2010, p. 462)
O ciclo de máquina se refere ao tempo que um processador leva para finalizar 
um ciclo de clock, ou, como vimos anteriormente, para executar uma instrução. Esse 
tempo é inversamente proporcional a frequência de clock do processador. Ou seja,
Onde t é o ciclo de máquina e f a frequência do clock do microprocessador.
Você consegue descobrir quanto tempo um processador com clock de 3,10GHz leva para 
executar uma instrução?
NOTA
Como veremos, é a unidade de controle que organiza e gera os sinais de 
controle para que cada instrução seja executada na sequência correta e também 
com os subciclos, ou subpassos como passaremos a nos referir, corretos.
Cada um dos subpassos tem sua importância no processo de execução 
de um programa, dessa forma, eles são detalhados a seguir (STALLINGS, 2010).
Busca: nesse subpasso a unidade de controle busca pela instrução 
fornecida na memória e a decodifica, deixando-a pronta para ser executada, a 
seguir um registrador específico é incrementado de forma que no próximo ciclo 
a instrução presente no próximo endereço de memória seja lida e decodificada. 
Esse comportamento garante a sequência de execução das instruções, como se 
fossem uma lista de tarefas. Lembra dessa analogia?
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR
23
Execução: com a instrução pronta para ser executada, a unidade de controle 
já sabe exatamente o que deve ser feito, com quais registradores fazer e para onde 
mandar o resultado. Nesse subpasso, os sinais de controle são fornecidos para a 
ULA e/ou os demais periféricos envolvidos.
Esses são os dois principais subpassos executados necessariamente a cada 
instrução. Contudo, não podemos esquecer os outros dois, que apesar de não 
acontecerem em todos os momentos, são importantes em alguns casos.
Indireto: em algumas situações o endereço presente na instrução não faz 
referência direta ao endereço da memória que contém o operador. Nesses casos, 
a instrução passa um ponteiro que aponta para o endereço de memória que está 
o operador. Fazendo uma analogia é como se você pedisse para algum colega 
lhe indicar para uma vaga. O entrevistador ficaria sabendo quem você é, mesmo 
sem você falar nada para ele. Nessa situação, seu colega seria o ponteiro, ao passo 
que o entrevistador seria a instrução e você o operador. Perceba que a instrução 
é capaz de encontrar o operador, mas somente através do ponteiro. Pois bem, em 
situações que um ponteiro é fornecido, o subpasso indireto deve ser executado 
antes do subpasso de execução. Nele acontece a transformação de um endereço 
indireto, endereçado através de um ponteiro, para um direto, que diz respeito 
exatamente para onde o operador está.
Interrupção: como vimos anteriormente, os subpassos de busca e execução 
acontecem de forma recorrente no microprocessador. Mas o que aconteceria se 
durante a execução de uma soma um botão no teclado fosse pressionado? Como 
o tratamento desses eventos não pode esperar, a unidade de controle pausa a 
execução do que está sendo feito, salva o estado do processo atual nos registradores 
e a interrupção começa a ser tratada. Após o tratamento da interrupção os dados 
são recuperados do registrador e a execução é retomada. Essa abordagem garante 
um processamento efetivo, uma vez que o processador não precisa aguardar que 
uma interrupção aconteça para ela ser tratada (HENRIQUE, 2016).
4 REGISTRADORES
Não sei se você percebeu, mas falamos bastante de registradores nos 
dois subtópicos anteriores, isso porque eles também desempenham um papel 
fundamental no funcionamento de um processador. Para entendermos os 
registradores, precisamos saber primeiramente que eles tratam de memórias, ou 
seja, são capazes de armazenar bits durante o funcionamento do processador. 
Em uma escala hierárquica, os registradores são as memórias mais compactas, 
rápidas e caras que existem em um computador. Mas por que elas precisam ser 
tão rápidas assim, você deve se perguntar. Pois bem, são os registradores que 
guardam os dados que são processados em todo o microprocessador. Por exemplo, 
os operadores de uma soma realizada pela ULA? São salvas em registradores. 
O resultado dessa operação? Também. O byte que informa a próxima instrução 
24
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES EMICROPROCESSADORES
a ser lida pelo microprocessador? Também. Como essa informação é lida/
armazenada centenas ou milhares de vezes por segundo, os registradores devem 
ser necessariamente feitos de memórias muito rápidas e confiáveis.
Como os registradores estão presentes na maioria das operações realizadas 
por um microprocessador, e alguns são bem específicos, é difícil explicar um por 
um. O que podemos fazer é dividi-los em grupos, e entender como cada um é 
importante para o processador. A primeira distinção que podemos fazer é entre 
os registradores que são visíveis ou não ao usuário (MACÊDO, 2012), como você 
já deve ter deduzido, a primeira classe diz respeito a registradores que podem 
ser acessados e alterados pelo usuário, ao passo que a segunda classe é interna 
ao registrador. Podemos dividir ainda os registradores visíveis em duas classes: 
os de uso geral e de uso específico, bem intuitivo, não? Os de uso geral como o 
nome sugere podem ser utilizados pelo usuário como bem entender. Já os de 
uso específico estão atrelados a uma determinada função do processador. Para 
você entender de quanta especificidade estamos falando, vamos a um exemplo. 
Dois registradores bastante utilizados pela ULA são os registradores MAR e 
MBR. Sempre que a ULA vai executar uma operação que precisa acessar dados 
na memória, o endereço dos dados é armazenado no registrador MAR, sendo 
encontrado o operando no endereço especificado, ele é armazenado no registrador 
MBR, sendo assim utilizado para realizar a operação.
5 BARRAMENTOS
Tente imaginar agora como todos esses dados vão para lá e para cá. 
Como a ULA recebe os operandos, como a unidade de controle é informada que 
um overflow aconteceu, ou como os dados são passados para os registradores. 
Obviamente toda essa informação tem que ter um meio para ser transmitida, e 
este meio são os barramentos. Os barramentos são linhas que interligam os mais 
diversos dispositivos em um computador. Memórias, periféricos e placas de vídeo 
são todas conectadas ao processador através de barramentos. Internamente, o 
processador possui barramentos para endereços, para dados e para controle, que 
interligam a ULA, a unidade de controle e os registradores.
Durante o subpasso de busca conversamos sobre um “registrador específico” 
que é incrementado a cada ciclo de execução, de modo que no próximo ciclo um novo 
endereço de memória seja lido para buscar a próxima instrução a ser executada. Descubra 
e pesquise a respeito desse registrador. Uma dica: O registrador IR recebe a instrução após 
ela ser encontrada no endereço salvo nesse registrador.
NOTA
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR
25
6 SET DE INSTRUÇÕES
Falamos bastante anteriormente sobre as instruções. Como você deve ter 
percebido as instruções são comandos que são interpretados pelo processador a 
fim de executar uma determinada função, seja a divisão entre dois operandos, ou 
mover o conteúdo de um registrador para outro. Assim, podemos dizer que as 
instruções são a forma mais primitiva de um código de programação. Isso significa 
que todo código que desenvolvermos utilizando linguagens de alto nível como C, 
Phyton, Java, será convertido pelo compilador em forma de instruções que serão 
interpretadas pelo processador. Para todos os efeitos, as linguagens de alto nível 
são desenvolvidas para facilitar a vida do programador e aproximar mais ainda a 
forma como nos comunicamos com a forma que de programar. Contudo, mesmo 
programando sempre em alto nível, as instruções nos dizem muito sobre como 
o microprocessador funciona, e são bastante importantes para você que está se 
habituando com eles.
6.1 ELEMENTOS DE UMA INSTRUÇÃO
Vamos iniciar vendo os elementos que compõem uma instrução. 
Inicialmente, precisamos imaginar cada instrução como uma sequência de 
bits. Essa sequência é dividida em campos e cada um deles tem um significado 
lógico para o processador. Considere, por exemplo, uma instrução de 16 bits. 
Nessa instrução, os quatro primeiros bits representam o opcode, ao passo que os 
outros dois campos de seis bits representam os operandos. O formato da nossa 
instrução com dois operandos pode ser visto na Figura 8. O opcode de uma 
instrução representa basicamente o código da operação a ser realizada em binário, 
podendo especificar operações aritméticas e lógicas, transferência de valores entre 
registradores, dados de controle, entre outros. Dessa forma, o microprocessador 
identifica a operação a ser executada através da leitura desse trecho de código. 
Os outros dois campos são destinados para referenciar os operandos. Veja que 
referenciar nesse caso significa dizer que os operandos podem ou não estão 
exatamente presentes nesses campos. Quando não, eles são acessados através de 
um registrador ou de um endereço de memória. Da mesma forma, podem ser 
referenciados ainda nesse campo o operador de destino, ou em outras palavras, 
o resultado da operação. 
Você sabe o que é um compilador? Os compiladores são programas que se 
dedicam a traduzir o código escrito de uma determinada linguagem em outra. No texto, 
o compilador que nos referimos traduz o código escrito em uma linguagem de alto nível 
em linguagem Assembly. Aprenda mais sobre os compiladores em: https://www.dca.fee.
unicamp.br/cursos/EA876/apostila/HTML/node37.html.
NOTA
26
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
FIGURA 8 – FORMATO DE UMA INSTRUÇÃO COM DOIS OPERADORES
FONTE: O autor (2021)
A representação de uma instrução, como vimos, é completamente 
compreensível para o processador, no entanto, muito complicada para o 
programador. Imagine ter que lidar com sequências intermináveis de bits, 
uma completa confusão! Vendo isso, o opcode das instruções é frequentemente 
referenciado pelos programadores através de símbolos, conhecidos como 
mnemônicos, que indicam qual operação está sendo executada. Já os operandos 
são representados também de forma genérica através de números ou palavras. 
Veja o exemplo de um código utilizando mnemônicos a seguir.
FIGURA 9 – EXEMPLO DE UM CÓDIGO EM LINGUAGEM DE MÁQUINA
FONTE: O autor (2021)
O trecho de código mostrado move o valor presente no registrador A para 
o registrador W, adiciona 10 (expresso em hexadecimal) a esse valor e o move 
o resultado para o registrador B. Essa representação da instrução de máquina 
em forma de mnemônicos, é na verdade a linguagem de programação conhecida 
como Assembly. Esse nome é novo para você ou você já ouviu falar nele outras 
vezes?
Se reescrito em linguagem C, por exemplo, o código anterior poderia ser 
expresso como:
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR
27
FIGURA 10 – CÓDIGO DA FIGURA 5 REESCRITO EM LINGUAGEM C
FONTE: O autor (2021)
Bem mais simples, não acha? Com esses exemplos podemos ver a diferença 
entre as linguagens de baixo e alto nível. Enquanto o Assembly foca muito mais 
em mover dados para registradores, a linguagem de alto nível utiliza variáveis, 
tornando a forma algébrica nesse último caso bem mais simples.
6.2 TIPOS DE INSTRUÇÕES
Como vimos anteriormente, todo código em alto nível é traduzido em 
linguagem de máquina por um compilador. Dessa forma, o set de instruções 
do processador, que nada mais é que o conjunto de instruções possíveis, deve 
conter instruções capazes de executar qualquer expressão em uma linguagem de 
alto nível. Conforme afirma Stallings (2010), as instruções necessárias podem ser 
categorizadas em: lógicos e aritméticas, armazenamento de dados, teste e desvio 
e instruções de entrada e saída para o usuário. O Quadro 1 apresenta instruções 
comuns utilizadas em processadores, divididos conforme essa categorização.
Imagino que você esteja agora se perguntando sobre a importância do 
Assembly para um engenheiro. De fato, existe uma boa discussão em torno desse assunto, 
mas que não é o objetivo principal aqui. Dessa forma, a leitura do artigo pode ajudar 
muito e instruir a respeito. Disponível em: https://www.profissionaisti.com.br/vale-a-pena-aprender-o-bom-e-velho-assembly/.
DICAS
https://www.profissionaisti.com.br/vale-a-pena-aprender-o-bom-e-velho-assembly/
https://www.profissionaisti.com.br/vale-a-pena-aprender-o-bom-e-velho-assembly/
28
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
QUADRO 1 – INSTRUÇÕES COMUMS EM SET DE INSTRUÇÕES
FONTE: Stallings (2010, p. 297)
Analisando as instruções anteriores, vemos que muito do que o 
computador executa e faz já é contemplado por essas instruções. No entanto, 
essa lista está longe de ser exaurível. Cada fabricante determina suas próprias 
instruções cabendo a você estudar essas especificidades à medida que for tendo 
essa necessidade.
6.3 NÚMERO DE ENDEREÇOS
Quando falamos em número de endereços, qual a primeira coisa que vem 
a sua cabeça? Provavelmente, você associou ao número de endereços na memória, 
o que não deixa de estar certo, mas aqui vamos ver a respeito da quantidade 
de endereços contidos em cada instrução. Na Figura 8, por exemplo, utilizamos 
dois endereços por instrução, perceba que os valores eram sempre transferidos 
Categoria Mnemônico Descrição
Aritmética
Add Calcula a soma entre operandos.
Subtract Calcula a subtração entre operandos.
Incremente Incrementa o operando.
Decrement Decrementa o operando.
Negate Troca o sinal do operando.
Lógica
AND Realiza o AND lógico entre dois operandos.
OR Realiza o OR lógico entre dois operandos.
NOT Realiza o NOT lógico.
Test Teste o operando em uma condição especificada.
Compare Faz a comparação lógica entre dois operandos.
Armazenamento
Move Transfere valor da origem ao destino.
Store Transfere valor do processador para a memória.
Exchange Troco o valor da origem e do destino.
Set Transfere palavra de 1s para o destino.
Reset Transfere palavra de 0s para o destino.
Teste/Desvio
Jump Transfere a execução do programa para a instrução presente no endereço especificado.
Jump 
(condicional)
Testa uma determinada condição, caso seja 
satisfeita um Jump é executado.
Execute Executa o operando do endereço especificado.
Skip Salta para a próxima instrução.
Entrada/Saída
Input Transfere dados de um periférico para o destino especificado.
Output Transfere dados da origem especificada para o periférico.
Start Transfere instruções para um periférico e inicia sua operação.
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR
29
de um operador para o outro. Apesar de instruções com dois endereços serem 
mais comuns, podem-se encontrar ainda processadores com uma e até com 
três endereços. Com três endereços uma instrução é capaz de especificar dois 
operadores e um destino para o resultado. Veja na Figura 11 como o código da 
Figura 9 seria reescrito com três endereços.
FIGURA 11 – EXEMPLO DA FIGURA 8 REESCRITO EM INSTRUÇÕES COM TRÊS ENDEREÇOS
FONTE: O autor (2021)
Perceba como reduzimos duas operações em apenas uma. Muito bom, não 
é? Contudo, apesar da vantagem para o programador que faz mais escrevendo 
menos, instruções com três endereços são instruções maiores, com mais campos, e 
que requerem registradores maiores para armazenar e executar essas instruções. 
Quanto maior o registrador, como você já deve imaginar, mais caro o processador. 
6.4 TIPOS DE OPERANDOS
Analisando novamente os exemplos da Figura 9 e Figura 11, percebemos 
que operamos com basicamente um número (0x0A), apesar das instruções 
anteriores também referenciarem registradores, esses não são um tipo de dados. 
Além dos números, temos ainda os caracteres, os dados lógicos e os endereços 
como tipos de dados. Veremos um pouco mais a seguir sobre cada um deles, 
pode parecer óbvio de início, mas o estudo particularizado deles vai ajudar muito 
a sua jornada.
6.4.1 Números
O que você precisa entender aqui é que a representação dos números em 
um computador vai mais além do que representar algarismos. Os números em 
um computador são utilizados também para representar endereços, contadores 
e o tamanho do campo das instruções. No entanto, ao contrário dos números 
utilizados na matemática, que são um conjunto infinito, os números em um 
computador têm um limite. Esse limite vai tanto com relação à magnitude dos 
números inteiros como também a precisão (em termos práticos, a quantidade 
30
UNIDADE 1 — HISTÓRIA E ARQUITETURA DOS MICROCONTROLADORES E MICROPROCESSADORES
de casas após a vírgula em números ponto flutuante) dos números do ponto 
flutuante. Dessa forma, é bom ficar atento ao overflow e underflow. Explicado 
isso, podemos extrair tópicos da explanação anterior a fim de facilitar a sua 
compreensão.
Dois tipos de números estão presentes nos computadores:
- Números inteiros: são utilizados em endereços, contadores, tamanho 
de campos de instrução e valores matemáticos, sendo limitados pela magnitude, 
internamente são representados em valores binários, enquanto para o usuário são 
apresentados valores decimais.
- Números ponto flutuante: são normalmente utilizados para representar 
variáveis físicas como a temperatura em uma sala ou a velocidade de um veículo. 
São os famosos números com valor após a vírgula. A precisão desses números, 
assim como a magnitude, é limitada em computadores.
6.4.2 Dados lógicos
Como sabemos, os bits carregam uma natureza lógica por si só, sendo 
que um bit 1 normalmente significa verdadeiro e um bit zero significa falso. 
Assim, um conjunto de bits 1001, por exemplo, pode significar a representação 
binária do número decimal 5, como também um conjunto de resultados lógicos 
onde o primeiro e último resultado são verdadeiros e os demais são falsos. O 
computador, naturalmente, é capaz de distinguir entre essas duas situações e 
realizar operações lógicas com esses operandos.
6.4.3 Caracteres
Frequentemente há a necessidade de se representar textos, usando 
sistemas de computação. Esses dados são complemente compreensíveis para o 
usuário, mais difícil de serem representados pelo computador, basicamente pela 
natureza binária dele. Contudo, como você está lendo esse texto possivelmente 
em um computador, é de se imaginar que alguém já propôs uma solução para 
isso. A solução veio através da representação de cada caractere por um conjunto 
de bits. Na tabela ASCII (American Standard Code for Information Interchange), por 
exemplo, cada caractere é representado por uma sequência única de 7 bits, sendo 
possível até 128 caracteres diferentes.
TÓPICO 2 — ARQUITETURA DE UM MICROPROCESSADOR
31
6.5 ENDEREÇAMENTO
Estudando os elementos de instrução (Tópico 6.1), nós temos a tentação de 
achar que o valor dos operadores pode ser diretamente informado na instrução, 
ou até diretamente obtidos em um endereço de memória, contudo não são essas 
as únicas formas de endereçamento. 
O endereçamento diz respeito à forma como referenciamos o operador 
em uma instrução. Indiretamente estudamos ao longo desse tópico várias 
formas de endereçamento: como quando estudamos o ciclo indireto, ou quando 
referenciamos diretamente um valor em hexadecimal nos exemplos da Figura 
9 e Figura 11. Vamos agora apresentar os demais casos e consolidar esse 
conhecimento. Segundo Monteiro (2007) são seis os tipos de endereçamento mais 
comuns desenvolvidos para processadores:
• Imediato.
• Imediato.
• Direto.
• Indireto
• Por registrador.
• Indexado.
• Base mais deslocamento.
Vamos analisar cada um desses modos a seguir.
6.5.1 Imediato
Esse é o modo de endereçamento mais simples que veremos. Na Figura 9, 
quando adicionamos 0x0A ao valor de W, estávamos endereçando diretamente 
o valor 0x0A como operador. Desse modo, no endereçamento imediato sempre 
apresentamos diretamente o operando na instrução. Apesar da praticidade, o valor 
que endereçamos (operando) deve sempre ser menor que o valor máximo para 
o operador, ou seja, caso tenhamos 6 bits de operador na instrução, é impossível 
endereçar no modo imediato um valor com 8 bits. A vantagem desse método, 
como já vimos, é que um subpasso na execução da instrução é economizado, 
sendo o tipo de endereçamento mais rápido. Dessa forma, podemos

Outros materiais

Outros materiais