Герасимов В.Г. (ред). - Электрические измерения и основы электроники (1998) (529641), страница 45
Текст из файла (страница 45)
=о Где г'е аг, — отдельные цифры в записи числа, значения которых равны чле "енам натурального ряда в диапазоне от О до ( р — 1) При выполнении вычислений цифровыми электронными устроистванн нс "используются элементы с двумя устойчивыми состояниями причем в начес "естве различных состояний можно рассматривать например, наличие н отс тсутствие напряжения на выходе ЦЭУ По этой причине в цифровой техни тема ""ке широкое распространение получила позиционная двоичная сисснеци "счисления (с основанием 2) В каждом двоичном разряде, получившем ци'льное название бит" может стоять одна из двух возможных цифр т слова Ьгг (англ ) — кусочек 247 1 или О, сама же запись числа (двоичный код) представляет собой после.
довательность из единиц и нулей. В специальных машинно-ориентиро. ванных языках программирования, называемых АССЕМБЛЕРами, в со. мнительной ситуации, запись двоичного числа справа дополняют буквой В, а десятичного числа — буквой Д. Отсутствие какой-либо буквы я конце записи числа означает, что оно записано в десятичной системе. Веса соседних разрядов двоичного кода числа представляются членами геометрической прогрессии со знаменателем 2, а самый' правый разряд двоичного числа (младший бит) имеет вес !. Например, число 1010!! В представляется суммой (6.!) при р=2, те. 101011 В = 1 2о + 1 2' ~ ~- 0 2- 1- 1 23 ~ 0.24 .+ 1 25 43 Тройки соседних битов справа налево, начиная с младшего бита двоичного числа, образуют тр и ад ы.
Четыре соседних бита называют т е т р а д о й, группу из 8 бит называют б а й т о м, а из 16 бит— м а ш и н н ы м с л о в о м. Таким образом, в байте содержатся две тетрады (младшая и старшая, расположенная слева от младшей тетрады), а в машинном слове — соответственно два байта (младший и старший, слева от младшего байта). Совокупность из 1024 (2!~) байт называют к ил оба йто м,следовательно,!Кбайт=!024байт= 2!арбайт.
Всвою очередь, 1024 килобайт называют м е г а б а й т о м, что приводит к следующим соотношениям 1 Мбайт =1024 Кбайт = 2'~ Кбайт = =1048576 байт =- 10 байт + 47 Кбайт. Наконец, 1024 (2 ") Мбайт называют г и г а б а й т о м, т.е. 1 Гбайт = 1024 Мбайт = 2ьв Мбайт = =! 048576 Кбайт. Современные персональные ЭВМ могут хранить в своей памяти на жестких магнитных дисках цифровую информацию объемом в несколько гигабайт. Арифметические операции в двоичной системе счисления исключительно просты и легко реализуются аппаратно. Так, суммирование двух одноразрядных чисел выполняется следующим образом 0+0=0,1+0=0+1=1,1+1 =1О.
где сдиница слева в последней записи означает перенос 1 в соседний более стар ш и й разряд. Нетрудно убедиться в том, что сдвиг двоичного кода влево на один разряд с записью 0 в младший бит результата соответствует умножению исходного числа на 2, а сдвиг на 1 разряд вправо — выделению цело" части результата деления этого числа на 2. Умножение двух произвольных двоичных чисел сводится к операциям сдвига и суммирования. Двоичная система счисления весьма удобна для построения цифровых вычислителей, но непривычна с точки зрения обычного пользователя. Вопервых, запись больших чисел в двоичном коде оказывается более громоздкой по сравнению с десятичной системой. Так при помощи и-разряд- 248 ного двоичного кода можно записать максимально 2" различных положительных целых чисел (в диапазоне значений от 0 до 2"-1), в то время как в десятичной системе получаем 10" различных чисел.
Во-вторых, поскольку человек обычно использует десятичную систему, требуется пересчет двоичных чисел к десятичному эквиваленту и перевод десятичныхх чисел в двоичный код. Пересчет двоичного кода к десятичному эквиваленту выполняют, представляя двоичное число в виде суммы (6.1) и вычисляя полученный результат при р=2 в десятичной системе. Стремление упростить процедуру пересчета двоичных чисел к десятичному эквиваленту при сохранении простоты выполнения арифметических операций средствами цифровой техники привело к использованиюдвоично — десяти чногокода. Вэтомкодедлязаписиотдельных цифр разрядов десятичного числа используют тетрады их двоичного кода.
Например, десятичное число 8521 в двоично-десятичном коде представляется машинным словом из четырех тетрад 8521 = 1000 0101 00! 0 000!. Вместе с тем, наглядность записи чисел в двоично-десятнчном коде достигается ценой существенного увеличения количества бит в его записи. В этом смысле двоично-десятичный код по длине записи проигрывает даже самому обычному двоичному коду. Так, 16-разрядный двоичный код обеспечиваетдиапазон представления положительных целых чисел от 0 до 65535, а двоично-десятичный код — — от 0 до 9999.
Современные ЦЭУ способны оперировать с двоичными числами, количество бит которых достаточно велико (до 80 бит в специальных микросхемах, предназначенных для ускоренного выполнения арифметических операций). Конечно, записывать такие длинные числа утомительно, поэтому, как правило, они представляются более компактными записями с использованием ш е с т н а д ц а т е р и ч н о й системы счисления (с основанием 16).
В этой системе используют первые десять членов натурального ряда от 0 до 9, а в качестве остальных цифр— первые шесть латинских букв А=! О, В=11, С=12, Р=!3, Е=14, Г=15. При необходимости число шестнадцатеричной системы может справа помечаться буквой Н. Перевод двоичного числа в число системы с основанием 16 и наобоРот не вызывает особых трудностей. Для этого исходное двоичное число справа налево разбивается на тетрады, а затем содержимое каждой из них рассматривается как двоичный код соответствующей цифры шестнадцатеричной системы. Для обратного перехода каждую цифру шестнадцатеричной системы заменяют тетрадой соответствующего двоичного кода.
Л В качестве примера рассмотрим перевод числа А2706 Н в двоичныи код. Каждую из цифр этого шестнадцатеричного числа заменяем тетра дой двоичного кода, получаем Ж = А2706 Н= 1010 0010 0111 0000 0110 В. Задача 6.1. Найти десятичный эквивалент числа ГРЕА Н. Р е ш е н и е. Исходное число записано в системе с основанием 16 (буква Н справа). В соответствии с формулой (6.1) при р=16 имеем Ж=ГВЕА = с' а~.16~' = 1О 160+ 14.16' +.
13.162+ 15!6з ~=о Подсчитывая эту сумму в десятичной системе, получаем К=65002 Э = 65002. 6.2. ЭЛЕМЕНТЫ ТЕОРИИ БУЛЕВЫХ ФУНКЦИЙ Для описания работы ЦЭУ используется математический аппарат алгебры логики, разработку которого связывают с известным английским математиком середины Х1Х в. Дж.Булем. Функциеи алгебры логики (булевой функцией) и-переменных называют функцию Цх;), однозначно гопогтавляющую каждому конкретному набору значений О или 1 переменных (х, р ...
хпх0) одно из двух возможных значений О или 1 гамой функции. Каждый конкретный набор значений переменных х, может рассматриваться в виде и-битного двоичного кода, поэтому общее количество таких наборов т=2л. В свою очередь, совокупность значений функции Г(х,) также можно представить т-битным двоичным кодом, откуда заключаем, что общее число различных булевых функций и-переменных равно 2 В простейшем случае функция Р1х) может быть задана сл ов ее н ы м о п и с а н и е м.
Например, функция Г(х2х~х0) равна 1, если все три ее переменные или любая пара.из них равны 1, в противном случае Р(хзх~хо)=0. Г1о принципу работы некоторых цифровых электронных устройств отдельные конкретные наборы переменных могут быть исключены (запрещенные наборы), что трактуется как наличие факультативных условий. Обычно на факультативных наборах булевую функцию доопределяют таким образом, чтобы получить наиболее простую ее запись. Любая булева функция и переменных может быть полностью задана т а б л и ч н о, если перечислить все возможные наборы переменных х; и указать соответствующие им значения функции Г(х,). Построенную таким образом таблицу называют т а б л и ц е й и с т и н н о с т и.
Как правило, в таблице истинности наборы переменных располагаются = порядке нарастания десятичного эквивалента их двоичного кода. В качестве 250 лримера на рис.6.1 представлена таблица истинности некоторых булевых функций трех переменных и в том числе функции Г (х2х,хо), описанной выше словесно. Строго говоря, для полного определения булевой функлии не обязательно задавать ее значения на всех возможных наборах, достаточно перечислить номера наборов, на которых она обращается в нуль, или только наборов, на которых она равна 1.
Например, в соответствии с таблицей истинности на рис.6.1. имеем два варианта описания предыдущей функции: Е (х хьхо) Е (3 э 6 7) 1 (6.2а) или (6.26) Г (хзх1хо) = Р (О, 1,2,4) = О, Рис.6.1. Таблица истишгости некоторых булевых функций трех переменных 251 Конечно, из этих двух вариантов задания функции Г(х,) стремятся выбрать наиболсс компактный, в котором перечислено меньшее количество наборов переменных х, . Задание булевых функций таблицей истинности не всегда удобно, так как при больших л она становится слишком громоздкой и трудно обозримой. В этом смысле наиболее привлекателен а н а л и т и ч е с к и й е и о с о б задания булевых функций в виде так называемых с т р у к т у рн ы х ф о р м у л, показывающих какие логические операции необходиио выполнить над входящими в них переменными х,, чтобы получить ' значения данной функции.
Для определения основных типов логических операций достаточно рассмотреть булевы функции одной и двух переменных, При и=1 имеем асего 4 типа булевых функций, таблица истинности для которых приведена на рис.6.2. Заметим, что функция Го(хо) принимает значение () независимо от значенияаргумента хо и называется ге пер ат о р о м нуля. ~(налогично. Г,(хо) =1 независимо от хоп называется г е н с р а т о р о м е д и н и ц ы. Функция Г!(хо) повторяет значение аргумента хо, что соответствует записи г"!(л0) =х0.
Наконец, функция Е2(лв) принимает инверсные значения аргумента и определяет о п е р а ц и ю и н в е р с и и (о т р и ц а н и я), которую обозначают чертой сверху аргумента г',(ло)= хо. Операции повторения и инверсии выполняются простейшими цифровыми элементами — соответственно повторителем и инвертором, обозначения которых показаны на рис.6.3,а,б. Инверсия, наряду с други ми элементарными логическнмн операциями широко используется для аналитической записи произвольных булевых функций.