Призначення основних вузлів комп’ютера

1) Пристрій керування призначений для розшифровки команд та інструкцій, які поступають із запам’ятовуючого пристрою, і для керування роботою інших вузлів ЕОМ. Керування полягає в тому, що за допомогою пристрою керування забезпечується контроль послідовності виконання команд, організовується обмін інформацією всередині машини, проводиться перевірка правильності виконання команд і взагалі координація роботи всіх вузлів.

2) Арифметично-логічний пристрій служить для обробки інформації різного виду. Ця обробка зводиться до виконання арифметичних і логічних дій. Крім цього у пристрої відбуваються процеси перетворення символьної інформації, обробка даних, представлених в різних форматах.

3) Запам’ятовуючий пристрій (пам’ять) – зберігає протягом певного часу введені в ЕОМ дані і команди. До них відносяться числа, двійкова і символьна інформація, яка підлягає перетворенню у відповідності з командами. В залежності від призначення запам’ятовуючий пристрій поділяється на зовнішній і оперативний.

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

4) Пристрій керування, арифметичний пристрій і оперативний запам’ятовуючий пристрій ЕОМ складають центральний процесор, хоча інколи оперативний запам’ятовуючий пристрій виділяється в окремий блок. Решта вузлів машини відносяться до зовнішніх пристроїв або периферії.

5) Пристрій вводу виводу забезпечує зв’язок ЕОМ з джерелами інформації і оператором. Пристрої вводу дозволяють вводити в ЕОМ інформацію, яка представлена в цифровій формі і сформовану поза машиною, заповнювати запам’ятовуючі пристрої програмами і даними, які підлягають обробці. За допомогою пристроїв виводу проводиться представлення результатів обробки у формі, придатній для подальшого використання, тобто у вигляді таблиць, графіків, нанесених на папір або інформації на носіях, яку в подальшому можна вводити в ЕОМ.

 

1.2.2.2 Загальний порядок роботи комп’ютера

Спочатку за допомогою якогось зовнішнього пристрою в пам’ять комп’ютера вводиться програма. Пристрій керування зчитує вміст комірки пам’яті де знаходиться перша інструкція (команда) програми, і організовує її виконання. Ця команда може задавати виконання арифметичних або логічних операцій, зчитування з пам’яті даних для виконання логічних або арифметичних операцій, або запис їх результатів у пам’ять, ввід даних із зовнішнього пристрою в пам’ять або ввід даних з пам’яті на зовнішній пристрій. Як правило, після виконання однієї команди пристрій керування починає виконувати команду з комірки пам’яті, яка знаходиться безпосередньо за тільки що виконаною командою. Однак, цей порядок може бути змінений за допомогою команд передачі управління (переходу). Ці команди вказують пристрою керування, що йому потрібно продовжити виконання програми, починаючи з команди, яка є в деякій іншій комірці пам’яті. Таким чином, керуючий пристрій виконує інструкції програми автоматично, тобто без втручання людини. Він може обмінюватись інформацією з оперативною пам’яттю і зовнішніми пристроями комп’ютера. Оскільки зовнішні пристрої, як правило, працюють значно повільніше, ніж решта частин комп’ютера, керуючий пристрій може призупиняти виконання програми до завершення операції вводу-виводу із зовнішнім пристроємю всі результати виконаної програми повинні бути нею виведені на зовнішні пристрої комп’ютера, після чого комп’ютер переходить до очікування яких-небудь сигналів зовнішніх пристроїв. Крім того, процес виконання програм може перериватись для виконання невідкладних дій, пов’язаних з поступленням сигналів від зовнішніх пристроїв комп’ютера – переривань [2].

Принципи роботи центрального процесора ЕОМ, у склад якого входять процесор і оперативна пам’ять спрощено розглянемо на наступному прикладі: (5+35)´10. Уявимо, що програма для наведених арифметичних операцій знаходиться в комірках оперативної пам’яті з номерами 201-204, а дані зберігаються в

 
 

комірках пам’яті 301-304 (рис.1.2)

Рисунок 1.2 - Приклад виконання програми мікропроцесором

 

Програма містить наступні команди:

VST – помістити вміст комірки пам’яті з адресою 301 в арифметичний пристрій;

ADD – додати до вмісту комірки пам’яті з адресою 302;

MUL – перемножити суму на вміст комірки пам’яті з адресою 303;

VYST – завантажити результат в комірку пам’яті з адресою 304.

Очевидно, що коди операції і дані повинні бути представлені у двійковій системі числення. Для послідовного виконання окремих операцій пристрій керування повинен забезпечити реалізацію наступних функцій: зчитування команди, інтерпретацію коду операцій, встановлення адреси операнда, встановлення лічильника команд для вибірки наступної команди, виконання команди, заданої кодом операції. Функціональна схема центрального процесора приведена на рис.1.3.

Перш за все необхідно завантажити в лічильник команд, який є складовою частиною пристрою керування, адресу 201. За сигналом ПУСК пристрій керування передає адресу 201 в оперативну пам’ять (лінія а). Командне слово, яке зберігається по цій адресі, пересилається в регістр команд пристрою керування (лінія в). Код операції VST забезпечить вироблення відповідних керуючих сигналів для завантаження в регістр арифметичного пристрою вміст у відповідної комірки пам’яті (лінія с). Адреса (адресна частина команди), яка зберігається в регістрі команд, викликає через регістр адреси вміст комірки пам’яті з номером 301 із оперативної пам’яті (лінія d). Вміст даної комірки (число 5) передається в регістр арифметичного пристрою (лінія е). Арифметичний пристрій видає в пристрій керування інформацію про закінчення операції (лінія f), внаслідок цього вміст лічильника команд збільшується на одиницю, тобто стає рівним 202. Розглянута вище послідовність повинна повторитись по командному слову, яке зберігається у комірці пам’яті з адресою 202.

 

1.2.2.3 Суперскалярна архітектура

Для того, щоби пояснити цей термін, розберемося спочатку зі значенням іншого терміну – конвеєризація обчислень. Важливим елементом архітектури, який появився у і486, став конвеєр – спеціальний пристрій, який реалізує такий метод обробки команд всередині мікропроцесора, при якому виконання команди розбивається на декілька етапів [1]. Ці п’ять етапів включають:

– вибірку команди із кеш-пам’яті або оперативної пам’яті;

– декодування команди;

– генерацію адреси, при якій визначаться адреси операндів у пам’яті;

– виконання операцій за допомогою арифметично-логічного пристрою (АЛП);

– запис результату (куди буде аписана адреса, залежить від алгоритму роботи конкретної машинної команди).


Рисунок 1.3 - Функціональна схема центрального процесора

Таким чином, на стадії виконання кожна машинна команда розбивається на дрібніші операції. В чому перевага такого підходу? Чергова команда після її вибірки попадає в блок декодування. Таким чином, блок вибірки вільний і може вибирати наступну команду. В результаті на конвеєрі можуть знаходитись на різній стадії виконання п’ять команд. Швидкість обчислення в результаті суттєво виростає. Мікропроцесори, які мають один конвеєр, називають скалярним. Pentium має два конвеєри, а Pentium-Pro – три, тому ці мікропроцесори називаються суперскалярними.

 

1.2.2.4 Роздільне кешування коду і даних

Кешування – це спосіб збільшеня швидкодії системи за рахунок зберігання часто використовуваних даних і кодів у так званій “кеш-пам’яті першого рівня” (швидкій пам’яті), яка знаходиться всередині мікропроцесора і486, наприклад, містить один блок вмонтованої кеш-пам’яті розміром 8Кбайт. При цьому стає можливим одночасний доступ до коду і даних, що збільшує швидкість роботи комп’ютера [1].

 

1.2.2.5 Передбачення правильної адреси переходу

Під переходом розуміється запланована алгоритмом зміна послідовного характеру виконання програми. Як показує статистика, типова програма на кожні 6-8 команд містить одну команду переходу. Наслідки цього передбачити не складно: при наявності конвеєра через кожні 6-8 команд його необхідно очистити і заповнювати знову у відповідності з адресою переходу. Всі переваги конвеєризації втрачаться. Тому в архітектуру Pentium був введений блок передбачення переходів. Суть цього методу полягає в наступному. Pentium має буфер адрес переходу, який зерігає інформацію про послідні 256 переходів. Якщо деяка команда керує галуженням, то в буфері запам’ятовується ця команда, адреса переходу і передбачення того, яка гілка програми буде виконана наступною. Майже в кожній програмі є цикли, в ході виконання яких періодично необхідно приймати рішення або про вихід з циклу, або про перехід на його початок. Спеціальний блок передбачення адреси переходу прогнозує, яке рішення буде прийнято програмою. При цьому він базується на передбаченні, що вітка, яка була пройдена, буде використана знову, і завантажує відповідну команду переходу на конвеєр. У випадку, якщо це передбачення вірне, перехід проводиться без затримки. Для того, щоби судити про ефективність цього нововведення, достатньо відмітити, що імовірність правильного передбачення складає близько 80% [1].