47601 (572042), страница 2

Файл №572042 47601 (Микропрограммирование операций ЭВМ) 2 страница47601 (572042) страница 22016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

D(1:6):= А(1:6) \/ В(1:6)

и А = 100110, В = 000111, С = 010101, D = 101010, тогда после выполнения данных микроопераций будет C(1:6) = 000110, D = 100111.

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

Микрооперация пятого типа – микрооперация составления, она предназначена для формирования так называемого составного слова на основе других слов, их фрагментов и констант.

Например, результирующее слово, соответствующее результату любой операции с "плавающей" точкой, как раз и получается на основе составления слова из слов, представляющих мантиссу и порядок.

Знаком микрооперации составления является знак ".".

Очевидно, что при составлении возникает проблема согласования длин левой и правой частей микрооперации. Разрешается она точно также, как и при передачах.

Пусть, например, имеются микрооперации

С(1:6):= А(1:3) . В (1:3),

D(1:6):= А(1:3) . Е(1:4),

F(1:8):= B(1:3) . A(1:3),

G(1:5):= А(1:3) . 010,

и А = 100, В = 011, E = 1101, С = 010101, D = 101010, F =00110011, G = 10001, тогда после выполнения данных микроопераций будет C(1:6) = 100011, D = 001101, F = 00011100 и G = 00010.

К шестому типу относятся группа микроопераций счета, они описывают работу счетчиков прямого и обратного счета. При прямом счете содержимое счетчика увеличивается на единицу, а при обратном – уменьшается на единицу.

Особенностью этой микрооперации является то, что в обеих частях используется одно и тоже слово. Обычно его имя начинается с ключевого слова СТ. Кроме того, в правой части применяется константа, равная 1.

Никаких проблем при счете не возникает, так как счетчик прямого счета после достижения максимального значения и подачи единицы переходит в нулевое состояние, а счетчик обратного счета при достижении нулевого состояния и подачи единицы – в максимальное состояние.

Пусть, например, имеются микрооперации

СТА(1 : 6):= СТА(1 : 6) + 1,

СТВ(1 : 6):= СТВ(1 : 6) - 1

и СТА = 100100, СТВ = 011011, тогда после выполнения данных микроопераций будет CТА(1 : 6) = 100101, СТВ = 011010.

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

Седьмую группу микроопераций составляют микрооперации сдвигов. Особенностью этих микроопераций является то, что в обеих частях используется одно и тоже слово.

Сдвиги делятся на логические и арифметические.

Логический сдвиг выполняется над логической комбинацией, в которой нет знака. Значения всех разрядов комбинации перемещаются вправо либо влево на указанное количество разрядов. "Выталкиваемые" разряды теряются, а оказавшиеся свободными разряды доопределяются. При отсутствии особых указаний доопределение осуществляется нулями. Возможен так называемый циклический сдвиг, когда "выталкиваемые" значения разрядов фиксируются в освобождающихся разрядах.

При арифметическом сдвиге знак остается на своем месте, перемещаются значения только значащих разрядов.

Вид сдвига оформляется нужной записью микрооперации.

Ключевое слово R(k) соответствует сдвигу вправо на k разрядов, ключевое слово L(k) – сдвигу влево на k разрядов.

Пусть, например, имеются микрооперации

А(1 : 6):= R(2)А(1 : 6),

В(1 : 6):= L(2)В(1 : 6)

и А = 100101, В = 011011, тогда после выполнения данных микроопераций сдвига на два разряда слова А вправо и слова В влево будет А(1 : 6) = 001001, В = 101100. Видно, что освобождающиеся разряды доопределены нулями.

Циклический сдвиг дополнительно оформляется на основе составления, "выталкиваемые" разряды слева добавляются справа, а "выталкиваемые" разряды справа добавляются слева.

Выше рассмотренные примеры сдвигов слов А и В при циклических сдвигах будут записаны следующим образом:

А(1 : 6):= А(5 : 6). (R(2)А(1 : 6)),

В(1 : 6):= (L(2)В(1 : 6)).В(1 : 2).

Пусть, как и прежде А = 100101, В = 011011, тогда после выполнения микроопераций циклического сдвига будет А(1 : 6) = 011001, В = 101101. Видно, что освобождающиеся разряды доопределены значениями "вытолкнутых " разрядов.

Арифметические сдвиги имеют определенные особенности в зависимости от применяемых специальных машинных кодов. При сдвиге вправо свободные разряды слева доопределяются значениями знакового разряда независимо от применяемого кода, при сдвиге влево – нулями для дополнительного кода и значениями знакового разряда для обратного кода. Это рассматривается в курсе "Дискретная математика".

Например, арифметический сдвиг слова С(1 : 8) = 10011001 вправо на 3 разряда в любом коде должен быть записан так:

С(1 : 8):= С(1). С(1). С(1). С(1). (R(3)С(2 : 8)).

Видно, что знак у слова является отрицательным. После сдвига слова С будет С = 11110011.

При сдвиге влево на один разряд для обратного кода микрооперация будет иметь вид:

С(1 : 8):= С(1).((L(1)С(3 : 8)).С(1)).

Если как и прежде С = 10011001, то после сдвига будет С = 10110011.

При сдвиге влево на один разряд для дополнительного кода микрооперация будет иметь вид:

С(1 : 8):= С(1).((L(1)С(3 : 8)).0).

В дополнительном коде С = 10011010 (имеется лишняя единица для младшего разряда), тогда после указанного сдвига будет С =10110100. Видно, что дополнительный код отличается от обратного кода лишней единицей для младшего разряда.

К восьмому типу микроопераций относится микрооперация сравнения (на самом деле эта микрооперация является микрооперацией несравнения). В отличие от всех предыдущих микроопераций она имеет два вида результата.

Первый из них представляет собой сложение по модулю два исходных слов. Поскольку микрооперация сравнения – логическая микрооперация, то длины слов должны быть одинаковыми. Если хотя бы в одном разряде получится единица, то тогда это будет означать несравнение слов, в противном случае исходные слова совпадают.

Пусть, например, имеется микрооперация

С(1:6):= А(1:6) В (1:6)

и А = 100110, В = 000111, С= 010101, тогда после выполнения данной микрооперации будет C(1:6) = 100001, это говорит о несравнении слов А и В.

Если будет А = 100110, В = 100110, С= 010101, тогда после выполнения

данной микрооперации будет C(1:6) = 000000, что говорит о сравнении слов А и В.

Второй вид результата является однобитовым, он представляет собой логическую сумму разрядов результата первого вида. Ясно, что при нулевом результате первого вида однобитовый результат также будет равен 0, в противном случае – 1.

Для ранее получающегося результата C(1:6) = 100001 однобитовый результат С(1) = 1 (не путать с первым разрядом слова С), а для - результата C(1:6) = 000000 однобитовый результат С(1) = 0.

Девятый тип микроопераций составляет группу микроопераций сложения (сложения, вычитания и циклического сложения).

Микрооперации данной группы предназначены для описания работы сумматора при сложении, вычитании и циклическом сложении.

Последняя микрооперация требует равенства исходных слов. Единица переноса из старшего разряда передается для сложения в младший разряд. Вне Ф-языка такая микрооперация называется операцией контрольного сложения. Для контроля правильности записи и считывания слов файла применительно к дискам все слова складываются по правилу контрольного сложения, получающаяся контрольная сумма добавляется в конце файла. При считывании снова подсчитывается контрольная сумма, которая сравнивается с имеющейся такой суммой в конце файла. Если суммы совпадают, то ошибок при считывании нет, в противном случае считывание повторяется установленное число раз до совпадения сумм.

Пусть, например, имеется микрооперация

G(1:6):= А(1:6) + В(1:6)

и А = 100110, В = 100111, G= 010101, тогда после выполнения данной микро-операции будет G(1:6) = 001110.

Для первых двух микроопераций левое слово должно иметь лишний разряд по сравнению с наиболее длинным словом правой части.

В Ф–языке принято применять дополнительные коды для сложения и вычитания.

При получении кода слова слева у слова добавляется знаковый разряд, коды выравниваются по длине за счет доопределения значениями знаковых разрядов.

Пусть, например, имеются микрооперации

С(1:7):= А(1:6) + В (1:6),

D(1:7):= А(1:6) - В(1:6),

E(1:7):= В(1:6) - А(1:6)

и А = 100110, В = 100111, С= 010101, D= 101010, E= 1010101, тогда после выполнения данных микроопераций будет C(1:7) = 1001101, D(1:7) = 1111111, E(1:7)= 0000001.

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

Например, получение обратного кода отрицательного слова В описывается именно комбинированной микрооперацией:

В (1:6):= В(1). В (2:6),

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

Нетрудно заметить, что выше уже имелись комбинированные микрооперации.

1.3.2. Двоичные выражения

В Ф-языке имеются двоичные выражения, которые относятся к конструкциям средней сложности.

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

Двоичные выражения делятся на двоичные простые (неусловные) и двоичные условные выражения. Из последующего будет ясно, что двоичные условные выражения не следует отождествлять с чисто условными выражениями.

1.3.2.1. Двоичные простые выражения

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

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

инверсия,

составление,

логическое умножение,

логическое сложение,

сложение по модулю два,

микрооперации группы сложения.

Естественно, что при наличии скобок вычисления должны вначале выполняться в них.

Что касается микроопераций группы сложения, то надо иметь в виду их однотипность. Подобные микрооперации (в других алгебрах операций) должны выполняться в той последовательности, в которой они записываются в выражениях.

Запомнить указанную очередность нелегко, этому может помочь искусственное ключевое слово, составленное из начальных букв микроопераций, ИСУС2С.

Из очередности видно, что в двоичное простое выражение можно включать не все микрооперации. Запрещается включать микрооперации передачи, счета, сравнения и сдвига.

В качестве примера двоичного простого выражения рассматривается следующее выражение:

А := В.С ) + D.Е /\ F \/ F1 – G H + D.

Для В =11, С = 1101, D = 01, E = 1001, F = 111001, F1 = 010101, G = 110, H = 101, А = 010000 будет новое А = 010001.

Первой выполняется инверсия, получается С = 0010. Далее имеется две микрооперации составления, получаются значения 110010 и 011001.

Конъюнкция дает значение 011001, дизъюнкция – 011101, сложение по модулю два – 011.

Остались микрооперации группы сложения. Первой должна выполняться микрооперация циклического сложения. Она дает значение 010000.

Вычитание характеризуется значением 001101. Наконец, сложение приводит к значению 001110.

Следовательно, после вычисления микроопераций правой части указанного двоичного простого выражения и передачи его слову правой части получится А = 001110.

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

Для рассматриваемого примера это будет выглядеть следующим образом:

А := В.С D.Е /\ F \/ F1 – G H + D.

Значение последней микрооперации и есть значение слова левой части.

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

1.3.2.2. Двоичные условные выражения

Правая часть двоичных условных выражений включает в свой состав несколько двоичных простых выражений. Расчеты производятся по одному из них в зависимости от значения логического выражения.

При двух простых выражениях V1, V2 и логическом выражении B структура двоичного условного выражения для слова V имеет следующий вид:

V:= ЕСЛИ В ТО V1 ИНАЧЕ V2.

Расчеты производятся по выражению V1 при В = 1 и по выражению V2 при В = 0.

Характеристики

Тип файла
Документ
Размер
691,82 Kb
Учебное заведение
Неизвестно

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6508
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее