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

  • 2 октября, 13:55
  • 13697
  • 1

Процессор, также известный как микропроцессор (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 много оптимизации, чтобы он работал быстрее. При написании любой программы нам нужно учитывать, как сокращение количества инструкций, которые мы предоставляем процессору, увеличит производительность компьютерной программы.


1 комментарий
Сортировка:
Добавить комментарий
Иван Коваленко
Иван Коваленко 2023, 19 декабря, 06:55
0

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

Герц - единица на секунду, а не секунда. И 1 ГГц это 1Е+9Гц, но никак не 10 Гц. Не пишите ерунды, пожалуйста.


IT Новости

Смотреть все