Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМ шпора.docx
Скачиваний:
4
Добавлен:
18.04.2019
Размер:
315.75 Кб
Скачать

19. Сопроцессоры. Синхронизация по данным.

Синхронизация по данным.

Если выполняемая сопроцессором команда записывает операнд в ячейку памяти перед последующей командой ЦП, которая использует ее, тогда тоже нужна аналогичная команда проверки состояния сопроцессора.

Если сопроцессор не успел записать данные в ячейку, которую будет использовать следующую команду, то ЦП должен ожидать завершения работы сопроцессора.

20. Внутренняя организация fpu

FPU состоит из устройства управления и численного операционного(исполнительного) устройства.

Устройство управления – предназначено для восприятия команд, считывания и записи данных, выполнения команд управления, а также согласования действий FPU с ЦП.

ЦП (?Целочисленное устройство?) различает несколько команд ESC. Если в команде требуется обращение к памяти, то ЦП вычисляет адрес операнда. Другая команда ESC показывает, что обращения к памяти нет, и ЦП переходит к след.команде. Если требуется обращение к памяти и ЦП вычислил физич.адрес операнда, сопроцессор сохраняет этот адрес.

В УУ есть два программно-доступных регистра, в которых хранятся слово управления CW и слово состояния SW.

Численное операционное устройство выполняет численные команды, связ.с внутренним регистровым стеком. В его составе есть несколько быстродействующих спец.?лоджей?, реализующих операции над мантиссами и порядками, а также параллельные сдвиги.

Модуль операций с плавающей запятой (или с плавающей точкой; англ. floating point unit (FPU)) — часть процессора для выполнения широкого спектра математических операций над вещественными числами.

Множества микрокоманд главного процессора и сопроцессора не совпадают. Каждый из них имеет свое собственное множество команд. То есть программы для сопроцессора пишутся специальным образом. Программы, не предназначенные для использования сопроцессора, не получат никаких преимуществ от его присутствия в компьютере.

Модуль операций с плавающей запятой представляет собой стековый калькулятор, работающий по принципу обратной польской записи. Перед операцией аргументы помещаются в LIFO-стек, при выполнении операции необходимое количество аргументов снимается со стека. Результат операции помещается в стек, где может быть использован в дальнейших вычислениях или может быть снят со стека для записи в память. Также поддерживается и прямая адресация аргументов в стеке относительно вершины.

Регистры

В FPU можно выделить три группы регистров:

  • Стек процессора: регистры R0..R7. Размерность каждого регистра: 80 бит.

  • Служебные регистры

  • Регистр состояния процессора SWR (Status Word Register) — информация о текущем состоянии сопроцессора. Размерность: 16 бит.

  • Управляющий регистр сопроцессора CWR (Control Word Register) — управление режимами работы сопроцессора. Размерность: 16 бит.

  • Регистр слова тегов TWR (Tags Word Register) — контроль за регистрами R0..R7 (например, для определение возможности записи) Размерность: 16 бит.

  • Регистры указателей

  • Указатель данных DPR (Data Point Register). Размерность: 48 бит.

  • Указатель команд IPR (Instruction Point Register). Размерность: 48 бит.

Форматы данных

Внутри FPU числа хранятся в 80-битном формате с плавающей запятой, для записи же или чтения из памяти могут использоваться:

  • Вещественные числа в трёх форматах: коротком (32 бита), длинном (64 бита) и расширенном (80 бит).

  • Двоичные целые числа в трёх форматах: 16, 32 и 64 бита.

  • Упакованные целые десятичные числа (BCD) числа — длина максимального числа составляет 18 упакованных десятичных цифр (72 бита).

FPU также поддерживает специальные численные значения:

  • Денормализованные вещественные числа — числа, которые меньше минимального нормализованного числа.

  • Бесконечность (положительная и отрицательная), возникает при делении на нуль ненулевого значения, а также при переполнениях.

  • Нуль — в формате с плавающей запятой, нуль также считается специальным значением.

  • Неопределённости и неподдерживаемые форматы. Существует много битовых наборов, которые можно представить в расширенном формате вещественного числа.

Система команд сопроцессора

Система включает около 80 команд. Их классификация:

  • Команды передачи данных

  • Команды сравнения данных

  • Арифметические команды

  • Трансцендентные команды

  • Команды управления

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]