Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 39
Текст из файла (страница 39)
пример выполнения команды иАс одт1, Оят2, А, а ггг! Емеа 5. ддресация гог б. Комшша загрузки ячейки стека Евно зтие Кома де ДОО»йоясов», йе ОР = 8А»; исполняемый адрес= 8АВСОЕ» Кома дэ РВНС Ввяр Перес вылслнением гтоэле эьэккгненлл Память дан ныл о Память дэннык о После кылолненни Зт Зт 8АЕСОЕ» Перед иьэккэмноем 557В» 1234 память данньм Пэмить данных Регистр П5 Регистр Я5 15 0 207» [ Г!УЕР» ) 15 0 207» '1 07ЕР» ~ Зт о 2545 5575» 51 указатель этика Укээатель стеке 15 0 ЯР ! 07РР» ] 15 0 зр [ 8000» ~ вел!дине стека 75 о 207» ~ОТЕР» ] 15 0 207» [ 0091» ] 7.
Команда сложения целых чисел ДОО1 60ВСОЕ»г Д5 Алгоритмы и процессоры цифровой обработки смгнелсе процессора ТМ$320С5ххх содержит операнд, указанный символически!, именем втне адреса на текущей странице памяти данных. Исполняемый алрес вычисляется так же, как в примерах 1, 3. Пример выполнения команды приведен на рис. 5.7.
По команде Рзнз происходит: (8Р) — 1 ЗР (БР— указатель стека); (81МР) ячейку, указанную БР (вершину стека), ОР = 4; ЯМР = 7»; иглолниемый эдрес= 128 4+ 7 = 51Ягэ! = 207» Рис. 5.7. Пример выполнения команды еяно 51нр процессора ТМБ320СЗх содержит операнд, указанный абсолютным адресом всое» на странице памяти данных. Исполняемый 24-разрядный адрес определяется как склейка 1б-ти младших битов слова команды (младшие биты исполняемого алреса) и 8-ми младших битов указателя страницы РР (старшие биты исполняемого алреса). Например.
если (3Р = ЗА)т, исполняемый адрес равен 8АВСТУЕ!1. Пример выполнения команды приведен на рис. 5.8. По команде Аоот происходит: (8АВС(3ЕЬ) + (Я5) - Я5. В етом примере и далее лрн записи в команде шестнадцатеричного зквнвален- та используются префиксы и суффиксы, принятые в версиях языка ассемблера соответствующего процессора. Рнс.
Е.В. Пример выполнения комаэтды АООХ 60ВСОЕ», К5 ° 1.2. Прямое указание источников приемников ли операнд хранится в репчстре, то в команде он прямо указывается име- ем регистра — источника или приемника. Такая разновидность прямой адресации поддержнвастсн всеми процессора- ,ми, причем, процессоры, которые содержат специальные регистры операн- дов лля хранения исходных ланных или/и результатов, в командах операций "ад данными (кроме пересылок) поддерживают только зту разновидность прямой адресации. Сказанное справедливо лля процессоров фирм Могого1а, Ала1о8 !Зеу(сез и ТМ$320Сбххх фирмы Техаз !пмшшепцс Источник или приемник может указываться: П явно, если существует возможность выбора; ь3 неявно, если возможности выбора нет. Приведем примеры прямого указания источников и приемников.
тт . Ва б. Адресация гп? Кпмвндв МОЧЕ ИО, Пе После выпппнвнпп Перед вылплнвнпвы Регистры ОО венке ОнттЬ СВ Рытктры 15 О 15 О яо ~ з~аз~ ЯО [ 51125~ 15 О Я4 ! $1123 1 15 О Я4 [ $457В ~ те..те ...О вто~ ... О- Реестр 15.. ТС..О 570! ... О.. Рстистр 15 О 15 О ДЯО [ Рнерт 1 15 О 15 О дя4 ! ?Ррртт дти ( 7РРРЬ Алгоритмы и процессо цифровой обрвбо?пи сигналов Пример выполнения команды приведен на рис. 5.12.
По команде проис. ходит следуюшее: если (АК4) > (АКО) — бит ТС = 1, иначе, бит ТС = О. Бит ТС находится в регистре состояния КТО. Солержимое регистров АК4 и АКО трактуется как беззнаковые целые числа. Рмс. 5.11. пример выполнение команды ионе яо, я4 Каменев СМРЯ 2, дй4 Перед вьиппнвниви ПОСЛВВЫЛОЛНВНПП Регистры Рвтвстрн РИС. 5.12. ПРИМЕР ВЫЛОЛНЕНИП КОМаНДЫ СНРЯ 2, ДЯ4 5.1.3. Прямая адресация переходов Прямая алресация переходов означает прямое указание адреса перехода, ко торый копируется в счетчик команл, изменяя последовательность их вып ол пения. Хранение адреса перехода зависит от длины формата команды; при дву словном формате короткие адреса хранятся в слове команды, ллинные— в слове расширения. иведем пРимеры прямой адресации переходов . Команда безусловного перехода Л1Р 5123 процессора РВР5600х фирмы Могого)а содержит переход (безусловный), указанный прямо адресом перехода — абсолютным 12-разрядным коротким адресом в памяти программ.
, Команда цикла процессора АР5Р-21хх фирмы Апа1оя Реясез содержит переход (по условию ск на последнюю команду тела цикла), указанный прямо адресом перехода — меткой ег ». Команда безусловного перехода вя воооь процессора ТМЬ320СЗК содержит переход (безусловный), указанный прямо адресом перехода — абсолютным 1б-разрядным длинным алресом воооь ячейки палгяти программ. .2.
Косвенная адресация ~ ° .сацию операнда называют косвенной, если исполняемый адрес указывая именем регистра, в котором он хранится. Соответствуюший регистр : ывают рееистром пйреп. При косвенной адресации слово расширения, правило, не используется. ° свенная алресация поддерживается всеми сигнальными процессорами. независимого выполнения операций над данными и над адресами в аректуре большинства процессоров предусмотрены устройство генерации ' есп (УГА).
В процессорах фирмы Мо1ого1а — это устройство генерации ' реса АС() (АОЫгевв Сепегаг(оп 1)пй), в процессорах фирмы Апа)ой ' Исев — генераторы адресов данных РАО1 и РАО! (Рага Ас)41ге55 ',. пегас?), в процессорах ТМБ320С2кхх/5ххх фирмы Техав 1пагшпепм— 'ифметические устройства вспомогательных регистров АКА() (Ацх)!)агу 0157ег Апг)?П?П!с 1)пй), в процессорах ТМБ320Сбххх — Р-модули генераи алреса данных. а .„,„ ление адресов в УГА основано на олинаковых или сходных принцих.
Оно Оно предполагает наличие трех типов регистров (условное наименова"«в которых соответствует выполняемым функциям): РеГистра адреса; Регистра смешении; регистра типа арифметики. 5. Фдтесацив (А1) — л в ячейку Х-памяти. А2 А! АО Аг А! АО Х - измять дкннык Х вЂ” память данных гз $4735 О 23 О $4735 $234567 условное назва- ние регистра Але1од Веысез АВВР-218х Техаз!лз1шглелтз ТМ8320С54хх МО1ого!а 08Р5600х Регистры УГА Регистры УГА 15 О ВО ( $4735 ( 15 О мо [ ахкххД 15 О МО [ ~эЕГГЕД 15 О ВО [ $4735 1 15 О мо [ $хххх ~ 15 О МО ( $1'ЕГГ Атл — вспомогательный ре- гистр общего назначения о=1, ...,? Вл — регистр ад- 1л — регистр инресал=0,1, ..., ? Лексал=0,1....,7 Регистр адреса АВΠ— вспомогательный ре гистр общего назначения Л(л — регистры Мл — регистры мо- смещения дификации л=0,1,...,7 л=0,1,...,7 Регистр смещения ВК вЂ” регистр размера цик. лическото буфера Мл — регистры мо.
! л — регистры дли- дификации л=О, ныл=0,1,...,7 1,,7 Регистр типа арифметики Алгоритмы и процессоры цифровой обработки сигнале Назначение регистров сме1цения и типа арифметики рассматривается далее Количество и разрнлность регистров определяется конкретным процессе ром. Разрялность регистра алроса, обусловленная разрялностыо шины алре са, определяет объем адресуемого пространства памяти ланных.
Принципы косвенной адресации будут расслютрсны на примерах процессе Ров ()ЯР5600х фиРмы Мотопт!а, ТМ8320С54хх фиРмы Теха$1пзггцпкпм и А()БР-21Вх Апа1оВ Реу!сез, архитектуру УГА которых люжно считать баэово1, для процессоров данной фирмы. Лругие УГА представляют собой соотвстству1ошую расширенную илн сокращенную версии. Символические имена и названия типовых регистров УГА для данных яро цессоров приведены в табл. 5.1.
В рассматриваемых процессорах используются 16-разрядные регистры адреса, что обеспечивает возможность адресации любой ячейки памяти данных 8 пределах 64 Кбайт. Регистры смешения и типа арнфлуетики также !6- разрядные. Таблица б. 1. Регистры устройства генерации адреса (УГА) Символические имена и названия Регистров в процессоре фирмы Использование регистров общего назначения АВл в процессорах фнрл1" техаз 1пмпушепьэ в качестве регистров алреса (табл.
5.1) отл1ечается префнк солу * перед именем конкретного регистра. Приведем примеры косвенной алресацин. Во всех примерах содержимое регистров смешения и типа арифметики нс влияет на исполпнемый алрос. хранимый в регистре адреса. В командах имя регистра в круглых скобткал соответствует содержимому регистра. 16. Команда перссылкн НСКУЕ А1, Х: (НО) процессора РБР5600х фирмы Мотого1а содержит: ° операнд, исполняемый алрес которого указан косвенно (ло) — именем регистра адреса ВО; ° операнд, укаэанный прямо именем источника А1 — аккумулятора А1, Пример выполнения команды приведен па рис.
5.13. По комапле происходит: кс з дя мочвдт.хлне! Перед вьлоляе~вем После вылслкеяия Аккумулятор А Аккумулятор А 55 48 47 24 23 О 55 48 47 24 23 с $01 234567 89АВСО Рис. 5.13. Пример выполнения команды моче А1, х: !РО) 17 Команда пересылки АХО=ОН112,И21; процессора АОВР-21Вх фнрлуы Апа(ОВ (Зеу!сез солержит: операнд исполняемый адрес которого указывается лосвешю (12) именем регистра адреса 12; операнд, указанный прямо илуенем приелуника Ахо — входного регистра АХО. Пример вьшолнсния комаплы приведен на рнс. 5.14. По кома!рте содержимое ячейки памяти данных, адресом которон является (12), пересылается во входной регистр АХО.
(лваа 5 Адресация Апгорипиы и процессоры цифровой обработки сигналов 21! 270 кома да Ахо = ом!п.м21; Полна аьпппнания Память даннык Перед выпапнаннаи Паикхь данных 15 0 Ох1006 ( ОхЗ517Д Рис. 514. Пример аыполнения команды Ахо Ом(тг,м2! т Команда АОО 'Аиг, А Поспи аькхинения 15 0 15 О Анг [ 0101п 1 АП2 ! ОЮОтп )) Память данных Память данных 15 О 0101л [ 2515н ) 15 0 0101Ь [ 2515П тд о 15 0 вк Я~~в 1 вк Аккуиупятар А Аккумулятор А о ЗО Рис. 5.15.
Пример выполнении коыанды АОО "Ая2, А 15 0 Ох1005 ~ Ок35117 15 0 АХО ~ Ок232?Д Ратистры угд 15 0 12 [ ОхтООД6 15 0 М2 ~ОхООООД 15 0 Ьг ~ Оь.0000~ 15 0 АХО [ 0 З. 17 ) Регистры утд 15 О Гг [ Октссв ) 15 О мг ~ охоааоД 15 0 1.2 ( Ох0000 1 )а Команда сложения АОО "Авг, А процессора ТМ$325С54хх фирмы Техаз!Пзтгцгпеп15 содержит: ° операнд, исполняемый адрес которого указывается косвенно — именем регистра адреса Аяг; а ОПЕраНд, уКаЗаННЫй ПРЯМО ИМЕНЕМ ПрИЕМНИКа — аККУМУЛятсра А.