You are on page 1of 51

LABORATRIO DE REDES I

GERENCIAMENTO DE REDES
Professor : Xiankleber C. Benjamim xianklebercb@gmail.com

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:


Barramentos externos Fontes e destinos dos dados Perifricos ou linhas de comunicao Unidade Central de processamento Unidades de memria Recursos de armazenamento de dados

Mecanismos de transferncia de dados Unidades de E/S

Mecanismos de controle

Computador

Barramentos Internos

Recursos de processamento de dados

1.1 INTRODUO AOS MICROPROCESSADORES DIGITAIS. Viso estrutural de um computador:


Unidades de memria

Barramentos externos
Perifricos e linhas de comunicao

UnidadesComputador de E/S

Barramentos internos

UCP

1.1 INTRODUO AOS MICROPROCESSADORES DIGITAIS. Transferncias de dados possveis em um computador


Unidades de memria

Acesso Direto a Memria - DMA


Perifricos e linhas de comunicao 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.

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.

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
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 prestabelecida. 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) Computadores com arquitetura segundo o modelo proposto pela universidade 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 Microprocessadores Microcontroladores DSPs Sistemas computacionais de propsito geral Sistemas embarcados 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.
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
Bus de Endereos da MP Bus de Dados da MP Bus de Endereos da MD

CPU
Cache de instrues

MEMRIA Bus de Dado da MD Bus de Controle DE

DADOS

MEMRIA DE PROGRAMA

UNIDADE DE CONTROLED E E/S

UNIDADES 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; 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 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.
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, VLBUS 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


5 4,5 4 3,5 3 2,5 2 1,5 1 0,5 0 70 80386DX 80386SX

M IPS

80286 8086 8080 8008 72 74 76 78 80 Anos 82 84 86 88 90

25

1.1 - INTRODUO AOS MICROPROCESSADORES DIGITAIS.


Grficos evolutivos dos microprocessadores X86

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


120 100 80 PENTIUM

MI P S

60 40 20 0 70 72 74 76 78 80 82 84 An o s 386 86 88 90 92 94 486

26

1.1 - INTRODUO AOS MICROPROCESSADORES DIGITAIS.


Grficos evolutivos dos microprocessadores X86

2 - Complexidade dos Ps em nmero de transistores por chip


300 80386

Mil transistores/chip

250 200 150 100 50 4004 0 70 72 74 76 Anos 8008 8080 8085 8086/88 78 81 82 85 80186 80286

27

1.1 - INTRODUO AOS MICROPROCESSADORES DIGITAIS.


Grficos evolutivos dos microprocessadores X86

2 - Complexidade dos Ps em nmero de transistores por chip


3500 PENTIUM 3000

Mil transistores/chip

2500 2000 1500 1000 500 0 85 88 93 An o s 386 486

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 Hardware/Software Software Custo
39

Hardware

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 dos requisitos de hardware Anlise e concepo do sistema Anlise dos requisitos de software Projeto e testes do software Projeto e testes do hardware 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 dos requisitos de hardware Anlise e concepo do sistema

Projeto e testes do hardware Integrao do sistema

Substrato de modelagem integrado


Anlise dos requisitos de software Projeto e testes do software

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).
Receita 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)/2W2

Fim da vida til


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

Validao

Particionamento e mapeamento

Especificaes do particionamento

Performance estimada

Evoluo

Sntese de SW

Sntese de interfaces

Sntese de HW

Cdigo C

VHDL

VHDL

Prototipao
49

1.2 - CONTEXTUALIZAES SOBRE HARDWARE E SOFTWARE NO PROJETO DE SISTEMAS DIGITAIS MICROPROCESSADOS.


Anexo 1: estrutura de um FPGA
Pinos de interface

IOB
Matriz de roteamento

IOB

CLB

CLB

CLB

CLB

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.

51

You might also like