Классификация регистров процессора



СИСТЕМА ПРЕРЫВАНИЙ

Прерывания – это готовые процедуры, которые компьютер вызывает для выполнения определённой задачи.

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

Обработка прерывания – заключается в том, что приостанавливается выполнение текущей задачи (программы) и процессор приступает к выполнению другой задачи, по завершении которой продолжает выполнение исходной. Очевидно, что разным событиям (прерываниям) соответствуют разные программы обработки прерываний.

 

Прерывания делятся на следующие категории:

Внешние аппаратные прерывания, возникающие вне процессора и поступающие от различных устройств и блоков ЭВМ (нажатие клавиши, нарушения в работе оборудования и т.п.);

Внутренние аппаратные прерывания, вырабатываемые самим процессором (деление на ноль, переполнение разрядной сетки и т.п.)

Программные прерывания, инициируемые выполняемой программой. Эти прерывания задаются программистом в программе путем записи специальных команд.

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

 

 

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

Процессор состоит из ячеек, в которых обрабатываются данные. Ячейки процессора называют регистрами.

 

Регистром называется функциональный узел, осуществляющий прием, хранение и передачу информации. Регистры состоят из группы триггеров, обычно 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; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!