Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Команди керування пристроєм FPU
Команд керування пристроєм є не так багато. Одна з них, , використовується для умовного переходу. Інші команди в обчисленнях майже не використовуються і призначені для керування FPU на системному рівні. Багато команд мають альтернативні мнемоніки, другою буквою яких є буква , яка означає – не очікувати. Наявність цієї букви полягає в тому, що відповідна команда не перевіряє незамасковані особливі випадки і виконується негайно. Тоді транслятор не вставляє перед нею команду , тому перед її виконанням FPU не перевіряє наявність особливих випадків з плаваючою крапкою. Усі інші команди з плаваючою крапкою процесор синхронізує автоматично; всі операнди передаються до ініціалізації наступної команди. Тому для правильного виконання команд, завдяки автоматичній синхронізації, не потрібна попередня команда . Синхронізація ж особливих випадків ґрунтується на використанні команди . Оскільки цілочисловий пристрій і FPU працюють паралельно, то можливо, що особливий випадок з плаваючою крапкою зруйнує важливу інформацію до виклику обробника особливого випадку. Застосування команди у потрібному місці дозволяє уникнути такої ситуації. Команда ініціалізації FPU: ; ; ; ; ; ; ; . – (заокруглення до найближчого, всі особливі випадки замасковані, максимальна 64-бітова точність). Слово стану , – вершина стека. Всі регістри стека визначені порожніми. Вказівники помилки (команди і даних) установлені в нуль. Першою командою після вмикання живлення має бути команда . Команда перед виконанням ініціалізації контролює помилки з плаваючою крапкою, – не контролює. Команда – завантажує в новий вміст з (це повинно бути ціле слово в оперативній пам’яті). Відзначимо, якщо в установлено будь-який прапорець особливого випадку, то завантаження нового слова керування може призвести до формування особливого випадку перед виконанням наступної команди. Тому рекомендується перед завантаженням нового значення слова керування установити в нуль прапорці в . Команди і – зберігають і в оперативній пам’яті або в регістрі . Команди і контролюють наявність особливих випадків, на відміну від команд і . Команда – в слові стану установлює в нуль прапорці особливих випадків біти від 0 до 7 (, та ) і (біт 15). Дану команду має виконати процедура обробки особливого випадку перед поверненням в перервану програму, інакше буде сформоване нове переривання (яке можливо тільки що аналізувалося). Присутність або відсутність параметра-букви означає, як і в попередніх командах, контролює або не контролює відповідно команда особливий випадок перед своїм виконанням. Надалі цей факт притаманний усім командам, в яких може бути цей параметр.
Команда – зберігає поточний повний стан FPU в приймачі , а потім установлює початковий його стан (як і команда ). Операнд – 94-байтовий для і 108-байтовий для . Команди і не зберігають стан FPU до призупинення всіх його дій. Якщо програма повинна читати образ стану після команди збереження, потрібно використати команду , що забезпечує коректне завершення збереження. Команда – перезавантажує стан FPU з області оперативної пам’яті. Ці дані повинні були бути записані раніше командою або і не повинні модифікуватися іншими командами. Якщо образ стану має незамаскований особливий випадок, його завантаження даною командою зумовлює особливий випадок. Команди і – зберігають поточне середовище в , а потім маскують всі особливі випадки з плаваючою крапкою. Поточне середовище: і вказівники помилок (даних і команди). Ці команди не зберігають середовище до призупинення всіх дій FPU. Команда – перезавантажує середовище FPU з області оперативної пам’яті . Команди і – відповідно виконують інкремент і декремент вказівника стека і не передають ніяких даних. Регістр попередньої вершини стека при виконанні команди не змінюється і не відзначається як порожній, тобто дія цієї команди не еквівалентна вилученню зі стека. Команда виконує ніби запис у стек, але дане, яке записується відсутнє, регістр тегів не змінюється. Команда – записує в тег вказаного регістра , тобто відзначає регістр як порожній, але вміст регістра і вказівник стека не змінюються. Команда – заставляє FPU перед продовженням обчислень перевірити незамасковані особливі випадки, які очікують аналізу програмами – обробниками особливих випадків. Команда – є порожньою командою, яка не виконує ніяких дій.
Наведемо таблицю команд керування FPU.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-27; просмотров: 264; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.196.27 (0.006 с.) |