Вы находитесь на странице: 1из 19

Лекция 3.

Процессоры.
Вопросы:
1. Устройство центрального
процессора.
2. Внутренняя память процессора.
3. Система команд.
Основные определения:
Процессор – основной мозговой узел, обеспечивающий
исполнение находящегося в памяти программного кода.
Программный код – это последовательность команд или
инструкций, каждая из которых закодирована и расположена
в целом числе смежных байт памяти.
Каждая инструкция имеет операционную и операндную часть.
Операционная часть представляет собой информацию о
требуемых действиях процессора. ( Что Делать)
Операндная часть показывает где находится результата
выполнения действия процессора. При этом операнды могут
присутствовать в явном или не явном виде или вообще
могут отсутствовать. (Где Результат)
Инструкции предшествует префикс, определяющий:
- способ адресации;
- размер операнда;
- необходимость повторения данной инструкции.
Основные определения продолжение:
Последовательность выполнения инструкций может
нарушаться внутренними или внешними причинами:
-внутренние причины- исключения или особые ситуации
при выполнении инструкций (деление на ноль);
-внешние причины аппаратные прерывания — вызовы
процедур под воздействием электрических сигналов на
специальные выводы процессора;
- программные прерывания, но они не нарушают
последовательность инструкций, предписанную
программистом. Поэтому прерываниями они по сути не
являются — это всего лишь особый способ вызова
системных сервисов BIOS и операционной системы;
- сигнал аппаратного сброса или инициализации
процессора - начало функционирования компьютера.
Основные определения продолжение:
Адрес текущей исполняемой инструкции хранится в специальном
регистре – указателе инструкций, который называется
счетчиком команд.
После исполнения линейной инструкции указатель увеличивает
свое значение на ее длину, т.е. укажет на начало следующей
инструкции.
Кроме линейных инструкций существуют инструкции
передачи управления, которые разделяются на инструкции
переходов и вызовов процедур.
Инструкции переходов могут быть безусловными и условными,
а инструкции вызова процедур характерны тем, что процессор
сохраняет в памяти следующую инструкцию на которую должно
быть передано управления после исполнения процедуры.
Условный переход (вызов) зависит от состояния флагов (признаков)
на момент исполнения данной инструкции.
Если переход (вызов) не состоится, то исполняется инструкция,
расположенная в памяти вслед за текущей.
Рис. Схема процессора
Выполнение любой команды последовательно
реализуется тремя фазами:
- фаза выборки обеспечивает считывание команды из памяти и пересылки ее в
процессор;
- фаза декодирования в которой команда с помощью дешифратора команд
преобразуется в управляющее слово;
- фаза исполнения: заданная команда выполняется.
Каждый блок процессора представляет собой синхронный конечных автомат,
синхронизация которого обеспечивается тактовыми импульсами
от генератора тактовых импульсов.
Один такт импульса – одна простейшая операция, например, запись кода операции

Для согласования по быстродействию различных устройств используется принцип


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

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


(Central Processing Unit, CPU), который исполняет основную программу.
Кроме того могут быть следующие сопроцессоры:
математические;
графические;
ввода-вывода.
2. Внутренняя память процессора.
По числу и способу использования регистров блока внутренней памяти
различают следующие типы МП: аккумуляторные, многоаккумуляторные и
стековые.
Процессоры с одним регистром результата иногда называют П с
аккумуляторной архитектурой или просто аккумуляторными. Их
отличительной характеристикой является относительная простота аппаратной
реализации операционного и управляющего блоков, а также упрощенный
формат команд.
В большинстве современных П специальные регистры результата не
используются, а их функции может выполнять любой регистр блока РОН или
ячейка памяти. Такую архитектуру называют многоаккумуляторной.
П со специальной памятью называется стековым П. Различают два типа
организации стековой памяти в зависимости от правила доступа: очередь и
стек. Правила доступа определяется применительно к входным
(записываемым) и выходным (читаемым) последовательностям слов.
Существует два типа правила доступа: FIFO (First-In-First-Out — первый
поступивший удаляется первым) и LIFO (Last-In-First-Out — последний
поступивший извлекается первым) .
3. Система команд.
3.1. Общие сведения.
В понятие «система команд» входят:
форматы команд и обрабатываемых данных;
список команд, их функциональное назначение;
способы адресации данных.
Команды П подразделяются на следующие функциональные группы:
-пересылки данных и ввода-вывода;
-арифметических и логических операций;
-передачи управления.
3.2. Структура команд. Команда П в общем случае содержит операционную и адресные
части.

Адресная часть команды должна иметь четыре адресных поля А1...А4. Они кодируют
адреса операндов (A1, А2), адрес результата (АЗ) и адрес следующей команды (А4)

А1 А2 А3 А4
В зависимости от указываемого числа адресов команды
подразделяются на безадресные, 1-, 2-, 3- и 4-адресные.
Почти во всех П исключен адрес А4 .

Использование адреса результата АЗ в адресном поле команды во многих


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

При переходе к 2-адресным командам в их адресное поле необходимо


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

Группа безадресных команд, в которых осуществляется безадресное


(неявное) задание операнда. К безадресным командам относятся команды
управления процессором, например, пуска, останова. Безадресными также
являются команды, реализующие операции со стеком. В них операнд,
адресуемый указателем SP, неявно задается кодом команды.
3.3. Способы адресации операндов и команд
1. Способ прямой адресации.
Все адреса, содержащиеся в адресном поле, полностью определяют адрес
операнда в памяти. Прямая адресация неэкономична с точки зрения
затрачиваемых разрядов для адресации.
Введем обозначения:
АК – командный адрес, указанный в команде;
АИ – исполнительный адрес, адрес к которому происходит обращение.
При прямой адресации АК=АИ
Память
АК

АИ

Все операции с регистровыми операндами реализуются без обращения к памяти,


команды с регистровыми операндами выполняются быстрее других типов
команд.
Неявная адресация — способ адресации, при
котором адресное поле в команде
отсутствует, а адрес операнда
подразумевается кодом операции.
Ак = КОП

Неявно адресуются отдельные регистры


процессора, например, аккумулятор,
индексный и базисный, указатель стека.
Косвенная адресация —адрес, указываемый в команде, является указателем
ячейки, содержащей исполнительный адрес операнда в памяти. Фактически при
косвенной адресации в команде указывается адрес адреса. Для обозначения
косвенной адресации используется запись Ак = (Ак)

Память П
Регистр

Адрес регистра намного короче полного адреса операнда памяти


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

Изменяется адрес для выбора


следующего элемента и
контролируется окончание
цикла.

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

Блок базового
адреса

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


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

Индексная адресация обычно применяется для обработки упорядоченных массивов


значений переменных, каждое из которых определяется собственным номером.
При индексной адресации базовый адрес массива задается смещением disp,
указываемым в команде, а значение индекса (номер элемента массива)
определя­ется содержимым индексного регистра.
Аи = I + disp.

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


адресацию. Базовой адресацией называется способ адресации, при котором
базовый адрес, определяющий начало набора элементов, хранится в базовом
регистре, а смещение в команде характеризует расстояние до определенного
элемента:
Аи = В + disp.
Адресация команд. При адресации команд программы также используют
основные способы адресации: абсолютная и относительная адресация.
Абсолютная адресация — это прямая адресация команд программной памяти.
Она используется в командах безусловного перехода, реализующих безусловный
переход по адресу, указанному в адресном поле команды. При выполнении
таких команд адрес перехода загружается в счетчик команд.
Относительная адресация - такая , как и при адресации данных.