View
4
Download
0
Category
Preview:
Citation preview
DSC/CEEI/UFCG
Universidade Federal de Campina Grande
Departamento de Sistemas e Computação
Curso de Bacharelado em Ciência da Computação
Circuitos Lógicos Combinacionais
(Adicional)
Profa Joseana Macêdo Fechine Régis de Araújo
joseana@computacao.ufcg.edu.br
Carga Horária: 60 horas
Organização e Arquitetura de Computadores I
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 2
Tópicos
Organização Básica de Computadores
Códigos de Detecção/Correção de Erros
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 3
Códigos de Detecção/Correção de Erros
Problema:
Dados podem, ocasionalmente, conter erros causados por
oscilação de tensão, por exemplo.
Bits extras são acrescidos à informação, com a
finalidade de detecção de erros em caso de
ocorrência de uma ou mais inversões de bits.
Se a saída não corresponder a uma das codewords
(palavras-código), acontece uma indicação de erro.
As codewords são um subconjunto de todas as possíveis
combinações do código.
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 4
Códigos de Detecção/Correção de Erros
Solução:
Dados são armazenados com um código que permita a
detecção ou correção de erros.
São acrescentados bits extras nas palavras de memória
usados para verificar a exatidão da informação.
Uma palavra de código de n (=m+r) bits conterá: m bits de
dados + r bits de redundância (ou verificação).
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 5
Códigos de Detecção/Correção de Erros
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 6
Códigos de Detecção/Correção de Erros
Distância de Hamming - igual ao número de bits correspondentes que diferem em duas palavras de código quaisquer.
As propriedades de detecção de erros e de correção de erros dependem fundamentalmente da sua distância de Hamming.
Exemplo: As palavras de código 10001001 e 10110001 distam 3 unidades de Hamming.
Observação: É necessário que ocorram 3 erros (inversões) nos bits em destaque da palavra 2 para que ela se transforme na palavra 1.
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 7
Códigos de Detecção/Correção de Erros
Exemplo:
Detecção de d erros distância de Hamming = d+1
Correção de d erros distância de Hamming = 2d+1
(mesmo em presença de d erros, a palavra de código
original pode ser recomposta por meio dos bits
redundantes)
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 8
Código de Paridade
Código de Paridade Par: é um código formado pela adição de
um bit de controle a informação original, de forma a produzir
uma codeword com um número par de 1, ou seja:
Código de Paridade Ímpar: é um código formado pela adição
de um bit de controle a informação original, de forma a produzir
uma codeword com um número ímpar de 1, ou seja:
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 9
Código de Paridade
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 10
Código de Paridade – Código de Detecção de Erros
Exemplo Simples:
Inclusão de 1 bit de paridade (0 - par e 1 - ímpar) aos bits de dados da palavra de código.
A ocorrência de 1 único erro produz palavra de código errada (Distância de Hamming=2, são necessários 2 erros para transformar uma palavra de código válida em outra palavra de código válida).
Erro só é detectado, e não corrigido. Programa cancela o processamento para não gerar resultados errados.
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 11
Exemplo de Código de Correção de Erros
Exemplo: Código com somente quatro palavras-código válidas:
0000000000 0000011111 1111100000 1111111111
Distância de Hamming = 5 (correção de dois erros)
Exemplo de palavra de código recebida pelo receptor:
0000000111 (incorreta)
Palavra correta: 0000011111 (ocorrência de no
máximo dois erros)
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 12
Exemplo: Código de Hamming
Considere o código com 4 palavras (codewords)
A = 0000000000
B = 0000011111
C = 1111100000
D = 1111111111
d=5 => detecta todos os erros de 4 bits corrige
todos os erros de 2 bits
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 13
Exemplo: Código de Hamming
Corrige todos os erros de 1 bit em cada palavra
(codeword)
posições dos bits corretores: 20, 21, 22.... 2n
conteúdo dos bits corretores: soma (XOR) do peso de
cada bit da codeword que se encontrar com 1.
Exemplo de codificação:
Mensagem: 10001101 (8 bits)
Codeword: 1000x110x1xx (12 bits)
Bits com 1: 12, 7, 6, 3
Código de correção:
Codeword a transmitir: 100011101110
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 14
Exemplo: Código de Hamming
Transmissão: 100011101110
Recepção: 100011101110
Verificação é feita pela soma (XOR) do peso de cada
bit da codeword que se encontrar em 1:
Resultado zero: deduz que não houve erros na
transmissão.
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 15
Exemplo: Código de Hamming
Transmissão: 100011101110
Recepção: 100011001110
Verificação é feita pela soma (XOR) do peso de cada
bit da codeword que se encontrar em 1:
Resultado diferente de zero: indica a posição onde
ocorreu erro.
Organização Básica de Computadores
DSC/CEEI/UFCGUFCG/CEEI/DSC/OACI – Joseana Macêdo Fechine Régis de Araújo 16
Exercício: Código de Hamming
Considere que foi recebida a palavra:
a) 100011100111
Esta palavra está correta? Em caso negativo, qual o
bit a ser corrigido?
Organização Básica de Computadores
Código de Hamming pouco eficiente para comunicações em que os erros ocorrem por
rajada.
Recommended