Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 16
Текст из файла (страница 16)
(3 Процессоры Т) С5420 и С5421 содержат внутри кристалла лва независимых процессора с гшрол~ С54х с внутренней лагистралью обмена даннылш межлу инчи. 2,2.6. Регистровые файлы Все ЦПОС имеют регисгвровые фанты — наборы регистров. предназначенных лля выиоднешш различных функций. Количество наборов и количество Регистров в наборе в различных процессорах меняется в лостаточно широком диапазоне и имеет тенденцию увеличиваться в современных (новых) процессорах. Выаечил1 основные функшш регистровых файлов. гч Использование регистров для хранения и модифнкзшщ алреса операнда при косвенной адресации.
Прил~ером могут служить наборы вспомогательных регистров АКи процессоров Т(. Их количество меняется от 2 в ТМ832ОС(Х до 8 в ТМ8320С5Х. Слслусг отметить. что зти регистры могут также использоваться как регистры общего назначения, например лля временного сохранен из данн ых. (3 Прил!енение набора регистров для задания и сохранении конфигурации системы (например, конфигурации памяти, маскирования прерываний) и контроля режимов работы системы (скажем, наличие на входе сигналов запроса нз прерывание). В эти регистры (и отлельные рззрялы регистров) пользователь программным образом на этапе инициализации системы записывает конкретные управляющие слова, опрслелшощие конфигурацию системы и режимы ее работы.
Процессор прн выполнении программы фиксирует изменяющуюся информацщо о своем состоянии в некоторый момент времени. Эта информашги может считываться программным образом и использоваться лля управления работой и изменения состояния процессора. Управляющие регистры и Регистры состояния. как правило, являются регистрами, отображенными на память, т. е. помимо имени они имеют определенный адрес в пространстве палшти процессора и к ппм можно обращаться как к ячейкам памяти для считывания и записи информашщ.
Примерами таких регистров являются регистры состояния Бтл, РМБТ процессоров ТМ8320 фирмы П, регистры конфигурации памяти ОМК процессоров 08Р56К Могого1а и лр. О 1!сиочьзование регистров в качестве источников операндов, получателей Результатов. источников/получателей операндов и результатов. Злес лесь следует отвлечься и отметить следующее.
В лю .чюбых процессорах (не только ЦПОО существуют комаилы различных типов: " Регист!к регистр — л регистр", память, память -+ память" память, измят "'ять-л регистр" "Регистр — э пал~ать" и др. )21!. Тип команды "Регистр. истр -л регистр" означает, что исто пи~ком двух операндов при ее выполРегист пени зии являются регистры, и результат операции помещается также в Регист тр. Компиляторы языков высокого уровни, вообще говоря, наиболее эффективно используют и!юстые кол~анды типа "регистр, регистр-+ регистр", (лава 2.
Архитектура цифровых процессоров обработки сигналов 75 Алгоритмы и процессоры цифровой обработки сигналов которые выполняются также лостаточно быстро и существуют в высокопроизводительных процессорах с несколькими АЛУ (сч. разд. 24). Применение регистровых файлов в качестве источников/получателей операндов позволяет широко использовать команды типа "регистр, регистр-т регистр" и строить быстродействующие процессоры с архитектурой, "дружественной к языку С" (си.
разд. 9.б). В ((ПОС различных фирм (и в процессорах разных семейств одной фирмы) используются (в качестве основных) все из упомянутых выше типов команд. В качестве получателей результатов операций практически всегда используются регистры (наборы регистров). Примерами могут служитзс О аккумулятор А в процессорах ТМ8320С1х, ТМ8320С2Х; С) два аккумулятора А и В в процессорах ТМ8320С5х, ТМ5320С54Х, (35Р1бХХХ, Могого!а ПБР 5бК и дрц П регистры АК, ЫЕ в процессорах А(3!.
В качестве источников операнлов в процессорах с фиксированной запятой фирмы Т1 (ТМ8320С1Х, ТМ5320С2Х. ТМ8320С20Х) в основном используется память. В процессорах Могото!а, А()1 источником операндов являются регистры МХ, МУ при умножении и АХ. АУ при сложении (А(31), ХО, Х1, УО, У! (Мошго!а). В процессорах Т1 С55Х источниками операндов и получателями результатов служат наборы регист!юв АСΠ— АСЗ, ТК)чО, Тй)ч'1, кроме того. источником операндов может сл)жить также и память (как в более ранних моделях ЭПОС этой фирмы). В продессорах Т! с плаваюшей точкой ТМ8320СЗХ имеется регистровый файл Кл на 8 регистров, который служит всегда получателем и для некоторых команл также и источнилом операндов. Кролте того, источником операплов может служить палшть. Вид источника операнда опрелеляегся используемым л~етодол1 адресацни.
Ядро 11ПОС 81«т Соте БС140 использует для своих четырех АЛУ регистровый файл на 1б регистров для операндов и результатов. В процессорах семейства С6000 Т! для 8 АЛУ применяются два регистровых файла А и В по 1б регистров каждый. 2.2.7. Специальные методы адресации Для реализашш алгорптл ов ((ОС в ЦПОС существуют специальные методы адресации. К нпм. прежле всего, относятся бит-реверсивная и циклическая (циркулярная) адресации.
Подробно метолы ааресашш рассмотрены в гш- «е 5. Здесь опишем органпзш!пю циркулярных буферов, используемых при циклической алрссацпн. цйрк)ьтярныйбуфер представляет собой набор ячеек в памяти данных, обрашение к которым производится по циклу, т. е. при достижении посчелней ячейки буфера ячейкой, к которой пронзволится очередное обращение, является не слелуюшая по порядку, а начальная ячейка. На рис. 2.11 изображен буфер длиной 10 с физическими адресами ячеек памяти ФА (л — 1) — (л + 8).
Апреса ячеек в буфере обозначены "Ал буф" н имеют номера 1 — 10. Обрашение к ячейках~ буфера может илти в любом направлении: "вниз"и "вверх". При лвиженпи "вниз" после ячейки с номером ФА, равным (л + 8), булет осушествляться обрашение к ячейке с адресом (и — Ц, а прн движении "вверх" после ячейки (и — 1) — обрашение к ячейке (л+ 8). Изменение адреса при лвиженип по буферу может происходить с любым индексом (шагом). ФА Адбуф Буфер рис. 2.11. циркулярный буфер ((и к ркучярнып буфер может использоваться, например. для организации линии за держки На рцс. 2.12 показана организация линии задержки на 9 тактов ча частоты дискретизации. Точки входа и выхода линии задержки, т.
е. точки бу е «и записи н считывания отсчетов сигнала, циклически перемешаются по феру с расстоянием межлу нилш, опрелечяеиым величиной задержки. На рис. 2 ' 2-12 приведены гочки записи лвух послеловательных отсчетов х(10). Алгоритмы н процессоры цифровой обработки сигналов х(11) и счшываш)я залержаиных отсчетов х(!), х(2). Отсчет з(11) записывается нв место отсчета т(1), который больше ие потребуется. Дая адресации лаииых внутри буфера применяется косвенный метод адресации. В процессорах Т! лля организашш буферов сушествуют специальные регистры. куда записываются адреса начала и конца буфера.
В процессорах Моюго!а и АО! адресация буферов произволигся регистрами в УГА. Си ~ьная поддержка буферов осушествляется специальными дирсктивамп на уровне языка ассемблера, например ассемблера процессоров Магов!а. ФА М отсчета к — 2 ание ание Буфер Буфер рис. 2.! 2. Линия задержки на 9 тактов с использованием циркулярного буфера 2.2.8. Комбинированные и специализированные команды ))У Большое количеп во разнообразных лополнитеаьпых л основному АЛ Функциональных узлов лает возможность производить в процессорах олив временно несколько действий. Это, в свою очерсль, прегюставляет возлюхс Глава 2 Ярхкгекгура циФровых процессоров обработки снг в с7 ность виола и широкого использования комбинированных команл, осушествляюших одновременно нсслолько действий.
Комбинированные команды применяются в основном в процессорах первого и второго поколений со "счанлартной" и "улучшенной станчартной" архитектурой Гги. разд. 24). В самых моишых высокопроизводительных процессорах выбрана архитектура В!ВС с набором упрошеииых команд типа регистр, регистр-+ регистр" сслс, равд 2.2б). Это объясняется тем, что сложные лол~бинироваиные команлы плохо реализуются в компиляторах языка С и процессорах с несколькими АЛУ. В этом случае программы. написанные на языке С, пронгрыва)от по эффективности программал) на ассемблере.
Следует также отметить. что грамотное использование сложных кол~бииированных команд иа ассемблере требует от программиста лорошсго знания системы команд и архителтуры конкретного процессора. Комбинированные команлы, прежле всего, используются для вьшолненяя осиовнои операшш ((ОС вЂ” умножешш с накоплением и различных ее вариантов. Реализация этих команд будет рассмотрена в разд. 2.4./. Дру)пм примером комбинированных команд могут сл)жить команчы, свл)- занные с леиствиями в АЛУ, умнох ителе и слвигателе процессоров АО1, которые способны ил~еть условие выполнения.
Например: тг лс ла-лхо+лто+с тле тг яс — условие выполнения: бит переноса не равен нулю; ля, лхо, ято — регистры процессора. В соответствии с командой будет выполнено счожение содержимого регистРов при выполнении условия, которое является необязательным элементом команды К кол" ол)оини)юванныл1 командам люжпо также отнести команлы, использу)оцше косвенную алресацпю с модификацией адреса (гас. главу 5). При выполнении этих комаил олновременно с основпылс действием в АЛУ осушествлюотся вычисления адреса в УГА. Некого орые команды л(ПОС фирмы Моюго!а доп>скают использование лополнитель ных пересылок лмшыл (по~я параллельных пересы юк в оман лах). Например: ХО то,я ХО,Х: (РО)+ус (аа) я,то етствии с даниои комшшой осушествляется операции умножения одержимого е Ресылаегся в с !Ого регис ров ХО, уо, и одновр ценно содержил е регистра ХО пс"исч1> то ся в )(-память.