МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
/
ЗВІТ
З курсової роботи
з дисципліни «Комп’ютерна логіка» варіант В4
задачі 1.5, 1.6
коди літер: К – 79, О - 29, Р - 76, Л - 59, Ь - 71, М - 39, А - 95, І - 17.
Зміст
ЗМІСТ 1
ПЕРЕЛІК ТАБЛИЦЬ 2
ВСТУП 3
1. ЗВІТ З РОЗВ’ЯЗКУ ЗАДАЧІ 1.5 4
1.1. Умова завдання 1.5 4
1.2 . Результати виконання завдання 1.5 5
1.2.1. Визначимо кількість рядків та стовпців у таблиці. 5
1.2.2. Побудуємо таблицю. 5
1.2.3. Продемонструємо реакцію коду на однократний збій 6
2. ЗВІТ З РОЗВ’ЯЗКУ ЗАДАЧІ 1.6 7
2.1. Умова завдання 1.6 7
2.2. Результати виконання завдання 1.6 8
2.2.1 Здійснимо перехід від одного числа до іншого та застосуємо карту Карно для виявлення помилкових кодів 8
ЛІТЕРАТУРА 16
Перелік таблиць
TABLE 1.1 ТАБЛИЦЯ TZ.1 4
TABLE 2 ТАБЛИЦЯ 1.2.2 5
TABLE 3 ТАБЛИЦЯ РЕЗУЛЬТАТІВ 1.2.2(1) 6
TABLE 4 ТАБЛИЦЯ РЕЗУЛЬТАТІВ 1.2.2(2) 6
TABLE 5 ТАБЛИЦЯ РЕЗУЛЬТАТІВ 1.2.3(1) 7
TABLE 6 ТАБЛИЦЯ РЕЗУЛЬТАТІВ 1.2.3(2) 7
Вступ
Звіти з курсової роботи необхідно оформляти за стилями кафедри ЕОМ.
Метою курсової роботи є закріплення у студентів основних теоретичних положень курсу «Комп’ютерна логіка», набуття практичних навичок побудови цифрових схем та самостійної роботи з учбовою літературою, яку рекомендовано при вивченні курсу. Робота складається із завдань, які розподілено на чотири частини: кодування інформації та перетворення кодів; функції алгебри логіки та їх мінімізація; синтез комбінаційних схем; арифметико-логічні операції.
У даному звіті я розв’язав задачі 1.5 та 1.6 з методичних вказівок до курсової роботи з дисципліни «Комп’ютерна логіка». Завдання 1.5 полягало у сформуванні коду Геммінга (Hamming) і продемонструванні його реакції на однократний збій.
У завданні 1.6 потрібно користуючись картами Карно, визначити всі можливі помилкові коди, які можуть виникати при переході від цифри до цифри.
1. ЗВІТ З РОЗВ’ЯЗКУ ЗАДАЧІ 1.5
1.1. Умова завдання 1.5
1.5 Для шістнадцяти розрядного двійкового коду (1ц1л)(2ц1л)(1ц8л)(2ц8л) сформувати код Геммінга (Hamming) і продемонструвати його реакцію на однократний збій. Результати подати у вигляді таблиці.
Table 1.1 Таблиця Tz.1
/
. Результати виконання завдання 1.5
Для вирішення цього завдання потрібно сформувати код Геммінга і продемонструвати реакцію на однократний збій.
1.2.1. Визначимо кількість рядків та стовпців у таблиці.
Використаємо формулу:
2r >= m+r+1
З цього випливає, що
r = 5
Оскільки:
32>16+5+1
Отже, кількість стовпців = 16+5 = 21
1.2.2. Побудуємо таблицю.
Моє число = 79 29 17
79 17 переведемо у двійкову систему
0111 1001 0001 0111
Table 2 Таблиця 1.2.2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ri
*
*
0
*
1
1
1
*
1
0
0
1
0
0
0
*
1
0
1
1
1
r1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
r2
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
r3
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
r4
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
r5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
Порівняємо числа з рядка ri з рядками r1 – r5
Коли отримуємо парну кількість «1» при порівнянні однакових індексів рядків – записуємо 0. При непарній кількості – 1.
Отримуємо:
Table 3 Таблиця результатів 1.2.2(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ri
*
*
0
*
0
1
0
*
1
0
0
1
0
0
1
*
1
0
1
0
1
S1
0
r1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S2
1
r2
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
S3
0
r3
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
S4
0
r4
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
S5
0
r5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
Маємо результат 01000
Запишемо його в таблицю замість «*».
Отримуємо:
Table 4 Таблиця результатів 1.2.2(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ri
0
1
0
0
0
1
0
0
1
0
0
1
0
0
1
0
1
0
1
0
1
S1
r1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S2
r2
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
S3
r3
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
S4
r4
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
S5
r5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1.2.3. Продемонструємо реакцію коду на однократний збій
Для цього змінимо число під будь-яким індексом на інше. Я візьму рядок ri і число за 7 індексом.
Table 5 Таблиця результатів 1.2.3(1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ri
0
1
0
0
0
1
1
0
1
0
0
1
0
0
1
0
1
0
1
0
1
r1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
r2
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
r3
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
r4
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
r5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
Порівняємо числа з рядка ri з рядками r1 – r5
При отриманні парної кількості «1» при порівнянні однакових індексів рядків – записуємо 0. При непарній кількості – 1.
Отримуємо:
Table 6 Таблиця результатів 1.2.3(2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ri
1
1
0
0
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
0
1
1
r1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
r2
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
r3
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
r4
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
r5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
0111=7
Отже збій стався в 7 стопці.
2. ЗВІТ З РОЗВ’ЯЗКУ ЗАДАЧІ 1.6
2.1. Умова завдання 1.6
Для послідовності 16-кових цифр (1ц1л)(2ц1л)(1ц2л)(2ц2л)(1ц3л)(2ц3л)...(2ц7л)( 1ц8л)(2ц8л), користуючись картами Карно, визначити всі можливі помилкові коди, які можуть виникати при переході від цифри до цифри.
2.2. Результати виконання завдання 1.6
При передачі двійкових кодів у цифрових системах може виникати проблема з помилковими проміжними станами через те, що біти змінюються неодночасно. Ці проміжні стани, які не є початковим або кінцевим кодом, можуть бути помилково інтерпретовані системою. Карта Карно дозволяє виявити всі можливі помилкові коди при зміні двійкових чисел, що змінюються в декількох бітових позиціях.
2.2.1 Здійснимо перехід від одного числа до іншого та застосуємо карту Карно для виявлення помилкових кодів
Моє число: 79, 29, 76, 59, 71, 39, 95, 17.
Здійснимо перехід з 7(0111) до 9(1001)
Зміна:
Коди відрізняються у 3 бітах:
Біт 1 змінюється з 0 на 1. Біт 2 змінюється з 1 на 0. Біт 3 змінюється з 1 на 0.
Застосування формул:
Кількість бітів, що змінюються: n = 3
Кількість помилкових станів = 23-2 = 6
Кількість можливих послідовностей = n! = 6
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
7 -> F -> B -> 9
7 -> F -> D -> 9
7 -> 5 -> D -> 9
7 -> 3 -> 1 -> 9
7 -> 5 -> 1 -> 9
7 -> 3 -> B -> 9
Можливі шляхи на карті Карно:
Шлях 1: міняється біт 1, потім 2, потім 3
7(0111) --- 1111 – 1011 – 9(1001)
Помилковий код: 15 (1111) і 11(1011)
Шлях 2: міняється біт 3, потім 2, потім 1
7(0111) --- 0101 – 0001 – 9(1001)
Помилковий код: 5 (0101) і 1(0001)
Шлях 3: міняється біт 2, потім 4, потім 1
7(0111) --- 0011 – 1011 – 9(1001)
Помилковий код: 3(0011) і 11(1011)
Шлях 4: міняється біт 1, потім 3, потім 2
7(0111) --- 1111 – 1101 – 9(1001)
Помилкові коди при переході: 0001,0011,0101,1011,1101,1111
Здійснимо перехід від 9(1001) до 2(0010)
Зміна:
Коди відрізняються у 3 бітах:
Біт 1 змінюється з 1 на 0.
Біт 3 змінюється з 0 на 1
Біт 4 змінюється з 1 на 0
Застосування формул:
Кількість бітів, що змінюються: n = 3
Кількість помилкових станів = 23-2 = 6
Кількість можливих послідовностей = n! = 6
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
9 -> B -> A -> 2
9 -> B -> 3 -> 2
9 -> 1 -> 3 -> 2
9 -> 8 -> 0 -> 2
9 -> B -> A -> 2
9 -> 8 -> A -> 2
Помилкові коди: 3(0011), 11(1011), 0 (0000), 1 (0001), 10(1010), 8(1000)
Здійснимо перехід від 2(0010) до 9(1001)
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
Аналогічно минулому переходу
Помилкові коди: 3(0011), 11(1011), 0 (0000), 1 (0001), 10(1010), 8(1000)
Здійснимо перехід від 9(1001) до 7(0111)
Застосування формул:
Кількість бітів, що змінюються: n = 3
Кількість помилкових станів = 23-2 = 6
Кількість можливих послідовностей = n! = 6
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
9 -> B -> F -> 7
9 -> D -> F -> 7
9 -> D -> 5 -> 7
9 -> 1 -> 3 -> 7
9 -> 1 -> 5 -> 7
9 -> B -> 3 -> 7
Помилкові коди при переході: 0001,0011,0101,1011,1101,1111
Здійснимо перехід від 7(0111) до 6(0110)
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
Оскільки різниця лише в 1 біт, тоді помилкові коди відсутні.
Помилкові коди при переході: немає
Здійснимо перехід від 6(0110) до 5(0101)
Застосування формул:
Кількість бітів, що змінюються: n = 2
Кількість помилкових станів = 22-2 = 2
Кількість можливих послідовностей = n! = 2
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
6 -> 7 -> 5
6 -> 4 ->5
Помилкові коди при переході: 0111,0100
Здійснимо перехід від 5(0101) до 9(1001)
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
Застосування формул:
Кількість бітів, що змінюються: n = 2
Кількість помилкових станів = 22-2 = 2
Кількість можливих послідовностей = n! = 2
5 -> D -> 9
5 -> 1 -> 9
Помилкові коди при переході: 1101, 0001
Здійснимо перехід від 9(1001) до 7(0111)
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
9 -> B -> F -> 7
9 -> D -> F -> 7
9 -> D -> 5 -> 7
9 -> 1 -> 3 -> 7
9 -> 1 -> 5 -> 7
9 -> B -> 3 -> 7
Помилкові коди при переході: 0001,0011,0101,1011,1101,1111
Здійснимо перехід від 7(0111) до 1(0001)
Застосування формул:
Кількість бітів, що змінюються: n = 2
Кількість помилкових станів = 22-2 = 4
Кількість можливих послідовностей = n! = 2
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
7 -> 3 -> 1
7 -> 5 -> 1
Помилкові коди при переході: 0011,0101
Здійснимо перехід від 1(0001) до 3(0011)
Помилкові коди при переході: немає (різниця в 1 біт)
Здійснимо перехід від 3(0011) до 9(1001)
Застосування формул:
Кількість бітів, що змінюються: n = 2
Кількість помилкових станів = 22-2 = 2
Кількість можливих послідовностей = n! = 2
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
3->B->9
3->1->9
Помилкові коди при переході: 0001,1011
Здійснимо перехід від 9(1001) до 9(1001)
Помилкові коди при переході: немає
Здійснимо перехід від 9(1001) до 5(0101)
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
Застосування формул:
Кількість бітів, що змінюються: n = 2
Кількість помилкових станів = 22-2 = 2
Кількість можливих послідовностей = n! = 2
9 -> D -> 5
9 -> 1 -> 5
Помилкові коди при переході: 1101, 0001
Здійснимо перехід від 5(0101) до 1(0001)
Помилкові коди при переході: немає (різниця в 1 біт)
Здійснимо перехід від 1(0001) до 7(0111)
Застосування формул:
Кількість бітів, що змінюються: n = 2
Кількість помилкових станів = 22-2 = 4
Кількість можливих послідовностей = n! = 2
Використаємо карту Карно:
0
1
3
2
4
5
7
6
C
D
F
E
8
9
B
A
7 -> 3 -> 1
7 -> 5 -> 1
Помилкові коди при переході: 0011,0101
Література
1. Методичні вказівки до курсової роботи з дисципліни «Комп’ютерна логіка» спеціальності 123 «Комп'ютерна інженерія» /Укл. В.С.Глухов, В.А.Голембо. Львів: НУ"ЛП", 2021-97 с. Режим доступу: https://vns.lpnu.ua/mod/folder/view.php?id=184434 Методичні вказівки до КР з КЛ_20240824_2134.pdf (останній доступ 30.08.2024 р.).