Міністерство освіти та науки України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №1
з дисципліни “Організація та функціонування
комп’ютерів”
на тему: “Архітектура навчального комп’ютера -
симулятора DeComp”
Львів 2007
Лабораторна робота № 1
Тема: “Ознайомлення з архітектурою навчального комп’ютера - симулятора
DeComp”
Мета: 1. Ознайомитись із структурою та принципом роботи комп’ютера 1-го покоління;
2. Вивчити архітектуру навчального комп’ютера – симулятора DeComp, призначення окремих блоків і їх можливості;
3. Засвоїти правила роботи із симулятором навчального комп’ютера.
Теоретичні відомості
DeComp – це програма, яка імітує роботу комп’ютерів 1-го покоління і дозволяє досліднику не тільки виконувати усі команди та програми, але й “зазирнути” у внутрішню структуру комп’ютера. Симулятор – це програма, яка моделює роботу електронного пристрою і відображає результати роботи у зручному для дослідника вигляді.
Згідно із фундаментальними принципами побудови універсального обчислювача, що були запропоновані ще на початку ХІХ сторіччя англійським вченим Ч. Беббіджем, він повинен складатись з 5-ти основних частин (див. рис.1.2):
Рис.1.2. Структура універсального обчислювача Ч. Беббіджа
Призначення кожної з частин наступні:
арифметичний пристрій повинен вміти виконувати математичні операції (додавання, віднімання, множення, ділення або й навіть складніші – добування квадратного кореня, піднесення до степеня та ін.);
пам’ять інструкцій та даних – саме інструкції у пам’яті визначають які операції і над якими даними необхідно виконувати, а послідовність інструкцій у пам’яті – порядок виконання операцій;
пристрої вводу та виводу інформації забезпечують зв’язок обчислювальвача з людиною.
керуючий пристрій керує роботою усіх частин обчислювача.
Кожна складова частина комп’ютера стала сама по собі надзвичайно складною. Так, процесор здатний одночасно обробляти зразу декілька складних інструкцій, пам’ять поділяється на різні типи з різною швидкодією та ємністю (оперативна пам’ять, кеш-пам’ять, пам’ять на жорсткому диску та ін.), а пристрої вводу та виводу самі по собі являють комп’ютери із спеціалізованими функціями (сканери, принтери, цифрові фотокамери і т.інш.). Також надзвичайно складною частиною комп’ютера стали магістралі (або шини) зв’язку між окремими компонентами комп’ютера, які на рисунку показані просто стрілками.
У сучасних комп’ютерах арифметичний та керуючий пристрої об’єднані у одну складову частину – процесор, який не випадково називається головною частиною комп’ютера, що обробляє інформацію та керує роботою усього комп’ютера.
Сама пам’ять навчального комп’ютера складається з 4096 комірок і на панелі навчального комп’ютера подана спеціальним вікном, яке відображає 8 комірок. Кожна комірка описується своє адресою (або номером) у лівій частині. За кожною адресою зберігається число у двійковому значенні, яке подається у правій частині вікна зображення пам’яті. На відміну від людини, яка користується системою числення з основою 10, у комп’ютері використовується лише 2 цифри – 0 та 1, тобто система числення з основою 2. Відповідно усі дані, а також інструкції всередині комп’ютера кодуються і зберігаються у двійковому вигляді.
У симуляторі вікно пам’яті працює таким чином, щоб комірка, з якою у даний момент відбувається робота, знаходилась посередині вікна. Також біля вікна пам’яті зображено два регістри: Регістр Адреси пам’яті та Регістр Даних пам’яті. Хоча ці регістри, за допомогою яких здійснюється доступ до комірок пам’яті, зображені біля неї, насправді вони розташовані у процесорі.
Регістр – це комірка для запам’ятовування інформації, яка розташована у процесорі і працює з набагато більшою швидкістю у порівнянні із комірками пам’яті. Як і комірка пам’яті, регістр складається з двійкових розрядів, які у регістрі мають спеціальну назву – тригер. Відповідно кожний тригер здатний запам’ятовувати одну двійкову цифру: 0 або 1. Кожний розряд (тригер) регістра у симуляторі представлений індикатором (кружечком), жовтий колір якого (індикатор “світиться”) відповідає 1, а сірий – 0.
Регістр Ознак складається з 3-х тригерів (розрядів) і відображає наступні ознаки результату операції АЛП:
Z– ознака того, що результат операції дорівнює 0;
S– ознака того, що результат є < 0 (тобто - від’ємне число);
C– ознака того, що при виконанні арифметичної операції виникло переповнення розрядної сітки акумулятора і переніс (тобто результат більший ніж 65535).
Головною частиною пульта управління є набірне поле з 16 перемикачів, які можуть знаходитись у 2-х станах: “натиснуто” і “не натиснуто” (відповідно “1” та “0”) Усі перемикачі пронумеровані від 0 до 15 справа наліво і відповідають розрядам 16-розрядного двійкового числа від наймолодшого розряду (0) до найстаршого (15). Для того, щоб встановити усі розряди набірного поля в 0, використовується спеціальна кнопка “Скидування набірного поля”.
Вище набірного поля знаходиться поле „Занесення з набірного поля” з 5-ю кнопками, які дозволяють занести значення набірного поля у один з внутрішніх регістрів процесора:
РА – Регістр Адреси пам’яті,
РД – Регістр Даних пам’яті,
А – акумулятор,
РІ – Регістр Інструкцій,
ЛАІ – Лічильник Адреси Інструкції
Хід роботи
Я ознайомився з теоретичними відомостями до лабораторної роботи № 1.
Запустив програму та включив живлення на панелі.
За допомогою набірного поля записав до регістрів процесора наступні значення: до РА – 0101 0101 0101, до РД – 0011 0011 0011 0011, до А – 0000 1111 0000 1111, до РІ –
4. 0000 0000 1111 1111, до ЛАІ – 1010 1010 1010.
В першу чергу я розібрався з набірним полем. Виявилося, що 12 комірок – це
свого роду набір 0 та 1. Коли 12 комірок було набрано я заніс їх до Регістра
Даних Пам’яті (кожний регістр по-черзі).
5. Дальше я до 5-ти сусідніх комірок з адресами 20, 21, 22, 23, 24 (перевів у
двійкову с-му числення) записав числа 16, 17, 18, 19 та 20 (також перевів у двійкову с-му числення).
6. Пізніше я заніс у пам’ять, починаючи з комірки 0, програму, яка додаватиме числа, що знаходяться у 10-й та 11-й комірках пам’яті і результат запише до 12-ї комірки. У 10-у та 11-у комірки я заніс числа відповідно свого варіанту.
Відповідна програма матиме наступний вигляд:
LOAD 10 – завантажити значення 10-ї комірки до акумулятора;
ADD 11 – додати до акумулятора значення 11-ї комірки і результат зберегти у акумуляторі;
STORE 12 – зберегти значення акумулятора до 12-ї комірки;
HALT – зупинити роботу процесора.
У двійковому представленні дана програма матиме наступний вигляд:
0000 0000 0000 1010;
0010 0000 0000 1011;
0001 0000 0000 1100;
0111 1100 0000 0000.
Відповідно, першу інструкцію (її код) потрібно занести до комірки з адресою 0000 0000 0000, другу – у комірку 0000 0000 0001, третю – у комірку 0000 0000 0010, а четверту – у комірку 0000 0000 0011.
Після того, як я заніс у 10-ту та 11-ту комірки задані мені числа, я встановив адресу першої інструкції у Лічильнику Адреси Інструкції за допомогою набірного поля.
7. Виконав програму у автоматичному режимі, після чого перевірив результат у 12-й комірці (прочитав його).
8. Онулив 12-ту комірку і ще раз виконати цю програму, але у покроковому режимі (попередньо знову встановивши у ЛАІ адресу першої інструкції – адресу 0). Після кожної інструкції я записував усі зміни в усіх регістрах процесора та Регістрі Ознак.
ВИСНОВОК
Я ознайомився із принципом роботи комп’ютера 1-го покоління. Також вивчив архітектуру навчального комп’ютера – стимулятора DeComp, призначення окремих блоків і також їх можливості. На цій лабораторній я засвоїв правила роботи із симулятором навчального комп’ютера.
Принцип роботи комп’ютера першого покоління мені сподобався. Переводити числа з десяткової системи числення у двійкову дуже зручне. Тому робота не була важкою. Звичайно були і негативні моменти під час лабораторної роботи.
Двійкова система, хоча і зручна, але також має свої недоліки.
Числа переведені з двійкової системи числення містять більшу кількість цифр ніж у десятковій системі.