Питання програмного забезпечення (ПО) МПС найширше висвітлені в навчальній і технічній літературі. Тому завданням даного навчального посібника є лише деяке упорядкування знань про різноманіття ПО з точки зору системного підходу до проектування МПС.
МП як числовий виконавець здатний виконувати деякі функціонально завершені послідовності дій над числами - операндами. Ці послідовності маркуються (позначаються) тим же "мовою" чисел, який сприймається пристроєм управління МП. Число-маркер, поставлене у відповідність деякій послідовності дій МП по обробці інформації в рамках своєї структури, називається кодом операції. а сама послідовність - командою.
Повний набір команд, які здатний виконувати МП, носить назву системи команд. Програмою називається послідовність дій конкретного елемента МПС, описана в термінах його команд.
Таким чином, принциповим гідністю МП є його программируемость, тобто можливість налаштування на конкретний вид преоб-утворень вхідного інформаційного потоку. Необхідна умова програмованість - можливість описати будь-яка дія з необхідною для МП ступенем деталізації (до команд).
На зорі виникнення обчислювальної техніки більшу частину витрат при розробці становили апаратні засоби. В даний час при створенні МПС понад 90% витрат прихо-диться на програмне забезпечення (ПО), так як удосконалювалися технології виробництва апаратних засобів, а праця програміста залишався таким же витратним (див. Ріс.61). Тому однією з умов успішного впровадження МПС яв-ляется наявність вже розробленого і добре розвиненого поподя виб-ранний МПК. яке зазвичай складається з двох частин: резидентної і крос-забезпечення (див. ріс.62).
Резидентне ПО - це сукупність програм, розроблених для конкретної МПС на мові використовуваного в ній процесора. До нього можна віднести:
програми самодіагностики для контролю правильності функціонування даної МПС;
прикладні програми. безпосередньо реалізують функції, покладені на систему користувачами (управління об'єктами, проектування виробів і багато іншого);
операційна система. забезпечую-щая як організацію спільного функціонування всіх елементів її структури (монітор. включає в себе драйвери зовнішніх пристроїв - програми, що реалізують інформаційно-логічне сполучення ВУ з ним), так і розподіл ресурсів МПС між прикладними програмами (процесами) користувача (супервизорного частина);
Іншу велику частину програмного забезпечення МПК становить крос-забезпечення - це сукупність програм для розробки і налагодження резидентного ПО МПС на МПС (ПЕОМ) з іншим типом МП. До них відносяться:
інтерпретатор. здійснюють переклад програми з початково-го мови в команди МП з одночасним їх виконанням;
дизассемблер - транслятор, який здійснює зворотне перетворення виконуваної програми з мови команд МП на формальну мову - Асемблер;
програмний емулятор. що дозволяють промоделювати роботу МП і інших аппа-ратних засобів розробляється МПС на інший ЕОМ,
і багато іншого.
Розподіл (картування) пам'яті.
Зазвичай розробка цільової програми ведеться по частинах, каж-дая з яких виконує певну функцію. Тут можна вка-мовити наступні блоки:
- реалізації обміну між МП і ВУ (монітор з входячи-ські в нього драйверами - подпрограммами, преобразующе-ми формат даних при передачі їх від одного ВУ або МП до іншого);
- планування, розподілу та управління використанням ресурсів МПС (супервізор) і ін.
Крім того, в ЗУ МПС виділяються поля під зберігання постійної (таблиці і константи) і оперативно змінюється інформації (робочі осередки). Застосування підпрограм значно скорочує потребу в ЗУ.
Зазвичай при розробці спеціалізованої МПС управління деяким технологічним об'єктом програму роботи МПС і константну інформацію зберігають у ПЗУ, що зберігає її при відключенні харчування, а оперативні дані і стек реалізують в ОЗУ.
Як приклад на малюнку 63 приведено укрупненное розподіл ПО для ПЕОМ клону РС (фірма IBM) в порівняння з комп'ютерами фірми Apple. Цей розподіл було обумовлено патентної боротьбою за ринок ПЕОМ і призвело до серйозних проблем в теперішньому часі при їх використанні.
Проблеми, що виникають при розробці ПЗ.
Завдання створення ПЗ не так проста, як може здатися на перший погляд. Перед керівником виникають вимагають прістален-ного уваги питання
- виміру, оцінки і управління продуктивністю праці програмістів, що підлягає оплаті;
- підвищення якості ПЗ (відсутність помилок, компактність і ін.) шляхом розробки нових технологій створення ПО;
- транспортабельности ПО, тобто сумісності його з різними формами і-ми МПС, особливо в масовому виробництві;
- експлуатації ПО (не відповідає очікуванням замовника, помилки при розробці та адаптації МПС до ТОУ і т. д. - найбільш до-дорогої питання).
Спостерігається нестача фахівців в цій області і, як наслідок, вибухове зростання зайнятості в сфері створення і адаптації ПО до потреб виробництва.
Основні труднощі в області розробки цільового ПО укладаючи-ється в тому, що заказчікне знає, що йому потрібно. Розвинена система коштує дорого, а спрощена виявляється неконкурентоспроможною порівняно з іншими системами.
Все сказане вище визначає завдання по створенню ПЗ.
Розробка загальної методології та ефективних технологій програмування.
Підвищення кваліфікації програмістів.
Створення засобів програмного навчання.
Розробка способів вимірювання ефективності і трудомісткості роботи програмістів (як приклад можна привести критерій оцінки продуктивності за кількістю операторів в програмі).
Ми коротко розглянули особливості побудови МПС управління ТОУ і "злегка" торкнулися таких важливих питань, як построе-ня багатопроцесорних МШС і мереж МПС, реалізації мікропрограмного управління і ін. Охочих поглибити свої знання відсилаємо до літератури [1-6,8-19] і спецкурсів, що читаються з відповідних дисциплін.