Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра СКС
Звіт
з лабораторної роботи № 1
з дисципліни: “Організація та функціонування комп’ютерів”
на тему: “ Ознайомлення з організацією навчального комп’ютера - симулятора DeCom”
Тема: “Ознайомлення з організацією навчального комп’ютера - симулятора DeComp”
Мета: 1. Вивчити організацію навчального комп’ютера – симулятора DeComp, призначення окремих блоків і можливості їх використання;
2. Засвоїти порядок уведення інформації в регістри та пам’ять симулятора навчального комп’ютера, навчитися вводити і запускати найпростішу програму.
3. Вивчити теоретичні основи побудови систем числення, які використовуються у комп’ютерах;
4. Засвоїти порядок використання двійкової системи числення.
Теоретичні відомості:
Система числення - це сукупність прийомів та правил для зображення чисел за допомогою цифрових символів (цифр), що мають визначені кількісні значення (числовий еквівалент).
У загальному випадку, в довільній системі числення, запис числа називається кодом і у скороченому вигляді може бути відображений таким чином:
A= anan-1...a2a1a0
Окрему позицію запису числа називають розрядом, а номер позиції n – номером розряду. Кількість розрядів запису числа називається розрядністю числа.
Якщо алфавіт має d різних значень, то розряд ai в запису числа розглядається як d-ічна цифра, яка може мати одне з d значень. Кожній цифрі ai однозначно відповідає її числовий еквівалент K(ai), а числовий еквівалент цілого числа A - це деяка функція числових еквівалентів цифр всіх розрядів.
Позиційна система числення - це така система, в якій значення символу (числовий еквівалент) залежить від його положення в записі числа.
Люба позиційна система числення характеризується основою.
Основа або базис d натуральної позиційної системи числення - це впорядкована послідовність кінцевого набору знаків або символів, які використовуються для зображення числа у данній систем, у якій значення кожного символу залежить від його позиції (розряду) у зображенні числа. Тому можлива нескінчена множина позиційних систем числення, через те, що за основу можна прийняти любе число (крім одиниці), створивши нову систему числення.
Однорідна позиційна система числення - це така позиційна система числення, в якій є одна основа d, а вага i-го розряду дорівнює p i.
Вага розряду p i числа у позиційній системі числення – це відношення
P i = d i / d 0 = d i
де i - номер розряду справа наліво, а d 0 це перший розряд ліворуч від коми і його номер дорівнює 0, а значення дорівнює 1.
Кожне число у позиційній системі числення з основою d може бути записане у вигляді дискретної суми степенів основи системи з відповідними коефіцієнтами, іншими словами, таку форму ще називають розгорнутою або повною:
(1)
де: Ad – довільне число у системі числення з основою d;
– коефіцієнти ряду або цифри системи числення;
i = (n, n-1, n-2, …, 1, 0, -1, …, -m+1, -m) – номер розряду цілої (n) або дробової (-m) частини числа.
Переведення чисел з однієї позиційної системи числення до іншої
Переведення чисел з однієї системи числення до іншої може бути виконано двома шляхами. Перший шлях - табличний, який базується на співставленні коду одної системи числення коду іншої системи числення, що мають однакові числові еквіваленти. Спосіб громіздкий, потребує великого об'єму пам'яті для зберігання таблиці, однак, може бути застосований для любих систем числення, включаючи також непозиційні системи числення. Другий шлях - розрахунковий, але він може бути застосований тільки для однорідних позиційних систем числення.
Порядок виконання лабораторної роботи № 1.
1. Вивчити теоретичні відомості до лабораторної роботи № 1.
2. Дайте відповіді на такі контрольні питання:
1) Що називається системою числення?
2) Що таке основа системи числення?
3) Якою є вага окремого розряду числа у позиційній системі числення?
4) Які системи числення застосовуються у сучасних комп’ютерах?
5) Які особливості двійкової системи числення?
6) Які особливості вісімкової системи числення?
7) Які особливості шістнадцяткової системи числення?
8) Які є способи переведення чисел з однієї системи числення до іншої?
9) Правило переведення з однієї системи числення до іншої цілих чисел;
10) Правило переведення з однієї системи числення до іншої дробових чисел;
11) Правило переведення чисел з любої системи числення до десяткової системи;
12) Поясніть табличний метод переведення чисел з двійкової до вісімкової системи;
13) Поясніть табличний метод переведення чисел з двійкової до шістнадцяткової системи;
14) Поясніть табличний метод переведення чисел з вісімкової до двійкової системи;
15) Поясніть табличний метод переведення чисел з шістнадцяткової до двійкової системи;
У звіті кожний студент дає письмову відповідь на одне контрольне питання, номер якого співпадає з його номером за списком групи.
3. Запустити програму “Симулятор навчальної ЕОМ DeComp” (файл DeComp.exe) і включити живлення на панелі навчального комп’ютера.
За допомогою набірного поля і кнопок “Занесення з набірного поля”, записати до регістрів процесора такі значення двійкових кодів: до РА – 0101 0101 0101,
до РД – 0011 0011 0011 0011,
до А – 0000 1111 0000 1111,
до РІ – 0000 0000 1111 1111,
до ЛАІ – 1010 1010 1010.
Вміння виконувати вказані дії продемонструвати викладачу.
4. За допомогою набірного поля і кнопок “Операція з пам’яттю” записати до 5-ти сусідніх комірок пам’яті з адресами 20, 21, 22, 23 та 24 числа 16, 17, 18, 19 та 20. Попередньо всі десяткові числа перевести до двійкової системи числення і результати записати у робочий зошит для подання у звіті. Вміння виконувати вказані дії продемонструвати викладачу.
5. Записати у пам’ять описану нижче програму, яка додаватиме числа, що знаходяться у 10-й та 11-й комірках пам’яті, а результат запише до 12-ї комірки. Програму розмістити у оперативній пам’яті, починаючи з комірки за адресою 0 (нуль). Попередньо у 10-ту та 11-ту комірки занести числа відповідно до свого варіанту:
Таблиця варіантів до завдання
№ за списком
Число 1
Число 2
№ за списком
Число 1
Число 2
№ за списком
Число 1
Число 2
1
22
33
11
18
28
21
47
5
2
25
34
12
19
32
22
13
33
3
31
16
13
14
42
23
29
22
4
21
24
14
44
10
24
34
20
5
31
18
15
37
21
25
44
21
6
41
9
16
41
12
26
35
26
7
35
17
17
35
28
27
19
33
8
27
15
18
16
37
28
40
11
9
38
7
19
25
30
29
12
37
10
36
21
20
20
30
30
23
32
Відповідна програма у мнемонічних кодах буде мати такий вигляд:
Мнемонічний
код інструкції
Дія, яку виконує інструкція
LOAD 10
завантажити (прочитати) значення числа з 10-ї комірки пам’яті до
акумулятора;
ADD 11
додати до числа в акумуляторі значення числа з 11-ї комірки пам’яті і
результат зберегти в акумуляторі;
STORE 12
зберегти (записати) значення числа з акумулятора до 12-ї комірки пам’яті;
HALT
зупинити роботу процесора.
У двійковому поданні дана програма матиме наступний вигляд:
0000 0000 0000 1010 – двійковий код 1-ої інструкції
0010 0000 0000 1011 - - “ - 2-ої інструкції
0001 0000 0000 1100 - - “ - 3-ої інструкції
0111 1100 0000 0000 - - “ - 4-ої інструкції
Відповідно, двійковий код першої інструкції необхідно занести до комірки з адресою 0 (0000 0000 0000), другу – у комірку з адресою 1 (0000 0000 0001), третю – у комірку з адресою 2 (0000 0000 0010), а четверту – у комірку з адресою 3 (0000 0000 0011).
Після того, як програма розміщена у пам’яті навчального комп’ютера і у 10-ту (код адреси у двійковій формі - 0000 0000 1010) та у 11-ту (код адреси - 0000 0000 1011) комірки будуть занесені задані числа, необхідно у Лічильнику Адреси Інструкції за допомогою набірного поля встановити адресу першої інструкції, тобто код адреси - 0000 0000 0000, тобто показати процесору звідки починати виконання програми.
6. Виконати програму у автоматичному режимі і перевірити результат у 12-й комірці, прочитавши значення 12-ї комірки пам’яті.
7. Онулити 12-ту комірку, знову встановити у ЛАІ адресу першої інструкції – адресу 0 і дослідити цю програму, виконавши її у покроковому режимі. Після виконання кожної інструкції записати у подану нижче таблицю вміст усіх регістрів процесора.
РА
РД
А
РІ
ЛАІ
РО
1-й крок
2-й крок
. . .
N –й крок
Проаналізувати процес змін у регістрах процесора на кожному кроці виконання програми.
8. Оформити та захистити звіт з лабораторної роботи. Під час захисту звіту бути готовому дати усну відповідь на будь-яке контрольне питання і дати пояснення змінам у регістрах процесора, які відбуваються при виконанні кожного кроку програми.
Загальні вимоги до звітів з виконаних лабораторних робіт подані у додатку.
Хід виконання роботи:
Вивчив теоретичні відомості до лабораторної роботи №1
1) Система числення - це сукупність прийомів та правил для зображення чисел за допомогою цифрових символів (цифр), що мають визначені кількісні значення (числовий еквівалент).
Запустив програму “Симулятор навчальної ЕОМ DeComp” (файл DeComp.exe) і включив живлення на панелі навчального комп’ютера.
За допомогою набірного поля і кнопок “Занесення з набірного поля”, записав до регістрів процесора такі значення двійкових кодів:
до РА – 0101 0101 0101,
до РД – 0011 0011 0011 0011,
до А – 0000 1111 0000 1111,
до РІ – 0000 0000 1111 1111,
до ЛАІ – 1010 1010 1010.
Вміння виконувати вказані дії продемонстрував викладачу.
За допомогою набірного поля і кнопок “Операція з пам’яттю" записав до 5-ти сусідніх комірок пам’яті з адресами:
2010 - 101002,
2110 - 101012,
2210 - 101102,
2310 - 101112,
2410 - 110002 числа
1610 - 100002,
1710 - 100012,
1810 - 100102,
1910 - 100112,
2010 - 101002.
Вміння виконувати вказані дії продемонстрував викладачу.
Записав у пам’ять описану нижче програму, яка додаватиме числа, що знаходяться у 10-й (0000 0000 1010) та 11-й (0000 0000 1011) комірках пам’яті, а результат запише до 12-ї (0000 0000 1100) комірки. Програму розмістив у оперативній пам’яті, починаючи з комірки за адресою 0 (нуль). Попередньо у 10-ту та 11-ту комірки заніс числа відповідно до свого варіанту:
№ за списком
Число 1
Число 1
(двійковий)
Число 2
Число 2
(двійковий)
1
22
10110
33
100001
Відповідна програма у мнемонічних кодах буде мати такий вигляд:
Мнемонічний
код інструкції
Дія, яку виконує інструкція
LOAD 10
завантажити (прочитати) значення числа з 10-ї комірки пам’яті до
акумулятора;
ADD 11
додати до числа в акумуляторі значення числа з 11-ї комірки пам’яті і
результат зберегти в акумуляторі;
STORE 12
зберегти (записати) значення числа з акумулятора до 12-ї комірки пам’яті;
HALT
зупинити роботу процесора.
У двійковому поданні дана програма матиме наступний вигляд:
0000 0000 0000 1010 – двійковий код 1-ої інструкції
0010 0000 0000 1011 - - “ - 2-ої інструкції
0001 0000 0000 1100 - - “ - 3-ої інструкції
0111 1100 0000 0000 - - “ - 4-ої інструкції
Відповідно, двійковий код першої інструкції заніс до комірки з адресою 0 (0000 0000 0000), другу – у комірку з адресою 1 (0000 0000 0001), третю – у комірку з адресою 2 (0000 0000 0010), а четверту – у комірку з адресою 3 (0000 0000 0011).
Після того, як програма була розміщена у пам’яті навчального комп’ютера і у 10-ту (код адреси у двійковій формі - 0000 0000 1010) та у 11-ту (код адреси - 0000 0000 1011) комірки були занесені задані числа, у Лічильнику Адреси Інструкції за допомогою набірного поля встановив адресу першої інструкції, тобто код адреси - 0000 0000 0000, тобто показав процесору звідки починати виконання програми.
Виконав програму у автоматичному режимі і перевірив результат у 12-й комірці, прочитавши значення 12-ї комірки пам’яті.
Результат 0000 0000 0011 0111.
Онулив 12-ту комірку, знову встановив у ЛАІ адресу першої інструкції – адресу 0 і дослідив цю програму, виконавши її у покроковому режимі. Після виконання кожної інструкції записав у подану нижче таблицю вміст усіх регістрів процесора.
РА
РД
А
РІ
ЛАІ
РО
1-й крок
0000 0000 1010
0000 0000 0001 0110
0000 0000 0001 0110
0000 0000 0000 1010
0000 0000 0001
000
2-й крок
0000 0000 1011
0000 0000 0010 0001
0000 0000 0011 0111
0010 0000 0000 1011
0000 0000 0010
000
3-й крок
0000 0000 1100
0000 0000 0011 0111
0000 0000 0011 0111
0001 0000 0000 1100
0000 0000 0011
000
4-й крок
0000 0000 0011
0111 1100 0000 0000
0000 0000 0011 0111
0111 1100 0000 0000
0000 0000 0011
000
Висновки:
У цій лабораторній роботі я вивчив організацію навчального комп’ютера – симулятора DeComp, призначення окремих блоків і можливості їх використання, засвоїв порядок уведення інформації в регістри та пам’ять симулятора навчального комп’ютера, навчився вводити і запускати найпростішу програму. Вивчив теоретичні основи побудови систем числення, які використовуються у комп’ютерах, засвоїв порядок використання двійкової системи числення.