podatocni formati
TRANSCRIPT
2. ПОДАТОЧНИ ФОРМАТИ
Архитектура на компјутериСашко Ристов
М-р. Магдалена Костоска
2.0 За предметот• Задолженија
Домашните задачи се сведуваат на проверка на знаењето со електронско тестирање. Навремено доставување домашни носи 10 бодови, задоцнување од 7 дена носи 5 бодови, а задоцнување од 14 дена 2 бодови за секое домашно. Не реализирањето домашни и задоцнување повеќе од 14 дена значи дисквалификација.Првиот проект е реализација на апликација за одредена тема, а вториот проект е реализација на функција во VHDL со комплетна анализа. Проектите не се примаат после наведените датуми. Тие се задолжителни. На секој колоквиум треба да се освои најмалку по 30 бодови.
2.0 За предметот• Услови за потпис
Редовно посетување предавања (најмногу три оправдани изостаноци) Редовно посетување лабораториски вежби (најмногу три оправдани изостаноци) Уредно предавање на домашни и проекти според веќе дефинирани услови (не смее да задоцни повеќе од две недели од рокот) Мора навремено да се предадат сите домашни и проекти
2.0 За предметот
• Домашни 50• Проект 1 = 20• Проект 2 = 30• Тестови 4 * 15• Колоквиум 2 * 70• Вкупно 300
2.0 За предметот
ОЦЕНА• 271-300 – 10• 241-270 – 9• 211-240 – 8• 181-210 – 7• 151-180 – 6
2.1 Претставување податоци
• Што е код и кодирање?• Типови кодови• Кодови за откривање и поправање на
грешка• Техники за компресија
2.1 Претставување податоци• Кодови и кодирање• Тежински и нетежински кодови• Самокомлетирачки кодови• Циклични кодови• Бинарни кодови со повеќе од 4 бита• Кодови со откривање и поправање на грешка• Хамингови кодови• CRC полиномален код• Алфанумерички кодови• Техники за компресија
Nn 2log
2.1.1 Кодови и кодирање
• Код – правило за трансформација на пораки од еден симболичен облик (влезна азбука) во друг (излезна азбука)
• Кодирање и декодирање• Бинарни кодови – излезна азбука {0,1}• Кодирање N симболи со min М битови ?• ; n - заокружен на поголем цел број
Nn 2log
2.1.1 Кодови и кодирање
• ЗАДАЧА:• Колку кодни цифри се потребни за кодирање
на 100 влезни зборови?
• 100<128; n=7
2.1.2 Тежински и нетежински кодови
• Секоја позиција – одредена тежина• Децимална вредност
- кодиран збор- тежина на код
• BCD код – Бинарен код на декадни цифри
• NBCD код – тежина (8,4,2,1)• Позитивен и негативен тежински код• Нетежински код – Код со вишок 3, Грејов код
ini
iabx
0
10121 ... bbbb nn
0121 ... aaaa nn
2.1.2 Тежински и нетежински кодови
Цифра (8, 4, -2, -1) код0 00001 01112 01103 01014 01005 10116 10107 10018 10009 1111
7=1*8+0*4+0*(-2)+1*(-1)
2.1.2 Тежински и нетежински кодови
Цифра +3 Код со вишок 30 3 00111 4 01002 5 01013 6 01104 7 01115 8 10006 9 10017 10 10108 11 10119 12 1100
2.1.3 Самокомлетирачки кодови
• Д: N-ти комплемент на x е бројот (N-x)• 1->0, 0->1• NBCD – не е самокомплетирачки
4’ = 0100’ = 1011 <> 0101 = 5 = (9-4)• (8, 4, -2, -1) – самокомплетирачки• BCD е самокомплетирачки акко • Доказ во 2 насоки
90
1
ni
ia
2.1.4 Циклични кодови• Последователните кодни симболи се
разликуваат само по 1 позиција• Гуд-Де Бруенов граф – цикличен
• Темиња – состојби• Лаци – премини помеѓу состојби
• Грејов код
• Кодирање• Декодирање
10,2mod)( 1 nibbg iii nn bg
0121 ... bbbbb nnn 0121 ... ggggg nnn
0,1,...,1,),2(mod
nnkgbn
kiik
2.1.4 Циклични кодовиЦифра BCD Грејов код
0 0000 00001 0001 00012 0010 00113 0011 00104 0100 01105 0101 01116 0110 01017 0111 01008 1000 11009 1001 1101
2.1.5 Бинарни кодови со повеќе од 4 бита
• Можност за грешен пренос• Контролни (редундантни) битови• Парност непарност2=0010 -> 1 0010; 2=0010 -> 0 0010Открива грешка кај непарен број грешки• 2-од-5 код – полутежински (7,4,2,1,0)Открива грешка 1 бит, или 2 нули, или 2
единици
2.1.6 Кодови со откривање и поправање на грешка
• Минимално растојание – промена на најмал број битови за да се добие код на друг знакMin (BCD, Греј, вишок 3) = 1Min (2-од-5, код со парност) = 2
• Визуелна претставаk – битови, k рабови
2.1.6 Кодови со откривање и поправање на грешка
• L – Мин. Растојание• d(A,X) – растојание • Промена D-битови – неважечки код X• Ако L=2k+1, при промена на k битови од
А, се добие неважечки код X тогаш:– d(A,X)=k– d(X,друг важечки код)>k
• Открива грешка во 2k позиции• Поправа грешка во k позиции
2.1.7 Хамингови кодови• n – битови, k – битови за парност• Збор со должина n + k• Позиција степен на 2 – контролен бит• L=3, C=1, D=1
Позиција 1 2 3 4 5 6 7Име C1 C2 b3 C4 b2 b1 b0
• Парна парност C битови сума по мод2• C1 ги контролира 1, 3, 5, 7 • C2 ги контролира 2, 3, 6, 7• C4 ги контролира 4, 5, 6, 7• По преносот се пресметува
= 0 Синдром = 0 Поправа 1 грешка= 0
2.1.7 Хамингови кодови
0132 bbbC 0231 bbbC
0124 bbbC
02311 bbbCP
01322 bbbCP
01244 bbbCP
124 PPP
• Проширен Хамингов код L=4, D=2, C=1
• Ако настане грешка во 1-7 бит:– Парноста на целиот збор е погрешна– Со C1, C2, C4 се лоцира и коригира
• Ако настане грешка во 8-от бит:– Парноста на зборот е погрешна– =000, грешен е 8-от бит
• Двојна грешка се детектира, не се коригира
2.1.7 Хамингови кодовиПозиција 1 2 3 4 5 6 7 8
Име C1 C2 b3 C4 b2 b1 b0 C8
124 PPP
• n – битови, k – контролни
• Секоја група за контролирање на парност започнува со број степен на 2.
• C1 -> 0001, 0011, 0101, 0111 – 1• C2 -> 0010, 0011, 0110, 0111 – 2• C4 -> 0100, 0101, 0110, 0111 – 4• C8 -> 1000, 1001, 1010, 1011, 1100, …
2.1.7 Хамингови кодови
knk 12 kn k 12
2.1.8 CRC полиномален код
• По модул 2• „Ексклузивно или (XOR)“• Собирање / Одземање• Генераторен полином G(x)• На крај се додаваат битовите од G(x).• Се добива полином делив со G(x)• Добиената рамка се дели со G(x)• Ако има остаток, настанала грешка
n
i
iinn xbbbbb
0011...
2.1.8 CRC полиномален кодДетекција на грешка:• Остаток од делењето – E(x)• Грешки колку што има единици• Ако остатокот = , i-тиот бит е грешка• Исклучок – грешки што го содржат G(x)
• CRC-12:• CRC-16:• CRC-CCITT:
ix
1231112 xxxxx121516 xxx
151216 xxx
2.1.9 Алфанумерички кодови• ASCII (American Standard Code for Information Interchange)
– 8 бита– 26 мали, 26 големи, 10 цифри, 32 специјални,
и контролни знаци– Осмиот бит = 1– Варијанта е ANSI код
• EBCDIC (Extended Binary Coded Decimal Interchange Code)– 8 бита – Исти симболи како ASCII, друг редослед
2.1.9 Алфанумерички кодови• Боудовиот – 5 битен код• Холеровиот код – 12 битен• Unicode – 16 битен код кој се користи во
современите оперативни системи• ISO 10646 – 32 битен код – кодирање на
сите азбуки во еден код
2.1.10 Техники за компресија• Компресија
– Конечно множество симболи– Релативна фреквенција на појавување– Контекстот во кој се појавуваат симболите
• Фреквентно зависно кодирање– Хуфманов код– Почесто се појавува, помалку битови– Ниту еден збор не е префикс на друг– Просечно помалку битови
2.1.10 Техники за компресија• LZ (Lampel – Ziv) компресија
– Компресија без анализа на тип на податоци– Повторување се претставува како референца
наназад кон било кое појавување– 0<1,200>1<1,100>2<1,50> = 200x0 100x1 50x2