apostila - requisitos de software pcs2049 poli usp

Upload: guilherme-job

Post on 22-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    1/206

    1

    SISTEMAS TOLERANTES A FALHAS

    ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO

    DEPARTAMENTO DE ENGENHARIA DE COMPUTAO E SISTEMAS

    DIGITAIS - PCS

    GRUPO DE ANLISE DE SEGURANA - GAS

    PROF. JOO BATISTA CAMARGO JR.

    2013

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    2/206

    2

    NDICE

    1. Apresentao ........................................................................................... ............................... 42. Evoluo Tecnolgica e Aplicaes ................................................................. ...................... 7

    3. Aplicaes ............................................................................................... ............................... 93.1. Aplicaes de Vida Longa ...................... ................................................................. ........... 93.2. Aplicaes crticas......................................................... ...................................................... 93.3. Aplicaes com Manuteno Adiantada/ Adiada ................................................................ 93.4. Aplicaes de Alta Disponibilidade .................................................................................. 104. Definies Fundamentais ................................................. .................................................... 114.1 Causas das Falhas ........................................................... .................................................... 144.2. Filosofias de Projeto para Combater as Falhas ......................................................... ......... 155. Tcnicas de Projeto para Alcanar Tolerncia a Defeitos. ................................................... 185.1. Redundncia de Hardware. ................................................................ ................................ 18

    5.1.1. Redundncia de Hardware Passiva. .......................................................... .................. 195.1.2. Redundncia de Hardware Ativa. ............................................................................... 245.1.3. Redundncia de Hardware Hibrida.................................................................... ......... 29

    5.2. Redundncia de Informao ................................................................ .............................. 385.2.1. Cdigo de Paridade .................................... ................................................................ 395.2.2. Cdigos m de n .................................................................. ......................................... 475.2.3. Cdigos Duplicados ................................... ................................................................ 495.2.4. Checksums (Cdigo Separvel) ................................................................ .................. 515.2.5. Cdigos Cclicos (No Separvel). ........................................................... .................. 555.2.6. Cdigos Aritmticos. ......................................................... ......................................... 605.2.7. Cdigos Berger .................................................................. ......................................... 645.2.8. Paridade Horizontal e Vertical ...................................................... ............................. 665.2.9. Cdigo de Correo de Erro Hamming ...................................................................... 665.2.10 Circuitos Integrados com Correo de Erro ..................... ......................................... 68

    5.3. Redundncia por Tempo. .................................. ................................................................ 705.3.1. Deteco de Defeito Transiente.............................. .................................................... 705.3.2. Deteco do Defeito Permanente. ..................................................................... ......... 71

    5.3.2.1. Lgica Alternada ........................................................ ......................................... 725.3.2.2. Recomputao com Operandos Deslocados ........................................................ 725.3.2.3. Recomputao com Operando Trocados ............................................................. 745.3.2.4. Recomputao com Duplicao e Comparao Recomputing with Duplicationwith Compararison - REDWC........................................................................................ 765.3.2.5. Recomputao para Correo de Erro ................................................................. 77

    5.4. Redundncia por Software ........... ................................................................. .................... 795.4.1. Verificao de Consistncia ....................................................................................... 795.4.2. Verificao de Capacidade ......................................................................................... 805.4.3. N_ Verses de Software ............................................................................................. 81

    6. Tcnicas de Avaliao de Sistemas Tolerantes a Defeito ..................................................... 82

    6.1. Funo Confiabilidade ( R (t )) e Taxa de Falhas .............................................................. 826.2. Clculo da Taxa de Falhas............................................................................. .................... 856.3 Tempo Mdio para FalharMean Time to Failure MTTF e a Confiabilidade de umSistema ................................................................................................................. .................... 876.4. Tempo Mdio para Reparo ................................................................ ................................ 906.5. Tempo Mdio Entre Falhas ........................................................................... .................... 916.6 A Disponibilidade Assinttica de um Sistema ........................................................... ......... 926.7. Cobertura de Defeitos. .............................................................. ......................................... 936.8. Modelo de Confiabilidade ........................................................ ......................................... 96

    6.8.1. Modelos Combinatrios ............................................................................................. 966.8.1.1. Sistema sries .................................................. .................................................... 976.8.1.2. Sistemas Paralelos ................................................................ ............................. 1016.8.1.3. Cobertura de Defeito e seu Impacto na Confiabilidade ..................................... 104

    6.8.1.4. Sistema M de N .......................................................................................... ....... 1086.8.2 Modelos de Markov .................................................................... .............................. 110

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    3/206

    3

    6.8.2.1.Modelo de Markov com Cobertura de Defeitos ................................................. 1166.8.2.2. Modelo de Markov com Reparo ................................................................. ....... 1206.8.2.3. Modelo de Segurana ........................................................................................ 1236.8.2.4 Comparao entre Sistemas ................................................................ ................ 1256.8.2.5. Modelo de Disponibilidade. .............................................................................. 1276.8.2.6. Modelo de Manutenabilidade ............................................................ ................ 130

    7. Segurana .................................................................................... ....................................... 1337.1. Aspectos Conceituais .................................................... .................................................. 1337.2. Erro Humano ................................................................. .................................................. 1388. Metodologia de Anlise de Risco Proposta ................................................................. ....... 1418.1. Gerenciamento da Segurana .......................................................................................... 1428.2. Anlise de Risco .............................................................................................................. 1438.3. Certificao .............................................................................. ....................................... 1508.4. Perigo e Risco ................................................................................................................. 1538.5. Anlise de Perigo ......................... ................................................................... ................ 156

    8.5.1. Mtodos para Realizar Anlise de Perigo.......................................................... ....... 1658.5.1.1. Lista de Verificao................................. .............................................................. 1658.5.1.2. rvore de Falhas ..................................... .............................................................. 1668.5.1.3. rvore de Eventos ................................................................................................. 1688.5.1.4. Anlise dos Efeitos dos Modos de Falhas - FMEA - Failure Modes and EffectsAnalysis ....................................................................................... ....................................... 1698.5.1.5. Anlise Crtica dos Efeitos dos Modos de Falhas - FMECA - Failure Modes,Effects, and Criticality Analysis .............................................................. ........................... 1708.5.1.6. Anlise de Operao e Perigo - Hazard and Operability Analysis - HAZOP ........ 1718.5.1.7. Avaliao de Completeza de Especificaes ......................................................... 1738.5.1.8. Mtodos Semi Formais ............................................................... ........................... 1848.5.1.9. Mtodos Formais ............................................................ ....................................... 1908.5.1.10. Avaliao Quantitativa da Segurana de Aplicaes Microprocessadas ............. 1938.5.1.11. Injeo de Falhas .......................................................... ....................................... 197

    9. Referncias Bibliogrficas................................................ .................................................. 199

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    4/206

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    5/206

    5

    caractersticas de tolerncia a defeito, no apresenta, necessariamente, uma alta

    confiabilidade. Da mesma forma, pode-se afirma que, um sistema, com alta

    confiabilidade, no necessariamente possui caractersticas de tolerncia a

    defeito. Disponibilidade ( Availability- A ( t )).

    O conceito de disponibilidade corresponde probabilidade que um

    determinado sistema esteja operando corretamente e disponvel para realizar

    suas funes num instante de tempo t. Assim, a disponibilidade difere da

    confiabilidade de forma que, a confiabilidade depende de um INTERVALOde

    tempo enquanto que a disponibilidade avaliada em umINSTANTEde tempo.

    A disponibilidade depende ento no apenas o quo freqente um sistematorna-se inoperante, mas tambm o quo rpido o sistema pode ser reparado.

    Num caso prtico, um processador reserva pode desempenhar as funes do

    sistema enquanto que o processador principal est sendo reparado,

    conservando desta forma o sistema disponvel para uso final.

    - Segurana ( Safety- S (t )).

    a probabilidade que um sistema ir desempenhar suas funes corretamenteou descontinuar suas funes de uma forma que no interrompa a operao de

    outros sistemas de segurana nem comprometa a segurana de pessoas. A

    segurana uma mdia da capacidade do sistema ser Fail- Safe.

    Se o sistema no opera corretamente, voc quer que ele falhe, pelo menos, de

    uma maneira segura.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    6/206

    6

    - Desempenho - ( Performability - P ( L, t ) ).

    Em muitos casos possvel projetar sistemas que podem continuar a realizar

    as funes corretamente aps falhas de HW e erros no SW, mas no no mesmo

    nvel de desempenho.- Definio:

    Probabilidade que o desempenho de um sistema estar maior ou igual a um

    nvel L, no instante t. a mdia de probabilidade que um subconjunto de

    funes est sendo realizado corretamente.

    - Manutenabilidade (Maintainability -M ( t )).

    a facilidade com a qual um sistema pode ser reparado, uma vez que elefalhou.

    a probabilidade que um sistema em falha ser reparado para o estado

    operacional dentro de um perodo de tempo t.

    Muitas tcnicas de tolerncia a defeito podem ser utilizadas para detectar e

    localizar problemas no sistema, com o propsito de manuteno.

    Os diagnsticos automticos podem auxiliar muito neste aspecto.

    - Testabilidade ( Testability ).

    a habilidade de testar certos atributos dentro de um sistema. Mede a

    facilidade com a qual certos testes podem ser realizados.

    Muitas tcnicas que so vitais no sentido de se alcanar tolerncia a defeito

    podem ser utilizadas para detectar e localizar problemas aumentando a

    Testabilidade. Est intimamente relacionada com a manutenabilidade, devido

    ao fato de diminuir o tempo requerido para identificar e localizar o problema.

    - Dependabilidade ( Dependability ).

    Aglutina os conceitos de Confiabilidade, Disponibilidade, Segurana,

    Manutenabilidade, desempenho e testabilidade.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    7/206

    7

    2. Evoluo Tecnolgica e Aplicaes

    A evoluo tecnolgica dos Sistemas de Proteo pode ser esquematizada em

    quatro etapas:- Sistemas a Rels;

    - Sistemas com Tecnologia a Estado Slido;

    - Sistemas CLT redundantes;e

    - Sistemas Tolerantes a Defeitos com Redundncia Triplicada.

    Nos sistemas implementados a Rels tem-se um aumento significativo da sua

    complexidade medida que se expande a funcionalidade, tornando, desta

    forma, a manuteno, a localizao de defeitos e provveis modificaes,difceis de serem realizadas. Convm destacar tambm os altos custos deste

    tipo de sistema. Apesar dos rels apresentarem um modo de falha bastante

    conhecido, este sistemas trabalham apenas com entrada e sadas digitais.

    Com relao aos Sistemas Baseados em Lgica do Estado Slido, estes

    apresentam boa testabilidade e localizao de defeitos. Por outro lado, estes

    sistemas apresentam uma capacidade limitada de diagnstico e pouca

    flexibilidade para modificaes, aceitam somente entradas e sadas digitais,alm de utilizarem componentes de difcil reposio.

    Em funo dessas dificuldades e da evoluo tecnolgica, passou - se a utilizar

    sistemas com Controladores Lgicos Programveis - CLT s redundantes,

    implementados atravs de dois processadores paralelos sendo um deles

    selecionado atravs de chaveamento. Esses processadores alm de aceitarem

    entrada e sadas analgicas, melhoraram a capacidade de diagnstico, podendo

    ser usados justamente com um Bus de dados. Nesses sistemas torna-sedifcil definir qual o processador que est correto, o chaveamento entre ambos

    no seguro, h a necessidade de duplicao das entradas e sadas dos

    processadores e alto risco em mudana nas suas programaes. Neste sentido,

    vale tambm destacar a dificuldade em se verificar os programas contidos nos

    processadores.

    No sentido de superar todas dificuldades e com o aumento da complexidade

    dos Sistemas de Proteo, chegou - se aos Sistemas Tolerantes a Defeito comredundncia Modular Triplicada. Dentro desta filosofia destacam-se duas

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    8/206

    8

    linhas de trabalho, com nfase em Hardware e Software, sendo a ltima

    adotada com mais freqncia.

    Alguns dos requisitos desejveis desta nova arquitetura so: uma falha simples no sistema no deve gerar entradas ou sadas erradas

    nem deve evitar que o sistema funcione conforme projetado;

    qualquer falha deve gerar alarme e uma indicao do local da ocorrncia;

    qualquer falha simples deve ser reparada on -line sem interrupo da

    operao do Sistema de Segurana.

    Como conseqncia das necessidades do mundo moderno e da complexidade

    crescente dos Sistemas de proteo exige-se um trabalho de anlise bastanteamplo na verificao dos Requisitos Gerais de Segurana, no sentido de

    caminhar-se em direo a uma melhor Segurana e Qualidade desses

    sistemas.

    Desta forma deve-se Ter como principais metas nestes Sistemas de Segurana

    as seguintes caractersticas:

    - Alta Disponibilidade;

    - Baixo tempo Mdio para Reparo ( Mean Time to Repair- MTTR );- Alto Tempo Mdio entre Falhas ( Mean Time Between Failures- MTBF);

    - Alto Tempo Mdio entre Falhas Inseguras ( Mean Time Between Unsafe

    Failures- MTBUF);

    - Metodologia de Programao que d nfase segurana;

    - Diagnstico Exaustivo;

    - Interface Amigvel;

    - Comunicao Segura via Rede; e- Excelente Documentao.

    A Tolerncia a Defeito atualmente requerida, pois os novos sistemas

    eletrnicos so menos confiveis.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    9/206

    9

    3. Aplicaes

    As aplicaes de computao tolerante a defeitos podem ser categorizadas em

    4 reas: Vida longa

    Computao crtica

    Aspecto de manuteno adiantada/adiada

    Alta disponibilidade

    3.1. Aplicaes de Vida Longa

    Sistemas a bordo de naves e satlites.Requisitos tpicos desta aplicao Ter uma probabilidade de 0,95 de estar

    operacional no fim de um perodo de 10 anos.

    No entanto, podem suportar pequenos perodos fora do ar (1 semana).

    3.2. Aplicaes crticas

    Relacionadas com Vidas Humanas, meio-ambiente, ou proteo de

    equipamento. Controladores de Vo

    Sistemas militares

    Certos controles industriais

    Controle metr - Ferrovirio, etc...

    Indstria qumica

    Requisito tpico: Confiabilidade > 0,97 no fim de um perodo de trs horas, no

    entanto os requisitos podem variar em funo das particularidades do sistema.

    3.3. Aplicaes com Manuteno Adiantada/ Adiada

    Aplicveis em sistemas que as operaes de manuteno so extremamente

    custosas, inconvenientes ou difceis de se realizar.

    Exemplo:

    Estaes de processamento remoto. (custo) (Centrais Telefnicas)

    Certas aplicaes espaciais (local).Visitas peridicas que realizam uma manuteno preventiva muito forte.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    10/206

    10

    Evitar manuteno no programada.

    Durante os perodos entre visitas, o sistema manipula as falhas e servios

    errados de maneira autnoma.

    3.4. Aplicaes de Alta Disponibilidade

    Bons exemplos: Sistemas Bancrios e Time-Shared"

    Os usurios destes sistemas querem Ter uma probabilidade alta de receber o

    servio quando requisitado.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    11/206

    11

    4. Definies Fundamentais

    Algumas definies fundamentais na rea de confiabilidade e disponibilidade

    devem ser formalizadas visando um maior esclarecimento da terminologiasendo utilizada. A figura 4.1 apresenta a relao entre os termosFalha,Erroe

    Disfuno.

    Fault

    (Falha)

    Error

    (Erro)

    Failure

    (Disfuno)

    Figura 4.1. Relao entre Falha, Erro e Disfuno

    O termo Falha corresponde a um problema intrnseco de um componente.

    Pode corresponder a umafalha fsicaou imperfeio, que ocorre dentro de um

    componente de hardware ou software.

    Como exemplo de falhapode ser citado um condutor aberto ou fechado, uma

    imperfeio fsica num dispositivo semicondutor ou, um lao infinito num

    programa de computador.

    O termo Erro corresponde manifestao interna de uma falha.

    Especificamente um erro um desvio da preciso ou correo esperada de

    uma informao interna ao sistema.

    Uma Disfuno ocorre quando o sistema desempenha incorretamente uma de

    suas funes.

    tambm denominada como mau funcionamento. Dessa forma, uma

    disfuno corresponde tambm ao desempenho de alguma funo numa

    quantidade ou qualidade abaixo do normal. A disfuno uma exteriorizao

    do erro.

    Seja o exemplo de um Votador dois de trs, apresentado na figura 4.2.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    12/206

    12

    A

    B

    C

    Z

    Figura 4.2Circuito Votador

    A Tabela da Verdade deste circuito est apresentada na tabela 4.1, que sesegue.

    A B C Z0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 0

    1 0 1 11 1 0 11 1 1 1

    Tabela 4.1Tabela de Verdade do Circuito Somador

    Supondo a ocorrncia de umaFalhaintrnseca no componente Votador, como

    por exemplo, um curto entre o ponto Ae o Vcc, a nova Tabela da Verdade

    passa a apresentar a seguinte constituio apresentada na Tabela 4.2.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    13/206

    13

    A B C Z0 0 0 00 0 1 1 (*)0 1 0 1 (*)0 1 1 1

    1 0 0 01 0 1 11 1 0 11 1 1 1

    Tabela 4.2. Nova Tabela da Verdade do Circuito Somador

    Pode-se observar que os valores com (*) correspondem s sadasZ que contm

    errosna informao interna do sistema sendo considerado. Se a sadaZ estiver

    controlando um circuito externo, como por exemplo, um circuito a Rel, toda

    vez que os dado contaminado de entrada Afor utilizado, o erro na informao

    Z ser exteriorizado, transformando-se em uma disfuno.

    A Falha est relacionada com o Universo Fsico, representado atravs dos

    dispositivos semicondutores, fontes, alm de outras entidades fsicas de

    hardware e componentes de software.

    O Erro est relacionado com o Universo de Informao, podendo afetar sua

    preciso ou contedo. Os termos aplicveis a este universo podem incluir erro

    de paridade, erro de bit, etc...

    ADisfuno est relacionada com o Universo Externo, ou seja, aquele em que

    o usurio final enxerga o sistema e o seu mau funcionamento.

    Com relao aos instantes de ocorrncia entre uma Falha, um Erro e uma

    Disfuno, pode-se definir o conceito deLatncia.

    A Latncia de uma Falha corresponde ao intervalo de tempo entre a

    ocorrncia de umaFalha e o aparecimento do correspondenteErro.

    A Latnciade um Errocorresponde ao intervalo de tempo entre a ocorrncia

    de umErroe o aparecimento da correspondenteDisfuno.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    14/206

    14

    4.1 Causas das Falhas

    As Falhas podem ser resultado de uma variedade de eventos que ocorrem

    internamente a um determinado componente eletrnico ou computacional,externamente ao componente ou durante o projeto do componente ou sistema.

    As causas possveis das Falhaspodem, desta forma, estar associadas com os

    seguintes aspectos:

    Problema na Especificao;

    Problema na Implementao;

    Desgaste do Componente;

    Fatores Externos.

    A figura 4.3. a seguir ilustra a relao entre as causas fundamentais dasFalhas

    e a relao com osErroseDisfunes.

    Problemana

    Especificao

    Problemano

    Desenvolvimento

    Desgaste

    doComponente

    InterfernciasExternas

    Falha

    noHardware

    Erro Disfuno

    Falhano

    Software

    Figura 4.3Causas das Falhas, Erros e Disfuno

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    15/206

    15

    As Falhas podem ser caracterizadas de acordo com sua Causa, Natureza,

    Durao, Extenso e Valor. O detalhe desta relao apresentado de forma

    esquemtica na tabela 4.3.

    Caractersticasdas

    Falhas

    CausaProblema na Especificao

    Problema na ImplementaoDesgaste

    Interferncias Externas

    NaturezaHardware Analgico

    DigitalSoftware

    DuraoPermanenteIntermitenteTransiente

    Extenso LocalGlobal

    Valor DeterminadoIndeterminado

    Tabela 4.3Caractersticas das Falhas

    4.2. Filosofias de Projeto para Combater as Falhas

    Conforme apresentado anteriormente, podem existir Falhas, Erros e

    Disfunes. Existem tcnicas que podem ser utilizadas para evitar as Falhas,

    outras para mascaras as Falhas, correo dos Erros e tolerncias a

    Falhas/Erros. Estas tcnicas so apresentadas na figura 4.4.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    16/206

    16

    Problemana

    Especificao

    Problemano

    Desenvolvimento

    Desgastedo

    Componente

    Interferncias

    Externas

    Falhano

    Hardware

    Erro Disfuno

    Falhano

    Software

    EvitarFalhas

    MascararFalhas

    TolerarFalhas/Erros

    Figura 4.4.Tcnicas para Combater as Falhas/Erros

    Para se Evitar as Falhas podem ser citadas as seguintes tcnicas:

    Revises de Projeto;

    Testes;

    Mtodos de Controle de Qualidade;

    Mtodos Preventivos.

    Para se Mascarar as Falhas podem ser realizadas as seguintes aes:

    Correo dos Erros;

    Votao Majoritria, entre outros.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    17/206

    17

    Com relao tcnica de Tolerncia Falhas/Erros, o sistema deve apresentar

    a habilidade de continuar desempenhando corretamente suas funes mesmo

    aps a ocorrncia da Falha/Erro. Nesse sentido devem ser tomadas algumas

    atitudes para que essa tolerncia seja alcanada. Podem ser adotadas asseguintes tarefas:

    Mascaramento das Falhas

    Reconfigurao do sistema: deve-se detectar e localizar a Falha/Erro e

    reconfigurar o sistema visando a remoo do componente em falha.

    A deteco da Falha ir determinar a necessidade das outras aes. Est

    relacionada com o Fator de Cobertura de Defeitos.

    A localizao da Falha ir direcionar a forma de recuperao

    Isolamento da Falha, prevenindo que seus efeitos se propaguem atravs

    do sistema.

    Recuperao da Falha, fazendo com que o sistema permanea operacional

    atravs de uma ao de reconfigurao.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    18/206

    18

    5. Tcnicas de Projeto para Alcanar Tolerncia a Defeitos.

    O conceito de Redundncia

    No incio o conceito de redundncia estava intimamente relacionado com arepetio de bloco de hardware.

    De acordo com Johnson: Redundncia simplesmente a adio de

    informao, recursos ou tempo alm do que necessrio para a operao

    normal do sistema.

    FORMAS DE REDUNDNCIA

    1. Redundncia de Hardware: adio extra de hardware, geralmente com oobjetivo de deteno ou tolerncia a defeito.

    2. Redundncia de Software: adio extra de software, alm do necessrio

    para realizar uma funo para detectar ou possivelmente tolerar defeitos.

    3. Redundncia de Informao: adio extra de informao alm do requerido

    para implementar uma dada funo; ex.: cdigo de deteco de erro.

    4. Redundncia de tempo: usa tempo adicional para realizar as funes de um

    sistema de maneira que a deteco e a tolerncia a defeitos possam seralcanadas. (Ex: detectar erros transientes).

    O uso de redundncia pode fornecer capacidade adicional num sistema. Na

    realidade, se tolerncia a defeito ou deteco de defeito so requeridos, alguma

    forma de redundncia requerida.

    Mas a redundncia pode ter um impacto importante no desempenho do

    sistema, tamanho, peso, consumo de energia, custo e confiabilidade.

    5.1. Redundncia de Hardware.

    H trs tipos bsicos de redundncia de hardware:

    - Passiva: usa o conceito de mascaramento de defeitos para esconder a

    ocorrncia de defeitos e prevenir que defeitos resultem em erros. No requer

    nenhuma ao do sistema ou do operador.

    - Ativa: conhecido como mtodo dinmico, alcana tolerncia a defeito por

    deteco de defeitos e realizando alguma ao para remover o hardware comdefeito. (reconfigurao).

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    19/206

    19

    Deteco de defeitos localizao do defeito recuperao do defeito.

    - Hbrida: combina tcnicas passivas e ativas.

    5.1.1. Redundncia de Hardware Passiva.

    Baseia-se no mecanismo de votao (votao majoritria), para mascarar a

    ocorrncia de defeitos.

    Redundncia de Hardware Passiva mais comum:

    TMR - Triple Modular Redundancy

    Figura 5.1

    O TMR pode ser aplicado software onde trs verses diferentes do programaso usadas para proteger contra defeito no software em uma das trs verses.

    A maior dificuldade no TMR o votador; se o votador falha, o sistema

    completo falha.

    Em outras palavras, a confiabilidade do TMR simples no pode ser melhor do

    que a confiabilidade do votador. (fail-safe ).

    Muitas tcnicas podem ser usadas para recuperar a falha no votador.

    Uma abordagem triplicar o votador e fornecer trs resultados independentes.

    Modulo 1Entrada 1

    Modulo 2Entrada 2

    Modulo 3Entrada 3

    Votador Sada

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    20/206

    20

    Figura 5.2

    Muitos estgios do TMR podem ser interconectados usando a seguinteabordagem:

    Figura 5.3

    Redundncia N-Modular

    Generalizao do TMR. A diferena que so utilizados N mdulos.

    Normalmente N um nmero impar, para efeitos de votao majoritria.

    Entrada 1

    Entrada 2

    Entrada 3

    Vota-

    dor

    Vota-

    dor

    Vota-

    dor

    Modu lo 2 Vota-

    dor

    Vota-

    dor

    Vota-

    dor

    Mod ulo1

    Modulo 3

    Modulo 2

    Modulo1

    Modulo 3

    Modulo 1Entrada 1

    Modulo 2Entrada 2

    Modulo 3Entrada 3

    Votador Sada 2

    Votador Sada 1

    Votador Sada 3

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    21/206

    21

    Figura 5.4

    Neste caso mais do que um mdulo com defeito podem ser tolerados.

    Em muitas aplicaes crticas, dois defeitos devem ser tolerados para permitiralcanar a confiabilidade requerida e a capacidade de tolerar defeitos.

    Limitante de N: consumo, peso, custo, confiabilidade do prprio mdulo e

    tamanho.

    Tcnicas de votao

    A votao no apenas engloba decises de projeto (em que instante votar), mas

    tambm impe muitas consideraes como, votao por hardware ou por

    software.Votador em hardware para dados digitais so relativamente simples de

    projetar.

    O circuito a seguir implementa um votador majoritrio

    Figura 5.5

    A B C Z

    0 0 0 0

    0 0 1 0

    0 1 0 0

    0 1 1 1

    1 0 0 0

    1 0 1 1

    1 1 0 1

    1 1 1 1

    Modulo 1Entrada 1

    Modulo 2

    Entrada 2

    Modulo NEntrada N

    Votador Sada

    Entrada A

    Entrada B

    Entrada C

    Z

    A1ATRASO

    A2ATRASO

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    22/206

    22

    Na maioria das aplicaes prticas, o timing um aspecto crtico no

    procedimento de votao. Se os valores chegam no votador em tempos poucos

    diferentes, resultados incorretos podem ser gerados temporariamente. Para

    contornar estes problemas, flip-flops podem ser utilizados nas entradas dosvotadores para sincronizar o processo de votao.

    O circuito a seguir procura resolver este problema.

    Figura 5.6

    D QMASTER

    CLK

    D QSLAVECLK

    D QSLAVE

    D QSLAVECLK

    D Q

    CLK

    D QMASTER

    CLK

    D

    CLK

    D

    CLK

    A1

    B1

    C1

    A2

    B2

    C2

    01 02

    Ent.A

    Ent.B

    Ent.C

    Fase 1Clock

    Fase 2Clock

    Sada doVotador

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    23/206

    23

    CARTA DO TEMPO

    Figura 5.7

    Quando se tem votao por hardware:

    - atraso depende dos atrasos das pastilhas/componentes usados para construir o

    circuito.

    - Nmero de componentes bastante grande aumento do consumo, peso,

    tamanho.

    Quando se tem votao por software:

    - mnimo hardware;

    - simples modificar o software;

    - pode requerer mais tempo que um hardware dedicado.

    Phase 1

    Phase 2

    A

    BC

    Output

    InputsLatched

    VotedOutputReady

    Voting Time

    D Q

    Master

    Clk

    D QSlave

    Clk

    D Q

    SlaveClk

    D Q

    Slave

    Clk

    D QSlave

    Clk

    D Q

    MASTERClk

    D

    MasterClk

    DMaster

    Clk

    Input A

    Input B

    Phase 1Clock

    Phase 2Clock

    Input C

    VoterOutput

    Z

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    24/206

    24

    As decises pela votao em hardware ou software devem levar em

    consideraes os seguintes aspectos:

    1) Disponibilidade do processador para realizar a votao

    2) Velocidade que a votao deve ser realizada3) Criticidade quanto a espao, potncia e peso.

    4) nmero total de votadores

    5) flexibilidade para futuras mudanas.

    Um outro problema em votao que os valores de uma votao podem no

    concordar perfeitamente devido a preciso e tolerncia.

    Desta forma, uma sada atravs da tcnica Mid-Value (entre o valor correto

    sem erro e o com erro em votao com nmero mpar de mdulos).

    Figura 5.8

    Outra maneira ignorar os ltimos bits menos significativas da informao em

    funo da preciso dos componentes sendo utilizados. Em outras palavras, a

    votao realizada sobre os R bits mais significativos.

    5.1.2. Redundncia de Hardware Ativa.

    Esta tcnica atinge tolerncia a defeito atravs da deteco do defeito,

    localizao do defeito e recuperao do defeito. (deteco do erro, localizao

    do erro e recuperao do erro).

    Neste tipo de redundncia o erro tolerado temporariamente at que o sistema

    seja reconfigurado.

    Exemplos dessas tcnicas:

    a) Duplicao com Comparao

    Este tipo de tcnica apresentado na figura a seguir:

    sinalselecionado sinal

    selecionado sinal

    selecionado

    Sinais sem defeito

    Sinais com defeito

    t

    Valoresdos

    sensores

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    25/206

    25

    Figura 5.9

    Cada mdulo realiza as mesmas funes em paralelo. Se ocorrer uma

    discordncia, mensagem de erro gerada.

    Na maioria dos casos detectada a existncia do defeito, mas no tolerado,pois no h meios de saber qual mdulo est com defeito. Mas um meio de

    se fazer deteco de defeito.

    Problemas:

    - Entradas com defeito, resultados errados em ambos os mdulos;

    - Comparador, pode no executar sua funo exatamente (preciso);

    - Falha no Comparador: no indicar erros quando tem.

    A tcnica que resolve alguns dos problemas anteriores :

    Figura 5.10

    Os processadores realizam funes idnticas.

    Modulo 1

    Modulo 2

    Comparador

    Sada

    Concorda/Discorda

    Entrada

    Two-portMemory

    Processor 1

    Memory

    Processor 2

    Memory

    SoftwareComparisons

    in EachProcessor

    SwitchControl

    Output

    SwitchControl

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    26/206

    26

    Se a memria compartilhada falha, ambos os processadores detectam a

    discrepncia de valores com os valores de sua prpria memria.

    Se um processador falhar, a falha detectada pelo outro processador pela

    discrepncia de valores.As chaves podem ser implementadas na forma digital ou analogicamente

    dependendo da aplicao.

    Ambos os processadores devem concordar antes que o sistema permita

    produzir uma sada.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    27/206

    27

    b) Unidade Standby.

    A Configurao est apresentada na figura a seguir.

    Figura 5.11

    Nesta tcnica um mdulo operacional e um ou mais mdulos servem como

    reservas.

    A reconfigurao neste caso pode ser vista conceitualmente como uma chave

    cuja sada selecionada de um dos mdulos bons. Se todos esto bons, pode-

    se fixar um esquema de prioridades.

    Qualquer mdulo com erro eliminado desta considerao.

    O sistema precisa tolerar uma interrupo durante o processo de

    reconfigurao.

    Em funo do tempo necessrio pode-se ter hot-standby (opera em sincronia

    Ex: Controle de reao qumica ) ou cold standby(no alimenta - Ex:

    satlite) reserva.

    No caso Hot Stand By utiliza-se de unidades sobressalentes energizadas.

    No caso Cold Standy By utilizam-se de unidades sobressalentes no

    energizadas.

    Modulo 1

    Modulo 2

    Modulo N

    ChaveadorN para 1

    Deteode

    Erro

    Sada

    Deteode

    Erro

    Deteode

    Erro

    ..

    .

    ...

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    28/206

    28

    Uma questo chave nesta abordagem o esquema de Deteco de

    Erro/Deteco de Defeito usado para identificar o mdulo em falha.

    Duas tcnicas so apresentadas a seguir:b.1) Pair-and-a-Spare

    A arquitetura est apresentada a seguir:

    Figura 5.12

    Nesta tcnica dois mdulos esto operando em paralelo durante todo o tempo e

    seus resultados so comparados para detectar erro. O sinal de erro da

    comparao utilizado para iniciar o processo de reconfigurao que vai

    remover o mdulo em falha e o substituir pelas reservas.

    A chave usa a informao de erro do comparador e do mdulo individual para

    manter dois mdulos livres de erro operando em duplicao.

    Outra sada seria usar os mdulos em par e quando houver erro descarta o

    par de mdulos, em funo da sada da comparao.

    b.2) Temporizador watchdog (comparao com carteiro)

    Modulo 1

    Modulo 2

    ModuloN

    Chaveador

    N para 2

    Deteode

    Erro

    Deteode

    Erro

    Deteode

    Erro

    .

    .

    .

    .

    .

    .

    Comparador

    Sada

    Concorda/Discorda

    Entrada

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    29/206

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    30/206

    30

    Figura 5.13

    A configurao inicial permanece at que o detector de desacordo determine

    que existe uma unidade falha. Uma abordagem comparar a sada do votador

    com as sadas dos mdulos individualmente.

    Neste caso a Unidade Reserva recolocada no lugar do mdulo falho.

    MODULO1

    MODULO2

    MODULON

    SOBRESSAE1

    SOBRESSAEN

    CHAVE

    Detetor de Desacordo

    Votador Sada

    .

    .

    .

    ...

    .

    .

    .

    Entradas

    ...

    ... ...

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    31/206

    31

    b) Redundncia com Auto-Remoo (Self-Purging )

    A diferena que neste caso todas as unidades participam ativamente,

    conforme ilustra a figura a seguir:

    Figura 5.14

    Cada mdulo tem a capacidade de se auto- remover do sistema no caso de sua

    sada discordar da sada do votador.Neste caso o votador usa a tcnica threshold gate. (atravs de componentes

    analgicos, na maioria ).

    xi... entradas binrias n...nde entradas

    z... sada binria

    wi.. pesos

    T... valor de threshold especificado.

    MODULO1

    .

    MODULO2

    MODULON

    VOTADOR Sada

    ENT

    RADAS

    CHAVE

    CHAVE

    CHAVE

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    32/206

    32

    n

    1, se wi . xi T

    i =1

    Z =n

    0, se wi . xi < T

    i =1

    Exemplos Threshold gate de 3 entradas.

    wi = 1 e T = 2

    EntradasX1 X2 X3 Sada

    0 0 0 0 0

    0 0 1 1 0

    0 1 0 1 0

    0 1 1 2 1

    1 0 0 1 0

    1 0 1 2 11 1 0 2 1

    1 1 1 3 1

    Uma abordagem fora para zero o peso de todos os mdulos em falha, no

    contribuindo neste caso para o valor de sada. A chave pode controlar o valor

    deste peso, associando o valor zero se a sada do mdulo discorda da sada

    do sistema.

    Implementao da chave utilizando Flip-Flop tipo JK:J K Q (t + 1) * Estado t+1

    0 0 Q (t) mantm

    0 1 0 reset

    1 0 1 set t

    1 1 Q (t + 1) muda

    A figura a seguir apresenta o esquema da chave:

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    33/206

    33

    Figura 5.15

    O mecanismo de iniciao permite um mdulo, desabilitado uma vez,

    contribuir novamente no processo de votao, se ele for substitudo por um

    sem falha.

    - Exemplo: Somador de 1bit

    Trs somadores so usados para redundncia tripla. Neste caso so necessrios

    dois votadores: votador do bit soma e votador do bit carry. (vai um).

    MDULOI

    J K

    Q Q

    VOTADOR

    D E O U T ROMDULO

    D E O U T ROMDULO

    SADA

    GATE DECONTROLECHAVE

    INICIALIZAO

    ENTRADA

    SISTEMA

    DETECTOR DE

    DESACORDO

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    34/206

    34

    Figura 5.16

    c) Redundncia Modular Sift-Out

    A estrutura bsica est apresentada a seguir composta por comparadores,

    detectores e coletores.

    Figura 5.17

    - Comparador: compara a sada de cada mdulo com os demais. produzido

    um sinal para cada comparao.

    Cn, 2 = - - n ! - - comparaes para n mdulos.

    2 ! (n-2) !A sada 1 se as duas sadas discordam;

    J K

    Q Q

    VOTADOR4 GATES

    INICIALIZAO

    VOTADOR4 GATES

    SOMADOR(5 GATES)

    SOMA

    CARRY

    A

    Ec

    Es

    SOMA

    Ec

    B

    CARRY INCARRY

    Ec - Erro do carry

    Es -Erro da soma

    MDULO(5 GATES)

    MDULO2

    MDULON

    COLETOR(4 GATES)

    DETECTOR6 GATES

    COMPARADOR

    3 GATES

    SADA

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    35/206

    35

    A sada 0 se as duas sadas concordam.

    Exemplo para 3 mdulos:

    Figura 5.18

    - Detetor: determina quais comparaes discordam e desabilita a unidade

    (mdulo) que discorda com a maioria dos mdulos. A sada para cada um

    dos mdulos:

    1: o mdulo discorda com a maioria dos mdulos

    0 o mdulo concorda com a maioria dos mdulos.

    Usa o mesmo mecanismo de flip-flops tipo JK. Exemplo para 3 mdulos est

    na figura 5.19.

    Q K

    Q J

    F1

    F2

    F3

    INICIAO

    1- mdulo 1 falho0 - mdulo 1 bom

    Q K

    Q J

    Q K

    Q J

    D12

    D23

    D13

    Figura 5.19 - Exemplo: Somador de 1 bit

    D12

    D23

    D13

    COMPARAO ENTRE MDULO 1 e 2

    COMPARAO ENTRE MDULO 2 e 3

    COMPARAO ENTRE MDULO 1 e 3

    SADAMDULO 1

    SADAMDULO 2

    SADAMDULO 3

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    36/206

    36

    O mdulo que indicado como falho no influencia na sada do sistema.

    Figura 5.20Coletor

    O esquema do coletor apresentado na figura 5.20.

    F1

    F2

    F3

    Sada doMdulo 1

    Sada doMdulo 2

    Sada doMdulo 3

    Sada do sistema

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    37/206

    37

    Figura 5.21

    COMPARAO AUTO REMOO" SIF-OUT

    No de gates:

    no. de flip flops:

    38

    3

    38 *interessante

    3

    SumComparator

    Detector

    SumCollector

    CarryCollector

    Full-Adder1

    Full-Adder2

    Full-Adder3

    CarryComparator

    A

    B

    C

    A

    B

    C

    A

    B

    C

    Sum S1

    Carry C1

    Sum S2

    Carry C2

    Sum S3

    Carry C3

    DS12DS13

    DS23

    DC12

    DC13

    DC23

    S3

    S2

    S1

    C3

    C2C1

    DC12DC13

    DC23

    SumOutput

    CarryOutput

    D12

    D13

    D23

    F1

    F2F3

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    38/206

    38

    d) Arquitetura Tripla-Duplex.

    Combina redundncia triplicada com comparao.

    O TMR permite mascarar defeitos. A duplicao com comparao permite

    defeitos serem detectados e mdulos com defeitos removidos da votao.O esquema desta soluo apresentado a seguir:

    Figura 5.22

    5.2. Redundncia de Informao

    adio de informao para permitir deteco de defeito, mascaramento de

    defeito ou possivelmente tolerncia ao defeito.EX.: cdigo de deteco e correo de erros.

    Algumas definies:

    - Cdigo: meio de representar informao, ou dados, usando um conjunto bem

    definido de regras.

    - Palavras de Cdigo: coleo de smbolos usados para representar um pedao

    particular de dados baseados num cdigo especfico.

    - Cdigo Binrio: os smbolo so 0 s e 1 s.Um conceito fundamental na caracterizao dos cdigos de deteco e

    correo de erros a Distncia Hamming.

    A Distncia Hamming entre duas palavras binrias o nmero de posies

    de bits na qual as duas palavras diferem.

    0000 x 0101 dist. hamming = 2.

    Distncia de cdigo.

    a mnima distncia hamming entre duas palavras de cdigo vlidas.

    COMPARADOR

    MODULO 1A

    MODULO 1B

    COMPARADOR

    MODULO 2A

    MODULO 2B

    COMPARADOR

    MODULO 3A

    MODULO 3B

    VOTADOR

    EntradasdoSistema Sada

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    39/206

    39

    Exemplo:

    Distncia de cdigo = 3

    Qualquer erro em nico bit pode ser corrigido, pois vai ter uma distncia de

    hamming de 1 do cdigo correto e uma distncia de hamming de pelo menos 2dos demais cdigos vlidos.

    Regra geral:

    c... No de bits que podem ser corrigidos de erros.

    d-.. No de bits que podem ser detectados erros.

    Hd- distncia de Hamming

    2c + d+1< Hd

    Cdigo Separvel: para obter o cdigo original basta retirar os bits de cdigoou de verificao.

    Cdigo no Separvel: para obter o cdigo original necessrio um

    processamento mais complexo.

    5.2.1. Cdigo de Paridade

    Cdigo de paridade de um bit requer a adio de apenas um bit palavra.

    Se o bit extra resulta num nmero total de 1 s ser impar, o cdigo

    referenciado como paridade impar.

    Se o resultado do No de 1 s par, o cdigo de paridadepar.

    Ambos tem uma distncia de Hamming de 2 permitindo a deteco de erro em

    1 bits, mas no a correo.

    Trata-se de um cdigo separvel.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    40/206

    40

    Exemplo:

    Digito Decimal BCD BCD c/

    Paridade

    Impar BCD c/

    Paridade

    Par

    0 0000 0000 1 0000 01 0001 0001 0 0001 1

    2 0010 0010 0 0010 1

    3 0011 0011 1 0011 0

    4 0100 0100 0 0100 1

    5 0101 0101 1 0101 0

    6 0110 0110 1 0110 0

    7 0111 0111 0 0111 18 1000 1000 0 1000 1

    9 1001 1001 1 1001 0

    bit de paridade

    Aplicao: Memrias em sistemas computacionais.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    41/206

    41

    O esquema de aplicao mostrado a seguir:

    Figura 5.23

    Existem outros tipos de paridade para detectar mais erros no cdigo:

    5. Paridade bit-por-palavra;

    5. Paridade bit-por-byte;

    5. Paridade bit-por-chips;

    5. Paridade bit-por-multiplos-chips;

    5. Paridade interlaada.

    A figura a seguir apresenta o esquema geral destes bits de paridade

    GERADORDE

    PARIDADE

    VERIFICADORDE

    PARIDADE

    MEMRIA

    Sinal de Erro

    DADOS DE SAIDADADOS DE ENTRADA

    bit deparidade

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    42/206

    42

    15 14 13 12 11 109 8 7 6 5 4 3 2 1 0 P

    15 14 13 12 11 10 9 8 P2 7 6 5 4 3 2 1 0 P1

    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P4 P3 P2 P1

    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P4 P3 P2 P1

    Bit-per Word

    Chip 4Chip 5 Chip 3 Chip 2 Chip 1

    Odd orEven

    Bit-per Byte

    Bit-perMultiple-Chips

    Bit-perChip

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    43/206

    43

    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P4 P3 P2 P1

    Figura 5.24

    a) Bit por palavra

    Quando o bus falha em 1, inclusive o bit de paridade, a paridade Impar no

    detecta.

    Quando o bus falha em 0, inclusive o bit de paridade, a paridade par nodetecta.

    b) Bit por Byte -1 grupo paridade impar.

    -1 grupo paridade par.

    Falha tudo 1 paridade par detecta

    Falha tudo 0 paridade impar detecta.

    Ambos, bits por palavra e bit por Byte, no detectam erros mltiplos, no

    caso de falha de uma pastilha de memria contendo bits de um dado, pois adistncia de cdigo um.

    Para resolver este fato tem-se:

    c) Bit por mltiplos Chips

    Detecta erro numa pastilha, total da memria todos os bits de paridade

    detectam este erro (podem detectar) usando tipos de paridade diferentes.

    Pode ser difcil de detectar os Chips com defeito.

    Surgiu ento,d) Bit por chip tem mesmo problema de bit por palavra.

    e posteriormente surgiu,

    e) Bit com Paridade Interlaada (overlapping).

    Os grupos no esto relacionados com as pastilhas fsicas. Muito usado

    quando erros em bits adjacentes so mais provveis. Ex.: bus paralelo.

    A paridade interlaada apresenta grupos que so formados com cada bit

    aparecendo em mais de um grupo.Neste caso o erro pode ser localizado alm de ser detectado.

    InterlacedParity

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    44/206

    44

    Este tipo de paridade o conceito do cdigo de correo de erro Hamming.

    3 2 1 0 P2 P1 P0

    Figura 5.25

    Bits de Informao Bits de Paridade

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    45/206

    45

    Erro no bit Erro no bit de paridade

    3 P2 P1 P0 111 7

    2 P2 P1 110 6

    1 P2 P0 101 5

    0 P1 P0 011 3

    P2 P2 100 4

    P1 P1 010 2

    P0 P0 001 1

    sem erro 000 0

    4 bits 3 bits de paridade.

    Pensamento;

    R R bits

    informao

    m mbits de paridade

    nde erros: R+m R+m+1 2m

    sem erro : 1

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    46/206

    46

    n de bits de Paridade/ n de bits de informao

    n de bits de Informao n de bits de Paridade Porcentagem deRedundncia (%)

    2 3 150

    4 3 75

    6 4 66,7

    8 4 50,0

    10 4 40,0

    12 5 41,716 5 31,25

    24 5 20,8

    32 6 18,75

    64 7 10,9

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    47/206

    47

    5.2.2. Cdigos m de n

    Definir palavras que tem n bits com exatamente m 1s.

    altera

    erro n DE 1S M+1 OU M-1

    Em um nico bit.

    Dificuldades: processo de codificao, decodificao e deteco de erro.

    Exemplo: 3 de 6 (i de 2 i) (Redundncia neste caso100%)

    Informao Cdigo 3 de 6

    000 000 111

    001 001 110

    010 010 101

    011 011 100

    100 100 011

    101 101 010

    110 110 001

    111 111 000

    Informao adicional

    Vantagem Cdigo Separvel

    Distncia 2

    Este cdigo detecta erros simples em bits e erros mltiplos unidirecionais

    (1 0; ou 0 1).

    Exemplo: 2 de 5 para dados BCD (no separvel)

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    48/206

    48

    BCD 2 de 5

    0 0000 00011 Qual a regra geral?

    1 0001 11000

    2 0010 101003 0011 01100

    4 0100 10010

    5 0101 01010

    6 0110 00110

    7 0111 10001

    8 1000 01001

    9 1001 00101

    d3 d2 d1,d0 b4 b3 b1 b0

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    49/206

    49

    Exemplo:

    do = b4.b3 + b3.b2 + b3.b1 + b4.b= b2.b= b3 (b4+b2) + b(b4+b2) + b3.b1

    = (b4+b2).(b3+b)+b3.b1

    d1 = b4.(b2+b) + b2.(b3+b1)

    5.2.3. Cdigos Duplicados

    Duplica o cdigo original para formar a palavra codificada.. Vantagem: simplicidade

    . Desvantagem: n de bits extra

    Aplicao: sistema de memria e alguns sistemas de comunicao.

    Em sistema de comunicao o conceito de duplicao freqentemente

    aplicado na transmisso de toda a informao duas vezes. Se as cpias

    concordam, a informao assumida estar correta.

    O prejuzo o decrscimo na taxa de informao.Outra variao complementar a poro duplicada da palavra codificada.

    ________

    Palavra N

    Palavra N

    _______

    Palavra 1

    Palavra 1

    usado tambm em sistemasde comunicao que tem omesmo meio fsico paratransmisso das informao

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    50/206

    50

    Outra variao a duplicao (inverte e compara) swap and compare. Neste

    mtodo so mantidas as duas cpias da informao original, mas trocam-se as

    metades da palavra codificada.

    L2 U2

    U2 L2

    L1 U1

    U1 L1Ui - Metade Superior

    Li - Metade Inferior

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    51/206

    51

    5.2.4. Checksums (Cdigo Separvel)

    Aplicvel quando blocos de dados devem ser transmitidos de um ponto para

    outro.

    Conceito bsico: Soma dos dados originais (variaes na forma que a soma

    feita).

    Dado Original

    dn rn

    Transfere

    d1 r1

    Checksum sobre

    os dados

    originais

    Checksum

    sobre os dados

    recebidos

    Comparao

    Checksum

    recebidos

    H quatro tipos primrios de checksum:

    Preciso simples;

    Preciso dupla;

    Honeywell;

    Residual.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    52/206

    52

    a) Preciso Simples

    Ignora o overflow do checksum.

    A primeira dificuldade que se perde a habilidade de detectar erros

    d3 d2 d1 d0 d3 d2 d2 d0

    0 1 1 1 1 1 1 1

    0 0 0 1 1 0 0 1

    0 1 1 0 1 1 1 0

    0 0 0 0 X 1 0 0 0

    checksum Falha em 1 checksum

    1 1 1 0 1 1 1 0

    no deteta erro

    1 1 1 0

    B) Preciso DuplaComputar um checksum de 2n bits para um bloco de palavras com n bits.

    Ainda possvel overflow, mas, mais difcil.

    1 11 1 1 11 0 0 1

    1 1 0 0 01 1 1 0

    1 0 0 1 1 01 0 0 0

    1 0 1 1 1 0

    Exemplo anterior

    Checksum Calculado0010 1110

    Checksum Transmitido Comparao0000 1110

    1000 1110

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    53/206

    53

    c) Honeywell

    Concatena palavras consecutivas para formar uma coleo de palavras de

    comprimento duplo.

    O Checksum calculado sobre esta nova estrutura.Vantagem: erro num bit de todas as palavras provocar erro pelo menos em 2

    bits do Checksum.

    Palavra n Palavra n -1 Palavra n

    Palavra 1 Palavra 1 Palavra 2

    Checksum

    Exemplo anterior:

    0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1

    0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 0

    0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1

    1 0 0 1 1 1 0 1

    Checksum Calculado Checksum Calculado

    Comparao (deteta o erro)

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    54/206

    54

    d) Residual

    Mesmo conceito da preciso simples exceto que o bit carry no ignorado,

    mas, adicionado de volta ao checksum.

    Exemplo:Palavra n

    Palavra 1

    C SOMA

    C

    Checksum

    Bit deCarry

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    55/206

    55

    0111 1111 11110001 1001 10010110 1110 1 1000

    0000 1000 1Checksum Calculado 10011110

    1110 1 01111

    10001000

    1 00001

    0001Detecta

    1110

    Atravs do checksum no h condies para se determinar onde o erro ocorreu.

    5.2.5. Cdigos Cclicos (No Separvel).

    caracterizado pelo seu polinmio gerador G (x ) de grau maior ou igual a (n-

    R ) onde n o nmero de bits contidos na palavra codificada produzida por G

    (x ) , e R o nmero de bits na informao original a ser codificada.

    Tais cdigos tm a propriedade de serem capaz de detectar todos erros simples

    e mltiplos, adjacentes, que afetam menos do que (n-R ) bits. (Para (n,R)

    cdigo G (x)) grau (n-R ).

    A propriedade de deteco de erro dos cdigos cclicos particularmente

    importante nas aplicaes de comunicaes onde erros transitrios podem

    ocorrer.

    No cdigo cclico a codificao representa os coeficientes do polinmio.

    Exemplo: Cdigo = (vo, v1, -----,vn-1) corresponde ao polinmio

    V(x) = Vo+v1.X+v2.X+...+vn-1. (Polinmio Codificado)

    V (X) = D (X).G(X). Polinmio de dados D (x).

    Qualquer adio requerida durante a multiplicao de dois polinmios

    desempenhada usando mdulo-2.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    56/206

    56

    Exemplo: G (X) = 1+X+X

    D (X) = 1+X+X+X

    v (x) = ? 1011

    1111 v(x) = 1+X+X5+X6

    1011

    1011 (1001011)

    1011

    1011 forma de representar

    ------------

    1101001

    Information (d0,d1,d2,d3) Code (v0,v1,v2,v3,v4,v5,v6 )

    0000 0000000

    0001 0001101

    0010 0011010

    0011 0010111

    0100 0110100

    0101 01110010110 0101110

    0111 0100011

    1000 1101000

    1001 1100101

    1010 1110010

    1011 1111111

    1100 10111001101 1010001

    1110 1000110

    1111 1001011

    Distncia de cdigo = 3

    * Qualquer erro em 2 bits detetado *O circulo lgico obtido da seguinte forma:

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    57/206

    57

    Ex.: G(X) = 1+ X2+ X3; D(X)

    V(X) = G(X).D(X)=(1+ X2+ X3) D(X) =

    (D (X)+D(X) X2+D(X). X3=

    (D(X)+(D(X)+D(X).X). X

    2

    =

    Exemplo:

    G(x) = 1 + X + X 3

    D(x)

    V (x) = D (x) + (1+X+ X3)

    = D (x) + (D(x) . X + D (x) . X3

    = D (x) + (D (x) + D (x). x2) . X

    x x x x + V(x)

    D(x)

    x = Multiplicao por X

    + = Adio modulo 2. (XOR-OU EXCLUSIVO)

    x +x x + V(x)

    D(x)

    REGISTRADOR2

    REGISTRADOR1

    REGISTRADOR3

    Clock

    V(x)

    D(x)

    Em circuito

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    58/206

    58

    Processo de Codificao Registradores: (D(X)=(1101)

    Registradores

    Clock 1 2 3 D(X) V(X)

    0 0 0 0 1 11 1 0 1 1 0

    2 1 1 1 0 1

    3 0 1 1 1 0

    4 1 0 0 0 0

    5 0 1 0 0 0

    6 0 0 1 0 1

    7 0 0 0 0 0

    1011

    1011

    1011

    1011

    1011 a

    1000101

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    59/206

    59

    Processo de Decodificao

    Se R(X) um cdigo vlido recebido ento:

    R(X) = D(X) . G(X)

    Podemos escrever queSndrome

    R(X) = D(X). G(X) + S(X)

    e que S(X) deve ser zero se o polinmio R(X) um cdigo vlido.

    V(X) = G (X).D(X)

    Exemplo: G (X) = 1+X+ X3

    D(X) = V(X)+B(X)V(X) = (1+X+ X3).D(X)+S(X)

    V(X) = D(X)+D(X) (X+ X3)

    Em mdulo-2 Soma e Subtrao so iguais

    D(X) = V(X) + D (X) (X+ X3 )

    B(x) = D (X) (X+ X3)

    = D (X) . X+D(X) . X

    3

    Circuito:

    V(X)

    x x x

    + +

    D(X)

    B(X)

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    60/206

    60

    Clock

    period

    Register values

    1 2 3 V (x) B(x) D(x)0 0 0 0

    1 0 1

    1 0 0 1

    0 1 1

    2 0 1 1

    1 1 0

    3 1 1 00 1 1

    4 1 0 1

    0 0 0

    5 0 1 0

    0 0 0

    6 1 0 0

    1 1 07 0 0 0

    5.2.6. Cdigos Aritmticos.

    So teis para verificar operaes aritmticas (+,*, ).

    Propriedade: A(b*c) =A( b )* A ( c ).

    V(X)

    x x x

    + +

    D(X)

    B(X)

    +

    x

    = Multiplication by X

    = Mo dulo-2 Addition

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    61/206

    61

    Exemplos de cdigos aritmticos: AN, Residual, Inverso - residual e Sistema

    de Nmeros Residuais.

    a) Cdigos AN

    O mais simples cdigo aritmtico que formado multiplicando cada dado poruma constante A.

    Soma: A 2a(No pode ser potncia de 2).

    No lado da recepo verifica se o cdigo divisvel por A.

    ( an-1an-2.....a2a1a0).

    an-1. 2

    a +n-1

    + ...+ a2. 2

    a+2

    +a1. 2

    a+1

    +a0. 2

    a

    +0. 2

    a

    +0. 2

    a

    -1

    --+0. 2

    0

    .

    mudando este bit continua sendo divisvel por 2a

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    62/206

    62

    Exemplo: 3N cdigo = (N+2N)

    Original Information 3/V code word

    00000001

    0010

    0011

    0100

    0101

    0110

    01111000

    1001

    1010

    1011

    1100

    1101

    11101111

    000000000011

    000110

    001001

    001100

    001111

    010010

    010101011000

    011011

    011110

    100001

    100100

    100111

    101010101101

    (n+1)-bit Adder

    an-1 a1

    N

    a0

    Sn Sn-1 S1 S2Sn+ 1

    an-1

    2N

    a0an-2

    Carry

    3N

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    63/206

    63

    b) Cdigos Residuais (Separvel)

    Adiciona um nmero residual ao nmero.

    O nmero residual simplesmente o resto quando o nmero dividido por um

    inteiro.Ex.: Inteiro N, inteiro m

    N = Im + r

    0 r < m.

    base (mdulo)

    Information Residue code word0000

    0001

    0010

    0011

    0100

    0101

    01100111

    1000

    1001

    1010

    1011

    1100

    11011110

    1111

    0

    1

    2

    0

    1

    2

    01

    2

    0

    1

    2

    0

    12

    0

    0000

    0001

    0010

    0011

    0100

    0101

    01100111

    1000

    1001

    1010

    1011

    1100

    11011110

    1111

    00

    01

    10

    00

    01

    10

    0001

    10

    00

    01

    10

    00

    0110

    00

    Processo de deteco de erro na recepo.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    64/206

    64

    5.2.7. Cdigos Berger

    Adicionar um conjunto de bits verificadores, caracterizando um cdigo

    separvel.

    O comprimento _N e tem _I bits de informao e _R bits de verificao.

    R=log2 (I+1) e n=I+R

    Exemplo:

    (0111010) Informao I=7

    R=log (7+1)=3

    O no. de 1s 4 (100)

    complemento

    (011)

    cdigo resultante

    (0111010011)

    Adder

    D1 D2

    Modulo-mAdder

    r1 r2

    ResidueGenerator

    Compare

    S

    rc rs

    S rsError

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    65/206

    65

    Quando o n de bits da Informao baixo, a redundncia alta.

    N de bits de Informao (I) N de bits de verificao (R) %

    4 3 75

    8 4 50,0016 5 31,25

    32 6 18,75

    64 7 10,94

    Original Information Berger code

    0000

    00010010

    0011

    0100

    0101

    0110

    0111

    10001001

    1010

    1011

    1100

    1101

    1110

    1111

    0000

    00010010

    0011

    0100

    0101

    0110

    0111

    10001001

    1010

    1011

    1100

    1101

    1110

    1111

    111

    110110

    101

    110

    101

    101

    100

    110101

    101

    100

    101

    100

    100

    011

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    66/206

    66

    Exemplo: I=4 e R=3

    1011 no. de 1 e = 3 (011)

    (1011100) (100)

    5.2.8. Paridade Horizontal e Vertical

    Quando o erro mltiplo, possvel detectar, mas no corrigir o erro.

    5.2.9. Cdigo de Correo de Erro Hamming

    Requer de 10 a 40% de redundncia. A codificao e codificao acrescentam

    um atraso relativamente pequeno.

    Este cdigo utiliza _c bits de verificao de paridade para proteger R bits de

    informao.

    Relao: 2c c + R + 1

    Comprimento total: n = c + R

    O cdigo Hamming formado particionando os bits de informao em grupos

    de paridade e especificando um bit de paridade para cada grupo. (par ou

    impar).

    A habilidade de localizar qual bit errado obtida atravs de superposio dos

    grupos de bits.

    MEMO

    RIA

    PARIDA

    DE

    HORIZO

    N

    TAL

    PARIDADE VERTICAL

    aps localizar o erro pode ser corrigido

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    67/206

    67

    Exemplo:

    bits de informao: (d3d2d1d0)

    2

    c

    c + 4 + 1 = C+5

    2cc + 5 C = 3 (C1C2 C3)

    Bit errado bit de Verificao Afetado

    d0

    d1

    d2d3

    C1

    C2

    C3

    C1, C2

    C1, C3

    C2, C3C1, C2, C3

    C1

    C2

    C3

    Na recepo calcula-se o cdigo de verificao e compara com o recebido.

    definido SINDROME como a comparao entre o cdigo calculado e orecebido (XOR).

    Se for igual a 1 indica incorreo.

    (Um Bit errado) C1, C2, C1, C3

    Sindrome

    d0 110

    d1 101d2 011

    d3 111

    c1 100

    c2 010

    c3 001

    Esquema geral utilizao

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    68/206

    68

    Para 2 bits errados acrescenta-se mais um bit de paridade da palavra. (Parid.

    Global).

    Sindrome

    no zero

    no zero

    zero

    ParidadeGlobal

    incorreto

    correto

    correto

    correo

    um bit erradocorreo

    Dois bits errados

    Correto

    5.2.10 Circuitos Integrados com Correo de Erro

    Muitos circuitos integrados esto disponveis para detectar, localizar e corrigir

    erros. Como exemplo, pode-se citar o 8206 da Intel, MC68540 da Motorola,

    AM2960 e AMZ8160 da Advanced Micro Devices, DP8400 da NationalSemicondutor e MB1412A da Fijitsu.

    Estes circuitos integrados so projetados para gerarem os bits de verificao,

    gerar a sindrome, decodificar a sindrome e realizar a correo dos dados.

    Unidades tpicas so organizadas para suportar dados de 16 bits, mas podem

    ser expansveis para deteco e correo de palavras de tamanho maior.

    CheckBitGenerator

    SyndromeGeneratorM

    emory

    CheckBitGenerator

    DecoderCor

    rection

    IncomingData

    CheckBits

    CheckBits

    SyndromeBits

    UncorrectData

    Data

    CorrectData

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    69/206

    69

    Quase todos os CI s usam o Cdigo de Hamming modificado para detectar

    erros duplos e corrigir erros simples.

    O Diagrama em blocos da estrutura fundamental de um Circuito Integrado

    deste tipo mostrada a seguir. Uma palavra vindo do sistema vai diretamente memria e a um gerador de bits de verificao. Ambos so armazenados na

    memria. Na leitura de uma palavra da memria ocorrem os seguintes eventos:

    1. O dado usado para regenerar os bits de verificao atravs de um Gerador

    de Bits de Verificao.

    2. criado a sndrome comparando os bits de verificao original com os

    regenerados.

    3. A Sndrome usada para identificar o bit errado.4. Os dados so passados atravs de uma unidade de correo.

    5. Os dados corrigidos so colocados no bus.

    O nmero de ocorrncia de erros usado para indicar um defeito permanente

    na memria.

    Para Intel 8206: (16 bits )

    tempo de deteco do erro: 52ns

    tempo de deteo e correo: 67ns.Para efeito de rapidez, em cdigos separveis, a informao j pode ser usada

    enquanto se realizam as verificaes necessrias.

    Circuito Integrado de Correo de Erro

    Bus

    de

    Dados

    Corretor Decodificador

    Gerador"Sindrome"

    Gerador deBits de verificao

    Para escritaGerador de

    Bits de verificaoPara leitura

    Memoria

    DadosCorrigidos

    Dados

    Bits deVerificao

    Dados

    Dados

    Bits deVerificao

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    70/206

    70

    5.3. Redundncia por Tempo.

    Tanto a redundncia de hardware como a de informao, requer um hardware

    extra na sua implementao.

    A Redundncia por tempo, por sua vez, no requer hardware extra.A escolha adequada deve ser tomada em funo dos requisitos de cada

    aplicao.

    5.3.1. Deteco de Defeito Transiente.

    O conceito bsico da redundncia temporal a repetio da computao de

    forma a permitir que o defeito seja detectado. A forma bsica da redundncia

    temporal apresentada a seguir:

    Se um erro detectado, a computao pode ser realizada novamente para

    verificar se a discordncia contnua ou desaparece. Tal abordagem

    interessante para deteco de erros resultantes de defeito transientes, mas no

    protege contra erros de defeitos permanentes.

    Pode-se incrementar o sistema de forma que quando o erro for detectado,

    existirem duas condies a serem analisadas:

    a) Um defeito permanente produziu o erro, e aquela parte do sistema deve ser

    isolada (reconfigurada);

    b) Um defeito transiente aconteceu e produziu o erro, mas o hardware

    continua sendo utilizvel, sem necessidade de isolar parte do sistema.

    Isto pode ser realizado em funo do nmero de computaes repetidas aps a

    deteco do primeiro erro. (Depende dos requisitos do sistema).

    Computao ArmazenaResul t ado(to)Dado

    Computao ArmazenaResul t ado

    (to+)Dado

    Computao ArmazenaResul t ado

    (to+n)Dado

    Comprador Sinal de Erro

    .

    Tempo

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    71/206

    71

    5.3.2. Deteco do Defeito Permanente.

    Um dos grandes potenciais da tcnica da redundncia temporal a habilidade

    de detectar defeitos permanentes usando um mnimo de hardware extra.

    Quatro abordagens so consideradas:* Lgica Alternada;

    * Recomputao com Operandos Deslocados;

    ( Recomputing with Shifted Operands - Reso);

    * Recomputing with Swapped Operands (RESWO)

    Recomputao com Operandos trocados

    * Recomputao com Duplicao com Comparao. Recomputing with

    duplication with comparison (REDWC).

    O conceito fundamental por trs de cada abordagem apresentado a seguir:

    A seleo da funo de codificao e (x) feita para permitir que defeitos no

    hardware sejam detectados.

    Computao

    ArmazenaResu l tado

    ArmazenaResu l tado

    Compara

    Codificae (x) Computao

    Decodificae-1 (R)

    to

    Dado X

    to+

    Sinal de Erro

    R

    Tempo

    Dado X

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    72/206

    72

    5.3.2.1. Lgica Alternada

    Aplicada na transmisso de dados digitais em cabos e deteco de defeitos em

    circuitos digitais.

    Seja a figura a seguir, de transmisso de dados sobre uma via paralela.

    No instante to transmite-se os dados originais e no instante to+g transmite-seos dados complementados.

    Suponha um defeito numa linha, grampeando-a em nvel 1.

    O Defeito pode ser detectado, alternando a lgica:

    O conceito da Lgica Alternada pode ser aplicado, em geral, a circuitos lgicos

    que tem a propriedade de self-duality, ou seja:

    f(x) = f(x)

    5.3.2.2. Recomputao com Operandos Deslocados

    Recomputing with Shifted Operands-RESO. Utilizado como mtodo de

    fornecer deteco de erro em ULA.

    A funo de Codificao selecionada como operao de deslocamento para a

    esquerda e a de decodificao para a direita. (deslocamento lgico ou

    aritmtico).

    T

    XRX

    X1

    X2

    Xn

    BusParalelo

    DadosRecebidos

    DadosTransmitidos

    T

    XRX

    0

    1

    1

    1

    0

    0

    1

    0

    0

    0

    1

    1X

    toto+g

    ComplementaresN o maisComplementares

    "1"

    Bus Paralelo

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    73/206

    73

    Como exemplo, considere a operao lgica AND realizada sobre 8

    operandos, como mostrado a seguir. Se um bit slice est como defeito e no

    tem efeito sobre os demais, um nico deslocamento para esquerda detecta o

    erro que ocorre na operao lgica.

    Comparao dos R7 R6 R5 R4 R3 R2* R1 R0

    Resultados R7 R6 R5 R4 R3 R2 R1* R0

    A estrutura de ULA que usa esta tcnica apresentada a seguir. O Hardware

    adicional so 3 Deslocadores, um Registrador para armazenar o resultado da

    primeira computao e um comparador.

    B7 A7

    R7

    B6 A6

    R6

    B5 A5

    R5

    B4 A4

    R4

    B3 A3

    R3

    B2 A2

    R2*

    B1 A1

    R1

    B0 A0

    R0

    R7 R6 R5 R4 R3 R2

    B7 A7 B6 A6 B5 A5 B4 A4 B3 A3 B2 A2 B1 A1

    R1*

    B0 A0

    R0

    0 0

    Defeituoso

    Registrador dedeslocamento

    (esquerdo)

    Registrador dedeslocamento

    (esquerdo)

    Unidade Lgica Aritmetica (ULA)

    Registrador dedeslocamento

    (direito)

    Comparador

    Registrador deArmazenagem

    Deslocamentoem bit

    Deslocamentoem bit

    ComandodeDeslocamento

    Comandode Deslocamento

    Deslocamentoem bit

    Sinal de erro

    A B

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    74/206

    74

    O problemas primrios com esta arquitetura so o hardware adicional

    necessrio, a falta de cobertura para defeitos nos deslocadores, e o requisito

    que o comparador seja totalmente auto-verificvel de maneira que defeitos no

    comparador no comprometa a eficincia da abordagem.

    5.3.2.3. Recomputao com Operando Trocados

    RESWO - Recomputing with Swapped Operands. O conceito bsico desta

    arquitetura mostrado a seguir:

    Durante a Segunda computao, a metade superior e inferior so trocadas de

    forma que o bit slice com defeito atua nas duas metades durante a primeira e a

    Segunda computao.

    AH AL

    BH BL

    RH RL

    AL AH

    BL BH

    RL RH

    Operandos

    ResultadoResultado

    Instante to Instante to+

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    75/206

    75

    A estrutura da ULA projetada para acomodar a arquitetura RESWO mostrada

    a seguir:

    O multiplex um circuito relativamente simples apresentado a seguir:

    A

    B

    C A if S=0

    B if S=1

    S = Swap ComandAB

    InputsFigura 5.65

    S

    MultiplexingCircuit

    AH AL BH BL

    AHor

    AL

    BHorBL

    MultiplexingCircuit

    AL AH BH BL

    AHorAL

    BHorBL

    Upper Halfof

    AL U

    Lower Halfof

    AL UMU X

    C1COUT=OR

    C1

    C2 C2 MU XC1ORCIN

    C1

    SwapCommand

    OR

    C2

    Cin Cin

    C2

    MU X

    SwapCommand

    Sto rage Register

    Comparator

    Result Result

    ErrorSignal

    SwapCommand Result H alf

    (RH or RL)

    Result Half(RL or RH)

    Figura 5.64

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    76/206

    76

    5.3.2.4. Recomputao com Duplicao e Comparao Recomputing with

    Duplication with Compararison - REDWC

    A Redundncia no tempo utilizado para completar o clculo e obter o

    resultado final.Esta arquitetura, no caso do somador, realiza duas computaes. Na primeira

    as metades inferiores dos operandos so somadas nas duas metades do

    somador. Os resultados so ento comparados e um resultado armazenado

    para representar a metade inferior.

    A Segunda computao realiza o mesmo para as metades superiores.

    Bupper Blower

    B

    Aupper Alower

    A

    Upper Half ofAdder

    Blower Alower

    CinC1

    Rlower

    Lower Half ofAdder

    Blower Alower

    CinC1

    Rlower

    Upper Half ofAdder

    Bupper Aupper

    C1Cout

    Rupper

    Lower Half ofAdder

    Bupper Aupper

    CinCout

    Rupper

    Second Calculation

    First Calculation

    Figura 5.66

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    77/206

    77

    O diagrama em bloco desta arquitetura apresentado na figura que se segue:

    32-bitSwapper

    B

    32

    A

    32

    16 16

    16-bitFull-Adder

    32-bitSwapper

    B

    32

    A

    32

    16 16

    16-bitFull-Adder

    17-bitComparator

    16-bitLatch

    16 16

    1-bitLatch

    MUX

    Cout C1

    Error

    SignalRlower

    S

    CinC1

    Rupper

    Cout

    S

    C1

    S

    Figura 5.67

    Figura 5.67

    5.3.2.5. Recomputao para Correo de Erro

    A Redundncia pro tempo pode ser utilizada tambm para correo de erro se

    repetida 3 ou mais vezes.

    Considere a operao lgica AND ilustrada na figura que se segue:

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    78/206

    78

    0 0 a7 a6 a5 a4 a3 a2 a1 a0

    0 0 b7 b6 b5 b4 b3 b2 b1 b0

    0 0 r7 r6 r5 r4 r3 r2 r1 r0

    0 a7 a6 a5 a4 a3 a2 a1 a0 0

    0 b7 b6 b5 b4 b3 b2 b1 b0 0

    0 r7 r6 r5 r4 r3 r2 r1 r0 0

    a7 a6 a5 a4 a3 a2 a1 a0 0 0

    b7 b6 b5 b4 b3 b2 b1 b0 0 0

    r7 r6 r5 r4 r3 r2 r1 r0 0 0

    0 0 r7 r6 r5 r4 r3 r2 r1 r0

    0 0 r7 r

    6 r

    5 r

    4 r

    3 r

    2 r

    1 r

    0

    0 0 r7 r6 r5 r4 r3 r2 r1 r0

    0 0 r7 r6 r5 r4 r3 r2 r1 r0

    FaultyBit

    PerformBit-by-BitVote to CorrectErroneous Bits

    Repeat Operationon OperandsAfter a 2-bitLeft Shift

    PerformOperation on

    UnshiftedO erands

    Repeat Operationon OperandsAfter a 1-BitLeft Shift

    Corrected Result

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    79/206

    79

    Suponha que a operao realizada trs vezes: a primeira, sem deslocamento

    dos operandos; a Segunda com o deslocamento de 1 bit dos operandos; a

    terceira, com deslocamento de 2 bits dos operandos.

    Desta forma, um bit diferente no resultado ser afetado pelo defeito no bitslice. Se os bits em cada posio so comparados, o resultado devido ao

    defeito, pode ser corrigido realizado-se uma votao majoritria.

    Este soluo no funciona para operaes aritmticas, pois os bits adjacentes

    no so independentes. Um defeito em um bit slice pode afetar mais de um

    bit no resultado final.

    5.4. Redundncia por Software

    Em aplicaes que utilizam computadores, muitos meios de deteco de

    defeitos e tcnica de tolerncia defeitos podem ser implementados por

    software. O hardware redundante necessrio para implementar esta capacidade

    pode ser mnimo, mas o software redundante bastante substancial.

    A Redundncia de Software pode aparecer como muitas linhas extras do

    cdigo usadas para verificar a magnitude de um sinal ou uma pequena rotina

    usada para testar periodicamente a memria (escrevendo e lendo em posies

    especficas).

    So consideradas aqui, trs tcnicas de redundncia de software:

    - Verificao de Consistncia;

    - Verificao de Capacidade;

    - N_ Verses de software.

    5.4.1. Verificao de Consistncia

    A verificao de consistncia usa o conhecimento a priori sobre as

    caractersticas da informao a ser verificada a correo. Por exemplo, em

    algumas aplicaes, conhecido que uma grandeza nunca deve exceder uma

    certa magnitude. Se o sinal exceder esta magnitude, indica a presena de

    algum erro.

    A verificao da consistncia pode ser implementada em hardware, mas mais

    realizada em software.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    80/206

    80

    Um exemplo de verificao de consistncia que pode ser realizado em

    hardware a deteo de cdigos de instruo invlidos em computadores.

    Muitos computadores usam n bits para representar 2k instrues possveis,

    onde K

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    81/206

    81

    5.4.3. N_ Verses de Software

    Defeitos no software so conceitos no usuais. Tcnicas para detectar estes

    defeitos devem detectar desvios no projeto. Uma simples duplicao e

    procedimento de comparao no detectam defeitos no software se os mdulos

    de software duplicados so idnticos.

    O conceito bsico em N_ Verses de software projetar e codificar o software

    N vezes e comparar os N resultados produzidos por cada um destes mdulos.

    Cada um desses mdulos projetado e codificado por um grupo separado de

    programadores. Cada grupo projeta o software a partir de uma mesma

    especificao, de maneira que cada mdulo desempenha a mesma funo.

    esperado que N projetos independentes no iro gerar erros iguais.

    Entretanto quando ocorre um erro, no ocorre em todos os mdulos, ou ocorre

    de maneira diferente em cada mdulo, de forma que os resultados finais sero

    diferentes.

    Existem certas polmicas com relao N_ Verses de software.

    A primeira que os projetistas e codificadores tendem a fazer erros similares.

    Alm disso, no se garante que verses independentes de um programa no

    tero defeitos idnticos.

    Finalizando, como as N verses se originam a partir de uma mesma

    especificao, no se detecta erros na especificao.

    Se o software desenvolvido corretamente, no h a necessidade de se utilizar

    tcnicas de tolerncia a defeitos de software.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    82/206

    82

    6. Tcnicas de Avaliao de Sistemas Tolerantes a Defeito

    - Taxa de Falhas

    - Tempo mdio para Falhar ( MTTF )- Tempo mdio entre Falhas ( MTBF )

    - Cobertura de Defeitos

    - Anlise de Confiabilidade

    - Anlise de Segurana

    - Anlise de Disponibilidade

    - Anlise de Manutenabilidade

    - Taxas de Redundncia- Custos

    6.1. Funo Confiabilidade ( R (t )) e Taxa de Falhas

    Para se definir a Funo ConfiabilidadeR(t) necessrio conceituar o termo

    taxa de falhas. Intuitivamente a taxa de falha o nmero esperado de falhas de

    um tipo de sistema num determinado perodo de tempo.

    Como exemplo, pode-se considerar que um computador falha, em mdia, umavez a cada 2000 horas. Neste caso o computador apresentar uma taxa de

    falhas de 1/2000 falhas/hora.

    A taxa de falha denotada pela letra grega .

    Quando algum tipo de redundncia for incorporado como meio de alcanar

    tolerncia a defeito, a taxa de falhas desse novo sistema redundante deve ser

    menor do que a taxa da falha do sistema similar, no redundante.

    Para podermos representar formalmente o conceito de Confiabilidade pode-seseguir o seguinte raciocnio.

    Vamos utilizarNcomponentes idnticos.

    Suponha que esto todos operacionais no instante toe que se registre o nmero

    de componentes falhos e componentes corretos no instante t.

    Nf(t): Nmero de componentes que falharam at o instante t.

    No(t): Nmero de componentes operacionais at o instante t.

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    83/206

    83

    A confiabilidadeR(t)neste exemplo pode ser calculada como a diviso entre o

    nmero de componentes operacionais, dividido pelo nmero total de

    componentes.

    )()( )()()( tNtNtN

    NtNtR

    fo

    oo

    Esse valor corresponde a probabilidade de um componente funcionar no

    intervalo entre [to,t].

    Por outro lado, a No-Confiabilidade Q(t)de um componente funcionar no

    intervalo [to,t]pode ser calculada como:

    )()()()()(

    tNtNtN

    NtNtQ

    fo

    ff

    Desta forma:

    N

    tNtQtR

    f )(1)(1)(

    dt

    tdN

    Ndt

    tdR f )(.1)(

    dt

    tdRN

    dt

    tdNf )(.)(

    , considerada como taxa de falha instantnea.

    A Funo Taxa de Falha (t) ou Hazard Function ou Hazard Rate definida como:

    )(

    )(

    )(tN

    dt

    tdN

    to

    f

    (falhas por unidade de tempo)

    dt

    tdR

    tN

    N

    dt

    tdRN

    tNt

    oo

    )(.

    )()

    )(..(

    )(

    1)(

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    84/206

    84

    )(1

    )(

    )(

    )(

    )(tQ

    dt

    tdQ

    tR

    dt

    tdR

    t

    Sendo quedt

    tdQtf

    )()( correspondente funo densidade de falha.

    A funo taxa de falhas (t) depende do tempo, e verifica-se

    experimentalmente que para componentes eletrnicos e computacionais existe

    um perodo em que (t) aproximadamente constante. Este fato est

    relacionado com a denominada Curva da Banheira, conforme mostra a figura

    6.1.

    (t)

    t

    Perodo de Vida tilMortalidadeInfantil

    Envelhecimento

    Figura 6.1Curva da Banheira

    A regio de Mortalidade Infantil corresponde regio em que aqueles

    componentes produzidos com algum defeito constitucional falham. Para se

    eliminar esses componentes com uma maior rapidez, pode-se utilizar tcnicas

    de Teste de Burn-in, onde os componentes so submetidos a um stress maior

    do que aquele em que submetido quando em operao normal. O Perodo de

    Vida til corresponde ao perodo de tempo em que a taxa de falhas do

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    85/206

    85

    componente se mantm relativamente estvel. O perodo de envelhecimento

    corresponde ao perodo em que a taxa de falhas do componente comea a

    crescer vertiginosamente, aumentando drasticamente a probabilidade do

    componente falhar, caso no tenha ainda falhado.J havamos concludo que:

    )(

    )(

    )(tR

    dt

    tdR

    t

    )().()(

    tRtdt

    tdR

    Se admitirmos que o sistema est no perodo de vida til, a funo taxa de

    falha tem um valor constante, denominado .

    )(..)(

    tRdt

    tdR

    A soluo para essa equao :

    tetR .)(

    que corresponde a uma curva de distribuio exponencial. Vale ressaltar que

    essa expresso s vlida para componentes eletrnicos e computacionais.

    Em certas aplicaes, entretanto, no se pode assumir que a funo de taxa de

    falha apresenta valor constante. Entre estas aplicaes pode-se citar sistemas

    mecnicos, pneumticos, hidrulicos e o prprio componente Software. Nestes

    casos outros modelos devem ser empregados.

    6.2. Clculo da Taxa de Falhas

    Um aspecto importante na anlise de sistema a estimativa de taxa de falhas

    de componentes especficos. A tcnica mais comum do Departamento de

    Defesa Americano (USDOD ) cuja norma MIL - HDBK - 217 contm esses

    dados a partir de valores experimentais.

    Apresenta - se a seguir alguns parmetros.

    A medio de falha de um CI dada por:

  • 7/24/2019 Apostila - Requisitos de Software PCS2049 Poli USP

    86/206

    86

    = L. Q ( C1 . t+C2. E) . Pfalhas por milhes de horas.

    L... Fator de aprendizado: representa a maturidade do processo do fabricante

    utilizado na produo do CI (Varia de 1 a 1)

    Q ... Fator de qualidade: representa o conjunto de teste que o componentesofre antes de ser vendido por um fornecedor (1 a 3)

    Existem 4 nveis bsicos: A, B, C, D.

    Classes A e B => aplicaes militares

    A => Q = 1

    B => Q = 2

    Classe C => componentes comerciais de alta qualidade.

    Q = 16

    Classe D => componentes comerciais herme