Работа мп при выполнении команд: Вопрос 1.7.5. Полный цикл работы МП при выполнении команды — Студопедия

Вопрос 1.7.5. Полный цикл работы МП при выполнении команды — Студопедия

Выборка каждого байта команды производится в два этапа.

1. На первом этапе адрес байта команды, содержащийся в СК, передается в РА, а затем по адресным шинам в ОЗУ, где происходит выбор адресуемого байта.

2. На втором этапе — передача содержимого адресуемого байта по шинам данных в МП и увеличение содержимого СК на 1. При этом, если выбирается не последний байт команды то новое новое содержимое СК будет представлять адрес следующего байта текущей команды, а если выбирается последний байт, то адрес первого байта следующей команды.

3. При выборке первого байта команды его содержимое передается и фиксируется в РК.

4. Дешифратор кода операции по содержимому РК, поступающему на его вход, определяет вид операции, число байтов в команде, а также способ адресации, используемый в команде.

5. В соответствии с видом операции БУ задает необходимую последовательность управляющих воздействий, приводящих к выборке следующих байтов команды или к использованию команды.

Пример 1. Описать процесс выборки и исполнения команды, по которой содержимое регистра РОН суммируется с содержимым аккумулятора А. Результат операции фиксируется в аккумуляторе. Команда однобайтовая с прямой регистровой адресацией. В коде команды первые пять старших разрядов определяют код операции; три последних-код адреса регистра C. Команда записана в ячейку ОЗУ с адресом (номером) Число записано в регистр C РОН. В аккумулятор A записано число

Процесс выборки и исполнения команды можно условно разбить на несколько этапов:



1. Адрес команды 017616 записывается в РА.

2. Адрес команды из РА по шине адреса поступает ОЗУ.

3. ОЗУ находит ячейку с указанным адресом и считывает команду в буферный

4. регистр ОЗУ.

5. Команда из буферного регистра ОЗУ по внешней шине данных, буфер данных (БД), внутренней шине данных поступает в РК.

6. ДКОп распознает, что выборка команды закончна и над содержимым аккумулятора и регистра С РОН необходимо произвести суммирование.

7. Содержимое РА увеличивается на единицу и формируется адрес следующей ячейки ОЗУ

8. БУ вырабатывает последовательность сигналов, под воздействием которых числа из аккумулятора и из из регистра C РОН поступают в АЛУ. АЛУ производит операцию суммирования

9. Pезультат операции записывается в аккумулятор, замещая в нем прежнее число

10. Выполнение команды закончено. Начинается выборка следующей команды с адресом

Error

Jump to…

Jump to…Новостной форумЦели и задачи курсаПриобретаемые компетенции, знания и уменияМУ к лабораторныи работам Микропроцессорные устройства автоматики_2Курс лекций МПСУ_Раздел 1_Цифровые элементы микропроцессорных системКурс лекций МПСУ_Раздел 2_МикропроцессорыКурс лекций МПСУ_Раздел 3_Организация микропроцессорных системКурс лекций МПСУ_Раздел 4_Программирование микропроцессорных системкурс лекций МПСУ_Раздел 5_Однокристальные МИКРОЭВМКурс лекций МПСУ_Раздел 6_ Пример проектирования АСУ ТПВопросы для проверки остаточных знанийПример задания на курсовую работу 1 по МПСУПример задания на курсовую работу 2 по МПСУПриложение к выполнению курсовой работы 2Методические указания к курсовой работе по МПСУВопросы для теста по МПСУТесты по МПСУ для групп АПб-18Z1 и Z2Задания для студентов АПб-18Z1 Z2Цели и задачи курсаПриобретаемые компетенции, знания и уменияЛекции по курсу АТППВопросы для экзаменаПример задания на курсовой проектУчебное пособие по курсовому проектированию АТППЛабораторная работа_Виды и типы схемМетодические указания к лабораторным работам по АТПП_Идентификация объектов автоматизации ТПЛабораторная работа_Схемы автоматизации тепловых процессов Лабораторная работа_Автоматизация ТП приготовления углеводородной шихтыЛабораторная работа_Комплексная автоматизация ТП Лабораторная работа_Проектирование ТП для создаваемого автоматизированного производстваПример идентификации объекта автоматизации ТП.Задание для студентов АПб-17Z1 по АТППФайл исходных данных для MatlabЗадание по АСУТП для студентов САУб-17Z1Учебное пособие по телемеханиеКонтрольная работа №1Контрольная работа № 2Методические указания к контрольной работе по электроникеЗадание для контрольной работы по электроникеЗадание для студентов групп АПб-18 Z1 и Z2Задание по курсовой работе для студентов АПб-19Z1Учебное пособие по курсу Методические указания к лаборатоным работам «АСУ в среде Matlab-Simulink»Методические указания к лабораторным работам «Моделирование ЗТМ в Matlab-Simulink»Вопросы для экзамена по курсу КТА и УТесты для студентов АПм-19МАZ1Задание для студентов АПм-19МАZ1Задание на учебную практику для АПб-19Т1ГОСТ 21.408–2013Зырянова С.А. Пакеты прикладных программ.4. Сквозная практика для направлений подготовки «Автоматизация технологических процессов и производств»Варианты заданий для студентов АПб-19Z1Пример заполнения штампаПример оформления отчета по учебной практике

Методическая разработка для проведения практического занятия

МИНИСТЕРСТВО  ОБОРОНЫ  РОССИЙСКОЙ  ФЕДЕРАЦИИ

ВОЕННЫЙ  УНИВЕРСИТЕТ  ПРОТИВОВОЗДУШНОЙ ОБОРОНЫ

(филиал  г. Санкт-Петербург)

 Кафедра
№ 8

                   “ УТВЕРЖДАЮ”
        НАЧАЛЬНИК   КАФЕДРЫ   № 8
ПОЛКОВНИК                         В. ПОНОМАРЕВ
«_______»   ___________     200_ г.

Методическая
разработка
для
проведения практического занятия №13
по дисциплине “ Цифровые устройства и микропроцессоры “

Тема № 9

Особенности функционирования микропроцессоров.

Занятие
№ 43

Анализ работы МП при выполнении команд.

Обсуждено  на  заседании

предметно — методической

комиссии. Протокол №__

от »      » __________ 200_г.

 


УЧЕБНЫЕ И ВОСПИТАТЕЛЬНЫЕ ЦЕЛИ:

1.  Изучить и практически
освоить правила технически грамотной эксплуатации ПЭВМ, работы с аппаратно-имитационным
лабораторным комплексом  «Микро-580» (АИЛК).

2.  Помочь курсантам
систематизировать, углубить и  закрепить теоретические знания курсантов, полученные
на лекциях №21, №22 (соответственно занятия №41, №42).

3.  Обучить курсантов
методам и приемам решения практических задач используемых в процессе анализа
работы МП при выполнении команд.

4.  Приобрести умение
читать и отлаживать программы, готовить их к вводу в ПЭВМ, использовать
полученные на ПЭВМ результаты для анализа
работы МП при выполнении команд.

5.  Развивать у курсантов
навыки в разработке отчетной документации, самостоятельной практической работы
при выполнении пунктов задания, в работе на ВТ, в пользовании справочными
таблицами распечатки системы команд МП.

МАТЕРИАЛЬНОЕ ОБЕСПЕЧЕНИЕ:

Литература:

1.  Пятибратов А.П. и др. «Вычислительные системы,
сети и телекоммуникации
. »-М.: Финансы и статистика, 1998. с.122-139.

2.  Гилмор Ч. «Введение в микропроцессорную
технику»
: Пер. с англ. — М.: Мир, 1984., с. 94-195.

3.  Вершинин О.Е. «Применение микропроцессоров для
автоматизации технологических процессов».
— Л.: Энергоатомиздат. Отд-ние,
1986. с.122-126

4.  «Инструкция по
работе с АИЛК «Микро-580».

5.  Распечатка системы
команд МП.

Наглядные пособия:

1.  Слайды: «Структурная
схема МП».

2.  Системные справочные
материалы АИЛК «Микро-580».

Технические средства обучения:

1.  «Лектор-2000».

2.  ПЭВМ.

 УЧЕБНЫЕ ВОПРОСЫ И РАСЧЁТ ВРЕМЕНИ:

Вводная часть (введение)

— 5
мин.

Проверка подготовки курсантов к
занятию

— 10
мин

Основная часть (учебные вопросы ):

— 70
мин.

1. Анализ работы МП при выполнении команд пересылки данных.

— 20
мин.

2. Анализ работы МП при
выполнении арифметических команд
.

— 25 мин.

3.
Анализ работы МП при выполнении логических команд
.

— 25 мин.

Заключительная часть (заключение)

— 5 мин.

МЕТОДИЧЕСКИЕ  РЕКОМЕНДАЦИИ

1. Общие
организационно-методические рекомендации.

Занятие проводится двумя
преподавателями  в классе ПК с привлечением инженера (техника) ЛВТ для
обеспечения проведения занятия. Учебный взвод разбивается на рабочие группы по
2-3 курсанта, группы располагаются за компьютерами на 10-ти рабочих местах.

Главным содержанием
практического занятия должна быть работа каждого курсанта на  изучаемом объекте
— программной модели МП.

В результате занятия курсанты
должны: провести анализ работы МП при выполнении команд пересылки данных,
арифметических и логических команд, систематизировать данные, полученные в результате
выполнения программ микропроцессором в пошаговом режиме, письменно ответить на
поставленные в задании вопросы.

Преподаватели обязаны
убедиться путем личного наблюдения или опроса в достаточной подготовленности
курсантов к выполнению данной работы и знаний ими правил техники безопасности.

Основной вид работы обучаемых
– самостоятельное выполнение пунктов задания.

Преподаватели контролирует
ход работы на каждом рабочем месте, проверяют правильность пользования
директивами модели, соответствие программ, записанных курсантами в ОЗУ,
исходным текстам. Активизация работы курсантов достигается постановкой задач,
требующих творческого подхода к их решению.

При выполнении пунктов
задания курсанты ведут учет и делают оценку полученных результатов, на
основании их заполняется таблица 1 (см. Приложение1).

При выполнении программ в
пошаговом режиме преподаватели акцентируют внимание обучаемых на взаимосвязи
очередной выполняемой команды и соответствующих изменениях содержимого,
индицируемых на экране монитора регистров МП.

По ходу занятия преподаватели
анализируют трудности, возникающие при выполнении пунктов задания курсантами,
при необходимости вмешиваются в ход работы отстающих групп, следят за их непрерывностью,
не допускают незапланированных потерь машинного времени.

2. Методические
рекомендации  по вводной части.

Перед занятием группа
выстраивается перед классом ПК. После принятия рапорта  дежурного проверить
наличие, внешний вид курсантов, готовность класса  ПК  к занятию, дать указания
на устранение выявленных недостатков. Провести инструктаж по ТБ. Объявить тему,
отрабатываемые вопросы, план занятия, учебные и воспитательные цели.

3. Методические рекомендации
по  проверке подготовки курсантов к занятию.

Проверку
подготовки курсантов к занятиям провести путем устного опроса по материалам,
лекций №21 и №22.

Перечень вопросов:

§  Входные и выходные сигналы МП.

§  Состояния МП.

§  Обращение к ОЗУ. Циклы записи и
чтения

§  Выполнение команд пересылки
данных.

§  Выполнение однобайтных
арифметических и логических команд.

§ 
Выполнение двухбайтных
арифметических и логических команд.

4. Методические
рекомендации по отработке учебных вопросов.

После проверки подготовки
курсантов к занятию ведущий преподаватель выдает задание (см.Приложение1)
на практическую работу, кратко поясняет особенности выполнения каждого пункта и
оформление требуемой отчетности, отвечает на возникающие у курсантов вопросы,
приводит поясняющие примеры. Затем обучаемые приступают к практическому выполнению
задания непосредственно на ПК. Преподаватели контролируют правильность записи
программ в ОЗУ модели МП и выполнение их в пошаговом режиме. Для активизации
работы курсантов на доске вторым преподавателем ведется учет выполненных
пунктов задания рабочими группами с оценкой уровня достижения учебных целей и
освоения материала на каждом рабочем месте. За 15 минут до окончания занятия,
ведущий преподаватель проводит опрос по результатам, полученным в ходе проводимых
работ с выставлением оценок. На опрос также выносятся вопросы, вызвавшие
наибольшие трудности у курсантов при выполнении пунктов задания. (см.Приложение2)

5. Методические рекомендации по заключительной части.

Старший преподаватель
подводит итоги занятия, объявляет и выставляет оценки, отмечая рабочие группы,
наиболее эффективно использующие учебное время и указывая недостатки отстающим
группам и конкретным курсантам. Назначает время для консультаций. Выдает
задание на самоподготовку:

§ 
курсантам, не успевшим  выполнить
пункты задания практического занятия завершить работу в часы самоподготовки.

§ 
повторить тему №8 «Программные
и аппаратные основы МП
»;

§ 
к следующему занятию подготовиться
к письменной «летучке» по вопросам Пз.№12.

§  иметь конспекты лекций №22
«Функционирование МП при выполнении      команд переходов и работы со стеком».

СТАРШИЙ ПРЕПОДАВАТЕЛЬ КАФЕДРЫ № 8

ПОДПОЛКОВНИК                   С. ЗАЙЦЕВ

Структура МП и МПС (Лекция) | МПС

МПС

ПЛАН ЛЕКЦИИ

1. Основные функции и структура
микропроцессора

2. Устройство управления
микропроцессора

3. Состав микропроцессорной системы

4. Память микропроцессорных систем

5. Работа со стековой памятью

6. Методы адресации операндов в
командах Ассемблера AVR-контроллера

7. Регистры ввода/вывода AVR
микроконтроллера

8. Работа регистров цифрового
ввода/вывода

 

1. Основные функции и структура микропроцессора

Микропроцессор (МП) выполняет 2 функции:

1. Вычисляет, т.е. выполняет над числовыми данными
арифметические и логические операции.

2. Управляет потоками данных, организуя как сами вычисления,
так и их требуемую последовательность.

Любой МП (Рис.3) состоит из следующих
функциональных узлов:

1. Арифметико-логическое устройство (АЛУ).

2. Регистры.

3. Устройство
управления.

 

Рис.
Функциональная схема микропроцессора

ВМД – внутренняя
магистраль данных,

МА – магистраль
адреса,

МУ – магистраль
управления,

МД – магистраль
данных.

АЛУ – это
комбинационный цифровой автомат, имеющий два входа и один выход. АЛУ выполняет
арифметические и логические операции с двумя входными сигналами, каждый из
которых представляет собой набор из 8-ми двоичных разрядов.

Регистром
является устройство для хранения 8-ми разрядного двоичного числа. Оно состоит
из восьми триггеров, каждый из которых может хранить один двоичный разряд.

Регистровый файл AVR-контроллера состоит из 32
однобайтных регистров, имеющих имена R0-R31 и
сквозные адреса в пространстве ОЗУ 0-31. Шесть регистров R26-R27, R28-R29, R30-R31 выступают как парные регистры X, Y, Z. Они могут работать как в паре,
так и независимо. Эти парные регистры предназначены для хранения адресов ячеек
памяти.

Регистр РС — программный счетчик, хранит
двухбайтный адрес ячейки памяти, где расположен первый байт команды, которая
будет выполняться микропроцессором на следующем шаге. Пример: при включении
микропроцессора РС=0016, после считывания первого байта первой
команды, определяется длина команды, которая складывается с содержимым регистра
РС. Таким образом, после выполнения команды в регистре РС находится адрес первого
байта следующей команды.

Регистр SP – указатель стека предназначен для управления специализированной
областью стековой памяти, адресация в которой осуществляется по содержимому
регистра SP. Стековая
память расположена по старшим адресам области ОЗУ
(Область «Data» в пакете
«AVRStudio»).

Содержимое регистров PC и SP можно наблюдать в окне Workspace\IO\Processor.

РП –
регистр признаков, флаговый
регистр, или регистр статуса.

Этот регистр предназначен
для хранения результатов контроля выполнения команды. Он состоит как минимум из
пяти информационных двоичных разрядов.

Рис.
Структура РП для процессора К-580

Разряд С называется флагом переноса и становится равным единице
после выполнения арифметической команды, если результат операции не умещается в
восьми битном регистре приемника. Пример: 250+50=44, С=1; 250+1=251, С=0.

Рис.
Структура РП для AVR
контроллера

Z – флаг нуля. Принимает значение 1,
если по окончании арифметической операции во всех разрядах регистра получателя
или регистра приемника содержатся нули. Пример: 250+6=0, Z=1; 250+1=251, Z=0.

N – флаг отрицательного результата,
дублирует старший разряд регистра получателя после выполнения арифметической
операции.

Пример: 120+7=127, N=0; 120+8=-128, N=1

V – флаг переполнения, указывает на
верность (V=0) или
ошибочность (V=1)
результатов арифметической операции со знаковыми числами.

Пример: 100+20=120, V=0; 100+29=-127, V=1.

S – флаг знака, S=N xor V, где xor-логическая операция
«исключающая ИЛИ»

Н – флаг дополнительного переноса,
указывает на наличие переноса из младшей тетрады в старшую при выполнении арифметической команды.

Пример: 10+1=11, H=0;15+1=16, H=1.

Т – флаг трассировки.

I – флаг прерывания.

Содержимое регистра PП или регистра
статуса SREG можно наблюдать
в окне Workspace\IO\CPU\SREG.

 

 

2. Устройство управления микропроцессора

Устройство управления МП обеспечивает необходимую последовательность
действий МП при выполнении программы, состоящей из команд записанных в ПЗУ (Memory/program).

УУ состоит из дешифратора команд и формирователя сигналов управления
(ДШК и ФСУ).

Рис. Устройство управления МП

 

При выполнении любой команды
программы содержимое программного счетчика загружается в магистраль адреса МА
(см.рис.7 – схема микропроцессорной системы),
одновременно формируется сигнал чтения памяти программ и в ответ на эти сигналы
содержимое первого слова команды, хранящейся в ячейке памяти программ,
загружается в МД (магистраль данных), откуда поступает в ДШК УУ. После этого
содержимое регистра программного счетчика РС наращивается на единицу,
подготавливая выполнение считывания очередной команды.

ДШК определяет тип команды и
тип адресации операндов, в соответствии с которым УУ генерирует управляющие
сигналы:

CLK – тактовые сигналы,

Mem R – сигнал считывания из
памяти,

Mem W — сигнал записи в память,

IOR – сигнал считывания из регистров
ввода-вывода,

IOW – сигнал записи в регистры
ввода-вывода.

Пример №1:

LDI R16, 100 – ни один из
управляющих сигналов не генерируется.

LDS R16, 100 – генерируется
сигнал MemR.

STS 100, R16 – генерируется сигнал MemW.

LDS R16, 95 – генерируется сигнал
IOR, после считывания
первого байта команды, УУ определяет прямой тип адресации 2-го операнда и, для
обращения к этому операнду, формируется сигнал IOR для его прочтения из ПЗУ.

 

3. Состав микропроцессорной системы

МП является частью
микропроцессорной системы (МПС), состоящей из МП, устройства ввода-вывода (УВВ)
информации и периферийных устройств. МПС, реализованная
на одном кристалле (в одной микросхеме), называется микроконтроллером.

Рис. Микропроцессорная система

 

4. Память микропроцессорных систем

В современных
микроконтроллерах память ПЗУ является «flash» памятью, которая позволяет производить перезапись ее
содержимого с помощью внутрисхемного программирования при малых уровнях
напряжения информационных сигналов.

ОЗУ современных
микроконтроллеров выполняются на статических и динамических элементах.
Статические ОЗУ реализуются на биполярных схемах, образующих триггера. В
ячейках динамических ОЗУ информация запоминается на конденсаторе ячейки. Т.к.
разряд конденсатора происходит в течение нескольких миллисекунд, то постоянно
необходимо осуществлять перезапись в ячейки или регенерировать ее содержимое.
Поэтому динамические ОЗУ снабжаются специальными схемами регенерации.
Динамические ОЗУ имеют большую степень интеграции, чем статические.

 

5. Работа со стековой памятью

Программы на языке Ассемблер, также как и на других языках программирования,
используют команды вызова подпрограмм и возврата из подпрограмм, это команды: Call и Ret. Команда Call, также как и любая другая команда
ветвления, в качестве операнда использует адрес или метку точки перехода.

Команда Call вызывает выполнение последовательно двух действий:

1. Содержимое программного счетчика, равное адресу ячейки памяти ПЗУ с
командой, которая будет выполняться на последующем шаге, запоминается в
стековой памяти, чтобы использовать ее при возврате из подпрограммы.

2. В регистр «программный счетчик»
загружается операнд команды Call, равный численному адресу первой команды вызываемой
подпрограммы.

При возврате из подпрограммы по команде Ret происходит только одно действие: в
программный счетчик загружается число из стековой памяти, которое было ранее
туда загружено по команде Call. Соответственно после команды Ret будет выполняться команда, следующая
в программе за командой Call.

Если в подпрограмме происходит обращение к другой подпрограмме (вложенные
подпрограммы), то сохранение точек возврата происходит аналогичным образом.

Под стековой памятью мы
понимаем область ОЗУ или Data со старшими адресами. Если рассматривать ОЗУ как
набор ячеек, где ячейки с младшими адресами расположены наверху, а со старшими
– внизу, то при включении данных в стек (стопка бумаг) эти данные как бы
кладутся сверху ранее занятых ячеек стека, а при извлечении данных из стека,
они берутся из верхних ячеек стековой памяти. Контролирует стековую память
специальный регистр SP (Stack-Pointer), который содержит адрес ячейки памяти соответствующей
верхушке стека. Этот регистр автоматически изменяет свое содержимое на два
(увеличивает или уменьшает) при выполнении команд обращения к стековой памяти (Push, Pop, Call, Ret).

 

6. Методы адресации операндов в командах Ассемблера AVR-контроллера

В AVR-микроконтроллере
существует три области памяти, каждая со своей системой адресации, начинающаяся
с нулевого адреса до конечного:

1. ПЗУ – постоянное запоминающее
устройство, предназначенное для хранения машинных кодов управляющих программ.
Сюда загружаются объектные hex-файлы, создаваемые пакетом AVR Studio. Ассемблерные команды
не могут обращаться к ячейкам памяти ПЗУ.

2. EEPROM – энергонезависимое ОЗУ.
Ассемблерные команды позволяют обращаться к ячейкам памяти EEPROM.

3. ОЗУ. Ячейки памяти ОЗУ
используются во всех ассемблерных командах. Эта область состоит из 3-х
подобластей, которые имеют последовательную сквозную адресацию.

3.1. Первая подобласть состоит из 32
регистров, которые имеют двоякую адресацию: по имени регистра (R0-R31) или по ее числовому адресу ( или от
 до ). Они используются для оперативного хранения результатов промежуточных
вычислений.

3.2. Следующей подобластью ОЗУ являются
регистры ввода/вывода, предназначенные для обмена информацией с периферийными
устройствами (таймеры, компараторы, АЦП, порты дискретного ввода/вывода информации).
Регистры ввода/вывода также как и регистры имеют двойную адресацию: по имени
регистра ввода/вывода и по его числовому адресу. Числовой адрес регистра
ввода/вывода также имеет двойное представление. Если регистр
ввода/вывода используется в командах in или out,
то адреса регистров ввода/вывода находятся в диапазоне с  по  или с  по . Эти команды принадлежат к группе команд передачи данных.
Если к регистрам ввода/вывода обращаются другие команды языка ассемблера, то
используется адресация в диапазоне от  до  или от  до .

Содержимое регистров и регистров
ввода/вывода, определенное их именами, мы можем наблюдать в окне «Workspace». В этом окне
приведена также двойная числовая адресация регистров ввода/вывода. Содержимое регистров
и регистров ввода/вывода, определенное их числовыми адресами, мы можем наблюдать
в окнах Memory, Register, I/O.

3.3. Область «Data». В этой области
расположены ячейки памяти ОЗУ, которые используются для оперативного хранения
результатов промежуточных операций. Эти ячейки имеют лишь числовую адресацию.
Адрес младшей ячейки этой области  или , размер этой области определяется типом контроллера.

При работе в пакете AVR Studio при установке курсора
на любую ячейку памяти ОЗУ появляется всплывающая «подсказка», в которой расположено
4 элемента, разделенных знаком двоеточие. Слева от двоеточия стоит адрес ячейки
памяти в 16-ой системе исчисления, а справа – содержимое ячейки памяти в 16-ой,
10-ой, 2-ой системах исчисления. 

Первый тип адресации, который используется в командах AVR ассемблера называется» регистровый тип адресации» и
подразумевает, что мы определяем расположение операнда в регистровом файле по
имени регистра.

Пример №1:

ldi R16,
100 – операнд получатель или первый операнд адресуется именем регистра.

mov R1, R16 – оба операнда (и регистр
получатель и регистр источник – второй операнд) определены именем регистра.

Второй тип адресации – непосредственный
тип адресации – используется лишь для операнда источника (LDI R16, 100) и задает содержимое
операнда в самой команде. Под непосредственным типом адресации операнда в любой
команде Ассемблера мы понимаем ее определение не через адрес распространения эпого операнда (в ОЗУ), а через ее значение в самой команде
(в ПЗУ).

Пример №2:

ldi R16,
100; здесь число сто загружается в регистр R16.

Третий тип адресации – прямой тип
адресации. При этом числовая константа в команде обозначает адрес ячейки
памяти, содержимое которой является операндом команды.

Пример №3:

lds R16,
100,

где 100 – адрес ячейки памяти, содержимое
которой загружается в регистр R16.

Определить
тип адресации в командах ldi и lds можно двумя способами:

Первый способ — Мы должны запомнить, что
непосредственный тип адресации в команде передачи данных используется лишь в
команде ldi.

Второй способ — Пользуясь
Хелпом пакета AVR Studio в строке функции команды мы видим, что функции
команды ldi
символьно записываются в виде:

R16←K, а
в команде lds
– R16←(K),

где (K) обозначают содержимое ячейки памяти , адрес
которой равен числовой константе К.

Четвертый тип адресации — Косвенный тип
адресации, когда в команде указываются наименование парного регистра (или X или Y или Z), содержимое которых определяет адрес ячейки памяти, содержимое которой
участвует в качестве операнда. Символьно эта операция
записывается в виде: R16←((Х)).

Пример №4:

ld R16, X

R16←((X))

Косвенный тип адресации с пост инкрементом
или с пред декрементом.

Этот тип адресации используется для
адресации циклических вычислений и включает в себя выполнение одновременно двух
действий: пост инкремент или пред декремент
содержимого парного регистра и  передача
одного байта информации из одного места в другое.

Пример №5:

ld R16, X+

Первое действие: R16←((X)). Второе действие: парный
регистр Х наращивается на 1: Х=Х+1.

st – X,R16

Первое действие: Х=Х-1.
Второе действие: ((X))← R16.

 

 

7. Регистры ввода/вывода AVR микроконтроллера

 

Все регистры ввода/вывода (общее число 64)
можно разделить на следующие основные группы:

1. Регистры портов
цифрового ввода/вывода информации.

2. Регистры портов,
обслуживающих периферийные устройства (АЦП,UART, компараторы, таймеры, внешние прерывания)

3. Регистры портов,
обслуживающих работу МП.

Регистры – устройства памяти,
расположенные на кристалле процессора или микроконтроллера, необходимые для
хранения промежуточных вычислений, к ним обращаются лишь на программном уровне
с помощью команд.

Регистры ввода/вывода предназначенные для обмена
информацией с внешней средой как на программном
уровне, так и на аппаратном.

Регистры портов, обслуживающих работу
процессора:

Регистры Spl, Sph  (стековая память)

Регистры SREG.

RAM (Read Access Memory)
производит доступ к памяти, традиционно использовали для обозначения ОЗУ.

DDR A – задание направления выдачи информации для регистра.

PORT A – это непосредственно триггер, который запоминает выводимую
информацию. Это устройство статистическое.

PINE A – регистр не предназначенный для хранения долговременной
информации и отображающий напряжение на ножке А.

Адреса регистров
ввода-вывода, их имена и функции приведены ниже.

 

Табл.
Регистры ввода/вывода AVR-контроллера






















































Адрес I/O (Адрес RAM)

Обозначение

Функция

$ 3D ($5D)

SPL

Указатель стека (младший байт)

$ 3E ($5E)

SPH

Указатель стека (старший байт)

$ 3F ($5F)

SPEG

Регистр статуса (признаков или флаговый регистр)

$ 00 ($20)

PINF

Выводы входов порта F

$ 01 ($21)

PINE

Выводы входов порта E

$ 02 ($22)

DDR E

Регистр направления данных порта E

$ 03 ($23)

PORT E

Регистр данных порта E

$ 04 ($24)

ADCL

Младший байт регистра данных АЦП

$ 05 ($25)

ADCH

Старший байт регистра данных АЦП

$ 06 ($26)

ADCSR

Регистр управления и статуса АЦП

$ 07 ($27)

ADMUX

Регистр мультиплексора АЦП

$ 08 ($28)

ACSR

Регистр управления и статуса аналогового ком.

$ 09 ($29)

UBRR

Регистр управления скоростью порта UART

$ 0A ($2A)

UCR

Регистр управления порта UART

$ 0B ($2B)

USR

Регистр статуса порта UART

$ 0C ($2C)

UDR

Регистр данных порта UART

$ 0D ($2D)

SPCR

Регистр управления порта SPI

$ 0E ($2E)

SPRC

Регистр статуса порта SPI

$ 0F ($2F)

SPDR

Регистр данных порта SPI

$ 10 ($30)

PIN D

Выводы входов порта D

$ 11 ($31)

DDR D

Регистр направления данных порта D

$ 12 ($32)

PORT D

Регистр данных порта D

$ 13 ($33)

PINC

Выводы входов порта C

$ 14 ($34)

DDR C

Регистр направления данных порта C

$ 15 ($35)

PORT C

Регистр данных порта C

$ 16 ($36)

PIN B

Выводы входов порта B

$ 17 ($37)

DDR B

Регистр направления данных порта B

$ 18 ($38)

PORT B

Регистр данных порта B

$ 19 ($39)

PIN A

Выводы входов порта A

$ 1A ($3A)

DDR A

Регистр направления данных порта A

$ 1B ($3B)

PORT A

Регистр данных порта A

$ 1C ($3C)

EE CR

Регистр управления EEPROM

$ 1D ($3D)

EE DR

Регистр данных EEPROM

$ 1E ($3E)

EE ARL

Младший байт адреса EEPROM

$ 1F ($3F)

EE ARH

Старший байт регистра адреса EEPROM

$ 20 ($40)

Резерв

Резерв

$ 21 ($41)

WDTCR

Регистр управления сторожевого таймера

$ 23 ($42)

Резерв

Резерв

$ 24 ($43)

OCR2

Регистр выхода таймера/ счетчик №2

$ 24 ($44)

TCNT2

Таймер/счетчик №2

$ 25 ($45)

TCCR2

Регистр управления таймера/счетчика №2

$ 26 ($46)

 

ICR1L

 

Младший байт регистра захвата

таймера/счетчика №1

$ 27 ($47)

 

ICR1H

 

Старший байт регистра захвата

таймера/счетчика №1

$ 28 ($48)

 

OCR1BL

 

Младший байт регистра в сравнения выхода таймера/счетчика
№1

$ 29 ($49)

OCR1BH

Старший байт регистра в сравнения выхода таймера/счетчика
№1

$ 2A ($4A)

OCR1AL

Младший байт регистра A в сравнения выхода
таймера/счетчика №1

$ 2B ($4B)

OCR1AH

Старший байт регистра A в сравнения выхода таймера/счетчика
№1

$ 2C ($4C)

TCNT1L

Младший байт таймера/счетчика №1

$ 2D ($4D)

TCNT1H

Старший байт таймера/счетчика №1

$ 2E ($4E)

TCCR1B

Регистр управления В
таймера/счетчика №1

$ 2F ($4F)

TCCR1A

Регистр управления А
таймера/счетчика №1

$ 30 ($50)

ASSR

Регистр статуса асинхронного
режима.

 

 

8. Работа регистров цифрового ввода/вывода

 

Каждый порт
ввода/вывода цифровой информации, которых в контроллере бывает несколько и
которые различаются именем (А, В, С, D, E, F)
реализуются тремя регистрами со следующими именами: DDRA, PORTA и PINA.

Назначение этих
регистров:

DDRA
предназначен для программирования направления передачи информации в порту А.

Единичное значение бита регистра DDRA определяет режим выдачи
информации одноименного бита регистра порта А.

Нулевое значение бита определяет ввод
информации в одноименный бит порта А.

С ножками порта А
связан регистр PINA,
т.е. аппаратно сформировав потенциал на соответствующей ножке цифровой сигнал,
его можно считать программно из регистра PINA. При выдаче информации она запоминается в регистрах порта А (“защелкивается”).

С регистрами портов процессор работает при
помощи команд «out» и «in», если используется
адресация регистров ввода-вывода. При использовании сквозной нумерации
пространства ОЗУ применяются все остальные команды группы передачи данных.

 

Архитектура МП (Лекция) | МПС

МПС

Архитектура МП (Лекция)

                       

ПЛАН ЛЕКЦИИ

1. Внутреннее
построение микропроцессора

2.
Арифметико-логическое устройство (АЛУ)

3. Регистры МП

4. Аккумулятор

5. Счетчик
команд (Program Counter (РС) — программный счётчик)

6. Регистр
адреса памяти (регистр адреса)

7. Регистр
команд

8. Регистр
состояния

9. Буферные
регистры АЛУ

10. Регистры
общего назначения (РОН)

11. Указатель
стека (Stack Pointer — (SP))

12. Схема
управления

 

1. Внутреннее построение
микропроцессора

 

Потребитель, воспринимает МП как нечто цельное,
имеющее внешние потребительские свойства, заложенные в его архитектуру.

Архитектура МП – функциональные возможности
аппаратных средств МП, используемые для представления данных, машинных
операций, описания алгоритмов и процессов вычислений.

С точки зрения пользователя-программиста под
архитектурой МП в общем случае понимают совокупность следующих компонентов и
характеристик:

1)      разрядность
адресов и данных;

2)      состав
и назначение программно-доступных регистров;

3)      формат
и система команд;

4)      режим
адресации памяти;

5)      способы
машинного представления данных разного типа;

6)      структура
адресного пространства;

7)      способы
адресации внешних устройств и средств выполнения операций ввода-вывода;

8)      классы
прерываний, особенности инициирования и обработки прерываний.

Какими бы ни были рассматриваемые МП, касающаяся их
информация содержит много общего. Типовая документация содержит информацию о
структуре ИС, схеме выводов ИС и назначение каждого из них. Схематизируется архитектура
МП, описываются его основные свойства. Одновременно даются временные диаграммы
и состав команд МП.

Структурная схема МП даёт наглядное представление о
его архитектуре и позволяет рассмотреть работу МП по выполнению двух основных
функций: обработке и манипулированию данными.

Использование структурной схемы МП существенно
облегчает понимание того, как МП решает поставленные задачи. Рассмотрим
структурную схему, представленную на рисунке 1. Изображённый 8-разрядный МП приведен
в качестве типичного примера и не является какой-либо конкретной моделью, выпускаемой
промышленностью.

         Структурная
схема МП даёт наглядное представление о его архитектуре и позволяет рассмотреть
работу МП по выполнению двух основных функций: обработке и манипулированию
данными.

 

Рис.
1. Структурная схема 8-разрядного МП

 

         Использование
структурной схемы МП существенно облегчает понимание того, как МП решает
поставленные задачи. Рассмотрим структурную схему представленную на рис. 1

         МП
состоит из трёх основных блоков: АЛУ, нескольких регистров и устройства
управления. Для передачи данных между этими блоками МП используется внутренняя
шина данных. Поясним назначение отдельных элементов структурной схемы.

 

2. Арифметико-логическое устройство (АЛУ)

         АЛУ
выполняет обработку данных. Типичными операциями, выполняемыми АЛУ являются
сложение, инвертирование, сдвиг, а также операции инкремента и декремента. АЛУ
содержит два входных порта и один выходной порт. Оба входных порта снабжены
буферами, роль которых выполняют регистры временного хранения данных – буферные
регистры. В конечном итоге АЛУ выполняет все арифметические и логические
операции. Каждый порт соединён со своим буферным регистром, способным хранить
для АЛУ одно слово данных. АЛУ принимает данные или с внутренней шины данных
МП, или из специального регистра, именуемого аккумулятором. Единственный
выходной порт АЛУ пересылает слово данных в аккумулятор. АЛУ оперирует одним
или двумя словами в зависимости от вида выполняемой операции.

         Схема десятичной коррекции позволяет
производить операции десятичной арифметики. Точнее, позволяет выполнять
обработку данных, представленных в двоично-десятичной системе счисления.

 

3. Регистры МП

       Регистры
являются важной составной частью любого МП. Количество и назначение регистров в
МП зависит от его архитектуры. Однако все МП имеют шесть основных регистров:
состояния, буферные, команд, адреса памяти, счетчик команд и аккумулятор.
Остальные регистры предназначены для упрощения работы программиста. В процессе
ознакомления с каждым из основных регистров следует обращать внимание на то, какое
влияние оказывает именно этот регистр на данные, проходящие через МП. Некоторые
основные регистры не используются в качестве средства программирования. Это
объясняется не их физическим отсутствием, а тем, что программисту не предоставляются
средства изменения содержимого этих регистров. Понимание влияния каждого
основного регистра на поток данных в МП позволяет получить правильное
представление о его функционировании.

 

4. Аккумулятор

 

       Аккумулятор – главный регистр МП при различных
манипуляциях с данными. Для выполнения любой операции над данными прежде всего
их необходимо поместить в аккумулятор. Данные поступают в него с внутренней
шины данных МП. В свою очередь аккумулятор может посылать данные на эту шину.
На пути прохождения данных из аккумулятора в АЛУ находится буфер аккумулятора.
Большинство арифметических и логических операций осуществляется путём
использования АЛУ и аккумулятора. Любая из таких операций над двумя словами
данных предполагает размещение одного из них в аккумуляторе, а другого в памяти
или в каком-либо регистре. Результат операции АЛУ размещается в аккумуляторе.
При этом исходное содержимое аккумулятора теряется.

         Количество
разрядов аккумулятора соответствует разрядности шины данных МП, т.е. 8 бит.
Некоторые МП имеют аккумуляторы двойной длины или группу аккумуляторов.

 

5. Счетчик команд (Program Counter (РС) — программный счётчик)

 

       Для
корректного выполнения программы её команды должны поступать в строго
определённом порядке. Счетчик команд следит за тем, какая команда выполняется,
а какая подлежит выполнению следующей. Счетчик команд содержит адрес ячейки
памяти следующей для выполнения команды. Для МП адресующихся к памяти объёмом
64 кбайта число разрядов счетчика команд равно 16. Счетчик команд (РС) соединён
с внутренней шинной данных МП. Теоретически этот регистр может получать данные
об адресах программы из любого блока МП, подключенного к внутренней шине.
Однако в действительности данные поступают в счетчик команд из памяти ЭВМ.

         Для
правильного понимания излагаемого отметим следующее. После извлечения команды
из памяти МП автоматически даёт приращение содержимому счетчика команд. Это
приращение СК получает как раз в тот момент, когда МП начинает выполнять
команду, только что извлеченную из памяти. С этого момента СК указывает, какой
будет следующая команда. СК содержит адрес следующей выполняемой команды на
протяжении всего времени выполнения текущей команды. Перед выполнением
программы СК загружается адресом ячейки памяти, содержащей первую команду
программы.

 

6. Регистр адреса памяти (регистр адреса)

 

         При
каждом обращении к памяти ЭВМ регистр адреса памяти указывает (содержит) адрес
ячейки памяти, которая подлежит использованию МП. Регистр адреса памяти
содержит двоичное число – адрес области памяти. Выход этого регистра называется
адресной шиной.

         В
течение выборки команды из памяти регистр адреса памяти и счетчик команд имеют
одинаковое содержимое, то есть регистр адреса памяти указывает местоположение
команды извлекаемой из памяти. После декодирования команды счетчик команд
получает приращение, а регистр адреса памяти приращения не получает. При
выполнении команды содержимое регистра адреса памяти зависит от выполняемой
команды. Если МП должен произвести ещё одно обращение к памяти, то регистр
адреса памяти подлежит вторичному использованию при обработке команды. Для
некоторых команд адресация к памяти не требуется. При обработки таких команд
регистр адреса памяти используется только один раз — в течении подцикла выборки
команды из памяти. Регистр адреса памяти располагает количеством разрядов, достаточным
для адресации любой области памяти ЭВМ. Для памяти 64 кбт-16 разрядов.

 

7. Регистр
команд

 

         В
ходе извлечения команды из памяти её первый байт (КОП) передаётся в 8-разрядный
регистр команд. Содержимое регистра доступно тогда дешифратору команд. Регистр
команд предназначен исключительно для хранения текущей выполняемой команды. Эта
функция реализуется МП с начала цикла выборка-выполнение, называемый также
машинным циклом. Регистр команд соединён с внутренней шиной данных, однако он
может только принимать данные – посылать данные на шину он не может.

         При
извлечении команды из области памяти копия команды помещается на внутреннюю
шину данных и пересылается в регистр команд. Далее дешифратор команд считывает
содержимое регистра команд, сообщая МП что делать для реализации операций
команды.

 

8. Регистр состояния

 

       Наличием
регистра состояния подлинная ЭВМ отличается от калькулятора. Данный регистр
предназначен для хранения результатов некоторых проверок состояния
аккумулятора, осуществляемых в процессе выполнения программы. Регистр состояния
содержит пять одноразрядных индикаторов, содержимое этих индикаторов
используется условными ветвлениями программ.

         На
рис. 2 показаны разряды регистра состояния. Этот регистр ещё называют регистром
признаков.

       Бит CY
указывает, что последняя выполненная операция сопровождалась переносом или
заёмом. Значение разряда переноса устанавливается равным 1, если в результате
сложения двух чисел имеет место перенос из 8-го разряда результата.
Отрицательный перенос фиксируется в бите CY при вычитании большего числа из меньшего.

 

         Бит нулевого результата Z принимает единичное
значение, если после окончания операции во всех разрядах результата обнаружены
двоичные нули. В противном случае бит Z содержит нуль.

         Знаковый бит S принимает единичное значение, когда
старший значащий бит результата становится равным 1. При выполнении
арифметических операций с числами в дополнительном коде единичное значение
старшего бита показывает, что получено отрицательное число.

       Бит четности Р поверяет число единиц в аккумуляторе.
Если это число четное то в бите P
устанавливается 1, если число нечетное – бит Р сбрасывается в 0.

         Бит вспомогательного переноса АС
показывает перенос из третьего разряда аккумулятора в четвёртый. Работает
аналогично индикатору CY.
Значение этого бита используют команды десятичной арифметики.

         Не все разряды регистра состояния
используются МП. В неиспользуемых 8-разрядах постоянно записаны двоичные
единицы или нули. Слово состояния МП – это содержимое регистра состояния.
Содержимое регистра состояния может быть загружено во внутреннею шину данных
МП. Однако он не имеет возможности принимать данные, поступающие по шине.

 

9. Буферные регистры АЛУ

 

       Буферные
регистры предназначены для временного хранения одного слова данных. Один из
этих регистров называется буфером аккумулятора АЛУ. В оба буферных регистра
данные поступают с внутренней шины данных МП. В буфер аккумулятора данные могут
поступать и с выхода аккумулятора. Необходимость в таких регистрах вызвана
отсутствием в АЛУ своего запоминающего устройства. В состав АЛУ включены только
комбинационные схемы и поэтому при поступлении исходных данных на входы АЛУ
немедленно появляется результат на его выходе. Результат помещается в
аккумулятор. Комбинационные операции – операции, при которых информационные
сигналы на выходах операционного блока представляют собой некоторую функцию входных
сигналов и существуют до тех пор, пока поданы на входы операционного блока
входные сигналы.

         Работа
АЛУ без регистров временного хранения данных невозможна. Когда в арифметической
или логической операций АЛУ участвуют два слова данных, одно из них из
аккумулятора. Результат подобной операции помещается в аккумулятор. Буфер
аккумулятора позволяет избежать ситуации, при которой вход и выход АЛУ
одновременно подсоединены к одной и той же точке схемы. Буферные регистры
недоступны для программирования.

 

10. Регистры общего назначения (РОН)

 

         В
некоторых МП РОН служат в качестве запоминающих устройств, это позволяет
повысить быстродействие микро-ЭВМ за счет сокращения пересылок кодов между МП и
памятью. В некоторых МП функциональные возможности этих регистров не уступают
возможностям аккумулятора. Последнее достигается в том случае, если АЛУ может
помещать в них данные.

         Регистры общего назначения BC, DE, HL могут быть использованы как шесть 8-разрядных или три
16-разрядные пары регистров в зависимости от текущей выполняемой команды.
Выборка команд длиной 2 и 3 байт производится с участием регистров W и Z. Первый байт команды заносится в регистр
команд, второй — в регистр W,
а третий — в регистр Z.
Регистры W и Z программно недоступные.
Пара HL обычно используется
для указания адреса. Остальные РОН являются регистрами хранения данных. В нашем
случае АЛУ не помещает данные в РОН, поэтому они не обладают возможностями
аккумулятора. РОН представляет собой сверхоперативную память МП.

 

11. Указатель стека (Stack Pointer — (SP))

 

       Указатель
стека (SP) представляет
16-разрядный регистр, который содержит адрес последнего помещенного в стек
байта. Указатель стека декрементируется при каждом помещении в стек и
инкрементируется при каждом извлечении из него.

         Стек
– это область памяти, специально выделяемая для временного хранения данных
программы. Отличительной особенностью стека является особая организация
обращения к нему со стороны МП. Запись и чтение данных в стеке осуществляется в
соответствии с принципом LIFO
(Last In First Out) – «последним пришел,
первым ушел». Таким образом, информация в стеке размещается в строгой
последовательности – ячейка памяти, заполненная последней, считывается первой,
а ячейка памяти заполненная первой извлекается последней. В ячейки стека
информация заносится последовательно и извлекается в порядке обратном порядку
занесения. Таким образом, стек функционирует как память с последовательным
доступом. По мере записи данных в стек он растёт в сторону младших адресов. Эта
особенность заложена в алгоритм команд работы со стеком. Концептуальная схема
организации стека показана на рисунке.

       Стек предназначен для обработки прерываний и программ.
При записи слова данных в ячейку стека значение адреса в указателе стека
уменьшается на единицу, а при считывании данных увеличивается на единицу.

         Стек
выполняется на некоторой выделенной области ОЗУ. В этом случае стек
представляет память с последовательным доступом. Обращение и адресация к стеку
производится через регистр указателя стека.

         Стек на внутренних регистрах МП более
быстродействующий, но из-за малого числа регистров, имеющихся в МП, не
обеспечивается большая глубина вложения данных. Поэтому стеки большинства МП
размещаются в памяти.

         Вершиной
стека называется адрес его последней загруженной ячейки памяти. Таким образом,
указатель стека всегда содержит адрес его вершины. Начало стека в ОЗУ (его дно)
определяется программистом путём записи в регистр SP адреса первой ячейки памяти стека.
Вершина стека подвижна и её расположение определяется объёмом данных,
загруженных в стек. Стек не имеет ограничений, за исключением тех, которые
обусловлены наличием других программ в ОЗУ.

 

12. Схема управления

 

         Схема
управления состоит из дешифратора команд и устройства управления и
синхронизации. Одна из главных функций схемы управления – декодирование
команды. Для этого служит дешифратор команд. Он декодирует команду, находящуюся
в регистре команд и выдаёт сигналы, необходимые для выполнения команды, в
устройство управления. Основу устройства управления МП составляют
программируемые логические матрицы (ПЛМ). Дешифратор анализирует отдельные биты
команды и передаёт код операции в устройство управления. Устройство управления
получает сигналы от дешифратора команд для определения природы выполняемой команды.
Устройство управления получает также информацию от регистра состояния в случае
условного перехода. Сигналы управления и синхронизации передаются во все блоки
МП для координации выполнения команд и управления внешними устройствами (ОЗУ,
ПЗУ, УВВ).

            Устройство
управления связано с генератором тактовых импульсов, синхронизирующим во
времени работу МП. Принимаемые тактовые сигналы схемой управления преобразуются
в многофазные синхросигналы. В качестве ГТИ используют кварцевый генератор –
внешний или внутренний, встроенный в МП.

9.Система команд мп

9.1 Система команд мп.

9.2 Типы команд.

9.1

Команда
МП – предписание определяющее шаг
работы процессора МПС. Команда содержит
указание операции адрес операндов и
различные служебные признаки. Фиксированный
набор команд конкретного МП называют
системой команд. Длина команды, как
двоичного слова совпадает с длинной
данных, но команда может иметь длину в
2-3 слова. Для выполнения команда посылается
в регистр команд, дешифраторы схемы
управления, где она идентифицируется
в результате чего формируются сигналы
направляемые в другие части МП с помощью
этих сигналов выполняются операции
предписанные процессору. МП загружает
команду в регистр команд в течении цикла
выборки, в течении следующего за ним
цикла процессор декодирует команду и
создает сигналы выполнения процесса
выполнения операций этой команды. Время
нужное для чтения команды из памяти, ее
декодирование и выполнение называется
командным циклом. Ввиду того, что команда
может состоять из 1-3 слов то время может
быть разное. Все команды МП имеют поля,
которые определяют:

  1. тип
    команды

  2. ее
    длину

в
командах могут быть поля, которые
определяют номер ячейки памяти, номер
регистра и т.д. Процесс выполнения
команды зависит от особенностей
(признаков) текущих результатов. Для
индикации складывающейся ситуации МП
формирует двоичные признаки – флаги,
которые отображают особенности
выполненной команды. Значение каждого
признака фиксируется в специальном
триггере. Если особенность имеет место
то в триггере ставится 1. Совокупность
таких флагов образует Ф регистр. В МП
предусмотрен обширный набор команд
условной передачи управления, которая
осуществляет один из двух направлений
в зависимости от значений фланга. Для
программирования применяется мнемоническая
форма записи команд.

9.2

Исполнение
большинства команд связано с обращением
к памяти, РОН и внешним устройствам.
Поэтому большое значение имеет организация
адресации к перечисленным устройствам.
Применение различных режимов адресации
позволяет:

  1. Уменьшить
    объем памяти используемых для хранения
    программ

  2. Повысить
    производительность МПС

Т.е.
При минимальных формах команд упростить
организацию вычислительного процессора.
При любом методе адресации формируется
исполнительный адреса по которому
осуществляется обращение к любой ячейки
адресного пространства и узлам МП.

Адресным
пространством МП называется множество
адресов оперативной памяти доступных
для программ выполняемых МП данной МПС.
Размер адресного пространства определяется
максимальной длиной адреса и может
выражаться в единицах адресуемых
элементов памяти. Широкий набор команд
и наборов адресации различных проесоров
позволяет выполнять различные
арифметические, логические, операции
ВВ и специальные функции, а так же
организовывать передачу управления
внутри программы и между программами.
По функциональному назначению команды
МПС можно разделить на следующие группы:

  1. Команды
    пересылки данных

  2. Команды
    выполнения арифметически-логических
    операций

  3. Команды
    управления

  4. Команды
    связи с подпрограммами

  5. Команды
    ввода/ввода

  6. Специальные
    системные команды

  1. Для
    пересылки данных в устройства и из них.
    Они состоят из 2 частей: кода операции
    и адресной части. Во всех командных
    должны быть источник и приемник. Код
    операции задает источник данных и
    адресацию. Адресация может быть прямая,
    косвенная…

  2. В
    различных типах МП состав. Арифметические
    операции умножения и деления схемно
    реализуются не в всех МП, а реализуются
    в виде микропрограмм. В микропрограммных
    процессорах набор команд может
    существенно меняться в зависимости от
    задач. Команды логических операций и
    сдвигов являются поразрядными, т.е.
    выполняются независимо для всех бит
    операндов. Не адресуемый бит находится
    в аккумуляторе, туда же помещается
    результат. После выполнения модифицируются
    флаги. При выполнении операции сдвига
    в МП содержимое регистра-аккумулятора
    сдвигается вправо или влево на 1 разряд.
    Для того что бы произвести сдвиг на
    несколько разрядов необходимо нужное
    число раз произвести сдвиг. При логическом
    сдвиге все разряды числа сдвигаются
    на равных основаниях, при арифметическом
    сдвиге знаковый разряд не сдвигается.
    В различных процессорах операция сдвига
    может быть различна.

  3. С
    их помощью производится анализ условий
    разветвления и производится запись в
    программный счетчик. Образуют 2 группы:
    безусловная передача управления,
    обеспечивающая запись в счетчик команд;
    команды условной передачи управления,
    запись производится только если
    выполнены условия. Условия по которым
    разветвления фиксируется в регистре
    флагов(признаков). Команды применяются
    для задания режима работы МП.

Эффективное
применение команд перечисленных групп
обеспечивается различными способами
адресации. Наиболее естественным, за
которой является прямая адресация.
Команды могут иметь длину 2 или 3 байта.
Первый для кода операции 2 и 3 для адреса.
Прямая является наиболее простой но
при этом наименее экономичной. Для
адрессации к регистрам используют
прямую регистровую адресацию. Группа
команд с прямой регистровой адр.
осуществляет пересылку содержимого
любого из РОН через внутреннюю магистраль
в регистр аккумулятор. Перед началом
исполнения команды с косвенно регистровой
адресацией значение исполнительного
адреса через магистраль данных с помощью
отдельной команды заносится в одну из
регистровых пар. При непосредственной
адресации адресная часть команды
представляет собой непосредственно
операнд в зависимости от разрядности
операнда команды с непосредственной
адресацией могут быть 2 и 3 байтовыми.
Используются для инициализации счетчиков,
загрузки косвенных адресов и введения
констант которые необходимы для
вычислений. При использовании
непосредственной адресации предполагается
размещение данных там же где находится
сама команда. В МПС в которых емкость
памяти превышает возможности адресной
части команды используется страничная
адресация при этом методе вся память
разбивается на отдельные одинаковые
страницы в пределах которых обращения
производится с помощью адресной части
команды. Номер страницы вместе с адресной
частью команды составляют исполнительный
адрес, по которому производится обращение
к любой ячейке памяти если программа и
данные размещаются в пределах одной
страницы, то в процессе исполнения
программы содержимое регистра страниц
остается постоянным. В некоторых МП
исполнительный адрес может быть получен
путем сложения исходного адреса с
содержимым заданного расположенного
в специальном регистре. Такой способ
называется бызовой адресацией, а
соответствующий регистр – базовым
регистром. Она медленнее прямой т.к. для
получения исполнительного адресса
необходимо выполнить дополнительные
операции но в то же время она является
более гибкой, посколько по одной команде
можно обрабатывать все элементы. Для
организации циклических вычислительных
процессоров, содержимое увеличивается
или уменьшается каждый раз когда базовый
регистр используется для получения
исполнительного адреса. Адресация при
которой адресная часть команды,
представляющая собой число со знаком
представляется числом заданных команд
называется относительная адресация. В
результате образуется исполнительный
адрес, по которому происходит обращение
к памяти. Учет знака, роль которого
выполняет старший разряд, позволяет
увеличить или уменьшить значение
счетчика команд. Данный метод удобен
при организации передачи управления
т.к. при этом не требуется задание полного
адреса и перемещение программ в памяти.
Основные группы команд используемых в
современных процессорах могут выполнять
следующие функции.

Команды
пересылки дынных осуществляют:

  1. Загрузку
    содержимого внутренних регистров
    процессоров.

  2. Сохранение
    содержимого внутренних регистров.

  3. Копирование
    содержимого из одной области памяти в
    другую.

  4. Запись
    в УВВ и чтение из УВВ.

Арифметические
устройства осуществляют:

  1. Сложение,
    вычитание, умножение, деление для чисел
    с фиксированной запятой.

  2. Сложение,
    вычитание, умножение, деление для чисел
    с плавающей запятой.

  3. Запись
    нулевого кода в регистр или ячейку
    памяти (команда очистки).

  4. Инкремент
    или декремент.

  5. Сравнение
    2 операндов.

Логические:

  1. Логическое
    и, или, сложение по модулю 2.

  2. Сдвиги.

  3. Проверка
    битов и операндов.

  4. Установка
    и очистка битов флагов и регистров
    состояния процессоров.

При
выполнении переходов для проверки
условия применяется команда сравнения
предшествующая команде условного
перехода. Сами команды переходов флаги
не меняют, что позволяют ставить несколько
команд переходов одну за другой.
Совместное использование нескольких
команд условных и безусловных переходов
позволяет выполнять разветвленные
алгоритмы любой сложности.

Принцип работы мп

Выделяют процессы.

  1. обработка команды.

  2. обработка цифровой
    информации.

Работа мп-ра при обработке команды управления.

При запуске МП-ра
ПС устанавливается на номер первой
команды программы управления. Этим
номером служит номер ячейки памяти в
хранится эта первая команда. Ч\з регистр
адреса и буфер адреса на шине адреса
выставляется цифровой код адреса. Схема
управления и синхронизации формирует
команду чтения, которая передается по
шине управления и т.к. эта шина связана
со всеми блоками, то эта команда пойдет
ко всем блокам , но ее будет воспринимать
тот блок на настроен адрес, обычно ПЗУ
будет выдавать содержащие команды на
шине данных и эта команда ч\з буфер ШД
и внутреннюю шину МП-ра направляется.

Исполнительная
часть команды в регистр команд. Адресная
часть в программно недоступные р WZ
.

Команда:

исполнительная
часть: адресс1; адрес 2;

Адрес 1 – адрес
получателя информации обработанной
МП- ром записи в регистр W

Адрес 2 – адрес
исходной информации.

Работа МП – ра
по обработке исходных данных.

При обработке одних
из циклов выполнении команды содержания
регистра Z
переносится в регистр адреса. На шине
адреса выставляется адресс источника
информации. Другим минимальным циклом
схема превращения и синх-ци формирует
команду чтения по, которой на шине
данных появляется числовой сигнал,
который формирует там источник
информации; ч\з буфер данных поступает
в аккумулятор и в один из буферов АЛУ.
Второй операнд аналогично направляется
последующей командой программы буфер2.
Оба операнда обрабатываются АЛУ по
команде одного из машинных циклов.
Результат обработки направляется в
аккумулятор из которого информация
может быть направлена по необходимому
адресу третьей командой программы В
этом случае содержание аккумулятора
выставляется на буфер шины данных и за
тем в шину данных.

  1. Принципы
    объединения микроконтроллеров в
    распределенные сети для управления
    объектами.

Основа является-
ЭВМ (обычно промышленной)

Вся сеть подключается
с «СОМ» порту через интерфейс RS-382
(т.к другие компьютеры не понимают), а в
самой сети используется специальный
интерфейс для 2-х проводной распределительной
сети RS-485.
Связь происходит через преобразователь
причем связь 2-х сторонняя. В сети
параллельно подключаются микроконтроллеры
( это МПС управления, которая выполняет
функции ввода \ вывода информации
(аналоговой и дискретной). Эти
микроконтроллеры называются МП-ыми
модулями и имеют разновидности.

-многоканальные
модули дискретного ввода \ вывода;

-модули 16-ти
разрядного ввода дискретного сигнала
;

-модули 16-ти
разрядного вывода дискретного сигнала
;

-модули счетчики-таймеры;

-модули релейного
вывода сигнала (для включения аналоговых
исполнительных устройств) -модемы и
радиомодемы;

Длина линии связи
до 1,2 км. Преобразователь является еще
усилителем. Чем более длина, тем менее
быстродействие, для усилия сигнала
ставится повторители и после кот можно
еще тянуть ЛС на 1,2 км.В распределительную
сеть можно подключить до 32-х МК, У Vк
МК при инсталляции должен быть свой
адрес, который не должен совпадать с
другими, так как информация в сеть
подается одновременно для всех МК, как
и все МК одновременно выдают информацию
на компьютер.Совокупность правил по
которым передается информация к МПС-ам
подключенным в распределительную сеть
называется Протоколом интерфейса.

Много разновидностей
протоколов:

Рассмотрим структуру
протоколов:RS
– 232;RS
– 485; «CAN»

RS
– 232 служит для обмена информации только
в компьютере ч\з последовательный
«СОМ» порт. Реализуется ч\з 25-ти или 9-ти
штырьковые разъемы. СОМ – порт это
физический интерфейс, т.к. Vк
канал имеет свое назначение:

Структура
интерфейса
RS
– 232

Пробелы и сначала
и с конца кадра данных свидетельствуют
об отсутствии информации (всегда сигнал
высокого уровня чтобы защитить от
помех). Переход на низкий сигнал восприятия
как стартовый бит. Далее идет биты данных
(всегда определенной размерности для
конкретного компьютера) далее идет бит
контроля четкости данных (если сумма
битов данных четна, то этот разряд 0-й)
это служит для контроля правильности
передачи данных. Конец кадра – это
стоповый бит и далее пробел.

RS-485

Предназначен только
для обмена информацией по 2-х проводной
линии связи. Структура данных определяется
структурой команды.

По этому инт-су
перед-ся команды МК-ра, которые
воспринимается всеми МК-ми в сети, но
исполняется команда МК-ом с указанным
адресом .К RS-485
могут быть подключены различного типа
МК-ры, но они будут воспринимать, только
те команды на которые они рассчитаны и
они не будут понимать друг друга.

ПР. для МК «Адамс»
для передачи дискретной информации
служит команда # 010005.

# — тип команды

  1. адрес МК-ра.

00 – символ режима
вывода данных, т.е. в том случае будет
выводится байт данных выдается число
05.

  1. Анализ
    вариантов автоматического регулирования
    нагрузки на приводе выемочных машин.

Регулировать
не обходимо следующие параметры:

4 варианта способов
автоматического управления:

Как использовать команду Execute в Minecraft

Выполнить команду в Minecraft Java Edition (ПК / Mac)

В Minecraft Java Edition (ПК / Mac) 1.14 и 1.15 существуют разные синтаксисы для команды / execute.

Чтобы выровнять сетку блоков на основе указанных осей, а затем запустить вторую команду / выполнить команду на основе выровненной позиции:

 / выполнить выравнивание <оси>  

Чтобы привязать начало локальной координаты к глазам или ногам объекта, выполняющего команду, а затем выполните вторую команду / execute:

 / выполнить привязанный   

Чтобы запустить вторую команду / выполнить от имени объекта:

 / выполнить как <цели>  

Чтобы запустить вторую команду / выполнить команду с использованием позиции, размера (например: Надземный мир, Нижний мир, Конец) и поворота целевой сущности ( без изменения сущности, которая выполняет команду ):

 / выполнить на   

Чтобы запустить вторую команду / выполнить, которая использует точку выполнения, обращенную к глазам или ступням целевой сущности:

 / выполнить с лицом <цели> <глаза> ноги>  

Для запуска второй / выполнения команды, использующей точку выполнения, обращенную к определенной координате:

 / выполнить с   

Чтобы запустить вторую команду / выполнить, если блок с указанной координатой совпадает с заданным именем Minecraft ID:

 / выполнить if block    

Чтобы запустить вторую команду / выполнить, если блоки в области от до совпадают с :

 / выполнить if блокирует <начало> <конец> <назначение>   

Чтобы запустить вторую команду / выполнить, если блок с определенной координатой имеет данные для тега NBT, указанного в :

 / выполнить, если блок данных  <путь>  

Чтобы запустить вторую команду / выполнить, если целевой объект имеет данные для тега NBT, указанного в :

 / выполнить, если объект данных <цель> <путь>  

Чтобы запустить вторую команду / выполнить, если целевая сущность существует:

 / выполнить, если объект <цели>  

Выполнить вторую команду / выполнить, если целевой объект имеет оценку ( для целевой цели ), которая соответствует диапазону:

 / выполнить, если оценка   совпадает с   

Выполнить вторую команду / выполнить, если целевой объект имеет оценку ( для целевой цели ), которая соответствует критериям при сравнении с исходной целью. Сравнение двух целей может быть основано на: меньше чем (<), меньше чем равно (<=), равно (=), больше чем (>) или больше чем равно (> =):

 / выполнить, если оценка   (<¦ <= ¦ = ¦> ¦> =)    

Чтобы запустить вторую команду / выполнить команду, как если бы объект, выполняющий команду, находится в указанном измерении:

 / выполнить в   

Чтобы запустить вторую / выполнить команду, используя позицию цели в качестве текущей позиции:

 / выполнение позиционируется как <цели>  

Чтобы запустить вторую / выполнить команду с использованием указанной координаты в качестве текущей позиции:

 / выполнить позиционированное   

Чтобы запустить вторую / выполнить команду с использованием вращения цели:

 / выполнить с поворотом как <цели>  

Для запуска любой игровой команды (например, / give, / summon, / Particle):

 / выполнить run  

Для сохранения результата / успеха второй / выполнения команды в блоке с указанной координатой:

 / выполнить store  block      

Для сохранения результата / успеха второй / выполнения команды на панели босса:

 / выполнить store <результат¦успешный> босс-бар  <максимальное¦значение>  

Для сохранения результата / успеха второй / выполнения команды в теге NBT целевой сущности, как указано в :

 / выполнить store  entity      

Для сохранения результата / успеха второй / выполнения команды в счете цели целевой сущности:

 / выполнить хранилище <результат¦успех> оценка <цель> <цель>  

Для сохранения результата / успеха второй / выполнения команды в счете цели целевой сущности:

 / выполнить хранилище <результат¦успех> оценка <цель> <цель>  

Чтобы запустить вторую команду / выполнить, если блок с указанной координатой не совпадает с заданным именем Minecraft ID:

 / выполнить, если блок    

Чтобы запустить вторую команду / выполнить, если блоки в области от до не совпадают с :

 / выполнить, если не блокирует <начало> <конец> <назначение>   

Чтобы запустить вторую команду / выполнить, если блок с определенной координатой не содержит данных для тега NBT, указанного в :

 / выполнить, если блок данных  <путь>  

Чтобы запустить вторую команду / выполнить, если целевой объект не имеет данных для тега NBT, указанного в :

 / выполнить, если объект данных <цель> <путь>  

Чтобы запустить вторую команду / выполнить, если целевой объект не существует:

 / выполнить, если объект   

Выполнить вторую команду / выполнить, если целевой объект не имеет балла ( для целевой цели ), который соответствует диапазону:

 / выполнить, если оценка   не совпадает с   

Выполнить вторую команду / выполнить, если целевой объект не имеет оценки ( для целевой цели ), которая соответствует критериям при сравнении с исходной целью. Сравнение двух целей может быть основано на: меньше чем (<), меньше чем равно (<=), равно (=), больше чем (>) или больше чем равно (> =):

 / выполнить, если не наберется <цель> <цель цели> (<¦ <= ¦ = ¦> ¦> =) <источник> <объект-источник>  

В Minecraft Java Edition (ПК / Mac) 1.11 и 1.12 есть 2 синтаксиса для команды / execute.

Для выполнения команды от имени объекта:

 / выполнить      

Для выполнения команды от имени объекта, только если определенный блок обнаружен в :

 / выполнить     обнаружить       
Определения
  • secondExecuteCommand — это команда / execute, которая привязана к текущей команде без указания ключевого слова / execute .
  • оси — оси для выравнивания. Это может быть любая комбинация xyz, например x, y, z, xz, xy, yz, xyz.
  • цель или цели — имя игрока (или селектор цели).
  • сущность — это имя игрока (или целевого селектора), который будет запускать команду.
  • x y z — позиция для запуска команды. Если указано относительное значение (~), то позиция указывается относительно объекта.
  • x1 y1 z1 — позиция для обнаружения блока.
  • блок — это имя блока для обнаружения в позиции x1 y1 z1 . Если обнаружено, то команда будет выполнена. (См. Названия предметов в Minecraft)
  • данные — это значение данных блока для обнаружения в позиции x1 y1 z1 . Если обнаружено, то команда будет выполнена. (См. Значения данных Minecraft)
  • команда или gameCommand — это любая команда Minecraft, которую вы хотите, чтобы объект выполнял, например, summon, give, fill, clone, setblock, tp, xp, kill и т. Д.

,

cmd — Как выполнить команду Windows на удаленном ПК?

Переполнение стека

  1. Товары

  2. Клиенты
  3. Случаи использования
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Команды
    Частные вопросы и ответы для вашей команды

  3. предприятие
    Частные вопросы и ответы для вашего предприятия

  4. работы
    Программирование и связанные с ним возможности технической карьеры

  5. Талант
    Нанять технических талантов

  6. реклама
    Обратитесь к разработчикам по всему миру

Загрузка…

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *