Почему существуют регистры и как они работают вместе с процессором?

#operating-system #hardware #ram #cpu-registers

#операционная система #аппаратное обеспечение #ОЗУ #процессор-регистры

Вопрос:

Итак, в настоящее время я изучаю операционные системы и программирование.

Я хочу подробно описать, как работают регистры.

Все, что я знаю, это основная память и наш процессор, который получает адрес и инструкции из основной памяти с помощью адресной шины.

А также есть что-то MCC (микросхема контроллера памяти, которая помогает в извлечении ячейки памяти из ОЗУ.)

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

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

Комментарии:

1. «Но я хочу по-настоящему понять глубинный процесс того, как они работают», ну, вам понадобятся значительные знания аппаратного обеспечения, электроники, физики / квантовой механики, архитектуры процессора. Можете ли вы немного сузить свой вопрос (много)?

2. Да, вы должны сузить свой вопрос.

3. Все, что я спрашиваю, это то, что такое регистры. Я ищу подробное объяснение того, как это работает с процессором и основной памятью

4. Термин для поиска в Google — «Регистры процессора»

Ответ №1:

Я не являюсь носителем английского языка, простите меня за некоторую, возможно, неправильную терминологию. Надеюсь, это будет немного полезно.

Почему существуют регистры

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

Термин register для модели программиста на самом деле является общим триггером в физической схеме, которая является устройством памяти и может содержать один бит. Конструкция ИС состоит из стандартной части ячейки (включая register упомянутые ранее элементы и and / or / etc.) и жесткого макроса (например, SRAM). По мере развития технологического узла задержка стандартных ячеек становится все меньше и меньше. Инструмент Auto Place-n-Route разместит register и связанную с ним логику поблизости, чтобы убедиться, что логика может работать с заданной целевой частотой 3,0 / 4,0 ГГц. По некоторым практическим причинам (в которых я не совсем уверен, потому что я не занимаюсь версткой) мы склонны размещать жесткие макросы, что приводит к гораздо более длинному металлическому проводу. Это плюс собственные характеристики SRAM, встроенная SRAM обычно работает медленнее, чем общий триггер. Если устройство памяти отключено от чипа, скажем, внешнего флэш-чипа или KGD (известного хорошего кристалла), это будет еще медленнее, поскольку сигналы должны проходить через еще 2 устройства ввода-вывода, которые имеют гораздо большую задержку.

как они работают вместе с процессором

Каждому register присваивается свой «адрес» (который, возможно, не открыт для программиста). Это реализуется путем добавления логики декодирования адреса. Например, когда процессор собирается выполнить инструкцию mov R1, 0x12 , логика декодирования адреса видит двоичный код R1 и выбирает только те триггеры, соответствующие R1 . Затем данные 0x12 сохраняются (записываются) в эти триггеры. То же самое для процесса чтения.

Что касается «они также имеют 32 бита и 16 бит что-то в этом роде», разрядность не является проблемой. Как триггеры, так и слово в ОЗУ могут иметь разрядность N , если один и тот же адрес может одновременно выбирать N триггеры или N биты в ОЗУ.

Ответ №2:

Регистры — это небольшие памяти, которые находятся внутри процессора (то, что вы назвали CPU). Их роль заключается в хранении операндов для быстрых вычислений процессора и для хранения результатов. Регистр обычно обозначается именем (AL, BX, ECX, RDX, cr3, RIP, R0, R8, R15 и т.д.) И имеет размер, который соответствует количеству битов, которые он может хранить (4, 8, 16, 32, 64, 128 биты). Другие регистры имеют особые значения, и их биты управляют состоянием или предоставляют информацию о состоянии процессора.

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