¦(8088;4,77 МГц)¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦Прерывание ¦ 83 10.375мксек¦43 5.375мксек¦63 КГц ¦
¦(8086; 8 МГц) ¦ ¦ ¦ ¦
АДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДЩ
Скорости передачи данных, которых можно достичь в практичес-
ки используемых прикладных программах, ниже, чем максимальные
скорости передачи данных, представленные в таблице 5-5, потому
что время требуется для установки таймеров, получения данных и
т.д. Если используется так называемый "блок сбора данных", ско-
рость передачи данных также зависит от скорости передачи данных
блока.
Средства ускоренной записи программ
Многие программные средства и блоки сбора данных (стандарт-
ные и обычные) могут использоваться для ускорения выполнения
программ oперационной системы MS-DOS. Эти средства следует рас-
сматривать только, если структура системы реального времени тре-
бует ускоренного ответа от компьютера. И хоть исчерпывающее об-
суждение всего этого выходит за рамки данной главы, мы все же
рассмотрим некоторые из этих средств в этом разделе.
Если прикладная программа требует вычислений с использовани-
- 5-17 -
ем математических формул с плавающей запятой, применение матема-
тического процессора 8087 (или 80287/80387) может улучшить ско-
рость вычислений на несколько порядков. Фирма "Интел" -
производитель микропроцессоров 8087 - выпускает оборудование,
скорость которого в некоторых математических операциях в тысячу
раз возрастает, когда микропроцессор 8087 используется вместо
стандартных программ математического программного обеспечения.
Микропроцессор 8087 предоставляет системе команды для быстрого
выполнения операций с плавающей запятой. К таким операциям отно-
сятся следующие действия: преобразование чисел, основные матема-
тические действия и некоторые трансцендентные функции (например,
нахождение синусов и косинусов и логарифмов). Поскольку же мате-
матические программы стандартно присутствуют в микропроцессоре
8087, а не в памяти программ, использование микропроцессора 8087
тоже может привести к уменьшению размеров программ. Подробнее о
программировании можно узнать из главы 10 "Программирование рас-
ширения числовой обработки фирмы "Интел"".
Если требуется просмотреть какой-либо массив, можно исполь-
зовать команду XLAT во всех процессорах, кроме микропроцессора
8088. Команда XLAT имеет возможность производить быстрое индекси-
рование в 256-байтовой таблице и получать содержимое указанного
адреса, что показано на рисунке 5-8. Объединяя несколько команд
XLAT в цепочки, можно управлять просмотром больших таблиц.
Вместо исполнения команды IN/OUT в цикле для передачи набора
байтов можно исполнять команду INS/OUTS для микропроцессоров
80188, 80186, 80286 и 80386.
Используя средства DMA (средства метода прямого доступа к
памяти) для передачи данных можно значительно увеличить быстро-
действие системы. Передача данных происходит с полной скоростью,
на которую способна шина и память, потому что в это действие не
вовлекаются ресурсы процессора. Другое преимущество в данном слу-
чае заключается в том, что передача данных не ограничивается ши-
риной шины данных, ведущей к процессору.
Регистр BX
указывает
на базу
Перед выполнением ЪДДДДДДДДД¬ ДДДДДДДДДДДД
команды XLAT, ¦ ¦
Регистр AX AL указывает на ¦ ¦ ¦
ЪДДДДДДВДДДДД¬ ЭЛЕМЕНТ ГДДДДДДДДДґ ¦
¦ ¦ AL ГДДДДДДДДДДДДДДДДД¦ ЭЛЕМЕНТ ¦ Максимальное
¦ ¦ ¦ ЪДДДДДДДДДДґ ¦ количество
АДДДДДДБДДДДДЩ ¦ ГДДДДДДДДДґ ¦ элементов
¦ ¦ ¦ ¦ равно 256
¦ ¦ АДДДДДДДДДЩ
АДДДДДДДДДДЩ
После выполнения
команды XLAT,
ЭЛЕМЕНТ замещает AL
Рис. 5-8. Работа команды XLAT при просмотре таблиц
Использование макрокоманд вместо обращения к стандартной
подпрограмме ускоряет работу программы. Это происходит вследствие
того, что макрокоманда производит расширение на месте, а при об-
ращении к стандартной подпрограмме приходится помещать адрес
- 5-18 -
возврата в стек, обычно сохранять регистры и потом делать пере-
ход. Обратитесь к Главе 1 "Структурированное программирование 1:
Инструменты для структурированного программирования ", где более
подробно говорится о задании макрокоманд.
Случаи, когда следует использовать операционную команду
MS-DOS для прикладных программ реального времени
Решение об использовании операционной системы MS-DOS для
конкретной прикладной программы зависит от нескольких соображе-
ний. Следует учитывать:
. время ответа
. интервалы
. количество вводов
. количество выводов
. используемый тип процессора
. частоту системных часов
. структуру системы
Из всех перечисленных выше соображений только структура
прикладной программы реального времени зависит от разработчика:
может быть выбрана более быстрая операционная система MS-DOS. Все
другие соображения продиктованы внешней средой и не могут быть
изменены разработчиком.
Нам нужно вычислить время ответа для прикладной программы, а
также нужно вычислить время ответа, которое может обеспечить дан-
ная операционная система MS-DOS в среде прикладных программ.
Обычно бывает несложно определить требуемое время ответа для
прикладной программы. Рассмотрим простой пример сбора данных.
Предположим, что за одну секунду Вы должны собрать 50 000 байтов
данных и обработать их. Это значит, что вы имеете 1/50000 =
20 микросекунд для сбора и обработки каждого байта информации.
В другом примере предположим Вам требуется время ответа,
равное 10 мсек, для контроля и принятия корректирующего действия
для управления температурным режимом в химическом процессе. (Эти
действия могут основываться на таких временных характеристиках
оборудования, которые управляют температурами, а также самим ха-
рактером протекающего процесса). Таким образом, время ответа, тре-
буемое прикладной программе, присуще как этой прикладной програм-
ме, так и существующей среде.
Гораздо труднее определить время ответа, которое может обес-
печить система реального времени. Для определения времени ответа,
которое может поддерживаться операционной системой MS-DOS, рас-
смотрим сначала существующую операционную систему MS-DOS и имеющ-
ееся оборудование (если оно действительно присутствует), а также
некоторый простой способ разработки программного обеспечения
(разные методы разработки будут обсуждаться позднее). Теперь да-
вайте вычислим время ответа, которое равно времени, затрачиваемо-
му на необходимый ввод, отработку и вывод, и всех связанных с
этими действиями задержек. Если это время ответа меньше требуемо-
го времени ответа, это значит, что Вы нашли приемлемую структуру
системы, используя операционную систему MS-DOS.
И снова рассмотрим пример со сбором данных, где требуемым
временем ответа является значение в 20 микросекунд. Операционная
система MS-DOS может обеспечить время ответа в 20 микросекунд,
если будет иметься достаточное количество основной первичной па-
мяти для размещения требуемого объема данных. Но если такого объ-
- 5-19 -
ема памяти нет, возможно, Вам придется размещать данные во вто-
ричной памяти. В этом случае двадцати микросекунд может оказаться
недостаточно для размещения данных.
Если время ответа, поддерживаемое операционной системой
MS-DOS, не меньше, чем требуемое время ответа, Вам следует про-
вести ряд опытов с другими техническими средствами в поисках бо-
лее быстрых программ (они уже рассматривались выше), стандартных
или обычных блоков, более быстрого процессора, других структур
системы и использовать более быстрое оборудование(может быть, это
будет более дорогостоящее устройство). Этот выбор является наибо-
лее трудной частью проектирования систем реального времени, а об-
суждение всех этих средств далеко выходит за пределы этой главы.
Требуемая продолжительность временного интервала определяет
частоту обработки транзакций. В зависимости от требуемой обработ-
ки оперативной системы MS-DOS может управлять определенным макси-
мальным числом транзакций в секунду. Если общее количество тран-
закций может больше, чем то число, которым может управлять
операционной системой MS-DOS, очевидно, что систему MS-DOS нельзя
будет использовать. Например, если система реального времени
должна получить 1 миллион транзакций в секунду, операционная сис-
тема MS-DOS не может использоваться для такой системы.
Возможность применения операционной системы MS-DOS зависит
также от необходимости использования мультизадачности. В общем
случае операционная система MS-DOS не может использоваться , если
требуется применение мультизадачного режима.
Например, операционная система MS-DOS не может быть примене-
на в банковской системе с восемью терминалами. Однако, оператив-
ная система MS-DOS, предназначенная для использования в персо-
нальном компьютере IBM PC/AT, предусматривает наличие нескольких
свойств, позволяющих организовать очень простой мультизадачный
режим. Это будет обсуждено позже. Также мы будем позднее рассмат-
ривать концепцию "циклических планировщиков" в качестве метода
проектирования очень простой формы мультизадачности.
В общем, мы можем сказать, операционная система MS-DOS может
быть использована для большинства однонаправленных систем, не-
скольких двунаправленных устойчивых систем и очень малого коли-
чества двунаправленных потенциально неустойчивых систем. Сущест-
вует несколько сравнительно простых, но часто используемых
прикладных программ реального времени, в которых может быть ис-
пользована операционная система MS-DOS. В эти прикладные програм-
мы включаются системы управления домашним хозяйством, системы ла-