Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Адресность ЭВМ






Как мы уже упоминали, число адресов в команде называется адресностью ЭВМ. Разнообразие архитектур ЭВМ предполагает, в частности, и различную адресность команд. Рассмотрим схему выполнения команд с различным числом адресов операндов. Будем предполагать, что для хранения кода операции (КОП) в команде отводится один байт (8 разрядов), а для хранения каждого из адресов – 3 байта (это обеспечивает объём памяти 224 ячеек). Ниже приведены форматы команд для ЭВМ различной адресности и схемы выполнения этих команд для случая бинарных операций (у таких операций два операнда и один результат).

· Трёхадресная машина.

КОП A1 A2 A3 = 10 байт
8 разрядов 24 разряда 24 разряда 24 разряда

Схема выполнения команд такой машины нам уже известна:

R1: = < A2>; R2: = < A3>; S: = R1 Ä R2; < A1>: = S; {Ä – операция}

· Двухадресная машина.

КОП A1 A2 = 7 байт
8 разрядов 24 разряда 24 разряда

Схема выполнения команд:

R1: = < A1>; R2: = < A2>; S: = R1 Ä R2; < A1>: = S;

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

· Одноадресная машина.

КОП A1 = 4 байта
8 разрядов 24 разряда

Схема выполнения команд:

R1: = < A1>; S: = S Ä R1;

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

СЧ A1

Она выполняется по схеме

S: = < A1>

и команда записи значения из сумматора в память:

ЗП A1

Она выполняется по схеме

< A1>: = S

При выполнении бинарных операций в одноадресной ЭВМ только один второй операнд задаётся в команде явно, а первый операнд и результат задаются неявно – это регистр сумматора.

· Безадресная машина.

КОП = 1 байт
8 разрядов

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

ВСТЕК A1

которая выполняется по схеме

R1: = < A1>; ВСТЕК(R1)

и команда чтения из стека

ИЗСТЕКА A1

которая выполняется по схеме

ИЗСТЕКА(R1); < A1>: = R1

Таким образом, за исключением двух указанных выше одноадресных команд, которые имеют длину 4 байта, все остальные команды являются безадресными, имеют длину 1 байт и выполняются по схеме:

R1: = ИЗСТЕКА; R2: = ИЗСТЕКА; S: = R1 Ä R2; ВСТЕК(S)

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

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

Существуют архитектуры ЭВМ, которые различаются не только количеством адресов в команде, но и наличием в команде нескольких кодов операций. Такие ЭВМ называются машинами с очень длинным командным словом (VLIW – very large instruction word). В этих компьютерах, например, указанные команды могут реализовывать оператор присваивания вида z: =k*(x+y) по схеме:

R1: = < x>; R2: = < y>; S: = R1+R2;

R1: = < k>; S: = S*R1; < z>: = S

В компьютерах с такой архитектурой команда содержит два кода операции и четыре адреса аргументов:

КОП1 КОП2 A1 A2 A3 A4

Такие команды могут выполняться, например, по схеме:

R1: = < A2>; R2: = < A3>; S: = R1 КОП1 R2;

R1: = < A4>; S: = S КОП2 R1; < A1>: = S






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.