• Sonuç bulunamadı

BÖLÜM II MATERYAL VE METOT

Fotoğraf 3.12. Philonotis seriata Mitt

O decodificador de pacotes, no processo de execu¸c˜ao da arquitetura proposta, iden-

tifica e executa a instru¸c˜ao de um determinado pacote de dados. A carga ´util entregue

pelo roteador ´e dividido em trˆes campos, como mostrado na figura 8.3.

Figura 8.3: Composi¸c˜ao da carga ´util no processo de execu¸c˜ao da Rede de Petri imple-

mentada

Os primeiros trˆes bits indicam a instru¸c˜ao que deve ser realizada, os pr´oximos dois

bits referem-se a identifica¸c˜ao do lugar (marca) e os ´ultimos 15 bits podem indicar ou

uma quantidade de marcas ou um n´umero pseudo-aleat´orio. Na figura 8.4 apresentam-se

as instru¸c˜oes de processamento. Desta forma, se o decodificador de pacotes receber, por

exemplo, uma carga ´util contendo a configura¸c˜ao “00001000000000000001”, ent˜ao ser´a

adicionada uma marca (“000000000000001”) no registrador MARCA 2 (posi¸c˜ao “01”).

Figura 8.4: Instru¸c˜oes de processamento dos pacotes de dados

Um bloco BCERP pode enviar diversos pacotes de dados para outro bloco BCERP

com o intuito de adicionar ou subtrair marcas. Nestes casos, o ´ultimo pacote de dados

que o bloco BCERP que estava enviando os pacotes n˜ao possui mais marcas a serem computadas. Ao receber, por exemplo, uma soma finalizadora, o decodificador de pa- cotes decrementa o registrador Cont MR. Este registrador indica a quantidade de blocos BCERPs que implementam as transi¸c˜oes de entrada/sa´ıda do bloco. Desta forma, quando o registrador atingir o valor zero, sinalizando que todos os blocos BCERPs j´a enviaram os pacotes de dados necess´arios, o componente de an´alise de disparo ser´a ativado para determinar a possibilidade da transi¸c˜ao ser disparada.

J´a no processo de configura¸c˜ao do bloco BCERP, o decodificador de pacotes identifica

e realiza a programa¸c˜ao que est´a sendo enviada no pacote de configura¸c˜ao. A carga ´util

entregue pelo roteador, no processo de configura¸c˜ao, ´e dividido em apenas dois campos, como mostrado na figura 8.5.

Figura 8.5: Composi¸c˜ao da carga ´util no processo de configura¸c˜ao da arquitetura proposta

O campo de 5 bits define a instru¸c˜ao de configura¸c˜ao e o campo de 15 bits traz os dados de configura¸c˜ao. Desta forma, se o decodificador receber o pacote de confi- gura¸c˜ao contendo, por exemplo, a configura¸c˜ao “01110000000000000010”, ent˜ao o va- lor “000000000000010”ser´a armazenado no registrador de probablidade de disparo da transi¸c˜ao (instru¸c˜ao “01110”).

Na tabela 8.1 apresenta-se a transi¸c˜ao de estados do decodificador de pacotes na fase de configura¸c˜ao. Como pode ser observado, dependendo da instru¸c˜ao enviada, o deco- dificador armazena os dados de configura¸c˜ao em um determinado registrador. Aten¸c˜ao especial deve ser dado ao banco de mem´orias. Como o banco de mem´oria possui, em cada entrada, 32 bits, n˜ao ´e poss´ıvel configurar cada entrada de uma s´o vez, visto que a carga ´

util de um pacote possui apenas 20 bits. Desta forma, cada entrada da mem´oria ´e arma- zenada em duas etapas. Na primeira, envia-se o cabe¸calho (cab.) de 12 bits (endere¸co

de destino dos pacotes). Na segunda etapa, armazena-se a carga ´util, composta por 20

bits. Desta forma, s˜ao necess´arios o envio seq¨uencial de dois pacotes para a configura¸c˜ao

de uma ´unica entrada do banco de mem´oria. Por exemplo, a instru¸c˜ao “10010”, far´a o

decodificador de pacotes armazenar 12 bits do pacote recebido no cabe¸calho de PAC 1

Tabela 8.1: Decodificador de pacotes: tabela de transi¸c˜ao de estados na fase de confi- gura¸c˜ao

Finalizar Estado Instru¸c˜ao A¸c˜ao Pr´oximo

Config. Atual de Config. Estado

0 R0 00000 Marca 1 <= Dado de configura¸c˜ao R0 0 R0 00001 Marca 2 <= Dado de configura¸c˜ao R0 0 R0 00010 Marca 3 <= Dado de configura¸c˜ao R0 0 R0 00011 Marca 4 <= Dado de configura¸c˜ao R0 0 R0 00100 Arco 1 <= Dado de configura¸c˜ao R0 0 R0 00101 Arco 2 <= Dado de configura¸c˜ao R0 0 R0 00110 Arco 3 <= Dado de configura¸c˜ao R0 0 R0 00111 Arco 4 <= Dado de configura¸c˜ao R0 0 R0 01000 BCERP BCGN <= Dado de configura¸c˜ao R0 0 R0 01001 BCGN BCERP <= Dado de configura¸c˜ao R0 0 R0 01010 SUB <= Dado de configura¸c˜ao R0 0 R0 01011 IMPOS DISP <= Dado de configura¸c˜ao R0 0 R0 01100 POS DISP <= Dado de configura¸c˜ao R0 0 R0 01101 CONFIG. <= Dado de configura¸c˜ao

Enviar pacote de finaliza¸c˜ao de configura¸c˜ao R9 0 R0 01110 Probabilidade <= Dado de configura¸c˜ao R0 0 R0 01111 Numero aleat <= Dado de configura¸c˜ao

Numero comp <= Dado de configura¸c˜ao R0 0 R0 01111 MR <= Dado de configura¸c˜ao

Tempo <= Dado de configura¸c˜ao R0 0 R0 01111 Pont PAC Final <= Dado de configura¸c˜ao

Pont PAC INIC <= Dado de configura¸c˜ao

Comun sincro <= Dado de configura¸c˜ao R0 0 R0 10010 PAC 1(cab.) <= Dado de configura¸c˜ao R1 0 R1 Inexistente PAC 1(carga util) <= Dado de configura¸c˜ao R0 0 R0 10011 PAC 2(cab.) <= Dado de configura¸c˜ao R2 0 R2 Inexistente PAC 2(carga util) <= Dado de configura¸c˜ao R0 0 R0 10100 PAC 3(cab.) <= Dado de configura¸c˜ao R3 0 R3 Inexistente PAC 3(carga util) <= Dado de configura¸c˜ao R0 0 R0 10101 PAC 4(cab.) <= Dado de configura¸c˜ao R4 0 R4 Inexistente PAC 4(carga util) <= Dado de configura¸c˜ao R0 0 R0 10110 PAC 5(cab.) <= Dado de configura¸c˜ao R5 0 R5 Inexistente PAC 5(carga util) <= Dado de configura¸c˜ao R0 0 R0 10111 PAC 6(cab.) <= Dado de configura¸c˜ao R6 0 R6 Inexistente PAC 6(carga util) <= Dado de configura¸c˜ao R0 0 R0 11000 PAC 7(cab.) <= Dado de configura¸c˜ao R7 0 R7 Inexistente PAC 7(carga util) <= Dado de configura¸c˜ao R0 0 R0 11001 PAC 8(cab.) <= Dado de configura¸c˜ao R8 0 R8 Inexistente PAC 8(carga util) <= Dado de configura¸c˜ao R0 0 R0 11010 Cont MR <= Dado de configura¸c˜ao R0

1 R9 – – T0

Para a finaliza¸c˜ao do processo de configura¸c˜ao, deve-se enviar um pacote de confi- gura¸c˜ao contendo a instru¸c˜ao “01101”. Esta instru¸c˜ao far´a com que o bloco BCERP que est´a sendo programado envie um pacote de finaliza¸c˜ao de configura¸c˜ao para um determi- nado endere¸co de configura¸c˜ao, o qual foi definido no recebimento desta instru¸c˜ao. Desta forma, quando todos os blocos BCERPs forem configurados e retornarem os pacotes de

finaliza¸c˜ao de configura¸c˜ao, o sinal finalizar configura¸c˜ao pode ser mudado do n´ıvel l´ogico baixo para alto, informando a todos os blocos BCERPs da arquitetura que o processo de execu¸c˜ao da Rede de Petri pode ser iniciado.

Na tabela 8.2 apresenta-se a transi¸c˜ao de estados do decodificador de pacotes na fase de execu¸c˜ao da arquitetura. Como pode ser observado, dependendo da instru¸c˜ao enviada, o decodificador realiza uma determinada tarefa. Quando se envia uma soma finalizadora, al´em de se realizar a adi¸c˜ao da marca na posi¸c˜ao P (definida no pacote recebido), o deco- dificador tamb´em decrementa o registrador Cont MR. Um procedimento an´alogo ocorre para uma subtra¸c˜ao finalizadora, que decrementa o registrador sincro. Quando o decodifi-

cador de pacotes receber a instru¸c˜ao “101”, ent˜ao o n´umero pseudo-aleat´orio enviado ser´a

comparado com o n´umero armazenado no registrador Numero comp. Se o n´umero enviado

for menor que o armazenado, ent˜ao o decodificador de pacotes armazenar´a o n´umero en-

viado. Al´em disso, o registrador Comun, utilizado pelo processo de resolu¸c˜ao de conflito,

ser´a decrementado em uma unidade. A instru¸c˜ao “111”far´a com que o n´umero pseudo-

aleat´orio enviado seja retransmitido para todos os endere¸cos armazenados no banco de mem´oria.

Tabela 8.2: Decodificador de pacotes: tabela de transi¸c˜ao de estados na fase de execu¸c˜ao da Rede de Petri

Estado Instru¸c˜ao A¸c˜ao Pr´oximo T0 000 Marca(P) <= Dado + Marca(P) T0 T0 001 Marca(P) <= Dado + Marca(P)

Cont MR <= Cont MR - 1 T0 T0 010 Marca(P) <= Dado - Marca(P) T0 T0 011 Marca(P) <= Dado - Marca(P)

Sincro <= Sincro - 1 T0 T0 100 chegada num => 1

Numero comp <= numero chegou

Numero arm <= numero chegou T0 T0 101 Comun <= Comum - 1

Comparar numero chegou e Numero comp T1 T1 – Se numero chegou ≤ Numero comp ent˜ao

Numero comp <= numero chegou T0 T0 110 Comun <= Comum - 1 T0 T0 111 Numero comp <= numero chegou

Numero arm <= numero chegou

Compor pacotes com o n´umero e envi´a-los T0

Benzer Belgeler