Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Архитектура VelociTI




Все ЦСП С6x основаны на одном и том же 32-разрядном ядре центрального процессора с высоко параллельной и детерминированной архитектурой VelociTI.

Архитектура ядра ЦСП С6x включает 8 модулей - 2 умножителя и 6 АЛУ. Все модули максимально независимы, что дает компилятору и оптимизатору множество комбинаций их использования. На каждом такте ЦСП выбирается восемь 32-битных RISC-подобных инструкций. Предусмотренная в архитектуре VelociTI упаковка команд позволяет исполнять эти восемь инструкций параллельно, последовательно или параллельно/последовательно. Эта оптимизированная схема существенно снижает размер кода, количество выборок команд и потребление питания. При добавлении функции плавающей запятой к шести из восьми функциональных модулей из ЦСП с фиксированной точкой 'С62х получается ЦСП с плавающей точкой – 'С67х. При этом система команд 'С62х - расширение системы команд 'С67х и весь код написанный для 'С62х будет выполняться на 'С67х без модификаций самого кода.

Рассмотрим подробнее архитектуру ядра ЦСП серии TMS320C6000. Упрощенная схема ядра, без периферии и внешних шин, иллюстрирующая архитектуру VelociTI.

Как видно из рисунка, ЦСП использует очень длинные инструкции (256 бит) для выдачи до 8 команд по 32 бита для каждого из 8 функциональных модулей в каждом такте. Выбираются инструкции всегда по 256 бит, однако длина исполняемого пакета может быть разной, как показано на рисунке. Переменная длина выполняемой команды позволяет существенно сэкономить память – это отличительная черта ЦСП С6x от остальных ЦСП с очень длинным командным словом.

Ядро ЦСП С6x имеет два набора функциональных модулей. Каждый набор включает 4 модуля и регистровый файл. Каждый файл состоит из 16 32-разрядных регистров. Таким образом, всего в ядре 32 32-разрядных регистра.

Два набора функциональных модулей, связанных с двумя наборами регистров, создают разделение ядра на стороны А и В. 4 модуля с каждой стороны ЦСП С6x имеют произвольный доступ к регистровому файлу данной стороны. Кроме того, каждая сторона имеет шину, соединенную с регистровым файлом другой стороны. При доступе к регистрам своей стороны возможен доступ к регистрам всех модулей одновременно в одном такте.

Другой особенностью архитектуры ЦСП С6x является использование стратегии сохранения/загрузки, при которой все команды работают с регистрами. При этом два адресных модуля D1 и D2 выделяются только под передачу данных между регистровым файлом и памятью. Шины адреса, управляемые D-модулями, позволяют использовать адрес, сгенерированный в одном регистровом файле, для операций с данными в другом регистровом файле.

Ядро ЦСП С6x поддерживает широкий набор режимов косвенной адресации, включая линейный или кольцевой с 5- или 15-битным смещением. Все команды могут быть условными, и большинство команд могут использовать любой из 32 регистров. Некоторые регистры могут быть выделены для поддержки специфических режимов адресации или для хранения условий для условных команд.

2 М-модуля выделены под аппаратные умножители 16х16. Два S- и два L-модуля выполняют арифметические, логические операции и операции перехода, и при этом результаты их выполнения доступны в каждом такте (возможна задержка до 5 тактов конвейера, но большинство команд выполняются за 1 такт).

Процесс обработки команды в ядре начинается после выборки 256- битовой инструкции из внутренней памяти команд, которая также может быть сконфигурирована как кэш-память команд. Далее каждая из 32-битных команд распределяется на свой модуль для исполнения. При этом у команд, выполняемых на разных модулях, проверяется младший бит. Он устанавливается в 1 для всех команд, которые должны выполняться одновременно. Команды, которые собраны для одновременного выполнения (до 8 команд), образуют пакет выполнения.

Ноль ставится в младшем бите команды, которая нарушает последовательность выполнения и откладывает команду на следующий пакет выполнения. Всего в выборке может быть до 8 пакетов выполнения. Очередной пакет размещается для выполнения в модулях в каждом такте. До окончания выполнения пакета следующий пакет выборки из памяти не выбирается. Эта «стратегия» позволяет существенно экономить память команд и менять режим работы программы от одновременного параллельного выполнения 8 команд на 8 модулях до практически последовательного выполнения команд, в зависимости от требований алгоритма.

Обратим внимание на организацию памяти данных. Как уже упоминалось, данные из функциональных модулей помещаются в регистры, а затем по адресам, генерируемым D-модулями, идет обмен с памятью данных. При этом каждый из регистровых файлов соединен 32 разрядными шинами с диспетчером памяти. Диспетчер организует одновременную выборку из памяти по четырем шинам до 64 разрядов по двум подаваемым адресам. При этом память дробится на множество мелких банков, что практически исключает конфликты доступа к памяти. Такое решение обеспечивает доступ без задержек при параллельных потоках обращения и при возможности адресовать отдельно каждый байт памяти. Фактически вся память данных ЦСП С6x организована не как двухпортовая, а как многопортовая, и количество одновременно выбираемых данных может меняться.




Поделиться с друзьями:


Дата добавления: 2014-10-17; Просмотров: 366; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.