Федеральное Агентство образования Российской Федерации

Пензенский государственный университет

Кафедра "Информационная безопасность систем и технологий"

РЕФЕРАТ

по теме:

"Операции над данными в СП с плавающей точкой "

Дисциплина: ЦиМПТ

Группа:

Выполнил: .

Руководитель работы:

Пенза 2006


Содержание

 

1. Обзор

2. Операции с плавающей точкой стандарта IEEE

2.1 Формат с плавающей точкой повышенной точности

2.2 Формат коротких слов с плавающей точкой

2.3 Исключения при выполнении операций с плавающей точкой

3. Операции с фиксированной точкой

4. Округление

5. Арифметико-логическое устройство (ALU)

5.1 Работа ALU

5.2 Режимы работы ALU

5.2.1 Режим насыщения

5.2.2 Режимы округления данных с плавающей точкой

5.2.3 Границы округления данных с плавающей точкой

5.3 Флаги состояния ALU

5.3.1 Нулевой флаг ALU (AZ)

5.3.2 Флаги потери значащих разрядов (AZ, AUS)

5.3.3 Отрицательный флаг ALU (AN)

5.3.4 Флаги переполнения ALU (AV, AOS, AVS)

5.3.5 Флаг переноса операции АШ с фиксированной точкой (АС)

5.3.6 Знаковый флаг ALU (AS)

5.3.7 Флаги ошибки ALL) (Al, AIS)

5.3.8 Флаг операции с плавающей точкой ALU (AF)

5.3.9 Накопление сравнений

6. Умножитель

6.1 Работа умножителя

6.2 Результаты с фиксированной точкой

6.2.1 Регистры MR

6.3 Операции с фиксированной точкой

6.3.1 Обнуление регистра MR

6.3.2 Округление содержимого регистра MR

6.3.3 Насыщение регистра MR при переполнении

1.6.4 Режимы работы с плавающей точкой

6.4.1 Режимы округления данных с плавающей точкой

6.4.2 Граница округления данных с плавающей точкой

6.5 Флаги состояния умножителя

6.5.1 Флаги потери значащих разрядов (MU, MUS)

6.5.2 Отрицательный флаг умножителя (MN)

6.5.3 Флаг переполнения умножителя (MV)

6.5.4 Флаг ошибки умножителя (Ml)

7. Устройство сдвига

7.1 Работа устройства сдвига

7.2 Флаги состояния устройства сдвига

7.3.1 Нулевой флаг устройства сдвига (SZ)

7.3.2 Флаг переполнения устройства сдвига (SV)

7.3.3 Знаковый флаг устройства сдвига (SS)

7.4 Резюме команд устройства сдвига

8. Многофункциональные вычисления

9. Регистровый файл

9.1 Дополнительные регистры


1. Обзор

Вычислительные устройства (ВУ) процессора ADSP-2106x используются для операций, осуществляемых при реализации алгоритмов цифровой обработки сигналов. Процессор ADSP-2106x содержит три ВУ: арифметико-логическое устройство (ALU), умножитель и устройство сдвига. Процессор поддерживает операции с фиксированной и плавающей точкой. Каждое ВУ выполняет команды за один цикл.

ALU выполняет стандартный набор арифметических и логических операций в обоих форматах: с фиксированной и плавающей точкой. Умножитель выполняет умножения с фиксированной и плавающей точкой, а также операции умножение/сложение и умножение/вычитание с фиксированной точкой. Устройство сдвига выполняет логические и арифметические сдвиги, манипуляцию битами, операции внесения и извлечения поля над 32-разрядными операндами и определение порядка.

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

Один и тот же регистр в регистровом файле начинается с префикса F (в исходном коде ассемблера), когда он используется в вычислениях с плавающей точкой. И начинается с префикса R, когда используется в вычислениях с фиксированной точкой. Например, следующие команды используют одни и те же регистры:

FO=F1 * F2; умножение с плаваюгцей точкой

RO=R1 * R2; умножение с фиксированной точкой

Префиксы F и R не влияют на передачу 32-разрядных (или 40-разрядных) данных; они только определяют, как ALU, умножитель или устройство сдвига обрабатывают данные. F и R могут быть прописными и строчными; в ассемблере не учитывается регистр клавиатуры.

В этой главе рассматриваются следующие темы:

форматы данных и округление;

архитектура и функции ALU;

архитектура и функции умножителя;

архитектура и функции устройства сдвига;

многофункциональные вычисления;

регистровый файл и передача данных.


2. Операции с плавающей точкой стандарта IEEE

Умножитель и ALU поддерживают формат чисел с плавающей точкой одиночной точности, определенный стандартом IEEE 754/854. Этот стандарт описан в приложении С Форматы представления чисел. ADSP-2106x соответствует стандарту IEEE 754/854 для операций с плавающей точкой одиночной точности, за исключением:

ADSP-2106x не обеспечивает неточные флаги;

при вводе NAN (Not-a-Number - "не число") генерируется исключение и возвращается NAN (1 во всех разрядах);

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

поддерживаются режимы округления к ближайшему и округления по направлению к нулю; округление к ±°о не поддерживается.

Кроме того, в ADSP-2106x поддерживается режим повышенной точности с плавающей точкой для 40-разрядных операндов, которые имеют восемь дополнительных младших разрядов мантиссы. Режим не соответствует стандартам 754/854, но результаты в этом формате более точные, чем в формате одиночной точности стандарта IEEE.

 

2.1 Формат с плавающей точкой повышенной точности

В ADSP-2106x данные с плавающей точкой могут быть как 32-, так и 40-разрядными. Формат с плавающей точкой повышенной точности (8 бит порядок и 32 бита мантисса) устанавливаются при записи 0 в бит RND32 в регистре MODEL Если этот бит установлен (1), то используется обычная точность стандарта IEEE (8 бит порядок и 24 бита мантисса). В этом случае в ВУ перед выполнением операции обнуляются восемь младших разрядов входного операнда. Мантисса результата округляется до 23 бит (не включая скрытый бит), а 8 младших разрядов 40-разрядного результата обнуляются, таким образом, формируется 32-разрядное число, которое эквивалентно представлению результата по стандарту IEEE.

 

2.2 Формат коротких слов с плавающей точкой

ADSP-2106x поддерживает тип 16-разрядных данных с плавающей точкой и обеспечивает команды преобразования для него. Формат короткого слова с плавающей точкой имеет 11-разрядную мантиссу и 4-разрядный порядок, плюс знаковый бит.16-разрядное число размещается в 16 младших битах 32-разрядного поля. Две команды устройства сдвига, FPACK и FUNPACK, выполняют преобразования (упаковку и распаковку) между 32 - и 16-разрядными словами с плавающей точкой. Команда FPACK преобразует 32-разрядное число с плавающей точкой стандарта IEEE в 16-разрядное число. FUNPACK преобразует 16-разрядные числа назад в 32-разрядные. Каждая из этих команд выполняется за один цикл. Формат коротких слов с плавающей точкой поддерживает постепенную потерю значащих разрядов. Когда упаковывается число, которое могло бы потерять значащие разряды, порядок обнуляется, а мантисса (включая "скрытую" 1) сдвигается вправо на соответствующую величину. Упакованный результат является ненормализованным и может быть распакован в нормальное число с плавающей точкой стандарта IEEE.

 

2.3 Исключения при выполнении операций с плавающей точкой

Умножитель и ALU информируют об исключении при выполнении операций с плавающей точкой. Они обновляют флаги переполнения, потери значащих разрядов, неправильной операции в регистрах арифметического состояния (ASTAT) и "залипшие" флаги состояния (STKY). Кроме этого, при потере значащих разрядов, переполнении или неправильной операции эти устройства генерируют маскируемое прерывание. Т.о., существует три способа обработки исключительных ситуаций при операциях с плавающей точкой:

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

Регистр ASTAT. Флаги исключительных ситуаций в регистре ASTAT, соответствующие определенным арифметическим операциям, проверяются после того, как операция выполнена. Этот метод можно использовать для контроля выполнения определенной операции с плавающей точкой.

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


3. Операции с фиксированной точкой

Разрядность числа с фиксированной точкой всегда равна 32; в поле 40-разрядных данных оно занимает 32 старших бита. Форматы представления этих чисел могут быть дробные или целые, беззнаковые или знаковые. Каждое ВУ имеет свои собственные ограничения на то, как эти форматы совмещаются в данной операции. ВУ считывают 32-разрядные операнды из 40-разрядных регистров, игнорируя 8 младших разрядов, и записывают 32-разрядные результаты, обнуляя 8 младших разрядов.


4. Округление

В процессоре ADSP-2106x поддерживается два режима округления: округление к нулю и округление к ближайшему. Режимы округления соответствуют стандарту IEEE 754, как определено ниже:

Округление к нулю. Если результат до округления точно не представить в определенном формате, то он округляется до числа, которое ближе к нулю. Это эквивалентно усечению.

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

Если результат до округления находится точно посередине между двумя числами определенного формата (отличающимися младшим битом), то округленный результат - это число, которое имеет нулевой младший бит. Статистически округление вверх случается так же часто, как и округление вниз, поэтому нет большого смещения в выборке. Из-за того что максимальное число с плавающей точкой на один младший бит меньше, чем число, представляющее бесконечность, результат, который находится посередине между максимальным числом с плавающей точкой и бесконечностью, округляется в этом режиме до бесконечности. Режим округления для всех операций ALU и операций с плавающей точкой умножителя определяется битом TRUNC в регистре MODEL Если бит TRUNC установлен, то выбран режим округления к нулю. Иначе используется режим округления к ближайшему. Для операций умножителя с фиксированной точкой над дробными данными поддерживаются те же самые два режима округления, но реально умножитель выполняет только операцию округления к ближайшему. Из-за того что умножитель имеет локальный регистр результата операций с фиксированной точкой, округление к нулю выполняется неявно путем считывания только старших битов результата и отбрасывания младших.


5. Арифметико-логическое устройство (ALU)

ALU выполняет арифметические операции над данными с фиксированной и плавающей точкой и логические операции над данными с фиксированной точкой. Команды ALU с фиксированной точкой оперируют над 32-разрядными операндами с фиксированной точкой и выдают 32-разрядный результат с фиксированной точкой. Команды ALU с плавающей точкой оперируют над 32-или 40-разрядными операндами с плавающей точкой и выдают 32 - или 40-разрядные результаты с плавающей точкой.

Команды ALU:

с плавающей точкой: сложение, вычитание, сложение/вычитание, усреднение;

с фиксированной точкой: сложение, вычитание, сложение/вычитание, усреднение;

манипуляция с данными с плавающей точкой: двоичный логарифм, масштабирование, мантисса;

с фиксированной точкой: сложение с переносом, вычитание с заемом, инкремент, декремент;

логические AND, OR, XOR, NOT;

функции: модуль, сброс, минимум, максимум, усечение, сравнение;

преобразования формата;

примитивы деления - и деления на корень квадратный г-.

Операция двойного сложения/вычитания и параллельные операции ALU и умножителя описаны ниже в разделе "Многофункциональные вычисления".

 

5.1 Работа ALU

На вход ALU поступают один или два входных операнда, называемые X и Y, которые могут быть содержимым любого регистра в регистровом файле. Обычно возвращается один результат; при операции сложение/вычитание - два результата, после сравнения никакие результаты не возвращаются, а обновляются только флаги. Результаты операций ALU могут возвращаться в любой регистр регистрового файла. Входные операнды пересылаются из регистрового файла в ALU в течение первой половины цикла. Результаты передаются в регистровый файл в течение второй половины цикла. Т.о., ALU может считывать и записывать один и тот же регистр регистрового файла за один цикл.

При операциях ALU с фиксированной точкой операнды X и Y обрабатываются как 32-разрядные с фиксированной точкой. Передаются 32 старших бита из регистра в регистровом файле. Результат операции с фиксированной точкой - всегда 32-разрядное значение с фиксированной точкой. Некоторые операции с плавающей точкой (LOGB, MANT и FIX) также могут возвращать результаты с фиксированной точкой. Результаты с фиксированной точкой помещаются в 32 старших бита регистра в регистровом файле, а восемь младших бит обнуляются. Формат операндов и результатов с фиксированной точкой зависит от операции. В большинстве арифметических операций нет необходимости различать целые и дробные форматы. Входные операнды с фиксированной точкой в операциях, таких как масштабирование числа с плавающей точкой, обрабатываются как целые. В определенных состояниях, таких как переполнение, арифметические операнды и результаты с фиксированной точкой обрабатываются как числа в дополнительном коде.

  5.2 Режимы работы ALU

Режим работы ALU определяется тремя битами в регистре MODEL Бит насыщения ALU влияет на операции ALU, которые возвращают результаты с фиксированной точкой; бит режима округления и бит границы округления влияют на операции с плавающей точкой в ALU и умножителе.

Бит M0DE1 Имя Функция


Информация о работе «Операции над данными в СП с плавающей точкой»
Раздел: Информатика, программирование
Количество знаков с пробелами: 42656
Количество таблиц: 4
Количество изображений: 0

Похожие работы

Скачать
181295
4
0

... изменения сегмента (Segment Override). В системе команд насчитывается несколько сотен инструкций, поэтому в данной работе обзорно рассмотрены все команды обработки данных (блоков процессора АЛУ, FPU, MMX, и XMM), а далее более подробно описаны инструкции, появившиеся в процессорах Pentium 3 (блок XMM — SSE) и Pentium 4 (блок XMM — SSE2). Инструкции пересылки данных (см. табл) позволяют ...

Скачать
33317
1
5

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

Скачать
237727
39
0

... , а иногда и невозможным. Недостатки MOLAP-модели: ·           Многомерные СУБД не позволяют работать с большими базами данных. ·           Многомерные СУБД по сравнению с реляционными очень неэффективно используют внешнюю память. В подавляющем большинстве случаев информационный гиперкуб является сильно разреженным, а поскольку данные хранятся в упорядоченном виде, неопределенные значения ...

Скачать
91598
0
0

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

0 комментариев


Наверх