Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Центральный процессор (CPU) представляет собой электронную схему, которая может выполнять компьютерные программы. Сам термин был в эксплуатации в компьютерной индустрии, по крайней мере, с начала 1960-ых. Образ, разработка и внедрение процессоров радикально изменились с самых ранних примеров, но их фундаментальные работы осталась почти такими же.
Фундаментальная работа большинства процессоров, независимо от их физической формы, должна выполнить последовательность хранимых инструкций, называемых программами. Программа представлена серией чисел, которые хранятся в какой-то компьютерной памяти . Есть четыре шага , которые почти все процессоры используют в своей деятельности : извлечение, декодирование, выполнение и обратная запись.
Первым шагом, извлечение, включает получение инструкции (которая представлена числом или последовательностью чисел) из памяти программ. Расположение в программной памяти определяется счетчиком команд (PC) , который хранит номер, который идентифицирует текущую позицию в программе. После выбора команды, компьютер получает приращение на длине командного слова в единицах памяти. Часто инструкция, чтобы быть извлеченной, должна быть получена из относительно медленной памяти, в результате чего процессор тормозит, ожидая команды, которая будет возвращена. Этот вопрос в значительной степени рассматривается в современных процессорах от кэшей и архитектуры трубопроводов.
Инструкция, которую процессор получает из памяти, используется для определения того, что процессор делает. На этапе декодирования, инструкция разбита на части, которые имеют значение для других частей процессора. То, каким образом интерпретируется численное значение из инструкции, определяется набор инструкций архитектуры процессора. Часто, одна группа чисел в инструкции называется код операции, который указывает операцию выполнить. Остальные части числа обычно предоставляют информацию, необходимую для этой команды, такие как операнды для операции сложения. Такие операнды могут быть предоставлены в качестве постоянной величины (так называемое непосредственное значение ), или как место , чтобы хранить значение: регистр или адрес памяти, определяемый некоторым режимом адресации .
После выборки и декодирования шагов, выполняемый шаг выполняется. На этом этапе, различные части процессора подключены, чтобы они могли выполнить нужную операцию. Если, например, операция сложения была запрошена, арифметико-логическое устройство (АЛУ) будет подключены к соответствующим входам и набор выходов. Входы обеспечивают цифры, которые будут добавлены, а выходы будут содержать конечную сумму. АЛУ содержит схему для выполнения простых арифметических и логических операций над входами (как сложение и битовые операций). Если операция сложения дает результат слишком большой для обработки процессора, арифметический флаг переполнения во флагах регистра также может быть установлен.
Последний шаг, обратная запись, просто "записывает обратно " результаты выполнения шага к некоторой форме памяти. Очень часто результаты записываются в какой-то внутренний регистр процессора для быстрого доступа последующими инструкциями. В других случаях результаты могут быть записаны на более медленной, но более дешевой и большей основной памяти. Некоторые типы инструкций манипулируют счетчиком команд, а не непосредственно производят данные результата. Как правило, они называются " скачки " и облегчают поведение как циклы, условные выполнения программы (за счет использования условного перехода ), и функции в программах. Многие инструкции также изменяют состояние цифр во " флагах " регистра. Эти флаги могут использоваться, чтобы влиять на то, как ведет себя программа, так как они часто указывают на исход различных операций. Например, один тип "сравнения" инструкций рассматривает два значения и устанавливает число в регистре флагов в соответствии с тем, который больше. Этот флаг можно было бы использовать на более поздний инструкции перехода, чтобы определить ход выполнения программы.
После выполнения команд и обратной записи из полученных данных, весь процесс повторяется, со следующей командой цикл обычно выполняет следующую в последовательности инструкцию из-за увеличивающегося значения в счетчике команд . Если завершенная инструкция была скачком, счетчик программа будет изменен, чтобы содержать адрес инструкции, которая подскочила, и выполнение программы продолжится в нормальном режиме. В более сложных процессорах, чем описанный здесь, множественные инструкции могут выбираться, декодироваться и выполняться одновременно.