Разделы презентаций


Модуль центрального процессора TMS320F28x

Содержание

Модуль центрального процессора TMS320F28x Часть команд с плавающей точкой, таких как команды сравнения CMP, поиска минимума MIN, максимума MAX, инвертирования знака числа NEG и получения абсолютного значения числа ABS являются одноцикловыми.

Слайды и текст этой презентации

Слайд 1Модуль центрального процессора TMS320F28x

Особенности модуля центрального процессора ЦСП

серий Delfino C2833x и C2834x
Серии Delfino C2833x и C2834x содержат

модуль FPU (модуль расширения ядра для исполнения инструкций с плавающей точкой – FPU, Floating Point Unit).
- реализована полная поддержка плавающей и фиксированной точки;
- производительность – до 300 MFLOPS на частоте 150 МГц;
- команды с плавающей точкой (FPU-инструкции) используют первую часть конвейера ядра C28x (с фиксированной точкой), а далее исполняются в собственном конвейере;
- команды вычислений с фиксированной точкой направляются на верхний конвейер, а FPU-инструкции – на нижний.
- плавающая точка более надежна в алгоритмах, т.к. исключаются затраты времени на масштабирование данных и устранение избыточности;
- применение плавающей точки позволяет сократить требуемое число тактов на исполнение математических операций до 52%.
Модуль центрального процессора TMS320F28x 	 Особенности модуля центрального процессора ЦСП серий  Delfino C2833x и C2834xСерии Delfino

Слайд 2Модуль центрального процессора TMS320F28x

Часть команд с плавающей точкой, таких

как команды сравнения CMP, поиска минимума MIN, максимума MAX, инвертирования

знака числа NEG и получения абсолютного значения числа ABS являются одноцикловыми.
Другая часть команд, в первую очередь арифметических, – умножения MPY, сложения ADD, вычитания SUB, умножения с накоплением MACF32 – двуцикловые. Для того, чтобы результат такой операции стал доступен следующей команде, необходимо задержать конвейер на один цикл.








Компилятор С/С++ автоматически оптимизирует алгоритм пользователя с учетом возможного параллельного выполнения команд, добавляя, как правило, «не конфликтующие с конвейером» команды загрузки операндов, которые понадобятся на следующих этапах вычислений. Тем самым практически полностью исключаются непроизводительные задержки конвейера.
Модуль центрального процессора TMS320F28x Часть команд с плавающей точкой, таких как команды сравнения CMP, поиска минимума MIN,

Слайд 3Модуль центрального процессора TMS320F28x

Модуль центрального процессора TMS320F28x

Слайд 4Модуль центрального процессора TMS320F28x

Эквивалентная частота, например, 367 МГц означает,

что разработчик, использующий C2812, должен был разогнать процессор до 367

МГц, чтобы получить производительность C28335.

Эффективность использования серий Delfino:

Модуль центрального процессора TMS320F28x Эквивалентная частота, например, 367 МГц означает, что разработчик, использующий C2812, должен был разогнать

Слайд 5Модуль центрального процессора TMS320F28x

Особенности модуля центрального процессора ЦСП

серии Piccolo C2803x
Серия Piccolo C2803x содержит независимый 32-битный математический акселератор

плавающей точки (CLA, Control Law Accelerator), который сокращает загрузку CPU, предоставляя возможность увеличения функционала.
- FPU-инструкции исполняются в полностью независимом конвейере (8 стадий);
- частота работы ЦСП серии С2803x – до 60 МГц;
- в CLA имеется независимый набор регистров, структура шин памяти и модулей обработки;
- алгоритмы исполняются CLA в параллель с CPU;
- CPU выделяет память программ/блоки памяти данных для CLA;
- имеется ОЗУ сообщений, которое служит для обмена данными между CPU и CLA;
- CLA имеет прямой доступ к регистрам АЦП и модуля расширенного ШИМ (ePWM);
- возможна генерация прерывания CPU от CLA.

CLA выполняет алгоритмы обратной связи эффективнее, разгружает CPU и увеличивает производительность. Сокращение требуемого числа тактов на исполнение математических операций – до 65%.
Модуль центрального процессора TMS320F28x 	 Особенности модуля центрального процессора ЦСП серии Piccolo C2803xСерия Piccolo C2803x содержит независимый

Слайд 6Модуль центрального процессора TMS320F28x

Модуль центрального процессора TMS320F28x

Слайд 7Модуль центрального процессора TMS320F28x

Сравнение FPU (серии Delfino C2833x и

C2834x)
и CLA (серия Piccolo C2803x)

Модуль центрального процессора TMS320F28x Сравнение FPU (серии Delfino C2833x и C2834x) и CLA (серия Piccolo C2803x)

Слайд 8Модуль центрального процессора TMS320F28x

Регистр - программный счетчик (PC)

всегда указывает на команду, которая в настоящее время обрабатывается –

команда, которая только достигла фазы декодирования D2 конвейера. Как только команда достигает этой фазы конвейера, ее выполнение не может быть прервано сигналами прерываний.
Счетчик программного возврата (RPC). Когда операция вызова подпрограммы c использованием команды LCR выполнена, адрес возврата сохраняется в регистре RPC, а старое значение RPC сохраняется в стеке (в двух 16-разрядных операциях). Когда операция возврата из подпрограммы LRETR выполнена, адрес возврата считывается из регистра RPC, а значение из стека записывается в регистр RPC (в двух 16-разрядных операциях). Другие команды вызова подпрограмм не используют регистр RPC.
Модуль центрального процессора TMS320F28x 	 Регистр - программный счетчик (PC) всегда указывает на команду, которая в настоящее

Слайд 9Модуль центрального процессора TMS320F28x

C28x имеет два регистра состояния –

ST0 и ST1, которые содержат различные биты флагов и служебные

биты. Эти регистры могут быть сохранены и загружены из памяти, чтобы статус ЦСП был сохранен и восстановлен в процессе выполнения подпрограмм.
Регистры состояния организованы в соответствии с тем, как их содержимое изменяется в конвейере. Биты ST0 изменяются в фазе X конвейера; биты ST1 – в фазе D2.
Поразрядные поля регистра состояния ST0:
Модуль центрального процессора TMS320F28x C28x имеет два регистра состояния – ST0 и ST1, которые содержат различные биты

Слайд 10Модуль центрального процессора TMS320F28x

OVC/OVCU (биты ST010-15) – счетчик переполнений.

Режим установки этих флагов активен, когда выключен режим переполнения (флаг

OVM = 0).
Счетчик переполнений ведет себя неодинаково для знаковых и беззнаковых операций.
Для знаковых операций (OVC), счетчик переполнения – 6-разрядный знаковый счетчик с амплитудой от -32 до 31. Когда происходит переполнение ACC в положительном направлении (от 7FFF FFFF16 до 8000 000016), OVC будет увеличен на 1. Когда происходит переполнение ACC в отрицательном направлении (от 8000 000016 до 7FFF FFFF16), OVC будет уменьшен на 1.
Для операций без знака (OVCU), счетчик будет инкрементирован при сложении, когда в аккумуляторе произошел перенос и декрементирован при вычитании, когда в аккумуляторе произошел заем.
При увеличении OVC после значения, равного 31, происходит его переполнение в значение -32. При уменьшении OVC из значения -32 происходит обратное переполнение в значение 31. При сбросе, OVC очищается. На OVC воздействуют переполнения только в регистре ACC, за исключением команд сравнения.
Модуль центрального процессора TMS320F28x OVC/OVCU (биты ST010-15) – счетчик переполнений. Режим установки этих флагов активен, когда выключен

Слайд 11Модуль центрального процессора TMS320F28x

PM (бит ST07-9) – биты режима

сдвига, задают сдвиговый режим выходных операций в регистре произведения P.

Результат сдвига попадает в АЛУ или в память. После начальной установки все биты PM сброшены в 0.
V (бит ST06) – флаг переполнения. Если результат операции вызывает переполнение в регистре, хранящем результат, флаг V будет установлен и «защелкнут». Если переполнение не происходит, V не изменяется. Флаг V защелкнут, пока не будет очищен сбросом или командой условного перехода, которая проверяет V. Такой условный переход очищает V независимо от того, является ли проверенное условие (V = 0 или V = 1) истинным.
Переполнение происходит в ACC (и V установлен) если результат сложения или вычитания не может быть размещен в пределах диапазона знаковых чисел – от 8000 000016 до 7FFF FFFF16.
Переполнение происходит в АH, AL, или другом 16-разрядном регистре или в ячейке памяти, если результат сложения или вычитания не может быть размещен в пределах от 800016 до 7FFF16.
Команды CMP, CMPB и CMPL не воздействуют состояние флага V.

Модуль центрального процессора TMS320F28x PM (бит ST07-9) – биты режима сдвига, задают сдвиговый режим выходных операций в

Слайд 12Модуль центрального процессора TMS320F28x

N (бит ST05) – флаг знака.

N установлен, если результат операции – отрицательное число или сброшен,

если результат – положительное число. После сброса N сброшен в 0. Если бит 31 ACC равен 0, ACC – положителен; если бит 31 равен 1, ACC отрицателен. Результат АH, AL, и других 16-разрядных регистров или данных в ячейках памяти также проверяются на отрицательное условие. Тогда значение бита 15 – знаковый разряд (1 указывает на отрицательное, 0 указывает на положительное число). Команда TEST ACC устанавливает флаг N, если значение в ACC отрицательно. Иначе команда сбрасывает флаг N.
Z (ST04) – флаг нуля. Z установлен, если результат некоторых операций – 0 или сброшен, если результат отличается от нуля. Это применяется к результатам, которые получены в ACC, АH, AL, другом регистре, или в ячейке памяти. После сброса, Z сброшен. Команда TEST ACC устанавливает Z, если значение в ACC – 0, иначе сбрасывает Z.

Модуль центрального процессора TMS320F28x N (бит ST05) – флаг знака. N установлен, если результат операции – отрицательное

Слайд 13Модуль центрального процессора TMS320F28x

C (бит ST03) – флаг переноса.

Этот флаг показывает, когда сложение, инкремент генерируют перенос, или когда

вычитание, сравнение, декремент генерируют заем. Этот флаг также устанавливают операции программного сдвига ACC (команды ROR, ROL) и аппаратные сдвиги (barrel shift) в ACC, АH, и AL. В результате сложения/инкремента, C будет установлен, если генерируется перенос; иначе C будет сброшен. Имеется одно исключение: если используется команда ADD со сдвигом 16 (ADD ACC,loc16<В результате вычитания/декремента/сравнения, C будет сброшен, если вычитание генерирует перенос; иначе C будет установлен. Имеется одно исключение: если используется команда SUB со сдвигом 16 (SUB ACC,loc16<Этот бит может быть индивидуально установлен и очищен командами SETC C и CLRC C соответственно. После начального сброса, C сброшен в 0.
Модуль центрального процессора TMS320F28x C (бит ST03) – флаг переноса. Этот флаг показывает, когда сложение, инкремент генерируют

Слайд 14Модуль центрального процессора TMS320F28x

TC (бит ST02) – флаг тест/управление.

Этот бит показывает результат тестирования, выполненного любой TBIT-командой (тест- бит)

или командой NORM (нормализация).
Команда TBIT проверяет выбранный бит. Когда команда TBIT выполнена, флаг TC установлен, если проверяемый бит – 1 или сброшен, если проверяемый бит – 0.






Когда команда NORM выполнена, TC изменяется следующим образом: Если ACC содержит 0, TC установлен. Если содержимое ACC отличается от 0, CPU вычисляет исключающее ИЛИ битов 31 и 30 ACC, и затем загружает TC результатом.
Этот бит может быть индивидуально установлен или сброшен командой SETC TC или CLRC TC соответственно. После сброса, TC сброшен в 0.
Модуль центрального процессора TMS320F28x TC (бит ST02) – флаг тест/управление. Этот бит показывает результат тестирования, выполненного любой

Слайд 15Модуль центрального процессора TMS320F28x

OVM (бит ST01) – флаг режима

переполнения. Когда ACC принимает результат сложения или вычитания, и результат

вызывает переполнение, OVM определяет, как CPU обрабатывает переполнение:
0 – нормальное переполнение результата в ACC. Состояние флагов OVC отражает переполнение.
1 – состояние флагов OVC не изменяется, а ACC заполняется максимально возможным положительным или отрицательным значением следующим образом:
- если ACC переполняется в положительном направлении (от 7FFF FFFF16 до 8000 000016), ACC заполняется значением 7FFF FFFF16.
- если ACC переполняется в отрицательном направлении (от 8000 000016 до 7FFF FFFF16), ACC заполняется значением 8000 000016.
Этот бит может быть индивидуально установлен и сброшен соответственно командами SETC OVM и CLRC OVM. После начального сброса OVM сброшен.
Модуль центрального процессора TMS320F28x OVM (бит ST01) – флаг режима переполнения. Когда ACC принимает результат сложения или

Слайд 16Модуль центрального процессора TMS320F28x

SXM (бит ST00) – флаг режима

расширения знака. На флаг SXM воздействуют команды MOV, ADD и

SUB, которые используют 16-битные операции в 32-разрядном аккумуляторе. Когда 16-разрядное значение загружено (MOV), добавлено (ADD) или вычтено (SUB) из ACC, SXM определяет режим обработки значения со знаком, расширенным в течение операции следующим образом:
0 – расширение знака подавлено (значение будет обрабатываться как беззнаковое).
1 – расширение знака допускается (значение будет обрабатываться как знаковое).
Этот флаг может быть индивидуально установлен и очищен командой SETC SXM и командой CLRC SXM, соответственно. После начального сброса DSP флаг SXM сброшен.
Модуль центрального процессора TMS320F28x SXM (бит ST00) – флаг режима расширения знака. На флаг SXM воздействуют команды

Слайд 17Модуль центрального процессора TMS320F28x

Поразрядные поля регистра состояния ST1:

Модуль центрального процессора TMS320F28x 	 Поразрядные поля регистра состояния ST1:

Слайд 18Модуль центрального процессора TMS320F28x

ARP (биты ST115-13) – 3-битный

указатель текущего вспомогательного регистра XAR0..XAR7.
После сброса DSP указатель ARP

установлен в 000.
Модуль центрального процессора TMS320F28x 	 ARP (биты ST115-13) – 3-битный указатель текущего вспомогательного регистра XAR0..XAR7.		 После сброса

Слайд 19Модуль центрального процессора TMS320F28x

XF (бит ST112) – флаг,

отражающий текущее состояние вывода /XF_XPLLDIS.
Программная установка флага – SETC

XF;
сброс – CLRC XF.
При использовании этих команд конвейер выполнения команд не может быть прерван. Бит XF (в составе регистра ST1) сохраняется и восстанавливается при обработке прерываний.
M0M1MAP (бит ST111) – флаг режима карты памяти. Он всегда равен 1 в объектном режиме C28x (это значение флаг имеет после начальной установки DSP). Когда необходимо использовать С27x-совместимый режим, этот флаг может быть установлен в 0. При этом адреса областей памяти M0 и M1 меняются местами (только в памяти программ, но не в памяти данных) и указатель стека по умолчанию имеет значение 0x000.
Бит ST110 – резервный бит.
OBJMODE (бит ST19) – флаг режима объектной совместимости (0 для C27x-режима и 1 для C28x-режима).
Программная установка флага – команды SETC OBJMODE; C28OBJ;
сброс – CLRC OBJMODE; C27OBJ.
Бит OBJMODE (в составе регистра ST1) сохраняется и восстанавливается при обработке прерываний. После начальной установки ЦСП флаг имеет нулевое значение.
Модуль центрального процессора TMS320F28x 	 XF (бит ST112) – флаг, отражающий текущее состояние вывода /XF_XPLLDIS. 	Программная установка

Слайд 20Модуль центрального процессора TMS320F28x

AMODE (бит ST18) – флаг

режима адресации. Этот бит, в сочетании с битом PAGE0 используется

для выбора соответствующего режима адресации:
AMODE=0 – в режиме прямой адресации DP дополняется 6-битным смещением, и некоторые режимы косвенной адресации не поддерживаются (C28x-режим);
AMODE=1 – в режиме прямой адресации DP дополняется 7-битным смещением, и поддерживаются все режимы косвенной адресации.
Программная установка флага – команды SETC AMODE; LPADDR;
сброс – CLRC AMODE; C28ADDR.
При использовании этих команд конвейер выполнения команд не может быть прерван. Бит AMODE (в составе регистра ST1) сохраняется и восстанавливается при обработке прерываний. После начальной установки DSP флаг имеет нулевое значение.

IDLESTAT (бит ST17) – флаг-индикатор выполненной инструкции IDLE. Доступен только по чтению. Флаг может быть сброшен по факту обслуживания прерывания и после начального сброса ЦСП. После обслуживания прерывания значение бита IDLESTAT из стека не восстанавливается.
Модуль центрального процессора TMS320F28x 	 AMODE (бит ST18) – флаг режима адресации. Этот бит, в сочетании с

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика