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

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

Регистрами называют устройства для хранения одного двоичного числа. Ко­личество разрядов в регистрах, выпускаемых отдельно, обычно не превышает восьми, но в составе других микросхем могут быть и регистры с большей разрядностью— вплоть до 128 или 256 бит в «продвинутых» микропроцес­сорах. Большинство типов электронных запоминающих устройств, вообще говоря, можно рассматривать как совокупность регистров. Но собственно регистры, как входящие в состав процессоров, так и выпускаемые отдельно, отличаются тем, что позволяют не только записывать и считывать информа­цию, но и производить некоторые простейшие операции, например, сдвиг разрядов.

Простейший регистр — это упомянутый ранее статический D-триггер. Четы­ре таких триггера, входящих в микросхему 561ТМЗ, образуют четырехраз­рядный регистр с параллельной записью и считыванием, причем тактовый вход в этой микросхеме у всех четырех разрядов общий. Как и сам триггер, такой регистр называют «защелкой».

Если регистр-защелка позволяет осуществлять только параллельную запись, то последовательный регистр (пример— 561ИР2) наоборот, имеет возмож­ность записи только через один вход, который является D-входом самого младшего разряда. Последовательный регистр является неким обобщением конструкции D-триггера. Работу динамического D-триггера можно рассмат­ривать, как процесс сдвига информации от входа через первый триггер ко второму при поступлении соответствующих перепадов на тактовом входе. В последовательном регистре, который в простейшем случае представляет собой просто последовательное соединение таких триггеров, происходит не­что подобное — с каждым фронтом тактового импульса информация сдвига­ется от младшего разряда к старшему, при этом в младший разряд записыва­ется состояние входа. Считывать информацию при этом можно из каждого разряда в отдельности, как и в случае регистра-защелки. Такие регистры по­лучили еще название сдвиговых. Они широко используются для последова­тельного ввода и вывода информации — скажем, для вывода восьми бит че­рез последовательный порт RS-232 достаточно записать их в такой регистр, а потом подать на него восемь тактовых импульсов с нужной частотой.

Сдвиговый регистр можно закольцевать — соединить выход старшего разря­да со входом младшего и получить нечто подобное.слону из анекдота, кото­рый засунул хобот себе в известное место. Однако в случае одного сдвигово­го регистра такое соединение приведет к тому же результату, что и для слона, то есть довольно бесполезно практически, ибо мы без дополнительных ухищрений запись информации производить уже не сможем. Поэтому ис­пользуют объединение параллельной и последовательной записи/считывания в одном устройстве (пример— четырехразрядный регистр 561ИР9 или вось­миразрядный 561ИР6).

Такие сдвиговые регистры с параллельной записью и последовательным счи­тыванием информации — неотъемлемая часть устройств памяти большой ем­кости, без них чтение и запись в большие массивы запоминающих ячеек были бы невозможны. Имеются они, например, в матрицах цифровых камер. Инте­ресное применение таких регистров — организация последовательного ин­терфейса SPI, широко используемого для скоростного обмена информацией ме>кду различными микросхемами (например, ме>кду энергонезависимой памя­тью, вроде флэш-карточек, и микроконтроллером). В SPI наличествуют два восьмибитовых регистра, соединенных в кольцо входами/выходами, но они разделены пространственно: один регистр находится в одном устройстве, дру­гой — в другом. Если подавать тактовые импульсы на оба регистра одновре­менно (это осуществляет одно из устройств — ведущее), то после подачи ров­но 8 импульсов устройства обменяются содержимым своих регистров.

Источник

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

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

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

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

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

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

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

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

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

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

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

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

Источник

Что такое регистр?

Регистр. Регистр сдвига

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

Регистр это устройство, выполненное на триггерах для выполнения ряда действий с двоичными числами. Для тех, кто не знает, что такое триггер, рекомендуем познакомиться с простейшим RS-триггером.

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

Обычно используются регистры, состоящие из 4, 8, или 16 триггеров. Изображение четырёхразрядного регистра на принципиальных схемах может быть таким.

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

На рисунке не показаны инверсные выхода триггеров и сигнал R. Регистры всегда обозначаются латинскими буквами RG. Если регистр сдвигающий, то под обозначением рисуется стрелка направленная влево, вправо или двойная.

Сдвигающие регистры или регистры сдвига.

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

Кроме того сдвигающие регистры являются основой (АЛУ) арифметико-логического устройства, так как при сдвиге записанного в регистр двоичного числа на один разряд влево производится умножение числа на два, а при сдвиге числа на один разряд вправо число делится на два. Поэтому наибольшее распространение получили реверсивные или двунаправленные регистры.

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

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

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

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

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

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

V2 – вход управления. С его помощью выбирается режим работы регистра.

Q1 – Q4 выходы триггеров с которых снимается параллельный код.

V1 – вход для подачи последовательного кода.

C1, C2 – тактовые синхроимпульсы.

D1 – D4 – входы для записи параллельного кода.

Алгоритм работы регистра следующий. Если на вход V2 подать низкий потенциал, тактовые импульсы на C1, а на вход V1 подавать информационные биты, то регистр осуществляет сдвиг вправо. После приёма четырёх разрядов на выходах триггеров Q1 – Q4 мы получаем параллельный код. Таким образом осуществляется преобразование последовательного кода в параллельный.

Для обратного преобразования параллельный код записывается по входам D1 – D4, с подачей на вход V2 высокого потенциала и тактовых импульсов на вход С2. Затем подавая на вход V2 низкий потенциал, а тактовые импульсы на вход С1 мы сдвигаем записанный код, а с выхода последнего триггера снимается последовательный код.

По своей структуре это один из самых простых регистров сдвига.

Регистры сдвига в цифровой технике могут послужить основой, на которой собираются узлы с интересными свойствами. Это, например, кольцевые счётчики, которые называются счётчики Джонсона. Такой счётчик имеет количество состояний вдвое большее, чем число составляющих его триггеров. Например, если кольцевой счётчик состоит из трёх триггеров, то он будет иметь шесть устойчивых состояний. На вход счётчика ничего не подаётся кроме синхроимпульсов. В первоначальном состоянии все триггеры «сброшены», то есть на прямых выходах триггеров логические нули, а вот на входе D первого триггера с инверсного выхода третьего триггера находится логическая единица. Начнём подавать тактовые импульсы и процесс пошёл.

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистры

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

NQ2Q1Q0
1001
2011
3111
4110
5100
6000

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Уроки FASM. Регистры. Window x32

Что это такое и зачем нужны?

Это самая быстрая память в ПК по сравнению с ОЗУ. Но при этом размер регистров намного меньше чем ОЗУ, по этой причине используют ОЗУ.

Регистр RAX это дополнение EAX, EAX это дополнение AX, AX это объединение 2 регистров AH и AL.

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистрыwikipedia

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистрыOllyDbg

Для чего нужны регистры. Смотреть фото Для чего нужны регистры. Смотреть картинку Для чего нужны регистры. Картинка про Для чего нужны регистры. Фото Для чего нужны регистрыOllydbg

Зачем так много разновидностей 1 регистра?

Для поддержке более старых версий процессоров x86 (обратная совместимость, например: на 64 битном ЦП запустить 32 битную программу)

Какие бывают регистры?

Их очень много и каждый под свои задачи, но есть регистры общего доступа, с которыми мы будем работать.

Это 32 битные регистры (16, 8):

ESI (SI, это 16 битный регистр, меньше нет)

EDI (DI, это 16 битный регистр, меньше нет)

Как работать с регистрами?

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

Попробуем записать значение в регистры:

Что за регистр FLAGS?

Это регистр состояния ЦП, он нужен для проверки и сравнению чисел, проверки регистров.

Источник

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

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