Навчальні моделі комп'ютера
Історики стверджують, що першою людиною, що сформулював ідею про машину, яка може робити обчислення автоматично (тобто без безпосередньої участі людини завдяки закладеній програмі) був Чарльз Беббідж 1 . Він не просто проголосив неочевидну в той час ідею автоматичної обчислювальної машини, а й присвятив все своє життя її розробці. Одна з його заслуг полягала в тому, що він передбачив функціональний пристрій обчислювальних пристроїв. За задумом Беббіджа, його аналітична машина мала наступні функціональні вузли [1]:
- "Склад" для зберігання чисел (за сучасною термінологією пам'ять);
- "Млин" (арифметичний пристрій);
- пристрій, що управляє послідовністю операцій в машині (Беббідж не дав йому назви, зараз використовується термін пристрій управління);
- пристрої введення та виведення даних.
Ідеї Беббіджа на десятиліття випередили появу придатною для практичної реалізації обчислювальних машин елементної бази - реально працюючі конструкції з'явилися лише в середині XX століття. Фундаментальні принципи архітектури ЕОМ були узагальнені і систематичним чином викладені в 1946 в класичній статті А. Беркса, Г. Голдстейн і Дж. Неймана "Попередній розгляд логічної конструкції електронного обчислювального пристрою" 2 . У ній, зокрема, чітко і логічно обґрунтовувалася структура ЕОМ.
"Вище ми в принципі вказали на два різних види пам'яті - пам'ять чисел і пам'ять наказів. Якщо, проте, накази машині звести до числовому коду ..., то орган пам'яті можна використовувати для зберігання як чисел, так і наказів."
"Якщо пам'ять для наказів є просто органом пам'яті, то повинен існувати ще орган, який може автоматично виконувати накази, що зберігаються в пам'яті. Ми будемо називати цей орган управлінням."
"Оскільки наш пристрій має бути обчислювальною машиною, в ньому повинен бути арифметичний орган" - "пристрій, здатний складати, віднімати, множити, ділити. Ми побачимо також, що воно може виконувати і інші операції, які зустрічаються досить часто."
"Нарешті, повинен існувати орган введення і виведення, за допомогою якого здійснюється зв'язок між оператором і машиною."
Наведена вище цитата з [2] чітко показує, що всі функціональні блоки ЕОМ мають цілком природне призначення і утворюють просту і логічно обґрунтовану структуру. Остання виявилася настільки вдалою, що багато в чому збереглася аж до наших днів. Для неї навіть використовується загальноприйнята назва фон-неймановская архітектура.
Примітка. Строго кажучи, Джон фон Нейман не є автором всіх принципів архітектури (докладніше див., Наприклад, в книзі [4]), але, тим не менш, в літературі цей термін широко використовується.
Таким чином, будь-яка обчислювальна машина містить в собі такі функціональні блоки:
- арифметико-логічний пристрій АЛП;
- пристрій управління УУ;
- різні види пам'яті;
- пристрої введення інформації і
- пристрої виведення інформації.
У зв'язку з величезними успіхами в мініатюризації електронних компонентів, в сучасних комп'ютерах АЛУ і УУ вдалося конструктивно об'єднати в єдиний вузол - мікропроцесор. Взагалі термін процесор майже повсюдно, за винятком детальної літератури, витіснив згадки про своїх складових АЛУ і УУ.
Якщо сам перелік функціональних блоків більш ніж за півстоліття практично не змінився, то способи їх з'єднання і взаємодії зазнали деякий еволюційний розвиток.
Відповідно до класичної фон-неймановской схемою, що переважали в 1-2 поколіннях, центром архітектури ЕОМ був процесор (див. Схему 1).
Схема 1. Функціональне пристрій ЕОМ 1-2 покоління
(Жирними стрілками показані керуючі впливу, а тонкими - направлення інформаційних потоків)
З наведеної схеми чітко видно, що центром такої конструкції є процесор. По-перше, він керує всіма пристроями, а по-друге, через нього проходять усі інформаційні потоки. Описаної системі за визначенням притаманний принциповий недолік - процесор виявляється надмірно перевантаженим. Повністю регулюючи обмін між усіма пристроями, він часто змушений пасивно чекати закінчення введення з повільних (як правило, містять механічні частини) пристроїв, що істотно знижує ефективність роботи всієї системи в цілому.
Виникла суперечність між постійно зростаючою продуктивністю процесора і відносно низькою швидкістю обміну із зовнішніми пристроями стало виразно помітно вже під час розквіту обчислювальної техніки другого покоління. Тому при проектуванні наступного, третього, покоління інженери почали вживати спеціальних заходів для "розвантаження" процесора і його звільнення від детального керівництва введенням / висновком.
На схемі 2, взятої з [5], наведена типова схема ЄС ЕОМ - великий обчислювальної машини колективного користування 3 покоління. На ній з'являються нові пристрої - канали, які обіймають керівні посади роботою зовнішніх пристроїв. Для всіх повільних пристроїв (типу перфокарточная або алфавітно-цифрового друкувального пристрою АЦПУ) призначається окремий мультиплексний канал, а для більш швидкодіючих пристроїв на магнітних стрічках МЛ і магнітних дисках МД - кілька селекторних. За завданням центрального процесора кожен з каналів здатний здійснювати операції обміну інформацією, причому вже без додаткового участі процесора.
Схема 2. Функціональне пристрій ЄС ЕОМ, що належить до 3 поколінню
Описаним чином центральний процесор звільняється від постійного керівництва роботою зовнішніх пристроїв: він тільки «видає завдання» необхідному каналу, і останній бере на себе повний контроль за деталями обміну.
Перехід до четвертого покоління ЕОМ не тільки супроводжувався багаторазовим підвищенням щільності монтажу в мікросхемах, але і зміною загальної стратегії застосування обчислювальної техніки. На зміну громіздким ЕОМ колективного користування прийшли персональні комп'ютери, призначені насамперед для індивідуальної роботи окремих користувачів. Архітектура при цьому продовжила свій розвиток і вдосконалення в напрямку звільнення процесора від керівництва процесами введення / виведення. В результаті сучасний ПК придбав структуру, наведену на схемі 3.
Схема 3. Функціональне пристрій ПК 4 покоління
Головною особливістю такої схеми є наявність виділеної шини (магістралі) для передачі інформації між функціональними вузлами комп'ютера. Вона складається з трьох частин:
- шина адреси, що визначає, куди саме прямує інформація по шині;
- шина даних, по якій передається інформація;
- шина управління, яка визначає особливості обміну і синхронізуюча його.
До шині приєднуються всі пристрої комп'ютера, починаючи від процесора і закінчуючи пристроями введення і виведення. Суттєвою особливістю архітектури ПК є наявність спеціалізованих процесорів введення / виводу, які називаються контролерами. Їх роль полягає в підтримці процесів обміну інформацією для даного пристрою, а також відповідно до стандартної шиною всіляких зовнішніх пристроїв різних виробників.
Примітка. На схемі 3 пунктиром показана відеопам'ять, яка приєднана до загальної магістралі. Подібне архітектурне рішення застосовується, наприклад, на деяких інтегрованих платах. Однак в більшості комп'ютерів відеопам'ять входить до складу контролера дисплея (його плату в побуті зазвичай називають відкритий). При первинному знайомстві даний блок можна не розглядати.
Завдяки шинної архітектури в конфігурацію комп'ютера легко внести будь-які необхідні конкретному користувачеві зміни.
Описана схема також має "вузьке місце" - вона вимагає високої пропускної здатності шини. Для подолання зазначеної проблеми в сучасних конструкціях використовується кілька шин, кожна з яких пов'язує процесор з певним пристроєм або групою пристроїв.
1 в літературі зустрічаються різні варіанти російського написання прізвища Babbadge
2 російський переклад опублікований в [2]; читачі газети можуть також звернутися до докладного аналізу статті в торішньому літньому номері [3]