У вас вопросы?
У нас ответы:) SamZan.net

тема команд арифметического сопроцессора.

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 26.12.2024

1.Система команд арифметического сопроцессора. Арифметические команды

Система команд сопроцессора состоит из четырех групп команд: команды передачи данных, основные вычислительные команды, команды управления и специальные вычислительные команды.

Команды передачи данных. Включают команды загрузки, запоминания и пересылки.

Команды загрузки. Эти команды (табл. 2.8) позволяют записывать данные из памяти в вершину стека. 

Таблица 2.8

Мнемокод команды

Тип данных

Выполняемые действия

 FLD addr

Вещественные

 (аddr)->ST(0)

 FILD addr

Целые

 FBLD addr

   Двоично-десятичные

Команды запоминания. Эти команды (табл. 2.10) осуществляют передачу данных из вершины стека ST(0) в память.

Таблица 2.10

Мнемокод команды

Тип данных

Выполняемые действия

 FST addr

КВФ, ДВФ

 ST(0) -> (аddr)

 FIST addr

Целые 16 и 32- разрядные

 ST(0) -> (аddr)

 FSTP addr

КВФ, ДВФ, ВВФ

 ST(0) -> (аddr) + POP

 FISP addr

Целые 16, 32 и 64 - разрядные

 ST(0) -> (аddr) + POP

 FBSTP addr

Двоично-десятичные

 ST(0) -> (аddr) + POP

Команды пересылки. Эти команды (табл. 2.11) позволяют осуществлять

      Таблица 2.11

Мнемокод команды

Выполняемые действия

     FLD ST(i)

ST(i) -> ST(0) + PUSH

     FST ST(i)

ST(0) -> SТ(i)

     FSTP ST(i)

ST(0) ->  ST(i ) + PUSH

     FXCH ST(i)

ST(0) <-> ST(i)

передачу данных между различными регистрами стека.

Основные вычислительные команды. Включают в себя различные арифметические команды и команды сравнения.

Элементарные арифметические команды. Эти команды (табл. 2.12)

  Таблица 2.12

Мнемокод команды

Выполняемые действия

FADD

ST(0) + ST(1) -> ST(0)

FSUB

ST(0) - ST(1) -> ST(0)

FSUBR

ST(1) - ST(0) -> ST(0)

FMUL

ST(0) x ST(1) -> ST(0)

FDIV

ST(0) / ST(1) -> ST(0)

FDIVR

ST(1) / ST(0) -> ST(0)

выполняют четыре арифметических действия над операндами, размещенными в двух верхних элементах стека ST(0) и ST(1) с занесением результата в ST(0). В обычных операциях сложения FADD, вычитания FSUB, умножения FMUL и деления FDIV первый операнд берется из вершины стека ST(0), а второй из следующего элемента ST(1). 

Элементарные команды сравнения. Эти команды (табл. 2.14) позволяют сравнивать данные, расположенные в двух верхних регистрах стека ST(0) и ST(1) (команды FCOM, FCOMP, FCOMPP), а также сравнивать с нулем (FTST) и анализировать данные в вершине FXAM. Команды сравнения могут выполняться без изменения состояния стека (FCOM), с выталкиванием одного из сравниваемых данных (FCOMP) и с выталкиванием обоих сравниваемых данных (FCOMPP).

Таблица 2.14

Мнемокод команды

Выполняемые действия

  FCOM

 ST(0) сравнивается с ST (1)

  FCOMP

 ST(0) сравнивается с ST (1) и выталкивается

  FCOMPP

 ST(0) сравнивается с ST (1) и оба выталкиваются

  FTST

 ST(0) сравнивается с нулем

  FXAM

 ST(0) анализируется

Команды управления. Включают различные команды управления сопроцессором и насчитывают 15 мнемокодов.

Команда FINIT - начальной инициализации производит действия, аналогичные тем, которые выполняются по внешнему сигналу RESET. Эта команда позволяет в любой момент осуществить начальную установку сопроцессора.

Команды FENI и FDISI - разрешения и запрещения выдачи запросов прерывания на выходе INT арифметического процессора позволяют устанавливать в «1» и сбрасывать в «0» разряд-маску IEM, назначение которого описано выше.

Специальные вычислительные команды. Выполняют специфические операции, которые часто используются при вычислениях (табл. 2.15).

Таблица 2.15

Мнемокод команды

Содержание команды

  FABS

Абсолютное значение ST(0)

  FCHS

Изменение знака ST(0)

  FRNDINT

Округление ST(0)

  FXTRACT   FSQRT

    Выделение мантиссы и порядка ST(0)

    Вычисление квадратного корня из ST(0)

  FSCALF

Масштабирование

  FPREM

Получение частичного остатка

  FPTAN

Вычисление частичного тангенса

  FPATAN

Вычисление частичного арктангенса

  FYL2Х   FYL2ХР1   F2XM1

ST(0)  = ST(1) log2(ST(0)) ST(0)  = ST(1) log2(ST(0)+1) ST(0)  = 2ST(0) - 1

Команда FABS формирует абсолютное значение (модуль) числа, находящегося в вершине стека.

Команда FCHS изменяет знак числа, находящегося в вершине, на противоположный.

Команда FRNDINT производит округление числа, находящегося в вершине стека, до целого. Если исходное число представлено в формате целого, то оно не изменяется командой.

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

В эту группу входят такие команды, как: ADD (сложение), ADC (сложение с переносом), INC (инкремент), AAA (коррекция кода ASCII при сложении), DAA (десятичная коррекция при сложении), SUB (вычитание), SBB (вычитание с заемом), DEC (декремент), NEG (отрицание), СМР (сравнение), AAS (коррекция кода ASCII при вычитании), DAS (десятичная коррекция при вычитании), MUL (умножение), IMUL (умножение целых чисел), ААМ (коррекция кода ASCII при умножении), DIV (деление), IDIV (деление целых чисел), AAD (коррекция кода ASCII при делении), CBW (перевод байта в слово), CWD (перевод слова в двойное слово).

2.

Организация памяти .Модели памяти.


Хранение информации в памяти микропроцессорных систем может быть организовано различными способами. Наиболее часто реализуются следующие варианты организации памяти:

  •  
    линейная,
  •  
    сегментная (блочная),
  •  
    страничная.


Использование того или иного способа организации памяти определяется функциями системы, объемом памяти и рядом других факторов. Многие микропроцессоры обеспечивают возможности реализации любого из этих способов.

^ Линейная организация. Это наиболее простой способ организации памяти, при котором формируемый процессором адрес непосредственно поступает на адресную шину, обеспечивая обращение к соответствующей ячейке памяти. В этом случае адрес, который формируется процессором в соответствии с заданным в команде способом адресации (линейный адрес), выдается на системную шину как физический адрес выбираемой ячейки памяти.

^ Сегментная организация. Данный способ обеспечивает разбиение памяти на отдельные сегменты (блоки), обращение к которым реализуется в соответствии с определенными правилами. В первую очередь реализуется разделение памяти на область (сегмент) команд и данных. Область данных может подразделяться на сегмент стека и несколько сегментов обрабатываемых данных. Размер сегментов может быть фиксированным (от 64 Кбайт до 4 Гбайт) или переменным (программируемым). 

Страничная организация. Этот способ организации памяти предполагает разбиение адресуемых массивов данных или команд на относительно мелкие фрагменты – страницы. Типичный объем страницы составляет 4 Кбайт, хотя в ряде микропроцессоров обеспечивается возможность работы со страницами разного размера - от 256 байт до 4 Мбайт. Страницы могут размещаться в различных местах адресуемого пространства памяти, а их расположение определяется специальными таблицами адресов, которые обычно хранятся в ОЗУ. Страничная организация позволяет наиболее полно использовать имеющийся объем памяти, так как обеспечивает разбиение информации и ее размещение в любом свободном фрагменте памяти размером не менее одной страницы. 

Модели памяти.

Существует семь моделей памяти, шесть из которых сегментированы и используются при разработке 16-ти разрядных приложений (TINY, SMALL, MEDIUM, COMPACT, LARGE и HUGE); одна модель (FLAT) несегментированная, на ее основе разрабатываются 32-х разрядные приложения:

·          TINY (крошечная) состоит из одного сегмента размером до 64К без отдельных разделов для стека и пула.

·          SMALL (малая) состоит из двух сегментов: один для секции кода, другой для секции данных. В пределах сегмента данных выделяется ближний пул, возможно обращение к дальнему пулу.

·          COMPACT (компактная) состоит из одного сегмента кода и одного сегмента данных, сегмента стека и дальнего пула.

·          MEDIUM (средняя) состоит из одного или более сегментов кода и одного сегмента данных. Возможно выделение памяти в дальнем и ближнем пулах.

·          LARGE (большая) включает один или более сегментов кода, один сегмент данных, сегмент стека и дальний пул.

·          HUGE (огромная) может иметь один или более сегментов данных и кода, стек и дальний пул. Адреса в секции кода нормализованы так, что величина смещения не превышает 0x000F.

·          FLAT - 32-х разрядная модель, в состав которой может входить произвольное число сегментов данных, адресуемых в едином пространстве. Модель позволяет адресовать до 2 Гбайт адресного пространства.




1. Курсовая Уголовное право особенная часть
2. Специфика и причины инфляции в Украине и антиинфляционная политика
3. Деловые коммуникации
4. Все об Англии и Лондоне
5. Что такое красители и ароматизаторы думаю объяснять не надо
6. Таблица состоит из полей столбцов и записей строк
7. это метод проб и ошибок
8. Реферат- Dumping down Australian history
9. Институционализм инвестиционной привлекательности
10. Законы сохранения и симметрия
11. Доклад- О половых легендах, вымысле и реальности
12. ІВЕРНАДСЬКОГО юридичний факультет кафедра історії та теорії держави і права З
13. физикохимическая биология
14. Книгоиздание в годы Великой отечественной войны
15. Subject over from the Continent when they invded Britin nd it ws mde into poem somewhere bout the 7th century
16. Лекция 13 Фальсификация пищевых продуктов С точки зрения безопасности продуктов питания значительную оп
17. Курорти Крима
18. Ликсус
19. ТЕМАТИЧНИЙ ПЛАН ДИСЦИПЛІНИ ОПЕРАЦІЙНИЙ МЕНЕДЖМЕНТ Мо
20. ВВЕДЕНИЕ2 ИНТЕРФЕЙС ПРОГРАММЫ MICROSOFT EXCEL4 ВЫДЕЛЕНИЕ ЯЧЕЕК ДИАПАЗОНОВ ЯЧЕЕК СТОЛБЦОВ5 ОТНОСИТЕЛЬНЫЕ ССЫ