ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.12.2024
Просмотров: 2497
Скачиваний: 2
СОДЕРЖАНИЕ
Микропроцессорные устройства систем управления
1. Общая характеристика микропроцессоров.
1.1. Структура микропроцессора и его реализация.
1.2. Классификация современных микропроцессоров и их характеристики.
1.3. Принципы управления микропроцессорами.
1.4. Структура и типы команд микропроцессора.
1.5. Способы адресации информации и прерывание работы в микропроцессоре.
Косвенная регистровая адресация.
1.6. Организация ввода и вывода данных в микропроцессоре.
1.7. Система команд микропроцессора.
2. Принципы организации и применения микропроцессорных систем.
2.1. Особенности организации структуры мп-системы.
2.2. Структура мп-системы с общей шиной.
2.4. Применение мп-системы в качестве контроллера и системы сбора данных.
3. Основы программирования микропроцессоров.
3.1. Языки программирования микропроцессоров.
3.2. Программирование на языке ассемблера.
3.3. Средства разработки и отладки прикладных программ.
Средства отладки и диагностирования
Аппаратно-программные средства:
4. Типовые микропроцессоры и их применение.
4.1. Структура и характеристика типовых мп.
4.2. Система команд однокристального микропроцессора.
4.3. Примеры написания программ.
5. Мультипроцессорные системы, транспьютеры.
5.1. Классификация систем параллельной обработки данных
Конвейерная и векторная обработка.
Многопроцессорные машины с simd-процессорами.
Многопроцессорные системы с общей памятью
5.2 Мультипроцессорная когерентность кэш-памяти.
5.3. Многопроцессорные системы с локальной памятью и многомашинные системы
Регистры общего назначения (РОН) предназначены для хранения поступающих данных и промежуточных результатов. Все РОН доступны программисту, который рассматривает их как сверхоперативное запоминающее устройство. Для некоторых МП в зависимости от типавыполняемой команды РОН могут использоваться или как самостоятельные регистры, или как регистровые пары удвоенной разрядности, или наоборот быть разбитыми на части по группам разрядов. Регистры временного хранения предназначены для кратковременного хранения данных во время выполнения команды и являются программно недоступными. Адресные регистры используются для хранения адресов при косвенной регистровой и других многокомпонентных видах адресации. В некоторых МП функции адресных регистров могут выполнять РОН.
Указатель стека - регистр, содержащий адрес области памяти ОЗУ, называемой стеком.
Счетчик команд - регистр, содержащий адрес ячейки памяти, в которой хранится подлежащая выполнению команда. Выбор и подключение к внутренней шине данных нужного РОH, адресного регистра, указателя стека, счётчика команд или регистров временного хранения осуществляется через мультиплексор регистров. Код операции из памяти через буферный регистр данных и внутреннюю шину данных поступает в регистр команд. Дешифрация кода операции производится в дешифраторе команд, благодаря чему устройством синхронизации и управления вырабатывается нужная последовательность сигналов управления.
4.2. Система команд однокристального микропроцессора.
При рассмотрении системы команд типового однокристального МП будем стремиться к обобщенному изложению материала, не привязывая команды к конкретному типу МП. Все приведенные в параграфе группы команд и сами команды присущи как правило всем МП. Конкретизация команды под определенный тип МП заключается в ее мнемоническом обозначении, используемых регистрах, формате команды, способе адресации данных и ряде других особенностей. Кроме того, описанные в разделе команды в минимальном объеме представляют основные функциональные группы команд большинства МП. В конкретных МП указанные группы представляются более полным набором, являющимся индивидуальными для каждого типа МП. При разборе примеров использования команд будем пользоваться все теми же условными аккумулятором А и регистрами общего назначения В и С, а также внешним регистром M, организованным в ячейке памяти.
Следует отметить, что передача данных как между внутренними регистрами МП, так и между МП и периферийными модулями всегда осуществляется с сохранением содержимого источника информации. Для удобства сведем все рассматриваемые команды в табл. 4.1.
При описании команд будем использовать следующие условные обозначения:
r - один из регистров А, В или С, или внешний регистр М, организованный в ячейке памяти, адрес которой хранится в регистровой паре или специальном адресном регистре;
rp - регистровая пара ВС, указатель стека SP или специальный адресный регистр;
data - операнд или данные, обрабатываемые соответствующей командой;
addr - адрес ячейки памяти, указываемый в команде;
port - адрес порта ввода-вывода, указываемого в команде;
SP - указатель стека;
PC - счетчик команд;
( ) - содержимое регистра (регистровой пары), указанного внутри скобок;
[ ] - содержимое ячейки памяти (порта), адрес которой указан внутри скобок;
- направление передачи;
, , - логическии операции “ИЛИ”, “И”, “ИСКЛЮЧАЮЩЕЕ ИЛИ” соответственно;
- CON - обобщенное обозначение, заменяемое на мнемонику условия перехода, вызова и возврата из подпрограммы. Договоримся использовать следующие мномонические обозначения этих условий: NZ - ненулевой результат (разряд регистра признаков Z=0), Z - нулевой результат (разряд регистра признаков Z=1), NC - отсутствие переноса (разряд регистра признаков C=0), C - наличие переноса (разряд регистра признаков С=1), P0 - нечетное число (разряд регистра признаков P=0), PE - четное число (разряд регистра признаков P=1), P - неотрицательный результат (разряд регистра признаков S=0), M - отрицательный результат (разряд регистра признаков S=1).
Таблица 4.1. Типичный обобщенный набор команд однокристального МП.
|
Группа команд |
Условное обозначение |
Описание команды |
|
Команды пересылки Кодов |
1. MOV r1, r2 |
(r1) (r2) |
|
2. MVI r, data |
(r) ОПЕРАНД |
|
|
3. LXI rp, data |
(rp) ОПЕРАНД |
|
|
4. STA addr |
[АДРЕС] (A) |
|
|
5. LDA addr |
(A) [АДРЕС] |
|
|
6. STAX rp |
[rp] (A) |
|
|
7. LDAX rp |
(A) [rp] |
|
|
8. PUSH r |
[SP] (r) |
|
|
9. POP r |
(r) [SP] |
|
|
Команды выполнения арифметических операций |
1. ADD r |
(A) (A) + (r) |
|
2. SUB r |
(A) (A) - (r) |
|
|
3. ADI data |
(A) (A) + ОПЕРАНД |
|
|
4. SUI data |
(A) (A) – ОПЕРАНД |
|
|
5. ADC r |
(A) (A) + (r) + (С) |
|
|
6. SBB r |
(A) (A) - (r) - (С) |
|
|
7. ACI data |
(A) (A) + ОПЕРАНД +(С) |
|
|
8. SBI data |
(A) (A) – ОПЕРАНД - (С) |
|
|
9. DAA |
Десятичная коррекция |
|
|
10. INR r |
(r) (r) + 1 |
|
|
11. DCR r |
(r) (r) – 1 |
|
|
12. INX rp |
(rp) (rp) + 1 |
|
|
13. DCX rp |
(rp) (rp) – 1 |
|
|
Команды выполнения логических операций |
1. ANA r |
(A) (A) (r) |
|
2. ANI data |
(A) (A) ОПЕРАНД |
|
|
3. ORA r |
(A) (A) (r) |
|
|
4. ORI data |
(A) (A) ОПЕРАНД |
|
|
5. XRA r |
(A) (A) (r) |
|
|
6. XRI data |
(A) (A) ОПЕРАНД |
|
|
7. CMA |
(A)
( |
|
|
8. CMP r |
(A) – (r) |
|
|
9. CPI data |
(A) – ОПЕРАНД |
|
|
10. RLC |
(ai+1) (ai) (a0) (aN) (C) (aN) |
|
|
11. RRC |
(ai) (ai+1) (aN) (a0) (C) (a0) |
|
|
12. RAL |
(ai+1) (ai) (a0) (C) (C) (aN) |
|
|
13. RAR |
(ai) (ai+1) (aN) (C) (C) (a0) |
|
|
Команды передачи управления |
1. JMP addr |
(PC) АДРЕС |
|
2. J-CON addr |
(PC) АДРЕС |
|
|
3. CALL addr |
[SP] (PC) (PC) АДРЕС |
|
|
4. C-CON addr |
[SP] (PC) (PC) АДРЕС |
|
|
5. RET |
(PC) [SP] |
|
|
6. R-CON |
(PC) [SP] |
|
|
Команды ввода-вывода и специальные |
1. IN port |
(A) [АДРЕС] |
|
2. OUT port |
[АДРЕС] (A) |
|
|
3. EI |
Разрешить прерывание |
|
|
4. DI |
Запретить прерывание |
|
|
5. NOP |
(PC) (PC) + 1 |
|
|
6. HLT |
Останов |
Теперь перейдем к рассмотрению особенностей выполнения и использования отдельных команд.
Команды пересылки кодов.
Команды данной группы служат для загрузки и пересылки двоичных кодов между различными устройствами хранения, которыми являются ячейки памяти и регистры МП.
1. Команда MOV r1,r2. Это команда с прямой регистровой адресацией данных. По этой команде содержимое регистра r2 переписывается в регистр r1, причем содержимое регистра r2 сохраняется. Например, после выполнения команды MOV C, А данные из регистра А будут переписаны в регистр С. Содержимое регистра А не изменится.
В качестве регистра r в некоторых МП может рассматриваться и ячейка памяти, адрес которой находится в регистровой паре или специальном адресном регистре. Такая ячейка памяти выполняет роль внешнего регистра, который обозначается через М. Например, команды с косвенной регистровой адресацией данных MOV М, r и MOV r, М осуществляют пересылку данных из регистра r во внешний регистр М и в обратном направлении соответственно. В частности, по команде МОV М, С данные из регистра С пересылаются во внешний регистр М. При этом данные в регистре С сохраняются. По команде MOV А, М произойдет пересылка данных из внешнего регистра М в регистр А. Содержимое внешнего регистра М при этом не изменится.
2. Команда MVI r, data является командой с непосредственной адресацией данных. Эта команда обеспечивает загрузку любого регистра, в том числе и внешнего регистра М операндом, присутствующим в команде. Например, по команде MVI B, 2BH в регистр В загружается число 2В16.
3. Команда LXI rp, data аналогична предыдущей, но отличается тем, что загружает любую регистровую пару, а также указатель стека SP или адресные регистры указанным в команде операндом. Команда LXI В, data используется, например, для записи в регистровую пару ВС адреса ячейки памяти, которую предполагается рассматривать в качестве внешнего регистра М.
4. Команда STA addr является командой с прямой адресацией данных и предназначена для передачи байта информации из аккумулятора в ячейку памяти, адрес которой указан в команде.
5. Команда LDA addr осуществляет пересылку информации в обратном направлении, т.е. из ячейки памяти, адрес которой указан в команде в аккумулятор.
6. Команда STAX rp - это команда с косвенной регистровой адресацией данных. Она предназначена для передачи данных из аккумулятора в ячейку памяти, адрес которой содержится в регистровой паре или специальном адресном регистре, указанными в команде.
7. Команда LDAX rр осуществляет передачу данных в обратном направлении, т.е. из ячейки памяти, адрес которой указан в регистровой паре или адресном регистре в аккумулятор.
8. Команда PUSH r (или PUSH rp) является командой со стековой адресацией. Она засылает в стек содержимое указанных в команде регистров или регистровых пар.
9. Команда POP r (или POP rp) является также командой со стековой адресацией и осуществляет пересылку данных в обратном направлении, т.е. из стека в регистры или регистровые пары.
Команды выполнения арифметических операций.
С помощью команд выполнения арифметических действий производится совместная обработка двух двоичных чисел по правилам двоичной арифметики. Кроме того, будет рассмотрен ряд специальных команд, по функциональному назначению которые целесообразно отнести в указанную группу.
1. Команда АDD r - команда с прямой регистровой адресацией данных. Данная команда содержимое регистра r складывает с содержимым аккумулятора. Результат выполнения команды помещается в аккумулятор. Команда ADD A удваивает содержимое аккумулятора.
2. Команда SUB r также как и предыдущая является командой с прямой регистровой адресацией данных. Эта команда содержимое регистра r вычитает из содержимого аккумулятора. Результат выполнения команды как и в предыдущем случае помещается в аккумулятор. Команда SUB А производит вычитание из аккумулятора его содержимого, т.е. в результате выполнения команды SUB A во всех разрядах аккумулятора будут нули.
3. Команда АDI data является командой с непосредственной адресацией данных. Команда складывает с содержимым аккумулятора операнд, указанный в команде. Результат помещается в аккумулятор.
4. Команда SUI data в отличии от предыдущей команды из содержимого аккумулятора вычитает операнд, указанный в команде. Результат помещается в аккумулятор.
5. Команда ADС r является командой сложения, аналогичной команде ADD r. Отличие заключается в том, что при сложении содержимого аккумулятора и регистра r учитывается значение признака переноса С.
6. Команда SBB r - команда вычитания из содержимого аккумулятора содержимого регистра r, как и в команде SUB r, но с учетом значения признака переноса C.
7. Команда ACI data складывает операнд, присутствующий в команде с содержимым аккумулятора с учетом значения признака переноса С.