Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Podobne dokumenty
Detekcja i korekcja błędów w transmisji cyfrowej

Detekcja i korekcja błędów w transmisji cyfrowej

W11 Kody nadmiarowe, zastosowania w transmisji danych

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Tranzystor JFET i MOSFET zas. działania

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Laboratorium ochrony danych

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

0 + 0 = 0, = 1, = 1, = 0.

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Modulacja i Kodowanie. Labolatorium. Kodowanie Kanałowe Kody Hamminga

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Matematyka dyskretna

1.1. Pozycyjne systemy liczbowe

Kombinacyjne bloki funkcjonalne

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Układy kombinacyjne. cz.2

PODSTAWY TEORII UKŁADÓW CYFROWYCH

Podstawy Informatyki: Kody. Korekcja błędów.

Teoria informacji i kodowania

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Magistrala LIN

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Technologie Informacyjne

Kodowe zabezpieczenie przed błędami oraz kanał telekomunikacyjny i jego właściwości

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Krótkie przypomnienie

Interfejsy systemów pomiarowych

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Pracownia Komputerowa wyk ad IV

Układy kombinacyjne 1

Temat 7. Dekodery, enkodery

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Podstawy Informatyki

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

STRATEGIE TOLEROWANIA BŁĘDÓW W CZASIE PRACY SYSTEMU INFORMATYCZNEGO

Teoretyczne Podstawy Informatyki

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Arytmetyka stałopozycyjna

Pracownia Komputerowa wykład IV

ZASADY PRZECHOWYWANIA DANYCH

Kody splotowe (konwolucyjne)

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Architektura komputerów

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Niezawodność i diagnostyka systemów cyfrowych projekt 2015

Wprowadzanie nadmiaru informacyjnego dla transmitowanych szeregowo danych w kompaktowych sterownikach PLC firmy Mitsubishi Electric

Kod U2 Opracował: Andrzej Nowak

Architektura komputerów

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Algorytm. a programowanie -

Interfejsy. w systemach pomiarowych. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Podstawy Informatyki

WSTĘP DO ELEKTRONIKI

(12) OPIS PATENTOWY (19) PL (11)

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Technika cyfrowa Układy arytmetyczne

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Techniki multimedialne

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Architektura komputerów

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

organizacja procesora 8086

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Naturalny kod binarny (NKB)

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Przykładowe pytania DSP 1

SYSTEM E G S MODUŁ ML/A-1m wersja V32.1

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

KODOWANIE KANAŁOWE (NADMIAROWE) ERROR CONTROL CODING

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Temat 4. Magia obracanych kart Detekcja i korekcja błędów

Kodowanie informacji. Kody liczbowe

1. Operacje logiczne A B A OR B

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Ćw. 1: Systemy zapisu liczb, minimalizacja funkcji logicznych, konwertery kodów, wyświetlacze.

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Kody blokowe Wykład 1, 3 III 2011

Kody splotowe. Zastosowanie

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Transkrypt:

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe) dr inż Krzysztof Berezowski 220/C3 tel +48 71 320 27-59 krzysztofberezowski@pwrwrocpl 1

Wybrane kody dr inż Krzysztof Berezowski 220/C3 tel +48 71 320 27-59 krzysztofberezowski@pwrwrocpl 2

Rodzaje błędów błędy symetryczne błędy jednokierunkowe błędy asymetryczne wiązki błędów błędy w bajtach (słowach n-bitowych) 3

Rodzaje błędów - przykłady 16-bitowy wektor binarny (4 bajty po 4 bity): X= 1101 0011 0101 1111 Błąd pojedynczy: 1001 0011 0101 1111 Błędy wielokrotne: 1) 1001 0011 0011 1111 potrójny błąd symetryczny 2) 3) 1001 0001 0100 1111 1111 0001 0101 1111 potrójny błąd jednokierunkowy 0 1 wiązka błędów o długości 5 4) 0001 0011 0100 1111 błąd w 2 bajtach Rysunek 27: Przykłady różnych typów błędów 4

Mechanizmy powstawania błędów 1 1 sklejenie z 1 01 nieparzysta liczba inwerterów 10 0 1 10 1 0 1 parzysta liczba inwerterów 01 Rysunek 28: Mechanizm powstawania błędów symetrycznych 5

Mechanizmy powstawania błędów pojedyncze sklejenie z 1 może wystąpić do 4 będów jednokierunkowych x 1 z 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 z 1 z 2 z 3 z 4 z 5 z 6 z 7 z 8 01 01 01 01 Rysunek 29: Mechanizm powstawania błędów jednokierunkowych w układach PLA 6

Mechanizmy powstawania błędów 4 bits uszkodzenie zasilania ukadu scalonego pamięci RAM A 0 A 1 A 2 n -1 sowo adresowe bajt z będami Rysunek 211: Mechanizm powstawania błędów w bajtach wskutek pojedynczych uszkodzeń pamięci RAM 7

Mechanizmy powstawania błędów Ciąg poprawny 01 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 + Ciąg z błędami maksymalny czas trwania zakóceń = 01 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 OSTATNI PIERWSZY bit błędny czas wiązka błędów o długości 7 Rysunek 210: Mechanizm powstawania wiązki błędów podczas transmisji bitowo-szeregowej 8

Podstawowe klasy kodów wykrywających błędy kody z kontrolą parzystości kod z podwajaniem (duplication) i kod z inwersyjnym powtórzeniem (dual rail) kody arytmetyczne AN i resztowe kody wykrywające błędy w słowach o stałej szerokości kody wykrywające błędy jednokierunkowe kody wykrywające błędy jednokierunkowe w słowach o stałej szerokości 9

Kod z kontrolą parzystości pojedynczy bit kontroli parzystości: parzysty: łączna ilość jedynek jest parzysta np 1001 1000 -> 1001 1000 1 nieparzysty: łączna ilość jedynek jest nieparzysta np 1001 1000 -> 1001 1000 0 wszystkie błędy o krotności nieparzystej prosty koder - i-we funkcja XOR kod systematyczny - bezkosztowe dekodowanie prosty układ kontrolny (i+1)-we funkcja XOR arytmetyczny, bit-sliced (szyny, bufory, etc) 10

Kod z kontrolą parzystości Parzysty lub nieparzysty GÓWNA ZALETA (A) Bit na sowo 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P minimum nadmiaru (B) Bit na bajt 15 14 13 12 11 10 9 8 P 2 7 6 5 4 3 2 1 0 P 1 (Parzysty) (Nieparzysty) wykrywa defekty zasilania: będy (000) i (111) (C) Bit na kilka ukadów Ukad 5 Ukad 4 Ukad 3 Ukad 2 Ukad 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P 4 P 3 P 2 P 1 wykrywa defekt jednego z ukadów scalonych (D) Bit na ukad Ukad 5 Ukad 4 Ukad 3 Ukad 2 Ukad 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P 4 P 3 P 2 P 1 atwa lokalizacja uszkodzonego ukadu scalonego (E) Kontrola parzystości z przeplataniem 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 P 4 P 3 P 2 P 1 wykrywa zwarcia między sąsiednimi liniami Rysunek 35: Schematy realizacji kontroli parzystości 11

Kod z podwajaniem Różne klasy uszkodzeń wielokrotnych Wszystkie błędy o krotności nieparzystej Wiele błędów dwukierunkowych 100% nadmiaru (największy wśród kodów) prosty koder i dekoder układ testujący - 2i-we komparator w połączeniu z innym EDC może tworzyć ECC bez wiedzy o aplikacji (modułowo) naturalnie dostępny w niektórych tech logicznych 12

Kod z podwajaniem X=( x 3 x 2 x 1 x 0 ) Z=( z 3 z 2 z 1 z 0 ) Wysylane dane Odebrane dane X X x 0 4-bitowa szyna z 0 Z Z Nadajnik x 1 x 2 z 1 z 2 Odbiornik x 3 z 3 Rysunek 37: System przesyłania danych z inwersyjnym powtórzeniem 13

Kody arytmetyczne kody niezmiennicze względem operacji arytm Zamiast wagi Hamminga - waga arytmetyczna i-ty bit wektora ma wagę arytmetyczną 2 i Krotność błędu arytmetycznego minimalna liczba niezerowych bitów jego repr np podwójny błąd arytmetyczny: X X e = 15 = +2 4 2 0 14

Kod AN optymalny, niesystematyczny (koder/dekoder) układ kontrolny - generator reszty mod A Tabela 32: 3-bitowe liczby zakodowane kodem 3N N 3N Słowo binarne Słowo kodu 3N 0 0 000 00000 1 3 001 00011 2 6 010 00110 3 9 011 01001 4 12 100 01100 5 15 101 01111 6 18 110 10010 7 21 111 10101

Kod 3N p p p p p 5 4 3 2 1 p 0 HA FA FA FA FA HA z 7 z 6 z 5 z 4 z 3 z 2 z 1 z 0 Rysunek 38: Koder dla kodu 3N p 5 p 4 p 3 p 2 p 1 p 0 FA FA FA x 5 x 4 x 3 x 2 x 1 x 0 Rysunek 39: Dekoder kodu 3N układ dzielenia przez 3 16

Sumy kontrolne do przesyłania bloków informacji wszystkie błędy niekumulujące się do sumy kontr pojedynczej i podwójnej ( precyzji ) (x c(b 1),,x c1,x c0 )= inwersyjna resztowa ( l 1 i=0 B i ) mod 2 b (x c(b 1),,x c1,x c0 )=2 b olna resztowa 17 ( l 1 i=0 B i ) mod 2 2b pojedynczą precyzją wykrywa wszystkie błędy, któr (x c(b 1),,x c1,x c0 )= ( l 1 i=0 (x c(2b 1),,x c1,x c0 )= B i ) mod (2 b 1) eregowy: -bitowy sumator z cyklicznym przeniesienie ( l 1 i=0 B i ) mod 2 2b ojnej precyzji wykrywa ww błędy nie wykrywa

Sumy kontrolne Slowo n Slowo 4 Slowo 3 Slowo 2 Slowo 1 Przeniesienie C Suma danych C Suma z przeniesieniem cyklicznym Suma kontrolna Rysunek 324: Formowanie sumy kontrolnej resztowej 18

Kody Hamminga Liniowy optymalny kod korekcyjny Korekta jednego, detekcja dwóch błędów bitowych Dodatkowy bit parzystości - rozróżnienie między wystąpieniem pojedynczego a podwójnego błędu Zasada działania: wykorzystanie parzystości do wyliczenia pozycji błędu długość bloku danych długość komunikatu wypełnienie: wypełnienie jest optymalne dla kodu Hamminga 19

Kody Hamminga Algorytm konstrukcji ponumeruj bity zaczynając od 1 pozycje, które są potęgą dwójki to bity parzystości pozostałe pozycje to bity komunikatu bit parzystości 1 jest liczony z wektorów w których bit pierwszy najmłodszy jest ustawiony bit parzystości 2 jest liczony z wektorów w których bit drugi najmłodszy jest ustawiony bit parzystości 4 jest liczony z wektorów w których bit trzeci najmłodszy jest ustawiony 20

Kody Hamminga Algorytm konstrukcji ponumeruj bity zaczynając od 1 pozycje, które są potęgą dwójki to bity parzystości pozostałe pozycje to bity komunikatu bit parzystości 1 jest liczony z wektorów w których bit pierwszy najmłodszy jest ustawiony bit parzystości 2 jest liczony z wektorów w których bit drugi najmłodszy jest ustawiony bit parzystości 4 jest liczony z wektorów w których bit trzeci najmłodszy jest ustawiony 21

Kody Hamminga http://enwikipediaorg/wiki/hamming_code Która parzystość (parzysta, nieparzysta) jest bez znaczenia (parzysta jest łatwiejsza rachunkowo) 22

Kody Hamminga Kodowanie - przykład X = 0110101 X = 0_110_101 p 1 ( 0_110_101) = 0+1+0+1+1 = 1 p 2 (1_0_110_101) = 0+1+0+0+1 = 0 p 4 (100_110_101) = 1+1+0 = 0 p 8 (1000110_101) = 1+0+1 = 0 MSG = 10001100101 23

Kody Hamminga Obliczanie syndromu - przykład MSG = 10001100100 p 1 (10001100100) = 0+1+0+1+1 = 1 p 2 (10001100100) = 0+1+0+0+1 = 0 p 4 (10001100100) = 1+1+0 = 0 p 8 (10001100100) = 1+0+1 = 0 MSG = 10001100101 24