Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 60
Текст из файла (страница 60)
2. Запись прочитанного элемента в ячейку памяти, алрес которой определ»- ется регистром адреса приемника ПДП. Пересылка элемента завершается только по окончании процессов чтения и записи. В конце каждой операции чтения или записи адрес источника или приемника модифицируется (обновляется) согласно правилу (инкремснт, декремент), установленному в обшем рептстре управления ПДП. По окончании каждой записи лекрсмсцтируется счетчик пересылок ПДП.
(3 т)ересьитка кпдри. Пересылаемые элементы, число которых на каждом канале ПДП в общем случае неодинаково и устанавливается пользователем в регистре счетчика пересылок. собираются в калр. Количество составляюших кадр элементов называется длиной кадра. (3 Лересыткп бюка. Пересылаемые кадры, число которых на каждом канале ПДП в обшем случае неодинаково и устанавливается пользователем, собираются в кадр. Количество сосгавляюших блок кадров называется длиной блока.
Длина кадров и блоков устанавливается в регистре счетчика пересылок по кажлому каналу ПДП при инициализации процессора. Допустимые пределы, в которых может изменяться эта длина, зависят от разрядности регистра счетчика пересылок. Регистр разрядности тп допускает 2н — ! элементов в одном кадре и столько же калров в одном блоке. Например, если тп— = 16 (что типично для большинства щюцсссоров), максимальная длина кад1ят составит 65 535 элементов; такое жс максимальное количество калров может содержать один блок. Таким образом, в одном блоке по одному каналу Л допустимо пересылать до 4 294 836 225 элементов. Пересылка калра и блока завершается генерацией сигнала прерывания. 8.7.1.
Синхронизация каналов ПДП Каналы ПДП сцшхроиизнруются с црерывациялш со стороны впешцеи периферии илц внутренних устройств прошюсора. Кажлому каналу поступим чстыре механизма синхронизации, включаемых согласно определенному пользователем событию. вызывающему прерывание (например. прерывание Г) синхрпнизпния источника (чтение): канал ПДП ожидает соответствуюглвй сигнал прерывания и при его поступлении выполняе~ пение по адресу, опрелеляемому регистром адреса источника ПДП: и синхронизация приемника (запись): канал пДп ожидает соответствующий сигнал прерывания и цри его поступлении выполняет запись по адресу, определяемому регистром адреса приемника ПДП; ь3 синхрпнизпция кадра: канал ПДП ожидает соответствуюший сигнал прерывания и при его поступлении выполняет пересылку кадра.
8.7.2. Генерация адреса ПДП Генерация адреса ПДП осуществляется с помощью ннлексных регистров. На каждом канале ПДП вычисляется базовый пдрес пересылки чтения и записи элемента, для чего используется индексная адресация (гят. етпау 5) на величину тт', глобального (общего) индекса, равную разлтеру элемента. По умолчанию значение индекса Ж = О. Размер элемента равен количеству байтов, содержащихся в олпом злелтетпе: разрядность элементов 8 размер элементов 1 !6 32 При выборе инкремента или декремента индекс равен размеру элемента. Например, если адресация источника установлена на инкремент и передается 16-разрядный элемент, адрес источника инкрементируется на 7т'= 2 после каждой пересылки чтения.
базовый адрес элемента не зависит от того, является ли пересылаемый элемент (пересылка) последним в текущем кадре нли нет. С целью оцрелеления окончания кадра вводятся дополнительные индексы элемента ц кадра, Которые записываются в общий индексный регистр выбранного канала и могут находиться в пределах от — 32 768 до 32 767 каждый. Эти индексы воздействуют на усгацовку адреса следуюшим образом: 0 индекс з.техтеттнтп: определяет ту всличицу. которая должна быть добавлена к базовому алресу источника или приемника, если пересылка соответствующего элемента не является последней в текущем кадре; (3 индекс кадра: лобавляется к базовому адресу источника или приемника, если пересылка соотвстствуюшего элеменга является последней в теку- по таймеру, прерывание канала ПДП, прерывание хост-порта и т.
д.), ц воз. буждает соответствуюшую пересылку: П нетп синхрпнизацшт. все прерывания ПДП блокируются, н канал ПДП выполняет чтение и запись; 336 Г/ива 3, Периферийные устройства 337 8.8. Порт с временным разделением каналов Апгоритмы н процессоры цифровой обработан сигналов шем кадре; такая установка осуществляется при пересылках как одиноч- ного кадра, так и при мпогоквдровых пересылках. 8.?.3. Система приоритетов ПДП Система приоритетов ПДП построена с точки зрения состязаний между ПДП и ЦПУ с одной стороны и между каналами ПДП вЂ” с другой. Приоритет ПДП относительно ЦПУ Кажлому каналу ПДП может быть независимо определен более высокий приоритет установкой соответствующих бисов в регистре управления соот- ветствующим каналом. Приоритет между каналами ПДП Контроллер ПДП имеет фиксированную схему приоритетов, в которой пу- левому каначу присвоен высший приоритет, а каналу с наибольшим номе- ром — низший.
Состязания между каналами ПДП и ЦПУ Если за одно и то же устройство состязаются каналы ПДП и 1(ПУ, сначала осуществляется арбитраж между каналами ПДП, а затем межлу выбранным каналом с наивысшим приорнтетол~ в ЦПУ. Если канал обладает меньшим приоритетом, чем ЦПУ, доступ к устройству первым прелоставляется ЦПУ, а данный канал и каналы с более низким приоритетом ставятся в очередь. И наоборот: если ЦПУ обладает меньшим приоритетом относительно вы- бранного канала, то сначала обслуживается выбранный канал и каналы с бодее высоким, чем у ЦПУ, приоритетом, а ЦПУ ставится в очередь.
Пример. Рассмотрим принцип работы контроллера ПДП (см. рис. 8.32) на примере процессоров ТМ8320С6201/С6701, имеющих четыре канала ПДП. Источникамп и приемниками могут быть: С( интерфейс внешней памяти; П внутренняя память программ; л3 внутренняя память ланных; ('.3 шина внутренней периферии. Пусть необхолимо 32-разрядныс элементы ланных переслать из внешней памяти во внутреннюю память ланных.
Рептсгр управления определяег ис- точник — канал 1 и приемник — канал 3. Регистры алресов выставляют со- ответствующие алреса чтения и записи. Данные нз внешней памяти через мультиплексор поступят на третью пару регист1зов задержек (первый шаг пересылки — чтение) и затем через второй муз1ьп1пз1ексор в ячейку впут- ренней памяти данных (второй шаг пересылки — зались). По окончании выполнения чтения/записи адреса источника/приемника независимо ннкрементируются (илц декрементнруются — в зависимости от настройки) па 4, а по завершении пересылки лекрементируется счетчик пересылок. Начало очередной пересылки (чтения) по времени совпадает с записью в текущей пересылке.
При поступлении запроса на прерывание от устройства с высшим приоритетом данные от источника будут накапливаться в буфере Г1ГО, имеющем глубину 9. Общая память накопления данных вместе с двумя регистрами задержки составляет 11 ячеек, После обслуживания прерывания накопленные данные будут переданы приемнику сначала из буфера, затем из регистров задержек, и возобновится описанный ранее процесс пересылки. .
Порт с временным разделением каналов, нли ТОМ-порт (Т(пзе-О(ч)з(оп Мц(г(р1ехш8, мультиплексирование с разделением по времени), предназначен для обмена данными л~ежду несколькими процессоралти в режнл~е временного разделения при реализации многопроцессорных задач. ТОМ-порт представляет собой расширенный вариант базового синхронного порта (сн. равд. 8.6.1) и может работать в двух режимах: автономном и мультипроцессорном.
Выбор режима осуществляется пользователем установкой требуемого бита (обычно ТОМ) в регистре управления ТОМ-портом. Автономный режим соответствует работе БСП, поэтому ниже рассматривается только мультипроцессорный режим. Идея временного разделения каналов состоит в обьединении группы процессоров с целью быстрого обмена данными между пнми, когда каждому процессору внутри кадра вьшеляется промежуток времени (сегцвнгн), только в течение которого процессор может передавать данные другим процессорам ялн самому себе, а в оставшиеся сегменты способен принимать данные от друтнх процессоров. Такие порты содержат процессоры ТМЬ320С5х, 'С54х. а также процессоры платфорл~ 'С5ххх и 'Сбххх как часть более сложных портов. ТОМ-порт содержит восемь размещенных в памяти регистров (рнс 8.33): (3 регистр управления портом ТОМ (ТРгУпр): л3 регистр приема данных (ТРгПрм); П сдвиговый регистр приема (ТСдПрм); 0 регистр передачи данных (ТргПрд); (3 сдвиговый регистр передачи (ТСдПрд).
Глава 3. Периферийные устройства 339 Алгоритмы и процессоры цифровой обработки сигналов ЗЗЗ О регистр выбора канала (ТРгКан); О адресный регистр передачи/приема (ТАПрл/Прм); О алресный регистр приема (ТАРгПрм). Все регистры, за искзючением сдвиговых, програлгмно лоступны. Регистры приема, передачи и сдвнговые имеют то же назначение и работаю~ так же, как и в базовом синхронном порте. Регцсглр выборп канала (ТРгКан) определяет, в каком сегменте процессор может передавать данные. ' Адресный регистр передачи/приема (ТАПрл/Прм) содержит в старшем слоне адрес передачи (какому процессору передаются данные), а в л1лалшелз— присвоенный процессору адрес приема.
Адресный регистр лрпсцп (ТАРгПрм) солсржит различную информацию о состоянии адресной липин интерфейса Т)3М, о чем сказано ниже. Процессоры подключаются параллельно к четырехпроводной шине, солержашей линии (см. рис. 8.33): О тактовой синхронизации; О кадровой синхронизации; О данных; О алреса.
Принцип работы Т)3М-порта состоит в следующем. Каждому процессору присваивается палмер канала и выделяется свой сегл1елт в кадре лля перелачи данных другим пропессорам (рис. 8.34). Номер канала, соответствующий номеру сегмента (например, канал 1 и сегмент 0), размещается в ТРгКан при инициализации порта. Кадр содержит восемь сегментов. Работа всех ТОМ-нортов синхропизнруется одним процессором — источником сигналов синхронизации (на рис. 8.34 это процессор 1). Частота тактовой синхронизации ТИ обычно ранна 1/4 частоты генератора СИ.
Каждый сегмент содержит 16 битов (ланные Прл и Прм спнхронизируются по переднему фронту). Ллительпость олного бита равна олному периоду ТИ, кроме первого бита, длительность которого равна 1/2 периода ТИ. Импульс кадровой синхронизации формируется каждые 128 периодов ТИ и совпадает с нулевым бичом седьмого сегмента. Каждый процессор и соответствующий елпу канал может быть пктванлвв нлн пассивлыж. Канал является активным, только если процессор осуц|естнляс'г передачу данных на отвелеппом ему сегменте.
Так. канал ! может быть активным на нулевом сегменте, остальные каналы в это время пассивны и принимают лвнныс, передаваемые первым процессором полиции лннныл. Одновременно с передачей лаппых на алреснон линии выставляется адрес перелачн, котоРый в текуслем сегменте анализируется всеми (включая н активныи!) процессорамп т т! о о ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! о. о с а ли о о !о о о тл с тА Б Ф'Э п( с с о' о. 841 Глава сс Периферийные устройства Алгоритмы и процессоры цифроескс обработки систмлое 340 1 ! 1 1 1 $1 1 3 1 1 1 1 1 1 3 1 1 3 1 3 3 $ 1 3 3 1 1 1 3 1 1 1 й а О.