Архитектура компьютера
Основные элементы компьютера. Компьютер состоит из 4-х структурных компонентов: 1) Процессор. Осуществляет контроль за действиями компьютера, а также выполняет функции обработки данных. Если в системе есть только один процессор, он часто называется центральным процессором (CPU – central processing unit) 2) Основная память. Здесь хранятся данные и программы. Эта память является временной. Часто её называют реальной или оперативной памятью. 3) Устройства ввода-вывода. Служат для передачи данных между компьютером и внешним окружением, состоящим из различных периферийных устройств, в число которых входит вторичная память, коммуникационное оборудование и терминалы. 4) Системная шина. Определённые структуры и механизмы, обеспечивающие взаимодействие между процессором, основной памятью и устройствами ввода-вывода.
Основная память
PC – программный счетчик IR – регистр команд MAR – регистр адреса памяти MBR – регистр буфера памяти I/O AR – регистр адреса ввода-вывода I/O BR – регистр буфера ввода-вывода
Рисунок 1. Компоненты компьютера: общая структура.
Одной из функций процессора является обмен данными с памятью. Для этого он обычно использует два внутренних (по отношению к процессору) регистра: регистр адреса памяти (memory address register – MAR), куда заносится адрес ячейки памяти, в которой будет производиться операция чтения – записи, и регистр буфера памяти (memory buffers register – MBR), куда заносятся данные, предназначенные для записи в память, или те, которые были прочитаны из неё. Аналогично, номер устройства ввода-вывода задается в регистре адреса ввода-вывода (I/O address register – I/O AR). Регистр буфера ввода-вывода (I/O buffer register – I/O BR) служит для обмена данными между устройством ввода-вывода и процессором. Модуль памяти состоит из множества пронумерованных ячеек. В каждую ячейку может быть записано двоичное число, которое интерпретируется либо как команда, либо как данные. Модуль ввода-вывода служит для передачи данных от внешних устройств как в процессор и память, так и в обратном направлении. Для временного хранения данных в нем есть свои внутренние буферы. Регистры процессора В процессоре имеется набор регистров, представляющих собой область памяти быстрого доступа, но намного меньшей емкости, чем основная память. Регистры процессора (выполняют две функции) делятся на 2 группы: - регистры, доступные пользователю. Эти регистры позволяют программисту сократить число обращений к основной памяти, оптимизируя использование регистров с помощью машинного языка или ассемблера. - регистры управления и регистры состояния. Используются в процессоре для контроля над выполняемыми операциями; с их помощью привилегированные программы операционной системы могут контролировать ход выполнения других программ. Регистры, доступные пользователю: - регистры данных. Могут использоваться любой машинной командой для операций с данными. Часто при этом накладываются определённые ограничения. Например, некоторые регистры предназначены для операций над числами с плавающей точкой, в то время как остальные – для хранения целых чисел. - адресные регистры. В них заносятся адреса команд и данных в основной памяти; в этих регистрах может быть записана только часть адреса, использующаяся при вычислении полного или эффективного адреса. Управляющие регистры и регистры состояния. Для контроля над работой процессора используются различные регистры. В большинстве машин эти регистры в основном недоступны пользователю. Кроме упомянутых регистров MAR, MBR, I/O AR, I/O BR, важными для выполнения команд, являются следующие: - Программный счетчик (program counter – PC). Содержит адрес команды, которая должна быть выбрана из памяти. - Регистр команд (instruction register – IR). Содержит последнюю выбранную из памяти команду. В состав всех процессоров входит также регистр, известный под названием регистра слова состояния программы (program status word – PSW). В нем, как правило, содержатся коды условий и другая информация о состоянии, например, бит разрешения/запрещения прерываний или бит режима системный/пользовательский. Коды условий (известные как флаги) – это последовательность битов, устанавливаемых или сбрасываемых процессором в зависимости от результата выполненных операций. Например, в результате выполнения арифметического действия может получиться положительное число, отрицательное, ноль, или может произойти переполнение. Обработка прерываний Прерывание вызывает ряд событий, которые происходят как в аппаратном, так и в программном обеспечении. После завершения работы устройства ввода – вывода происходит следующее: 1. Устройство посылает процессору сигнал прерывания. 2. Перед тем как ответить на прерывание, процессор должен завершить исполнение текущей команды. 3. Процессор производит проверку наличия прерывания, обнаруживает его и посылает устройству, приславшему это прерывание, уведомляющий сигнал об успешном приеме. Этот сигнал позволяет устройству снять свой сигнал прерывания. 4. Теперь процессору нужно подготовить к передаче управления обработчику прерываний. Сначала необходимо сохранить всю важную информацию, чтобы в дальнейшем можно было вернуться к тому месту текущей программы, где она была приостановлена. Минимальная требуемая информация – это слово состояния программы и адрес очередной выполняемой команды, который находится в программном счетчике. Эти данные заносятся в системный управляющий стек. 5. Далее в программный счетчик процессора загружается адрес входа программы обработки прерываний, которая отвечает за обработку данного прерывания. В зависимости от архитектуры компьютера и устройства операционной системы может существовать как одна программа для обработки всех прерываний, так может быть и своя программа обработки для каждого устройства и каждого типа прерываний. Если для обработки прерываний имеется несколько программ, то процессор должен определить, к какой из них следует обратиться. Эта информация может содержаться в первоначальном сигнале прерывания; в противном случае для получения необходимой информации процессор должен по очереди опросить все устройства, чтобы определить, какой из них отправило прерывание. Как только в программный счетчик загружается новое значение, процессор переходит к следующему циклу команды, приступая к ее извлечению из памяти. Т. к. команда извлекается из ячейки, номер которой задается содержимым программного счетчика, управление переходит к программе обработки прерываний. Исполнение этой программы влечет за собой следующие операции.
6. Содержимое программного счетчика и слово состояния прерываемой программы уже хранятся в системном стеке. Однако это еще не вся информация, имеющая отношение к состоянию исполняемой программы. Например, нужно сохранить содержимое регистров процессора, т. к. эти регистры могут понадобиться обработчику прерываний. Поэтому необходимо сохранить всю информацию о состоянии программы. Обычно обработчик прерываний начинает свою работу с записи в стек содержимого всех регистров. 7. Теперь обработчик прерываний можно начать свою работу. В процесс обработки прерывания входит проверка информации состояния, имеющая отношение к операциям ввода – вывода или другим событиям, вызвавшим прерывание. Сюда может также входить пересылка устройством ввода – вывода дополнительных инструкций или уведомляющих сообщений. 8. После завершения обработки прерываний из стека извлекаются сохраненные, ранее значения, которые вновь заносятся в регистры, возобновляя, таким образом то состояние, в котором они пребывали до прерывания. 9. Последний этап – восстановление из стека слово состояния программы и содержимого программного счетчика. Будет выполняться команда прерванной программы. Планирование процессов
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (752)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |