Несмотря на огромный диапазон размеров и вычислительных мощностей компьютеров, все они, так или иначе, имеют сходную функциональную структуру. В одних случаях эта структура может быть немного упрощена, в других – расширена, но в общем функции вычислительного устройства и необходимые для вычислений функциональные блоки остаются одними и теми же.
Обобщенная структура компьютера – это схема, которая определяет состав, порядок и принципы взаимодействия входящих в нее блоков.
Для ввода данных в компьютер (рис. 5.1) предназначается устройство ввода, для вывода – устройство вывода, вместе эти устройства обычно составляют единый блок – устройство ввода-вывода данных.
Независимо от того, будут данные в компьютере храниться годы или секунды, компьютер должен иметь место для их хранения. Соответствующее устройство называется памятью.
Рис. 5.1. Обобщенная структура компьютера
В компьютере должно быть устройство, которое производит манипуляции над данными, от простейших арифметических операций до сложных статистических, финансовых или научных расчетов. Функционально это устройство состоит из двух блоков: один блок отвечает за производимые вычисления, другой – за правила, по которым данные извлекаются из памяти, над ними производятся операции, и результаты этих операций снова возвращаются в память. Устройство, производящее вычисления, называется арифметико-логическим устройством (АЛУ), а устройство, формирующее правила, по которым происходит обработка данных – устройством управления (УУ). Вместе эти две функциональные единицы образуют единый блок, который получил название центральный процессор.
Связать между собой процессор, оперативную память, постоянную память (дисковые устройства), устройства ввода-вывода и другие компоненты компьютера напрямую невозможно конструктивно и технологически. Поэтому между всеми этими устройствами располагается системная шина – еще один весьма важный компонент, носителем которого является материнская плата.
Системная шина представляет собой множество электрических проводников, конструктивно выполненных в виде тончайших проводящих дорожек, в несколько слоев пронизывающих материнскую плату и соединяющих между собой все электронные компоненты компьютера (рис. 5.2).
Рис. 5.2. Взаимодействие компонентов через системную шину
В современном компьютере взаимодействие центрального процессора с устройствами ввода-вывода, а также с различными устройствами, присоединенными к общей шине, основано на механизме прерываний.
Механизм прерываний обеспечивает прерывание выполнения текущей программы при поступлении сигнала на соответствующий вход центрального процессора и выполнение процессором операций обслуживания устройства, вызвавшего прерывание.
При поступлении сигнала прерывания центральный процессор совершает следующие действия:
1) запоминает адрес текущей инструкции выполняемой программы;
2) получает вектор прерывания (вектор прерывания – запись в специальной таблице прерываний, связывающей номер прерывания и адрес подпрограммы, выполняющей обработку прерывания. Получить вектор прерывания – значит получить доступ к соответствующей записи в этой таблице);
3) переходит по адресу, хранимому в соответствующей записи вектора прерывания;
4) выполняет подпрограмму обработки прерывания;
5) после завершения подпрограммы обработки прерывания возвращается к выполнению прерванной программы.
Подпрограмму обработки прерывания называют обработчиком прерывания.
Прерывания обозначаются сокращением IRQ (Interrupt Request – запрос на прерывание) и номером. Прерывания имеют приоритет. Это значит, что прерывание с более высоким приоритетом может прервать работу программы обработки прерывания с более низким приоритетом. Прерывания управляются контроллером прерываний.