русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 1050; Нарушение авторских прав


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

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

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

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



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

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

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

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

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

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

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

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

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

 



<== предыдущая лекция | следующая лекция ==>
Функции процессора | Функции памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.