Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Адресность ЭВМ
Как мы уже упоминали, число адресов в команде называется адресностью ЭВМ. Разнообразие архитектур ЭВМ предполагает, в частности, и различную адресность команд. Рассмотрим схему выполнения команд с различным числом адресов операндов. Будем предполагать, что для хранения кода операции (КОП) в команде отводится один байт (8 разрядов), а для хранения каждого из адресов – 3 байта (это обеспечивает объём памяти 224 ячеек). Ниже приведены форматы команд для ЭВМ различной адресности и схемы выполнения этих команд для случая бинарных операций (у таких операций два операнда и один результат). · Трёхадресная машина.
Схема выполнения команд такой машины нам уже известна: R1:= <A2>; R2:= <A3>; S:= R1 Ä R2; <A1>:= S; {Ä – операция} · Двухадресная машина.
Схема выполнения команд: R1:= <A1>; R2:= <A2>; S:= R1 Ä R2; <A1>:= S; Заметим, что теперь для выполнения бинарной операции первый и второй операнды задаются явно в качестве адресов в команде, а местоположение результата операции задаётся неявно или, как говорят, по умолчанию. В рассмотренном выше случае результат операции по умолчанию помещается на место первого операнда, уничтожая его. · Одноадресная машина.
Схема выполнения команд: R1:= <A1>; S:= S Ä R1; Для работы в одноадресной машине необходимы ещё две команды, которые имеют один операнд и один результат и выполняются по другим схемам. Это команда чтения числа из памяти на регистр сумматора: СЧ A1 Она выполняется по схеме S:= <A1> и команда записи значения из сумматора в память: ЗП A1 Она выполняется по схеме <A1>:= S При выполнении бинарных операций в одноадресной ЭВМ только один второй операнд задаётся в команде явно, а первый операнд и результат задаются неявно – это регистр сумматора. · Безадресная машина.
В отличие от других рассмотренных выше машин, безадресная машина использует при работе аппаратно реализованный в компьютере стек, для чего вводятся две дополнительные одноадресные команды: записи из памяти в стек ВСТЕК 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 В компьютерах с такой архитектурой команда содержит два кода операции и четыре адреса аргументов:
Такие команды могут выполняться, например, по схеме: R1:= <A2>; R2:= <A3>; S:= R1 КОП1 R2; R1:= <A4>; S:= S КОП2 R1; <A1>:= S Date: 2015-10-18; view: 785; Нарушение авторских прав |