Інформатика: технічни дещо забезпечення
Платов А.
Загальні відомості
Покоління ЕОМ
Народження на світ ЕОМ було викликано потребою вирішувати військові завдання розрахункового характеру. Перша цифрова ЕОМ "ENIAC" була створена в 1946 р. в США і призначалася для балістичних розрахунків при стрільбі. Перша вітчизняна цифрова ЕОМ «МЕСМ» створена в 1950 р. Хід розвитку ЕОМ прийнято ділити на етапи - покоління ЕОМ. Основний показник, за яким ЕОМ відносять до того чи іншого покоління - елементна база.
Період | Ел. база | Швидкодія | Обсяг ОЗУ | Зовнішні пристрої | Архітектура | Програмне забезпечення |
1946-60 | вакуумні лампи, | 0,1 mips | 100 Кб | магн. барабан магн. стрічка перфокарта перфострічка цифровий друк, телетайп | фон Неймана | Бібліотеки стандартних програм і асемблери |
1955-70 | напівпровідники | 1 mips | 1Мб | Графобудівник, магнітний диск | мультипрограмний режим | Операційні системи, мови програмування високого рівня та транслятори, СУБД |
1965-80 | БІС | 10 mips | 10Мб | Дисплеї, гнучкі диски, матричні принтери | Міні-ЕОМ, мережі ЕОМ, системи колективного користування | Діалогові системи, машинна графіка, системи обробки текстів, промислове виробництво програмного забезпечення |
1975-90 | НВІС | 100 mips | 100Мб | Лазерний принтер, вінчестер, оптичний диск | ПЕОМ, багатопроцесорні системи, локальні мережі | Бази знань, експертні системи, складальне програмування, пакети прикладних програм загального призначення. |
Сучасні ЕОМ відносяться також до четвертого покоління.
Класифікація ЕОМ
Будь-яка класифікація ЕОМ умовна в силу їх надзвичайного розмаїття. Призначення і функціональні можливості ЕОМ - це дві взаємопов'язані сторони, за якими можна визначати місце ЕОМ.
СуперЕОМ [super computer] - надпотужною система, призначена для вирішення завдань, що вимагають великих обсягів обчислень. До таких задач відносяться задачі аеродинаміки, ядерної фізики і фізики плазми, сейсмології, метеорології, обробки зображень і ін суперЕОМ завжди виконуються на межі технічних можливостей. Це системи загального призначення.
Сервер [server] - ЕОМ, що надає свої ресурси іншим користувачам. Розрізняються файл-сервери, сервери друку, сервери баз даних та ін Наявність сервера завжди передбачає наявність інших ЕОМ, які об'єднані в мережу. Мережі та сервери - це нероздільні поняття. ЕОМ, яку обслуговує сервер, називається клиентной робочою станцією або просто клієнтом.
Робоча станція [workstation] - спеціалізована високопродуктивна ЕОМ, орієнтована на професійну діяльність у певній галузі (зазвичай САПР, графіка), що має тому додаткове обладнання та спеціалізоване програмне забезпечення.
Персональна ЕОМ - ПЕОМ [personal computer - PC] - універсальна, однокористувальницька ЕОМ. Налаштування такий ЕОМ може виконуватися, як правило, самим користувачем. Серед ПЕОМ можна виділити переносні ПЕОМ - наколінні [laptop], блокнотние [notebook] і кишенькові [palmtop] ЕОМ.
Термінал [terminal] - пристрій, підключений до більш потужної ЕОМ, не призначене для роботи в автономному режимі і забезпечує введення-виведення інформації і команд користувача.
Архітектура ЕОМ
Архітектура ЕОМ - це спосіб обробки даних (спосіб організації обчислювального процесу), який реалізується апаратурою ЕОМ.
Найпростіша архітектура була визначена Дж. фон Нейманом в середині 40-х років. В якості основних пристроїв універсальної ЕОМ були виділені: центральний процесор (ЦП) [processor (CPU)] (арифметико-логічний пристрій + пристрій управління), пам'ять для зберігання даних і команд і пристрої введення-виведення.
Обчислювальний процес виконується строго послідовно: команда за командою. Також послідовно обробляються дані.
Такий спосіб організації обчислювального процесу пізніше отримав назву архітектури фон Неймана.
Приклад
Кожна машинна команда виконується у 5 етапів: зчитування команди з пам'яті, дешифрування команди, зчитування даних, виконання команди, запис результатів у пам'ять.
Розглянемо просту програму:
a = b + c
d = e + f
ЕОМ, побудована згідно архітектурі фон Неймана, послідовно виконає ці дві команди. Причому після виконання кожної команди процесор буде простоювати, очікуючи, поки результат запишеться у пам'ять, і потім прийдуть нові дані для наступної команди.
Однак ці команди є непов'язаними, тому що для них потрібні різні дані. Тому їх можна було б виконувати паралельно.
Джерело: [7].
Вже в 50-х рр.. були розпочаті роботи по розробці такої архітектури ЕОМ, яка дозволяла в тій чи іншій мірі оптимізувати обчислювальний процес.
Щоб мінімізувати число звернень до пам'яті при виконанні серії незв'язаних операцій, була розроблена конвеєрна [pipeline] архітектура.
Для прискорення виконання команд процесор ставить їх на конвеєр, що складається, наприклад, з 5 каскадів. Пристрій, що виконує таку обробку команд, називається конвеєром команд [command pipeline]. Таким чином, фази виконання різних операцій сполучаються в часі, тим самим потік команд з пам'яті команд стає більш інтенсивним.
Прискорення виконання незв'язаних арифметичних операцій досягається аналогічним способом за допомогою арифметичного конвеєра [arithmetic pipeline], який інтенсифікує потік даних з пам'яті.
Щоб скоротити час обробки даних, можна застосувати інший очевидний спосіб: поєднати виконання двох або більше арифметичних операцій у часі. Для цього потрібно просто мати два або більше арифметичних пристроїв. Така архітектура називається суперскалярной [superscalar].
Архітектура фон Неймана, конвеєрна і суперскалярна архітектури об'єднуються загальною назвою - архітектура SISD [Single Instruction Single Data] (див. рис. 2.1).
Рис. 1. Архітектура SISD
Відповідно до цієї архітектурі існує один потік команд і один потік даних. Ці потоки можуть піддаватися конвеєризації або розпаралелюванню усередині процесора. Більшість сучасних ЕОМ побудовано за таким принципом.
Вирішення багатьох завдань на ЕОМ пов'язано обробкою даних векторного або матричного типу. У таких завданнях будуть присутні програмні фрагменти типу:
for i = 1 to N: a [i] = b [i] + c [i]: next i
Причому число N може бути дуже велике (сотні тисяч і більше). Використання ЕОМ архітектури SISD стає неефективним.
Для вирішення подібних завдань застосовуються ЕОМ векторної [vector] архітектури. До складу такої ЕОМ входить векторний процесор [array (vector) processor], який являє собою кілька однотипних процесорних елементів, кожен з яких виконує операцію з відповідним елементом вектора даних.
Така архітектура іменується також як архітектура SIMD [Single Instruction Multiple Data] (див. рис. 2.2).
Більшість сучасних суперЕОМ використовують векторно-конвеєрну архітектуру, тобто кожен процесорний елемент векторного процесора використовує конвеєрний спосіб обробки даних і команд.
Архітектури SISD і SIMD об'єднуються в клас однопроцесорних архітектур.
Клас багатопроцесорних архітектур також може бути зведений до двох видів: MISD-архітектура та MIMD-архітектура.
В архітектурі MISD [Multiple Instruction Single Data] одні й ті ж дані обробляються великою кількістю паралельних процесів. Такий архітектурі відповідає звичайна локальна мережа персональних ЕОМ, яка працює із загальною базою даних. ЕОМ, які відповідають MISD-архітектурі, не існує.
Рис. 2. Архітектура типу SIMD
Архітектура MIMD [Multiple Instruction Multiple Data] включає в себе можливості всіх розглянутих вище архітектур.
Можна виділити два різновиди MIMD-архітектури: Сільносвязанная і слабкозв'язаного системи. Сільносвязанная архітектура реалізується, наприклад, в багатопроцесорних серверах. Слабкозв'язаного архітектуру можна проілюструвати на прикладі кластерних систем.
Продуктивність ЕОМ
Основа для порівняння ЕОМ різних типів - це продуктивність ЕОМ, тобто час, який витрачає ЕОМ на виконання певного обсягу роботи.
Найточнішу практичну оцінку продуктивності конкретної ЕОМ можна отримати лише з часу роботи реальної програми, для виконання якої потрібна дана ЕОМ.
Однак оскільки ЕОМ використовуються, як правило, для вирішення різних завдань, то існують різноманітні тести, за допомогою яких можна оцінити можливості ЕОМ.
Найпростішою (і самої неточною) характеристикою продуктивності є число MIPS [Million Instructions Per Second] - мільйон команд в секунду. У загальному випадку MIPS визначається як відношення кількості команд у програмі на час її виконання. Більше число MIPS на практиці не значить більш високої продуктивності ЕОМ. Це число, взагалі кажучи, може мінятися при виконанні різних програм навіть на одній ЕОМ. Операції з плаваючою точкою складаються з декількох десятків звичайних цілочисельних операцій, тому якщо ЕОМ з низьким числом MIPS має більш ефективну реалізацію плаваючої арифметики, то така ЕОМ може бути більш продуктивною, ніж ЕОМ з високим числом MIPS.
Для оцінки продуктивності ЕОМ, призначених для вирішення науково-технічних завдань, в яких істотно використовується плаваюча арифметика, застосовується оцінка за кількістю MFLOPS [Million Floating Point Operations Per Second] - мільйон плаваючих операцій в секунду. Ця оцінка набагато більш точна, ніж оцінка за MIPS, але справедлива тільки для оцінки можливостей ЕОМ при роботі з плаваючими числами.
Інші способи оцінки продуктивності засновані на використанні спеціально підібраних тестових завдань. Найбільш відомими є тести LINPACK, SpecInt92 і SpecFp92, AIM.
Приклад
Продуктивність сучасних суперЕОМ досягає десятків GFLOPS. Продуктивність ПЕОМ має порядок десятків MFLOPS.
Апаратні компоненти персональних ЕОМ
Структура ПЕОМ
Головна особливість структури ПЕОМ полягає в тому, всі пристрої ПЕОМ обмінюються інформацією через системну шину (див. рис.2.3). До системної шині підключений центральний процесор (або кілька процесорів), оперативна, постійна і кеш-пам'ять, які виконані у вигляді мікросхем. Згадані компоненти монтуються на материнській платі [mother board]. До материнської плати приєднуються плати (карти) зовнішніх пристроїв (ВП): відеоадаптер, звукова плата, мережева плата та ін У залежності від складності пристроїв на цих платах можуть розташовуватися інші спеціалізовані процесори: математичний, графічний та ін За допомогою проводів до материнської плати підключені жорсткий диск, дискету і пристрій читання оптичних дисків.
Рис. 3. Структурна схема ПЕОМ
Всі згадані компоненти розташовуються в системному блоці. Корпус системного блоку може бути виконаний у вигляді:
desktop - настільне виконання з горизонтальним розташуванням материнської плати;
mini-tower - настільне виконання з вертикальним розташуванням материнської плати;
big tower - підлогове виконання з вертикальним розташуванням материнської плати.
Вибір типу корпусу диктується в основному можливістю подальшого розширення комплектації ПЕОМ.
Інші компоненти, які знаходяться поза системного блоку, іменуються зовнішніми пристроями: монітор, клавіатура, миша і інші маніпулятори, пристрої резервного копіювання і архівації, сканери, модеми та ін
Системна шина
Системна шина [bus] - система об'єднаних проводів для передачі інформації між підключеними до неї пристроями ЕОМ. По шині передається інформація трьох типів: дані, адреси даних, команди.
Основні характеристики шини даних:
тактова частота;
розрядність даних і адреси.
Тактова частота шини [bus clock, bus frequency] вимірюється у МГц і визначає, скільки разів за секунду може бути передана порція даних. Розмір цієї порції визначається розрядністю шини, яка вимірюється в бітах. Твір розрядності на частоту визначає теоретичну пропускну здатність шини.
Приклад
Найбільш широко використовується в даний час є шина PCI (Peripheral Component Interconnect). Застаріла шина ISA (Industry Standard Architecture) або AT-шина до цих пір використовується з причин забезпечення сумісності. Основні характеристики наведено в табл. 2.2.
Таблиця 2. Характеристики системних шин
Назва | Частота, МГц | Розрядність даних | Розрядність адреси | Мбайт / с |
PC XT | 4,77 | 8 | 20 | 5 |
ISA | 8 | 16 | 24 | 8 |
PCI | 33 | 32,64 | 32 | 80,160 |
Центральний процесор
Центральний процесор [processor, CPU] - пристрій, що безпосередньо здійснює процес обробки даних. Основне завдання процесора - це інтерпретація команд і розсилка відповідних керуючих сигналів до інших пристроїв. Процесори в ПЕОМ виконані у вигляді однієї мікросхеми і тому називаються також мікропроцесорами.
Основні характеристики процесора:
тактова частота;
довжина слова (розрядність);
архітектура.
Тактова частота процесора [CPU speed (clock, frequency)] число елементарних операцій - тактів, виконуваних протягом однієї секунди. У сучасних ПЕОМ під тактовою частотою розуміється внутрішня частота. Обмін даними із зовнішнім світом здійснюється на частоті системної шини, яка завжди менше внутрішньої частоти процесора. Тактова частота грубо характеризує швидкість роботи процесора.
Довжина слова (розрядність процесора) - це максимальна кількість розрядів двійкового коду, які можуть передаватися або оброблятися одночасно за один такт. Всі сучасні мікропроцесори 32 або 64 розрядні.
Приклад
Стосовно до ПЕОМ поняття «розрядність» включає:
розрядність внутрішніх регістрів (внутрішня довжина слова);
розрядність шини даних (зовнішня довжина слова);
розрядність шини адреси.
Розрядність внутрішніх регістрів визначає формат команд процесора і розмір даних, з якими можна оперувати в командах.
Розрядність шини даних визначає швидкість передачі інформації між процесором та іншими пристроями.
Розрядність шини адреси визначає розмір адресного простору, тобто максимальне число байтів, до яких можна здійснити доступ. Наприклад, якщо розрядність шини адреси дорівнює 16, то можливий розмір пам'яті в ЕОМ дорівнює 216 = 65536 або 65 Кб.
Архітектура процесора - це дуже ємне поняття, в складі якого можна розглядати такі елементи:
система команд;
спосіб організації обчислювального процесу;
підтримка мультипроцессорности.
Система команд [instruction set] - повний список кодів операцій, які здатний виконувати процесор. По складу команд розрізняють: CISC-архітектуру [Complex Instructions Set Computer] і RISC-архітектуру [Reduced Instructions Set Computer].
Більшість ЕОМ використовує CISC-архітектуру. Основна ідея RISC - так спростити команди процесора, щоб вони могли бути виконані за один такт. Це дозволяє спроектувати дуже ефективний конвеєр команд.
Набір команд процесора визначає його функціональне призначення, відповідно до якого розрізняють універсальні і спеціалізовані процесори.
Універсальний процесор здатний реалізувати будь-який алгоритм і використовується в якості центрального процесора. Спеціалізований процесор служить для вирішення задач певного класу. Серед таких співпроцесорів можна виділити математичні та графічні процесори.
З системою команд пов'язана така важлива властивість, як сумісність. Два процесора називаються сумісними [compatible], якщо їх системи команд однакові.
Приклад
Програму прискорення клавіатури можна записати в машинному мовою:
B8 Травня 2003 BB-00 00 CD 16-CD 20
або в перекладі на автокод
B80503 mov ax, 00305
BB0000 mov bx, 00000
CD16 int 16
CD20 int 20
Дана програма використовує систему команд процесора Intel8086 і без змін може бути перенесена на процесори Intel 80286, 80386, 80486, Pentium I, Pentium II, Pentium III. Тому всі ці процесори називаються сумісними знизу вгору. Зверху вниз ці процесори несумісні, тому що, наприклад, Pentium III має команди, які не підтримуються процесором Pentium I.
Для підвищення ефективності обчислювального процесу в сучасних мікропроцесорах застосовується конвеєрна і суперскалярна обробки даних.
Процесор може мати пристрої, які дозволяють використовувати його в багатопроцесорної конфігурації. Робота в мультипроцесорної режимі забезпечується як архітектурою процесора, так і можливостями операційної системи. Наприклад, Windows95 не має такої підтримки, а Windows NT Server підтримує чотири процесори.