|
|
|
|
Средства ускоренной записи программ
Многие программные средства и блоки сбора данных (стандартные и обычные) могут использоваться для ускорения выполнения
программ oперационной системы MS-DOS. Эти средства следует рассматривать только, если структура системы реального времени требует ускоренного
ответа от компьютера. И хоть исчерпывающее обсуждение всего этого выходит за рамки данной главы, мы все же
рассмотрим некоторые из этих средств в этом разделе.
Если прикладная программа требует вычислений с использованием математических формул с плавающей запятой, применение математического процессора 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 при просмотре таблиц
|
Использование макрокоманд вместо обращения к стандартной
подпрограмме ускоряет работу программы. Это происходит вследствие
того, что макрокоманда производит расширение на месте, а при обращении к стандартной подпрограмме приходится помещать адрес
возврата в стек, обычно сохранять регистры и потом делать переход. Обратитесь к Главе 1 "Структурированное программирование 1:
Инструменты для структурированного программирования ", где более
подробно говорится о задании макрокоманд.
|
|