• No results found

Kronotopisk analyse av romankarakteren Vavilen Tatarskij

Analisar o funcionamento da DyAFNoC no domínio do tempo permite entender melhor o papel do PDRCS nas etapas de reconfiguração dinâmica. Um Sistema Dinamicamente Re- configurável (DRS) é composto de diversos contextos que se alternam no tempo e podem ser definidos como "fotografias"durante um período de tempo em que a aplicação requer que de- terminadas tarefas sejam executadas. No caso de DyAFNoC, um contexto será definido como um arranjo de MPs comunicando-se por meio da malha de roteadores, obedecendo a regra de posicionamento para obter uma topologia permitida pelo algoritmo FDOR.

O PDRCS permite a um projetista de DRS organizar os diversos contextos em uma linha de tempo, determinando quais eventos ocorrerão para que uma mudança de contexto seja ativada e os processos necessários para reconfigurar a rede durante a transição de um contexto para outro novo.

Para ilustrar melhor o funcionamento do PDRCS, um exemplo de um DRS baseado em DyAFNoC será utilizado, o qual executará operações aritméticas simples em cada contexto. Esta medida foi levada em conta devido a que o particionamento de um DRS para uma aplica- ção real (ex. aplicações de processamento de vídeo ou imagem, DSP, telecomunicações, etc.) é um processo complexo que demandaria um tempo considerável, portanto não foi considerado devido a que o foco principal desta dissertação será de desenvolver o sistema de controle de reconfiguração, para ser proporcionado ao projetista e que possa ser utilizado quando o parti- cionamento de um sistema com aplicação real, tinha sido feito previamente. Na Figura 39, os diferentes contextos que compõem o DRS de exemplo de aplicação são apresentados, na ordem em que serão configurados sobre o dispositivo FPGA.

Cada contexto está composto por uma certa quantidade de MPs de tamanho mínimo em exe- cução (com sua respectiva etiqueta, por exemplo S3, S6, D5, D2, etc.). Em particular, existem os MPs de tamanho maior que representam operações aritméticas simples como multiplicação (x), divisão (÷), soma (+) e subtração (-). O exemplo assume a existência de um particionamento

Figura 39: Diferentes contextos que compõem um DRS indicando a ordem em que serão configurados sobre o dispositivo FPGA.

Fonte: (Autor, 2014).

prévio da aplicação dos módulos e partições dos contextos7. Mesmo assim, o projetista deve

levar em conta que o mapeamento de módulos tem que cumprir a regra de formar topologias permitidas pelo algoritmo FDOR, como os contextos na Figura 39.

As entidades dos MPs descritos em VHDL sintetizável para esta aplicação exemplo têm uma série de parâmetros em comum, qualquer que seja a operação vinculada (na Figura 39,

7O particionamento dos MPs em diferentes contextos assim como o mapeamento deles sobre a malha bidimen-

sional não foi levado em conta nesta dissertação. Porém, existem algoritmos de mapeamento e posicionamento de módulo em DRNoCs que podem ajudar o projetista definir a melhor localização topológica na NoC (FILHO; CHAU,

apresentam-se diversas operações aritméticas). Estes parâmetros definem, do ponto de vista da aplicação geral, as características de processamento e transferência de dados em forma de pacotes. Alguns parâmetros importantes são:

• Endereço do Ponto de Acesso: endereço do roteador que atuará como ponto de acesso do MP.

• Endereço da Fonte: endereço do roteador fonte ligado a um MP que envia pacotes a um roteador de destino ligado com um MP que processará os dados recebidos. S1, S2, S3, etc. são exemplos de MPs que atuam como fonte de dados na Figura 39. Estes endereços serão fixos para cada contexto.

• Endereço do Destino : endereço de destino dos pacotes composta dos dados já proces- sados pelos módulos D1, D2, D3, etc. da Figura 39, por exemplo.

• Número de Dados por pacote: quantidade de dados que compõem um pacote que in- gressa no MP pelo ponto de acesso. A quantidade de flits de um pacote será igual a este parâmetro mais dois, por causa do acréscimo de dois flits de cabeçalho do pacote.

• Número de bits para Dados por pacote: quantidade de bits necessários para o con- tador de dados por pacote; como a quantidade de dados é parametrizável, é necessário um contador com uma quantidade adequada de bits para emular a quantidade de dados processados.

• Número de pacotes: quantidade de pacotes que o MP espera receber e processar.

• Número de bits para pacotes: quantidade de bits necessários para o contador de paco- tes; como a quantidade de pacotes é parametrizável, é necessário um contador com uma quantidade certa de bits para emular a quantidade de pacotes processados.

• Número de bits para tamanho do buffer: quantidade de bits que determina o tamanho máximo do buffer de entrada do MP, sendo igual a 2N, onde N é este parâmetro.

• Número de ciclos de processamento: este parâmetro é utilizado pelo MP para acres- centar a quantidade de ciclos de processamento que realiza este o módulo emulando um processamento de maior complexidade que a operação aritmética simples que representa. Para isso, o módulo possui um contador interno dos ciclos de processamento até chegar ao número dado como parâmetro.

• Número de bits para ciclos de processamento: quantidade de bits do contador de ciclos de processamento; como o número de ciclos de processamento é parametrizável, então o mesmo ocorre para a quantidade de bits do contador.

O projetista conhece de antemão estes parâmetros para cada um dos MPs (unitários e de maior complexidade), assim como a sequência de reconfiguração de todos os contextos, dando funcionalidade ao DRS. Porém, não tem informação sobre o tráfego que será gerado durante a transferência de dados na rede e portanto, desconhece o tempo em que os pacotes chegam aos seus destinos. Além disso, o tempo de reconfiguração do esquema de roteamento depende do tempo de drenagem de pacotes a partir do momento que se requer uma mudança de contexto, como será demostrado nos próximos capítulos.