1.55M
Категория: ИнформатикаИнформатика

Основи організації та функціонування комп’ютерів

1.

Основи організації та
функціонування
комп’ютерів

2.

НАВЧАЛЬНИЙ КОМП’ЮТЕР СИМУЛЯТОР DeComp
1.1. Організація навчального
комп’ютера – симулятора DeComp

3.

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

4.

5.

Закладка, що зображена на рис. 1.1, відображає зовнішній вигляд
панелі управління реальних машин 1-го покоління. Як видно з цього
рисунку, панель симулятора De Comp складається з двох частин:
структури комп’ютера та пульта управління, тому вона розділена на
два поля.
На закладці “Навчальна ЕОМ” на лівій стороні панелі подана
структура навчального комп’ютера, на якій можна побачити усі
складові частини обчислювача фон Неймана.
На панелі симулятора De Comp функціональні блоки комп’ютера
окреслені рамками.

6.

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

7.

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

8.

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

9.

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

10.

На відміну від людини, яка користується системою числення з
основою 10, у комп’ютері використовують систему числення з основою
2. Відповідно усі інструкції, а також числові дані всередині
комп’ютера, кодуються і зберігаються у двійковому вигляді. Кожна
комірка пам’яті навчального комп’ютера здатна зберігати код, що
складається з 16 двійкових цифр, які називають розрядами або бітами
(8 біт = 1 байт). Таке 16-розрядне число називають словом.
Максимальне число, яке здатна зберігати одна комірка розміром у
16 біт, дорівнює 216 – 1 = 6553510. У свою чергу, оскільки загальна
кількість комірок у симуляторі становить 4096, то адреса кожної
комірки складається з log24096 = 12 розрядів.

11.

Якщо у сучасних комп’ютерах шина адреси є 32-розрядною, то
32
максимальна кількість комірок становить 2 ≈ 4 млрд. = 4 ГБайти.
Збільшення кількості розрядів Регістра Адреси дозволяє
збільшити обсяг пам’яті, яка адресується.

12.

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

13.

Регістр Ознак складається з 3-х тригерів і відображає ознаки
результату операції, що була виконана у АЛП. Коли індикатор
відповідного тригера світиться, тобто значення його є “1”, це означає,
що відбулася подія, яку відслідковує даний розряд регістра ознак.
Z (від англ. Zero - нуль) – ознака того, що результат операції
дорівнює 0;
S (від англ. Sign – знак) – ознака того, що результат є від’ємне число;
C (від англ. Carry – перенесення) – ознака того, що при виконанні
арифметичної операції виникло переповнення розрядної сітки
акумулятора (тобто результат більший за 216 – 1 = 65535).

14.

Пам’ять
Регістр
даних
пам’яті
АЛП
АКУМУЛЯТОР

15.

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

16.

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

17.

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

18.

1.2. Пульт управління навчального
комп’ютера

19.

З правого боку панелі навчального комп’ютера на рис. 1.1 розміщений
Пульт управління, що призначений для ручного керування
користувачем роботою симулятора DeComp - завантаженням
програмною та числовою інформацією, вибором режимів роботи
симулятора та ін. За допомогою пульта управління можна “вручну”
занести інформацію до регістрів процесора або до пам’яті, а також
виконувати операції запису та читання з пам’яттю. Крім того, за
допомогою пульта управління користувач “запускає” процесор для
виконання програми, яка знаходиться у пам’яті комп’ютера

20.

21.

Головною частиною пульта управління є Набірне поле з 16
перемикачів, які можуть знаходитись у 2-х станах: “натиснуто” і “не
натиснуто” (відповідно “1” та “0”) Усі перемикачі пронумеровані від 0
до 15 справа наліво і відповідають розрядам 16-розрядного двійкового
числа від молодшого розряду (0) до старшого (15).
Для того, щоб встановити усі розряди набірного поля в 0,
використовується спеціальна кнопка “Скидування набірного поля”.

22.

Вище набірного поля знаходиться поле „Занесення з набірного
поля” з 5-ма кнопками, які дозволяють занести значення двійкового
коду з набірного поля у один з внутрішніх регістрів процесора:
РА – Регістр Адреси пам’яті,
РД – Регістр Даних пам’яті,
А – Aкумулятор,
РІ – Регістр Інструкцій,
ЛАІ – Лічильник Адреси Інструкції.

23.

Для роботи із комірками пам’яті використовується поле
“Операція з пам’яттю” (рис. 1.7), яке розташоване у верхній
частині пульта управління.

24.

Як вже зазначалось вище, перш ніж виконувати операції запису або
читання (кнопки “Запис” та “Читання”), необхідно у Регістр Адреси
занести адресу потрібної комірки, а у випадку операції запису – також
до Регістра Даних занести число, яке буде записуватись.
Якщо операція доступу до пам’яті буде виконуватись із групою
комірок, які розташовані підряд, то у цьому випадку зручно
використовувати кнопку “+1”, яка автоматично збільшує значення
Регістра Адреси на 1. Наприклад, це зручно, коли необхідно занести у
пам’ять програму, або коли необхідно “онулити” (очистити) ряд
комірок , тобто занести число 0.

25.

Тепер перейдемо до поля внизу пульта управління, де розміщені
кнопки вибору одного з 3-х Режимів роботи (рис. 1.8.), кнопки
початку "ПУСК" і зупинки роботи "СТОП" та кнопка включення
Живлення навчального комп’ютера.
Використання кнопки „Живлення” пояснення не вимагає. На малюнку
ця кнопка активована – ліхтарик світиться червоним. Використання
інших кнопок розглянемо детальніше.

26.

.Кнопка “ПУСК” “примушує” процесор почати виконувати інструкції,
які знаходяться у пам’яті, починаючи з комірки, на яку вказує Лічильник
Адреси інструкцій. При цьому в залежності від обраного режиму роботи
процесор буде виконувати програму таким чином:
1) У Автоматичному режимі будуть виконуватись підряд усі
інструкції до тих пір, доки не зустрінеться інструкція зупинки HАLT (від
англ. to halt – зупинятись), натиснута кнопка “СТОП” або буде досягнута
інструкція зупинки у прграмі.
2) У Покроковому режимі виконується лише одна інструкція, на яку
вказує Лічильник Адреси Інструкцій, після чого Лічильник Адреси
Інструкції вкаже на наступну інструкцію і процесор зупиниться, чекаючи
наступного натискання кнопки “ПУСК”. Покроковий режим
використовується для відлагодження алгоритму виконання програми і
для дослідження сценарію виконання програми у процесорі симулятора
DeComp;
3) У Потактовому режимі виконується лише один мікрокрок
(мікрокоманда), з послідовності яких складається виконання однієї
інструкції. Потактовий режим роботи використовується для дослідження
процесу виконання окремих інструкцій навчального комп’ютера.

27.

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

28.

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

29.

Кінець опису апаратної частини
симулятора DeComp
English     Русский Правила