Определение
Центральный процессор (ЦП), или центральное процессорное устройство (ЦПУ) (англ. central
processing unit — CPU), — процессор машинных инструкций, часть аппаратного обеспечения компьютера
или программируемого логического контроллера, отвечающая за выполнение основной доли работ по обработке
информации, — вычислительный процесс. Современные ЦПУ, выполняемые в виде отдельных микросхем (чипов),
реализующих все особенности, присущие данного рода устройствам, называют микропроцессорами. С середины
80-х последние практически вытеснили прочие виды ЦПУ, вследствие чего термин стал всё чаще и чаще
восприниматься как обыкновенный синоним слова «микропроцессор». Тем не менее, — это не так, а центральные
процессорные устройства некоторых суперкомпьютеров даже сегодня представляют собой сложные комплексы
больших (БИС) и сверхбольших (СБИС) интегральных схем.
Изначально термин Центральное процессорное устройство описывал специализированный класс логических машин,
предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого
назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён
на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было
положено в 60-х годах 20 века. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись,
однако их основные исполняемые функции остались теми же, что и прежде.
Ранние ЦПУ создавались в виде уникальных составных частей для уникальных, и даже единственных в своём роде,
компьютерных систем. Позднее от дорогостоящего способа разработки процессоров, предназначенных для выполнения
одной единственной или нескольких узкоспециализированных программ, производители компьютеров перешли к серийному
изготовлению типовых классов многоцелевых процессорных устройств. Тенденция к стандартизации компьютерных
комплектующих зародилась в эпоху бурного развития полупроводниковых элементов, мейнфреймов и миникомпьютеров,
а с появлением интегральных схем она стала ещё более популярной. Создание микросхем позволило ещё больше
увеличить сложность ЦПУ с одновременным уменьшением их физических размеров. Стандартизация и миниатюризация
процессоров привели к глубокому проникновению основанных на них цифровых устройств в повседневную жизнь
человека. Современные процессоры можно найти не только в таких высокотехнологичных устройствах, как компьютеры
или автомобили, но и в калькуляторах, мобильных телефонах и даже в детских игрушках.
Архитектура фон Неймана
Основная статья: Архитектура фон Неймана
Большинство современных процессоров основаны на той или иной версии циклического процесса последовательной обработки информации, разработанного фон Нейманом.
Важнейшие этапы этого процесса приведены ниже. В различных архитектурах и для различных команд могут потребоваться дополнительные этапы. Напр., для арифметических команд могут потребоваться дополнительные обращения к памяти, во время которых производится считывание операндов и запись результатов.
Этапы цикла выполнения:
1) Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса, и отдаёт памяти команду чтения
2) Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое,
хранящееся по этому адресу, на шину данных, и сообщает о готовности
3) Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и
исполняет её
4) Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой
команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды
Снова выполняется п. 1
Данный цикл выполняется неизменно и бесконечно, и именно он называется процессом (откуда и произошло название устройства).
Во время процесса процессор считывает последовательность команд, содержащихся в памяти, и исполняет их. Такая
последовательность команд называется программой и представляет алгоритм полезной работы процессора. Очерёдность
считывания команд нарушается в случае, если процессор считывает команду перехода — тогда адрес следующей команды
может оказаться другим. Другим примером нарушения процесса может служить случай получения команды останова, в результате
которой процесс прекращается, напр., до получения процессором сигнала аппаратного прерывания.
Команды центрального процессора являются самым нижним уровнем управления компьютером, поэтому выполнение каждой команды
неизбежно и безусловно. Не производится (и не может производиться) никакой проверки на допустимость выполняемых действий,
в частности, не проверяется возможная потеря ценных данных. Чтобы компьютер выполнял только допустимые действия, команды
должны быть соответствующим образом организованы в виде необходимой программы.
Скорость перехода от одного этапа цикла к другому определяется тактовым генератором. Тактовый генератор вырабатывает импульсы,
служащие ритмом для центрального процессора. Частота тактовых импульсов называется тактовой частотой.
Конвейерная архитектура
Конвейерная архитектура (pipelining) была введена в центральный процессор с целью повышения быстродействия.
Обычно для выполнения каждой команды требуется осуществить некоторое количество однотипных операций, например:
выборка команды из ОЗУ, дешифрация команды, адресация операнда в ОЗУ, выборка операнда из ОЗУ, выполнение команды,
запись результата в ОЗУ. Каждую из этих операций сопоставляют одной ступени конвейера. Напр., конвейер микропроцессора
с архитектурой MIPS-I содержит четыре стадии:
получение и декодирование инструкции (Fetch)
выполнение арифметических операций (Arithmetic Operation)
адресация и выборка операнда из ОЗУ (Memory access)
сохранение результата операции (Store)
После освобождения k-й ступени конвейера она сразу приступает к работе над следующей командой. Если предположить,
что каждая ступень конвейера тратит единицу времени на свою работу, то выполнение команды на конвейере длиной в n
ступеней займёт n единиц времени, однако в самом оптимистичном случае результат выполнения каждой следующей команды
будет получаться через каждую единицу времени.
Действительно, при отсутствии конвейера выполнение команды займёт n единиц времени (так как для выполнения команды
по прежнему необходимо выполнять выборку, дешифрацию и т. д.), и для исполнения m команд понадобится единиц времени; при использовании конвейера (в самом оптимистичном случае) для выполнения m команд понадобится всего лишь n + m единиц времени.
Факторы, снижающие эффективность конвейера:
1. простой конвейера, когда некоторые ступени не используются (напр., адресация и выборка операнда из ОЗУ
не нужны, если команда работает с регистрами);
2. ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться
до выполнения первой (это преодолевается при использовании внеочередного выполнения команд, out-of-order execution);
3. очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя
предсказание переходов).
Некоторые современные процессоры имеют более 30 ступеней в конвейере, что увеличивает производительность
процессора, однако приводит к большому времени простоя (напр., в случае ошибки в предсказании условного перехода.
Суперскалярная архитектура
Способность выполнения нескольких машинных инструкций за один такт процессора. Появление этой
технологии привело к существенному увеличению производительности.
CISC-процессоры
Complex Instruction Set Computing — вычисления со сложным набором команд. Процессорная архитектура,
основанная на усложнённом наборе команд. Типичными представителями CISC является семейство микропроцессоров
Intel x86 (хотя уже много лет эти процессоры являются CISC только по внешней системе команд)
RISC-процессоры
Reduced Instruction Set Computing (technology) — вычисления с сокращённым набором команд. Архитектура
процессоров, построенная на основе сокращённого набора команд. Характеризуется наличием команд фиксированной
длины, большого количества регистров, операций типа регистр-регистр, а также отсутствием косвенной адресации.
Концепция RISC разработана Джоном Коком (John Cocke) из IBM Research, название придумано Дэвидом Паттерсоном
(David Patterson).
Самая распространённая реализация этой архитектуры представлена процессорами серии PowerPC, включая G3, G4 и G5.
Довольно известная реализация данной архитектуры — процессоры серий MIPS и Alpha.
Многоядерные процессоры
Содержат несколько процессорных ядер в одном корпусе (на одном или нескольких кристаллах).
На данный момент массово доступны процессоры с двумя ядрами, в частности Intel Core 2 Duo на
ядре Conroe и Athlon64X2 на базе микроархитектуры K8. В ноябре 2006 года вышел первый четырёхядерный
процессор Intel Core 2 Quad представляющий собой сборку из двух кристаллов Conroe в одном корпусе.
На середину 2007 года планируется выход нативных (в виде одного кристалла) четырёхьядерных процессоров
AMD Барселона реализующих новую микроархитектуру K8L (K9).
27 Сентября 2006 Intel продемонстрировала прототип 80-ядерного процессора.[1] Предполагается, что массовое производство подобных процессоров станет возможно после перехода на 32-нанометровый техпроцесс, а это в свою очередь ожидается в течении 5 лет.
^ http://lenta.ru/news/2006/09/27/multicore/
Кэширование
Кэширование — это использование дополнительной быстродействующей памяти (кэш-памяти) для хранения копий блоков информации из основной (оперативной) памяти, вероятность обращения к которым в ближайшее время велика.
Различают кэши 1-, 2- и 3-го уровней. Кэш 1-го уровня имеет наименьшую латентность (время доступа) но малый размер, кроме того кэши первого уровня часто делаются многопортовыми. Так процессоры AMD K8 умеют производить 64 бит запись+64 бит чтение либо два 64-бит чтения за такт, процессоры Intel Core могут производить 128 бит запись+128 бит чтение за такт. Кэш 2-го уровня обычно имеет значительно большие латентности доступа, но его можно сделать значительно больше по размеру. Кэш 3-го уровня самый большой по объёму и довольно медленный, но всё же он гораздо быстрее, чем оперативная память.
Параллельная архитектура
Архитектура фон Неймана обладает тем недостатком, что она последовательная. Какой бы огромный
массив данных не требовалось обработать, каждый его байт должен будет пройти через центральный
процессор, даже если над всеми байтами требуется провести одну и ту же операцию. Этот эффект
называется узким горлышком фон Неймана.
Для преодоления этого недостатка предлагались и предлагаются архитектуры процессоров, которые
называются параллельными. Параллельные процессоры используются в суперкомпьютерах.
Возможными вариантами параллельной архитектуры могут служить:
1. одна команда — много данных
2. много команд — одни данные
3. смешанная
Технология изготовления процессоров
История развития процессоров
Первым общедоступным микропроцессором был 4-разрядный Intel 4004. Его сменили 8-разрядный Intel 8080 и 16-разрядный 8086,
заложившие основы архитектуры всех современных настольных процессоров. Но из-за распространённости 8-разрядных модулей памяти
был выпущен 8088, клон 8086 с 8-разрядной шиной памяти. Затем проследовала его модификация 80186. В процессоре 80286 появился
защищённый режим с 24-битной адресацией, позволявший использовать до 16 МиБ памяти. Процессор Intel 80386 появился в 1985 году
и привнёс улучшенный защищённый режим, 32-битную адресацию, позволившую использовать до 4 ГиБ оперативной памяти и поддержку
механизма виртуальной памяти.
Современная технология изготовления
В современных компьютерах процессоры выполнены в виде компактного модуля (размерами около 5 * 5 * 0,3 см)
вставляющегося в zif-сокет. Большая часть современных процессоров реализована в виде одного полупроводникового
кристалла, содержащего миллионы, а с недавнего времени даже миллиарды транзисторов. В первых компьютерах процессоры
были громоздкими агрегатами, занимавшими подчас целые шкафы и даже комнаты, и были выполнены на большом количестве
отдельных компонентов.
В начале 70-х годов ХХ века благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных
схем), микросхем, стало возможным разместить все необходимые компоненты ЦП в одном полупроводниковом устройстве.
Появились так называемые микропроцессоры. Сейчас слова микропроцессор и процессор практически стали синонимами, но
тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере
10-15 лет, и только в начале 80-х годов микропроцессоры вытеснили своих старших собратьев. Надо сказать что переход к
микропроцессорам позволил потом создать персональные компьютеры, которые теперь проникли почти в каждый дом. Первый
микропроцессор Intel 4004 был представлен 15 ноября 1971 года корпорацией Intel. Он содержал 2300 транзисторов, работал
на тактовой частоте 108 кГц и стоил 300$.
За годы существования технологии микропроцессоров было разработано множество различных их архитектур. Многие из них
(в дополненном и усовершенствованном виде) используются и по ныне. Например Intel x86, развившаяся вначале в 32 бит
IA32 а позже в 64 бит x86-64. Процессоры архитектуры x86 вначале использовались только в персональных компьютерах
компании IBM (IBM PC), но в настоящее время всё более активно используются во всех областях компьютерной индустрии,
от суперкомпьютеров до встраиваемых решений. Также можно перечислить такие архитектуры как Alpha, Power, SPARC,
PA-RISC, MIPS (RISC - архитектуры) и IA-64 (EPIC – архитектура). Большинство процессоров используемых в настоящее
время являются Intel-совместимыми, т. е. имеют набор инструкций и пр., как процессоры компании Intel.
Наиболее популярные процессоры сегодня производят фирмы Intel, AMD и IBM. Среди процессоров от Intel: 8086, i286
(в русском компьютерном сленге называется «двойка», «двушка»), i386 («тройка», «трёшка»), i486 («четвёрка»), Pentium
(i586)(«пень», «пенёк», «второй пень», «третий пень» и т. д. Наблюдается также возврат названий: Pentium III называют
«тройкой», Pentium 4 — «четвёркой»)), Pentium II, Pentium III, Celeron (упрощённый вариант Pentium), Pentium 4, Core 2
Duo, Xeon (серия процессоров для серверов), Itanium и др. AMD имеет в своей линейке процессоры Amx86 (сравним с Intel
486), Duron, Sempron (сравним с Intel Celeron), Athlon, Athlon 64, Athlon 64 X2, Opteron и др.
Будущие перспективы
В ближайшие 10-20 лет, скорее всего, изменится материальная часть процессоров,
ввиду того, что технологический процесс достигнет физических пределов производства.
Возможно, это будут:
1. Квантовые компьютеры
2. Молекулярные компьютеры
Квантовые процессоры
Процессоры, работа которых всецело базируется на квантовых эффектах. В настоящее
время ведутся работы над созданием рабочих версий квантовых процессоров.