Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

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

Сократим число адресов в машинной команде до двух. Длина каждой команды для двухадресной ЭВМ будет равна 7 байт:

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

 

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

Схема выполнения бинарных двухадресных команд в центральном процессоре будет такой:

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

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

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

 

При выполнении бинарных операций в одноадресной ЭВМ только один второй операнд задаётся в команде явно, а первый операнд и результат операции задаются неявно – это регистр сумматора в арифметико-логическом устройстве (S). Для работы в одноадресной машине необходимы ещё две специальные команды, которые имеют один операнд и один результат. Эти команды реализуют унарные (одноместные) операции.

Это команда чтения операнда из памяти в регистр сумматора: СЧ A1

она выполняется по схеме: S:= <A1>

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

она выполняется по схеме: <A1>:= S

 

Длина каждой команды этой машины равна 4 байта. Схема выполнения одноадресных команд будет такой:

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

Логическим завершением процесса уменьшения числа адресов в машинной команде является построение безадресной ЭВМ. Почти все команды этой машины состоят только из кода операции и имеют длину один байт:

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

 

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

ВСТЕК A1

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

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

И команда чтения машинного слова из вершины стека в ячейку основной памяти (как обычно, при чтении машинное слово удаляется из стека)

ИЗСТЕКА A1

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

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

 

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

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

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




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 1059; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.