|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[6] Указатель стека - вьюьмиразрядный регистр - содержит адрес свободной ячейки стека. Данные от микропроцессора поступают в ячейки начиная с адреса IFF, по 8 разрядов одновременно, а содержимое указателя стека при этом уменьшается на единицу, указывая адрес следующей свободной ячейки стека. Когда данные считываются из стека (аналогично тому, как выталкиваются патроны из магазина автомата), содержимое указателя стека увеличивается на единицу с каждым выбранным байтом. Аккумулятор. Выходной регистр АЛУ служит для приема результатов выполнения операции АЛУ. Схемы управления. Автоматическое поддержание требуемой последовательности функционирования всех узлов мропроцессора осуществляют схемы управления. Схемы управления соединены* со всеми узлами микропроцессора линиями управления. Некоторые линии связаны с внешними линиями сигналов управления ПЭВМ. Например, по сигналу готовности*JRDY) микропроцессор заносит в счетчик команд число, находящееся в ячейках памяти с адресами FFFC . и FFFD , иници- 1616 ируя тем самым начало выполнения программы. Прерывания. Сигналы прерывания (IRQ и NMI) предупреждают микропроцессор о том, что произошло внешнее событие, требующее с его стороны соответствующей реакции. Предположим,- что из внешнего источника в ПЭВМ передаются в последовательной форме данные. Каждые восемь двоичных разрядов должны последовательно, по одному, передаваться в порт ввода, после этого микропроцессор считает их. Естественно, что при этом между каждым поступлением нового байта данных будет происходить задержка в их обработке. В течение каждого такого пропуска микропроцессор непрерывно следит за состоянием входного порта, выясняя, поступил ли новый байт. Это приводит к непроизводительной потере времени, когда микропроцессор бездействует в ожидании байта данных. Механизм прерывания дает возможность микропроцессору использовать свободные интервалы времени для выполнения другой части программы. Когда очередной байт данных готов для обработки, прерывание информирует об этом микропроцессор, и он выполняет ряд действий по обслуживанию прерываний, что позволяет выполнить некоторую обработку данных прежде чем микропроцессор вернется к прерванной части программы. Прерывания (IRQ) используются также при обработке данных в масштабе реального времени, когда данные для ввода в ПЭВМ вырабатываются внешним устройством так быстро, что информация о том, что они готовы, должна управлять их вводом в ПЭВМ. В случае задержки их ввода данные могут быть утеряны. Другой тип прерывания (NMI) используется, чтобы вовремя подать сигнал о возникших ненормальных или угрожающих нормальной работе условиях, таких, как отказ питания или неисправности некоторых подсистем. Это немаскируемое (NON MASKable) прерывание, оно определяет немедленную обработку прерывания по окончании выполнения текущей команды. МНЕМОНИКА КОМАНД Команда микропроцессора - это такое двоичное число, которое будучи "про читано" микропроцессором, заставляет его выполнять определенные действия. Другие двоичные числа, отличные от команд, подобных действий вызвать не мо- гут. Большинство команд осуществляет пересылку или обработку данных, расположенных в памяти или в одном из регистров микропроцессора. Несколько команд предназначено для управления вспомогательными функциями микропроцессора. Команды имеют разную длину (один, два или три байта) и содержат два вида информации. Во-первых, команда сообщает микропроцессору, что делать (выполнить очистку, сложение, пересылку, сдвиг и т.д.); во-вторых, команда указывает адрес (местоположение) обрабатываемых данных. Например, команды могут заставить микропроцессор добавить к содержимому аккумулятора копию содержимого некоторой ячейки памяти, очистить аккумулятор, перенести данные из индексного регистра X в индексный регистр Y ит.Д.J Таким образом, команда состоит из двух частей: кода операции и адреса. Если длина команды составляет два или три байта, то первый из них - код операции, а второй (или, если есть, третий) - адрес. Однако не следует делать вывод, что все команды длиной в 1 байт - безадресные. Команда микропроцессора - это двоичное число. Но даже однобайтовое двоичное число трудно запомнить. Еще труднее запомнить двух-, трехбайтовые команды. Шестнадцатеричные эквиваленты также трудно запомнить и тем более отождествлять с их фактическим назначением. Поэтому при работе с компьютером применяют мнемоническое обозначение -сокращенную форму записи английского названия команд. Для этой цели используются три буквы названия операции выполняемой команды (см. прил. 1). Например, мнемоническое обозначение команды загрузки аккумулятора имеет вид LDA (LOAD ACCUMULATOR WITH). Мнемоническая запись является составной частью языка ассемблера. Ассемблер преобразует мнемоническое обозначение кодов операции в соответствующие двоичные эквиваленты. Сочетание сокращенного буквенного обозначения кода операции с числовой формой записи адреса - наиболее удобная форма записи команды. Длина команды зависит от длины используемого в ней адреса. Тип обращения (адресации) к данным в команде называют способом адресации. Всего микропроцессор насчитывает 16 способов адресации. Неявная адресация. Однобайтовые команды не адресуются к данным, расположенным в памяти, а оперируют с информацией, загруженной в регистры микропроцессора, или с разрядами регистра состояния. При таком способе адрес как бы встроен в команду, поэтому он и называется неявным. Однобайтовые команды выполняются быстрее любых других команд (в течение одного-двух машинных циклов). Непосредственная адресация. Код операции команды с непосредственной адресацией размешается в первом байте. Сразу же за кодом операции следуют данные, занимающие один байт. Эти данные берутся не из памяти, их предоставляет микропроцессору программист при записи команды. При использовании данного способа адресации не требуется указывать адрес памяти, необходимо только записать код операции и данные. Операции, задаваемые первым байтом команды (кодом операции), микропроцессор выполняет над данными, представленными ее вторым байтом. Эти команды исполняются за два машинных цикла. Прямая адресация. Для размещения или считывания данных из ячейки памяти применяется прямая адресация. Команда с прямой адресацией имеет длину 2 байт (прямая короткая) или 3 байт (прямая длинная). Первый байт предназначен для кода операции, второй и, если имеется, третий - для адреса. Адрес указывает область памяти, в которой находятся подлежащие обработке данные. Совместное использование второго и третьего байтов команды позволяет адресоваться к любой из 65536 ячеек памяти. При неявной адресации адрес местоположения данных "встроен" в команду, и программист лишен возможности самостоятельно обращаться к данным по их адресу. При непосредственной адресации данные указываются в самой команде сразу за кодом операции. И в этом случае программист не может адресоваться к данными Только прямая адресация позволяет ему это делать, явным образом задавая адрес используемых данных. Прямая короткая адресация позволяет обратиться только к первым 256 байтам (с 0 по 255) - это адрес так называемой нулевой страницы памяти; прямая длинная охватывает весь диапазон адресов (с 0 по 65535). Прямая адресация делает программу независимой от обрабатываемых ею данных, т.е. позволяет одну и ту же программу применять с различными данными. Время выполнения прямой длинной команды в 2 раза больше, чем время выполнения команд с непосредственой адресацией, а прямой короткой - в 1,5 раза. Рекомендуется использовать этот тип адресации, только если возникает необходимость размещать данные независимо от программы. Косвенная адресация. При этом способе во втором байте (косвенная короткая), а если есть, и в третьем (косвенная длинная) указывается адрес ячейки, содержащей адрес (исполнительный) местоположения данных в памяти. Подобные команды отличаются от команд непосредственной адресации, содержащих сами данные, или от команд прямой адресации, которые включают адреса этих данных. Косвенная адресация удобна при обращении к часто используемым областям памяти, особенно в тех случаях, когда данные организованы в виде некоторого списка. Кроме того, этот способ адресации позволяет сделать программу еще более универсальной по отношению к обрабатываемым ею данным, размещая их, например, каждый раз в новой области памяти. Команды с косвенной адресацией выполняются за три и более машинных цикла. Индексная адресация. Эта адресация удобна при обращении к массивам и таблицам. Для образования исполнительного адреса к адресной части команды прибавляется смещение (шестнадцатеричное число) из индексного регистра. Индексные регистры (X и Y) программно доступны, и их содержимое можно изменить, что позволяет варьировать исполнительные адреса без модификации команды, а значит, и всей программы в целом. Когда индексная адресация используется для доступа к массиву, адрес в команде соответствует базовому адресу массива, а значение индексного регистра - индексу элемента массива. Относительная адресация. При использовании относительной адресации исполнительный адрес формируется сложением базового адреса с адресным полем команды. В качестве базового адреса служит содержимое регистра счетчика команд (PC). Относительная адресация позволяет строить программы, свободно перемещаемые в памяти за счет того, что в команде всегда указано смещение по отношению к содержимому регистра счетчика команд. Смещение интерпретируется как знаковое целое число, представленное в дополнительном коде, что обеспечивает переход в любом направлении. Максимальный переход соответствует сдвигу на число адресов в диапазоне от +127 до -128 по отношению к содержимому PC. При этом до прибавления смещения со- |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||