Коштоев В.В., Кипиани К.К. Основы прикладной теории цифровых автоматов - файл n1.doc

приобрести
Коштоев В.В., Кипиани К.К. Основы прикладной теории цифровых автоматов
скачать (994 kb.)
Доступные файлы (1):
n1.doc994kb.30.05.2012 00:41скачать

n1.doc

  1   2   3   4   5   6   7
В.В.Коштоев, К.К.Кипиани
Основы прикладной теории цифровых автоматов
(учебное пособие)

Тбилиси

1998
ОСНОВЫ ПРИКЛАДНОЙ ТЕОРИИ ЦИФРОВЫх АВТОМАТОВ
В.В. Коштоев, К.К. Кипиани
В учебном пособии "Основы прикладной теории цифровых автоматов" в начале кратко описываются самые общие понятия по информационным основам цифровых автоматов. Далее, с многочисленными примерами, после-довательно рассматриваются:

- распространенные системы счисления и формы представления чисел в цифровых автоматах;

- принципы организации арифметических действий с двоичными и двоично-десятичными числами и организации контроля работы цифрового автомата;

- основы алгебры логики, методы упрощения и минимизации логических функций;

- методы анализа и синтеза логических электронных схем.

Кратко описываются основы теории автоматов, приводятся методы струк-турного синтеза цифровых автоматов.

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

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

Учебное пособие предназначено для судентов, спеиализирующихся в области вычислительной техники, АСУ и АСИ, а также расчитано на широкий круг специалистов в этих областях.
Объем книги: 155 стр.


ОГЛАВЛЕНИЕ
Предисловие 3

Г л а в а 1. Информационные основы цифровых автоматов 4

1.1. Информация и общие принципы ее преобразования 4

1.2. Обмен информацией между различными информационными

устройствами 7

1.3. Аппаратные средства хранения и обработки информации 8

1.4. Общие понятия о цифровом автомате и алгоритме 9

Г л а в а 2. Представление числовой информации в цифровом автомате 12

2.1. Системы счисления и понятие кода 12

2.2. Выбор системы счисления 15

2.3. Формальные правила двоичной арифметики 15

2.4. Перевод числовой информации из одной позиционной

системы счисления в другую 18

Г л а в а 3. Формы представления чисел в цифровых автоматах 20

3.1. Форма представления чисел с фиксированной запятой 21

3.2. Представление отрицательных чисел в формате

с фиксированной запятой 22

3.3. Форма представления чисел с плавающей запятой 24

3.4. Перевод чисел из формата с фиксированной запятой

в формат с плавающей запятой и обратно 27

3.5. Погрешности представления чисел 29

Г л а в а 4. Арифметические действия с двоичными числами 32

4.1. Сложение двоичных чисел 32

4.1.1. Алгебраическое сложение чисел, представленных в форме

с фиксированной запятой 32

4.1.2. Переполнение разрядной сетки 34

4.1.3. Модифицированный прямой, обратный и дополнительный код 34

4.1.4. Алгебраическое сложение чисел, представленных в форме

с плавающей запятой 35

4.2. Умножение двоичных чисел 36

4.2.1. Методы умножения двоичных чисел 36

4.2.2. Умножение чисел, представленных в форме

с фиксированной запятой 37

4.2.3. Умножение чисел, представленных в форме с плавающей запятой 37

4.2.4. Ускорение операции умножения 38

4.3. Деление двоичных чисел 39

4.3.1. Деление чисел, представленных в форме с фиксированной запятой 39

4.3.2. Деление чисел, представленных в форме с плавающей запятой 42

4.4. Оценка точности выполнения арифметических операций 43

4.4.1. Погрешность округления 44

Г л а в а 5. Выполнение операций над десятичными числами 46

5.1. Представление десятичных чисел в Д-кодах 46

5.2. Формальные правила поразрядного сложения в Д-кодах 46

5.3. Представление отрицательных чисел в Д-кодах 47

5.4. Выполнение операций сложения и вычитания чисел в Д-кодах 48

5.5. Умножение чисел в Д-кодах 48

5.6. Деление чисел в Д-кодах 49

5.7. Перевод чисел из Д-кода в двоичный и из двоичного в Д-код 50

Г л а в а 6. Контроль работы цифрового автомата 51

6.1. Основные понятия теории кодирования 51

6.2. Кодирование по методу четности-нечетности 51

6.3. Коды Хеминга 52

6.4. Контроль по модулю 53

6.5. Контроль арифметических операций 54

Г л а в а 7. Основы алгебры логики 55

7.1. Основные понятия алгебры логики 55

7.2. Свойства элементарных функций алгебры логики 59

7.3. Аналитическое представление функций алгебры логики 61

7.4. Совершенные нормальные формы 64

7.5. Системы функций алгебры логики 66

7.6. Числовое и геометрическое представление логических функций 69

Г л а в а 8. Упрощение и минимизация логических функций 71

8.1. Задача минимизации 71

8.2. Метод Квайна и импликантные матрицы 75

8.3. Метод Карно (диаграммы Вейча) 78

Г л а в а 9. Методы анализа и синтеза логических электронных схем 85

9.1. Логические операторы электронных схем или цепей 85

9.1.1. Задачи анализа и синтеза электронных схем 87

9.2. Синтез логических схем с одним выходом 88

9.3. Электронные схемы с несколькими выходами 94

9.4. Временные булевы функции и последовательностные автоматы 95

Г л а в а 10. Введение в теорию автоматов и структурный синтез

цифровых автоматов 98

10.1 Основные понятия и определения 98

10.2. Методы структурного синтеза и языки описания цифровых автоматов 102

10.3. Элементарный автомат (триггерный элемент) 104

10.4. Синтез цифрового автомата с памятью 195

Г л а в а 11. Алгоритмы рализации арифметических действий

в цифровых автоматах 110

Приложение Определения основных понятий и терминов 145

Литература 153


ПРЕДИСЛОВИЕ
Как известно цифровые электронные вычислительные машины, т.е. компьютеры, предназнчены для обработки цифровой информации и являются частным, но наиболее распространенным видом цифровых автоматов. Для успешного изучения общих принципов обработки цифровой информации рационально, по возможности максимально, отвлечься от реального аппаратного обеспечения компьютера и рассматривать компьютер как некоторый абстрактный цифровой автомат, предназначенный для обработки информации, представленной в цифровой форме. Знания по прикладной теории таких автоматов необходимы для успешного поиска новых принципов построения компьютеров, совершенствования уже известных алгоритмов обработки цифровой информации, грамотной эксплуатации вычислительной техники и разработки различного программного обеспечения.

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

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

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


Глава 1.
ИНФОРМАЦИОННЫЕ ОСНОВЫ ЦИФРОВЫХ АВТОМАТОВ
1.1. Информация и общие принципы ее преобразования
В основе любой научно-технической, биологической и социальной системы управления и функционирования, а тем более в основе систем вычислительной техники, лежат информационные процессы, связанные со сбором и обработкой информации, ее передачей, хранением, распределением, отображением, регистрацией, считыванием и т.д. Из всех перечисленных информационных процессов в итоге можно выделить четыре основных процесса или процедуры: прием информации, передача, хранение и ее обработка. Реализация всех этих процедур в общем случае сопровождается преобразованием физического носителя информации и формы ее представления.

Информация - понятие очень емкое и трудно поддающееся четкому определению. Не останавливаясь на сложной проблеме строгого фор-мализованного и полного определения понятия информации, примем, что информация есть сведения о тех или иных явлениях или объектах, точнее - сведения об определенных свойствах или параметрах этих явлений или объектов и о зависимостях между этими свойствами. Информация воплощенная и зафиксированная в некоторой материальной форме, называется сообщением, а физическое средство передачи соощения - сигналом. Или иначе: сигнал - это процесс изменения во времени некоторого физического параметра s(t) какого-либо объекта, служащий для отображения, регистрации и передачи сообщения.

Характер изменения сигнала во времени может быть представлен графически, в виде осциллограмы, посредством таблицы, в которую вносятся значения si в i-тые моменты времени; сигнал также может быть описан аналитически.

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

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

s = f(t). Причем при такой модели имеется в виду, что причиной изменения величины s является не само время, а некоторая другая физическая величина. Поэтому точнее говорить, что обозначая сигнал через s(t), q(t),... принимается модель, описывающая изменение величин s, q,... во времени.

Существуют различного типа сигналы: непрерывные, т.е. аналоговые, сигналы дискретные, квантованные, кодированные (цифровые), модулированные, импульсные и т.д.

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

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

Дискретный сигнал описывается решетчатой функцией (последова-тельностью, временным рядом) X(nt), в которой величина X может принимать любые значения в некотором интервале [X', X"], в то время, как независимая переменная n принимает только дискретные значения n = 0, 1, 2,... t - интер-вал (шаг) дискретизации. Дискретизация непрерывного сигнала s(t) может производиться во времени или по уровню (параметру). Последний случай дискретизации обычно называется квантованием по параметру и он будет рассмотрен отдельно.

Когда дискретизация сигнала s(t) осуществляется во времени, то не-прерывный сигнал s(t) заменяется (представляется) последовательностью импульсных сигналов, амплитуда которых соответствует значениям непрерывного сигнала в дискретные моменты времени nt. В данном случае значение t равно временному интервалу между смежными отсчетами. Тогда fD = 1/t - это циклическая частота дискретизации, а D = 2fD соответствующая круговая частота.

Примем, что сигнал s(t) задан или графически или же таблично, в котору. внесены его значения в пределах периода времени Т через определенные равные интервалы времени, т.е. период Т разделен в этом случае на 2n равных частей (рис.1.1.). Тогда абсциссы точек разбиения будут равны:

tk = (kT)/2n, а ординаты в этих точках:
sk = f(tk ), где k=0,1,2,...,2n.
Здесь sk значение амплитуды сигнала s(t) в k-тый момент времени.

Если для непрерывного сигнала действительно следующее выражение:

s(t) = Smsint, то после дискретизации во времени этот сигнал описывается уравнением:

s(nt) = Smsin nt.


Hbc\ 1\1\
В результате дискретизации исходная функция s(t) заменяется совокупность. отдельных значений sk, по которым можно восстановить исходную функцию s(t) с некоторой погрешностью. Функцию, полученную в результате такого восстановления (интерполяции) называют воспроизводящей. Для представления воспроизводящей функции наиболее часто используются степенные алгебраические полиномы вида

,

где n - степень полинома, ai - действительные коэффициенты.

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

Согласно теореме В.А.Котельникова, если функция s(t) не содержит частот выше некоторой Fm, то она полностью определяется своими мгновенными значениями в моменты времени, отстоящими друг от друга на величину

1/(2Fm ), т.е.

,

где k - порядковый номер отсчета функции; t = 1/(2Fm) - шаг дискретизации по времени,sk = s(tk) - мгновенные значения сигнала s(t) в k-ой отсчетной точке tk = k/m = k/(2Fm) = kt.

Из этой теоремы следует, что для однозначного представления функции с ограниченным спектром на интервале времени Т достаточно иметь некоторые n значений этой функции, где
n = T / t = 2FmT.
При выполнении этого равенства (условия) непрерывная и дискретная функции обратимы между собой, т.е. тождественны. Таким образом, произвольный сигнал, спектр которого не содержит частот выше Fm может быть представлен в виде последовательности импульсов, амплитуда которых равна значению исходного сигнала в дискретные моменты времени kt= а интервалы между ними t = 1/(2Fm).

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

Рассмотрим теперь процедуру квантования сигнала по параметру.

В диапазоне непрерывных значений функции f(t) выбирается конечное число дискретных значений функции, распределенных, например, равномерно по всему диапазону. В произвольный момент времени значение функции f(t) заменяется ближайшим дискретным по параметру значением. Тем самым функция приобретает ступенчатый вид (рис.1.2.):



Hbc\1\2\

Шагом квантования по параметру называется разность между соседними дискретными значениями функции. Для равномерного квантования шаг квантования постоянный и равен :
k = (fmax _ fmin)/(q _ 1),
где q - число шагов квантования.

Абсолютная погрешность квантования по параметру может изменяться от 0 до k/2. Тогда среднеквадратичная погрешность квантования при равномерном распределении приведенной погрешности от 0 до 0,5k равна:
k = k/2.
Когда определенному значению квантованного параметра сигнала ставится в соответствие некоторое число (код) из конечного множества выбранной системы счисления, то выполняется процедура кодирования сигнала. Кодированные таким способом сигналы принято называть цифровыми. Однако надо иметь в виду, что кодированием в широком смысле слова называется любое преобразование сообщения в определенный сигнал путем установления между ними однозначного соответствия.

Цифровой сигнал описывается квантованной решетчатой функцией (квантованной последовательность., квантованным временным рядом) Xw(nt), которая принимает ряд дискретных значений уровней квантования h1, h2, h3,..., hk ,, в то время как независимая переменная n = 0, 1, 2,....Каждому из уровней квантования ставится в соответствие некоторое число и тем самым сигнал кодируется. Поэтому передача или обработка отсчета цифрового кодированного сигнала сводится к операциям над безразмерными числами (кодами). Представление сигнала в цифровой форме практически всегда дает существенное преимущество при передаче, хранении и обработке информации.

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

Кодирование аналогового сигнала обычно осуществляется при помощи различного типа аналого-цифровых преобразователей (АЦП). Обратная процедура реализуется цифро-аналоговыми преобразователями (ЦАП). Для преобразования сигналов, в частности, используются также различные модуляторы и демодуляторы, широко применяемые, в так называемых, модемах, при помощи которых компьютеры подключаются к различного типа вычислительным сетям. Часто преобразуют и физическую природу сигнала. В частности, преобразование оптического сигнала в электрический и наоборот, выполняют при помощи различных оптоэлектронных устройств.
1.2. Обмен информацией между различными информационными

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

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

Информация передается при помощи интерфейса по определенному "протоколу", т.е. с соблюдением определенных правил, характерных для данного интерфеса.

Различают ведущее ИУ (инициатор) и ведомое (исполнитель). Ведущий иницирует обмен информацией (данными), ведомый передает или принимает информацию под управлением ведущего. К основным интерфейсным процедурам, в частности, относятся: арбитраж - запрос и захват ведущим канала связи (магистрали) интерфейса; адресация нужного ведомого; обмен данными, выполняемый по протоколу конкретного интерфейса.

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

Все перечисленные средства стандартного интерфейса (СИ) должны обеспечить строгое выполнение протокола специфического для данного СИ.

На практике использу.т различные стандартные интерфейсы, например: SCSI, RS-232, CAMAC, VME, MULTIBUS, FASTBUS и т.д.
1.3. Аппаратные средства хранения и обработки информации
Основным аппартным средством любой обработки информации является компьютер, который предназначен для обработки кодированной информации, приема, передачи и хранения ее под управлением соответствующих программ.

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

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

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

Основными параметрами, характеризующими память, являются емкость памяти и время доступа к ней.

Для построения запоминающих устройств в качестве физических элементов используют электронные схемы, ферритовые магнитные материалы, магнитные ленты и диски, оптические диски и т.д. Оперативное запоминающее устройство (ОЗУ) компьютера обычно формируется из электронных схем. В ОЗУ каждое информационное слово размещается в так называемой ячейке, которой присваивается определенный адрес. При отключении компьютера информация, записанная в ОЗУ, пропадает. При включении компьютера происходит автоматическая перегрузка операционной системы с соответст-вующего магнитного диска в ОЗУ. В памяти на магнитной ленте или на дисках информация группируется в файлы, имеющие определенные имена. Информация, записанная в памяти такого типа, сохраняется при отключении компьютера.

Обработку информации выполняет процессор, или микропроцессор (МП) компьютера, который управляет также всей аппаратурой компьютера в целом, включая внешнюю аппаратуру, подключенную к нему. В состав МП обычно входят следующие основные блоки (узлы):

- арифметическо-логическое устройство (АЛУ);

- ряд регистров, каждый из которых предназначен для хранения одного информационного слова;

- память (ПМП), в которой размещаются микропрограммы, управляющие функциями АЛУ и регистрами МП.

Арифметическо-логическое устройство (АЛУ) - функциональная часть МП, выполняющая логические и арифметические действия, необходимые для обработки информации, хранящейся в памяти компьютера.

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

Функции АЛУ определяют архитектуру МП в целом.

Регистры МП участвуют в реализации всех функций МП, в частности функций его АЛУ. Почти все МП имеют шесть основных регистров: состояния, буферные, команд, адреса памяти или порта компьютера, счетчик команд и аккумулятор. Аккумулятор предназначен для хранения слова данных, посланного из АЛУ или памяти компьютера. Он является главным регистром МП при различных операций с данными. Большинство арифметических и логических операций осуществляются путем использования АЛУ и аккумулятора.

Структура микропрограмм определяет состав базовых команд ассемблера данного МП, каждой из которых транслятор ставит в соответствие определенный код (обычно в двоичной системе счисления). В свою очередь каждой команде, оператору языка программирования высокого уровня (Паскаль, Си, Фортан и т.д.) соответствующий компилятор или интерпретатор ставит в соответствие определенную группу команд ассемблера.

Когда МП извлекает по очередному адресу ячейки ОЗУ компьютера код команды ассемблера, то по этому коду активизируется соответствующая микропрограмма, которая в свою очередь генерирует последовательность кодов команд, управляюших микропроцессором в целом, в частности, арифметическо-логическим устройством и регистрами МП.

Таким образом упрощенно выглядит иерархическая структура управления работой компьютера. Следовательно, обработка информации программой любой сложности и любого характера сводится в итоге к выполнению соответствующей последовательности элементарных команд, выполняемых АЛУ микропроцессора. Программный ввод и вывод информации во всех случаях осуществляется "сквозь" МП, через его регистры.
1.4. Общие понятия о цифровом автомате и алгоритме
Необходимость формального описания компьютера и его отдельных частей в процессе его проектирования требует применения специального математического аппарата, который необходим при любых разработках различных методов обработки информации, при синтезе и анализе любых информационных процессов. Для этого вводится понятие абстрактного цифрового автомата.

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

Введем другое определение понятия цифрового автомата.

Цифровой автомат это устройство, характеризующееся набором некоторых внутренних состояний A = {a1(t), a2(t), ..., an(t)}= в которые оно попадает под воздействием входных сигналов и команд программы решения задачи.

Пусть имеется автомат с одним входом и одним выходом:
z(t) (t)


Рис.1.3. Цифровой автомат
Тогда математической модель. цифрового автомата является некоторый абстрактный автомат, заданный следующим образом: в начальный момент времени t = t0 автомат находится в состоянии a(t0) = a1 и остается в нем до момента t = t1, когда появляется входной сигнал z(t1). Под воздействием сигнала z(t1) автомат переходит из состояния a1 в состояние a(t1) = a2. При этом возникает выходной сигнал (t1) = 1, определяемый как функция

(t1) = [a(t1), z(t1)]. Таким образом можно принять, что при подаче произвольного сигнала z(t) = zf автомат переходит из состояния a(t) в состояние a(t+1), которое есть функция a(t+1) = [a(t), z(t)], и в результате вырабатывает выходной сигнал (t).

Выходные сигналы могут вырабатываться при каждом переходе автомата из состояния a(t) в состояние a(t+1) или только при определенных сочетаниях входного сигнала и состояний автомата.

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

Таким образом абстрактный автомат можно описать с помощью следующих параметров:

a1 - начальное состояние автомата;

A = {a1, a2,..., am } - множество внутренних состояний;

Z = {z1, z2,..., zf } - множество входных сигналов;

W = {1, 2,..., h } - множество выходных сигналов;

= {1, 2, ..., n } - совокупность функций перехода из одного состояния в другое;

= {1, 2,..., p } - совокупность функций выходов.

Следовательно, абстрактный автомат реализует некоторе отображение множества слов входного алфавита Z в множество слов выходного алфавита W.

Цифровые автоматы могут быть объединены между собой для фор-мирования более сложного устройства обработки цифровой информации. Существует несколько способов соединения автоматов. Например, параллельное соединение автоматов ЦА1 и ЦА2 (рис.1.4 а), последовательное соединение (рис.1.4. б) и соединение с обратной связь. (рис.1.4. в).
Y1

X Y = (Y1, Y2)

Y2
а) X Y1 Y
X X1 Y1 б)

Y2
в)
Рис. 1.4.
В первом случае устройство объединяет выходы двух автоматов и тем самым получается новый атомат, у которого Y = (Y1, Y2).

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

| X Y2 X1, т.е. X1 = (X, Y2). Очевидно, что во всех этих случаях в итоге формируется некий цифровой автомат с новыми характеристиками.

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

Можно привести еще одно определение понятия алгоритма. Алгоритм - это строго формальное описание конечной последовательности некоторых "элементарных" действий или процедур, которую надо выполнить над исходными данными и над промежуточными результатами, возникшими в ходе выполнения этих операций, для того чтобы прийти к информации, являющейся результатом обработки исходных данных. Подробное описание принципов разработки алгоритмов и их блок-схем приведено в Главе 11.

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

И все-таки в дальнейшем, если это не будет специально оговорено, всегда под понятием "цифровой автомат" будем иметь в виду компьютер без детализации о каком из его узлов идет речь, или же вообще прямо будем использовать термин "компьютер".


Глава 2.
ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ В ЦИФРОВОМ АВТОМАТЕ
2.1. Системы счисления и понятие кода
Как уже отмечалось, в процессе переработки информации цифровые ЭВМ - компьютеры, оперируют числами, которые представляются в некоторой системе счисления.

Система счисления - это совокупность приемов и правил для записи чисел цифровыми знаками. Запись числа в некоторой системе счисления часто называют кодом числа.

Элементы (символы) алфавита, которые используются для записи чисел в некоторой системе счисления, принято называть цифрами. Каждой цифре данного числа однозначно сопоставляется ее количественный (числовой) эквивалент.

Различают позиционные и непозиционные системы счисления.

Непозиционная система счисления - это система, для которой значение символа, т.е. цифры, не зависит от его положения в числе. К таким системам относится, в частности, римская система (правда с некоторыми оговорками). Здесь, например, символ V всегда означает пять, вне зависимости от места его появления в записи числа. Есть и другие современные непозиционные системы.

Позиционная система счисления - это система, в которой значение каждой цифры зависит от ее числового эквивалента и от ее места (позиции) в числе, т.е. один и тот же символ (цифра) может принимать различные значения.

Наиболее известной позиционной системой счисления является десятичная ситема счисления. Например, в десятичном числе 555 первая цифра справа означает 5 единиц, соседняя с ней - 5 десятков, а левая - 5 сотен.

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

Любая позиционная система счисления характеризуется основанием.

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

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

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

В позиционной системе счисления справедливо равенство:
Aq = anqn + an-1qn-1 + ... + a1q1 + a0q0 + a-1q-1 + ... + a-mq-m, (2.1)

или

=
где Aq это произвольное число, записанное в системе счисления с основанием q; ai - коэффициенты ряда, т.е. цифры системы счисления; n, m - количество целых и дробных разрядов соответственно.

Например, согласно (2.1)

1961,3210 = 1103 + 9102 + 6101 + 1100 + 310-1 + 210-2,

124=5378 = 182 + 281 + 480 + 58-1 + 38-2 + 78-3,

1001,11012 = 123 + 022 + 021 + 120 + 12-1 + 12-2 + 02-3 + 12-4.
Индекс, приписываемый к числу, указывает систему счисления, в которой представлено данное число.

Основание системы счисления показывает сколько различных значений в пределах i-того разряда может принимать каждая цифра ai числа A. Номера разрядов в позиционной системе счисления отсчитываются в целой части влево от запятой, а в дробной - вправо от запятой. Причем, нумерация разрядов начинается с 0. Величина основания позиционной системы счисления определяет ее название: для десятичной системы это будет 10, для восьмеричной - 8, для двоичной - 2 и т.д. Как уже отмечалось, обычно вместо названия системы счисления используют термин "код числа". Например, под понятием двоичный код подразумевается число, представленное в двоичной системе счисления, под понятием десятичный код - в десятичной системе счисления и т.д.

Для записи числа в десятичной системе используется 10 различных цифр от 0 до 9:

a10 = (0,1,2,3,4,5,6,7,8,9)=
в шестнадцатеричной - 16:
a16 = (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)=
где A = 10, B = 11, C = 12, D = 13, E = 14, F = 15,
в восьмеричной - 8:

a8 = (0,1,2,3,4,5,6,7)=

в двоичной - 2:

a2 = (0,1)\
Согласно (2.1) каждый разряд числа в двоичной системе счисления слева от запятой представляется двойкой в соответствующей положительной степени, а справа от запятой - двойкой в отрицательной степени. Например:
24 23 22 21 20 2-1 2-2 2-3 2-4

16 8 4 2 1, 0,5 0,25 0,125 0,0625
Примеры представления чисел в различных системах счисления:

1010 = 10102 = 128 = A16

1610 = 100002 = 208 = 1016

25510 = 111111112 = 3778 = FF16

Для обработки информации в компьютере обычно используется двоичная система счисления. Это объясняется, в частности, тем, что для размещения чисел (операндов) в компьютерах используются регистры и ячейки памяти, состоящие из триггеров или элементов с триггерной характеристикой, которые, как известно, имеют два устойчивых состояния. Одному из этих состояний ставится в соответствие 1, а другому - 0. Каждый из триггеров отводится для размещения наименьшей информационной единицы в двоичной системе счисления - двоичного разряда, который называется битом. Восемь бит есть байт.

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

Таким образом, длина числа - это количество позиций (или разрядов) в записи числа. Для разных систем счисления характерна разная длина разрядной сетки, необходимая для записи одного и того же числа. Например, 9610 = 1408 = 11000002, т.е. чем меньше основание системы счисления, тем больше длина числа.

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

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

(Aq)max = qn - 1; (Aq)min = -(qn - 1)
Например, в двоичной системе счисления, если n = 3, то (A2)max = 1112 = 710, т.е. максимальное положительное число, которое может быть записано есть 7, а минимальное -7, представление которого в двоичной системе будет обсуждаться позже.

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

Вес разряда Pi числа в позиционной системе счисления - это отношение
Pi = qi / q0 = qi
где i - номер разряда справа налево, а q0 это первый разряд и его номер равен 0, а значение равно 1.

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

Помимо обычной двоичной системы счисления были предложены двоичные системы счисления, в которых для изображения чисел используются символы 1, -1 или 0, -1. Существуют еще, так называемые, избыточные двоичные системы счисления, например, с символами 0, 1, -1. Но на практике в подавляющем большинстве случаев используется обычная двоичная система счисления.

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

Примеры кода ASCII приведены в таблице 2.1.

Т а б л и ц а 2.1.

Символы Десятичный код Двоичный код Восьмерич-ный код Шестнадцате-ричный код

0 48 0110000 060 30

1 49 0110001 61 31

2 50 0110010 62 32

A 65 1000001 101 41

B 66 1000010 102 42

F 70 1000110 106 46

: 58 0111010 72 3F

( 40 0101000 50 28

2.2. Выбор системы счисления
При выборе системы счисления для ЭВМ необходимо учитывать, что во-первых, основание системы счисления определяет количество устойчивых состояний, которые должен иметь функциональный элемент, выбранный для изображения разрядов числа; во-вторых - длина числа существенно зависит от основания системы счисления; в третьих - система счисления должна обеспечить простые алгоритмы выполнения арифметических и логических операций.

Если имеется n разрядов для изображения числа в q-ичной системе счисления, то тогда максимальное число М, которое можно изобразить в пределах данной разрядной сетки, будет равно:
M = qn - 1 qn
Для оценки экономичности системы счисления с точки зрения затрат оборудования цифрового автомата вводится соответствующий показатель:
N = qn
Из приведенных равенств следует, что N = qlnM / lnq. Используя полученную зависимость, можно найти основание системы счисления, при которой требуется минимум оборудования. Определив dN/dq и приравняв ее к нулю, получим экстремум при q = e. Но е не целое число, поэтому нужно использовать системы с q = 2 или q = 3. Эти системы практически равноценны, т.к.
N2 / N3 = 2ln3 / 3ln2 1.056
Подобное сравнение десятичной и двоичной систем счисления показывает, что десятичная в 1.5 раз менее экономична двоичной.

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

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

В общем случае процедуры сложения и вычитания двух чисел

A B = C в любой позиционной системы счисления начинаются с младших разрядов.

Код суммы каждго i-того разряда сi получается в результате сложения

ai + bi +1, где единица соответствует переносу из младшего (i - 1)-разряда в i-тый, если в младшем разряде код суммы получился больше или равным основанию системы счисления.

Код разности каждого i-того разряда получается в результате вычитания

ai - bi -1, где единица соответствует заему, если он был, в младшие разряды величины, равной основанию системы счисления.

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

Теперь рассмотрим правила арифметики с числами, представленными в двоичном коде.

Сложение двух чисел выполняется поразрядно, начиная с младшего разряда. В каждом разряде выполняется сложение двух цифр слагаемых и единицы переноса из соседнего младшего разряда:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 и осуществляется перенос 1 в старший соседний разряд.

Например:

01012 = 510

+00112 = 310

10002 = 810
Вычитание также производится поразрядно, начиная с младшего разряда. При вычитании в данном разряде из нуля единицы необходимо занять единицу из соседнего старшего разряда, которая равна двум единицам данного разряда:

0 - 0 = 0

1 - 0 = 1

1 - 1 = 0

0 - 1 =1 после заема единицы из соседнего старшего разряда.

Например:

01102 = 610

-00112 = 310

00112 = 310
Суммирование двоичных чисел в компьютерах осуществляется при помощи двоичных сумматоров, а вычитание - двоичных вычитателей. Но как будет показано в дальнейшем, вычитание можно организовать также при помощи процедуры сложения, т.е. при помощи двоичных сумматоров, если вычитаемое представить в "дополнительном" или "обратном" коде и тем самым исключить необходимость в двоичных вычитателях.

Умножение двоичных чисел производится путем образования про-межуточных произведений и последующего их суммирования. Промежуточные поразрядные произведения формируются по следующим правилам:
0 x 0 = 0 101 510 x 310 = 1510

0 x 1 = 0 11

1 x 0 = 0 101

1 x 1 = 1 + 101

1111
Деление чисел в двоичной системе производится по правилам умножения и вычитания.

Например:

110 : 11 = 10 610 : 310 = 210

11

00

00

0

Арифметические действия с двоичными числами подробно будут рассмотрены в дальнейшем.

При выполнении любых арифметических действий важное значение имеют такие электронные устройства, как двоичный полусумматор и двоичный сумматор, которые выполняют побитное двоичное сложение по ранее приведенным правилам. Для двоичного вычитания иногда используют и двоичный вычитатель. Приведем условное обозначение двоичных полусумматора и сумматора:
ai HS S ci ai SM S ci

bi

bi P Pi Pi-1 P Pi
а) б)
Рис.2.1 Условное обозначение полусумматора (а)

и двоичного сумматора (б).
Здесь ai и bi это i-тые разряды чисел А и В, которые складываются, а ci - i-тый разряд суммы этих чисел, Pi - перенос из данного разряда в соседний следующий старший, Pi-1 - перенос из соседнего младшего в данный разряд.

Если для представления двоичных чисел А, В, С и их знаков выделена

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

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

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

A+B=C можно представить следующим образом:
A Pr

CM Pr

Pr C

B


где Рr - некоторые регистры, в которые записываются двоичные числа А, В и С; СM - сумматор, точнее группа сумматоров nSM, где n - длина разрядной сетки, отведенной для представления чисел А, В и С.

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

Кроме этих операций в цифровых автоматах, компьютерах, выполняется еще одна операция над двоичными числами - это сдвиг числа по разрядной сетке влево или вправо. В случае сдвига влево фактически осуществляется умножение двоичного числа на 2, а при сдвиге вправо - деление на 2, где - количество разрядов, на которое сдвигается двоичное число. Например: 0000112 = 310 сдвинем влево на 2 разряда, получим 0011002 = 1210, т.е.

3х4(22) = 1210, а теперь 0010002 = 810 сдвинем на 2 разряда вправо, получим 0000102 = 210, т.е. 8:4(22) = 210.

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

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

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

Например
( 3 0 5 . 4 )8 = 11000101.100(2);

011 000 101 . 100
( 7 B 2 . E )16 = 11110110010.1110(2).

0111 1011 0010 . 1110
Для перехода от двоичной к восьмеричной (шестнадцатеричной) системе поступают так: двигаясь от точки влево и вправо, разбивают двоичное число на группы по три (четыре) разряда, дополняя, при необходимости, нулями крайние левую и правую группы. Затем группу из трех (четырех) разрядов заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой.

Например:

1) перевод 1101111001.11012 в восьмеричное
001 101 111 001 . 110 100 = 1571.648;

1 5 7 1 6 4
2) перевод 11111111011.100111(2) в шестнадцатеричное
0111 1111 1011 . 1001 1100 = 7FB.9C(16).

7 F B 9 C
Двоично-десятичный код (D-код) ориентирован на наиболее удобную для человека десятичную систему счисления. В нем для записи чисел используются только двоичные цифры 0 и 1. Двоично-десятичный код образуется заменой каждого десятичного разряда в десятичном числе 4-х битовым двоичным представлением этого разряда.

Например,

0001 1001 1000 0100(D) = 1984(10)
0001 1001 1000 0100

1 9 8 4
Для реализации машинных алгоритмов перевода из одной системы счисления в другую существуют различные методы. Так, например, для перевода целого десятичного числа в его двоичный (восьмеричный, шестнадцатеричный) эквивалент используется деление на 2 (8, 16), т.е. выполняется деление на основание новой системы счисления. В процессе такого деления последовательно, начиная с младшего разря-да 2-го (8-го, 16-го) эквивалента, записывается остаток, если он получается на очередном этапе деления десятичного числа. В противном случае записывается ноль. Далее результат очередного деления опять делится на 2 (8, 16), если этот результат больше или равен 2 (8, 16). Если же результат меньше, то он прямо переписывается в старший разряд:
1) 53:2 = 26:2 = 13:2 = 6:2 = 3:2 = 1

(мл. раз.) 1 0 1 0 1 1 (ст. раз.)

n\t\ 53(10) = 110101(2).
2) 128:8 = 16:8 = 2

0 0 2

12810 = 2008
3) 128:16 = 8

0 8

12810 = 8016
Для дробных чисел (или дробных частей вещественных чисел) требуется отдельная процедура перевода. В случае неправильной дроби процедура преобразования для целой и дробной частей числа выполняется отдельно. Результат получают путем записи двоичных эквивалентов этих частей соответственно слева и справа от двоичной запятой (точки). Следовательно, при переводе неправильной десятичной дроби целая и дробная части числа переводятся в двоичный эквивалент по разным алгоритмам.

Процедуру преобразования десятичной дроби в двоичную рассмотрим на примере преобразования числа 0,375.

1. Преобразование осуществляется умножением дроби на основание системы счисления, в которой дробь должна быть представлена. В данном случае умножаем на 2: 0,375 х 2 = 0.75. Окончательный результат формируется поразрядно, начиная со старшего разряда, к примеру, в некотором трехразрядном регистре С = 0.XXX, где XXX - разрядная сетка мантиссы этого регистра.

2. Если результат <1, то старшему значащему разряду присваивается значение 0; если больше 1, то присваивается 1. Поскольку 0,75<1, то в старший разряд регистра С записывается 0, т.е. С = 0,0XX.

3. Результат предыдущей операции умножения снова умножаем на 2. Заметим, что если бы результат предыдущей операции умножения был больше 1, то в данной операции умножения участвовала лишь его дробная часть. В данном случае 0,75 x 2 = 1,5.

4. Так как результат больше 1, то следующему значащему разряду регистра С присваивается значение 1, т.е. С = 0,01X.

5. Шаги описанной процедуры повторяются до тех пор, пока либо результат умножения не будет точно равен 1, либо не будет достигнута требуемая точность. В нашем примере после выполнения очередного шага результат равен 0,5 x 2 = 1,0. Поэтому очередному значащему разряду регистра С присваивается 1, т.е. окончательно получена двоичная дробь С = 0.0112.

Надо отметить, что не всегда путем повторения операций умножения можно достичь результата, точно равного 1. В таком случае процесс останавливается по достижению необходимой точности, а целую часть результата последней операции умножения присваивают младшему значащему разряду.
Расмотрим еще пример: переведем число 0,3437510 в двоичное

2 x 0,34375 = 0,6875 0 (старший разряд - СЗР, результата перевода)

2 x 0,6875 = 1,375 1

2 x 0,375 = 0,75 0

2 x 0,75 = 1,5 1

2 x 0,5 = 1,0 1

2 x 0 = 0 0 (младший разряд - МЗР, результата перевода)

Ответ: 0,01011(2)
Для перевода десятичной правильной дроби в восмеричную (шест-надцатеричную) надо умножать ее на 8 (16). Если очередное произведение правильная дробь, то, начиная со старшего разряда результата записываются 0. Если произведение целое и меньше 8 (16), то оно прямо переписывается в соответствующий разряд результата.

Например:

1) 0,0625 x 8 = 0,5 0

0,5 x 8 = 4 4

0,062510 = 0,048
2) 0,875 x 16 = 14(E)

0,87510 = 0,E16
Перевод двоичного числа в десятичный его эквивалент можно выполнить при помощи формулы (2.1):
1) 110101(2) = 125 + 124 + 023 + 122 + 021 + 120 =

132 + 116 + 08 + 14 + 02 + 11 = 32 + 16 + 4 + 1 = 53(10).

2) 2008 = 282 + 081 + 080 = 12810

3) 1F16 = 1161 + 15160 = 3110
Таким образом, при переводе числовой информации из одной позиционной системы счисления в другую все действия должны выполняться по правилам арифметики исходной системы счиления.
Глава 3.
ФОРМЫ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ В ЦИФРОВЫХ АВТОМАТАХ
Формой представления чисел в цифровых автоматах называется совокупность правил, позволяющих установить взаимное соответствие между записью числа и его количественным эквивалентом.

Машинное (автоматное) изображение числа это есть представление числа в разрядной сетке цифрового автомата. Условное обозначение машинного изображения числа, например, A будем представлять как [A].

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

В повседневной практике наиболее распространенной является форма представления чисел в виде последовательности цифр, разделенной запятой на целую и дробную части. Числа, представленные в такой форме, называются числами с естественной запятой или числами в естественной форме. В естественной форме число записывается в естественном натуральном виде, например 12560 - целое число, 0,003572 - правильная дробь, 4,89760 - неправильная дробь.

При представлении чисел в такой форме обязательно требуется для каждого числа указание о положении его запятой в разрядной сетке, выделенной для представления числа в машине, что требует дополнительных аппаратных затрат достаточно большого объема. Поэтому в компьютерах получили распространение две другие формы представления: с фиксированной и плавающей запятой.
3.1. Форма представления двоичных чисел с фиксированной запятой
Необходимость в указании положения запятой отпадает, если место запятой в разрядной сетки машины заранее фиксировано раз и навсегда. Такая форма представления чисел называется представлением с фиксированной запятой (точкой).

Так как числа бывают положительные и отрицательные, то формат (разрядная сетка) машинного изображения разбивается на знаковую
  1   2   3   4   5   6   7


Основы прикладной теории цифровых автоматов
Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации