• Nenhum resultado encontrado

A.4 Mascaramento de Bytes

2.5 Linguagem de Descri¸c˜ao de Hardware

2.5.2 Desenvolvimento Hist´orico do VHDL

A linguagem VHDL foi criada com o intuito de descrever, simular e documentar hardware. Ap´os o surgimento dos dispositivos l´ogicos program´aveis e pelo fato do VHDL ter ampla aceita¸c˜ao, ela passou a servir tamb´em para projeto de novos dispositivos e sistemas digitais. Os itens abaixo descrevem o desenvolvimento hist´orico da linguagem VHDL.

• 1968: desenvolvem-se as primeiras linguagens de descri¸c˜ao de hardware. Dois anos depois j´a se sentia falta de padroniza¸c˜ao quanto `a sintaxe e semˆantica devido ao surgi- mento de diversas linguagens.

• 1973: nasce o projeto CONLAN (CONsensus LANguage) com o objetivo de definir formalmente uma linguagem de multin´ıvel.

• 1980: ´e lan¸cado o programa VHSIC (Very High Speed Integrated Circuit - Circuito Integrado de Velocidade Muito Alta). Neste mesmo ano, estima-se que 33 milh˜oes de d´olares foram investidos para o desenvolvimento direto de uma linguagem padronizada e suas ferramentas.

• 1983: no mˆes de julho, em parceria, Intermetrics, IBM e Texas Instruments vencem uma licita¸c˜ao do governo estado-unidense para desenvolver a linguagem VHDL. Ap´os uma d´ecada do surgimento do CONLAN seu relat´orio final foi publicado.

• 1985: em agosto foi entregue a vers˜ao final da linguagem: VHDL vers˜ao 7.2.

• 1986: o IEEE (Institute of Electrical and Electronics Engineers - Instituto de Enge- nheiros Eletricistas e Eletrˆonicos) designou uma comiss˜ao para padroniza¸c˜ao do VHDL. • 1987: foi lan¸cada a primeira padroniza¸c˜ao da linguagem (IEEE Std 1076-1987). • 1988: a linguagem VHDL torna-se um padr˜ao ANSI (American National Standards

Institute - Instituto Nacional Americano de Padr˜oes). Os primeiros softwares foram comercializados.

• 1991: iniciou-se um processo de ajuste do padr˜ao, cujo objetivo era a coleta e an´alise de requisitos, defini¸c˜ao dos objetivos e a especifica¸c˜ao das modifica¸c˜oes na linguagem.

• 1992: ocorre a avalia¸c˜ao e vota¸c˜ao das modifica¸c˜oes propostas.

• 1993: foi publicada uma revis˜ao do padr˜ao 1076 do IEEE chamado VHDL-93 (IEEE Std 1164-1993). A linguagem foi aceita pelo IEC (International Electrotechnical Com- mission - Comiss˜ao Eletrot´ecnica Internacional) como DIS (Draft International Stan- dard - Padr˜ao Internacional de Projeto).

• 1997: em dezembro deste ano foi publicado o manual de referˆencia da linguagem VHDL. • 2001: o padr˜ao VHDL foi revisado pelo IEEE novamente (IEEE Std 1364-2001) e

chamado de VHDL-2001.

Estes avan¸cos da eletrˆonica configur´avel somados `a evolu¸c˜ao de componentes eletrˆonicos de alt´ıssimo n´ıvel de integra¸c˜ao possibilitaram a embarca¸c˜ao de sistemas multiprocessados em um ´unico CI e, conseq¨uentemente, aplica¸c˜oes de processamento paralelo embutido.

29

Cap´ıtulo 3

Processamento Paralelo

Problemas cujo cˆomputo exige simula¸c˜oes complexas (previs˜oes meteorol´ogicas, dispers˜ao de polui¸c˜ao, biomecˆanica, dinˆamica molecular, turbulˆencia de fluidos ou sistemas de combust˜ao), ou que manipulam grandes quantidades de dados (genoma humano, ecossistemas, modela- gem de semicondutores e supercondutores, processamento de imagens ou renderiza¸c˜ao) s˜ao freq¨uentemente executados com o uso de processamento paralelo (GRAMA et al., 2003). Em geral, recorre-se a esta abordagem quando ´e necess´ario resolver problemas maiores ou mais complexos em um certo tempo cr´ıtico, ou quando se deseja reduzir o tempo de processamento de uma tarefa.

Nos ´ultimos 50 anos a computa¸c˜ao sofreu diversas modifica¸c˜oes e avan¸cos (DONGARRA et al., 2003; GRAMA et al., 2003; HINTON et al., 2001). Na segunda metade dos anos 70, a cria¸c˜ao das m´aquinas vetoriais marcou o in´ıcio da supercomputa¸c˜ao moderna (DONGARRA et al., 2003) e o uso da computa¸c˜ao antes da d´ecada de 80 era essencialmente militar e cient´ıfico. Dos anos 50 at´e os dias de hoje, o desenvolvimento do hardware de novos compu- tadores seguiu, em m´edia, a Lei de Moore (MOORE, 1965) no que se refere ao aumento da capacidade computacional. Percebe-se que a computa¸c˜ao de alto desempenho experimentou um crescimento logar´ıtmico de performance desde o seu surgimento. A figura 3.1 mostra a capacidade de processamento dos computadores de alto desempenho ao longo do tempo, as tecnologias dominantes por per´ıodo e os principais representantes de cada era da evolu¸c˜ao arquitetural.

Em sistemas rob´oticos, diversas tarefas necessitam de execu¸c˜ao em tempo real, ou seja, com restri¸c˜oes de tempo que se n˜ao forem atendidas ocasionam falhas no funcionamento (hard real-time) ou degrada¸c˜ao de performance (soft real-time) (LAPLANTE, 2004). A solu¸c˜ao de problemas desse tipo para robˆos de alto desempenho (geralmente mais de quatro graus de liberdade), quando implementada de forma seq¨uencial, exige freq¨uentemente hardware de

Figura 3.1: Evolu¸c˜ao da computa¸c˜ao de alto desempenho (CARRIJO; PAIVA, 2001). alto custo o que torna-se, muitas vezes, um fator proibitivo.

Uma alternativa para a solu¸c˜ao deste problema ´e a utiliza¸c˜ao de arquiteturas de proces- samento paralelo embutidas em FPGA. Este cap´ıtulo apresenta os princ´ıpios do paralelismo e a t´ecnica de processamento paralelo. Um enfoque especial ´e dado `as taxonomias e m´etricas de performance de redes.

3.1

Conceitos e Defini¸c˜oes

Paralelismo: Estrat´egia de solu¸c˜ao de tarefas que consiste na decomposi¸c˜ao de uma tarefa em outras menores que possam ser realizadas de forma simultˆanea (AMDAHL, 1967). Processo: Programa em execu¸c˜ao.

Thread: Auto-replica¸c˜ao de um programa que passa a ser executado na forma de duas ou mais tarefas simultˆaneas ou pseudo-simultˆaneas, compartilhando o mesmo espa¸co de endere¸cos.

Computa¸c˜ao Paralela: Estrat´egia de computa¸c˜ao onde se divide o programa em processos a serem executados por diferentes processadores.

Sistema Paralelo: Combina¸c˜ao de uma arquitetura paralela e um algoritmo paralelo im- plementado sobre ela (KUMAR; GUPTA, 1994).

3.2. AN ´ALISE QUALITATIVA: CLASSIFICA ¸C ˜OES 31

Documentos relacionados