Что такое выполнение программ центральным процессором

Обновлено: 03.07.2024

    Темы, обсуждаемые в этой веб-заметке:

<УЛ> <УЛ>
  • Структура и работа ЦП
    • Функция каждого компонента ЦП
    • Работа процессора (цикл выполнения инструкций)
    <УЛ>
  • Концепция указателя
  • Счетчик программ — это указатель
  • Поток программы по умолчанию является последовательным
  • Инструкция перехода может изменить ход программы по умолчанию
  • <УЛ>
  • Арифметические и логические операции
  • Операции передачи данных между процессором и оперативной памятью
  • Инструкции перехода, которые изменяют ход программы (инструкции перехода могут быть условными)
    • Структура процессора:

    Компоненты ЦП:

    <УЛ> <УЛ>
  • Регистр – это синоним памяти в информатике.
  • Регистр общего назначения — это ячейка памяти.
  • Каждый регистр общего назначения имеет уникальное имя
  • Он используется для хранения (и вызова) промежуточных результатов сложных вычислений.
  • <УЛ> <УЛ>
  • Сложная электрическая цепь, которая может выполнять математические (+, -, ×, /) и логические операции ( , ≥, и , или )
  • Вывод (результат) вычисления (полученный АЛУ) часто сохраняется в регистре общего назначения
    • <УЛ>
    • Содержит текущую инструкцию, выполняемую процессором.
    • ЦП выполнит операцию, указанную кодом инструкции, содержащимся в регистре инструкций

    <УЛ> <УЛ>
  • Счетчик программ — это регистр (ячейка памяти)!
  • Этот регистр содержит адрес (местоположение в памяти) следующей инструкции после того, как ЦП завершит выполнение текущей инструкции в регистре инструкций
  • Значение счетчика команд будет увеличиваться после того, как ЦП завершит выполнение одной инструкции.
    • <УЛ>
    • Этот регистр содержит различную информацию о процессоре.
    • Среди информации, содержащейся в PSR, есть:

    Результат операции сравнения позволит ЦП определить следующий факт между a и b :

      Центральный процессор многократно выполняет следующую последовательность операций:

      После выполнения инструкции ЦП получает («выбирает») (следующую) инструкцию по адресу (местоположению), указанному в программном счетчике

      <УЛ> Предположим, ЦП только что завершил выполнение инструкции (код инструкции 0) в регистре инструкций:

    (Код инструкции 0 в регистре инструкций означает "добавить" и она только что была выполнена)

      ЦП сначала отправляет запрос на получение (восстановление) данных, хранящихся в ячейке памяти, заданной программным счетчиком (ПК) (на рисунке значение ПК = 1):

    ЦП заставит память извлекать (вызывать) значение, хранящееся по адресу памяти (местоположению) 1

    Это число (4) будет интерпретироваться как код компьютерной инструкции.

    Старый код инструкции (0) будет заменен новым кодом инструкции

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

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

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

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

    Ситуация следующая:

    Последовательность инструкций хранится в памяти.

    Адрес памяти, где находится первая инструкция, копируется в программный счетчик.

    ЦП отправляет адрес счетчика команд в память по адресной шине.

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

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

    ЦП выполняет инструкцию в регистре инструкций.

    Шаги 3, 4 и 5 называются файлом . Обратите внимание, что шаги 3–7 составляют цикл, файл . Это показано графически на рисунке 8.4.1.

    Инструкция wfi («ожидание прерывания») переводит ЦП в состояние ожидания, в котором он остается до тех пор, пока устройство ввода-вывода не отправит ЦП сигнал прерывания. Мы очень кратко рассмотрим прерывания в главе 17, но подробности выходят за рамки этой книги. Пока достаточно понять, что инструкция wfi останавливает цикл выполнения программы.

    На самом деле ARM получает две инструкции одновременно. Но это деталь реализации, помогающая ускорить выполнение программы. Логический поток программы соответствует циклу выполнения инструкции, показанному на рис. 8.4.1.

    В связи с этим возникает несколько вопросов:

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

    An используется для создания .

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

    А или используется для создания .

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

    A используется для создания .

    Большинство программ состоят из нескольких объектных файлов. Например, установка GNU/Linux включает множество объектных файлов, содержащих машинные инструкции для выполнения общих задач. Это уже написанные и скомпилированные программы. Связанные задачи обычно группируются в один файл, называемый библиотекой.

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

    Возможно, вы использовали интегрированную среду разработки (IDE), например Microsoft Visual Studio® или Eclipse™, которая объединяет все эти три программы в один пакет, где каждый из промежуточных шагов выполняется автоматически. Вы используете программу-редактор для создания исходного файла, а затем даете команду запуска в IDE. IDE скомпилирует программу в ваши исходные файлы, свяжет полученные объектные файлы с необходимыми библиотеками, загрузит полученный исполняемый файл в память, затем запустит вашу программу. Как правило, промежуточные объектные файлы, полученные в результате компиляции каждого исходного файла, автоматически удаляются с диска.

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

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

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

    Скучно с текстом? Вместо этого посмотрите видео.

    Этапы выполнения инструкций процессором:

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

    1. Получить инструкцию
    2. Информация о декодировании
    3. Выполнить операцию ALU
    4. Доступ к памяти
    5. Обновить регистрационный файл
    6. Обновите счетчик программ (ПК)

    Шаг 1. Получить инструкцию

    Цикл выполнения начинается с выборки инструкции из основной памяти. Команда на текущем программном счетчике (ПК) будет выбрана и сохранена в регистре инструкций (ИР).

    Шаг 2: Инструкция по декодированию

    Во время этого цикла закодированная инструкция, присутствующая в IR (регистре инструкций), интерпретируется декодером.

    Шаг 3. Выполните операцию ALU

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

    Какие шаги выполняет ЦП для выполнения инструкции?

    Шаг 4. Доступ к памяти

    Есть только два типа инструкций, которые обращаются к памяти: ЗАГРУЗИТЬ и СОХРАНИТЬ. LOAD копирует значение из памяти в регистр, а STORE копирует значение регистра в память. Любая другая инструкция пропускает этот шаг.

    Шаг 5. Обновите регистрационный файл

    На этом шаге вывод/результат АЛУ записывается обратно в файл регистров для обновления файла регистров. Результат также может быть связан с ЗАГРУЗКОЙ из памяти. Некоторые инструкции не имеют результатов для сохранения. Например, инструкции BRANCH и JUMP не имеют результатов для сохранения.

    Шаг 6. Обновите ПК (счетчик программ)

    В конце концов, в конце выполнения текущей инструкции нам нужно обновить счетчик программ (ПК) до адреса следующей инструкции, чтобы мы могли вернуться к шагу 1, где ЦП будет получать инструкцию. Однако может потребоваться установка счетчика программ на другой адрес памяти, если это была инструкция BRANCH или JUMP

    Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы.

    Связанные термины:

    Скачать в формате PDF

    Об этой странице

    Адаптация и оценка симплексного алгоритма для архитектуры потока данных

    Урош Чибей, Юрий Михелич, Достижения в области компьютеров, 2017

    2.2 Вид программиста

    Чтобы программист мог разработать законченную программу, необходимо написать три компонента.

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

    Каждое ядро ​​реализует определенную функциональность и примерно соответствует абстракции функции. Он имеет набор входных потоков и набор выходных потоков.

    Менеджер — это компонент, который соединяет потоки данных от ЦП к ядрам-получателям и наоборот. Он устанавливает соединения между ядрами и LMem, а также связывает ядра между собой. Диспетчер также создает интерфейсы, с помощью которых код ЦП взаимодействует с DFE.

    Диспетчер и ядра написаны на предметно-ориентированном языке MaxJ. Этот язык представляет собой надмножество языка программирования Java с несколькими расширениями, более подходящими для упрощения создания программ потока данных.

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

    Схема этой архитектуры представлена ​​на рис. 1.

    < бр />

    Рис. 1 . Схематический обзор компонентов системы потока данных. серая рамка обозначает микросхему FPGA. Взгляд программиста на архитектуру показан в виде файлов, которые необходимо реализовать для каждой программы, файл .maxj написан на языке MaxJ, тогда как поток управления обычно написан на C или C++, но поддерживаются и другие языки. .

    КОМПЬЮТЕРНЫЙ ДИЗАЙН

    Доминик Росато, Дональд Росато, Дизайн изделий из пластмассы, 2003 г.

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

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

    Блок управления управляет всеми операциями ЦП, включая операции АЛУ, перемещение данных внутри ЦП, а также обмен данными и управляющими сигналами через внешние интерфейсы (системную шину). Регистры — это быстродействующие блоки внутренней памяти ЦП. Некоторые регистры видны пользователю; то есть доступный для программиста через набор машинных инструкций.Другие регистры предназначены исключительно для ЦП в целях управления. Внутренние часы синхронизируют все компоненты ЦП. Тактовая частота (количество тактовых импульсов в секунду) измеряется в мегагерцах (МГц) или миллионах тактовых импульсов в секунду. Тактовая частота, по сути, определяет, насколько быстро ЦП обрабатывает инструкции.

    Оборудование

    Центральный процессор управляет всем. Он извлекает программные инструкции по своей шине «на стороне инструкций» (IS), считывает данные по своей шине «на стороне данных» (DS), выполняет инструкции и записывает результаты на шину DS. ЦП может работать на частоте SYSCLK до 80 МГц, что означает, что он может выполнять одну инструкцию каждые 12,5 нс. ЦП способен умножать 32-разрядное целое число на 16-разрядное целое число за один цикл или 32-разрядное целое число на 32-разрядное целое число за два цикла. Блока с плавающей запятой (FPU) нет, поэтому вычисления с плавающей запятой выполняются программными алгоритмами, что делает операции с плавающей запятой намного медленнее, чем вычисления с целыми числами.

    ЦП представляет собой ядро ​​микропроцессора MIPS32® M4K®, лицензированное компанией Imagination Technologies. ЦП работает при напряжении 1,8 В (обеспечиваемом стабилизатором напряжения, встроенным в PIC32, поскольку он используется на плате NU32). Контроллер прерываний, обсуждаемый ниже, может уведомлять ЦП о внешних событиях.

    Встроенные процессоры

    Внутренние шины ЦП

    Шины ЦП — это механизмы, соединяющие другие компоненты ЦП: АЛУ, ЦП и регистры (см. рис. 4-22). Шины — это просто провода, которые соединяют между собой различные другие компоненты ЦП. Провод каждой шины обычно делится на логические функции, такие как данные (которые переносят данные в двух направлениях между регистрами и АЛУ), адрес (который переносит расположение регистров, содержащих данные для передачи), управление (переносит управление информацию о сигналах, такую ​​как временные и управляющие сигналы, между регистрами, ALU и CU) и т. д.

    < бр />

    Рисунок 4-22. Ядро и шины PowerPC. [15]

    В ядре PowerPC есть управляющая шина, по которой управляющие сигналы передаются между АЛУ, CU и регистрами. То, что PowerPC называет «исходными шинами», — это шины данных, передающие данные между регистрами и АЛУ. Существует дополнительная шина, называемая обратной записью, которая предназначена для обратной записи данных, полученных с исходной шины, непосредственно обратно из модуля загрузки/сохранения в фиксированные регистры или регистры с плавающей запятой.

    Примечание. Во избежание дублирования автобусы будут более подробно обсуждаться в главе 7 .

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

    Чтение/запись памяти

    ЦП всегда контролирует направление потока данных в базе данных, поскольку, хотя он и является двунаправленным, данные могут перемещаться только в одном направлении за раз. ЦП выдает специальный сигнал управления чтением/записью (R/W) (рис. 3.2), который активирует схемы в памяти, определяющие направление потока данных. Например, когда линия чтения/записи (R/W) имеет высокий уровень, ЦП передает информацию из ячейки памяти в ЦП.

    Временная диаграмма операции чтения из памяти показана на рис. 3.3.

    < бр />

    Рис. 3.3. Время чтения/записи.

    Предположим, что компьютеру была дана инструкция прочитать данные из ячейки памяти номер 10. Чтобы выполнить операцию чтения, ЦП переводит линию чтения/записи в высокий уровень, чтобы активировать схему памяти при подготовке к операции чтения. Практически одновременно на АБ размещается адрес для местоположения 10 («адрес действителен» на рис. 3.3). В память АБ отправляется число 10 в 16-битном двоичном коде (0000 0000 0000 1010). Двоичные электрические сигналы, соответствующие 10, управляют определенными цепями в памяти, чтобы заставить двоичные данные в этом месте быть помещенными в БД. ЦП имеет внутренний регистр, который активируется во время этой операции чтения для приема и сохранения данных. Затем данные обрабатываются ЦП во время следующего цикла работы в соответствии с соответствующей инструкцией.

    Аналогичная операция выполняется всякий раз, когда ЦП должен отправить данные из одного из своих внутренних регистров в память, что является операцией «записи». В этом случае линия R/W будет установлена ​​на логический уровень, противоположный операции чтения (т.е. низкий в данном примере). Во время операции записи отправляемые данные помещаются в БД одновременно с адресом назначения в АВ. Эта операция перенесет данные из источника ЦП в место назначения, которым может быть место в памяти в ОЗУ или внешнее устройство (как будет объяснено позже).

    Компьютерные системы

    1.3.1 Работа системы

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

    Декодер адреса управляет доступом к памяти и регистрам ввода-вывода для конкретного проекта. Как правило, программируемое логическое устройство (PLD) используется для выделения каждой микросхеме памяти определенного диапазона адресов. Код входного адреса в определенном диапазоне генерирует выходной сигнал выбора микросхемы, который включает это устройство. Регистры портов ввода-вывода, которые настроены для обработки передачи данных в систему и из нее, также получают определенные адреса с помощью того же механизма, и ЦП обращается к ним так же, как к ячейкам памяти. Назначение адресов конкретным периферийным устройствам называется картой памяти (рис. 1.6 б).

    Процессор

    ХАРВИ М. ДЕЙТЕЛЬ, БАРБАРА ДЕЙТЕЛЬ, Введение в обработку информации, 1986 г.

    Сводка издателя

    Центральный процессор (ЦП) направляет компьютер на различные этапы решения проблемы. Данные поступают в компьютер через блок ввода, обрабатываются центральным процессором и затем становятся доступными для пользователя через блок вывода. Логический вид компьютера показывает, какие функции выполняет компьютер. Физический вид компьютера показывает, как на самом деле механизмы компьютера выполняют эти функции. Центральный процессор состоит из трех логических блоков: арифметико-логического блока (ALU), основного хранилища и блока управления. Основная память сохраняет активные программы и данные. Это относительно дорого, поэтому вторичное хранилище используется для хранения программ и данных до тех пор, пока они не потребуются в основном хранилище. Набор встроенных операций компьютера называется его «набором инструкций». Компьютерная программа представляет собой набор инструкций, которые сообщают компьютеру, как решить конкретную задачу. Компьютерная программа должна находиться в оперативной памяти, чтобы компьютер мог выполнять ее инструкции.

    Управление энергопотреблением

    5.15.2.4.2.1 Блок процессора

    Это центральный процессор (ЦП) ПЛК, то есть микропроцессор по конструкции и функциональным возможностям. Основная функция этого блока состоит в том, чтобы воспринимать входные значения через свои модули ввода/вывода, генерировать управляющие сигналы в соответствии с входными сигналами и предопределенной инструкцией (хранящейся в блоке памяти в виде программы). Затем обработанное решение передается на устройства вывода, подключенные к модулям ввода/вывода, для обновления выходных переменных [51]. Типичный цикл процесса ЦП показан на рис. 40, демонстрирующем основную идею функции процесса. Время одного цикла выполнения программы называется «время сканирования». Типичные значения времени сканирования могут составлять всего 1 м/с. Входные и выходные значения обычно хранятся в единице памяти за цикл или несколько его кратных [53] .

    < бр />

    Рис. 40 . Рабочий цикл центрального процессора (ЦП) программируемого логического контроллера (ПЛК).

    Беспроводная МЭМС для носимых сенсорных сетей

    5.2.2.2 Блок обработки

    Рабочие процедуры промышленной системы управления

    (1) адресные пространства PCI

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

    Системная память ЦП может использоваться для этой общей памяти, но в этом случае каждый раз, когда устройство PCI обращается к памяти, ЦП должен будет останавливаться, ожидая завершения. Доступ к памяти обычно ограничивается одним системным компонентом за раз. Это замедлит работу системы. Это не позволяет периферийным устройствам системы бесконтрольно обращаться к основной памяти. Это было бы очень опасно; неисправное устройство может сделать систему очень нестабильной.

    Периферийные устройства имеют собственные области памяти.ЦП может получить доступ к этим пространствам, но доступ устройств к системной памяти очень строго контролируется с помощью каналов DMA (прямой доступ к памяти). Устройства ISA имеют доступ к двум адресным пространствам; ISA I/O (ввод/вывод) и память ISA. В большинстве современных микропроцессоров PCI должен состоять из трех элементов: ввода-вывода PCI, памяти PCI и пространства конфигурации PCI.

    Некоторые микропроцессоры, например процессор Alpha AXP, не имеют естественного доступа к адресным пространствам, отличным от системного адресного пространства. Этот процессор использует наборы микросхем поддержки для доступа к другим адресным пространствам, таким как пространство конфигурации PCI, с помощью схемы разреженного отображения адресов, которая крадет часть большого виртуального адресного пространства и сопоставляет его с адресными пространствами PCI.

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