ЦУиМП Лек2 5курс (1086960), страница 8
Текст из файла (страница 8)
Триггер - указатель переполнения (OV). Если режим фиксации переполнения не установлен, то при возникновении переполнения триггер OV устанавливается в 1, если переполнения нет, то триггер OV находится в 0-м состоянии. Если же установлен режим фиксации переполнения, то триггер OV все время находится в нулевом состоянии. Это единственный триггер слова состояния процессора, который не может быть установлен в какое-либо состояние программно. Триггер - указатель маскирования прерывания (INTM). В TMS32010 имеется вход, по которому внешние устройства сообщают о необходимости
11
прерывания работы программы и переходу к подпрограмме обработки прерывания. В микропроцессоре имеется 2 режима работы: в первом прерывание возможно, во втором прерывание игнорируется. Режим работы микропроцессора определяется содержимым триггера INTM, если в нем находится 1, то прерывание маскируются, если 0, то прерывание разрешается. Этот триггер регистра слова состояния процессора является программно доступным.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
-
Сколько ячеек памяти внешнего ЗУ может адресовать микропроцессор?
-
Объясните как вы понимаете, что такое уровень вложенности?
-
Какая информация хранится в стеке?
-
Объясните назначение счетчика команд?
-
За счет чего упрощается схема включения СМП при использовании
внутрикристального масочного ПЗУ программ?
-
Какая информация может находиться на внешней адресной шине?
-
В чем заключаются функции контроллера?
-
Скольки разрядным двоичным словом кодируется команда в TMS32010?
-
Что произойдет со старшими разрядами аккумулятора при выполнении логических
операций И, ИЛИ, исключающее ИЛИ? -
Объясните назначение аккумулятора, а также какого типа информация может в нем
находиться? -
Сколько информационных разрядов может находиться в регистре Р после
перемножения 2- х 16 разрядных чисел со знаком? -
Сколько бит команды кодирует внутристраничный адрес ячейки памяти
внутрикристального ОЗУ? -
Объясните в чем заключаются различные способы адресации ячейки данных
внутрикристального ОЗУ?
-
Для чего при записи числа в аккумулятор старшие разряды заполняются знаком?
-
В каких случаях в аккумуляторе может произойти переполнение?
-
Запишите максимальное положительное и минимальное отрицательное число,
которое может находиться в аккумуляторе.
3. АЛГОРИТМ ОБРАБОТКИ КОМАНДЫ МИКРОПРОЦЕССОРОМ
Процесс обработки команды микропроцессором может быть разделен на несколько этапов. На первом этапе микропроцессор должен принять очередную команду. Сама команда находится либо во внутреннем либо во внешнем ПЗУ программ. Адрес команды находится в программном счетчике микропроцессора. Для считывания команды микропроцессор подает содержимое своего программного счетчика или непосредственно на адресные входы внутреннего ПЗУ программ, или через мультиплексор адресной шины и внешнюю адресную шину на адресные входы внешнего ПЗУ программ. Адрес команды
сопровождается активным уровнем (выходного) сигнала этим сигналам происходит считывание команды из внутреннего или внешнего ПЗУ программ. Далее 16-разрядная команда либо непосредственно по внутренней шине команд поступает на контроллер (в случае считывания из внутреннего ПЗУ программ), или через внешнюю шину данных, мультиплексор и внутреннюю шину команд (как в случае внешнего ПЗУ программ). Этот этап выполнения команды называется считыванием команды. Следует отметить, что независимо от того, используется внутреннее или внешнее ПЗУ программ, этот этап выполняется в течение 100 не при тактовой частоте работы микропроцессора, равной 20 МГц. На следующем этапе, считанная из ПЗУ команда, поступает в контроллер блока управления микропроцессора. Там команда дешифрируется, т.е. контроллер
12
определяет какие действия должен выполнить микропроцессор по данной команде и формирует управляющие сигналы на внутренние узлы микропроцессора. Это этап дешифрации команды и он также выполняется в течение 100 не при тактовой частоте 20 МГц.
На третьем и последнем этапе осуществляется непосредственно выполнение команды. Т.е. под действием управляющих сигналов контроллера происходят действия, выполнение которых и предполагает данная команда. Например, в аккумуляторе производится какое-то арифметическое действие, или производится считывание или запись во внутреннее ОЗУ данных и т.д. Данный этап длится 200 не при тактовой частоте 20 МГц.
Особенностью архитектуры микропроцессора является то, что в нем разделены внутренняя шина команд и шина данных. Данное «рек ЗЛ Времежаяаиаграмма выполнений команды в TMS32010 обстоятельство ПОЗВОЛИЛО разработчикам МП
объединить во времени этапы считывания и дешифрации команды с этапом выполнения предыдущей команды. Такая возможность появляется вследствие того, что на этих этапах задействованы различные узлы внутренней структуры микропроцессора. Такой процесс называется двухкаскадным конвейером: действительно, микропроцессор эквивалентен в этом случае конвейеру с двумя рабочими местами (блок управления и операционный блок). Команда (обрабатываемая деталь) поступает сначала на первое рабочее место - в блок управления, на втором рабочем месте в это время обрабатывается предыдущая команда. В следующий момент команда переходит на второе рабочее место (в операционный блок), а на первое рабочее место в это время поступает следующая команда. Поскольку время обработки команды на каждом рабочем месте (в каждом блоке) одинаково и составляет 200 не, то время выполнения команды в микропроцессоре равно 400 не. Но так как с конвейера каждые 200 не сходит новая команда (деталь), то программист может считать, что команда выполняется за 200 не. Двухкаскадный конвейер, реализованный в TMS32010, возможен только за счет специфической организации внутренней структуры микропроцессора - раздельная шина команд и шина данных. Такая архитектура получила название Гарвардской. Более точно в микропроцессоре используется модифицированная Гарвардская архитектура, которая предполагает помимо раздельной организации шины команд и шины данных возможность информационного обмена между ними. Основное достоинство такой модификации заключается в том, что в ПЗУ программ при этом могут храниться константы, использующиеся в операционном блоке, а надобность в специальном ПЗУ констант отпадает. Временная диаграмма выполнения команды микропроцессором изображена на рис.3.1. В качестве меток времени на рис.3.1 показана частота 5 МГц. Следует отметить, что задающей частотой для микропроцессора является 20 МГц. В микропроцессоре она делится на 4 до 5 МГц, эта частота и задает длительность командного цикла микропроцессора равного 200 не.
По конвейерному алгоритму выполняется большинство команд в TMS32010, однако команды условного и безусловного переходов, ввода/вывода во внешние порты, записи/чтения во внешнее ЗУ сопровождаются нарушением работы конвейера. Это приводит к увеличению времени выполнения данных команд.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
1. Расскажите как обрабатывается команда в микропроцессоре TMS32010.
13
-
В чем заключается принцип двухкаскадного конвейера?
-
Какие особенности внутренней архитектуры микропроцессора позволяют
организовать двухкаскадную конвейерную обработку? -
Что такое Гарвардская архитектура и модифицированная Гарвардская архитектура?
-
Чему равна длительность выполнения команды при частоте задающего генератора
равной 15 МГц? -
Объясните почему нарушается конвейерная процедура обработки команд при
выполнении команд условных и безусловных переходов.
4. ОСОБЕННОСТИ СТРУКТУРЫ МИКРОПРОЦЕССОРА TMS32010 И ЕГО ОТЛИЧИЯ ОТ УНИВЕРСАЛЬНЫХ МИКРОПРОЦЕССОРОВ
Микропроцессоры семейства TMS являются типичными представителями сигнальных микропроцессоров. В обзорной статье, посвященной этому семейству [1], выделяется несколько специфических черт, отличающих микропроцессоры семейства TMS от универсальных микропроцессоров. В большей или меньшей степени эти особенности характерны для всех сигнальных микропроцессоров. Рассмотрим их:
-
Модифицированная Гарвардская архитектура. Эта архитектура предполагает
раздельную внутреннюю шину команд и шину данных с возможностью
информационного обмена между ними. -
Конвейерная организация выполнения команд. Такая возможность появляется за
счет разделения внутренних шин микропроцессора. В результате могут
одновременно выполняться различные этапы нескольких последовательных
команд. В микропроцессоре TMS32010 реализован 2-х каскадный конвейер, в
следующих поколениях семейства TMS 3-х и 4-х каскадный конвейер. -
Короткий командный цикл. В TMS32010 фактическое время выполнения команды
400 не, но за счет конвейера программист может считать, что время выполнения
одной команды равно 200 не (1 машинный цикл частоты 5 МГц). У следующих
представителей семейства TMS цикл сокращен до 35... 100 не. -
Встроенный умножитель. Практически во всех СМП, и микропроцессорах
семейства TMS в частности, имеется встроенный умножитель. Необходимость
этого элемента структуры микропроцессора обуславливается тем, что умножение
это основная операция алгоритмов ЦОС. Программная реализация умножения
неприемлема вследствие большой длительности, так как алгоритмы цифровой
обработки должны выполняться в реальном масштабе времени, т.е. за
ограниченный временной интервал. -
Наличие специальных команд, предназначенных для эффективной реализации
алгоритмов цифровой обработки. В TMS32010 к таким командам можно отнести
комбинированные команды, одновременно выполняющие несколько действий. Так
команда LTD одновременно сдвигает содержимое ячейки ОЗУ данных в соседнюю,
подготавливает умножение на следующем такте путем загрузки в регистр Т
содержимого сдвигаемой ячейки данных и накапливает ранее полученный
результат умножения в аккумуляторе. То, что в системе команд микропроцессора
имеется такая команда, позволяет выполнить обработку одного отвода цифрового
фильтра всего за 2 команды - LTD и команду умножения. Поскольку алгоритм
нерекурсивной фильтрации является наиболее широко используемым в цифровой
обработке, то наличие данной команды существенно повышает эффективность
работы микропроцессора. В последующих поколениях микропроцессоров
семейства TMS количество таких команд существенно расширено. -
Большой объем внутреннего ОЗУ данных. В TMS32010 во внутреннем ОЗУ может
хранится 144 1 б.-разрядных слов данных. Для сравнения в микропроцессоре INTEL
14
8086 имеется 8 16- разрядных регистров общего назначения. Достаточно большой объем внутреннего ОЗУ позволяет эффективно выполнять многие алгоритмы цифровой обработки (не нужно тратить время на обращение к внешней оперативной памяти). В последующих микропроцессорах семейства TMS объем внутреннего ОЗУ еще более увеличен, и в TMS32030 составляет 2К 32-х разрядных слов.
Часто в СМП включают внутрикристальные АЦП и ЦАП. Однако в СМП семейства TMS таких внутренних элементов нет. При этом реализация подобных преобразований возлагается на специализированные внешние микросхемы. В частности функция АЦП и ЦАП выполняет специализированная микросхема TLC.
Наряду с преимуществами, у СМП имеются также и недостатки. В той или иной степени эти недостатки присущи и СМП семейства TMS. К ним можно отнести:
-
менее гибкую систему команд по сравнению с универсальными
микропроцессорами; -
меньшее число режимов адресации;
-
ограниченное адресное пространство внешнего ЗУ (определяется числом разрядов
внешней адресной шины - в TMS32010 всего 12 разрядов); -
меньшее число возможных устройств ввода/вывода;
-
менее развитая система прерываний и т.д.
Данные недостатки во многих случаях совершенно не сказываются на производительности устройств, реализованных на базе микропроцессоров семейства TMS. Это происходит потому, что для решения задач, для которых они созданы, такие расширенные возможности часто не требуются.
Подводя итог можно сделать вывод. Микропроцессоры семейства TMS (TMS32010 в частности) являются высокопроизводительными сигнальными микропроцессорами, предназначенными для решения задач ЦОС в реальном масштабе времени.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ
-
Какие наиболее важные с Вашей точки зрения отличия СМП от универсальных
микропроцессоров? -
Сравните внутреннюю структуру микропроцессора TMS32010 с любым известным
Вам универсальным микропроцессором. -
Предложите примеры удачного и неудачного использования СМП.
-
Предложите варианты дальнейшего улучшения характеристик СМП.
5. РЕЖИМЫ РАБОТЫ СИГНАЛЬНОГО МИКРОПРОЦЕССОРА TMS32010
Имеется несколько режимов работы TMS32010.
а. В модификации TMS320C10 возможны микропроцессорный и
микрокомпьютерный режимы работы. В первом случае все адресное пространство отводится под внешнее ЗУ. Во втором случае адреса с 0 по 1535 относятся к внутреннему ПЗУ программ, а старшие адреса с 1536 по 4095 к внешнему. В каком
режиме работает микропроцессор определяется внешним сигналом Если на этом входе 0, то установлен микропроцессорный режим работы, если 1, то микрокомпьютерный. Для модификации TMS32010, в который нет
15
внутрикристального ПЗУ программ, возможен, естественно, только