Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 43
Текст из файла (страница 43)
СЗ Вычисление исполняемого алреса с постинкрементом на 4 реверсивной арифметикой повторяется 7 раз: Вычисление второго исполняемого адреса: (КО) + б<0: ° бит-реверсия 3-х млалших битов в регистре КО: ( КО) = 000000001 ! 00! 000; ° инкремент на 1 содержимого КО: (КО) = 00000000!100!001; и бпт- ° повторная бит-реверсия 7< младших битов в регистре КО: (КО) = 00000000! 100! 100 = 204<ю> Вычисление третьего исполняемого адреса. (КО) + б>0; ° (КО) = 0000000011001001; ° (КО) = 00000000!100!010: ° (КО) = 0000000011001010 = 202<>о>- Аналогично вычисление исполняемого адреса производится еше пять раз, в результате чего исполняемые адреса (содержимое регистра КО) последовательно становятся равнымш Четвер>пы<й (КО) = 000000001 !00!!!О = 20б<,о>. 1(я>пый: (КО) = 00000000! !001001 = 20)цо>.
Шестой: (КО) = 00000000 !1001101 = 205< ю>. Седьмой: (КО) = 00000000! 100!010 = 203«о>. Восьмой: (КО) = 00000000! !001010 = 207«о>. Полученные в младших 3-х битах значения сравните с прелстввленными в п>бл. 5.8. В качестве регистров адреса, смешения и типа арифметики выбран триплет КО, )чО и МО (табл. 3. !). Действия пользователя: (3 (МО) = 50000; С> <у = 2<1 '> = 21 = 4. процессорах ТМ8320С54хх фирмы Тсхаз !аз<гоп>епь исполняемые адреса при бит-реверсивной адресапии вычисляются аналогично; в качестве рсгиагра адреса используется АКп, а регистра смешения, храняшего величину Постинкремента Л<, — регистр АКО (см. табл. 3.1).
5.2.5. Косвенная адресация переходов Косвенная адресация переходов предполагает косвенное указание адреса пере'вода именем регистра адреса. Она используется в процессорах фирм Мо<ого!а и Апа!ой 1)ео<сеж Все разновидности модификаций адреса н все тяпы арифметики могут использоваться при вычислении адресов перехода 'точно так же, как при вычислении алресов операндов. .Приведем пример косвенной адресации перехода. 30. Команда безусловного перехода ЛП* <Взкнт> в процессоре фирмы Мо<ого!а содержит адрес перехода, указанный косвегию и равный сумме содержимого регистров вз и М1; при косвенном указании адреса перехода использована индексация адреса. 5.3. Непосредственная адресация При непосредственной адресации операнд указывается в кол>анде константой. При двусловном формате короткие константы хранятся в слове команды, длинные — в слове расширения.
При олнословном формате и короткие и длинные константы хранятся в слове команды. Непосредственная адресация может использоваться только для указания исходных дттыж Признаком непосредственной адресации в команлах процессоров фирм Мо<ого)а и процессоров ТМ8320С2ххх75ххх фирмы Техаз 1пз<ц<шепь служит префикс 1 перед источником-константой.
В процессорах Фирмы Ала1о8 Оетбсез и процессорах ТМ8320СЗх префикс отсутствует. Рассмотрим примеры непосрелственной адресации конста>пы. 31 Команда пересылки МООЕ $$123456, ЛО процессора 1)5Р5600х солержит операнд, указанный непосредственно 24-разрядной ллишюй константой в$123456, которая размеШаетсн в слове расширения. По кох<анлс происходит запись константы в 24-разрядный регистр АО акк)мтляторл (млалшсе слово).
. Глава 6 32. Команда пересылки АХО = ОхтГГГ . 'Система команд Рб бр Аоот 800ОЬ, Ат Алгоритмы и процвсооры цифровой обработки сигналов процессора А(ЗБР21хх содержит операнд, указанный непосредственно 16-разрялной длинной константой схтггг, которая размещается в слове команды. По команде происходит запись константы в 16-разрялный вхолной регистр АХО. 33. Команда сложения процессора ТМ$32ОС2ххх содержит операнд, указанный непосредственно 8-разрядной короткой конс!энтой Яиа, которая размещается в слове команды и трактуется как беззнаковое целое. По коматше происходит сложение константы с солержимым аккумулятора, результат сохраняется в аккумуляторе.
34. Команда пересылки ГзОЪ'Е ИЗ1Г, А! процессора (ЗБР5600х содержит операнд, указанный непосрелственно 8- разрядной короткой константой изтг, которая размещается в слове команды и при пересылке в старшее слово аккумулятора А! трактуется как беззнаковое целое. При выполнении команды происходит запись константы в 24- разрядный регистр А! аккумулятора (старшее слово). 35. Команла пересылки ночв изтг, тт процессора ПБР5600х солержит операнд, указанный так же, как в примере 32, олнако, при пересылке во входной регистр У! 8-разрядная короткая константа трактуется кяк дробное число со знаком. По комянче происходит запись константы в 24-разрядный входной регистр т'1.
36. Команла сложения ланных цслого типа процессора ТМЬ320СЗх содержит операнл, указанный непосредственно 16-разрядной длинной константой, которая хранится в слове команды. При выполнении команды происходит сложение 16-рязрядной константы (целого числя 8000)т) с содержимым 32-разрядного регистра В7; слагаемые вырявнившотся по правому краю.
резУльтат сохраняется в регистре В7. 'Программа, составленная на языке ассемблера ЦПОС, представляет собой символическое описание последовательности действий. которые необхолимо выполнить для получения резулшята по заданному алгоритму. Требуемые 'действия в зависимости от их характера могут указываться директивами, коыандами или макрокомандами. Директивы не транслируются в машинныс Йоманлы, они служат указаниями ассемблеру и компоновщику, в частности, указаниями на размещение в процессоре команд и данных (сзь гтаву 97. Макрокоманды при трансляции автоматически заменяются соответствующими последовательностями команд.
Апмпнды определяют следующие лействия процессора: П выполнение операций с данными; д:3 управление последовательностью выполнения операций, включая разветвления, циклы. обращение к подпрограммам и т. п.; П общее управление работой процессора, в том числе его инициализацию, переход в различные состояния (прерывания, ожидания и т. л.), к различным режимам обработки данных (с улвоепной точностью, с автоматическим масштабированием, и т. д.) ит.
п. Совокупность команд, в целом обеспечивающая выполнение указанных функций, образует сиса~ему кпзлпнд процессора. Процессоры различных фирм или различных семейств одной фирмы, отли- чающиеся концепциями, па основе которых разработана пх архитектура. Имеют различные системы команл. В этой главе рассмятрпваютея наиболее общие, единые лля всех ((ПОС принципы оршннзации отдельных команл и формирования из них системы команд, а также основные особенносгп реа- лизации команд в конкретных процессорах фирм Телах 1пгашшспцц Могого1я и Апа)ой (Зст(сев.
(Зрганизация команд в различных процессорах, определяемая пх архитектурой, в частности, зависит от используемого ~юрматла наяпнд, который в свою очередь влияет па силруктауру слова кптлпнды и связанный с пей аптнтксас коз|лады. Структура слова команлы включает обязятельныс компоненты, обусловленные ф)лзкциопяльным назначением команлы, и потому общие лля однотипных ко- мазш в различных процессорах, а также дополнительные компоненты, набор , рлаве 6.
Система каменл 237 Алгоритмы и процессоры цифровой обработки ситнапое 236 кото ых (колнчества и способы указания в команде) характеризует индивплт которых альпые особенности этих комасш в различных про!ссссо!хсх. Формирование системы команд предполагает наличие в различных процес сарах типовых групп комапл, обьеднненных соответственно выполняемыи действиям, и в целом ориентированных на реализацию систелс ЦОС обшега нли специального назначении.
Рассмотрим сформулированные понятия подробнее. Обшие положения бу дсм иллюстрировать прнмерамн конкретных команд процессоров фпри Техаз (пзсгсссссесссз, Мотого!а и Апа1о8 Оетйссз. 6.1. Форматы команд Понятие формата команды введено в еспве 5. Табл. 6.1 позволяет сравнить фо маты команд (количсство и длину слов) в семействах процессоров фссрлс Телах (пспгцпсепгз, Магога!а и Апа!о8 !)етсссз. Напохснилс, что прн лвусл впав рх ' о формате (см. рис. 5.1) второе слово команды (слово расширения) предназначено только для указания операнла — длинной константы, длинного исполняемого алреса или ллпнного адреса перехола, в противном случае команда являсгся однословной.
Трехсловпый формат команды в процессорах М8С8!Ох фирмы Мосого1а можно отнести к исключению. При относительно небольшой длине слова команлы (16 битов) ипогла необхолимы два слова расширения: лля храссенпя длинной констаспы и длинного исполняемого адреса. Два последних столбца табл. 6.1 указывают на возможность одновременного выполнения группы команд (сб этом ся.
разс). 6 22 6 32), саотвстствуюсцпс процессоры, отмечены символом *. Таблица 6.1. Форматы команд Таблица 6. 1 !окончание) Длина Количество пакета команд в паке- выборки те выборки Фирма Процессор ФТ или ПТ Формат команды Кол-во слов Длина слова в битах Свтхх" ПТ и ФТ СЗх ПТ 5600х/563ххс ФТ 566хх 568хх ФТ 9600 х ПТ МЬС810х* ФТ 256 32 32 24 (с(о1осо!а 08Р 16 32 128 24 АсаСо9 218х/219х ФТ 0етссез АСЗР- 210хх/211хх ПТ и ФТ 6 2.
Структура слова команды Слово команды условно разлсляют па ссася (части). отводимые лля хранения опрелелснпой информации о команде. Набор основных полей, из которых составлены слова всех команд в различных процессорах, ограничен. Совокупность таких полей образует ебобскенкую гасрукпсуру слова команлы. Слова Конкретных команд прслсгавляют собой комбинацию опрелсленпых полей. Длина слова команды в процессорах ТМБ320С55хх фирмы Текат 1пзггпшепм (табл.
6.!) различна и может составлять от ! ло 6 байтов (8 — 48 битов). Поэтому каждая ячейка памяти программ, имеющая фиксированную ллппу 32 бита, логически разделена на 4 адресуемых байта. Конкретные комаплы, имеющие различные, но кратныс байту, длины слова команды, записываюгея последовательно, побайтно в 32-разрятиые ячейки ы аналогично считываются. Различная длина слова команды позволяет сусцественно увеличить плотность программного кода (то есть размещать болыпее количество команд в пределах олинаковото обьема памяти программ).
Количество шюв в формате команды влияет на время ес выполнения. Одно слово команды выполняется за олисс командный цикл. При лвусловссолс и трехсловном форматах время выполнения команды зависит от типа алресации операндов, т. к. второе и третье слово используется только прп непосредственссой адресации длинных констант или прямой адресации ячеек "амати с ллинными адресами рава б.
Система нсмаьд 239 Твхав !пваигпеп1в ТМВ320С2ххх ТМ8320Сбххх Отсутствует Имеется в слове команды пересылки ~о условию ТМ8320СЗх Имеется в алове команды пересылки ~о условию Мо1ою!а Ллгпрнгмы и процессоры цифровой обработки сигналов Структура слова команды зависит от длины слова (формата), однако определяюшим фактором является архитектура процессора. Чтобы не усложнять обобшенную структуру "слово" команды, включая в нее все разнообразие полей, вылелим дяя отдельного рассмотрения процессоры: С) со стандартной архитектурой (св. главу 2); (2 с улучшенной стандартной архитектурой и архитектурой УЕ!>ч (см.