,."
SAO
UNIVERSIDADE DE SÃo PAULOINSTITUTO DE FfSICA E QUfMICA DE sAo CARlOS
MEMBROS DA CO~ISS1O JULGADORA DA TESE DE DOUTORADO DE DEISY PIEDADE M. FISCHER APRESENTADA AOINSTITUTO DE F!sICA E QU1MICA DE S~ CARLOS, DA UNIVERSIDADE DE S~ PAULO, E~ 26.10.90
~-~&L--Pro1.or. ValentiM Obac R~ja
;~Dr. A~------
jl 11 /-~---~----- ~------I.
Prol. Dr. Car1O~ Anto~ ..RI.I99 iero
.//~//~//// /-r-"- ,-~.&;:~,_:::~::...:_---- " ----
/"Prol. Dr. Caetano prna 1mior
---\----------- ----------Prol.Dr. 8oa'lentura Freire dos Reis
Dedico este trabalho, a todas as
pessoas QUe me são muito QUeridas, e
em especial ao lsaac, meu filha.
Agradeça ao Senhor Deus, Criador do
Universo, por ter me dado condições,
orientação, amizade, incentivo, e empenho para Que este
trabalho fosse realizado com sucesso.
,Ao Prot. Dr. Caetano Traina, pelo auxilio no
desenvolvimento deste tr'abalho e pela gentileza em ceder
Aos técnicos de Laboratório de InstrumentaçãoEletr'ônica do IFQSC, em especial à Ivanilda, pelo auxiliona implementação do sistema.
F is i c a d e R io C 1ar o, que pe rm i t iu e deu co ndi ç õ e5 p ar a odesenvolvimento desta pesquisa.
characterized by a Ring Architecture implemented with
three processar modules. The ring structure is a 1000 type
architecture in which adjacent modules are connected by
single communication links. The modules rece~ve data frorn
ane ar morE SOurces (depending an whether these sources
are replicated ar not). This information is then processed
and made ready for vot ing. The da t a is oassed be t.ween the
tolerance i5 achieved by each of the three processorsbeing able to examine comoutational results from it5neighbour. Thu5, each module process receives two versionsof each calculation: one from its own calculatiorl and one
indicated ir, each module by an error ccmdition flag. Inthe event of a fault in one of the moduleíorocessors, thenthis will be recognized by the sofh.are voting and anerror will be reported, the system will continue properoperation in sPlte of the failure of a single module.Triple Modular Redundant Ring System canfault in one of the modules. The
comunicação, formando um laço. Os módulos recebem dados de
.uma forma mais flexivel) através de programa9ão. O sistema
. .ooeracional serão executados de uma forma tolerante a
F I G . 1 . 1 .: UM MÓDULO DO SISTEMA COM SUA CONTROLADORA DE
DISCO FLEXíVEL
!t----..-..--..~.-0-'--
INTRODUÇÃO ............................1.
1 . Z O OBJET I VO DESTE TRABALHO 6N
i .3 APRESENTAÇAO 9
CAPÍTULO 2 : A TÉCNICA DE TOLERÂNCIA À FALHAS 11.'"2.1 I NTRODUÇAO 11
2 . 2 iDLERÂNC 1A À F'ALHA8 .. ' -'0' ••••••••••• 13
2.2.1. CONFIABILIDADE E DISPONIBILIDADE ..._.....13t .'" \2.3 TECNICAS DE TOLERANCIA A FALHAS 18
2.3.1. CARACTERIZAÇÃO DE ERROS _ 182.3.2. DETECÇÃO DE ERROS 212.3.3. TÉCNICAS DE REDUNDÂNCIA 252.4 REDUNDÂNCIA NA INFORMAÇÃO 26
1\2.5 REDUNDANCIA TEMPORAL 27"2.6 REDUNDANCIA POR CIRCUITOS 28
2.6.1. REDUNDÂNCIA ESTÁTICA POR CIRCUITOS 29" "2.6.2. REDUNDANCIA DINAMICA POR CIRCUITOS 31
2.7 REDUNDÂNCIA POR PROGRAMAÇÃO 372.7.1. REPLICAÇÃO DE RECURSOS DE PROGRAMAÇÃO 382.7.2. VOTAÇÃO POR PROGRAMAÇÃO 392 .8 CONCLUSÃO ....................42
CAPÍTULO 3 IMPLEMENTAÇÃO DA ARQUITETURA EM ANELTOLERANTE À FALHAS 44
3.1 INTRODUÇÃO 443.2 A ARQU ITETURA EM ANEL .453.2.1. CONSIDERAÇÕES SOBRE A VOTAÇÃO POR PROGRAM~
çÃO NA ARQUITETURA EM ANEL 473.3 IMPLEMENT AÇÃO DA ARQU ITETURA EM ANEL 623.3.1. CARACTERÍSTICAS DO SISTEMA DESENVOLVIDO ..62
IX
3.3.2. CONFIGURAÇÃO DO SISTEMA 64
3.4 A ARQU I TETURA DE UM MÓDULO 65
3.4.1. O SUBSISTEMA DE PRDCESSAMENTD 663.4.2. O SUBSISTEMA DE ENTRADA E SAÍDA 723.4.3. O SUBSISTEMA DE COMUNICAÇÃO NO ANEL 7.43.5 PROGRAMAS DE GERENC IAMENTD DO SI5TEMA 863.5.1. SISTEMA DE ARMAZENAGEM EM DISCO FLEXíVEL .863.5.2. DESCRIÇÃO DOS PROGRAMAS DE GERENCIAMENTO .93
4.1
4.2
4.3.2.
4.3.3.
4.4
4.4.1.
4.5
SINCRONIZAÇÃO EM SISTEMAS TOLERANTESÀ FALHAS COM VOTAÇÃO 103
INTRODUÇÃO 103
SINCRONIZAÇÃO _ 104SINCRONIZAÇÃO COM RELÓGIOS 106RELOGIOS INDEPEt~ENTES 108RELÓG IO EXTERNO 108
REALIMENTAÇÃO MÚTUA : 114PONTO COMUM DE ENCONTRO 127A SINCRONIZAÇÃO NA ARQUITETURA EM ANEL ..132ANÁL ISE 136
ANÁLI SE "5.1 DA TOLERANCIA A FALHAS .......... 140
5.2 ANÁLISE DA ARQUITETURA ...... ............. 141
5.2.1. ANÁLISE DA COMUNICAÇÃO .................... .141
5.2.2. ANÁLISE DA VOTAÇÃO PARCIAL .............. 149
5.2.3. ANÁLISE DA DISPONIBILIDADE .............. 159
"APENDICE: LISTAGEM DAS ROTINAS DE GERENCIAMENTO ....176.X
,CAF1TLlO 1
geralmente n. pior hora possivel".
serv190 fornecido, por um sistema de computação, tal que
r;.stRV\CODG"71nL:·i·:~":~-,?:~. --'~ "c=z=_"~! "'\Ç,,"\O - IFQSe, . . '.' . ~.~ .~
em um S 1 S tema de comou t ação, é a.t r·a vés da cons t rução de
sistema de comoutação tolerante a. fa.lhas. Outr'o meio, e
funcionamento e garantida Dor constru9ão, com a elimina9ão
orojeto, e na imolementação do sistema, eliminar as fontes
execução de3
da manutenção, e longevidade do sistema.
Atualmente com a informa ti zação, or i nci oal mente
das atividades comerciais e bancárias, a utilização de
sistemas de comouta9ão com alta disponibilidade vem se
A execução de tarefas criticas,
operayão do sistema, enauanto a unidade defeituosa é4
processos industriais, são aplica9ões criticas, para as
.come~cial pa~a aplicações criticas [WENSLEY, 1981J.
ser ~ma soluyão. Outra soluyão é o uso de várias unidades
unidades reservas, poderá ser executado automaticamente5
(pe10 prócrio sistema) ou remotamente através de estaçõesda Terra. A sonda VOYAGER é um exemplo desta apl ica9ão
disponibilidade e confiabilidade. O sistema é transparente6
aplica9ões Que reQuerem alta confiabilidade de operações.
19763. oroietados para operarem sincrcnamentel e a seleção
vot.ação
são i mp 1ement.ados7
, ,~lgor·itmos. o algoritmo de vot.a9ão, difere dos sistemas
TMR convencionais: aaui é utilizado um esouema de votação
Tarnbém os 3 módulos fazem a se 1E9ão
processa como se as unidades de votação e de seleção
Nooeraçoes conjuntamente. Foi criado um sistema de /}linha
t••á i1izado cara a t. ransm issão de dados e o de comun i cação
e a seleção de saLda feita através de circuitos lógicos. O
sem a ulilizacão de comoutadDr mestre eI
• • fV
slncrDnlzaçao
1.3 APRESENTAÇÃO
c •••••.• ··~.~A~- Ifose)~.",,_._ .."."'_.~""'''
A sincronização dos orocessadores
revisão das diversas formas de sincronização. utilizadas
nes t.as araui te t.uras . Também é anal i sada a si ncroni zacão,
outras imolementações.
No capitulo 51 é aoresent.ada uma análise global
,
CAPlTLlO 2
, Ao
A TECNICA DE TClERANCIA A FALHAS
2.1 - INTRODUÇÃO
,O objetivo deste capitulo é apresentar um resumo
feitos testes exaustivos de circuitos e programas. Tenta-se eliminar por oonitru~ão, as posslveis cau;a; d; fdlhd~.
ação na. máQuina fl~iea,
execução correta de u~ crograma., mesmo na cresenya de
falhas. A tolerância a falhas tem se oonstituldo em uma
Que possam ocorrer nos ci rcui tos e (ou) na orogramação
RH) = eXD (- j ~IL) dlLl Io
-.taxa
I TI mCf)«:I:...J
~
wo<lx({I-
I - Região de altas taxas de falhas: os elementos apresentam defeitos lo-go que postos em funcionamento - 11 mortalidade infantil 11 •
m- Região de desgaste: degradacão dos elementos .há um crescimento dataxa de falhas.
,p_~_ oomponente~ elet~8nico6 e du~ante o pe~iodo
-}.t= e
Circuitos com baixa escala de integra9ão (551:-
por' exemplo, tioo TTL), têm tdXdS d~ filh~~ de" 10~ a 101
temoo de ooeraçãotemoo de operação + tempo inoperante
, AZ.3 - TED-üCAS DE TCl.ERANCIAA F~
A implementa9ão da técnica de tolerância a
2. recuDeraçã-o do sistema com substituição ou
Na ~ua operaçao
2.3.1 - CARACT~RIZAÇÃO D~ ~RROS
implementaç;ão, falhas em componenies, falhas aue ocorrem
tdlhas na interação do homem com a maouina.
,cardolerislioas [JOHNSON, 19B7] [MAXION, 19B?] :
3. duração oermanente)
Destas característ.icas, a durayão é um problema
poder i a i mp1i car em desperd ic i os de reoursos, poi s es t.e19
dos dispositivos e diminuição dos valores de tensão para
sistema pode ser um simples componente, ou pode ser um
sistem .• de proces.amento complexo. A salda pode ser um
sinal eletrônico, um dado, ou uma mensagem. Se diz Que um
sistema não está se comportando corretamente, se o seu
o si stema20
saidas fora da esoecificaçãol
.ou oode enviar saidas
enviar informações conflitantes por rotas independentes,
.~in~l 16gioo "0"1 ~mbo~ Dorrg~pondQntg~ ~ um~ mQ~m~ ~~id~.
,E. t.. Tal h.. de oomport..ment.o .~o or it i o.. no.
comparação/votação de dados, para fornecerem uma salda
2.3.2. DETECÇÃO DE ERROS
processador e a memória, detecção a nlvel de transferÊncia21
·fornecidos como saida: detec9ão ao término de uma tarefa}
deteccão no barramento de EIS do computador; chamados,
As técnicas de detecção de erro mais usadas são
.ponto critico de falha, um ponto vulnerá.vel do sistema
.Esta técnica Se baseia no principio Que, algumas
ooerações no si stema devem ser oomol etadas dentro de um
ou com uma função estabelecida a oriori. Por exemolol se a
verificação de erros na compilação de um programa.
adicão(
informação exlra a uma eslrulura de dados básica. Com'c J • ~ I
codigos det.ect.ores de erro é possivel detectar erro na
processos, programas ou opera9ões de forma correta. As
e a ~edundgncia é usada como uma p~oteç~o
Redundância na informacão;,
2 .••. - REDUNDÂNC I A NA I r-FORMAÇÃO
adição de informação extra. na estrutura de dados básica.
oue não é imprescindlvel à operação do sistema. Esta
í nf or'mação oer'mi le iden tificar er'r'osI e em alguns casos
incor'r'etos. Estes códigos são chamados códigos de correção
"2.5 - REDUNDANCIA TEMPORAL
permite fazer a distingão entre falhas
·circuitos _ nivel de componentes eletrônicos, como na
reorodu9ão de módulos intei ros [AVIZIENIS J 1975]. El a é
ut i 1i zada para detecção, oara mas'caramento de erros, e
m6dulos (TMR "Triple Modular Redundano~u [SIEWIOREK,
1982] [VON I'oEUMAM, 1956]). Nesta. oonfigura9ão, :3 módulos
trabal ham si ncronamente, executando a; mêsmas taref as ou
submetidos a um circuito votante por maioria (fig. 2.2>. Oconceito de votação por. maioria, foi introduzido por VonNeuman em 1956salda permanece
Neste sistema, uma2 dos 3 módulos
antes de entrarem em operação. Ou os circui tos votantes.
podem t.ambém ser triplicados iunto com os módulos
Na redundância estática. a votação é usualmente
implementada através de circuitos. e o processo é aplicado
votando-se bit a bit. Na figo 2.3, tem-se um exemplo de um
circuito votante. A arQuitetura THR suporta falhas em
apenas 1 módulo. A faIha em um segundo módulo, 1eva a
perda da integridade do sistema, mesmo existindo ainda uma
capacidade de processamento, pois as 3 unidades executam a
mesma taref a. mesmo auando não há probl emas. Há sistemas
aue tentam minimizar esta perda. Um exemplo é o C.vmp
("Computer, Voted Hulti Processor" [SIEWJOREK, 1978]), Que.
podQ .Q rQconf i gurar Q trabal har com r'Qdundânci a t.ri 01 a
,MODULO
4
,MODULO3
,MOOULO
2
(J)- E lemento de votação ide'alo
-Fig. 2.2 - REDUNDANCIA MODULAR TRIPLA - TMR o
Figo 203 - E xemplo de circuito votante (bit a bit).
Redundancy") com votação I que pode suportar f aI has em f,
1985), é ou tro 8X emol o de aol icação da redundânc ia N~1R.
Nesta estrutura, os -módulos são arranjados na forma de um
Fig. 2.4 - Estrutura em anel com cinco módulos .circulação horário
MODULO 1LIGADO
•"-
COMPARADOR ----'..,-
~
MODULO 2DESLIGADO
1. detecção da falha;
2. localização da unidade com defeiio;3. reconfiguração
A reconfi9uração pode implicar na troca da
unidade defeituosa por uma sem falhas, ou na simples
desativação da unidade com defeito.
2.6.2 a. - DUPLICAÇÃO RECONFIGURÂVEL
comparação detecta as
módulos. segundo uma
poss ivei s di f erença::. ent re os do i s
técnica de diagnose (por exemplo:
impIementada no projeto [SIEWIOREK.1982] [ANDERSON, 1981]. Na presença de um erro, o sistema
i den ti fica o módu10 com f aI ha, reconf i gura-se colocando-o
fora de operação. e continua com o módulo correto. (fig.
combina9ão da redund~ncia estática,
procriedade de reconfiguracãol,
.[SIEWIOREK, 1982]. Ela tem as seguintes caracterisiicas:
,
SAlDA DASUNIDADES
ATIVAS
MODULO1
ATIVO
DETETOR... DECONCORDANCIA
CIRCUITO DE
CHAVEAMENTO
IDENTIFICACÃO DE..•.CONCORDANCIA
! ..•.••...•== ,........, -~~ .•.•...•. ~
i SERviÇO DE BIBLIOTE~ ..:"E.I;'.;FO~I\'./'(:ÃO _ IFose I~-~.•', _-'-'-'''''''' ~ '-, ~-----'. -""'-.-.,",-
funções de -orogramaçao.
I19BB.b, 19B9]. Com isto, alguns sistemas hibridos têm
,a arquitetura hibrida em anel,com sistema de circulação incluindo módulos ativos e
2.6.2 c. - VOTAÇÃO ADAPTATIVA
tkcnica de· duclicacão reconfigurável,,
2.7 - REDUNDÂNCIA POR PROGRAMAÇÃO
de or-09r-amação oar-a toler-ar- falhas no sistema [WENSLEY.
1978]. É difer-ente do conceito r-edundância em pr-ogramação,
[HINI CURSO, 1987) [OZAKI, 1988].37
A redundância por programação, a redundância por
circuitos e a redundância em programaç~o, são tÉcnicas Que
,.,por progr"ama9ao
- ReDlicação de recursos de programação;Votação por programação.
2.7.1 - REPLICAÇÃO DE RECURSOS DE PROGRAMAÇÃO
r-edundânci a tempor-al com r-edundâ.nci a por- pr-ogr-ama.9ão I Que
oodem U$dr métodos difer2ntes ou oodifiodÇâo difere~te, e
2.7.2 - VOTAÇÃO POR PROGRAMAÇÃO
programas. em vez de ci rcui tos. para a impl ementação do
elemento votit.dor u~ado nd. r-edundância modular múl t.ipla.
NMR. Ela pode usar- o mesmo conceito de votação por- maior-ia,
por programação tem a vantagem de não ter a natureza
estática, da votação por circuitos, podendo-se modificar
a190rl~mo5 utilizados na votação.J
l"'edundSncia hlbl"'ida [OBA.C RODA, 1982], t.ant.o nos aspectos
.~inai~ continuo§ @ §inais em tempo reil
• f\ •eXlgenclas de sincronização são menos
temporização fica
vot.ação
consi derar na apl i caçãci dest.a t.écni ca J' o
RODA, 1983.aJ. Esta unidade executaria a votação DorIVprogramaçao, ,
de acol"do com um .1 gol"itmo Pl"é-est abe 1ec ido.
entre os módulos e a seleção de um dos módulos (com
operação correta) para dar salda ao sistema.
Não é posslvel uma classificação rigorosa de
interferência de fat.ores externos por causa do alto grau42
de integração e dos baixos nlvelS de tensão elétrica
, ,envol ve vár ios nive is I desde o pro j eto do circu ito em si,
até o desenvolvimento de sistemas de comoutação comoletos.
eouillbrio
o uso da arcuitetura em anel, com vota9ão Dor Drograma9ão.
CACíTLlO S
""I~AÇAO DA ~UI~EM Af'.S.. ~ A FAU-IAS
•••3.1 - INTRODUÇAO
redundância, tem a grande vantagem e flexibilidade de
permitir a votação através de programação. Neste capItulo,
.~o di.outida. as caractQrl.t.icas de.laarquitetura e as
estratégias básicas oue podem ser usadas, para a execução
da vota.ção: a votação ma j ori tári a e a votação parei aI. É
tambsm analisado o grau de lolerância a falhas, Que estas
estratégias de votação proporcionam ao sistema. Isto e
feito através das exoressões de confiabilidade deduzidas
A imolementação do Sistema em Anel com 3 módulos
aoresentada, tanto do oonto de vista dos
utilizados (UhardwareU), como do sistema de
'·sitR"ÇiÇõ"DE BIBLIOTECA E INFOP',\V:ÇAO - IFaSef1S:CA
·ent~ada e saida. Os mecanismos de votação e comunicação no
sinoronizado Quando est~ salda á p~oduzida.
ou não ser t~i 01 icados. Pa~a a votação dos dados podem45
M1 M2 M3
INTERFACECONTROLADORA
IMPRESSORA
Fig. 3.1 : Estrutura em anel com 3 móduloscirculação unidirecional horória
TERMINALpEVIDEO
2. Votação sobre um número parcial de dados
todos ou outros módúlos para vota9ão. No segundo, é feita
a votacão em cada módulo sobre um número menor de dados. O,
limite é'a comparação de dados de dois módulos adjacentes.
3. 2 . 1 - CONS I DERAÇÕES SOBRE A VOTAÇÃO POR PROGRAMAÇÃO NA
ARQUITETURA EM ANEL
3.2.1. - VOTAÇÃO MAJORITÁRIA
através de programacão, determina cual dado tem oi
,para dar saida ao sistema. Esta seleyão pode ser efetuada
também por programação, ou pode ser efetuada por um
sistema de sele9ão,. imolementado oor circuitos, com base
[OBAC RODA, 1983 .•3. Diferentes algoritmos de vota9~o
Sistema em Anel com 5 móduloscirculação unidirecional
..MODULO M1 M2 M3 M4 MóDADO APÓS 01 02 03 04 05
PROCESSAMENTC 1 2 3 4 51~ 05 01 02 03 04
o 5 1 2 3 4l<r
04 05 01 02 03o 2~<r-I 5 1 2 3 4::> 3~ 03 04 05 01 02<.:>a:: 5 1 2 3 4-<.:>
4~ 02 03 04 05 015 1 2 3 4
Subsistema de comunicação
/"'"
~ EISSubsistema de
entrada e saída
LDados para votação noMódulo 1 após 4 circulações.
iO j - é o resultado do processamento do
módulo i transmitido pelo módulo j .
o~- éo resultado do próprio processa-mento.
Flg. 3.2 : C irculação dos dados unidirecional em um anel com 5 módulos e votaçã omajoritária.
implicam no bloqueio da circulaçãoJ
módulo poderia dar salda ao sistema.
Anel com \lot.ação-majoritária. é diferente daquele para o
a) Falha s nos mó dulos 2 e 3 adjacente s ,
b) Falha parcial no subsistema de comunicação do módulo 2 e falha totalno módulo 4. Os m ódulos 2 e 4 não são adjacentes.
c) Falhas nos módulos 2 e 4 não adjacentes.Bloqueio da circulação.
Fig. 3.3 : Sistema com 5 módulos, mostrando falhas em 2 módulos.Circulação unidirecional
,
MODULO M1 M2 M3 M4 M5
, M2MODULO M1 M3 M4 M5DADOS APÓS 01 02 03 OX 05
PROCESSAMENTO 1 2 3 4 5
1~ 05 02 OX OX OXO 5 1 2 3 4l<! OX 05 OX OX OXo 2~« 5 1 2 3 4...J
=> 3~ OX OX OX OX OXQa: 5 1 2 3 4-<..)
4~ OX OX OX OX OX5 1 2 3 4
MÓDULO M1 M2 M3 M4 M5DADOS APOS 01 OX 03 OX 05
PROCESSAMENTO 1 2 3 4 5
1~ 05 OX OX OX OXO 5 1 2 3 41« OX 05 OX OX OXo 2~« 5 1 2 3 4...J
=> 3~ OX OX OX OX OX<..)a: 5 1 2 3 4-<..) OX OX OX OX OX4~ 5 1 2 3 4
x - Dado corrompidodevido a falhas.
o módulo 1 tem maioriade dados corretos.
O módulo 2 tem maioriade dados corretos.
Nenhum dos 5 módulostem maioria de da doscorretos.
Fi g. 3.4 : Circulaçáo dos da dos para os casos da figura 3.3 .
52
circulação dos dados,
operação correta recebam a maioria de dados corretos,
pode-se introduzi r um esquema em Que os dados ci rcul am n
vezes em cada direção. A figura 3.5 m6stra este processo.
Aoós 4 circuld9õe~' (2 em oada direção) os módulos em
ooeração correta, receberam a mai or i a dos dados corretos.
Para um sistema com 3 módulos, este esquema de circulação
oode oermitir a identificação do tioo de ~alt"ta, ·se no
subsistema de comunicação ou no orocessamento. A figura
3.6 ilustra o Que ocorre.
comunic~ç~o. todo. o. módulo. t~m ~ m~iori~ dQ d~do.
corretos. Além disso o módulo M1 tem todos os dadoscorretos. Já com a faIha no orocessamento, apenas M1 e M3têm a mai ori a de dados corretos, mas nenhum tem todos.
Como a votação é Dor programação, podem ser implementadasro tinas de ver ificação , Que de acordo com a conf iguraçãodos dados den tro de um módu 10, perm itam iden tificar ondeocorreu a falha.
Na referência rDBAC-RDDA, 1983J foi calculada aexpressão para a confiabilidade para o Sistema NMR em Anelempregando a votação majoritária:
RANEL = ~ + N {!(~f) .~ (1 - Rm>1 (3.1)
N =2n+L
Rm = confiabilidade do módulo
,MODULO M1 M2 M3 M4 M·5,
1 X X 4 5DADO APOSPROCESSA MENTO O O 2 0
3 04• 05•1.
O 5 X X X 41 ~ 05• O 1 O2 O 3 04•
O
04 OX O X OX OXl<t O 2~o<t 5* 1 2 3 4-.J
=> O 3~ OX OX OX 05 O 1<.:>a: 2 3 4 5. 1.-<.:> OX O X OX O 1 O XO 4~
2 3 4 5* 1
Fig. 3. 5 : Circulação bidirecional dos dados.
54
SERViÇO Dt' E:6·L~i"37[c'.\'''E-!~;rcc,,;.~.·'~ÇAo_ IFQSe, ,,: S I C\._..__ .•......•.. _"•....•_.._-_." ..-."..__ .._------'
,
MODULO M1 M2 M3
01 O 2 O 3PROCESSAMENTO 21 3
) D 3 D 1 D XCIRCULti;AO 3 1 2
) D 2 X D 1D2 3 1
.•MODULO M1 M2 M3PROCESSAMENTO D 1 D X D 3
1 2 3
) D 3 D X D X3 1 2CIRCULACAO
) D X X D 1D2 3 1
Fig. 3.6: l/ustraçáo da ocorrência- das folhas no Sistema em Anel com3 módulos.
Para a dedução desta eauação foi considerado aue:
, 1 N fimodu o: esta.do em opera.çao, ou est.ado E:!rronE:!O;
• IVc:omumcaçao
do meio de transmissão, com a ocorrência de situações de bloqueio do canal
de comunicacão conforme mostrado nas figuras 3.3 e 3.4. Para aue um módulo,
circulaçãol e com isto a confiabilidade do sistema diminui.
32.1b - VOTAç'NJ PARCIAL
outros módulos. A votaçã~ é executada como arando-se os dados recebidos eo número mlnimo de da.dos a serem votados é limita.da pela condição de
entre os J dados), deve indicar corretamente o resultado da vot.ação.57
A exoressão oara a confiabilidade nesta estratégia de votação.
e determinada usando: a definição para a votação parcial; as 2 condições
acima e também as 6 consideracões listadas para a votacão total. AJ J
ao resultado do processamento ocorrido nos módulos, embora58
oE.e 0.5VI
VI
0.5Rm
F ig. 3.7 : Confiabilidade do sistema e m função da confiabilidade de umúnico módulo. Sistema em Anel com votação majoritória eSistema N MR mascarável.
oO
oE 0.5Q)-VI
VI
.0::
0.5Rm
Fig. 3.8 : Confiabilidade do sistema em função da confiabiJidade de umúnico módulo , para o Anel com votação parcial.
adjacentes em ooeração correta (módulos 1 e 5) E o módulo
Neste esquema de votação podem ser toleradas.'
dad'os pode -tol erar} para N = 5 e J = 2.
A limita~ão no grau de tolerância a falhas neste
a) Falhas em 2 módulos não adjacentes. O módulo 1 detecto concordância comos dados recebidos de 5 e pode alimentar a saída do sistema.
b) Falhas em 3 módulos adjacentes. O módulo 2 de tecta concordância comos dodos recebidos do módulo 1 e pode alimentar a sórda do sistema.
c) Falha no subsistema de comunicação do módulo 4 e falhas gerais em 3 m.Qdulos. O m óduro 4 detecta concordância com os dados recebidos do módulo 3 e pode alimentar a sarda do sistema.
F-ig: 3.9 Falhas toleradas pelo sistema em Anel com N-5 e J= 2. ( votaçãoparcial) .
3.3 - IMPLEMENTAÇÃO DA ARQUITETURA EM ANEL
votaçãoll, [DAVIES, i9?8J. A votação é real izada sobre a
1. O sistema tem 3 módulos (fig. 3.1) e code
62
módulos ativados. Isto facilita a manutenção
em Anel. Desta forma todos os programas•
11.Cada módulo tem si ncr'oni zação indeoenden te,
3.3.2 - CONFIGURAÇÃO DO SISTEMA-
Cada módul0 tem um Sistema Monitor, residente em64
ROM, d55im oomo Q BIOS (Sist~md Básico de Entrada e Salda-
d~.anvolvido no L.bor.t6rio d~ ln.trumgnt.ç~o Elet.rônica
do Departamento de Física e Ciências dos Materiais e está
e salda, o sistema para sincronização dos módulos, e o
este microprocessador se deu em virtude de ser um65
SERViÇO DE B: 8L ICJTE'C;\ E ,'" f-~C:;·o;':-·t,"'.", '7'\":Ç"':A-""':·O:=----,\ '''''' - IFaSe
rfs!c A
,microprocessador com ampla bibliografia tanto a nivel de
componentes periféricos como a nivel de programa9ão.
Tolerância a Falhas podem contribuir para maior seguran9a
... RESET PÁO i'-PAG 0 PAG 1 11-
-rt RESET ROM RAM RAM
~r.)
~•...
~" 32K 32K 32K >..2MI1Z z-ao A 0, 0, (t DADOS-~RELÓGIO -1-4 0 -' ENVIADOS~~ A' ~ IIJ.. :z
DADOS -t Av"" " I I ..IOA Z ...•
~ ENDERECOS I ODADOS
"-l-t RECEBIDOS"li
II L- u~ -tUZ -~ ::l
A ~~ O CONTROLES'/CONTROLE ') o
...•./'../ "" t
•.. \LIo-t
••~\LI
SELECÃO ~ SELECÃO .-t- ~ li)"..... DE DEc---- li)~ m
PÁGINAS ::l~
l'ITERR"CE DISPOSITIVOSli).v--
E DESERIALSUBSISTEMAS MEMÓRIA SlNALJZA~SMICRO L1E 0 I L DE ERROS
A
SUBSISTEMA DE '"
PROCESSAMENTO LINHAS
SE11IIIIS ',/ ,-SUBSISTEMA DE ENTRADA I SAíDA I
LINHASCONTROLES DADOS
I SERIAIS
I BARRAMENTO DE ENTRADA I SAíDA I
circuitos da interface para comunicação serial com o
A interface serial é usada cara comunicação com
separação em subsi stemas
facilitar a descrição das atividades de cada módulo.
o esquema de seleção de páginas de memória,
permitiu Que fossem implementados 64 Kbytes de memória RAM
e 32 Kbytes de RDM. Com i$toJ foi oriado no $istl!ma umambiente de orogramação favorável oara a eXl!oução doSistema Operacional CP/M de 64K, oferecendo para os
programas de aplicação a maior Quantidade de memória
disponível em um ambiente CP/M. [TRAINA, 1986]. Toda a
bibliografia de programas existente para o CP/H poderi ser
usada em uma máquina tolerante a falhas, mas transoarenteao usuário. Também todos os orogramas utilitários tais
como compiladores, editores, programas montadores, poderão
ser executados nesta mácui na t.olerante a falhas. sob o
Sist~ma Operacional CP/M.
Operacional já bem estabelecido e aceito, como é o CP/M,
se evita falhas em orogramação (Usoftware faultsU) cue
poderiam ocorrer no desen.volvimento do sistema, por
exemplo: especificação imprópria, erros no programa, ou
implementação inadequada, além da considerável economia de
tempo de projeto.
As páginas. de memória estão implementadas na
forma descrita abaixo (ver figura 3.11):
Kbytes cada [TRAlNA. 1986]. Estas memórias
foram implementadas com os circuitos 62256,
Que fornecem os 32 K em uma pastilha. Estes
oomuni oaç~o oom o t.e,..mi nal,
de video i
carrega nos endereços mais altos o ElOS do CP/H.70
0000H18 KROM-P 32. KRAM- 0
1FFFH: . -,
7000 H :
77 F F H I2 KROM- e
32 KRAM- 1
.
Fig. 3.11: Esquema de Memória do subsistema de processgmento.
Este esauema. em aue as operações de Entrada e
Salda são feitas através de ativação da página ROM.
e de um sistema chamado "linha bastão" Que controla o72
orogramação. Cada oroce=.sador gera um número aI ea tór io e
no zero, ganha o acesso ao barramento. Este módulobast.ão"} , lógico atésinaliza a "linha com nivel baixo} e
Que ele retire sina.l, outrás móduTos - podemo os naoacessar o oeriférico.
,pe~missio ntokenn, usado em ~edes de sistemas dist~ibuidos
cada estação
oermissio circula de estaçio em estaçio. No sistema
o SUBSISTEMA DE COMUNICAÇÃO NO ANEL
o Subsistema de. Comunicação de dados no Anel
envolve dois esauemas: a t.ransmissão de -dados oara a
votação e a transmissão dos resultados da votação. através74
PARA OSUBSISTEMA
DEPROCESSAMENTO
PORTA
DEEIS
CONTROLE: 00 BASTÃO
PARA OPROCESSADOR
DC - DETETOR DE COINCIDÊNCIA
CBS - CONTROLE DO BASTÃO PRÓPRIO
CBA- CONTROLE DO BASTÃO MÓDULO ANTERIOR
CBP - CONTROLE DO BASTÃO MÓDULO POSTERIOR
(~ ) - É LIGADO NOS OUTROS MÓDULOS EM UM PONTO IGUAL A E"STE
Fig. 3.12 : Esquema da • LINHA BASTÃO· .
75
,enviado à saida, antes Que isio ocorra, ele é submeiido a
processos. No esquema de vota9ão parci al, escol hi do para
através de realimentação mútua (com o uso de algoritmos ou
circuitos); e a sincronização dé tarefas do processamento,76
1 e~r\'Ir-('l r_,":-:;'~tí";;:-T~t\.····I: ":,;'i-)'·'; !n~~"-O-·'---'It~;sc1I ',., ". " .. I .' , ••, ~ I I " .,.,' ,. '. '," ',.. _ I ~,:.
~:.; I' •
sincronização através do ponto comum de encontro. O ponto
forma todos entram no ciclo de votação sincronizados. Parase obter esta si~croniza9ão. foi usado o esauema de
TRAt-:SMISSÃO COM RECOr-.HEClMENTO ("HANDSHAKE")
lr~nsmissor e só deoois comoletar a receoção.
ativado, (nivel alto), pelo sinal SBr J e vai para o nlvel
MÓDULO, ,
1 MODULO Z MODULO 3r-------, r--------, r--------,I , , ,
." CD I ." CD , ." CDo :DADOS I O DADOS' O::o O ::o O ::o O-i .- I I -i I- I -l I-O a: O a:: O a::I
O I , O » O» o. I -, » o. o.I I, I 8255 8255I II I
lOBFSTS (J OISF ST1SO I I
I , I
IBF .- ~ICK IB'F lACKa: I IO , I o Io o. , , o ,
I , ,L________-' L________ ..J
2bitsEFP
SFNPORTO A
8255,
EFA MODULO 3 EFN
Fig. 3.13: Esquema de transmissão no subsistema de comunicação do anel.(.) Legendas na próxima página.
80
OBF - INDICA QUE HÁ UM DADO PRONTO NO PORTO.
,MODULO.
EFA - SINAL IZADOR DE ERRO RECEB IDO DO MÓDULO
ANTERIOR
SFN - INDICA PARA O PRÓXIMO MÓDULO QUE O
SINALIZADOR DE ERRO FOI ATIVADO
SFA - INDICA PARA O MÓDULO ANTERIOR QUE O
SINALIZADOR DE ERRO FOI ATIVADO.
ACKN - IND ICA QUE O SINAL IZADOR DE ERRO DO
PRÓXIMO MÓDULO FOI ACEITO.
ACKA - IND ICA QUE O SINAL IZADOR DE ERRO DO
MÓDULO ANTERIOR FOI ACEITO.
RACKN - RECEPÇÃO DO RECONHEC IMENTO DO PRÓX IMO
MODULO
RACKA - RECEPÇÃO DO RECONHEC IMENTO DO MÓDULO
ANTERIOR
RFA - RECEPÇÃO DO AVISO QUE SETOU O FLAG
ANTERIOR
RFN - RECEPÇÃO DO AVISO QUE O FLAG DO PRÓXIMO
MÓDULO FOI SETADO.
TABELA 3.1. - TABELA PARA SELEÇÃO DO HÓDULO
DE SAÍDA
EFÃ EFB .EFC Módulos des",ldd
O O O O Nenhum
1 O O 1 Me .2 O 1 o MB3 o '1 1 MB4 1 o o MA
5 1 o 1 Me
6 1 1 o MA
7 1 1 1 MA
Tabela obt.ida considerando circulayão horária
EF = O -t dados não concordam
-
A seley~o do módulo de s.lda pode ser feit. porci rcui tos [OBAC RODA, 1983. a] ou por programayão. Neste
croieto a seleção é feita cor crogramaç~o. d~ntro de cada
módulo. Para isto. é necessário Que o módulo conheça os
,E mais provável, que uma falha fa9a os bits
x X ACK A ACK N SFA I 5FN EFP 1 EFP O
O O O I O ~ J:
RACKA RACKN RF A RF N EFA 1 EFA J EFN 1 EFN O
O O O O J: f I ~ J:
erro, cada módulo fica testando as condições dos sinais de.control e I tanto no port.o de entrada como no de saida.
Somente Quando t.odos os sinais de controle est.ão no nivel
consultar a tabela de seleção para salda.
CONFIGURAÇÃO DO CONECTOR DOS MÓDULOS
módulo enviados ao anel e os sinalizadores de erro
es ti vessem t.ravados em um valor fixo. Para os ou t ros 2
módul os. é como se houvesse um móduIo f aI ho no anel. O
:.i:.íema como um todo continua operando normalmente. I~to
facilita o reparo do sistema.
o sistema-de computação tolerante a falhas, com
arauitetura em anel. apresentado nos parágrafos anteriores
não estaria completo e nem poderia funcionar. sem um
conjunto de programas de gerenciamento (software) adeQuado
ao mesmo. Nos próximos parágrafos. as principais rotinas
de gerenciamento dos subsistemas de processamento, entrada
e saída e de comunioação no anel serão descritas e
analisadas.
Inioialmente, antes de se tratar espeoifioamente
dos programas do sistema. é necessário defirlir a forma
como estes programas serão armazenados no dispositivo
secundário de armazenamento, ou como e estruturado Q
sistema de disco flexível desta arQuitetura.
anteriormente, é composto de 3 módulos independentes, onde
cada módulo compreende um subsistema de processamento. um
comurlÍcação. Desta forma, a interface do disco flexivel.
um processo comum de en irada e sa ida, cu j o mecan i smo já87
disco. cada m6dulo faz a verificaç~o da soma ("Check Sum")
a vota9~o. sendo aue somente o m6dulo vencedor faz a
Uma característica importante do acesso ao disco
BIOS cara coder funcionar com estes módulos deve ter todas88
as ooerações de entrada/sai da em disco concentradas em umaúnica rotina. Na configuração atuaL o BIoS do micro LIE
,dificilmenle pod~ ser aprov~itado para o gerenciamenlo dos
Nesta implementa9ão as seguintes vantagens pódem
2- o espa90 di sponlvel em di soo é três vezes
~.-..~.•••.... "
:~Q5C r1
comutação
"Check Sum"90
3- O espaço de armazenamento em disco é um terço
3.5.2 - DESCRIÇÃO DOS PROGRAMAS DE GERENCIAHENTO.
alterações
,er.t.rada/saida, em memórias RAM's, em ROM's e formas de
o minimo possivel de altera9ões no 810S original do micro
envolvem operações de entrada/sai da no BIoS do sistema. Asolução encontrada para manter a meta de alterayão mlnima
utilizada a capacidade intrlseca de sincronizayão do porto
Como já foi visto anteriormente, o Sistema em95
I
faz a votação sobre 05 dados de saída I,
sistema exercem sua ação orincioal. Procurando manter aI
filosofia inicial de realizar o minimo de modificaç:ões no
dados do módulo atual e o módulo anterior A RVS decideQual foi o módulo vencedor, e aciona os sinalizadores("flags") corresoondentes, consultando a tabela de decis~ofornecida oela Rotina " Monta a Tabela de Decisaõ " (MTD). o fluxograma da RTS está mostrado na figo 3.17 . e o da
MTD na figo 3.18 Este conjunto de rotinas completa o
sistema de gerenciamento na oarte referente a votação esincroniza9~o dos dados de salda.
As caracteristicas da arQuit.etura do Sistema em
Arlel. principalmente o sistema de linha bastão. permite
aue os módulos compartilhem um dispositivo único de
entrada de dados. Tal dispositivo poderia ser por exemplo
um conversor A/D. para aplicações em sistemas de controle.
Neste caso o eSQuema de funcionamento do sistema com a
1inha bas tão, para gerenci ar o acesso ao dispos itivo e
evitar o conflito dos módulos é semelhante ao descrito no
tratado o caso de
disco flexivel único,
com 05 três módulos. E o procedimento do programa de
gerenciamento para este caso já foi descrito no parágrafo
1A,PARTE .DACNOUT DO
MONITOR
HABILITA O ENVIODE DADOS PARA
O UIDEO
FI G. 3.14 - ROTINA DE SAlDA nos DADOS DO SISTEnA En ANEL. ( 15» ).
IHICIALI2ACAO DOSPORTOS DE conu-HICACAO DO ANEL
lNICIALl2ACAO nosPORTOS DE TRANS-nlSSAO DOS SINA-Ll2ADORES DE ERRO
SAI o DADONA PORTA
2A. PARTE DACNOUT DO nONITOR
FIG. 3.15 -
TE ~ Tempoesgotado
ROTjNA DE!RANSM S~A~ DOSDA~~ h~8A
110HTADOR DATABELA DEDE~HAO
Escr.v. o da-do no porto
d. saida1m" : e
Inlcializao contador
CONT
El'F +- 18
EllRD
Rotina d. transl'lÍ suo dos dadospua ootacao • sincroniuclOatuou d. cOflunicaclO C01'l
rPconh,cll'ttnto
Inicializa O
contador COR!
L. o dldu
!ir:!
inicialinro contador
e
8t
Evil EFPm +- eml+-e
inichlin
o eonhdorCOMT
LI EFA
m+-Bj
~~
t=]"".,m: 18EFA: 18
inlcil1ia.• c.ntodor
CON!
~
.~
lll'Jl = 8 , o --L-. -E-FA--~+-e------
t 'inioiali-Izr • con-tadDr
CON!
1EJ
I
6.nicial i-%1 o con-todDr
CONT
I,i
i
lO
( iET
FI GI 3 I 1? - P.OTINo DE TRoNSnISSoO DOS
SINALIZADORES DE ERRO.
IA1tUN[11.••.•lU!C14- Uf
c__IA1t EUElI .••.• urICI4- UM
Ult U,ElI"- UMICI .••. EU
U"7U ..•.'U· t'U'
.' EC'
IUIUrUNALO(U
CAPÍTLlO 4
AI
Slf'.I:RCl'.IlZAÇAO EM 51STEM1\SAI
~ A FALHAS COv1 vrJrN;AO
4.1 INTRODUÇÃO
sincronização
4.2 SINCRONIZAÇÃO
comcutação,votaç:ão,
tolerância a falhas, é essencial oue haja sincronizaç:ão na
operação dos módulos. A idéia central de sincroniza9ão
para estas arou i teturas, é a real izaç:ão do processo de
votação sobre a mesma versão de dados, [WENSLEY, 1983. a]
( "rendez-vous") .104
A sincroniza9ão através de relógios, iem sido a
votação. A calavra relógio tem sido usada na literatura
sobre sincronização,,ciroui~o o$cilador, oon~tituido por um oscil.dor a cristal
",tun9ão Que ordena eventos [LAMPORT, 1978] [BABAOGLU,
ser a execução de uma simples instru9ão de máQuina
aQuisi9ão de dados. Uma seQu~ncia de eventos constitui um
permi ti ndo a ordenação destes eventos, sem se preocucar
com o tempo f1sico. Ou code ter um significado mais
relógio »sja funçio do tampo [BABAOGLU, 1978]. Ds.ta
com votação, é a través de um Dont.o comum de encont.ro. ou
Dara aue a votação seja realizada sobre a mesma versão de
garantir este encontro. é através da comunicaç~o sincrona
4.3 SINCRONIZAÇÃO COM RELÓGIOS
de rel6gios. pode ser feita ~as seguintes formas [DAVIES.106
sincronizarão
.módulos man t..ém a • • N
SI nCronl zaçao baseados na
o primeiro modo de sincronização, através de
diflceis de construir, devido às diferenças intiinsecas de
validação imediata dos dados internos. Contudo, o uso de
mostrado na figura 4.1. Neste esquema, o receptor de109
NOTA: CR PODE USARQUALQUER :3 DAS 4ENTRADAS.
,C R - RECEPTOR DO RELOGIO
PLO - OSCILADOR DE FASEAMARRADA
F ig. 4.1 : Relógio de fase' AMARRADA TOLERANTE À FALHA.
RELOGIO 1
II.. I
RELOGIO 2III II II II I.. ! I .
RELOGIO :3 I( FALHO) I I I
I I II I I..
~SAlDA
~"4 • ..
PULSOS INDESEJAVE.S
relógio (CR) e um circuit.o digit.al responsável pela
sintetização de um sinal de temoorização, baseado nos,,
Sã:osinais de saida de todos os úutr'ús o;oild.dor'e;.
necessários 3f 1 módulos. pois todos sinais N
+ os nao
é uma araui tetura. NMR aue faz a vota9ão e sincroniza9ão
amarrada. . O FTMP é cons ti tu ido de um con j un t o de módu 1os
trê; rnódulos de E:/5 to,..m~m utrJ~ unid~d~ d~ cr'oo~;;~manto
, ,MM - MODULO DE MEMORIA
PM - MODULO DE PROCESSAMENTO
,MB - DUTO DE MEMORIA
I/OB - DUTO DO 110M
BI - INTERFACE COM O DUTO DE DADOS
rigorosamente em fase, basta uma votação por maioria. para
4.3.3 REALIMENTAÇÃO 'MÚTUA
o concei to básico do orocesso de Real iment.ação
sinais de temDoriza9ão do Drocessador e outros circuitos.
É um relógio físico, no sentido Que é função do tempo} mas
4.3.3._ REALIMENTAÇÃO MÚTUA POR PROGRAMAÇÃO
baseados na informação a respei to dos relógios de cada
dQ um rQgi~tr4dor. N4 r@f@rincii [BABAOGLU, 1~B7] é
periódica, seguida de computação local, não representando
custo adioional de programação. Um algoritmo similar a
este é apresentado na referênoia [INFI5, 1988], para
al90ritmo. p.ra .incroniza9io dQ .i.tQma., Q voltada
principalmentQ para sistemas distribuldos [BABAOGLU, 19B7]
sincronização e implementada através de algorltmo, para
outros, de maneira aue o sistema cerde a sincronização. Os,
algoritmos desenvolvidos I visam t.ambém evi t.ar Que a falha
afete os outros relógios [BUTLER, 1985]. Um .lgorltmo
cal cul a a médi a, usando este vaIor cara resi ncroni zação.
Na presença de uma úni ca f aI ha I consi dera-se Que o valor
um t.odo, perde a sincroniza9ão.116
,o problema critico com a sincronizayão através
de realimentayão mútua. é evitar aue a falha em um dos
imposslvel obter sincronizayão com 2f + 1, se é permitido
ou aplica9ões do algorltmo> no
cana 1 d" comuni cayão e o processador de en t.rada e salda
gerada dentro de intervalos ·de tempos estabelecidos. Esta117
"' •••
CONTROLADOR••• h •••DE DUrOS
~. Duros•• •• •• •- ~• .. -
•--,
~PROCESSADOR MEMORIA
,
• MODULOS DE PROCESSAMENTO••• PRINCIPAIS•• •- ,....r:- • .. -• ••- , .PPROCESSADOR MEMORIA-- ,
MODULOS DEPROCESSAMENTODE EIS
PARA ATUADORESE SENSORES
atuarão é feit.a na forma de um conjunt.o de t.arefas, aue
consistem numa seauência de iterações. Depois da execução
de uma i teração, cada crocessador coloca o resul tado em
sua memória assoei ada. No começo da próx ima i teração, os
fazendo a votação por maioria. Esta vot.ação é feita por
programação em.
eada um dos processadores,.inicio de um. iterayão.
aos módulos uma diferença de até 50 micro-segundos na
execução das iterações. O algorltmo de sincronização e
2- Obtém de cada módulo r, o valor Que êl es
próprio p é o seu próprio relógio.
pelo algoritmo Que ajusta a sincronização.120
4.3.3.b REALIMENTAÇÃO MÚTUA POR CIRCUITOS
sincronizacão ,
real imenta9ão mutua, usando circui tos, é acresentado na
Jlsincronizacão ,
come9ar o ciclo de vota9io. O sinal JlprontoJl~ uma salda e
,Se a vota9io ~ aplicada apenas sobre os sinais de saida de
SINCRONIZADOR 1PRONTO 1 ,PRONTO 2 INICIO
PRONTO 2t+1
,MODULO 1,
INICIO PRONTO
~ .MODULO 2 SINCRONIZADOR 2
PRONTO 1 ..PRONTO 2 INICIO
• PRONTO 21+1
,INICIO
SINCRONIZADOR 2ft1PRONTO 1 ..PRONTO 2 INICIO
PRONTO 2h·1
PRONTO 1
PRONTO 2
Fig. 4. 5: Modelo de sincronização com realimentação mútua:Sincronização Votada.
,permite Que o sistema continue a operar) com f das saidas
diferença no tempo de envio do sinal "pronto", pelosmódulos mais lento e mais ráoido. A fixação deste temoo de
demonstram matematicamente, que é possivel com este
modelo. manter a sincronização do sistema. mesmo na
oresen9a de f falhas. desde cue a falha não seja
maliciosa. Por exemolo. se um módulo falha. o sinal
SINCRONlZAOOR1APRONTO 1
RONTO 2PRONTO 3
,INICIO
MODULO 2
INICIO PRONTO
SINCRONIZADOR2ARONTO 1
PRON102RONT03
,MODULO 3,ICIO PRONTO
esta uma solução
sincroni:zação, orincioalmente em $i$tema$ TMR. U$ando o
modelo de real iment.ação mútua, através de sincronizacão,
.figura 4.7, e oonsiste de um o~oil~dor ~ ori~t~l de BM~~,
impedir que uma falha controle a saida do votador, a.
diferanç;a. antrs ••• transí9ões nas saídas dos
amplificadores, em bom funcionamento, são feitas as
·MODULO 1
iK AMPLIFICADOR
10104
10jJF 1K -5.21COMPARADOR _DE TEN5AO
..RELOGIO 1
E5 t e mede 1e de 5 i noroni zação ve t ada , oede ser
orogramacão,
1983. a]. Através de orogramação, cada módulo moni tora o
comunicação slncrona entre os módulos (ou entre processos
em sistemas distribuldos) [KIRr-ER. 19BB], Na comunicação
paralelo. Este método é port.ant.o adeQuado, Quando 2 (ou127
como é o caso da votação de dados. Nas arcuiteturas NHR.
por exemplo: lidado pronto para votação". Ou podem ser o
sincronização através de ponto comum de
partes: uma parte de aQuisição de dados e outra para128
~_._-_..---_ .._- -_.- ..,I '11SENSORES OPTICOS! "
IIII
MOTOR 4 MOTOO2 :• I
'-._-- ----------- ----,
AF 2BF 1AF 1CF2.BF2CF1
lSf~ MULTIPLEXADOR-IlUfi)
HBL AHBL BHBL C
'-NLLLL00
_NLLLLClCl
LEISMR
AOC CANAL EIS
@z-eoCANAL
HBL A
CONTROLAOORACESSO A,MEMORJA
,MEMORIAGLOBAL
- ,M R - REQUISICAO DA MEMORIA,HBL - HABIUTA O MODULO
Fig. 4. 8 : Arquitetura tolerante à falhas comunicando através deMEMÓRIA GLOSA L.
detecção de falhas. Para tolerar (ou detectar) falhas, o
doOU i~iQio d05 dados e depo is do ca 1cu lodos resu 1 t. ados
(tratamento dos dados e orodu9io de sinais de atua9ãoJ. O
módulos têm acesso aos dados para vota9ão/comoutação =130
sincr'oni2ação.multiclexação,
Par'a sincr'onização, os módulos consultam ossinalizadores de sincronização armazenados na Memória
aauisição de um dado, ele indica esta situação através de
terminarem a aauisição de dados. Tão 1090 ele receba o
de dados; término da comcaração de dados; término do131
4.4.1 A SINCRONIZAÇÃO NA ARQUITETURA EM ANEL
independentes, o tempo de aqui si ção e processamento dos
,pode ocorrer devido à diferen~as intrinsecas,
(próximo módulo no anel-circulação horária). A partir dai,
ele fica esperando o aviso de reconhecimento do receptor.132
ro tina de vota9ão, e fazem a comparação sobre a mesma
,há um dado para ser enviado à saida do sistema, de maneira, ,AJSlncronlza9ao,
""'••.•-. '--~"""'''~''''~='''=-.- ' ~._-~~~.~ ~"'~:JI ::t 'o,/ICO ()I' lJ fjL!CTH>. t. i:,rÜi\;:,t\çl\Ü _ IFaser '~ "
"'-'", ...,,,,-;~,., .. ,~. _. '~""'~"-'''-'';'''~-. ~"'-"."'~'''' -
-CONVERSAO
Fig. 4.9. a : Sincronizacãodos módu 105 através detransmissão com reconh~cimento.
( 1 )I ---.
(1) (2):I
(2): --+ i (2) (1).......-.: --- - -- - - ---- -- -:---_._----- -...-.... --.
I I •I I II I IVOTACÃOI
I II I
( 1) ENVIA O DADO
(2) RECEBE o RECONHECIMENTO
Fig. 4.9. b : Sincronizacãono caso de falha em ummódulo.
M2IIII .:
I.- --- ----'-- -- --t-- ------ L _I I I._I o !__. I _IIII
I : I__I----------------t-- ------- I-_.
III :
: I 1
--1-- -.-----.-------1---- ------- ------1---• o. .
de cada ciclo de controle, para que os três módulos façam
configuração
Iencarregado de resincronizar o sistema ao inicio do ciclo.
usado o método de sincronizacão votada,,
,4.5 ANALISE
Comp~r~ndo O proce;;o d; ~incronizâção utilizado
sincroni:?ação.
sistema menos sujeito a falhas correlatas ...
mostrado para o "FTMP" , onde a transmissio se faz através136
temoo real não exclui t.ot.alment.eo modo de sincronização
-da Arcuitetura em Anel, aoesar dela usar crograma9ao oarasincronização. .O sistema IlSIFT" usa algoritmosl para
• • Nslncronlzaçao
.saida, e a maior perda de tempo fica por conta do ciclo de
espera. Este ciclo de espera pode ser ajustado a um v~lor
restri~ões Quanto a natureza das falhas, com foi visto no
sincronização com 2f + 1 modulas e falhas do lioo
nioiiii, dada de se usar v~r ios nive i s da li; incron i zadores ,
como no modelo de sincroni~ayão votada. Um módulo envia o
Alguma restrição.'
comunicação,
sincronização dos outros módulos. Somente um módulo porvez 1~, ou escreve na mêmóri~. No ~nel, u;ando O circuitoint.egrado 8255, operando no modo 1, os sinais de
reconhecimento são ênviados oêlo crócrio circuito [INTEL.1981], facilitando bastante a implementação das rotinas decomunicação e sincronlzação.
~TLlOS
H.J.Á.U5E 00 SISTEMA
• ASo1 ANALISE DA TCLERANCIA A FALHAS.
Sr'r'o. No .i.tliim. implliimliint.do, •. vot.çlío .obr'1ii um númliir'o
implementados para diagnose do tipo de falha ocorrida: se140
de comunicação ou natransmissão. Na imolementação atual é executado um teste
5.2.1 ANÁLISE DA COMUNICAÇÃO
·OQ»oui.idii dois sistem.s têm a19umas oaraotsristioas QUS
permitem fazer alguma comparação: o sistema August-300
no m icroprocessador 8086, e f'az votação e sincron izaçãopor programação.votação por maioria. A sincronização é f'eita at.ravés de
falhas. Assim a combinação dos 3 processadores e o142
CCM --.. MODULOS
CCM CCM ceM PROCESSADORESN~ 1 N~ 2 N~ 3
,MODULO DE INTERFACE COMo PROCESSO - PIM
~ Duro N~ 1 )~
INTERFAGE INTERFACE ~ INTERFACE. - DUTO N~ 2 $N ~ 1 N~2 - N~3
DUTO N ~ :3 ~
VOTADORES DISTRIBUIDORES
"- V/
SAlDA ENTRADA,
PARA OUTROS MODULOS DE INTERFACE
INTERFACE COM SENSORES E ATUADORES - TM
i ! tSAibA ENTRADA SAlDA ENTRADA
ANALÓGICA ANALÓGICA DIGITAL DIGITAL
fsrRVlço DE B-is'üOW2.A'E-lt..HORi;D\,çXô - IFase lI' \ ., \ C. to..- _._ •.._._.,-------
A comunic~9ão entre os módulos orocessadores
Q~indQ hi i votarão, cada processador lê a
linhas extras para detecção de erros de
transmi ssão. Os erros são detectados por programação. Um
erro na transmi ssão é consi derado uma f aIha no módulo
transmissor. No esquema em Que a votação é carcial a
comunicação é extremamente simples; um módulo envia o seu
dado para o v iz inho da esquerda e recebe os dados do
vizinho da direita. Do ponto de vista de funcionalidade
este sistema leva vantagem sobre os procedimentos usados
no August-300 e no HMS. No Anel não há a compl ex idade de
circuitos exigida Quando se faz chaveamento de memória. No
sistema August-300, cada processador precisa acessar amemória dos outros 2 módulos. E no sistema MHS. cadaprocessador tem de acessar a Memória Global J tanto paraescrever o seu dado como para 1er os dados dos ou trosmádulos. Em ambos os sistemas. há gasto de tempo paraacesso a memór ia. No Anel, os processadores gastam tempotambém esperando o reconhecimento do dado enviado etestando a chegada de um dado J mas este processo Ja eutilizado também para a sincronização. Com apenas umprocesso o Anel envia o dado e se sincroniza. No sistema
procedimento diferente e mais tempo de espera. No sistemaHMS, há também a vulnerabilidade de se usar um únicosistema de alocação de memória (Ubus arbiterU) e deMemória Global, embora sejam escolhidos componentes dealta confiabilidade. Este asoecto já foi discutido nocapitulo 2, embor-a _aja possival pr-liver-a confiabilidadede um lote de componentes, não é possivel 9~r-~~(i~ 100% deconfiabilidade para um componente individual.
permite, que um módulo sem falha, corrija o resultado de
um módulo cue apresentou um dado errado para votação. Este
tipo de correção não foi feito ne$ta imolementação, mas é
uma perspectiva interessante. Por exemplo se um módulo
permanente ao longo do orocesso. Com a comunica9ão através
dos por tos, eles ser iam usados como cana 1 de comun icação ,
cara recuoerar o módulo com oroblemas. O seu vizinho, sem
falhas, o alimentaria com os dados corretos. Já no escuema
de comuni cação, como o do si stema August-300, isto não é
imadiaio, porQuw cada procassador apenas lê a memória do
outro. Para implementar este procediment.o, é necessárioaI t.erar a imp 1emen tação dos circui tos. No Ane 1, apenas epreciso alterar o programa de gerenciamento sem custoadicional 'de circuitos. No Anel, isto seria feito semperigo do módulo falho corromper o módulo funcionandocorretament.e. A comunicação é efet.uada acenas através dospor t.os. Vár ios ti cos de infarmação poderão ser env iadosatra vés de 1e, dependendo da ac 1icação dada à arqu it.et.urat.olerant.e a falhas, e de como se deseja manipulà-la.
A comun ica9ão através do Ane 1, tambÉ:m de ixa osist.ema menos suscept.ivel a falhas maliciosas. As falhas
enviadas por um mesmo processador, para processadoresdiferentes, por rot.as independentes, [FRISON, 1982], nãoafetam a transmissão de dados no Anel. Simplesmente porquea circulação de dados e unidirecional. Cada módulo envia oseu dado para apenas um out.ro módulo, não há o risce de
146
~I I
I I
N,
MODULO A
,MODULO C
t=jI I o MÓDULO (A) PODE DAR SAlDA AO
DADO SEM NECESSIDADE DE PASSARPELO MÓDULO (B L
Fig. 5.2 : SISTEMA EM ANEL COM SUBSISTEMA DE COMUNICACAOINDEPENDENTE
dado ~ara C1 através de um subsistema de comunicação
uso de um subsistema indeoendente de comunicação é
5.2.2. ANÁLISE DA VOTAÇÃO PARCIAL
,a um consenso, de quem deveria dar saida ao sistema. Com
situações,
,de dar saida, de acordo com a confi3ura9ão da tabela,
saida aos dados. O módulo B conforme a conf i 3ura9ão da
150
TABELA PARA SELEÇÃO DO MáDULO
. -
EFA EFB EFC MQdulQS de Hódulo Cl,saida falho
O O O O Nenhum Todosi O O 1 Me I MA
I2
\
o 1 o ME MC3 O i 1 MB MC4 1 o o MA ME5 1 o 1 Me MA6 1 1 o MA MB
I 7 1 1 1 MA nenhum
Tabela obtida circulação horária Iconsiderando
EF = O -+ dados não concordam
,o módulo C1 chega a conclusão Que A deve dar saída e não
TABELA 5.2. - CONVENÇÃO PARA OS SINALIZADORES DE ERRO
B1 BO EF I ESTADO. -
01 -+ 1 corlcordânci a na comparação
10 -+ O discordância na comparação (falhascomuns)
00 -+ O falha na transmissão11 -+ O falha na transmissão
S'ID' DO SISTEn. ~ S'ID' 00 SISTEn. ~ S'ID' DO SISTEn. ----:-:t S'ID' DO SISTEn. ----:-:t~ftado estado es:tado estadoa a a 661 o i ê o i iEFA EF1 EFc EF A EF) EF c M EFA EF) EFc M EFA EF) EFc M
Ali 6 6 0 H 0 0 1 Me 0 1 0 MB 0 1 1 MBB 1 6 0 nA H 1 0 1 ne 1 1 6 nA H 1 1 1 MA H
e a 0 0 N 0 0 1 . Me ne 0 1 6 MB 0 1 1 nB
1 2 3 4
II ;~ 0 0 0 N 0 6 1 nc 6 1 e n~ 0 1 1 l1B
a a a H H e a 1 Me '3 1 e MB MB 0 1 1 MB. MBe 1 0 0 MA 1 0 1 Me Me 1 1 0 MA 1 1 1 MA
I9 19 11 12
IH I e 13 e H 0 B 1 Me B e e H 13 o i MeBl!l e e 13 H H e ti 1 Me 13 1 e MB MB e 1 1 nB MBC 13 1 e MB a 1 1 ME N 0 1 e MB e i 1 MB
17 18 19 29I I
A e 1 e MB e 1 1 MB 0 1 e MB a 1 1 MBBlE 13 a 13 N H ti ti 1 Me e 1 ti MB nB e 1 1 MB MBC e B a H 0 e 1 Me Me e B B H e B 1 Me Me
25 26 27 28
Ifi e e 1 Me ti B 1 Me B 1 1 MB e i 1 MB I
B e ti e H N e e 0 H 0 1 0 MB MB 0 1 0 MB I MBeil 0 '3 0 N e e 1 Me Me 0 1 e MBI B 1 1 MB
I I33 34 I 35 36
I
fi a e 0 H e e e H e 1 e MB e 1 e MIlE a e 1 Me N 0 ti 1 Me e 1 1 MB MB 0 1 1 MB MBelE a e e N 0 B 1 Me Me 0 1 e MB I a 1 1 MB
4.1 42 43 I 44
* iAUlA NA TRANSMI SSAO
SAlDA DO sIs!!nA ~ SAIO~ DO SIs!EnA ----:-:! SAlDA 00 SIS1EnA ----:-:l SAlD1 DO SIS1EnA ----:-:les ado esta o estado es a o1 0 r 1 0 1 110 1 1 1 I
EF~ EF» E c n EF. Ef» EFc n Ef. EF, EF c EF. EF J EF c n
Ali 1 0 fi nA nA 1 0 1 nc 1 1 fi nA nA 1 1 1 nA nA
» ! 9 9 RA i 0 1 nc 1 1 O nA 1 1 1 nAc 0 0 0 H 0 8 1 ne ne 8 1 fi IIB 0 1 1 nB
5 6 ? 8
Ali 1 0 0 nA nA 1 ê i "e i i 0 nA nA 1 1 1 nA nAB 0 0 0 N - 0 0 1 ne 0 1 0 ltB IIB 0 1 1 IIB tmC 1 0 0 nA 1 0 1 ne ne 1 1 0 nA 1 1 1 nA
13 14 15 16
A 1 0 0 nA nA 1 0 1 ne 1 0 0 nA nA 1 o 1 neBIl 1 0 0 nA 1 0 1 ne H 1 1 8 nA 1 1 1 nA He 1 1 0 nA 1 1 1 nA 1 1 8 nA 1 1 1 nA
21 -. 22 23 24
A 1 1 8 nA nA 1 1 1 nA nA 1 1 0 nA nA 1 1 1 nA nABIl 1 0 0 nA 1 8 1 ne 1 1 0 nA 1 1 1 nAc 1 8 8 nA 1 8 1 ne ne 1 8 8 nA 1 0 1 ne
29 38 31 32
A 1 8 1 ne H 1 8 1 ne 1 1 1 nA nA 1 1 1 nA nAB 1 0 0 nA 1 0 0 nA 1 1 0 nA 1 1 0 nAell 1 0 0 nA 1 8 1 ne ne 1 1 8 nA 1 1 1 nA
31 38 39 40
.A 1 0 8 nA nA 1 8 8 nA nA 1 1 8 nA nA 1 1 0 nA nAB 1 0 1 ne 1 8 1 ne 1 1 1 nA 1 1 1 nAell 1 0 0 nA 1 0 1 l1e l1e 1 1 0 nA 1 1 1 nA
45 46 41 48
* fALHA MA tJlAHSMISSAO -
situação
analizar as soluções gara este problema, será assumido que
;,)'~i'~5:~~",'
valor trans valor valor transTormayão Talha O-sina- form.!.envi ad·o recebido na tran.ã,bliza- yão no outro Nmissao s.do móduloBiBo B1 80 Bi 80
01 1 O 1 O 1 i nenhuma01 1 O 1 O O O em BO01 1 O 1 1 1 O em B101 1 O 1 1 O O em BO e B110 O 1 O 1 O O nenhuma10 O 1 O O O O em B110 O 1 O 1 1 O em BO10 O 1 O O 1 1 em ao e B1
resolveu ainda o oroblema de conflito. Duas soluções oodem
ser usadas: auto teste para verificação da transmissão,
estado 46 I onde se tem uma si t.uação de conf 1i to, o auto
omissão. Por exemclo, no estado 23, a int.rodução dest.a
solução faz com Que o médulo A, Que est.aria dando salda ao
circuitos de detec9ão de coincidência Que também estão
·con-ri9urado para aoe~sar um úni 00 dispo. i~ivo de •• id. I
pari d@t@cção destas falhas tFRISDN, 1982] [DAVIES, 1978],ou algorltmos especiais para tratar com os dados sujeitos
~. NCOnTlgUraçao
germite a detec9ão de falhas na transmissão'.
tende a um valor bastante próximo de 1.159
outros continuam ocerando (resincronizaçio a UcuenteU), ~um dos mai ores desaf i os enfrentados. na imcl ementação de
sistema imclementado a resincronizaçio ~ feita atrav~s doI'
sinal de "RESET". O módulo recarado só comeya a fazer
1- o~~r~Qãonormal do sistemi.
o primeiro caso, operação normal, ocorre cuandoos módulos estão operando sincronizados per~eitamente, de
forma aue não há perda de tempo com ciclos de espera.
parado e não envia dados, nem sinais de reconhecimento de
transmissão de dados, ou seauer 'sinalizadores de erro.
Na operação normal, este valor está. compa t.ivel
processo de sincronização, um t.empo de espera de 200
.l/.segs.E est.e sistema opera com relógio de 5MHZ, e faz
votação por programação, onde deve gastar mais t.empo <não161
citado na literatura) nestas rotinas, em relação a um
temco total para sincronização e votação
CA.QÍTLlO 6
,."CCN:LUSAO E I=ERSPECTlVAS
sua imelementayão, chega-se a conclusão aue este sistema•
tolerantes a falhas. É uma arauitetura flexível, Que
N I Nt a.ci 1i ta -o erocedimento de si ncroni zagao, e a comunl cagao
Para uso geral, a imolementação da araui tetura
com 3- sistemas de disco flexlvel J aumenta a segurança de
duclicação de dados, isto é feito coraue os sistemas de
discos, não são facilmente sincronizados [HENDRIE, 1983]_
Hlb~ida$1 a pa~ti~ deste núcleo, é out~o p~oblema Que pode
pode ~esolve~ aspectos c~lticos [OBAC RODA, 1988] I tais
cuidado com a sincronização no acesso aos discos. Nas164
si tuações. em Que ;or neoessár io uma. Qua.ntidade malor- de
memória, a ArQuit.et.ura em Anel dest.e trabalho, t.em imple-mentados 64 Kbytes em RAM. Pode-se aumentar estacaoacidade, usando bancos de memórias como a propostaapresentada em [TRAlHA, 1986].
A Arauit.etura em Anel, é também indeoendent.e deum oarticular coniuntp de instruções, de modo Que pode ser
exolorada com microorocessadores mais avançados.
[ANDERSON,1981]
ANlJ;;R~ONl T, = ~==,F .A. ; IIFault Toleranoe Frinoiole!s and Fractic@sll; Londr@s;Pr-entice-Hall Intér-nationali 1981
[AVIZIENIS, 1975)
AVIZIENIS,A.: "Ar-chitectur-e of Fault Toler-ant Comouting Systems"i 5th. Int. Symo. on
Fault Toler-ant Comoutingj Par-isj 1975j 00. 3 - 36.
[AVIZIENIS,1976J-
AVIZIENIS,A. "Fault Toler-ant Systemsll; IEEE Tr-ans. on ComO.ivo1. C-25; 1976; 00.
1304.
(BABAOGLU,1987]
BABAOGLU,ti il Drummond, R. : "(Almo.t> No Cost Clock Synchroniz ••tion"j 1.7th. Int..
Symo. orl Fault- Tolerarli Comouting ; Piiisburgh; 1987; 00. 42 - 47
(BARTLET.1977J
BARTLET.J.F. "A Non Stoo Ooeraiing System" oublicação da Tandem Comouters.
lnc; ou Cao 11 de (SiEWI0REK.1983].
(BRODSKY,1980J
BRODSKY,M. "Hardening RAMs Against Soft Error"; Electronics; voL. 5; McGraw
Hill; 1980
rBUTLER,1985)
BUTLER,R.W.; Palumbo, D.L. ; Johnson, S.C. : "Aoolicatior, of a Clock Synchronization
Validation Methodology to the SIFT Comouter System" ; 15th. int.Symo.on Fault-
Tolerant Comouting; Ann Arbor; junho; 1985; 00. 194 - 199
(CHANDE.1989]
CHANDE.P.K. ; Ramani, A.K. e Sharma, P.C. : "Modular TMRMultiorocessor System";
IEEE Trans. on Incustrial Electronics; vo1. 36. n2 1; fevereiro. 1989; 00. 34 - 41
[CHEN, 1978J
CHEN, L. e Avizienis, A. : IJN-Version Progr·ammirf9:A Faull Tolerance Aooroaeh lo
Reliability of Softlo'JareOperat.ionlli8 t.h Symp. on Fault.-Tolerant Computing; junho de
1978; pp. 3 - 9
[CRISTIAN, 1986]
CRI8TIAN,F. i A9hili, H. e S\ron9, R. :"Clock -S~rlchronization in the Presence of
Omission and Ferformance Faults, and Frocessor JoinsJlj 16trl. Int. S':Imp.on Fault
Tolerant Computin9i Viena; junho 1986; PP. 218 - 223
(CRISTIAN, 1989J
CRISTIAN, F. : "Question to Ask wherl Designing Attempting to Understand a Fault-
Tolerant Distributed System"; III Simpósio de Computadores Tolerantes à Falhasi
PUC-RJi setembro, 1989, DO. 1 - 18
EDALV, 1973J
DALV, W-.H. Hopkins, AL e Hckenna, J.F. : liA Fault- Tolerant Digital Clocking
SystemJl; 3th. Ir.t. Symp. on Fault- To.lerant Computingi P?lo Alto, junho 1973i pp. 17 -
21EDAVIES,1978J
DAVIES, D. e Wakerly, J.F. : "Synchronization and Matching ir. Redundant Systems"i
IEEE Trans. on Comouters; voI. C-27 ; ~ 6 ; junho de 1978; 00. 531 -539
EDESOUZA, 1975J
DE SOUZA, M. & Paz, E.P. : "Fault-Tolerant Digital Cloking S'=,stems"; Electronics
Letters. vol. 11, n2 18; setembro. 1975; oP. 433 - 434
EDRUHHOND,1987J
DRUMMOND,R. ; "Sistemas Distribuldos"; II MINI CURSO, Introdução a Tolerância a
Falhas, capo 5i agosto, 1987, PP. 147 - 171
[FORBES, 1985J
FORBES, M. : "MTBF Values Aid in Predicting Component Failures"j EDN, "f- 13i junho
FRAGAI J. e Lemosl R. : I/€onceituacão e Termirlologia em Sistemas InformáticosJ
Clocks"; IEEE Trans. Comc.; voL C-34; n2 8; agosto 1985; cc. 752 - 756169
LAGES,N.A.C. e Nogueira, J.M.S. : "Introdução aos Sistemas Distribuldos" ; Editora
CLUNDELIUS/1983J
LUNDELIUS, J. e Lunch, N. : "A New Fault-Tolerant Algorithm for Clock
Synchronization"; Proc. of the 3rd ACH Symposium orl PrincipIes of Distribuited
Comouting, 1983
(MACHADOTRAINA,1987J
MACHADOTRAINA,A. : "Desenvolvimento de Sof'tware Básico para Gerenciamento de
Matemáticas de São Carlos-USPi 1987i 217 PC
[MARSHALL,1983)
MARSHALL,T.G. e Att.ikiouzel, J .A. : "Floppy Disk Data Transfer' Technioues"; IEEE
MICRO;dezembro de 1983, pp. 17 - 23
[MATHIJR, 1975J
MATHIJR,F.P. e De Souza, P. : "Realibility Modeling and Analisys of General Modular
Redundant Systems"; IEEE Trans. Realibility; R-24 (5); 1975; pp. 296 - 299
[MATHUR,1976J
MATHUR,F.P. e Avizienis, A. : "Reliability Analysis and Architecture of a Hybrid
Redundant Digital System: Generalized Triple Modular Redundancy lo'JithSelf Repair";
Spring Joint Comp. Conf.; voI. 36; maio 1976; pp. 375 - 383
(MAXION,1987J
MAXION,R.A. ; Sielo'Jiorek, D.P. e Elkind, S.A. : "Technioues and Architectures for
Fault. Tolerant Computing"; Ann. Rev. Comp. ScL n~ 2, 1987; pp. 469 - 520
[MCCONNEL,1981J
MCCONNEL,S.R. e Siewiorek, D.P. : "Synchronization and Voting"; IEEE Trans. or;
Computions; voI. C-3D, n2 2 i fevereiro, 1981; PP. 161 - 164
(MINICURSO 1987J
MINI CURSO: "Introdu9ão a Tolerância a Falhas"; DCC Unicamp; CPClD TELEBRAS;
agosto 1987; PP. 171
(HINI CURSO, 1969J
MINI CURSO: IIFundamentos de Comoutação Tolerante a Falhas: Técnicas de
Toler~nci. à Falhas em Soft,wilre"; III Simpósio de Computadores Tolerantes à
Falhas; Capo V; ;etemh,..o oe 1989; 00. 81 - 95
[NICHDLS,1982)
NICHOLS, E.A. j Nichols, ·J.C. e Musson, K.R. : liDa ta Communications for
Microcomoutersll; McGraw-Hill Book Comoany,1982; 263 00
COBAC RODA, 1982.aJ
OBACRODA,V. e Lombardi, F. : "Software lmplementation of a-cDisagreementDetector
for a Duplex Hybrid System"; of fi fth Europeau Conf"
EURoCoN'82iCopenhagen;junho de 1982;pp. 673 - 678
[OBACRODA,1982.bJ
oBAC RODA,V. e Davies, O.J. : "Aspects of Fault-Tolerant Ring Structures"; IEEE
ColloQuium on Microprocessor Application ReQuering High Integrity and Fault-
Tolerance, IEE Digest 1982/67, Londres.
LOBACRODA,1983.aJ
oBAC RODA,V. : "Technioues for Hight Integrity Intelligent Instrumentation" ; Tese
de Doutoramento; University College London; 1983.
LOBACRODA,1983.bJ
oBAC RODA, V. e Davies, o.J., HARVEY,H.E., e LoMBARDI,F. : "Analysis and
Imolementation of" Sl:lstem Procedures for Software Implemented Fault Tolerant
Microcomputer Schemes"; IEEE Second Anual Phoenix Conference Proceedings;
1983 ; oP. 123 - 127
roBAC RODA,1985J
oBAC RODA,V. : "Asoectos Gerais de Sistemas Tolerantes à Falhas em Anel"; Anais
do 1~Simoósio de Sistemas de ComputaçãoTolerantes a Falhas; 1985; 00. 25 - 45
roBAC RODA,1988.aJ
OBAC RODA,V.O.: ''Técnicas para Computayãe Altamente Cenfiável"j Anais de XXI
Congresso Nacional de Irrfonnática; 1988; ee. 629 - 636.
tOBACRODA,1988.bJ
OBAC RODA, V. : ''lhe Hybrid A017'oaeh for' ImOP"Ovi,,~ lha Reliabilily of Rin~
Sustems"; MiOI"Oêlêott"on. Reliab.; vol. 28; ne 6 ; 1988; ee. 979 - 989
roBAC RODA, 1989J
OBACRODA,V. : ''Toleranoia à Fal~ em Si.t,Qma. Híbridos em Anel"; An~s do lU
Simeósio de Comeutadores Tolerantes à Falhas; Rio de Janeiro; setembro de 1989;
-. ec. 183 - 196
roZAKI,1988J
OZAKI, B.H. ; Fernandez, E.B. e Gudes, E. : "Soft.ware Fault Tolerance in
Arohitectures with Hierarchical Pr-otection Levels"; IEEE HICRO;voI. 8; t'-f- 4; agosto
1988; Pp. 30 - 43
rPAULAJR., 1989J
PAULAJR, A.R. ; de Souza, J.H: ; Leite, J. ; Harti~, HR.B. ; LosQues Filho, O.G. :
''Fundamentos da CornDutação Tolerante à Falhas" ; Mini Curso; m Simeósio de
Computadores Tolerantes à Falhas; Cac. 1; setembro, 1989; ee. 2-24
rPEASE,1980J
PEASE, H. ; Shostak, R. e Lamport, L. : "Reaching Agreement in the Presence of
Faults"; Journal ofthe Association for Comeuting Machinering; voI. 27, n2 2; abril,
1980; Pp. 228 - 234
[RAHABADRAN,1988J
RAHABADRAN,T.V.; Gaitonde, 5.5. : liA Tutoria1 on CRC Computations"; IEEE MICRO;
vol, 8; N! 4; agosto 1988; pp. 62d - 75
[RENNELS.1980J
RENNELS,DA. : Distributed Fault- Tolerant Comeuter S,-"stems";Comeuter, voI. 13; ~
3, 1980; pp. 55-65.
rSIEWIOREK,1978J
SIEWlDREK, D.P.j Keni, V.j Hashburn, H.j He Connel, S. e Tsao, H. : "C.vmp - A Voted
Multierocessor"; Proc. o; the IEEE; vol. 66; r-f- 10; outubro 1978; ee. 1190 - 1198
rSIEWIDREK,1982J
SIEWIDREK,D.? e Swarz, R.S.: "The Theory and Practice of Reliable SY5tem Designll;
Digit.al Press; USA; 1982; pc. 772.
[TARDUCD,1985]
TAROUCO,L.H.R. ; ''Redes de Comunicação de Dadoli"; Livro Técnicos e Científicos
Editora SA.; 1985; 224 PP
[THEURETZBACHER, 1986J
THEURETZBACHER, N. : "VOTRICS - Voting Triple Modular Computing System"j 16th.
lnt.. SymP.on F"ault.-Tolerant. Computingi Vienai 1986; pp. 144 - 150
CTRAINA,1986J
TRAINA, JR., C. : "Máauina e Modelo de Dados Dedicados para Aplicações de
Engenharia"; Tese de Doutoramento, Institut.o de F"ísica e Química de São Carlos-
USP;Departamento de F"lsica e Ciências dos Materiais; 1986; 379 pp
rVONNEUHAN,1956J
VONNEUMAN.j. : ''Probabilistic Logic and the Synthesis of Reliable Organísms from
Unreliable Components"; Automata St.udies, Princeton University Pressi 1956; pp. 43
- 48
rVASANTHAVADA,1984J
VASANTHAVADA,N. e Marions, P.N. : "Synchronization of F"ault-Tolerant Clocks in
the Presence of Malicious F"ailures"i IEEE Trans. on Comp.;voI. C-37i fevereiro,
1984; pp. 73 - 76
CVASANTHAVADA,1986J
VASANTHAVADA,N. Marinos, P.N. e Mersten, G.S. ; "besign and Performance
Evaluation of Mutually Synchronized F"ault.-Tolerant. Clock System"i 16th. Int. Symp.
on F"ault-Tolerant Computingi Viena; junho 1986; PP. 206 - 211
rWAKERLY, 1976J
WAKERLY,J.f. ; "Microcomputers Reliability lmprovement Vsing Triple-Hodular'
Redundancy" i Proc. of The IEEE i vol. 64 i junho de 1976i pp. 889 - 895
(~JENSLEY,1978]
WI;:NgLI;:V,lR ; Lamoor't, L.; Goldber'~, l ; Green, M.W.;Levitt, K.N.; Melli~"'-Smith, P.M.;
Shostak, R.E.; Weristock, C.B. : "81FT: the Design and Analisys of a Fault- Tolerant
ComputeI'"for Aircraft Control"; Proc. IEEE; voI. 66i !'f- 10i outubro de 1978i PP. 1240
- 1255
rWENSLEY, 1981J
WENSLEY,J .H. : "Fault· Tolerant Comouters ensure reliable industrial controlsUjElectronic Designi junho, 1981i pp. 129 - 135
[WENSLEY,1982J
WENSLEY,J.H. e Harclerode, C.S. : "Programmmable Control of a Chemical Reactor
Using a Fault Tolerant Comouter"; IEEE Trans. on Ind. Electronics; voL IE-29~n2 4;
novembro, 1982j pp. 258 - 264
[~JENSLEY,1983.aJ
WENSLEY,J.H. : "An Dperating SY5tem for a TMRFault- Tolerant System"j 13thJnt.
SYlTlo.on Fault-Tolerant Computing; Milão; 1983; po. 452 - 455
[WENSLEY,1983.bJ
WENSLEY,J.H. "Fault Tolerant Comouters: Industrial-Control System does things
in threes for Safety"; Electronics; voL 56, n2 2; janeiro, 1983; 00. 98 - 102
[WIRTHURMER,1989J
WIRTHUMER,G. : "VDTRICS- Fault Tolerance Realized in Software"; Procedo of tohe
IFAC Workshop on Safety of ComputeI'"Control Systems, SAFE CDMP'89; dezembro,
1989; Viena, PP. 135 - 140
1000'1001'1002'1003'1004'1007'1009'100C'100F'1011'1014'1017'101A'101C'101E'1020'1022'1024'1026'1028'102A'102C'102E'1031'1032'1035'1037'103A'103D'103F'1041'1043'10,45 '1046'1047'1048'1049'104E1'
F5CS[15E532 7701'3E 0032 7706'32 7700'3E 0232 7703'32 7704'32 7705'3E 98D3 1F3E 8AD3 083E FCD30A'3E FCD3 083E FFD3 1ECD 104C'AF3A 7700'FE 01C2 104S'3A 7712'E6 FB[13 0A3E FC[13 08E1D1ClF1[13 10C9
ORBPUSHF'USHPUSHPUSHSTAHVISTASTAHVISTASTASTA11VIQUTHVIQUTHVIQUTHVIQUTHVIQUTCALLXRALDACPIJNZLDAANIOUT11VIOUT
F'RDOR: POPf'OPPDPPOF'OUTRET
1000Hf'SWliDHDAATA,00HVENCEDORSA I [IAA,02HEFf'EFAEFNA,ST551ECS51A,ST552EC552A,DVIDEVIDA,SCERf'A552A.VHSHPC551RVSASAI [IA01PRDORHVID0FBHEVHIA,SCERPASS2H(I
Bf'SW010H
;;F.:VS: ROTINA [IE: VOTACAO E SINCRONIZACAO
'SALVA O CARACTEr.:QUE VAI SER ENVIADO'E TODOS OS REGISTRADORES
;PARA O VIDEO,INICIALIZACAO DAS VARIAVEIS
;INICIALIZACAO DOS SINALIIADORES;[tE ERRO
,INICIALIZACAO DOS PORTOS DOS SINALIZA'DE ERRO,DESABILITA A SAlDA no VI[IEO;SINAIS DE CONTROLE PARA ENVIO DOS,SINALIZADORES DE ERRO EH ALTO;INICIALIZA OS SINAIS DE HANDSHAKE'EH ALTO'CHAI1A A ROTINA DE VOTAC.!lüE SINCROI~.;LI HPA FLAG;TE~TA SE E O MODULO QUE VAI SAIR
tE O HOfJULO QUE VAI MI~ A SAI[IA'HABILITA O ENVIO DE DADOS;SAI DEIXANDO OS SINAIS DE CONTRO-'LE DOS SINALIZADORES DE ERRO EM ALTO.;RESTAURA OS REGISTRADORES
;CHAMA O DADO PARA SAIR;FIM DA CNOUT
104C'104F'1051'1054'1055'1050'1059'105C'105F'1062'1063'1066'1068'1069'106C'106E'106F'1072'1075'1076'1079'1078'107E'1080'1083'
1084'1086'1089'108C'108E'1090'1092'1094'1096'1098'109B'109E'10A0'10A2'
CU3E21ElECAAF3A2~0t.8ECA3E02C33E02CDCDAF3AFECA3E32C9
1084'017707'
7701 '7702'7703'106C'02
106F'01
1116'1218'
7706'001080'017700'
3E 0032 7707'3A 7701'D3 lD3E FDD3 lEDE lEE~ 20FE 00CA 10E5'0S FFFFDE lEEt!> 10FE 00
•RVS: CALLHVILXICHPJZXRALDALXILXICHPJZI"IVISTAXJI1PHVIS"rAXCALLCALLXRALDACPIJZHVISTARET
RTlIA.01HH,T_E11CRTSAMATH,DANTB,EFP11IGUALA.02HBCRTSA.01HBRTSHTBAVENCE[IOR00HPERDEDORA,01HSAlDA
.chama rotina de transmissao de daaosUesta TE=l
;se esgotou o tempo continuaIda saida em DAD ANTERIOR e traz os
,sinalizadores de erro.;endereco do dado anterior
'endereco do flag de erro proprioJIdados aao iguaisIdados sao diferentes,guarda o flag de erro;salta para chamar RTB,guarda o flag de erro•,
••'ROTINA DE TRANSHISSAO [IE [lADOS COI1 RECONHECIMENTO;,•RT[I: HVI
STALDAOUTHVIOUTINANICf'IJZLXIINANICPI
A,00HLEDAATPBSS1A,0FDHPC551F'C551020H00HI~ECDADB.TESPPC5S110H00H
,estabeleCE o rEgistro de tempo,esgotado
;envia o dado para o proximo modulo;do anel
,VALOR DA MASCARA PARA O ACK~'vai testar se ACK € zero
Imascara para ACKJt est a ACK;0 proximo modulo recebeu o dado;inicializa o contador se o modulo
;nao recebeu o dado e vai ler o porto, C para ver se chegou d~dD do Rnterior;testa STB apos fazer ~ mascara 10
HAcr':O-80 3.37 08-Jul-B0 PAGE 1-3
10A4' CA 10C2' JZ LEDAD1 'ch~gou dado do modulo anterior10A7' 3E 00 HVI A,00H10A9' [lB . CHP B10AA' C2 10Bl ' JNZ [lCRC110AD' B9 CHP C.i '?HE' CA 10B5' JZ SEQ1 Ipara d~ decrementar o contado,-t0Bl' 08 Dei;: c 1 : DCX B10Be' C3 109E' JHF' LBL1 'fica e.p~r.ndo a chegada do dado10B5' 3E 0e SEQ 1: HVI A,02H ,sai da esptrra indicando erro na10B7' 32 7703' STA EFP Icomparacao10BA' 3E 01 HVI A,01 ,avis. que o tempo foi esgotado10BC' 32 7707' STA LE10BF' C3 10CB' JHP SEG2 'testa se o proximo modulo recebeu dado10Ce' [Ife lC LED ADl : IN F'A551 Jle dado do modulo anterior10C4' 32 7702' STA DANT10C7' 3E F9 HVI A,0F9H 'ENVIA SINAL DE HANDSHAKE10C9' D3 1E OUT PC55110CB' 01 FFFF SEQ e: LXI B,TESr Unicializa o contador10CE' DB lE LBL2: IN PC551 .ve se pro)(imo modulo recebeu o dado10[10' Eó 20 ANI 020H Imascara para o ACK10D2' FE 00 CPI 00H10D4' CA 1109' JZ F'RTN IPonto de retorno10D7' 3E 00 HVI A,00H1.0[19' ElB CHP B10DA' C2 10El ' JNZ DCRCC!10[1D' E!9 CHP C10DE' CA 1109' JZ PRTN ,ponto de retorno10E1' 09 [ICRCC!: [ICX B10E2' C3 10CE' JHP LBL2 'cont inua no loop de espera10E5' 01 FFFF REC [IA[I: LXI B,TESr10EB' DB lE LElL 3: IN PC551 nesta !se chegou dado do modulo ólnteTio10EA' Eó 10 ANI 10H ,mascara piua STB10EC' FE 00 CPI 00H10EE' CA 110A' JZ LElIA[lC!10F1' 3E 00 HVI A,00H10F3' Ela CHP li10F4 ' C2 10FB' JNZ DCRC3.IOF::' ' Ic9 CHF' C10108' CAI 10FF' ,JZ SEG310FE!' 0Ec [ICRC3: [ICX B10FC' C3 10E8' JI1P LBL310FF' 3E· 02 SEQ3: HVI A,0C!H1101 ' 3A 7703' L[lA EFP1104' 3E 01 HVI A,01H11\},S' 3A 7707' LDA T_E1109' C9 F'F:TN: RET
1.10A'110C'110F'1111'1.113'
111(1'l11D'1120'
1122'1125'1127'1129'112C'1120'112F'1132'1134'113ó'1139'113(1'113C'113F'1140'1143'1146'1.149'1 !4B'1HE'1151'1153'2.155'
1158'115A'
DE! se32 7702'3E F903 SEC3 1.109'
D3 0801 FFFFDE! 09
32 7704'Eó 20FE 00CA :11DD'0(1
[1(1 0932 7705'Eó i.0FE 00CA i.14ó·3E 00EleC2 1120'89CA :117A'C3 :1120'3A 7705'E6 0332 7705'3A 7703'CÓ E0[13 0801 FFFF
DF< ~~.32 7704'
PA551 'lE DADO DO HODUlO ANTERIOR[IANTA,0F9H ,ENVIA SINAL DE HANDSHAKEPC551PRTN
;'RTS ROTIHA DE TRAHSHISSAO DOS SINALIZADORES DE ERRO
lI"STAHVIOUTJHP
OUTLXIlI"S"rAAHICPIJZDCXlI"STAAHICPIJZ11VICHF'J'''ZCHPJZJHF'lDAAl"ISTAlDAAVIOUTLXI
lI"aTA
PAsseII,TESPPB552
EFAE!0H00HDESV111PBSSE!EFNi0H00H[IESVeA.00H(lDCR1C[tESV3[tCRiEFN03HEFI~EFP0E0HPAsseB,TESP
PB552EFA
Icarr~ga o acumulador com o sinalizador'de erro proprio,coloca SFA=0 e SFN=0.Junto com oIsinalizador de erro
.envia o'sinalizador e avisa11oop dI! Rspera
;ve se o modulo anterior enviou 5inali,zador de erro e Ja guarda.mascara para RFAIRFA"'0?Ivai tRstar p/ proximo moduloIdecrement, o contador
,proximo modulo Rnviou .inalizador?;guarda o sinalizador'mascara para RFNIRFN=01,;testa se esgotou o tempo de esperaIII.sai indicando erroIcontinua na espera;le o sinalizador'deixa so o sinalizador,porque no porto tem mais sinais'formando a palavra de reconhecimento,para o proximo modulo
'envia ACI(N=0'inicializa o contador para esperar,que o modulo anterior leia o sinaliza'dor de tHl-O
'recebe RFA
HACRO--80 3.37 08-Jul-:-80 F'AGE 1-5
11 5D ' E6 20 ANI 20H Imascara para RFA115F' FE 00 CF'I 00H .1~FA":011161 ' CA 1182 ' JZ DESV4 ,1164 ' 3E 00 I1VI A,001166 ' El8 C11F' B1167 ' C2 116E' JI-lZ DCI~F'211 6A' B9 Ct1F' C ,11611 ' CA 1172' JZ DESV5 ;vai sair indicando en-o11 6E' 011 [ICRF'2 : DCX [I ,11 6F' C3 1158' JHP DCR2 ;1172 ' 3E 02 DESV5: HVI A,02H ,faz EFA.-=10[11174 ' 32 7704' . STA EFA1177 ' C3 11 DC' J11F' DESV6 'l"l;!t orna11 7A' 3E 02 DESV3: HVI A,02H ; faz EFN'=10B11 7C' 32 7705' STA EFN ,117F' C3 1172' . JH!" [lE81,'5 ;retorna indicando erro pl EFA € EFN1182 ' 3A 7704' DESV4: LDA EFA ;le sinalizador de erro modulo anterior1 1.85' E6 03 ANI 03H ;deixa so sinalizador1187 ' 32 7704' STA EFA ,11. BA' 3A 7703' LDA EFP ;forma palavra de reconhecimento para11 8D ' C6 C0 ADI 0C0H ;modulo antErior11. 8F' D3 08 OUT PA5S2 'envia ACKA'=01191 ' D[I 09 DESV8: IN F'B552 lvai VEr se modulo antErior Enviou. .1- EconhEc ilnent o1193 ' E6 80 AlH 80H ;mascara para RCKA11. 95' FE 00 CF'I 00H JRCKA=011197' CA 1 i. BD' JZ [lESV7 •119A' DB 09 IN F'[l552 ;vai VEr se proximo modulo Enviou
; l-econhec i mRnt o119C' E6 40 AI-lI 40H .mascara para RCKN119E' FE 00 CF'I 00H ,r":CKN'-=0711.A0 ' C2 1191 ' J!-lZ DESV8 ll1A3 ' 01 FFFF LXI B, TESF' ,l1A6 • DB 09 [ICI;:3 : IN 1"8552llAO' E6 80 ANI 80H1I.AA' FE 00 CPI 00Hj I.AC· CA 1 i DC' .JZ DESV611. t,F ' 3E 00 l1Vl A, e'I)I-1lI. li1 • Ela CHF' B11. B2 ' C2 l1B9 ' JNZ [ICI~F'311(15 ' B9 CHF' C J1 i. B6 ' CA 1172' JZ DESI,'5 ;sai indicando e-rl-Ol1B9 • 0(1 [ICRF'3 : [ICX B1 1lit~' C3 l1Aó' JI"iP [lCI~811[1ft • 01 FFFF fiES'.'? : LXI I:,TESF'1 i. C0' DB 09 IIU;:4 : I'" PP552 ; V<l i vel- ~;'~-I~CI<l~'''0'?
11 C2'11 C4'11 C6'11 C9'11 CEI'11 CC'11 CF'11 [10 '11 D3'11 [14'11 D7'11.. [19'11.. DC'11 [1[1 'I1..E0'l1E2'l1E5'l1f.B'l1EA'l1EC'l1.EF'l1.Fl'11.F4'li.F6'1l.F8 '1I.FEl'li.FD'1 i.FE'1201 '1202'1205'1206'1209'120C'120E'1211 '1214'1216'1218'
E6 40FE 00CA l1De'3f. 00El8C2 11D3'89CA 11D7'0E1
C3 llC'"3E 0232 770:5'C93A 7704'E6 0332 7704'3A 7703'C6 D0D3 0801 FFFFDEI 0932 7705'E6 10FE 00r('J ~t.:!..,913E 0088C2 1205'89CA l1D7'08C3 l1EF'3A 7705'E6 0332 7705'3A 7703'CÓ C0D3 08C3 1191'
DESV6:[IESVl :
ANICPIJZHVICHPJNZCI"iP.11DCXJI1P11VISTARETLDAAlI/!STALDAADIOUTLXIINSTAANICPI.11MVICI1PJNZCHP.11DCXJI1PLDAANISTAL[lAADIOUT.1111"
40H00HDE:SV6A.00HB[lCRF'4C[IESVAB[ICR4A.02HEFN
EFA03HEFAEFP0[10HPAS52lI, TESF'PB552EFN10H00HDESVBA,00HB[lCRF'5C[lESVABDCR5EFN03HEFNEFF'0C0HPAS52DESIJ8
,mascara para RCKN;;RETORNA COM TUDO 0«;;I;Iretorna indicando erro;;
•,'sai da subrotina'le o sinalizador do modulo anterior'deixa 50 o sinalizador;,preparando a palavra de reconhecimento;ACKA=0
;testa se o proximo modulo enviou oIsinalizador de erro;mascara para RFN,;I;5ai indicando erro,;le o sinalizador do proximo modulo,deixa so o 5inalizador,Ipreparando a palavra de reconhecimento;ACI<N'=0
MACRO-80 3.37 08·_·Ju1-80 F'AGE 1-7
121[1' E6 C0 ANI 0C0H .mascara para bits de posicao121F' 32 7708' STA POSI10D ;guarda esta p·osicao1222' El7 ORA A1223' FE 80 CPI 11D_B ;testa poslcao B1225' CA 1324 ' JZ LBLB1228' [IA 130F' JC LBLA .neste caso e modulo A122El' 3A 7705' LDA EFN ;neste caso e m.odllIo C122E' ;12 7709' STA EA11231' 3A 7704 ' LDA EFA1234' 32 770A' STA EB11237' 3A 7703' LDA EFP123A' 32 770El' STA EC1123[1' 3E 01 HIC: HVI A,01H123F' 21 7709' LXI H,EA11242' ElE CHP H1243' CA 1264' JZ DV11246' 3E 02 HVI A.02H1248' 21 7709' LXI H,EA1124El' ElE CHP H124C' CA 125C' JZ DV2124F' 3E 01 HVI A.01H1251' 32 770C' STA FTA JFTA=l falha na transmissao1254' 3E 00 DV3: . HVI A,001256' 32 7709' STA EA11259' C3 1264' JHP DV1125C' 3E 01 D"-'2: 11VI A,01H125E' 32 770F' STA FCA 'FCA=1 falha na comparacao1261' C3 1254' JHP [IV31264' 3E 01 [lV1: HVI A,01H1266' 21 770A' LXI H.EB11269' ElE CHF' H126A' CA 128B' JZ DX1126[1' 3E 02 HVI A,02H126F' 21 770A' LXI H.EB11272' {lE CHP H1273' CA 1283' JZ DX21276' 3E 01 HVI A,01H1278' 32 770[1' STA FTB127I{ , 3E 00 [IX~l: H'JI A,00H127[1' 32 770,;' STA EB11280' C3 12BB' JHP DX11283' ;lE 01 [lX;~ : 11VI A,011~1285' 32 7710' STA FCEI1288' C3 127B' JI1P DX3128[1' 3E 01 [lX1: 11VI A,01H128[1' ;~1 770F:' LXI H,EC1
HACRO-80 3.37 08-Jul-80 PAGE i-8
1290' DE CI1P Hi29i' CA i2Et2' JZ [lZi1294' 3E e-2 HVI A.02H1296' 21 770Et' LXI H,ECi1299' DE CHP H129A' CA i2AA' JZ [lZ2129[1' aE 0i HVI A.0ii29F' 32 770E' STA FTC12A2' 3E 00 D23: 11VI A,00H12A4' 32 770Et' STA ECli2A7' C3 12B2' JI1P IIZi12AA' 3E 0i D22 : HVI A,01H12,;C' 32 7711' STA Fec12AF' C3 12A2' JHF' [lZ312B2' 3A 770B' [IZ1 : L!tA fCl12B5' 4F HOV C,A ;9uarda ECl em C1286' 3A 770A' LDA EBi12[~9' 07 RLC Irada B a esquerda12BA' 47 110V B,A12BB' 3A 7709' l[tA EAi12BE' 07 RLC12BF' 07 RLC12C0' B0 OI;:A B12Ci' Bi ORA C1;~C2 ' 32 7713' " STA LHHAB ;monta linha da tabela12C5' 21 77i2' LXI H,HVIII12C8' 36 FF 11VI 11.0FFH ;palavra para habilitar saida e indi-12CA' FE 04 CPI 04H ;car modulo falho12CC' CA 12F7' JZ LllLSA12CF' FE 06 CF'I 06H12D1' CA 12F7' JZ LBLSA12It4' 36 FD HVI H,0F[lH ;palavra para habilitar saida € indi-12[16' FE 07 CPI 07 Icar modulo falho12D8' CA f2F7' JZ lBlSA12DR' 36 FF IWI 11.0FFH , I[lE1112[1[1' FE 02 CF'I (~2H12[1F' CA 1305' JZ LBLSB:f2E2' FE 03 Cf'I 03H12F·4 ' CI~ L30S' JZ LBLSB12E7' FE 01 CF'I 01H121::9' CA 13e-(\' JZ UlLSC12EC' FE 05 CF'I 05H12EE' CA 130A' JZ LBLSC12Fi' 3E 00 PERfi : 11VI A,001(?F3 " 32 7706' GANHt,f,or,' : STA IyIFI~CEflOR12F l.' C9 RET
HACI;:ü-80 3.37 08-Jul-80 PAGE 1--9
12F7 ' 3E 00 LBLSA: f1VI A,f1[I_A 'SAI A12F9' 21 7708' POSIC: LXI H,POSHOD12FC' BE CHP H 't~sta POSf10D=SAI12FD' C2 12F1' JNZ PER[I .PERDE[IOR1300' 3E 01 HVI A,011302' C3 12F3' JHP GANHADOR .VENCEDOR1305' 3E 80 LBLSEc: HVI A,HD_B 'SAI B1307' C3 12F9' JHP POSIC130A' 3E C0 LBLSC: f1VI A,f1[I_C ,SAI C130C' C3 12F9' JHP POSIC130F' 3A 7703' LBLA: LDA EFP 'R IloduloA1312' 32 7709' STA EA11315' 3A 7705' l[IA EFN1318' 32 770A' . STA EB1131B' 3A 7704' LDA EFA131E' 32 770B' STA EC11321' C3 1ê3D' JI1F' ENC1324' 3A 7704' LBLB: '-DA EFA .~ modulo B1327' 32 7709' . STA EAi132A' 3A 7703' LDA EFP132D' 32 770A' STA EB11330' 3A 7705' . '-[IA EFN1333' 32 770(1' STA ECi1336' C3 123[1' JI1P ENC
EN[I
IIoHACRO-80 3.37 08-Jul'-80 PAGE S ...(
fj'«
Hacl-os: l z.
S~ll1bols: U~«CIHS 106F' DAAT 7701 ' DAIH 7702' DCRl 1120' \..~uDeR2 1158' DCI~3 11A6' DCR4 l1C0' IICI~5 llEF' t •.>J --'DeRCi 10B i' IICRC2 10El' DCRC3 10FB' [ICRF'2 116E' ~ <./1
t.( -DCRP3 11B9' DCI~P4 11D3' DCRP5 1205' DESVl l1DD' \·u •.•.DESIJ2 1146' DESV3 117A' IIESV4 1182' [IESV5 1172' U.I
\[lESV6 11[1C' DESV7 llB[I' [lESV8 1191 ' DESVA llD7' •...[lESVB 1209' [11,.11 1264' DV2 125C' [tV3 1254' O[11,.11[1 00FC DXl 128B' DX2 1283' DX3 127B' ...J
co[tZl 12B2' DZ2 12AA' [IZ3 12M! ' EAl 7709''"EBl 770A' ECl 770B' EC551 001F EC552 0008 U.IEFA 7704' EFN 7705' EFF' 7703' ENC 123D' ClEVID 000A FCA 770F' FCB 7710' FCC 7711 ' OFTA 770C' FTB 770[1' FTC 770E' GANHAD 12F3' \lHVID 7712' IOUAL 106C' -LBLi 109E' LBL2 10CE' :;>-
lBl3 10E8' LatA 130F' lBlB 1324' lBlSA 12F7' ot.JJLBlSB 1305' lBlSC 130A' lE[lADl 10C2' lEDAD2 1l0A' <J>---LINTAB 7713' HD_A 0000 11[I_B 0080 I1D_C 00C0
HTB 121 B' PA5S1 001C PA552 0008 PB551 001DPB5S2 0009 F'C551 001E F'C552 000A PER[I 12Ft 'PER[lED 1080' P05rc 12F9' POSHOD 7708' F'RDOR 1045'F'RTN 1109' RECDA[I 10E5' RTII 1084' RTS 1116'I~VS 104C' SArDA 7700' SCER 00FC SEQl 10B5'SEQ2 10CB' SEQ3 10FF' 8T551 0098 5T552 008ATESP FFFF LE 7707' , VENCE[I 7706' VHSH 00FF
I~(, F at L\ 1 lê 1-'-01' l~. )
n)