Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_lab_OFK.doc
Скачиваний:
13
Добавлен:
06.11.2018
Размер:
1.13 Mб
Скачать

Іі. Опис архітектури навчального комп’ютера DeComp

2.1. Організація навчального комп’ютера – симулятора DeComp

Симулятор навчального комп’ютера DeComp – це програма, яка імітує роботу комп’ютерів 1-го покоління і дозволяє досліднику не тільки виконувати усі команди та програми, але й “зазирнути” у внутрішню структуру комп’ютера і крок за кроком відслідкувати, як він працює. Дослідження комп’ютера 1-го покоління зручне тим, що його організація є максимально простою і містить мінімум елементів, необхідних для роботи комп’ютера взагалі. Сучасні комп’ютери набагато складніші, у них додано велику кількість додаткових елементів, призначених для підвищення продуктивності комп’ютера.

Програма-симулятор навчального комп’ютера DeComp, яку надалі будемо називати просто “симулятор”, знаходиться у лабораторних комп’ютерах на логічному диску D: у каталозі HOME\ki-1\OFK\DeCOMP або в каталозі, на який вкаже викладач. Якщо запустити на виконання файл DeComp.exe, тоді з’явиться вікно програми, зображене на рис.2.1.

Рис.2.1. Головна закладка вікна симулятора DeComp

У перший момент активованою є головна “закладка” вікна – “Навчальна ЕОМ”, окрім якої існують ще закладки “Карта пам’яті ЕОМ”, “Пристрій підготовки даних” та “Документація до “Навчальної ЕОМ”.

Закладка, що зображена на рис.2.1, фактично відображає зовнішній вигляд панелі управління реальних машин 1-го покоління. Як видно з цього рисунку, панель навчального комп’ютера складається з двох частин: структури комп’ютера та пульта управління.

Панель симулятора розділена на дві частини. У лівій частині панелі “Навчальна ЕОМ” подана структура навчального комп’ютера, на якій можна побачити усі 5 складових частин (блоків) обчислювача Ч. Беббіджа фон Неймана. Навчальний комп’ютер містить:

  • Пам’ять інструкцій та даних - Регістр адреси пам’яті і Регістр даних пам’яті;

  • Арифметично-логічний пристрій - Акумулятор і Регістр Ознак;

  • Присрій управління (Керуючий пристрій) – Регістр інструкцій і Лічильник Адреси інструкцій;

  • Пристрої вводу і виводу – на даний час робота над цією частиною симулятора ще не завершена. Заплановане використання пристроїв послідовного вводу/виводу.

Зауважимо, що у сучасних комп’ютерах арифметичний та керуючий пристрої об’єднані у одну складову частину – процесор (від англ. to process – обробляти), який не випадково називається головною частиною комп’ютера, що обробляє інформацію та керує роботою усього комп’ютера.

Пам’ять навчального комп’ютера складається з 4096 комірок і на панелі подана спеціальним вікном, яке відображає 8 комірок. Кожна комірка описується своє адресою (або номером) у лівій частині. За кожною адресою зберігається число у двійковому значенні, яке подається у правій частині вікна зображення пам’яті. На відміну від людини, яка користується системою числення з основою 10, у комп’ютері використовується лише 2 цифри – 0 та 1, тобто система числення з основою 2. Відповідно усі дані, а також інструкції всередині комп’ютера кодуються і зберігаються у двійковому вигляді.

Кожна комірка пам’яті здатна зберігати 16-розрядний код, який складається з 16 двійкових цифр, що називаються розрядами або бітами (8 біт = 1 байт). Таке 16-розрядне число називається словом. Максимальне число, яке здатна зберігати одна комірка, дорівнює 216 ‑ 1 = 6553510. У свою чергу, оскільки максимальна кількість комірок становить 4096, то адреса кожної комірки складається з log24096 = 12 розрядів. Якщо у сучасних комп’ютерах шина адреси є 32-розрядною, то максимальна кількість комірок може становити 232  4млрд. = 4 ГБайти.

У симуляторі вікно пам’яті працює таким чином, що комірка, з якою у даний момент відбувається робота, знаходилась посередині вікна. Також біля вікна пам’яті зображено два регістри: Регістр Адреси пам’яті та Регістр Даних пам’яті. Це регістри, за допомогою яких здійснюється доступ до комірок пам’яті. Хоча вони зображені біля неї, насправді вони розташовані у процесорі.

Процесор, який складається з арифметичного та керуючого пристроїв, у симуляторі представлений „Арифметично-логічним пристроєм”, двома регістрами пристрою управління (Регістр Інструкцій та Лічильник Адреси Інструкції) та регістрами для доступу до пам’яті (рис. 2.1.).

Регістр – це комірка, що призначена для запам’ятовування інформації, розташована у процесорі і працює з набагато більшою швидкістю у порівнянні із комірками пам’яті. Як і комірка пам’яті, регістр складається з двійкових розрядів, які у регістрі мають спеціальну назву – тригер. Відповідно кожний тригер здатний запам’ятовувати одну двійкову цифру: 0 або 1. Кожний розряд (тригер) регістра у симуляторі представлений індикатором (кружечком), жовтий колір якого відповідає 1 (індикатор “світиться”), а сірий – 0.

Арифметично-логічний пристрій (АЛП) – це пристрій, який має два входи і один вихід і здатний виконувати набір арифметичних, логічних та інших операцій. На входи подаються дані у вигляді двійкових чисел, а на виході отримуємо результат виконання поточної операції над цими даними. У нашому симуляторі АЛП як такий не зображений, хоча обов’язково присутній. До складу АЛП у симуляторі також віднесено ще два регістри: Акумулятор, який відіграє одну з найголовніших ролей у роботі процесора, та Регістр Ознак.

Регістр Ознак складається з 3-х тригерів (розрядів) і відображає наступні ознаки результату операції АЛП:

Z (від англ. Zero - нуль) – ознака того, що результат операції дорівнює 0;

S (від англ. Sign – знак) – ознака того, що результат є < 0 (тобто - від’ємне число);

C (від англ. Carry – перенесення) – ознака того, що при виконанні арифметичної операції виникло переповнення розрядної сітки акумулятора і перенесення (тобто результат більший за 65535).

Коли індикатор відповідного тригера світиться, тобто значення його є “1”, це означає, що відбулася подія, яку відслідковує даний розряд регістра ознак.

На рис. 2.2 зображено схему підключення акумулятора. Вихід акумулятора підключений до одного з входів АЛП, а до другого входу підключений Регістр Даних пам’яті. Таким чином, АЛП здатний виконувати арифметичні та логічні операції над двома числами, одне з яких повинно знаходитись у акумуляторі, а друге – в Регістрі Даних пам’яті. В це регістр записуються числа з будь-якої комірки пам’яті. Деякі операції вимагають лише одного числа (наприклад, логічна операція НЕ, операція зсуву тощо) – у цьому випадку для збереження вхідного числа використовується акумулятор.

Рис.2.2. Схема підключення акумулятора

Вихід АЛП також підключається до акумулятора. Якщо результат операції записується в акумулятор, то він замінює (“затирає”) те число, що попередньо знаходилося в акумуляторі – це необхідно пам’ятати. Назва „акумулятор” (походить від англ. to accumulate – накопичувати) пояснюється тим, що більшість операцій в алгоритмі програми є взаємопов’язаними, тобто результат однієї операції використовується як вхідне число у наступній операції. В цьому випадку підключення акумулятора до входу та виходу АЛП (рис.2.2) є дуже зручним.

Крім того, таке підключення акумулятора до пам’яті дозволяє завантажувати до акумулятора вхідні дані з пам’яті, а також зберігати результати обчислень, записуючи їх назад до пам’яті.

Як вже зазначалось вище, доступ до пам’яті у процесорі здійснюється за допомогою двох регістрів: Регістра Даних пам’яті (надалі - Регістр Даних) та Регістра Адреси пам’яті (надалі - Регістр Адреси). Порядок дій дуже простий – перш ніж виконувати операцію доступу до пам’яті (запис або читання пам’яті), необхідно у Регістр Адреси записати адресу тієї комірки, до якої буде звертання. Якщо відбувається операція читання, тоді до Регістра Даних з пам’яті потрапляють дані (число або інструкція) із вказаної комірки. Якщо потрібно записати до пам’яті, то зрозуміло, що окрім адреси комірки у Регістр Адреси, необхідно попередньо до Регістра Даних занести число або двійковий код інструкції, які повинні записуватися до даної комірки пам’яті.

Згідно 2-го принципу організації комп’ютерів фон Неймана, у роботі любого комп’ютера є одна особливість: і дані і інструкції зберігаються у пам’яті у вигляді чисел, при чому без спеціальної інформації про те, де знаходяться дані, а де – інструкції, і їх абсолютно неможливо відрізнити. Яким же чином їх відрізняє процесор? Саме для цього і призначені два спеціальних керуючих регістри: Регістр Інструкцій та Лічильник Адреси Інструкцій. Лічильник Адреси Інструкції автоматично “відслідковує” адресу інструкції, яка в даний момент буде виконуватись у процесорі. А для того, щоб виконати цю інструкцію, вона зчитується з пам’яті до Регістра Інструкцій.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]