Professional Documents
Culture Documents
GERENCIAMENTO DE REDES
Professor : Xiankleber C. Benjamim xianklebercb@gmail.com
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
Mecanismos de controle
Computador
Barramentos Internos
Barramentos externos
Perifricos e linhas de comunicao
UnidadesComputador de E/S
Barramentos internos
UCP
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.
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
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
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
* 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
16
CPU
Cache de instrues
DADOS
MEMRIA DE PROGRAMA
UNIDADES DE E/S
17
18
20
22
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
M IPS
25
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
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
Mil transistores/chip
28
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
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
Baixo consumo
35
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
Capacidade de endereamento
Consumo de energia Tamanho
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
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.
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
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
48
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
IOB
Matriz de roteamento
IOB
CLB
CLB
CLB
CLB
50
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