Você está na página 1de 50

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
1

1.1 Introduo aos microprocessadores digitais.


Viso funcional de um computador:

Barramentos
externos
Fontes e
destinos
dos
dados
Perifricos ou
linhas de
comunicao

Unidades de memria

Unidade Central de processamento

Mecanismos de
transferncia
de dados

Recursos de
armazenamento
de dados

Mecanismos
de controle

Unidades de E/S

Computador

Barramentos
Internos

Recursos de
processamento
de dados

1.1 Introduo aos microprocessadores digitais.


Viso estrutural de um computador:

Barramentos
externos
Perifricos e
linhas de
comunicao

Unidades
de
memria

Computador Barramentos
Unidades
internos
de E/S

UCP

1.1 Introduo aos microprocessadores digitais.


Transferncias de dados possveis em um computador

Acesso Direto a Memria - DMA


Perifricos e
linhas de
comunicao

Unidades
de
memria

Unidades
de E/S

UCP

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.
5

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.
6

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.

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
8

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.

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.
10

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.
11

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.
12

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.
13

1.1 Introduo aos microprocessadores digitais.


Tipos de microprocessadores por principais reas de atuao

Microprocessadores

Sistemas computacionais de propsito geral

Microcontroladores

Sistemas embarcados

DSPs

Sistemas p/ Processamento Digital de Sinais*

* 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.
14

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.
15

1.1 - Introduo aos microprocessadores digitais.


Super Arquitetura de Harvard proposta pela Analog Devices
Bus de Endereos da MD

Bus de Endereos da MP
Bus de Dados da MP

CPU
Cache de
instrues

MEMRIA DE
PROGRAMA

MEMRIA
Bus de Dado da MD
Bus de Controle

UNIDADE
DE
CONTROLE
DE E/S

DE
DADOS

UNIDADES
DE E/S

16

1.1 - Introduo aos microprocessadores digitais.


Arquitetura modificada de Harvard proposta pela Texas Instruments

17

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).
18

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
19

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 220 e 224;
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.
20

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.
21

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

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 ...
23

1.1 - Introduo aos microprocessadores digitais.

Grficos evolutivos dos microprocessadores X86


1 - Performance dos Ps em quantidade de instrues executadas
por segundo

MIPS

80386DX

5
4,5
4
3,5
3
2,5
2
1,5
1
0,5
0

80386SX

80286
8086
8080
8008
70

72

74

76

78

80

82

84

86

88

90

An os

24

1.1 - Introduo aos microprocessadores digitais.

Grficos evolutivos dos microprocessadores X86


1 - Performance dos Ps em quantidade de instrues executadas
por segundo
120
100

PENTIUM

80
MIPS

60
40
20

486
386

0
70

72

74

76

78

80

82

84

86

88

90

92

94

Anos

25

1.1 - Introduo aos microprocessadores digitais.

Grficos evolutivos dos microprocessadores X86


2 - Complexidade dos Ps em nmero de transistores por chip
300

Mil transistores/chip

80386

250
200
150

80286

100
50
4004

8008

8080

80186

8085
8086/88

0
70

72

74

76

78

81

82

85

Anos

26

1.1 - Introduo aos microprocessadores digitais.

Grficos evolutivos dos microprocessadores X86


2 - Complexidade dos Ps em nmero de transistores por chip
3500

Mil transistores/chip

PENTIUM

3000
2500
2000
1500

486

1000
500

386

0
85

88

93
Anos

27

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.
28

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.
29

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.
30

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.
31

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.

32

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

33

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
34

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.

35

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.

36

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.

37

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

Hardware
Hardware/Software
Software
Custo
38

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.
39

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.
40

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
hardware

Projeto e
testes do
hardware

Anlise dos
requisitos
de software

Projeto e
testes do
software

Integrao
do sistema

41

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
hardware

Projeto e
testes do
hardware

Substrato de modelagem integrado


Anlise dos
requisitos
de software

Integrao
do sistema

Projeto e
testes do
software

42

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.
43

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
Receita
triangular).

Pico de receita no meio da vida


til
Perda de receita pelo atraso da
entrada do produto no mercado
(rea azul)
D
Incio da janela de Mercado

D Atraso
2W Janela de mercado
Receita de mercado = D(3W-D)/2W

Fim da vida til

44

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 45

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.
46

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.

47

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

Validao

Particionamento e mapeamento

Performance estimada

Especificaes do particionamento

Evoluo

Sntese de SW

Cdigo C

Sntese de interfaces

VHDL

Sntese de HW

VHDL

Prototipao

48

1.2 - Contextualizaes sobre hardware e software no projeto de


sistemas digitais microprocessados.

Anexo 1: estrutura de um FPGA


Pinos de interface

IOB

IOB
Matriz de roteamento

CLB

CLB

CLB

CLB

49

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.

50