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

Содержание

Слайд 2

Трёхадресная машина. R1 := ; R2 := ; S := R1

Трёхадресная машина.
R1 := ; R2 := ; S := R1 ⊗

R2; := S; {⊗ – операция}
Слайд 3

Двухадресная машина. R1 : = ; R2 := ; S :=

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

R1 : = ; R2 := ; S := R1

⊗ R2; := S;
Результат операции по умолчанию помещается на место первого операнда, уничтожая его.
Слайд 4

Одноадресная машина. Нужны команды : СЧ A1 S := и ЗП A1 := S

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

Нужны команды :
СЧ A1
S :=
и
ЗП A1
:=

S
Слайд 5

Безадресная машина. команды: ВСТЕК A1 R1 := ; ИЗСТЕКА A1 := R1

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

команды:
ВСТЕК A1
R1 := ; ИЗСТЕКА A1
:= R1

Слайд 6

Стековые ЭВМ R1 := ИЗСТЕКА; R2 := ИЗСТЕКА; S := R1 ⊗ R2; ВСТЕК(S)

Стековые ЭВМ

R1 := ИЗСТЕКА; R2 := ИЗСТЕКА; S := R1

⊗ R2; ВСТЕК(S)
Слайд 7

Безадресное кодирование команд ((a + b) * c - d) / e Буферные регистры

Безадресное кодирование команд ((a + b) * c - d) /

e

Буферные регистры

Слайд 8

Четырёхадресные, в четвёртом адресе которых дополнительно хранится ещё и адрес следующей

Четырёхадресные, в четвёртом адресе которых дополнительно хранится ещё и адрес следующей

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

Четырехадресная система кодирования практического применения не получила. Основной причиной этого является

Четырехадресная система кодирования практического применения не получила. Основной причиной этого

является существенное увеличение размера каждой команды и, соответственно, увеличение объема ЗУ, необходимого для размещения программы.
Слайд 10

VLIW – very large instruction word Наличие в команде нескольких кодов

VLIW – very large instruction word

Наличие в команде нескольких кодов

операций
Указанные команды могут реализовывать оператор присваивания вида z:=k*(x+y) по схеме:
R1 := ; R2 := ; S := R1+R2;
R1 := ; S := S*R1; := S
Слайд 11

VLIW – very large instruction word В компьютерах с такой архитектурой

VLIW – very large instruction word

В компьютерах с такой архитектурой команда

содержит два кода операции и четыре адреса аргументов:
Слайд 12

Сравнительный анализ ЭВМ различной адресности Какая архитектура лучше ? Пусть необходимо вычислить x := a/(a+b)2

Сравнительный анализ ЭВМ различной адресности

Какая архитектура лучше ?
Пусть необходимо вычислить
x

:= a/(a+b)2
Слайд 13

Слайд 14

Слайд 15

Дробно-адресная архитектура Память состоит из двух частей, каждая со своей независимой

Дробно-адресная архитектура

Память состоит из двух частей, каждая со своей

независимой нумерацией ячеек:
адресуемая регистровая память и основная(оперативная) память.
Слайд 16

Адреса регистров - R1 и R2 Адрес основной памяти A1 или

Адреса регистров - R1 и R2
Адрес основной памяти A1 или A2.

Первый вид команд будем называть командами формата регистр-регистр (обозначается RR),
а вторые – формата регистр-память (обозначается RX).
Слайд 17

Получим команды двух форматов длины 2 и 4 байта соответственно:

Получим команды двух форматов длины 2 и 4 байта соответственно:

Слайд 18

x:=a/(a+b) 2 СЧ R1,a; R1 := a СЧ R2,b; R2 :=

x:=a/(a+b) 2

СЧ R1,a; R1 := a
СЧ R2,b; R2 := b
СЛ R2,R1;

R2 := b+a=a+b
УМН R2,R2; R2 := (a+b)2
ДЕЛ R1,R2; R1 := a/(a+b)2
ЗП x,R1; x := R1= a/(a+b)2
...
Длина этого фрагмента программы равна 3*4+3*2 = 18 байт
Слайд 19

Многообразием форматов команд Современные ЭВМ обладают многообразием форматов команд. Например, на

Многообразием форматов команд

Современные ЭВМ обладают многообразием форматов команд. Например, на тех

компьютерах, на которых Вы сейчас выполняете свои практические работы, реализованы около десяти форматов, а длина команд составляет от 1 до 6 байт.
Слайд 20

Способы адресации Способ адресации – это способ задания операндов внутри машинной

Способы адресации

Способ адресации – это способ задания операндов внутри

машинной команды.
Мнемоника кодов операций будет указывать на способ адресации
Слайд 21

Прямой способ адресации.

Прямой способ адресации.

Слайд 22

Непосредственный способ адресации.

Непосредственный способ адресации.

Слайд 23

Косвенный способ адресации.

Косвенный способ адресации.

Слайд 24

Пример с разными способами адресации

Пример с разными способами адресации

Слайд 25

Многообразие форматов данных регистр – регистр (RR); регистр – память, память

Многообразие форматов данных

регистр – регистр (RR);
регистр – память, память –

регистр (RX);
регистр – непосредственный операнд в команде (RI);
память – непосредственный операнд в команде (SI);
память – память, т.е. оба операнда в основной памяти (SS)
Слайд 26

Базирование адресов Пусть в программе на одноадресной машине необходимо реализовать арифметический

Базирование адресов

Пусть в программе на одноадресной машине необходимо реализовать арифметический

оператор присваивания X:=(A+B)2....
СЧ A; S:=A
СЛ B; S:=A+B
ЗП R; R:=A+B – запись в рабочую переменную
УМ R; S:=(A+B)2
ЗП X; X:=(A+B)2
Слайд 27

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

Базирование адресов

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

– в ячейке с адресом 10 000 000
B – в ячейке с адресом 10 000 001
X – в ячейке с адресом 10 000 002
R – в ячейке с адресом 10 000 003
Слайд 28

Базирование адресов Тогда приведённый выше фрагмент программы будут выглядеть следующим образом:

Базирование адресов

Тогда приведённый выше фрагмент программы будут выглядеть следующим образом:
...
СЧ 10

000 000; S:=A
СЛ 10 000 001; S:=A+B
ЗП 10 000 003; R:=A+B
УМ 10 000 003; S:=(A+B)2
ЗП 10 000 002; X:=(A+B)2
...
Слайд 29

Базирование адресов Большинство адресов в нашей программе имеют вид B+Δ, где

Базирование адресов

Большинство адресов в нашей программе имеют вид B+Δ, где число

B назовём базовым адресом программы или просто базой (в нашем случае B=10 000 000), а Δ – смещением адреса относительно этой базы.
Слайд 30

команда загрузки базы (длина этой команды 4 байта):

команда загрузки базы (длина этой команды 4 байта):

Слайд 31

Осталось выбрать длину смещения Δ. Вернёмся к рассмотрению дробноадресной ЭВМ, для

Осталось выбрать длину смещения Δ. Вернёмся к рассмотрению дробноадресной ЭВМ, для

которой реализовано базирование адресов. Например, пусть под запись смещения выделим в команде поле длиной в 12 бит. Тогда все команды, которые обращаются за операндом в основную память, будут в нашей дробноадресной ЭВМ более короткими:
Слайд 32

Область, в которой находятся вычисляемые относительно базы ячейки основной памяти, обычно

Область, в которой находятся вычисляемые относительно базы ячейки основной памяти, обычно

называется сегментом памяти – это сплошной участок памяти, начало которого задаётся в некотором регистре, называемом базовым, или сегментным. Такой приём – сегментирование памяти