Центральный процессор (ЦП), или центральное процессорное устройство (ЦПУ) (англ. central processing unit — CPU), — процессор машинных инструкций, часть аппаратного обеспечения компьютера или программируемого логического контроллера, отвечающая за выполнение основной доли работ по обработке информации, — вычислительный процесс. Современные ЦПУ, выполняемые в виде отдельных микросхем (чипов), реализующих все особенности, присущие данного рода устройствам, называют микропроцессорами.
Большинство современных процессоров основаны на той или иной версии циклического процесса последовательной обработки информации, разработанного фон Нейманом.
Важнейшие этапы этого процесса приведены ниже. В различных архитектурах и для различных команд могут потребоваться дополнительные этапы. Напр., для арифметических команд могут потребоваться дополнительные обращения к памяти, во время которых производится считывание операндов и запись результатов.
Этапы цикла выполнения:
Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения
Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных, и сообщает о готовности
Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её
Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды
Снова выполняется п. 1
Данный цикл выполняется неизменно и бесконечно, и именно он называется процессом (откуда и произошло название устройства).
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая последовательность команд называется программой и представляет алгоритм полезной работы процессора. Очерёдность считывания команд нарушается в случае, если процессор считывает команду перехода — тогда адрес следующей команды может оказаться другим. Другим примером нарушения процесса может служить случай получения команды останова, в результате которой процесс прекращается, напр., до получения процессором сигнала аппаратного прерывания.
Команды центрального процессора являются самым нижним уровнем управления компьютером, поэтому выполнение каждой команды неизбежно и безусловно. Не производится (и не может производиться) никакой проверки на допустимость выполняемых действий, в частности, не проверяется возможная потеря ценных данных. Чтобы компьютер выполнял только допустимые действия, команды должны быть соответствующим образом организованы в виде необходимой программы.
Скорость перехода от одного этапа цикла к другому определяется тактовым генератором. Тактовый генератор вырабатывает импульсы, служащие ритмом для центрального процессора. Частота тактовых импульсов называется тактовой частотой.
Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия. Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например: выборка команды из ОЗУ, дешифрация команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды, запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера.
Многоядерные процессоры содержат несколько процессорных ядер в одном корпусе (на одном или нескольких кристаллах). На данный момент массово доступны процессоры с двумя ядрами, в частности Intel Core 2 Duo на ядре Conroe и Athlon64X2 на базе микроархитектуры K8.
Кэширование — это использование дополнительной быстродействующей памяти (кэш-памяти) для хранения копий блоков информации из основной (оперативной) памяти, вероятность обращения к которым в ближайшее время велика.
Различают кэши 1-, 2- и 3-го уровней. Кэш 1-го уровня имеет наименьшую латентность (время доступа) но малый размер, кроме того кэши первого уровня часто делаются многопортовыми. Так процессоры AMD K8 умеют производить 64 бит запись+64 бит чтение либо два 64-бит чтения за такт, процессоры Intel Core могут производить 128 бит запись+128 бит чтение за такт. Кэш 2-го уровня обычно имеет значительно большие латентности доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.
CISC-процессоры (Complex Instruction Set Computing) — вычисления со сложным набором команд. Процессорная архитектура, основанная на усложнённом наборе команд. Типичными представителями CISC является семейство микропроцессоров Intel x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд).
RISC-процессоры (Reduced Instruction Set Computing (technology) — вычисления с сокращённым набором команд. Архитектура процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации. Концепция RISC разработана Джоном Коком (John Cocke) из IBM Research, название придумано Дэвидом Паттерсоном (David Patterson).
Разработкой микропроцессоров в России занимается ЗАО «МЦСТ». Им разработаны и внедрены в производство универсальные RISC-микропроцессоры с проектными нормами 130 и 350 нм. Завершена разработка суперскалярного микропроцессора нового поколения Эльбрус. Основные потребители российских микропроцессоров — предприятия ВПК. Однако в 2005 году состоялось поглощение корпорацией Intel ЗАО «МЦСТ».
Основные характеристики ЦП:
Тактовая частота;
Кэш;
Технология изготовления;
Поддержка технологий. Для оптимизаций выполнения определенных задач, производители ЦП внедряют в свои процессоры специальные наборы инструкций. Например, SSE (SSE2, SSE3), 3DNow!, Extended 3DNow! и т.п. Эти инструкции не вносят каких то изменений в саму исполнительную часть ядра процессора, но позволяют описывать сложные последовательности команд, более короткими командами и упрощать работу процессору;
Наличие встроенного контроллера памяти. Ранее существовала такая схема работы ЦП с ОЗУ: "Процессор - Чипсет - ОЗУ". Этот путь сокращается за счет "переноса" контроллера памяти из чипсета - в ЦП. Тем самым схема упростилась до "Процессор - ОЗУ".