Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Общие сведения и технические характеристики арифметического сопроцессора. Система команд арифметического сопроцессораБлок вычислений с плавающей точкой (Floating Point Unit, FPU) или арифметический сопроцессор – функционально самостоятельный модуль, который вплоть до микропроцессора INTEL486 размещался в отдельной микросхеме. В микропроцессорах, начиная с INTEL486DX математический сопроцессор встроенный. Сопроцессор INTEL 8087 выполнен как специализированная интегральная микросхема, ориентированная на работу с основным микропроцессором. Основное назначение сопроцессоров – повышение быстродействия при выполнении специальных вычислительных команд и вычислениях чисел с плавающей точкой. Комбинацию микропроцессора и сопроцессора рассматривают как единый процессор с расширенной системой команд и типами данных. Совмещение микропроцессора INTEL 8086 с сопроцессором INTEL 8087 сводится к простым соединениям соответствующих выводов без использования дополнительных интегральных схем. В сопроцессоре INTEL 8087 отсутствует механизм выборки команд, поэтому он функционирует совместно с основным микропроцессором и под управлением последнего. Система команд сопроцессора расширяет набор команд основного микропроцессора и включает следующие группы команд: 1. команды передачи данных, 2. арифметические команды: a) сравнение, b) анализ, c) сложение, d) вычитание, e) умножение, f) деление; 3. команды загрузки констант, часто встречающихся в вычислительных программах, 4. команды трансцендентных функций: a) tg, b) arctg, c) 2x-1, d) Ylog2X и т.д.; 5. команды управления: a) команды инициализации сопроцессора, b) команды разрешения прерываний, c) команды загрузки управляющего слова, d) команды запоминания управляющего слова в памяти, e) команды запоминания слова состояния в памяти при организации условных переходов и для обработки исключительных ситуаций, f) команды записи содержимого всех регистров сопроцессора в память, команды установки в ноль флагов исключительных ситуаций и т.д. 56. Обобщенная структурная схема сопроцессора.
Сопроцессор INTEL 8087 представляет собой однокристальный 80-разрядный арифметический сопроцессор. В структурной схеме сопроцессора INTEL 8087 можно выделить два независимо работающих устройства, позволяющих организовать конвейерную обработку принимаемых данных: 1. операционное устройство – выполняет функции, заданные командой, 2. устройство шинного интерфейса a) принимает и декодирует команды, b) осуществляет считывание операндов из памяти и их преобразование в 80-разрядный формат с плавающей запятой, c) запись результатов выполнения команд в память с обратным преобразованием в требуемый формат. Оба устройства могут работать параллельно, что обеспечивает совмещение во времени процессов передачи и преобразования данных. Операционное устройство содержит: 1. стек регистров, 2. модуль обработки порядка, 3. арифметический модуль, 4. сдвиговый регистр, 5. устройство МПУ. Буфер данных обеспечивает синхронизацию работы микропроцессора и сопроцессора, имеющих разные тактовые частоты. Наличие буфера данных позволяет передавать сопроцессору команды и данные следующей операции еще до того, как закончилось выполнение текущей. Это дает возможность работы микропроцессора и сопроцессора без циклов ожидания. Данные на обработку в сопроцессор могут поступать в любом из форматов. Независимо от этого, все вычисления в сопроцессоре выполняются в 80-разрядном формате с плавающей запятой. Преобразование форматов данных выполняют регистры очереди операндов. Регистры очереди операндов – это 3 80-разрядных регистра. Регистры очереди операндов также служат для временного хранения данных. В сопроцессоре организована раздельная обработка мантиссы и порядка. Все действия над порядками выполняются в модуле обработки порядка. Операции над мантиссами производятся в арифметическом модуле. Арифметический модуль также формирует признаки различных исключительных ситуаций, возникающих при обработке данных. Для выполнения операций сдвигов мантиссы используется сдвиговый регистр. Рег8истровый стек сопроцессора представляет собой 8 80-разрядных регистров. Регистровый стек служит для хранения обрабатываемых данных. Обращение к регистрам стека может производиться к любому из регистров в любое время. Для этого с регистрами стека связан 3-разрядный указатель стека, содержимое которого определяет номер стекового регистра. Блок управления сопроцессора построен по микропрограммному принципу. Его назначение состоит в дешифрации очередной команды и формировании управляющих сигналов, определяющих режим работы устройств сопроцессора. Регистр слова состояния сопроцессора выполняет функции, аналогичные функциям регистра флагов микропроцессора, но только для операций с плавающей точкой. Регистр слова состояния отражает состояние сопроцессора в соответствии с выполняемыми действиями или результатами действий. Формат регистра слова состояния сопроцессора:
B – признак занятости сопроцессора В=1 – сопроцессор выполняет команду В=0 – сопроцессор свободен; С3-С0 – флаги, характеризующие результаты выполнения различных команд; ST – разряды, определяющие номер арифметического регистра, являющегося вершиной стека сопроцессора; IR– флаг запроса прерывания, который устанавливается в 1 при возникновении какой-либо незамаскированной исключительной ситуации; PE, UE, OE, ZE, DE, IE – флаги, исключительных ситуаций, возникающих в результате выполнения команд: PE – неточный результат – устанавливается в 1, когда значение результата не может быть представлено точно в том формате, который определен командой. Результат в этом случае округляется в соответствии с заданным режимом округления. Если PE замаскирован, сопроцессор округляет результат, не вызывая прерывания; UE –антипереполнение – устанавливается в 1, когда результат операции не может быть представлен нормализованным конечным числом. Если UE замаскирован, то в качестве результата выдается денормализованное число; OE – переполнение – устанавливается в 1, когда результат операции не может быть представлен конечным числом, т.е. его значение превышает 1.2∙104932. Если флаг OE замаскирован, то в качестве результата выдается код ∞; ZE –деление на нуль – устанавливается в 1, когда делитель равен нулю. Если флаг ZE замаскирован, то в качестве результата выдается код ∞ со знаком, равным сумме по модулю два знаков операндов; DE– денормализованный операнд – устанавливается в 1, когда хотя бы один из операндов денормализован. Если флаг DE замаскирован и операнд находится в памяти, то сопроцессор оперирует с денормализованным операндом как с нормализованным; IE – недействительная операция – устанавливается в 1 при переполнении стека, извлечении из пустого стека, выполнения действий, приводящих к неопределенным значениям типа ∞∕∞, ∞∙0, √-а. Если флаг IE замаскирован, то результатом недействительной операции является код неопределенности. Регистр слова управления сопроцессора служит для задания режима работы сопроцессора программным путем. Различают две группы режимов: 1. режимы вычислений, 2. режимы обработки исключительных ситуаций. Формат регистра слова управления сопроцессора:
IC – порядок обработки ∞ IC=0 – без знака IC=1 – со знаком; RC – управление округлением
PC– управление точностью, определяет формат представления результатов вычислений
IEM– маскирование прерываний (флаг IEM маскирует флаг запроса прерывания IR), т.е. независимо от значений масок особых случаев при IEM=1 все исключительные ситуации обрабатываются стандартно IEM=1 – прерывания запрещены IEM=0 – прерывания разрешены; PM, UM, OM, ZM, DM, IM – маски исключительных ситуаций. Установка в 1 бита маски запрещает прерывание при возникновении соответствующей ошибки сопроцессора и используется встроенная процедура обработки исключительной ситуации.
Дата добавления: 2014-08-04; просмотров: 536; Нарушение авторских прав Мы поможем в написании ваших работ! |