на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Операции над данными в СП с плавающей точкой

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

2

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

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

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

РЕФЕРАТ

по теме:

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

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

Группа:

Выполнил: .

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

Пенза 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 старших бита регистра в регистровом файле, а восемь младших бит обнуляются. Формат операндов и результатов с фиксированной точкой зависит от операции. В большинстве арифметических операций нет необходимости различать целые и дробные форматы. Входные операнды с фиксированной точкой в операциях, таких как масштабирование числа с плавающей точкой, обрабатываются как целые. В определенных состояниях, таких как переполнение, арифметические операнды и результаты с фиксированной точкой обрабатываются как числа в дополнительном коде.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.