Классификация регистров процессора
СИСТЕМА ПРЕРЫВАНИЙ
Прерывания – это готовые процедуры, которые компьютер вызывает для выполнения определённой задачи.
Возможности процессора по переключению своей работы с выполнения одной задачи на другую при наступлении некоторого события. Под прерыванием понимают возникновение события, требующего реакции процессора.
Обработка прерывания – заключается в том, что приостанавливается выполнение текущей задачи (программы) и процессор приступает к выполнению другой задачи, по завершении которой продолжает выполнение исходной. Очевидно, что разным событиям (прерываниям) соответствуют разные программы обработки прерываний.
Прерывания делятся на следующие категории:
Внешние аппаратные прерывания, возникающие вне процессора и поступающие от различных устройств и блоков ЭВМ (нажатие клавиши, нарушения в работе оборудования и т.п.);
Внутренние аппаратные прерывания, вырабатываемые самим процессором (деление на ноль, переполнение разрядной сетки и т.п.)
Программные прерывания, инициируемые выполняемой программой. Эти прерывания задаются программистом в программе путем записи специальных команд.
Прерывания различаются по степени важности (приоритетам или уровням). Одновременное поступление в процессор прерываний одного уровня не допускается. Поэтому, максимальное число последовательно поступающих прерываний, которое может отложить, а затем обработать процессор – число уровней прерываний.
|
|
Регистры процессора
Процессор состоит из ячеек, в которых обрабатываются данные. Ячейки процессора называют регистрами.
Регистром называется функциональный узел, осуществляющий прием, хранение и передачу информации. Регистры состоят из группы триггеров, обычно D. По типу приема и выдачи информации различают 2 типа регистров:
§ с последовательным приемом и выдачей информации— сдвиговые регистры.
§ с параллельным приемом и выдачей информации— параллельные регистры.
Регистр процессора – блок ячеек памяти, образующий сверхбыструю оперативную память (СОЗУ) внутри процессора; используется самим процессором и большой частью недоступен программисту: например, при выборке из памяти очередной команды она помещается врегистр команд, к которому программист обратиться не может.
§ Имеются также регистры, которые в принципе программно доступны, но обращение к ним осуществляется из программ операционной системы, например, управляющие регистры и теневые регистры дескрипторов сегментов. Этими регистрами пользуются в основном разработчики операционных систем.
Регистры могут быть восьмиразрядные (в такой регистр помещаются 8 бит, т.е. 1 байт), шестнадцатиразрядные (в такой регистр помещается два байта или говорят машинное слово), 32-разрядные (помещается двойное слово).
|
|
Каждый процессор имеют свою систему команд. У каждой команды есть свой код, который называют код операции.
Машинные команды, которые обрабатывает процессор, состоят из двух основных частей:
11 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
код операции | адресная часть |
Код операции показывает, какую именно операцию из системы команд процессора надо выполнить, а в адресной части содержится адрес данных, над которыми будет выполняться эта операция.
К процессору подходят магистрали передачи сигналов:
*адресная шина – соединяет процессор с оперативной памятью (устройство управления);
*шина данных – по ней в регистры процессора передается содержимое ячеек памяти и отправляются результаты обработки назад в оперативную память;
*шина управления – осуществляет передачу управляющих импульсы (устройство управления).
Процессор содержиттактовый генератор – устройство, которое синхронизирует работу всех устройств и определяет скорость работы процессора.
|
|
Процессор содержит двенадцать 16-разрядных программно-адресуемых регистров, которые принято объединять в три группы: регистры данных, регистры-указатели и сегментные регистры. Кроме того, в состав процессора входят счетчик команд и регистр флагов (рис.1)
В группу регистров данных включаются четыре регистра АХ, ВХ, СХ и DX. Программист может использовать их по своему усмотрению для временного хранения любых объектов (данных или адресов) и выполнения над ними требуемых операций. При этом регистры допускают независимое обращение к старшим (АН, ВН, СН и DH) и младшим (AL, BL, CL и DL) половинам.
Рис.1
Классификация регистров процессора
Разные регистры процессора имеют разное назначение:
регистры данных– для сохранения данных и результатов.
счетчик команд– для хранения адреса команды.
регистр команд– для хранения команды.
адресный регистр– для хранения адреса данных.
Существуют специальные регистры для самопроверок процессора:
сегментные регистры – регистры, указывающие на сегменты.
регистр флагов FLAGS (16 бит) / EFLAGS (32 бита) / RFLAGS (64 бита) – содержит текущее состояние процессора.
Сдвиговые регистры представляют собой последовательно соединенную цепочку триггеров. Основной режим работы сдвиг разрядов кода от одного триггера к другому на каждый импульс тактового сигнала.
|
|
По назначению регистры различаются на:
Аккумулятор – используется для хранения промежуточных результатов арифметических и логических операций и инструкций ввода-вывода;
Флаговые – хранят признаки результатов арифметических и логических операций, содержат текущее состояние процессора;
Общего назначения – хранят операнды арифметических и логических выражений, индексы и адреса;
Индексные – хранят индексы исходных и целевых элементов массива;
Указательные – хранят указатели на специальные области памяти (указатель текущей операции, указатель базы, указатель стека);
Сегментные – хранят адреса и селекторы сегментов памяти;
Управляющие – хранят информацию, управляющую состоянием процессора, а также адреса системных таблиц.
АХ состоит из АН (старшая часть) и AL (младшая часть).
· регистр АХ служит для временного хранения данных (регистр аккумулятор), часто используется при выполнении операций сложения, вычитания, сравнения и других арифметических и логических операций;
· регистр ВХ служит для хранения адреса некоторой области памяти (базовый регистр), а также используется как вычислительный регистр;
· регистр СХ иногда используется для временного хранения данных, но в основном служит счетчиком, в нем хранится число повторений одной команды или фрагмента программы;
· регистр DX используется главным образом для временного хранения данных, часто служит средством пересылки данных между разными программными системами, а также используется в качестве расширителя аккумулятора для вычислений повышенной точности и при умножении и делении.
Регистры сегментов – это 16-разрядные регистры, которые позволяют организовать память в виде совокупности четырех различных сегментов.
· CS – регистр программного сегмента (сегмента кода) определяет местоположение части памяти, содержащей программу, то есть выполняемые процессором команды;
· DS – регистр информационного сегмента (сегмента данных) идентифицирует часть памяти, предназначенной для хранения данных;
· SS – регистр стекового сегмента (сегмента стека) определяет часть памяти, используемой как системный стек;
· ES – регистр расширенного сегмента (дополнительного сегмента) указывает дополнительную область памяти, используемую для хранения данных
Дата добавления: 2019-01-14; просмотров: 2073; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!