Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 73
Текст из файла (страница 73)
П Запрос опыадкн па метлина»»ал тачек осталова и д»ртюгнраакн осушествляется по достижении ну»и счетчиков останова и трассировки соотвегствснно (логика точек останова н трассировки рассматривается ниже). Контроллер ОпСЕ и последовательный интерфейс Контроллер ОпСЕ предназначен для управления всей логикой внутрикристальной отладки. Оп содержит слелуюшие блоки (рис. ! О.б): П регистр команл (РгКом): П счетчик битов (СчБит); П декодер (Дек); П рег»»с»р состояния и управлении (Р»СУ). Работа контро.шера и последовательного интерфейса будет ясна после рас смотрения Функций каждого из перечисленных блоков. П Рег»пчпр каяакд (РгКом)»птяется 8-разрялным слвиговым регистром, получзюшим ланпые в послсловательном Формате по линии "ввод чанных' (081). После получения воськюго бита РгКом приостанавливает прием новых данных.
Фиксируск»».»е ланныс. солержашие кол»анды внутрикрн- Глава 10. Средства разработки и отладки систем цифровой обработки сигналов Зйй стальному эм)лятору в»»зри»ельнок» коде пересылаются в чекозер К манда имеет строго заданну»о структуру и определяет: ° регистр ОпСЕ, используемый в качестве источника/приемника лля чтения/записи; ° необходимость выполнения команды, хранящейся в регистре инфор- мации о конвейере; ° направление пересылки данных — чтение/запись; ° вход в режим отладки.
Ввод даииык »ои» сил1алы1 точки сстаиова тсассипквки каласов отладки досттла к отладке Рис 106 Контроллеры т»сс д.ате Ыи Интерфеис ОВСЕ П Счетчик битов (СчБнт) является 5-разрядньцч, работающим на инкрсмент с автоматической перезагрузкой после достижения нулевоГо состояния, поэтому может считать от 31 до О. Счетчик предназначен лля выдачи на декодер двух сигналов, связанных со сдвигом данных в ОпСЕ или нз ОпСЕ. Первый сигнал выдается после сдвига первых 8 битов: зто означает, что для выборки доступна очередная 8-разрядная кол»а»»да.
Второй сигнал соответствует окончани»о сдвига (приема/передачи) всего 24- илп 32-разрядного слова (в зависимости от образца п»юцсссора). Счепшк сбрасывается при переходе процессора в режим отладки по сш налу полтверждения или по аппаратному сбросу. П Лекадер (Дек) управляет работой внутрикристального эмулятора соглас»»о: ° 8-разрядной команде, поступаюше»1 из регистра команд; ° двум сигналам счетчика битов; дв)м с»»гналал» остацова процессора олин посту»»ает нз РгСУ л ) той — из схем ы "ИЛ И". По указанным сигналам декодер генерирует стробы управпеПИя: ° чтением илн записью выбранных регистров ОВСЕ; ° установки режима трассировки.
П счетчик точек останова. тпв ПОПНЕ6МЕЙ тенте тенпее ппспедоеетепеный интерфейс Оппе рис. толп логика точек остеноеа Апго тмы и процессоры цифровой обработки сигнапое ° регистром команд (по восьмому биту СчБит); ° регистром состояния и управления. П Регистр состппяиия и упрпегеиия (РгСУ) предназначен лля: ° индикации причины, по которой наступил режим отладки; ° управления точками остапова в ограниченных областях Р-, Х-, У- памяти; точки останова могут фиксироваться по чтению, записи, по ПДП и др., а также могут быть запрещены; Логика точек останова Точкн остатювп можно устанавливать н памяти программ, данных или внутри той и ой адресуемой области, где могла бы выполняться програмлга. Логика точек останова илгест дна совершенно идентичных независимо работающих блока: один — для памяти программ, другой — лля памяти данных. Каждый блок содержит (рис.
(0.7): П защелку адреса памяти; П регистры хранения адресов верхней н нижней границы памяти; П компараторы адресов нерхнсй и нижней границ; Главе 10. Средства раз абот Р ткн н отлипни систем НифРоеой обработки сипталое 401 Логика то чек осганона работает следующим об эмулятора че ез после разом.
з внутрисхемного нижней границ па ерез последовательный ввод ()5! поступают адреса вс рхпей и чек астапова; че ез этот тра мяти, в пределах которых предполагается о а ргапизация точиной, со нова; через этот же ввод загружается счетчик точек останова велиш ия к памяти, которос ответствующей количеству циклов обра ения должно предшествовать выполненшо точки останови. П и ка о. нии к памяти счетчи ри каждом обращеч чик инкремснтируется.
После того как состо янис счстчпсо а н ет равным, первое же обращение к памяти вызовет п ерехол тцюцеср режим отладки. Согласно команде, пост оступившеп н регистр команд см. рис. . ), происходит выбор адресной шины памяти лля за выделения точки останова. и ти для защелки и Сказан б нос означает, что во врелш отладки три . об кажлом ращении к выранной памяти выполняются следующие операции: П текущий адрес выбранной памяти фиксируется в защелке, откуда пересылается н компараторы верхнего и нижнего адресов; П компараторы сравнивают текущий адрес с верхней и х й и ннжпсн григпцгалгп ли рес находится н о асти, в которой должен происходить останов; если ад е пнй адреса, о а компределах заданных границ (включая верхний и нижний, б паратора выдают сигнал "истинно" на выделитель то'гки остапова; П вь шелитель точки останона при наличии трех входных сигнилон истинно" Гно тми ет с "ф ).
ру игнал выполняемая точка останови", кото ый поступает на лве схемы ' И"; ;", к торы( по- П счетчик точек останова инкрелтентирует я, с, если на него не поступил сигнал "решение" от пе в р ой схемы И', внутренний сигнал точки остапона появится на выходе вто ои р " схслгы "И лишь в том случае, когда состояние счетчика окажется в ра ным нулю и произойдет очередное обращение к выбранной области памят; мити; появление этого сигнала обеспечит останов по адресу, забгикси онанно ф " р ванному в защелке, при этом счетчик пе инкрементируется вследствие подачи на него сигнала "решение"; П на последовательном выво.
е ыводе 0ОО формируется сигнал подтверждения готовности ОпСЕ. передаваемый внутрисхемному эмулятору. Логикатрассировки По т бл д рассироекой понимается пошаговый (от кома оманды к команде) или полочный контооль за хо ол л р д т выполнения программы и состоянием выволон процессора в реальном нрелгени. Трассировка осуществляется еие режима отяттдки и позволяет аз абот р р чику отлаживать те участки программы, которые нс являются линейными и ли представляют собой бесконечные циклы. Работа логики трассировки (рис. Ю.О) подобна работе частка ло останова, связанного со счстч,, злемсн чстчиком точек останова. Главным злемсн гики трассировки является чстчтгк тРассировки.
элементом ло- Глава 10. Средства раэ аботки и отладки систем цифровой обработки сигналов 40Э 402 Алто итмы и процессоры цифровой обработки сигналов Ори Снснэл оэаеершенян эылллнекня команды ош ОВСК ово Сигнал асснсовкн Рмс. 10.8. Логика трассировки Инициализация режима трассировки осуществляется с использованием программного отладчика, ипсталлнруемого в компьютер. Для установки режима трассировки необходимо: П загрузить в програлслпсый счетчик процессора начальный адрес блока команд, которые должны быть выполнены в реальном времени да вхахсдеиия в релгми трассировки; П установить в РгСУ (см. рис.
!0.6) биты разрешения трстсси!ювки; П загрузить счетчик трассировки через вывод 0Я величиной (д> — !), где >т> — количество команд, которые должны быть вьсполнсны в реальном времени в режиме трассировки; П выйти из режима отладки с полюшью команды отладчика. После выхода из режима отладки процессор начинает работать в реальном времени, счетчик трассировки дскрелсентируется при выполнении каждой команды отлажнваемой программы. По завершении выполнении команды. вызвавшей послелний декремент счетчика трассировки (установилось состояние О), выдаются два сигнала: П сигнал "решение"; по этому ситца.су предотвращается дальнейшая работа счетчика, на выволе 050 устанавливается уровень, указывающий па переход процессора в режим отладки и па ожидание нм очерелного запроса со стороны хост-компьютера; П сигнал "трассировки", который возлействует на дсколер (см.
рис. !0.6) и переводит процессор в режим отладки; в спок> очередь. декодер сбрасывает биты трассировки в РгСУ. / Замечание На некоторых процессорах трассировка позволяет также определять действительное время выполнения трассируемога участка пРограммы. т. е.
выполнять л рафинирование. Информация о конвейере Возврат процессора из рсжсгма отладки к нормальной работе лостигаетсх восстановлением состояния конвейера, что достигается с помощью регистров информации о конвейере (рпс. !0.9). Расслютрим каждый из реп>строек П Регссстр иисны с>рагразьи сохраняет состояние этой шины, установленное прп послелпем обращении к памяти программ непосрсдствснссо перед входом процессора в режим отладки. Регистр доступен для чтения и записи как со стороссы шипы. так и со стороны последовательного пптсрфеиса Сч>СЕ.