КАТЕГОРИИ: Архитектура-(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 байт:
Так как адресов у нас только два, для выполнения бинарной операции первый и второй операнды задаются в команде явно в качестве адресов, а местоположение результата операции задаётся неявно или, как говорят, по умолчанию. В рассмотренном случае двухадресных команд результат бинарной операции по умолчанию помещается на место первого операнда, уничтожая его старое значение (в большинстве современных машин, в том числе и в наиболее распространённых персональных ЭВМ, двухадресные команды выполняются именно по такой схеме). Схема выполнения бинарных двухадресных команд в центральном процессоре будет такой: R1:= <A1>; R2:= <A2>; S:= R1 ⊗ R2; <A1>:= S При дальнейшем сокращении числа адресов в машинной команде получится уже одноадресная, команды которой имеют такую структуру:
При выполнении бинарных операций в одноадресной ЭВМ только один второй операнд задаётся в команде явно, а первый операнд и результат операции задаются неявно – это регистр сумматора в арифметико-логическом устройстве (S). Для работы в одноадресной машине необходимы ещё две специальные команды, которые имеют один операнд и один результат. Эти команды реализуют унарные (одноместные) операции. Это команда чтения операнда из памяти в регистр сумматора: СЧ A1 она выполняется по схеме: S:= <A1> И команда записи значения из сумматора в память: ЗП A1 она выполняется по схеме: <A1>:= S
Длина каждой команды этой машины равна 4 байта. Схема выполнения одноадресных команд будет такой: R1:= <A1>; S:= S ⊗ R1 Логическим завершением процесса уменьшения числа адресов в машинной команде является построение безадресной ЭВМ. Почти все команды этой машины состоят только из кода операции и имеют длину один байт:
В отличие от других рассмотренных выше машин, новая безадресная машина кроме основной памяти, в которой как обычно, хранится программа и данные, использует при своей работе также аппаратно реализованный в компьютере стек для хранения чисел (операндов). Для обмена данными между основной памятью и стеком в язык машины вводятся две дополнительные одноадресные команды длиной по 4 байта. Это команда записи машинного слова в вершину стека из любой ячейки памяти с адресом A1 ВСТЕК A1 которая выполняется по схеме R1:= <A1>; ВСТЕК(R1) И команда чтения машинного слова из вершины стека в ячейку основной памяти (как обычно, при чтении машинное слово удаляется из стека) ИЗСТЕКА A1 которая выполняется по схеме R1:= ИЗСТЕКА; <A1>:= R1
Кроме указанных выше одноадресных команд записи в стек и чтения из стека, для удобства программирования в безадресной ЭВМ могут добавляться и некоторые другие одноадресные команды (например, команды безусловного и условного переходов, команда вызова процедуры и другие). Таким образом, за исключением этого небольшого набора одноадресных команд, которые имеют длину 4 байта, все остальные команды являются безадресными, имеют длину 1 байт и выполняются по схеме: R1:= ИЗСТЕКА; R2:= ИЗСТЕКА; S:= R1 ⊗ R2; ВСТЕК(S)
Дата добавления: 2015-04-25; Просмотров: 1059; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |