Цикл процессора
Обновлено: 21.11.2024
Когда программное обеспечение устанавливается на компьютер (путем его загрузки из Интернета или установки с диска), программа и все связанные с ней файлы сохраняются во вторичной памяти. Код программы хранится в виде последовательности битов, представляющих машинные инструкции. Код остается там до тех пор, пока пользователь не решит выполнить рассматриваемую программу, после чего участки кода загружаются в память компьютера.
Чтобы действительно запустить код, процессору необходимо извлечь инструкции из памяти одну за другой, чтобы он мог их выполнить. Этот процесс состоит из трех этапов: выборка инструкции, декодирование инструкции и выполнение инструкции — эти три этапа известны как машинный цикл. Процессор проводит все свое время в этом цикле, бесконечно извлекая следующую инструкцию, расшифровывая ее и выполняя ее.
В цикле выборки блок управления просматривает регистр счетчика программ (ПК), чтобы получить адрес памяти для следующей инструкции. Затем он запрашивает эту инструкцию из основной памяти и помещает ее в регистр инструкций (IR).
Здесь блок управления проверяет инструкцию, которая сейчас хранится в регистре инструкций (IR). Он смотрит на инструкцию, которая представляет собой просто последовательность нулей и единиц, и решает, что нужно сделать. В инструкции сказано добавить два числа? Говорит ли он загрузить значение из памяти? Где в памяти? Блок управления интерпретирует двоичную инструкцию, чтобы ответить на подобные вопросы.
Теперь блок управления отправляет сигналы, которые сообщают АЛУ, памяти и другим компонентам сигналы о том, что они должны выполнять правильную работу.
В приведенном ниже видеоролике демонстрируется простая программа, работающая на компьютере. Показанный воображаемый компьютер использует специальные регистры для хранения адреса памяти (MAR) и данных, которые только что поступили из памяти (MBR). Он также использует регистры AL и BL для временного хранения значений. Не беспокойтесь о деталях этих других регистров, сосредоточьтесь на цикле выборки/декодирования/выполнения и на том, как используются ПК и ИК.
Для центрального процессора (ЦП) машинным циклом считается список шагов для выполнения машинной инструкции в процессоре компьютера. Машинным циклом считается полученный список шагов, необходимых для выполнения инструкции. Машинный цикл включает в себя четыре рабочих цикла, которые необходимы для выполнения машинной инструкции. Четыре процесса включают в себя чтение инструкции, интерпретацию машинного языка, выполнение кода и сохранение результата. Процессор последовательно выполняет все эти четыре процесса, чтобы инструкция могла быть выполнена.
Что такое машинный цикл?
Машинный цикл также известен как цикл процессора. Центральный процессор (ЦП) является основным компонентом для выполнения машинного цикла, поскольку он является основным компонентом компьютерной системы. Основными компонентами машинного цикла являются центральный процессор и блок памяти. Машинный цикл считается последовательностью четырех различных процессов, которые повторяются для выполнения инструкции. Четыре процесса включают: а) выборку, б) декодирование, в) выполнение, г) сохранение. При первой выборке процесса блок управления запрашивает в оперативной памяти первую команду для выполнения, которая сохраняется в памяти как некоторый конкретный адрес, легко идентифицируемый программным счетчиком (блоком управления). После получения инструкции следующим шагом является декодирование входящей инструкции. ЦП содержит блок управления, который используется для декодирования инструкции в регистре инструкций. Регистр — это небольшой компонент памяти, который выполняет операции и ускоряет обработку операции. В регистрах хранится инструкция, которая извлекается из основной памяти ЦП. Декодирование инструкции включает в себя разбиение поля операнда на мелкие составляющие на основе опкода инструкции. Код операции является частью инструкций машинного языка, которая дает информацию о том, какую операцию необходимо выполнить с инструкцией. После этого инструкция выполняется процессором компьютера. Счетчик программ используется для отслеживания последовательности инструкций и отслеживания адреса инструкции по мере ее выполнения и следующей инструкции в очереди на выполнение. Когда выполнение инструкции завершено, выходные данные сохраняются в памяти для последующего использования, так что при необходимости результат можно легко получить.
Hadoop, наука о данных, статистика и др.
Этапы машинного цикла
Четыре шага кратко описаны в следующем разделе:
1. Процесс извлечения
В этом процессе извлекается значение счетчика программы, которое дает адрес инструкции, которую должен выполнить ЦП. Инструкция извлекается из памяти, которая должна быть выполнена процессором. В основной памяти компьютера хранятся все инструкции, которые должны быть выполнены процессором. Блок управления — это компонент, который отвечает за выборку инструкции из памяти. Все инструкции хранятся по определенному адресу в основной памяти, что можно отследить с помощью компонента, называемого счетчиком инструкций.
2. Процесс декодирования
В этом процессе извлеченная инструкция декодируется для выполнения инструкции. В процессе декодирования содержимое регистра команд используется для декодирования типа операции, которую необходимо применить к инструкции, и информирования АЛУ (арифметико-логического устройства), чтобы ее можно было выполнить для декодированного операнда. В архитектуре ЦП блок управления берет на себя ответственность за декодирование и перевод инструкции. После декодирования и трансляции инструкции сигналы отправляются в АЛУ для выполнения декодированной инструкции.
3. Выполнить процесс
В этом процессе декодированная инструкция наконец выполняется компьютерным процессором. ЦП отвечает за выполнение инструкции на входных данных (операнд). Для компьютерной инструкции в основном есть два компонента: код операции (код OP) и операнд. Арифметико-логическое устройство (ALU) — это компонент, который выполняет инструкцию в соответствии с кодом OP над операндом, который является входными данными. Для разных операций значение кода OP отличается. И в соответствии с кодом OP АЛУ выполняет операцию над инструкцией, а затем инструкция выполняется процессором.
Все в одном наборе Data Science (360+ курсов, 50+ проектов) 360+ онлайн-курсов | 1500+ часов | Поддающиеся проверке сертификаты | Пожизненный доступ
4,7 (3220 оценок)
4. Процесс сохранения
В этом процессе результат выполнения сохраняется в памяти. После того, как Арифметико-логическое устройство оперирует данными, результат операции и обработанные данные отправляются в оперативную память для восстановления результата. Память (ОЗУ) является основным компонентом в этом процессе, так как результат сохраняется для последующего использования. Для отображения вывода на экране результат извлекается из основной памяти или может использоваться для какой-либо другой операции в соответствии с требованиями. И сохраненные данные удаляются после использования, и весь процесс снова повторяется для следующей инструкции. Все эти процессы имеют решающее значение для процессора, поскольку скорость обработки и производительность процессора зависят от этих четырех процессов.
Зачем нам нужен машинный цикл?
Машинный цикл необходим, чтобы сообщить полный поток выполнения инструкции, чтобы можно было лучше понять внутреннюю часть выполнения инструкции и, если есть какие-либо требования, ее можно было дополнительно улучшить. Машинный цикл представляет собой последовательные шаги для выполнения инструкции, и если он не выполняется, инструкции не смогут выполняться должным образом, что может привести к неверным результатам. Машинный цикл необходим для выполнения машинных инструкций процессором.
Важность машинного цикла
Машинный цикл важен для выполнения машинных инструкций процессором компьютера, поскольку производительность устройства основана на машинном цикле. Если инструкция не выполняется должным образом, процессор может снизить производительность. Скорость обработки и производительность устройства рассчитываются по количеству инструкций, которые оно может выполнить за заданный промежуток времени.
Заключение
Машинный цикл состоит из четырех процессов: процесс выборки, процесс декодирования, процесс выполнения и процесс сохранения. Все эти процессы необходимы для выполнения инструкций процессором. По машинному циклу можно рассчитать производительность процессора и выбрать устройство.
Рекомендуемая статья
Это руководство к тому, что такое машинный цикл? Здесь мы подробно обсудим введение в машинный цикл и его важность, а также его этапы. Вы также можете просмотреть другие предлагаемые нами статьи, чтобы узнать больше –
Я читал книгу о процессоре компьютера. И я столкнулся с некоторыми терминами, такими как тактовые импульсы, тактовый цикл и тактовая частота, которые мне очень трудно понять. Буду очень признателен, если кто-то объяснит это простым языком. Заранее спасибо!
Клещи кусаются. Не используйте это слово. Часы делают цикл. Тактовый цикл — это количество пикосекунд, прошедших между импульсами тактового сигнала (количество миллиметров, на которое распространяется пакет фотонов). Плюс можно сделать цикл в 2 раза короче, обнаруживая как подъемы, так и спады сигнала. Также есть множители и так далее.
2 ответа 2
Скорость компьютерного процессора или центрального процессора определяется тактовым циклом, то есть количеством времени между двумя импульсами генератора. Вообще говоря, чем больше число импульсов в секунду, тем быстрее процессор компьютера сможет обрабатывать информацию. Тактовая частота измеряется в Гц, обычно либо в мегагерцах (МГц), либо в гигагерцах (ГГц). Например, процессор с частотой 4 ГГц выполняет 4 000 000 000 тактовых циклов в секунду. Компьютерные процессоры могут выполнять одну или несколько инструкций за такт, в зависимости от типа процессора. Ранние компьютерные процессоры и более медленные процессоры могут выполнять только одну инструкцию за такт, но более быстрые и продвинутые процессоры могут выполнять несколько инструкций за такт, обрабатывая данные более эффективно.
И, с другой стороны, тактовая частота (иногда называемая тактовой частотой) относится к числу импульсов в секунду, генерируемых генератором, который устанавливает темп для процессора. Тактовая частота обычно измеряется в МГц (мегагерцах или миллионах импульсов в секунду) или ГГц (гигагерцах или миллиардах импульсов в секунду). Современные персональные компьютеры работают с тактовой частотой в сотни мегагерц, а некоторые превышают один гигагерц. Тактовая частота определяется кварцевой схемой, похожей на те, что используются в радиокоммуникационном оборудовании.
Спасибо за вашу помощь. Ну, я искал больше о Clock Cycle. Не могли бы вы объяснить мне более подробно о тактовом цикле, пожалуйста. ?
Гц равен 1/с. Таким образом, вы можете перевести длину тактового цикла в какое-то время. Я не уверен, что вы стреляете в это.
На всякий случай, если кого-то еще это смутит, как и меня, в абзаце 1 выделен тактовый цикл, но затем большая часть объяснения посвящена тактовой частоте. Я бы подумал, что тактовый цикл будет обратным значением тактовой частоты (период против частоты) и будет измеряться в наносекундах или чем-то еще.
Выполнение инструкции происходит в несколько этапов. В разных архитектурах реализовано разное количество этапов, но большинство из них реализуют этапы выполнения команды Fetch, Decode, Execute и WriteBack в четыре или более дискретных этапа. При обсуждении выполнения инструкций мы сосредоточимся на этих четырех этапах выполнения и в качестве примера используем инструкцию ADD. Наш пример инструкции ADD закодирован, как показано на рисунке 1.
Рисунок 1. Пример формата инструкции для операции с тремя регистрами. Инструкция кодируется в двоичном виде с подмножествами ее битов, соответствующих кодированию различных частей инструкции: операция (код операции), два исходных регистра (операнды) и регистр назначения для хранения результата операции. В примере показано кодирование инструкции ADD в этом формате.
Чтобы выполнить инструкцию, ЦП сначала выбирает следующую инструкцию из памяти в специальный регистр, регистр инструкций (IR). Адрес памяти инструкции для выборки хранится в другом специальном регистре, программном счетчике (ПК). ПК отслеживает адрес памяти следующей инструкции для выборки и увеличивается как часть выполнения этапа выборки, так что он сохраняет значение адреса памяти самой следующей инструкции. Например, если все инструкции имеют длину 32 бита, то значение ПК увеличивается на 4 (каждый байт, 8 бит, имеет уникальный адрес), чтобы сохранить адрес памяти инструкции, следующей сразу за той, которая была выбрана. Арифметические схемы, которые отделены от АЛУ, увеличивают значение ПК. Значение ПК также может измениться на этапе обратной записи. Например, некоторые инструкции переходят на определенные адреса, связанные, например, с выполнением циклов, if-else или вызовами функций. На рис. 2 показан этап выполнения выборки.
Рисунок 2. Стадия выборки выполнения инструкции: инструкция по адресу памяти, хранящемуся в регистре ПК, считывается из памяти и сохраняется в IR. Значение ПК также увеличивается в конце этого этапа (если инструкции имеют длину 4 байта, то следующий адрес — 1238; фактический размер инструкции зависит от архитектуры и типа инструкции).
После выборки инструкции ЦП декодирует биты инструкции, хранящиеся в регистре IR, на четыре части: старшие биты инструкции кодируют код операции, который определяет операцию, которую необходимо выполнить (например, ADD, SUB, OR, …), а оставшиеся биты разделены на три подмножества, которые определяют два источника операндов и назначение результата. В нашем примере мы используем регистры как для источника, так и для назначения результата.Код операции отправляется по проводам, которые вводятся в АЛУ, а исходные биты отправляются по проводам, которые являются входами в файл регистров. Исходные биты отправляются на два входа выбора чтения (Sr0 и Sr1), которые определяют, какие значения регистров считываются из файла регистров. Этап декодирования показан на рис. 3.
Рисунок 3. Этап декодирования выполнения инструкции: разделите биты инструкции в IR на компоненты и отправьте их в качестве входных данных в ALU и регистровый файл. Биты кода операции в IR отправляются на вход выбора ALU, чтобы выбрать, какую операцию выполнять. Два набора битов операндов в IR отправляются на входы выбора файла регистров, чтобы выбрать регистры, из которых считываются значения операндов. Биты назначения в IR отправляются в регистровый файл на стадии WriteBack. Они указывают регистр, в который записывается результат АЛУ.
После того, как этап декодирования определяет операцию для выполнения и источники операндов, АЛУ выполняет операцию на следующем этапе, этапе Выполнение. Входные данные АЛУ поступают с двух выходов регистрового файла, а входные данные выбора поступают из битов кода операции инструкции. Эти входные данные проходят через АЛУ для получения результата, объединяющего значения операнда с операцией. В нашем примере АЛУ выводит результат добавления значения, хранящегося в Reg1, к значению, хранящемуся в Reg3, и выводит значения кода условия, связанные с результирующим значением. Этап выполнения показан на рис. 4.
Рисунок 4. Стадия Execution выполнения инструкции: ALU выполняет указанную операцию (из битов кода операции инструкции) над своими входными значениями (из выходных данных регистрового файла).
На этапе WriteBack результат ALU сохраняется в регистре назначения. Файл регистров получает вывод результата АЛУ на входе данных, регистр назначения (из битов инструкций в IR) на входе выбора записи (Sw) и 1 на входе WE. Например, если регистр назначения — Reg0, то биты, кодирующие Reg0 в IR, отправляются в качестве входных данных Sw в файл регистров для выбора регистра назначения. Выходные данные АЛУ отправляются в качестве входных данных в файл регистров, а бит WE устанавливается в 1, чтобы разрешить запись результата АЛУ в регистр Reg0. Этап WriteBack показан на рис. 5.
Рисунок 5. Стадия WriteBack выполнения инструкции: результат стадии выполнения (выход из ALU) записывается в регистр назначения в регистровом файле. Выход ALU представляет собой данные файла регистров на входе, биты назначения инструкции поступают на вход выбора записи файла регистров (Sw), а вход WE устанавливается в 1, чтобы разрешить запись Данные в значении для указанного целевого регистра.
5.6.1. Исполнение по часам
Часы управляют выполнением ЦП инструкций, инициируя запуск каждого этапа. Другими словами, часы используются ЦП, чтобы определить, когда входы в схемы, связанные с каждым этапом, готовы для использования схемой, и они контролируют, когда выходы из схем представляют действительные результаты от одного этапа и могут использоваться в качестве входов для другие схемы, выполняющие следующий этап.
Часы ЦП измеряют дискретное время, а не непрерывное. Другими словами, существует время 0, за которым следует время 1, за которым следует время 2, и так далее для каждого последующего такта часов. Время тактового цикла процессора измеряет время между каждым тактом. Тактовая частота процессора (или тактовая частота) равна 1/(время тактового цикла). Обычно он измеряется в мегагерцах (МГц) или гигагерцах (ГГц). Тактовая частота 1 МГц соответствует одному миллиону тактов в секунду, а 1 ГГц — одному миллиарду тактов в секунду. Тактовая частота является мерой того, насколько быстро может работать ЦП, и является оценкой максимального количества инструкций в секунду, которые может выполнять ЦП. Например, на простых скалярных процессорах, таких как ЦП в нашем примере, процессор с частотой 2 ГГц может обеспечить максимальную скорость выполнения инструкций в два миллиарда инструкций в секунду (или две инструкции в наносекунду).
Хотя увеличение тактовой частоты на одном компьютере повысит его производительность, сама по себе тактовая частота не является значимым показателем для сравнения производительности различных процессоров. Например, некоторые архитектуры (например, RISC) требуют меньше этапов для выполнения инструкций, чем другие (например, CISC).В архитектурах с меньшим количеством стадий выполнения более медленные часы могут давать такое же количество инструкций, выполняемых в секунду, как и в другой архитектуре с более высокой тактовой частотой, но большим количеством стадий выполнения. Однако для конкретного микропроцессора удвоение его тактовой частоты примерно удвоит скорость выполнения инструкций.
Исторически сложилось так, что увеличение тактовой частоты (наряду с разработкой более сложных и мощных микроархитектур, которые могут управляться более быстрыми тактовыми частотами) было для компьютерных архитекторов очень эффективным способом повышения производительности процессора. Например, в 1974 году процессор Intel 8080 работал на частоте 2 МГц (тактовая частота два миллиона циклов в секунду). Тактовая частота Intel Pentium Pro, представленного в 1995 году, составляла 150 МГц (150 миллионов циклов в секунду), а тактовая частота Intel Pentium 4, представленного в 2000 году, составляла 1,3 ГГц или (1,3 миллиарда em> циклов в секунду). Пик тактовой частоты пришелся на середину-конец 2000-х годов, когда процессоры, такие как IBM z10, имели тактовую частоту 4,4 ГГц.
Однако сегодня тактовая частота ЦП достигла своего предела из-за проблем, связанных с отводом тепла более быстрыми тактовыми частотами. Этот предел известен как стена мощности. Стена питания привела к разработке многоядерных процессоров, начиная с середины 2000-х годов. Многоядерные процессоры имеют несколько «простых» ядер ЦП на чип, каждое ядро приводится в действие тактовой частотой, частота которой не увеличилась по сравнению с ядром предыдущего поколения. Многоядерный процессор — это способ повысить производительность ЦП без увеличения его тактовой частоты.
Схема часов
Схема синхронизации использует схему генератора для генерации очень точной и регулярной последовательности импульсов. Как правило, кварцевый генератор генерирует базовую частоту схемы генератора, а последовательность импульсов генератора используется тактовой схемой для вывода последовательности чередующихся высоких и низких напряжений, соответствующей чередующейся последовательности двоичных значений 1 и 0. На рис. 6 показан пример тактовой схемы, генерирующей регулярную последовательность выходных сигналов 1 и 0.
Рисунок 6. Обычный шаблон вывода 1 и 0 тактовой схемы. Каждая последовательность 1 и 0 составляет тактовый цикл.
Тактовый цикл (или тик) — это подпоследовательность 1 и 0 из шаблона схемы синхронизации. Переход от 1 к 0 или от 0 к 1 называется фронтом синхронизации. Тактовые фронты запускают изменения состояния в схемах ЦП, управляя выполнением инструкций. Нарастающий фронт тактового сигнала (переход от 0 к 1 в начале нового тактового цикла) указывает на состояние, в котором входные значения готовы к этапу выполнения инструкции. Например, передний фронт сигнализирует о том, что входные значения в схему АЛУ готовы. Пока значение часов равно 1, эти входы распространяются по схеме до тех пор, пока выход схемы не будет готов. Это называется задержкой распространения по цепи. Например, пока тактовый сигнал равен 1, входные значения в АЛУ распространяются по рабочим схемам АЛУ, а затем через мультиплексор для получения корректных выходных данных АЛУ для операции объединения входных значений. На заднем фронте (переход от 1 к 0) выходы каскада стабильны и готовы к передаче в следующее место (показано как «выход готов» на рисунке 7). Например, выход из АЛУ готов по заднему фронту. Пока значение часов равно 0, выходные данные АЛУ распространяются на входные данные регистрового файла. В следующем тактовом цикле нарастающий фронт указывает, что входное значение регистрового файла готово для записи в регистр (показано как «новый ввод» на рис. 7).
Рис. 7. Нарастающий фронт нового тактового цикла вызывает изменения на входах цепей, которыми он управляет. Спадающий фронт срабатывает, когда выходы цепей, которыми он управляет, действительны.
Длительность тактового цикла (или тактовая частота) ограничена максимальной задержкой распространения на любом этапе выполнения инструкции. Стадия выполнения и распространение через ALU обычно является самой продолжительной стадией. Таким образом, половина времени тактового цикла должна быть не быстрее, чем время распространения входных значений АЛУ по самой медленной рабочей схеме к выходам АЛУ (другими словами, выходы отражают результаты работы на входах) . Например, в нашем ALU с четырьмя операциями (OR, ADD, AND и EQUALS) сумматор с неравномерным переносом имеет наибольшую задержку распространения и определяет минимальную продолжительность тактового цикла.
Поскольку для завершения одного этапа выполнения инструкции ЦП требуется один такт, процессор с четырехэтапной последовательностью выполнения инструкций (выборка, декодирование, выполнение, обратная запись; см. рис. 8) выполняет не более одной инструкции каждые четыре такта. .
Если, например, тактовая частота составляет 1 ГГц, выполнение одной инструкции занимает 4 наносекунды (каждый из четырех этапов занимает 1 наносекунду). При тактовой частоте 2 ГГц выполнение одной инструкции занимает всего 2 наносекунды.
Хотя тактовая частота является фактором производительности процессора, сама по себе тактовая частота не является значимым показателем его производительности. Вместо этого среднее количество циклов на инструкцию (CPI), измеренное при полном выполнении программы, является лучшим показателем производительности процессора. Как правило, процессор не может поддерживать свой максимальный CPI для выполнения всей программы. Субмаксимальный CPI является результатом многих факторов, в том числе выполнения общих программных конструкций, которые изменяют поток управления, таких как циклы, ветвление if-else и вызовы функций. Средний показатель CPI для запуска набора стандартных тестовых программ используется для сравнения различных архитектур. CPI является более точным показателем производительности ЦП, поскольку он измеряет его скорость выполнения программы по сравнению с показателем одного аспекта выполнения отдельной инструкции. Дополнительную информацию о производительности процессора и проектировании процессоров для повышения их производительности см. в учебнике по компьютерной архитектуре 1.
5.6.2. Собираем все вместе: центральный процессор в полноценном компьютере
Путь данных (ALU, регистровый файл и шины, которые их соединяют) и путь управления (схема выполнения инструкций) составляют ЦП. Вместе они реализуют части обработки и управления архитектуры фон Неймана. Современные процессоры реализованы в виде цифровых схем, встроенных в кремниевые чипы. Микросхема процессора также включает в себя некоторую быструю встроенную кэш-память (реализованную с помощью схем хранения с защелкой), используемую для хранения копий недавно использованных программных данных и инструкций рядом с процессором. Дополнительную информацию о встроенной кэш-памяти см. в главе «Хранилище и иерархия памяти».
На рис. 9 показан пример процессора в контексте полного современного компьютера, компоненты которого вместе реализуют архитектуру фон Неймана.
Рисунок 9. Процессор полноценного современного компьютера. Шины соединяют микросхему процессора, оперативную память и устройства ввода и вывода.
5.6.3. Сноски
Авторское право (C) 2020 Dive into Systems, LLC.
Dive into Systems находится под лицензией Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).
Читайте также: