Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Процессор.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.53 Mб
Скачать

Алгоритм действий процессора.

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

Рисунок 31. Алгоритм действий процессора.

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

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

Термин «память вычислительной системы» требует уточнения: согласно принципам фон Неймана (сформулированным в 1945 году), у подавляющего большинства существующих вычислительных систем все выполняемые программы и данные для их выполнения должны быть расположены в одной и той же памяти. Из собственного опыта и школьного курса известно, что программы и данные располагаются на так называемой внешней памяти – на жестком диске (иногда называемом винчестером) или на флеш–памяти (иногда называемой флешкой) (смотри Рисунок 32).

Рисунок 32. Внешние носители информации. Жёсткий диск. Флеш-память.

Но доступ к внешней памяти оказывается слишком долгим для процессора (обратите внимание на Рисунок 31 и оцените, как часто процессору при выполнении одной команды, надо обращаться к памяти). Чтобы процессор не простаивал, пока нужные ему данные будут доставлены с внешнего носителя, введена оперативная память. Все данные, необходимые для работы процессора, копируются из внешней памяти в оперативную память. Доступ к оперативной памяти производится намного быстрее, чем к внешней (смотри Рисунок 33).

Рисунок 33. Схема взаимодействия процессора и памяти вычислительной системы.

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

Формат команды процессора

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

Операнд n

Операнд 1

Код команды - числовая комбинация (нули и единицы), определяющая действия процессора. Например, если процессор получает «00000000», то это команда на сложение;

  • 10110000 (mov) - команда пересылки данных;

  • 00101000 (sub) - вычитание ;

  • 00101000 (cmp) – сравнение двух чисел для последующей команды анализа результата.

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

БОльшая часть команд (но не все команды) имеет операнды. Операнды содержат данные для команды или указание, откуда взять данные для команды. Например, команда сложения должна иметь информацию о первом слагаемом, о втором слагаемом и о том, куда записывать результат. Аналогичная ситуация с командами вычитания, умножения, и проч. А команды inc (увеличение значения на единицу) и dec (уменьшение значения на единицу) требуют только одного операнда (кого увеличивать или уменьшать). Количество операндов зависит от команды: команда может и не иметь операндов совсем.

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

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

  • сделать команды как можно более короткими;

  • как минимум один операнд команды должен находиться не в оперативной памяти, а непосредственно в процессоре – в регистре процессора

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

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

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

Так как команды должны быть как можно более короткими, то количество операндов сокращается насколько возможно. Например, в существующих системах команд, для операции сложения требуется не 3 операнда (одно слагаемое, второе слагаемое и результат), а два операнда (одно слагаемое, второе слагаемое; результат записывает вместо первого слагаемого).

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