Код операции
Код операции, операционный код, опкод — часть машинного языка, называемая инструкцией и определяющая операцию, которая должна быть выполнена.
Определение и формат кодов инструкций зависит от системы команд данного процессора (который может быть как главным процессором, так и более специализированным для работы в какой-либо конкретной области). В отличие от самого опкода, инструкция обычно имеет одно или больше определений для операндов (то есть данных) над которыми должна выполняться операция, хотя некоторые операции могут иметь явные операнды или совсем их не иметь. Существуют наборы инструкций со схожими полями постоянного размера для опкода и определений операндов, в то время как другие (архитектура x86, к примеру) имеют более сложную структуру с переменной длиной. [1]
В зависимости от архитектуры, операнды могут быть значениями регистров, значениями стека, прочими значениями в памяти, портами ввода-вывода, и прочими, определение и доступ к которым осуществляется при помощи различных методов адресации. Типы операций включают в себя арифметические действия, копирование данных, логические операции, прочие программные конструкции, в отличие от специальных инструкций (таких как cpuid и другие).
Язык ассемблера
Язык ассемблера, или просто ассемблер — низкоуровневый язык программирования, использующий мнемоники, инструкции и операнды для представления машинного кода. Это улучшает читаемость при сохранении полного контроля над машинными инструкциями. Большая часть этого программируется на языках высокого уровня, на которых проще писать объёмный код. Такие языки необходимо компилировать для перевода на язык, который понимает машина, или запускать при помощи других программ, скомпилированных на языке машины. [2]
Программные наборы инструкций
Опкод можно найти и в так называемом байт-коде и прочих представлениях, разработанных скорее для программных интерпретаторов, чем для аппаратного обеспечения. Эти программные наборы инструкций часто задействуют несколько более высокоуровневые типы данных и операции, чем большинство аппаратных аналогов, но, тем не менее, они основаны на тех же принципах. Примерами может послужить Java Virtual Machine (JVM) языка программирования Java, байт-код, используемый в Emacs для скомпилированного кода Лисп и многие другие. [3]
Примечания
Полезное
Смотреть что такое «Код операции» в других словарях:
код операции — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN op code … Справочник технического переводчика
Код операции (информатика) — Эта статья об инструкциях; о системе команд в целом см.: Машинный код. В комьютерной отрасли под кодом операции (также операционный код, опкод англ. operation code) понимают часть машинного языка, называемую инструкцией, определяющую операцию,… … Википедия
Код Рида — Соломона — Коды Рида Соломона недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида Соломона, работающие с байтами (октетами). Код… … Википедия
Код коррекции ошибок Рида-Соломона — Коды Рида Соломона недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида Соломона, работающие с байтами (октетами). Код… … Википедия
Код Рида-Соломона — Коды Рида Соломона недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида Соломона, работающие с байтами (октетами). Код… … Википедия
Код Рида — Коды Рида Соломона (англ. Reed–Solomon codes) недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида Соломона,… … Википедия
Код 200 — SSL Заголовки (список) Cookie · ETag · Referer · User Agent Коды состояния Код состояния англ. HTTP status code) является частью первой строки ответа сервера. Он представляет собой целое число из трех арабских цифр. Первая цифра указывает на… … Википедия
Код состояния HTTP — SSL Заголовки (список) Cookie · ETag · Referer · User Agent Коды состояния Код состояния англ. HTTP status code) является частью первой строки ответа сервера. Он представляет собой целое число из трех арабских цифр. Первая цифра указывает на… … Википедия
Код Грея — 2 битный код Грея 00 01 11 10 3 битный код Грея 000 001 011 010 110 111 101 100 4 битный код Грея 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 Код Грея система счисления, в которой два соседних значения… … Википедия
Код Хаффмана — Алгоритм Хаффмана адаптивный жадный алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью. Был разработан в 1952 году аспирантом Массачусетского технологического института Дэвидом Хаффманом при написании им … Википедия
Формат команды
Система команд
Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операции или действия. Под каждую команду в системной памяти процессора прошиты подпрограммы их выполнения. Ассемблер, анализируя исходник проекта, в сегменте кода, заменяет предложения исходника на эти подпрограммы.
Каждая команда содержит элементы, определяющие:
· Код операции (КОП) описывает, что делать. Значение в поле КОП определяет в блоке микропрограммного управления подпрограмму, реализующую действия для данной команды.
· Операнды описывают объекты, с которыми нужно что-то делать. Операнды в команде могут и не задаваться, а подразумеваться по умолчанию.
· Типы операндов описывают, как делать, обычно задаются неявно.
Правила кодирования команд называются форматом команд. Команды процессоров архитектуры IA-32 считаются сложными. Максимальная длина машинной команды IA-32 составляет 15 байт. Реальная команда может содержать гораздо меньшее количество полей, вплоть до одного — только КОП. Приведенный на рисунке формат машинной команды является самым общим.
Опишем назначения полей машинной команды.
Префиксы. Необязательные элементы машинной команды, каждый из которых состоит из одного байта или может отсутствовать. В памяти префиксы предшествуют команде. Назначение префиксов — модифицировать операцию, выполняемую командой. Прикладная программа может использовать следующие типы префиксов:
· Префикс замены сегмента. В явной форме указывает, какой сегментный регистр используется в данной команде для адресации стека или данных. Префикс отменяет выбор сегментного регистра по умолчанию. Префиксы замены сегмента имеют следующие значения:
Ø 2eh –замена сегмента CS.
Ø 36h –замена сегмента SS.
Ø 3eh –замена сегмента DS.
Ø 26h –замена сегмента ES.
Ø 64h –замена сегмента FS.
Ø 65h –замена сегмента GS.
· Префикс разрядности адреса уточняет разрядность адреса (32 или 16-разрядный). Каждой команде, в которой используется адресный операнд, ставится в соответствие разрядность адреса этого операнда. Этот адрес может иметь разрядность 16 или 32 бит. Это смещение называется эффективный адрес. Если разрядность адреса 32 бит, это означает, что команда содержит 32-разрядное смещение, оно соответствует 32-разрядному смещению адресного операнда относительно начала сегмента и по его значению формируется 32-битное смещение в сегменте. С помощью префикса разрядности адреса можно изменить действующее по умолчанию значение разрядности адреса. Это изменение будет касаться только той команды, которой предшествует префикс.
· Префикс разрядности операнда аналогичен префиксу разрядности адреса, но указывает на разрядность операндов (32 или 16-разрядные), с которыми работает команда. В соответствии с какими правилами устанавливаются значения атрибутов разрядности адреса и операндов по умолчанию?
· Префикс повторения используется с цепочечными командами (командами обработки строк). Этот префикс “зацикливает” команду для обработки всех элементов цепочки. Система команд поддерживает два типа таких префиксов: безусловные (rep — 0f3h), заставляющие повторяться цепочечную команду некоторое количество раз; условные (repe/repz — 0f3h, repne/repnz — 0f2h), которые при зацикливании проверяют некоторые флаги, и в результате проверки возможен досрочный выход из цикла
Код операции. Обязательный элемент, описывающий операцию, выполняемую командой. Многим командам соответствует несколько кодов операций, каждый из которых определяет нюансы выполнения операции.
Поле кода операции не имеет однозначной структуры. В зависимости от конкретных команд оно может иметь в своем составе от 1 до 3 элементов. Один из этих трех элементов является непосредственно кодом операции или ее частью, остальные уточняют детали операции. Дополнительные биты поля КОП:
· Поле reg (3-бита) определяют регистр, используемый в команде.
· Бит d задает направление передачи данных: при 0 из регистра reg, при 1 в регистр reg,
· Бит s задает необходимость расширения 8-битового непосредственного операнда ло 16 или 32 бита

· Бит w определяет размер данных, которыми оперирует команда: байт, слово, двойное слово: при 0 — 8 битов; при 1 — 16 битов для 16-разрядного размера операндов или 32 бита для 32-разрядного размера операндов.
Последующие поля машинной команды определяют местоположение операндов, участвующих в операции, и особенности их использования. Рассмотрение этих полей связано со способами задания операндов в машинной команде и потому будет выполнено позже.
Байт режима адресации modr/m. Иногда называется постбайтом, Значения этого байта определяет используемую форму адреса операндов. Операнды могут находиться в памяти в одном или двух регистрах. Если операнд находится в памяти, то байт modr/m определяет компоненты (смещение, базовый и индексный регистры), используемые для вычисления его эффективного адреса. Байт modr/m состоит из трех полей:
· Поле mod определяет количество байт, занимаемых в команде адресом операнда, поле смещение в команде).Поле mod используется совместно с полем r/m, которое указывает способ модификации адреса операнда смещение в команде.
К примеру, если mod = 00, это означает, что поле смещение в команде отсутствует, и адрес операнда определяется содержимым базового и (или) индексного регистра. Какие именно регистры будут использоваться для вычисления эффективного адреса, определяется значением этого байта. Если mod = 01, это означает, что поле смещение в команде присутствует, занимает один байт и модифицируется содержимым базового и (или) индексного регистра. Если mod = 10, это означает, что поле смещение в команде присутствует, занимает два или четыре байта (в зависимости от действующего по умолчанию или определяемого префиксом размера адреса) и модифицируется содержимым базового и (или) индексного регистра. Если mod = 11, это означает, что операндов в памяти нет: они находятся в регистрах. Это же значение байта mod используется в случае, когда в команде применяется непосредственный операнд.
· Поле reg/КОП определяет либо регистр, находящийся в команде на месте первого операнда, либо возможное расширение кода операции;
· Поле r/m используется совместно с полем mod и определяет либо регистр, находящийся в команде на месте первого операнда (если mod = 11), либо используемые для вычисления эффективного адреса (совместно с полем смещение в команде) базовые и индексные регистры.
Байт масштаб-индекс-база sib (Scale-Index-Base) используется для расширения возможностей адресации операндов. На наличие байта sib в машинной команде указывает сочетание одного из значений 01 или 10 поля mod и значения поля r/m= 100. Байт sib состоит из трех полей:
· Поле масштаба ss. В этом поле размещается масштабный множитель для индексного компонента index, занимающего следующие три бита байта sib. В поле ss может содержаться одно из следующих значений: 1, 2, 4, 8. При вычислении эффективного адреса на это значение будет умножаться содержимое индексного регистра.
· Поле index — используется для хранения номера индексного регистра, который применяется для вычисления эффективного адреса операнда;
· Поле base — используется для хранения номера базового регистра, который также применяется для вычисления эффективного адреса операнда. Напомню, что в качестве базового и индексного регистров могут использоваться практически все регистры общего назначения.
Поле смещения в команде. 8, 16 или 32-разрядное целое число со знаком, представляющее собой, полностью или частично (с учетом вышеприведенных рассуждений), значение эффективного адреса операнда.
Поле непосредственного операнда. Необязательное поле, представляющее собой 8, 16 или 32-разрядный непосредственный операнд. Наличие этого поля, конечно, отражается на значении байта modr/m.
Для описания команд приняты обозначения:
· Структура регистра флагов eflags: 
В нижней строке этой таблицы приводятся значения флагов после выполнения команды:
Ø 1 — после выполнения команды флаг устанавливается (равен 1);
Ø 0 — после выполнения команды флаг сбрасывается (равен 0);
Ø r — значение флага зависит от результата работы команды;
Ø пробел — после выполнения команды флаг не изменяется;
· Для представления операндов в синтаксических диаграммах используются следующие обозначения:
Ø r8, r16, r32 — операнд в одном из регистров размером байт, слово или двойное слово;
Ø m8, m16, m32, m48 — операнд в памяти размером байт, слово, двойное слово или 48 бит;
Ø i8, i16, i32 — непосредственный операнд размером байт, слово или двойное слово;
Ø a8, a16, a32 — относительный адрес (смещение) в сегменте кода.
· На многих диаграммах в целях компактности возможные сочетания операндов показаны в виде следующей конструкции:
Конструируя команду на основе подобной синтаксической диаграммы, вы должны помнить о соответствии типов. В подобной диаграмме допустимы только следующие сочетания: «r8, m8», «r16, m16», «r32, m32». Например, сочетание «r8, m16» недопустимо. Однако есть единичные случаи, когда подобные сочетания возможны; тогда они специально оговариваются.
Кроме команд, служащих для преобразования информации, существуют специальные команды для управления работой процессором и ЭВМ.
Дата добавления: 2015-09-15 ; просмотров: 2696 ; Нарушение авторских прав
В зависимости от выполняемых функций команды подразделяются на восемь групп:
1) арифметические команды для работы с числами с фиксированной точкой;
2) арифметические команды для работы с числами с плавающей точкой;
3) арифметические команды для работы с десятичными числами;
4) логические команды для работы с алфавитно-цифровыми кодами;
5) команды пересылки (передачи) информации;
6) команды управления вводом-выводом;
7) команды перехода (передачи управления);
8) команды управления режимами работы процессора и ЭВМ.
Команда состоит из кода операции (КОП), являющегося обязательным атрибутом команды, из заданной в том или ином виде информации об операндах и указания в явном или неявном виде об адресе результата. Код команды состоит из нескольких полей, каждое из которых имеет определенное функциональное значение. Таким образом определяется структура команды. Структура команды с жестко установленным значением каждого бита в каждом поле команды называется форматом.
Существуют различные варианты адресации операндов командами, в зависимости от которых различают одно-, двух-, трех-, четырехадресные, а также безадресные команды, форматы которых показаны на рис. 6.1.
Одноадресная команда содержит код операции и адрес операнда А. При этом второй операнд хранится где-либо в процессоре, заранее подготовленный предыдущей командой и готовый к участию в выполнении операции (рис. 5.6, а).
Безадресная команда содержит только код операции, который подразумевает всю недостающую информацию (рис. 5.6, д).
Информация об адресе операнда или об адресе записи результата называется адресным кодом. В общем случае адресный код отличается от исполнительного адреса, т. е. адреса памяти, по которому производится фактическое обращение.
Правильный выбор способа адресации, т.е. механизма формирования исполнительного адреса, является важным условием эффективного написания программы.

Рис. 5.1. Форматы команд Рис. 5.2. Пример базирования адреса
Различают 10 основных способов адресации. Рассмотрим их, сделав, однако, оговорку, что кроме этих способов возможны также их различные комбинации.
1. Непосредственная адресация. В команде содержится непосредственно операнд и при этом не требуется выделения ячейки памяти или регистра для его хранения. Это способ оказывается удобным для организации вычислений с применением различных констант.
2. Прямая адресация. Адрес операнда в явном виде задан в соответствующем поле команды и совпадает с исполнительным адресом.
3. Относительная адресация (базирование). Самый распространенный способ адресации. В адресном коде команды задается некоторое число (В), называемое базовым адресом, и смещение относительно этого адреса D. При этом способе адрес получается с помощью сумматора (См) согласно правилу
На рис. 2 показан пример базирования адреса. Базирование позволяет облегчить распределение памяти при составлении одной программы несколькими программистами, так как позволяет воспользоваться единой точкой отсчета.
4. Подразумеваемая адресация. В команде не содержится явных сведений об адресах операнда или результата, но они подразумеваются. Например, при выполнении операции умножения подразумевается, что результат записывается по адресу А1. Возможно также использование подразумеваемой адресации в том случае, когда операнд задается кодом команды. Например, при каждом выполнении команды «Переход по счетчику» из содержимого счетчика вычитается «1», хотя в коде команды она отсутствует.
5. Укороченная адресация. Суть ее заключается в использовании только младших разрядов адреса (при этом старшие разряды заранее подразумеваются нулевыми). Этот вид адресации используется лишь для фиксированных ячеек памяти с короткими (малыми) адресами.
7. Регистровая адресация. В адресной части команды указываются номера регистра, в которых хранятся операнды. Регистровая адресация позволяет повысить производительность процессора за счет уменьшения обращения к ОП.
8. Автоинкрементная и автодекрементная адресации. По сути, оба способа адресации являются регистровой косвенной адресацией и основаны на хранении в регистре косвенного адреса. Если производится приращение к адресу, хранящемуся в регистре, то имеет место автоинкрементная адресация; если производится уменьшение этого адреса, то имеет место автодекрементная адресация. Данные способы адресации являются эффективными лишь при адресации больших массивов данных, так как требуют дополнительных временных затрат на загрузку косвенного адреса в регистр.
Рис. 5.7. Пример базирования и индексирования адреса
10. Индексная адресация. При обработке, массивов однотипных данных часто возникают цикличности выполнения одних и тех же программ или фрагментов программ, что приводит к необходимости организаций обработки одними и теми же командами различных операндов. Механизм индексирования служит для модификации адресных частей команд (адресов операндов). По сути, индексная адресация является развитием базирования и применяется обычно в комбинации с ним.
Операнд – элемент данных, над которым выполняется операция. Операнд команды – операнд операции, которая выполняется при интерпретации команды. Операндами являются исходные данные и результаты операции.
Рассмотренные основные способы адресации, применяемые в ЭВМ, тесно связаны с форматами машинных команд.
В разных вычислительных машинах используется различное число форматов команд. Форматы позволяют, например, обрабатывать числа с фиксированной и плавающей точкой, десятичные числа; производить логические операции над алфавитно-цифровыми кодами и т. д.
Например, некоторые форматы команд:
Рис.5.8. Форматы команд. занимает длину 12 бит, а 2 12 = 4096.
Рис 5.9. Пример выполнения команды сложения формата RR
Рис 5.10. Форматы команд малых и микроЭВМ
В процессе выполнения программы МП получает сигналы, предупреждающие о возникновении ситуации, требующей с его стороны соответствующей реакции. Эти сигналы получили название сигналов прерывания. Сигналы прерываний используются для того, чтобы снизить непроизводительные потери времени, например, при передаче информации; сигнализировать о возникших отклонениях в работе, таких, как изменение в режиме питания, неисправность некоторых подсистем и др.; при поступлении информации одновременно от нескольких внешних устройств, при работе с низкоскоростными периферийными устройствами т. д.
Поскольку моменты возникновения прерываний заранее не известны, в каждом случае возникновения прерывания блок прерываний (БПр) выставляет в процессор специальные сигналы, называемые запросами на прерывание. Запросы на прерывание могут возникать как внутри ВМ (внутренние прерывания), так и вне ее (внешние прерывания).
В некоторых ВМ используются прерывания типа приостановка, когда по соответствующему событию производится на некоторое время остановка хода вычислений. Например, по запросу канала ввода-вывода для передачи информации в ОП приостанавливается процессор и, после того как канал передаст всю информацию, процессор продолжит вычисления.
Сигнал прерывания вызывает в процессоре включение «механизма» передачи управления (рис. 5.11), причем этот сигнал может поступать как от внешних, так и от внутренних источников.
Рис. 5.11 «Механизм» передачи управления прерыванием программ
Классификация видов прерываний показана на рис. 5.12.
Прикладные прерывания временно устанавливаются пользователем при многопрограммной работе МП для указания приоритета выполнения прикладных программ (при появлении необходимости выполнения более приоритетной программы текущая менее приоритетная программа прерывается).
Псевдопрерывания используются для запоминания важных фиксированных адресов, которые могут быть использованы в программах, в частности, при условных и безусловных передачах управления (запоминание адресов передачи управления как векторов прерывания возможно благодаря аналогии выполнения прерывания и обращения к процедурам).
Рис.5.12 Классификация видов прерываний в МП
Программы обработки прерываний DOS, в отличие от программ обработки прерываний BIOS, не встроены в ПЗУ и для разных операционных систем могут быть разными. К программным прерываниям можно отнести также прерывания при пошаговом исполнении программы, при работе с контрольным остановом и т. д.
Технические прерывания (или, иначе, прерывания от схем контроля) возникают при появлении отказов и сбоев в работе технических средств (аппаратуре) ВМ. Большинство технических прерываний не маскируются, то есть они разрешаются всегда, а некоторые из них относятся к категории «аварийных» (например, отключение питания), и при их возникновении даже не запрашивается причина прерывания, а просто, по возможности, спасаются важные промежуточные результаты — записываются в безопасное место, в НЖМД, например.
Логические прерывания возникают при появлении ошибок в выполняемых программах (деление на 0, потеря значности мантиссы, нарушение защиты памяти и т. п.). Многие из логических прерываний также относятся к категории немаскируемых.
Основными функциями системы прерываний программ, являются:
1) запоминание состояния (вектора прерываемой программы;
2) передача управления программам обработки прерываний;
3) восстановление состояния прерванной программы и возврат к ней.
Важными характеристиками системы прерывания являются глубина возможных прерываний и приоритет прерываний. Запросы на прерывание поступают в БПр в произвольные моменты времени, причем не только одновременно, но и в процессе выполнения обработки другого прерывания. Если при выполнении программы обработки прерываний система не реагирует на последующие прерывания, то система называется системой прерывания с единственным уровнем. В такой системе удовлетворение запросов на прерывание осуществляется только после завершения функционирования программы, вызванной другим прерывателем.
Очередность реализации запросов на прерывание устанавливается в соответствии с приоритетами заранее присвоенных каждому типу прерываний. Присвоение приоритетов представляет собой достаточно сложную проблему, при решении которой следует учитывать важность и срочность обслуживания тех или иных запросов. Обычно наивысший приоритет имеют прерывания по машинной ошибке, что объясняется бессмысленностью продолжения вычислений в этом случае. Приоритеты внешних устройств обычно устанавливаются в каналах ввода-вывода.
В определенных условиях работы ВМ может появиться необходимость динамической переоценки приоритетов, например, в управляющих системах для коррекции алгоритмов управления при изменившейся ситуации. При ограниченном количестве запросов такая переоценка реализуется схемным путем, при этом каждому типу запросов выделяется несколько каналов прерываний с различными приоритетами. Блокировкой соответствующих каналов в необходимые моменты добиваются переоценки приоритетов прерываний.
Реализация системы прерывания производится программно и аппаратно. Обычно опрос триггеров прерываний организуется аппаратно, и при наличии хотя бы одного триггера в состоянии «1» формируется общий сигнал прерывания, при появлении которого выполняемая программа прерывается и управление передается в фиксированную ячейку памяти, начиная с которой располагается программа обработки прерываний данного типа. Программа обработки прерываний, прежде чем начать непосредственно обработку прерываний, производит необходимые действия, обеспечивающие в дальнейшем переход к прерванной программе.
При наличии нескольких условий прерывания выявляется причина прерывания, обладающая наивысшим приоритетом, а затем передается управление в ячейку памяти, начиная с которой располагается программа обработки запроса данного типа.
2. Время потерь характеризует непроизводительные затраты машинного времени на переключение от одной программы к другой и обратно.
3. Если в момент поступления очередного запроса данного типа предыдущий запрос этого же типа еще не обработан, то наступает насыщение системы прерывания. Данная ситуация в нормальной системе является недопустимой. Основными причинами наступления насыщения могут быть следующие две:
1) отсутствие согласования временных характеристик источников прерывания с блоком прерываний процессора;
2) одновременная работа большего, чем допускается, количества программ и внешних устройств.
Понятием, тесно связанным с системой прерываний, является понятие маски прерывания, представляющей собой двоичный код, разряд которого соответствует тому или иному классу прерываний. Маска обычно хранится в регистре маски или в каком-либо управляющем регистре и устанавливается программным путем. Состояние бита маски «1» разрешает, а состояние «О» запрещает (блокирует) прерывание данного типа.
Рассмотрим особенности системы прерываний малых ЭВМ и микроЭВМ.
В малых ЭВМ и микроЭВМ все прерывания подразделяются на два типа:
1) внутренние прерывания, к которым относятся:
а) программные прерывания по ошибочной адресации и недействительному коду операций;
б) прерывания по напряжению сети питания ниже допустимого уровня и по восстановлению его нормального уровня;
в) прерывания по разряду слежения, возникающие в том случае, если при выполнении программы разряд слежения устанавливается «1»;
2) внешние прерывания, которые вызываются периферийными устройствами.
Рассмотрим последовательно процесс передачи информации при организации прерывания МП. При поступлении импульсов от внешнего источника в МП входной регистр будет работать в режиме регистра сдвига. Допустим, что информация, поступившая на шестнадцатиразрядный РгВх, затем должна считываться в параллельном коде. Пусть при этом поступление каждого импульса на РгВх происходит за один такт. В этом случае микропроцессор сможет получать 16-разрядное слово (2 байта) через каждые 16 тактов, так как только за 16 тактов информация последовательно, импульс за импульсом, разместится во входном регистре. Естественно, что при этом между каждым поступлением нового слова будет происходить задержка в их обработке. Во время ожидания окончания поступления нового слова МП следит за состоянием РгВх и находится в бездействии.
Режим прерывания дает возможность МП использовать свободные промежутки времени для выполнения другой части программы. Когда очередное слово сформировалось в РгВх и готово для обработки, сигнал прерывания информирует об этом МП, и он выполняет ряд действий по приему поступившего слова и возвращению к прерванной части программы.
30. В каких целях используется аккумулятор в центральном процессоре?
1. для передачи данных
3. для выполнения вычислений
4. для индикации данных
5. для регистрации данных
31. Какой процессор не является однокристальным?











