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

34. Язык описания цифровых устройств vhdl. Структурное и поведенческое описание проекта на языке vhdl

Синтаксические конструкции языка VHDL содержат две составляющие:

- общую алгоритмическую

- проблемно-ориентированную

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

Проблемно-ориентированными и поэтому наиболее важными понятиями в VHDL являются средства описания иерархии в проектах, средства задания и описания параллелизма для выполнения действий и операторов, понятие сигналов для физических объектов, изменяющихся во времени и средства для работы с ними.

Наиболее важным свойством языка VHDL является понятие параллелизма выполняемых действий.

Для описания действий, выполняемых параллельно используется оператор:

process()

begin

end process;

Процессы выполняются параллельно относительно друг друга, а действия внутри тела процесса выполняются последовательно.

Список сигналов (после ключевого слова process) называется списком чувствительности. Процесс активируется (начинают выполняться действия) только при изменении значений любого сигнала из списка чувствительности.

35. Запоминающие устройства. Иерархическая организация памяти

ПАМЯТЬ ЭВМ

ч асть ЭВМ, предназнач. для записи, хранения и выдачи информации, представленной в кодовой форме; образуется из одного или неск. запоминающих устройств (ЗУ). Наибольшее кол-во информации, которое может храниться в памяти ЭВМ определяется суммарной ёмкостью всех входящих в неё ЗУ; быстродействие П. ЭВМ зависит как от быстродействия отд. ЗУ, так и от способов обмена информацией между ними. Для наилучшего использования всей ёмкости П. ЭВМ и оптим. организации вычислит. процесса П. ЭВМ обычно подразделяют на оперативную (или основную), внешнюю (или вспомогательную) и буферную; соответственно и ЗУ, образующие ту или иную П. ЭВМ, имеют аналогичные названия: оперативное, внешнее, буферное ЗУ. См. рис.

На рис. иерархическая структура памяти ЭВМ: ОЗУ - оперативное запоминающее устройство; СОЗУ - сверхоперативное запоминающее устройство: ВЗУ - внешнее запоминающее устройство

37. Арифметический сопроцессор fpu (Intel 8087)

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

Простым «целочисленным» процессорам для работы с вещественными числами и математическими операциями требуются соответствующие процедуры поддержки и время для их выполнения. Модуль операций с плавающей запятой поддерживает работу с ними на уровне примитивов — загрузка, выгрузка вещественного числа (в/из специализированных регистров) или математическая операция над ними выполняется одной командой, за счёт этого достигается значительное ускорение таких операций.

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

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

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

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

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

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

  • Денормализов. вещественные числа — числа, которые меньше минимального нормализованного числа. При формировании такого значения в некотором регистре стека в соответствующем этому регистру теге регистра TWR формируется специальное значение (см. вопрос 10);

  • Бесконечность , возникает при делении на нуль ненулевого значения, а также при переполнениях. При формировании такого значения в некотором регистре стека в соответствующем этому регистру теге регистра TWR формируется специальное значение (см. вопрос 10).

  • Нечисло. Различают два вида нечисел:

    • SNaN (Signaling Non a Number) — сигнальные нечисла. Сопроцессор реагирует на появление этого числа в регистре стека возбуждением исключения недействительной операции. Сопроцессор не формирует сигнальных чисел. Программисты формируют такие числа преднамеренно, чтобы возбудить в нужной ситуации исключение.

    • QNaN (Quiet Non a Number) — тихие нечисла. Сопроцессор может формировать спокойные нечисла в качестве реакции на определённые исключения, например число вещественной неопределённости.

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

Регистры. В 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 бит.

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

    • Команды передачи данных (вещественные данные, целочисленные данные, десятичные данные, загрузка констант (0, 1, Пи, log2(10), log2(e), lg(2), ln(2)), обмен, условная пересылка (Pentium II/III);

    • Команды сравнения данных (вещественные данные, целочисленные данные, анализ, с нулём, условное сравнение (Pentium II/III);

    • Арифметические команды (вещественные данные: сложение, вычитание, умножение, деление; целочисленные данные: сложение, вычитание, умножение, деление; вспомогательные арифметические команды (квадратный корень, модуль, изменение знака, выделение порядка и мантиссы);

    • Трансцендентные команды (тригонометрия: синус, косинус, тангенс, арктангенс; вычисление логарифмов и степеней);

    • Команды управления (инициализация сопроцессора, работа со средой, работа со стеком, переключение режимов).

38. MMX-расширение архитектуры IA-32

MMX (Multimedia Extensions — мультимедийные расширения) — коммерческое название дополнительного набора инструкций, выполняющих характерные для процессов кодирования/декодирования потоковых аудио/видео данных действия за одну машинную инструкцию.

Впервые технология MMX была представлена в процессорах Intel Pentium MMX.

Новшествами, представленными в этом семействе процессоров, было:

  1. Новые типы данных (64-битные целые и 64-битные упакованные целые);

  2. Новые регистры (8 регистров мм0-мм7);

  3. Новая арифметика с насыщением;

  4. Новые группы команд.

Типы данных:

Упакованные байты – один 64 операнд содержит 8 байт;

Упакованные слова – один 64 операнд содержит 4 слова;

Упакованные двойные слова-один 64 операнд содержит 2 двойных слова;

Учетверённые слова- один 64 битный операнд.

Регистры MMX являются отображением младшей части регистров сопроцессора. Следствием такого размещения регистров является то, что команды MMX выполняются в том же режиме процессора, что и команды с плавающей точкой. Т.о. необходим механизм разграничения этих команд.

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

Арифметика с насыщением - это арифметика, в которой при выходе за границы разрядной сетки (наибольшего/наименьшего значения) результатом будет наибольшее/ наименьшее значение.

Пример 0FEh+005h=0FFh.

Синтаксис команд MMX:

Команды, начинающиеся с «р» - относятся к упакованным данным.

Команды с суффиксом «us» - арифметика с беззнаковым насыщением.

Команды с суффиксом «s» - арифметика со знаковым насыщением

Команды без суффикса – арифметика с переносом

Суффиксы «b», «w», «d», «q» -относятся к размеру данных.

Команды MMX можно разделить на след. группы:

Команды сложения и вычитания;

Команды сдвига;

Команды умножения;

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

Логические команды

Команды упаковки и распаковки;

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