Структура команд микропроцессора К580
Понятие и структура машинных команд, их классификации. Форматы и способы адресации команд микропроцессора, их назначение и характеристика. Особенности команд пересылки, загрузки, обработки данных, перехода и передачи управления, принципы их работы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 03.03.2009 |
Размер файла | 32,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Федеральное агентство по образованию
Государственное образовательное учреждение среднего
профессионального образования
«Серовский металлургический техникум»
РЕФЕРАТ
по дисциплине: Вычислительная техника
на тему: Структура команд микропроцессора К580
Работу выполнил
студент группы 3ТЭиОЭЭО
П.А. Шелков
Проверил работу
Т.Н. Корнева
2008
Структуры машинных команд
Машинная команда представляет собой код, определяющий команду вычислительной машины, а также данные, участвующие в операции.
Машинная операция - действие машины по преобразованию информации, выполняемые под действием одной команды.
По характеру операции команды делятся на следующие группы:
1. арифметические операции над числами с фиксированной и плавающей запятой;
2. команды десятичной пересылки;
3. логические операции;
4. команды пересылки;
5. команды ввода-вывода;
6. команды управления;
7. команды задания режима работы;
Структура команды имеет вид:
Состоит из двух частей:
1. операционная (КОП) содержит код, который задаёт вид операции (сложение, умножение, передача).
2. адресная часть содержит информацию об адресах операндов и результатов операции, а иногда и об адресе следующей команды.
Структура команды определяется составом, назначением и расположением полей команд. На основании структуры команды разрабатывается формат команды.
Формат команды - структура с разметкой номеров разрядов, определяющих границы полей команд. Различают три разновидности формата команд:
1. однобайтная
2. двухбайтная
3. трёхбайтная
Способы адресации команд:
1. непосредственная - в команде содержится не адрес операнда, а сам операнд.
2. прямая - адресная часть команды является адресом операнда (в случае двухбайтной или трёхбайтной команды) или являются частью КОП в однобайтной команде.
3. регистровая - разновидность прямой, в которой в адресной части команды указывается номер регистра.
4. косвенная - в адресной части команды указывается номер ячейки памяти, в которой находится адрес операнда.
5. стековая - источником или приёмником операнда является ячейка стековой памяти. Адрес вершины стека находится в указателе стека SP. При заполнении следующей ячейки указатель стека инкриминируется, например,
6. автоинкрементная и автодекрементная - к адресу, который хранится в команде «+1» или «-1» и по новому адресу выбирается операнд.
7. относительная - адрес операнда определяется как сумма адресного входа в команде и некоторого числа, которое хранится в определённых ячейках памяти или в базовых регистрах.
Команды микропроцессора К580
Команды пересылки и загрузки
Мнемоника |
Комментарии |
Число |
||
байт |
тактов |
|||
MOV R1, R2 |
(R2) R1 |
1 |
5 |
|
MVI R, B2 |
B2 R |
2 |
7 |
|
LDA B3, B2 |
([B3B2]) A |
3 |
13 |
|
STA B3 B2 |
([B3B2]) (A) |
3 |
13 |
|
LDAX RP |
([(RP)]) A |
1 |
7 |
|
STAX RP |
(A) [(RP)] |
1 |
7 |
|
LXI RP, B3 B2 |
B2 LR, B3 HR |
3 |
10 |
|
PUSH RP |
(LR) [(SP)-1], (HP) [(SP)-2] |
1 |
11 |
|
POP RP |
([(SP)]) HR([(SP+1]) LR |
1 |
10 |
|
LHLD B3 B2 |
([B3B2]) L ([B3B2+1]) H |
3 |
16 |
|
SHLD B3 B2 |
(L) [B3B2 L](H) [B3B2+1] |
3 |
16 |
|
SPHL |
(HL) SP |
1 |
5 |
|
PCHL |
(HL) PC |
1 |
5 |
|
XCHC |
(H) (D),(L) (E) |
1 |
4 |
|
XTHL |
[(SP)] (L),[(SP+1)] (H) |
1 |
18 |
Обеспечивают: передачу операнда из одного регистра в другой (MOV), причём источником или приёмником операнда может быть и ячейка памяти, косвенно адресованная содержимым регистровой пары H (MOV M, R; MOV R, M), загрузку регистра или косвенно адресованной ячейки памяти вторым байтом команды (MVI); пересылку операнда из ячейки памяти в аккумулятор и обратно (LDA; STA; LDAX; STAX); загрузку регистровой пары вторым и третьим байтами команды (LXI), пересылку данных из регистровой пары в стек и обратно (PUSH; POP); пересылку данных из регистровой пары H в ячейки памяти, адресованные вторым и третьим байтами команды, и обратно (LHLD, SHLD); загрузку указателя стека или программного счётчика содержимым регистровой пары H (SPHL; PCHL); обмен данными между регистровыми парами (XCHG, XTHL).
Все команды этой группы не меняют состояние регистра признаков, установленного предшествующими командами. При выполнении трёхбайтовых команд МР воспринимает второй байт как младший, а третий - как старший при определении адреса или порядка пересылки. Например, при выполнении команды LXI H, 0B, 1 A (21, 1 A 0B) получим 1 A L 0 B H. При косвенной адресации старший и младший байты адреса размещаются соответственно в старшем и младших регистрах пары.
Команды PUSH и POP позволяют ориентировать не только с регистровыми парами B, D, H, но и с регистром признаков и аккумулятором, которые рассматриваются как регистровая пара PSW. Команда PUSH PSW заносит содержимое аккумулятора в ячейку с адресом (SP) - 1, а признаки - по адресу (SP) - 2. Разряды второй ячейки устанавливаются следующим образом: D0=c, D1=1, D2=p, D3=0, D4=ac, D5=0, D6=z, D7=s. Для правильной работы стека команды PUSH и POP в программе должны быть парными, что необходимо учитывать программисту, причём очерёдность при выводе должна быть обратной порядку ввода. Нарушение такого порядка в ряде случаев может быть использовано для обмена данными между регистровыми парами. Например, при выполнении последовательно команд PUSH PSW и POP B, а в регистре С будет продублировано содержимое регистра признаков.
Команды обработки данных
Мнемоника |
Комментарии |
Число |
Устанавливаемыепризнаки |
||
Байт |
тактов |
||||
ADD R |
(A) + (R) A |
1 |
4 |
Все |
|
ADC R |
(A) + (R) + c A |
1 |
4 |
» |
|
ADI B2 |
B2 + (A) (A) |
2 |
7 |
» |
|
ACI B2 |
B2 + (A) + c (A) |
2 |
7 |
» |
|
DAD RP |
(H) + (HR) H |
1 |
3 |
» |
|
DAA |
(L) + (LR) L |
1 |
4 |
» |
|
SUB R |
(A) - (R) A |
1 |
4 |
» |
|
SBB R |
(A) - (R) - c A |
1 |
4 |
» |
|
SUI B2 |
(A) - B2 A |
2 |
7 |
» |
|
SBI B2 |
(A) - B2 - c A |
2 |
7 |
» |
|
ANA R |
(A) ? (R) A |
1 |
4 |
z, s, p, c=0 |
|
ANI B2 |
(A) ? B2 A |
2 |
7 |
z, s, p, c=0 |
|
ORA R |
(A) ? (R) A |
1 |
4 |
z, s, p, c=ac=0 |
|
ORI B2 |
(A) ? B2 A |
2 |
7 |
z, s, p, c=ac=0 |
|
XRA R |
(A) R A |
1 |
4 |
z, s, p, c=0 |
|
XRI B2 |
(A) B2 A |
2 |
7 |
z, s, p, c=0 |
|
CMP R |
(A) - (R) |
1 |
4 |
z, c |
|
CMI B2 |
(A) - B2 |
2 |
7 |
z, c |
|
INR R |
(R) + 1 R |
1 |
5 |
z, s, p, ac |
|
INX RP |
(RP) + 1 RP |
1 |
5 |
Не меняет |
|
DCR R |
(R) - 1 R |
1 |
5 |
z, s, p, ac |
|
DCX RP |
(RP) - 1 RP |
1 |
5 |
Не меняет |
Кроме INR, INX, DCR, DCX, DAD и DAA обрабатывают два операнда, один из которых всегда размещается в аккумуляторе, куда заносится и результат, другой хранится в одном из регистров POH или косвенно адресованной ячейке памяти для команд ADD, ADC, SUB, SBB, ANA, ORA, XRA, CMP, или во втором байте команды ADI, ACI, SUI, SBI, ANI, ORI, XRI, CMI.
Команды INR и DCR изменяют на единицу содержимое регистра или косвенно адресованной ячейки памяти, а команды INX и DCX изменяют на единицу содержимое регистровой пары. Операция десятичной коррекции DAA выполняется только над содержимым аккумулятора и позволяет корректировать результат двоичного сложения, если слагаемые представлены в двоично-десятичной форме. Команды DAD обеспечивают суммирование двух 16-разрядных чисел, одно из которых размещено в регистровой паре Н, туда же записывается и сумма. При использовании арифметических команд следует учитывать, что команды INX и DCX не влияют на регистр признаков, команда DAD модифицирует один признак с, а команды INR и DCR только этот признак и не меняют.
В отличие от арифметических команд, которые воспринимает операнд как 8- или 16-разрядное число, логические выполняются над каждым разрядом операнда отдельно. Все логические команды сбрасывают бит переноса (с=0). Это свойство используется для обнуления разряда с, так команда ORA A иногда обозначается специальной мнемоникой CLC - очистки бита переноса. Команды ORA A и ANA A применяются для проверки содержимого аккумулятора на нуль, если предыдущие команды в программе не формировали признаков (например, команды пересылки, ввода и т. д.). Команды XRA A и SUB A позволяют сбросить содержимое аккумулятора A=0.
Результат операций сравнения CMP и CMI определяется по значениям признаков z и c, как показано в таблице
z |
c |
Результат |
|
0 |
0 |
(A) > (R) |
|
0 |
1 |
(A) < (R) |
|
1 |
0 |
(A) = (R) |
Формат признака z позволяет судить о равенстве двух операндов, а признак с различает условия «меньше» и «больше или равно».
К командам обработки данных можно отнести также операции сдвига
Мнемоника |
Комментарии |
Число тактов |
|
RLC |
4 |
||
RRC |
Циклический сдвиг вправо |
4 |
|
RAR |
Арифметический сдвиг вправо |
4 |
|
RAL |
Арифметический сдвиг влево |
4 |
Отличие команд RRC и RLS от RAR и RAL заключается в том, что первые обеспечивают циклический сдвиг восьмиразрядного слова в аккумуляторе с дублированием вытесняемого разряда в бите с регистра признаков, а вторые - циклический сдвиг девятиразрядного слова, где девятым разрядом является разряд с.
В таблице приведены три специальные однобайтовые команды, которые могут потребоваться при выполнении арифметических действий.
Мнемоника |
Комментарии |
Число тактов |
|
CMA |
A |
4 |
|
STC |
c = 1 |
4 |
|
CMC |
c |
4 |
Команды перехода и передачи управления
Служат для организации разветвлений и вложения подпрограмм. Команды этой группы бывают безусловными и условными.
Мнемоника |
Комментарии |
Число |
|||||||||
байт |
тактов |
||||||||||
JMP |
B3 B2 PC |
3 |
10 |
||||||||
CALL B3 B2 |
(HPC) [SP - 1] (LPC) [SP - 1]B3 B2 PC |
3 |
17 |
||||||||
RET |
[(SP)] LPC([(SP)] + 1) HPC |
1 |
10 |
||||||||
RST N |
(HPC) [SP - 1] (LPC) [SP - 2]AN PC |
1 |
4 |
||||||||
Функция |
Условия перехода |
Число |
|||||||||
z=1 |
z=0 |
c=1 |
c=0 |
p=1 |
p=0 |
s=1 |
s=0 |
тактов |
байт |
||
Переход |
JZ |
JNZ |
JC |
JNC |
JPE |
JPO |
JM |
JP |
11/17 |
3 |
|
Вызов |
CZ |
CNZ |
CC |
CNC |
CPE |
CPO |
CM |
CP |
11/17 |
3 |
|
Возврат |
RZ |
RNZ |
RC |
RNC |
RPE |
RPO |
RM |
RR |
5/11 |
1 |
В отличие от безусловных команд условные обеспечивают переход только при строго определённом значении одного из разрядов регистра признаков. Если соответствующее условие не выполнено, то передачи управления не происходит и выполняется следующая по порядку команда. Длительность условных команд зависит от того, выполнены условия перехода или нет. В графе «число тактов» в числителе указана длительность выполнения команды при отсутствии перехода, а в знаменателе - при его выполнении.
В группу передачи управления входят четыре вида команд.
1. Команды перехода загружают счётчик команд вторым и третьим байтами и позволяют организовать циклы и разветвления путём перехода к новой последовательности команд. Однако команды перехода не допускают возвращения в то место, откуда был осуществлён переход.
2. Команды вызова дают возможность запомнить текущее значение адреса в счётчике команд и возвратиться к прерванной последовательности после выполнения подпрограммы. Эти команды при реализации перехода заносят в стек содержимое счётчика команд, который, в свою очередь, заполняется вторым и третьим байтами, указывающими начальный адрес подпрограммы.
3. Однобайтовой командой возврата, которая извлекает из стека содержимое двух верхних ячеек и загружает им счётчик команд, заканчивая выполнение подпрограммы. При этом на следующем шаге МП обращается к тому месту программы, из которого произошёл переход к подпрограмме. Команды вызова и возврата дают возможность сократить объём разрабатываемых программ за счёт неоднократного использования их частей.
Подобные документы
Изучение архитектуры персонального компьютера на примере микропроцессора фирмы Intel. Регистры общего назначения. Оперативная память; форматы данных и команд. Команд пересылки с различными способами адресации операндов. Структура программы на Ассемблере.
курс лекций [506,4 K], добавлен 03.05.2014Изучение базовых команд ПК на базе МП i286 и их форматов. Изучение прямых способов адресации данных. Наработка практических навыков работы с командами. Разработка регистровой модели выполнения операций передачи данных. Программа реализации команд.
контрольная работа [42,2 K], добавлен 12.03.2011Типы команд, синтаксис ассемблера и код операции, по которому транслируется команда. Команды вычисления и непосредственной пересылки данных между регистрами. Поле для определения операции вычисления. Управление последовательностью выполнения программы.
реферат [29,1 K], добавлен 13.11.2009Внутренняя архитектура микропроцессора Intel 486. Формат данных и команд. Регистры общего назначения. Программная модель устройства FPU, регистр флагов. Разработка структуры и микропрограммы микропроцессора, управляющего автомата с жесткой логикой.
курсовая работа [1,6 M], добавлен 27.05.2013Изучение элементов структуры микропроцессора i80386 и алгоритмов выполнения множества команд. Разработка проекта структуры АЛУ и структуры микро-ЭВМ на базе гипотетического процессора. Описание и создание программы эмуляции по выполнению заданных команд.
курсовая работа [484,4 K], добавлен 07.09.2012Характеристика регистров памяти как устройств временного хранения данных. Различия между прерываниями и исключениями команд, их обработка. Вычисление производительности ЭВМ. Программа с использованием отложенного запуска команд. Виды компьютерных сетей.
контрольная работа [24,9 K], добавлен 09.11.2010Функциональная схема микропроцессора Intel 8086 (i8086). Формирование физического адреса памяти, выборка команд из памяти и запись их в очередь команд. Система команд процессора. Суть защищенного режима, переход из защищенного режима в реальный режим.
практическая работа [93,3 K], добавлен 24.03.2013Архитектура ЭВМ - совокупность принципов организации аппаратно-программных средств, их основные характеристики, определяющие функциональные возможности ЭВМ при решении заданных задач. Формат команд обработки данных, методы прямой и косвенной адресации.
контрольная работа [772,4 K], добавлен 06.06.2012Комплексные характеристики возможностей микропроцессора, базовая структура системы. Понятие архитектуры микропроцессора. Классификации микропроцессоров по типу архитектуры. Особенности программного и микропрограммного управления, режимы адресации.
реферат [100,7 K], добавлен 20.09.2009Строение схемы микропроцессора: все устройства, необходимые для приема из памяти, хранения, и выполнение команд, заданных согласно варианту режима адресации. Описания языка Ассемблера и его функции. Основные функции макропроцессора, варианты построения.
курс лекций [44,1 K], добавлен 06.03.2009