rr-09-r.01 Organização dos sistemas de computadores UC: Organização de Computadores Docente: Prof. MSc. Marcelo Siedler Memória Parte do computador onde são armazenados programas e dados. Bit: unidade básica de memória. – – Aritmética binária: sistema numérico binário, distinção entre apenas dois valores. Aritmética decimal: Utiliza os binários para representar digitos decimais . Desperdiça 6 combinações possíveis de valor. rr-09-r.01 Memórias (códigos de correção de erros) Palavra / Palavra de memória: é um conjunto de dados de 8, 16, 32, ... (bits) sem códigos de verificação de erros. Palavra de código: é um conjunto de ‘n’ bits de dados mais ‘m’ bits de controle e verificação. Distância de Hamming: é o número de posições de bit nas quais duas palavras de código são diferentes. Palavra de código: 10100101 Palavra de código: 10000111 xor Dist. Hamming.....: 00100010 = 2 é a distância de Hamming. rr-09-r.01 Memórias (códigos de correção de erros) Metodologia de Hamming para correção de erros (único erro em uma palavra de código) Palavra de memória 16 bits: 1111000010101110 Palavra de código 16 + 5 bits: [][]1[]111[]0000101[]01110 rr-09-r.01 Memórias (códigos de correção de erros) Palavra de memória 16 bits: 1111000010101110 Palavra de código 16 + 5 bits: [][]1[]111[]0000101[]01110 [] [] 1 [] 1 1 1 [] 0 0 0 0 1 0 1 [] 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Bit 1 de paridade verifica bits: 1,3,5,7,9,11,13,15,17,19,21 Bit 2 de paridade verifica bits: 2,3,6,7,10,11,14,15,18,19 Bit 4 de paridade verifica bits: 4,5,6,7,12,13,14,15,20,21 Bit 8 de paridade verifica bits: 8,9,10,11,12,13,14,15 Bit 16 de paridadeverifica bits: 16,17,18,19,20,21 rr-09-r.01 Memórias (códigos de correção de erros) Bit 1 de paridade verifica bits: 1,3,5,7,9,11,13,15,17,19,21 Bit 2 de paridade verifica bits: 2,3,6,7,10,11,14,15,18,19 Bit 4 de paridade verifica bits: 4,5,6,7,12,13,14,15,20,21 Bit 8 de paridade verifica bits: 8,9,10,11,12,13,14,15 Bit 16 de paridadeverifica bits: 16,17,18,19,20,21 Paridade PAR 0 0 0 0 1 [] [] 1 [] 1 1 1 [] 0 0 0 0 1 0 1 [] 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 rr-09-r.01 Memórias (códigos de correção de erros) Palavra de código final (21 bits): 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1 [] [] 1 [] 1 1 1 [] 0 0 0 0 1 0 1 [] 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Palavra de código final (21 bits) – Erro em um bit– Inversão 1 -> 0: 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 rr-09-r.01 Memórias (códigos de correção de erros) Palavra de código final (21 bits) – Erro em um bit– Inversão 1 -> 0: 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Correção do erro: - Verificar as paridades. Bit 1 de paridade verifica bits: 1,3,5,7,9,11,13,15,17,19,21 (erro) Bit 2 de paridade verifica bits: 2,3,6,7,10,11,14,15,18,19 (ok) Bit 4 de paridade verifica bits: 4,5,6,7,12,13,14,15,20,21 (erro) Bit 8 de paridade verifica bits: 8,9,10,11,12,13,14,15 (ok) Bit 16 de paridadeverifica bits: 16,17,18,19,20,21 (ok) rr-09-r.01 Memórias (códigos de correção de erros) Avaliação dos bits e identificação do bit invertido: *** Processo de eliminação Bit 1 de paridade verifica bits: 1,3,5,7,9,11,13,15,17,19,21 (erro) Bit 2 de paridade verifica bits: 2,3,6,7,10,11,14,15,18,19 (ok) Bit 4 de paridade verifica bits: 4,5,6,7,12,13,14,15,20,21 (erro) Bit 8 de paridade verifica bits: 8,9,10,11,12,13,14,15 (ok) Bit 16 de paridadeverifica bits: 16,17,18,19,20,21 (ok) Palavra de código final (21 bits) – Erro ajustado – Inversão 0 -> 1: 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 rr-09-r.01 Memórias (códigos de correção de erros) – Exercício com 4 bits 4 bits: Palavra de memória 4 bits: 1111 Palavra de código 4 + 3 bits: [][]1[]111 4 bits (continuação): Bit 1: 1,3,5,7 (erro) Bit 2: 2,3,6,7 (erro) Bit 4: 4,5,6,7 (ok) Paridade PAR Por eliminação: bit 3 com erro. Bit 1: 1,3,5,7 Bit 2: 2,3,6,7 Bit 4: 4,5,6,7 Palavra de código: 1111111 (ok) Palavra de código erro: 1101111 Palavra de código ajustada: 1111111