КАТЕГОРИИ: Архитектура-(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) |
Описание микроопераций
Описание массива данных и памяти. Описание массива (памяти), состоящего из слов одинаковой длины, содержит их название-идентификатор и в скобках наименьшие и наибольшие номера слов или нижнюю и верхнюю границы массива (наименьшие и наибольшие номера ячеек памяти), а также порядок нумерации разрядов в словах. Пример описания модуля памяти: , то есть модуль 2 оперативной памяти (массив) содержит r n-разрядных ячеек (слов). Соответственно j-ое слово (n-разрядная ячейка памяти) и i-ый разряд памяти (столбец массива) представляются соответственно: и .
Микрооперация осуществляет некоторое элементарное преобразование над данными. Это преобразование может быть логическим (выполняется над операндом поразрядно), арифметическим или функциональным. Например, это может быть сдвиг, операция счета, передача из одного регистра в другой, операции «логическое ИЛИ» над двумя операндами. Микрооперация описывается микрооператором, описание это выглядит так , где G – метка микрооперации, ‘:’ – разделитель, остальное – микрооператор. Правая часть микрооператора, после знака ‘:=’, называется формулой микрооператора. Знак ‘*’ – знак, определяющий преобразование над данными, которое осуществляет данная микрооперация. Действие микрооператора состоит в том, что в конце такта выполнения микрооперации в регистре (на шине и другие), описанном в левой части микрооператора, устанавливается слово, полученное в результате преобразования над начальными значениями операндов, указанных в формуле микрооператора. В частном случае, если микрооперация состоит в передаче слова, формула микрооператора содержит лишь описание слова, точнее, регистра (или части регистра) из которого происходит передача. Пример: Прием из регистра команды в регистр адреса РгАвторого операнда А2можно представить в виде: Или в более простой форме: На схеме жирной стрелкой показан управляющий сигнал, вызывающий выполнения данной микрооперации. Управляющий сигнал принимает только два значения: 1 – микрооперация возбуждается, 0 – микрооперация не возбуждается. Один управляющий сигнал может инициировать выполнение нескольких микроопераций. Тогда микрооператоры, описывающие последние, записываются подряд и отделяются друг от друга запятыми.
Пример:
В одном такте выполняется прием в регистр В содержимого счетчика команд и прием содержимого регистра D в счетчик команд. Точка с запятой разделяет микрооператоры, выполняемые в разных тактах. Рассмотрим еще несколько примеров микроопераций. Конкатенация или составление слова. В регистр В передается слово, отдельные разряды которого соответствуют содержимому некоторых разрядов РгА, Сч, триггера переполнения (ТгП) и константе 0.
Сдвиг. Различают операции арифметического, логического и циклического сдвига. В описаниях языка микроопераций сдвиги имеют следующие обозначения СдвА, СдвЛ, СдвЦ. Ниже описана микрооперация арифметического сдвига содержимого регистра С на 4 разряда вправо: Операция арифметического сдвига содержимого регистра D на 3 разряда влево: .
При арифметическом сдвиге знаковый разряд не сдвигается. Освобождающиеся при сдвиге разряды заполняются нулями, а биты, выдвигающиеся из регистра, теряются. При логическом сдвиге сдвигаются все разряды кода, включая знаковый разряд. При циклическом сдвиге крайне разряды регистра соединяются между собой так, что выдвигающиеся из крайнего разряда регистра биты, поступают в другой крайний разряд.
Дата добавления: 2014-11-16; Просмотров: 674; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |