- •Министерство образования Российской Федерации
- •Самарский государственный технический университет
- •2. Оформление курсового проекта
- •3. Описание вариантов заданий
- •Перечень операций подлежащих программированию
- •4. Архитектура микропроцессоров
- •4.1. Микрокомпьютер
- •4.2. Структура микропроцессора
- •4.3. Блок управления и синхронизации
- •4.4. Система команд
- •4.4.1. Фаза выборки и дешифрации
- •Обозначения, используемые при описании команд,
- •Команды передач управления
- •Команды обращения к подпрограммам
- •Арифметические и логические команды
- •Команды ввода/вывода
- •Специальные команды
- •4.4.2. Фаза выполнения
- •Команды пересылки
- •Команды с непосредственным адресом
- •Команды обращения к памяти
- •Команды передачи управления
- •Команды обращения к подпрограммам
- •Арифметические и логические команды
- •Команды ввода/вывода
- •Специальные команды
- •4.5. Способы адресации
- •Прямая адресация
- •Непосредственная адресация
- •Индексная адресация
- •Косвенная адресация
- •Относительная адресация
- •Страничная адресация
- •4.6. Некоторые другие команды, специфичные для микропроцессоров
- •Арифметические и логические команды с операндами в главной памяти
- •Команды условных переходов
- •Команды обработки данных
- •5. Программирование для микропроцессоров
- •5.1. Программирование на машинном языке
- •Пример программы: «прибавить константу к числу в памяти и записать результат снова в память»
- •5.2. Разветвления в программах
- •5.3. Программирование циклов
- •Программа вычисления суммы десяти 8-битовых чисел без знаков
- •5.4. Программирование сложных разветвлений
- •Программа сложного разветвления, использующая таблицу переходов
- •5.5. Подпрограммы
- •Вход в подпрограмму и выход из подпрограммы
- •Параметры подпрограммы
- •Пример передачи параметров от главной программы в подпрограмму через общие регистры
- •Сложение с п-кратной точностью
- •Подпрограмма сложения чисел с двойной точностью
- •Умножение
- •5.6. Загрузка программ
- •Подпрограмма умножения целых положительных чисел Распределение общих регистров: r2: счетчик, r3: множимое y, r4: множитель X, r5: ст. Часть произведения Рн, r6:мл. Часть произведения pl
- •80 (Маска)
- •Программа-загрузчик
- •5.7. Программирование на языке ассемблера
- •Ассемблеры
- •Язык ассемблера
- •Программа на языке ассемблера, соответствующая программе табл. 5.3
- •Директивы ассемблера
- •Макрокоманда
- •Список команд иллюстрированного микропроцессора
- •Список команд иллюстративного микропроцессора
- •Условные графические обозначения в схемах
- •Продолжение Приложение п3
- •Продолжение Приложение п3
- •Продолжение Приложение п3
- •Список литературы
- •Содержание и объем курсового проекта …………………………….
- •Оформление курсового проекта ……………………………………...
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Приложение п2
- •Приложение п2
- •Список литературы
4.4.2. Фаза выполнения
Следующий этап после выборки — это выполнение команды. Для одних команд выполнение завершается третьим оставшимся синхроимпульсом последнего машинного цикла, для других команд требуются дополнительные машинные циклы. Количество дополнительных циклов определяется в блоке управления и синхронизации в зависимости от выполняемой команды.
Рассмотрим фазу выполнения некоторых команд нашего микропроцессора. По ходу изложения следует обращаться к табл. 4.2.
Команды пересылки
Первой рассмотрим команду пересылки (MOV). По этой команде информация передается либо между двумя общими регистрами, либо между ячейкой главной памяти и общим регистром. На рис. 4.6 показаны информационные потоки в фазе выполнения команды MОV при передаче между регистрами.
Рис. 4.6 Информационные потоки в фазе выполнения команды MOV r from R при условии R≠11112
В частности, если в команде задано d = l, то в соответствии с табл. 4.2 содержимое любого регистра от 016 до Е1С, указанного в поле R команды, передается в один из регистров 016, 116, 216, указанный в поле r команды. Эта передача осуществляется третьим синхроимпульсом в том же машинном цикле, в котором был выбран первый байт команды. Таким образом, в рассмотренном случае командный цикл состоит из одного машинного цикла.
При R = 111112 команда MOV выполняется иначе. В этом особом случае реализуется упомянутый в разнее механизм косвенной адресации. На рис. 4.7 представлен случай, когда по-прежнему d = 1.
Рис. 4.7 Информационные потоки в фазе выполнения команды MOV r from R, когда R=11112
Содержимое общих регистров Н и L, содержащих соответственно старшие 8 и младшие 8 разрядов адреса, подаются на адресную шину. Затем после подачи импульса «чтение» содержимое адресуемой ячейки главной памяти принимается из шины данных в общий регистр r. Ввиду того что для выполнения команды потребовался внешний обмен, командный цикл занял два машинных цикла.
Команды с непосредственным адресом
Перейдем к рассмотрению команды загрузки регистра с непосредственным адресом LRI R. Ее особенности, как впрочем, и всех команд с непосредственным адресом, состоит в том, что данные являются частью самой команды. С помощью таких команд очень удобно задавать константы. Как уже говорилось раньше, на выборку команды в данном случае затрачивается два машинных цикла.
Байт, выбранный в первом цикле, помещается в регистр команд, а байт, выбранный во втором — в регистр адреса данных. После этого, если только R не равен 11112, выполнение команды завершается по третьему синхроимпульсу на втором машинном цикле. А именно, как показано на рис. 8, младшие 8 битов регистра адреса данных, содержащие второй байт команды, передаются в общий регистр R. Если же R = 11112, то, как и в случае команды MOV, требуется еще один машинный цикл для обращения к памяти.
Рис. 4.8 Информационные потоки в фазе выполнения команды LRI R при R 11112
Команды обращения к памяти
Теперь рассмотрим группу команд обращения к памяти. Это трехбайтовые команды, с помощью которых информация передается между памятью и одним из общих регистров 016, 116, 216 обозначаемых через r. В качестве примера рассмотрим команду запоминания содержимого регистра в памяти STR г. Выполнение команды проиллюстрировано на рис. 4.9.
Рис.4.9. Информационные потоки в фазе выполнения команды STR r
Содержимое регистра адреса данных, загруженного в фазе выборки-дешифрации вторым и третьим байтами команды, подается на адресную шину, а содержимое общего регистра r подается на шину данных. Затем устройство управления формирует сигнал «запись», стробирующий запись данных в адресуемую ячейку памяти. Фаза выполнения требует одного внешнего обмена и занимает один машинный цикл. Следовательно, полный командный цикл занимает четыре машинных цикла: три на фазу выборки-дешифрации и один на фазу выполнения.