Как называются данные, необходимые для выполнения некоторой инструкции процессора

Обновлено: 21.11.2024

Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

программное обеспечение, инструкции, которые сообщают компьютеру, что делать. Программное обеспечение включает в себя весь набор программ, процедур и подпрограмм, связанных с работой компьютерной системы. Этот термин был придуман, чтобы отличить эти инструкции от оборудования, то есть физических компонентов компьютерной системы. Набор инструкций, предписывающих аппаратному обеспечению компьютера выполнять задачу, называется программой или программным обеспечением.

Двумя основными типами программного обеспечения являются системное программное обеспечение и прикладное программное обеспечение. Системное программное обеспечение управляет внутренним функционированием компьютера, в основном через операционную систему, а также контролирует такие периферийные устройства, как мониторы, принтеры и устройства хранения данных. Прикладное программное обеспечение, напротив, предписывает компьютеру выполнять команды, заданные пользователем, и можно сказать, что оно включает в себя любую программу, которая обрабатывает данные для пользователя. Таким образом, прикладное программное обеспечение включает в себя текстовые процессоры, электронные таблицы, управление базами данных, программы инвентаризации и расчета заработной платы и многие другие «приложения». Третья категория программного обеспечения — это сетевое программное обеспечение, которое координирует обмен данными между компьютерами, связанными в сети.

Компьютеры размещают веб-сайты, состоящие из HTML, и отправляют текстовые сообщения так же просто, как. РЖУ НЕ МОГУ. Взломайте этот тест, и пусть какая-нибудь технология подсчитает ваш результат и раскроет вам его содержание.

Программное обеспечение обычно хранится на внешнем устройстве долговременной памяти, таком как жесткий диск или магнитная дискета. Когда программа используется, компьютер считывает ее с запоминающего устройства и временно помещает инструкции в оперативную память (ОЗУ). Процесс сохранения и последующего выполнения инструкций называется «запуском» или «исполнением» программы. Напротив, программы и процедуры, которые постоянно хранятся в памяти компьютера с использованием технологии только для чтения (ПЗУ), называются прошивкой или «аппаратным программным обеспечением».

Редакторы Британской энциклопедии Эта статья была недавно отредактирована и обновлена ​​Адамом Августином.

Наследие более ранних разработок, таких как разностная машина Бэббиджа и перфокартные системы мейнфреймов 1970-х годов, оказывают значительное влияние на современные компьютерные системы. В своей первой статье из этой исторической серии «История компьютеров и современные компьютеры для системных администраторов» я обсудил несколько предшественников современного компьютера и перечислил характеристики, определяющие то, что мы сегодня называем компьютером.

В этой статье я расскажу о центральном процессоре (ЦП), включая его компоненты и функциональные возможности. Многие темы относятся к первой статье, поэтому обязательно прочитайте ее, если вы еще этого не сделали.

Центральный процессор (ЦП)

ЦП современных компьютеров — это воплощение «мельницы» в разностной машине Бэббиджа. Термин центральный процессор возник еще в далекие компьютерные времена, когда в одном массивном корпусе содержалась схема, необходимая для интерпретации программных инструкций машинного уровня и выполнения операций с предоставленными данными. Центральный процессор также завершил всю обработку всех подключенных периферийных устройств. Периферийные устройства включали принтеры, устройства чтения карт и ранние устройства хранения, такие как барабаны и дисководы. Современные периферийные устройства сами обладают значительной вычислительной мощностью и разгружают некоторые задачи обработки с ЦП. Это освобождает ЦП от задач ввода-вывода, так что его мощность применяется к основной задаче под рукой.

Ранние компьютеры имели только один ЦП и могли выполнять только одну задачу за раз.

Сегодня мы сохраняем термин ЦП, но теперь он относится к процессорному пакету на типичной материнской плате. На рис. 1 показан стандартный пакет процессоров Intel.

Рис. 1. Процессор Intel Core i5 (Джуд МакКрени, Wikimedia Commons, CC BY-SA 4.0).

Здесь действительно не на что смотреть, кроме самого пакета процессора. Пакет процессора представляет собой микросхему, содержащую процессор(ы), запечатанную внутри металлического контейнера и установленную на небольшой печатной плате (ПК). Пакет просто вставляется в гнездо ЦП на материнской плате и фиксируется с помощью фиксирующего рычага. Процессорный кулер крепится к корпусу процессора. Существует несколько различных физических разъемов с определенным количеством контактов, поэтому, если вы собираете свои собственные компьютеры, очень важно подобрать правильный корпус, подходящий для разъема материнской платы.

Как работает процессор

Давайте рассмотрим ЦП более подробно. На рис. 2 представлена ​​концептуальная схема гипотетического ЦП, позволяющая упростить визуализацию компонентов. ОЗУ и системные часы заштрихованы, поскольку они не являются частью ЦП и показаны только для ясности. Кроме того, никакие связи между тактовым генератором ЦП и блоком управления и компонентами ЦП не используются. Достаточно сказать, что сигналы от тактового генератора и блока управления являются неотъемлемой частью любого другого компонента.

Рисунок 2. Упрощенная концептуальная схема типичного процессора.

Этот дизайн не выглядит особенно простым, но на самом деле все еще сложнее. Этой цифры достаточно для наших целей, но она не слишком сложная.

Арифметико-логическое устройство

Арифметико-логическое устройство (АЛУ) выполняет арифметические и логические функции, за которые отвечает компьютер. A и B регистры содержат входные данные, а накопитель получает результат операции. Регистр инструкций содержит инструкцию, которую должен выполнить АЛУ.

Например, при добавлении двух чисел одно число помещается в регистр A, а другое — в регистр B. АЛУ выполняет сложение и помещает результат в аккумулятор. Если операция логическая, сравниваемые данные помещаются в регистры ввода. Результат сравнения, 1 или 0, помещается в аккумулятор. Независимо от того, является ли это логической или арифметической операцией, содержимое накопителя затем помещается в ячейку кэша, зарезервированную программой для результата.

Существует еще один тип операций, выполняемых ALU. Результатом является адрес в памяти, который используется для вычисления нового местоположения в памяти, чтобы начать загрузку инструкций. Результат помещается в регистр указателя команд.

Регистр инструкций и указатель

Указатель инструкции указывает место в памяти, содержащее следующую инструкцию, которую должен выполнить ЦП. Когда ЦП завершает выполнение текущей инструкции, следующая инструкция загружается в регистр инструкций из ячейки памяти, на которую указывает указатель инструкции.

После загрузки инструкции в регистр инструкций указатель регистра инструкций увеличивается на один адрес инструкции. Увеличение позволяет ему быть готовым к перемещению следующей инструкции в регистр инструкций.

Кэш

ЦП никогда не обращается напрямую к ОЗУ. Современные процессоры имеют один или несколько уровней кеша. Способность ЦП выполнять вычисления намного быстрее, чем способность ОЗУ передавать данные ЦП. Причины этого выходят за рамки этой статьи, но я расскажу об этом подробнее в следующей статье.

Кэш-память быстрее системной ОЗУ и ближе к ЦП, поскольку находится на кристалле процессора. Кэш обеспечивает хранение данных и инструкции, чтобы ЦП не ждал, пока данные будут извлечены из ОЗУ. Когда центральному процессору нужны данные (а инструкции программы также считаются данными), кэш определяет, имеются ли уже данные, и предоставляет их центральному процессору.

Если запрошенных данных нет в кеше, они извлекаются из ОЗУ и с помощью алгоритмов прогнозирования перемещают больше данных из ОЗУ в кеш. Контроллер кэша анализирует запрошенные данные и пытается предсказать, какие дополнительные данные потребуются из оперативной памяти. Он загружает ожидаемые данные в кеш. Храня некоторые данные ближе к ЦП в кеше, который быстрее, чем ОЗУ, ЦП может оставаться занятым и не тратить циклы на ожидание данных.

Наш простой ЦП имеет три уровня кэша. Уровни 2 и 3 предназначены для прогнозирования того, какие данные и программные инструкции потребуются в следующий раз, для перемещения этих данных из ОЗУ и перемещения их как можно ближе к ЦП, чтобы они были готовы, когда это необходимо. Эти размеры кэша обычно варьируются от 1 МБ до 32 МБ в зависимости от скорости и предполагаемого использования процессора.

Кэш уровня 1 расположен ближе всего к центральному процессору. В нашем процессоре есть два типа кеша L1.L1i — это кэш инструкций, а L1d — кэш данных. Размер кэша уровня 1 обычно составляет от 64 КБ до 512 КБ.

Блок управления памятью

Блок управления памятью (MMU) управляет потоком данных между основной памятью (ОЗУ) и ЦП. Он также обеспечивает защиту памяти, необходимую в многозадачных средах, и преобразование адресов виртуальной памяти в физические адреса.

Часы процессора и блок управления

Все компоненты ЦП должны быть синхронизированы для бесперебойной совместной работы. блок управления выполняет эту функцию со скоростью, определяемой тактовой частотой, и отвечает за управление операциями других блоков с помощью сигналов синхронизации, которые распространяются на ЦП.< /p>

Оперативная память (ОЗУ)

Хотя ОЗУ или основное хранилище показаны на этой и следующей диаграммах, на самом деле они не являются частью ЦП. Его функция заключается в хранении программ и данных, чтобы они были готовы к использованию, когда они потребуются процессору.

Как это работает

ЦП работают по циклу, который управляется блоком управления и синхронизируется с часами ЦП. Этот цикл называется циклом инструкций ЦП и состоит из ряда компонентов выборки/декодирования/выполнения. Инструкция, которая может содержать статические данные или указатели на переменные данные, извлекается и помещается в регистр инструкций. Команда декодируется, и любые данные помещаются в регистры данных A и B. Инструкция выполняется с использованием регистров A и B, а результат помещается в аккумулятор. Затем ЦП увеличивает значение указателя инструкции на длину предыдущего и начинает заново.

Базовый цикл инструкций ЦП выглядит следующим образом.

Рисунок 3. Базовый цикл инструкций ЦП.

Потребность в скорости

Хотя базовый ЦП работает хорошо, ЦП, работающие в этом простом цикле, можно использовать еще эффективнее. Существует несколько стратегий повышения производительности ЦП, и здесь мы рассмотрим две из них.

Ускорение цикла инструкций

Одной из проблем, с которой столкнулись первые разработчики ЦП, была трата времени на различные компоненты ЦП. Одной из первых стратегий повышения производительности ЦП было перекрытие частей цикла инструкций ЦП для более полного использования различных частей ЦП.

Например, когда текущая инструкция декодирована, следующая извлекается и помещается в регистр инструкций. Как только это произошло, указатель инструкции обновляется адресом памяти следующей инструкции. Использование перекрывающихся циклов команд показано на рисунке 4.

Рисунок 4. Цикл инструкций ЦП с перекрытием.

Этот дизайн выглядит красиво и плавно, но такие факторы, как ожидание ввода-вывода, могут нарушить поток. Отсутствие правильных данных или инструкций в кэше требует, чтобы MMU находил правильные данные и перемещал их в ЦП, а это может занять некоторое время. Для выполнения некоторых инструкций также требуется больше циклов ЦП, чем для других, что мешает плавному перекрытию.

Тем не менее, это мощная стратегия повышения производительности ЦП.

Гиперпоточность

Еще одна стратегия повышения производительности ЦП — гиперпоточность. Гиперпоточность заставляет одно ядро ​​процессора работать как два процессора, предоставляя два потока данных и инструкций. Добавление второго указателя инструкций и регистра инструкций к нашему гипотетическому ЦП, как показано на рис. 5, заставляет его функционировать как два ЦП, выполняя два отдельных потока инструкций в течение каждого командного цикла. Кроме того, когда один поток выполнения останавливается в ожидании данных (опять же, инструкции также являются данными), второй поток выполнения продолжает обработку. Каждое ядро, реализующее гиперпоточность, эквивалентно двум ЦП по способности обрабатывать инструкции.

Рис. 5. Концептуальная схема ЦП с технологией Hyper-Threading.

Помните, что это очень упрощенная схема и объяснение нашего гипотетического процессора. Реальность гораздо сложнее.

Дополнительная терминология

Я столкнулся с множеством различных терминов ЦП. Чтобы более точно определить терминологию, давайте рассмотрим сам ЦП с помощью команды lscpu.

Процессор Intel, показанный выше, представляет собой корпус, который подключается к одному разъему на материнской плате. Пакет процессора содержит шесть ядер. Каждое ядро ​​поддерживает гиперпоточность, поэтому каждое из них может одновременно запускать два потока, что в сумме дает 12 ЦП.

  • Ядро. Ядро — это наименьшая единица физического оборудования, способная выполнять задачу обработки. Он содержит одно АЛУ и один или два набора вспомогательных регистров. Второй набор регистров и поддерживающих схем обеспечивает гиперпоточность. Одно или несколько ядер можно объединить в один физический пакет.
  • ЦП. Логический аппаратный блок, способный обрабатывать один поток выполнения. Современное использование термина центральный процессор относится к общему количеству потоков, которые процессорный пакет может выполнять одновременно. Одноядерный процессор, не поддерживающий гиперпоточность, эквивалентен одному процессору. В этом случае ЦП и ядро ​​являются синонимами. Процессор Hyper-Threading с одним ядром является функциональным эквивалентом двух процессоров. Процессор с поддержкой технологии Hyper-Threading с восемью ядрами функционально эквивалентен 16 процессорам.
  • Пакет – физический компонент, содержащий одно или несколько ядер, как показано на рис. 1 выше.
  • Процессор. 1) Устройство, которое обрабатывает инструкции программы для обработки данных. 2) Часто используется как синоним пакета.
  • Сокет. Иногда используется как синоним пакета, но более точно относится к физическому сокету на материнской плате, в который вставляется корпус процессора.

Термины сокет, процессор и пакет часто используются взаимозаменяемо, что может вызвать некоторую путаницу. Как видно из приведенных выше результатов команды lscpu, Intel предоставляет нам собственную терминологию, и я считаю ее авторитетным источником. На самом деле мы все используем эти термины по-разному, но если мы понимаем друг друга в любой момент времени, это действительно важно.

Обратите внимание, что указанный выше процессор имеет два кэша уровня 1 по 512 КиБ каждый: один для инструкций (L1i) и один для данных (L1d). Кэш уровня 1 находится ближе всего к ЦП, и он ускоряет работу, разделяя инструкции и данные на этом этапе. Кэши уровня 2 и уровня 3 больше, но инструкции и данные сосуществуют в каждом из них.

Что все это значит?

Хороший вопрос. На заре мейнфреймов каждый компьютер имел только один ЦП и не мог одновременно запускать более одной программы. Мейнфрейм может выполнять расчет заработной платы, затем учет запасов, затем выставление счетов клиентам и т. д., но одновременно может выполняться только одно приложение. Каждая программа должна была завершиться, прежде чем системный оператор мог запустить следующую.

В некоторых ранних попытках одновременного запуска нескольких программ применялся простой подход, направленный на более эффективное использование одного процессора. Например, программа1 и программа2 были загружены, а программа1 выполнялась до тех пор, пока не была заблокирована в ожидании ввода-вывода. В этот момент программа2 работала до тех пор, пока не была заблокирована. Такой подход назывался многопроцессорной обработкой и позволял полностью использовать ценное компьютерное время.

Все ранние попытки многозадачности включали очень быстрое переключение контекста выполнения одного ЦП между потоками выполнения нескольких задач. Эта практика не является настоящей многозадачностью, как мы ее понимаем, потому что в действительности одновременно обрабатывается только один поток выполнения. Правильнее будет назвать это разделением времени.

Все современные компьютеры, от смарт-часов и планшетов до суперкомпьютеров, поддерживают настоящую многозадачность с несколькими процессорами. Наличие нескольких процессоров позволяет компьютерам выполнять множество задач одновременно. Каждый ЦП выполняет свои функции одновременно со всеми остальными ЦП. Восьмиъядерный процессор с технологией Hyper-Threading (т. е. 16 ЦП) может одновременно выполнять 16 задач.

Заключительные мысли

Мы рассмотрели концептуальный и упрощенный ЦП, чтобы немного узнать о структурах. В этой статье я лишь поверхностно коснулся функциональности процессора. Вы можете узнать больше, воспользовавшись встроенными ссылками на изученные нами темы.

Помните, что схемы и описания в этой статье носят чисто концептуальный характер и не представляют реальный ЦП.

В следующей части этой серии статей я рассмотрю оперативную память и дисковые накопители как разные типы хранилищ и поясню, почему каждый из них необходим современным компьютерам.

Когда программное обеспечение устанавливается на компьютер (путем его загрузки из Интернета или установки с диска), программа и все связанные с ней файлы сохраняются во вторичной памяти. Код программы хранится в виде последовательности битов, представляющих машинные инструкции. Код остается там до тех пор, пока пользователь не решит выполнить рассматриваемую программу, после чего участки кода загружаются в память компьютера.

Чтобы действительно запустить код, процессору необходимо извлечь инструкции из памяти одну за другой, чтобы он мог их выполнить.Этот процесс состоит из трех этапов: выборка инструкции, декодирование инструкции и выполнение инструкции — эти три этапа известны как машинный цикл. Процессор проводит все свое время в этом цикле, бесконечно извлекая следующую инструкцию, расшифровывая ее и выполняя ее.

В цикле выборки блок управления просматривает регистр счетчика программ (ПК), чтобы получить адрес памяти для следующей инструкции. Затем он запрашивает эту инструкцию из основной памяти и помещает ее в регистр инструкций (IR).

Здесь блок управления проверяет инструкцию, которая сейчас хранится в регистре инструкций (IR). Он смотрит на инструкцию, которая представляет собой просто последовательность нулей и единиц, и решает, что нужно сделать. В инструкции сказано добавить два числа? Говорит ли он загрузить значение из памяти? Где в памяти? Блок управления интерпретирует двоичную инструкцию, чтобы ответить на подобные вопросы.

Теперь блок управления отправляет сигналы, которые сообщают АЛУ, памяти и другим компонентам сигналы о том, что они должны выполнять правильную работу.

В приведенном ниже видеоролике демонстрируется простая программа, работающая на компьютере. Показанный воображаемый компьютер использует специальные регистры для хранения адреса памяти (MAR) и данных, которые только что поступили из памяти (MBR). Он также использует регистры AL и BL для временного хранения значений. Не беспокойтесь о деталях этих других регистров, сосредоточьтесь на цикле выборки/декодирования/выполнения и на том, как используются ПК и ИК.


В наши дни почти каждый использует компьютер, будь то дома или на работе. На самом деле редко можно встретить человека, у которого нет доступа к компьютеру. Мы сильно зависим от компьютеров, особенно в деловом мире. Тем не менее, мало кто действительно понимает, как работают компьютеры. Как компьютер может выполнять команды, которые вы вводите? Ответ на этот вопрос дает микропроцессор компьютера. Конечно, знание этого мало что объясняет. Мы расскажем вам, что такое микропроцессор, как он работает и многое другое.

Что такое микропроцессор?

Микропроцессор — это центральный блок компьютерной системы, выполняющий арифметические и логические операции, которые обычно включают сложение, вычитание, перенос чисел из одной области в другую и сравнение двух чисел. Его часто называют просто процессором, центральным процессором или логическим чипом. По сути, это двигатель или мозг компьютера, который приходит в движение при включении компьютера. Это программируемое многоцелевое устройство, объединяющее функции ЦП (центрального процессора) в одной ИС (интегральной схеме).

Как работает микропроцессор?

Микропроцессор принимает двоичные данные в качестве входных данных, обрабатывает эти данные, а затем предоставляет выходные данные на основе инструкций, хранящихся в памяти. Для обработки данных используются АЛУ (арифметико-логическое устройство) микропроцессора, блок управления и массив регистров. Массив регистров обрабатывает данные через ряд регистров, которые действуют как временные ячейки памяти с быстрым доступом. Поток инструкций и данных через систему управляется блоком управления.

Преимущества микропроцессора

Но компьютерные системы — не единственные устройства, использующие микропроцессоры. В наши дни все, от смартфонов до бытовой техники и автомобилей, использует микропроцессоры. Вот несколько причин, почему микропроцессоры так широко используются:

    Они не стоят дорого. Благодаря использованию технологии ИС производство микропроцессоров не требует больших затрат. Это означает, что использование микропроцессоров может значительно снизить стоимость системы, в которой они используются.

Общие используемые термины

Когда дело доходит до обсуждения микропроцессоров, их функций и многого другого, вы, вероятно, столкнетесь с рядом терминов, с которыми, возможно, не знакомы. Ниже приведены некоторые общие термины, относящиеся к микропроцессорам:

Длина слова

Набор инструкций

Набор инструкций — это последовательность команд, которые может понять микропроцессор. По сути, это интерфейс между аппаратным и программным обеспечением.

Кэш-память

Кэш-память используется для хранения данных или инструкций, на которые программное обеспечение или программа часто ссылаются во время работы. По сути, это помогает увеличить общую скорость операции, позволяя процессору получать доступ к данным быстрее, чем из обычной оперативной памяти.

Часовая частота

Тактовая частота — это скорость, с которой микропроцессор может выполнять инструкции.Обычно он измеряется в герцах и выражается в единицах измерения, таких как МГц (мегагерцы) и ГГц (гигагерцы).

Шина – это термин, используемый для описания набора проводников, которые передают данные, адреса или управляющую информацию к различным элементам микропроцессора. Большинство микропроцессоров состоят из трех разных шин, включая шину данных, шину адреса и шину управления.

Категории микропроцессоров

Микропроцессоры можно разделить на разные категории следующим образом:

На основе длины слова

Компьютер с сокращенным набором команд (RISC)

Микропроцессоры RISC используются чаще, чем процессоры с более конкретным набором инструкций. Для выполнения инструкций в процессоре требуется специальная схема для загрузки и обработки данных. Поскольку в микропроцессорах RISC меньше инструкций, у них более простые схемы, а значит, они работают быстрее. Кроме того, микропроцессоры RISC имеют больше регистров, используют больше оперативной памяти и используют фиксированное количество тактов для выполнения одной инструкции.

Компьютер со сложным набором инструкций

Микропроцессоры CISC противоположны микропроцессорам RISC. Их цель — сократить количество инструкций для каждой программы. Количество циклов на инструкцию игнорируется. Поскольку сложные инструкции выполняются непосредственно аппаратно, микропроцессоры CISC сложнее и медленнее. Микропроцессоры CISC используют мало оперативной памяти, имеют больше транзисторов, меньше регистров, имеют большое количество тактов для каждой инструкции и имеют различные режимы адресации.

Специальные процессоры

Некоторые микропроцессоры предназначены для выполнения определенных функций. Например, сопроцессоры используются в сочетании с основным процессором, а транспьютер — это транзисторный компьютер: микропроцессор с собственной локальной памятью.

Микропроцессор стал поворотным моментом в современной вычислительной технике

Раньше процессоры были огромными. Только в 1960-х годах дизайнеры пытались интегрировать функции центрального процессора в микропроцессорные блоки. Именно успешное развитие микропроцессора привело к созданию домашнего компьютера. Микропроцессоры общего назначения — это то, что позволяет использовать наши компьютеры для редактирования текста, отображения мультимедиа, вычислений и связи через Интернет. Из-за того, насколько они быстрые, маленькие и энергоэффективные, они стали неотъемлемой частью разработки повседневных технологий, включая бытовую технику, смартфоны и многое другое. Поскольку микропроцессор в корне изменил мир, стоит разобраться, что это такое и как оно работает!

Насколько вы уверены, что ваш бизнес работает с использованием самых современных технологий? Пройдите наш тест сегодня!

Читайте также: