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

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

Центральный процессор, ЦП ( англ. Central processing unit, CPU ) - Функциональная часть ЭВМ, предназначенная для интерпретации команд.


1. Функции

  • обработка данных по заданной программе путем выполнения арифметических и логических операций;
  • программное управление работой устройств компьютера.

2. Архитектура процессора

Термин "архитектура процессора" в наше время [ Когда? ] не имеет однозначного толкования. С точки зрения программистов, под архитектурой процессора подразумевается его способность выполнять определенный набор машинных кодов. Большинство современных десктопных процессоров относятся к семейству x86, или Intel -совместимых процессоров архитектуры IA32 (архитектура 32-битных процессоров Intel). Ее основа была заложена компанией Intel в процессоре i80386, однако в последующих поколениях процессоров она была дополнена и расширена как самой Intel (введены новые наборы команд MMX, SSE, SSE2 и SSE3), так и сторонними производителями (наборы команд EMMX, 3DNow! и Extended 3DNow!, разработанные компанией AMD).

Однако разработчики компьютерного оборудования вкладывают в понятие "Архитектура процессора" (иногда, чтобы окончательно не запутаться, используется термин "микроархитектура") несколько иной смысл. С их точки зрения, архитектура процессора отражает основные принципы внутренней организации конкретных семейств процессоров. Например, архитектура процессоров Intel Pentium обозначалась как Р5, процессоров Pentium II и Pentium III - Р6, а популярные в недавнем прошлом Pentium 4 относились к архитектуре NetBurst. После того, как компания Intel закрыла архитектуру Р5 для сторонних производителей, ее основной конкурент - компания AMD была вынуждена разработать собственную архитектуру - К7 для процессоров Athlon и Athlon XP, и К8 для Athlon 64.


3. Ядро

В рамках одной и той же архитектуры различные процессоры могут достаточно сильно отличаться друг от друга. И различия эти воплощаются в разнообразных процессорных ядрах, обладающих определенным набором строго обусловленных характеристик. Чаще всего эти различия воплощаются в различных частотах системной шины (FSB), размерах кэша второго уровня, поддержке тех или иных новых систем команд или технологических процессах, по которым изготавливаются процессоры. Нередко изменение ядра в одном и том же семействе процессоров влечет за собой замену процессорного разъема (сокет, англ. socket ), Из чего вытекают вопросы дальнейшей совместимости материнских плат. Однако в процессе совершенствования ядра производителям приходится вносить в него незначительные изменения, которые не могут претендовать на "собственное имя". Такие изменения называются ревизиями ( англ. stepping ) Ядра и зачастую сказываются цифробуквеннимы комбинациями. Однако в новых ревизиях одного и того же ядра могут встречаться достаточно заметные нововведения. Так, компания Intel ввела поддержку 64-битной архитектуры EM64T в отдельные процессоры семейства Pentium 4 именно в процессе изменения ревизии.


4. 32-битные и 64-битные процессоры

Успешными и самыми распространенными до недавнего времени процессоры с архитектурой IA32, которая была введена с появлением поколения процессоров i80386 на замену 16-битным 8086, 80186, 80286.

Удачное 64-битное расширение классической 32-битной архитектуры IA32 было предложено в 2002 году компанией AMD (первоначально называлось x86-64, сейчас - AMD64) в процессорах семейства К8. Через некоторое время компанией Intel было предложено собственное обозначение - EM64T ( англ. Extended Memory 64-bit Technology ). Но, независимо от названия, суть новой архитектуры одна и та же: разрядность основных внутренних регистров 64-битных процессоров удвоилась (с 32 до 64 бит), а 32-битные команды x86-кода получили 64-битные аналоги. Кроме того, за счет расширения разрядности шины адресов объем памяти, адресуемой процессором, существенно увеличился.

Но те, кто ждет от 64-битных процессоров сколько-нибудь существенного прироста быстродействия, будут разочарованы - их производительность в подавляющем большинстве современных приложений (которые в массе своей подогнаны под IA32) практически та же, что и у старых добрых 32-битных. Для рядового пользователя потенциал 64-битной архитектуры может раскрыться тогда, когда массово появятся приложения, оптимизированные под новую архитектуру. Эффективным переход на 64-битные процессоры станет для программ, активно работающих с большими объемами памяти, более 4 ГБ: высокопроизводительных серверов, баз данных, программ класса CAD / CAE, а также программ для работы с цифровым контентом.


5. Параллелизм

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

5.1. Конвейер команд

Конвейер команд - аппаратная структура в вычислительных устройствах ЭВМ, предназначенная для ускорения выполнения машинных команд путем совмещения определенных стадий их выполнения во времени.

5.2. Многоядерные процессоры

Самым значимым событием 2005 года стало появление двухъядерных процессоров. К тому времени классические одноядерные CPU определенной степени исчерпали резервы роста производительности за счет повышения рабочей частоты. Камнем преткновения стало не только очень высокое тепловыделение процессоров, работающих на высоких частотах, но и проблемы с их стабильностью. Итак, экстенсивный путь развития процессоров иссяк и производителям пришлось осваивать новый, интенсивный путь повышения производительности продукции. Пионером на рынке десктопных CPU, как обычно, стала компания Intel, что первой анонсировала двухъядерные процессоры Intel Pentium D и Intel Extreme Edition. Впрочем, AMD с Athlon64 X2 отстала от конкурента буквально на считанные дни. Бесспорным достижением этих двоядерникив первого поколения является их полная совместимость с существующими системными платами. Второе поколение двухъядерных процессоров, в частности, Intel Core 2 Duo, требует специально разработанных для них чипсетов и со старыми материнскими платами не работает.

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


6. Строение

6.1. Внутренние совместно работающие устройства

Модели процессоров включают такие совместно работающие устройства:

  • Устройство управления (ПК). Осуществляет координацию работы всех остальных устройств, выполняет функции управления устройствами, управляет вычислениями в компьютере.
  • Арифметико-логическое устройство (АЛУ). Так называется устройство для целочисленных операций. Арифметические операции, такие как сложение, умножение и деление, а также логические операции (OR, AND, ASL, ROL и др.). Обрабатываются при помощи АЛУ. Эти операции составляют подавляющее большинство программных кодов в большинстве программ. Все операции в АЛУ обрабатываются в регистрах - специально отведенных чарухнках АЛУ. В процессоре может быть несколько АЛУ. Каждый способен выполнять арифметические или логические операции независимо от других, что позволяет выполнять несколько операций одновременно. Арифметико-логическое устройство выполняет арифметические и логические действия. Логические операции делятся на две простые операции: "Да" и "Нет" ("1" и "0"). Конечно, эти два устройства выделяются чисто условно, конструктивно они не разделены.
  • AGU (Address Generation Unit) - устройство генерации адресов. Это устройство не менее важен, чем АЛУ, т.к. оно отвечает за корректную адресацию при загрузке или сохранении данных.
  • Математический сопроцессор (FPU). Процессор может содержать несколько математических сопроцессоров. Каждый из них способен выполнять, по меньшей мере, одну операцию с плавающей запятой, независимо от того, что делают другие АЛУ. Метод конвейерной обработки данных позволяет одному математический сопроцессор выполнять несколько операций одновременно. Сопроцессор поддерживает высокоточные вычисления как целочисленных, так и с плавающей запятой и, кроме того, содержит набор полезных констант, ускоряющих вычисления. Сопроцессор работает параллельно с центральным процессором, обеспечивая, таким образом, высокую производительность.
  • Дешифратор инструкций (команд). Анализирует инструкции в целях выделения операндов и адресов, по которым размещаются результаты. Затем следует сообщение другому независимому устройству о том, что необходимо сделать для выполнения инструкции. Дешифратор допускает выполнение нескольких инструкций одновременно для загрузки всех исполняющих устройств.

6.2. Память


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

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

Кэш второго уровня (L2 cache). Также находится внутри процессора. Информация, хранящаяся в ней, используется реже, чем информация, хранящаяся в кэш-памяти первого уровня, однако объем памяти в нее больше. Также в наше время [ Когда? ] в процессорах используется кэш третьего уровня.

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

Некоторые важные регистры имеют свои названия, например:

сумматор - регистр АЛУ, участвующий в выполнении каждой операции;

счетчик команд - регистр УП, содержание которого соответствует адресу очередной выполняемой команды, служит для автоматической выборки программы из последовательных ячеек памяти;

регистр команд - регистр УП для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные - для хранения кодов адресов операндов.


6.3. Шины


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

  • Шина данных. Служит для передачи данных между процессором и памятью или процессором и устройствами ввода-вывода. Эти данные могут представлять собой как команды микропроцессора, так и информацию, он посылает в порты ввода-вывода или принимает оттуда.
  • Шина адресов. Используется ЦП для выбора требуемой ячейки памяти или устройства ввода-вывода путем установки на шине конкретного адреса, соответствующего одной из ячеек памяти или одному из элементов ввода-вывода, входящих в систему.
  • Шина управления. По ней передаются управляющие сигналы, предназначенные памяти и устройствам ввода-вывода. Эти сигналы указывают направление передачи данных (в процессор или из него).

6.4. Буфер целей разветвления

BTB (Branch Target Buffer). Это таблица, в которой находятся все адреса, куда будет или может быть сделан переход.

п ? в ? р Распространенные компоненты персонального компьютера
Системный блок
Видьеднувальни носители информации
Дата порты
Ethernet ? FireWire (IEEE 1394) ? Последовательный порт ? Параллельный порт ? Thunderbolt ? Universal Serial Bus (USB)
Устройства вывода
Монитор ? Принтер ? Компьютерные колонки ? Графопобудовник (плоттер)
Устройство ввода
Игровые контроллеры
Игровой джойстик ? Руль ? Педали ? Пистолет ? Paddle ? Геймпад ? Танцевальная платформа ? Трекер
Остальные
Модем ? Чип Wi-Fi / Bluetooth ? ТВ-тюнер ? Сетевой фильтр ? ИБП