Buscar

Unidade I - Introdução aos Microprocessadores e Microcontroladores

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 22 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 22 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 22 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

Microprocessadores
Material Teórico
Responsável pelo Conteúdo:
Prof. Me. Massaki de Oliveira Igarashi
Revisão Textual:
Prof.ª Dr.ª Selma Aparecida Cesarin
Introdução aos Microprocessadores e Microcontroladores
• Capítulo 1;
• Capítulo 2.
 · Abordar conceitos introdutórios e básicos necessários a um Curso de 
Microprocessadores e Microcontroladores; 
 · Discutir um pouco o histórico e as diferenças básicas entre os microproces-
sadores e os microcontroladores, suas principais estruturas e arquiteturas;
 · Abordar, também, as duas principais arquiteturas de construção de 
microcontroladores e a diferença entre ambas;
 · Apresentar as principais características de funcionalidades da Unida-
de lógica Aritmética, dos registradores, temporização e controle, ciclo 
de instrução e ciclo de máquina. 
OBJETIVO DE APRENDIZADO
Introdução aos Microprocessadores 
e Microcontroladores
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem 
aproveitado e haja maior aplicabilidade na sua 
formação acadêmica e atuação profissional, siga 
algumas recomendações básicas:
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos 
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você 
também encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão 
sua interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o 
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e 
de aprendizagem.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
UNIDADE Introdução aos Microprocessadores e Microcontroladores
Capítulo 1
Neste Capítulo, você aprenderá um pouco de histórico, principais características 
e funcionalidades dos microprocessadores e microcontroladores, além das principais 
arquiteturas existentes.
Histórico
O termo microprocessador foi usado pela primeira vez em 1972 pela Intel 
Corporation; no entanto, a era dos microprocessadores iniciou em 1971, com a 
introdução do Intel 4004, que foi denominado, na época, computador micropro-
gramável em um único chip. 
A CPU 4004, com seus 2300 transistores, era composta por somadores paralelos 
e 16 registradores de 4 bits que permitiam que ela executasse 45 diferentes instruções. 
Depois disso, futuras gerações de microprocessadores, utilizando chips de 8, 16 
e 32 e 64 bits começaram a ser produzidas.
Para que se tenha uma ideia, no ano de 2010, a geração de processadores Intel® 
Core™, que já empregava tecnologia de fabricação 32 nm, tinha encapsulados 560 
milhões de transistores; atualmente, os processadores da linha Extreme Edition 
desse fabricante, já atingiram tecnologia de 14 nm e o número de transistores 
encapsulados chegou a 4,7 bilhões de transistores, e agora contam com 10 núcleos 
encapsulados num mesmo chip.
Microprocessador, Microcontrolador e Funcionalidades
O microprocessador é um Circuito Integrado (CI) que contém, num único en-
capsulamento, todos os circuitos da Unidade de Controle e da Unidade Lógica e 
Aritmética (ULA) (Figura 1). Também é conhecido pela denominação Unidade Mi-
croprocessadora, tradução do termo em inglês Microprocessor Unit (MPU).
Unidade Lógica
Aritmética
(ULA)
Registradores
TEMPORIZAÇÃO E CONTROLE Barramento de controle
Barramento de endereços
Barramento de dados
Figura 1 – Principais áreas funcionais de um Microprocessador
8
9
Em termos gerais, um microprocessador é um Circuito Integrado que contém 
milhares e até mesmo milhões de transistores que trabalham juntos para armazenar 
e manipular dados para que se possa executar uma grande variedade de funciona-
lidades, que, na maioria das vezes, são coordenadas por um software.
Mas, para interagir com o usuário, o microprocessador necessita de periféricos 
como Memória, entradas e saídas, clock e controladores, que não são intrín-
secos no seu encapsulamento.
 Já o microcontrolador é como um microprocessador, mas de finalidade es-
pecífica; eles contém, num mesmo encapsulamento, todos os periféricos ne-
cessários ao seu funcionamento. 
Geralmente, os microcontroladores são utilizados em projetos nos quais se faz 
necessário um controle para um Processo específico. Na prática, a maioria dos mi-
crocontroladores podem ser encontrados em encapsulamentos que são costumeira-
mente referidos pelas suas siglas em inglês: DIP/DIL (Dual In-Line Package), SOIC 
(Small Outline Integrated Circuit), QFN (Quad Flat No-Lead), PLCC (Plastic 
Leaded Chip Carrier) e QFP (Quad Flat Package). 
A Figura 2 ilustra esses diferentes tipos de encapsulamentos encontrados nos 
circuitos integrados. 
Observa-se que os encapsulamentos PLCC, QFN e QFP são muito utilizados, 
principalmente, para microcontroladores. Para Microprocessadores, hoje, utilizam- 
-se encapsulamentos tipo PGA e FC-PGA, entre outros.
Figura 2 – Encapsulamentos típicos de microprocessadores e microcontroladores
9
UNIDADE Introdução aos Microprocessadores e Microcontroladores
Capítulo 2
Neste Capítulo, você aprenderá as operações básicas de Aritmética Digital sobre 
os números binários. A Aritmética Digital está presente nos computadores e nos 
calculadores digitais, e pode ser implementada em firmwares de microcontroladores.
Unidade Lógica Aritmética (ULA)
A Unidade Lógica Aritmética (ULA), tradução do termo em inglês Arithmetic 
Logic Unit (ALU), é responsável pela realização de operações lógico-aritméticas no 
microprocessador. Sua função é receber dados binários armazenados na Memória 
e executar operações aritméticas. 
A complexidade da ULA determina a capacidade do microcontrolador em 
realizar processamentos complexos (STALLINGS, 2010; CRISP, 2003). 
Ela também está presente nos coprocessadores aritméticos presentes em famílias 
de microprocessadores para computadores pessoais. 
Registradores
São posições de Memória internas responsáveis pelo armazenamento temporário 
de dados ou endereços dentro do microprocessador. São implementados por meio 
de “latchs” internos (os latchs são comparados a posições de Memória dentro do 
microprocessador). 
Quanto maior o número de registradores internos, maior é a velocidade de 
processamento, pois não é necessário acesso à Memória externa para armazena-
mento de variáveis. 
É comum os microcontroladores e os processadores digitais de sinais possuírem 
algumas centenas de posições de Memória internas, diminuindo consideravelmente 
o tempo de acesso à Memória. Outro exemplo bastante apropriado são as Memórias 
“caches” internas aos microprocessadores (STALLINGS, 2010; CRISP, 2003). 
A Memória cache (SRAM)
A Memória cache, uma Memória pequena e de alta velocidade (geralmente já 
vem intrínseca ao processador), é uma Memória RAM estática (SRAM) que contém 
alguns dados mais recentes acessados da Memória Principal. 
Normalmente, o tempo necessário para trazer uma instrução para o processadoré muito longo se comparado ao tempo para executar as instruções, geralmente 
60 ns para acesso à DRAM; mas a Memória cache ajuda a diminuir o tempo 
necessário para mover as instruções para e do processador. 
10
11
Um tempo típico para SRAM é de 15 ns; portanto, 4 vezes mais rápida que a 
Memória Principal DRAM.
Atualmente, os processadores trabalham com até 4 níveis de cache:
• Cache (L1) – Os dados são inicialmente procurados. Esta cache fica localizada 
no próprio processador;
• Cache (L2) – Normalmente, encapsulada junto ao processador e opera na 
mesma frequência dele;
• Cache (L3) – Quando utilizada, fica na CPU e tem a finalidade de agir como 
intermediária entre a cache L2 e a Memória Principal;
• Cache (L4) – Ainda pouco utilizada; porém, algumas arquiteturas provêm esta 
cache adicional.
Na maioria dos processadores para computadores pessoais, a capacidade de 
armazenamento da Memória cache pode variar entre os seguintes valores: 128, 
256, 512, 1024 ou 2048 (KB). 
Mas, hoje, são comercializados processadores, como, por exemplo, alguns pro-
cessadores Intel® Xeon, que já apresentam caches que variam de 40 MB a 110 MB, 
denominados Smart Cache, que são recomendados para trabalhar com Big Data.
Temporização e Controle das Instruções
As atividades de um microprocessador são cíclicas; portanto, busca-se a instrução 
na Memória, executa-se a tarefa ligada ao código lido, busca-se a próxima instrução 
e assim o ciclo se repete. 
A temporização depende, basicamente, do sinal de relógio (mais conhecido pelo 
termo em inglês clock) que sincroniza todas as operações do sistema. Esse clock 
é gerado a partir de um oscilador com frequência determinada, normalmente, por 
um cristal, que também pode estar interno no microprocessador.
Os ciclos de temporização são de dois tipos: ciclo de instrução e ciclo de máquina.
Ciclo de Instrução
Corresponde ao número de períodos de clock necessários para executar uma 
instrução. O Ciclo de Instrução é composto basicamente dos Ciclos de Máquina 
M1 e M2.
Ciclo de Máquina
Composto pelos Ciclos M1 ou busca da instrução (em que o Código de Operação 
é lido na Memória) e Ciclo M2 ou Ciclo de Execução. O Ciclo de Busca da 
Instrução vai depender do número de bytes necessários para a leitura da instrução 
(por exemplo: o microprocessador 8085 possui instruções de até 3 bytes que, 
obviamente, necessitam de 3 ciclos de busca de Códigos na Memória).
11
UNIDADE Introdução aos Microprocessadores e Microcontroladores
O tempo total necessário para o Ciclo de Instrução é determinado pelo número 
de estados T (ou número de pulsos do clock) fornecidos pelo conjunto de instruções 
do microprocessador, ou seja, é o período de tempo no qual um microcontrolador 
ou microprocessador lê e processa uma instrução da sua Memória para executar 
cada instrução em Código de Máquina num Programa.
CISC x RISC
O termo Computador com um Conjunto Complexo de Instruções, do termo em 
inglês Complex Instruction Set Computer, ou simplesmente CISC, advém do 
fato de se considerar complexo um conjunto constituído de grande quantidade de 
instruções, com múltiplos modos de endereçamento. 
Nos primórdios da computação, quando a Memória ainda era vendida a um alto 
valor comercial e possuía menor capacidade, os Códigos gerados pelos compilado-
res precisavam ser compactos e eficientes na sua execução. Portanto, os projetistas 
precisavam obter boa densidade do Código de Máquina, ou seja, cada instrução 
deveria fazer muito, de modo que o programa completo tivesse poucas instruções.
Em 1951, surgiu o conceito de microprogramação, que facilitou o Projeto de 
Instruções Complexas, implementando-as em Microcódigo.
O microcódigo reside em Memória de controle, podendo-se acelerar sua exe-
cução devido a essas memórias serem rápidas. Logo, a criação de novas instruções 
é, na maioria das vezes, quase sem custo e sem aumento de espaço, facilitando a 
implementação do conceito de famílias de processadores; um bom exemplo disso 
é a arquitetura x86. 
Outra vantagem do emprego de microcódigo reside na rapidez da execução de 
instruções que estão armazenadas em Memória (Memória ROM de controle) bem 
mais rápida que a Memória Convencional.
Historicamente, o primeiro sistema de computação lançado com Microcódigo e 
que originou, também, o conceito de família de computadores, foi introduzido pela 
IBM® em 1964, o Sistema IBM/360; posteriormente, a DEC (Digital Equipament 
Corporation) introduziu sua família de PDP, mais tarde substituída pelo sistema 
VAX, um dos melhores exemplos de máquina CISC.
As arquiteturas CISC consideram três aspectos fundamentais (STALLINGS, 
2010; CRISP, 2003; WIKIPEDIA, 2018):
1. Menor uso de microcódigo;
2. Conjuntos com instruções completas e eficientes;
3. Instruções de máquina de “alto nível”.
Juntos, esses elementos nortearam, por muito tempo, a filosofia de construção 
de processadores com arquitetura CISC, como a família Intel x86, os processadores 
AMD K e, anteriormente, os sistemas IBM e VAX.
12
13
O desenvolvimento das arquiteturas CISC segue algumas premissas como:
• Instruções com campos de origem e destino;
• Utilização de modos: Registrador para Registrador; Registrador para Memória 
e Memória para Registrador;
• Múltiplos modos de endereçamento para a Memória;
• Instruções com largura variável, ou seja, com a quantidade de bytes variando 
de acordo com o modo de endereçamento utilizado;
• As instruções requerem múltiplos ciclos de relógio;
• O hardware possui poucos registradores devido ao fato de possuir muitas 
instruções com acesso à Memória e por causa da limitação do espaço no chip 
usado para a Memória de Controle;
• Há também registradores especializados, como o Registrador de Controle (flags), 
de segmento para o ponteiro da pilha, para tratamento de interpretação.
Para uma melhor compressão do surgimento da arquitetura RISC, faz-se impor-
tante mencionar alguns pontos das arquiteturas CISC citados como problemáticos:
• Diferenças de velocidade entre Memória e processador – No final da dé-
cada de 1970, a IBM® verificou que essa diferença era um problema em 
seus sistemas, algumas operações eram realizadas por programas, acarretan-
do muitos acessos a uma Memória lenta. A solução encontrada foi criar novas 
instruções de máquina para executar tais operações, podendo-se acreditar que 
esse foi o início do aumento da quantidade de instruções no CISC;
• Emprego de microcódigo – O surgimento e a vantagem de custo/benefício 
do emprego de Microcódigo sobre programação diretamente no hardware 
induziram os projetistas a criar mais e mais instruções, devido à facilidade e à 
flexibilidade decorrentes. Desenvolvimento acelerado de linguagens de alto ní-
vel – Na década de 1980, havia um crescimento acelerado do emprego de lin-
guagens de alto nível, o que conduzia os projetistas de processadores a incluir 
cada vez mais instruções de máquinas em seus produtos, como o propósito de 
manter um suporte adequado na compilação;
• Densidade de Código a ser executado – As arquiteturas CISC procuram ob-
ter um código compacto após a compilação, de modo a não consumir Memó-
ria em excesso. Isso era necessário em uma época em que as Memórias eram 
caras e de reduzindo tamanho. Construindo conjuntos de instruções, cada uma 
delas mais próxima do significado do comando de alto nível, era possível obter 
códigos executáveis mais densos, mais compactos. Mas isso poderia acarretar, 
também, mais bits nas instruções (Códigos de Operações com mais bits devido 
à quantidade delas, bem como mais modos de endereçamento), o que contra-
balançaria aquela vantagem;
• Necessidade de compatibilidade com processadores anteriores – Uma 
das metas sempre seguida pela Intel e outros fabricantes foi a de conservar a 
compatibilidade entre as versões de seus processadores. Assim, o processador 
13
UNIDADE Introdução aos Microprocessadores e Microcontroladores
486 veio com apenas algumas instruções novas e todo o Código do 386 
junto, códigosexecutáveis para o 386 rodavam também no 486, e os usuários 
poderiam trocar de computador sem nenhum custo adicional de compilação 
etc. O mesmo aconteceu com o Pentium I, II, III e IV. Mesmo isso, embora 
seja um notório requisito importante de Marketing, acarreta uma limitação 
especificação de novas arquiteturas. Dessa forma, as arquiteturas novas só 
cresciam em quantidade de instruções, visto que o fabricante nunca retirava as 
instruções antigas devido ao problema de compatibilidade.
Em oposição, o termo computador com um conjunto reduzido de instruções, 
oriundo do termo em inglês Reduced Instruction Set Computer, ou simplesmente 
RISC, é uma linha de arquitetura de microprocessadores que favorece um conjunto 
simples e pequeno de instruções, que levam, aproximadamente, o mesmo tempo 
para serem executadas. 
Historicamente, em meados de 1970, investigadores da IBM, em especial John 
Cocke (ele é considerado o pai da arquitetura RISC), demonstraram que a maioria 
das combinações desses modos ortogonais de endereçamento e as instruções não 
foram utilizadas pela maioria dos programas gerados por compiladores disponíveis 
no momento. 
Revelou-se difícil escrever um compilador para tirar proveito dos recursos ofere-
cidos pelos processadores convencionais.
Também foi descoberto que certas operações complexas tendem a ser mais lentas 
do que uma sequência de operações mais simples fazendo a mesma coisa. Isso talvez 
tenha ocorrido porque muitos projetos foram levados às pressas sem tempo hábil 
para otimizar todas as instruções, mas sim apenas aquelas usadas com mais frequên-
cia; um exemplo famoso foi o caso das instruções do VAX (COLWELL, 2000).
A Memória de Núcleo há muito havia sido mais lenta do que muitos projetos de 
CPU. Mas o advento de Memórias de semicondutores reduziu essa diferença com 
o tempo, e permitiu uma maior frequência de operação da CPU.
Contudo, outro impulso de ambos os RISC e outros projetos veio a partir de 
Andrew S. Tanenbaum, que sugeriu que para reduzir o número de acessos à Me-
mória, uma máquina de comprimento fixo pode armazenar constantes em bits não 
utilizados da palavra de instrução em si, de modo que eles seriam imediatamen-
te prontos quando a CPU precisaria deles (TANENBAUM, 2009). Porém, como 
muitos programas ainda passavam a maior parte do tempo executando operações 
simples, alguns pesquisadores decidiram concentrar esforços para fazer as opera-
ções o mais rápido possível. 
A velocidade do clock de uma CPU é limitada pelo tempo que leva para executar 
a mais lenta suboperação de qualquer instrução, diminuindo o tempo de ciclo que, 
muitas vezes, acelera a execução de outras instruções. Nasceu, portanto, o foco 
em “instruções reduzidas”, que resultou n a máquina chamada de “Computador 
Conjunto Reduzido de Instruções” (RISC).
14
15
Posteriormente, verificou-se que uma das características mais importantes dos pro-
cessadores RISC é que a Memória externa só era acessível por uma instrução de arma-
zenamento de carga. Todas as outras instruções foram limitadas aos registros internos. 
Isso simplificou muitos aspectos do design do processador, permitindo que as 
instruções pudessem ser de comprimento fixo; além da simplificação de condutas e 
isolamento da lógica para lidar com o atraso na conclusão de um acesso à Memória 
para apenas duas instruções. Isso levou a RISC projetos que estão sendo referidos 
como arquiteturas load/store.
O resultado do trabalho de vários pesquisadores de diferentes locais fez com que sur-
gissem processadores com características bem diferentes dos já conhecidos por CISC. 
Eles trabalhavam visando a encontrar novas possibilidades para aperfeiçoar o 
desempenho dos processadores, usando caminhos diferentes dos adotados pela 
arquitetura CISC. O desenvolvimento de arquiteturas RISC teve início por três ca-
minhos próximos:
1. O primeiro deles foi em meados da década de 1970, com um projeto da 
IBM, desenvolvido pelo pesquisador John Cocke. Esse projeto foi denomi-
nado IBM 801, que nem se tornou comercial, mas serviu de base para os 
desenvolvimentos seguintes da IBM nessa área;
2. Em medos da década de 1980, na Universidade de Stanford, foi desenvolvida 
outra pesquisa, agora, pela equipe de John Hennessey; esse projeto resultou 
nos processadores MIPS e na criação da empresa MIPS Technology Inc.;
3. Ainda em 1980, agora na Universidade da Califórnia, foram desenvolvi-
das pesquisas muito semelhantes, que resultaram nos primeiros protóti-
pos, RISC-1 e RISC-2, que acabaram se tornando base para o surgimento 
dos processadores SPARC.
A seguir, são descritos os elementos base que constituem a arquitetura RISC 
(STALLINGS, 2010; CRISP, 2003; WIKIPEDIA, 2018):
• Pequeno conjunto de instruções, todas com largura fixa; 
• Execução otimizada de chamada de função;
• Menor quantidade de modos de endereçamento;
• Uso de pipelining;
• Execução rápida de cada instrução (uma a cada ciclo de clock).
Menor quantidade de instruções: talvez a característica mais marcante das ar-
quiteturas RISC, seja o fato de ela possuir um menor conjunto de instruções (todas 
com largura fixa) que as máquinas que possuíam a arquitetura CISC, porém com 
a mesma capacidade. Daí vem a denominação Computadores com um Conjunto 
Reduzido de Instruções.
15
UNIDADE Introdução aos Microprocessadores e Microcontroladores
A SPARC, da Sun, possuía um conjunto de cerca de 50 instruções, enquanto a 
VAX-11/780 tinha até 300 instruções e o Intel 80486 foi apresentado com 200 
instruções, e a linha PentiumIntel® possuía ainda mais.
Com o conjunto de instruções reduzido e cada uma delas tendo suas funções 
otimizadas, os Sistemas tinham um resultado melhor em questão de desempenho. 
Mas, em virtude desse conjunto reduzido de instruções, os Programas, nesse caso, 
são um pouco mais longos. Mesmo assim, o conjunto de instruções de máquina 
reduzido possibilita outras vantagens:
• Com uma menor quantidade de chips e transistores, consequentemente, o 
espaço físico era mais otimizado com um custo reduzido;
• A redução da complexidade do decodificador de instruções reduz, também, o 
tempo de decodificação.
A busca pelas instruções foi facilitada porque todas as instruções possuem o 
mesmo tamanho em bits e alinhadas à largura da palavra. Por isso, não é mais 
necessário verificar o tamanho do contador de instruções, pois ele é incrementado 
sempre com o mesmo valor. Com isso, não existe o risco de a instrução ocupar 
duas páginas de dados diferentes, o que traria problemas para o sistema operacio-
nal na hora do acesso.
Execução otimizada de chamadas de função: outra evolução da arquitetura 
RISC para a arquitetura CISC é em relação à chamada de rotinas e passagem de 
parâmetros. 
Como as chamadas de funções, geralmente, consomem um tempo significativo 
de processador, elas requerem poucos dados, mas demoram muito tempo nos 
acessos a Memória. Em virtude disso, na arquitetura RISC, foram utilizados mais 
registradores; portanto, as chamadas de função, que na arquitetura CISC ocorriam 
com acessos à Memória, na RISC passaram a ser feitas dentro do próprio proces-
sador, utilizando os registradores a mais que foram colocados.
Modo de execução com Pipelining: uma das características mais relevantes da 
arquitetura RISC é o uso de pipelining, mesmo sabendo que ela tem funcionamento 
mais efetivo quando as instruções são todas bastante parecidas.
Para entender essa característica, é mais fácil imaginar os estágios de uma linha 
de montagem na indústria, em que não é interessante que um estágio termine an-
tes do outro, pois, nesse caso, perde-se a vantagem da linha de montagem. 
O objetivo de cada instrução, é completar um estágio de pipeline em um ciclo de 
clock, mas esse objetivo nem sempre é alcançado.O processamento de uma instru-
ção é composto pelo menos por cinco fases: busca de instrução; decodificação de 
instruções; operação de busca; execução e escrita de retorno.
Atualmente, o pipeline não se limita a apenas esses 5 estágios,mas pode chegar 
a 20 ou 30 estágios, ou até mesmo mais. No entanto, para que todo o processo 
16
17
funcione, é necessário que determinadas restrições sejam verificadas. A prioridade 
é que todas as instruções permaneçam em cada estágio o mesmo tempo, para que:
• O sinal de clock seja usado como cadência de processamento;
• Não sejam necessários “buffers”;
A Execução de cada instrução em um ciclo de clock: se o uso do pipelining é 
considerado uma característica importante da arquitetura RISC, a execução de uma 
instrução por ciclo de clock é ainda mais importante. Um dos pontos negativos 
das arquiteturas RISC é o longo tempo de execução de cada instrução. Com o 
surgimento dessa nova arquitetura, cada instrução passou a ser executada a cada 
ciclo de clock.
Tabela 1 – Principais características da arquitetura RISC em comparação à arquitetura CISC
Características Considerações
Menor quantidade de instruções que as máquinas CISC
• Simplifica o processo de cada instrução e torna este item 
mais eficaz;
• A maioria das instruções é realizada em 1 ciclo de clock, 
o que é considerado o objetivo maior dessa arquitetura.
Execução otimizada de chamadas de função
• As máquinas RISC utilizam os registradores da CPU 
(em maior quantidade que os processadores CISC) para 
armazenar parâmetros e variáveis em chamadas de 
rotinas e funções;
• Os processadores CISC usam mais a Memória para 
executar determinada tarefa.
Menor quantidade de modos de endereçamento
• As instruções de processadores RISC são, basicamente, 
do tipo Ler/Armazena (Load/Store), desvio e de operações 
aritméticas e lógicas, reduzindo com isso seu tamanho;
• A grande quantidade de modos de endereçamento das 
instruções de processadores CISC aumenta o tempo de 
execução das mesmas.
Utilização em larga escala de pipelining
• O emprego de pipelining permite aos processadores RISC 
atingirem seu objetivo de completar a execução de uma 
instrução, pelo menos, a cada ciclo de clock.
Muitos microprocessadores atuais misturam as duas arquiteturas, criando o con-
ceito de arquitetura híbrida, incorporando os conceitos das duas arquiteturas e a in-
clusão de um núcleo RISC aos seus processadores. O tipo de microprocessador mais 
comum em desktops, o x86, é mais semelhante ao CISC do que ao RISC, embora 
chips mais novos traduzam instruções x86 baseadas em arquitetura CISC em formas 
baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.
Os processadores baseados na computação de conjunto de instruções reduzi-
das não têm microprogramação, as instruções são executadas diretamente pelo
hardware. Como característica, essa arquitetura, além de não ter Microcódigo, tem 
o conjunto de instruções reduzidas, bem como baixo nível de complexidade.
A ideia foi inspirada pela percepção de que muitas das características incluídas na 
arquitetura tradicional de processadores para ganho de desempenho foram ignoradas 
pelos programas que foram executados neles. Mas o desempenho do processador em 
17
UNIDADE Introdução aos Microprocessadores e Microcontroladores
relação à Memória que ele acessava era crescente. Isso resultou num número de 
técnicas para otimização do processo dentro do processador, tentando, ao mesmo 
tempo, reduzir o número total de acessos à Memória.
RISC é também a arquitetura adotada para os processadores dos videogames 
modernos, que proporcionam um hardware extremamente dedicado somente à 
execução do jogo, tornando-o muito mais rápido em relação a microcomputadores 
com mais recursos, embora com processador x86.
Os microcontroladores, principalmente, podem apresentar dois tipos de arqui-
teturas: Von Neuman e Harvard.
Arquiteturas Von Neuman e Harvard
Essencialmente, esses dois tipos de arquiteturas distinguem-se por meio das 
seguintes características: quando um sistema de processamento possui uma única 
área de Memória na qual ficam armazenados os dados (variáveis) e o programa a 
ser executado (firmware ou software), diz-se que esse sistema segue a arquitetura 
Von Neuman. 
Já quando os dados ficam armazenados numa área de Memória diferente da 
área em que fica armazenado o Programa, diz-se que esse Sistema segue a arqui-
tetura Harvard.
Na arquitetura Von Neuman, como há uma única área de Memória, o proces-
sador deve executar uma única ação por vez: ou acessa os dados ou executa uma 
instrução; enquanto que na arquitetura Harvard são observados dois barramentos 
distintos: um para acessar a Memória de Dados e outro para acessar a Memória de 
Programas. Portanto, o processador pode buscar e executar uma instrução ao mes-
mo tempo em que acessa a Memória de Dados para ler ou para gravar algum valor. 
A separação entre Dados e Programa permite a um processador com arquitetura 
Harvard executar um programa num menor tempo que outro com arquitetura Von 
Neuman de mesmo clock.
18
19
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
 Vídeos
3 Minutes on... The Intel 4004 Microprocessor
Descrição do vídeo.
https://youtu.be/cVD5qKIY6ZM
Como se fabrica um Microprocessador (CPU)
https://youtu.be/65rBjL4k72s
The History of Intel Processors!
https://youtu.be/Qu2njWY3Hjk
Intel’s First 10 Core CPU!
https://youtu.be/9uHNqzbkVCg
19
UNIDADE Introdução aos Microprocessadores e Microcontroladores
Referências
COLWELL, Robert P.; HITCHCOCK III, Charles Y. Computers, complexity, and 
controversy. Readings in computer architecture, EUA. , p. 144, 2000.
CRISP, John. Introduction to microprocessors and microcontrollers. EUA 
Newnes, 2003.
GUPTA, Amar; TOONG, H.-MD. Microprocessors –The first twelve years. 
Proceedings of the IEEE, EUA v. 71, n. 11, p. 1236-1256, 1983.
JAMIL, Tariq. Risc versus CISC. Ieee Potentials, EUA v. 14, n. 3, p. 13-16, 1995.
NOYCE, Robert N.; HOFF, Marcian E. A history of microprocessor development 
at Intel. IEEE Micro, EUA v. 1, n. 1, p. 8-21, 1981.
STALLINGS, William. Arquitetura e Organização de Computadores. 8.ed. São 
Paulo: Pearson Prentice Hall, 2010.
TANENBAUM, Andrew S.; WOODHULL, Albert S. Sistemas Operacionais: 
Projetos e Implementação. Sao Paulo Bookman, 2009.
TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais: 
princípios e aplicações. São Paulo Prentice Hall, 2003.
WIKIPEDIA. Microprocessador. Disponível em: <https://pt.wikipedia.org/wiki/
Microprocessador>. Acesso em: 15 jan. 2018.
______. RISC. Disponível em: <https://pt.wikipedia.org/wiki/RISC>. Acesso 
em: 15 jan. 2018.
20

Continue navegando