Что такое регистр в компьютере
Что такое регистр? Регистр – это набор символов, только и всего. Различие регистров на "верхний" (с прописными буквами) и "нижний" (со строчными буквами) пошло со времён печатных машин. Для печатной машины регистр – ряд литер (символов), расположенных на одной высоте в общем ряду печатных колодок (досочек), соединённых рычажным механизмом с клавишами клавиатуры.
Регистр “верхний” и “нижний”
В печатной машинке на одной колодке нанесены две литеры: одна – сверху, другая – снизу. У колодок с литерами в виде букв вверху находились прописные буквы, снизу – строчные; переключиться на верхний регистр можно зажав клавишу верхнего регистра (аналогично клавише Shift), или нажав на клавишу замка верхнего регистра (аналогично клавише Caps Lock). При переходе на верхний регистр все литеры вместе с колодками и рычажками опускались, и тогда при нажатии клавиши по бумаге ударялась верхняя литера колодки.
Регистр электронный
С переходом на электронную клавиатуру понятие "верхнего" и "нижнего" регистра потеряло свой первоначальный смысл. Теперь верхний регистр – это совокупность кодов символов, соответствующих прописным буквам, а нижний регистр – кодов, соответствующих строчным буквам. Когда вы нажимаете клавишу, клавиатура формирует "скэн-код" нажатой клавиши и отправляет её в компьютер; если вы зажимаете при этом клавишу Shift или включили клавишу Caps Lock, то сигнализируется и об их активности. Сам компьютер по полученным "скэн-кодам" формирует "код символа".
Регистр чувствительный
При зажатии клавиши Shift (или включённой Caps Lock) изменяется код символа только для тех букв и чисел, у которых “включена” чувствительность к регистру. На самом деле, можно сказать, что почти все символы на клавиатуре чувствительны к регистру, потому что при зажатой клавише Shift они печатают второй набор символов. Однако, говоря о регистре, имеют в виду только те символы, значение которых меняется при включённом Caps Lock. Так, можно говорить, что клавиша с буквой “о” (или сама буква) чувствительна к регистру, тогда как говорить о чувствительности клавиши “1” (или самой цифры) неверно.
Регистр процессора — сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора — смещения базовых таблиц, уровни доступа и т. д. (специальные регистры).
Регистр представляет собой цифровую электронную схему, служащую для временного хранения двоичных чисел. В процессоре имеется значительное количество регистров, большая часть которых используется самим процессором и недоступна программисту. Например, при выборке из памяти очередной команды она помещается в регистр команд. Программист обратиться к этому регистру не может. Имеются так же регистры, которые в принципе программно доступны, но обращение к ним осуществляется из программ операционной системы (например управляющие регистры и теневые регистры дескрипторов сегментов). Этими регистрами пользуются в основном разработчики операционных систем.
Доступ к значениям, хранящимся в регистрах как правило в несколько раз быстрее, чем доступ к ячейкам оперативной памяти (даже если кеш-память содержит нужные данные), но объём оперативной памяти намного превосходит суммарный объём регистров (объём среднего модуля оперативной памяти сегодня составляет 1 Гб — 4 Гб [1] , суммарная «ёмкость» регистров общего назначения/данных для процессора 16 битов * 4 = 64 бита (8 байт)).
Основные регистры процессора, совместимого с Intel 386
IP (англ. Instruction Pointer ) — регистр, обозначающий смещение следующей команды относительно кодового сегмента.
IP — 16-битный (младшая часть EIP)
EIP — 32-битный аналог
Сегментные регистры — Регистры указывающие на сегменты.
CS — указатель на кодовый сегмент. Связка CS:IP указывает на адрес в памяти следующей команды.
Регистры данных — служат для хранения промежуточных вычислений.
RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8 — R15 — 64-битные
EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP — 32-битные (extended AX)
AX, BX, CX, DX — 16-битные
например, AH - high AX - старшая половинка 8 бит
AL - low AX - младшая половинка 8 бит
RAX | RBX | RCX | RDX | ||||||||||||
—— | EAX | —— | EBX | —— | ECX | —— | EDX | ||||||||
—— | —— | AX | —— | —— | BX | —— | —— | CX | —— | —— | DX | ||||
—— | —— | AH | AL | —— | —— | BH | BL | —— | —— | CH | CL | —— | —— | DH | DL |
Регистр флагов EFLAGS — содержит текущее состояние процессора.
Регистром называется функциональный узел, осуществляющий приём, хранение и передачу информации. Регистры состоят из группы триггеров, обычно D. По типу приёма и выдачи информации различают 2 типа регистров:
- С последовательным приёмом и выдачей информации — сдвиговые регистры.
- С параллельным приёмом и выдачей информации — параллельные регистры.
Сдвиговые регистры представляют собой последовательно соединённую цепочку триггеров. Основной режим работы — сдвиг разрядов кода от одного триггера к другому на каждый импульс тактового сигнала.
По назначение регистры различаются на:
- аккумулятор — используется для хранения промежуточных результатов арифметических и логических операций и инструкций ввода-вывода;
- флаговые — хранят признаки результатов арифметических и логических операций;
- общего назначения — хранят операнды арифметических и логических выражений, индексы и адреса;
- индексные — хранят индексы исходных и целевых элементов массива;
- указательные — хранят указатели на специальные области памяти (указатель текущей операции, указатель базы, указатель стэка);
- сегментные — хранят адреса и селекторы сегментов памяти;
- управляющие — хранят информацию, управляющую состоянием процессора, а также адреса системных таблиц.
См. также
Примечания
Wikimedia Foundation . 2010 .
Полезное
Смотреть что такое "Регистры процессора" в других словарях:
Регистр (цифровая техника) — У этого термина существуют и другие значения, см. Регистр. 4 х разрядный сдвиговый регистр, преобразователь последовательного кода в параллельный и обратно Регистр последовательное или параллельное … Википедия
Это самая быстрая память в ПК по сравнению с ОЗУ. Но при этом размер регистров намного меньше чем ОЗУ, по этой причине используют ОЗУ.
Регистры бывают разных типов: AH, AL, AX, EAX, RAX - это все 1 регистр.
Но в чем их разница? - разница в размере:
RAX - 64 битный (8 байт)
EAX - 32 битный (4 байта)
AX - 16 битный (2 байта)
AH, Al - 8 байтные (1 байт)
Регистр RAX это дополнение EAX, EAX это дополнение AX, AX это объединение 2 регистров AH и AL.
Например: если запишем 10 в регистр EAX, то в RAX, AX и AL будет 10. Но почему в AH не было нечего записано? - В AX регистре, AH это старший байт, а AL это младший байт. Но так как 10 (0xA) это число которое не превышает 1 байт то хранится в AL, а в AH будет 0.
OllyDbg
Или вот еще пример: если записать число 256 (0x100) в регистр AX, то в AH будет 1, 0 в AL, а в AX и EAX будет 256, почему? - причина в том что легче понимать и работать с ПК через шестнадцатеричную систему счисления, и число 256 будет выглядеть в HEX формате как то так: 0100, и мы видим: 01 это первый байт (он попадает в AH), и 00 это второй байт (он попадет в AL)
Ollydbg
Зачем так много разновидностей 1 регистра?
Для поддержке более старых версий процессоров x86 (обратная совместимость, например: на 64 битном ЦП запустить 32 битную программу)
Какие бывают регистры?
Их очень много и каждый под свои задачи, но есть регистры общего доступа, с которыми мы будем работать.
Почему только общедоступные? - с другими регистрами вам вряд ли даст ОС работать.
Это 32 битные регистры (16, 8):
ESI (SI, это 16 битный регистр, меньше нет)
EDI (DI, это 16 битный регистр, меньше нет)
Как работать с регистрами?
В них можно хранить любую информацию: числа со знаком (int), числа без знака (unsigned int), числа с плавающей запятой (float, в x64 можно хранить double в регистре), адрес, символы (не превышая размер регистра), и другую информацию.
Попробуем записать значение в регистры:
Что за регистр FLAGS?
Это регистр состояния ЦП, он нужен для проверки и сравнению чисел, проверки регистров.
Первое, что попадает в руки пользователя компьютерной техникой – это клавиатура и мышка. Умение использовать различные функции с помощью этих атрибутов, позволяют быстро решать поставленные задачи. Если спросить новичка о том, что такое верхний регистр, то он, возможно, укажет на клавиши, расположенные вверху. На самом деле – это далеко не так.
Что такое верхний и нижний регистр на клавиатуре
Эти понятия дошли до нас со времён печатных машинок. При наборе текстов, обычный шрифт написания выполняли в стандартном положении оборудования, которое называли нижним, а заглавные буквы наносились на бумагу при изменении положения печатных штанг, путём перевода их в верхнее положение. Именно подобной функцией наделены клавиатуры современных мобильных и стационарных печатных устройств.
С помощью кнопки функционального перевода «Shift» из одного режима в другой, пользователь ПК может переходить на прописные или заглавные буквы при написании текстов, в зависимости от требований к содержанию. Цифры при этом обозначают знаки препинания или другую символику, которую используют при распечатке документов. Иными словами, верхний регистр – это такой режим печати, в котором буквы становятся заглавными, а цифры меняются на символы. Нижний – это обычное изображение цифровых и буквенных обозначений.
Где находится верхний регистр
Две клавиши перевода из одного режима печати в другой расположены на клавиатуре: одна слева внизу, а другая справа – тоже в нижней части. Это сделано для удобства быстрого набора текстов. Если буква, которую нужно написать заглавной находится справа, то используют левую сторону. При переходе нажимают одновременно, сначала «Shift», а затем требуемый знак. А при расположении нужного символа слева – наоборот. Если пользователю удобно одной рукой нажимать обе клавиши, то он делает именно так, например, чтобы отобразить запятую!
ВНИМАНИЕ! Клавиатура некоторых мобильных устройств может иметь только одну клавишу «Shift». Это связано с компактностью размеров оргтехники.
Удобство применения верхнего режима позволяет быстро переключить функцию нужного символа из одного положения – в другое. Кроме того, слева, над кнопкой «Shift» расположена клавиша с надписью «Caps Lock», которая имеет такое же функциональное назначение, но другой принцип работы.
Способы переключения регистра на клавиатуре
При наборе текстов используют два режима переключения:
Первый из перечисленных способов переключает клавиатуру только в момент нажатия на клавишу «Shift». Как только пользователь её отпускает, печать продолжается в обычном режиме – прописными буквами.
Второй способ позволяет, после нажатия кнопки «Caps Lock», перейти в верхний регистр и печатать заглавные буквы до тех пор, пока не отпадёт необходимость в использовании таковых. Отдельный индикатор клавиатуры загорается при включении такого режима и гаснет только при повторном нажатии указанной клавиши, что подтверждает переход на прописные обозначения.
ВАЖНО! При включении «Caps Lock», использование кнопки «Shift» будет иметь противоположное действие: при нажатии – обычные символы, а после отпускания – заглавные буквы.
Длительный режим используют при написании заголовков или выделения названий статей.
Наличие навыков быстрого перехода из одного регистра в другой, позволяет пользователям ПК с удобством набирать требуемые тексты, быстро вставляя необходимые символы и заглавные буквы.
Читайте также: