Принцип работы современного процессора

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

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

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

Устройство центрального процессора

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

  • Исполнительные устройства - осуществляют основные вычисления.
  • Устройства управления - организуют получение и обработку данных и команд исполнительными устройствами в правильной последовательности.
  • Регистры (быстрые ячейки памяти) - хранят промежуточные результаты.
  • Шина данных – передают нужную информацию между процессором и прочими комплектующими.
  • Кэш процессора – хранит часто используемые данные для ускорения доступа процессора к ним. Кэш представляет из себя ячейки быстрой памяти, расположенные на кристалле процессора.
  • Дополнительные вычислительные модули - отвечают за выполнение специальных задач (обработка видео, редактирование 3D-графики).

Параметры процессора, влияющие на производительность

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

В процессоре есть три составляющих, производительность которых непосредственно зависит от разрядности:

  • Шина данных
  • Внутренние регистры
  • Шина адреса памяти

Шина данных

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

Шина адреса памяти

Шина адреса памяти - набор проводников, передающих адреса ячеек памяти, в которые записывается или из которых считывается информация.

Чем больше проводников в шине адреса, тем больше ячеек оперативной памяти доступно центральному процессору.

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

Внутренние регистры

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

Тактовая частота

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

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

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

Является ли тактовая частота решающим параметром при выборе процессора? Нет. Более высокая тактовая частота будет весомым бонусом только при прочих равных параметрах процессора. В некоторых случаях процессоры с более низкой тактовой частотой превосходили своих «быстрых» оппонентов как в быстродействии, так и в общей производительности.

В последние 10-12 лет очень большое распространение получило такое явление, как «оверклокинг» - повышение быстродействия компонентов компьютера за счёт использования их форсированных режимах работы. В русском языке больше прижился термин «разгон». Итак, как разгоняют процессор? Самое простое – увеличить тактовую частоту. Для этого на тактовый резонатор подается большее напряжение, количество колебаний в кварцевом кристалле увеличивается, соответственно, увеличивается и количество импульсов в единицу времени, передаваемых тактовым генератором. Для такого разгона есть несколько ограничений:

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

Почему процессоры перегреваются и как это предотвратить

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

При выборе системы охлаждение одним из важнейших параметров является значение TDP (Total Dissipated Power, общая рассеиваемая мощность).

Существует достаточно много способов снижения энергопотребления. Вот некоторые из них:

  • Отключение модулей, понижение тактовой частоты, понижение рабочего напряжения при снижении нагрузки на процессор (для процессоров Intel - технология SpeedStep, для процессоров AMD – технология Cool&Quiet).
  • Применение в производстве новых, прогрессивных материалов.
  • Применение процессоров, работающих с пониженным напряжением питания (Low Voltage, Ultra Low Voltage). Потребляемая мощность изменяется пропорционально напряжению.

Способы повышения производительности процессоров

  • Ускорение системной шины. Чем быстрее процессор получает данные и команды от запоминающих устройств ПК, тем меньше времени он тратит на ожидание, а значит и на выполнение программ.
  • Быстрая многоуровневая кэш-память. Процессоры сохраняют промежуточные результаты вычислений во встроенной кэш-памяти (cache memory). Ее тактовая частота равна частоте самого процессора, поэтому она гораздо быстрее системной памяти. Большинство современных процессоров имеют кэш-память первого (Level 1, L1), второго (Level 2, L2) и третьего (Level 3, L3) уровней. Кэш-память первого уровня относительно мала (несколько сот килобайт). Кэши второго и третьего уровня больше (до нескольких мегабайт) и медленнее кэш-памяти первого уровня, но все равно работают с более высокой скоростью, чем системная оперативная память. Данные, поступающие из кэша, обеспечивают максимальную загруженность процессора, избавляя его от необходимости ожидания отклика от системной памяти.
  • Конвейерная обработка, т.е. последовательное прохождение команд через различные компоненты ЦП. Преимущество такого метода обработки данных в том, что при наличии конвейера процессор занимается не одной командой в каждый момент времени, а несколькими.
     В конвейерной обработке используются алгоритмы предварительной выборки команд и данных. При загрузке команды блок предвыборки (prefetch) пытается предугадать, какие команды и данные потребуются дальше. Таким образом, конвейер загружается быстрее, поскольку не тратится время на ожидание результатов выполнения предыдущих команд.
  • Распараллеливание вычислений с помощью нескольких физических вычисли-тельных ядер. Современные многоядерные процессоры имитируют присутствие в системе двух, четырех и более отдельных процессоров. Если исполняемая про-грамма имеет функцию распараллеливания вычислений, разделяя их на несколько потоков (Threads), эти вычисления могут быть выполнены одновременно.
  • Поддержка алгоритмов обработки данных мультимедиа, работающих по принципу SIMD (Simple Instruction - Multiple Data, то есть одна команда - множество данных). Процессоры, поддерживающие подобные технологии, быстрее обрабатывают большие объемы данных, требующих многократного исполнения одинаковых команд. У процессоров Intel - технологии MMX и SSE, у процессоров AMD - 3DNow!

Алгоритм работы современного процессора

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

  • Запрос команды из памяти. Блок выборки пытается найти подходящую команду последовательно сначала в кэш-памяти первого уровня (L1), второго уровня (если команды нет в кэше L1), третьего уровня (если команды нет в кэш памяти L1 и L2). Если команды нет в кэше процессора, команда загружается из системной памяти через шину данных, последовательно проходя кэш всех трех уровней. По этому же алгоритму запрашиваются данные для выполнения этой команды.
  • Из блока выборки команда передается в декодер. В декодере команда разбивается на несколько микроопераций такого размера, что их можно выполнить за 1 такт работы исполнительных устройств. Последовательность микроопераций помещается в кэш. Блок предвыборки анализирует последовательность микроопераций, чтобы определить, какие команды понадобятся далее.
  • Планировщик выбирает из кэша-памяти блок микроопераций и формирует последовательность их выполнения. Команды, выполнение которых не зависят от выполнения других команд, исполняются параллельно на различных исполнительных устройствах: ALU (arithmetic-logic unit, арифметико-логическое устройство) для целых чисел, FPU (floating point unit, модуль операций с плавающей точкой), ALU для команд SSE и т.д. На данном этапе возможны ошибки предвыборки (например, неправильно выбранная следующая команда или неверно подобранные адреса данных в памяти), что влечет за собой очистку конвейера и переход к шагу 1 нашей схемы.
  • Проверяется корректность исполнения команды, результат помещается в кэш-память и предается по шине данных в системную память.

Принцип работы процессора Принцип работы процессора Принцип работы процессора Принцип работы процессора

Компьютерный портал "Компаньон" © 2016.
В случае перепечатки материалов обязательна прямая ссылка на сайт cs-companion.ru.