По отношению к назначению внутренних регистров существует два основных подхода.

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

Второй подход состоит в том, чтобы все (или почти все) регистры сделать равноправными, как , например, в 16-разрядных процессорах Т-11 фирмы DЕС. При этом достигается высокая гибкость, но необходимо
усложнение структуры процессора. Существуют и промежуточные
решения, в частности, в процессоре МС68000 фирмы Моtоrоlа половина
регистров использовалась для данных, и они были взаимозаменяемы, а
другая половина — для адресов, и они также взаимозаменяемы.

Регистр признаков (регистр состояния)занимает особое место, хотя он так­же является внутренним регистром процессора. Содержащаяся в нем инфор­мация — это не данные, не адрес, а слово состояния процессора (ССП, PSW— Рrосеssоr Status Word). Каждый бит этого слова (флаг) содержит информа­цию о результате предыдущей команды. Например, есть бит нулевого результата, который устанавливается в том случае, когда результат выполнения предыдущей команды — нуль, и очищается в том случае, когда результат выполнения команды отличен от нуля. Эти биты (флаги) используются командами условных переходов, например, командой перехода в случае нуле­вого результата. В этом же регистре иногда содержатся флаги управления, определяющие режим выполнения некоторых команд.

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

Схема управления прямым доступом к памятислужит для временного отключения процессора от внешних шин и приостановки работы про­цессора на время предоставления прямого доступа запросившему его ус­тройству.

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

Таким образом, в ходе работы процессора схема выборки команд выби­рает последовательно команды из памяти, затем эти команды выполняются, причем в случае необходимости обработки данных подключается АЛУ. На входы АЛУ могут подаваться обрабатываемые данные из памяти или из внут­ренних регистров. Во внутренних регистрах хранятся также коды адресов об­рабатываемых данных, расположенных в памяти. Результат обработки в АЛУ изменяет состояние регистра признаков и записывается во внутренний ре­гистр или в память (как источник, так и приемник данных указывается в со­ставе кода команды). При необходимости информация может переписываться из памяти (или из устройства ввода/вывода) во внутренний регистр или из внутреннего регистра в память (или в устройство ввода/вывода).

Внутренние регистры любого микропроцессора обязательно выполня­ют две служебные функции:

• определяют адрес в памяти, где находится выполняемая в данный
момент команда (функция счетчика команд или указателя команд);

• определяют текущий адрес стека (функция указателя стека).

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

Содержимое указателя (счетчика) команд изменяется следующим об­разом. В начале работы системы (при включении питания) в него зано­сится раз и навсегда установленное значение. Это первый адрес програм­мы начального запуска. Затем после выборки из памяти каждой следующей команды значение указателя команд автоматически увеличивается (инкрементируется) на единицу (или на два в зависимости от формата команд и типа процессора). То есть следующая команда будет выбираться из сле­дующего по порядку адреса памяти. При выполнении команд перехода, нарушающих последовательный перебор адресов памяти, в указатель ко­манд принудительно записывается новое значение — новый адрес в памя­ти, начиная с которого адреса команд опять же будут перебираться после­довательно. Такая же смена содержимого указателя команд производится при вызове подпрограммы и возврате из нее или при начале обработки прерывания и после его окончания.

О стеке будет подробнее рассказано в следующем разделе.

 








Дата добавления: 2015-08-26; просмотров: 756;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.