Как работает процессор

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

Алгоритм работы центрального процессора компьютера можно представить как последовательность следующих действий.
— Блок управления процессором берет из оперативной памяти, в которую загружена программа, определенные значения (данные) и команды которые необходимо выполнить (инструкции). Эти данные загружаются в кэш-память процессора.
— Из буферной памяти процессора (кэша) инструкции и полученные данные записываются в регистры. Инструкции помещаются в регистры команд, а значения в регистры данных.
— Арифметико-логическое устройство считывает инструкции и данные из соответствующих регистров процессора и выполняет эти команды над полученными числами.
— Результаты снова записываются в регистры и если вычисления закончены в буферную память процессора. Регистров у процессора совсем немного, поэтому он вынужден хранить промежуточные результаты в кэш-памяти различного уровня.
— Новые данные и команды, необходимые для расчетов, загружаются в кеш верхнего уровня (из третьего во второй, из второго в первый), а неиспользуемые данные наоборот в кэш нижнего уровня.
— Если цикл вычислений закончен, результат записывается в оперативную память компьютера для высвобождения места в буферной памяти процессора для новых вычислений. То же самой происходит при переполнении данными кэш-памяти: неиспользуемые данные перемещаются в кеш нижнего уровня или в оперативную память.
Последовательность этих операций образует операционный поток процессора. Во время работы процессор сильно нагревается. Чтобы этого не происходило нужно своевременно делать чистку ноутбука на дому.
Чтобы ускорить работу центрального процессора и увеличить производительность вычислений, постоянно разрабатывают новые архитектурные решения, увеличивающие КПД процессора. Среди них конвейерное выполнение операций, трассировка, то есть попытка предвидеть дальнейшие действия программы, параллельная отработка команд (инструкций), многопоточность а также многоядерность.
Многоядерный процессор имеет несколько вычислительных ядер, то есть несколько арифметико-логических блоков, блоков вычислений с плавающей точкой и регистров, а также кэш первого уровня, объединенных каждый в свое ядро. Ядра имеют общую буферную память второго и третьего уровня. Появление кэш-памяти третьего уровня как раз и было вызвано многоядерностью и соответственно потребностью в большем объеме быстрой буферной памяти для хранения промежуточных результатов вычислений.
Основными показателями, влияющими на скорость обработки данных процессором является число вычислительных ядер, длина конвейера, тактовая частота и объем кэш памяти. Чтобы увеличить производительность компьютера часто требуется сменить именно процессор, а это влечет и замену материнской платы и оперативной памяти. Выполнить апгрейд, настройку и ремонт компьютера на дому в Москве помогут специалисты нашего сервисного центра, если вас пугает процесс самостоятельной сборки и модернизации компьютера.
Как работает процессор: объясняем простыми словами

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


Что на самом деле делает процессор?
Процессор, иначе называемый ЦП или CPU (Central Processing Unit), — основа любого оборудования, без которого ничего не работает. CPU обрабатывает процессы на двоичном машинном языке: проще говоря, «0» означает «нет», а «1» — «да». Любая команда отправляется процессору в комбинации из двух чисел 0 и 1. ЦП обрабатывает их одну за другой, по очереди.
Помимо рабочих команд, процессор также реагирует на непредвиденные события. Они отправляются ему с помощью прерываний (Interrupts). CPU прерывает свою сиюминутную работу, сохраняет значения и сначала обрабатывает непредвиденное событие. После этого он снова продолжает работу над первоначальной командой.
Как работает процессор
Процессор обрабатывает команды в четыре этапа, описанные Джоном фон Нейманом еще в 1945 году: Fetch, Decode, Fetch Operands и Execute.
- Fetch: сначала из регистра командной строки в оперативной памяти считывается адрес следующей команды и загружается в накопитель команд.
- Decode: декодер команд расшифровывает команду и активирует все схемы, необходимые для ее выполнения.
- Fetch Operands: теперь все значения и параметры команды загружаются в регистры, которые необходимо изменить. Процессор находит эти значения на жестком диске, в кэш-памяти или оперативной памяти.
- Execute: процесс выполняется. Это может быть, например, управление периферийным устройством, таким как принтер, или вычислительная операция в устройстве обработки информации. После завершения Execute цикл может начаться снова, то есть процессор приступает к обработке следующей команды.
Читайте также:
- Как работает шагомер в телефоне и фитнес-браслете=«content_internal_link»>
- Как работает активное шумоподавление в наушниках=«content_internal_link»>
Как работает процессор и что важно знать?
Разбираемся в том, как работают процессоры Intel, какие фишки в них есть и каким образом они построены. Как всегда — доступно и понятно!
aka_opex 30 июня 2020 в 03:54
Процессор — сердце любого компьютера. Мы знаем, как он выглядит снаружи. Но интересно же — как он выглядит изнутри?

Процессор состоит из миллиардов транзисторов сопоставимых по размеру с молекулой ДНК. Действительно размер молекулы ДНК составляет 10 нм. И это не какая-то фантастика! Каждый день процессоры помогают нам решать повседневные задачи. Но вы когда-нибудь задумывались, как они это делают? И как вообще люди заставили кусок кремния производить за них вычисления?
Сегодня мы разберем базовые элементы процессора и на практике проверим за что они отвечают. В этом нам поможет красавец-ноутбук — Acer Swift 7 с процессором Intel на борту.
Ядро процессора
Модель нашего процессора i7-1065G7. Он четырёхядерный и ядра очень хорошо видны на фотографии.

Каждое ядро процессора содержит в себе все необходимые элементы для вычислений. Чем больше ядер, тем больше параллельных вычислений процессор может выполнять. Это полезно для многозадачности и некоторых ресурсоемких задач типа 3D-рендеринга.
Например, для теста мы одновременно запустили четыре 4К-видео. Нагрузка на ядра рспределяется более менее равномерно: мы загрузили процессор на 68%. В итоге больше всего пришлось переживать за то хватит ли Интернет-канала. Современные процессоры отлично справляются с многозадачностью.
Почему это важно? Чтобы ответить на этот вопрос, давайте разберемся — как же работает ядро?
По своей сути ядро — это огромный конвейер по преобразованию данных. На входе загружаем одно, на выходе получаем другое. В его основе лежат транзисторы. Это миниатюрные переключатели, которые могут быть в всего в двух состояниях: пропускать ток или нет. Эти состояния компьютер интерпретирует как нули и единицы, поэтому все данные в компьютере хранятся в двоичном коде.
Можно сказать, что компоненты внутри компьютера общаются между собой при помощи подобия Азбуки Морзе, которая тоже является примером двоичного кода. Только компьютер отстукивает нам не точки и тире, а нолики и единички. Казалось бы, вот есть какой-то переключатель, и что с ним можно сделать? Оказывается очень многое!
Если по хитрому соединить несколько транзисторов между собой, то можно создать логические вентили. Это такие аналоговые эквиваленты функции “если то”, ну как в Excel. Если на входе по обоим проводам течет ток, то на выходе тоже будет течь или не будет или наоборот, вариантов не так уж и много — всего семь штук.

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

Поэтому ядро процессора состоит из множества очень сложных блоков, каждый из которых может сделать с вашими данными что-то своё.
Прям как большой многостаночный завод, мы загружаем в него сырье — наши данные. Потом всё распределяем по станкам и на выходе получаем результат.
Но как процессор поймёт, что именно нужно делать с данными? Для этого помимо данных, мы должны загрузить инструкции. Это такие команды, которые говорят процессору:
- это надо сложить,
- это перемножить,
- это просто куда-нибудь отправить.
Инструкций очень много и для каждого типа процессора они свои. Например, в мобильных процессорах используется более простой сокращённый набор инструкций RISC — reduced instruction set computer.
А в ПК инструкции посложнее: CISC — complex instruction set computer.
Поэтому программы с мобильников не запускаются на компах и наоборот, процессоры просто не понимают их команд. Но чтобы получить от процессора результат недостаточно сказать — вот тебе данные, делай то-то. Нужно в первую очередь сказать, откуда брать эти данные и куда их, собственно, потом отдавать. Поэтому помимо данных и инструкций в процессор загружаются адреса.
Память
Для выполнения команды ядру нужно минимум два адреса: откуда взять исходные данные и куда их положить.
Всю необходимую информацию, то есть данные, инструкции и адреса процессор берёт из оперативной памяти. Оперативка очень быстрая, но современные процессоры быстрее. Поэтому чтобы сократить простои, внутри процессора всегда есть кэш память. На фото кэш — это зелёные блоки. Как правило ставят кэш трёх уровней, и в редких случаях четырёх.

Самая быстрая память — это кэш первого уровня, обозначается как L1 cache. Обычно он всего несколько десятков килобайт. Дальше идёт L2 кэш он уже может быть 0,5-1 мб. А кэш третьего уровня может достигать размера в несколько мегабайт.

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

Думаю тут всё понятно, погнали дальше.
Тактовая частота
Если бы данные в процессор поступали хаотично, можно было бы легко запутаться. Поэтому в каждом процессоре есть свой дирижёр, который называется тактовый генератор. Он подает электрические импульсы с определенной частотой, которая называется тактовой частотой. Как вы понимаете, чем выше тактовая частота, тем быстрее работает процессор.
Занимательный факт. По-английски, тактовая частота — это clock speed. Это можно сказать буквальный термин. В компьютерах установлен реальный кристалл кварца, который вибрирует с определенной частотой. Прямо как в наручных кварцевых часах кристалл отсчитывает секунды, так и в компьютерах кристалл отсчитывает такты.
Обычно частота кристалла где-то в районе 100 МГц, но современные процессоры работают существенно быстрее, поэтому сигнал проходит через специальные множители. И так получается итоговая частота.
Современные процессоры умеют варьировать частоту в зависимости от сложности задачи. Например, если мы ничего не делаем и наш процессор работает на частоте 1,3 ГГц — это называется базовой частотой. Но, к примеру, если архивируем папку и мы видим как частота сразу увеличивается. Процессор переходит в турбо-режим, и может разогнаться аж до 3,9 ГГц. Такой подход позволяет экономить энергию, когда процессор простаивает и лишний раз не нагреваться.
А еще благодаря технологии Intel Hyper-threading, каждое ядро делится на два логических и мы получаем 8 независимых потоков данных, которые одновременно может обрабатывать компьютер.

Что прикольно, в новых процессорах Intel скорость частот регулирует нейросеть. Это позволяет дольше держать турбо-частоты при том же энергопотреблении.
Вычислительный конвейер
Так как ядро процессора — это конвейер, все операции через стандартные этапы. Их всего четыре штуки и они очень простые. По-английски называются: Fetch, Decode, Execute, Write-back.
- Fetch — получение
- Decode — раскодирование
- Execute — выполнение
- Write-back — запись результата

Сначала задача загружается, потом раскодируется, потом выполняется и, наконец, куда-то записывается результат.
Чем больше инструкций можно будет загрузить в конвейер и чем меньше он будет простаивать, тем в итоге будет быстрее работать компьютер.
Предсказатель переходов
Чтобы конвейер не переставал работать, инженеры придумали массу всяких хитростей. Например, такую штуку как предсказатель переходов. Это специальный алгоритм, который не дожидаясь пока в процессор поступит следующая инструкция её предугадать. То есть это такой маленький встроенный оракул. Вы только дали какую-то задачу, а она уже сделана.
Такой механизм позволяет многократно ускорить систему в массе сценариев. Но и цена ошибки велика, поэтому инженеры постоянно оптимизируют этот алгоритм.
Микроархитектура
Все компоненты ядра, как там всё организовано, всё это называется микроархитектурой. Чем грамотнее спроектирована микроархитектура, тем эффективнее работает конвейер. И тем больше инструкций за такт может выполнить процессор. Этот показатель называется IPC — Instruction per Cycle.
А это значит, если два процессора будут работать на одинаковой тактовой частоте, победит тот процессор, у которого выше IPC.
В процессорах Ice Lake, Intel использует новую архитектуру впервые с 2015 года. Она называется Sunny Cove.

Показатель IPC в новой архитектуре аж на 18% на выше чем в предыдущей. Это большой скачок. Поэтому при выборе процессора обращаете внимание, на поколение.


Система на чипе
Естественно, современные процессоры — это не только центральный процессор. Это целые системы на чипе с множеством различных модулей.
ГП

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

В десятом поколении графика бывает нескольких типов от G1 до G7. Это указывается в названии процессора.

А исполнительных блоков бывает от 32 до 64. В прошлом поколении самая производительная графика была всего с 24 блоками.
Также для графики очень важна скорость оперативки. Поэтому в новые Intel завезли поддержку скоростной памяти DDR4 с частотой 3200 и LPDDR4 с частотой 3733 МГц.
У нас на обзоре ноутбук как раз с самой топовой графикой G7. Поэтому, давайте проверим на что она способна! Мы проверили его в играх: CS:GO, Dota 2 и Doom Eternal.
Что удобно — Intel сделали портал gameplay.intel.com, где по модели процессора можно найти оптимальные настройки для большинства игр.
В целом, в Full HD разрешении можно комфортно играть в большинство игр прямо на встроенной графике.

Thunderbolt
Но есть в этом процессоре и вишенка на торте — это интерфейс Thunderbolt. Контроллер интерфейса расположен прямо на основном кристалле, вот тут.

Такое решение позволяет не только экономить место на материнской плате, но и существенно сократить задержки. Проверим это на практике.

Подключим через Thunderbolt внешнюю видеокарту и монитор. И запустим те же игры. Теперь у нас уровень производительности ноутбука сопоставим с мощным игровым ПК.

Но на этом приколюхи с Thunderbolt не заканчиваются. К примеру, мы можем подключить SSD-диск к монитору. И всего лишь при помощи одного разъёма на ноуте мы получаем мощный комп для игр, монтажа и вообще любых ресурсоемких задач.
Мы запустили тест Crystalmark. Результаты вы видите сами.
Но преимущества Thunderbolt на этом не заканчиваются. Через этот интерфейс мы можем подключить eGPU, монитор, и тот же SSD и всё это через один кабель, подключенный к компу.

Надеюсь, мы помогли вам лучше разобраться в том, как работает процессор и за что отвечают его компоненты.
Объясните ребенку: как работает процессор?

Главный элемент любого компьютера, ноутбука, смартфона и прочих электронных устройств — это процессор. Это мозг, благодаря которому цифровые камеры делают снимки, плееры играют музыку, аниматоры создают новые «Аватары» и «Игры престолов». Как устроен этот мозг? И как он справляется со всеми этими задачами? В сегодняшней статье мы постараемся разобраться с этими вопросами.
Мы максимально упростим объяснение, чтобы избавить вас от лишних деталей и донести суть технологий. И мы даже не будем пытаться объяснить, что именно происходит в процессоре, когда вы кликаете по виртуальной кнопке в компьютерной игре. Если задуматься, сегодняшние системы управления ракетами, смартфоны и еще миллионы разнообразных программ и устройств сегодня существуют как раз потому, что программистам не приходится задумываться о механике вычислительных процессов. Достаточно того, что все работает, как надо, а почему и как — неважно.
От программ к микроэлектронике
Это стало возможным благодаря так называемой абстракции. Программисты работают с виртуальными объектами — это высший уровень абстракции, который лежит на максимальном удалении от мира машин и ближе всего к миру человеческому. Чуть ниже располагается уровень операционной системы, где понятные человеку объекты преобразуются в компьютерные процессы. Вы двигаете мышью — операционная система задействует свои механизмы, которые отвечают за отслеживание курсора и контроль кликов.
Если спуститься еще ниже, вы будете иметь дело с аппаратной составляющей — оперативной памятью, видеокартой, тем же процессором. Это компьютерные шестеренки, чье вращение распределяет ресурсы, которые в свою очередь питают операционную систему, а та в свою очередь обеспечивает работу приложений. Здесь виртуальные процессы переходят в техническую плоскость. Если капнуть на материнскую плату кислотой, она повредит какие-то определенные чипы, и в компьютере начнет сбоить функция, за которую отвечают пораженные элементы. Когда вы приходите к компьютерному мастеру и жалуетесь, что у вас зависает какая-то программа, он может представить, какие у этой проблемы могут быть материальные причины — отследить ее корни по уровням абстракции.
Внутреннее устройство процессора
Внутри каждого процессора есть два основных блока: блок контроля (управляющее устройство, УУ) и блок логики (арифметически-логическое устройство, АЛУ). Сейчас мы не будем погружаться в детали их работы, главное, что нужно понимать — при выполнении компьютерных программ команды поступают в блок контроля, который разбирается с инструкциями, обращается к разным элементам компьютера за необходимыми данными и передает их на обработку в блок логики.
Блок логики умеет проводить операции с числами. Результат своей работы он возвращает в блок контроля, который распоряжается ими дальше, в соответствии с условиями программы, которую он выполняет. Такое разделение обязанностей позволяет процессору эффективно распоряжаться временем — один блок руководит процессами, работает с памятью и прочими функциональными элементами компьютера, второй решает математические задачи.
В принципе, такая схема применяется в любой командной работе. Всегда есть руководитель, который занимается организационными вопросами, общается с внешним миром, добывая необходимые ресурсы и данные, и есть специалисты, которые работают с этими ресурсами и данными, добиваясь поставленных целей.
Рабочий цикл центрального процессора
Все рабочие операции внутри процессора организованы в повторяющийся цикл: получить инструкцию из памяти, прочитать и понять команду, выполнить ее. Этот бесконечный цикл раз за разом повторяется, пока включен ваш компьютер. За его контроль отвечает специальный счетчик, который физически встроен в микросхему — этот элемент, как дирижер, отсчитывает такты, позволяя процессору четко выполнять нужную работу.
Именно отсюда взялось понятие тактовой частоты, которое обозначает, сколько раз за одну секунду этот дирижер взмахнет своей палочкой. Первый взмах — процессор получает инструкцию. Второй взмах — читает и понимает команду. Третий взмах — выполняет ее. Если в вашем компьютере или смартфоне стоит процессор с тактовой частотой в 2 Гигагерца (смешная цифра по нынешним временам), каждую секунду в нем происходит два миллиарда взмахов. Такая фантастическая скорость операций позволяет современным компьютерам показывать сверхчеткое видео с чистейшим звуком, отрисовывать трехмерные пространства в играх и выполнять множество других операций, для которых мы и покупаем компьютеры.
Несмотря на всю широту возможностей, набор инструкций, с которыми работает процессор, довольно небольшой. Он может прочитать или записать данные в указанную ячейку памяти, провести с ними какие-то операции, запомнить полученный результат, сравнить его с каким-то числом и предпринять то или иное действие в зависимости от того, что окажется больше. Вся магия происходит потому, что эти операции можно проводить бесконечно и очень быстро, выполняя условия алгоритмов, которые пишут программисты.
На таких, в общем-то несложных принципах и работает мозг вашего компьютера, на практике доказывая древнюю мудрость: терпение и труд все перетрут.