Функция процессора в компьютере: Как работает процессор?
Содержание
Как работает процессор?
Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.
Чарльз Бэббидж
Компьютер тоже можно назвать машиной, только вместо паровой силы здесь электричество. Но программирование сделало компьютер таким же простым, как любой инструмент.
Процессор — это сердце/мозг любого компьютера. Его основное назначение — арифметические и логические операции, и прежде чем погрузиться в дебри процессора, нужно разобраться в его основных компонентах и принципах их работы.
Два основных компонента процессора
Устройство управления
Устройство управления (УУ) помогает процессору контролировать и выполнять инструкции. УУ сообщает компонентам, что именно нужно делать. В соответствии с инструкциями он координирует работу с другими частями компьютера, включая второй основной компонент — арифметико-логическое устройство (АЛУ). Все инструкции вначале поступают именно на устройство управления.
Существует два типа реализации УУ:
- УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
- УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.
УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.
Арифметико-логическое устройство
Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.
Большинство логических элементов имеют два входа и один выход.
Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).
Схема арифметического полусумматора
Хранение информации — регистры и память
Как говорилось ранее, процессор выполняет поступающие на него команды. Команды в большинстве случаев работают с данными, которые могут быть промежуточными, входными или выходными. Все эти данные вместе с инструкциями сохраняются в регистрах и памяти.
Регистры
Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.
Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.
По функциональному назначению триггеры делятся на несколько групп:
- RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
- JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
- T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
- D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.
Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.
Принцип действия RS-триггера
Память (ОЗУ)
ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.
Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.
Команды (инструкции)
Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:
- Арифметические: сложение, вычитание, умножение и т. д.
- Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
- Информационные:
move
,input
,outptut
,load
иstore
. - Команды перехода:
goto
,if ... goto
,call
иreturn
. - Команда останова:
halt
.
Прим. перев. На самом деле все арифметические операции в АЛУ могут быть созданы на основе всего двух: сложение и сдвиг. Однако чем больше базовых операций поддерживает АЛУ, тем оно быстрее.
Инструкции предоставляются компьютеру на языке ассемблера или генерируются компилятором высокоуровневых языков.
В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.
Группу инструкций принято называть набором команд (англ. instruction set).
Тактирование процессора
Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.
Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.
Чтобы уменьшить время выполнения программы, нужно либо оптимизировать (уменьшить) её, либо увеличить тактовую частоту. У части процессоров есть возможность увеличить частоту (разогнать процессор), однако такие действия физически влияют на процессор и нередко вызывают перегрев и выход из строя.
Выполнение инструкций
Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.
Ниже рассмотрен пример набора команд, который суммирует два числа:
LOAD_A 8
. Это команда сохраняет в ОЗУ данные, скажем,<1100 1000>
. Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкциюload_A
— поместить данные1000
(последние 4 бита команды) в регистрA
.LOAD_B 2
. Ситуация, аналогичная прошлой. Здесь помещается число 2 (0010
) в регистрB
.ADD B A
.Команда суммирует два числа (точнее прибавляет значение регистра
B
в регистрA
). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистрA
.STORE_A 23
. Сохраняем значение регистраA
в ячейку памяти с адресом23
.
Вот такие операции нужны, чтобы сложить два числа.
Шина
Все данные между процессором, регистрами, памятью и I/O-устройствами (устройствами ввода-вывода) передаются по шинам. Чтобы загрузить в память только что обработанные данные, процессор помещает адрес в шину адреса и данные в шину данных. Потом нужно дать разрешение на запись на шине управления.
Кэш
У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.
Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).
Поток инструкций
Современные процессоры могут параллельно обрабатывать несколько команд. Пока одна инструкция находится в стадии декодирования, процессор может успеть получить другую инструкцию.
Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.
Если процессор многоядерный, это означает, что фактически в нём находятся несколько отдельных процессоров с некоторыми общими ресурсами, например кэшем.
Если хотите узнать о процессорах больше, посмотрите, какие бывают популярные архитектуры: CISC, RISC, MISC и другие и виды.
Перевод статьи «How does a CPU work?»
Устройство процессора и его назначение
Описание и назначение процессоров
На самом деле то, что мы сегодня называем процессором, правильно называть микропроцессором. Разница есть и определяется видом устройства и его историческим развитием.
Первый процессор (Intel 4004) появился в 1971 году.
Внешне представляет собой кремневую пластинку с миллионами и миллиардами (на сегодняшний день) транзисторов и каналов для прохождения сигналов.
Назначение процессора – это автоматическое выполнение программы. Другими словами, он является основным компонентом любого компьютера.
Устройство процессора
Ключевыми компонентами процессора являются арифметико-логическое устройство (АЛУ), регистры и устройство управления. АЛУ выполнят основные математические и логические операции. Все вычисления производятся в двоичной системе счисления. От устройства управления зависит согласованность работы частей самого процессора и его связь с другими (внешними для него) устройствами. В регистрах временно хранятся текущая команда, исходные, промежуточные и конечные данные (результат вычислений АЛУ). Разрядность всех регистров одинакова.
Кэш данных и команд хранит часто используемые данные и команды. Обращение в кэш происходит намного быстрее, чем в оперативную память, поэтому, чем он больше, тем лучше.
Схема процессора
Работа процессора
Работает процессор под управлением программы, находящейся в оперативной памяти.
(Работа процессора сложнее, чем это изображено на схеме выше. Например, данные и команды попадают в кэш не сразу из оперативной памяти, а через блок предварительной выборки, который не изображен на схеме. Также не изображен декодирующий блок, осуществляющий преобразование данных и команд в двоичную форму, только после чего с ними может работать процессор.)
Блок управления помимо прочего отвечает за вызов очередной команды и определение ее типа.
Арифметико-логическое устройство, получив данные и команду, выполняет указанную операцию и записывает результат в один из свободных регистров.
Текущая команда находится в специально для нее отведенном регистре команд. В процессе работы с текущей командой увеличивается значение так называемого счетчика команд, который теперь указывает на следующую команду (если, конечно, не было команды перехода или останова).
Часто команду представляют как структуру, состоящую из записи операции (которую требуется выполнить) и адресов ячеек исходных данных и результата. По адресам указанным в команде берутся данные и помещаются в обычные регистры (в смысле не в регистр команды), получившийся результат тоже сначала оказывается в регистре, а уж потом перемещается по своему адресу, указанному в команде.
Характеристики процессора
Тактовая частота процессора на сегодняшний день измеряется в гигагерцах (ГГц), Ранее измерялось в мегагерцах (МГц). 1МГц = 1 миллиону тактов в секунду.
Процессор «общается» с другими устройствами (оперативной памятью) с помощью шин данных, адреса и управления. Разрядность шин всегда кратна 8 (понятно почему, если мы имеем дело с байтами), изменчива в ходе исторического развития компьютерной техники и различна для разных моделей, а также не одинакова для шины данных и адресной шины.
Разрядность шины данных говорит о том, какое количество информации (сколько байт) можно передать за раз (за такт). От разрядности шины адресазависит максимальный объем оперативной памяти, с которым процессор может работать вообще.
На мощность (производительность) процессора влияют не только его тактовая частота и разрядность шины данных, также важное значение имеет объем кэш-памяти.
Функции, типы и компоненты процессора (ЦП)
Компьютерный процессор или центральный процессор (ЦП) называется мозгом компьютера. Это основной компонент любого доступного вычислительного устройства. Обычно он состоит из микроэлектронных компонентов, закрепленных в микросхеме.
Основная функция процессора компьютера — выполнять инструкции и выдавать требуемые выходные результаты. Он состоит из 3 основных компонентов: блока управления (CU), арифметико-логического блока (ALU) и основной памяти (RAM). Процессоры можно разделить по количеству ядер на 6 типов: одноядерные, двухъядерные, четырехъядерные, шестиядерные, восьмиядерные и десятиядерные.
AMD Ryzen 9 5900X, 12-ядерный
AMD Ryzen 9 5900X, 12-ядерный, 24-поточный разблокированный процессор для настольных ПК. Если вы собираете свой ПК для высокой игровой производительности, тогда процессор AMD Ryzen 9. Попробуйте сейчас, и вы не будете оглядываться назад.
Купить сейчас
Мы получаем комиссию, если вы совершаете покупку без каких-либо дополнительных затрат для вас.
4 Функции компьютерного процессора (ЦП)
- ЦП получает и выполняет команды.
- Временно хранит обрабатываемые данные и промежуточные результаты.
- Контролирует всю связь между оперативной памятью и всеми другими устройствами ввода-вывода, интерпретируя данные от устройств и к ним.
- Выполняет все арифметические вычисления и выполняет логические операции.
Типы компьютерных процессоров
Прежде чем обсуждать типы, давайте сначала определим, что такое ядро. Ядро процессора — это единый блок выполнения команд, который может выполнять команды независимо. Один ЦП может иметь несколько ядер, что означает, что он может выполнять несколько инструкций одновременно. Это позволяет современным вычислительным устройствам иметь возможности многозадачности.
Для еще более эффективного использования ЦП производители процессоров, такие как Intel, внедряют гиперпоточность. Hyperthreading — это создание двух логических ядер из одного физического ядра. Это позволяет назначить многопоточность для выполнения на одном ядре.
1. Одноядерный
Это самый старый тип процессора с тех пор, как Intel начала производить процессоры с ядром. У них есть один процессор, который имеет одно ядро. Они медленные, так как могут выполнять только одну инструкцию за раз.
2. Двухъядерные
Они являются вторыми в очереди по ядрам процессоров. У них есть два ядра в одном процессоре. они быстрее, чем одноядерные, и могут поддерживать многопроцессорность. При использовании гиперпоточности каждое ядро может иметь два логических ядра, что делает его четырьмя ядрами.
3. Четырехъядерный
В этой технологии один процессор имеет четыре ядра. Это означает, что потоки или инструкции могут выполняться всеми ядрами одновременно. Опять же, используя гиперпоточность, они могут получить восемь логических ядер. Это высокопроизводительные компьютерные процессоры, которые можно использовать в высокопроизводительных системах, таких как игровые компьютеры.
4. Шестиядерный
Состоят из шести ядер в одном микропроцессоре. Hexacore даже мощнее четырехъядерных процессоров. Они повышают уровень многопроцессорности до очень высокого уровня работы. Процессор имеет одиночные четырехъядерные и двухъядерные ядра.
5. Восьмиядерный
ЦП имеет 8 ядер, которые предлагают еще лучшие возможности многопроцессорной обработки. Он поставляется с двумя наборами четырехъядерных процессоров для достижения восьмиъядерного процессора.
6. Десятиъядерный
Предлагает десять независимых ядер, которые используются для выполнения команд. Конечно, они предлагают больше многопроцессорных возможностей, чем все остальные процессоры. Он имеет два четырехъядерных и один двухъядерный, который является одним процессором.
Обзор типов ядер процессоров и примеры.
Тип процессора | Количество ядра | Типы ядер Используются | Примеры процессоров |
Одноядерный | 1 | 1-ядерный | Intel Celeron (B720), AMD-Embedded G-Series T40R |
Двухъядерный | 2 | 1 Двухъядерный | Intel Core Duo, Intel Pentium Dual Core, AMD X2 |
Quad-core | 4 | 1 Quad | PowerPC G5, Intel Core 2 Quad, Intel Nehalem, AMD Phenom X4 | Шестигранник | 6 | 1 Quad, 1 Dual | Intel Core i5-8650, AMD Ryzen 5 PRO 1600 |
Octa-core | 8 | 2 Quad | |
Десятиъядерный | 10 | 2Qaud, 1Dual | Intel Core i9-9820X, MediaTek Helio X30 (MT6799), Cavium CN5745-1000 SSP |