
- •2. Архітектура обчислювальних систем
- •2.1 Функції бінарної логіки
- •2.2 Представлення даних на рівні машин
- •Виконання логічних операцій з цілими числами, представленими в машинних кодах
- •2.2.2. Принципи зображення дійсних чисел в памяті програми у форматі з плаваючою комою. Основні арифметичні операції над дійсними числами у форматі з плаваючою комою та їх проблеми
- •2.3. Пристрої введення-виведення. Поняття шини комп'ютера
- •2.4. Функціональна організація обчислювальних систем
- •2.4.1. Структура комп'ютера, класична архітектура фон Неймана, гарвардська архітектура
- •2.4.2. Ієрархічний принцип побудови пам'яті – регістрова, кеш, оперативна пам'ять, зовнішня пам'ять. Cpu.
- •2.4.3. Переферійні пристрої
2.4. Функціональна організація обчислювальних систем
2.4.1. Структура комп'ютера, класична архітектура фон Неймана, гарвардська архітектура
Архітектурою комп'ютера називається його опис на деякому загальному рівні, що включає опис призначених для користувача можливостей програмування, системи команд, системи адресації, організації пам'яті і так далі Архітектура визначає принципи дії, інформаційні зв'язки і взаємне з'єднання основних логічних вузлів комп'ютера: процесора, оперативного ЗП, зовнішніх ЗП і периферійних пристроїв. Спільність архітектури різних комп'ютерів забезпечує їх сумісність з точки зору користувача.
Структура комп'ютера – це сукупність його функціональних елементів і зв'язків між ними. Елементами можуть бути самі різні пристрої - від основних логічних вузлів комп'ютера до простих схем. Структура комп'ютера графічно представляється у вигляді структурних схем, за допомогою яких можна дати опис комп'ютера на будь-якому рівні деталізації.
Класична архітектура (архітектура фон Неймана) – один арифметико-логічний пристрій (АЛП), через який проходить потік даних, і один пристрій управління (ПУ), через яке проходить потік команд – програма. Це однопроцесорний комп'ютер.
Фізично системна магістраль є багатопровідною лінією з гніздами для підключення електронних схем. Сукупність дротів магістралі розділяється на окремі групи: шину адреси, шину даних і шину управління.
Периферійні пристрої (принтер і ін.) підключаються до апаратури комп'ютера через спеціальні контролери – пристрої управління периферійними пристроями.
Контролер – пристрій, який пов'язує периферійне устаткування або канали зв'язку з центральним процесором, звільняючи процесор від безпосереднього управління функціонуванням даного устаткування.
Багатопроцесорна архітектура. Наявність в комп'ютері декількох процесорів означає, що паралельно може бути організоване багато потоків даних і багато потоків команд. Таким чином, паралельно можуть виконуватися декілька фрагментів одного завдання. Структура такої машини, що має загальну оперативну пам'ять і декілька процесорів.
Багатомашинна обчислювальна система. Тут декілька процесорів, що входять в обчислювальну систему, не мають загальної оперативної пам'яті, а мають кожен свою (локальну). Кожен комп'ютер в багатомашинній системі має класичну архітектуру, і така система застосовується досить широко. Проте ефект від вживання такої обчислювальної системи може бути отриманий лише при вирішенні завдань, що мають дуже спеціальну структуру: вона повинна розбиватися на стільки слабо зв'язаних підзадач, скільки комп'ютерів в системі. Перевага в швидкодії багатопроцесорних і багатомашинних обчислювальних систем перед однопроцесорними очевидно.
Архітектура з паралельними процесорами. Тут декілька АЛП працюють під управлінням одного ПУ. Це означає, що безліч даних може оброблятися за однією програмою – тобто по одному потоку команд. Високу швидкодію такої архітектури можна отримати лише на завданнях, в яких однакові обчислювальні операції виконуються одночасно на різних однотипних наборах даних.
Архітектура фон Неймана (англ. Von Neumann architecture) — архітектура електронних обчислювальних машин, основною відмінністю якої від інших подібних архітектур є спільне зберігання даних та машинних команд в комірках однієї й тієї ж пам'яті, що унеможливлює їх розрізнення за способом представлення або кодування. Названа так на честь відомого математика та теоретика обчислювальної техніки Джона фон Неймана, та по сьогодні залишається домінуючою схемою організації ЕОМ загального призначення.
Га́рвардська архітекту́ра (англ. Harvard architecture) — архітектура обчислювальних машин, головною відмінністю якої від інших подібних архітектур (див. напр. Архітектура фон Неймана) є те, що дані та оператори (алгоритм) зберігаються окремо. Першим комп'ютером, який застосовував гарвардську архітектуру, був Mark I, який експлуатувався в Гарварді (звідки назва архітектури) та зберігав команди окремо на перфокартах, а дані в релейному запам'ятовуючому пристрої.
Така структура має одну важливу перевагу над фон-нейманівською архітектурою: дані можна завантажувати для обробки з запам'ятовуючого пристрою одночасно з командами. В фон-нейманівській архітектурі для зв'язку операційного та керувального пристроїв (які разом складають центральний процесор), використовується одна шина, тому необхідно спочатку завантажити в процесор команду, а вже потім, звернувшись по тій же шині за адресою, яка вказана в команді — завантажити дані. Наявність в гарвардській архітектурі двох незалежних підсистем пам'яті з окремими шинами дозволяє вести процес завантаження команд і даних практично паралельно.
Головним недоліком гарвардської архітектури є порівняна з фон-нейманівською складність реалізації. Адже для кожного з запам'ятовуючих пристроїв необхідний свій контролер і своя шина, що зі збільшенням розрядності призводить до зростання кількості з'єднань у системі, і це негативно впливає як на складність проектування, так і на швидкодію.
Гарвардська архітектура широко застосовується в спеціалізованих обчислювачах, зокрема в мікроконтролерах та цифрових сигнальних процесорах, де необхідний високоінтенсивний обмін даними. Також за гарвардською архітектурою зазвичай організується кеш-пам'ять в ЕОМ загального призначення, яка розділяється окремо на кеш-пам'ять команд та кеш-пам'ять даних (але, точніше, це стосується внутрішньої організації процесора, а не архітектури ЕОМ).
Типові операції (додавання та множення) вимагають від будь-якого обчислювального пристрою кількох дій:
вибірку двох операндів;
вибір інструкції та її виконання;
збереження результатів.
Ідея, реалізована Ейкеном, полягала у фізичному поділі ліній передачі команд та даних. У першому комп'ютері Ейкена «Марк I» для зберігання інструкцій використовувалася перфострічка, а для роботи з даними — електромеханічні регістри. Це дозволяло одночасно пересилати й обробляти команди і дані, завдяки чому значно підвищувалася загальна швидкодія комп'ютера.
У гарвардській архітектурі характеристики пристроїв пам'яті для інструкцій і пам'яті для даних не обов'язково повинні бути однаковими. Зокрема, ширина слова, тактування, технологія реалізації та структура адрес пам'яті можуть розрізнятися. У деяких системах інструкції можуть зберігатися в пам'яті тільки для читання, в той час як для збереження даних зазвичай потрібно пам'ять з можливістю читання і запису. У деяких системах потрібно значно більше пам'яті для інструкцій, ніж пам'яті для даних, оскільки дані зазвичай можуть довантажуватися з зовнішньої або більш повільної пам'яті. Така потреба збільшує бітність (ширину) шини адреси пам'яті інструкцій в порівнянні з шиною адреси пам'яті даних.
Відмінність від архітектури фон Неймана У чистій архітектурі фон Неймана процесор в кожен момент часу може або читати інструкцію, або читати/записувати одиницю даних з/в пам'ять. Обидві дії одночасно відбуватися не можуть, оскільки інструкції і дані використовують один і той же потік (шину). У комп'ютері з використанням гарвардської архітектури процесор може читати інструкції і виконувати доступ до пам'яті даних одночасно, без використання кеш-пам'яті. Таким чином, комп'ютер з гарвардською архітектурою при певній складності схеми працює швидше, ніж комп'ютер з архітектурою фон Неймана, оскільки шини інструкцій і даних розташовані на різних, не пов'язаних між собою фізично, каналах.
Виходячи з фізичного поділу шин команд і даних, розрядності цих шин (отже, і адресні простори) можуть мати різні значення і фізично не можуть перетинатися один з одним.