Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи №1
з дисципліни: “Організація та функціонування комп’ютерів”
на тему: “ Ознайомлення з симулятором навчальної ЕОМ”
Лабораторна робота №1
Мета: “Отримати уявлення про призначення, можливості та правила роботи із симулятором навчальної ЕОМ, а також познайомитись із структурою та принципом роботи навчальної ЕОМ комп’ютера 1-го покоління”
Теоретичні відомості:
DeComp – це програма, яка повністю повторює роботу комп’ютерів 1-го покоління і дозволяє досліднику не тільки виконувати усі команди та програми, але й “зазирнути” у внутрішню структуру комп’ютера і крок за кроком відслідкувати, як він працює. Таким чином, симулятор – це програма, яка моделює роботу електронного пристроя і відображає результати роботи у зручному для дослідника вигляді. Дослідження комп’ютера 1-го покоління зручне тим, що його структура є максимально простою і містить мінімум елементів, необхідних для роботи комп’ютера взагалі. Сучасні комп’ютери надзвичайно складні, в яких додано велику кількість додаткових елементів, призначених для підвищення продуктивності комп’ютера.
Структура комп’ютера 1-го покоління складалась із 5-ти основних частин:
арифметичний пристрій повинен вміти виконувати математичні операції.
пам’ять інструкцій та даних – саме пам’ять визначає, які операції і у якій послідовності необхідно виконувати. Без пам’яті арифметичний пристрій не виконає жодної дії (хоча пам’ять без арифметичного пристроя, звичайно, також). Інструкції у пам’яті визначають, які операції і над якими даними необхідно виконувати, а послідовність інструкцій у пам’яті – порядок виконання операцій;
пристрої вводу та виводу інформації забезпечують зв’язок обчислювача із людиною.
керучий пристрій, відповідно, керує роботою усіх частин обчислювача. Для цього він повинен одна за одною зчитувати інструкції з пам’яті, “повідомляти” арифметичний пристрій про закладені у інструкціях операції та дані, а також змінювати свою роботу за вказівками людини.
Так як у сучасних комп’ютерах роботу Керуючого пристрою та Арифметичного пристрою виконує процесор то його структура матиме такий вигляд:
Звичайно, що кожна складова частина комп’ютера стала сама по собі надзвичайно складною: так, процесор здатний одночасно обробляти зразу декілька скадних інструкцій, пам’ять поділяється на різні типи з різною швидкодією та ємністю.
Пам’ять комп’ютера 1-го покоління представлена спеціальним вікном, яке відображає 8 з 4096 комірок пам’яті. Кожна комірка описується своє адресою (або номером) у лівій частині та значенням, яке у ній зберігається, у правій частині. На відміну від людини, яка користується 10вою системою числення, комп’ютер використовує лише 2 цифри – 0 та 1, тобто 2-ву систему числення. Відповідно усі числа, а також коди інструкцій всередині комп’ютера зберігаються у двійковому вигляді. Кожна комірка пам’яті здатна зберігати 16-розрядне число (або код, якщо це інструкція), яке складається з 16 двійкових цифр. Це означає, що максимальне число, яке здатна зберігати одна комірка, дорівнює 2161 = 65535.
Процесор, який складається з арифметичного та керуючого пристроїв, у симуляторі представлений Арифметико-логічним пристроєм, двома регістрами пристроя управління (Регістр Інструкцій та Лічильник Адреси Інструкції) та регістрами для доступу до пам’яті (див. вище). Регістр – це комірка для запам’ятовування інформації, яка розташована у процесорі і працює з набагато більшою швидкістю у порівнянні із комірками пам’яті. Як і комірка пам’яті, регістр складається з двійкових розрядів, які у регістрі мають спеціальну назву – тригер.
Доступ до пам’яті у процесорі здійснюється з допомогою двох регістрів: Регістра Даних пам’яті (Регістр Даних) та Регістра Адреси пам’яті (Регістр Адреси). Правило дуже просте – перш ніж виконувати операцію доступу до пам’яті (запис або читання), необхідно у Регістр Адреси записати адресу тієї комірки, до якої ми будемо звертатись. Якщо відбувається операція читання, тоді до Регістра Даних з пам’яті потрапляють дані (число або інструкція) із вказаної комірки. Якщо ми хочемо записати до пам’яті, то зрозуміло, що окрім адреси комірки, необхідно попередньо до Регістра Даних занести число (або інструкцію), яке ми будемо записувати до даної комірки пам’яті.
Отже, пульт управління призначений для безпосередньої участі людини у роботі комп’ютера. З допомогою пульта управління програміст може “вручну” занести інформацію (дані або інструкції) до внутрішніх регістрів процесора, а також виконувати операції запису та читання з пам’яті. Крім того, з допомогою пульта управління програміст “запускає” комп’ютер для виконання програми, яка знаходиться у пам’яті.
Хід роботи:
У набірному полі у молодших 12 у двійковій системі числення ввожу адресу 20 першої комірки – 0000 0001 0100. З допомогою кнопки “РА” заношу цю адресу до Регістра адреси пам’яті. У набірному полі ввожу перше число
16 – 0000 0000 0001 0000. З допомогою кнопки “РД” заношу це число до Регістра даних пам’яті. З допомогою кнопки “Запис” заношу число 16 у комірку з адресою 20. З допомогою кнопки “+1” збільшую значення Регістра адреси на 1. У набірному полі змінюю молодший розряд на отримання числа 17 – 0000 0000 0001 0001 і заношу це число до Регістра даних. Кнопкою “Запис” заношу число 17 у 21-шу комірку. Таким самим чином заношу число 18 у 22-гу комірку, число 19 – у 23-тю, а 20 – у 24-ту комірку.
Після цього заношу у пам’ять, починаючи з комірки 0, програму, яка додаватиме 10-ту та 11-ту комірки пам’яті і результат запише до 12-ї комірки. Попередньо у 10-ту та 11-ту комірки заношу числа 25 – 0000 0000 0001 1001 та 38 – 0000 0000 0010 0110. Програма матиме наступний вигляд:
У комірку з адресою 0 – 0000 0000 0000, Завантажуємо значення 10-ї комурки, тобто у “РД” заносимо команду 0000 0000 0000 1010 і робимо “Запис” у 0-ву комірку. Так само команду 0010 0000 0000 1011 записуємо у комірку з адресою 0000 0000 0001, команду 0001 0000 0000 1100 записуємо у комірку з адресою 2 – 0000 0000 0000 0010, а команду 0111 1100 0000 0000 – у 3-тю комірку.
Спочатку заносимо у “ЛАІ” адресу першої інструкції, тобто 0000 0000 0000 і запускаємо програму у Автоматичному режимі. Читаємо значення 12-ї комірки, яке є результатом додавання 10-ї та 11-ї комірок, воно рівне 0000 0000 0011 1111.
Обнулюємо значення 12-ї комірки та знову виконуємо програму, але уже у покроковому режимі(попередньо встановивши у ЛАІ знову адресу 0). Після виконання кожної інструкції записую усі зміни у регістрах процесора:
крок 1: у Регістр даних записується значення 10-ї комірки 0000 0000 0001 1001, Акумулятор – 0000 0000 0001 1001, РІ – 0000 0000 0000 1010, ЛАІ – 0000 0000 0001, РА - 0000 0000 0000 1010.
крок 2: РД - 0000 0000 0010 0110, Акумулятор – 0000 0000 0011 1111, РІ – 0010 0000 0000 1011, ЛАІ – 0000 0000 0010, РА – 0000 0000 1011.
крок 3: РД - 0000 0000 0011 1111, Акумулятор - 0000 0000 0011 1111, РІ – 0001 0000 0000 1100, ЛАІ – 0000 0000 0011, РА – 0000 0000 1100.
крок 4: РД – 0111 1100 0000 0000, Акумулятор - 0000 0000 0011 1111, РІ - 0111 1100 0000 0000, ЛАІ - 0000 0000 0011, РА - 0000 0000 0011.
Як ми можемо побачити що крок 4 є закінченням програми. Якщо перевірити значення 12-ї комірки то ми побачимо що воно рівне 0000 0000 0011 1111.
Висновок: На даній Лабораторній роботі я ознайомився симулятором навчальної ЕОМ, яка створена для того щоб зрозуміти роботу комп’ютерів першого покоління. Також я навчився вводити числа у двійковій системі числення в симулятор, виконувати над ними арифметичні логічні операції. Я навчився задавати на стимуляторі програму для такої логічної операції як додавання. Мені сподобалось вивчення цього симулятора, тому що завдяки такій програмі людина може уявити собі роботу комп’ютера в цілому.