Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Лекции. 2009. Измайлов.doc
Скачиваний:
9
Добавлен:
26.10.2018
Размер:
4 Mб
Скачать

3.1.4. Принцип действия процессора

Принцип действия процессора можно понять на примере выполнения одной команды (рис.3.1).

Исполнение

команды

НЕТ

ДА

Рис. 3.1 Основной алгоритм работы процессора.

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

. В данном алгоритме не задано первоначальное значение счетчика адреса команд. В этом случае аппаратным путем заносится стартовый адрес, находящейся в ПЗУ программы инициализации всех устройств и начальной загрузки ЭВМ.

3.1.5. Тактовая частота

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

Для организации последовательного выполнения требуемых тактов в компьютере имеется специальный генератор тактовых импульсов. Каждый импульс инициализирует очередной такт машинной команды. Чем чаще следуют импульсы, тем быстрее будет выполнена операция, состоящая из фиксированного числа тактов. Тактовая частота определяется количеством тактов за секунду. Очевидно, что для повышения быстродействия компьютера, следует повышать тактовую частоту. Однако этому имеется ограничение – быстродействие процессора. Можно повышать тактовую частоту до такой степени, что процессор не будет успевать за один такт (интервал между соседними импульсами) выполнять элементарную операцию. В современных процессорах тактовая частота не превышает 1ГГц.

3.2. Адресация данных и команд в оперативной памяти компьютера

3.2.1. Методы адресации

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

  • а д р е с н о й

  • о п е р а ц и о н н о й.

Иначе еще говорят, что команда состоит из адресного кода и кода операции или исполнительного кода.

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

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

Известны четыре структуры команд:

ч е т ы р е х а д р е с н а я,

т р е х а д р е с н а я,

д в у х а д р е с н а я,

о д н о а д р е с н а я.

На рис. 3.1 приведены схемы этих структур.

Код

Операции

Адрес

А1

Адрес

А2

Адрес

А3

Адрес

А4

а

Код

операции

Адрес

А1

Адрес

А2

Адрес

А3


б

Код

операции

Адрес

А1

Адрес

А2

в

Код

операции

Адрес

А1


г

Рис. 3.1 Структура команд

а – четырехадресная, б – трехадресная, в – двухадресная, г – одноадресная.

В общем случае адресная часть должна содержать четыре адреса или адресных кода (рис. 3.1а). Адреса А1 и А2 – адреса двух операндов, участвующих в операции, А3 – адрес ячейки, куда помещается результат операции, А4 – адрес ячейки, содержащей следующую команду. Тогда реализацию операции сложения можно изобразить как

А3 = А1 + А2.

Такой порядок выборки называют принудительным, он устарел и в настоящее время не применяется. Учитывая то, что в программе все команды выполняются последовательно, то это означает, что, если выполнялась команда, адрес которой содержался в ячейке к, то адрес следующей команды будет в ячейке к + 1. Такой порядок выборки команд называют естественным. Он нарушается только специальными командами перехода. Поэтому в трехадресной команде, как видно из рис.3.1б, адрес следующей команды отсутствует. Он «по умолчанию» принимается следующим после адреса предыдущей команды. Этот метод называют косвенной адресацией. Следует иметь в виду, что адреса всех команд содержатся в специальном регистре – счетчике команд, куда они все предварительно заносятся. Характер реализации операции в трехадресной команде такой же, как и в четырехадресной.

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

А1 = А1 + А2.

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

Рг = Рг + А1.

Здесь Рг обозначает триггерный регистр. Естественно, что при выборе той или иной структуры команды, стремились к сокращению размера ячейки памяти, выделяемой для команды. Исходя из того, что команда представляется в двоичном коде, то разрядность ячейки будет определяться разрядностью кода операции и адресов. Разрядность кода операции зависит от общего количества различных операций. Если таковых, например, N, и они определяются как ,

где m – количество двоичных разрядов ячейки, то отсюда это количество определится как

m = logN.

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