Валерий Белунцов - Новейший самоучитель работы на компьютере
♦ ОЗУ – оперативное запоминающее устройство (используется для записи и чтения данных).
В ОЗУ могут записываться, например, результаты работы программы для последующего их вывода на какое-либо внешнее устройство. В ПЗУ данные хранятся «вечно», записанные в ОЗУ – безвозвратно теряются при выключении электропитания.
В популярной сегодня английской терминологии ПЗУ называется ROM (ReadOnly Memory), а ОЗУ – RAM (Random Access Memory). В некоторых случаях может использоваться также особый тип памяти, информация из которой не уничтожается при выключении питания, как в ПЗУ, и при этом есть возможность программной записи данных в эту память (как в ОЗУ, только медленнее). Такой тип памяти ранее почти не использовался, но в последние годы получил широкое распространение. Его называют Flash-памятью.
Чтобы процессор мог ориентироваться «на просторах» запоминающего устройства, вся память разделена на ячейки. Каждая ячейка имеет свой уникальный адрес, записанный в виде чисел. Обычно память организована в виде матрицы, и для обращения к ячейке памяти процессор должен задать номер ее столбца и строки. Этим управляют системные сигналы CAS и RAS.
Перед запуском любая программа должна быть целиком или частично загружена с внешнего устройства в оперативную память. Процессор в определенной последовательности считывает из оперативной памяти команды и исполняет их. Для этого в нем имеется специальный регистр – счетчик команд, который всегда содержит адрес ячейки памяти, где расположена команда, которая будет исполняться следующей. Перед началом работы программы этот регистр содержит адрес ячейки памяти, в которую загружена первая команда программы, а во время исполнения каждой команды содержимое счетчика команд автоматически увеличивается до исполнения очередной операции.
Приведенная схема поверхностно описывает процесс выполнения программы. Современные процессоры способны начинать исполнение новой команды до завершения предыдущей, инициировать исполнение нескольких команд сразу и т. п. Но общий принцип остается прежним.
Чтобы «общаться» с человеком, компьютеру необходимы устройства для ввода и вывода информации. В качестве основного устройства ввода сейчас применяется клавиатура с буквенно-цифровыми и управляющими клавишами. Каждая клавиша передает в компьютер уникальный двоичный код, а специальная программа, которая обычно записана в ПЗУ компьютера, преобразует эти коды в вид, приемлемый для использования в программах. Результат работы программы выводится на экран монитора.
Почти всегда результат работы требуется сохранить, чтобы иметь возможность вернуться к нему в другой раз. Для этого, а также для записи самих текстов программ (программного кода) предназначены внешние накопители информации. Сейчас с этой целью, как правило, используются накопители на гибких и жестких магнитных дисках, а также лазерные оптические диски.
Теперь вы имеете представление о принципе работы компьютера и пора перейти к подробному описанию его составляющих. Напомню, что в зависимости от аппаратной платформы и компании-производителя расположение некоторых деталей компьютера может отличаться. Поэтому будем считать, что у пользователя имеется PC в стандартном вертикальном корпусе, таком, как MidiTower.
Взаимодействие устройств компьютера
Все рассмотренные выше устройства, из которых может состоять компьютерная система, определенным образом взаимодействуют между собой.
Схематично взаимодействие устройств показано на рис. 2.1. На нем видно, что центральными передаточными узлами являются системный и функциональный контроллеры – основные элементы чипсета материнской платы. Системный контроллер обменивается данными с процессором (и кэш-памятью) по системной шине, с оперативной памятью с помощью шины памяти и с видеоадаптером по шине AGP. Функциональный контроллер поддерживает «диалог» с платами расширения на шинах ISA, PCI, VLB, USB, IDE, с устройствами, подключенными к портам PS/2, последовательному и параллельному, а также с приводом гибких дисков и микросхемой BIOS.
Рис. 2.1. Схема взаимодействия устройств в компьютере.
Координатором всех действий является процессор, который выполняет программы и иногда в процессе должен принимать информацию от различных устройств. Чтобы устройства могли вовремя сообщать процессору о необходимости обработки поступившей информации, используется система прерываний.
Получив сигнал об активном прерывании, процессор приостанавливает текущий процесс, например выполнение программы. Это делается, чтобы обработать поступившую информацию. После этого и, возможно, соответствующих действий, процессор возвращается к прерванному ранее процессу.
Систему прерываний обычно поясняют, используя бытовую метафору. Замените мысленно процессор, выполняющий программу, на обедающего человека. Прием пищи – это процесс. Вдруг зазвонил телефон – это сигнал на прерывание: обед приостанавливается, обрабатывается информация, поступившая от собеседника. Когда информация обработана – разговор закончен, человек возвращается к обеду. Можно при этом создать список возможных прерываний обедающего человека: телефонный звонок, стук в дверь, захныкавший ребенок в соседней комнате и т. д.
Таким же образом процессор, выполняющий программу, может в случае необходимости приостанавливать текущий процесс, чтобы обработать поступившую информацию (например, о нажатой клавише) и, возможно, совершить соответствующее действие в ответ (сформировать сигнал для вывода на экран соответствующей буквы).
Существует определенный порядок обработки процессором прерываний (в зависимости от их приоритета, выраженного определенным номером). Чем меньше номер прерывания, тем выше его приоритет. Сигналы прерываний поступают от устройств не прямо на процессор, а на специальный контроллер прерываний, который знает, прерывание с каким номером соответствует какому устройству, и, получив сигнал от устройства, устанавливает сигнал прерывания с соответствующим номером в активное состояние.
Всего существует 16 прерываний, которые нумеруются числами от 0 до 15. Этого, как выясняется, очень мало.
ПРИМЕЧАНИЕ.
В некоторых случаях может быть задействован расширенный контроллер прерываний, и тогда их становится 24.
Почему же прерываний недостаточно, если плат расширения обычно подключено не более трех-четырех?
Дело в том, что некоторые прерывания уже закреплены за системными устройствами, поэтому свободных остается совсем немного. Кроме того, существуют устройства, которые норовят занять более одного прерывания (если в плате совмещены несколько различных устройств). Хорошо еще, что современные устройства для шины PCI, как правило, «знают» о проблемах с недостатком прерываний, и часто вполне могут уживаться на одном прерывании вдвоем или даже втроем. Впрочем, несложно догадаться, что стабильность и скорость работы системы от этого снижается.
Рассмотрим кратко, каким образом используются прерывания и какие из них можно выделить для плат расширения.
♦ Прерывание 0 – наиболее приоритетное, жестко закреплено за системным таймером. Оно не может быть использовано каким-либо другим устройством.
♦ Прерывание 1 – жестко закреплено за контроллером клавиатуры. Таким образом, сигналы от клавиатуры по умолчанию являются наиболее приоритетными пользовательскими сигналами. Первое прерывание не может быть назначено какому-либо другому устройству.
♦ Прерывание 2 – имеет техническое значение. С его помощью изначальное количество прерываний путем некоторых системных манипуляций в свое время было увеличено с 8 до 16. Таким образом, это прерывание также не может быть использовано каким-либо устройством.
♦ Прерывание 3 – обычно используется вторым последовательным портом компьютера. Если это так, то оно не может быть назначено другим устройствам. Однако если данный порт не нужен, то его можно отключить, и тем самым прерывание 3 освободится для использования другими устройствами.
♦ Прерывание 4 – аналогично использованию прерывания № 3 только для первого последовательного порта.
♦ Прерывание 5 – изначально является свободным и может назначаться различным устройствам по усмотрению пользователя (или операционной системы, если в ней предусмотрена автоматическая настройка).
ВНИМАНИЕ!
Если необходимо использовать звук в играх (особенно старых) или же в системе установлена звуковая карта, совместимая с Sound Blaster Pro и подключаемая к шине ISA, то пятое прерывание должно быть закреплено за звуковой картой.
♦ Прерывание 6 – жестко закреплено за контроллером привода гибких дисков. Оно не может использоваться какими-либо другими устройствами (за исключением случая, когда привод гибких дисков в системе отсутствует и BIOS может сообщить операционной системе об этом).