Разделы сайта

Читаемое

Обновления Mar-2024

Промышленность Ижоры -->  Станки механосборочного производства 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [ 85 ] 86 87 88 89 90 91 92 93 94 95 96

Большинство команд выполняются как последовательность микрокоманд, которые, в свою очередь, состоят из одной или нескольких микроопераций. Микрооперация является элементарной и выполняется за один такт работы микропроцессора. Последовательность микрокоманд, реализующих заданную команду, называют микропрограммой. Время, затрачиваемое на выполнение микропрограммы, составляет машинный цикл (см. рис. 23.11).

Программа, написанная в командах, т. е. на машинном языке, занимает минимальный объем памяти, не требует дополнительных аппаратных средств и машинного времени для трансляции.

Рассмотренные выше микропроцессорные средства, дополненные системой команд, относятся к универсальным схемотехническим решениям. Подобные средства далеко не достаточны для построения устройства ЧПУ, использующего широкий набор специальных решений.

ГЛАВА 24

СИСТЕМНОЕ МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ЧИСЛОВОГО МИКРОПРОЦЕССОРНОГО УПРАВЛЕНИЯ

§ 1. НАЗНАЧЕНИЕ СИСТЕМНОГО ОБЕСПЕЧЕНИЯ УСТРОЙСТВ УПРАВЛЕНИЯ

Математическое обеспечение управляющих микроЭВ.Ч (как универсальных, так и специализированных) состоит из двух частей. Одну часть составляет прикладная компонента, осуществляющая выполнение в режиме реального времени поставленных перед вычислительной системой задач (в данном случае задач ЧПУ). Ко второй части относится системное математическое обеспечение, которое формирует среду для проектирования и выполнения прикладных программ. Остановимся на системной части математического обеспечения.

Системное математическое обеспечение микроЭВМ призвано обеспечить решение двух принципиально различных классов задач: автоматизацию разработки прикладных программ и выполнение готовых программ. На начальном этапе развития микропроцессорной техники при решении задач обоих классов основные функции управления ресурсами микроЭВМ обеспечивались программами, написанными самими пользователями. Со временем сформировалась концепция операционной системы микроЭВМ как среды для проектирования и выполнения прикладных программ. Операционную систему MHKpo-ie ЭВМ можно определить как совокупность программ, назначение кото-Я рых в эффективном управлении четырьмя основными типами ресурсов (процессором, памятью, устройствами и данными), а также в осуществлении взаимодействия между прикладными программами в ходе

их выполнения. Функции операционной системы при разработке прикладных программ (первый класс задач) и их выполнении (второй класс задач) существенно отличаются.В связи с этим для микроЭВМ можно выделить два класса операционных систем - технологические (инструментальные) и исполнительные.

§ 2. ТЕХНОЛОГИЧЕСКИЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ

Технологические операционные системы могут быть кроссовыми либо резидентными. Используемые при разработке прикладного математического обеспечения кроссовые системы располагают развитыми аппаратными и программными средствами ЭВМ общего назначения, на которой моделируется архитектура управляющей микроэвм, непосредственно интересующей разработчика. Резидентные операционные системы реализованы на самой управляющей микроЭВМ или на некотором однотипном расширенном (в основном за счет памяти и периферии) устройстве, относящемся к категории отладочных средств. Кроссовые системы, как правило, предоставляют разработчику прикладного математического обеспечения широкий спектр сервисных функций и возможность выбора языковых средств, в то время как аналогичные возможности резидентных средств обычно ограничены.

Понятие операционная система трактуют по-разному. Иногда к операционной системе относят весь комплекс программного обеспечения, который не только помогает управлять производительностью системы, но и облегчает программирование. Согласно подобной точке зрения в операционной системе имеются две составляющие - управляющая программа и набор обрабатывающих программ. Управляющая программа осуществляет планирование и управление выполнением всех программ, распределение аппаратных ресурсов, предоставление программных ресурсов и данных. Обрабатывающие программы облегчают подготовку программ, предлагая различные языковые средства; позволяют использовать отладочные средства и обращаться к разнообразным подпрограммам служебного назначения.

В комплекс управляющих программ вхо,дят программы управления заданиями, программы управления задачами, программы управления данными. Управление заданиями относят к числу основных функций операционной системы, которые заключаются в чтении и интерпретации определений задания, в планировании работ, в инициировании и завершении заданий, в выводе результатов. Таким образом, задание можно определить как максимальную единицу измерения работы микроэвм, состоящей из одного или более шагов задания, которые определяются посредством языка управления заданиями.

Управление задачами поддерживается совокупностью средств, обеспечивающих одновременное выполнение нескольких задач в системе (путем планирования задач, распределения памяти и т. д.). Саму задачу можно определить как основной объект выполнения ра-



бот в микроэвм, требующий выделения ресурсов: памяти для размещения задачи; устройств ввода-вывода для перемещения задачи; времени процессора для выполнения операций обработки данной задачи. Задача является независимым программным сегментом. С точки зрения программы, которая представляет задачу, - ее выполнение происходит так, как будто других задач не существует. С точки зрения программ управления задачами, задача может находиться в состоянии выполнения, готовности, ожидания.

Программы управления данными осуществляют: ввод и вывод данных на внешние устройства и с внешних устройств; объединение записей в блоки и разделение блоков на записи; анализ и обработку ошибок; перевод условных символьных наименований внешних устройств в их физические адреса; каталогизацию информации, ее поиск и редактирование.

Управляющие программы операционной системы содержат несколько компонент, наименования которых общеприняты, хотя и функциональные задачи трактуются разработчиками операционных систем не всегда однозначно. К таким компонентам относятся монитор, супервизор, диспетчер и др.

Монитор интерп(етирует указания языка управления заданиями J и осуществляет контроль за выполнением заданий. Супервизор - , это компонента системы управления задачами, обрабатывающая все ситуации, которые стали причинами возникновения прерываний.; Диспетчер - это программа управления задачами, организующая совместное использование задачами ресурсов микроЭВМ. Так, диспетчер обслуживает очередь запросов на использование памяти, про- j цессора, внешних устройств.

Напомним, что мы отметили в рамках технологической операционной системы существование управляющих программ и обраба-1 тывающих программ. Перейдем к характеристике набора обрабаты-1 вающих программ, который включает редактор текстовой информа- ции, ассемблер, отладочную программу, библиотеку стандартных; подпрограмм, загрузчик, текстовые и диагностические программы и др.

Редактор текстовой информации, или просто редактор текстов, позволяет вводить программы через устройство ввода в некоторую область оперативной памяти, вызывать любую запись из памяти, мо-; дифицировать ее и вновь возвращать в память. Команды редак-тора текста делятся на четыре группы: ввода (ввод текста в рабочую область), манипуляции указателем буфера (размещение указателей в рабочей зоне для последующего редактирования некоторого фрагмента), вывода (вывод текста на внешнее устройство), манипуляции данными (собственно редактирование).

Программа-ассемблер презназначена для обработки исходного текста прикладной программы, написанной с помощью мнемоничет.-ских обозначений входного языка ассемблера, для п]юбразования i этого текста в объектный код, загружаемый в память микроЭВМ;; для последующего выполнения программы. Программа-ассемблер осуществляет ввод и вывод исходного текста, вывод объектного кода.; В типичной ассемблерной программе встречаются три вида предло-

жений: символические команды для микроЭВМ, которые транслируется в команды на соответствующем языке машины в объектной программе; директивы самого ассемблера, управляющие процессом трансляции; комментарии, которые воспроизводятся в листинге программы для документирования, но не влияют на процесс трансляции.

Если система команд микропроцессора точно соответствует входному языку ассмеблера, то программа-ассемблер вырабатывает на один оператор языка по одному машинному коду (трансляция один к одному ). На практике некоторые операторы языка развертываются

Прикладные програппы


Тесты

Загрузчик

Отладчик

диагностика

Управпяющие програппы апераиианной систепы

Универсальные пикропроиессорные средства


Рис. 24.1. Состав технологической операционной системы микроЭВМ

В несколько машинных команд. Некоторые последовательности команд ассемблера могут быть обозначены как микрокоманды и впоследствии вызваны по имени в любом месте программы. В этом случае макрогенератор ассемблера сформирует таблицу макроопределений и, используя содержащуюся в ней информацию, построит по макровызовам макрорасширения.

Отладочная программа, или просто отладчик, упрощает отладку на микроэвм объектной программы, выполняя индикацию или модификацию содержимого памяти или регистров микропроцессора, программу с указанного адреса или заданную команду при соблюдении определенного условия, трассировку команд, т. е. вывод каждой команды и результата ее выполнения, трассировку групп команд. Отладочная программа работает обычно в интерактивном (диалоговое) режиме и интерпретирует команды программиста.

Библиотека стандартных подпрограмм содержит подпрограммы наиболее часто используемых процедур, таких как арифметические операции над числами в форме с плавающей запятой, вычисление функций, работа с многоразрядными числами и др,



Загрузчик - это программа, которая помещает объектную программу в определенную зону оперативной памяти, присваивая командам программ абсолютные адреса. На загрузчик могут быть также возложены функции установления связей между объектными программами путем использования в них взаимных ссылок (этот процесс называют редактированием внешних связей). Загрузчик использует управляющую информацию языкового транслятора (например, ассемблера) и указания программиста.

Тестовые и диагностические программы предназначены для оценки работоспособности аппаратной части микроЭВМ. Объектами в данном случае являются блоки памяти, микропроцессор, внешние устройства.

Условная структура технологической операционной системы и ее расположение относительно аппаратной части микроЭВМ и прикладного математического обеспечения показаны на рис. 24.1. В состав операционной системы не включены компиляторы с языков высокого уровня, которые в перспективе найдут широкое применение, например, для разработки прикладного математического обеспечения управления с помощью таких языков, как Паскаль, Ада.

§ 3. ИСПОЛНИТЕЛЬНЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ

Исполнительные операционные системы, как уже отмечалось выше, создают среду для выполнения прикладных программ. Они должны обеспечивать параллельное выполнение нескольких фиксированных задач, синхронизированное с внешними событиями, обусловленными поведением объекта управления. В минимальном варианте исполнительная операционная система обеспечивает работу с одним заданием в режиме мультипрограммирования на уровне задач. При этом выполняются две основные функции: распределение времени микропроцессора, синхронизация и связь между задачами.

Время процессора распределяется на основе фиксированных или динамических приоритетов, присваиваемых задачам. Диспетчеризация задач с фиксированными приоритетами целиком осуществляется операционной системой. Динамические приоритеты задач изменяются в ходе вычислительного процесса, причем это изменение производится соответственно некоторому алгоритму. Для этого создается специальный монитор, действующий внутри задания на правах задачи и сообщающий исполнительной операционной системе текущие значения приоритетов.

Синхронизация задач проявляется таким образом, что некоторая задача может запускать или останавливать другие задачи в зависимости от определенных условий. Связь задач состоит в том, что они обмениваются между собой сообщениями. Синхронизация и связь осуществляются через операционную систему, которая выполняет роль посредника между асинхронно выполняемыми Задачами; причем для обращения к операционной системе используется аппарат прерываний.

Исполнительная операционная система сама забирает процессорное время, отнимая это время у задач. По этой причине важное

значение приобретает минимизация накладных расходов на работу операционной системы. Кардинальным решением проблемы ускорения работы исполнительной операционной системы является микропрограммная реализация ее отдельных функций.

Анализируя структуру исполнительной операционной системы реального времени, можно обнаружить те же две части, что и в технологической, а именно управляющие (называемые иногда ядром операционной системы) и обрабатывающие (называемые также утилитами) программы.

Основные функции ядра операционной системы реального времени можно определить следующим образом.

1. Управление задачами. Ядро должно предоставлять некоторой задаче, работающей под его управлением, еоэможность активизировать или деактивизировать другую задачу, приостанавливать свое выполнение на определенный срок, запускать некоторую задачу циклически и т. д.

2. Управление приоритетами. Как уже отмечалось, все задачи в системе должны рметь определенный приоритет, и должна существовать возможность изменять его. Задачи получают доступ к ресурсам в соответствии со своим приоритетом и избранной для этого ресурса дисциплиной обслуживания. Например, процессор может быть предоставлен наиболее приоритетной из готовых к выполнению программ. Другой вариант - процессор получает первая программа из стоящих к нему на очереди. В некоторых случаях задача кроме программного может еще располагать и аппаратным приоритетом, т. е. приоритетом, которым при выполнении этой задачи наделяется процессор относительно других устройств системы.

3. Обмен информацией между задачами. Здесь возможно несколько вариантов. Во-первых, ядро может поддерживать глобальные области, доступные всем задачам. Во-вторых, задача, активизи-

рун.другую, может передавать ей данные и в свою очередь получать их по завершении созданной задачи. В-третьих, обмен сообщениями возмбжен с помощью так называемых обменников, т. е. объектов специальной природы, к которой система организует очередь задач, ждущих сообщения.

4. Защита от тупиков, т. е. предотвращение ситуаций, в которых одна задача ожидает события, связанного с работой другой задачи, которая в свою очередь ожидает первую.

5. Динамическое распределение памяти. Необходимость этих функций связана со все растущим объемом математического обеспечения и необходимостью сделать всю систему резидентной, что оставляет для прикладных задач все меньше и меньше адресного пространства (объем памяти, как правило, ограничен из-за 16-разрядной размерности слова микропроцессора).

6. Инициация системы, т. е. установка всех начальных значений. Функции утилит операционных систем реального времени таковы.

1. Осуществление ввода-вьгоода. Здесь можно упомянуть два класса процессов. Первые некритичны коремени; это обмен с опе-



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 [ 85 ] 86 87 88 89 90 91 92 93 94 95 96

© 2003 - 2024 Prom Izhora
При копировании текстов приветствуется обратная ссылка