Ім'я файлу: лаба 1.docx Розширення: docx Розмір: 519кб. Дата: 28.02.2024 скачати Пов'язані файли: О_А_П_Лабораторна_робота_№0_Онущак С.І..docx Міністерство освіти і науки України Національний університет "Львівська політехніка" Кафедра СКС Звіт з лабораторної роботи № 1 з дисципліни: “Організація та функціонування комп’ютерів” на тему: “Ознайомлення з організацією навчального комп’ютера - симулятора DeComp” Варіант - 15 Виконала: Онущак С.І КІ-109 Прийняла: асистентка каф.СКС Дячок Р.В. Львів 2024 Тема: “Ознайомлення з організацією навчального комп’ютера - симулятора 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.2.1 Двійкова система числення З точки зору технічної реалізації найліпшою є система з основою 2 або двійкова, тому що двохпозиційні елементи різної фізичної природи легко реалізуються. Крім того, у процесах з двома стійкими станами різниця між цими станами має якісний, а не кількісний характер, що забезпечує надійну реалізацію двійкових цифр. Таким чином, простота арифметичних і логічних дій, мінімум обладнання, що використовується для подання чисел та найбільш зручні умови реалізації визначили застосування двійкових систем числення практично в усіх відомих комп’ютерах і таких, що проектуються. Двійкова система числення у комп’ютерах є основною, у якій здійснюються арифметичні і логічні перетворення інформації у пристроях комп’ютера. Вона має тільки дві цифри: 0 і 1, а всяке двійкове число зображається у вигляді комбінації нулів і одиниць. Кожний розряд числа у двійковій системі числення ліворучвід коми подається двійкою у відповідній додатний степені, а праворуч від коми – двійкою у від’ємній степені (табл. 1). Таблиця 1
Наприклад, розгорнуту форму двійкового числа 11101,01 за формулою (1) можна записати так: 11101,012 = 1*24 + 1*23 + 1*22 + 0*21 + 1*20 + 0*2-1 + 1*2-2 = = 16 + 8 + 4 + 1 = 29,2510 Хід виконання роботи Завдання 1: Призначення окремих блоків симулятора DeComp і можливості їх використання Виконання: DeComp - це симулятор навчального комп'ютера, що імітує роботу комп'ютерів 1-го покоління. Програма надає можливість дослідження внутрішньої структури комп'ютера та крок за кроком відслідковувати процес виконання програм. Основні блоки симулятора DeComp включають: Пам'ять: Накопичувач інформації та службові регістри доступу до пам'яті (Регістр Адреси пам'яті та Регістр Даних пам'яті). Доступ до пам'яті відбувається через Регістр Адреси та Регістр Даних пам'яті. Арифметично-логічний пристрій (АЛП): Включає Акумулятор та Регістр Ознак. Акумулятор відіграє ключову роль у роботі процесора. Регістр Ознак відображає ознаки результату операцій у АЛП (C - перенесення, Z - нуль, S - знак). Пристрій управління: Складається з Регістра інструкцій та Лічильника Адрес інструкцій. Регістр Інструкцій містить код поточної інструкції, яка виконується процесором. Лічильник Адрес інструкцій визначає адресу наступної інструкції для виконання. Підключення Акумулятора до АЛП: Акумулятор підключений до входу АЛП, що дозволяє виконувати операції над даними з пам'яті та Регістра Даних. Розмір Слова та Розмір Адреси: Кожна комірка пам'яті зберігає слово розміром у 16 біт. Адреса кожної комірки складається з 12 розрядів. Принцип фон Неймана: Дані та інструкції зберігаються у пам'яті у вигляді числових кодів без інформації про їхнє призначення. Регістр Інструкцій та Лічильник Адрес інструкцій відповідають за розрізнення між інструкціями та даними. Симулятор DeComp відображає ключові аспекти роботи комп'ютера 1-го покоління та надає можливість дослідження та розуміння його внутрішньої структури. Вивчення принципів роботи таких комп'ютерів допомагає зрозуміти основи архітектури та функціонування сучасних комп'ютерів. Завдання 2: Контрольне запитання: Виконання: Відповідь на контрольне запитання: 3) Якою є вага окремого розряду числа у позиційній системі числення? В позиційній системі числення, вага кожного розряду визначається його положенням у числі та базою системи. Якщо ми розглядаємо число у системі числення з базою b, то вага розряду n обчислюється як b^(n-1). Наприклад, у десятковій системі вага розряду залежить від ступеня числа 10: перший розряд (зправа) має вагу 10^0, другий - 10^1, третій - 10^2, і так далі. Аналогічно, у двійковій системі вага розряду n буде 2^(n-1), у восьмеричній - 8^(n-1), у шістнадцятковій - 16^(n-1). Ця система визначення ваги розрядів допомагає визначити значення кожного розряду у числі. Завдання 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. Попередньо всі десяткові числа перевести до двійкової системи числення. Виконання: Переведення чисел 16-24 у двійкову систему числення .
За допомогою набірного поля набрав двійковий код адреси комірки 0000 0000 0001 0100 і записав цей код в “Регістр Адреси пам’яті”. Після цього в набірному полі набрав число 0000 0000 0001 0000 ,яке потрібно записати в 20-ту комірку пам’яті. Для запису цього числа в регістр Даних пам’яті натиснув на кнопку “Занесення з набірного поля в Регістр Даних пам’яті”. За допомогою кнопки “Запис” записав число з регістру даних в комірку пам’яті з індексом з “Регістру Адреси пам’яті”. Ці дії повторив для запису всіх чисел. Завдання 5: Записати у пам’ять описану нижче програму, яка додаватиме числа, що знаходяться у 10-й та 11-й комірках пам’яті, а результат запише до 12-ї комірки. Програму розмістити у оперативній пам’яті, починаючи з комірки за адресою 0 (нуль). Попередньо у 10-ту та 11-ту комірки занести числа відповідно до свого варіанту. Варіант : 15 Число 1 : 37 Число 2 : 21 Відповідна програма у мнемонічних кодах буде мати такий вигляд:
Відповідно, двійковий код першої інструкції необхідно занести до комірки з адресою 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, тобто показати процесору звідки починати виконання програми. Виконання: За допомогою набірного поля і кнопок “Операція з пам’яттю” розмістив в оперативній пам'яті програму, яка додає числа, що знаходяться у 10-й та 11-й комірках пам’яті, а результат записує до 12-ї комірки. Запис програми розпочинається з комірки за адресою (0). У двійковому поданні дана програма має наступний вигляд: 0000 0000 0000 1010 - двійковий код 1-ої інструкції 0010 0000 0000 1011 - двійковий код 2-ої інструкції 0001 0000 0000 1100 - двійковий код 3-ої інструкції 0111 1100 0000 0000 - двійковий код 4-ої інструкції Перевід чисел в двійкову систему числення: число 1510 = 1111 2 число 3710 =1001012 У десяту комірку пам’яті записуємо число 0000 0000 0000 1111 У одинадцяту комірку пам’яті записуємо число 0000 0000 0010 0101 Лічильнику Адреси Інструкції за допомогою набірного поля встановити адресу першої інструкції, тобто код адреси - 0000 0000 0000, тобто показати процесору звідки починати виконання програми Завдання 6: Виконати програму у автоматичному режимі і перевірити результат у 12-й комірці, прочитавши значення 12-ї комірки пам’яті. Виконання: Результат виконання записався у “Регістр даних пам’яті”: 0000 0000001101002=5210 Перевірка результату додавання в ручну 00001111 00100101 ________ 00 110100 Завдання 7: Обнулити 12-ту комірку, знову встановити у ЛАІ адресу першої інструкції – адресу 0 і дослідити цю програму, виконавши її у покроковому режимі. Після виконання кожної інструкції записати у подану таблицю вміст усіх регістрів процесора. Проаналізувати процес змін у регістрах процесора на кожному кроці виконання програми. Виконання: Результат виконання інструкцій в покроковому.
Тепер по черзі проаналізуймо зміни в кожному з регістрів. Зміни в регістрі адрес: 1-й крок: звернення до 10-ї комірки пам’яті; 0000 0000 1010 2-й крок: звернення до 11-ї комірки пам’яті; 0000 0000 1011 3-й крок: звернення до 12-ї комірки пам’яті; 0000 0000 1100 4-й крок: звернення до 3-ї комірки пам’яті. 0000 0000 0011 Зміни в регістрі даних: 1-й крок: зчитування 1-го операнда; 0000 0000 0000 1111 2-й крок: зчитування 2-го операнда; 0000 0000 0010 0101 3-й крок: зчитування суми операнд; 0000 0000 00110100 4-й крок: зчитування інструкції з 3-ї комірки. 1111 1000 0000 0000 Зміни в акумуляторі: 1-й крок: завантаження числа з 10-ї комірки; 0000 0000 0000 1111 2-й крок: збереження суми попереднього числа і числа з 11-ї комірки; 0000 0000 00110100 3-й крок: зміни не відбуваються, сума продовжує зберігатись в акумуляторі; 0000 0000 00110100 4-й крок: зміни не відбуваються, сума продовжує зберігатись в акумуляторі. 0000 0000 00110100 Зміни в регістрі інструкцій: 1-й крок: завантаження 1-ї інструкції; 0000 0000 0000 1010 2-й крок: завантаження 2-ї інструкції; 0010 0000 0000 1011 3-й крок: завантаження 3-ї інструкції; 0001 0000 0000 1100 4-й крок: завантаження 4-ї інструкції. 0111 1100 0000 0000 Зміни в лічильнику адреси інструкції: 1-й крок: вказує процесору адресу інструкції в 1-й комірці; 0000 0000 0000 0001 2-й крок: вказує процесору адресу інструкції в 2-й комірці; 0000 0000 0000 0010 3-й крок: вказує процесору адресу інструкції в 3-й комірці; 0000 0000 0000 0011 4-й крок: зміни не відбуваються. 0000 0000 0000 0011 Зміни в регістрі ознак: в цьому регістрі зміни не відбуваються. 000 Висновок: Я вивчила теоретичні основи побудови систем числення, які використовуються комп’ютерах, познайомився з навчального комп’ютером – симулятором DeComp, і написав свою першу програму за допомогою двійкових інструкцій симулятора. |