Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 392

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 386 387 388 389 390 391 < 392 > 393 394 395 396 397 398 .. 528 >> Следующая

счетчик петли LC(Loop Counter), регистр статуса SR (Status Registr),
регистр режима операций OMR (Operating Mode Register) и указатель стека
SP (Stack Pointer). Регистры контроллера приведены на рис. 6.15.
Системный стек представляет собой отдельный блок внутренней памяти,
используемый для хранения регистра статуса и программного счетчика при
вызовах подпрограмм и длительных прерываниях. В стеке также хранятся LA и
LC для организации программных циклов.
684
ПРОЦЕССОРЫ СЕМЕЙСТВА DSP56000
Каждая ячейка стека включает два 16-разряд-ных регистра: старшую часть
(SSH) и младшую часть (SSL) стека.
Все эти регистры могут быть прочитаны или записаны для упрощения отладки
системы. Хотя ни один из регистров программного контроллера не является
24-битным, все они читаются и записываются через 24-битную шину PDB. При
чтении регистров младшая часть битов (LSB) является значащей, а старшая
значащая часть битов (MSB) заполняется нулями. При записи регистров
младшая часть битов (LSB) является значащей, а старшая значащая часть
битов просто отбрасывается, поскольку имеет смысл только младшая значащая
часть битов (биты 15-0). Программный контроллер содержит конвейер с тремя
ступенями и управляет пятью состояниями процессора: нормальным,
обработкой исключений, сбросом, ожиданием и остановом.
Структура программного контроллера. Программный контроллер состоит из
тре> аппаратных блоков: контроллера декодирования программ (PDC),
генератора адресов программ (PAG) и контроллера прерываний (PIC).
Контроллер декодирования программ. PDC включает в себя программную логику
дле декодирования, генератор адреса регистра, механизм выполнения циклов,
механизм выполнения повторений, генератор кодов условий, механизм
выполнения прерываний регистр-защелку инструкций и его копию. PDC
декодирует 24-битную инструкцию, загруженную в регистр-защелку, и
вырабатывает все сигналы, необходимые для управление конвейером. Копия
регистра-защелки инструкций оптимизирует выполнение инструкций повторения
и перехода.
Гэнератор адресов программ. PAG содержит: PC, SP, SS (системный стек),
ОМР (регистр операционного режима), SR, LC и LA. Циклы, являющиеся
основной конструкцией алгоритмов цифровой обработки сигналов,
поддерживаются аппаратно.
При выполнении инструкции DO в регистр счетчика цикла загружается
количество повторений цикла, а в регистр адреса цикла - адрес последней
инструкции цикла, И устанавливается флаг цикла в регистре статуса. Перед
выполнением инструкции DO содержимое регистров LA, LC и SR сохраняется в
стеке. Под управлением механизма выполнения циклов адрес первой
инструкции цикла помещается в стек. Пока флаг цикла 0 регистре статуса не
сброшен, механизм выполнения циклов сравнивает содержимое PC с содержимым
LA для определения последней инструкции цикла. Когда последняя инструкция
выбрана, содержимое LC сравнивается с единицей. Если равенство не
выполняется, содержимое LC декрементируется и из SS читается адрес первой
инструкции цикла. Если равенство выполняется, то значения LA, LC и флага
цикла в SR восстанавливаются из стека, а выборка инструкций продолжается
с адреса LA + 1.
Пересылка массива данных может быть выполнена с использованием механизм^
повторений. Инструкция REP загружает в LC количество повторений следующей
за ней инструкции. Так как команда, которая будет повторяться, выбрана
только один раз, эт<1 увеличивает производительность за счет уменьшения
обращений к внешней шине. Однако инструкция REP не может быть прервана,
поскольку выбирается только один раз.
68#
РА В PDB
Глобальная шина данных
Рис. 6.15. Регистры контроллера
ПРОЦЕССОРЫ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ
Контроллер прерываний. PIC принимает все запросы прерываний, осуществляет
арбитраж в каждом цикле и генерирует адрес вектора прерывания. Прерывания
могут вызывать четыре внешних и 16 внутренних источников прерываний.
Используется структура гибкого приоритета прерываний. Каждое прерывание
получает свой уровень приоритета (IPL) - от 0 до 3. Уровень 0 - самый
низкий, а уровни 1 и 2 маскируются. Уровень 3 является высшим и не
маскируется. Биты маски прерываний в регистре статуса (SR) показывают
текущий уровень приоритета прерываний в процессоре. Прерывания, имеющие
уровень приоритета меньше текущего, не учитываются при арбитраже. Уровень
приоритета 3 всегда вызывает прерывание процессора. Уровни приоритета
прерываний для каждого периферийного устройства на кристалле (HI, SSI,
SCI) и для каждого внешнего источника прерываний (-.IRQА, -.IRQB) могут
задаваться программным путем от 0 до 2. Уровни приоритета устанавливаются
при записи в регистр уровней приоритета, представленный на рис. 6.16.
В DSP56002 регистр уровней приоритета прерываний расширен: добавлены биты
16 -TIL1 и 17 - TIL0, которые задают уровень приоритета прерываний от
таймера. Источники прерываний и их уровни приоритета указаны в табл. 6.7.
Каждый источник прерываний имеет свой вектор для вызова процедуры
Предыдущая << 1 .. 386 387 388 389 390 391 < 392 > 393 394 395 396 397 398 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed