Меню

Как называется регистр предназначенный для хранения результата выполнения команды

Как называется регистр предназначенный для хранения результата выполнения команды

Смотреть что такое «Регистры процессора» в других словарях:

Архитектура процессора — количественная составляющая компонентов микроархитектуры вычислительной машины (процессора компьютера) (например, регистр флагов или регистры процессора), рассматриваемая IT специалистами в аспекте прикладной деятельности. С точки зрения… … Википедия

Регистр процессора — Эта статья включает описание термина «IP»; см. также другие значения. Регистр процессора блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большой частью недоступен… … Википедия

Кэш процессора — Кэш микропроцессора кэш (сверхоперативная память), используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти. Является одним из верхних уровней иерархии памяти[1] … Википедия

Кэш центрального процессора — Кэш (англ. cache[1], произносится kæʃ кЭш) промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… … Википедия

Моделезависимые регистры — (Model Specific Registers, MSR) cпециальные регистры процессоров архитектуры x86, наличие и назначение которых варьируется от модели к модели процессора. Программно доступны при помощи команд RDMSR и WRMSR. Адресуются 32 битным индексом,… … Википедия

Регистр (цифровая техника) — У этого термина существуют и другие значения, см. Регистр. 4 х разрядный сдвиговый регистр, преобразователь последовательного кода в параллельный и обратно Регистр последовательное или параллельное … Википедия

РОН (электроника) — Регистр процессора сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора … … Википедия

Регистр (вычислительная техника) — Регистр процессора сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора … … Википедия

Motorola 6809 — > Центральный процессор Процессор Motorola 6809E с рабочей частотой 1 МГц, выпущен в 1983 году … Википедия

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

Источник

Регистр принцип работы

Регистры. Устройство, принцип работы

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

Типичными являются следующие операции:

● прием слова в регистр;

● передача слова из регистра;

● поразрядные логические операции;

● сдвиг слова влево или вправо на заданное число разрядов;

● преобразование последовательного кода слова в параллельный и обратно;

● установка регистра в начальное состояние (сброс).

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

Классификация

● накопительные (регистры памяти, хранения);

В свою очередь сдвигающие регистры делятся:

● по способу ввода-вывода информации на параллельные, последовательные, комбинированные;

● по направлению передачи информации на однонаправленные, реверсивные.

Для чего нужны регистры

Регистры процессора – это ячейки сверхбыстрой оперативной памяти, которые предназначены для временного хранения промежуточных данных. Различные регистры содержат информацию в различном виде: адреса и указатели сегментов памяти или системных таблиц, индексы элементов массива и пр.

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

Читайте также:  Как называются маленькие розовые аквариумные рыбки

Любой регистр процессора – это цифровая электронная схема, содержащая последовательность двоичных чисел различной разрядности (16, 32 или 64) и результаты выполнения преобразований между ними. По типу приема и передачи информации могут быть последовательными (сдвиговыми) и параллельными.

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

Регистры-флаги известны также как регистры условий. Они показывают определенный результат выполнения операции, который может быть нулевым, положительным, отрицательным, или указывать на переполнение. Обычно коды условий объединяются в группы и образуют регистр другого типа – управляющий. Менять регистры-флаги возможно, но нежелательно, чтобы не исказить цельный результат.

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

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

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

Индексных регистров два – это индекс источника и индекс приемника. Они используются для получения адреса данных стека в сочетании с регистрами-указателями.

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

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

Источник

Как называется регистр предназначенный для хранения результата выполнения команды

Самый основной элемент компьютера, это, конечно, процессор. Давайте подробней его рассмотрим. Упрощённая структура процессора (рис. 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-разрядных программах).

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

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

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

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

Источник

Adblock
detector