Процессор для выполнения программы , написанной на более высоком уровне языка программирования будет слишком сложным, и прежде всего ограничены фокусом этого языка.
Следовательно, даже современные процессоры по-прежнему основаны на обработке машинного кода , то есть небольших наборах машинных инструкций, которые больше соответствуют способу работы процессора (например, перемещение числа из регистра в регистр), чем способу работы программиста. Каждая архитектура процессора определяет собственный машинный язык . Например, процессоры Intel x86 используют другой машинный код, чем архитектура ARM . Программы, написанные на более высоких языках, обычно переводятся в машинный код архитектуры - либо заранее (с помощью так называемого компилятора ) или во время работы программы (с помощью интерпретатора ).
Центральный процессор (ЦП) выполняет машинные инструкции . Основные компоненты процессора включают арифметико-логический блок , регистры и контроллер, который управляет работой процессора (чтение машинных инструкций из памяти, их декодирование, выполнение и сохранение результатов). В современных компьютерах обычно есть несколько других процессоров, которые работают с основным процессором (например, они обеспечивают ввод / вывод , прием сигнала GPS , связь с беспроводной сетью Wi-Fi и т.д.). Если в схеме имеется несколько процессорных блоков, она называется многоядерным процессором .
Сложные x86 CISC процессоры стали популярными на IBM PC-совместимых настольных компьютеров . В ноутбуках, с другой стороны, более простой ARM RISC - процессоры , которые менее энергоемкие. В небольших устройствах, таких как кардиостимуляторы или Интернет вещей , используются простые процессоры с высокой степенью интеграции ( система на кристалле ) или одноцелевые процессоры, предназначенные для конкретного использования (например, цифровые часы ).