М.Х. Джонс - Электроника практический курс (1055364), страница 78
Текст из файла (страница 78)
Что же делать с числом 5, которое располагается на границе положительной и отрицательной областей, — считать его положительным или отрицательным? Фактически, мы можем решить этот вопрос и так, и иначе, лишь придерживаясь однажды принятого решения. Для наших целей мы назовем это число отрицательным; поэтому при возвращении к положительным числам мы должны будем останавливаться на максимальном значении вблизи 4,999. Когда возникает отрицательное число, большее по величине, чем 5, либо положительное число, большее 4,999, говорят, что имеет место переполнение, поскольку при этом мы уходим с одного края шкапы только для того, чтобы появиться на другом ее краю с противоположной полярностью. 432 МикроЭВМ и их применения Примеры в табл. 14.1 показывают, как работает представление по правилу дополнения. Все получается хорошо по нашим новым правилам, пока мы игнорируем любые переносы и не выходим за рамки определенной нами шкалы от +4,999 до — 5,000 (по правилу знаков +/ — ), чтобы избежать переполнения.
Табл. 14.1. Правило знаков +/ — по принципу десятичного дополнения Представление 4+( — 1)=3 1+3=4 4+( — 3)=1 2+( — 5)=-3 — 3+3=0 4+ 9= 13 1+ 3=4 4+ 7= 11 2+5=7 7+ 3=10 (+4) (тб) 0)00 (+З> О(О) ' 00) +2) (+т> он ) (+и 0000 (о) ( — 0) )000 (-т> ( !н( — н (-б) -2) (-5) )на) ( 3) (-4) Рис.
14.4. Представление 4-разрядных двоичных чисел по правилу лвоичного дополнения. В скобках указаны эквивалентные числа со знаками +/ — в десятичной записи. Все эти рассуждения подводят нас к тому, чтобы выразить положительные и отрицательные числа в двоичной форме так, чтобы ими можно было оперировать в цифровой электронике.
Только теперь вместо десятичного дополнения мы воспользуемся правилом двоичного дополнения. На рис. 14.4 показано, как можно представить 4-разрядные двоичные числа из десятичного диапазона от +7 до -8, а не из интервала 0 — 15, как мы считали ранее. Конечно, мы должны быть последовательными в наших правилах и никогда не пытаться одновременно использовать 4 бита для представления положительных чисел из интервала 0 — 15 и для того, чтобы выразить числа от +7 до — 8 в форме двоичного дополнения. Если в последнем случае нам нужно представить числа больше +7, то нам необходимо для этого большее число разрядов.
На рис. 14.4 можно увидеть важную и довольно любопытную особенность правила двоичного дополнения: все положительные числа начинаются с О, а все отрицательные числа — с 1. Это позволяет сразу непосредственно судить о знаке, Электронная арифметика 433 (1) Представить положительное число с помошью определенного набора битов. (2) Инвертировать каждый бит (заменить 0 на 1 и 1 на 0). (3) Прибавить 1. Причина добавления 1 становится ясной из диаграммы на рис.
14.4, где на нашем 4-разрядном примере видно, что ноль (0000) эквивалентен не значению 1111, а величине 10000 с неучитываемой единицей переноса. Следуюшие примеры показывают, как выполняются арифметические действия с двоичными числами по правилу двоичного дополнения. В качестве пояснения параллельно приводятся десятичные эквиваленты со знаками +/ —: 0110 +1101 6 — 3 10011 0010 +11!О 2 — 2 10000 0111 +1111 7 — 1 10110 — 6 — 2 1010 +11!0 11000 -8 Сумматор, изображенный на рис. 14.1, легко приспосабливается также и к выполнению вычитания путем вставления элементов ИСКЛЮЧАЮШЕЕ ИЛИ, указанных на рис. 14.5, для преобразования битов на противоположные в двоичном слове на входе В.
Принцип двоичного дополнения реализуется в результате добавления 1, подаваемой на вход переноса С, ИС 7483 (аналог 155ИМЗ вЂ” Прим. нерее.). Переключая вторые входы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ и вход Ст с низкого уровня на высокий, мы можем изменить выполняемую схемой функцию и перейти от сложения 4-разрядных чисел к вычитанию. 28 З»и. 4тЗК и, в самом деле, старший разряд часто называют «знаковым». Важно, однако, помнить, что двоичное дополнение является более хитрым принципом, нежели простое приписывание к числу 0 или 1 для указания его знака.
Можно очень просто сформулировать три правила преобразования положительного двоичного числа в его отрицательный эквивалент в форме двоичного дополнения; 434 МикроЭВМ и их применения а рз а сумматора рис. 14.П Вр' 11 в,' з Даоич- иыс «ссяимс сигиаясг от СОЯИ1 ГЮ юсго и рсхчю- чатсяя и аьиягиарюшис р тисто- роа Вт' 4 Вт' 16 С„15 (Вм»ся 13 отсяючята от 0 В) Рис.
14 5. Применение элементов ИСКЛЮЧАЮШЕЕ ИЛИ дая преобразова- ния сумматора, изображенного на рпс. 14.1, в вычитающее устройство путем изменения каждого бита яа противоположный и добавления 1, подаваемой иа вход переноса. 14.23 Двоичное умнозкение и деление Несмотря на то, что действия в двоичной арифметике по большей части могут выглядеть как незнакомые нашему мозгу, привыкшему к десятичным числам, но уж, по крайней мере, таблица умножения — это сама простота: Ох0=0 Ох!=0 1хО»0 1х1=1 Мы видим, что зто действие совпадает с логической функцией И. Можно отметить заодно, что выбор символа умножения для функции И в булевой алгебре — это не простое совпадение: в двоичной системе счисления эти две операции имеют одинаковый смысл.
Перемножение многоразрядных двоичных чисел состоит из обычных операций «умножения столбиком», а именно — из собственно поразрядного умножения, сдвига и сложения. В следуюших примерах каждое двоичное вычисление сопровождается десятичным эквивалентом: 101 5 Биты, байты и полубайты 435 х3 х11 101 101 15 1111 1001 х101 9 х5 1001 0000 1001 101101 13 х11 13 13 143 1101 х1011 1101 1101 0000 1101 10001111 14.3 Биты, байты и полубайты При изучении принципов комбинационной и последовательностной логики в главе 13 мы имели дело в большинстве случаев с одним битом или с Из этого следует, что для реализации умножения требуется комбинация операции сдвига и поразрядного выполнения логического И с послелуюшим сложением.
И обратно: лля деления необходимы вычитания, за которыми следуют сдвиги в обратном направлении. Как умножение, так и деление, представленные здесь в их исходной форме, являются операциями, выполняемыми последовательно, и поэтому они в соответствии со своей природой выполняются довольно медленно. У некоторых микропроцессоров эти операции даже не включены в основную систему команд и лля их осугцествления требуются программы с (необходимой) последовательностью выполнения поразрядного логического И, сложения, сдвига и т.д. С помощью ИС ТК% МРУ 16И3 реализуется другой подход к проблеме умножения, значительно более быстрый, но и более дорогой: в этой ИС содержится, по сушеству, большая решетка логических элементов И и полных сумматоров, которые выполняют свои функции параллельно.
Эта ИС может выдать 32- разрялное произведение двух 1б-разрядных чисел через 50 нс 436 МикроЭВМ и их применения двумя битами одновременно. В системах на основе микроЭВМ используется своя терминология в отношении более длинных чисел: 8-разрядное слово обычно называют байтом, а его значение удобно выражать двузначным шестнадцатеричным числом. Вот почему 4-разрядное слово, выражаемое одной шестнадцатеричной цифрой, следует окрестить палубайгпам (пЬЬы, пуЬЫе; дословно: огрызок — Прим. перев.). 14.4 Шнна данных Компьютер представляет собой, по сушеству, совокупность регистров для хранения данных, АЛУ и средств перемешения чисел между ними по мере необходимости. Поэтому пересылка данных играет ключевую роль.
Мультиплексор (см. параграф 13.16) ведет себя как электронный переключатель, и его можно применить для пересылки данных к месту их назначения, Поэтому мы могли бы представить себе компьютер, как систему с такими мультиплексорами на входе каждого регистра, у которых входы соединены с выходами всех других регистров. К сожалению, такая конструкция становится чрезвычайно запуганной, как это демонстрирует рис. 14.6, даже в том случае, когда имеется только четыре регистра и у каждого из них лишь один разряд. Если теперь принять во внимание, что даже у маленького компьютера память состоит из более чем миллиона регистров по 16 разрядов в каж- Рнс 14.6.
Сложность *звездообразных» соединений между регистрами для пересылки данных. Шина данных 437 лом, то становится ясной непрактичность так организованных взаимных соединений. Хотелось бы построить «систему железных дорог» с индивидуальными подъездными путями и поездами, курсирующими между любой парой станций, из числа тех, между которыми предположительно может захотеть совершить путешествие какой-либо пассажир. Точно так же, как в реальной жизни на железной дороге один путь связывает между собой многие станции, так и при передаче данных используется сигнальная шина, чтобы соединить между собой все регистры. Шина (Ьца) — это вполне уместное название, происходящее от латинского отл(дил (дословно: для всех), поскольку она служит магистралью для данных (дага Ьфзюау), по которой могут обмениваться числами любые два блока цифровой системы.
Аналогию с железной дорогой нельзя продолжать слишком далеко, так как по одному пути могут одновременно ехать несколько поездов, тогда как по электрической шине данных в каждый момент времени может передаваться только одно число. Поэтому передача по шине носит последовательный характер, а связь между регистрами происходит в очень быстрой последовательности.