русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Отличия от систем 386(ТМ) CPU/387(ТМ).


Дата добавления: 2015-06-12; просмотров: 574; Нарушение авторских прав


В этом разделе собраны те различия между процессором i486 и системами 386 CPU/387 NPX, которые могут влиять на численное программное обеспечение.

  1. Биты регистра управления:

Бит ET (Тип Расширения) регистра CR0 указывает на наличие в системе математического сопроцессора 80287 (ET = 0) или сопроцессора 387 DX (ET = 1). Аппаратурой процессора i486 этот бит не используется. При перезапуске биту ET присваивается значение 0.

Бит NE (Числовое Расширение) регистра CR0 используется процессором i486 для указания, должны ли немаскированные исключения с плавающей точкой передаваться как внутренние прерывания через вектор прерываний 16 (NE = 1) или как внешние прерывания (NE = 0). При перезапуске биту NE присваивается значение 0, следовательно программное обеспечение, использующее автоматический механизм сообщений об ошибках, должно устанавливать его равным 1.

Для процессоров 80286 и 386 бит MP (Монитор Сопроцессора) регистра CR0 показывает, когда при наличии ловушки команды WAIT контекст FPU отличается от текущей работающей задачи. При MP = 1 и TS = 1 команда WAIT вызовет отказ из-за недоступности устройства (вектор прерываний 7). На микропроцессорах 80286 и 386 бит MP используется для поддержки комады WAIT при ожидании на устройствах, отличных от сопроцессора. Свой статус устройство сообщает через вывод BUSY#. Поскольку у процессора i486 нет такого вывода, бит MP не находит применения, и для нормальной работы перенесенных программ должен быть равен 1.

  1. Инициализация и RESET.

При перезапуске аппаратуры RESET регистры с плавающей точкой не изменяются до обращения к встроенной программе самотестирования (BIST). При обращении к BIST перезапуск RESET действует практически также, как команда FINIT. Единственное отличие состоит в том, что FINIT не изменяет регистры стека, а перезапуск RESET с BIST обнуляет их.



При выполнении перезапуска RESET или команды FINIT математический сопроцессор 387 выдает сообщение об ошибке. Процессор i486 и сопроцессор 80287 этого не делают.

Команда FINIT на процессоре i486 очищает указатели ошибок (данных и команд).

  1. Исключения:

На процессоре i486 неопределенный код операции ESC вызовет исключение неверного кода операции (вектор прерывания 6). Неопределенные коды операций ESC, также как и определенные, при установленном бите TS или EM в регистре CR0 вызывают исключение недоступности устройства (вектор прерывания 7). При обнаружении неопределенного кода операции ESC процессор i486 не делает проверки условий ошибки с плавающей точкой.

Операнд невыровненных данных вызовет исключение выравнивания (вектор прерывания 17) на уровне 3 программного обеспечения. Исключение составляет операция FSAVE/FRSTOR над частью стека.

На процессоре i486 команда WAIT может иногда выполняться как NOP. Это происходит в случае, когда команде WAIT предшествует команда, при выполнении которой осуществляется ожидание. В этом случае на процессоре i486 сообщение о числовом исключении может появиться на одну команду позже, чем на системе 386 CPU/387 NPX.

На процессоре i486 при записи одной части операнда внутрь сегмента страницы, а другой - вне его, ошибка памяти может вызвать запись первой части без второй. В этом же случае системы 386 CPU/387 NPX ничего не запишут.

На процессоре i486 при ошибке сегмента в середине операции FLDENV может случиться, что часть среды будет загружена, а часть - нет. В таких случаях в слове управления FPU останется значение 007FH.

В процессоре i486 прерывание 9 отсутствует. В случаях, когда на процессоре 387 появляется прерывание 9, процессор i486 просто прерывает выполнение команды. При этом, однако, необходима некоторая осторожность. Ошибки памяти (в особенности сбой страниц) при выполнении FLDENV или FRSTOR в случаях, когда операционная система осуществляет переключение задачи, могут вызвать потерю среды с плавающей точкой. Intel настоятельно рекомендует размещать область хранения с плавающей точкой на одной странице с TSS.

  1. Трансцендентные команды:

На процессоре i486 трансцендентные команды могут быть прерваны в некоторых контрольных точках во время выполнения, если INTR находится в состоянии ожидания. Таким образом, трансцендентные команды следует использовать только в среде, где появление INTR-ов ожидается не ранее, чем через 200 тактов.



<== предыдущая лекция | следующая лекция ==>
Интерфейсные процедуры | Tипы данных и обработка исключений


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.431 сек.