Главная » Просмотр файлов » Жмакин А.П. Архитектура ЭВМ (2006)

Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 12

Файл №1186252 Жмакин А.П. Архитектура ЭВМ (2006) (Жмакин А.П. Архитектура ЭВМ (2006)) 12 страницаЖмакин А.П. Архитектура ЭВМ (2006) (1186252) страница 122020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

log210≈3,32, (3.31)

для представления одной десятичной цифры требуется не менее четырех двоичных разрядов. Соответствие между десятичной цифрой и ее двоичным представлением называют двоичным кодом десятичной цифры. Наиболее естественным представляется кодирование десятичных цифр позиционными двоичными кодами с естественными весами разрядов. Такой код принято на­зывать кодом "8421".

Ясно, что это далеко не единственный способ кодирования десятичных цифр. Используя только четырехразрядные двоичные коды, следует выбрать 10 из шестнадцати возможных комбинаций для представления цифр. Количество способов, которыми могут быть выбраны 10 комбинаций из 16, равно числу сочетаний из 16 по 10:





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

Лб-СЕ-Рю- — •10! = -^*3-10,°. 10!-6! 6!

Практически лишь 5—6 различных кодов используют в ЦВМ для представ­ления десятичных цифр.

Основной недостаток кодирования десятичных цифр в коде "8421" состоит в несоответствии веса десятичного и шестнадцатеричного переносов. Действи­тельно, перенос из тетрады шестнадцатеричной цифры имеет вес 16, а деся­тичный перенос —10.

Для устранения этого противоречия можно выбрать другие способы кодиро­вания десятичных цифр. Например, код "8421+3" (иногда его называют код с избытком три) позволяет при сложении получать сумму "с избытком 6", при этом вес переноса соответствует десятичному.

Можно подобрать такие веса двоичных разрядов при кодировании десятич­ных цифр, чтобы их сумма равнялась 10. Например, код "5211" обладает именно таким свойством. При этом, однако, нарушается свойство функцио­нальности соответствия десятичных цифр и их двоичного представления. На­пример, цифра 7 может быть представлена как 1100 или как 1011. Для пр одоления этого недостатка достаточно договориться, чтобы в подобных си­туациях всегда сначала заполнялись младшие разряды кода. И табл. 3.5 приведены упомянутые двоичные коды десятичных цифр.

Цифры

Код "8421"

Код "8421+3"

Код "5211"

0

0000

ООП

0000

1

0001

0100

0001

2

0010

0101

ООН

3

0011

0110

0101

4

0100

0111

0111

5

0101

1000

1000

6

0110

1001

1001

7

0111

1010

1011

8

1000

1011

1101

9

1001

1100

1111

Арифметические операции над десятичными числами можно выполнять на специальных десятичных сумматорах (в этом случае можно примен любую кодировку десятичных цифр), так и на обычных двоичных сумма pax. В последнем случае десятичные числа обрабатываются по правилам дв ичной арифметики, и десятичный результат операции, естественно, нуждает­ся в коррекции. В этом случае сложность коррекции и длительность ее реали­зации существенно зависят от выбранного кода.



3.11.2. Арифметические операции над десятичными числами

Рассмотрим выполнение операции сложения десятичных чисел в коде "8421 по правилам двоичной арифметики.

Пример 3.26

Результат — на рис. 3.35.

Из рассмотренного примера видно, что тетрады результата (назовем его предварительным), обрамленные рамкой, нуждаются в коррекции. Действи­тельно, если сумма тетрад, представляющих соответствующие десятичные разряды слагаемых, больше 9, но не превышает 15, двоичный перенос в сле­дующую тетраду не формируется. В этом случае требуется выработать ис­кусственный перенос и удалить из тетрады 10, что соответствует добавлении шестерки (ОНО) и передаче обязательно возникающего при этом переноса в следующий старший разряд.

Если из тетрады был двоичный перенос (в примере он отмечен знаком <-), то он "унес" из тетрады 16, в то время как десятичный перенос должен "уно­сить" только 10. Следовательно, в такие тетрады, из которых был перенос, следует добавить шестерку (0110).

Таким образом, коррекция предварительной двоичной суммы при использо­вании кода "8421" заключается в добавлении кода ОНО ко всем тетрадам предварительной суммы, значение которых превышает 9 или из которых был двоичный перенос. Возникающие при коррекции переносы должны обяза­тельно передаваться в следующую старшую тетраду. Выполним операции примера 3.26 с учетом сформулированных правил коррекции.

Пример 3.27

Рассмотрим еще один пример арифметического сложения в коде "8421".

Пример 3.28

Результат — на рис. 3.37

Из примера 3.28 видно, что межтетрадные переносы, возникающие в процес­се коррекции предварительной суммы, могут таким образом изменить стар­шие тетрады, что их также потребуется корректировать. В худшем случае количество последовательных коррекций будет равно разрядности слагаемых (рассмотрите пример сложения 9999 + 1 в коде "8421").

На основании вышеизложенного можно отметить следующие недостатки применения кода "8421":

□ необходимо отслеживать не только переносы из тетрад, но и значения мо­дулей тетрад предварительной суммы;

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

Для преодоления отмеченных выше недостатков можно использовать другие коды, например "8421+3". При кодировании с избытком три каждая десятич­ная цифра представляется как a\ = at + ООП , где а, — код "8421" цифры.

Тогда при сложении

где сн — предварительная сумма, в тетраде всегда будет формироваться ис­тинное значение десятичного переноса — для всех комбинаций десятичных слагаемых, для которых а, + Ьх + > 0, значение а\ + Ь\ + > 15 . Однако если переноса из тетрады не было, то результат сформируется "с избытком 6", поэтому потребуется коррекция тетрады предварительной суммы — уда­ление из тетрады лишней тройки. Вычитание (-3 ) можно заменить сложением с дополнением до 3 — ( + 13). Обязательно возникающий при этом пере­нос не передается в следующую тетраду. Потеря переноса равносильно поте­ре 16, т. е. -16 + 13 = -3.

Если перенос из тетрады был, то его вес равен 24 =16, таким образом, из тетрады удаляется 16, а вес десятичного переноса— 10. Поэтому перенос из тетрады в коде "8421+3" уносит из тетрады лишнюю шестерку, которую и нужно добавить при коррекции. Но согласно (3.32) сложение тетрад "с из­бытком 3" приводит к получению суммы "с избытком 6", поэтому вместо до­бавления шестерки достаточно добавить тройку.

Итак, коррекции при сложении в коде "8421+3" подлежат все тетрады пред­варительной суммы, причем к тем тетрадам, из которых сформировался пе­ренос, следует добавить константу ООП, а к тетрадам, из которых не было переноса, добавить константу 1101. Возникающие при коррекции межтетрад­ные переносы игнорируются!

Таким образом, коррекция при сложении в коде "8421+3", во-первых, опре­деляется только значениями переносов из тетрад предварительной суммы и, во-вторых, может проводиться параллельно во всех тетрадах.

Пример 3.29

Результат — на рис. 3.38.

Еще одним достоинством кода "8421+3" является простой способ получения дополнения до 9 — достаточно просто проинвертировать разряды кода.

Действительно, проинвертировав все разряды четырехразрядного двоичного числа а, мы получим его дополнение до 1111 = 1510, что в коде "с избыт­ком 3 " соответствует 15 - (я + 3) = (9 - а) + 3.

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

3.12. Машинная арифметика в остаточных классах

Органическим недостатком любой позиционной системы счисления является наличие межразрядных связей. Действительно, результат сложения в /-м разряде зависит не только от значений / -х разрядов слагаемых, но и от пере­носа из /-1 разряда и, в конечном итоге — от значений всех младших разря­дов слагаемых: z'-l, i-2,1, 0. Поэтому вычисление разрядов суммы мо­жет проходить только последовательно (с учетом формирования переноса из предыдущего (младшего) разряда. Это обстоятельство препятствует распа­раллеливанию процесса вычисления и, естественно, снижает быстродействие процессора.

В рамках позиционных систем счисления известно [2, 8, 11] несколько спосо­бов логического и схемотехнического ускорения арифметических опера­ций — параллельный перенос, матричная и табличная арифметика и др., од­нако все они требуют весьма значительных аппаратных затрат.

Поиск новых путей построения арифметических устройств ЭВМ, позволяю­щий исключить зависимость между разрядами при выполнении арифметиче­ских операций, привел к применению в машинной арифметике аппарата теории вычетов— одного из разделов теории чисел. В рамках этого аппарата разработана [1] непозиционная система счисления— система счисления в остаточных классах (СОК).

3.12.1. Представление чисел в системе остаточных классов

Будем говорить, что " а есть остаток числа А по модулю р" (иногда гово­рят, что " А сравнимо с а по модулю р "), если имеет место следующее ра­венство:

где

— целая часть частного А/р , причем а — наименьший целый остаток от деления А на р .

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

Список файлов книги

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