МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
/
ЗВІТ
З курсової роботи
з дисципліни «Комп’ютерна логіка» варіант В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 р.).