Вопрос 5. Полный цикл работы МП при выполнении команды
Выборка каждого байта команды производится в два этапа.
1. На первом этапе адрес байта команды, содержащийся в СК, передается в РА, а затем по адресным шинам в ОЗУ, где происходит выбор адресуемого байта.
2. На втором этапе - передача содержимого адресуемого байта по шинам данных в МП и увеличение содержимого СК на 1. При этом, если выбирается не последний байт команды то новое содержимое СК будет представлять адрес следующего байта текущей команды, а если выбирается последний байт, то адрес первого байта следующей команды.
3. При выборке первого байта команды его содержимое передается и фиксируется в РК.
4. Дешифратор кода операции по содержимому РК, поступающему на его вход, определяет вид операции, число байтов в команде, а также способ адресации, используемый в команде.
5. В соответствии с видом операции БУ задает необходимую последовательность управляющих воздействий, приводящих к выборке следующих байтов команды или к использованию команды.
Пример 1. Описать процесс выборки и исполнения команды, по которой содержимое регистра РОН суммируется с содержимым аккумулятора А. Результат операции фиксируется в аккумуляторе. Команда однобайтовая с прямой регистровой адресацией. В коде команды первые пять старших разрядов определяют код операции; три последних-код адреса регистра C. Команда записана в ячейку ОЗУ с адресом (номером) Число записано в регистр C РОН. В аккумулятор A записано число
Процесс выборки и исполнения команды можно условно разбить на несколько этапов:
1. Адрес команды 017616 записывается в РА.
2. Адрес команды из РА по шине адреса поступает ОЗУ.
3. ОЗУ находит ячейку с указанным адресом и считывает команду в буферный
4. регистр ОЗУ.
5. Команда из буферного регистра ОЗУ по внешней шине данных, буфер данных (БД), внутренней шине данных поступает в РК.
6. ДКОп распознает, что выборка команды закончна и над содержимым аккумулятора и регистра С РОН необходимо произвести суммирование.
7. Содержимое РА увеличивается на единицу и формируется адрес следующей ячейки ОЗУ
8. БУ вырабатывает последовательность сигналов, под воздействием которых числа из аккумулятора и из из регистра C РОН поступают в АЛУ. АЛУ производит операцию суммирования
9. Pезультат операции записывается в аккумулятор, замещая в нем прежнее число
10. Выполнение команды закончено. Начинается выборка следующей команды с адресом
Вопрос 6. Система команд МП
Микропроцессор имеет базовую систему команд, в состав которой входят следующие группы:
· команды пересылки данных:
· команды пересылки данных внутри МП (MOV, PUSH, POP, XCHNG и т.д.);
· команда ввода-вывода (IN, OUT);
· операции с флагами;
· операция с адресами (LEA, LDS и т.д.);
· арифметические команды:
· основные (сложение, вычитание, умножение, деление);
· дополнительные (INS, DEC и др.);
· логические команды (сдвиг, дизъюнкция, конъюнкция, отрицание равнозначности и др.);
· команды обработки строковых данных (пересылка, сравнение, сканирование, слияние/разделение и др.);
· команды передачи управления (безусловный переход, условный переход, прерывания, переход с возвратом);
· команды управления ("нет операций", "внешняя синхронизация" и т.д.).
· каждая команда имеет большое число модификаций, чаще всего определяемых режимом адресации данных (операндов).
Команды обращения к памяти
Рисунок 4.
Команда: LOAD REGISTR (загрузка регистра)
Символическая форма: LDR r
Описание: (М[< B2 > < B3 > ])r
Содержимое ячейки памяти передаётся в общий регистр r.
Старшие 8 разрядов адреса ячейки берутся из второго байта команды, а младше 8 разрядов - из третьёго байта.
Программирование на машинном язык. Программа должна быть представлена в той форме, в которой её воспринимает машина. В частности, команды должны быть представлены в виде последовательностей из нулей и единиц, поскольку это единственная понятная ЭВМ форма. Однако выписывать длинные последовательности из нулей и единиц довольно утомительно. Поэтому при записи команд применяется более удобная шестнадцатеричная система.
Например, трёх битовая команда иллюстрированного процессора, загружается в аккумулятор содержимое ячейки памяти с адресом 0110 1111 1101 имеет вид
в шестнадцатеричных обозначениях эта команда запишется так
6F
DB
Двоичное и шестнадцатеричное представление машинного языка неудобно и ненаглядно для человека. Поэтому, как правило, команды представляются в символической форме - используются легко запоминаемые мнемонические обозначения команд. Например предыдущую программу можно записать в виде
LDR 0
6F
DB
Второй и третий байты по-прежнему записаны шестнадцатеричными цифрами, и аккумулятор задан своим номером среди общих регистров, равным 0. Однако операция обозначена трёхбуквенным мнемоническим именем LDR.
Примерпрограммы, в которой к числу, находящемуся в ячейки главной памяти, прибавляется шестнадцатеричная константа 3С. программа приведена в табл. 1. Она выполняется следующим образом.
Таблица 1. Пример программы: "прибавить константу к числу в памяти и записать результат снова в память"
Рисунок 5.
Прежде всего, подаётся прежний импульс на линию "сброс" БУ, по которому на программный счётчик устанавливается 0. Затем подаётся импульс на линию "пуск" БУ, и начинается выполнение программы. Выбираются 3 байта, составляющие первую команду, и программный счётчик увеличивается на 1 после выборки каждого байта. Первая команда пересылает содержимое ячейки памяти 000А в аккумулятор. Поскольку программный счётчик подвинулся на 3 единицы, он теперь содержит 0003. Это адрес следующей команды - загрузки регистра с непосредственным адресом. Команда содержит в себе операнд и удобна для задания константы. Её выполнение приводит к засылке значения 3С, содержащегося во втором байте команды, в общий регистр 1. Теперь программный счётчик содержит 0005, т.е. адрес третьей команды. Её выборка и выполнение приводит к прибавлению содержимого регистра 1 к содержимому аккумулятора и занесению суммы в аккумулятор. Следующая команда передаёт содержимое аккумулятора в ячейку памяти 000В. последняя команда останавливает микропроцессор.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|