Центральные процессоры (ЦП) — это мозг наших компьютеров. Они обрабатывают все, что мы делаем ежедневно, от открытия приложения до просмотра фильма. Но что такое процессор? Как это работает? И в чем разница между ЦП и все более популярными виртуальными ЦП?
Понимание мозгов компьютеров
Согласно полному руководству по истории, первые электронные компьютеры были созданы в начале 1800-х годов. опубликовано G2. Однако эти компьютеры были большими и дорогими, и ими могли пользоваться только обученные математики и ученые.
Чарльзу Бэббиджу приписывают изобретение первой вычислительной машины, разностной машины, которую можно было запрограммировать на выполнение любых вычислений, которые можно было выполнить вручную. Однако проект Difference Engine так и не был завершен из-за отсутствия финансирования. по данным Музея компьютерной истории.
В 1937 году Бэббидж впервые упомянул об аналитической машине, которая станет первым в мире механическим компьютером общего назначения. «Аналитическая машина включала в себя все элементы современного компьютера: арифметико-логическое устройство, поток управления в виде условных ветвлений и циклов и встроенную память» (
Примечания по электронике).Ключевым компонентом современного компьютера является ЦП или центральный процессор. ЦП отвечает за выполнение инструкций, данных ему программным обеспечением, таким как операционная система или приложение. С точки зрения непрофессионала, вы можете думать о ЦП как о мозге вашего компьютера. Центральный процессор состоит из двух основных частей: блока управления и арифметико-логического блока (АЛУ). Если вас смущают эти сокращения, см. обзор того, чем отличаются APU, CPU и GPU.
Блок управления отвечает за выборку инструкций из памяти, их декодирование и последующую отправку в арифметико-логическое устройство для выполнения. АЛУ выполняет арифметические и логические операции с данными, хранящимися в регистрах, которые являются внутренними единицами хранения внутри ЦП.
Современный Процессоры также содержат кеш, представляющий собой небольшой объем высокоскоростной памяти, в котором хранятся часто используемые инструкции и данные. Тайники разделены на уровни; Кэш 1-го уровня (L1) встроен в сам кристалл ЦП, а кеш-память 2-го уровня (L2) находится на отдельном чипе рядом с ЦП и кэш-память уровня 3 (L3) находятся дальше от ЦП на собственном чипе или даже на собственной схеме доска.
ЦП против. виртуальный ЦП
С появлением облачных сервисов появился виртуальный центральный процессор, или сокращенно vCPU. TechTarget определяет виртуальный ЦП как «физический центральный процессор (ЦП), назначенный виртуальной машине (ВМ)».
Виртуальные машины — это в основном автономные операционные системы, которые работают внутри другой операционной системы, как если бы они были приложениями. ВМ используются для различных целей, таких как тестирование нового программного обеспечения в безопасной среде, запуск нескольких операционных систем (например, Windows и Linux) на одном компьютере или объединение нескольких физических серверов в один сервер для экономии места и сокращения расходы.
Итак, виртуальный ЦП — это программная реализация ЦП; он физически не существует внутри вашего компьютера, как настоящий процессор. Гипервизор, который представляет собой программное обеспечение, которое создает виртуальные машины и управляет ими, назначает виртуальные ЦП виртуальной машине. Каждый виртуальный ЦП воспринимается операционной системой внутри ВМ как реальное ядро ЦП. Смотрите наши объяснение гипервизоров Узнать больше.
Однако, поскольку виртуальные ЦП основаны на программном обеспечении, они не так эффективны, как настоящие ЦП. Поэтому важно указать, сколько ядер вашего процессора когда вы покупаете компьютер (например, «четырехъядерный» означает четыре ядра). То же правило применяется при выборе виртуального частного сервера (VPS) или плана хостинга выделенного сервера.
Основное различие между ЦП и виртуальными ЦП заключается в том, что ЦП являются аппаратными, а виртуальные ЦП — программными. Это означает, что ЦП физически существуют внутри вашего компьютера, а виртуальные ЦП — нет; вместо этого они создаются гипервизорами по мере необходимости. Из-за этой разницы в реализации ЦП намного эффективнее, чем виртуальные ЦП; у них нет накладных расходов, связанных с запуском программного обеспечения.
С начала 2000-х годов виртуальные ЦП становятся все более популярными, поскольку они дешевле и их проще назначать, чем физические ЦП; однако, если вам нужна производительность, лучше всего использовать компьютер с несколькими ядрами ЦП, поскольку каждое ядро может обрабатывать инструкции независимо.
Ядра против. Потоки
ЦП может иметь одно или несколько ядер, которые являются процессором, выполняющим задачи в указанное время. Ядро будет поддерживать порядок выполнения задач, регистры и кэш (если применимо) и выполнять операции через АЛУ. ЦП управляет ядрами, но ядро выполняет каждый программный процесс или поток, запланированный операционной системой. Поток — это независимая последовательность инструкций, которую может обрабатывать центральный процессор.
Несколько потоков могут существовать в одном процессе и совместно использовать одно и то же пространство памяти. Это позволяет им легче взаимодействовать друг с другом, чем если бы они работали в отдельных процессах. Потоки часто используются для повышения производительности многопоточных приложений, позволяя различным частям программы работать одновременно на разных ядрах или процессорах.
Термин «поток» уже много лет используется в вычислительной терминологии; однако только в начале 2000-х годов в процессоры была введена аппаратная поддержка потоков. Это позволяло одновременно выполнять несколько потоков на отдельных ядрах. Раньше на одном ядре одновременно мог выполняться только один поток, независимо от того, сколько ядер было в процессоре. В настоящее время многоядерные процессоры стали обычным явлением, и большинство операционных систем обеспечивают некоторый уровень поддержки запуска программ в виде нескольких потоков.
Завершение основных вопросов
Подводя итог, можно сказать, что ЦП — это аппаратный мозг наших компьютеров, в то время как их виртуальные аналоги, виртуальные ЦП, основаны на программном обеспечении и создаются гипервизорами для работы на виртуальных машинах. Ядра — это аппаратные процессоры внутри ЦП, а потоки — это программные инструкции, которые могут обрабатываться ЦП.
Потоки могут выполняться одновременно на отдельных ядрах, что позволяет одновременно выполнять разные части программы. Это может повысить производительность оборудования, поскольку несколько задач могут обрабатываться одновременно, а не последовательно.
Теперь, когда вы понимаете разницу между ЦП, ВЦП, ядрами и потоками, вы можете принять взвешенное решение при выборе компьютера или сервера. Если вам нужна производительность, лучше всего выбрать компьютер с несколькими ядрами ЦП, поскольку каждое ядро может обрабатывать инструкции независимо. Однако, если вы ищете экономичное решение, вам могут подойти виртуальные ЦП.