Помощь в написании студенческих работ
Антистрессовый сервис

Разработка устройства обработки информации на базе ЦСП

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Высокая производительность достигается за счет использования запатентованной TI революционной архитектуры VelociTI™ — архитектуры ЦСП с Очень Длинным Командным Словом (ОДКС), новейших аппаратных решений и эффективных средств разработки. Эту высокопроизводительную архитектуру имеют как процессоры С62х с фиксированной точкой, так и процессоры С67х с плавающей точкой. ЦСП С67х имеют совместимость… Читать ещё >

Разработка устройства обработки информации на базе ЦСП (реферат, курсовая, диплом, контрольная)

1. Технико-экономическое обоснование

  • 2. Выбор ЦСП и структурной схемы устройства
    • 2.1 Выбор структурной схемы устройства
    • 2.2 Выбор Цифрового Сигнального Процессора и структурной схемы устройства обработки информации
  • 3. Разработка функциональной схемы устройства
    • 3.1 Выбор радиального интерфейса
    • 3.3 Выбор межмодульного интерфейса
    • 3.4 Выбор ОЗУ
    • 3.5Выбор ПЗУ
    • 3.6 Функциональная схема модуля обработки информации
  • 4. Расчет производительности обмена данных
  • 5. Описание принципиальной электрической схемы
  • 6. Расчет надежности устройства
  • 7. Разработка алгоритма программы обработки информации
    • 7.1 Алгоритм инициализации МОСа
    • 7.2 Алгоритм обработки внешнего аппаратного прерывания контроллера ввода ПДП
    • 7.3 Алгоритм обработки программного прерывания контроллера ввода ПДП
    • 7.4 Алгоритм обработки программного прерывания сторожевым таймером WDT
    • 7.5 Алгоритм вычислительной задачи
    • 7.6 Вычислительная подпрограмма
    • 8. Экспериментальная часть
  • 9. Экономическая часть
    • 9.1 Разработка ленточного графика
    • 9.2 Составление сметы затрат на разработку и расчет цены НИР
    • 9.3 Выводы по эффективности проекта
  • 10. Безопасность и экологичность проекта
    • 10.1 Опасные и вредные факторы в условиях ВЦ
    • 10.2 Анализ условий труда оператора вычислительной техники с оценкой тяжести и напряженности труда
    • 10.3 Рабочее время и время отдыха
    • 10.4 Эргономичность рабочего места
    • 10.5 Рекомендации по организации рабочего места оператора и размещению средств труда
    • 10.6 Расчет освещенности помещения
    • 10.7 Экологичность проекта
  • Заключение
  • Список используемых источников

В настоящее время широкое распространение находят Цифровые Сигнальные Процессоры (Digital Signal Processor). Это связано с тем, что в современном мире существует тенденция развития систем, которые обеспечивают высокоэффективную обработку цифровых и аналоговых сигналов. Необходимость появления специализированных процессоров для обработки сигналов (часто в реальном масштабе времени) была вызвана, с одной стороны недостаточной эффективностью традиционных микропроцессоров, а с другой стороны, их определённой избыточностью при решении достаточно узкого круга задач. 1]

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

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

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

Более того, компьютер, укомплектованный съемными модулями, становится гибким инструментальным средством для моделирования, разработки и отладки систем ЦОС. 3]

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

Устройства процессорной обработки сигналов являются основой различных цифровых радиотелефонов, телевизоров с высоким разрешением, MP3 — плееров, приставок для просмотра видеозаписей в режиме временной задержки, различных телевизионных приставок, цифровых видео и фото камер, систем передачи данных и речи, устройств с выходом в Internet, и многих других систем. 2].

Задачей дипломного проекта является разработка устройства обработки информации на базе ЦСП.

1. Технико-экономическое обоснование

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

Рассмотрим существующие комплексы, БАГЕТ — 25 и БАГЕТ-56.

БАГЕТ — 25 специализированная комбинированная многопроцессорная ЭВМ (многомашинный комплекс) для цифровой обработки радиолокационных сигналов, оптических и акустических сигналов, а также для решения задач управления в реальном масштабе времени. В состав этого комплекса могут входить от 5 до 73 сигнальных процессоров (Motorola 96 002) и обеспечивать пиковую производительность в зависимости от конфигурации до 5400 MFLOPS.

БАГЕТ — 56 предназначен точно для таких же целей, как и БАГЕТ — 25, но есть возможность базирования на летательных аппаратах, вездеходных и гусеничных шасси, в состав этого комплекса могут входить от 5 до 33 сигнальных процессоров (Motorola 96 002) и обеспечивать производительность в зависимости от конфигурации до 1680 MFLOPS.

Рассмотренные комплексы состоят из центрального процессора, нескольких модулей обработки сигналов, модуля графического процессора и модулей ввода вывода. 4]

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

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

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

В настоящее время рынок ЦСП достаточно широк и представлен крупными компаниями, такими как Analog Device, Motorola, Texas Instrument.

Компания Motorola предлагает ЦСП Motorola (96 002) производительностью 60 MFLOPS по цене 99 $, Analog Device предлагает процессор (21060LCW — 160) производительностью 120 MFLOPS по цене 850 $ и Texas Instrument предлагает процессоры (TMS320C6701) производительностью 240 MFLOPS по цене 133 $. 5]

Отсюда можно сделать вывод, произведя не сложные расчеты:

Для Фирмы Motorola стоимость 1 MFLOPS равняется 1,65 $, для Analog Device 7 $ и для Texas Instrument стоимость 1 MFLOPS будет равняться порядка 1 $.

Следовательно, экономически более привлекательными являются процессоры Texas Instrument. Кроме того, эти процессоры имеют более низкую мощность энергопотребления, чем приведенные выше аналоги. В связи с этим можно предложить реализацию МОС (модуля обработки сигналов) на базе ЦСП Texas Instrument.

2. Выбор ЦСП и структурной схемы устройства

2.1 Выбор структурной схемы устройства

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

Требования, предъявляемые к входной информации. Входной сигнал представляет собой массив из 256 отсчетов, каждый отсчет представлен 512 значениями 32 разрядных слов. Период поступления массивов отсчетов на устройство составляет 10 мсек.

Выходная информация, представляет собой данные видеоизображения в формате. 640 на 480 элементов разложения 256 цветов данные выдаются в виде каналов цветности RGB и сигнала вертикальной и горизонтальной синхронизации.

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

Исходя из назначения устройства, предъявляемых требований и функций, к устройству можно предложить следующую структурную схему устройства рисунок 1.

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

Входные данные поступают по последовательному каналу интерфейса LVDS (низковольтный дифференциальный сигнал) с частотой передачи бит 480 MГц. Информация в канале передается синхронным способом, каждый байт данных передается в формате, старт бит, 8 бит данных, бит контроля четности. Так как данные поступают в последовательном формате необходимо преобразовать данные в параллельный формат, затем создать массив данных поместить массив в буфер входных данных, и после того как массив сформирован, необходимо выдать сигнал готовности данных на сигнальный процессор.

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

Поэтому структурная схема устройства может быть представлена на рисунке2.2.

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

2.2 Выбор Цифрового Сигнального Процессора и структурной схемы устройства обработки информации

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

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

Рассматриваемые исследования имеет смысл производить в базисе следующих переменных производительность MFLOPS (миллион операций с плавающей точкой в секунду) энергопотребление (Вт/MFLOPS)

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

В настоящее время рынок ЦСП представлен рядом крупных компаний, таких как Motorola, Analog Device, Texas Instrument.

Рассмотрим ЦСП представленный фирмой Motorola.

производительность (в дальнейшем будем рассматривать среднюю производительность процессоров) процессора (96 002) составляет 60MFLOPS при тактовой частоте 40MГц.

энергопотребление процессора составляет два Ватта, отсюда следует, что на 1 МFLOPS будет затрачено 0,033Вт.

удельная стоимость, будет порядка 0,6MFLOPS за 1 $.

Рассмотрим ЦСП представленный фирмой Analog Device

производительность процессора (21060LCW — 160) составляет 120MFLOPS при тактовой частоте 40MГц.

энергопотребление процессора составляет два Ватта отсюда следует, что на 1 МFLOPS будет затрачено 0,016Вт.

удельная стоимость, будет порядка 0,16MFLOPS за 1 $.

Рассмотрим ЦСП представленный фирмой Texas Instrument

производительность процессора (TMS320C6701) составляет 480MFLOPS при тактовой частоте 120MГц.

энергопотребление процессора составляет два Ватта отсюда следует, что на 1 МFLOPS будет затрачено 0,0042Вт.

удельная стоимость, будет порядка 3,6MFLOPS за 1 $.

Исходя из задания необходимо, разработать устройство обработки информации производительностью 1,5GFLOPS.

Рассмотрим реализацию устройства обработки информации на базе вышеизложенных процессоров.

Если данное устройство разрабатывать на базе процессоров Motorola (96 002), то понадобится 25 процессоров такого типа, их стоимость будет равной 2475 $, потребляемая мощность будет порядка 50Вт, что не является приемлемым для данного устройства.

Разработка устройства обработки информации на базе процессоров фирмы Analog Device. Для разработки устройства понадобится порядка 12 таких процессоров, их стоимость будет равной 9180 $, потребляемая мощность составит 24 Вт.

Реализация устройства обработки информации на базе процессора фирмы Texas Instrument (TMS320C6701). Для разработки устройства понадобится порядка 4 процессоров, их стоимость составит 532 $, потребляемая мощность составит 8Вт.

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

Исходя из заданной производительности устройства (1,5GFLOPS), и производительности отдельного процессора — TMS320C6701, определяем требуемое число процессоров, потребуется 4 процессора TMS320C6701.

Определяем количество модулей обработки сигналов (МОС). Исходя из размеров платы 3U (100×160) и размеров радиоэлементов получим, что на одной плате, возможно, разместить два ЦСП, контроллер ввода информации, контроллер обмена информации, так как используются два ЦСП, то необходимо пять микросхем двух портовой памяти. Два ОЗУ для хранения входного массива данных, два ОЗУ для вывода информации на системный магистральный интерфейс через контроллер обмена, одна микросхема ОЗУ для оперативного обмена данными между сигнальными процессами без пересылки. Исходя, из вышеизложенного можно сказать, что устройство обработки формации будет содержать два идентичных модуля обработки сигналов по структуре.

Рассмотрим структуру одного модуля обработки сигналов.

Структура МОС приведена на рисунке 2.3

Рассмотрим функции, которые выполняют элементы этой структурной схемы.

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

ОЗУ входных данных 1, 2 для временного хранения входного массива данных.

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

ЦСП2 является ведомым и предназначен для обработки входных массивов данных по определенному алгоритму.

ОЗУ обмена (с переключаемыми блоками) предназначено для временного хранения обработанных данных и распределением их между процессорами ЦСП1 и ЦСП 2.

ОЗУ обмена 1 и ОЗУ обмена 2 предназначены для обмена данными между контроллером обмена и сигнальными процессорами.

Контроллер обмена выполняет следующие функции:

Загрузка программы в ОЗУ ЦСП1 и ЦСП2

Тестирование ЦСП1 и ЦСП2

Программирование режима работы ЦСП1 и ЦСП2

Вывод данных

3. Разработка функциональной схемы устройства

Модуль обработки сигналов должен выполнять следующие функции:

Сглаживание сигнала на границах полосы частот

Быстрое преобразование Фурье

Вычисление среднего значения сигнала

Определение порогового значения сигнала

Определение значение, превышающее пороговое значение

Модуль обработки сигналов также выполняет обработку изображений:

Смещение изображения

Поворот изображения

Изменение масштаба изображения

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

3.1 Выбор радиального интерфейса

Данные поступают с АЦП, входной сигнал представляет собой массив из 256 отсчетов, каждый отсчет представлен 512 значениями 32 разрядных слов. Период поступления массивов отсчетов на устройство составляет 10 мсек. Для того чтобы данные поступили с АЦП на устройство обработки информации, необходимо использовать интерфейс передачи данных.

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

Рассмотрим скоростной и достаточно неприхотливый интерфейс LVDS/LVDM (Low Voltage Differential Signalling — дифференциальные сигналы низкого напряжения), первоначально создававшийся для подключения LCD-матриц. Его применение позволяет достичь скорости передачи 400−600 Мбит/с по проводной линии связи. Используемый дифференциальный метод передачи токовыми посылками позволяет снизить влияние внешних помех и влияние самого интерфейса на внешние цепи, а также обуславливает низкое энергопотребление — около 1,2 мВт Для сравнения: RS-422 имеет рассеиваемую мощность порядка 90 мВт. При грамотном построении проводящей среды интерфейс позволяет достичь скоростей, превышающих 1 Гбит/с, имеет простую схему включения элементов.

В связи свыше изложенным можно сделать вывод о там, что LVDS интерфейс является быстрым и имеет простую схему включения элементов. В дипломном проекте будем использовать LVDS интерфейс, основанный на микросхемах MAX9207, MAX9208. Микросхема MAX9207 предназначена для преобразования параллельного в последовательный код и является передатчиком, а микросхема MAX9208 является приемником и преобразователем последовательного кода в параллельный.

3.3 Выбор межмодульного интерфейса

3.3.1 ЦСП семейства 6000

ЦСП С67х — устройства с плавающей точкой, имеют начальную производительность от 600 MFLOPS. Процессоры С67х — первое семейство ЦСП, преодолевшее барьер в 1 GFLOPS — один миллиард операций с плавающей точкой в секунду.

Высокая производительность достигается за счет использования запатентованной TI революционной архитектуры VelociTI™ — архитектуры ЦСП с Очень Длинным Командным Словом (ОДКС), новейших аппаратных решений и эффективных средств разработки. Эту высокопроизводительную архитектуру имеют как процессоры С62х с фиксированной точкой, так и процессоры С67х с плавающей точкой. ЦСП С67х имеют совместимость по командам и по выводам с аналогичными процессорами С62х, что позволяет разработчику быстро выполнять прототипы, используя плавающую точку, и легко переходить к процессорам с фиксированной точкой для снижения стоимости изделия при производстве. То есть сначала разработчик берет за основу процессор с плавающей точкой, затем на нем отрабатываются все элементы устройства, определяются оптимальные алгоритмы обработки данных. При этом большие запасы по производительности и по точности вычислений позволяют заниматься именно алгоритмами, а не экономией ресурсов. Затем, когда все параметры определены, наступает этап оптимизации системы с учетом наработанных решений и перевод ее на более дешевый процессор с фиксированной точкой.

3.3.2 Архитектура ядра С62х/C67x

Все ЦСП С62xx/C67xx основаны на одном и том же ядре центрального процессора с архитектурой VelociTI™ (высоко параллельная и детерминированная архитектура).

Архитектура ядра С62xx включает в себя 8 модулей — два умножителя и шесть АЛУ. Все модули максимально независимы, что дает компилятору и оптимизатору множество комбинаций их использования. На каждом такте процессора выбирается 8 32-битных RISC-подобных инструкций.

Предусмотренная в архитектуре VelociTI™ упаковка команд позволяет исполнять эти восемь инструкций параллельно, последовательно или параллельно/последовательно. Эта оптимизированная схема существенно снижает размер кода, количество выборок команд и потребление питания.

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

Рассмотрим подробнее архитектуру ядра процессора семейства C6000. На рисунке 3.1 изображена упрощенная схема именно ядра, без периферии и внешних шин, процессора, построенного по архитектуре VelociTI™.

рисунок 3.1

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

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

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

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

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

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

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

3.3.3 Структура ЦСП TMS320C62xx/C67xx

На рисунке 3.2 показана внутренняя структура процессоров TMS320C6201/6701.

  • рисунок 3.2
  • Как видно из рисунка 3.2, сам процессор можно условно разделить на несколько частей. Во первых, это собственно ядро процессора, структура которого рассматривалась ранее. Во-вторых, области памяти данных и памяти команд. в третьих — размещенная на кристалле периферия. Все эти части связаны между собой двумя контроллерами — контроллером памяти команд или кэшпамяти и контроллером памяти данных. Эти блоки связывают ядро процессора и банки памяти (с их специфической конфигурацией и доступом) с традиционными шинами, к которым подключаются периферийные модули и внешние устройства.
  • Далее рассмотрим подробнее периферийные устройства процессоров С6000.
  • Контроллер ПДП. Контроллер ПДП занимается передачей данных из памяти в память без участия ЦПУ. Контроллер ПДП имеет 4 основных программируемых и пять дополнительных каналов. Кроме того, контроллер ПДП используется при начальной загрузке программы в память процессора при старте (bootloader).
  • Хост Порт Интерфейс (HPI). Для обмена с управляющим контроллером, да и вообще для асинхронного обмена в состав процессора входит Хост Порт Интерфейс. HPI — это 16-разрядный параллельный порт, который дает хост процессору прямой доступ к памяти ЦПУ. При этом хост-процессор является управляющим устройством для данного интерфейса, что существенно упрощает процедуру доступа. Хост-процессор и ЦПУ могут обмениваться информацией, как через внутреннюю, так и через внешнюю память. Кроме того, хост-процессор может иметь прямой доступ к большинству устройств размещенной на кристалле периферии.
  • Шина расширения (ШР). Шина расширения является расширением как HPI, так и ИВП. С использованием ШР можно реализовать 32-разрядный HPI, который будет работать аналогично штатному 16-разрядному. ШР также может реализовать синхронный протокол обмена между хост процессором и ЦПУ, что дает возможность прямого подключения к большому набору стандартных шин хост процессоров. Также к шине расширения могут быть подключено синхронное FIFO и асинхронные периферийные устройства.
  • Интерфейс Внешней Памяти (ИВП) — специальный блок, предназначенный для обмена данными с внешней памятью и быстродействующими внешними устройствами. Интерфейс внешней памяти может принимать запросы на обмен с внешней памятью от трех устройств: контроллера памяти данных, контроллера программной памяти/кэша и контроллера ПДП. Поскольку сам процессор — очень скоростное устройство, то ИВП не только выводит наружу классическую шину, но и имеет специальные сигналы для непосредственного подключения быстродействующего синхронного внешнего ОЗУ как динамического (SDRAM), так и статического (SBSRAM). Кроме того, к ИВП можно подключить и обычное статическое ОЗУ, ПЗУ, FIFO и другие устройства.
  • Начальный загрузчик. Процессоры TMS320C62x и TMS320C67x могут иметь множество режимов начальной загрузки, которые определяют, что именно будет делать процессор после сброса при подготовке к инициализации. Они могут включать загрузку программы с внешнего ПЗУ через ИВП или загрузку программы через HPI/ШР из внешнего устройства.
  • Многоканальный буферизованный последовательный порт (МКБПП). Это последовательный скоростной порт, базирующийся на стандартном последовательном порте, как и в процессорах других семейств. Он имеет возможность читать/записывать данные в память без участия процессора через контроллер ПДП. Кроме того, у него существуют многоканальные расширения, совместимые со стандартами E1, T1, SCSA и MVIP. Отметим следующие функциональные возможности последовательного порта:
  • Полнодуплексная работа
  • Двойная буферизация данных — позволяет поддерживать непрерывность потока.
  • Независимые тактовые частоты и схемы синхронизации для приема и передачи
  • Прямое подключение стандартных промышленных кодеков, микросхем аналоговых интерфейсов и микросхем ЦАП/АЦП с последовательным интерфейсом. МКБПП имеет, по сравнению со стандартным последовательным портом, следующие дополнительные возможности:
  • Прямое подключение к шинам E1/T1
  • ST-BUS
  • IOM-2
  • AC97
  • IIS
  • SPI
  • Многоканальный обмен при количестве каналов до 128.
  • Переменный размер данных 8, 12, 16, 20, 24 и 32 бита
  • Встроенное u-Law и A-Law компандирование
  • Возможность передачи первым старшего или младшего разряда данных
  • Программируемая полярность сигналов синхронизации и тактовых сигналов данных
  • Гибкое программирование внутренних тактовых импульсов и синхронизации.
  • Таймер. Процессоры С6000 имеют 2 32-разрядных таймера, которые могут быть использованы для:
  • Задания временных событий
  • Реализации счетчиков
  • Генерации импульсов
  • Прерывания процессора
  • Посылки синхроимпульсов в контроллер ПДП
  • Селектор прерываний. Периферия С6000 может иметь до 32-х источников прерываний. ЦПУ имеет возможность обрабатывать 12 прерываний. Селектор прерываний дает возможность выбора тех 12 прерываний, которые будут использоваться, и также дает возможность смены полярности внешних входов прерываний.
  • Спящие режимы. Логика снижения потребляемой мощности позволяет снимать тактовые сигналы с элементов процессора для снижения энергопотребления. Несмотря на свое предназначение для базовых станций, процессоры С6000 также имеют режимы снижения энергопотребления. КМОП схемы в основном потребляют энергию в момент переключения и чем выше частота работы, тем больше это потребление. При включении «спящих» режимов у процессора снимается тактовая частота сначала с ядра процессора, затем с периферии, размещенной на кристалле, и последний третий режим снимает тактовую частоту практически со всего кристалла, в том числе и с блока умножения частоты.
  • Процессор имеет встроенный умножитель частоты с возможностью умножения внешней тактовой частоты на 2 и на 4, что делает возможным работу с низкой входной частотой. Это снимает множество проблем при проектировании устройства. 7]

Исходя из структуры процессора, видно, что данные, обрабатываемые процессором, имеют 32 разрядный формат. Сод

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

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

Рассмотрим наиболее распространенные интерфейсы (подходящие по разрядности), EISA и PCI.

Интерфейс EISA

В сентябре 1988 года Compaq, поддержанный — Wyse, AST Research, Tandy, собственно Compaq, Hewlett-Packard, Zenith, Olivetti, NEC и Epson — представил 32-разрядное расширение шины ISA с полной обратной совместимостью. Основные характеристики новой шины были следующими:

· 32-разрядная передача данных;

· максимальная пропускная способность — 33 Мбайт/сек;

· 32-разрядная адресация памяти позволяла адресовать до 4 GB (как и в расширении ISA, новые адресные линии были без задержки);

· поддержка multiply bus master;

· возможность задания уровня двухуровневого (edge-triggered) прерывания (что позволяло нескольким устройствам использовать одно прерывание, как и в случае многоуровневого (level-triggered) прерывания);

Как и в случае 16-разрядного расширения, новые возможности обеспечивались путем добавления новых линий. Поскольку дальше удлинять разъем ISA было некуда, разработчики нашли оригинальное решение: новые контакты были размещены между контактами шины ISA и не были доведены до края разъема. Специальная система выступов на разъеме и щелей в EISA-картах позволяла им глубже заходить в разъем и подсоединяться к новым контактам. Стоит отметить лишь две новых сигнальных линии — EX32 и EX16, которые определяли, что bus slave поддерживает соответственно 32- и 16-разрядный цикл EISA. Если ни один из этих сигналов не был получен в начале цикла шины, выполнялся цикл ISA. [9]

Интерфейс PCI

Архитектура PCI, разработанная в 1991 году компанией Intel, по номенклатуре созданных для нее периферийных устройств и количеству поддерживающих ее производителей оказалась преемницей ISA-шины. Процессорно-независимая шина PCI используется компаниями Intel, IBM, Apple, DEC, Motorola и другими крупными производителями настольных систем в качестве лучшей шины ввода/вывода 90-х годов.

CompactPCI — это модификация PCI для использования в традиционных крейтах формата Eurorack (Еврокрейт) для промышленных и встраиваемых систем. CompactPCI использует штыревой разъём IEC 1076−4-101 с высокой плотностью контактных выводов, шаг 2 мм (разработанный для телекоммуникационных и компьютерных приложений). Механические спецификации удовлетворяют стандарту IEEE 1101.10.

Таблица

Технические характеристики РСI

Основными характеристикам РСI являются:

Тактовая частота 33 МГц

Максимальная пропускная способность 132 Мбайт/с

Средняя пропускная способность 64 Мбайт/с

32- разрядная передача данных

Мультиплексируемая шина адреса/данных для экономии контактов ввода/вывода

Процессорная независимость

Синхронность

До 10 PCI-нагрузок (5 модулей + 5 коннекторов) при максимальной частоте 33 МГц.

Работа с уровнями сигналов 5 В и 3,3 В

Согласование по времени определено для всех компонентов системы.

Исходя из технических характеристик, более приемлемым для межмодульного интерфейса является интерфейс CompactPCI. 2]

цифровой процессор радиальный интерфейс

3.4 Выбор ОЗУ

В настоящее время находит применение следующие виды ОЗУ статического и динамического типа.

Рассмотрим более подробно каждое из них.

Динамическое ОЗУ (DRAM)

Принцип устройства DRAM следующий: система металл-диэлектрик-полупроводник способна работать как конденсатор. Как известно, конденсатор способен некоторое время «держать» на себе электрический заряд. Обозначив «заряженное» состояние как 1 и «незаряженное» как 0, мы получим ячейку памяти емкостью 1бит. Поскольку заряд на конденсаторе рассеивается через некоторый промежуток времени (который зависит от качества материала и технологии его изготовления), то его необходимо периодически «подзаряжать» (регенерировать), считывая и вновь записывая в него данные. Из-за этого и возникло понятие «динамическая» для этого вида памяти.

Статическое ОЗУ (SRAM)

Триггером называют элемент на транзисторах, который может находиться в одном из двух устойчивых состояний (0 и 1), а по внешнему сигналу он способен менять состояние. Таким образом, триггер может служить ячейкой памяти, хранящей один бит информации. Любой триггер можно создать из трех основных логических элементов: И, ИЛИ, НЕ. Поэтому все, что относится к элементной базе логики, относится и к триггерам. Сама же память, основанная на триггерах, называется статической (SRAM)[8].

Для данного устройства обработки информации выберем статическое ОЗУ по двум причинам:

1. Статическая память работает на частоте процессора.

2. Статическую память не надо регенерировать, поэтому не нужно устройство управления регенерации.

Рассмотрим существующие типы статической памяти.

двухпортовое статическое ОЗУ

Структура двухпортового статического ОЗУ (рис. 3.3) содержит единый массив памяти (COMMON CENTRAL MEMORY) и два независимых порта (PORT_L и PORT_R) для обращения к этому массиву.

В отличие от статического элемента обычного ОЗУ (рис. 3.3,а) элементарная ячейка двухпортовой памяти реализована на шести транзисторах (рис. 3.3, б).

рисунок. 3.3, арисунок. 3.3, б Основу ячейки составляет статический триггер, выполненный на транзисторах Q1, Q2. Ключевыми транзисторами Q3, Q4 триггер соединен с разрядными шинами P_L, P'_L, а ключевыми транзисторами Q5, Q6 — с разрядными шинами P_R, P'_R. Информация подводится к триггеру при записи и отводится при считывании по этим шинам. Ключевые транзисторы затворами соединены с шинами выбора строки ROW SELECT_L и ROW SELECT_R соответственно. При возбуждении строки одним из сигналов выборки ключевые транзисторы открываются и подключают входы/выходы триггера к разрядным шинам.

Классификация многопортовой памяти

Среди микросхем многопортовой памяти, насчитывается более 100 разновидностей. По способу исполнения внешнего интерфейса среди них можно выделить следующие семейства: Asynchronous Dual-Port RAMs, Synchronous Dual-Port RAMs, Bank-Switchable Dual-Port RAMs, FourPort RAMs и SARAMs.

Принцип работы асинхронного двухпортового ОЗУ

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

запись через порт L — запись через порт R;запись через порт L — чтение через порт R.

При выполнении операции «запись через порт L — запись через порт R» состояние ячейки памяти будет оставаться неопределенным до тех пор, пока одно из активных устройств не завершит обращение к ней, и не закончатся переходные процессы. В этом случае триггер (рисунок. 3.3, б) примет устойчивое состояние, определенное «опоздавшим» устройством. При строго одновременном обращении триггер может принять любое состояние. При выполнении операции «запись через порт L — чтение через порт R» неопределенность существует только в отношении считываемых данных. С одинаковой вероятностью может быть считано как предыдущее значение ячейки памяти, так и вновь записанное в процессе текущего цикла обращения к памяти. Архитектура двухпортовой памяти предусматривает несколько способов разрешения таких конфликтных ситуаций: с помощью арбитражной логики, семафоров или запросов на прерывания.

Арбитражная логика. Арбитр двухпортового ОЗУ устраняет конфликты следующим образом. Сигналы адресных линий портов ADDRESS_L и ADDRESS_R поступают с двух направлений, и если их значения совпадают, то арбитр посылает одному из активных устройств сигнал BUSY' («запрет доступа»). Этот сигнал поступает в опоздавшее к моменту арбитража активное устройство, а при строго одновременных обращениях — в устройство, выбранное случайным образом. Сигнал BUSY' удерживается все время, пока не закончится операция обращения к памяти. Дополнительно с сигналом BUSY' внутри кристалла памяти формируется сигнал INTERNAL WRITE INHIBIT («блокировка записи»). При выполнении операции типа «чтение через порт R — чтение через порт L» арбитр также формирует сигналы занятости, но блокирование сигналов чтения не производится, и информация считывается одновременно через оба порта. Если адреса запрашиваемых ячеек разные, то доступ к содержимому ячейки памяти также производится одновременно через оба порта, так как в этом случае конфликты не возникают. Арбитр содержит элементы задержки DELAY, схему сравнения адресных линий ADD_COMP, логические элементы три И-НЕ, соединенные по схеме триггера, логические элементы для формирования сигналов занятости (рисунок. 3.4).

Сигналы CE_L = 0 и CE_R = 0 вызывают формирование сигналов BUSY_L' = 1 и BUSY_R' = 1, что соответствует отсутствию запрета доступа к ОЗУ со стороны обоих активных устройств.

Семафоры — это программные арбитры, регулирующие очередность обращения двух или более независимых активных устройств к общему ресурсу. Механизм действия семафоров в двухпортовом ОЗУ основан на том, что несколько ячеек памяти, не входящих в рабочее пространство, используются как указатели занятости определенных сегментов (банков) памяти. Нулевой код в семафоре соответствует занятому банку, а ненулевой — свободному. Алгоритм программного арбитража характеризуется следующей последовательностью действий:

· активное устройство формирует запрос на обращение к банку памяти путем записи «0» в соответствующую ячейку, используемую как семафор;

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

· если банк свободен, активное устройство получает доступ к его содержимому;

· активное устройство заканчивает обмен и освобождает занимаемый банк памяти путем записи «1» в соответствующий семафор.

Семафорная логика содержит два триггера-защелки и логические элементы два И-НЕ, соединенные по схеме триггера для формирования сигналов занятости банка GRANT' (рисунок. 3.5).

рисунок 3.5

Прерывания. Интерфейс системы прерываний асинхронных двухпортовых ОЗУ содержит буфер сообщений и логику формирования запросов на прерывания INTERRUPT TO L® SIDE (рис. 3.6).

рисунок 3.6

Например, запрос на прерывание INTERRUPT TO R SIDE формируется в случае записи данных через порт L в ячейку памяти с адресом 1FFFh («буфер сообщений»). Считывание содержимого этой ячейки памяти через порт R приведет к автоматическому снятию этого запроса. По аналогии, при записи данных через порт R в ячейку памяти с адресом 1FFEh внутрисхемной логикой формируется запрос на прерывания INTERRUPT TO L SIDE. Ячейки, используемые в качестве буферов сообщений, входят в рабочее пространство памяти. В тех случаях, когда обслуживание по прерываниям не требуется, они используются как ячейки общего назначения.

Система ведущий/ведомый. Наращивание информационной емкости двухпортовых ОЗУ достигается путем соединения всех одноименных выводов микросхем, кроме CE' («выбор кристалла»). Сигнал CE' обеспечивает обращение только к одному устройству в модуле памяти в каждый момент времени. Выводы сигналов занятости в этом случае соединяются по схеме «монтажное ИЛИ».

Наращивание разрядности шин данных (рис. 3.7) осуществляется путем соединения всех одноименных входов микросхем, кроме информационных, и характеризуется одной особенностью: c целью предотвращения тупиковых ситуаций (одновременная выдача сигналов занятости для обоих портов) используется система «ведущий/ведомый», предусматривающая применение микросхем двухпортовых статических ОЗУ с различной реализацией арбитражной логики.

рисунок 3.7

Первый тип арбитражной логики носит название «MASTER» и обеспечивает возможность работы микросхем памяти в режимах «обычный» или «ведущий» (формирует сигналы BUSY'_L, BUSY'_R). Второй тип носит название «SLAVE» и обеспечивает возможность работы только в режиме «ведомый» (принимает сигналы занятости, сформированные ведущим устройством). В качестве примеров «MASTER/SLAVE» устройств можно привести следующие: IDT7130(M)/ IDT7140(S), IDT7132(M)/ IDT7142(S), IDT7133(M)/ IDT7143(S).

Дополнительные функции. Большинство микросхем двухпортовой памяти поддерживает организацию обмена данными между шинами с разным форматом слова. Для этого в составе памяти предусмотрена возможность независимого обращения к байтам в слове данных. Требуемая разрядность шины данных каждого порта задается аппаратно с помощью специальных управляющих выводов. В качестве примера рассмотрим, как реализована эта функция в микросхеме IDT70V657S 32Kx36 DUAL-PORT RAM. Под управлением сигналов BE3', BE2', BE1' и BE0' задается следующий порядок доступа к данным в памяти:

· BE3' = 1, BE2' = 1, BE1' = 1 и BE0' = 0 — разрешение доступа к байту 0;

· BE3' = 1, BE2' = 1, BE1' = 0 и BE0' = 1 — разрешение доступа к байту 1;

· BE3' = 1, BE2' = 0, BE1' = 1 и BE0' = 1 — разрешение доступа к байту 2;

· BE3' = 1, BE2' = 1, BE1' = 0 и BE0' = 1 — разрешение доступа к байту 3;

· BE3' = 1, BE2' = 1, BE1' = 0 и BE0' = 0 — разрешение доступа к двум младшим байтам;

· BE3' = 0, BE2' = 0, BE1' = 1 и BE0' = 1 — разрешение доступа к двум старшим байтам;

· BE3' = 0, BE2' = 0, BE1' = 0 и BE0' = 0 — разрешение доступа ко всему слову.

Подводя итог, назовем основные области применения микросхем многопортовой памяти — это сетевые устройства с разделяемыми ресурсами и многопроцессорные устройства обработки данных

Синхронное двухпортовое ОЗУ (Synchronous Dual-Port RAMs)

К отличительным особенностям семейства Synchronous Dual-Port RAMs относятся: синхронный интерфейс с раздельными сигналами синхронизации CLK_R и CLK_L и внутренние счетчики (internal counters) для организации пакетного режима передачи данных [1, 3, 5]. Поскольку обязательным условием доступа активных устройств к пространству такой памяти является их взаимная синхронизация от одного системного таймера, никакой дополнительной логики (арбитраж, семафоры или прерывания) для разрешения конфликтных ситуаций не требуется.

рисунок 3.8

На рисунке. 3.8 показано отличие синхронного двухпортового ОЗУ от асинхронного. Операции обращения к ячейкам асинхронной памяти могут выполняться в произвольные моменты времени при условии соблюдения необходимых временных соотношений между сигналами установки адреса, управления, чтения/записи данных. Операции обращения к ячейкам синхронного двухпортового ОЗУ осуществляются строго под управлением внешнего сигнала синхронизации (CLK_R для порта R и CLK_L для порта L).

Архитектура синхронного двухпортового ОЗУ оптимизирована для применения в вычислительных сетях (ATM и Ethernet коммутаторы/маршрутизаторы) и системах беспроводной телефонии (базовые станции), обеспечивая следующие синхронные режимы работы памяти: Pipelined (конвейерный), Flow-through (сквозной) и Burst (пакетный). Режимы Pipelined и Flow-through отличаются структурой выходного устройства (рисунке. 3.9).

рисунок 3.9

В первом случае дополнительный буферный регистр-защелка по выходу (Output register) позволяет организовать конвейерный доступ к данным (одновременно с чтением по предыдущему адресу осуществляется запрос по следующему). Поэтому включение микросхемы двухпортового ОЗУ в режиме Pipelined позволяет сократить общее время обращения к памяти. Единственным недостатком этого режима является задержка на один период сигнала синхронизации при считывании первого слова. Во втором случае (режим Flow-through) считываемые данные непосредственно поступают на выходную шину микросхемы памяти (Output). Это позволяет обеспечить минимальную задержку при считывании первого слова. Однако все последующие обращения к памяти в этом режиме будут проходить за более длительное время, чем в режиме Pipelined. Режимы Flow-through и Pipelined задаются пользователем аппаратно.

Режим Burst предназначен для выполнения операций над последовательными потоками параллельных данных (например, потоками речевых сообщений) и имеет некоторое сходство с работой памяти FIFO. Работа в этом режиме начинается с параллельной загрузки начального значения внутреннего счетчика через внешнюю шину адреса. В дальнейшем при каждом обращении к памяти состояние внутреннего счетчика циклически инкрементируется. Наличие в синхронном двухпортовом ОЗУ счетчиков адреса позволяет освободить ресурсы управляющего процессора для других операций.

Двухпортовое ОЗУ с переключаемыми банками памяти (Bank-Switchable Dual-Port RAMs)

Память Bank-Switchable — это статическое ОЗУ с двумя интерфейсами, обеспечивающими независимый доступ к банкам в пространстве памяти. По структуре двухпортовое ОЗУ с переключаемыми банками памяти представляет собой промежуточный вариант между обычным ОЗУ и двухпортовой памятью. Так же как и в обычном ОЗУ, элементарная ячейка Bank-Switchable выполнена на четырех транзисторах. А наличие в составе Bank-Switchable двух интерфейсов с разделенными шинами адреса, данных и управления обеспечивает возможность независимого обращения к банкам в пространстве памяти по аналогии с тем, как это происходит в стандартной двухпортовой памяти (рисунок. 3.10 а, б).

рисунок 3.10 а рисунок 3.10 б Выбор того или иного банка памяти осуществляется посредством установки адреса банка на дополнительных линиях BA_R или BA_L.

В зависимости от реализации внешнего интерфейса обмена данными микросхемы памяти Bank-Switchable подразделяются на асинхронные и синхронные. Конфликтные ситуации в асинхронной памяти с переключаемыми банками разрешаются с помощью семафорной логики и системы прерываний. Синхронные устройства Bank-Switchable являются более перспективными изделиями и характеризуются широким перечнем дополнительных функций. Среди них можно выделить поддержку организации обмена данными между шинами с разным форматом слова, наличие внутренних счетчиков адреса, работа в режимах Pipelined и Flow-through. Микросхемы двухпортовой памяти с переключаемыми банками предназначены для применения в системах цифровой обработки изображений, системах промышленной автоматики и периферийных контроллерах. 10]

Показать весь текст
Заполнить форму текущей работой