Что такое вообще процессор
Определение
Процессор — это сердце и/или мозг компьютера. Он выполняет предоставленные ему инструкции. Его основная задача заключается в выполнении арифметических и логических операций и согласовании инструкций.
- Два основных компонента процессора
- Блок управления(CU)
- Арифметико-логический блок(АЛУ)
Блок управления
Блок управления CU — это часть центрального процессора, которая помогает координировать выполнение инструкций. Он подсказывает, что делать. Согласно инструкции, он помогает активировать провода, соединяющие процессор с различными другими частями компьютера, включая АЛУ. Блок управления является первым компонентом процессора, который получает инструкцию на обработку.
- Существует два типа блока управления
- Проводные блоки управления
- Микропрограммируемые
Проводные блоки управления являются аппаратным обеспечением и нуждаются в изменении аппаратного обеспечения для добавления, модификации его работы, где в качестве микропрограммируемого блока управления можно запрограммировать на изменение его поведения. Проводные CU быстрее обрабатывают инструкции, в то время как микропрограммируемые более гибкие.
Арифметико-логический блок(АЛУ)
Арифметико-логический блок ALU как следует из названия выполняет все арифметические и логические вычисления. ALU выполняет такие операции, как сложение, вычитание. АЛУ состоит из логических схем или логических вентилей, которые выполняют эти операции.
Большинство логических вентилей принимают два входа и выдают один выход
Ниже приведен пример схемы полусумматора, которая принимает два входа и выдает результат. Здесь A и B - вход, S - выход и C - керри.
Хранилище
Основная задача процессора заключается в выполнении предоставленных ему инструкций. Для обработки этих инструкций в большинстве случаев ему нужны данные. Некоторые данные являются промежуточными данными, некоторые из них являются входными, а другие - выходными. Эти данные вместе с инструкциями хранятся в следующем хранилище:
Регистры
Регистр — это небольшой набор мест, где могут храниться данные. Регистр представляет собой комбинацию защелок. Защелки, также известные как триггеры, представляют собой комбинации логических вентилей, которые хранят 1 бит информации.
Защелка имеет два входных провода, записывающий и входной провода и один выходной провод. Мы можем включить запись для внесения изменений в сохраненные данные. Когда провод записи отключен, вывод всегда остается неизменным.
Процессор имеет регистры для хранения выходных данных. Отправка в оперативную память (ОЗУ) будет медленной, так как это промежуточные данные. Эти данные отправляются в другой регистр, подключенный к шине. Регистр может хранить инструкции, выходные данные, адрес хранения или любые другие данные.
Оперативная память(ОЗУ)
Оперативная память представляет собой набор регистров, организованных и компактно собранных вместе оптимизированным образом, чтобы он мог хранить большее количество данных. Оперативная память (оперативная память) энергозависима, и ее данные теряются, когда мы отключаем питание. Поскольку оперативная память представляет собой набор регистров для чтения/записи данных, оперативная память принимает входные данные 8-битного адреса, ввод данных для фактического хранения данных и, наконец, средство чтения и записи, которое работает так же, как и для защелок.
Инструкции
Что такое инструкции
Инструкция — это детальное вычисление на уровне, которое может выполнять компьютер. Существуют различные типы инструкций, которые может обрабатывать ЦП.
- Инстркуции включают в себя:
- Арифметические действия, такие как сложение и вычитание
- Логические инструкции, такие как and, or и not
- Инструкции по данным, такие как перемещение, ввод, вывод, загрузка и сохранение
- Инструкции потока управления, такие как goto, если ... goto, call и return
- Уведомить ЦП о том, что программа завершилась Halt
Инструкции предоставляются компьютеру на языке ассемблера, генерируются компилятором или интерпретируются на некоторых языках высокого уровня.
Эти инструкции жестко встроены в процессор. АЛУ содержит арифметику и логику, где в качестве потока управления управляются КУ.
За один такт компьютеры могут выполнять одну команду, но современные компьютеры могут выполнять более одной.
Группа инструкций, которую может выполнять компьютер, называется набором инструкций.
Тактовая частота процессора
Быстродействие компьютера определяется его тактовым циклом. Это количество периодов в секунду, на которых работает компьютер. Одиночные тактовые циклы очень малы, например, около 250 * 10 ^ -12 сек. Чем выше тактовая частота, тем быстрее процессор.
Тактовая частота процессора измеряется в гигагерцах (гигагерцах). 1 ГГц равен 10 ⁹ Гц (герц). Герц означает секунду. Таким образом, 1 гигагерц означает 10 ⁹ циклов в секунду.
Чем быстрее тактовый цикл, тем больше инструкций может выполнить процессор. Тактовый цикл = 1/тактовая частотаВремя процессора = количество тактов / тактовая частота
Это означает, что для улучшения процессорного времени мы можем увеличить тактовую частоту или уменьшить количество тактов, оптимизировав инструкции, которые мы предоставляем процессору. Некоторые процессоры предоставляют возможность увеличения тактового цикла, но поскольку это физические изменения, может быть перегрев и даже задымление/возгорание.
Как выполняется инструкция
Инструкции хранятся в оперативной памяти в последовательном порядке. Для гипотетического процессора инструкция состоит из кода OP (операционного кода) и адреса памяти или регистра.
Есть два регистра внутри регистра инструкций блока управления (IR), который загружает код OP инструкции, и регистра адреса инструкции, который загружает адрес текущей выполняемой инструкции. Внутри процессора есть и другие регистры, которые хранят значение, хранящееся в адресе последних 4 бит инструкции.
Шина адреса
Все данные между процессором, регистром, памятью и устройством ввода-вывода передаются по шине. Чтобы загрузить данные в память, которую он только что добавил, процессор помещает адрес памяти в адресную шину, а результат суммы — в шину данных и включает нужный сигнал в шине управления. Таким образом, данные загружаются в память с помощью шины.
Кэш
Процессор также имеет механизм предварительной загрузки инструкции в ее кэш. Как мы знаем, существуют миллионы инструкций, которые процессор может выполнить в течение секунды. Это означает, что на получение инструкций из оперативной памяти будет потрачено больше времени, чем на их выполнение. Таким образом, кэш процессора выполняет предварительную выборку некоторых инструкций, а также данных, чтобы выполнение было быстрым.
Если данные в кэше и оперативной памяти отличаются, данные помечаются как «грязный».
Конвейерная обработка инструкций
Современный процессор использует конвейерную обработку инструкций для распараллеливания при выполнении инструкций. Выборка, декодирование, выполнение. Когда одна инструкция находится в фазе декодирования, ЦП может обработать другую инструкцию для фазы выборки.
Это приводит к одной проблеме, когда одна инструкция зависит от другой. Таким образом, процессоры выполняют инструкции, которые не зависят друг от друга и находятся в разном порядке.
Производительность
Производительность процессора определяется временем его выполнения. Производительность = 1/время выполнения
Фактором, влияющим на производительность процессора, является время выполнения инструкций и тактовая частота процессора. Таким образом, чтобы увеличить производительность программы, нам нужно либо увеличить тактовую частоту, либо уменьшить количество инструкций в программе. Быстродействие процессора ограничено, и современные многоядерные компьютеры могут поддерживать миллионы инструкций в секунду. Но если в программе, которую мы написали, много инструкций, это снизит общую производительность.