AULA1 –
Introdução a Microprocessadores
gerais
Disciplina: Aplicações Avançadas de
Microprocessadores (AAM)
Profa. Ana T. Y. Watanabe
[email protected]
2013/2
“ Mais vale o bom nome do que as muitas
riquezas; e o ser estimado é melhor do
que a prata e o ouro”.
Provérbios 22:1
Tópicos:
•
Conceitos gerais
•
Evolução dos Microprocessadores
•
Arquiteturas
•
Principais características dos Microprocessadores
•
Critérios para escolha de um microprocessador
•
Perguntas
CONCEITOS GERAIS:

Microprocessador ?

Microcomputador?

Microcontrolador?

DSP (Digital Signal Processor)?

DSC (Digital Signal Controller)?
CONCEITOS GERAIS:

Microprocessador?


Incorpora num único CI LSI (100 a 999 portas) as funções
de uma CPU. Processamento complexo, alto custo. Ex.:
Microcomputadores, aparelhos eletrônicos em geral.
Microcomputador?

Membro da família de computadores que consiste de um CI
de microprocessador, CIs de memória, e CIs de interfaces
de I/O.
CONCEITOS GERAIS:
 Microcontrolador
((µC, uC or MCU) ?
=> CPU + memória + vários periféricos em um único CI,
usado para controle.
 Microcontrolador
dedicado ou embarcado?
=> Microcontrolador que está embutido em um
produto comercial que pode ser um dispositivo ou
sistema específico.
1.4. Processadores Sinais Digitais
(DSP)
Diferem dos microprocessadores na arquitetura de hardware,
software e no conjunto de instruções, o qual é otimizado para o
tratamento digital de sinais.
São empregados em aplicações que exigem processamento de
sinais em tempo real, tais como: áudio, imagem, temperatura,
intensidade luminosa, pressão, sinais biomédicos, etc.
São capazes de realizar operações MAC (Multiplica e ACumula
em um único ciclo de instrução), permitindo o processamento
em tempo real.
CONCEITOS GERAIS:

Principais características dos DSPs:
 Processadores
para tratamento de dados em ponto
fixo ou flutuante
 Arquitetura otimizada para computação intensiva.
 Modos de endereçamento especiais para suporte
eficiente a operações de processamento de sinais
(endereçamento circular para tratamento de filtros,
endereçamento “bit-reverse” para transformada
rápida de Fourier...)
 Formato de dados (16 ou 32 bits típicos)
 Muitos periféricos especializados “on chip” (portas
seriais, memória, timers, conversores A/D e D/A,
geradores de PWM, etc)
 Baixo custo
 Baixo consumo
CONCEITOS GERAIS:

Surgimento dos DSPs:
 Em
1983 surgiu o primeiro processador digital
de sinais.
 Lançado pela Texas Instruments, o
TMS320C10 foi especificamente projetado para
resolver problemas de processamento digital de
sinais, até esta época, feito totalmente no
domínio da eletrônica analógica.
 O Processamento digital de sinais além de
muito pouco utilizado, requeria máquinas muito
complexas, restritivas às áreas militares,
aeroespaciais e de exploração do petróleo.
Controladores de Sinais Digitais
(DSCs)
É um componente recente que integra as características de controle
em tempo real de um MCU com as características de
processamento em tempo real de um DSP.
DSC = controle MCU + processamento DSP
São designados para aplicações de áudio e controle de
movimentos (motores, encoders, etc.), em particular,
aquelas aplicações as quais os microcontroladores não
são capazes de atender.
Possuem tamanho, custo e periféricos internos tais
como os microcontroladores, aliado à capacidade de
operação MAC dos DSPs.
CONCEITOS GERAIS:

Hardware e Software?
"hardware" é o conjunto de dispositivos
elétricos/eletrônicos que englobam a CPU, a
memória e os dispositivos de E/S ou seja, é
composto de objetos tangíveis - circuitos
integrados, placas de circuito impresso, cabos,
fontes de alimentação, memórias, impressoras,
terminais de vídeo, teclados, etc.
 O "software", ao contrário, consiste em algoritmos
e suas representações para o computador ou seja,
os programas.


Firmware?
CONCEITOS GERAIS:
Firmware?

programa ou conjunto de programas (constituintes
do "software" básico de um computador) que
orientam: a sua partida, a sua inicialização
("bootstraps programs") e a sua operação. Por
esta razão são softwares permanentemente
residentes em ROM.
CONCEITOS GERAIS:

Memória principal?



bloco de memória interno do microcomputador responsável
pelo armazenamento de programas e de dados que podem
ser imediatamente acessados pela CPU.
Fisicamente é implementada através do uso de pastilhas
semicondutoras de memória ROM ("read only memory"), não
voláteis e RAM ("random access memory"), voláteis.
Memória secundária ou de massa?


memória auxiliar, externa, onde possam ser armazenados
maior quantidade de dados e programas os quais, não
sejam imediatamente necessários a CPU.
Embora de acesso mais lento, este tipo de memória é
relativamente mais econômico para o sistema do que a
memória principal. Exemplos deste tipo de memória são os
discos magnéticos e os ópticos.
CONCEITOS GERAIS:

Memória CACHE?
 A memória cache surgiu quando
percebeu-se que as memórias não
eram mais capazes de acompanhar o
processador em velocidade, fazendo
com que muitas vezes ele tivesse que
ficar “esperando” os dados serem
liberados pela memória RAM para
poder concluir suas tarefas, perdendo
muito em desempenho.
CONCEITOS GERAIS:
Para
solucionar este problema,
começou a ser usada a memória
cache, um tipo ultra-rápido de
memória que serve para armazenar
os dados mais frequentemente
usados pelo processador, evitando na
maioria das vezes que ele tenha que
recorrer à comparativamente lenta
memória RAM. Enfim, é como se
fosse um memória auxiliar a RAM.
CONCEITOS GERAIS:

São usados dois tipos de cache,
chamados de cache primário, ou cache L1
(level 1), e cache secundário, ou cache L2
(level 2). O cache primário é embutido no
próprio processador e é rápido o bastante
para acompanhá-lo em velocidade.
CONCEITOS GERAIS:

Sempre que um novo processador é desenvolvido, é
preciso desenvolver também um tipo mais rápido de
memória cache para acompanhá-lo. Como este tipo
de memória é extremamente caro (chega a ser
algumas centenas de vezes mais cara que a memória
RAM convencional) usamos apenas uma pequena
quantidade dela. Para complementar, usamos
também um tipo um pouco mais lento de memória
cache na forma do cache secundário, que por ser
muito mais barato, permite que seja usada uma
quantidade muito maior.
CONCEITOS GERAIS:
Caches nos microprocessadores
CONCEITOS GERAIS:
Caches nos microprocessadores
Evolução dos Microprocessadores




O primeiro microprocessador utilizado em um
computador pessoal foi o Intel 8080 (8 bits ) lançado em
1974;
O primeiro microprocessador realmente popular foi o
Intel 8088, lançado em 1979 e incorporado a um PC
IBM - que apareceu em 1982.
O 8088 evoluiu para o 80286, depois para o 80386,
80486, Pentium, Pentium II, Pentium III e Pentium 4,
Celeron, Xeon, Itanium, Core2 (Duo – 2 núcleos e Quad
– 4 núcleos), i3, i5 e i7 extreme ...
Seu principal concorrente, a AMD, evoluiu
paralelamente, com o 286A, o 386, 486, 586, K5, K6-3,
Athlon, Duron, Sempron, Athlon MX, AMD64, Phenom e
Turion.
ARQUITETURAS:

Como são definidas as arquiteturas
dos computadores?
 Escolha
do conjunto de instruções que lhes serão
atribuídas e;
 Escolha do modelo que será usado para acesso a
dados e programas.
ARQUITETURAS:
1)
Pela escolha do seu conjunto de instruções
podemos ter:

Arquiteturas CISC (Complex Instruction Set Computer)
 Quando apresentam um conjunto muito grande e complexo
de instruções. As máquinas CISC apresentam um
conjunto muito grande de instruções (acima de 100 por
exemplo) e algumas delas, dado sua complexidade,
apresentam formatos diferenciados e são executadas em
múltiplos ciclos de relógio.

Arquiteturas RISC(Reduced Instruction Set Computer)
 Quando apresentam um conjunto específico de instruções,
sendo de mesmo tamanho e são normalmente processadas em
um único ciclo.
ARQUITETURAS:
Implementações CISC e RISC vem se
tornando cada vez mais similares;
• Arquiteturas RISC da atualidade possuem
um número de instruções equivalente as
arquiteturas CISC de gerações anteriores;
• Com o aumento da velocidade da tecnologia
atual, arquiteturas CISC passaram a executar
mais de uma instrução por ciclo, utilizando
pipeline.
ARQUITETURAS:
•
Com esses avanços tecnológicos, CISC e
RISC passaram a possuir diversas
similaridades, e a distinção entre as mesmas
deixa de ser tão relevante;
 • Porém, apesar do aumento no conjunto de
instruções, RISC continua utilizando
instruções de um ciclo, com um grande
número de registradores.
 Além disso, continua utilizando apenas
instruções LOAD/STORE para acesso a
memória.
ARQUITETURAS:
2) Pela escolha do modelo que será usado
para
acesso a dados e programas
podemos ter:

Computadores com arquitetura segundo o
modelo proposto pelo Instituto de Estudos
Avançados de Princeton (atribuído a Von
Neumann) – máquina de Von Neumann

Computadores com arquitetura segundo o
modelo proposto pela universidade de
Harvard – máquina de Harvard.
ARQUITETURAS:
Modelo von Neumann:

Os dados e instruções são
armazenados em uma única
memória de leitura e escrita,
mais simples, menos restritivo,
menos eficiente, execução
sequencial de instruções.
Modelo von Neumann:




Dados e instruções armazenados em uma
única memória de leitura e escrita.
Endereçamento da memória por posição e
não pelo tipo;
Execução seqüencial de instruções ; e
Único caminho entre memória e CPU.
Modelo von Neumann:
- Arquitetura mais simples;
- Mais lento pois não permite acesso simultâneo às memórias.
ARQUITETURAS:
Modelo Harvard:



Variação da arquitura von Neumann;
Barramentos separados para
instruções e dados, portanto
trafegam em barramentos diferentes
=> paralelismo;
Memórias separadas para
instruções e dados.
ARQUITETURAS:
Modelo Harvard:
ARQUITETURAS:
Modelo Harvard:
ARQUITETURAS:
Idéia de pipeline:
ARQUITETURAS:

Pipeline é uma técnica de hardware que permite
que a CPU realize a busca de uma ou mais
instruções além da próxima a ser executada.
Estas instruções são colocadas em uma fila de
memória(dentro da CPU) onde aguardam o
momento de serem executadas.

A técnica de pipeline é utilizada para acelerar a
velocidade de operação da CPU, uma vez que a
próxima instrução a ser executada está
normalmente armazenada dentro da CPU e não
precisa ser buscada da memória, normalmente
muito mais lenta que a CPU.
ARQUITETURAS:

O modelo de Von Neumann é usado pela
maioria dos microprocessadores tradicionais
e o modelo de Harvard é usado pela grande
maioria dos microcontroladores e DSPs.
ARQUITETURAS:

Beneficiados pelos avanços da tecnologia
de fabricação e pelo elevado grau de
miniaturização dos chips, muitas inclusões
foram feitas aos modelos de Von Neumann
e de Harvard, no entanto, a essência de
suas proposições estão mantidas até os
dias de hoje.
Principais características dos
Microprocessadores:






Largura de bus de endereços elevada (permite o
gerenciamento de grande quantidade de memória)
Unidade de gerenciamento de memória integrada
Co-processador matemático e unidade lógica e
aritmética com suporte à operações numéricas
complexas tais como multiplicação em ponto
flutuante.
Sofisticados modos de endereçamento para
eficiente suporte as funções de linguagens de alto
nível.
Alto custo
Alto consumo de energia.
Critérios para escolha de um
microprocessador:








Funcionalidade do conjunto de instruções
Arquitetura e modos de endereçamento
Velocidade de execução (não exatamente a
freqüência do clock)
Capacidade aritmética e lógica
Capacidade de endereçamento
Consumo de energia
Tamanho
Presença de periféricos necessários a aplicação.
Ponto Fixo:
Em computação, uma representação de número
de ponto fixo é um tipo de dados real para um
número que tem um número fixo de dígitos
depois (e às vezes também antes) do ponto
decimal.
Por exemplo, uma representação de ponto fixo que
tem sete dígitos decimais com duas casas
decimais pode representar os números de
12345,67, 123,45, 1,23, etc
Ponto Flutuante:
Em computação, uma representação de
números reais em ponto flutuante, refere-se
ao fato de que o ponto decimal pode
"flutuar", isto é, ele pode ser colocado em
qualquer lugar em relação aos algarismos
significativos do número.
Ponto Flutuante:
http://www.slideshare.net/adorepump/aritmeticacomputacional-presentation
Ponto Flutuante:
PERGUNTAS:
1) Qual a diferença básica entre microprocessador e microcontrolador?
2) O que é memória cache? Qual a sua finalidade?
3) Quais as diferenças entre software e firmware?
4) Como são definidas as arquiteturas dos computadores? Explique.
5) Quais as principais características dos Microprocessadores?
6) Quais as principais características dos DSPs?
7) Qual a diferença fundamental entre a arquitetura von Neumann e a
Harvard? Qual é a mais rápida? Justifique.
8) O que é pipeline? Qual a vantagem?
9) Qual a diferença entre CISC e RISC?
10) O que são em computação ponto fixo e flutuante de números reais?
Download

aula1__2013_2