Файл: ПРОЦЕССОР ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА. НАЗНАЧЕНИЕ, ФУНКЦИИ, КЛАССИФИКАЦИЯ ПРОЦЕССОРА..pdf
Добавлен: 01.04.2023
Просмотров: 136
Скачиваний: 1
загрузить полезной работой процессор, в то время, когда он ожидает сигнал от управляемого объекта, то есть реализовать фоновую работу ЭВМ.
Основными функциями механизма прерываний являются:
их распознавание или классификация;
передача управления на их обработку;
корректный возврат к прерванной программе.
Прерывания, которые возникают при работе вычислительной системы, разделяют на два основных класса:
внешние (асинхронные). Указанные прерывания вызываются появлением асинхронных событий, которые происходят вне прерываемого процесса. Например: прерывания от таймера, от внешнего устройства (прерывания по вводу/выводу), из-за нарушения питания, прерывания с пульта оператора вычислительной системы, от другого процессора или другой вычислительной системы.
внутренние (синхронные). Данные прерывания вызываются появлением событий, которые связаны с функцией процессора и являются синхронными с его операциями. Например,нарушение адресации, наличие в поле адреса несуществующей инструкции, деление на нуль,переполнение или исчезновение порядка, ошибка четности, ошибка в работе различных аппаратных устройств.
Данные программные прерывания срабатывают по соответствующей команде прерывания. По этой команде процессор осуществляет те же действия, что и при обычных внутренних прерываниях. Этот механизм введен для переключения на системные программные модули как обычное прерывание, а не как переход в подпрограмму, что обеспечивает автоматическое переключение процессора в привилегированный режим с возможностью выполнения всех команд.
Сигналы, которые вызывают прерывания, формируются либо в процессоре, либо вне него. Они могут возникнуть одновременно. Процесс выбора одного из них происходит с учетом приоритетов, которые установлены для каждого их них. Самым высоким приоритетом обладают прерывания от схем контроля процессора. Учет приоритетов либо встроен в технические средства, либо может определяться операционной системой. Программно-аппаратное управление порядком обработки сигналов прерывания позволяет применять различные дисциплины обслуживания прерываний.
Исходя из уровня приоритета, то есть от низкого к высокому, распределение прерываний выглядит следующим образом:
программные;
от внешних устройств: терминалов;
от внешних устройств: сетевого оборудования;
от внешних устройств: магнитных дисков;
от системного таймера;
от средств контроля процессора.
Кроме того, процессор способен обладать средствами защиты от прерываний:
отключение системы прерываний;
маскирование (запрет) отдельных их видов.
В большинстве случаев, операция прерывания осуществляется только после завершения выполнения текущей команды.
Процесс возникновения сигналов прерывания происходит в произвольные моменты времени, в связи с этим, к моменту обработки возможно накопление нескольких сигналов. Им присваиваются приоритеты, и в первую очередь происходит обработка сигнала с более высоким приоритетом.
Существующее программное управление специальными регистрами маски, то есть маскирование сигналов прерывания, способна реализовывать самые различные дисциплины обслуживания:
с относительными приоритетами. В данном случае обслуживание не прерывается даже при наличии запросов с более высоким приоритетом. В программе обслуживания указанного запроса накладываются маски на все остальные сигналы прерывания или просто необходимо отключить систему прерываний;
с абсолютными приоритетами. В этом случае, осуществляется обслуживание прерывания с наибольшим приоритетом. В программе обслуживания прерываний накладываются маски на сигналы прерывания с более низким приоритетом. Также, возможно многоуровневое прерывание - прерывание программы обработки прерывания, число уровней изменяется и зависит от приоритета запроса;
по принципу стека (последним пришел - первым обслужен). В данном случае, запросы с более низким приоритетом способны прервать обработку прерывания с более высоким. В программе обслуживания прерываний не накладываются маски ни на один сигнал прерывания и отключают систему прерываний.
Оперативная система осуществляет управление ходом выполнения задач, которая заключается в:
организации реакций на прерывание;
обмена информацией;
предоставление необходимых ресурсов;
динамике выполнения задачи;
организации сервиса.
Оперативная система определяет причины прерываний (супервизор прерываний) и осуществляет действия, которые необходимы при указанном прерывании и ситуации.
Супервизор прерываний осуществляет действия:
сохраняет в дескрипторе текущей задачи рабочие регистры процессора, которые определяют контекст прерванной задачи;
определяет программу, которая обслуживает текущий запрос на прерывание;
устанавливает необходимый режим ее обработки;
передает управление подпрограмме обработки прерывания.
По окончанию выполнения подпрограммы обработки прерывания управление передается супервизору в модуль управления диспетчеризацией задач.
В момент появления запроса на прерывание система идентифицирует сигнал. В случае, если прерывание разрешено, то управление передается на соответствующую подпрограмму обработки прерываний.
Подпрограмма обработки прерываний состоит их трех секций:
1) отключение прерываний, сохранение контекста прерванной программы, установка режима работы системы прерываний;
2) собственно тело программы обработки прерываний;
3) восстановление контекста прерванной ранее программы, установка прежнего режима работы системы прерываний.
1-я и 3-я секции подпрограммы обработки прерываний являются служебными, они сохраняют и восстанавливают контекст задач. Поскольку эти действия необходимо выполнять практически в каждой подпрограмме обработки прерывания, во многих ОС первые секции подпрограмм обработки прерываний выделяются в специальный системный модуль - супервизор прерываний.
Таким образом, принимая во внимание выше изложенное, можно сказать, что прерывание является очень важным механизмом, который извещает процессор о возникновении какого-либо высокоприоритетного события. Программа, заставшая прерывание, останавливает свою работу в совершенно произвольном месте. После окончания прерывания, программа возобновляется с того момента, где прервалась, что очень удобно для пользователя персонального компьютера.
1.3 Архитектура процессора
Под архитектурой процессора подразумевают количественную составляющую компонентов микро архитектуры процессора ПК, которую рассматривают IT-специалисты в аспекте прикладной деятельности.
Рассмотрим архитектуру процессора как аппаратную составляющую.
Во-первых, центральным компонентом персонального компьютера является процессор или по-другому ЦП (центральный процессор), который реализует команды и считывает их из памяти, обрабатывая при этом данные и управляя работой всего ПК. С другими устройствами компьютера процессор связан шинами. Выделяют такие шины как шину данных, адресную шину, и командную шину. Для функционирования ЦП необходимы регистры данных, управляющие регистры, операционный (обрабатывающий) блок, управляющий блок и система команд, которую процессор распознаёт и исполняет.
Работу процессора синхронизирует внешний генератор тактов. В соответствии с этими сигналами происходит считывание и исполнение команд. Частота процессора определяет быстродействие процессора. Однако, это не единственный параметр для оценки производительности процессора. В первых в 8-битных процессорах тактовая частота была ~4 MHz. В современных процессорах она измеряется гигабайтами.
Описание различных частей процессора:
- Управляющий блок (Control Unit) декодирует команды в микрооперации и даёт другим частям процессора соответствующие указания для исполнения команды и отвечает за передачу результатов в память. Управляющий блок использует специальные регистры: счётчик команд (Program Counter) и регистр команд (Instruction Register).
- Операционный блок (Processing Unit) содержит арифметико-логическое устройство (ALU - Arithmetic Logic Unit), которое способно выполнять вычислительные действия с указанными данными или исполнять логические операции. Операционный блок может комбинировать эти действия и выполнять такие сложные операции как умножение с плавающей точкой в соответствующем устройстве (FPU - Floating Point Unit), которые невозможно выполнить в арифметико-логическом устройстве. Операционный блок использует специальные регистры: регистр состояния (Status Register) и аккумуляторный регистр (Accumulator Register).
Регистры являются внутренней памятью процессора и подразделяются следующим образом:
- Регистры общего пользования, которые предназначены для запоминания данных и/или операндов при исполнении команд.
- Специальные регистры, на которые возлагается выполнение специальных функций при работе процессора.
Специальными являются следующие регистры:
- Аккумулятор (A - Accumulator Register) запоминает промежуточные результаты вычислений
- Счётчик команд (PC - Program Counter) содержит адрес следующей команды. Он увеличивается автоматически с каждым новым циклом. Подпрограммы и прерывания изменяют этот порядок, записывая в счётчик команд новое значение
- Регистр команд (IR - Instruction Register) содержит считанную из памяти команду Регистр состояния (SR - Status Register) содержит настоящее состояние, отражающее ход исполнения команды
- Указатель стека (SP - Stack Pointer) содержит адрес следующей свободной ячейки стековой памяти.
Стековую память используют для запоминания состояний регистров. Например, это нужно при обработке прерывания, когда надо запомнить содержимое регистров до прерывания, чтобы восстановить их содержание для продолжения работы после обработки прерывания. Стек организован по принципу «последним зашёл, первым вышел» (LIFO - Last In First Out).
Архитектура процессоров делится на два вида: CISK и RISK .
CISC — это концепция проектирования процессоров, которая характеризуется следующими свойствами:
- нефиксированным значением длин команды;
- арифметические действия кодируются в одной команде;
- содержанием небольшим числом регистров, которые выполняют строго заданные функции.
RISC — это архитектура процессора, где прирост быстродействия происходит за счёт упрощения инструкций, для более простого их декодирования, делая время выполнения короче.
Характерные черты RISK процессоров:
- Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
- Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. архитектура load-and-store).
- Большое количество регистров общего назначения (32 и более).
- Отсутствие поддержки операций вида «изменить» над укороченными Рассмотрим конвейеры.
Конвейер является методом организации вычислений, который используется в современных процессорах и контроллерах для прироста их производительности (увеличения числа инструкций, выполняемых за единицу времени), технология, используемая при разработке компьютеров.
Идея конвейера заключается в разделении обработки компьютерной инструкции на последовательные независимые стадий с сохранением результатов в конце каждой стадии. Это позволяет управляющим цепям процессора получать инструкции со скоростью самой медленной стадии обработки, однако при этом намного быстрее, чем при выполнении эксклюзивной полной обработки каждой инструкции от начала до конца.
Процессоры с конвейером внутри устроены так, что обработка инструкций разделена на последовательность стадий, предполагая одновременную обработку нескольких инструкций на разных стадиях. Результаты работы каждой из стадий передаются через ячейки памяти на следующую стадию, и так — до тех пор, пока инструкция не будет выполнена. Подобная организация процессора, при некотором увеличении среднего времени выполнения каждой инструкции, тем не менее обеспечивает значительный рост производительности за счёт высокой частоты завершения выполнения инструкций.
Рассмотрим содержание кэш памяти процессора.
Кэш-память – это сверхбыстрая память, которая используется процессором, для временного хранения данных, которые наиболее часто используются.