WWW.KNIGA.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА - Книги, пособия, учебники, издания, публикации

 

Pages:   || 2 | 3 | 4 |

«Факультет ИСТ Кафедра ИВТ Конспект лекций по дисциплине Конструирование цифровых процессоров в среде Simulink Автор-составитель: Акчурин Э.А. д.т.н., профессор Редактор: ...»

-- [ Страница 1 ] --

Поволжский Государственный Университет Телекоммуникаций и Информатики

Факультет ИСТ

Кафедра ИВТ

Конспект лекций

по дисциплине

«Конструирование цифровых процессоров в среде Simulink»

Автор-составитель: Акчурин Э.А. д.т.н., профессор

Редактор: Акчурин Э.А. д.т.н., профессор

Самара 2011 Факультет информационных систем и технологий Кафедра «Информатика и вычислительная техника»

Автор - д.т.н., профессор Акчурин Э.А.

Другие материалы по дисциплине Вы найдете на сайте www.ivt.psati.ru 2 Оглавление 1. Введение

2. Назначение ЦСП

2.1. Области применения и функции 2.2. Особенности ЦСП 2.3. Реализация ЦОС 2.4. Общие принципы архитектуры ЦСП 2.5. Принстонская и гарвардская архитектура 2.6. Структура ЦСП 3. Конвейерное выполнение команд

3.1. Введение 3.2. Аппаратная реализация функций 3.3. Дополнительные арифметические устройства 3.4. Устройства генерации адреса УГА 3.5. Аппаратная организация циклов 3.6. Использование нескольких АЛУ 3.7. Регистровые файлы 3.8. Специальные методы адресации 3.9. Комбинированные команды 3.10. Устройства ввода/вывода и периферии 4. ПЦОС семейства TMS320 от Texas Instruments

4.1. Обзор ПЦОС TMS320 4.2. ПЦОС популярной серии TMS320C2X 4.3. Универсальные ПЦОС серии TMS320С2000 4.4. ПЦОС TMS320C20х 4.5. ПЦОС TMS320C24х 4.6. ПЦОС серии TMS320 С5000 4.7. TMS320С6000 4.8. Архитектура VelociTI 4.9. Структура и состав ПЦОС TMS320 С6000 4.10. Средства разработки ПЦОС TMS320C6000 5. Технология разработки eXpressDSP

5.1. Введение 5.2. Составляющие технологии eXpressDSP 5.3. Внутрисхемные JTAG-эмуляторы 5.4. Тестовый интерфейс JTAG 5.5. JTAG как отладочный интерфейс в ЦСП 5.6. ИСР Code Composer Studio 5.7. Цикл разработки с использованием CCS 5.8. Конфигурация аппаратной части 5.9. Встроенный язык скриптов GEL 5.10. Конфигурация объектов 5.11. Ядро реального времени DSP/BIOS 5.12. Компоненты DSP/BIOS 5.13. Мультиниточная приоритетная модель 5.14. Периодические функции 5.15. Синхронизируемые задачи 5.16. Межпроцессорная синхронизация 5.17. Модуль RTA - анализ реального времени 5.18. Абстрагирование аппаратного обеспечения 5.19. Часы реального времени 5.20. Ядро реального времени DSP/BIOS 5.21. Распределение памяти 5.22. Аппаратно независимый ввод/вывод 5.23. Каналы (PIPE) 5.24. Драйверы 6. Инструментальные средства разработки ПО

7. Поддержка в MATLAB

1. Введение Конспект лекций по дисциплине "Конструирование цифровых процессоров в среде Simulink" специальности 230105. Может использоваться и в дисциплине «Пакеты расширения MATLAB для обработки сигналов» аспирантов.

Рекомендуемая литература:

1. Солонина А.И. и др. Основы цифровой обработки сигналов. Учебное пособие. – СПб.: БХВ-Петербург, 2003, 594 с.

2. Солонина А.И. и др. Алгоритмы и процессоры цифровой обработки сигналов.– СПб.: БХВ-Петербург, 2001, 464 с.

3. Иванова В.Г., Тяжев А.И. Цифровая обработка сигналов и сигнальные процессоры. Самара: ООО Офорт, 2008, 262 с.

4. Куприянов М.С., Матюшкин Б.Д. Цифровая обработка сигналов: процессоры, алгоритмы, средства проектирования.– СПб.: Политехника, 2002, 5. Корнеев В.В., Киселев А.В. Современные микропроцессоры. СпБ.:БХВПетербург, 2003, 448с.

6. Сергиенко А.Б. Цифровая обработка сигналов. Учебник для вузов– СПб.:

Питер, 2003, 608 с.

7. Скляр Б. Цифровая связь. Теоретические основы и практическое применение, 2-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003.

8. Акчурин Э.А. Оптимизация обработки сигналов путем модульной структуризации. М.: Радио и связь, 2000, 331 с.

9. Документация по ЦСП семейства TMS320.

10. Акчурин Э.А. МУ к лабораторным занятиям по ЦСП. Самара: ПГАТИ, 2007.

11. Акчурин Э.А. "Программирование в системе MATLAB".Часть 4. Разработка программ для ЦОС. МУ к ЛР. Самара: ПГАТИ, 2006, 37 с.

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

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

Новый тип процессоров - ЦСП (DSP) обеспечивающий достаточно простой и высокоэффективный способ реализации алгоритмов ЦОС в реальном времени, впервые был предложен на рынке в начале 80-х гг. В последующие годы фирмы-изготовители (Texas Instruments, Motorola, Analog Devices и др.) стремительно наращивали производство ЦСП, ориентированных на различные приложения. В настоящее время технологии ЦСП развиваются с неслыханной скоростью. Различные фирмы предлагают ЦСП от уникальных дорогостоящих специального применения до простых и дешевых, предназначенных для бытовых нужд. Возникла новая проблема — выбор ЦСП для конкретного приложения.

В чем же суть отличия ЦСП от микропроцессоров общего назначения? Для достижения необходимого быстродействия в ЦСП реализованы:

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

Аппаратно реализованы базовые операции ЦОС (умножение и умножение с накоплением), выполняемые за один командный цикл.

Гарвардская архитектура. Она предусматривает разделение пространства памяти на две области (программ и данных) с одновременным чтением и команд и данных.

Модифицированная гарвардская архитектура. В ней есть возможность прямого обмена данными между ними. Это позволило организовать эффективную конвейерную обработку команд, при которой фазы "выборка/декодирование/выполнение" соседних команд осуществляются параллельно.

2.1. Области применения и функции Функции, традиционно реализуемые на базе ЦСП.

Цифровая фильтрация: КИХ и БИХ фильтры, согласованные фильтры (корреляторы), преобразователи Гильберта, умножение на конечную оконную функцию, адаптивные фильтры, эквалайзеры.

Обработка чисел: скалярная, векторная и матричная арифметика, вычисление трансцендентных функций (sin, cos и т. п.), генерирование псевдослучайных чисел.

Обработка сигналов: сжатие (например, кодирование речевых сигналов по методу линейного предсказания), растяжение, усреднение, вычисление энергии, гомоморфные преобразования, преобразование линейных данных по разным законам при компандировании.

Спектральный анализ: ДПФ, БПФ, синусное/косинусное преобразование.

Моделирование: скользящего среднего (СС) и авторегрессии (АР).

Обработка данных: шифрование/дешифрование, кодирование/декодирование.

Модуляция: амплитудная (AM), частотная (ЧМ), фазовая (ФМ) и их разновидности.

В настоящее время ЦСП применяются во многих областях.

Телекоммуникационные средства: цифровые АТС, вокодеры, видеотелефоны, речевая почта и др.

Передача данных: модемы, факсы, локальные сети, криптография.

Обработка звуковых сигналов: синтез музыки, эквалайзеры, микшеры.

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

Инструментарий: цифровая фильтрация, анализаторы спектра, генераторы сигналов, сейсмические приборы.

Обработка изображений: распознавание изображений, распознавание отпечатков пальцев, сжатие, повышение качества.

Цифровое аудио: цифровое радиовещание, диктофоны, автоответчики, музыкальные инструменты и синтезаторы, студийное оборудование.

Специальное применение: навигация, секретная связь, гидроакустические и радиолокационные станции.

Промышленность: высокоскоростное управление, вибрационный анализ, робототехника, адаптивное управление. подавление шумов. распознавание образов.

Медицина: усиление звука, томография, анализ рентгеновских снимков, анализ электрокардиограмм, ультразвуковая диагностика.

Цифровое видео: цифровое телевидение, мониторы с высоким разрешением.

Обработка речи: синтез речи, распознавание речи.

2.2. Особенности ЦСП Основные особенности, характеризующие ЦСП:

быстрая и гибкая арифметика, возможность выполнения операций умножения и умножения с накоплением за один командный цикл;

защита от переполнений при вычислении сумм;

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

быстрая и гибкая арифметика, возможность выполнения операций умножения и умножения с накоплением за один командный цикл;

целесообразность выборки двух операндов за один цикл для повышения быстродействия операции;

гибкая система адресации с учетом специфики алгоритмов ЦОС, в частности, наличие модульной и бит-реверсивной адресации для организации циклических буферов;

эффективная организация циклов и ветвлений.

2.3. Реализация ЦОС Реальные сигналы, как правило, являются аналоговыми (речь, музыка, информация с датчиков). Обработка сигналов может производиться аналоговой и цифровой системами. Достоинства ЦОС общеизвестны. Общая структура системы ЦОС:

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

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

ЦОС в ЦП вычислителе может выполняться разными способами с помощью самой разнообразной элементной базы. ЦП может быть реализован аппаратным (устройство с жесткой логикой) и программным методами. Элементная база включает различные непрограммируемые (работающие не под управлением программы) и программируемые устройства.

К непрограммируемым элементам относятся проблемно-ориентированные интегральные схемы ASIC (Application Specific Integrated Circuit), программируемые логические устройства PLD (Programmable Logic Device,), программируемые логические массивы FPGA (Field Programmable Gate Array). Устройства типа PLD, FPGA "программируются" для реализации ими определенной функции. В результате получается некоторая специализированная ИС. На основе схем типа PLD возможно получение и программируемого процессора, в том числе процессора цифровой обработки сигнала.

Программируемыми элементами являются микроконтроллеры, универсальные процессоры общего назначения разного типа (RISC и CISC), и, наконец, ЦСП.

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

Первые ЦСП, появившиеся в начале 80-х годов XX века, представлялись потребителям сугубо специализированными. В настоящее время они используются в очень многих конструктивных решениях: автомобилях, ЭВМ, музыкальных инструментах, видеотехнике, медицинской аппаратуре. Этот список может быть бесконечным, причем сфера использования ЦСП непрерывно расширяется.

Отмечается, что сегмент мирового рынка процессоров, занятый ЦСП, в 2000 г.

был самым большим и динамичным, традиционно уступая только 8-разрядным микроконтроллерам. Продажи ЦСП в долларах в 2000 г. возросли по сравнению с 1999 г. на 40%, в то время как продажи всех процессоров — только на 30%.

Эффективность и скорость решения задач ЦОС при использовании различной элементной базы будут отличаться. Решение задачи ЦОС при примерно равных тактовых частотах занимает приблизительно в три раза больше времени на универсальных процессорах по сравнению с процессорами ЦСП. Например, в процессоре i8086 операция сложения занимает три такта, операция умножения больше 100 тактов, в то время как в ЦСП для этих операций необходимо по одному такту.

На сайте компании Berkeley Design Technology, Inc. (BDTI) (http://www.bdti.com/) приводятся следующие данные: решение задачи БПФ на 256 точек в процессоре TMS320C6701 занимает время в два раза больше, чем при использовании процессора Pentium III, в то время как тактовые частоты работы процессоров отличаются в 6 раз (167 МГц и 1000 МГц соответственно).

ЦСП чаще всего определяется как процессор, предназначенный для выполнения обработки данных и решения задач анализа и управления в реальном масштабе времени с использованием "оцифрованных" реальных сигналов, в том числе и реализации алгоритмов ЦОС в реальном масштабе времени.

Примером различия задачи решаемой в реальном и в нереальном масштабе времени, может служить задача обработки изображения. Обработка фотографий небесных объектов, передаваемых из космоса, может производиться достаточно долго на универсальных ЭВМ, в то время как обработка кадров кинофильма или кадров телевизионного изображения должна выполняться за некоторый промежуток времени, определяемый частотой смены кадров.

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

2.4. Общие принципы архитектуры ЦСП Термин "архитектура" обычно используется для описания состава, принципа действия, конфигурации и взаимного соединения основных узлов вычислительной системы. Этот термин включает в себя также изложение возможностей программирования, форматов данных, системы команд, способов адресации и т. д. Таким образом, термин "архитектура" относится как к аппаратным средствам или программному обеспечению, так и к их комбинации.

С момента появления самых первых ЦСП (1982 г.) их архитектура формировалась алгоритмами ЦОС. Любые особенности этих процессоров определяются требованиями, возникающими при реализации алгоритмов ЦОС. Исследование типичных алгоритмов ЦОС и их вычислительных требований является лучшим способом для изучения и понимания развития архитектуры ЦСП.

Традиционным простым примером, на котором иллюстрируются особенности алгоритмов ЦОС и процессоров ЦСП, является алгоритм реализации КИХфильтра. Выходной сигнал фильтра определяется выражением где х(n) — отсчеты входного сигнала; h(i) — коэффициенты фильтра.

В соответствии с алгоритмом, выборки входного сигнала умножаются на коэффициенты фильтра и суммируются. Подобные вычисления используются и во многих других алгоритмах ЦОС. Таким образом, базовой операцией ЦОС является операция умножения и добавление (накопление) результата умножения. Подобную операцию часто обозначают при описаниях мнемоникой MAC.

Для того чтобы работать с высокой производительностью, процессор должен выполнять операцию MAC за один цикл (такт) работы процессора. Отсчеты сигнала, коэффициенты фильтра и команды программы хранятся в памяти.

Для выполнения операции требуется произвести три выборки из памяти - команды и двух сомножителей. Следовательно, для работы с высокой производительностью эти три выборки необходимо произвести за один такт работы процессора. При этом подразумевается, что результат операции остается в устройстве выполнения операции (в центральном процессорном устройстве ЦПУ), а не помещается в память. В более общем случае нужна еще операция записи результата в память, т. е. необходимы четыре обращения к памяти за цикл. Таким образом, производительность процессора прежде всего определяется возможностями обмена данными между ЦПУ и памятью процессора и организацией их взаимодействия.

Ниже рассматриваются различные идеи и методы, используемые в ЦСП для повышения производительности системы. Эти идеи являются общими для большинства процессоров и в той или иной форме сводятся к параллелизму — одновременной работе разнообразных модулей, одновременному выполнению разных операций в нескольких модулях.

2.5. Принстонская и гарвардская архитектура Традиционная структура вычислительной системы, соответствующая принстонской, или "фон-неймановской" вычислительной машине. Американский математик Д. фон Нейман (1903—1957) предложил концепцию вычислительной машины (и в частности, хранимой в памяти программы), которая лежит в основе большинства современных машин. Одним из основных моментов этой концепции является то, что система обладает единой памятью, в которой хранятся и команды программы и данные.

Система содержит одну шину данных (ШД), по которой передаются и команды программы, и данные. Следовательно, в такой системе требуется три цикла для выборки команды и двух сомножителей (то есть для выполнения операции MAC).

В процессорах ЦСП применяется гарвардская архитектура вычислительной системы. Подобная архитектура названа по работе, выполненной в 40-х годах XX века в университете Гарварда под руководством Г. Айкена (1900—1973). В соответствии с этой концепцией для хранения программы (команд) и данных используются различные устройства памяти.

Соответственно в системе имеется два комплекта шин для этих устройств:

шина адреса памяти программ (ШАПП), шина данных памяти программ для работы с памятью программ (ПП) и шина адреса памяти данных (ШАПД), шина данных памяти данных (ШДПД) для работы с памятью данных (ПД).

В системе с гарвардской архитектурой можно одновременно производить операции обращения к различным устройствам памяти, т. е. синхронно выбирать команду из памяти программ ПП по шине ШДПП и сомножитель из памяти данных ПД по шине ШДПД. Соответственно при этом для выполнения операции MAC требуется два цикла работы процессора. Реально за счет различных дополнительных мер почти всегда время операции MAC сводится к одному циклу. Различные варианты реализации операции рассмотрены ниже. В частности, ПП иногда используется не только для хранения команд, но и данных.

Поэтому при описаниях ЦСП говорят о модифицированной гарвардской архитектуре.

Следует лишь иметь в виду, что несколько комплектов шин для одновременной выборки данных и команд из ПД и ПП используются только внутри кристалла ЦСП при работе с внутренней памятью процессора. Для обращения к внешней памяти во всех процессорах применяется один комплект внешних шин ВША и ВШД. Это определяется ограничениями, накладываемыми технологией на количество выводов ИС. Поэтому разработчики систем ЦОС стремятся использовать только внутреннюю память, и процессоры выпускаются с большой внутренней памятью как ПП, так ПД. При использовании внешней памяти, особенно для хранения программы и данных, увеличивается время, затрачиваемое на выполнение операций.

2.6. Структура ЦСП Для хранения информации в процессоре используются память программ ПП и память данных ПД, которые связаны с другими устройствами шинами. ЦСП имеет шины различного назначения:

Шина адреса ПП ШАПП предназначена для передачи адресов ячеек памяти программ.

Шина данных ПП ШДПП служит для передачи команд, хранимых в памяти программ, а также данных при использовании ПП для хранения данных (например, таблиц коэффициентов цифровых фильтров).

Шины адреса ПД ШАПД и данных ПД ШДПД применяются для передачи адреса и данных памяти данных. Количество шин, особенно шин данных в различных процессорах существенно отличается. Увеличение количества ШДПД связано с увеличением производительности процессоров за счет одновременной передачи данных для использования в различных модулях. Это дает возможность модулям одновременно выполнять определенные операции. В некоторых процессорах (например, TMS320C5000) производится разделение функций шины данных: используются различные шины данных для чтения и записи информации.

Все процессоры ЦСП имеют внутреннюю (внутрикристальную) память. Однако внутренней памяти процессора иногда оказывается недостаточно для хранения программ и данных. Кроме того, процессор может не иметь внутренней памяти типа ПЗУ для хранения программы, которая не изменяется. В этих случаях может использоваться внешняя память, связь с которой осуществляется через интерфейс внешних шин и внешние шины адреса ВША и данных ВШД.

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

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

На устройство управления от внешних устройств ВУ поступают запросы на прерывания основной программы работы. Как уже отмечалось, ЦСП, как правило, работают с ВУ и их сигналами в реальном масштабе времени. Работа в режиме с прерываниями и, в частности, ввод/вывод информации по прерываниям позволяют процессору согласовывать свою работу и прием/выдачу сигналов со скоростью (частотой) работы ВУ. Ввод/вывод информации от ВУ осуществляется через устройства ввода/вывода, в качестве которых в основном применяются различного вида последовательные порты.

ЦСП имеют большое количество периферийных модулей, состав и количество которых определяются назначением процессора. Все процессоры имеют различные таймеры, предназначенные для генерации сигналов необходимых частот. Это, например, сигнал дискретизации для внешнего АЦП), сигналы внутренних запросов на прерывания по таймеру, с помощью которых можно организовать временной опрос внешних датчиков информации.

АЛУ, умножитель и дополнительные функциональные узлы предназначены для выполнения операций над обрабатываемой информацией. Устройство генерации адреса (УГА) формирует адреса данных, извлекаемых из ПД. Для одновременной выборки нескольких операндов необходимо формировать одновременно несколько адресов. Для этого и процессор может иметь несколько устройств УГА. Эти устройства включают в себя арифметические модули для вычисления адресов при различных сложных методах адресации.

3. Конвейерное выполнение команд 3.1. Введение Процесс выполнения команды во всех процессорах разбивается на несколько этапов. Конвейерный принцип выполнения команд состоит в том, что различные этапы разных команд выполняются одновременно. Необходимо подчеркнуть: выполняются одновременно этапы различных команд в разных функциональных устройствах. Количество этапов, на которые разбивается процесс выполнения команды, отличается в разнообразных процессорах.

В процессорах TI C2X существует три этапа конвейера: выборка, декодирование, выполнение команды. В процессорах TI C24X, С5Х, С20Х — четыре этапа: выборка команды, декодирование команды, подготовка операнда, выполнение. В процессорах TI C5000 — шесть этапов. В процессорах С6000 количество этапов переменное и доходит до 11.

В процессорах ADI AD2100 и AD2106x — три этапа.

В процессорах Motorola DSP56K - три этапа, а в процессоре DSP56300 — Приведенные названия этапов не отражают полностью характер выполняемых действий, т. к. на определенном этапе команды могут осуществлять несколько действий, например на этапе декодирования может начинаться модификация содержимого регистров для подготовки операндов и т. д.

Время выполнения одного этапа команды называют командным циклом работы процессора (иногда — тактом работы процессора). Время командного цикла, как правило, равно периоду внутренней тактовой частоты работы процессора. Внешняя частота сигнала управления, подаваемая на выводы процессора, может отличаться от внутренней частоты работы процессора. Схема выполнения команды во времени и обозначения этапов при разделении ее на четыре этапа.

Схема неконвейерного (полностью последовательного) способа выполнения команд. В этом случае время выполнения команды равно 4-м циклам; время выполнения m команд равно 4m циклов.

Это конвейерный способ работы команд, при котором различные этапы выполнения разных команд совмещаются. При этом время выполнения каждой отдельной команды остается по-прежнему равным 4-м циклам, однако результаты выполнения отдельных команд будут появляться через интервал времени, равный одному циклу (при большом количестве последовательно выполняемых команд). Период появления результатов команд и считается в этом случае временем выполнения команды.

Распределение во времени различных этапов разных команд при конвейерном способе выполнения.

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

На стационарность функционирования конвейера, описанного выше, последовательность выполнения этапов которого отражена в таблице влияет несколько факторов:

Длина команды. Для нормальной работы конвейера все команды должны иметь одно и то же количество слов, чтобы их выборка всегда занимала одинаковое время.

Вид исполняемой программы. Для того, чтобы команды программы выполнялись строго в соответствии с порядком, приведенном в таблице, программа должна носить линейный характер (без команд условных переходов), иными словами порядок следования команд должен быть предопределен. Если же после данной команды осуществляется команда условного перехода, то следующая команда определится только после последнего этапа ее выполнения, т. е. вычисления условия. При этом может оказаться, что должна выполняться команда, не следующая по порядку в записи программы (и уже выбранная). Тогда выборку команды необходимо начинать заново, и происходит потеря нескольких циклов. Кроме того, последовательность выполнения этапов разных команд может нарушаться при безусловных переходах, переходах к выполнению подпрограмм и возвратах в основную программу, прерываниях основной программы и возвратах в нее, выполнении циклов.

При нарушении стационарного последовательного характера выполнения этапов команд, т. е. нарушениях нормального функционирования конвейера, возникают так называемые конфликты конвейера. Рассмотрим пример. Пусть в процессоре TMS320C5x требуется выполнить команды:

LACC *+ ; загрузка аккумулятора ADD #2000h ; прибавление к содержимому аккумулятора числа SACL *+ ; сохранение в памяти результата Первая и третья команды имеют длину одно слово, а вторая — два слова. Во втором слове этой команды записано непосредственное число 2000h, которое прибавляется к содержимому аккумулятора. Порядок выполнения и распределение этапов, рассматриваемых трех команд по циклам, приведены в таблице ниже. В результате того, что для выборки из памяти второго слова команды add требуется дополнительный цикл, происходят задержка выборки и декодирования третьей команды и затягивание выполнения всей последовательности команд. Подобный вариант затягивания выполнения команд при использовании команд разной длины имеет место и в других процессорах TI, процессорах Motorola DSP56K. В процессорах ADI все команды имеют одинаковую длину.

Порядок выполнения и распределение этапов команд по циклам цикла Выборка ком. Декодир. ком Подгот. операндов Вып. ком.

Иногда при выполнении команд конфликты конвейера возникают на аппаратном уровне. Примерами могут служить следующие ситуации.

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

Возникновение необходимости на разных этапах выполнения команд использовать одни и те же функциональные узлы или одни и те же данные.

Например, в процессорах Motorola DSP56K нельзя загружать регистр адреса в данной команде и использовать его же в качестве счетчика следующей. Другой пример. Пусть в процессоре TMS320C3x должны последовательно выполняться команды LDI 9, AR2 ; загрузка вспомогательного регистра AR2 константой MPYF *AR3, R0 ;умножение с использованием для адресации вспомогательного регистра AR В процессорах СЗХ имеет место условие: если загружается вспомогательный регистр, использование любого другого вспомогательного регистра задерживается, пока не закончится процесс записи. Таким образом, декодирование второй команды будет задержано до окончания выполнения первой.

При возникновении конфликта на уровне эксплуатации функциональных устройств процессор в большинстве случаев автоматически добавляет пустые такты или циклы. При использовании процессоров Motorola в подобных случаях имеет место следующее. Ассемблер Motorola имеет опцию RP, при использовании которой на этапе трансляции в программу автоматически вставляются пустые команды NOP. В противном случае генерируется сообщение об ошибке. Тем самым предоставляется возможность самому программисту выбрать способ программы.

Как уже отмечалось выше, с конвейерным принципом выполнения команд связан вопрос определения времени выполнения команды. Время выполнения этапа команды — длительность командного цикла обычно совпадает с периодом основной частоты работы процессора. В этом случае время выполнения команд, разбиваемых на четыре этапа в нормально работающем (без конфликтов, см. Ошибка! Источник ссылки не найден.) конвейере, фактически равно 4-м циклам или периодам частоты работы процессора. Однако такие команды считаются одноцикловыми (однотактовыми), т. е. время их выполнения равно длительности командного цикла.

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

В некоторых случаях, например при конфликтах использования одних функциональных узлов последовательно выполняемыми командами, фактическое время выполнения команды зависит от применяемой последовательности команд. Это имеет место, например, в процессоре TI TMS320C3X.

3.2. Аппаратная реализация функций В ЦСП операции, которые обычно в процессорах общего назначения выполняются программным образом, реализуются аппаратным способом, т. е. для их выполнения предназначены дополнительные функциональные узлы и специализированные модули. Эти модули работают одновременно с основным АЛУ, повышая тем самым общую производительность системы. Рассмотрим некоторые используемые специализированные модули.

Умножитель. Первое и основное место среди подобных модулей занимает умножитель, используемый во всех ЦСП. Он производит операцию умножения данных в формате "слово" процессора (16x16 для 16-разрядных процессоров или 32x32 для 32-разрядных) за один цикл (в отличие от программных методов реализации операции умножения, которые требуют многих циклов). Умножитель является основным элементом при выполнении операции умножения/накопления MAC. Варианты использования умножителя в процессорах с различной архитектурой будут рассмотрены ниже.

Сдвигатели. Сдвиги операндов в ту или иную сторону на определенное количество разрядов можно производить в АЛУ, однако при этом для выполнения сдвига требуется отдельная команда. В процессорах Motorola, TI и некоторых других имеются аппаратно реализованные модули сдвига, расположенные в цепях передачи операндов между различными модулями. Следует отметить, что в фирменных описаниях конкретных процессоров названия различных модулей могут отличаться от используемых в данной книге. Отличаются также названия модулей, используемых для одних и тех же целей в процессорах различных фирм. Они позволяют производить сдвиги при передаче и загрузке операндов без использования дополнительных команд. Ниже функциональная схема части ЦПУ процессоров TI C2X, С20Х, С5Х, на которой показаны цепи передачи данных между памятью и узлами ЦПУ. В этих процессорах операнд при загрузке из памяти данных ПД в сумматор проходит через "Сдвигатель входной", результат выполнения операции из аккумулятора в ПД передается через "Сдвигатель выходной", произведение из регистра Р в сумматор или в ПД — через "Сдвигатель произведения".

3.3. Дополнительные арифметические устройства Дополнительно к основному АЛУ, выполняющему различные арифметические и логические операции, в процессорах ЦСП применяют вспомогательные арифметические устройства. Они позволяют осуществлять различные математические операции одновременно с основным АЛУ, повышая тем самым производительность системы.

Например, в процессорах TMS320 фирмы TI используется второе арифметическое устройство АУВР (арифметическое устройство вспомогательных регистров) для работы со вспомогательными регистрами. Вспомогательные регистры применяются в основном для косвенной адресации данных, а также могут служить в качестве регистров общего назначения. Входной информацией для АУВР может быть содержимое регистров и операнды, передаваемые из памяти данных по шине данных ШДПД. АУВР используется для модификации содержимого регистров и получения адресов данных, которые передаются на шину адреса памяти данных ШАПД и для сохранения в регистры.

Иногда в ЦСП добавляют дополнительное устройство для выполнения только логических операций, например, устройство PLL в процессорах TI TMS320C5X.

Большинство последних процессоров имеет как минимум два аккумулятора, позволяющих сохранять несколько результатов вычислений в АЛУ.

3.4. Устройства генерации адреса УГА В процессорах ЦСП используют специализированные устройства для генерации адресов данных в памяти данных. Эти устройства формируют или модифицируют адреса для обращения к операндам, размещенным в памяти данных ПД. Формирование адресов при различных методах адресации, особенно специальных, связано с выполнением вычислений. УГА функционируют параллельно с другими модулями и позволяют одновременно с выполнением операций в АЛУ вычислять адреса операндов для следующей команды. В них используются наборы регистров для хранения адресов и некоторых данных (например, значений индексов или приращений при модификации адреса) и специализированные АЛУ. По общей структуре и назначению УГА совпадают с устройством, приведенным на Ошибка! Источник ссылки не найден. (блок вспомогательных регистров и АУВР). Отдельно как устройства генерации адресов данных УГА выделяются в процессорах ADI (DAG), Motorola (AGU), TMS320C55X (DAGEN). В этих процессорах используются два устройства, позволяющих формировать одновременно два адреса для двух операндов.

3.5. Аппаратная организация циклов Циклические процессы, т. е. повторение одиночных команд и их блоков, занимают значительное место среди алгоритмов ЦОС. Обычная организация циклов программным образом требует использования команд формирования и проверки условий окончания циклов, которые должны выполняться при каждом прохождении "тела" цикла. На выполнение этих команд затрачивается время.

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

В процессорах TI для повторения одиночной команды применяется счетчик повторений RC, который загружается командой RPT и содержимое которого декрементируется на каждом шаге. Пока содержимое RC не равно нулю, значение программного счетчика PC не изменяется. Для повторения блока команд дополнительно существуют регистры начала (RSA) и конца (REA) блока команд, в которые записываются адреса первой и последней повторяемой команды. На каждом шаге значение программного счетчика PC сравнивается с REA; если значение PC становится больше REA, в PC переписывается значение RSA и декрементируется счетчик количества повторений. В процессорах С55 имеется два комплекта таких регистров для организации циклов.

В процессорах Motorola используется команда цикла do, которая также работает с регистрами начала и конца цикла (LC и LA). Аналогичным образом циклы реализуются в процессорах ADI.

3.6. Использование нескольких АЛУ Идея эксплуатации нескольких одновременно работающих функциональных устройств находит свое полное воплощение в некоторых высокопроизводительных процессорах в форме использования для выполнения программы нескольких АЛУ, в некоторых случаях полностью идентичных.

Приведем примеры использования нескольких АЛУ в различных ЦСП:

Процессоры TI C55 имеют два устройства умножения/накопления, которые позволяют выполнять одновременно: перемножение двух пар операндов или одно перемножение с накоплением и одно перемножение и некоторые другие операции. Эти действия в программе оформляются как параллельно выполняемые команды.

Процессор LUCENT DSP16xxx имеет функциональный блок, включающий два умножителя, два сдвигателя, два устройства выполнения операций над отдельными разрядами, АЛУ и аккумулятор.

Процессоры ADI ADSP-21160 и ADSP-TS001 TigerSHARC имеют по два узла, каждый из которых включает регистровый файл, умножитель и АЛУ с возможностями одновременного выполнения операций умножения/накопления или выполнения независимых команд.

Процессоры Motorola MSC8101 используют ядро ЦСП Star Core SC140.

Это ядро имеет четыре параллельно работающих АЛУ (DALU), каждое из которых состоит из MAC — устройства умножения/накопления, устройства обработки отдельных разрядов BFU. Общими для всех АЛУ являются сдвигателей и 16 регистров, используемых в качестве источников и получателей операндов и результатов для всех АЛУ. Команда для каждого АЛУ и некоторых других функциональных устройств представляет собой 16-разрядное слово. От одной до шести команд отдельных узлов могут объединяться в одну общую команду. Команды отдельных АЛУ способны включать различные операции над двумя операндами, в том числе и умножение с накоплением.

Наибольшее количество АЛУ имеют процессоры платформы С6000 фирмы TI. В них имеется восемь АЛУ, объединенных в две группы по четыре — типа S, L, M, D. АЛУ внутри группы имеют специализацию: М предназначен для выполнения операций умножения и умножения с накоплением, S, L и D ориентированы на выполнение арифметических операций.

Следует отметить, что эффективное использование и полная загрузка нескольких АЛУ достигаются при использовании простых команд типа "регистр, регистр = регистр".

Дальнейшим развитием идеи использования нескольких АЛУ является объединение нескольких ЦСП в одном кристалле:

Процессор ADI ADSP-2192 объединяет два независимых ЦСП, имеющих общую и локальные области памяти.

Процессор TI C5441 имеет внутри кристалла четыре ядра С54х с локальными и общей областями памяти.

Процессоры TI C5420 и С5421 содержат внутри кристалла два независимых процессора с ядром С54х с внутренней магистралью обмена данными между ними.

3.7. Регистровые файлы Все ЦСП имеют регистровые файлы — наборы регистров, предназначенных для выполнения различных функций. Количество наборов и количество регистров в наборе в различных процессорах меняется в достаточно широком диапазоне и имеет тенденцию увеличиваться в современных (новых) процессорах.

Основные функции регистровых файлов:

Использование регистров для хранения и модификации адреса операнда при косвенной адресации. Примером могут служить наборы вспомогательных регистров ARn процессоров TI. Их количество меняется от 2 в TMS320C1X до 8 в TMS320C5X. Следует отметить, что эти регистры могут также использоваться как регистры общего назначения, например для временного сохранения данных.

Применение набора регистров для задания и сохранения конфигурации системы (например, конфигурации памяти, маскирования прерываний) и контроля режимов работы системы (скажем, наличие на входе сигналов запроса на прерывание). В эти регистры (и отдельные разряды регистров) пользователь программным образом на этапе инициализации системы записывает конкретные управляющие слова, определяющие конфигурацию системы и режимы ее работы. Процессор при выполнении программы фиксирует изменяющуюся информацию о своем состоянии в некоторый момент времени. Эта информация может считываться программным образом и использоваться для управления работой и изменения состояния процессора. Управляющие регистры и регистры состояния, как правило, являются регистрами, отображенными на память, т. е. помимо имени они имеют определенный адрес в пространстве памяти процессора и к ним можно обращаться как к ячейкам памяти для считывания и записи информации. Примерами таких регистров являются регистры состояния SТn, PMST процессоров TMS320 фирмы TI, регистры конфигурации памяти OMR процессоров DSP56K Motorola и др.

Использование регистров в качестве источников операндов, получателей результатов, источников/получателей операндов и результатов.

Здесь следует отвлечься и отметить следующее. В любых процессорах (не только ЦСП) существуют команды различных типов: "регистр, регистр=регистр", "память, память=память" "память, память=регистр", "регистр=память" и др. Тип команды "регистр, регистр=регистр" означает, что источником двух операндов при ее выполнении являются регистры, и результат операции помещается также в регистр. Компиляторы языков высокого уровня, вообще говоря, наиболее эффективно используют простые команды типа "регистр, регистр=регистр", которые выполняются также достаточно быстро и существуют в высокопроизводительных процессорах с несколькими АЛУ. Применение регистровых файлов в качестве источников/получателей операндов позволяет широко использовать команды типа "регистр, регистр=регистр" и строить быстродействующие процессоры с архитектурой, "дружественной к языку С".

В ЦСП различных фирм (и в процессорах разных семейств одной фирмы) используются (в качестве основных) все из упомянутых выше типов команд. В качестве получателей результатов операций практически всегда используются регистры (наборы регистров). Примерами могут служить:

аккумулятор А в процессорах TMS320Clx, TMS320C2X;

два аккумулятора А и В в процессорах TMS320C5x, TMS320C54X, DSP16XXX, Motorola DSP 56K и др.;

регистры AR, MR в процессорах ADI.

В качестве источников операндов в процессорах с фиксированной запятой фирмы TI (TMS320C1X, TMS320C2X, TMS320C20X) в основном используется память.

В процессорах Motorola, ADI источником операндов являются регистры MX, MY при умножении и АХ, AY при сложении (ADI), ХО, XI, YO, Y1 (Motorola).

В процессорах TI C55X источниками операндов и получателями результатов служат наборы регистров АСО—АСЗ, TRNO, TRN1, кроме того, источником операндов может служить также и память (как в более ранних моделях ЦСП этой фирмы).

В процессорах TI с плавающей точкой TMS320C3X имеется регистровый файл Rn на 8 регистров, который служит всегда получателем и для некоторых команд также и источником операндов. Кроме того, источником операндов может служить память. Вид источника операнда определяется используемым методом адресации.

Ядро ЦСП Star Core SCI40 использует для своих четырех АЛУ регистровый файл на 16 регистров для операндов и результатов.

В процессорах семейства С6000 TI для 8 АЛУ применяются два регистровых файла А и В по 16 регистров каждый.

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

Циркулярный буфер представляет собой набор ячеек в памяти данных, обращение к которым производится по циклу, т. е. при достижении последней ячейки буфера ячейкой, к которой производится очередное обращение, является не следующая по порядку, а начальная ячейка. В примере используется буфер длиной 10 с физическими адресами ячеек памяти ФА (n-1)…(n+8). Адреса ячеек в буфере обозначены "Ад буф" и имеют номера 1…10. Обращение к ячейкам буфера может идти в любом направлении: "вниз" и "вверх". При движении "вниз" после ячейки с номером ФА, равным (n+8), будет осуществляться обращение к ячейке с адресом (n-1), а при движении "вверх" после ячейки (n-1) обращение к ячейке (n+8). Изменение адреса при движении по буферу может происходить с любым индексом (шагом).

Циркулярный буфер может использоваться, например, для организации линии задержки. Пример организации линии задержки на 9 тактов частоты дискретизации:

Точки входа и выхода линии задержки, т. е. точки записи и считывания отсчетов сигнала, циклически перемещаются по буферу с расстоянием между ними, определяемым величиной задержки. На рисунке приведены точки записи двух последовательных отсчетов х(10), x(11) и считывания задержанных отсчетов х(1), х(2). Отсчет х(11) записывается на место отсчета х(1), который больше не потребуется. Для адресации данных внутри буфера применяется косвенный метод адресации.

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

В процессорах Motorola и ADI адресация буферов производится регистрами в УГА. Сильная поддержка буферов осуществляется специальными директивами на уровне языка ассемблера, например ассемблера процессоров Motorola.

3.9. Комбинированные команды Большое количество разнообразных дополнительных к основному АЛУ функциональных узлов дает возможность производить в процессорах одновременно несколько действий. Это, в свою очередь, предоставляет возможность ввода и широкого использования комбинированных команд, осуществляющих одновременно несколько действий. Комбинированные команды применяются в основном в процессорах первого и второго поколений со "стандартной" и "улучшенной стандартной" архитектурой. В самых мощных высокопроизводительных процессорах выбрана архитектура RISC с набором упрощенных команд типа "регистр, регистр - регистр". Это объясняется тем, что сложные комбинированные команды плохо реализуются в компиляторах языка С и процессорах с несколькими АЛУ. В этом случае программы, написанные на языке С, проигрывают по эффективности программам на ассемблере. Следует также отметить, что грамотное использование сложных комбинированных команд на ассемблере требует от программиста хорошего знания системы команд и архитектуры конкретного процессора.

Комбинированные команды, прежде всего, используются для выполнения основной операции ЦОС — умножения с накоплением и различных ее вариантов.

Другим примером комбинированных команд могут служить команды, связанные с действиями в АЛУ, умножителе и сдвигателе процессоров ADI, которые способны иметь условие выполнения. Например:

IF AC AR=AXO+AYO+C где if ас — условие выполнения: бит переноса не равен нулю; ar, ахо, ayo — регистры процессора.

В соответствии с командой будет выполнено сложение содержимого регистров при выполнении условия, которое является необязательным элементом команды.

К комбинированным командам можно также отнести команды, использующие косвенную адресацию с модификацией адреса. При выполнении этих команд одновременно с основным действием в АЛУ осуществляются вычисления адреса в УГА.

Некоторые команды ЦСП фирмы Motorola допускают использование дополнительных пересылок данных (поля параллельных пересылок в командах). Например:

MAC XO,YO,A XO,X:(RO)+Y:(R4)+,YO В соответствии с данной командой осуществляется операция умножения содержимого регистров хо, yo, и одновременно содержимое регистра хо пересылается в Х-память, а из ячейки Y-памяти выполняется пересылка в регистр YC.

Процессоры ADI и TI применяют специальные команды для выполнения одновременно с основной операцией дополнительных пересылок данных. В описаниях процессоров такие команды называют также многофункциональными.

Процессоры TI TMS320C3X и TMS320C55X допускают существование некоторых команд в качестве параллельных, при этом одновременно выполняются несколько действий, описываемых этими командами, в различных функциональных узлах ЦПУ, и производительность процессора при использовании в качестве единицы измерения количества операций (MOPS) увеличивается в два раза. Такие, одновременно выполняемые, команды также иногда называют комбинированными.

Разновидностью комбинированных команд являются команды, выполняемые в процессорах TI C6000 и StarCore SCI40. Как уже было отмечено выше, в этих процессорах присутствуют несколько АЛУ (8 и 4 соответственно). Команды, определяющие действия в отдельных АЛУ, выполняются.

В некоторых процессорах применяются специализированные команды, ориентированные на выполнение операций ЦОС. Примерами таких команд могут служить:

в процессоре TMS320C55X — вычисление сигнала на выходе симметричного/ассиметричного фильтра КИХ (конечная импульсная характеристика) FIRSADD/FIRSSUB;

в процессоре TMS320C54X — вычисление сигнала на выходе симметричного фильтра КИХ (конечная импульсная характеристика) FIRS.

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

3.10. Устройства ввода/вывода и периферии Решение задач ЦОС при использовании ЦСП существенно облегчается из-за наличия в этих процессорах самых разнообразных устройств ввода/вывода информации и периферийных устройств. К устройствам ввода/вывода относятся:

параллельные и последовательные порты ввода/вывода, использующие различные протоколы передачи информации;

каналы прямого доступа в память DMA, позволяющие вводить/выводить информацию в память системы без использования мощностей ЦПУ, т. е.

без потери производительности системы;

модули АЦП и ЦАП (аналого-цифрового преобразования и цифроаналогового преобразования), разрешающие вводить/выводить в процессор аналоговый сигнал (Lucent DSP16XX, 16-разрядный дельта-сигма АЦП/ЦАП в процессорах DSP56156 Motorola, 16-канальные 10-разрядные АЦП в процессорах TMS320LF240X и TMS32024X);

разнообразные модули, ориентированные на решение конкретных задач обработки сигналов: кодеки, декодеры, компрессоры;

порты обмена информацией между процессорами при реализации многопроцессорной системы;

сопроцессоры для решения специальных задач: сопроцессоры — декодеры избыточного кодирования Витерби (например, DSP16XX, DSP16XXX Lucent Technologies, TMS320C6416), сопроцессор — Turbo Decoder (TMS320C6416), сопроцессоры для реализации цифровых фильтров (DSP56307, DSP56311 Motorola);

интерфейсы передачи данных в режиме ATM (UTOPIA), включающие контроллер ATM, приемопередатчик 8-разрядных комбинаций со скоростью передачи/приема до 50 Мбит (TMS320C6416);генераторы сигналов ШИМ (широтно-импульсной модуляции) в DSP контроллерах.

4. ПЦОС семейства TMS320 от Texas Instruments 4.1. Обзор ПЦОС TMS Анализ сложившегося рынка показывает, что доминирующие позиции в ближайшем будущем будут занимать крупные компании-производители ПЦОС, такие как Texas Instruments Inc., Analog Devices,Motorola и ряд других, которые способны создавать не только ПЦОС низкой себестоимости, но и ежегодно инвестировать новые разработки и ноу-хау, создавать принципиально новые модели и платформы.

В числе наиболее распространенных ПЦОС можно назвать изделия следующих компаний — Motorola (56002, 96002), Intel (i960), Texas Instruments Inc.

(TMS320) и Analog Devices (21xx, 210xx). Выбор процессоров той или иной компании для реализации конкретного проекта — многокритериальная задача, и сформулировать более или менее четкую методику выбора практически невозможно.

В связи с этим, рассмотрим изделия одной из них, компании Texas Instruments Inc., доля которой на рынке ПЦОС превышает 50%. Компания Texas Instruments Inc. на рубеже столетий оказалась в заметно обновленном виде.

Руководство компании приняло стратегическое решение сконцентрировать силы на упрочении лидирующего положения на рынке ПЦОС, а также других изделий, в первую очередь аналоговых, необходимых для системной интеграции процессоров в прикладные системы.

В период с 1998 по 2000 г. компанией Texas Instruments Inc. были проданы подразделения по производству компьютеров-ноутбуков, схем памяти, оборонной электроники и были приобретены известные фирмы, занимающиеся разработкой прикладного программного обеспечения для ПЦОС (GO DSP, TARTAN, AMATI, Spectron Microsystems). В результате в 1998 году доля Texas Instruments Inc. на рынке ПЦОС вплотную приблизилась к 50% (по результатам 1997 года - 45%). Кроме того, компания Texas Instruments Inc. вышла на первое место в мире по продажам аналоговых и аналого-цифровых схем. Этому способствовало также состоявшееся в 2001 году слияние с компанией BurrBrown.

В 1998 году компания выделила на исследования и разработки новых ПЦОС 1,2 млрд долларов - величину, близкую к годовому обороту некоторых конкурентов в области производства ПЦОС. В области технических решений в компании Texas Instruments Inc. также произошел ряд существенных изменений. В 1999 году начато массовое производство кремния по запатентованной технологии TimeLine с разрешением 0,18 мкм.

ПЦОС с фиксированной точкой компании Texas Instruments Inc. представлены сериями TMS320C1x, TMS320C2x, TMS320C2xx, TMS320C5x и TMS320C62x.

Класс ПЦОС с плавающей точкой включает ПЦОС TMS320C3x, TMS320C4x и TMS320C67x. ПЦОС TMS320C8x также поддерживает операции с плавающей точкой и представляет собой мультипроцессорную систему, выполненную в одном кристалле.

Три серии – TMS320С2000, TMS320С5000 и TMS320С6000, по мнению экспертов компании, в ближайшем будущем должны покрыть весь диапазон возможных применений ПЦОС, предоставляя потребителю выбор ПЦОС по критерию "производительность / стоимость /потребляемая мощность".

Серия ПЦОС TMS320С2000 предназначена для решения задач встроенных применений и управления. Процессоры отличаются развитой периферией и невысокой стоимостью. Серию представляют:

универсальные TMS320C20x, TMS320C24x для цифрового управления электродвигателями.

Серия ПЦОС TMS320С5000 ориентирована на рынок малопотребляемых портативных устройств и мобильной связи. ПЦОС TMS320C54xx оптимизированы по быстродействию (до 200 MIPS) и минимальному энергопотреблению (до mA/MIPS). При этом массовое использование технологии 0,18 мкм позволило снизить стоимость отдельных ПЦОС данной подсерии до 5 $ при производительности 100 MIPS.

Серия ПЦОС TMS320С6000 характеризуется максимальной производительностью для применений, требующих предельных скоростей вычислений как с фиксированной, так и с плавающей точкой. TMS320C62x (ПЦОС с фиксированной точкой и быстродействием 1600 MIPS) и TMS320C67x (ПЦОС с плавающей точкой и производительностью от 1 GFLOPS) программно совместимы. Типовые области применений ПЦОС серии TMS320С6000 - многоканальные модемы, базовые станции, устройства обработки изображений и др.

4.2. ПЦОС популярной серии TMS320C2X ПЦОС TMS320C2x имеют архитектуру аналогичную ПЦОС первого поколения TMS320C1x, но обладают повышенной производительностью и более широкими функциональными возможностями. Все ПЦОС TMS320C2x могут использовать по 64К слов памяти программ и данных, имеют по 16 16-разрядных портов ввода/вывода и последовательный порт.

ПЦОС TMS320C2x имеют возможность использования внешнего контроллера ПДП. Умножитель микропроцессоров помимо операций умножения позволяет выполнять за один такт возведение в квадрат.

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

Основные технические характеристики ПЦОС серии TMS320C2x.

Основные отличия архитектуры ПЦОС серии TMS320С2x от ПЦОС первого поколения TMS320С1x:

Выполнение умножения и сохранения результатов в ПЦОС TMS320С2x осуществляется за один командный цикл.

Наличие команд, поддерживающих вычисления с плавающей точкой.

ПЦОС включает внутреннее маскируемое ПЗУ программ (ROM) размером 4Кслов для TMS320C25 или ПЗУ с ультрафиолетовым стиранием (EPROM) 4Кслов для TMS320E25.

Выполнение программ осуществляется из памяти программ RAM, расположенной на кристалле.

Объем памяти программ (RAM) — 544 слова, из которых 256 могут быть использованы как память данных.

расширяемая внешняя память может иметь объем 128К слов (64К слов — память программ, 64К — память данных).

TMS320С2x содержит внешний интерфейс для организации многопроцессорных связей и средства синхронизации для доступа к разделяемой памяти.

Реализована возможность перемещения содержимого памяти данных и памяти программ блоками.

4.3. Универсальные ПЦОС серии TMS320С Серия TMS320С2000 (TMS320C2xx) включает недорогие ПЦОС, применяемые в телекоммуникации, приборостроении, промышленности, управлении, в оборонных и других отраслях. Благодаря наилучшему соотношению производительность- стоимость среди процессоров серий TMS320 ($0,12 за MIPS) ПЦОС TMS320C2xx получили широкое распространение.

ПЦОС TMS320C2xx характеризуют следующие свойства:

Совместимость по программному коду с сериями 'С1х, 'С2х, т.е. все программы, написанные для процессоров более ранних серий - TMS320С1х и TMS320С2х, могут исполняться на ПЦОС TMS320С2xx без изменений. Это позволяет свободно модифицировать давно разработанные и выпускающиеся устройства на основе ПЦОС.

Расширенная система команд для ускорения алгоритмов и оптимизации операций языков высокого уровня.

Высокая производительность (до 40 MIPS).

Низкое потребление энергии благодаря наличию энергосберегающего Модифицированная гарвардская архитектура, предусматривающая раздельные шины команд и данных, позволяет одновременно выбирать инструкции и операнды. Возможность обмена между памятью программ и данных увеличивает гибкость ПЦОС. Так, коэффициенты, расположенные в памяти программ, могут быть переданы в память данных, что приводит к экономии памяти, выделяемой для коэффициентов.

ПЦОС TMS320С2xx имеет перепрограммируемую энергонезависимую flashпамять. Наличие четырехкаскадного конвейера позволяет ПЦОС TMS320C2xx выполнять большинство команд за один такт. Процессор содержит средства управления прерываниями, повторного выполнения операций и вызова подпрограмм и функций. Все ПЦОС серии имеют одинаковое процессорное ядро и отличаются различными конфигурациями памяти и внутрикристальной периферией.

Синхронный порт предназначен для обмена с другим процессором, кодеком и внешними периферийными устройствами. Порт имеет два буфера памяти емкостью по четыре слова с дисциплиной доступа FIFO и механизмом генерации прерываний. Максимальная скорость обмена через синхронный порт равна половине тактовой частоты процессора (для 40 МГц — скорость обмена Мбит/с).

Асинхронный последовательный порт предназначен для обмена данными с другими устройствами. При обмене используется 8-битовое представление данных с 1 стартовым и 1 или 2 стоповыми битами. Скорость обмена может достигать 250 000 10-битовых знаков в секунду.

Серия TMS320С2xx состоит из двух подсерий ПЦОС: TMS320С20х –ПЦОС широкого применения и TMS320С24х - ПЦОС для систем управления (например, управления электроприводом).

4.4. ПЦОС TMS320C20х TMS320С20х – ПЦОС общего назначения с производительностью до 40 MIPS.

Имеют полностью статическую структуру для уменьшения энергопотребления, встроенную Flash-память и широкий набор периферийных устройств. ПЦОС TMS320С20х специально оптимизированы по стоимостным параметрам, чтобы обеспечить их применение в недорогих массовых устройствах, но при этом остаются мощными ПЦОС.

Ядро (центральный процессор) ПЦОС TMS320С20x. Процессоры серии базируются на одном и том же ядре (центральном процессоре). Это 16-разрядное ядро ПЦОС общего назначения включает 32-разрядное АЛУ, 32-разрядный аккумулятор, однотактовый умножитель 16х16, набор сдвигателей (shifters) и регистры состояния и управления. Ядро имеет развитые средства адресации дополнительных 16-разрядных адресных регистров, для формирования адреса памяти. Ядро TMS320С20x построено по модифицированной гарвардской архитектуре с разделением шин и памяти для команд и данных. Такая архитектура позволяет выполнять параллельную выборку команд и операндов. В совмещении с четырехкаскадным конвейером это позволяет процессору производить параллельную обработку нескольких команд.

Память. ПЦОС TMS320С20x имеют на кристалле как обычное ОЗУ, так и ОЗУ с двойным доступом (DARAM). Использование ОЗУ с двойным доступом обеспечивает параллельную выборку двух операндов или выборку и сохранение операндов. Это увеличивает скорость выполнения вычислений за счет большего параллелизма и устранения задержек доступа к ОЗУ. Память с двойным доступом разбита на 2 блока.

Flash-память. Процессор TMS320C20x (TMS320F206) имеет встроенную перепрограммируемую энергонезависимую flash-память. Это позволяет, во-первых, обойтись без внешнего ПЗУ команд, а во-вторых, существенно повысить гибкость и возможности устройства за счет перепрограммирования процессора прямо на плате. Все операции по перепрограммированию flash-памяти могут быть выполнены программно без каких-либо дополнительных устройств. Следует отметить также, что flash-память работает на частоте процессора без задержек, что обеспечивает возможность не использовать ОЗУ для хранения критичных участков программы, а отвести его целиком для хранения данных.

Начальный загрузчик. Некоторые модели серии TMS320C20x имеют аппаратный начальный загрузчик, который позволяет загружать программу из внешнего 8-разрядного ПЗУ в ОЗУ команд процессора.

Тактовый генератор. Внутренний тактовый генератор формирует тактовые сигналы процессора. Может работать как с внешним источником тактовых сигналов, так и с кварцевым резонатором, подключаемым непосредственно к встроенному в ПЦОС генератору. Имеет коэффициенты умножения частоты 0.5 (поделить входную частоту на 2), 1, 2, 4. Наличие умножителя частоты позволяет работать с низкой тактовой частотой и использовать более дешевый тактовый генератор или резонатор.

Программируемый генератор задержек. Устройство служит для увеличения длительности цикла обмена по шине до 7 машинных тактов при обмене с медленными внешними устройствами или с медленной внешней памятью. Он работает без использования какого-либо внешнего аппаратного обеспечения.

Количество тактов задержки задается для набора областей памяти через регистры конфигурации.

Расширенный синхронный последовательный порт. Устройство представляет собой синхронный программируемый последовательный порт с максимальной тактовой частотой, равной половине тактовой частоты процессора, что дает скорость передачи до 20 МБит/с. Он может использоваться для подключения ЦАП, АЦП, кодеков и другой периферии с последовательным интерфейсом, а также для соединения процессоров в многопроцессорных устройствах. Со стороны процессора как в приемном, так и в передающем канале порта имеется FIFO глубиной четыре. Порт имеет гибкую программируемую структуру генерации тактовых импульсов и синхронизации, а также программируемые режимы работы. Возможна работа как с 8-, так и с 16-разрядными данными, подключение устройств по протоколу SPI и многоканальная работа для прямого подключения к большинству речевых и телефонных кодеков и плат интерфейса.

Асинхронный последовательный порт. Устройство работает в дуплексном режиме с двойной буферизаций и поддерживает скорость передачи до 2, МБит/с. Порт работает с 8- разрядными данными. Может использоваться для соединения по RS-232. Асинхронный последовательный порт имеет средства определения входной скорости обмена данными. 16-разрядный программируемый делитель тактовой частоты позволяет программировать стандартные скорости обмена без необходимости специального подбора частоты тактового генератора.

4.5. ПЦОС TMS320C24х ПЦОС TMS320С24х – высоко интегрированные ПЦОС, оптимизированные для цифровых систем управления оборудованием, электродвигателями и т.п. Все процессоры данного семейства базируются на едином ядре платформы TMS320С2xx и имеют широкий набор периферийных устройств, разработанных для задач построения управляющих систем. Этот набор включает АЦП, ШИМ, последовательные порты, таймеры, порты ввода-вывода. Процессоры серии TMS320С24х выпускаются как со встроенным ПЗУ, так и со встроенной Flash-памятью, что позволяет строить на их базе устройства с возможностью изменения прошитой программы прямо на плате. Это необходимо при построении гибких перенастраиваемых систем с множеством конфигураций для различных типов задач.

Применение ПЦОС TMS320С24х позволяет отказаться от традиционной связки ПЦОС и микроконтроллера и разместить все в одной микросхеме. При этом, ПЦОС TMS320С24х имеет гораздо лучшие параметры, чем большинство популярных контроллеров. Используя ПЦОС TMS320С24х, разработчики получают высоко интегрированное устройство, специально оптимизированное для цифровых систем управления электродвигателями с возможностями прямого съема данных и прямого управления устройством через встроенную периферию.

ПЦОС TMS320С24х предназначены для решения широкого круга задач, таких как управление мощными электромоторами в промышленности, встроенные системы управления во всевозможную технику - вентиляторы, кондиционеры, системы электронных измерений. ПЦОС TMS320С24х могут применяться и в автомобилестроении в системах управления расходом топлива, тормозных антиблокировочных системах - там, где особенно важна именно высокая скорость принятия решения, а следовательно, высокая производительность, характерная для ПЦОС. Ядро, структура шин и памяти ПЦОС TMS320С24х аналогичны устройствам ПЦОС TMS320С20х. Далее мы рассмотрим специфичные для ПЦОС TMS320С24х периферийные устройства.

АЦП. ПЦОС TMS320С24х содержит два 10-разрядных АЦП со встроенным устройством выборки-хранения (УВХ). Минимальное время преобразования АЦП равно 0,85 мкс. Процессор имеет 16 аналоговых входов, которые подаются на АЦП через два 8-входовых мультиплексора. Каждый из двух АЦП работает независимо и может запускаться как от внешнего вывода запуска, так и программно.

Последовательные порты. ПЦОС TMS320С24х имеет 2 вида последовательных портов -асинхронный SCI и синхронный SPI.

Асинхронный последовательный порт предназначен для обмена с периферией или другим процессором по стандартному асинхронному протоколу NRZ и имеет:

программируемую скорость передачи данных;

программируемую разрядность данных (от 1 до 8 бит);

программируемое количество стоповых бит (1 или 2);

логику детектирования и индикации ошибок;

мультипроцессорный режим работы со стартом по детектированию свободной линии;

периферийный режим работы со стартом по адресному биту;

полу- или полно дуплексный режим работы;

двойную буферизацию;

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

Синхронный последовательный порт - скоростной порт для обмена данными длинной от 1 до 8 бит. Имеет программируемую фазу и полярность тактового сигнала. Может работать в режиме ведущий/ведомый, что позволяет обеспечивать связь нескольких устройств.

Оптимизированный блок управления. Данный модуль предназначен для построения законченных быстродействующих систем управления электроприводом. Он обеспечивает все функциональные возможности по организации ШИМ и ввода-вывода для управления всеми типами электроприводов. В состав блока управления входят три таймера и до 9 компараторов, что в сочетании с гибкой логикой генерации импульсов дает возможность организации до 12 ШИМ выходов. При этом поддерживается широкий спектр ШИМ-режимов. Кроме того, в блок управления входят до 4 входов, два из которых имеют схемы декодирования сигналов от оптических датчиков.

Интерфейс сети управления. ПЦОС TMS320С24х имеют в своем составе модуль ИСУ. Эта сеть использует последовательный мультимастерный протокол обмена, который обеспечивает эффективную поддержку распределенной сети управления в реальном времени. При этом обеспечивается высокий уровень защиты данных и высокая скорость передачи данных - до 1МБит/с (при частоте системы 13 МГц) или 769 КБит/с (при частоте системы 10 МГц). Шина ИСУ идеальное решение для приложений, работающих в зашумленной среде с высоким уровнем помех, таких как автомобили или другие промышленные приложения, требующие надежную последовательную связь по общей проводке. По мультимастерной шине передаются приоритетные сообщения длиной до 8 байт с использованием протокола арбитража шины и механизма обнаружения ошибок, что обеспечивает высокую достоверность данных. Модуль ИСУ обеспечивает обмен в соответствии со спецификацией CAN2.0B с некоторыми дополнительными возможностями. Использование аппаратного модуля существенно снижает нагрузку на процессор при обмене данными. При обмене по шине используется понятие объект сообщения. Модуль ИСУ может быть конфигурирован как несколько объектов сообщения (до 16), при этом у каждого объекта имеется собственная конфигурация, сегмент управления, буфер данных, идентификатор и схема фильтрации. Процессор управляет модулем ИСУ и обменивается сообщениями через коммуникационную память. Фактически модуль ИСУ представляет собой отдельное устройство со своим внутренним процессором протокола, ПЗУ команд и ОЗУ данных.

Сторожевой таймер и модуль прерываний. Сторожевой таймер служит для контроля работы аппаратного и программного обеспечения и генерирует сигнал сброса процессора, если в течение определенного периода времени к нему не было обращений с записью корректного ключа. Модуль прерываний реального времени служит для периодической генерации прерываний через установленный интервал с программируемой частотой от 1 до 4096 прерываний в секунду.

4.6. ПЦОС серии TMS320 С Рассмотрим ПЦОС серии TMS320C5000 на примере процессоров TMS320C54x, которые отличает комбинирование модифицированной гарвардской архитектуры с тремя внутренними шинами данных и одной шиной команд.

Такая внутренняя организация ПЦОС обеспечивает высокую степень параллельности выполнения команд.

Три шины данных используются для чтения операндов и записи результата операции одновременно с выборкой инструкции в одном процессорном цикле.

Общий объем адресуемой процессором памяти, составляющий 192 16разрядных слов, разбит на 3 специализированных сегмента: команд, данных и ввода/вывода каждый из которых может иметь размер до 64 Кслов. Внутри ПЦОС может быть расположена ПЗУ объемом до 48 16-разрядных и до Кслов двухвходовое ОЗУ.

Для ускорения выполнения типовых операций ЦОС помимо «стандартных»

блоков барабанного сдвига и адресной арифметики ПЦОС содержит ряд дополнительных функциональных модулей, повышающих его гибкость и производительность.

Блок умножения с накоплением (MAC) выполняет над 17 битовыми операндами операции вида S=S+a•b за один процессорный такт. Подобные операции характерны для алгоритмов фильтрации, свертки, вычисления корреляционной функции.

АЛУ ПЦОС способно выполнять арифметические или булевы операции над комплексными числами (используя два регистра-аккумулятора — АССА и АССВ) или может функционировать как два 16-разрядных АЛУ, выполняющих одновременно две 16-разрядных операции. АЛУ и MAC могут выполнять операции в цикле одновременно.

Устройство барабанного сдвига осуществляет сдвиг данных на 0—31разряд влево или 0—16 разрядов вправо за один такт. Дополнительные возможности сдвига позволяют процессору масштабировать данные, выделять разряды числа, предотвращать возникновение переполнения и потери значимости.

Все ПЦОС TMS320C54x имеют одинаковую структуру, однако отличаются друг от друга расположенной на кристалле периферией, соединенной с ЦПУ. В состав периферийных устройств входят:

программно-управляемый генератор тактов ожидания;

программный переключатель банков памяти;

параллельные порты ввода/вывода;

аппаратный таймер и генератор тактовых импульсов.

Генератор тактов ожидания позволяет увеличить число тактов внешней шины для работы с медленной внешней памятью и внешними устройствами.

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

Микропроцессоры семейства имеют 64 К портов ввода/вывода. Эти порты предназначены для связи с внешними устройствами с использованием минимума дополнительных внешних декодирующих схем.

Интерфейс главного порта (хост-интерфейс) - 8-разрядный параллельный порт, предназначенный для связи ПЦОС и хост-процессора системы. Обмен данными между хост-процессором и ПЦОС осуществляется через внутрикристальную память объемом 2К 16-разрядных слов, которая может также использоваться как память команд или данных общего назначения. Скорость обмена по хост-интерфейсу составляет до 160 Мбайт/с.

ПЦОС содержат высокоскоростные дуплексные последовательные порты, позволяющие связываться с другими процессорами, кодеками и т.д. В ПЦОС реализованы следующие разновидности последовательных портов:

универсальный;

мультиплексный с временным уплотнением;

с автобуферизацией.

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

Буферизированный последовательный порт позволяет осуществлять непосредственный обмен между устройством и памятью, не используя при этом ресурсов процессора. Максимальная скорость обмена по последовательному порту может составлять до 40 Мбайт/с.

Как и в сериях TMS320C5x, TMS320C2xx, в ПЦОС TMS320C54x реализована эффективная трехуровневая система управления энергопотреблением. Низкое, управляемое энергопотребление, высокая производительность (до MIPS) и широкие функциональные возможности при невысокой цене предопределили востребованность ПЦОС TMS320C54x в следующих областях:

сотовые и радиотелефоны, персональные системы радиовызова, «персональные цифровые ассистенты» (PDA), техника беспроводной передачи данных (радиосети) и т.д.

4.7. TMS320С Серию TMS320C6000 компании Texas Instruments Inc. От ЦСП, рассмотренных ранее, их отличает большая производительность и стоимость. Высокая производительность достигается за счет внедрения параллельной архитектуры VelociTI, реализованной на основе технологии очень длинного командного слова VLIW (Very Long Instruction Word), а также за счет применения ряда других аппаратных решений и средств разработки.

По оценкам специалистов, применение данной архитектуры в будущем позволит, при сохранении совместимости по командам, достичь рубежей 8000 MIPS для ПЦОС с фиксированной точкой и 3 GFLOPS для ПЦОС с плавающей. Изготовляются и широко применяются следующие разновидности ПЦОС серии TMS320C6000:

TMS320C62x – устройства с фиксированной точкой и производительностью от 1200 до 2400 MIPS.

TMS320C64x – устройства с фиксированной точкой и производительностью от 3200 до 4800 MIPS. Данные ПЦОС являются наиболее скоростными.

TMS320C67x – устройства с плавающей точкой и производительностью от 600 до 1350 MFLOPS.

Производительность ПЦОС:

TMS320C62x 150...300 1200...2400 300...600 300... TMS320C64x 400...600 3200...4800 1600...2400 3200... TMS320C67x 100...225 600...1350 200...550 200...

MFLOPS

Оценка продолжительности выполнения популярных алгоритмов.

Семейство БПФ, комплексный спектр Фильтр КИХ При проектировании ПЦОС серии TMS320C6000 особое внимание изготовителя уделялось снижению времени, которое понадобится пользователю для разработки и выпуска конечных систем. Сокращению этих сроков способствует свойство совместимости устройства с фиксированной точкой с соответствующим устройством с плавающей точкой. ПЦОС TMS320C67х имеют совместимость по командам и по выводам микросхем с ПЦОС TMS320С62х, что позволяет разработчику быстро выполнять прототипы, используя плавающую точку, и легко переходить к ПЦОС с фиксированной точкой для снижения стоимости изделия при производстве.

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

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

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

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

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

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

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

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

Кроме того, каждая сторона имеет шину, соединенную с регистровым файлом другой стороны. При доступе к регистрам своей стороны возможен доступ к регистрам всех модулей одновременно в одном такте.

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

Ядро ПЦОС TMS320С6000 поддерживает широкий набор режимов косвенной адресации, включая линейный или кольцевой с 5- или 15-битным смещением.

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

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

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

Ноль ставится в младшем бите команды, которая нарушает последовательность выполнения и откладывает команду на следующий пакет выполнения.

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

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

4.9. Структура и состав ПЦОС TMS320 С На рисунке показана внутренняя структура ПЦОС TMS320 C6000. ПЦОС можно условно разделить на несколько частей:

Ядро процессора.

Области памяти данных и памяти команд.

Размещенная на кристалле периферия. Все эти части связаны между собой двумя контроллерами – памяти команд или кэш-памяти и памяти данных. Эти блоки связывают ядро ПЦОС и банки памяти (с их специфической конфигурацией и доступом) с традиционными шинами, к которым подключаются периферийные модули и внешние устройства.

Рассмотрим подробнее периферийные устройства ПЦОС TMS320С6000.

Контроллер ПДП. Устройство предназначено для передачи данных из памяти в память без участия центрального процессора. Контроллер ПДП имеет четыре основных программируемых и пять дополнительных каналов. Кроме того, контроллер ПДП используется при начальной загрузке программы в память ПЦОС при старте (bootloader).

Хост «Порт-интерфейс» (ХПИ). ХПИ используется как для обмена данными с управляющим контроллером, так и для асинхронного обмена. ХПИ – это 16разрядный параллельный порт, который обеспечивает прямой доступ к памяти ПЦОС. При этом ПЦОС является управляющим устройством для данного интерфейса, что существенно упрощает процедуру доступа. ПЦОС может обмениваться информацией, как через внутреннюю, так и через внешнюю память.

Кроме того, ПЦОС может иметь прямой доступ к большинству устройств размещенной на кристалле периферии.

Шина расширения (ШР). ШР является расширением как ХПИ, так и ИВП (см.

ниже). С использованием ШР можно реализовать 32-разрядный ХПИ, который будет работать аналогично штатному 16-разрядному. ШР также может реализовать синхронный протокол обмена между хост ПЦОС и ЦПУ, что дает возможность прямого подключения к большому набору стандартных шин хост ПЦОС. Также к шине расширения могут быть подключено синхронное FIFO и асинхронные периферийные устройства.

Интерфейс внешней памяти (ИВП). ИВП это специальный блок, предназначенный для обмена данными с внешней памятью и быстродействующими внешними устройствами. ИВП может принимать запросы на обмен с внешней памятью от трех: контроллеров памяти данных, программной памяти-КЭШ и ПДП.

Поскольку сам ПЦОС – очень скоростное устройство, то ИВП не только выводит наружу классическую шину, но и имеет специальные сигналы для непосредственного подключения быстродействующего синхронного внешнего ОЗУ как динамического (SDRAM), так и статического (SBSRAM). Кроме того, к ИВП можно подключить и обычное статическое ОЗУ, ПЗУ, FIFO и другие устройства.

Начальный загрузчик. ПЦОС TMS320C62x и TMS320C67x могут иметь множество режимов начальной загрузки, которые определяют, что именно будет делать ПЦОС после сброса при подготовке к инициализации. Они могут включать загрузку программы с внешнего ПЗУ через ИВП или загрузку программы через ХПИ/ШР из внешнего устройства.

Многоканальный буферизованный последовательный порт МКБПП. Это последовательный скоростной порт, базирующийся на стандартном последовательном порте, как и в ПЦОС других серий. Он имеет возможность читать и записывать данные в память без участия центрального процессора через контроллер ПДП. Кроме того, у него существуют многоканальные расширения, совместимые со стандартами El, Tl, SCSA и MVIP.

Отметим следующие функциональные возможности последовательного порта:

полнодуплексная работа;

двойная буферизация данных (позволяет поддерживать непрерывность потока);

независимые тактовые частоты и схемы синхронизации для приема и передачи данных;, прямое подключение микросхем аналоговых интерфейсов, микросхем ЦАП и АЦП с последовательным интерфейсом.

МКБПП, по сравнению со стандартным последовательным портом, имеет дополнительные возможности:

прямое подключение к шинам;

многоканальный обмен при количестве каналов до 128;

переменный размер данных 8, 12, 16, 20, 24 и 32 бита;

встроенное u-Law и А-Law компандирование;

возможность передачи первым старшего или младшего разряда данных;

программируемая полярность сигналов синхронизации и тактовых сигналов данных;

гибкое программирование внутренних тактовых импульсов и синхронизации.

Таймер. ПЦОС серии TMS320C6000 имеют два 32-разрядных таймера, которые могут быть использованы для:

задания временных событий;

реализации счетчиков;

генерации импульсов прерывания ПЦОС;

посылки синхроимпульсов в контроллер ПДП.



Pages:   || 2 | 3 | 4 |
 


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

«МИНОБРНАУКИ РОССИИ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Борисоглебский государственный педагогический институт Факультет физико-математического и естественно-научного образования Кафедра прикладной математики, информатики, физики и методики их преподавания ТРЕБОВАНИЯ, ПРЕДЪЯВЛЯЕМЫЕ В ХОДЕ ВЫПОЛНЕНИЯ И ЗАЩИТЫ ВЫПУСКНЫХ КВАЛИФИКАЦИОННЫХ РАБОТ Борисоглебск 2011 СОДЕРЖАНИЕ I. ТРЕБОВАНИЯ, ПРЕДЪЯВЛЯЕМЫЕ В ХОДЕ ВЫПОЛНЕНИЯ И ЗАЩИТЫ...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ, СТАТИСТИКИ И ИНФОРМАТИКИ (МЭСИ) Учебно-методическое объединение СБОРНИК НАУЧНЫХ ТРУДОВ ВСЕРОССИЙСКОГО СТУДЕНЧЕСКОГО КОНКУРСА ВЫПУСКНЫХ КВАЛИФИКАЦИОННЫХ РАБОТ по направлению Статистика и специальности Математические методы в экономике Москва, 2012 УДК 311.3/.4 С – 133 Сборник научных трудов Всероссийского студенческого конкурса Выпускных квалификационных работ по направлению Статистика и специальности...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И ФИНАНСОВ КАФЕДРА ЭКОНОМИКИ И УПРАВЛЕНИЯ СОЦИАЛЬНОЙ СФЕРОЙ АКТУАЛЬНЫЕ ПРОБЛЕМЫ РАЗВИТИЯ СФЕРЫ УСЛУГ Сборник научных трудов Выпуск VIII ИЗДАТЕЛЬСТВО САНКТ-ПЕТЕРБУРГСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА ЭКОНОМИКИ И ФИНАНСОВ ББК 65. А Актуальные проблемы развития сферы услуг : Сборник А 43 научных трудов....»

«ПОСЛЕСЛОВИЕ к 11-му выездному заседанию совместного семинара ИПИ РАН и ИНИОН РАН Методологические проблемы наук об информации на библиотечно-информационном факультете Санкт-Петербургского университета культуры и искусств (15 марта 2013 г.) Трубина Ирина Исааковна, д.пед.н., проф., ИСМО РАО, вед. науч. сотр. Лаборатории дидактики информатики. Эмоциональные размышления. Мы много говорим о сути и сущности информации, характеризуя разные ипостаси этого явления, но часто опускаем...»

«9 ноября 1999 года N 81 РОССИЙСКАЯ ФЕДЕРАЦИЯ ЗАКОН БЕЛГОРОДСКОЙ ОБЛАСТИ О БИБЛИОТЕЧНОМ ДЕЛЕ В БЕЛГОРОДСКОЙ ОБЛАСТИ Принят областной Думой в целом 28 октября 1999 года (в ред. законов Белгородской области от 29.12.2001 N 18, от 12.07.2004 N 128) Закон является правовой базой сохранения и развития библиотечного дела в Белгородской области. Он обеспечивает реализацию на территории области Федеральных законов О библиотечном деле, Об обязательном экземпляре документов, Об информации, информатизации...»

«История информатики в СССР Выполнил: Кривенко Д.А. Преподаватель: Брагилевский В.Н. Содержание 1. Определение понятия информатика в СССР и России 2. Структура информатики 3. Борьба за признание 3.1 Начало пути 3.2 Первые гонения 3.3 Кибернетика под ударом 3.4 Победа в войне за новую науку 4. Начальный период становления инфраструктуры кибернетики 4.1 Первые научные достижения 4.2 Массовость новой науки и е бесспорное признание 5. Две стороны развития 6. Разработки 60-х и 70-х годов 7....»

«Математическая биология и биоинформатика. 2012. Т. 7. № 2. С. 554–566. URL: http://www.matbio.org/2012/Riabenko_7_554.pdf ================= ИНТЕЛЛЕКТУАЛЬНЫЙ АНАЛИЗ ДАННЫХ ================= УДК: 519.254 Настройка нелинейной модели данных экспериментов с экспрессионными ДНК-микрочипами * ©2012 Рябенко Е.А. Факультет вычислительной математики и кибернетики, Московский государственный университет им. М.В. Ломоносова, Москва, 119991, Россия НТЦ Биоклиникум, Москва, 115088, Россия Аннотация....»

«п р о ф есс и о н а л ь н о е о б ра зо в а н и е А. В. СенкеВич АрхитектурА ЭВМ и ВычиСлительные СиСтеМы учебник Рекомендовано Федеральным государственным автономным учреждением Федеральный институт развития образования (ФГАУ ФИРО) в качестве учебника для использования в учебном процессе образовательных учреждений, реализующих программы среднего профессионального образования по специальностям 230111 Компьютерные сети, ОП.07; 230115 Программирование в компьютерных системах, ОП.08; 230701...»

«ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Факультет вычислительной техники и информатики Кафедра прикладной матиматики и информатики НА КОНКУРС НА ЛУЧШУЮ РАБОТУ СТУДЕНТОВ ПО РАЗДЕЛУ Техническая кибернетика, информатика и вычислительная техника СТУДЕНЧЕСКАЯ НАУЧНАЯ РАБОТА На тему: Исследование методов организации данных в задачах разбиения графов больших размерностей Выполнила ст. гр. ПО-01а Краснокутская М.В. Руководитель ст. пр. кафедры ПМИ Костин В.И. Донецк - 2005 2 РЕФЕРАТ Отчет...»

«Департамент Образования города Москвы Северо-Западное окружное Управление образования Окружной методический центр Окружной ресурсный центр информационных технологий Пространственное моделирование и проектирование в программной среде Компас 3D LT Методические материалы дистанционных семинаров для учителей средней школы. Дистанционные обучающие олимпиады Разработчики: Третьяк Т.М., Фарафонов А.А. Москва 2003 2 Введение В данной работе представлены методические материалы дистанционных семинаров...»

«УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ПО ДИСЦИПЛИНЕ ПРАВОВАЯ ИНФОРМАТИКА ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЙ РАЗДЕЛ Требования к обязательному минимуму содержания и уровню подготовки по дисциплине Сегодня мы стоим на пороге создания качественно нового общества информационного. Жизнь и практическая деятельность в нем неразрывно связаны с грамотной организацией информационных процессов и освоением и использованием современных информационных технологий. Курс Правовая информатика имеет целью формирование и развитие...»

«ТЕХНИЧЕСКИЙ КОДЕКС ТКП 211-2010 (02140) УСТАНОВИВШЕЙСЯ ПРАКТИКИ ЛИНЕЙНО-КАБЕЛЬНЫЕ СООРУЖЕНИЯ ЭЛЕКТРОСВЯЗИ. ПРАВИЛА ПРОЕКТИРОВАНИЯ ЛIНЕЙНА-КАБЕЛЬНЫЯ ЗБУДАВАННI ЭЛЕКТРАСУВЯЗI. ПРАВIЛЫ ПРАЕКТАВАННЯ Издание официальное Минсвязи Минск ТКП 211-2010 УДК 621.395.74.001.2 МКС 33.040.50 КП 02 Ключевые слова: кабельные линии электросвязи, сеть проводного вещания, трасса кабеля, кабели волоконно-оптические и электрические, канализация кабельная, траншея, колодцы, муфты, вводы кабельные, оборудование...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ НОВОСИБИРСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ (НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ, НГУ) _ Кафедра общей информатики Анатолий Михайлович Полковников Разработка средств интеллектуальной поддержки пользователей медицинской информационной системы МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ по направлению высшего профессионального...»

«Тема 1. Наука и научное мировоззрение. (2 часа лекций, 4 часа практических занятий) План 1 Философия естественных, гуманитарных и технических наук как учебная дисциплина. 1.1 Цель и задачи, структура и методы, 1.2 Значение курса Философия естественных, гуманитарных и технических наук для качества подготовки магистранта 2 Понятие науки и научного мировоззрения. 2.1 Критерии научности. 2.2 Научная картина мира. 3 Основания и критерии классификации современных наук. 3.1 История классификаций наук...»

«Rocznik Instytutu Polsko-Rosyjskiego Nr 1 (1) 2011 Ирина Куликова, Диана Салмина Исторические и культурные реалии Польши в зеркале структуры информативного пространства Настольного словаря Феликса Толля Статья посвящена рассмотрению исторических и культурных реалий Польши, формирующих польский фрагмент информативного пространства в Настольном словаре по всем отраслям знания Феликса Толля. Вышедший в 1863–1864 гг., этот первый русский энциклопедический словарь-справочник является достоянием и...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ им. В.П. АСТАФЬЕВА Кафедра педагогики ПЕДАГОГИКА УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ Институт математики, физики и информатики Факультет иностранных языков Исторический факультет Филологический факультет Институт физической культуры, спорта и здоровья им. ИС. Ярыгина Факультет биологии, географии,...»

«Учреждение Российской академии наук ИНСТИТУТ ГОСУДАРСТВА И ПРАВА РАН ИНФОРМАЦИОННОЕ ОБЩЕСТВО И СОЦИАЛЬНОЕ ГОСУДАРСТВО Москва, 2011 УДК 340 ББК ? Составитель и ответственный редактор: Заслуженный юрист РФ, доктор юридических наук, профессор, заведующая сектором информационного права ИГП РАН И.Л. Бачило Редактор: кандидат юридических наук А.А. Антопольский Информационное общество и социальное государство. Сборн. научн. работ. – М.: ИГП РАН, ИПО У Никитских ворот, 2011. – 248 с. В сборнике,...»

«ГЛАВА 1. ЭКОНОМИЧЕСКАЯ СУЩНОСТЬ ИНВЕСТИЦИЙ И ИНВЕСТИЦИОННОЙ ДЕЯТЕЛЬНОСТИ Международный консорциум Электронный университет Московский государственный университет экономики, статистики и информатики Евразийский открытый институт Е.С. Соколова Международные стандарты учета и финансовой отчетности Учебно-методический комплекс Москва 2008 ГЛАВА 1. ЭКОНОМИЧЕСКАЯ СУЩНОСТЬ ИНВЕСТИЦИЙ И ИНВЕСТИЦИОННОЙ ДЕЯТЕЛЬНОСТИ УДК – 657 ББК – 65.052 С – 594 Соколова Е.С. МЕЖДУНАРОДНЫЕ СТАНДАРТЫ УЧЕТА И ФИНАНСОВОЙ...»

«\ / ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное Государственное образовательное бюджетное учреждение высшего профессионального образования Московский технический университет связи и информатики твержден ного совета университета протокол № ного совета, профессор жемов ОТЧЕТ о результатах самообследования Москва Содержание Введение.. 1 Общие сведения.. 1.1 Организационно-правовое обеспечение образовательной деятельности. 1.2 Структура университета и система управления вузом. 2 Образовательная...»

«ТУБЕРКУЛЕЗ В РОССИЙСКОЙ ФЕДЕРАЦИИ 2009 г. Аналитический обзор статистических показателей по туберкулезу, используемых в Российской Федерации Москва 2010 УДК 616-002.5-312.6(047) ББК 55.4 Т81 Т81 Туберкулез в Российской Федерации 2009 г. Аналитический обзор статистических показателей по туберкулезу, используемых в Российской Федерации. – М., 2010. – 224 с. Аналитический обзор является совместным изданием Министерства здравоохранения и социального развития Российской Федерации, Федерального...»














 
© 2014 www.kniga.seluk.ru - «Бесплатная электронная библиотека - Книги, пособия, учебники, издания, публикации»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.