Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
evuzly_001_2011.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
19.92 Mб
Скачать

6.3.Структура програмного забезпечення

Співвідношення між затратами на апаратне та програмне забезпечення подане на рис. 6.5.

Рис. 6.5. Співвідношення між затратами на апаратне та програмне забезпечення мікропроцесорів

Застосування мікропроцесорів суттєво спрощує системи, а не сам процес розробки. Розробка апаратної частини проходить дуже швидко. Основна робота – це складання програм,замість апаратних з’єднань між мікросхемами. Затрати на програмне забезпечення більше 10 мільярдів доларів у рік і складають 50 чи 90% всіх затрат.

Система програмного забезпечення - сукупність програмних засобів для забезпечення функціонування пристрою (системи), а також автоматизації розробки всіх програм, їх перевірки і влагодження.

6.4. Способи проектування програмного забезпечення

Структура програмного забезпечення подана на рис. 6.6.

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

Асемблер – засоби транслювання (перетворення) програмного забезпечення з мови асемблера в машинні коди. Основна перевага – програмування здійснюється в символах, позначеннях набагато зрозуміліших людині. Менше зусиль програміста, але складніше програмування і більше об’єму пам’яті.

Рис. 6.6. Структура програмного забезпечення мікропроцесорів

Мови високого рівня (АЛГОЛ, ФОРТРАН, БЕЙСИК) мають специфічні риси, різноманітні символи і функції. Дають можливість програмісту програмувати мовою, близькою до його природної мови.

П’ять класів засобів програмування:

  1. редагуючі програми;

  2. транслюючі програми (асемблери і компілятори);

  3. програми завантажувачі;

  4. моделюючі програми;

  5. відлагоджувальні програми.

Коротка характеристика класів засобів програмування.

  1. Полегшують створення основних програм. Сприймає вихідну програму. Має спеціальні команди добавлення, виключення і заміни вихідних програм (у зовнішній пам’яті). Оперують з основною програмою як текстом (рис. 6.7).

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

  1. Асемблери і компіляторидля отримання машинних кодів з абстракцій високого рівня (рис. 6.8).

Рис. 6.7. – Структура функціонування редагуючих програм

Рис. 6.8. Структура функціонування асемблерів і компіляторів

  1. Програми-завантажувачіпереносять об’єктну програму із зовнішнього носія в пам'ять мікро-ЕОМ.

  2. Моделюючі програмиміж машинні програми, дозволяють підлагоджувати об’єктні програми без апаратної частини мікропроцесора. Це так звані програми-емулятори. Досить часто в цих програмах є деякі можливості діагностувань. Однак розроблені програми повинні остаточно відлагоджуватись на апаратній мікро-ЕОМ. Це пояснюється тим, що неможливо повністю і точно змоделювати специфічні часові співвідношення між мікропроцесором та конкретними зовнішніми пристроями.

  3. Відлагоджувальні програмивони є резидентними, виконуються на мікропроцесорах. Як правило, вони сприймають від користувача команди для виконання: вивід на дисплей (друк) вмісту ПЗП; вмісту RG; зміну вмісту ОЗП; виконання програми з певної адреси; зупинка виконання при досягненні певної адреси, або певної умови.

Всі засоби програмування поділяються на крос-засоби та резидентні засоби. Крос-засоби – програми, які виконуються не на конкретній мікро-ЕОМ,а на інших машинах.

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

Методика програмування

Ручне програмування в машинних кодах. Переваги: велика продуктивність для малих програм; не потрібно машинного часу для асемблера; не потрібно додаткових апаратних засобів. Недоліки: для великих програм мала продуктивність та трудомісткість; важко змінювати програми; є ймовірність помилок.

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

Програмування в макрокомандах

Переваги: групи повторювальних команд замінюють макрокомандою; помилки в макрокомандах виправляють тільки один раз; менше дублювання робіт; можна створювати нові команди.

Недоліки: макрокоманди – це не стандартні команди; при кожному їх використанні потрібне місце в ПЗП.

Рекомендації: спеціальне застосування, одноприст. мікро-ЕОМ.

Програмування на асемблері

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

Недоліки: потрібна система асемблера ( апар. для проектування, терміну для відлагодження програми); деякі операції надто повільні; потрібно знати правила і форми мови.

Програмування на мовах високого рівня

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

Недоліки: об’єктні програми займають великий об’єм ; затрати на компіляцію і трансляцію.

Рекомендації: більше 1 кбайт; для дрібносерійних виробів.

Контроль правильності та якості ПЗ

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

  • прийоми розробки бездефектних програм;

  • отримання тестових програм.

Програма вважається надійною, коли вона відповідає ТЗ, був проведений повний контроль властивостей.

Адміністративні міри – стандартизація ПЗ: стандарти на протоколи обміну інформацією із зовнішніми пристроями, інструкції, довідники.

Розробка робочих програм

Задачу розбивають на прості та зручні для реалізації частини. Програму будують з деякого числа стандартних структур – програмних модулів. Складні програми ділять на менші шаблони такого рівня, щоб програмування кожного з них стало очевидним в командах МП (рис. 6.9).

Програма – комбінація трьох груп базових блоків:

  1. функціональних (послідовних);

  2. циклів (повторення);

  3. розгалуження (альтернативного рішення).

Основна різниця: з післяумовою цикл як мінімум один раз; з передумовою може не виконуватися жодного разу.

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

У циклі:

Виконати дію А

Рис. 6.9. Структура основних алгоритмів роботи

За необхідності розв’язання задачі в різних місцях програми,доцільно підготувати підпрограму (у разі потреби).

В основній програмі може бути декілька програм, а підпрограма може мати свої підпрограми

Двійкове множення

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]