Центральный процессор.

Центральный процессор - основное устройство компьютера, которое управляет всеми другими устройствами компьютера. Функционально процессор состоит из двух компонент: операционной части и интерфейсной части. Операционная часть включает устройство управления, арифметико-логическое устройство (АЛУ) и процессорную память (регистры общего назначения – РОН). РОН используются для хранения начальных, конечных и промежуточных данных при работе процессора. Интерфейсная часть включает микросхемы управления шиной и портами ввода-вывода, а также адресный и командный регистры.

Конструктивно процессор состоит из огромного количества электронных микросхем, сосредоточенных в микроскопическом объеме. Возможно, процессор является самым сложным устройством в мире. Вся история прогресса в компьютерной индустрии связана с совершенствованием процессоров: расширением списка выполняемых ими функций, уменьшением объема и одновременным увеличением скорости выполнения операций (быстродействием), увеличением надежности.

Процессор соединяется с другими устройствами по проводам, которые называются системной шиной. Часть из них, называемые шиной управления, предназначена для передачи управляющих сигналов устройствам компьютера и получении от них ответных сигналов. Процессор не различает внешних устройств компьютера. Он взаимодействует только с ОЗУ и с условными точками, которые называются портами ввода-вывода. Все порты перенумерованы. Каждое конкретное устройство подключается к портам с определенными номерами, которых может быть несколько. Данные, пересланные в порт, в итоге попадают в устройство вывода, данные, полученные из порта, вводятся в компьютер.

Конкретные потоки цифровой информации, передающейся по системным шинам, а также операции, выполняемые АЛУ, определяются командами текущей работающей программы. Коротко работу процессора можно описать так: процессор считывает очередную команду, расшифровывает ее, передает все заданные этой программы сигналы по системной шине, получает от нее ответ, выполняет операцию в АЛУ и затем переходит к следующей команде. Кроме того, процессор может получить незапланированный командой сигнал (прерывание), свидетельствующее об аварийной ситуации или работе устройства ввода. По этому сигналу устройство управления прекращает выполнение текущей программы, запоминая место остановки, и запускает одну из заранее предусмотренных программ обработки прерывания (в зависимости от вида прерывания).

Арифметико-логическое устройство предназначено для выполнения арифметических и логических операций. Каждая операция характеризуется типом операции и содержанием одного или двух ее операндов. В состав АЛУ входит несколько микросхем, по одной для каждого типа операции. Операнды операции размещаются в ячейках специального вида памяти, конструктивно входящей в процессор. Эти ячейки называются регистрами процессора.

Для того, чтобы выполнить конкретную операцию, надо разместить в регистрах операнды, задать номер операции и указать номера регистров для операндов и результата операции. Все эти сведения составляют содержание машинной команды. Код команды изображает номер производимой операции. Устройство управления расшифровывает очередную машинную команду, извлекает из нее код команды и другие необходимые данные, и запускает микросхему АЛУ, которая выполняет конкретную операцию.

Операции различаются классом операции (сложение, вычитание, умножение, деление и т.д.). Кроме того, из-за многообразия форматов представления чисел приходится различать варианты операций (например, предусмотрена отдельная микросхема сложения чисел в формате с фиксированной запятой без знака, и соответствующая операция имеет уникальный номер). Кроме арифметических есть логические операции, выполняемые побитно (конъюнкция, дизъюнкция и др.). Всего предусмотрено около сотни различных кодов машинных команд.

Устройство управления является наиболее сложной частью процессора. Оно вырабатывает сигналы, которые управляют всеми устройствами компьютера и процессором в частности. Большинство операций в процессоре выполняется параллельно, а синхронизируются они с помощью тактовых импульсов, вырабатываемых тактовым генератором.

Машинные команды состоят не только из арифметико-логических операций. Необходимы также команды, перемещающие информацию из одного места в другое. Различается обмен между регистрами процессора и ОЗУ и между регистрами и портами ввода-вывода. Есть команды, меняющие настройки и состояние процессора (как и любое сложное устройство, процессор регулируется множеством разнообразных параметров и флагов).

Быстродействие компьютера измеряется количеством выполняемых элементарных операций в секунду - флопов. Например, один гигафлоп означает миллиард операций в секунду, терафлоп – триллион операций в секунду. Это измерение условное, так как разные операции выполняются за разное время (умножение заведомо более долгая операция, чем перенос информации). Единицей длительности операции является такт. В состав процессора входит тактовый генератор, в обязанность которого входит посылка импульсов во все устройства компьютера через определенные промежутки времени. Количество тактов в секунду (тактовая частота) является основной характеристикой процессора. Действие всех микросхем разделено на такты, которые выполняются по сигналам тактового генератора. В результате этого синхронизируется выполнение операции, в которой задействованы различные устройства и микросхемы.

Так как программа лежит в оперативной памяти, ее отдельные команды можно рассматривать как данные, в частности, их можно изменять. Благодаря этому одна команда программы может выполнять вычисления много раз с разными данными. В этом и заключается основной смысл принципа хранимой программы. Без этого эффективную программу составить просто невозможно.