в каком регистре хранится адрес выполняемой команды

В каком регистре хранится адрес выполняемой команды

Самый основной элемент компьютера, это, конечно, процессор. Давайте подробней его рассмотрим. Упрощённая структура процессора (рис. 4):

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Рис. 4. Упрощённая структура процессора

Основные элементы процессора:

· Регистры – это специальные ячейки памяти, физически расположенные внутри процессора. В отличие от ОЗУ, где для обращения к данным требуется использовать шину адреса, к регистрам процессор может обращаться напрямую. Это существенно ускорят работу с данными.

· Арифметико-логическое устройство выполняет арифметические операции, такие как сложение, вычитание, а также логические операции.

· Блок управления определяет последовательность микрокоманд, выполняемых при обработке машинных кодов (команд).

2.2. Режимы работы процессора.

Процессор архитектуры x86 может работать в одном из пяти режимов и переключаться между ними очень быстро:

1. Реальный (незащищенный) режим (real address mode) — режим, в котором работал процессор 8086. В современных процессорах этот режим поддерживается в основном для совместимости с древним программным обеспечением (DOS-программами).

2. Защищенный режим (protected mode) — режим, который впервые был реализован в 80286 процессоре. Все современные операционные системы (Windows, Linux и пр.) работают в защищенном режиме. Программы реального режима не могут функционировать в защищенном режиме.

3. Режим виртуального процессора 8086 (virtual-8086 mode, V86) — в этот режим можно перейти только из защищенного режима. Служит для обеспечения функционирования программ реального режима, причем дает возможность одновременной работы нескольких таких программ, что в реальном режиме невозможно. Режим V86 предоставляет аппаратные средства для формирования виртуальной машины, эмулирующей процессор8086. Виртуальная машина формируется программными средствами операционной системы. В Windows такая виртуальная машина называется VDM (Virtual DOS Machine — виртуальная машина DOS). VDM перехватывает и обрабатывает системные вызовы от работающих DOS-приложений.

4. Нереальный режим (unreal mode, он же big real mode) — аналогичен реальному режиму, только позволяет получать доступ ко всей физической памяти, что невозможно в реальном режиме.

5. Режим системного управления System Management Mode (SMM) используется в служебных и отладочных целях.

При загрузке компьютера процессор всегда находится в реальном режиме, в этом режиме работали первые операционные системы, например MS-DOS, однако современные операционные системы, такие как Windows и Linux переводят процессор в защищенный режим. Вам, наверное, интересно, что защищает процессор в защищенном режиме? В защищенном режиме процессор защищает выполняемые программы в памяти от взаимного влияния (умышленно или по ошибке) друг на друга, что легко может произойти в реальном режиме. Поэтому защищенный режим и назвали защищенным.

2.3. Регистры процессора (программная модель процессора).

Для понимания работы команд ассемблера необходимо четко представлять, как выполняется адресация данных, какие регистры процессора и как могут использоваться при выполнении инструкций. Рассмотрим базовую программную модель процессоров Intel 80386, в которую входят:

· 8 регистров общего назначения, служащих для хранения данных и указателей;

· регистры сегментов — они хранят 6 селекторов сегментов;

· регистр управления и контроля EFLAGS, который позволяет управлять состоянием выполнения программы и состоянием (на уровне приложения) процессора;

· регистр-указатель EIP выполняемой следующей инструкции процессора;

· система команд (инструкций) процессора;

· режимы адресации данных в командах процессора.

Начнем с описания базовых регистров процессора Intel 80386.

Базовые регистры процессора Intel 80386 являются основой для разработки программ и позволяют решать основные задачи по обработке данных. Все они показаны на рис. 5.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Рис. 5. Базовые регистры процессора Intel 80386

Среди базового набора регистров выделим отдельные группы и рассмотрим их назначение.

2.4. Регистры общего назначения.

2.5. Сегментные регистры.

В отличие от DS, ES, GS, FS, которые называются регистрами сегментов данных, CS и SS отвечают за сегменты двух особенных типов – сегмент кода и сегмент стека. Первый содержит программу, исполняющуюся в данный момент, следовательно, запись нового селектора в этот регистр приводит к тому, что далее будет исполнена не следующая по тексту программы команда, а команда из кода, находящегося в другом сегменте, с тем же смещением. Смещение очередной выполняемой команды всегда хранится в специальном регистре EIP (указатель инструкции, 16-битная форма IP), запись в который так же приведет к тому, что далее будет исполнена какая-нибудь другая команда. На самом деле все команды передачи управления – перехода, условного перехода, цикла, вызова подпрограммы и т.п. – и осуществляют эту самую запись в CS и EIP.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Рис. 6. Регистр флагов FLAGS.

CF – флаг переноса. Устанавливается в 1, если результат предыдущей операции не уместился в приемнике и произошел перенос из старшего бита или если требуется заем (при вычитании), в противном случае – в 0. Например, после сложения слова 0 FFFFh и 1, если регистр, в который надо поместить результат, – слово, в него будет записано 0000 h и флаг CF = 1.

PF – флаг четности. Устанавливается в 1, если младший байт результата предыдущей команды содержит четное число битов, равных 1, и в 0, если нечетное. Это не то же самое, что делимость на два. Число делится на два без остатка, если его самый младший бит равен нулю, и не делится, когда он равен 1.

AF – флаг полупереноса или вспомогательного переноса. Устанавливается в 1, если в результате предыдущей операции произошел перенос (или заем) из третьего бита в четвертый. Этот флаг используется автоматически командами двоично-десятичной коррекции.

ZF – флаг нуля. Устанавливается в 1, если результат предыдущей команды – ноль.

SF – флаг знака. Он всегда равен старшему биту результата.

TF – флаг ловушки. Он был предусмотрен для работы отладчиков, не использующих защищенный режим. Установка его в 1 приводит к тому, что после выполнения каждой программной команды управление временно передается отладчику.

IF – флаг прерываний. Сброс этого флага в 0 приводит к тому, что процессор перестает обрабатывать прерывания от внешних устройств. Обычно его сбрасывают на короткое время для выполнения критических участков кода.

DF – флаг направления. Он контролирует поведение команд обработки строк: когда он установлен в 1, строки обрабатываются в сторону уменьшения адресов, когда DF =0 – наоборот.

OF – флаг переполнения. Он устанавливается в 1, если результат предыдущей арифметической операции над числами со знаком выходит за допустимые для них пределы. Например, если при сложении двух положительных чисел получается число со старшим битом, равным единице, то есть отрицательное, и наоборот.

Флаги IOPL (уровень привилегий ввода-вывода) и NT (вложенная задача) применяются в защищенном режиме.

2.7. Цикл выполнения команды

Программа состоит из машинных команд. Программа загружается в оперативную память компьютера. Затем программа начинает выполняться, то есть процессор выполняет машинные команды в той последовательности, в какой они записаны в программе.

Для того чтобы процессор знал, какую команду нужно выполнять в определённый момент, существует счётчик команд – специальный регистр, в котором хранится адрес команды, которая должна быть выполнена после выполнения текущей команды. То есть при запуске программы в этом регистре хранится адрес первой команды. В процессорах Intel в качестве счётчика команд (его ещё называют указатель команды) используется регистр EIP (или IP в 16-разрядных программах).

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

Цикл выполнения команды – это последовательность действий, которая совершается процессором при выполнении одной машинной команды. При выполнении каждой машинной команды процессор должен выполнить как минимум три действия: выборку, декодирование и выполнение. Если в команде используется операнд, расположенный в оперативной памяти, то процессору придётся выполнить ещё две операции: выборку операнда из памяти и запись результата в память. Ниже описаны эти пять операций.

Суммируем полученные знания и составим цикл выполнения команды:

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

Источник

Адресация операндов

3.1. Адресация операндов

3.1.1. Методы адресации

Непосредственная адресация (рис. 3.1) предполагает, что операнд (входной) находится в памяти непосредственно за кодом команды. Операнд обычно представляет собой константу, которую надо куда-то переслать, к чему-то прибавить и т.д. Например, команда может состоять в том, чтобы прибавить число 6 к содержимому какого-то внутреннего регистра процессора. Это число 6 будет располагаться в памяти, внутри программы в адресе, следующем за кодом данной команды сложения.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Прямая (она же абсолютная) адресация (рис. 3.2) предполагает, что операнд (входной или выходной) находится в памяти по адресу, код которого находится внутри программы сразу же за кодом команды. Например, команда может состоять в том, чтобы очистить (сделать нулевым) содержимое ячейки памяти с адресом 1000000. Код этого адреса 1000000 будет располагаться в памяти, внутри программы в следующем адресе за кодом данной команды очистки.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Автоинкрементная адресация очень близка к косвенной адресации, но отличается от нее тем, что после выполнения команды содержимое используемого регистра увеличивается на единицу или на два. Этот метод адресации очень удобен, например, при последовательной обработке кодов из массива данных, находящегося в памяти. После обработки какого-то кода адрес в регистре будет указывать уже на следующий код из массива. При использовании косвенной адресации в данном случае пришлось бы увеличивать содержимое этого регистра отдельной командой.

Автодекрементная адресация работает похоже на автоинкрементную, но только содержимое выбранного регистра уменьшается на единицу или на два перед выполнением команды. Эта адресация также удобна при обработке массивов данных. Совместное использование автоинкрементной и автодекрементной адресаций позволяет организовать память стекового типа (см. раздел 2.4.2).

Из других распространенных методов адресации можно упомянуть об индексных методах, которые предполагают для вычисления адреса операнда прибавление к содержимому регистра заданной константы (индекса). Код этой константы располагается в памяти непосредственно за кодом команды.

Отметим, что выбор того или иного метода адресации в значительной степени определяет время выполнения команды. Самая быстрая адресация — это регистровая, так как она не требует дополнительных циклов обмена по магистрали. Если же адресация требует обращения к памяти, то время выполнения команды будет увеличиваться за счет длительности необходимых циклов обращения к памяти. Понятно, что чем больше внутренних регистров у процессора, тем чаще и свободнее можно применять регистровую адресацию, и тем быстрее будет работать система в целом.

3.1.2. Сегментирование памяти

Говоря об адресации, нельзя обойти вопрос о сегментировании памяти, применяемой в некоторых процессорах, например в процессорах IBM PC-совместимых персональных компьютеров.

В процессоре Intel 8086 сегментирование памяти организовано следующим образом.

Вся память системы представляется не в виде непрерывного пространства, а в виде нескольких кусков — сегментов заданного размера (по 64 Кбайта), положение которых в пространстве памяти можно изменять программным путем.

Для хранения кодов адресов памяти используются не отдельные регистры, а пары регистров:

Сегмент может начинаться только на 16-байтной границе памяти (так как адрес начала сегмента, по сути, имеет четыре младших нулевых разряда, как видно из рис. 3.5), то есть с адреса, кратного 16. Эти допустимые границы сегментов называются границами параграфов.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Применяются и более сложные методы сегментирования памяти. Например, в процессоре Intel 80286 в так называемом защищенном режиме адрес памяти вычисляется в соответствии с рис. 3.7.

В сегментном регистре в данном случае хранится не базовый (начальный) адрес сегментов, а коды селекторов, определяющие адреса в памяти, по которым хранятся дескрипторы (то есть описатели) сегментов. Область памяти с дескрипторами называется таблицей дескрипторов. Каждый дескриптор сегмента содержит базовый адрес сегмента, размер сегмента (от 1 до 64 Кбайт) и его атрибуты. Базовый адрес сегмента имеет разрядность 24 бит, что обеспечивает адресацию 16 Мбайт физической памяти.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Еще более сложный метод адресации памяти с сегментированием использован в процессоре Intel 80386 и в более поздних моделях процессоров фирмы Intel. Этот метод иллюстрируется рис. 3.8.

Адрес памяти (физический адрес) вычисляется в три этапа. Сначала вычисляется так называемый эффективный адрес (32-разрядный) путем суммирования трех компонентов: базы, индекса и смещения (Base, Index, Displacement ), причем возможно умножение индекса на масштаб (Scale). Эти компоненты имеют следующий смысл:

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Затем специальный блок сегментации вычисляет 32-разрядный линейный адрес, который представляет собой сумму базового адреса сегмента из сегментного регистра с эффективным адресом. Наконец, физический 32-битный адрес памяти образуется путем преобразования линейного адреса блоком страничной переадресации, который осуществляет перевод линейного адреса в физический страницами по 4 Кбайта.

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

3.1.3. Адресация байтов и слов

Многие процессоры, имеющие разрядность 16 или 32, способны адресовать не только целое слово в памяти (16-разрядное или 32-разрядное), но и отдельные байты. Каждому байту в каждом слове при этом отводится свой адрес.

Так, в случае 16-разрядных процессоров все слова в памяти (16-разрядные) имеют четные адреса. А байты, входящие в эти слова, могут иметь как четные адреса, так и нечетные.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Для различия байтовых и словных циклов обмена на магистрали в шине управления предусматривается специальный сигнал байтового обмена. Для работы с байтами в систему команд процессора вводятся специальные команды или предусматриваются методы байтовой адресации.

Источник

В каком регистре хранится адрес выполняемой команды

Архитектура МП (Лекция)

1. Внутреннее построение микропроцессора

2. Арифметико-логическое устройство (АЛУ)

6. Регистр адреса памяти (регистр адреса)

8. Регистр состояния

9. Буферные регистры АЛУ

10. Регистры общего назначения (РОН)

12. Схема управления

1. Внутреннее построение микропроцессора

Потребитель, воспринимает МП как нечто цельное, имеющее внешние потребительские свойства, заложенные в его архитектуру.

Архитектура МП – функциональные возможности аппаратных средств МП, используемые для представления данных, машинных операций, описания алгоритмов и процессов вычислений.

С точки зрения пользователя-программиста под архитектурой МП в общем случае понимают совокупность следующих компонентов и характеристик:

1) разрядность адресов и данных;

2) состав и назначение программно-доступных регистров;

3) формат и система команд;

4) режим адресации памяти;

5) способы машинного представления данных разного типа;

6) структура адресного пространства;

7) способы адресации внешних устройств и средств выполнения операций ввода-вывода;

8) классы прерываний, особенности инициирования и обработки прерываний.

Какими бы ни были рассматриваемые МП, касающаяся их информация содержит много общего. Типовая документация содержит информацию о структуре ИС, схеме выводов ИС и назначение каждого из них. Схематизируется архитектура МП, описываются его основные свойства. Одновременно даются временные диаграммы и состав команд МП.

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

Использование структурной схемы МП существенно облегчает понимание того, как МП решает поставленные задачи. Рассмотрим структурную схему, представленную на рисунке 1. Изображённый 8-разрядный МП приведен в качестве типичного примера и не является какой-либо конкретной моделью, выпускаемой промышленностью.

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

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Рис. 1. Структурная схема 8-разрядного МП

Использование структурной схемы МП существенно облегчает понимание того, как МП решает поставленные задачи. Рассмотрим структурную схему представленную на рис. 1

МП состоит из трёх основных блоков: АЛУ, нескольких регистров и устройства управления. Для передачи данных между этими блоками МП используется внутренняя шина данных. Поясним назначение отдельных элементов структурной схемы.

2. Арифметико-логическое устройство (АЛУ)

АЛУ выполняет обработку данных. Типичными операциями, выполняемыми АЛУ являются сложение, инвертирование, сдвиг, а также операции инкремента и декремента. АЛУ содержит два входных порта и один выходной порт. Оба входных порта снабжены буферами, роль которых выполняют регистры временного хранения данных – буферные регистры. В конечном итоге АЛУ выполняет все арифметические и логические операции. Каждый порт соединён со своим буферным регистром, способным хранить для АЛУ одно слово данных. АЛУ принимает данные или с внутренней шины данных МП, или из специального регистра, именуемого аккумулятором. Единственный выходной порт АЛУ пересылает слово данных в аккумулятор. АЛУ оперирует одним или двумя словами в зависимости от вида выполняемой операции.

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

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

Аккумулятор – главный регистр МП при различных манипуляциях с данными. Для выполнения любой операции над данными прежде всего их необходимо поместить в аккумулятор. Данные поступают в него с внутренней шины данных МП. В свою очередь аккумулятор может посылать данные на эту шину. На пути прохождения данных из аккумулятора в АЛУ находится буфер аккумулятора. Большинство арифметических и логических операций осуществляется путём использования АЛУ и аккумулятора. Любая из таких операций над двумя словами данных предполагает размещение одного из них в аккумуляторе, а другого в памяти или в каком-либо регистре. Результат операции АЛУ размещается в аккумуляторе. При этом исходное содержимое аккумулятора теряется.

Количество разрядов аккумулятора соответствует разрядности шины данных МП, т.е. 8 бит. Некоторые МП имеют аккумуляторы двойной длины или группу аккумуляторов.

Для корректного выполнения программы её команды должны поступать в строго определённом порядке. Счетчик команд следит за тем, какая команда выполняется, а какая подлежит выполнению следующей. Счетчик команд содержит адрес ячейки памяти следующей для выполнения команды. Для МП адресующихся к памяти объёмом 64 кбайта число разрядов счетчика команд равно 16. Счетчик команд (РС) соединён с внутренней шинной данных МП. Теоретически этот регистр может получать данные об адресах программы из любого блока МП, подключенного к внутренней шине. Однако в действительности данные поступают в счетчик команд из памяти ЭВМ.

Для правильного понимания излагаемого отметим следующее. После извлечения команды из памяти МП автоматически даёт приращение содержимому счетчика команд. Это приращение СК получает как раз в тот момент, когда МП начинает выполнять команду, только что извлеченную из памяти. С этого момента СК указывает, какой будет следующая команда. СК содержит адрес следующей выполняемой команды на протяжении всего времени выполнения текущей команды. Перед выполнением программы СК загружается адресом ячейки памяти, содержащей первую команду программы.

6. Регистр адреса памяти (регистр адреса)

При каждом обращении к памяти ЭВМ регистр адреса памяти указывает (содержит) адрес ячейки памяти, которая подлежит использованию МП. Регистр адреса памяти содержит двоичное число – адрес области памяти. Выход этого регистра называется адресной шиной.

В ходе извлечения команды из памяти её первый байт (КОП) передаётся в 8-разрядный регистр команд. Содержимое регистра доступно тогда дешифратору команд. Регистр команд предназначен исключительно для хранения текущей выполняемой команды. Эта функция реализуется МП с начала цикла выборка-выполнение, называемый также машинным циклом. Регистр команд соединён с внутренней шиной данных, однако он может только принимать данные – посылать данные на шину он не может.

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

8. Регистр состояния

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

На рис. 2 показаны разряды регистра состояния. Этот регистр ещё называют регистром признаков.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Бит CY указывает, что последняя выполненная операция сопровождалась переносом или заёмом. Значение разряда переноса устанавливается равным 1, если в результате сложения двух чисел имеет место перенос из 8-го разряда результата. Отрицательный перенос фиксируется в бите CY при вычитании большего числа из меньшего.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Бит нулевого результата Z принимает единичное значение, если после окончания операции во всех разрядах результата обнаружены двоичные нули. В противном случае бит Z содержит нуль.

Знаковый бит S принимает единичное значение, когда старший значащий бит результата становится равным 1. При выполнении арифметических операций с числами в дополнительном коде единичное значение старшего бита показывает, что получено отрицательное число.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Бит четности Р поверяет число единиц в аккумуляторе. Если это число четное то в бите P устанавливается 1, если число нечетное – бит Р сбрасывается в 0.

Не все разряды регистра состояния используются МП. В неиспользуемых 8-разрядах постоянно записаны двоичные единицы или нули. Слово состояния МП – это содержимое регистра состояния. Содержимое регистра состояния может быть загружено во внутреннею шину данных МП. Однако он не имеет возможности принимать данные, поступающие по шине.

9. Буферные регистры АЛУ

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

Работа АЛУ без регистров временного хранения данных невозможна. Когда в арифметической или логической операций АЛУ участвуют два слова данных, одно из них из аккумулятора. Результат подобной операции помещается в аккумулятор. Буфер аккумулятора позволяет избежать ситуации, при которой вход и выход АЛУ одновременно подсоединены к одной и той же точке схемы. Буферные регистры недоступны для программирования.

10. Регистры общего назначения (РОН)

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

Указатель стека ( SP ) представляет 16-разрядный регистр, который содержит адрес последнего помещенного в стек байта. Указатель стека декрементируется при каждом помещении в стек и инкрементируется при каждом извлечении из него.

Стек – это область памяти, специально выделяемая для временного хранения данных программы. Отличительной особенностью стека является особая организация обращения к нему со стороны МП. Запись и чтение данных в стеке осуществляется в соответствии с принципом LIFO ( Last In First Out ) – «последним пришел, первым ушел». Таким образом, информация в стеке размещается в строгой последовательности – ячейка памяти, заполненная последней, считывается первой, а ячейка памяти заполненная первой извлекается последней. В ячейки стека информация заносится последовательно и извлекается в порядке обратном порядку занесения. Таким образом, стек функционирует как память с последовательным доступом. По мере записи данных в стек он растёт в сторону младших адресов. Эта особенность заложена в алгоритм команд работы со стеком. Концептуальная схема организации стека показана на рисунке.

в каком регистре хранится адрес выполняемой команды. Смотреть фото в каком регистре хранится адрес выполняемой команды. Смотреть картинку в каком регистре хранится адрес выполняемой команды. Картинка про в каком регистре хранится адрес выполняемой команды. Фото в каком регистре хранится адрес выполняемой команды

Стек предназначен для обработки прерываний и программ. При записи слова данных в ячейку стека значение адреса в указателе стека уменьшается на единицу, а при считывании данных увеличивается на единицу.

Стек выполняется на некоторой выделенной области ОЗУ. В этом случае стек представляет память с последовательным доступом. Обращение и адресация к стеку производится через регистр указателя стека.

Стек на внутренних регистрах МП более быстродействующий, но из-за малого числа регистров, имеющихся в МП, не обеспечивается большая глубина вложения данных. Поэтому стеки большинства МП размещаются в памяти.

Вершиной стека называется адрес его последней загруженной ячейки памяти. Таким образом, указатель стека всегда содержит адрес его вершины. Начало стека в ОЗУ (его дно) определяется программистом путём записи в регистр SP адреса первой ячейки памяти стека. Вершина стека подвижна и её расположение определяется объёмом данных, загруженных в стек. Стек не имеет ограничений, за исключением тех, которые обусловлены наличием других программ в ОЗУ.

12. Схема управления

Схема управления состоит из дешифратора команд и устройства управления и синхронизации. Одна из главных функций схемы управления – декодирование команды. Для этого служит дешифратор команд. Он декодирует команду, находящуюся в регистре команд и выдаёт сигналы, необходимые для выполнения команды, в устройство управления. Основу устройства управления МП составляют программируемые логические матрицы (ПЛМ). Дешифратор анализирует отдельные биты команды и передаёт код операции в устройство управления. Устройство управления получает сигналы от дешифратора команд для определения природы выполняемой команды. Устройство управления получает также информацию от регистра состояния в случае условного перехода. Сигналы управления и синхронизации передаются во все блоки МП для координации выполнения команд и управления внешними устройствами (ОЗУ, ПЗУ, УВВ).

Устройство управления связано с генератором тактовых импульсов, синхронизирующим во времени работу МП. Принимаемые тактовые сигналы схемой управления преобразуются в многофазные синхросигналы. В качестве ГТИ используют кварцевый генератор – внешний или внутренний, встроенный в МП.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *