Следует отметить, что не все перечисленные инф. элементы изменяются при выполнении программы. С точки зрения фиксации состояния процессора в любой заданный момент времени. Важны те инф. элементы, которые имеют наиболее важные значения для управления вычислительным процессом и изменяются наиболее часто при выполнении программы.
Совокупность таких элементов называется словом, или вектором состояния процессора (программы) – ССП. Для ЭВМ, реализованных на основе микропроцессора Intel ССП входит содержимое программного счетчика, или указателя команд EIP; аккумулятора EAX и регистра флажков EFLAG.
Необходимо отметить, что отдельные устройства имеют свое слово состояния программы.
33. Принципы организации системы прерываний процессора
Прерывания выполнения программы возникают как реакция процессора на ситуации, возникающие внутри самой ЭВМ, и во внешней среде при выполнении программы. Реакция заключается в том, что процессор приостанавливает (прерывает) выполнение текущей прогр-ы и переходит к вып-ю спец-ой прогр-ы, предназн-ой для этого случая. После завершения этой прогр-ы происходит переход к исходной прогр-е, вып-е к-ой было приостан-о.
Прогр-а, вып-е к-ой приостанавливается, наз прерываемой. Прогр-а, к-ая начинает вып-ся после прерывания текущей, наз прерывающей. Прерывание инициализируется спец-ми сигналами, поступающими в процессор, наз запросами прерывания. Схема процесса прер-ия мож быть представлена след образом:
Запросы прер-ий могут инициал-ся ситуациями, возникающими внутри ЭВМ: аппаратные сбои (аппар прерыв-я), вычислительные ситуации (деление на 0, переполнение и др), требования в/в перефер-ых устройств.
Запросы прер-я из внешней среды могут возникать от других ЭВМ, с к-ми данная связана в сеть, от аварийных датчиков, если ЭВМ работает АСУТП и др.
ЭВМ имеет набор аппар-ых и прогр-ых средств для обработки прер-ий, к-ый получил назв-е системы прер-ий процессора. Осн назначение сист-ы прер-ий сост из 2-х ф-ций:
– Запомнить состояние прерванной прогр-ы и перейти к вып-ю прерыв-щей прогр-ы
– Восстановить состояние прерв-ой прогр-ы и вернуться к ее вып-ю.
Для обработки прер-ий процессор имеет спец входы INTR и NMI, а шинный интерфейс процессора – спец шины, по к-ым поступают запросы прер-ия. После вып-я каждой команды процессор опрашивает состояние шин запросов прер-ий и если на них имеется сигнал запроса прер-я, процессор переходит в режим обработки прер-я. Для обработки прер-ий важное значение имеет ССП.
По запросу прер-я процессор сохраняет ССП прерванной прогр-ы в стеке или в спец-ой ячейки ОП, после чего из ОП извлекается ССП прерыв-щей прогр-ы (прогр-ы обработки прер-ий) и оно загружается в соотв-щие рег-ры. После этого начинается вып-е прерыв-щей прогр-ы. Для возврата от прер-щей прогр-ы к прер-ой в системе команд проц-ра есть спец команда IRET, по к-ой осуществ-ся возврат к прерв-ой прогр-е. Эта команда инициирует следующ действия: из стека или ячейки ОП извлекается ССП прерв-ой прогр-ы и загружаится в соотв-щие рег-ры. Бит прер-ий IF рег-ра флажков сбрасывается в 0 и осущ-ся прогр-ое восстановление содержимого других рег-ов, после чего происх продолжение вып-я прерв-ой прогр-ы с того места, где она была приостановлена.
При вып-ии прогр-ы одновременно может возникать несколько запросов прер-ий, к-ые одновременно поступают в процессор. Сущ определенная система приоритетов, определяющая порядок обработки запросов прер-ий. В том случае если прер-я поступают по разным шинам прер-ий, вопрос о порядке обработки запросов решает сам процессор. Если несколько запросов поступают по одной и той же шине, их обработку осуществляет спец устр-во – контроллер прер-ий, к-ый выполняется в виде отдельной МС либо может входить в состав процессора.
Контроллер прер-ий может обрабатывать одновременно несколько прер-ий. Входной информацией для контроллера прер-ий явл код прер-ия, к-ый снимается с шины прер-ий. Каждый бит этого кода соответствует какому-либо одному прер-ю. Для того, чтобы запретить обработку каких-либо прер-ий, использ маска. Маска – двоичный код, к-ый имеет ту же разрядность, что и код прер-ия. Если обработку какого-либо прер-я нужно запретить, в соотв-щем бите маски устанавливается 0, если разрешить – 1.
Запрет того или иного прер-я или его разрешение осущ-ся путем побитового логического умножения кода прер-я и кода маски. В соответствии с рез-ом умножения кода прер-я и маски контроллер прер-я формирует вектор прер-ий, к-ый используется для поиска в дескриптерной таблице адреса ССП прерыв-щей прогр-ы в ОП. ССП извлекается, загружается и начинается выполнение прерыв-щей прогр-ы.
34. Контроллер прерываний
КП – устройство, предназначенное для разрешения конфликтов между запросами прерываний и формирования вектора прерываний. При формировании запросов прер-ий используется код прер-ий, к-ый в общем случае имеет вид: P=P1P2…P3, где Pi – сигнал, к-ый поступает по i-ой шине прерываний Pi={0,1}. Если имеет место прер-е с номером I, соотв-щее номеру разряда кода прер-я, то Pi=1. Для управления запросами прер-ий (ЗП) исп код маски, к-ая имеет ту же разрядность, что и код прер-ия. Она позвол маскировать прер-я, устанавливая в каком-либо бите 0. сигнал запросов прер-ия явл входным для КП. M=M1M2…Mn. Сигнал запроса прер-ий, явл-щийся выходным для КП, формируется как конъюнкция кода прер-ия и маски. Если в соотв-щем бите кода маски установить 0, то это запрещает обработку прер-ия с номером, соотв-щем номеру бита в коде маски, в к-ом 0.
Структ схема КП показ на рис.
РгЗП – рег запросов прер-ий, исп для хранения кода ЗП. Строится на Д-триггерах, имеющих возможность блокировки.
СВЛ – схема выделения левой единицы. Преобразует код запроса прер-ий в унитарный код путем оставления крайней левой единицы в коде ЗП.
ШП – шифратор приоритетов. Преобразует унитарный код с выхода СВЛ в двоичный код вектора прер-ий, к-ый исп-ся процессором для нахождения адреса ячейки памяти дескрипторной таблицы, по к-ому в ОП хранится ССП прерыв-щей прогр-ы.
СР – схема сравнения. Сравнение кода вектора прер-ий и кода, поступ-щего из РТС.
РТС – регистр технического состояния, к-ый хранит код текущего состояния (КТС).
ТЗП – триггер запросов прер-ий. Реализован как Д-триггер с прямым динамическим управлением и с конъюнктивной записью по информ-му входу Д.
ТБП – триггер блокировки прер-я. Реализован как DRS-тг, запись инф-ии в к-ый может осуществляться сигналом низкого уровня на входе S, либо синхронно при наличии на входе С перепада из 1 в 0
35.Конвейерная обработка (КО)
КО позаоляет совместить во времени отдельные операции рабочего цикла процессора и яв. Одним из способов организации параллельных процессов выч-ных систем. Для КО рабочий цикл процессора разбивается на отдельные этапы каждый из которых выполняется отдельным автономным устр-вом в составе процессора ЭВМ. Совмещая во времени работу этих устройств можно обеспечить повышение производительности процессора. Основными этапами выполнения команды в раб. Цикле процессора:
--выборка команды (ВК)
--дешифрация --||-- (ДК)
--выборка операндов (ВО)
--исполнение команды (ИК)
Указанные этапы выполняются послед. Во времени
®[ВК]®[ДК]®[ВО]®[ИК]®
В случае обычного процессора в нём в любой заданный момент времени обрабатывается только одна команда, для кот. выполняется последовательность этапов, представленная выше. После выполнения донной команды это повторяется дальше и т. д. Временная диаграмма выполнния команды для обычного процессора имеет вид:(см. рис.).
tпос=tвк+tдк+tво+tис
4tT=tпос - длительность такта (один этап выполняется за один такт)
P=1/tпос=1/4tТ (операций / с) производительность
КО позволяет совместить различные этапы когда одна команда выбирается, др. декодируется, для 3-ей выбираются операнды, а 4-ая исполняется. Для реализации такого порядка обработки в составе процессора имеются спец. устр-ва, функционирование во времени к-ых совмещается. Операционное устройство исполняет первую команду, реализуя этап ИК, устр-во ВО обеспечивает этап ВО для 2-ой команды, устр-во декодирования обеспечивает этап ДК для 3-ей команды и устр-во ВК обеспечивает этап для 4-ой команды. В этом случае временная диаграмма исполнения после-сти команд имеет вид:(см. рис.)
Как видно из временной диаграммы, начиная с момента t0 конвейер полностью заполнен и в каждом последующем такте выполняется одна команда программы. Это означает, что время выполнения команды : tконв=tT , а pконв=1/tT (1)
Видно, что pконв> pпост
На самом деле производительность процессора при конвейерной обработке не строго определяется соотношением (1). Это связано с простоями конвейера, к-ые возникают при выполнении команд условного перехода и прерываниях. Наиболее негативное влияние на конвейерную обработку оказывают команды условных переходов, т.к. процессор до получения рез-та анализа условия не может знать какую последовательность команд он должен выполнять следующей. Для повышения производительности конвейера при выполнении команд условных переходов совр МП содержат спец блоки ветвлений. К к-ые одноврем загружаются обе ветви, по к-ым может пойти процесс при выполнении команды условного перехода. В этом случае после получения рез-та анализа условия, процессор сразу же может приступить к обработки ветви, т.к. эти команды имеются уже в процессоре.
В 32 битовых МП Intel, начиная с 386 бок ВК осущ опережающую выборку, помещая в очередь команд 16 байт (3-7 коинд).
Суперскалярные процессоры (СП)
Современные МП яв суперскалярными.
Суперскалярность означает способность процессора одновременно выполнять 2 и более команд. Это обеспечивается использованием процессора параллельных конвейеров.
36. Микропроцессор Pentium (общая ха-ка, структура)
Объединяет на одном кристале 3,1 млн транзисторов. Имеет тактовую частоту 60МГц.