Как называются контакты процессора
Перейти к содержимому

Как называются контакты процессора

  • автор:

Что такое сокет материнской платы и как его определить?

Мы произвели более 25 тысяч компьютеров для геймеров, творческих профессионалов, блогеров и стримеров, игровых клубов, гарфических дизайнеров и видео монтажеров. Каждый компьютер мы создаем с восхитительным дизайном, высокой производительностью, безупречным качеством и персональным сервисом. Для начала работы нам надо поговорить. Достаточно рассказать о целях и пожеланиях по новому компьютеру, указать контакты, и мы свяжемся, чтобы все обсудить.

Цели использования:
Анимация и 3D графика
Фото и графический дизайн
Видеомонтаж
Визуализация и рендеринг
Машинное обучение
Персональный дизайн
Дерзкий и яркий
Без RGB подсветки
Минималистичный дизайн
Сделайте все по красоте!
В белом исполнении
Компактный размер важен
Кастомное водяное охлаждение
Самый мощный, VIP
Лимитированная версия
Как вам удобнее общаться:
Нужна помощь в выборе?
Мы готовы помочь Вам

Установка процессора

Выбор системы охлаждения материнской платы или процессора в первую очередь зависит от сокета. Разберемся, что это такое, а также как его проверить и определить.

Что такое сокет материнской платы и где он находится

Сокет – это разъем, куда устанавливается процессор. Он располагается на материнской плате и находится слева от слотов оперативной памяти. Некоторые процессоры, например, Intel Xeon, имеют поддержку 4-канального режима работы ОЗУ. В таких случаях сокет на материнке будет располагаться между слотами оперативной памяти. Сокеты отличаются друг от друга не только формой, но и распиновкой контактов – расположением маленьких металлических ножек. Через них процессоры подключаются к материнской плате. Одни контакты отвечают за работу ЦП, другие – за передачу данных по шине PCI-e, третьи – за обмен информацией между ОЗУ, и т.д.

Почему Intel и AMD меняют сокеты своих процессоров

Казалось бы, использовать один и тот же сокет выгодно для всех. Производители процессоров и материнских плат могли бы экономить на производстве, а покупателям стало бы проще выбирать компьютерные комплектующие. Компании Intel и AMD прекрасно понимают выгоду от использования одного сокета, но реализовать его не могут. Проблема в том, что добиться повышения производительности ЦП без изменения его компоновки невозможно. Производители процессоров вынуждены постоянно менять архитектуру и геометрию своих устройств, чтобы повысить их мощность. К тому же есть вещи, на которые Intel и AMD повлиять не могут. К примеру, это касается нового типа оперативной памяти DDR5, логика работы которого сильно отличается от DDR4 — научить процессоры работать с новым типом ОЗУ было невозможно без изменения сокета. Требовалось переработать не только распиновку контактов, но и контроллер памяти. Такие глобальные изменения также вынуждают производителей менять сокет.

Актуальные сокеты

  • LGA 1151;
  • LGA 1151 V2;
  • LGA 1200.

Самый современный сокет компании Intel – LGA 1700. Процессоры с этим сокетом могут работать как с DDR4, так и с DDR5. Это возможно благодаря тому, что инженерам «синих» удалось реализовать в своих новых ЦП сразу два контроллера памяти.

Актуальный сокет процессоров AMD для DDR4 – AM4. В конце 2022 года «красные» выпустили новое поколение ЦП Ryzen 7000 с сокетом AM5. Оно работает только с DDR5 памятью. Компания AMD либо не захотела, либо не смогла реализовать сразу два контроллера, как ее конкурент в лице Intel.

Как узнать сокет материнской платы

Узнать сокет можно несколькими способами, и мы опишем их все, начиная от самых простых и заканчивая наиболее трудоемкими.

О системе Windows 11

Способ первый – просто загуглите название процессора

Понять, какой сокет на материнской плате, проще всего по названию процессора. Чтобы узнать его, перейдите в панель управления Виндовс и нажмите кнопку «система». Напротив слова «Процессор» будет его название.

Если вы не можете запустить компьютер, то придется его разобрать. Вам понадобится открутить боковую крышку, снять систему охлаждения и вытереть сухой салфеткой термопасту с процессора. Прямо на нем будет написано название.

Если вы покупали BOX-версию процессора, то, возможно, осталась коробка или техническая документация. В них всегда указывается информация о ЦП.

Чтобы узнать, какой сокет у вашего ПК, введите название процессора в поисковую строку. Перейдите на официальную страницу Intel или AMD и зайдите в спецификации. Там вы найдете сокет своего процессора.

Иногда вместо слова «сокет» компании пишут «процессорный разъем» или просто «разъем». Учтите, что речь идет об одном и том же.

Сведения о системе

Способ второй – загуглите название материнской платы

Если вы не знаете название своей материнской платы, то нажмите на компьютере сочетание клавиш Win+R. В открывшейся панели введите msinfo32 и нажмите кнопку Enter. Перед вами откроется окно «Сведения о системе». Напротив слова «Модель» будет название вашей материнки. Кстати, в этом же окне можно узнать название вашего процессора.

Если вы не можете включить компьютер и зайти в операционную систему, то, как и в случае с процессором, постарайтесь найти коробку от материнской платы или техническую документацию, которая шла в комплекте с ней. Если коробка или документы так и не будут найдены, то придется разбирать компьютер и лезть внутрь.

После того как вы узнали название платы, вписывайте его в поисковую строку и нажимайте кнопку «найти». Далее переходите на официальную страницу производителя, и в характеристиках вы увидите нужный параметр.

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

Разберемся на примере, как узнать, какой сокет на материнке. Предположим, название вашей платы – «ASUS TUF GAMING B550M PLUS». Вписываем эти слова и цифры в поисковую строку, после чего нажимаем «найти». Первая же ссылка принадлежит сайту Asus – официальному производителю нашей платы. Кликаем по ней и на главной странице видим фразу «Разъем AM4».

Способ третий – установите мониторинговую программу

Теперь мы расскажем, как узнать сокет материнской платы через компьютер, а именно с помощью таких утилит, как CPU-Z и AIDA64. Они бесплатные и работают на всех системах Windows, включая 10-ю и 11-ю версии.

Эти программы применяются для мониторинга компьютерных комплектующих: анализа температуры, мощности, напряжения и т.д. У них примерно одинаковые возможности, так что скачивайте и устанавливайте ту, которая вам больше нравится.

Чтобы узнать сокет процессора с помощью CPU-Z, запустите программу и перейдите во вкладку «ЦП». Обычно она открывается по умолчанию. Там будет строчка «Package» или «Корпусировка процессора». Именно в ней и можно посмотреть ваш сокет.

Алгоритм действий для AIDA64 немного отличается. Сначала запустите утилиту и нажмите в левом столбце на раздел «Компьютер». Далее перейдите в «Материнская плата» и в списке выберите «Материнская плата». Внизу напротив слова «Сокет процессора» будет название сокета.

MSI Z690 Unify

Способ четвертый – осмотрите материнскую плату

Это самый крайний случай и прибегайте к нему только в том случае, если:

  • Вы не можете запустить компьютер;
  • Нет коробки и документации от материнки.
  • Отсутствует центральный процессор.

Ваша задача – внимательно осмотреть плату и постараться найти надписи похожие на такие, как:

  • H310M D3H;
  • PRIME B450-PLUS;
  • Z690 PHANTOM GAMING 4 и т.п.

Все это названия материнских плат. Они в 99% случаев печатаются на текстолите, однако их расположение у всех моделей разное. На одних платах название пишется сверху рядом со слотами ОЗУ, на вторых снизу около разъемов PCI-e для видеокарты, на третьих располагаются в самом углу и т.д. Выяснив название платы, вы без проблем узнаете, какой у вас сокет.

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

Серверный процессор: чем отличается от обычного устройства и как его выбрать

Развитие коммуникационных сетей, программ и приложений – только часть причин создания более производительных процессоров. Одним из витков технологического прогресса стали серверные процессоры. Нередко даже опытные пользователи ошибочно считают, что между сервером и персональным компьютером нет особой разницы. Не нужно попадать в эту «ловушку». Несмотря на то, что практически на любой ПК можно установить серверную ОС, от этого компьютер не станет сервером. Даже если установить самый производительный процессор, много ОЗУ и современный жесткий диск, – все равно такая вычислительная машина не заменит сервер. Причина кроется в сути. Что же такое серверный процессор и чем он отличается от обычного устройства?

Разница между серверными и обычными процессорами

Процессоры для обычного ПК и сервера отличаются по функциональному назначению. Они могут быть сделаны из одних и тех же материалов, но работать будут по–разному. Все потому, что и компьютерный и серверный CPU имеют конструктивные особенности, – они настроены на разные ритмы работы.

Серверный CPU обязательно имеет многоядерную структуру. Он отличается высокой тактовой частотой и способностью работать с большими объемами ОЗУ. Для серверного процессора также характерна возможность работы в заданном температурном режиме в течение всего эксплуатационного срока.

Если рассматривать функциональное назначение двух устройств, то процессор для персональных компьютеров разрабатывали с учетом удовлетворения потребностей одного пользователя. Производители понимают, что рядовому пользователю не нужна машина, способная осуществлять сложные вычисления, обладающая расширенными возможностями в области многозадачности. Также обычный CPU не рассчитан на круглосуточную работу, хотя в теории это допускается, если обеспечить его надлежащее охлаждение.

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

Конструктивные особенности сервера:

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

Серверный процессор должен быть надежным, а контроль его качества – более тщательным. Перед запуском в работу такой CPU проходит несколько стрессовых испытаний: функционирование в условиях продолжительной стрессовой нагрузки и более высокой температуры. Задача простая и очевидная – обеспечить сервер надежным центральным процессорным устройством.

Intel или AMD

Существует только два производителя процессоров, которых неформально называют по цветам их логотипов: «синие» (Intel) и «красные» (AMD). Определиться с производителем важно, так как они не взаимозаменяемы и под каждый CPU будут подходить свои материнские платы. Главное различие между процессорами Intel и AMD в том, что первые лучше справляются с однопоточными задачами и считаются более энергоэффективными, а вторые предпочтительнее для работы в режиме многозадачности.

Нельзя с уверенностью сказать, какой из продуктов лучше, так как все зависит от конкретной ситуации: рабочих задач, бюджетов, дельнейшего апгрейда. Подбирая решение, можно сравнить интересующие вас процессоры по характеристикам и производительности на этом сайте.

Характеристики серверного процессора

Сервер выполняет сложные математические вычисления. Такое оборудование подвержено высоким нагрузкам, и, как следствие, перегреву. Чтобы снизить этот негативный процесс, производители наделяют ЦПУ для сервера несколькими вычислительными ядрами. Их может быть даже 20. К тому же они способствуют ускорению проведения математических вычислений. Разберем по отдельности каждую составляющую процессора при выборе подходящего варианта.

На какие критерии обращать внимание при выборе процессора

  • Ядра. Как уже было сказано, сервер нуждается в больших вычислительных мощностях и потоках. Например, в Xeon можно наблюдать 12 ядер и 24 потока, когда у десктопного Pentium всего 2 ядра и 4 потока. Чем больше количество ядер и потоков, тем выше производительность процессора. Однако, стоит знать, что излишние ядра не будут использоваться при работе сервера. Поэтому при подборе подходящего CPU и количество ядер, необходимо правильно рассчитать программные требования и ожидаемую нагрузку на устройство. Таким образом сервер будет работать корректно, а вы не будете переплачивать за незадействованные ресурсы.
  • Сокеты. Слоты или разъемы для процессора на материнской плате, именуются сокетами (socket). Совместимость сокетов платы с CPU крайне важный момент. Регулярно выпускаются новые типы процессорных разъемов, поэтому этим вопросом нельзя пренебрегать. Обычно материнскую плату подбирают под процессор, так как он является более дорогим и важным компонентом в серверной конфигурации. При обратной ситуации надо удостовериться, что CPU будет совместим с имеющейся платой.
  • Кэш. Хранит временные данные, позволяя CPU работать без простоев и на полной скорости. За счет большого объема кэша, процессор сможет быстрей справляться с объемными потоками данных. Чем больше память кэша, тем выше производительность и меньше задержки.
  • Тактовая частота. Измеряется в гигагерцах (ГГц) и обычно указывается в технической документации CPU. Может иметь 2 показателя – частоту при штатной работе и в турбо–режиме. В серверной модели частота может проседать, но нужно понимать, что тот же Xeon допускает работу нескольких пользователей на максимальной тактовой частоте. Высокие показатели частоты также пропорциональны тепловыделению процессора. Ранее считалось, что чем больше тактовая частота, тем лучше. Сейчас это правило не так актуально, так как больше внимания стало уделяться общей архитектуре процессора.
  • Тепловыделение. Любое устройство, работающее от электросети будет греться. Процессор не исключение, а истории с его перегревом крайне печальны. Для комфортной работы CPU необходимо соблюсти баланс выделяемого тепла и охлаждения. В этих целях используется специальный показатель – TDP. Его величины обозначают минимально допустимые требования к обеспечению охлаждения. Чтобы не утверждали производители чипов, в каком бы высокоуровневом дата-центре не находился сервер, как бы не охлаждалась стойка с оборудованием, – лучше учесть и этот параметр.
  • Графическое ядро. Не все серверные процессоры имеют встроенный GPU, поскольку не во всех случаях это требуется. Если ядро есть, то оно выполняет расчеты, относящиеся к графике. Если же есть отдельная видеокарта, сервер сможет воспроизводить графику даже без собственного графического ядра.

Это основные характеристики, на которые следует обращать внимание во время подбора оптимальной серверной конфигурации.

Стоит отметить способность ЦПУ для сервера поддерживать большое количество каналов типа PCI-E. В некоторых моделях до 48 каналов. Производители устройств задействуют особые технологии по типу Turbo Boost от Intel и Turbo Core от компании AMD. Не менее важна такая особенность, как поддержка большого числа массивов RAID.

Но как выбрать CPU, способное удовлетворить текущие потребности пользователей? Это непростая задача, ведь нужно учесть немало параметров. Часто приходится искать баланс между бюджетом и определенными техническими характеристиками, чтобы не выйти за рамки отведенного бюджета.

Как выбрать серверный процессор

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

До 20 пользователей. Для обеспечения функционирования небольшого офиса достаточно CPU с 4-6 ядрами и тактовой частотой от 2 ГГц. Если планируются сложные вычисления и развертывание требовательных программ, то лучше сделать выбор в пользу более мощных моделей с 8 ядрами. Мы уже рассказывали том, как выбрать сервер для платформы 1С, так как этот заслуживает отдельного разговора.

До 50 пользователей. Для среднего предприятия больше важна общая производительность сервера. На этом этапе инфраструктура начинает делиться на сегменты под разные задачи: файловое хранилище, использование программ, почтовый сервер, веб и т.д. Хорошее решение – выбор двухпроцессорной системы с 16 ядрами и большим кэшом.

Свыше 50 пользователей. Крупные компании и предприятия нуждаются в решениях, способных обеспечить высокую скорость работы в многопоточных приложениях. Верным решением станет покупка двух или четырехпроцессорной системы от 20 ядер.

Всегда учитывайте текущие задачи, требования, а также делайте расчет на перспективу. Но если вы уверены, что сейчас и в дальнейшем будет достаточно 4 ядра, нет смысла переплачивать за 8 ядер.

Специалисты рекомендуют, все же, делать запас производительности на будущее в размере 30%. Связано это с постоянно растущей нагрузкой на вычислительные системы. Новые версии используемых приложений могут потребовать больше ресурсов. Не стоит исключать и вероятность увеличения числа пользователей в вашей сети.

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

поделиться с друзьями:

Протестируйте сервер перед оплатой

Оставьте свои данные, чтобы мы могли подобрать нужную конфигурацию выделенного сервера

Обратная связь

Оставьте свои контакты и наш специалист свяжется с вами.

Спасибо за обращение!

Наши специалисты свяжутся с вами в ближайшее время.

Хотим выразить благодарность специалистам технической поддержки за оперативную реакцию и решение любых вопросов. Сотрудники ООО «Микс Телеком» обеспечивают качественную работу нашего оборудования, находясь на связи круглосуточно.

Устройство процессора, из чего состоит процессор

Сейчас полно информации в интернете по теме процессоров, можно найти кучу статей о том как он работает, где в основном упоминаются регистры, такты, прерывания и прочее. Но, человеку не знакомому со всеми этими терминами и понятиями достаточно трудно вот так «с лету» вникнуть в понимание процесса, а начинать надо с малого — а именно с элементарного понимания как устроен процессор и из каких основных частей он состоит.

kak-ustroen-processor

Итак, что же окажется внутри микропроцессора, если его разобрать:

iz-chego-sostoit-processor

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

Под номером 2 — находится сам кристалл, по факту являющийся самой важной и дорогой в изготовлении частью микропроцессора. Именно благодаря этому кристаллу происходят все вычисления (а это и есть самая главная функция процессора) и чем он сложнее, чем совершенней — тем мощнее получается процессор и тем дороже соответственно. Кристалл изготавливается из кремния. На самом деле процесс изготовления очень сложный и содержит в себе десятки шагов, подробнее в этом видео:

Цифра 3 — специальная текстолитовая подложка, к которой крепятся все остальные части процессора, кроме того она играет роль контактной площадки — на ее обратной стороне есть большое количество золотистых «точек» — это контакты (на рисунке их немного видно). Благодаря контактной площадке (подложке) обеспечивается тесное взаимодействие с кристаллом, ибо напрямую хоть как нибудь воздействовать на кристалл не представляется возможным.

Крышка (1) крепится к подложке (3) с помощью клея-герметика, устойчивого к высоким температурам. Между кристаллом (2) и крышкой нет воздушного зазора, его место занимает термопаста, при застывании из нее получается «мостик» между кристаллом процессора и крышкой, благодаря чему обеспечивается очень хороший отток тепла.

processor-bez-kryshki

Кристалл соединяется с подложкой с помощью пайки и герметика, контакты подложки соединяются с контактами кристалла. На этом рисунке наглядно показано как соединяются контакты кристалла с контактами подложки при помощи очень тонких проводков (на фото 170-кратное увеличение):

kak-soedinjajutsja-kristall-processora-i-kontaktnaja-podlozhka

Вообще устройство процессоров разных производителей и даже моделей одного производителя может сильно разниться. Однако принципиальная схема работы остается прежней — у всех есть контактная подложка, кристалл (или несколько, расположенных в одном корпусе) и металлическая крышка для отвода тепла.

Так например выглядит контактная подложка процессора Intel Pentium 4 (процессор перевернут):

obratnaja-storona-podlozhki-mikroprocessora

Форма контактов и структура их расположения зависит от сокета процессора и материнской платы компьютера (сокеты должны совпадать). Например на рисунке чуть выше контакты у процессора без «штырьков», поскольку штырьки находятся прямо в сокете материнской платы.

А бывает другая ситуация, где «штырьки» контактов торчат прямо из контактной подложки. Эта особенность характерна в основном для процессоров AMD:

podlozhka-processora-amd

Как уже упоминалось выше, устройство разных моделей процессоров одного производителя может различаться, перед нами яркий тому пример — четырехъядерный процессор Intel Core 2 Quad, который по сути представляет собой 2 двухъядерных процессора линейки core 2 duo, совмещенных в одном корпусе:

jadra-processora

Важно! Количество кристаллов внутри процессора и количество ядер процессора — не одно и то же.

В современных моделях процессоров Intel умещается сразу 2 кристалла (чипа). Второй чип — графическое ядро процессора, по-сути играет роль встроенной в процессор видеокарты, тоесть даже если в системе отсутствует видеокарта, графическое ядро возьмет на себя роль видеокарты, причем довольно мощной (в некоторых моделях процессоров вычислительная мощь графических ядер позволяет играть в современные игры на средних настройках графики).

kak-ustroen-processor-intel-core-i5

Вот и все устройство центрального микропроцессора, вкратце конечно же.

Из чего состоит центральный процессор?

Центральный процессор часто называют «мозгом» компьютера, ведь он, как и человеческий мозг, состоит из нескольких частей, собранных воедино для работы над информацией. Среди них есть те, что отвечают за прием информации, ее хранение, обработку и вывод. В этой статье портал TechSpot разбирает все ключевые элементы процессора, за счет которых и работают ваши компьютеры.

Этот текст входит в серию статей, в которых тщательно разбирается работа ключевых компонентов компьютера. Кроме того, если вы заинтересовались темой, рекомендуем ознакомиться с переводами статей серии «Как разрабатываются и создаются процессоры?».

В этой статье будут затронуты как основы работы процессоров, так и более сложные понятия. К сожалению, без некоторой абстрактности не обойтись, но на это есть свои причины. К примеру, если взглянуть на блок питания, можно легко рассмотреть все его части — от конденсаторов до транзисторов, однако в случае с процессорами все не так просто, ведь мы физически не можем разглядеть все микросхемы, а Intel и AMD не спешат делиться подробностями работы своей продукции с широкой публикой. Тем не менее, информация, представленная в статье, применима к подавляющему большинству современных процессоров.

Итак, приступим. Любому вычислительному устройству нужно нечто наподобие центрального процессора. По сути, программист пишет код для выполнения собственных целей, а затем процессор выполняет его для получения необходимого результата. Процессор также подключен к другим частям системы, вроде памяти и устройств ввода/вывода, чтобы обеспечить загрузку необходимых данных, но в этой статье мы не будем акцентировать на них внимание.

Фундамент любого процессора: архитектура набора команд

Первое, на что натыкаешься при разборе любого процессора — это на архитектуру набора команд (ISA). Архитектура является чем-то вроде фундамента работы процессора и именно от нее зависит то, как он работает и как все внутренние системы взаимодействуют друг с другом. Существует огромное количество архитектур, но самыми распространенными являются x86 (преимущественно в стационарных компьютерах и ноутбуках) и ARM (в мобильных устройствах и встроенных системах).

Чуть менее распространенными и более нишевыми являются MIPS, RISC-V и PowerPC. Архитектура набора отвечает за ряд основных вещей: какие инструкции процессор может обрабатывать, как он взаимодействует с памятью и кэшем, как задача распределяется по нескольким этапам обработки и др.

Чтобы лучше понять устройство процессора, разберем его элементы в том порядке, по которому выполняются команды. Различные типы инструкций могут следовать разными путями и использовать разные компоненты ЦП, поэтому здесь они будут обобщены, чтобы охватить максимум. Начнем с базового дизайна одноядерных процессоров и постепенно будем переходить к более продвинутым и сложным экземплярам.

Блок управления и исполнительный тракт

Элементы процессора можно разделить на два основных: блок управления (он же — управляющий автомат) и исполнительный тракт (он же — операционный автомат). Говоря простым языком, процессор — это поезд, в котором машинист (управляющий автомат) управляет различными элементами двигателя (операционного автомата).

Исполнительный тракт подобен двигателю и, как следует из названия, это путь, по которому данные передаются при их обработке. Он получает входные данные, обрабатывает их и отправляет в нужное место после завершения операции. Блок управления, в свою очередь, направляет этот поток данных. В зависимости от инструкции, исполнительный тракт будет направлять сигналы к различным компонентам процессора, включать и выключать различные части пути, а также отслеживать состояние всего процессора.

Блок-схема работы базового процессора. Черными линиями отображен поток данных, а красными — поток команд.

Цикл выполнения команд — Выборка

Первое, что должен сделать процессор — определить, какие команды необходимо выполнить следующими, а затем переместить их из памяти в блок управления. Команды создаются компилятором и зависят от архитектуры набора (ISA). Наиболее распространенные типы базовых инструкций (например, «загрузка», «хранение», «сложение», «вычитание» и др.) общие для всех ISA, но существует множество дополнительных, специальных типов команд, уникальных для конкретной архитектуры набора. Блок управления знает, какие сигналы и куда нужно направить для выполнения определенного типа команды.

К примеру, при запуске .exe файла в Windows, код этой программы отправляется в память и процессор получает адрес, с которого начинается первая команда. Процессор всегда поддерживает внутренний реестр, отслеживающий откуда должна будет выполняться следующая команда. Этот реестр называется счетчиком команд.

После того, как процессор определил точку, с которой нужно начинать цикл, происходит перемещение команды из памяти в вышеупомянутый реестр — этот процесс называется выборкой команды. По-хорошему, команда, скорее всего, уже находится в кэше процессора, но этот вопрос будет рассмотрен чуть позже.

Цикл выполнения команд — Декодирование

Когда процессор получает команду, ему нужно точно определить тип этой команды. Данный процесс называется декодированием. Каждая команда обладает особым набором битов, опкодом, который дает возможность процессору распознать ее тип. Примерно по тому же принципу работает распознавание компьютером различных расширений файлов. К примеру, .jpg и .png — форматы изображений, но каждый из них обрабатывает данные по-разному, поэтому компьютеру и нужно точно распознавать их тип.

Стоит отметить, что сложность декодирования может зависеть от того, насколько продвинутой является архитектура набора команд процессора. У архитектуры RISC-V, к примеру, несколько десятков команд, а у x86 — несколько тысяч. У типичного процессора Intel x86 процесс декодирования является одним из сложнейших и занимает огромное количество памяти. Чаще всего процессоры декодируют команды, связанные с памятью, арифметическими вычислениями и переходом.

3 основных типа команд

Команда памяти может представлять собой нечто вроде «прочтите значение из адреса памяти 1234 вместо значения А» или «запишите значение Б в адрес памяти 5678». Арифметические команды имеют вид в духе «добавьте значение А к значению Б и сохраните результат в значении В». Инструкции перехода, в свою очередь, похожи на «выполните этот код, если значение В положительное, или выполните другой код, если значение В отрицательное». Зачастую в программах используется цепочка сразу из нескольких вышеупомянутых примеров, из-за чего конечный результат выглядит примерно так: «добавьте значение адреса памяти 1234 к значению адреса памяти 5678 и сохраните его в адресе памяти 4321, если результат положительный, либо в адрес 8765, если результат отрицательный».

Перед тем, как перейти к выполнению декодированной команды, давайте уделим немного внимания регистрам.

Регистрами называются немногочисленные, но крайне быстрые фрагменты памяти процессора. У 64-битных процессоров каждый из них вмещает 64 бита, а всего их может быть несколько десятков на одно ядро. Регистры используются для хранения используемых в данный момент значений и их можно считать чем-то вроде кэша нулевого уровня. В приведенных выше примерах команд значения А, Б и В будут сохранены именно в регистре.

Арифметико-логическое устройство

Вернемся к этапу выполнения команд. Сразу отметим, что он отличается для всех трех вышеупомянутых типов команд, поэтому давайте рассмотрим каждый их них.

Самыми простыми для понимания являются арифметические команды. Эти команды отправляются в арифметическо-логическое устройство (ALU) для последующей обработки. Устройство представляет собой цепь, которая чаще всего работает с двумя значениями, отмеченными сигналом, и выдает результат.

Представьте себе обычный калькулятор. Для любого вычисления вы вводите значения, выбираете необходимую арифметическую операцию и получаете результат. Арифметическо-логическое устройство (ALU) работает по похожему принципу. Тип операции зависит от опкода команды, который управляющий автомат отправляет в ALU и которое в дополнение к базовой арифметике может производить со значениями такие битовые операции, как AND, OR, NOT и XOR. Кроме того, арифметическо-логическое устройство выводит информацию о проведенном вычислении для управляющего автомата (например, оказалось ли оно положительным, отрицательным, равным нулю или вызвало переполнение).

Несмотря на то, что арифметическо-логическое устройство чаще всего связано именно с арифметическими операциями, оно находит свое применение и в инструкциях памяти или перехода. Например, если процессору нужно вычислить адрес памяти, заданный в результате прошлого вычисления, либо в случае необходимости вычислить переход для добавления в счетчик программ, если инструкция того требует (пример: «если предыдущий результат отрицателен, перейти на 20 команд вперед»).

Команды и иерархия памяти

Чтобы лучше понять принцип работы команд, связанных с памятью, стоит обратить внимание на концепцию иерархии памяти — связь между кэшем, оперативной памятью и главным запоминающим устройством. Когда процессор работает с командой памяти, данных о которой у него еще нет в регистре, он будет продвигаться по иерархии памяти, пока не найдет нужную информацию. Большинство современных процессоров имеют три уровня кэша: первый, второй и третий. Сначала процессор проверит наличие необходимых команд в кэше первого уровня — самом маленьком и быстром из всех. Зачастую этот кэш разделен на две части: первая отведена под данные, а вторая — под команды. Помните, команды извлекаются процессором из памяти так же, как и любые другие данные.

Типичный кэш первого уровня может состоять из нескольких сотен килобайт. Если процессор не найдет в нем то, что нужно, то перейдет к проверке кэша второго уровня (размером в несколько мегабайт), а затем — третьего (уже занимающего десятки мегабайт). В случае, если необходимых данных не будет и в кэше третьего уровня, то поиск будет производиться в оперативной памяти, а затем в накопителях. С каждым подобным «шагом», увеличивается не только объем доступных данных, но и задержка.

После того, как процессор нашел необходимые данные, он отправляет их вверх по иерархии памяти для сокращения время поиска, на случай, если они понадобятся в дальнейшем. Для справки: процессор может считывать данные во внутреннем регистре всего за один-два цикла, в кэше первого уровня понадобится немногим больше, в кэше второго уровня уже около десяти, а третьего — несколько десятков циклов. Если приходится задействовать память или накопители, то процессору может понадобятся десятки тысяч, а то и миллионы циклов. В зависимости от системы, у каждого ядра процессора может быть собственный кэш первого уровня, общий с другим ядром кэш второго уровня и кэш третьего уровня у группы из четырех или более ядер. Более подробно речь о многоядерных процессорах пойдет позже.

Команды перехода и ветвления

Последняя из трех основных типов команд — это команда ветвления. Команды современных программ постоянно переходят с одного потока процессов на другой, а это значит, что процессор крайне редко выполняет более дюжины смежных команд без перехода. Команды ветвления происходят от элементов программирования, таких как код IF, FOR и RETURN. Все они используются для прерывания выполнения программы или переключения на другую часть кода. Кроме команд ветвления существуют и команды перехода, которые отличаются от первых тем, что они всегда участвуют в процессе выполнения программы.

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

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

Самой простой аналогией будет процесс стирки. Предположим, что у вас достаточно вещей на две полные загрузки стиральной машины, а стирка и сушка каждой партии занимает по часу. Вы вполне можете загрузить в стиральную машину первую партию вещей, а потом переместить на сушилку, а когда они высохнут — заняться второй партией. Это займет четыре часа. Однако, если вы разделите процесс на этапы и начнете стирку второй партии вещей, пока сушится первая, вы сможете выполнить всю работу за три часа. Сокращение времени зависит от количества загружаемых вещей и количества стиральных/сушильных машин. Для выполнения отдельной загрузки в любом случае понадобится два часа, но в приведенном примере накладывание процессов увеличивает общую пропускную способность с 0,5 загрузки/час до 0,75 загрузки в час.

Графическое представление конвейера, используемого в ядрах процессоров AMD Bobcat (2011). Обратите внимание, как много в нем различных элементов и стадий.

Процессоры используют тот же принцип для повышения пропускной способности команд. Конвейеры современных процессоров на архитектуре ARM или x86 могут использовать свыше 20 стадий вычислительного конвейера, а это значит, что ядро процессора одновременно обрабатывает свыше 20 различных команд. Процессоры могут отличаться по разделению этих стадий под различные нужды, но в одном из примеров, принцип работы которого находится в открытом доступе, имеется 4 цикла для выборки, 6 циклов для декодирования, 3 цикла для выполнения команд и 7 циклов для отправки результатов в память.

Возвращаясь к теме, теперь вы можете понять в чем проблема. Если процессор не определил тип команды до десятого цикла, то он начнет работу уже над 9 новыми командами, которые могут оказаться ненужными, если ветка команд уже не работает. Чтобы этого не происходило, процессоры оборудованы сложным механизмом, который называется модулем предсказателем переходов. По принципу работы этот механизм схож с машинным обучением. Детальное описание работы модуля предсказателя переходов — это тема для отдельной статьи, поэтому придется обойтись довольно простым объяснением: данный механизм отслеживает статус предыдущих переходов, чтобы определить, будет ли задействован следующий переход или нет. Современные предсказатели переходов могут обеспечить точность в 95% и выше.

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

Внеочередное исполнение

Теперь, когда вы знаете принцип работы трех наиболее распространенных типов команд, давайте уделим внимание более продвинутыми функциям процессоров. Практически все современные модели ЦП фактически исполняют команды не в порядке их получения. Существует такая функция, как внеочередное исполнение, призванная сократить время простоя процессора во время ожидания завершения остальных команд.

Если процессор понимает, что следующей команде необходимы данные, для поиска которых понадобится больше времени, он может изменить порядок команд, начав работу над не связанной командой, пока происходит поиск. Внеочередное исполнение команд — необычайно полезная, но далеко не единственная вспомогательная функция процессора.

Еще одной крайне полезной особенностью процессора является предвыборка. Если засечь время, необходимое для выполнения случайной инструкции от начала и до конца, то можно обнаружить, что большую часть времени занимает доступ к памяти. Блок предварительной выборки — элемент в ЦП, который рассматривает команды, находящиеся в очереди, и определяет, какие данные им потребуются. Если он замечает, что для операции нужны данные, которые еще не находятся в кэше процессора, то он извлечет их из оперативной памяти и в кэш. Отсюда и его название.

Ускорители и будущее процессоров

Еще одна важная функция, которая все чаще появляется в процессорах — ускорители для конкретных задач. Эти ускорители представляют собой небольшие схемы, главная цель которых — как можно быстрее выполнить определенную задачу. Этой задачей может быть шифрование, кодирование данных или машинное обучение.

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

На первом рисунке снизу изображено устройство процессора Intel, выпущенного более десяти лет назад, где большая часть занята ядрами и кешем, а на втором показан гораздо более современный чип от AMD. Как мы видим, во втором случае большая часть кристалла отведена не под ядра, а под другие компоненты.

Кристалл процессора Intel первого поколения архитектуры Nehalem. Обратите внимание: ядра и кэш занимают подавляющее часть площади.

Кристалл системы на чипе от AMD. Много места отведено под ускорители и внешние интерфейсы.

Многоядерность

Последняя особенность процессоров, которая будет рассмотрена в этой статье — то, как можно объединить несколько отдельных процессоров для получения многоядерного. Это не просто объединение нескольких копий одного ядра, ведь как нельзя просто превратить однопоточную программу в многопоточную, так нельзя и провернуть подобное с процессором. Проблема возникает из-за зависимости ядер.

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

Чрезвычайно важную роль в многоядерных процессорах играет и точность прогнозирования переходов. Чем больше в процессоре ядер, тем выше вероятность того, что одной из исполняемых команд будет именно команда перехода, способная в любое время изменить общий поток задач.

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

Физическая оболочка процессора

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

Для того, чтобы синхронизировать работу всех компонентов процессора, используется тактовый сигнал. Современные процессоры обычно работают на частотах от 3.0 ГГц до 5.0 ГГц, и за последнее десятилетие ситуация особо не изменилась. При каждом цикле внутри чипа включаются и выключаются миллиарды транзисторов.

Такты важны для того, чтобы обеспечить идеальную работу каждой стадии вычислительного конвейера. Количество команд, обрабатываемых процессором за каждую секунду, зависит именно от них. Частоту можно увеличить путем разгона, сделав чип быстрее, но это в свою очередь повысит энергопотребление и тепловыделение.

Фото: Michael Dziedzic

Тепловыделение — главный враг процессоров. Когда цифровая электроника нагревается, может начаться разрушение микроскопических транзисторов. Это в свою очередь может привести к повреждению чипа, если тепло не отвести. Чтобы этого не произошло, каждый процессор оборудован термораспределителями. Сам кристалл может занимать всего 20% площади процессора, ведь увеличение площади позволяет более равномерно распределять тепло по радиатору. Кроме того, дополнительно увеличивается количество имеющихся ножек процессора (контактов), предназначенных для взаимодействия с другими компонентами компьютера.

На современных процессорах может располагаться свыше тысячи входных и выходных контактов на задней панели. Мобильный чип может быть оснащен всего несколькими сотнями, поскольку большинство вычислительных элементов расположены уже внутри чипа. Независимо от дизайна, около половины из них предназначены для распределения питания, а остальные — для передачи данных с оперативной памяти, чипсета, накопителей, устройств PCIe и др. Высокопроизводительным процессорам, потребляющим сто и более ампер при полной нагрузке, нужны сотни ножек для равномерного распределения тока. Обычно они покрываются золотом для улучшения проводимости. Стоит отметить, что разные производители располагают ножки по-разному во всей своей многочисленной продукции.

Подытожим на примере

Чтобы подвести итоги, кратко рассмотрим архитектуру процессора Intel Core 2. Это было еще в 2006 году, поэтому некоторые детали могут быть устаревшими, но информации о новых разработках отсутствуют в публичном доступе.

На самом верху располагается кэш команд и буфер ассоциативной трансляции. Буфер помогает процессору определить, где в памяти располагаются необходимые команды. Эти инструкции хранятся в кэше команд первого уровня, а после этого отправляются в предекодер, так как из-за сложностей архитектуры x86 декодирование происходит во множество этапов. Сразу же за ними идет предсказатель переходов и предвыборщик кода, которые снижают вероятность возникновения потенциальных проблем со следующими командами.

Далее команды отправляются в очередь команд. Вспомните, как внеочередное исполнение позволяет процессору выбрать именно ту команду, которую практичнее всего выполнить в конкретный момент из очереди текущих инструкций. После того, как процессор определил нужную команду, та декодируется во множество микроопераций. В то время как команда может содержать сложную для ЦП задачу, микрооперации представляют собой детализированные задачи, которые процессору легче интерпретировать.

Затем эти инструкции попадают в таблицу псевдонимов регистров, переупорядочивающий буфер и станцию резервации. Подробно расписать их принцип работы в одном абзаце, увы, не получится, так как это — информация, которую обычно подают на последних курсах технических вузов. Если в двух словах, то все они используются в процессе внеочередного исполнения для управления зависимостями между командами.

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

Пусть эта статья и не предназначалась для того, чтобы служить исчерпывающим руководством по тому, как работает каждый из процессоров, она должна дать вам базовое представление об их внутренней работе и сложности. К сожалению, о том, как действительно работают современные процессоры, знают лишь работники Intel и AMD, поэтому информация, описанная в этой статье — лишь вершина айсберга, ведь каждый пункт, описанный в тексте — это результат огромного количества исследований и разработок.

Другие материалы по теме

Если вам хочется узнать больше о том, как создаются различные компоненты, описанные в этом тексте, то настоятельно советуем обратить внимание на вторую часть серии статей «Как разрабатываются и создаются процессоры?». Если же вы больше заинтересованы в том, как производятся физические оболочки процессоров, то вам стоит ознакомиться с третьей статьей той же серии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *