АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Структура арифметического сопроцессора К1810ВМ87

Читайте также:
  1. APQC структура классификации процессов SM
  2. I. Общие критерии оценки рефератов и их структура
  3. I.2 Реформирование и современная структура банковской системы РФ.
  4. II. Структура Доклада
  5. II. Структура Переліку і порядок його застосування
  6. III. Диалектика: ее суть структура и альтернативы.
  7. III. Социальная структура и стратификация
  8. IV. Границы структурализма?
  9. IV.Структура, порядок изложения и оформления работы
  10. VI. Взаимодействие Церкви с государственными структурами и обществом в деятельности по реабилитации
  11. VII. СТРУКТУРА ЛИЧНОСТИ
  12. Административная структура ММЦ «Валко. Новая звезда»

Форматы данных. АСП ВМ87 может оперировать данными семи различных форматов: целых двоичных чисел (три формата), целых двоично-десятичных чисел (один формат) и вещественных чисел с плавающей запятой (три форма­та). Структура форматов приведена на рис. 14, а наименование и примерный диапазон значений - в табл. 7.

Рисунок 14 – Структура форматов данных АСП ВМ87

 

Целые двоичные числа записываются в памяти, начиная с младших бай­тов. Во всех трех форматах ЦС, КЦ и ДЦ отрицательные числа представляют­ся в дополнительном коде (рис. 14), тем самым старший байт определяет знак числа (0 - положительное число, 1 - отрицательное число).

Полный диапазон целых чисел представлен в табл. 7. Один из кодов в котором знаковый разряд s = 1, а в значащих разрядах все нули, выделен для обозначения неопределенности. Код неопределенности генерируется в исключи­тельных ситуациях, описываемых далее.

Целые двоично-десятичные числа записываются в плотно упакованном двоично-десятичном (ДД) коде, в котором под каждую цифру d0 - d17 (рис. 14) отводится четыре двоичных разряда. В памяти ДД числа также располагаются начиная с младших разрядов и занимают 10 байт. Старший байт используется только под знак числа, который расположен в разряде 79, а остальные разряды старшего байта 78 - 72 содержат нули.

 

Таблица 7

Формат данных Число байтов Примерный диапазон значений
Целое слово (ЦС)   ±104
Короткое целое (КЦ)   ±109
Длинное целое (ДЦ) в ±1010
Двоично-десятичное (ДД)   ±1018
Короткое вещественное (KB)   ±10±38
Длинное вещественное (ДВ)   ±10±308
Временное вещественное (ВВ)   ±10±4932

 

Таблица 8

Наименование числа Знак s Значащие разряды ЦС(15бит), КЦ(32бит), ДЦ(64бит)
Целое положительное   1 1 …… 1 1 ……………. 0 0 …… 0 1
Нуль   0 0 …… 0 0
Целое отрицательное   1 1 …… 1 1 ……………. 0 0 …… 0 1
Неопределенность   0 0 …… 0 0

 

Полный диапазон двоично-десятичных чисел представлен в табл. 9. В него входят коды +0 и – 0, а также специальный код неопределенности. Код неопределенности является результатом в исключительных ситуациях, описываемых далее.

Таблица 9

Наименование числа Знак s Биты 78-72 Значащие цифры d17d16…d0
Положительное двоично-деся­тичное     ………. 10011001 … 1001 …………………. 00000000 … 0000
Нуль     00000000 … 0000 00000000 … 0000
Отрицательное двоично-деся­тичное     ………. 00000000 … 0000 …………………. 10011001 … 1001
Неопределенность     11111111U … UUU

 

Вещественные числа в каждом из трех форматов КВ, ДВ и ВВ выключают три поля: поле знака мантиссы, поле порядка и поле мантиссы (рис. 14). Мантисса числа всегда (кроме исключительных случаев) записывается в нор­мализованном виде 1, , где - дробная часть числа. Целая часть, всегда равная единице, прямо не представляется в форматах KB и ДВ, а учиты­вается неявно. В формате ВВ старший бит мантиссы представляется явно. Порядок вещественных чисел записывается в поле порядка в смещенном виде, поэтому истинный порядок равен числу в поле порядка минус значение смеще­ния. Применение смещенных порядков позволяет упростить операцию сравне­ния вещественных чисел, достаточно сравнить их порядки как обычные целые числа без знака. Поскольку операция сравнения является доминирующей в вычислительных программах, такое упрощение существенно повышает эффек­тивность программ.

Структурная схема АСП (рис. 15) содержит две относительно независи­мые части: операционное устройство, которое выполняет операции, заданные командой, и устройство шинного интерфейса, которое получает и декодирует команды, осуществляет считывание операндов из памяти и преобразование их в формат ВВ, а также запись результатов в память с обратным преобразовани­ем в требуемый формат. Оба устройства могут работать параллельно, что обеспечивает совмещение во времени процессов передачи и преобразования данных.

Рисунок 15 - Укрупненная структурная схема АСП ВМ87

 

Операционное устройство АСП содержит группу арифметических ре­гистров, модули обработки порядка и мантиссы, ПЗУ констант, регистр этике­ток и блок управления.

Группа арифметических регистров включает восемь 80-битовых регистров, организованных в стек. Со стеком связан 3-битовый указатель стека SТ, со­держимое которого определяет номер одного из восьми арифметических ре­гистров, являющегося вершиной стека. Нумерация регистров начинается всег­да от вершины (рис 16), и регистры обозначаются через ST(0), ST(1),..., ST(7). Группа арифметических регистров служит для хранения обрабаты­ваемых данных, представленных в формате ВВ. При загрузке данных в ариф­метический регистр содержимое указателя стека ST предварительно уменьша­ется ST←ST - 1 и указывает номер регистра, в который производится за­грузка. При извлечении данных, после запоминания извлеченного значе­ния в памяти, содержимое ST автоматически увеличивается на единицу ST ← ST+1. С группой арифметических регистров связан регистр этикеток TAG, в котором каждому АР ставится в соответствие 2-битовое поле. В этом поле автоматически формируется код, характеризующий загруженное в АР значение, в соответствии с табл. 10.

Модуль обработки мантиссы состоит из 68-битового сумматора, регистра сдвига и регистра результата. Он выполняет заданные операции над мантиссами операндов и формирует признаки различных исключительных ситуации, возникающих при обработке данных.

Модуль обработки порядка осуществляет действие над значениями поля порядка исходных операндов в соответствии с командой.

ПЗУ констант хранит семь различных числовых констант, которые часто используются в вычислительных программах: +0,0; +1,0; π; lg 2; ln 2; log2l0 и log2e. Все константы представлены в формате ВВ.

Рисунок 16 - Нумерация арифметических регистров (при ST = 5) и соответствующих полей регистра

 

Блок управления связан с выходом очереди из байтов команд и построен по микропрограммному принципу. Его назначение состоит в дешифрации очередной команды, поступающей на исполнение из устройства шинного интерфейса, и формировании управляющих сигналов, определяющих режим работы модулей обработки и других устройств АСП.

 

Таблица 10

Код поля TAG(1) Содержимое регистра ST(1)
  Конечное число, не равное нулю
  Нуль
  HAN/±∞
  Регистр пуст (обозначается в)

Устройство шинного интерфейса содержит группу вспомогательных регистров, буферный регистр (БР), очереди команд и операндов.

Группа вспомогательных регистров включает 16-битовый регистр состояния SR, 16-битовый регистр управления CR и 64-битовый регистр - указатель исключительных ситуаций ЕР.

Регистр состояния SR (рис. 17) содержит 13 полей, разряды которых при функционировании АСП автоматически устанавливаются в соответствии с выполняемыми действиями или результатами действий. Поле В регистра SR (paзряд 15) устанавливается в единицу, когда сопроцессор выполняет команду. Значение этого поля выдается на выход BUSY и осуществляет синхронизацию действий ЦП и АСП,»удерживая» ЦП в режиме ожидания. Разряды пол ST устанавливаются в соответствии с номером арифметического регистра, который является вершиной стека. Уменьшение или увеличение значения ST на единицу осуществляется автоматически при выполнении команд загрузки и запоминания соответственно. Разряды полей С3 - С0 содержат значения флагов характеризующих результаты выполнения различных команд (табл. 11). Разряды полей РЕ, UE, OE, ZE, DE, IE являются флагами исключительных ситуаций, возникающих в результате выполнения команд.

Флаг IЕ - недействительная операция - устанавливается в единицу при переполнении стека, извлечения из пустого стека, выполнения действий приво­дящих к неопределенным значениям типа ∞/∞, ∞×0, или с операндом NAN. Если флаг IE замаскирован, результат недействительной операции фор­мируется следующим образом. Когда один из операндов равен NAN, то резуль­татом является NAN; когда оба операнда NAN, результатом является NAN с большим абсолютным значением. Если ни один из операндов не является NAN, результатом является код неопределенности.

 

Рисунок 17 - Регистр состояния АСП ВМВ7

 

Флаг DE - денормализованный операнд - устанавливается в единицу, когда хотя бы один из операндов денормализован. Если флаг DE замаскирован и операнд находится в памяти, то сопроцессор оперирует с денормализованным операндом как с нормализованным. Когда денормализованный операнд на­ходится в регистре, сопроцессор предварительно преобразует его в ненормали­зованный, путем сдвига мантиссы и изменения порядка.

Таблица 11

Команды С3С2С1С0 Результат
Сравнение чисел 00x1 00x1 10x0 11x1 ST(0) > X ST(0) < X ST(0) = X ST(0) несравнимо с X
Анализ числа, находящегося в вершине стека   + ненормализованное + NAN - ненормализованное - NAN + нормализованное + - нормализованное - +0 е -0 е + денормализованное е - денормализованное е
Получение частичного остатка rо0 r1r2 x 1 x x команда завершена команда не завершена
Примечания: 1. ST(0) - число в вершине стека, 1. X – число в памяти или ST(i) 3. е - пустая вершина 4. rо – r2 три младших бита частного.

 

Флаг ZE - деление на нуль - устанавливается в единицу, когда дели­мое - конечное число, не равное нулю, а делитель равен нулю. Если флаг ZE замаскирован, то в качестве результата выдается код ∞ со знаком, равным сумме по модулю два знаков операндов.

Флаг ОЕ - переполнение - устанавливается в единицу, когда результат операции не может быть представлен конечным числом, т.е. его значение превышает 1,2∙104931. Если флаг ОЕ замаскирован, то в качестве результата выдается код ∞.

Флаг UE - антипереполнение - устанавливается в единицу, когда ре­зультат операции не может быть представлен нормализованным конечным числом. Если флаг UE замаскирован, то в качестве результата выдается де-нормализованное число.

Флаг РЕ - неточный результат - устанавливается в единицу, когда зна­чение результата не может быть представлено точно в том формате, который определен командой. Результат в этом случае округляется в соответствии с заданным режимом округления. Если флаг РЕ замаскирован, сопроцессор округляет результат, не вызывая прерывания.

Поле SR(7) = IR содержит флаг запроса прерывания, который устанавли­вается в»1» при возникновении какой-либо незамаскированной из (перечисленных выше) исключительной ситуации. Значений флага IR формиру­ется на выходе INT сопроцессора. Флаг IR может быть замаскирован про­граммным путем.

 

Рисунок 18 - Регистр управления АСП ВМВ7

 

После инициализации ВМ87 все биты регистра состояния, за исключением С0, C1, C2, СЗ, устанавливаются в нуль.

Регистр управления CR (рис. 18) содержит десять полей, которые служат для задания требуемого режима работы АСП программным путем. Различают две основные группы режимов - вычислений и обработки исключительных ситуаций. Режимами вычислений управляют поля старшего байта регистра CR, а режимами обработки исключительных ситуаций - поля младшего байта.

Поле CR(12) = IС - управление бесконечностью - определяет, что +∞ и - ∞ считаются одной беззнаковой бесконечностью; IC = 1 - определяет обычную ситуацию, когда +∞ и - ∞ считаются двумя знаковыми бес­конечностями Первый режим (IС = 0) носит название»проективная ариф­метика», а второй (IС = 1) -»аффинная арифметика».

Поле CR (11, 10) = RC - управление округлением - определяет способ округления в соответствии с табл. 12.

 

Таблица 12

Код поля ЕС Способ округления результата
  К ближайшему значению
  По направлению к -∞
  По направлению к +∞
  По направлению к нулю

 

Первый режим RC = 00 является обычным способом округления. Режимы RC = 01 и 10 используются для определения граничных левых и правых значе­ний соответственно. В режиме RC = 11 осуществляется усечение (отбрасыва­ние) лишних битов результата.

Поле CR (9, 8) = PC - управление точностью позволяет определить фор­мат представления результатов вычислений в соответствии с табл. 13 и задать один из трех режимов работы. Режимы, соответствующие РС = 00 и 10, позволяют на основе ВМ87 эмулировать работу процессоров с разрядной сеткой, отведенной под мантиссу 24 и 53 бит соответственно. В этих режимах результа­ты операций с плавающей запятой перед размещением в арифметический регистр округляются до указанного размера.

Поля CR(5) - CR(0) позволяют установить маски исключительных ситуа­ций, описанных ранее, при этом: IМ = 1 маскирует флаг IE; DM = 1 - флаг DE; ZM = 1 - флаг ZE; ОМ = 1 - флаг ОЕ; UM = 1 - флаг UE; РМ = 1 - флаг РЕ.

Поле CR(7) = IEM - маскирует флаг запроса прерывания IR, т.е. неза­висимо от значений перечисленных шести масок сигнал IЕМ = 1 заставляет ВМ87 обрабатывать все исключительные ситуации стандартным образом.

 

Таблица 13

Код поля PC Точность представления результата
  В формате KB (24 бит)
  Зарезервирован
  В формате ДВ (53 бит)
  В формате ВВ (64 бит)

 

При инициализации ВМ87 сигналом RESET поля регистра управления устанавливаются следующим образом: IC = 0, RC = 00, РС = 11, IЕМ = 0, все маски устанавливаются в единицу.

 

Рисунок 19 - Регистр - указатель исключительной ситу­ации

 

Регистр - указатель исключительной ситуации ЕР (рис. 19) состоит из двух 32-битовых регистров. Когда сопроцессор выполняет очередную команду, устройство шинного интерфейса засылает в первый регистр 20-битовый адрес этой команды и 11-битовый код команды, а во второй - 20-битовый адрес операнда, если он взят из памяти. Эта информация может потребоваться цен­тральному процессору при нестандартной обработке незамаскированной исключительной ситуации по запросу прерывания от ВМ87. Содержимое регистра ЕР может быть записано в память с помощью соответствующей команды ВМ87 для анализа в процессе обработки запроса. Неиспользуемые бить регистра - указателя ЕР заполняются нулями.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)