Статьи • 1 мая 2020 • Sannio
Центральный процессор часто называют «мозгом» компьютера, ведь он, как и человеческий мозг, состоит из нескольких частей, собранных воедино для работы над информацией. Среди них есть те, что отвечают за прием информации, ее хранение, обработку и вывод. В этой статье портал TechSpot разбирает все ключевые элементы процессора, за счет которых и работают ваши компьютеры.
Этот текст входит в серию статей, в которых тщательно разбирается работа ключевых компонентов компьютера. Кроме того, если вы заинтересовались темой, рекомендуем ознакомиться с переводами статей серии «Как разрабатываются и создаются процессоры?».
В этой статье будут затронуты как основы работы процессоров, так и более сложные понятия. К сожалению, без некоторой абстрактности не обойтись, но на это есть свои причины. К примеру, если взглянуть на блок питания, можно легко рассмотреть все его части — от конденсаторов до транзисторов, однако в случае с процессорами все не так просто, ведь мы физически не можем разглядеть все микросхемы, а Intel и AMD не спешат делиться подробностями работы своей продукции с широкой публикой. Тем не менее, информация, представленная в статье, применима к подавляющему большинству современных процессоров.
Итак, приступим. Любому вычислительному устройству нужно нечто наподобие центрального процессора. По сути, программист пишет код для выполнения собственных целей, а затем процессор выполняет его для получения необходимого результата. Процессор также подключен к другим частям системы, вроде памяти и устройств ввода/вывода, чтобы обеспечить загрузку необходимых данных, но в этой статье мы не будем акцентировать на них внимание.
Фундамент любого процессора: архитектура набора команд
Первое, на что натыкаешься при разборе любого процессора — это на архитектуру набора команд (ISA). Архитектура является чем-то вроде фундамента работы процессора и именно от нее зависит то, как он работает и как все внутренние системы взаимодействуют друг с другом. Существует огромное количество архитектур, но самыми распространенными являются x86 (преимущественно в стационарных компьютерах и ноутбуках) и ARM (в мобильных устройствах и встроенных системах).
Чуть менее распространенными и более нишевыми являются MIPS, RISC-V и PowerPC. Архитектура набора отвечает за ряд основных вещей: какие инструкции процессор может обрабатывать, как он взаимодействует с памятью и кэшем, как задача распределяется по нескольким этапам обработки и др.
Чтобы лучше понять устройство процессора, разберем его элементы в том порядке, по которому выполняются команды. Различные типы инструкций могут следовать разными путями и использовать разные компоненты ЦП, поэтому здесь они будут обобщены, чтобы охватить максимум. Начнем с базового дизайна одноядерных процессоров и постепенно будем переходить к более продвинутым и сложным экземплярам.
Энергопотребление и тепловыделение
Само энергопотребление на прямую зависит от технологии, по которым производятся процессоры. Меньшие размеры и повышенные частоты прямо пропорционально обуславливают энергопотребление и тепловыделение.
Для понижения энергопотребления и тепловыделения выступает энергосберегающаяавтоматическая система регулировки нагрузки на процессор, соответственно при отсутствии в производительности какой-либо необходимости. Высокопроизводительные компьютеры в обязательном порядке имеют хорошую системы охлаждения процессора.
Подводя итоги материала статьи — ответа на вопрос, что такое процессор:
Процессоры наших дней имеют возможность многоканальной работы с оперативной памятью, появляются новые инструкции, в свою очередь благодаря которым повышается его функциональный уровень. Возможность обработки графики самим процессором обеспечивает понижение стоимости, как на сами процессоры, так и благодаря им на офисные и домашние сборки компьютеров. Появляются виртуальные ядра для более практичного распределения производительности, развиваются технологи, а вместе с ними компьютер и такая его составляющая как центральный процессор.
- Назад
- Вперёд
Комментарии
-2 Евгений 26.03.2016 11:03
как устроен сам процессор, а именно камень,какие его внутрености
Ответить Ответить с цитатой Цитировать
Обновить список комментариев
Добавить комментарий
Что такое звуковая карта и для чего она нужна?
Что такое SSD? Твердотельный накопитель
Что такое процессор, центральный процессор, CPU?
Что такое материнская плата или системная плата и для чего она нужна?
Что такое HDD, жёсткий диск и винчестер
Что такое оперативная память и оперативное запоминающее устройство
Блок управления и исполнительный тракт
Элементы процессора можно разделить на два основных: блок управления (он же — управляющий автомат) и исполнительный тракт (он же — операционный автомат). Говоря простым языком, процессор — это поезд, в котором машинист (управляющий автомат) управляет различными элементами двигателя (операционного автомата).
Исполнительный тракт подобен двигателю и, как следует из названия, это путь, по которому данные передаются при их обработке. Он получает входные данные, обрабатывает их и отправляет в нужное место после завершения операции. Блок управления, в свою очередь, направляет этот поток данных. В зависимости от инструкции, исполнительный тракт будет направлять сигналы к различным компонентам процессора, включать и выключать различные части пути, а также отслеживать состояние всего процессора.
Блок-схема работы базового процессора. Черными линиями отображен поток данных, а красными — поток команд.
Цикл выполнения команд — Выборка
Первое, что должен сделать процессор — определить, какие команды необходимо выполнить следующими, а затем переместить их из памяти в блок управления. Команды создаются компилятором и зависят от архитектуры набора (ISA). Наиболее распространенные типы базовых инструкций (например, «загрузка», «хранение», «сложение», «вычитание» и др.) общие для всех ISA, но существует множество дополнительных, специальных типов команд, уникальных для конкретной архитектуры набора. Блок управления знает, какие сигналы и куда нужно направить для выполнения определенного типа команды.
К примеру, при запуске .exe файла в Windows, код этой программы отправляется в память и процессор получает адрес, с которого начинается первая команда. Процессор всегда поддерживает внутренний реестр, отслеживающий откуда должна будет выполняться следующая команда. Этот реестр называется счетчиком команд.
После того, как процессор определил точку, с которой нужно начинать цикл, происходит перемещение команды из памяти в вышеупомянутый реестр — этот процесс называется выборкой команды. По-хорошему, команда, скорее всего, уже находится в кэше процессора, но этот вопрос будет рассмотрен чуть позже.
Проблемы с ПО
Наиболее вероятной причиной, почему ЦП загружен на 100%, становится фоновая работа программ. Достаточно часто можно встретить ситуацию, когда ресурсоемкое приложение, с которым работал пользователь, не полностью выгружается из памяти. В какой-то мере это можно считать разновидностью «зависания». Отличие заключается в том, что «зависшая» программа не позволяет закрыть свое «окно» и не реагирует на команды. В данном случае — «окно» закрывается, но процесс остается в оперативной памяти. Компьютер считает такую программу работающей и продолжает выделять для нее вычислительные ресурсы. В результате процессор грузится на 100 процентов при визуальном отсутствии запущенных задач.
Диспетчер задач Windows 7
Итак, давайте посмотрим, что делать в Windows 7, столкнувшись с такой проблемой. Microsoft дает нам в руки полноценный инструмент управления процессами ОС. Чтобы им воспользоваться, достаточно вызвать контекстное меню на панели задач.
Выбираем отмеченный на скриншоте пункт, чтобы запустить диспетчер.
Открываем пункт «Вид» в верхнем меню и переходим к отмеченной позиции.
Чтобы быстро вычислить «виновника», отмечаем галочками указанные пункты. Теперь наш диспетчер готов к применению. Параметры окна запоминаются, поэтому в следующий раз дополнительных настроек не потребуется.
Включаем сортировку по колонке «ЦП», в которой отображается процент загрузки. «Виновника» видно сразу. В данном случае это программа архивации, которая потребляет половину системных ресурсов. Выбираете процесс и нажимаете обведенную на скриншоте кнопку, чтобы принудительно завершить его деятельность.
Цикл выполнения команд — Декодирование
Когда процессор получает команду, ему нужно точно определить тип этой команды. Данный процесс называется декодированием. Каждая команда обладает особым набором битов, опкодом, который дает возможность процессору распознать ее тип. Примерно по тому же принципу работает распознавание компьютером различных расширений файлов. К примеру, .jpg и .png — форматы изображений, но каждый из них обрабатывает данные по-разному, поэтому компьютеру и нужно точно распознавать их тип.
Стоит отметить, что сложность декодирования может зависеть от того, насколько продвинутой является архитектура набора команд процессора. У архитектуры RISC-V, к примеру, несколько десятков команд, а у x86 — несколько тысяч. У типичного процессора Intel x86 процесс декодирования является одним из сложнейших и занимает огромное количество памяти. Чаще всего процессоры декодируют команды, связанные с памятью, арифметическими вычислениями и переходом.
Арифметико-логическое устройство
Вернемся к этапу выполнения команд. Сразу отметим, что он отличается для всех трех вышеупомянутых типов команд, поэтому давайте рассмотрим каждый их них.
Самыми простыми для понимания являются арифметические команды. Эти команды отправляются в арифметическо-логическое устройство (ALU) для последующей обработки. Устройство представляет собой цепь, которая чаще всего работает с двумя значениями, отмеченными сигналом, и выдает результат.
Представьте себе обычный калькулятор. Для любого вычисления вы вводите значения, выбираете необходимую арифметическую операцию и получаете результат. Арифметическо-логическое устройство (ALU) работает по похожему принципу. Тип операции зависит от опкода команды, который управляющий автомат отправляет в ALU и которое в дополнение к базовой арифметике может производить со значениями такие битовые операции, как AND, OR, NOT и XOR. Кроме того, арифметическо-логическое устройство выводит информацию о проведенном вычислении для управляющего автомата (например, оказалось ли оно положительным, отрицательным, равным нулю или вызвало переполнение).
Несмотря на то, что арифметическо-логическое устройство чаще всего связано именно с арифметическими операциями, оно находит свое применение и в инструкциях памяти или перехода. Например, если процессору нужно вычислить адрес памяти, заданный в результате прошлого вычисления, либо в случае необходимости вычислить переход для добавления в счетчик программ, если инструкция того требует (пример: «если предыдущий результат отрицателен, перейти на 20 команд вперед»).
Как узнать процессор, используемый в компьютере
Вам может потребоваться узнать, какой процессор стоит в компьютере, чтобы определить возможность установки какой-нибудь сложной программы или игры. Так же эта информация нужна при апгрейде компьютера. Можно получить эти сведения несколькими способами.
Самый простой и быстрый способ это выяснить щелкнуть правой кнопкой мыши на иконке «Компьютер» расположенной на рабочем столе и выбрать пункт «Свойства». Среди прочего будет указан производитель, модель и тактовая частота процессора. Более подробную информацию включающую остальные характеристики процессора такие как ядро, техпроцесс, сокет, степпинг, кэш и так далее можно узнать с помощью специальных программ. Рекомендуем воспользоваться простой и удобной программой CPU-Z показывающей множество полезной информации о вашей системе. Данные о центральном процессоре собраны на вкладке CPU.
Команды и иерархия памяти
Чтобы лучше понять принцип работы команд, связанных с памятью, стоит обратить внимание на концепцию иерархии памяти — связь между кэшем, оперативной памятью и главным запоминающим устройством. Когда процессор работает с командой памяти, данных о которой у него еще нет в регистре, он будет продвигаться по иерархии памяти, пока не найдет нужную информацию. Большинство современных процессоров имеют три уровня кэша: первый, второй и третий. Сначала процессор проверит наличие необходимых команд в кэше первого уровня — самом маленьком и быстром из всех. Зачастую этот кэш разделен на две части: первая отведена под данные, а вторая — под команды. Помните, команды извлекаются процессором из памяти так же, как и любые другие данные.
Типичный кэш первого уровня может состоять из нескольких сотен килобайт. Если процессор не найдет в нем то, что нужно, то перейдет к проверке кэша второго уровня (размером в несколько мегабайт), а затем — третьего (уже занимающего десятки мегабайт). В случае, если необходимых данных не будет и в кэше третьего уровня, то поиск будет производиться в оперативной памяти, а затем в накопителях. С каждым подобным «шагом», увеличивается не только объем доступных данных, но и задержка.
После того, как процессор нашел необходимые данные, он отправляет их вверх по иерархии памяти для сокращения время поиска, на случай, если они понадобятся в дальнейшем. Для справки: процессор может считывать данные во внутреннем регистре всего за один-два цикла, в кэше первого уровня понадобится немногим больше, в кэше второго уровня уже около десяти, а третьего — несколько десятков циклов. Если приходится задействовать память или накопители, то процессору может понадобятся десятки тысяч, а то и миллионы циклов. В зависимости от системы, у каждого ядра процессора может быть собственный кэш первого уровня, общий с другим ядром кэш второго уровня и кэш третьего уровня у группы из четырех или более ядер. Более подробно речь о многоядерных процессорах пойдет позже.
Основные понятия процессора в информатике
Что такое потоки в процессоре
Поток выполнения в ЦП – это наименьшая единица обработки, которая назначается ядром, необходимая для разделения кода и контекста исполняемого процесса. Одномоментно может существовать несколько процессов, которые одновременно используют ресурсы ЦП. Существует оригинальная разработка компании Intel, которая стала применяться в моделях, начиная с процессора Intel Core i3, которая именуется HyperThreading. Это технология деления физического ядра на два логических. Таким образом, операционная система создаёт дополнительные вычислительные мощности и увеличивает поточность. Получается, что только показатель количества ядер не будет решающим, поскольку в некоторых случаях компьютеры, имеющие 4 ядра, проигрывают по быстродействию тем, которые имеют всего 2.
Что такое техпроцесс в процессоре
Под техпроцессом в информатике понимается размер транзисторов, применяемых в ядре компьютера. Процесс изготовления ЦП происходит по методу фотолитографии, когда из покрытого диэлектрической плёнкой кристалла под действие света вытравливаются транзисторы. Используемое оптическое оборудование имеет такой показатель, как разрешающая способность. Это и будет технологическим процессом. Чем она выше, тем большее количество транзисторов можно уместить на одном кристалле.
Снижению размеров кристалла способствует:
- снижение тепловыделения и энергопотребления;
- производительность, поскольку при сохранении физического размера кристалла удаётся поместить на нём большее количество рабочих элементов.
Единицей измерения техпроцесса является нанометр (10-9). Большинство современных процессоров изготавливается по 22 нм технологическому процессу.
Техпроцесс – это увеличение количества рабочих элементов процессора при сохранении его размеров
Что такое виртуализация процессора
Основа метода заключается в разделении ЦП на гостевую и мониторную часть. Если требуется переключение с основной на гостевую ОС, тогда процессор автоматически осуществляет эту операцию, сохраняя видимыми только те значения регистра, которые требуются для стабильной работы. Поскольку гостевая операционная система взаимодействует напрямую с процессором, то работа виртуальной машины будет значительно быстрее.
Включение виртуализации возможно в настройках BIOS. Большая часть материнских плат и процессоров от AMD не поддерживает технологию создания виртуальной машины аппаратными методами. Тут на помощь пользователю приходят программные способы.
Что такое регистры процессора
Регистр процессора – это специальный набор цифровых электрических схем, которые относятся к сверхбыстрой памяти, необходимой ЦП для хранения результатов промежуточных операций. Каждый процессор содержит великое множество регистров, большая часть которых недоступна программисту и зарезервирована для исполнения основных функций ядра. Существуют регистры общего и специального назначения. Первая группа доступна для обращения, вторая используется самим процессором. Поскольку скорость взаимодействия с регистрами ЦП выше, чем обращение в оперативной памяти, они активно применяются программистами для написания программных продуктов.
Команды перехода и ветвления
Последняя из трех основных типов команд — это команда ветвления. Команды современных программ постоянно переходят с одного потока процессов на другой, а это значит, что процессор крайне редко выполняет более дюжины смежных команд без перехода. Команды ветвления происходят от элементов программирования, таких как код 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. Много места отведено под ускорители и внешние интерфейсы.
Виды процессоров
Существует два основных широко распространенных производителя процессоров: AMD и Intel. Они выпускают самые востребованные, доступные и производительные модели. Их мы можем увидеть практически на каждом компьютере или игровой приставке, например, на том же PlayStation или Xbox.
Все плюсы и минусы могут меняться, т.к. каждый год выходят новые модели, которые кардинально отличаются друг от друга. Но эти моменты, свойственны практически всем моделям этих производителей.
Intel — плюсы и минусы
- Низкое энергопотребление и температура работы
- Хорошая производительность в ПО для обработки графики и видео
- Не такие зависимые от оперативной памяти
- Лучше показывают себя в многозадачности
- Цена довольно высокая по сравнению с АМД
- Графический чип, если он есть, не такой производительный, как у конкурента
- Работа с архивами не такая быстрая, как хотелось бы
- Разгон не такой вариативный
AMD — плюсы и минусы
- Высокая производительность в играх
- Многие модели довольно «горячие», но не все
- Адекватная цена
- Отличная скорость работы с разными программами и архивами
- Графический чип, если он есть — показывает хорошие результаты
- Хорошие возможности разгона
- Зависимые от ОЗУ
Многоядерность
Последняя особенность процессоров, которая будет рассмотрена в этой статье — то, как можно объединить несколько отдельных процессоров для получения многоядерного. Это не просто объединение нескольких копий одного ядра, ведь как нельзя просто превратить однопоточную программу в многопоточную, так нельзя и провернуть подобное с процессором. Проблема возникает из-за зависимости ядер.
В случае с четырьмя ядрами процессору необходимо отправлять команды в 4 раза быстрее. Также нужно четыре раздельных интерфейса для памяти. Именно из-за наличия нескольких ядер на одном чипе, потенциально работающих с одними и теми же частями данных, возникает проблема слаженности и согласованности их работы. Предположим, если два ядра обрабатывали команду, использующую одни и те же данные, то как процессор определяет, у которого из них правильное значение? А что, если одно ядро модифицировало данные, но они не успели вовремя дойти до второго ядра? Поскольку у них есть отдельные кэши, в которых могут храниться пересекающиеся данные, для устранения возможных конфликтов необходимо использовать сложные алгоритмы и контроллеры.
Чрезвычайно важную роль в многоядерных процессорах играет и точность прогнозирования переходов. Чем больше в процессоре ядер, тем выше вероятность того, что одной из исполняемых команд будет именно команда перехода, способная в любое время изменить общий поток задач.
Как правило, отдельные ядра обрабатывают команды из разных потоков, тем самым снижая зависимость между ядрами. Поэтому, открыв диспетчер задач, вы чаще всего видите, что загружено лишь одно ядро процессора, а другие едва работают — многие программы попросту изначально не предназначены для многопоточности. Кроме того, могут быть определенные случаи, в которых эффективнее использовать только одно ядро процессора, а не тратить ресурсы на попытки разделить команды.
Физическая оболочка процессора
Несмотря на то, что большая часть этой статьи была посвящена сложным механизмам работы архитектуры процессора, не стоит забывать и о том, что все это должно быть создано и работать в виде реального, физического объекта.
Для того, чтобы синхронизировать работу всех компонентов процессора, используется тактовый сигнал. Современные процессоры обычно работают на частотах от 3.0 ГГц до 5.0 ГГц, и за последнее десятилетие ситуация особо не изменилась. При каждом цикле внутри чипа включаются и выключаются миллиарды транзисторов.
Такты важны для того, чтобы обеспечить идеальную работу каждой стадии вычислительного конвейера. Количество команд, обрабатываемых процессором за каждую секунду, зависит именно от них. Частоту можно увеличить путем разгона, сделав чип быстрее, но это в свою очередь повысит энергопотребление и тепловыделение.
Фото: Michael Dziedzic
Тепловыделение — главный враг процессоров. Когда цифровая электроника нагревается, может начаться разрушение микроскопических транзисторов. Это в свою очередь может привести к повреждению чипа, если тепло не отвести. Чтобы этого не произошло, каждый процессор оборудован термораспределителями. Сам кристалл может занимать всего 20% площади процессора, ведь увеличение площади позволяет более равномерно распределять тепло по радиатору. Кроме того, дополнительно увеличивается количество имеющихся ножек процессора (контактов), предназначенных для взаимодействия с другими компонентами компьютера.
На современных процессорах может располагаться свыше тысячи входных и выходных контактов на задней панели. Мобильный чип может быть оснащен всего несколькими сотнями, поскольку большинство вычислительных элементов расположены уже внутри чипа. Независимо от дизайна, около половины из них предназначены для распределения питания, а остальные — для передачи данных с оперативной памяти, чипсета, накопителей, устройств PCIe и др. Высокопроизводительным процессорам, потребляющим сто и более ампер при полной нагрузке, нужны сотни ножек для равномерного распределения тока. Обычно они покрываются золотом для улучшения проводимости. Стоит отметить, что разные производители располагают ножки по-разному во всей своей многочисленной продукции.
Что такое скальпирование процессора
Скальпирование процессора – это процедура снятия крышки для замены термопасты. Проведение данной процедуры является одной из составных частей разгона или может потребоваться для снижения нагрузки на аппаратную часть ЦП.
Сама процедура заключается в:
- снятии крышки;
- удалении старой термопасты;
- очистке кристалла;
- нанесении нового слоя термопасты;
- закрытии крышки.
При проведении процедуры следует учитывать тот факт, что одно неверное движение может привести к выходу процессора из строя. Поэтому лучше доверить это мероприятие профессионалам. Если решение провести скальпирование в домашних условиях принято окончательно, то можно посоветовать приобрести специальный прибор в виде зажима для ЦП, что облегчит снятие крышки без повреждения кристалла.
Подытожим на примере
Чтобы подвести итоги, кратко рассмотрим архитектуру процессора Intel Core 2. Это было еще в 2006 году, поэтому некоторые детали могут быть устаревшими, но информации о новых разработках отсутствуют в публичном доступе.
На самом верху располагается кэш команд и буфер ассоциативной трансляции. Буфер помогает процессору определить, где в памяти располагаются необходимые команды. Эти инструкции хранятся в кэше команд первого уровня, а после этого отправляются в предекодер, так как из-за сложностей архитектуры x86 декодирование происходит во множество этапов. Сразу же за ними идет предсказатель переходов и предвыборщик кода, которые снижают вероятность возникновения потенциальных проблем со следующими командами.
Далее команды отправляются в очередь команд. Вспомните, как внеочередное исполнение позволяет процессору выбрать именно ту команду, которую практичнее всего выполнить в конкретный момент из очереди текущих инструкций. После того, как процессор определил нужную команду, та декодируется во множество микроопераций. В то время как команда может содержать сложную для ЦП задачу, микрооперации представляют собой детализированные задачи, которые процессору легче интерпретировать.
Затем эти инструкции попадают в таблицу псевдонимов регистров, переупорядочивающий буфер и станцию резервации. Подробно расписать их принцип работы в одном абзаце, увы, не получится, так как это — информация, которую обычно подают на последних курсах технических вузов. Если в двух словах, то все они используются в процессе внеочередного исполнения для управления зависимостями между командами.
На самом деле, у каждого ядра процессора множество арифметическо-логических устройств и портов памяти. Команды отправляются в станцию резервации, пока не освободится устройство или порт. Затем команда обрабатывается с помощью кэша данных первого уровня, а полученный результат сохраняется для дальнейшего использования, после чего процессор может приступать к следующей задаче. На этом все!
Пусть эта статья и не предназначалась для того, чтобы служить исчерпывающим руководством по тому, как работает каждый из процессоров, она должна дать вам базовое представление об их внутренней работе и сложности. К сожалению, о том, как действительно работают современные процессоры, знают лишь работники Intel и AMD, поэтому информация, описанная в этой статье — лишь вершина айсберга, ведь каждый пункт, описанный в тексте — это результат огромного количества исследований и разработок.
Из чего состоит процессор
Чтобы представить, как работает ЦПУ, нужно понимать, из каких частей он состоит. Основными составляющими процессора являются:
- Верхняя крышка, которая представляет собой металлическую пластину, выполняющую функции защиты внутреннего содержимого и теплоотведения.
- Кристалл. Это самая важная часть CPU. Кристалл изготавливается из кремния и содержит на себе большое количество мельчайших микросхем.
- Подложка из текстолита, которая служит контактной площадкой. На ней крепятся все детали ЦП и располагаются контакты, через которые происходит взаимодействие со всей остальной системой.
При креплении верхней крышки применяется клей-герметик, способный выдерживать воздействие высоких температур, а для устранения зазора внутри собранного процессора используется термопаста. После застывания она образует своеобразный «мостик», который требуется для обеспечения оттока тепла от кристалла.
Что такое ядро процессора
Если сам центральный процессор можно назвать «мозгом» компьютера, то ядро считается основной деталью самого ЦП. Ядро – это набор микросхем, расположенных на площадке из кремния, размер которой не превышает квадратного сантиметра. Совокупность микроскопических логических элементов, посредством которых реализована принципиальная схема работы, носит название архитектуры.
Немного технических подробностей: в современных процессорах крепление ядра к платформе чипа осуществляется с помощью системы «флип-чип», такие стыки обеспечивают максимальную плотность соединения.
Каждое ядро состоит из определённого количества функциональных блоков:
- блок работы с прерываниями, который необходим для быстрого переключения между задачами;
- блок выработки инструкций, отвечающий за получение и направление команд для последующей обработки;
- блок декодирования, который нужен для обработки поступающих команд и определения действия, необходимых для этого;
- управляющий блок, который занимается передачей обработанных инструкций на прочие функциональные части и координацией нагрузки;
- последними являются блоки выполнения и сохранения.
Что такое сокет процессора
Термин socket переводится с английского языка как «гнездо» или «разъём». Для персонального компьютера данный термин одновременно относится непосредственно к материнской плате и процессору. Сокет – это место крепления ЦП. Они различаются между собой такими характеристиками, как размер, количество и тип контактов, особенностями монтажа охлаждения.
Два крупнейших производителя процессоров – Intel и AMD − ведут давнюю маркетинговую войну, предлагая каждый свой собственный сокет, подходящий только под CPU своего производства. Цифра в маркировке конкретного сокета, например, LGA 775, обозначает количество контактов или контактных ножек. Также в технологическом плане сокеты могут различаться между собой:
- присутствием дополнительных контроллеров;
- возможностью технологии поддержи графического ядра процессора;
- производительностью.
Сокет также может оказывать влияние на следующие параметры работы компьютера:
- вид поддерживаемой ОЗУ;
- частоту работы шины FSB;
- косвенно, на версию PCI-e и разъём SATA.
Создание специального гнезда для крепления центрального процессора требуется, чтобы пользователь мог совершать апргрейд системы и менять ЦПУ в случае его выхода из строя.
Сокет процессор – это гнездо для его установки на материнской плате
Графическое ядро в процессоре: что это такое
Одной из деталей ЦП, кроме непосредственно основного ядра, может быть графический процессор. Что это такое, и для чего требуется применение подобного компонента? Сразу следует отметить, что встраивание графического ядра не является обязательным и присутствует не в каждом процессоре. Это устройство требуется для исполнения основных функций CPU в виде решения вычислительных задач, а также поддержку графики.
Причинами, по которым производители используют технологии объединения двух функций в одном ядре, являются:
- сокращение энергопотребления, поскольку меньшие по размеру устройства требуют меньше питания и затрат на охлаждение;
- компактность;
- снижение стоимости.
Применение интегрированной или встроенной графики чаще всего наблюдается в ноутбуках или недорогих ПК, предназначенных для офисной работы, где нет завышенных требований к графике.