Регистры микропроцессора

 

Основу большинства ЦП образуют рабочие регистры. Регистры представляют собой сверхоперативное ЗУ небольшой емкости. Ре­гистры состоят из триггеров и адресуются подобно ячейкам памя­ти. Число регистров, однако, очень невелико. Данные могут хранить­ся в регистре до тех пор, пока шина или некоторый блок не будут готовы принять их или пока они не потребуются по программе. Использование в программе рабочих регистров выгодно, так как ЦП может получить содержащиеся в них данные, не обращаясь к памяти. Регистры, содержимое которых не изменяется под воздействием про­граммы, позволяют сохранить данные для последующего использова­ния.

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

Микропроцессор К580 содержит программно-доступные 8-разрядные регистры: регистр-аккумулятор; общие регистры (регистры общего назначения - РОН) B, C, D, E; регистр признаков F и 16-разрядные специализированные регистры; счетчик команд СК; регистр-указатель стека УС; сдвоенный регистр косвенного адреса HL ( H - регистр старшего полуадреса, L - регистр младшего полуадреса). Кроме того, имеются непосредственно недоступные программные регистры: 8-разрядные регистры временного хранения T, W, Z; 8-разрядный регистр команды, 16-разрядный регистр адреса РА. Имеется возможность использования содержимого пар регистров B и C, D и E,H и L как составных слов двойной длины.

Аккумулятор - это регистр временного хранения, который используется в качестве источника одного из операндов и места, где фиксируется результат операции. В команде аккумулятор в явном виде не адресуется. На использование аккумулятора в операции указывает код операции команды. Иначе говоря, в отношении аккумулятора применяется подразумеваемая адресация, что позволяет применять одноадресные команды, имеющие сравнительно короткий формат. Для того, чтобы аккумулятор мог одновременно являться регистром операнда и регистром результата операции, он строится на основе двухступенчатых триггеров. (Следует отметить, что некоторые МП для повышения производительности имеют несколько аккумуляторов.)

Регистры Общего Назначения могут служить в качестве устройств временного хранения данных или адресов. По отношению к этим программно-доступным регистрам применяется подразумеваемая, или укороченная (регистровая) адресация, задаваемая коротким номером регистра. Использование аккумулятора и общих регистров позволяет при выполнении команд уменьшить количество обращений к памяти и тем самым повысить быстродействие МП. Для повышения эффективности операций со словами двойной длины и операций формирования и пересылок двухбайтных адресов имеется возможность оперировать с содержимым пар регистров B и C, D и E, H и L как с составными словами двойной длины, т.е. в МП автоматически выполняется операция конкатенации над содержимым пар регистров. При этом реализуются так называемые тандемные пересылки, состоящие в передаче в цикле выполнения команды последовательно друг за другом 2 байт информации. Наличие в блоке регистров специализированного регистра косвенного адреса HL позволяет иметь команды с подразумеваемой косвенной адресацией, т.е. без указания в команде номера регистра, хранящего исполнительный адрес. При выполнении операций в МП возникает потребность в кратковременном хранении некоторых операндов и результатов выполнения операций. Для этой цели служат регистры временного хранения данных T, W и Z. Использование регистров временного хранения позволяет МП за один цикл выполнения команды реализовать, например, такую операцию, как обмен содержимым двух регистров. Буферные регистры временного хранения данных построены по простейшему принципу динамического хранения переменных на емкостях затворов МОП-транзисторов. Они позволяют простейшими аппаратными средствами выполнять довольно сложные операции “перетасовки” данных не только между общими регистрами, но и между регистрами, аккумулятором и памятью.

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

Счетчик Команд (СК) содержит адрес ячейки памяти, в которой находится очередная команда. Цикл выполнения команды начинается с того, что ЦП посылает содержимое счетчика команд в шину адресам таким образом ЦП извлекает из памяти первое слово команды. При этом увеличивается на единицу содержимое счетчика команд и, таким образом, в следующем цикле команды из памяти будет извлечена сле­дующая из последовательности команд. Если команда многобайтная ЦП увеличивает на 1 содержимое счетчика команд (инкрементирует) столько раз, сколько это нужно. Таким образом, ЦП извлекает из памяти и реализует команды последовательно, если только команда передача управления или условный переход не изме­нит содержимое счетчика команд.

Регистр Команд сохраняет код команды до тех пор, пока она не бу­дет дешифрирована.

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

Регистр Признаков - процессор КР580ВМ80 выдает 5 бит условий, отображающих результат выпол­нения операций (рис.2.2). Все биты, за исключением бита дополнительного переноса, могут быть проанализированы командами управления последовательностью выполнения программы (командами услов­ного перехода). Ниже рассмотрено, в каких командах и какие биты анализируются, а также как выполняются команды в зависимости от битов состояния /5, стр.217/

Введем условие, что бит состояния:

равен 1, если он “установлен ”,

равен 0, если он “ сброшен ”.

· Бит переноса (Carry или CY) устанавливается и сбрасывается коман­дами сложения, вычитания, сдвига и логическими командами, выполненными над данными, и может быть программно проанали­зирован. Например, в результате операции сложения двух однобайтных слов появляется единица переноса из старшего разряда, бит переноса устанавли­вается, если же перенос не возникает, бит переноса сбрасывается. Операции сложения, вычитания, сдвига и логические устанавливают и сбрасывают бит переноса по разным правилам. Процессор К580ВМ80 имеет несколько видов операций сложения: ADD, ADC, ADI, ACI и DAD; вычитания: SUB, SBB. SUI, SBI, CMP и CPI; циклического сдвига: (ML, RAR, RLC, RRC; логиче­ских операций: ANA, ORA, XRA, ANI, ORI, XRI, которые могут устанавливать и сбрасывать этот бит.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: