Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонов О.С., Хiхловська I.В. Обчислювальна тех...doc
Скачиваний:
15
Добавлен:
01.09.2019
Размер:
4.12 Mб
Скачать

10 Програмна реалізація вузлів телекомунікаційного обладнання на мові асемблер-86

Вхідний контроль:

  1. Що таке алгоритм?

  2. Які засоби задання алгоритмів Ви знаєте?

  3. Які вузли телекомунікацій Ви знаєте?

  4. Яку роль у пристроях телекомунікацій відіграють системи синхронізації та генератори імпульсів?

10.1 Способи реалізації алгоритмів

Алгоритм будь-якого процесу можна реалізувати трьома основними способами – апаратним, матричним та програмним.

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

Матричний спосіб по суті є також детермінованим, він реалізується за матричною технологією на кришталі мікросхеми. Логічні функції програмованої логічної матриці (ПЛМ, PAL – Programming Array Logic) описуються у вигляді функцій алгебри логіки – булевих рівнянь. Ці рівняння транслюються у карту плавких перемичок спеціалізованим компілятором на комп’ютері, результуюча карта виводиться у вигляді стандартизованого файлу. Цей файл завантажується у програматор, і плавкі перемички перепалюються. До переваг ПЛМ відносяться програмованість, вони відносно дешеві порівняно з апаратно реалізованими вузлами. До недоліків ПЛМ слід віднести відсутність у них пристроїв пам’яті та низьку швидкодію. ПЛМ використовуються для реалізації інтерфейсів, контролерів магістралей у мікропроцесорних системах, декодерів адрес тощо.

Програмний спосіб базується на поетапно-послідовній реалізації алгоритмів зі зберіганням проміжних результатів при програмному керуванні усіма виконуваними діями. Такий спосіб є найбільш універсальним і об’єднує можливості оптимального використання апаратних та програмних засобів. Програмний спосіб реалізації вузлів будь-якої апаратури базується на використанні програмованих ВІС-мікропроцесорів та мікроконтролерів і сполучує їх великі можливості по обробці інформації, досягнувану високу швидкодію, низку вартість. Цей спосіб є найбільш використовуваним у сучасних реалізаціях вузлів телекомунікацій на апаратно-програмних комплексах.

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

У загальному випадку програмна модель апаратних засобів вміщує програму роботи та значення вхідних змінних (сигналів), які програма переробляє у набори вихідних сигналів.

10.2 Розробка апаратно-програмних комплексів

Розробка програмного забезпечення є застосування принципів, навичок та творчого підходу до складання програмних комплексів. Середовищем цих програм являється обчислювальна система, на якій вони використовуються. До характерних рис програмного забезпечення можна віднести:

— програми виконуються під єдиним керуванням, частіш за все під керуванням операційної системи, яка працює на центральному процесорі;

— взаємне керування окремими програмами комплексу є підлеглим по відношенню до цього єдиного керування, яке реалізується на більш високому рівні пріоритету та рівнях привілеїв;

— внутрішні рівні операційної системи є сховані від користувачів обчислювального комплексу і не можуть бути змінені користувачем.

При проектуванні програмного комплексу створюється його повний та точний опис, який є комплект підописів програмних та апаратних компонентів та їх взаємодій. Повний опис програмного компонента – це програма на визначеній мові програмування, семантика якої повинна бути відома до початку програмування.

Розробники програмного забезпечення повинні досягти чотирьох цілей: заданого функціонування, правильності, продуктивності та надійності.

Задане функціонування – це отримання потрібного та правильного результату при введенні заданих вхідних даних. Вхід – це вся інформація, яка сприймається програмним комплексом. Вихід – це видавана інформація. Правильність визначає, наскільки точно програмний комплекс відповідає поставленим цілям. Під продуктивністю розуміють швидкість та ефективність програмного комплексу при споживанні ним ресурсів у процесі досягнення цілі. Надійність – це здатність програмного комплексу вірно виконувати свої функції, не зважаючи на відмови компонентів обчислювальної системи. Під відмовою розуміють тимчасову або постійну зміну характеристик компонентів, яке призводить до порушення їх функцій.

Програмне забезпечення розробляється за модульним принципом, використовує стандартизовані елементи та обмежені розміри заради гнучкості та універсальності і компонується шляхом об’єднання модулів.

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

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

  • відмовостійкість — можливість системи продовжувати нормальне функціонування в умовах наявності помилок. Висока вірогідність забезпечення завадостійкості веде до забезпечення необхідної якості обслуговування (QоS);

  • супроводжуваність — сучасні системи розробляються з урахуванням їх використання протягом достатньо великого терміну. У цей період неодноразово виникає необхідність в її модифікації, що викликається різними причинами (розширення функціональних можливостей, заміна апаратних елементів на сучасніші, зміна стандартів і правил взаємодії із зовнішнім середовищем тощо);

  • керованість процесом розробки — великі системи, як правило, відрізняються значним об’ємом і структурною складністю апаратних засобів а так само великим набором виконуваних функцій. Все це вимагає розробки програмного забезпечення великого обсягу. Досягаючи певних меж, складність програмного забезпечення призводить до втрати контролю над його розробкою і вимушує розробників скоювати помилки, які згодом достатньо важко виправити;

  • гнучкість — буває так, що є точно визначена структура апаратних засобів і параметри зовнішнього оточення, і більшість систем дозволяють налаштовуватись на ці характеристики. Для великих систем така структура реалізується за допомогою створення бази даних, що містить всі необхідні параметри. Задана структура може реалізуватись як статично до запуску системи, так і динамічно в процесі її функціонування. Динамічне налаштування ускладнюється тим, що зміни у структурі необхідно робити “по живому”, тобто в даних, які можуть у цей момент використовуватися функціональними процесами, що вимагає узгодження між ними і процесом налаштування;

  • стійкість системи — означає її готовність реагувати на непередбачувану поведінку зовнішнього середовища;

  • стабільність — вбудована система може знаходитися в одному з двох станів: активному і пасивному. У активному стані здійснюється функціонування елементів (можливо, не всіх) програмного забезпечення системи, і система виконує всі або деякі з своїх функцій; при цьому повний стан системи описується станом апаратури і станом даних в обчислювальному середовищі. Під час переходу системи в пасивний стан відбувається зупинка програмного забезпечення; при цьому не всі використовувані їм дані втрачають свою актуальність, частина їх повинна бути збережена до наступного запуску системи, що примушує зберігати ці дані в пам’яті; як засоби обробки таких даних виступають системи баз даних, що забезпечують організацію, зберігання і доступ до даних;

  • безперервність — для більшості систем безперервне і надійне функціонування є критичним; безперервність функціонування означає неможливість зупинки системи, зв'язану, як правило, з важливістю виконуваних нею процесів;

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

  • розподіленість — при проектуванні великих вбудованих систем часто використовується принцип модульності. Це дозволяє “збирати” системи різної конфігурації з типових елементів — модулів, збільшувати гнучкість системи. Ще одною перевагою модульної структури є можливість створення розподіленої архітектури вбудованої системи. При цьому кожен окремий модуль включає свій власний управляючий елемент — вбудований процесор. Всі процесори системи об'єднуються в обчислювальну мережу, що забезпечує обмін інформацією між ними. Зрозуміло, що багато з перерахованих властивостей характерні для всіх великих програмних систем (наприклад, супроводжуваність і керованість), частка характерна тільки для вбудованих систем. Важливо відзначити, що для вбудованих систем корінним чином міняється система пріоритетів, наприклад, стійкість і безперервність потрібно забезпечувати навіть в збиток іншим характеристикам.

Розробка програмних моделей вузлів телекомунікацій здійснюється відповідно до рекомендацій ITU серії Z — Z.100, переважно табличним методом. Табличний метод є вільний від недоліків, пов’язаних з нерозумінням фахівців в процесі розробки програмного забезпечення завдяки високому ступеню абстрактності.

Нижче наведені приклади реалізації деяких простих вузлів телекомунікацій.