Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Организация микропроцессоров и микропроцессорных систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
11
Тип команды
КОП
№Рг
Тип команды
КОП
№Рг1
№Рг2
Тип команды
КОП
№Рг
const
Тип команды
КОП
Вид адресации
№Рг
Адрес
С
С
Сдвиг с переносом
вправо
влево
В сдвигах с переносом выдвигаемый разряд передвигается в триггер переноса С, а его текущее значение – в освобождаемый разряд (рис. 1.8).
Рис. 1.8
Структура и форматы команд МП
Все команды МП имеют поля, которые определяют: тип команды; код операции; длину команды. Кроме того, в командах, связанных с обра­щением к памяти, должны быть предусмотрены поля, определяющие адрес ячейки и номер Рг, источника или приемника информации. В командах, связанных с обращением к Рг, в адресной части должны быть указаны но­мера Рг источников информации и приемник результатов.
Команды различных типов отличаются структурой, то есть набором полей. Так, команды изменения содержимого Рг (инкремент, декремент, сдвиги, отрицание) имеют структуру, приведенную на рис. 1.9.
Рис. 1.9
Команды выполнения операций над содержимым Рг (переслать, сло­жить, вычесть) имеют структуру, представленную на рис. 1.10.
Рис. 1.10
Команды с непосредственной адресацией (загрузить непосредствен­но в Рг число или сложить непосредственно содержание Рг и const) имеют структуру, изображенную на рис. 1.11.
Рис. 1.11
Команды обращения к памяти (загрузить, заполнить, сложить, вы­честь) имеют следующую структуру (рис. 1.12).
Рис. 1.12
12
Виды адресации
прямая и
непосредственная
с использованием Рг
базовая, индексная,
относительная
I
II
III
Формат команды задает распределение указанных полей по разрядам командных слов.
Чем больше длина команды, тем больше времени требуется на ее выполнение. Поэтому чтобы увеличить быстродействие МП, стремятся уменьшить длину команды. Это достигается следующими способами: ог­раничение числа доступных РОН; ограничение числа связей между РОН; применение различных видов адресации памяти (например, страничной).
1.3. Виды адресации МП
Обращение к памяти является наиболее часто встречающейся операци-
ей, поэтому эффективность использования МП во многом определяется ви­дами адресации к памяти большого объема. При любых способах адресации к памяти формируется исполнительный (физический) адрес, по которому производится обращение к ячейке адресного пространства МП.
Адресное пространство – это множество адресов ОП, доступных для программ, выполняемых МП. Размер адресного пространства определяется максимальной длиной исполнительного адреса (разрядностью ША). Так, N-разрядный адрес позволяет обращаться к ОП с объемом 2N байт.
Все виды адресации можно классифицировать так, как это показано на рис. 1.13.
Рис. 1.13 Для видов адресации группы I характерно, что адрес операнда или операнд содержатся в команде.
Прямая адресация является наиболее естественным способом. Здесь исполнительный адрес задается в команде, поступающей в МП по шине данных (ШД). После ее дешифрации адрес передается в Рг адреса. Схема прямой адресации имеет вид, показанный на рис. 1.14.
Такая адресация является простой, но неэкономной, так как требует увеличения длины команды за счет адресного поля. Используется для об­ращения к простым переменным.
13
Рг команд
Рг адреса
ШД
ША
команда
адресное поле
исполнит. адрес
Рг команд
РОН
А БРг
БРг
АЛУ
ШД
команда
операнд
внутренняя ШД
Рис. 1.14
Непосредственная адресация. Здесь адресная часть команды содер­жит непосредственно операнд, а не адрес операнда, как при прямой адре­сации. Схема непосредственной адресации представлена на рис. 1.15.
Рис. 1.15
При выполнении команды с непосредственной адресацией операнд загружается в один из РОН или аккумулятор А. При этом выбор регистра осуществляется по коду операции. Команды такого типа используются для инициализации счетчиков, загрузки констант и выполняются очень быст­ро, так как не требуют обращения к ОП.
Виды адресации группы II предполагают обращение к данным или формирование адресов с применением внутренних регистров МП. Выде­ляют прямую и косвенную регистровую адресацию.
Прямая регистровая адресация используется для обращения к внут­реннему регистру МП, содержащему операнд. По коду операции операнд пересылается по внутренней ШД в аккумулятор или буферный Рг. Схема реализации прямой регистровой адресации показана на рис. 1.16.
14
РОН
А БРг
БРг
АЛУ
ШД
внутренняя ШД
Рг команд
ДШ команд
и схема
управления
команды
выбор Рг :
операнд
РОН
ШД
Рг команд
ДШ команд
и схема управле-
ния
команда
:
выбор Рг
Рг адреса
ША
адрес
исполнительный адрес
Рис. 1.16
Команды такого типа имеют минимальную длину – один или два байта и выполняются очень быстро, так как не требуют обращения к ОП.
Косвенная регистровая адресация. Такая команда указывает РОН, содержащий исполнительный адрес. Команда имеет длину 1- 2 байта, но перед выполнением этой команды с помощью отдельной команды необхо­димо загрузить адрес в РОН. При выполнении команды с косвенной реги­стровой адресацией адрес пересылается в Рг адреса и далее на ША. Схема такой адресации представлена на рис. 1.17.
Рис. 1.17
15
АЛУ
ШД
ША
Рг команд
команда
Рг адреса
смещение
начальный адрес
Базовый (индексный) Рг
Команда с косвенной регистровой адресацией может быть с автоуве­личением или автоуменьшением значения адреса в РОН.
В командах адресации группы III содержится смещение, которое следует за кодом операции. Значение смещения складывается с содержи­мым некоторого регистра для образования исполнительного адреса. Сме­щение может быть длиной от 1 до 4 байт.
Базовая адресация. Исполнительный адрес получается путем сложе­ния адресного поля команды (смещения) с содержимым базового Рг. Обычно базовый Рг содержит начальный адрес фрагмента памяти, храня­щего массив данных. В этом случае смещение позволяет выбрать элемент массива, не указывая полный адрес. Изменяя содержимое базового Рг, можно обращаться к различным структурам данных.
Индексная адресация. Механизм формирования исполнительного ад-
реса совпадает с базовой адресацией. Их отличие заключается в назначе­нии. При индексной адресации регистр задает адрес элемента массива от­носительно начального адреса, который определяется смещением. Схема базовой и индексной адресации приведена на рис. 1.18.
путем сложения смещения с содержимым счетчика команд (Сч К) МП. Данный метод удобен при организации переходов в программе. Он позво­ляет выбирать команду программы относительно следующей (ее адрес в Сч К) без задания полного адреса. Смещение указывает расположение ко­манды относительно содержимого Сч К как вперед, так и назад.
Рис. 1.18
Относительная адресация. Здесь исполнительный адрес получается
16
УП
БМУ
Рг МК
Модуль
обработки
1
Модуль
обработки
N
Модуль синхро-
низации
Память
Обмен с УВВ
сигналы синхронизации
…
ОУ
МК
УУ
ШУ
ША
ШД
признаки результата
1.4. Микропрограммируемые микропроцессоры и МПС
Микропрограммным управлением называется способ организации устройства управления, при котором каждая машинная команда интерпре­тируется стандартной микропрограммой. Микропрограмма состоит из микрокоманд, а каждая МК - из микроопераций.
Микрооперация – это реализуемая аппаратным способом некоторая простая операция переработки информации.
В основу разработки систем с микропрограммным управлением по­ложены следующие принципы:
- модульный способ построения систем;
- магистральная организация связи между модулями;
- микропрограммное управление с возможностью реализации любой
системы команд;
- наращиваемая разрядность обрабатываемых данных;
- специализация модулей на выполнение определенных функций
(обработка, управление, хранение, интерфейс).
Обобщенная структурная схема микропрограммируемой МПС при­ведена на рис. 1.19.
В состав МПС входят следующие основные модули.
1. Модули обработки (вычислительные модули) предназначаются
для обработки адресов и данных. В операционное устройство входит не-
Рис. 1.19
17
Поле управле-
ния модулем
_синхронизации
БМУ
Рг адреса МК
УП
Поле управле-
ния генерацией
адреса
следующей МК
Поле управления модулями обработ-
ки ки
адрес пе-
рехода
Поле
кода
струк-
туры
начальный адрес с ШД
сигналы синхронизации
Рг МК
коды управления
операционным
устройством
коды управления модулем
синхронизации
сколько модулей, работающих последовательно или параллельно. Модули могут быть как универсальными, так и специализированными.
2. Модуль управляющей памяти УП предназначен для хранения
микропрограмм, управляющих работой всех модулей МПС при реализации любой команды, входящей в состав системы команд.
3. Блок микропрограммного управления БМУ предназначен для
приема внешней команды из памяти и вычисления последовательности ад­ресов УП для выборки микрокоманд. Эта выборка происходит с учетом признаков результатов, поступающих из операционного устройства.
4. Модуль синхронизации предназначен для управления моментами
выдачи и приема МК, данных и адресов модулями на системные шины (ШУ, ША, ШД).
5. Модуль оперативной памяти предназначен для хранения про-
грамм и данных в процессе функционирования МПС.
6. Модуль обмена с УВВ предназначен для приема и передачи ин-
формации, а также для организации приоритетной обработки при работе МПС с внешними устройствами.
1.4.1. Организация управления в микропрограммируемых МПС
Структурная схема управляющей части микропрограммируемой
МПС представлена на рис 1.20.
МК включает в себя ряд полей, содержащих коды управления моду-
лями системы. В общем случае формат слова МК содержит поля 3-х видов:
Рис. 1.20
18
Поле 1
Поле 2
…
Поле N
Модуль
обработки 1
Модуль
обработки 2
Модуль
обработки N
…
поле кода структуры; поля индивидуального пользования; поля коллективного пользования.
Поле кода структуры содержит коды управления состоянием моду-
лей (работает/не работает) и определяет взаимодействие модулей с маги­стралями (подключен/отключен).
Поля индивидуального пользования закрепляются за теми модулями
МПС, которые работают одновременно и требуют управления в каждой МК. К ним относятся: поле управления генерацией адреса следующей МК, соответствующее БМУ, и поле управления модулем синхронизации. Вто­рое поле определяет режим работы блока синхронизации и обеспечивает синхронность работы модулей системы при выполнении операций разной длительности.
Поля коллективного пользования содержат коды управления опера-
ционным устройством МПС и используются поочередно для размещения инструкций для различных групп модулей обработки. Кроме того, при вы­полнении БМУ операций условного перехода здесь также размещается ад­рес перехода.
Существуют три основные стратегии кодирования полей МК, управ­ляющих работой операционного устройства: горизонтальная; вертикаль­ная; смешанная.
При горизонтальном микропрограммировании каждая МК содержит поля управления всеми модулями операционного устройства. При таком способе достигается максимальная производительность МПС. Это получа­ется за счет распараллеливания вычислительного процесса, как это показа­но на рис. 1.21.
Рис. 1.21
Основной недостаток – это значительная избыточность управляю­щей памяти из-за того, что далеко не в каждой МК используются все поля одновременно.
При вертикальном микропрограммировании в МК содержится толь­ко одно поле, позволяющее управлять одним из модулей ОУ. Выбор моду­ля обработки (МО) осуществляется полем кода структуры (рис. 1.22).
19
Поле кода
структуры
Поле управления
МО
МО 1
МО 2
МО N
Схема выборки модуля
Рис. 1.22
При таком способе организации управления достигается наиболее рациональное использование управляющей памяти. Но быстродействие МПС в этом случае минимальное, так как невозможна одновременная ра­бота даже двух модулей.
Смешанное микропрограммирование сочетает черты вертикального и горизонтального способов. Оно обеспечивает компромисс между воз­можностью одновременного управления несколькими модулями и ограни­ченной разрядностью слова МК. При этом способе в МК выделяется неко­торое фиксированное число полей, меньшее, чем число модулей обработ­ки. Каждое поле используется для поочередного управления некоторым подмножеством модулей, не функционирующих одновременно.
1.4.2. Применение микропрограммируемых микропроцессорных
комплектов
Наиболее широко микропрограммируемые микропроцессорные комплекты используются в следующих областях: контроллеры нестан­дартного периферийного оборудования и внешних устройств; контроллеры для управления технологическими процессами, например контроллеры станков с ЧПУ; бортовые спецвычислители, работающие в реальном мас­штабе времени.
Управляющие и вычислительные устройства, реализуемые на основе таких комплектов, можно разделить на два класса:
работки данных. В микроконтроллерах такой уровень один: уровень мик­ропрограммного управления. В процессорах команд уровней два: уровень программного управления (система команд); уровень микропрограммного управления.
микропрограммные контроллеры (микроконтроллеры); процессоры команд.
Их различие заключается в числе уровней управления процессом об-
20
БМУ
УП
Рг МК
Операционная
часть
результаты
данные
ША ШД ШУ
Память
программ
и данных
РгК
ПЗУ НА
БМУ
УП
РгМК
Операционно-
адресная часть
Типовая структура микроконтроллера в упрощенном виде представ­лена на рис. 1.23. Здесь прикладной алгоритм полностью записан в УП в виде последовательности МК, которые задают на каждом такте функцио­нирование операционной и управляющей частей МП.
Рис. 1.23
Структура процессора команд изображена на рис. 1.24. Здесь исполь­зуются следующие обозначения: РгК - регистр команд; ПЗУ НА - ПЗУ на­чальных адресов, предназначенное для определения начального адреса микропрограммы.
Операционно-адресная часть предназначена для выполнения ариф­метических и логических операций, обработки адресов, хранения проме­жуточных результатов. В процессорах команд небольшой производитель­ности эти две части могут быть объединены.
Рис. 1.24
Существенным отличием от микроконтроллеров является то, что прикладной алгоритм полностью записан не в управляющей памяти, а в памяти программ. Эта память является внешней по отношению к процес­сору. Прикладной алгоритм выполняется в процессоре как последователь-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]