SlideShare a Scribd company logo
1 of 21
Организация ЭВМ и систем
Тема: Сопроцессоры
• Взаимодействие ПЭВМ и сопроцессора
• Особенности программирования ПЭВМ с
сопроцессором
• Форматы данных, система команд
Сопроцессор
Сопроцессор – это специализированная
интегральная схема, которая работает в содружестве с
ЦП, но менее универсальна.
Принципиальное отличие процессора от
сопроцессора – только у ЦП есть счетчик команд.
Способы обмена информацией между ЦП и
сопроцессором:
1. Через прямое соединение входных и выходных
портов.
2. С обменом через память.
Математический сопроцессор
Предназначен для:
1. Быстрого выполнения арифметических
операций с плавающей точкой.
2. Содержит набор констант: 0, 1, log210, log2e,
loge2,... .
3. Может выполнять трансцендентные операции:
tg, arctg, 2x-1, ylog2x, ....
Стандарт IEEE-754 определяет три основных
способа кодирования (типа) вещественных чисел.
Машинное представление числа
с плавающей запятой состоит из:
- знака,
- строки значащих цифр, называемой
мантиссой,
- и показателя степени (фиксированного
основания), называемого порядком.
Форматы чисел
с плавающей точкой
1. Одинарная точность – 4 байта - 1,18·10-38... 3,40·1038
2. Двойная точность – 8 байт - 2,23·10-308... 1,79·10308
3. Тройная (расширенная) точность – 10 байт - 3,37·10-
4932... 1,18·104392
S Порядок Мантисса
1 бит 8 бит 23 бита
S Порядок Мантисса
1 бит 11 бит 52 бита
S Порядок Мантисса
1 бит 15 бит 64 бит
Способы кодирования
вещественных чисел
Вещественное число вычисляется как:
(-1)S·2E·M,
где S – знаковый бит числа, E – экспонента (порядок),
M – мантисса.
Если 1≤M<2, то такое число называется
нормализованным. При хранении нормализованных
чисел сопроцессор отбрасывает целую часть мантиссы
(она всегда 1), сохраняя лишь дробную часть. Экспонента
кодируется со сдвигом на половину разрядной сетки,
таким образом, удается избежать вопроса о кодировании
знака экспоненты. Т. е. при 8-битной разрядности
экспоненты код 0 соответствует числу -127, 1 числу -126,
..., 255 числу +126 (экспонента вычисляется как код 127).
(-1)S·(1.f1f2….f23)х2(E-127),
В общем случае все множество двоичных комбинаций
делится на следующие классы:
 нормализованные вещественные числа со знаком;
 денормализованные вещественные числа со знаком;
 ноль со знаком;
 бесконечность со знаком;
 нечисла (NaN – not a number) – сигнализирующие и
тихие.
Нечисла - специальные значения, существующие
только в вещественных форматах. Они имеют
смещенный порядок из всех единиц, любой знак, любую
мантиссу.
Структура сопроцессора 8087
Регистр управления
Регистр состояния
015
Управление
интерфейсом
Команда
Очередь
команд
Указатель команды
Указатель данных
031
Блок управления
АD15-0
А19-16
S2-0
АЛУ для
порядка
числа
Тег
01
Сдвигатель
АЛУ для
мантиссы
Регистровый
стек
79 0
R0
R1
R7
Операционный блок
Структура сопроцессора 8087
В 1980 году сопроцессор 8087 был реализован как
отдельный элемент по стандарту института
электрических и электронных разработок IEEE.
Регистр управления – содержит биты масок
особых случаев (маска переполнения, деления на 0).
 PC – поле управления точностью (8,9 биты)
11- округление до расширенной точности (по
умолчанию);
10 – округление до двойной точности;
00 – округление до одинарной точности.
 RC – поле управления округлением (10,11 биты)
00 – округление к ближайшему (по умолчанию).
01 – округление к +∞ .
10 – округление к -∞.
11 – округление к 0.
Регистр состояния – флаги особых случаев.
 ST (11-13 биты) – задается вершина стека.
 B (15 бит) – бит занятости:
1 – сопроцессор выполняет определенную команду;
0 – сопроцессор свободен.
Указатель команд (данных) – содержат адреса
последней команды и ее операнда.
Тег (регистр признаков) – характеризует
содержимое соответствующих целочисленных
регистров.
00 – в регистре находится действительное число;
01 – нулевое число в регистре;
10 – недействительное число;
11 – пустой регистр.
Сопроцессор 8087
Схема сопроцессора 8087 делится на 2 устройства:
 устройство шинного интерфейса;
 устройство с плавающей точкой.
Сопроцессор 80287 был создан в 1985 году,
изменения произошли только в устройстве шинного
интерфейса. В отличии от 8087 сопроцессор 80287 не
имеет доступа к ША, поэтому все обращения к памяти
выполняет ЦП.
В сопроцессоре 80387 изменения произошли в
устройстве с плавающей точкой в обработке ошибок,
также был реализован больший диапазон
трансцендентных функций.
В целом базовая программная модель всех
перечисленных сопроцессоров и блока FPU у IA-32
сходная: регистровый стек (восемь 80-битных регистров
R0-R7), слово тегов, регистр управления, регистр
состояния, указатель команды и указатель данных.
Для хранения данных в сопроцессоре предназначены
регистры R0-R7. Эти регистры организованы в стек, и
доступ к ним производится относительно вершины стека
– ST. Номер регистра, соответствующего вершине стека,
хранится в регистре состояния (поле TOS).
Сопроцессор использует теги, чтобы определить
переполнение или опустошение стека.
Указатель команд и указатель данных содержат
логические адреса (селектор сегмента и смещение)
последней команды и ее операнда. Эта информация
используется обработчиком особых случаев
сопроцессора.
Набор регистров блока
FPU Pentium
R7
R0
06364777879
01
015
047
Знак Порядок Мантисса
Тег
Регистр управления
Регистр состояния
Слово тегов
Указатель команды
Указатель данных
Система команд
Для команд сопроцессора выделена группа кодов,
начинающаяся с 11011ххх. В ассемблерах мнемоники
команд сопроцессора начинаются с “F”: FADD
(сложение), FCOM (сравнение), FCOS (косинус), FDIV
(деление) и т. п.
Параллельная работа ЦП и сопроцессора
ставит перед программистом проблемы
синхронизации.
Особенности программирования ЦП с
сопроцессором
FIST I; (запомнить в память I)
MOV AX, I
ЦП 80286 начнет выполнять команду MOV раньше, чем
80287 закончит FIST, и в регистр AX будет передано
неверное значение.
FIST I
FADD ST(3)
MOV AX, I
ЦП 80286, встретив FADD, должен ожидать завершение
FIST.
Задача синхронизации процессоров возникает, когда
287 обращается к ячейкам памяти, к которым впоследствии
обращается и 80286. Во всех случаях она решается
вставкой FWAIT между подозрительными командами 287 и
286.
Сопроцессорный интерфейс
ЦП Motorola MC 68020
Интерфейс сопроцессора отличается от, например,
интерфейса периферийного устройства тем, что
сопроцессор добавляет в систему новые инструкции,
дополнительные регистры и типы данных, которые
обычно не предусматриваются программной
моделью целочисленного устройства ЦП. Тем не
менее, коммуникационный протокол между ЦП и
сопроцессором прозрачен для программиста, т. к.
реализован аппаратно. Этот коммуникационный протокол
слабо привязан к архитектуре ЦП, так что любой
сопроцессор, реализующий данный протокол, может
быть использован в системе с ЦП MC680x0.
Для ускорения взаимодействия с сопроцессором в
MC68020 поддерживается специальный
сопроцессорный интерфейс.
ЦП
MC 68020
Сопроцессор
Интерфейс
CIR
Дешифратор
А19-А13
FC2-FC0
CS
A4 – A0
AS
R/W
DS
DSACK1
DSACK0
D0 – D31
 A19 - A13 – определяют операцию и тип сопроцессора.
 FC2 - FC0 – передается функциональный код (статус)
сопроцессора.
 А4 - А0 – передается номер регистра интерфейса CIR.
 AS – строб адреса. Показывает достоверность
адреса на ША.
 DS – строб данных.
 R/W – определяет направление пересылки.
 DSACK1, DSACK2 - подтверждают пересылку и
размер операнда. Служат для определения пересылки и
динамического определения ширины ШД.
Регистры интерфейса CIR
1. Регистр ответа.
2. Регистр управления.
3. Регистр сохранения.
4. Регистр восстановления.
5. Регистр слово операции.
6. Регистр команды.
7. Регистр условия.
8. Регистр выбора.
9. Регистр операнда.
10. Регистр адреса операнда.
11. Регистр адреса инструкции.
16-разрядные
32 - разрядные
Применение сопроцессоров
1. Обработка экономической информации.
2. Моделирование.
3. Графические преобразования.
4. Промышленное управление.
5. Системы числового управления.
6. Роботы.
7. Навигация.
8. Сбор данных.
Вопросы для самоконтроля
1. Что такое сопроцессор?
2. Основные способы обмена информацией между
процессором и сопроцессором.
3. Функции математического сопроцессора.
4. Форматы чисел с плавающей точкой.
5. Основное отличие структуры сопроцессора 8086 от
80286? С чем это связано?
6. Особенности обращения к регистрам сопроцессора
8086 по сравнению с регистрами блока с плавающей
точкой ЦП Pentium?

More Related Content

What's hot

Базовая настройка Ipecs e mg80
Базовая настройка Ipecs e mg80Базовая настройка Ipecs e mg80
Базовая настройка Ipecs e mg80Eugene Yakhno
 
7.13.6 Руководство пользователя Altistart 48
7.13.6 Руководство пользователя Altistart 487.13.6 Руководство пользователя Altistart 48
7.13.6 Руководство пользователя Altistart 48Igor Golovin
 
23
2323
23JIuc
 
028
028028
028JIuc
 
Программирование логики системы Z-Line с помощью программы Z-CONFIG
Программирование логики системы Z-Line с помощью  программы Z-CONFIG Программирование логики системы Z-Line с помощью  программы Z-CONFIG
Программирование логики системы Z-Line с помощью программы Z-CONFIG Z-Line
 
020
020020
020JIuc
 
039
039039
039JIuc
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераstudent_SSGA
 
63
6363
63JIuc
 
Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145
Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145
Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145reno-rez
 

What's hot (12)

Базовая настройка Ipecs e mg80
Базовая настройка Ipecs e mg80Базовая настройка Ipecs e mg80
Базовая настройка Ipecs e mg80
 
7.13.6 Руководство пользователя Altistart 48
7.13.6 Руководство пользователя Altistart 487.13.6 Руководство пользователя Altistart 48
7.13.6 Руководство пользователя Altistart 48
 
23
2323
23
 
028
028028
028
 
Программирование логики системы Z-Line с помощью программы Z-CONFIG
Программирование логики системы Z-Line с помощью  программы Z-CONFIG Программирование логики системы Z-Line с помощью  программы Z-CONFIG
Программирование логики системы Z-Line с помощью программы Z-CONFIG
 
Lekt 09 mtp-2_decrypted
Lekt 09 mtp-2_decryptedLekt 09 mtp-2_decrypted
Lekt 09 mtp-2_decrypted
 
020
020020
020
 
Lekt 11 mtp-3_decrypted
Lekt 11 mtp-3_decryptedLekt 11 mtp-3_decrypted
Lekt 11 mtp-3_decrypted
 
039
039039
039
 
Аппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютераАппаратная реализация персонального компьютера
Аппаратная реализация персонального компьютера
 
63
6363
63
 
Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145
Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145
Vnx.su megane-scenic-1999-электросхемы-техническая-нота-8145
 

Similar to Лекция №4(часть 1) Организация ЭВМ и систем

Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурIoT Community
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...a15464321646213
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
ВиртуалтредингCEE-SEC(R)
 
42
4242
42JIuc
 
Проектирование систем связи
Проектирование систем связиПроектирование систем связи
Проектирование систем связиMATLAB
 
36
3636
36JIuc
 
033
033033
033JIuc
 
Рабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвмРабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвмRauan Ibraikhan
 
Устройство персонального компьютера
Устройство персонального компьютераУстройство персонального компьютера
Устройство персонального компьютераЮрий Шпак
 
40
4040
40JIuc
 
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 
2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...
2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...
2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...RF-Lab
 
Схема устройства пк с подключенными к нему внешними устройствами
Схема устройства пк с подключенными к нему внешними устройствамиСхема устройства пк с подключенными к нему внешними устройствами
Схема устройства пк с подключенными к нему внешними устройствамиRauan Ibraikhan
 
06. Память Cortex-M3(4)
06. Память Cortex-M3(4)06. Память Cortex-M3(4)
06. Память Cortex-M3(4)KamlachPV
 
30
3030
30JIuc
 

Similar to Лекция №4(часть 1) Организация ЭВМ и систем (20)

Обзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектурОбзор современных микроконтроллеров и их архитектур
Обзор современных микроконтроллеров и их архитектур
 
Тест-драйв контроллера ARIS C303
Тест-драйв контроллера ARIS C303Тест-драйв контроллера ARIS C303
Тест-драйв контроллера ARIS C303
 
Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...Архитектура и программирование потоковых многоядерных процессоров для научных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
 
Лекция №3
Лекция №3Лекция №3
Лекция №3
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
Виртуалтрединг
 
42
4242
42
 
Проектирование систем связи
Проектирование систем связиПроектирование систем связи
Проектирование систем связи
 
Automatiz2
Automatiz2Automatiz2
Automatiz2
 
36
3636
36
 
033
033033
033
 
Рабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвмРабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвм
 
Устройство персонального компьютера
Устройство персонального компьютераУстройство персонального компьютера
Устройство персонального компьютера
 
орбита 500
орбита 500орбита 500
орбита 500
 
40
4040
40
 
supercluster
superclustersupercluster
supercluster
 
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 4. Векторизация кода (Code vectorization: SSE, AVX)
 
2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...
2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...
2011 ДИПЛОМНЫЙ ПРОЕКТ Селезнева Д.А. на тему "Разработка программно-аппаратны...
 
Схема устройства пк с подключенными к нему внешними устройствами
Схема устройства пк с подключенными к нему внешними устройствамиСхема устройства пк с подключенными к нему внешними устройствами
Схема устройства пк с подключенными к нему внешними устройствами
 
06. Память Cortex-M3(4)
06. Память Cortex-M3(4)06. Память Cortex-M3(4)
06. Память Cortex-M3(4)
 
30
3030
30
 

More from pianist2317

Лекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системЛекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системpianist2317
 
Лекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и системЛекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и системpianist2317
 
Лекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и системЛекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и системpianist2317
 
Лекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и системЛекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и системpianist2317
 
Лекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и системЛекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и системpianist2317
 
Лекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и системЛекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и системpianist2317
 
Лекция №8 Организация ЭВМ и систем
Лекция №8 Организация ЭВМ и системЛекция №8 Организация ЭВМ и систем
Лекция №8 Организация ЭВМ и системpianist2317
 
Лекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и системЛекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и системpianist2317
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системpianist2317
 
Лекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системЛекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системpianist2317
 
Лекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системЛекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системpianist2317
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системpianist2317
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системpianist2317
 
Лекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и системЛекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и системpianist2317
 
Лекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и системЛекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и системpianist2317
 

More from pianist2317 (15)

Лекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и системЛекция №9 Организация ЭВМ и систем
Лекция №9 Организация ЭВМ и систем
 
Лекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и системЛекция №14 Организация ЭВМ и систем
Лекция №14 Организация ЭВМ и систем
 
Лекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и системЛекция №13 Организация ЭВМ и систем
Лекция №13 Организация ЭВМ и систем
 
Лекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и системЛекция №12 Организация ЭВМ и систем
Лекция №12 Организация ЭВМ и систем
 
Лекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и системЛекция №11 Организация ЭВМ и систем
Лекция №11 Организация ЭВМ и систем
 
Лекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и системЛекция №10 Организация ЭВМ и систем
Лекция №10 Организация ЭВМ и систем
 
Лекция №8 Организация ЭВМ и систем
Лекция №8 Организация ЭВМ и системЛекция №8 Организация ЭВМ и систем
Лекция №8 Организация ЭВМ и систем
 
Лекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и системЛекция №7 Организация ЭВМ и систем
Лекция №7 Организация ЭВМ и систем
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и систем
 
Лекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системЛекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и систем
 
Лекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и системЛекция №4(часть 2) Организация ЭВМ и систем
Лекция №4(часть 2) Организация ЭВМ и систем
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
 
Лекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и системЛекция №15 Организация ЭВМ и систем
Лекция №15 Организация ЭВМ и систем
 
Лекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и системЛекция №1 Организация ЭВМ и систем
Лекция №1 Организация ЭВМ и систем
 

Лекция №4(часть 1) Организация ЭВМ и систем

  • 1. Организация ЭВМ и систем Тема: Сопроцессоры • Взаимодействие ПЭВМ и сопроцессора • Особенности программирования ПЭВМ с сопроцессором • Форматы данных, система команд
  • 2. Сопроцессор Сопроцессор – это специализированная интегральная схема, которая работает в содружестве с ЦП, но менее универсальна. Принципиальное отличие процессора от сопроцессора – только у ЦП есть счетчик команд. Способы обмена информацией между ЦП и сопроцессором: 1. Через прямое соединение входных и выходных портов. 2. С обменом через память.
  • 3. Математический сопроцессор Предназначен для: 1. Быстрого выполнения арифметических операций с плавающей точкой. 2. Содержит набор констант: 0, 1, log210, log2e, loge2,... . 3. Может выполнять трансцендентные операции: tg, arctg, 2x-1, ylog2x, .... Стандарт IEEE-754 определяет три основных способа кодирования (типа) вещественных чисел.
  • 4. Машинное представление числа с плавающей запятой состоит из: - знака, - строки значащих цифр, называемой мантиссой, - и показателя степени (фиксированного основания), называемого порядком.
  • 5. Форматы чисел с плавающей точкой 1. Одинарная точность – 4 байта - 1,18·10-38... 3,40·1038 2. Двойная точность – 8 байт - 2,23·10-308... 1,79·10308 3. Тройная (расширенная) точность – 10 байт - 3,37·10- 4932... 1,18·104392 S Порядок Мантисса 1 бит 8 бит 23 бита S Порядок Мантисса 1 бит 11 бит 52 бита S Порядок Мантисса 1 бит 15 бит 64 бит
  • 6. Способы кодирования вещественных чисел Вещественное число вычисляется как: (-1)S·2E·M, где S – знаковый бит числа, E – экспонента (порядок), M – мантисса. Если 1≤M<2, то такое число называется нормализованным. При хранении нормализованных чисел сопроцессор отбрасывает целую часть мантиссы (она всегда 1), сохраняя лишь дробную часть. Экспонента кодируется со сдвигом на половину разрядной сетки, таким образом, удается избежать вопроса о кодировании знака экспоненты. Т. е. при 8-битной разрядности экспоненты код 0 соответствует числу -127, 1 числу -126, ..., 255 числу +126 (экспонента вычисляется как код 127). (-1)S·(1.f1f2….f23)х2(E-127),
  • 7. В общем случае все множество двоичных комбинаций делится на следующие классы:  нормализованные вещественные числа со знаком;  денормализованные вещественные числа со знаком;  ноль со знаком;  бесконечность со знаком;  нечисла (NaN – not a number) – сигнализирующие и тихие. Нечисла - специальные значения, существующие только в вещественных форматах. Они имеют смещенный порядок из всех единиц, любой знак, любую мантиссу.
  • 8. Структура сопроцессора 8087 Регистр управления Регистр состояния 015 Управление интерфейсом Команда Очередь команд Указатель команды Указатель данных 031 Блок управления АD15-0 А19-16 S2-0 АЛУ для порядка числа Тег 01 Сдвигатель АЛУ для мантиссы Регистровый стек 79 0 R0 R1 R7 Операционный блок
  • 9. Структура сопроцессора 8087 В 1980 году сопроцессор 8087 был реализован как отдельный элемент по стандарту института электрических и электронных разработок IEEE. Регистр управления – содержит биты масок особых случаев (маска переполнения, деления на 0).  PC – поле управления точностью (8,9 биты) 11- округление до расширенной точности (по умолчанию); 10 – округление до двойной точности; 00 – округление до одинарной точности.  RC – поле управления округлением (10,11 биты) 00 – округление к ближайшему (по умолчанию). 01 – округление к +∞ . 10 – округление к -∞. 11 – округление к 0.
  • 10. Регистр состояния – флаги особых случаев.  ST (11-13 биты) – задается вершина стека.  B (15 бит) – бит занятости: 1 – сопроцессор выполняет определенную команду; 0 – сопроцессор свободен. Указатель команд (данных) – содержат адреса последней команды и ее операнда. Тег (регистр признаков) – характеризует содержимое соответствующих целочисленных регистров. 00 – в регистре находится действительное число; 01 – нулевое число в регистре; 10 – недействительное число; 11 – пустой регистр.
  • 11. Сопроцессор 8087 Схема сопроцессора 8087 делится на 2 устройства:  устройство шинного интерфейса;  устройство с плавающей точкой. Сопроцессор 80287 был создан в 1985 году, изменения произошли только в устройстве шинного интерфейса. В отличии от 8087 сопроцессор 80287 не имеет доступа к ША, поэтому все обращения к памяти выполняет ЦП. В сопроцессоре 80387 изменения произошли в устройстве с плавающей точкой в обработке ошибок, также был реализован больший диапазон трансцендентных функций.
  • 12. В целом базовая программная модель всех перечисленных сопроцессоров и блока FPU у IA-32 сходная: регистровый стек (восемь 80-битных регистров R0-R7), слово тегов, регистр управления, регистр состояния, указатель команды и указатель данных. Для хранения данных в сопроцессоре предназначены регистры R0-R7. Эти регистры организованы в стек, и доступ к ним производится относительно вершины стека – ST. Номер регистра, соответствующего вершине стека, хранится в регистре состояния (поле TOS). Сопроцессор использует теги, чтобы определить переполнение или опустошение стека. Указатель команд и указатель данных содержат логические адреса (селектор сегмента и смещение) последней команды и ее операнда. Эта информация используется обработчиком особых случаев сопроцессора.
  • 13. Набор регистров блока FPU Pentium R7 R0 06364777879 01 015 047 Знак Порядок Мантисса Тег Регистр управления Регистр состояния Слово тегов Указатель команды Указатель данных
  • 14. Система команд Для команд сопроцессора выделена группа кодов, начинающаяся с 11011ххх. В ассемблерах мнемоники команд сопроцессора начинаются с “F”: FADD (сложение), FCOM (сравнение), FCOS (косинус), FDIV (деление) и т. п. Параллельная работа ЦП и сопроцессора ставит перед программистом проблемы синхронизации.
  • 15. Особенности программирования ЦП с сопроцессором FIST I; (запомнить в память I) MOV AX, I ЦП 80286 начнет выполнять команду MOV раньше, чем 80287 закончит FIST, и в регистр AX будет передано неверное значение. FIST I FADD ST(3) MOV AX, I ЦП 80286, встретив FADD, должен ожидать завершение FIST. Задача синхронизации процессоров возникает, когда 287 обращается к ячейкам памяти, к которым впоследствии обращается и 80286. Во всех случаях она решается вставкой FWAIT между подозрительными командами 287 и 286.
  • 16. Сопроцессорный интерфейс ЦП Motorola MC 68020 Интерфейс сопроцессора отличается от, например, интерфейса периферийного устройства тем, что сопроцессор добавляет в систему новые инструкции, дополнительные регистры и типы данных, которые обычно не предусматриваются программной моделью целочисленного устройства ЦП. Тем не менее, коммуникационный протокол между ЦП и сопроцессором прозрачен для программиста, т. к. реализован аппаратно. Этот коммуникационный протокол слабо привязан к архитектуре ЦП, так что любой сопроцессор, реализующий данный протокол, может быть использован в системе с ЦП MC680x0.
  • 17. Для ускорения взаимодействия с сопроцессором в MC68020 поддерживается специальный сопроцессорный интерфейс. ЦП MC 68020 Сопроцессор Интерфейс CIR Дешифратор А19-А13 FC2-FC0 CS A4 – A0 AS R/W DS DSACK1 DSACK0 D0 – D31
  • 18.  A19 - A13 – определяют операцию и тип сопроцессора.  FC2 - FC0 – передается функциональный код (статус) сопроцессора.  А4 - А0 – передается номер регистра интерфейса CIR.  AS – строб адреса. Показывает достоверность адреса на ША.  DS – строб данных.  R/W – определяет направление пересылки.  DSACK1, DSACK2 - подтверждают пересылку и размер операнда. Служат для определения пересылки и динамического определения ширины ШД.
  • 19. Регистры интерфейса CIR 1. Регистр ответа. 2. Регистр управления. 3. Регистр сохранения. 4. Регистр восстановления. 5. Регистр слово операции. 6. Регистр команды. 7. Регистр условия. 8. Регистр выбора. 9. Регистр операнда. 10. Регистр адреса операнда. 11. Регистр адреса инструкции. 16-разрядные 32 - разрядные
  • 20. Применение сопроцессоров 1. Обработка экономической информации. 2. Моделирование. 3. Графические преобразования. 4. Промышленное управление. 5. Системы числового управления. 6. Роботы. 7. Навигация. 8. Сбор данных.
  • 21. Вопросы для самоконтроля 1. Что такое сопроцессор? 2. Основные способы обмена информацией между процессором и сопроцессором. 3. Функции математического сопроцессора. 4. Форматы чисел с плавающей точкой. 5. Основное отличие структуры сопроцессора 8086 от 80286? С чем это связано? 6. Особенности обращения к регистрам сопроцессора 8086 по сравнению с регистрами блока с плавающей точкой ЦП Pentium?