{img1} |
перевод с английского на русский |
|
Поскольку же мате-
матические программы стандартно присутствуют в микропроцессоре
8087, а не в памяти программ, использование микропроцессора 8087
тоже может привести к уменьшению размеров программ. Подробнее о
программировании можно узнать из главы 10 "Программирование рас-
ширения числовой обработки фирмы "Интел"".
Если требуется просмотреть какой-либо массив, можно исполь-
зовать команду XLAT во всех процессорах, кроме микропроцессора
8088. |
avast 4.7 |
|
|
Команда XLAT имеет возможность производить быстрое индекси-
рование в 256-байтовой таблице и получать содержимое указанного
адреса, что показано на рисунке 5-8. Объединяя несколько команд
XLAT в цепочки, можно управлять просмотром больших таблиц.
Вместо исполнения команды IN/OUT в цикле для передачи набора
байтов можно исполнять команду INS/OUTS для микропроцессоров
80188, 80186, 80286 и 80386.
Используя средства DMA (средства метода прямого доступа к
памяти) для передачи данных можно значительно увеличить быстро-
действие системы. |
сетевой экран |
|
{img3} |
антивирусные программы |
|
Передача данных происходит с полной скоростью,
на которую способна шина и память, потому что в это действие не
вовлекаются ресурсы процессора. Другое преимущество в данном слу-
чае заключается в том, что передача данных не ограничивается ши-
риной шины данных, ведущей к процессору.
Регистр BX
указывает
на базу
Перед выполнением ----------¬ ------------
команды XLAT, ¦ ¦
Регистр AX AL указывает на ¦ ¦ ¦
-------T-----¬ ЭЛЕМЕНТ +---------+ ¦
¦ ¦ AL +-----------------¦ ЭЛЕМЕНТ ¦ Максимальное
¦ ¦ ¦ -----------+ ¦ количество
L------+------ ¦ +---------+ ¦ элементов
¦ ¦ ¦ ¦ равно 256
¦ ¦ L----------
L-----------
После выполнения
команды XLAT,
ЭЛЕМЕНТ замещает AL
Рис. |
avast 4 server |
|
|
Архиваторы, dr web, резервное копирование, програмное обеспечение, резервное копирование, .
asplinux confpoint
|
Таким об-
разом, на обслуживание любого прерывания в процессоре 8088 затра-
чивается 71 цикл, а в процессоре 8086 - 51 цикл. Не требуется до-
полнительных затрат на задание прерывания и его сброс, потому
что процесс обслуживания прерывания уже сбрасывает его (это назы-
вается "автоматическое завершение режима прерывания").
Сравнение методов передачи данных
Сравнение времен и максимальных скоростей передачи данных не
методами прямого доступа (DMA) представлено в таблице 5-5. Вре-
менные затраты (циклы и времена) в таблице вычисляются только для
тех циклов, в которых не происходит действительной передачи дан-
ных. Информация о временных затратах дается только в целях при-
близительного сравнения. Например, временные затраты на выполне-
ние "программного цикла" получают при выполнении следующей коман-
ды языка ассемблер:
again: loop again
Регистр CX загружается некоторым определенным значением
счетчика и в этом цикле передачи данных не происходит.
Циклы для проведения упорядоченного опроса строятся в виде
предложенной ниже программы, в которой происходит считывание сос-
тояния из порта, проверка бита готовности и потом выполняется сам
цикл, если готовности нет.
again:
in ax,dx ; порт задается в DX
test ax,bx ; сравнение регистр/регистр
jnz again ; повторять цикл до готовности
Таблица 5-5
Скорости передачи данных для не -DMA интерфейсов
----------------T---------------T--------------T---------¬
¦Готовые данные,¦ Затраты ¦ Передача ¦Макси- ¦
¦определяемые: ¦ времени ¦ данных ¦мальная ¦
¦ +---------------+--------------+скорость ¦
¦ ¦ циклы время ¦ циклы время¦передачи ¦
¦ ¦ ¦ ¦данных ¦
+---------------+---------------+--------------+---------+
¦Программный ¦17 3.564 мксек¦ - - ¦ - ¦
¦цикл ¦ ¦ ¦ ¦
¦(8088,4.77 MГц)¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦Упорядоченный ¦27 5.660 мксек¦51 10.692мксек¦61 КГц ¦
¦опрос ¦ ¦ ¦ ¦
¦(8088;4,77 МГц)¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦Прерывание ¦115 24.109мксек¦43 9.015мксек¦30 КГц ¦
¦(8088;4,77 МГц)¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦Прерывание ¦ 83 10.375мксек¦43 5.375мксек¦63 КГц ¦
¦(8086; 8 МГц) ¦ ¦ ¦ ¦
L---------------+---------------+--------------+----------
Скорости передачи данных, которых можно достичь в практичес-
ки используемых прикладных программах, ниже, чем максимальные
скорости передачи данных, представленные в таблице 5-5, потому
что время требуется для установки таймеров, получения данных и
т.д. Если используется так называемый "блок сбора данных", ско-
рость передачи данных также зависит от скорости передачи данных
блока.
Средства ускоренной записи программ
Многие программные средства и блоки сбора данных (стандарт-
ные и обычные) могут использоваться для ускорения выполнения
программ oперационной системы MS-DOS. Эти средства следует рас-
сматривать только, если структура системы реального времени тре-
бует ускоренного ответа от компьютера. И хоть исчерпывающее об-
суждение всего этого выходит за рамки данной главы, мы все же
рассмотрим некоторые из этих средств в этом разделе.
Если прикладная программа требует вычислений с использовани-
- 5-17 -
ем математических формул с плавающей запятой, применение матема-
тического процессора 8087 (или 80287/80387) может улучшить ско-
рость вычислений на несколько порядков. Фирма "Интел" -
производитель микропроцессоров 8087 - выпускает оборудование,
скорость которого в некоторых математических операциях в тысячу
раз возрастает, когда микропроцессор 8087 используется вместо
стандартных программ математического программного обеспечения.
Микропроцессор 8087 предоставляет системе команды для быстрого
выполнения операций с плавающей запятой. К таким операциям отно-
сятся следующие действия: преобразование чисел, основные матема-
тические действия и некоторые трансцендентные функции (например,
нахождение синусов и косинусов и логарифмов).
|
|
|