Ядром любой вычислительной системы является процессор (от англ. processor). Синонимом на русском языке является слово "обработчик".
Процессор – это тот узел, блок, который производит обработку информации внутри вычислительной системы.
Процессор заменяет практически всю "жесткую логику", которая понадобилась бы в случае традиционной цифровой системы. Он выполняет:
- арифметические функции (сложение, умножение и т.д.),
- логические функции (сдвиг, сравнение, маскирование кодов и т.д.),
- временное хранение кодов (во внутренних регистрах),
- пересылку кодов между узлами микропроцессорной системы и многое другое.
Количество элементарных операций, выполняемых процессором, может достигать нескольких сотен.
Остальные узлы вычислительной системы выполняют вспомогательные функции:
- хранение информации (в том числе и управляющей информации, то есть программы),
- связь с внешними устройствами,
- связь с пользователем и т.д.
Надо учитывать, что все свои операции процессор выполняет последовательно, то есть одну за другой, по очереди. С одной стороны, это несомненное достоинство, так как позволяет с помощью всего одного процессора выполнять любые, самые сложные алгоритмы обработки информации. Но, с другой стороны, последовательное выполнение операций приводит к тому, что время выполнения алгоритма зависит от его сложности.
Вычислительная система способна сделать все, но работает она не слишком быстро, ведь все информационные потоки приходится пропускать через один-единственный узел – микропроцессор (рис. 1.3). В традиционной цифровой системе можно легко организовать параллельную обработку всех потоков информации, за счет усложнения схемы обработки потоков.
Рисунок 1.3 – Информационные потоки в микропроцессорной системе
Выполняемая в конкретный момент времени операция определяется управляющей информацией, программой.
Программа представляет собой набор команд (инструкций), составленный человеком (программистом).
Команда (инструкция) – цифровой код, расшифровав который, процессор узнает, что ему надо делать. Каждая команда имеет свое время выполнения, поэтому время выполнения всей программы зависит не только от количества команд в программе, но и от того, какие именно команды используются.
Все команды, выполняемые процессором, образуют систему команд процессора. Структура и объем системы команд процессора определяют его быстродействие, гибкость, удобство использования.
Всего команд у процессора может быть от нескольких десятков до нескольких сотен. Система команд может быть рассчитана на узкий круг решаемых задач (у специализированных процессоров) или на максимально широкий круг задач (у универсальных процессоров). Коды команд могут иметь различное количество разрядов (занимать от одного до нескольких байт).
Для выполнения команд в структуру процессора входят:
- внутренние регистры,
- арифметико-логическое устройство (АЛУ, ALU – Arithmetic Logic Unit),
- мультиплексоры, буферы, регистры и другие узлы.
Работа всех узлов процессора синхронизируется общим внешним тактовым сигналом (синхроимпульсом).
То есть процессор представляет собой довольно сложное цифровое устройство (рис. 1.4).
Рисунок 1.4 – Пример структуры простейшего процессора
Разработчик должен рассматривать процессор как "черный ящик", который в ответ на входные и управляющие коды производит ту или иную операцию и выдает выходные сигналы. Разработчику необходимо знать систему команд, режимы работы процессора, а также правила взаимодействия процессора – протоколы обмена информацией. О внутренней структуре процессора надо знать только то, что необходимо для выбора той или иной команды, того или иного режима работы.