You are on page 1of 50

1

1.1 Introduo aos microprocessadores digitais.


O que um computador?
Reportando-se ao Stalling:
Um computador pode ser visto como um sistema formado
por um conjunto estruturado de componentes, e sua
funo pode ser compreendida em termos das funes
desses componentes.
Quais ento as funes bsicas de um computador?
Processamento de dados
Armazenamento de dados
Transferncia de dados
Controle das operaes internas e de acesso a informao
2
1.1 Introduo aos microprocessadores digitais.
Viso funcional de um computador:
Mecanismos de
transferncia
de dados
Mecanismos
de controle
Recursos de
armazenamento
de dados
Recursos de
processamento
de dados
Fontes e
destinos
dos
dados
Perifricos ou
linhas de
comunicao
Unidades de E/S
Unidades de memria
Unidade Central de processamento
Barramentos
externos
Barramentos
Internos
Computador
3
1.1 Introduo aos microprocessadores digitais.
Viso estrutural de um computador:
Perifricos e
linhas de
comunicao
Barramentos
externos
Computador
Unidades
de E/S
UCP
Unidades
de
memria
Barramentos
internos
4
1.1 Introduo aos microprocessadores digitais.
Transferncias de dados possveis em um computador
Perifricos e
linhas de
comunicao
Unidades
de E/S
UCP
Unidades
de
memria
Acesso Direto a Memria - DMA
5
1.1 Introduo aos microprocessadores digitais.
O que estamos mostrando afinal: a arquitetura ou a
organizao de um computador?
Reportando-se novamente ao Stalling:
O termo arquitetura de um computador refere-se aos atributos de
um sistema que so visveis para o programador ou, em outras
palavras, aos atributos que tm impacto direto sobre a execuo
lgica de um programa.
Exemplos de atributos de arquitetura incluem o conjunto de
instrues, o nmero de bits usados para representar os vrios
tipos de dados, os mecanismos de E/S e as tcnicas de
endereamento de memria.
Definir se um computador deve ou no ter uma instruo de
multiplicao, por exemplo, constitui uma deciso do projeto da sua
arquitetura.
6
1.1 Introduo aos microprocessadores digitais.
O que estamos mostrando a final: a arquitetura ou a
organizao de um computador?
O termo organizao de um computador refere-se s unidades
operacionais e suas interconexes que implementam as
especificaes da sua arquitetura.
Atributos de organizao incluem detalhes de hardware
transparentes ao programador, tais como os sinais de controle, as
interfaces entre o computador e os perifricos e a tecnologia de
memria utilizada.
Voltando ao exemplo anterior, definir se uma instruo de
multiplicao ser implementada por uma unidade de multiplicao
especial ou por um mecanismo que utiliza repetidamente sua
unidade de soma constitu uma deciso do projeto da sua
organizao.
7
1.1 Introduo aos microprocessadores digitais.
O que estamos mostrando a final: a arquitetura ou a
organizao de um computador?
Estes termos no entanto tendem a se confundir e a sua relao a
se estreitar a medida que miniaturam-se os computadores.
Mudanas na tecnologia, por exemplo, no apenas influenciam a
organizao, mas tambm resultam na introduo de arquiteturas
mais ricas e poderosas.
Para estruturas de elevado grau de miniaturizao, normalmente
no existe um forte requisito de compatibilidade de uma gerao
para outra o que flexibiliza e aumenta a relao das tomadas de
deciso relativas sua arquitetura e sua organizao.
8
1.1 - Introduo aos microprocessadores digitais.
Como so definidas as arquiteturas dos computadores?
Primeiro, pela escolha do conjunto de instrues que lhes sero
atribudas e;
Segundo, pela escolha do modelo que ser usado para acesso a dados e
programas.
Pela escolha do seu conjunto de instrues podemos ter:
Arquiteturas CISC
quando apresentam um conjunto muito grande e complexo de
instrues
Arquiteturas RISC
quando apresentam um conjunto reduzido de instrues
Arquiteturas SISC
quando apresentam um conjunto especfico de instrues
9
1.1 - Introduo aos microprocessadores digitais.
Como so definidas as arquiteturas dos computadores?
As mquinas CISC apresentam um conjunto muito grande de
instrues (acima de 100 por exemplo) e algumas delas, dado sua
complexidade, apresentam formatos diferenciados e so executadas em
mltiplos ciclos de relgio.
J as instrues constantes de uma mquina RISC apresentam-se de
mesmo tamanho e so normalmente processadas em um nico ciclo.
Uma mquina SISC difere das anteriores por apresentar um conjunto
de instrues especialmente prototipado para a aplicao pr-
estabelecida.
A medida que se aumenta a miniaturizao dos processadores digitais
acrescenta-se tambm uma ntida tendncia em se mesclar
caractersticas CISC e RISC numa mesma unidade.
10
1.1 - Introduo aos microprocessadores digitais.
Como so definidas as arquiteturas dos computadores?
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 Avanados de Princeton (atribudo
a Von Neumann) mquina de Von Neumann
Computadores com arquitetura segundo o modelo proposto
pela universidade de Harvard mquina de harvard.

Beneficiados pelos avanos da tecnologia de fabricao e pelo
elevado grau de miniaturizao dos chips, muitas incluses
foram feitas aos modelos de Von Neumann e de Harvard no
entanto, a essncia de suas proposies esto mantidas at os
dias de hoje.

11
1.1 Introduo aos microprocessadores digitais.
Alguns conceitos gerais:
Microcomputador?
qualquer sistema computacional que possua como CPU um
microprocessador.
Microprocessador?
qualquer componente que implemente on chip as funes de
uma unidade central de processamento.
Microcontrolador?
qualquer componente que incorpore on chip a maioria das
unidades de um microcomputador ou seja: CPU, memria, portas e
perifricos de E/S.
DSP?
qualquer microcontrolador que adicione funes avanadas para
condicionamento e processamento digital de sinais. O trmo DSP
usado tambm para designar o Processamento Digital de Sinais.
12
1.1 Introduo aos microprocessadores digitais.
Alguns conceitos gerais:
Hardware e software?
"hardware" o conjunto de dispositivos eltricos/eletrnicos que
englobam a CPU, a memria e os dispositivos de E/S ou seja,
composto de objetos tangveis - circuitos integrados, placas de
circuito impresso, cabos, fontes de alimentao, memrias,
impressoras, terminais de vdeo, teclados, etc.
O "software", ao contrrio, consiste em algoritmos (instrues
detalhadas que dizem como fazer algo) e suas representaes
para o computador ou seja, os programas.
Firmware?
programa ou conjunto de programas (constituintes do "software"
bsico de um computador) que orientam: a sua partida, a sua
inicializao ("bootstraps programs") e a sua operao. Por esta
razo so softwares permanentemente residentes em ROM.
13
1.1 Introduo aos microprocessadores digitais.
Alguns conceitos gerais:
Memria principal?
bloco de memria interno do microcomputador responsvel pelo
armazenamento de programas e de dados que podem ser
imediatamente acessados pela CPU.
Fisicamente implementada atravs do uso de pastilhas
semicondutoras de memria ROM ("read only memory"), no
volteis e RAM ("random access memory"), volteis.
Memria secundria ou de massa?
memria auxiliar, externa, onde possam ser armazenados maior
quantidade de dados e programas os quais, no sejam
imediatamente necessrios a CPU.
Embora de acesso mais lento, este tipo de memria
relativamente mais econmico para o sistema do que a memria
principal. Exemplos deste tipo de memria so os discos
magnticos e os pticos.
14
1.1 Introduo aos microprocessadores digitais.
Tipos de microprocessadores por principais reas de atuao





* Os sistemas de Processamento Digital de Sinais so na verdade uma
grande sub-rea dos sistemas embarcados.

Na realidade os limites de aplicabilidade destes trs componentes no so to
bem definidas como mostra o quadro acima. Por exemplo:
O projeto de um sistema embarcado que exija um complexo tratamento
matemtico, mesmo que no envolva o processamento digital de sinais,
pode ser melhor resolvido com um DSP do que com um microcontrolador.
Em contrapartida, o projeto de um sistema de controle digital, mesmo
envolvendo o processamento digital de sinais, sem grandes exigncias de
clculo, pode ser melhor resolvido, com custos bem mais reduzidos, com
um microcontrolador do que com um DSP.
Microprocessadores Sistemas computacionais de propsito geral
Microcontroladores Sistemas embarcados
DSPs Sistemas p/ Processamento Digital de Sinais*
15
1.1 - Introduo aos microprocessadores digitais.
Arquitetura dos microcontroladores e DSPs
Quanto a arquitetura interna uma unidade microprocessadora pode se
apresentar segundo o modelo de Von Neumann (usado pela maioria dos
microprocessadores tradicionais) ou, segundo o modelo de Harvard (usado
pela grande maioria dos microcontroladores e DSPs).
Com os avanos da tecnologia de fabricao e com o alto grau de
miniaturizao dos chips, muitas incluses foram feitas aos modelos de
Von Neumann e de Harvard entretanto a essncia de suas proposies
esto mantidas at hoje.
A Analog Devices por exemplo, denominou de Super Arquitetura de
Harvard (SHARC) ao projeto de um DSP no qual incorporou uma
unidade de controle de E/S e uma unidade cach de instrues CPU.
J a Texas Instruments, na sua famlia TMS320C270x, usa uma arquitetura
de Harvard modificada. As modificaes consistem em incluir no seu
modelo, fatores tpicos da arquitetura de Von Neumann, tais como a
capacidade de tratar dados na memria de programa.
16
1.1 - Introduo aos microprocessadores digitais.
Super Arquitetura de Harvard proposta pela Analog Devices
MEMRIA
DE
DADOS
C P U
UNIDADES
DE E/S
Bus de Endereos da MD
MEMRIA DE
PROGRAMA
Bus de Dado da MD
Bus de Controle
Bus de Endereos da MP
Bus de Dados da MP
Cache de
instrues
UNIDADE
DE
CONTROLE
DE E/S
17
1.1 - Introduo aos microprocessadores digitais.
Arquitetura modificada de Harvard proposta pela Texas Instruments
18
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
O desenvolvimento do microprocessador na dcada de 1970
representou o maior marco na histria dos sistemas eletrnicos e de
computao. Ele permitiu o desenvolvimento de computadores
pessoais de baixo custo e gerou o campo dos sistemas embarcados, nos
quais o microprocessador usado para controlar um sistema ou um
subsistema eletrnico em especial.
A paternidade do microprocessador ainda debatida at hoje. Em 1971
a Intel introduziu o 4004, que inclua todos os elementos de uma CPU
de 4 bits. Neste mesmo ano a Texas lanou o TMS1802NC.
Estes dois microprocessadores foram originalmente orientados para
suportar as funes de uma calculadora eletrnica. O TMS1802NC da
Texas mostrou-se no entanto pouco flexvel j que sua programao
era armazenada em uma memria interna, s de leitura (o que
significava que a mudana no programa exigia um novo processo de
mascaramento do chip).
19
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
A Intel continuou seus esforos no desenvolvimento de
processadores produzindo em 1972 o 8008 e em 1972 o 8080
(reconhecidamente o primeiro processador desenvolvido para
aplicaes de uso geral).
Vrias companhias seguiram os passos da Intel. Como por exemplo:
a Motorola com o 6800, a Rockwell com o 6502 e a Zilog com o
Z80. Para competir com estes novos processadores a Intel lanou,
em 1975, uma verso melhorada do 8080, o 8085.
Como caractersticas marcantes destes processadores destacam-se:
Bus de dados de 8 bits;
Bus de endereos de 16 bits capacidade de endereamento de 2
16
;
Um numeroso e diversificado conjunto de instrues;
Estrutura seqencial de busca, decodificao e execuo das
instrues
20
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
Nessa mesma poca comearam a ser desenvolvidos os processadores
de 16 bits. No entanto, apenas em 1978 surgiu o primeiro deles, o 8086
da Intel. A ele sucederam o 8088 e o 286 da Intel (usados nas linhas de
computadores PC, XT e AT da IBM), o 68000 e o 68010 da Motorola
(usados na linha de computadores da Apple) e o Z8000 da Zilog.
Estes microprocessadores se caracterizam por apresentar:
barramento de dados de 16 bits (com exceo do 8088 de 8 bits);
barramento de endereos de 20 e de 24 bits capacidade de
endereamento de 2
20
e 2
24
;
Maior e mais complexo conjunto de instrues;
capacidade de endereamento de 1Mbyte e de 16 Mbytes de memria;
capacidade de executar um ciclo de barramento em menos de 200ns;
estrutura "pipelined" (canalizada) para as tarefas de busca,
decodificao e execuo de uma instruo.
21
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
A gerao de processadores de 32 bits iniciada em 1984, pela Motorola,
com o lanamento do 68020, num ambiente j notadamente multi-usurio.
Ps o 68020 vieram o 68030 da Motorola e o 80386DX da Intel (usado
como unidade central da linha de computadores 386DX)
Como principais caractersticas destes microprocessadores destacam-se:
"bus" de dados de 32 bits;
"bus" de endereos de 32 bits;
Aumento no nmero de instrues;
capacidade de executar um ciclo de barramento em menos de 100ns;
capacidade de endereamento de 4 Gigabytes (2
32
) de memria fsica;
estrutura "pipelined" melhorada.
possibilidade de incluso de memria cache externa;
capacidade com a incluso do cache de executar instrues de acesso
a memria com 0 (zero) estados de espera.
22
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
Aos microprocessadores 68030 e 80386DX sucederam os, tambm de 32
bits, 68040 e o 80486DX.
O 80486DX incorporou:
uma arquitetura escalar (canalizao nica) otimizada;
uma unidade "cach" e;
uma unidade em ponto flutuante (FPU).
A incluso da unidade cache interna veio permitir menos acessos as
memrias externas (cache ou principal) e a FPU veio permitir a execuo
de operaes com nmeros reais (antes s possveis com o auxlio de um
co-processador aritmtico) tais como o clculo de funes trigonomtricas
(seno, coseno, tangente, etc), funes trigonomtricas inversas (arco-seno,
arco-coseno, arco-tangente, etc), funes logartmicas (log 2, log 10, ln),
funes exponenciais e funes hiperblicas.
23
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
Como forma de competir no mercado, a INTEL desenvolveu as verses
econmicas 386SX (com barramento de 16 bits) e 486SX (com
barramento de 32 bits mas sem o co-processador interno).
O 80486DX evoluiu de 25MHz (velocidade de clock dos primeiros
lanamentos) para 33MHz e 50MHz.
As verses de 50MHz embora extremamente rpidas, trouxeram um grave
problema, o superaquecimento da pastilha j que, trabalhava em 5V e com
velocidade de barramento equivalente.
Para contornar este problema, a Intel lanou os 486DX2 (de 50MHz e
66MHz em 3,3V) e 486DX4 (de 75MHz, 83MHz e 100MHz em 3,3V) os
quais, multiplicavam segundo um fator 2 ou 3 o clock de processamento
enquanto mantinham o clock do barramento no limite de 33MHz
(velocidade mxima dos barramentos ISA, MCA, EISA, VL-BUS ou PCI).
Posteriormente lanada a linha PENTIUM, tambm de 32 bits ...
24
1.1 - Introduo aos microprocessadores digitais.
Grficos evolutivos dos microprocessadores X86
1 - Performance dos Ps em quantidade de instrues executadas
por segundo
A n o s
M

I

P

S
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
5
70 72 74 76 78 80 82 84 86 88 90
8008
8080
8086
80286
80386DX
80386SX
25
1.1 - Introduo aos microprocessadores digitais.
Grficos evolutivos dos microprocessadores X86
1 - Performance dos Ps em quantidade de instrues executadas
por segundo
A n o s
M

I

P

S
0
20
40
60
80
100
120
70 72 74 76 78 80 82 84 86 88 90 92 94
386
486
PENTIUM
26
1.1 - Introduo aos microprocessadores digitais.
Grficos evolutivos dos microprocessadores X86
2 - Complexidade dos Ps em nmero de transistores por chip
A n o s
M
i
l

t
r
a
n
s
i
s
t
o
r
e
s
/
c
h
i
p
0
50
100
150
200
250
300
70 72 74 76 78 81 82 85
4004
8008
8080
8085
8086/88
80186
80286
80386
27
1.1 - Introduo aos microprocessadores digitais.
Grficos evolutivos dos microprocessadores X86
2 - Complexidade dos Ps em nmero de transistores por chip
A n o s
M
i
l

t
r
a
n
s
i
s
t
o
r
e
s
/
c
h
i
p
0
500
1000
1500
2000
2500
3000
3500
85 88 93
386
486
PENTIUM
28
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
Paralelamente, na busca de melhores performances to bem quanto de
novos mercados, os produtores de microprocessadores procuraram
especializar os seus projetos. Como resultado deste esforo, em 1974 a
Texas Instruments produziu o primeiro microcontrolador: o TMS1000.
Estes microcontroladores, em essncia, se constituam em um completo
microcomputador em um chip. A incluso de memria e de unidades
perifricas no chip o fez particularmente eficiente em aplicaes de
sistemas embarcados onde custo, tamanho e consumo de energia deviam
ser mantidos extremamente baixos.
Em 1980 a Intel lanou a famlia de microcontroladores 8748. Esta famlia
integrou muitos perifricos, inclusive uma memria de programa que
podia ser apagada e reprogramada pelo projetista. Tais caractersticas
abaixou os custos de desenvolvimento dos sistemas microcontrolador e
permitiu o uso do microcontrolador em aplicaes de sistemas
embarcados de baixos volumes.
29
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
Em 1983 surgiu o primeiro processador digital de sinais. Lanado pela
Texas Instruments, o TMS320C10 foi especificamente projetado para
resolver problemas de processamento digital de sinais, at esta poca, feito
totalmente no domnio da eletrnica analgica.
O Processamento digital de sinais alm de muito pouco utilizado, requeria
mquinas muito complexas, restritivas s reas militares, aeroespaciais e
de explorao do petrleo.
A introduo do DSP induziu o estabelecimento da matria Processamento
Digital de Sinais nos currculos dos cursos de Engenharia Eltrica e ,
notadamente a rea do conhecimento da engenharia eltrica que mais
evoluiu nestas ltimas dcadas.
Alm do que a que guarda o maior leque de interdisciplinaridade do
curso exigindo conhecimentos especficos em: Teoria da informao;
Anlise Numrica; Eletrnica Analgica; Eletrnica Digital; Programao;
Estatstica e Probabilidade.
30
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
O Processamento digital de sinais progressivamente substituiu o
processamento analgico em aplicaes que variam do controle para as
telecomunicaes. Esta migrao digital percebida at hoje e afeta
aplicaes de custos acentuadamente decrescentes.
Hoje, com a presena de baratos e eficientes DSPs, o processamento
digital de sinais se incorporou a um conjunto muito grande de reas da
produo industrial onde, principalmente so exigidos algoritmos
eficientes e rpidos para a compresso de dados, anlise e controle de
processos, aquisio de dados, anlise e simulao espectral.
A diferenciao introduzida pela absoro de perifricos especficos nos
microprocessadores gera componentes extremamente especializados.
Alguns por exemplo so especificamente projetados para aplicaes em
protocolos de comunicao (Ethenet, USB, etc.) enquanto outros so
especificamente projetados para uso em motores eltricos.
31
1.1 - Introduo aos microprocessadores digitais.
Contexto histrico:
O beneficio de tais especificaes a produo de projetos eficientes, em
termos de custos, tamanho e consumo de energia. Por outro lado, ele fora
o surgimento de uma grande variedade de CPUs.
A dificuldade trazida por esta grande diversidade no deve ser
subestimada. O tempo necessrio a ser investido no estudo das novas
caractersticas e na nova ferramenta de desenvolvimento freqentemente
um grande obstculo para sua adoo pelo projetista.
Para o produtor, a introduo de uma nova famlia de microprocessadores
muito mais complexa e sua adoo deve vir com a garantia de mercado.
Para evitar este problema alguns fabricantes esto introduzindo novos
tipos de microcontroladores que incorporam lgica programvel e
subsistemas analgicos programveis. Este o caso das famlias PsoC
Programmable system on a Chip (Sistema programvel em um chip) da
Cypress e da Altera.
32
1.1 - Introduo aos microprocessadores digitais.
Principais caractersticas dos Microprocessadores
Largura de bus de endereos elevada (permite o gerenciamento de
grande quantidade de memria)
Unidade de gerenciamento de memria integrada
Co-processador matemtico e unidade lgica e aritmtica com
suporte operaes numricas complexas tais como multiplicao
em ponto flutuante.
Sofisticados modos de endereamento para eficiente suporte as
funes de linguagens de alto nvel.
Alto custo
Alto consumo de energia.
Ocupao de grande rea de silcio.

33
1.1 - Introduo aos microprocessadores digitais.
Principais caractersticas dos Microcontroladores
Memria e perifricos integrados no chip
Bus de endereos estreito s permitindo o gerenciamento de
pequena quantidade de memria
Tratamento de poucos formatos de dados (tipicamente 8 ou 16 bits)
Ausncia de co-processador e com unidade aritmtica e lgica
limitada
Limitados modos de endereamento (tratamento ineficiente de
funes de linguagens de alto nvel)
Baixo custo
Baixo consumo
Pequena rea de silcio
34
1.1 - Introduo aos microprocessadores digitais.
Principais caractersticas dos DSPs
Processadores para tratamento de dados em ponto fixo ou flutuante
Arquitetura otimizada para computao intensiva. O TMS320C67 pode,
por exemplo, executar 1 Giga Flops.
Bus de endereos estreito, permitindo apenas o gerenciamento de uma
pequena quantidade de memria
Modos de endereamento especiais para suporte eficiente a operaes de
processamento de sinais (endereamento circular para tratamento de
filtros, endereamento bit-reverse para transformada rpida de Fourier...)
limitados formato de dados (16 ou 32 bits tpicos)
Muitos perifricos especializados on chip (portas seriais, memria,
timers, conversores A/D e D/A, geradores de PWM, etc)
Baixo custo
Baixo consumo
35
1.1 - Introduo aos microprocessadores digitais.
Critrios para escolha de um microprocessador
A escolha de um microprocessador para uma dada aplicao
provavelmente a mais difcil tarefa enfrentada pelos engenheiros.
Para fazer isto corretamente, ele deve conhecer a gama de
microprocessadores que poder usar para a aplicao, para assim
poder precisar e medir os pros e contras de cada opo.
A maioria deles tenta fazer a escolha dentro do jogo de dispositivos
com o qual eles j esto familiarizados.
Para ajudar na escolha, a maioria dos fabricantes oferecem
ferramentas de desenvolvimento e de avaliao. Estas ferramentas
permitem ao engenheiro desenvolver e testar o seu software sem
ter que implementar o hardware requerido pela aplicao.
36
1.1 - Introduo aos microprocessadores digitais.
Critrios para escolha de um microprocessador
Com as tolerncias inerentes a qualquer projeto, os primeiros
critrios que devem ser levados em conta na escolha de um
microprocessador dizem respeito a:
Funcionalidade do conjunto de instrues
Arquitetura e modos de endereamento
Velocidade de execuo (no exatamente a freqncia do clock)
Capacidade aritmtica e lgica
Capacidade de endereamento
Consumo de energia
Tamanho
Presena de perifricos necessrios a aplicao.
37
1.1 - Introduo aos microprocessadores digitais.
Critrios para escolha de um microprocessador
Outros critrios de suma importncia na escolha so:
Ferramentas de software e suporte tcnico.
Neste item devem ser observados o ambiente de
desenvolvimento (editor, assemblador, compilador, simulador,
emulador), a biblioteca de funes e as solues de software
disponibilizadas pelo fabricante ou empresas credenciadas.
Custo
Disponibilidade de mercado
Maturidade do processador.
38
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Tradicionalmente o hardware foi considerado uma tecnologia
imutvel, de alto desempenho e alto custo de desenvolvimento e
produo, enquanto o software sempre foi considerado uma
tecnologia com alto grau de adaptabilidade, de baixo desempenho e
baixo custo de desenvolvimento e produo.
Curva tpica de desempenho x custo de sistemas de hardware e
software nesta abordagem



Desempenho
Custo
Hardware
Software
Hardware/Software
39
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Assim, ao se utilizar componentes de hardware e software, um
sistema pode se beneficiar do aumento de desempenho trazido
pelo hardware e ao mesmo tempo a reduo de custos trazida pela
introduo de componentes de software.

Tradicionalmente os subsistemas de software eram projetados para
serem executados em um microprocessador.
Seu desempenho era naturalmente baixo, visto que um
microprocessador, para garantir a generalidade, necessitava de
instrues aritmticas e lgicas, de controle de fluxo, de
manipulao de memria e de entrada e sada genricas, baseadas
no paradigma de busca, decodificao e execuo.

Qualquer funo mais complexa poderia ser decomposta nas
instrues de mquina do microprocessador e para se promover
uma modificao era bastante se trocar o cdigo, o que facilitava
bastante a atualizao deste componente.
40
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
J os subsistemas de hardware eram implementados em placas de
circuitos impressos com circuitos LSI e VLSI, ou com ASICs
(Application Specific Integrated Circuits), dependendo da escala de
produo.
Devido a isto, os subsistemas de hardware possuam baixa tolerncia
a mudanas, apesar de que, por serem confeccionados para
executarem uma s tarefa, possuam alto desempenho.
Genericamente, projeto de sistemas contendo subsistemas de
hardware e software tm sido feitos na indstria e nas universidades
desde os primrdios da computao.
Entretanto, esses projetos eram feitos de maneira ad hoc e a escolha
dos componentes era feita na definio do projeto, o que nem sempre
levava a um sistema de custo/benefcio e desempenho timos.
Se o prottipo no possusse desempenho ou custo adequado ao
esperado, o projeto voltava prancheta para o reparticionamento do
sistema nos seus subsistemas primitivos de hardware e software.
41
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.

Neste modelo de projeto continuado, aps o racha inicial, as duas
snteses, embora conduzam a integrao final do produto no
mantm nenhum compartilhamento e nenhuma realimentao.

Anlise e
concepo
do sistema
Anlise dos
requisitos de
software
Anlise dos
requisitos de
hardware
Projeto e
testes do
hardware
Projeto e
testes do
software
Integrao
do sistema

42
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Outra alternativa de projeto baseou-se no conceito de ambiente
unificado onde o projeto de hardware e de software usam a mesma
infra-estrutura integrada, tendo por resultado uma melhoria do
desempenho global do sistema embora requisite poderoso soft de
simulao.

Anlise e
concepo
do sistema
Anlise dos
requisitos de
software
Anlise dos
requisitos de
hardware
Projeto e
testes do
hardware
Projeto e
testes do
software
Integrao
do sistema

Substrato de modelagem integrado
43
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Os avanos em engenharia e computao, assim como o aumento na
complexidade dos sistemas projetados direcionaram para a evoluo
de um novo paradigma: O codesign.
Ou mais especificamente anlise e ao projeto integrados de sistemas
de hardware e software onde o item chave a reconfigurao e onde
passam a ser exploradas as synergys entre hardware e software.
Os fatos geradores do codesign como novo paradigma de anlise e
projeto foram:
Primeiro, o aumento do nvel de integrao que permitiu que
sistemas de computao inteiros fosse encapsulados em um
nico chip.
Enquadram-se neste contexto, notadamente os DSPs e os
microcontroladores embora que orientados por software mas
no reprogramveis.
44
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Segundo, foi o surgimento dos embedded systems (sistemas
embarcados) e a crescente necessidade de se produzir estes
sistemas com complexidade e autonomia cada vez maiores e em
um tempo cada vez mais curto.
Estas caractersticas os diferenciam de outros sistemas integrados
e impem a necessidade de uma metodologia que no somente as
atendam como tambm demandas de carter mercadolgico como
tempo de projeto e custos financeiros (modelo de receita triangular).
D
W W
Receita
Incio da janela de Mercado
Fim da vida til
D Atraso
2W Janela de mercado
Receita de mercado = D(3W-D)/2W
2
Pico de receita no meio da vida til
Perda de receita pelo atraso da entrada
do produto no mercado (rea azul)
45
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
E como terceiro fato gerador do codesign como novo paradigma de
anlise e projeto, surge no mercado os FPGAs (Field Programmable
Gate Arrays), dispositivos de hardware que integram elementos lgicos
e de memria estruturalmente configurveis por software.
Funcionalmente, a configurao do hardware desejado carregado,
por definies de software, durante a inicializao do FPGA, a partir de
uma unidade de memria externa ou de um microcomputador
adequadamente conectado.
Esta flexibilidade estrutural permite que os projetistas implementem,
por software, qualquer sistema de hardware a partir de uma adequada
linguagem de descrio de hardware como o VHDL ou a Verilog HDL.
Com a introduo de FPGAs de alta densidade, como os da famlia
Stratix da Altera, que incorporam milhes de elementos lgicos e
muitos blocos funcionais embarcados, alguns tpicos dos DSPs, os
projetistas podem agora implementar o SoPC (System on a
Programmable Chip) ideal para sua aplicao*.
* A PI (Propriedade Intelectual) tem na tecnologia SoC sua grande aliada
46
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Pelo exposto, um ambiente elementar de desenvolvimento para
codesign, pode se constituir de um microcontrolador ou de um
DSP, para a prototipao rpida de software, de um FPGA, como
circuito reconfigurvel, para a prototipao rpida do hardware e,
opcionalmente, de uma unidade de memria para armazenamento
da descrio do hardware desejado.
O microcontrolador ou o DSP pode ser programado em cdigo C
ou assembly e a descrio do hardware do FPGA pode ser feita
por meio de ferramentas de mapeamento de hardware e sntese
lgica, VHDL ou Verilog HDL em ambientes grficos de
programao, simulao e sntese, fornecidos pelos seus
respectivos fabricantes.
Normalmente o algoritmo desenvolvido em uma plataforma de
codesign permite a modelagem, o particionamento entre o hardware e
o software, a cosntese e a cosimulao.
47
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Exemplo1: ambiente de codesign.
Placa LIRMM - Logic Inside Reconfigurable Micro Machine - desenvolvida
no Laboratrio de Informtica, Robtica e Microeletrnica de Montpellier.
48
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Exemplo 2: algoritmo de codesign


Descrio do sistema
Especificaes
Desenvolvimento e Anlise
Particionamento e mapeamento
Especificaes do particionamento
Sntese de SW Sntese de HW Sntese de interfaces
Cdigo C VHDL VHDL
Prototipao
Validao
Evoluo
Performance estimada
49
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Anexo 1: estrutura de um FPGA


Pinos de interface
Matriz de roteamento
IOB
CLB

CLB
CLB
CLB
IOB
50
1.2 - Contextualizaes sobre hardware e software no projeto de
sistemas digitais microprocessados.
Anexo 1: estrutura de um FPGA
Como pde ser visto na figura anterior, arquitetura do FPGA apresenta
trs blocos funcionais: o CLB, o IOB e a matriz de roteamento ou
chaveamento (Switch Matrix).
Os CLBs (Configurable Logic Blocks) constituem-se normalmente de
blocos com funes lgicas programveis e alguns flip-flops ou
registradores.
Os IOBs (Input/Output Blocks) so buffers bidirecionais com sada em
alta impedncia podendo ser programado como entrada, como sada,
como bidirecional ou como sada em coletor aberto.
O terceiro bloco, so as matrizes de roteamento, responsveis pelas
definies de interligao entre os blocos lgicos e/ou destes com os
blocos de entrada/sada.

You might also like