Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры.doc
Скачиваний:
4
Добавлен:
06.07.2019
Размер:
163.33 Кб
Скачать

Системы команд мп. Форматы команд и способы адресации операндов.

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

Например, МП КР580 содержит 78 базовых команд, 244 - модифицированных. МП 8086 (Intel)- содержит 113 базовых команд, а модифицированных - более 300.

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

Вследствие этого формат любой команды состоит из двух частей: операционной и адресной:

По числу адресов команды бывают безадресные, одноадресные и двухадресные. Пример безадресных команд: сброс, пуск.

По длине команды бывают однобайтные, двухбайтные и трехбайтные.

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

1) определять полный адрес памяти меньшим числом бит, тем самым сокращая длину команды.

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

- регистровая

- прямая

- непосредственная

- косвенная

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

- регистрово-косвенной

- страничной

- индексной

- относительной

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

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

2. команды передачи данных

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

Команды обработки данных делятся на арифметические, логические и команды сдвига.

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

КЛАССИФИКАЦИЯ КОМАНД

Стековая память

Характерной чертой современных МКЭВМ является наличие у них так называемой стековой памяти. Доступ к ней осуществляется по принципу LIFO («первым пришел - последним вышел/Last input - first output»). Для организации стековой памяти выделяется специальный регистр, который является указателем стека (SP). С точки зрения реализации механизма доступа к стековой памяти выделяют внутренний (аппаратный) стек или внешний (аппаратно-программный) стек. Перемещение данных при записи и считывании информации в стековой памяти подобно тому, как это происходит в сдвигающих регистрах. Внутренний стек представляет собой совокупность регистров, связи между которыми организованы т.о, что при записи или считывании информации содержимое стека автоматически сдвигается. Обычно емкость внутреннего стека ограничена диапазоном от нескольких регистров до нескольких десятков регистров, поэтому в большинстве ЭВМ такой стек используется для хранения содержимого программного счетчика (СТК) и его называют стеком команд. Основное достоинство внутреннего стека — высокое быстродействие, а недостатком является ограниченная емкость.

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

Основные команды: PUSH, POP (для записи в стек и восстановления содержимого)

Чтобы устройства, входящие в компьютер, могли взаимодействовать с МП, предусмотрена система прерываний. Без прерываний было бы очень трудно обеспечить эффективную работу компьютера, т.к. необходимо, с одной стороны, чтобы ПК выполнял возложенные на него функции, а с другой стороны, необходима его мгновенная реакция на любой требующий внимания запрос. Запрос на прерывание - это специальный сигнал, вырабатываемый блоком прерывания в каждом случае возникновения прерывания. Моменты возникновения прерываний заранее не известны. Прерывание обеспечивает моментальную ре­акцию вычислительной системы, в результате чего изменяется ход выполнения программы.

Запросы на прерывание могут поступать от внешних и внутренних источников. Основные функции системы прерываний:

1. запоминание состояния прерванной программы

2. передача управления программам обработки прерываний

3. восстановление состояния прерванной программы и возврат к ней.

Int (interrupt) - прерывание

lvt - таблица векторов прерываний

Вектор - это начальный адрес подпрограммы прерываний

4 байта выделяется на начальный адрес, 256 таких адресов(256 прерываний)

Isr (Interrupt service routines) подпрограмма обработки прерываний

Таблица векторов прерываний находится в ОП и занимает первые 1024 ячейки 1-го Мб

Программы обработки прерываний - в ROM-BIOS

Iret - команда возврата из прерывания (для МП эта команда означает «продол­жай делать то, что делал до этого»)

Intr - вход в МП, на который поступают прерывания (маскируемые или нор­мальные Normal interrupt)

NMI - вход МП, на который поступают немаскируемые прерывания Nomascable Interrupt

IRQ - линия запросов на прерывание (Interrupt request line)