Как устроен процессор компьютера: Как работает процессор: объясняем простыми словами

Содержание

Как работает процессор: объясняем простыми словами

Что на самом деле делает процессор?

Процессор, иначе называемый ЦП или CPU (Central Processing Unit), — основа любого оборудования, без которого ничего не работает. CPU обрабатывает процессы на двоичном машинном языке: проще говоря, «0» означает «нет», а «1» — «да». Любая команда отправляется процессору в комбинации из двух чисел 0 и 1. ЦП обрабатывает их одну за другой, по очереди.

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

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

Процессор обрабатывает команды в четыре этапа, описанные Джоном фон Нейманом еще в 1945 году: Fetch, Decode, Fetch Operands и Execute.

  1. Fetch: сначала из регистра командной строки в оперативной памяти считывается адрес следующей команды и загружается в накопитель команд.
  2. Decode: декодер команд расшифровывает команду и активирует все схемы, необходимые для ее выполнения.
  3. Fetch Operands: теперь все значения и параметры команды загружаются в регистры, которые необходимо изменить. Процессор находит эти значения на жестком диске, в кэш-памяти или оперативной памяти.
  4. Execute: процесс выполняется. Это может быть, например, управление периферийным устройством, таким как принтер, или вычислительная операция в устройстве обработки информации. После завершения Execute цикл может начаться снова, то есть процессор приступает к обработке следующей команды.

Читайте также:

Как работает процессор и что важно знать?

Процессор — сердце любого компьютера. Мы знаем, как он выглядит снаружи. Но интересно же — как он выглядит изнутри?

Intel® Core™ i7-1065G7, Ice Lake (10-е поколение), техпроцесс — 10 нм

Процессор состоит из миллиардов транзисторов сопоставимых по размеру с молекулой ДНК. Действительно размер молекулы ДНК составляет 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.

  1. Fetch — получение
  2. Decode — раскодирование
  3. Execute — выполнение
  4. 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 и всё это через один кабель, подключенный к компу.

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

Post Views: 6 186

железо — Как работает процессор на уровне Физики?

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

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

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

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

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

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

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

Есть даже схемы, которые умеют хранить значение, так называемые защелки выполняющие роль памяти (RS-триггер).

Как видите никакой магии, ну почти — на одном процессоре таких транзисторов умещается миллиарды… нет, не так — МИЛЛИАРДЫ! Это огромнейшее количество различных схем различной сложности и различного направления на паре квадратных сантиметров. Расчетом их упаковки на процессор как правило занимаются специальные программы, человеку это не под силу и создаются они с помощью высокоточной электроники. Сложно представимый научный прогресс в маленькой коробочке рядом с вами. В общем как-то так.

интерактивный урок для начинающих / Хабр

Simple CPU

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

Урок состоит из 8 интерактивных примеров.

1. Бинарное счисление.

2. Логические операции на примере штриха Шеффера (NAND gate).


Штрих Шеффера (NAND gate)

3. Триггер. Демонстрирует, как хранится информация в компьютере. Верхний переключатель изменяет значение бита, а нижний включает/отключает хранение.


D-триггер (триггер задержки)

Восемь триггеров сохраняют 1 байт информации.

4. Логические операции AND, OR, XOR. Щёлкая мышкой по входящим значениям, можно наглядно посмотреть, как они работают.

Что делать с числами, которые мы храним в памяти?

5. На схеме показано устройство под названием сумматор, которое складывает два бита. Если нужно сложить несколько бит, то последовательно используется несколько сумматоров: вход одного (carry in) подключается к выходу другого (carry out).

Опять же, это интерактивная схема.

Далее, как из калькулятора сделать компьютер?

6. Программирование.

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

Инструкция Код
«Добавить одно число к другому»    00000001
«Вычесть одно число из другого»    00000010

У каждого байта в памяти есть свой адрес, так что мы можем обратиться к CPU и попросить сделать что-то с конкретным байтом. Например, если нужно обратиться к ячейке памяти № 5, то мы указываем её адрес 00000101.

Таким образом, команда «Сложить число в ячейке памяти № 5 с числом в ячейке памяти № 7 транслируется в машинный код:

00000001 00000101 00000111
(сложить)(адрес № 5)(адрес № 7)

7. Набор инструкций CPU.

8. Эмулятор CPU.

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

Simple CPU на Github

Об авторе

P.S. Интересно, что проект

родился на форумах Reddit

, а его автор — только что закончивший школу пользователь

r00nk

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

Как работает процессор: коротко о главном

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

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

Два основных компонента процессора: блок управления — CU, арифметико-логический блок — ALU

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

Арифметико-логический блок ALU, как следует из названия, выполняет все арифметические и логические вычисления. ALU выполняет операции, такие как сложение, вычитание и т.д.

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

Регистры

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

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

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

Оперативная память (RAM)

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

Инструкции

Инструкция — это детальное вычисление уровня, которое может выполнить компьютер. Существуют различные типы команд, которые процессор может обрабатывать.

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

Эти инструкции встроены в процессор. ALU содержит арифметическое и логическое значение, в котором поток управления управляется CU. 

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

Тактовая частота процессора

Тактовый цикл

Скорость компьютера определяется его тактовым циклом. Это количество тактов в секунду, на котором работает компьютер. Одиночные такты очень малы, около 250 * 10 * -12 сек. Чем выше такт, тем быстрее процессор.

Цикл тактовой частоты процессора измеряется в ГГц (гигагерц). 1 ГГц равен 10 Гц (герц). Герц означает секунду. Таким образом, 1 гигагерц означает 10 циклов в секунду.

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

Clock cycle = 1/clock rate

CPU Time = number of clock cycle / clock rate

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

Как выполняется инструкция

Инструкции хранятся в оперативной памяти в последовательном порядке. Для гипотетического CPU инструкция состоит из кода OP (операционного кода) и адреса памяти или регистра .

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

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

ШАГ 1 — LOAD_A 8

Инструкция изначально сохраняется в оперативной памяти, скажем, <1100 1000>. Первые 4 бита — это код операции. Это определяет инструкцию. Эта инструкция извлекается в IR блока управления. Команда декодируется как load_A, что означает, что она должна загрузить данные в адрес 1000, который является последним 4-битным битом инструкции для регистрации A.

ШАГ 2 — LOAD_B 2

Как и выше, это загружает данные с адреса памяти 2 (0010) в регистр ЦП В.

ШАГ 3  - ADD  ВА

Теперь следующая инструкция — добавить эти два числа. Здесь CU говорит ALU выполнить операцию добавления и сохранить результат обратно в регистр A.

ШАГ 4 — STORE_A 23

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

BUS (шина)

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

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

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

Современный ЦП использует конвейеризацию команд для распараллеливания при выполнении команд Fetch, Decode, Execute. Когда одна инструкция находится в фазе декодирования, CPU может обработать другую инструкцию для фазы выборки.

Производительность процессора определяется его временем выполнения.

Performance = 1/execution time

скажем, для выполнения программы требуется 20 мс. Производительность процессора составляет 1/20 = 0,05 мс

Relative performance = execution time 1/ execution time 2

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

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

Что такое cpu в вашем компьютере? :: SYL.ru


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

Долгое время, а если быть точнее, то вплоть до 90 х годов производительность компьютера определял именно процессор. Процессор определял всё, но сегодня это не совсем так.

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

Что такое CPU

CPU расшифровка

— это аббревиатура центрального процессора компьютера (Central Processing Unit).
Что такое CPU в компьютере?
Это мозг компьютера, в котором происходит большинство вычислений. А компьютер в переводе означает «вычислитель».

Блок управления (CU) является составной частью центрального процессора компьютера (CPU) и руководит его работой. Он сообщает памяти компьютера, арифметическому, т.е. логическому, устройству, а также устройствам ввода и вывода, как реагировать на инструкции программ.

Отдельный вопрос: графическое ядро в процессоре что это такое? Если совсем просто – то это встроенная в центральный процессор видеокарта.

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


Из чего состоит CPU

Центральный процессор состоит из 3-х частей:

  • Ядро процессора

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

  • Арифметико-логическое устройство (АЛУ)
    . Выполняет основные математические и логические операции. Все вычисления производятся в двоичной системе.
  • Устройство управления (УУ)
    . Управляет работой CPU с помощью электрических сигналов. От него зависит согласованность работы всех частей процессора и его связь с внешними устройствами.

Каждое ядро может выполнять только одну задачу, хоть и за долю секунды. Одноядерный процессор выполняет каждую задачу последовательно. Для современного объёма операций этого мало, поэтому ценятся CPU с более чем одним ядром, чтобы выполнять несколько задач одновременно. Например, двухъядерный выполняет две задачи одновременно, трехъядерный ― три и т. д.

  • Запоминающее устройство
    . Это небольшая внутренняя память центрального процессора. Она состоит из
    регистров
    и
    кеш-памяти
    . В регистрах хранятся текущие команды, данные, промежуточные результаты операции. В кеш-память загружаются часто используемые команды и данные из оперативной памяти. Обратиться в кеш быстрее, чем в оперативную память, поэтому объём кеш-памяти влияет на скорость выполнения запросов.
  • Шины
    ― это каналы, по которым передаётся информация. Они как рельсы для перевозки данных.

Главной характеристикой процессора является производительность. Она зависит от двух параметров: тактовая частота

и
разрядность
.

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

― число выполненных операций в секунду. Измеряется в мегагерцах (МГц — миллион тактов в секунду ) и гигагерцах (ГГц — миллиард тактов в секунду). Чем больше тактовая частота, тем быстрее работает машина.

Разрядность

― количество информации (байт), которое можно передать за такт. Разрядность процессора бывает 8, 16, 32, 64 бита. Современные процессоры 32-х и 64-битные.

Что такое GPU

На вопрос «gpu что это

» ответ таков – это графический процессор, т.е. программируемый логический чип, предназначенный для функций отображения на экране. GPU создает изображения, анимацию и видео на мониторе. Графические процессоры (гпу) расположены на сменных платах, в чипсете на материнской плате или в той же микросхеме, что и процессор. Итак, GPU это видеокарта или процессор? Ответ Вы уже знаете – это процессор!

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

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

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

Интегрированный графический процессор представляет собой просто графический чипсет, встроенный в материнскую плату. Теперь становится понятно, чем отличается видеокарта от процессора GPU.

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

Кеш-память процессора

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

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

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

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

Кеш-память в нынешних процессорах имеет пирамидальный вид:

  1. Кеш-память 1-го уровня – самая наименьшая по объёму, но в тоже время самая быстрая по скорости, входит в состав кристалла процессора. Производится по тем же технологиям, что и регистры процессора, очень дорогая, но это стоит её скорости и надёжности. Хоть и измеряется сотнями килобайт, что очень мало, но играет огромную роль в быстродействие.
  2. Кеш-память 2-го уровня – так же, как и 1-го уровня расположена на кристалле процессора и работает с частотой его ядра. В современных процессорах измеряется от сотен килобайт до нескольких мегабайт.
  3. Кеш-память 3-го уровня медленнее предыдущих уровней этого вида памяти, но является быстродейственней оперативной памяти, что немаловажно, а измеряется десятками мегабайт.

Размеры кеш-память 1-го и 2-го уровней влияют как на производительность, так и на стоимость процессора. Третий уровень кеш-памяти — это своеобразный бонус в работе компьютера, но не один из производителей микропроцессоров им пренебрегать не спешит. Кеш-память 4-го уровня существует и оправдывает себя лиши в многопроцессорных системах, именно поэтому на обыкновенно компьютере его найти не удастся.

Майнинг bitcoin

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

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

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

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

Использование микропроцессоров

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

Так и в персональном компьютере, да и всей компьютерной системе центральный процессор не является единственным. Видеоплата является ярким представителем устройства имеющего свой собственный микрочип процессора GPU (Graphics Processing Unit) – графический процессор.

Такое устройство как МФУ также имеет управляющий микрочип. Отличие таких устройств в том, что они занимаются управлением определённой функции, это является одним из их отличий от центрального процессора.

Майнинг Ethereum

Добыча криптовалюты является чрезвычайно динамичной отраслью, с ее постоянными обновлениями оборудования и программного обеспечения. Всё труднее рассчитать доходность и принципиальную возможность добычи криптомонет. Ethereum – не исключение, хотя эта криптовалюта появилась после биткоинов. Но работает эта блокчейн-система по тем же принципам, что и биткоин. Однако, биткоин – самодостаточный «первенец», ресурсы которого уже на 2/3 освоены, причем первыми майнерами. А Ethereum – это не только одноименная криптовалюта. В первую очередь – это открытая для всех программная платформа для разработки новых криптовалют. Хотя сама криптомонета Ethereum, как и биткоин, служит хорошим инвестиционным активом, но для добычи уже мало перспективна.

Пример: Intel Core i3 vs. i5 vs. i7

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

Как вы уже подозреваете по названиям, процессоры Intel Core i7 работают быстрее, чем i5, которые, в свою очередь, работают быстрее процессоров i3. Вопрос, почему одни процессоры лучше или хуже других немного сложнее, но все-таки имеет довольно понятное объяснение.

Процессоры Intel Core i3 – двухъядерные, а i5 и i7 имеют по четыре ядра.

Turbo Boost – функция процессоров i5 и i7, позволяющая им поднимать свою частоту выше номинальной, например, с 3.0 ГГц до 3.5 ГГц, когда это необходимо. У процессоров Intel Core i3 такой возможности нет. Процессоры, в названии которых последняя буква – «K» можно разгонять, то есть повышать их частоту и использовать ее все время работы.

Технология Hyper-Threading, как уже говорилось ранее, позволяет обрабатывать два потока в каждом ядре процессора. Это означает, что процессоры i3 с технологией Hyper-Threading могут обрабатывать лишь четыре потока одновременно (так как у них два ядра). Процессоры Intel Core i5 не поддерживают технологию Hyper-Threading, поэтому они могут одновременно работать с четырьмя потоками. Процессоры i7, однако, поддерживают эту технологию, и поэтому (так как они четырёхъядерные) могут одновременно обрабатывать 8 потоков.

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

Майнинг других криптовалют

Начинающим крипто-претендентам следует взяться за какую-то из самых простых и новых монет, чтобы реально их добыть. В 2019-м году это:

  • Monero,
  • Aeon,
  • DogeCoin,
  • Vertcoin,
  • ByteCoin,
  • Steem,
  • Electroneum…

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

Виды графических процессоров

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

Часто спрашивают: GPU — это видеокарта?

Нет, видеокарта — это отдельное оборудование, в то время как GPU — чип, лишь часть видеокарты. Видеокарта — это аппаратная часть, которая выводит картинку на монитор. Чип – это микросхема, обеспечивающая работу видеокарты.

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

Геометрические блоки

В графических процессорах 2 вида геометрических блоков:

  1. Пиксельные,
  2. Текстурные.

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

До появления DirectX 11 мало кто вообще знал, что DirectX – это программная среда (т.е. набор инструментов) для разработки компьютерных игр. В 2015-м появился DirectX 12. Чем выше тесселяция, т.е. дробление плоскости экрана на части для тщательного заполнения их графической информацией, тем выше реализм игры.

Т.е., чтобы с головой погрузиться в атмосферу таких продвинутых игр, как Metro 2033 и т.п., нужно учитывать число геометрических блоков при подборе GPU.

Характеристики

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

  • Форм-фактор. Определяет некоторые конструктивные особенности процессора, а также материнскую плату, на которую он может быть установлен.
  • Частота шины. Для обмена данными между ЦПУ и другими составляющими персонального компьютера служит специальная шина FSB. За один такт по ней передаётся несколько пакетов данных. Таким образом, если указана частота в 800 МГц, это скорее всего означает, что процессор работает на частоте шины в 200 МГц, но за один такт передаёт 4 пакета данных.
  • Напряжение. Различные процессоры требуют различное напряжение питания. Посредством увеличения напряжения можно разогнать процессор до более высокой производительности, однако и шанс перегреть его и сжечь тоже намного повысится.
  • Кэш-память. Поскольку ЦП работает намного быстрее, чем оперативнаяя память, для ускорения обмена между ними и был создан кэш. Существует несколько уровней кэш-памяти. Кэш первого уровня работает быстрее остальных, но его размер минимален и составляет порядка 8-138 КБ. Кэш второго уровня имеет повышенный объём, достигающий 6 МБ, однако и время доступа к нему меньше. В редких случаях встречаются процессоры с кэшем третьего уровня: он достаточно большой по объёму, но и самый медленный, однако все равно быстрее, чем оперативная память. Кэш память обычно составляет больше половины стоимости центрального процессора.

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

Память

Единственные два типа памяти, которые фактически находятся на чипе GPU, — это регистровая и разделяемая. Локальная, глобальная, постоянная и текстурная память находятся вне чипа. Интегрированный GPU не имеет собственной памяти для выполнения расчетов, а для графики и связанных с ней вычислений, особенно в 3D играх, требуется огромное количество памяти. Такой графический процессор (интегрированный GPU) использует оперативную память в качестве собственной.

Но у оперативки есть несколько ключевых особенностей:

  • Объем. Этот показатель несколько переоценен, другие характеристики более важны;
  • Ширина шины – параметр важнее, чем объем. Чем шире шина, тем большее количество информации отправит оперативная память чипу за промежуток времени, и наоборот. Для воспроизведения большинства игр требуется минимум: 128 бит;
  • Частота, от нее завист пропускная способность оперативной памяти. Однако, 256-битная шина при частоте 800 (3200) МГц оказывается продуктивнее, чем 128-битная при 1000 (4000) МГц.
  • Тип. Оптимальные на 2021 год типы — это 3-е и 5-е поколения GDDR.

Разъём установки процессора (Soket)

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

Охлаждение GPU

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

Температура графической карты обычно составляет от 30°C до 40°C на холостом ходу и от 60°C до 85°C под обычной нагрузкой. Большинство высокопроизводительных видеокарт настроены на максимальную температуру 95°C-105°C, после чего система автоматически отключается. Вот почему интенсивным процессорам требуется хорошее охлаждение. Для мониторинга температуры центрального процессора и видеокарты есть специальный софт, например, «GPU-Z» и проч.

Итак, теперь Вы в принципе понимаете, что такое CPU и GPU (т.е. что такое графический процессор), оперативка и видеокарты. И как они меняют жизнь геймеров и майнеров.

Энергопотребление и тепловыделение

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

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

Подводя итоги материала статьи — ответа на вопрос, что такое процессор:

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

Комментарии

-2 Евгений 26.03.2016 11:03
как устроен сам процессор, а именно камень,какие его внутрености

Ответить Ответить с цитатой Цитировать

Обновить список комментариев

Добавить комментарий
Что такое звуковая карта и для чего она нужна?
Что такое SSD? Твердотельный накопитель
Что такое процессор, центральный процессор, CPU?
Что такое материнская плата или системная плата и для чего она нужна?
Что такое HDD, жёсткий диск и винчестер
Что такое оперативная память и оперативное запоминающее устройство

Так работает процессор в вашем компьютере и смартфоне

Процессор — основной элемент любого компьютера, планшета, смартфона, «умного» пылесоса или даже холодильника. При этом история «процессоростроения» пока относительно короткая. По сути, первые коммерческие микропроцессоры появились в 1970-х, когда драматически уменьшились в размерах. Но как в принципе работают современные процессоры? Каким образом они собираются, почему в последнее время компанию Apple связывают с революцией в этой области и по какой причине все говорят про превосходство какого-то ARM?

Что вообще такое микропроцессор и при чем тут транзисторы

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

Для сравнения: первым микропроцессором считается Intel 4004 (1971 года выпуска). В нем установлено 2300 транзисторов. В этом году Apple представила систему на чипе A15 Bionic — на нем основывается последнее поколение iPhone. В A15 транзисторов уже 15 млрд.

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

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

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

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

Почему так важен «чистый» кремний, как на него наносят транзисторы и при чем тут закон Мура

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

Источником кремния служит песок. Его долго обрабатывают химическим способом, чтобы получить так называемый «чистый» кремний (таким он считается при чистоте 99,9%) — на его основе производятся специальные кристаллы. Чтобы сделать подобное, кремний плавят и помещают внутрь маленький кристалл, формирующий вокруг себя еще один слой кристаллической решетки.

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

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

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

В конце концов пришли к технологии EUV — сверхжесткого ультрафиолетового излучения на длине волны 13,5 нанометра. Эта технология настолько сложная и уникальная, что сегодня в мире ей на достаточно высоком уровне занимается только одна компания — ASML. Она поставляет другим производителям электроники станки, которые и «печатают» компоненты системы на кремниевых дисках с требуемой точностью.

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

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

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

Если объяснять еще проще, то чем меньше цифра перед словом «нанометровый», тем лучше. Процессоры, изготовленные по 5-нанометровому техпроцессу (на момент публикации материала считается передовым решением), ощутимо мощнее и в сравнении с теми, что базируются на 7-нанометровом. Через год-два производители планируют перейти на 3-нанометровый техпроцесс. Кроме того, у перехода на меньший техпроцесс есть еще одно преимущество: каждый транзистор начинает потреблять меньше электроэнергии, тем самым улучшая энергоэффективность всего устройства.

Что такое «система на чипе»

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

В какой-то момент стало понятно, что чипы уже стали настолько миниатюрными, что под одной такой защитной крышкой вполне может уместиться не только сам CPU, но и другие компоненты — например, графический чип (GPU), отвечающий за вывод картинки на экран, а еще модули беспроводной связи и модемы. Решение, когда все критически важные для работы компьютера компоненты находятся вместе на одной интегральной схеме совсем рядом друг с другом, называется «система на чипе», или «система на кристалле» (System-on-a-Chip, SoC).

По сути, такие «системы на кристалле» используются практически во всей современной мобильной технике: смартфонах, планшетах, смарт-часах. В первую очередь — за счет относительно небольших габаритов и меньшего энергопотребления и тепловыделения, благодаря чему технику получается сделать мобильной. Правда, производительность подобных SoC долго оставалась существенно ниже в сравнении со «взрослыми» центральными (CPU) и графическими (GPU) процессорами, причем не только в ПК, но и ноутбуках.

Еще несколько лет назад дело обстояло так: существуют мощные процессоры (что графические, что центральные) для настольных компьютеров, которые производят гиганты вроде AMD и Intel, а есть относительно слабые «системы на чипе» (когда все компоненты собраны вместе) на базе ARM-архитектуры для мобильных переносных девайсов — и эти два мира долго практически никак не пересекались.

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

Будущее — за ARM? И при чем тут Apple

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

Такой подход назвали RISC (Reduced Instruction Set Computing), то есть компьютер с ограниченным набором команд. С совершенствованием технологий RISC начали развивать двумя способами — так появились архитектуры x86 и ARM. Первая рассчитана на «взрослые» и производительные компьютеры с процессорами от тех же Intel или AMD, которые умеют исполнять инструкции на базе технологии CISC (Complex Instruction Set Computing, то есть вычислительная машина со сложным набором команд), вторая — на относительно небольшие мобильные устройства с низким потреблением энергии, исполняющие усовершенствованные и более простые инструкции RISC.

Если еще немного упростить: говорим CISC — имеем в виду «классические» процессоры от компаний Intel или AMD, говорим RISC — подразумеваем варианты мобильных «систем на чипе», как у Apple или Samsung. Чтобы сделать процессор с x86-архитектурой, производителю необходимо самому придумать и нарисовать все транзисторы и соединения между ними. Это сложно и дорого. С ARM ситуация иная: любая компания может купить лицензию и сделать свой процессор с этой архитектурой, изменив компоновку и добавив другие модули.

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

Решение Apple перейти в компьютерах на ARM-чипы, схожие с применяющимися в iPhone и понимающие инструкции для RISC-процессоров, называют революционным благодаря тому, что компания отыскала программный способ заставить их читать софт, созданный для старых процессоров Intel под архитектуру x86. То есть компьютеры Apple последнего поколения с фирменными чипами M1 на ARM-архитектуре универсальны и берут лучшее от двух миров: производительность, энергоэффективность и возможность чтения программ, созданных для устройств обоих типов.

Пойдут ли по такому пути другие гиганты вроде Intel и AMD? Пока однозначно утверждать это нельзя. Все же их «классические» CPU показывают не меньшую, а то и бо́льшую пиковую производительность. Кроме того, их процессоры в массовом сегменте, как правило, предназначены для компьютеров под управлением операционной системы Windows, а схожую работу по оптимизации ОС таким образом, чтобы она могла читать программы для обеих архитектур, в Microsoft еще не провели.

Читайте также:

Наш канал в Telegram. Присоединяйтесь!

Есть о чем рассказать? Пишите в наш телеграм-бот. Это анонимно и быстро

Перепечатка текста и фотографий Onlíner без разрешения редакции запрещена. [email protected]

Как работают микропроцессоры | HowStuffWorks

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

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

  • LOADA mem — Загрузить регистр A из адреса памяти
  • LOADB mem — Загрузить регистр B из адреса памяти
  • CONB con — Загрузить постоянное значение в регистр B
  • SAVEB mem — Сохранить регистр B по адресу памяти
  • SAVEC mem — Сохранить регистр C по адресу памяти
  • ADD — Добавить A и B и сохранить результат в C
  • SUB — Вычесть A и B и сохранить результат в C
  • MUL — Умножить A и B и сохранить результат в C
  • DIV — Разделить A и B и сохранить результат в C
  • COM — Сравните A и B и сохраните результат в тесте
  • JUMP addr — Перейти к адресу
  • JEQ addr — Перейти, если eq ual, на адрес
  • JNEQ addr — Перейти, если не равно, на адрес
  • JG addr — Перейти, если больше, чем, на адрес
  • JGE addr — Перейти, если больше или равно, на адрес
  • JL addr — Перейти, если меньше чем, к адресу
  • JLE addr — Перейти, если меньше или равно, по адресу
  • STOP — Остановить выполнение

Если вы прочитали How C Programming Works, тогда вы знаете, что этот простой фрагмент кода C вычислит факториал 5 (где факториал 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):

a = 1; f = 1; while (a <= 5) {f = f * a; a = a + 1;}

В конце выполнения программы переменная f содержит факториал 5.

Язык ассемблера

Компилятор C переводит этот код C на язык ассемблера. Предполагая, что ОЗУ начинается с адреса 128 в этом процессоре, а ПЗУ (которое содержит программу на языке ассемблера) начинается с адреса 0, тогда для нашего простого микропроцессора язык ассемблера может выглядеть так:

// Предположим, что a находится по адресу 128 / / Предположим, что F находится по адресу 1290 CONB 1 // a = 1; 1 SAVEB 1282 CONB 1 // f = 1; 3 SAVEB 1294 LOADA 128 // если a> 5, переход к 175 CONB 56 COM7 JG 178 LOADA 129 // f = f * a; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a = a + 1; 13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // возврат к if17 STOP

ROM

Итак, теперь вопрос: «Как все эти инструкции смотрят в ПЗУ? » Каждая из этих инструкций на языке ассемблера должна быть представлена ​​двоичным числом.Для простоты предположим, что каждой инструкции на ассемблере присвоен уникальный номер, например:

  • LOADA — 1
  • LOADB — 2
  • CONB — 3
  • SAVEB — 4
  • SAVEC mem — 5
  • ДОБАВИТЬ — 6
  • SUB — 7
  • MUL — 8
  • DIV — 9
  • COM — 10
  • Адрес JUMP — 11
  • Адрес JEQ — 12
  • Адрес JNEQ — 13
  • Адрес JG — 14
  • JGE адрес — 15
  • Адрес JL — 16
  • Адрес JLE — 17
  • СТОП — 18

Эти числа известны как коды операций .В ПЗУ наша маленькая программа будет выглядеть так:

// Предположим, что a находится по адресу 128 // Предположим, что F находится по адресу 129Addr opcode / value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Вы можете видеть, что семь строк кода C превратились в 18 строк ассемблера, и это стало 32 байта в ПЗУ.

Декодирование

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

  1. Во время первого тактового цикла нам нужно загрузить инструкцию. Следовательно, декодеру команд необходимо:
  2. активировать буфер с тремя состояниями для счетчика программ
  3. активировать строку RD
  4. активировать буфер трех состояний ввода данных
  5. зафиксировать команду в регистре команд
  6. Во время второй такт, инструкция ADD декодируется.Для этого нужно очень немногое:
  7. настроить работу ALU на добавление
  8. защелкнуть вывод ALU в регистре C
  9. Во время третьего тактового цикла счетчик программы увеличивается (теоретически это может быть перекрыто в второй такт).

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

Как работают микропроцессоры | HowStuffWorks

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

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

  • LOADA mem — Загрузить регистр A из адреса памяти
  • LOADB mem — Загрузить регистр B из адреса памяти
  • CONB con — Загрузить постоянное значение в регистр B
  • SAVEB mem — Сохранить регистр B по адресу памяти
  • SAVEC mem — Сохранить регистр C по адресу памяти
  • ADD — Добавить A и B и сохранить результат в C
  • SUB — Вычесть A и B и сохранить результат в C
  • MUL — Умножить A и B и сохранить результат в C
  • DIV — Разделить A и B и сохранить результат в C
  • COM — Сравните A и B и сохраните результат в тесте
  • JUMP addr — Перейти к адресу
  • JEQ addr — Перейти, если eq ual, на адрес
  • JNEQ addr — Перейти, если не равно, на адрес
  • JG addr — Перейти, если больше, чем, на адрес
  • JGE addr — Перейти, если больше или равно, на адрес
  • JL addr — Перейти, если меньше чем, к адресу
  • JLE addr — Перейти, если меньше или равно, по адресу
  • STOP — Остановить выполнение

Если вы прочитали How C Programming Works, тогда вы знаете, что этот простой фрагмент кода C вычислит факториал 5 (где факториал 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):

a = 1; f = 1; while (a <= 5) {f = f * a; a = a + 1;}

В конце выполнения программы переменная f содержит факториал 5.

Язык ассемблера

Компилятор C переводит этот код C на язык ассемблера. Предполагая, что ОЗУ начинается с адреса 128 в этом процессоре, а ПЗУ (которое содержит программу на языке ассемблера) начинается с адреса 0, тогда для нашего простого микропроцессора язык ассемблера может выглядеть так:

// Предположим, что a находится по адресу 128 / / Предположим, что F находится по адресу 1290 CONB 1 // a = 1; 1 SAVEB 1282 CONB 1 // f = 1; 3 SAVEB 1294 LOADA 128 // если a> 5, переход к 175 CONB 56 COM7 JG 178 LOADA 129 // f = f * a; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a = a + 1; 13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // возврат к if17 STOP

ROM

Итак, теперь вопрос: «Как все эти инструкции смотрят в ПЗУ? » Каждая из этих инструкций на языке ассемблера должна быть представлена ​​двоичным числом.Для простоты предположим, что каждой инструкции на ассемблере присвоен уникальный номер, например:

  • LOADA — 1
  • LOADB — 2
  • CONB — 3
  • SAVEB — 4
  • SAVEC mem — 5
  • ДОБАВИТЬ — 6
  • SUB — 7
  • MUL — 8
  • DIV — 9
  • COM — 10
  • Адрес JUMP — 11
  • Адрес JEQ — 12
  • Адрес JNEQ — 13
  • Адрес JG — 14
  • JGE адрес — 15
  • Адрес JL — 16
  • Адрес JLE — 17
  • СТОП — 18

Эти числа известны как коды операций .В ПЗУ наша маленькая программа будет выглядеть так:

// Предположим, что a находится по адресу 128 // Предположим, что F находится по адресу 129Addr opcode / value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Вы можете видеть, что семь строк кода C превратились в 18 строк ассемблера, и это стало 32 байта в ПЗУ.

Декодирование

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

  1. Во время первого тактового цикла нам нужно загрузить инструкцию. Следовательно, декодеру команд необходимо:
  2. активировать буфер с тремя состояниями для счетчика программ
  3. активировать строку RD
  4. активировать буфер трех состояний ввода данных
  5. зафиксировать команду в регистре команд
  6. Во время второй такт, инструкция ADD декодируется.Для этого нужно очень немногое:
  7. настроить работу ALU на добавление
  8. защелкнуть вывод ALU в регистре C
  9. Во время третьего тактового цикла счетчик программы увеличивается (теоретически это может быть перекрыто в второй такт).

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

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

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

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

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

Логика компьютерного процессора

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

— Перенос данных из одного места в памяти компьютера в другое

— переход к новым наборам инструкций на основе логических операций или вариантов выбора

— Выполнять математические операции с помощью арифметико-логического устройства (ALU)

Для выполнения этих операций процессор использует адресную шину, которую он использует для отправки адресов в память компьютера, а также шину данных, которая используется для получения или отправки информации в память компьютера.Он также имеет отдельную строку управления, которая будет уведомлять память компьютера, если он получает или отправляет / устанавливает заданное место в памяти. Чтобы выполнять все запланированные операции, ЦП также имеет часы, которые составляют основу для синхронизации действий процессора с остальной частью компьютера. Для доступа к часто используемым компьютерным инструкциям или данным процессоры также будут реализовывать различные схемы кэширования, чтобы получить доступ к требуемым данным с большей скоростью, чем при использовании ОЗУ с прямым доступом.

Память процессора

Процессор компьютера использует постоянную память и оперативную память (соответственно, ROM и RAM). ПЗУ процессора запрограммировано с предварительно установленной информацией, которая постоянно запрограммирована с основными функциями, чтобы обеспечить связь процессора с шиной данных. ПЗУ обычно называется BIOS (базовая система ввода / вывода) на компьютерах с Windows и также используется для получения загрузочного сектора для компьютера.

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

Роль 64-битного процессора

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

Ранние пользователи 64-битных процессоров не обязательно увидят высокую производительность системы, если не будут выполнять высокоточные задачи, такие как редактирование видео или игры в сетевые 3D-видеоигры.Это будет и дальше меняться по мере того, как все больше приложений предназначены для использования преимуществ 64-битных процессоров и увеличения объема памяти новых компьютерных процессоров.

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

Изображение предоставлено: golubovy / iStock / GettyImages

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

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

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

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

Операции, выполняемые ЦП

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

Как процессор использует память

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

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

Как работают процессоры | ПК Gamer

Углубленное изучение того, что дает вашему компьютеру интеллектуальную мощь

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

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

Hard Stuff: компоненты процессора

Большинство современных процессоров содержат следующие компоненты:

  • Блок управления памятью, который обрабатывает преобразование адресов памяти и доступ к ней
  • Сборщик инструкций, который берет инструкции из памяти
  • Инструкция декодер, который превращает инструкции из памяти в команды, которые понимает процессор.
  • Исполнительные блоки, которые выполняют операцию; по крайней мере, процессор будет иметь арифметический и логический блок (ALU), но также может быть включен блок с плавающей запятой (FPU).
  • Регистры, которые представляют собой небольшие биты памяти для хранения важных битов данных

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

Блок управления памятью (MMU)

Основная задача блока управления памятью — преобразовывать адреса из виртуального адресного пространства в физическое адресное пространство. Виртуальное адресное пространство позволяет системе убедить программы в том, что все возможное адресное пространство доступно, даже если физически это не так.Например, в 32-битной среде система считает, что имеет 4 ГБ адресного пространства, даже если установлено только 2 ГБ ОЗУ. Это сделано для упрощения программирования, поскольку программист не знает, какая система будет запускать приложение.

Другая задача блока управления памятью — защита доступа. Это предотвращает чтение или запись приложением адреса памяти другого приложения без прохождения надлежащих каналов.

Сборщик и декодер инструкций

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

Исполнительные блоки

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

  • Сложение и вычитание; умножение выполняется путем повторного сложения, а деление приближается к повторному вычитанию (здесь есть хорошая статья по этой теме)
  • Логические операции, такие как OR, AND, NOT и XOR
  • Битовый сдвиг, который перемещает цифры влево или вправо

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

Регистры

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

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

Примечание о битах

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

Мягкие материалы: идеи и разработки в процессорах

За годы компьютерного дизайна было реализовано все больше и больше идей и разработок. Они были разработаны с целью повышения эффективности процессора в том, что он делает, за счет увеличения количества инструкций за такт (IPC).

Дизайн набора команд

Наборы команд отображают числовые индексы для команд в процессоре. Эти команды могут быть такими простыми, как сложение двух чисел, или такими сложными, как инструкция SSE RSQRTPS (как описано в файле справки: Вычислить обратные квадратные корни упакованных значений с плавающей запятой одинарной точности).

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

  • Инструкции переменной длины, чтобы более простые операции могли занимать меньше места
  • Выполнение большого количества команд адресации памяти
  • Операции могут выполняться в самих ячейках памяти в дополнение к использованию регистров или как часть инструкции.Инструкции также можно упростить, чтобы ускорить процесс декодирования. Это дало толчок идее проектирования вычислений с сокращенным набором команд (RISC). «Уменьшено» в этом случае означает, что время выполнения инструкции сокращается. Старый способ был задним числом назван Computing Set Instruction Set Computing (CISC). Подводя итог идеям RISC:

    • Единая длина инструкции для упрощения декодирования
    • Меньшее количество простых команд адресации памяти
    • Операции могут выполняться только с данными в регистрах или как часть инструкции

    Были и другие попытки при проектировании набора команд.Одно из них — очень длинное служебное слово (VLIW). VLIW объединяет несколько независимых инструкций в один модуль, который будет запускаться на нескольких исполнительных модулях. Одним из самых больших препятствий является то, что компилятор требует от компилятора сортировки инструкций заранее, чтобы максимально использовать оборудование, а большинство программ общего назначения не очень хорошо разбираются в себе. VLIW использовался в Intel Itanium, Transmeta Crusoe, MCST Elbrus, AMD TeraCore и NVIDIA Project Denver (вроде, у него схожие характеристики)

    Многозадачность

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

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

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

    Кэширование

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

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

    Конвейерная обработка

    Конвейерная обработка — это способ процессора увеличить пропускную способность инструкций путем имитации работы сборочных линий. Рассмотрим этапы выполнения инструкции:

    1. Команда выборки (IF)
    2. Инструкция декодирования (ID)
    3. Команда выполнения (EX)
    4. Доступ к памяти (MEM)
    5. Запись результатов обратно (WB)

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

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

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

    Прогнозирование переходов

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

    Инструкция CMP — это инструкция сравнения, например, x = y? Это устанавливает флаг результата в процессоре. Инструкция BNE — это «ветвь, если не равно», которая проверяет этот флаг. Если x не равно y, процессор переходит в другое место в программе. Следующие инструкции (SUB, MUL и DIV) необходимо отбросить, потому что они больше не будут выполняться. Это создает промежуток в пять тактов перед обработкой следующей инструкции.

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

    Выполнение вне очереди

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

    1. x = 1
    2. y = 2
    3. z = x + 3
    4. foo = z + y
    5. bar = 42
    6. напечатайте «hello world!»

    Допустим, исполнительный блок может обрабатывать две инструкции одновременно.Затем эти инструкции выполняются следующим образом:

    1. x = 1, y = 2
    2. z = x + 3
    3. foo = z + y
    4. bar = 42, выведите «hello world!»

    Поскольку значение «foo» зависит от «z», эти две инструкции не могут выполняться одновременно. Однако, изменив порядок инструкций:

    1. x = 1, y = 2
    2. z = x + 3, bar = 42
    3. foo = z + y, выведите «hello world!»

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

    Сложная машина, состоящая из простых частей

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

    Что такое скорость процессора и почему это важно?

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

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

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

    Что такое процессор ПК и для чего он нужен?

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

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

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

    Ядра процессора в зависимости от тактовой частоты

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

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

    Что такое ядро ​​процессора?

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

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

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

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

    Что такое тактовая частота?

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

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

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

    Как выбрать между большим количеством ядер процессора или более высокой тактовой частотой?

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

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

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

    Какая скорость процессора у портативного компьютера лучше, чем у настольного компьютера?

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

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

    Ноутбуки

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

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

    Настольные компьютеры

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

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

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

    Need for Speed ​​

    Игровые процессоры

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

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

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

    Если вы серьезный геймер, который ценит целостность разработанного разработчиками опыта, вы можете выбрать четырехъядерный или более мощный процессор, например, Intel® Core ™ i7-8750H, который используется в 15-дюймовом игровом ноутбуке HP OMEN. .Этот мощный процессор использует 6 ядер, чтобы отображать игровой процесс и реагировать на игровую технику с беспрецедентной гибкостью.

    Тактовая частота от 3,5 до 4,0 ГГц обычно считается хорошей тактовой частотой для игр, но более важно иметь хорошую однопоточную производительность. Это означает, что ваш процессор хорошо понимает и выполняет отдельные задачи.

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

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

    Процессоры для повседневного использования

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

    Если вы больше относитесь к творческим людям, которые редактируют видео или ежедневно запускают сложные приложения, вы можете подумать о приобретении компьютера с большим количеством ядер процессора и более высокой тактовой частотой, чтобы ваши приложения могли работать бесперебойно. 15-дюймовая мобильная рабочая станция HP ZBook оснащена 6-ядерным процессором, который предназначен для интенсивного редактирования и создания креативных материалов. О скорости работы не так важно думать, если вы используете свой компьютер для основных задач, таких как время от времени видео- потоковая передача и проверка электронной почты.Ноутбук HP 14z с двухъядерным процессором может быть тем, что вам нужно для повседневного базового использования. Эта модель может легко справляться с общими задачами в традиционном, простом в использовании пакете.

    Высокопроизводительные вычислительные процессоры

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

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

    Процессоры иммерсивных вычислений и виртуальной реальности (VR)

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

    Выберите компьютер, который подходит именно вам

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

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

    Для вычислений с интенсивным использованием ЦП, таких как редактирование видео или игры, вам понадобится более высокая тактовая частота, близкая к 4,0 ГГц, в то время как для базовых вычислительных задач такая повышенная тактовая частота не требуется.

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

    Об авторе

    Софи Сироис (Sophie Sirois) — автор статей в HP® Tech Takes. Софи — специалист по созданию контента из Сан-Диего, освещающая последние технические и цифровые новости.

    Центральный процессор Facts for Kids

    Процессор Pentium внутри компьютера

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

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

    Тактовая частота или скорость внутренних частей ЦП измеряется в герцах (Гц). Современные процессоры часто работают настолько быстро, что вместо них используются гигагерцы (ГГц).Один ГГц — это 1000000000 циклов в секунду.

    Большинство процессоров, используемых в настольных (домашних) компьютерах, представляют собой микропроцессоры производства Intel или Advanced Micro Devices (обычно сокращенно AMD). Некоторые другие компании, производящие процессоры, — это ARM, IBM и AMD под управлением ATI Technologies, которая сейчас является лидером. Большинство их процессоров используются во встроенных системах для более специализированных задач, например, в мобильных телефонах, автомобилях, игровых консолях или в армии.

    Типы процессоров

    В 20 веке инженеры изобрели множество различных компьютерных архитектур.В настоящее время в большинстве настольных компьютеров используются 32-разрядные или 64-разрядные процессоры. Инструкции в 32-битном ЦП хорошо справляются с обработкой данных размером 32 бита (большинство инструкций «думают» в 32-битном ЦП). Точно так же 64-битный ЦП хорош для обработки данных размером 64 бита (а также часто хорош для обработки 32-битных данных). Размер данных, которые ЦП обрабатывает лучше всего, часто называют размером слов ЦП. Многие старые процессоры 70-х, 80-х и начала 90-х годов (и многие современные встроенные системы) имеют размер слова 8 или 16 бит.Когда в середине 20 века были изобретены процессоры, в них было слово разных размеров. У некоторых были разные размеры слов для инструкций и данных. Позже перестали использоваться менее популярные размеры слов.

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

    Регистры

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

    Память

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

    Когда ЦП хочет прочитать или записать данные в ОЗУ, он выводит для этих данных адрес , . Каждый байт в ОЗУ имеет адрес памяти. Размер адресов часто совпадает с размером слова: 32-разрядный ЦП использует 32-разрядные адреса и т. Д. Однако меньшие ЦП, такие как 8-разрядные ЦП, часто используют адреса, превышающие размер слова. В противном случае максимальная длина программы была бы слишком короткой.

    Поскольку размер адресов ограничен, максимальный объем памяти также ограничен.32-разрядные процессоры обычно могут обрабатывать только до 4 ГБ ОЗУ. Это количество различных байтов, которые можно выбрать с помощью 32-битного адреса (каждый бит может иметь два значения — 0 и 1, и 2 32 байта равно 4 ГБ). 64-разрядный процессор может обрабатывать до 16 ЭБ ОЗУ (16 эксабайт, около 16 миллиардов ГБ или 16 миллиардов миллиардов байтов). Операционная система может ограничить использование меньших сумм.

    Информация, которая хранится в ОЗУ, обычно непостоянна. Это означает, что он исчезнет, ​​если компьютер выключится.

    Кэш

    На современных компьютерах ОЗУ намного медленнее, чем регистры, поэтому доступ к ОЗУ замедляет работу программ. Чтобы ускорить доступ к памяти, более быстрый тип памяти, называемый кеш-памятью , часто помещается между ОЗУ и основными частями ЦП. Кэш-память обычно является частью самого чипа ЦП и стоит намного дороже за байт, чем ОЗУ. В кеше хранятся те же данные, что и в ОЗУ, но обычно он намного меньше. Следовательно, все данные, используемые программой, могут не поместиться в кеш.Кеш пытается хранить данные, которые, вероятно, будут использоваться часто. Примеры включают недавно использованные данные и данные, близкие в памяти к недавно использованным данным.

    Часто имеет смысл иметь «кэш для кэша», так же как имеет смысл иметь кэш для ОЗУ. В многоуровневом кэшировании есть много кешей, называемых кешем L1, кешем L2 и так далее. Кэш L1 является самым быстрым (и самым дорогим из расчета на один байт) кешем и находится «ближе всего» к ЦП. Кэш L2 находится на расстоянии одного шага и работает медленнее, чем кеш L1 и т. Д.Кэш L1 часто можно рассматривать как кэш для кеша L2 и т. Д.

    Автобусы

    Компьютерные шины — это провода, используемые ЦП для связи с ОЗУ и другими компонентами компьютера. Почти все ЦП имеют по крайней мере шину данных , используемую для чтения и записи данных, и адресную шину , , используемую для вывода адресов. Другие шины внутри ЦП передают данные в разные части ЦП.

    Наборы команд

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

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

    Машинный код — это просто последовательность нулей и единиц, что затрудняет его чтение людьми. Чтобы сделать его более читабельным, программы с машинным кодом обычно пишутся на языке ассемблера . В языке ассемблера вместо нулей и единиц используется текст: вы можете написать «LD A, 0», чтобы, например, загрузить значение 0 в регистр A. Программа, переводящая язык ассемблера в машинный код, называется ассемблером .

    Функциональность

    Вот некоторые из основных функций процессора:

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

    Даже очень сложные программы можно создавать, комбинируя множество таких простых инструкций.Это возможно, потому что выполнение каждой инструкции занимает очень короткое время. Многие процессоры сегодня могут выполнять более 1 миллиарда (1 000 000 000) инструкций за одну секунду. В общем, чем больше ЦП может сделать за заданное время, тем он быстрее. Один из способов измерить скорость процессора — MIPS (миллион инструкций в секунду). Флопы (число операций с плавающей запятой в секунду) и тактовая частота процессора (обычно измеряемая в гигагерцах) также являются способами измерения того, сколько работы процессор может выполнить за определенное время.

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

    Трубопроводы команд

    Каждая инструкция, выполняемая ЦП, обычно выполняется в несколько этапов. Например, шаги для выполнения инструкции «INC A» (увеличение значения, хранящегося в регистре A, на единицу) на простом процессоре могут быть такими:

    • Прочитать инструкцию по памяти,
    • декодирует инструкцию (выясняет, что делает инструкция), а
    • добавить единицу в регистр A.

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

    Блоки управления памятью (MMU) и виртуальная память

    Современные процессоры часто используют блок управления памятью (MMU). MMU — это компонент, который преобразует адреса ЦП в (обычно) разные адреса ОЗУ. При использовании MMU используемые в программе адреса (обычно) не являются «реальными» адресами, по которым хранятся данные. Это называется виртуальной памятью (противоположностью «реальной»). Несколько причин, по которым наличие MMU — это хорошо, перечислены ниже:

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

    Несколько ядер

    Многоядерные процессоры стали обычным явлением в начале 21 века. Это означает, что у них есть много процессоров, встроенных в один и тот же чип, так что они могут выполнять множество инструкций одновременно.Некоторые процессоры могут иметь до тридцати двух ядер, например AMD Epyc 7601.

    Производителей

    Компьютерные процессоры производят следующие компании:

    Дополнительная информация

    Картинки для детей

    • EDVAC, один из первых компьютеров с хранимой программой

    • Процессор IBM PowerPC 604e

    • Плата Fujitsu с процессорами SPARC64 VIIIfx

    • ЦП, основная память и интерфейс внешней шины DEC PDP-8 / I, состоящий из интегральных схем среднего размера

    • Внутри ноутбука, с удаленным процессором из гнезда

    • Блок-схема базового однопроцессорного компьютера.

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

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