Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лекции по ВМСС - файл Глава 2.doc


Загрузка...
Лекции по ВМСС
скачать (35218.7 kb.)

Доступные файлы (18):

Глава 10.doc8030kb.25.01.2005 11:05скачать
Глава 11 ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc2232kb.28.01.2005 20:28скачать
Глава 12.doc4356kb.29.01.2005 18:29скачать
Глава 13.doc745kb.09.03.2005 15:11скачать
Глава 14.doc605kb.11.03.2005 15:19скачать
Глава 15.doc243kb.11.03.2005 15:35скачать
Глава 16.doc498kb.11.03.2005 15:43скачать
Глава 2.doc2062kb.24.02.2005 19:16скачать
Глава 3 ЭЛЕМЕНТНАЯ БАЗА ЭВМ.doc2589kb.24.02.2005 20:00скачать
Глава 4.doc1726kb.02.03.2005 20:36скачать
Глава 5 ЦЕНТРАЛЬНЫЕ УСТРОЙСТВА ЭВМ.doc1113kb.04.03.2005 13:56скачать
Глава 6.doc1177kb.04.03.2005 18:09скачать
Глава 7 ВНЕШНИЕ УСТРОЙСТВА ЭВМ.doc918kb.09.03.2005 14:44скачать
Глава 8.doc6796kb.25.01.2005 19:33скачать
Глава 9.doc4463kb.25.01.2005 18:23скачать
ОГЛАВЛЕНИЕ.doc45kb.11.03.2005 19:02скачать
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ.doc41kb.04.03.2005 14:10скачать
учебник_введение.doc53kb.25.01.2005 11:37скачать

Глава 2.doc

Реклама MarketGid:
Загрузка...
Глава 2 ИНФОРМАЦИОННО-ЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ

2.1. Системы счисления

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

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



(2.1)
где: аii-я цифра числа;

kколичество цифр в дробной части числа;

т — количество цифр в целой части числа;

N — основание системы счисления.

Основание системы счисления N показывает, во сколько раз «вес» i-го разряда больше (i- 1) разряда. Целая часть числа отделяется от дробной части точкой (запятой).

Пример 2.1. A10=37.25.

В соответствии с формулой (2.1) это число формируется из цифр с весами разрядов:

A10= 3●101 + 7●10°+2●10-1 +5●10-2.

Теоретически наиболее экономичной системой счисления является сис­тема с основанием е =2,71828..., находящимся между числами 2 и 3.

Во всех современных ЭВМ для представления числовой информации используется двоичная система счисления. Это обусловлено:

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

• более надежной физической реализацией основных функций, так как они имеют всего два состояния (0 и 1);

• экономичностью аппаратной реализации всех схем ЭВМ.

При N=2 число различных цифр, используемых для записи чисел, ог­раничено множеством из двух цифр (нуль и единица). Кроме двоичной системы счисления широкое распространение получили и производные системы:

• двоичная—{0,1};

• десятичная, точнее, двоично-десятичное представление десятичных чисел— {О, 1, .... 9};

• шестнадцатеричная — {0, 1, 2,..., 9, А, В, С, D, Е, F}. Здесь шестнадца-теричная цифра А обозначает число 10, В — число 11,..., F — число 15;

• восьмеричная (от слова восьмерик) — {О, 1, 2, 3, 4, 5, 6, 7}. Она широко используется во многих специализированных ЭВМ. Восьмеричная и шестнадца-теричная системы счисления являются про­изводными от двоичной, так как 16 = 24 и 8 = 23. Они используются в ос­новном для более компактного изображения двоичной информации, так как запись значения чисел производится существенно меньшим числом знаков.

Пример 2.2. Число А10 - 100.625 в двоичной, восьмеричной и шестнадцатеричной системах счисления имеет следующее представление:

A2= 1100100.101;

А8 = 144.5;

А16 = 64.А;

А2 = 1● 26+1● 25+0 • 24+ 0 • 23+1● 22+0 •21+1●2°+1● 2-1+0 • 2-2+1● 2-3;

A8 =1●82+4●81+4●8°+5●8-1;

А16 =6161+4● 160+10● 16-1.

Представление чисел в различных системах счисления допускает однозначное преобразование их из одной системы в другую. В ЭВМ перевод из одной системы в другую осуществляется автоматически, по специальным программам. Правила перевода целых и дробных чисел отличаются.
^ 2.1.1.Перевод целых чисел .

Целое число с основанием Nl переводится в систему счисления с основанием N2 путем последовательного деления числа An1, на основание N2, записанного в виде числа с основанием N1, до получения остатка. Полученное частное следует вновь делить на основание N2, и этот процесс надо повторять до тех пор, пока частное не станет меньше делителя. Полученные остатки от деления и последнее частное записываются в порядке, обратном полученному при делении. Сформированное число и будет являться числом с основа­нием N2.



A10=37 A10=37

А2 = 100101 А16 = 25
^ 2.1.2.Перевод дробных чисел

Дробное число с основанием N1 переводится в систему счисления с основанием N2 путем последовательного умножения AN1 на осно­вание N2, записанное в виде числа с основанием N1. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а оставшаяся дробная часть принимается за новое множимое. Число умножений определяет разрядность по­лученного результата, представляющего число AN1 в системе счис­ления N2.

Пример 2.4. A10= 0,625; A2 = ?; A 16 = ?



Так как двоичная, восьмеричная и шестнадцатеричная системы связаны через степени числа 2, то преобразования между ними можно выполнять другим, более простым, способом. Для перевода из шестнадцатеричной (восьмеричной) системы счисления в двоичную достаточно двоичным кодом записать шестнадцатеричные коды цифр тетрадами (по 4 двоичных разряда) и триадами (по 3 двоичных разряда) — для восьмеричных цифр. Обратный перевод из двоичного кода производится в обратном порядке: двоичное число разбивается влево и вправо от границы целой и дробной частей: на тетрады — для последующей записи цифр в шестнадцатеричном представлении; на триады — для записи их значений восьмеричными цифрами.
^ 2.2.Представление информации в ЭВМ

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

Информация может быть по своей физической природе: числовой, текстовой, графической, звуковой, видео и др. Она также может быть постоянной (не меняющейся), переменной, случайной, вероятностной. Наибольший интерес представляет переменная информация, так как она позволяет выявлять причинно-следственные связи в процессах и явлениях. Существуют различные способы оценки количества инфор­мации. Классическим является подход, использующий формулу К.Шеннона. Применительно к двоичной системе она имеет вид

H = log2N,

где: Н — количество информации, несущей представление о состоянии, в котором находится объект;

N — количество равновероятных альтернативных состояний объекта.

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

^ 2.2.1. Представление числовой информации

В ЭВМ используются три вида чисел: с фиксированной точкой (за­пятой), с плавающей точкой (запятой) и двоично-десятичное представле­ние. Точка (запятая) — это подразумеваемая граница целой и дробной частей числа.

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

2-n  | A2 |  1-2-n

Если точка фиксируется после последней значащей цифры, то это означает, что n-разрядные двоичные числа являются целыми. Диапа­зон изменения их значений составляет:

0  | A2 |  2-n -1

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

Другой формой представления чисел является представление их в виде чисел с плавающей точкой (запятой). Числа с плавающей точ­кой представляются в виде мантиссы та и порядка ра, иногда это представление называют полулогарифмической формой числа. На­пример, число A10= 373 можно представить в виде 0.373 • 103, при этом та- 0.373, ра= 3, основание системы счисления подразумевается фик­сированным и равным десяти. Для двоичных чисел А2 в этом пред­ставлении также формируется мантисса та и порядок ра при основа­нии системы счисления, равном двум:



что соответствует записи



Порядок числа ра определяет положение точки (запятой) в двоич­ном числе. Значение порядка лежит в диапазоне -pamax  pa pamax, где величина pamax определяется числом разрядов r, отведенных для пред­ставления порядка



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



Значение р'а носит название «характеристики числа».

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



Модифицированный порядок р'а вычисляется по зависимости



Этим самым значения р'а формируются в диапазоне положительных чисел



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



где kчисло разрядов, отведенных для представления мантиссы. Если



то старший значащий разряд мантиссы в системе счисления с основа­нием N отличен от нуля. Такое число называется нормализованным. Например, А2= (100;0.101101)2 — нормализованное число А2= 1011.01 или 410= 11,25, а то же самое число А2= (101;0.0101101) — число не­нормализованное, так как старший разряд мантиссы равен нулю.

Диапазон представления нормализованных чисел с плавающей точкой определяется так:



где rnkсоответственно количество разрядов, используемых для представ­ления порядка и мантиссы.

Третья форма представления двоичных чисел — двоично-десятичная. Ее появление объясняется следующим. При обработке больших масси­вов десятичных чисел (например, больших экономических документов) приходится тратить много времени на перевод этих чисел из десятичной системы счисления в двоичную для последующей обработки и обратно — для вывода результатов. Каждый такой перевод требует выполнения двух — четырех десятков машинных команд. С включением в состав от­дельных ЭВМ специальных функциональных блоков или спецпроцессо­ров десятичной арифметики появляется возможность обрабатывать де­сятичные числа напрямую, без их преобразования, что сокращает время вычислений. При этом каждая цифра десятичного числа представляется двоичной тетрадой. Например, A10 =3759, A2-10 = 001101110101 1001. По­ложение десятичной точки (запятой), отделяющей целую часть от дроб­ной, обычно заранее фиксируется. Значение знака числа отмечается ко­дом, отличным от кодов цифр. Например, знак «+» имеет значение тет­рады «1100», а знак « - » — «1101».
^ 2.2.2.Представлениедругих видов информации

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

С развитием микроэлектроники и компьютерных технологий все большее распространение получают цифровые системы передачи дан­ных. В их основу положены процедуры квантования аналоговой ин­формации по времени и величине. Значения функции y=f(t) изме­ряются с большой точностью в моменты времени 0, t, 2t, ..., nt (t =const). Эта последовательность дискретных измерений пересы­лается абоненту, у которого по ним воссоздается значение функции. Качество воспроизведения функции y=f(t) при t  0 мо­жет быть очень высоким. Более подробно эти вопросы освещаются в п. 13.6.

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

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

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

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

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

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

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

Растровые видеоизображения используются в телевидении, а в ЭВМ практически не применяются.

Матричные изображения получили в ЭВМ наиболее широкое рас­пространение. Изображение на экране рисуется электронным лучом точками.

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

Изображение может быть представлено и в векторной форме. Тог­да оно составляется из отрезков линий (в простейшем случае — пря­мых), для которых задаются: начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии). Век­торный способ имеет ряд преимуществ перед матричным: изображе­ние легко масштабируется с сохранением формы, является «прозрач­ным» и может быть наложено на любой фон и т.д.

Способы представления информации в ЭВМ, ее кодирование и преобразование имеют очень большое значение в информационных системах. Они сильно зависят от стандартов, используемых в отдель­ных странах и фирмах, от типа приобретенного и действующего обо­рудования и других условий. С появлением вычислительных сетей, в которых информация циркулирует между странами и континентами, претерпевая многократные перекодировки, возникла проблема адек­ватного ее воспроизведения. Существует множество стандартов (и они продолжают множиться), используемых в сетях связи и представ­лении данных в ПК (МТК-5, КОИ-7, ДКОИ-8, EBDIC, кодировки DOS, 866, Windows-1251, Западно-европейская и др.). Рассмотрим осо­бенности такого кодирования.

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

Номер нажатой клавиши никак не связан с формой символа, нане­сенного на клавише. Опознание символа и присвоение ему внутрен­него кода ЭВМ производится специальной программой по специаль­ным таблицам: ДКОИ, КОИ-7, ASCII (Американский стандартный код передачи информации).

Всего с помощью таблицы кодирования ASCII (табл. 2.1) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).

Первая половина таблицы стандартизована. Она содержит уп­равляющие коды (от 00h до 20h и 77). Эти коды в таблице зани­мают две первые строки. Они не относятся к текстовым элементам, поэтому часть из них опущена. Здесь же размещаются знаки пункту­ации и математические знаки: 21h — !, 26h — &, 28h — (, 2Bh —+, ..., большие и малые латинские буквы: 41h — A, 61h — а, ...

^ Таблица 2.1

Таблица кодирования текстовой информации АSСП




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

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

Описание формы каждого символа хранится в специальной памя­ти дисплея — знакогенераторе.

Высвечивание символа на экране дисплея IBM PC осуществляет­ся с помощью точек, образующих символьную матрицу. Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой «О», светлая (яркая) — цифрой «1».

Если изображать в матричном поле знака темные пикселы точкой, а светлые — звездочкой, то можно графически изобразить форму сим­вола.

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

Кодирование аудиоинформации — процесс более сложный. Аудио­информация является аналоговой. Для преобразования ее в цифровую форму используют аппаратные средства: аналого-цифровые преоб­разователи (АЦП), в результате работы которых аналоговый сигнал оцифровывается — представляется в виде числовой последователь­ности. Для вывода оцифрованного звука на аудиоустройства необ­ходимо проводить обратное преобразование, которое осуществляет­ся с помощью цифро-аналоговых преобразователей (ЦАП) .
^ 2.3.Арифметические основы ЭВМ

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

^ Таблица 2.2 Правила сложения двоичных цифр


Здесь показаны правила сложения двоичных цифр аi, bi, одноимен­ных разрядов с учетом возможных переносов из предыдущего разря­да рi-1.

Подобные таблицы можно было бы построить для любой другой арифметической или логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знако­вый разряд. Знак «+» кодируется двоичным нулем, а знак «-» — еди­ницей. Действия над прямыми кодами двоичных чисел при выполне­нии операций создают большие трудности, связанные с необходимос­тью учета значений знаковых разрядов:

• во-первых, следует отдельно обрабатывать значащие разряды чи­сел и разряды знака;

• во-вторых, значение разряда знака влияет на алгоритм выполнения операции (сложение может заменяться вычитанием и наоборот). Во всех без исключения ЭВМ все операции выполняются над чис­лами, представленными специальными машинными кодами. Их ис­пользование позволяет обрабатывать знаковые разряды чисел так же, как и значащие разряды, а также заменять операцию вычитания опе­рацией сложения.

Различают прямой код (П), обратный код (ОК) и дополнительный код (ДК) двоичных чисел.

^ 2.3.1. Машинные коды

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

Пример 2.5.



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

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

Пример 2.6.



Свое название обратный код чисел получил потому, что коды цифр отрицательного числа заменены на инверсные. Укажем наиболее важ­ные свойства обратного кода чисел:

• сложение положительного числа С с его отрицательным значени­ем в обратном коде дает так называемую машинную единицу МЕок=1¦ 11…111, состоящую из единиц в знаковом и в значащих разрядах числа;

• нуль в обратном коде имеет двоякое значение. Он может быть как положительным числом — 0¦ 00...0, так и отрицательным — 1 ¦ 11...11. Значение отрицательного нуля совпадает с МЕок. Двой­ственное представление нуля явилось причиной того, что в совре­менных ЭВМ все числа представляются не обратным, а дополни­тельным кодом.

Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет со­бой результат суммирования обратного кода числа с единицей млад­шего разряда (20 — для целых чисел, 2-kдля дробных).

Пример 2.7.



Укажем основные свойства дополнительного кода:

• сложение дополнительных кодов положительного числа С с его от­рицательным значением дает так называемую машинную едини­цу дополнительного кода:

МЕдк=МЕок+20=10¦ 00...00,

т.е. число 10 (два) в знаковых разрядах числа;

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

Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак «+» в этих кодах кодируется двумя нулевыми знаковыми разрядами, а знак «-» — двумя единичными разрядами.

Пример 2.8.



Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный результат в отведенной разрядной сетке машины. В этом случае перенос из зна­чащего разряда может исказить значение младшего знакового разря­да. Значение знаковых разрядов «01» свидетельствует о положитель­ном переполнении разрядной сетки, а «10» — об отрицательном пере­полнении. В настоящее время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения разрядной сетки иг­рают переносы, идущие в знаковый и из знакового разряда.
^ 2.3.2.Арифметические операции над числами с фиксированной точкой

Сложение (вычитание). Операция вычитания приводится к опера­ции сложения путем преобразования чисел в обратный или дополни­тельный код. Пусть числа А≥0 и В≥0, тогда операция алгебраическо­го сложения выполняется в соответствии с табл. 2.3.

^ Таблица преобразования кодов при алгебраическом сложении Таблица 2.3


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

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

2. Знаковые разряды чисел участвуют в сложении так же, как и значащие.

3. Необходимые преобразования кодов (п.2.3.1) производятся с из­менением знаков чисел. Приписанные незначащие нули изменяют свое значение при преобразованиях по общему правилу.

4. При образовании единицы переноса из старшего знакового раз­ряда, в случае использования ОК, эта единица складывается с млад­шим числовым разрядом. При использовании ДК единица переноса те­ряется. Знак результата формируется автоматически, результат пред­ставляется в том коде, в котором представлены исходные слагаемые.

Пример 2.9. Сложить два числа: A10=7; B10=16.



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



Сложение в обратном или дополнительном коде дает один и тот же результат:



Обратим внимание, что при сложении цифр отсутствуют переносы в знаковый разряд и из знакового разряда, что свидетельствует о получении правильного результата.
Пример 2.10. Сложить два числа:A10 = + 16; В10 = -7 в ОК и ДК. В соответствии с табл. 2.3 должна быть реализована зависимость А+(-В), в которой второй член преобразуется с учетом знака





При сложении чисел в ОК и ДК были получены переносы в знако­вый разряд и из знакового разряда. В случае ОК перенос из знакового разряда требует дополнительного прибавления единицы младшего разряда (см. п.4 правил). В случае ДК этот перенос игнорируется.

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

Пример 2.11. Умножить два числа А10=7;В10=5. Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в десятичной системе.



Нетрудно видеть, что произведение получается путем сложения частных произведений, представляющих собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов множителя. Частные произведения, полученные умножением на нуль, игнорируют­ся. Важной особенностью операции умножения и-разрядных сомножи­телей является увеличение разрядности произведения до п+п=2п. Знак произведения формируется путем сложения знаковых разрядов сомно­жителей. Возможные переносы из знакового разряда игнорируются.

Деление. Операция деления, как и в десятичной арифметике, явля­ется обратной операции умножения. Покажем, что и эта операция приводится к последовательности операций сложения и сдвига.

Пример 2.12. Разделить два числа A10 = 45; В10 = 5.



Деление произведено так же, как это делается обычно в десятич­ной системе. Сначала проверяется, можно ли вычесть значение дели­теля из старших разрядов делимого. Если возможно, то в разряде час­тного записывается единица и определяется частная разница. В противном случае в частное записывается нуль и разряды делителя сдви­гаются вправо на один разряд по отношению к разрядам делимого. К полученной предыдущей разнице сносится очередная цифра делимо­го, и данный процесс повторяется до тех пор, пока не будет получена необходимая точность. Если учесть, что все вычитания в ЭВМ заме­няются сложением в ОК или ДК (см. табл. 2.3), то действительно опе­рация деления приводится к операциям сложения и сдвигам вправо разрядов делителя относительно разрядов делимого. Отметим, что делимое перед операцией деления должно быть приведено к 2n-разрядной сетке. Только в этом случае при делении на n-разрядный дели­тель получается n-разрядное частное.

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

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

^ Сложение (вычитание). Операция сложения (вычитания) произво­дится в следующей последовательности.

1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания ∆ p=p1-p2. При выполнении этой операции определяет­ся, одинаковый ли порядок имеют исходные слагаемые.

2. Если разность порядков равна нулю, то это значит, что одно­именные разряды мантисс имеют одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание порядков.

3. Для выравнивания порядков число с меньшим порядком сдвига­ется вправо на разницу порядков ∆ р. Младшие выталкиваемые раз­ряды при этом теряются.

4. После выравнивания порядков мантиссы чисел можно склады­вать (вычитать) в зависимости от требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данны­ми табл. 2.3. Действия над слагаемыми производятся в ОК или ДК по общим правилам.

5. Порядок результата берется равным большему порядку.

6. Если мантисса результата не нормализована, то осуществля­ются нормализация и коррекция значений порядка.-

Пример 2.13. Сложить два числа: A10 = + 1,375; 510 = -0.625.

A2 = +1.011 =0: 1011 • 10'; B2 =-0.101 = -0: 101 • 10°.

В нормализованном виде эти числа будут иметь вид:



1. Вычитаем порядки ∆ =pl -p2 = 1- 0=1. В машине эта операция тре­бует операции сложения с преобразованием порядка чисел в дополни­тельный код:



Определяем, что ∆ р≠ 0.

2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание порядков.

3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд:



4. Складываем мантиссы:



Мантисса числа С — положительная.

5. Порядок числа С равен порядку числа с большим порядком, т.е. pc=+1.

[C2]п=0: 1 0: 0110.

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

6. Нормализуем результат путем сдвига мантиссы на один разряд вле­во и соответственно вычитаем из значения порядка единицу:

2]п = 0: 0 0: 11О;

С10 = +0.75.

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

1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с фиксированной точкой.

2. При умножении (делении) мантиссы перемножаются (делятся).

3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей (делимого и делителя). Возможные переносы из знакового разряда игнорируются.
^ 2.3.4. Арифметические операции над двоично-десятичными кодами чисел

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

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

1. Сложение чисел начинается с младших цифр (тетрад) и произво­дится с учетом возникающих переносов из младших разрядов в старшие.

2. Знак суммы формируется специальной логической схемой по знаку большего слагаемого.

3. Для того чтобы при сложении двоично-десятичных цифр возни­кали переносы, аналогичные при сложении чисел в десятичном пред­ставлении, необходимо проводить так называемую десятичную кор­рекцию. Для этого к каждой тетраде первого числа прибавляется до­полнительно по цифре 610=01102, что позволяет исключить шесть не­используемых комбинаций (1010—1111)2, так как они кодируют шестнадцатеричные цифры АF (числа 10—1510).

4. После операции суммирования осуществляется корректировка суммы. Из тех тетрад суммы, из которых не было переносов, изыма­ются ранее внесенные избытки 610=01102. Для этого проводится вто­рая коррекция. Операция вычитания заменяется, как и обычно, опе­рацией сложения с числом -6, представленным дополнительным ко­дом 10102, но только в тех разрядах, в которых отсутствовали пере­носы. При этой второй коррекции переносы из тетрад блокируются.

5. Операция вычитания реализуется достаточно своеобразно. По общему правилу сложения (см. п. 1—4) к тетрадам числа с большим модулем прибавляются дополнительные коды тетрад другого числа. При этом первая коррекция не проводится, так как в дополнениях тет­рад она учитывается автоматически. Знак результата определяется по знаку числа с большим модулем.

Пример 2.14. Сложить два числа Аю = 177; В10 =418.


^ 2.4.Логические основы ЭВМ

2.4.1.Основные сведения из алгебры логики

Теоретической основой построения ЭВМ являются специальные математические дисциплины. Одной из них является алгебра логики, или булева алгебра (Дж. Буль — английский математик прошлого столетия, основоположник этой дисциплины). Ее аппарат широко используют для описания схем ЭВМ, их оптимизации и проектиро­вания.

Вся информация в ЭВМ представляется в двоичной системе счисле­ния. Поставим в соответствие входным сигналам отдельных устройств ЭВМ значения переменных хi (i = 1, n), а выходным сигналам — значе­ния функций yj (j=1,m) (рис. 2.1).



Рис. 2.1. Представление схемы ЭВМ

В этом случае зависимостями



где: хi, — i-й вход;

п — число входов;

уj —j-й выход;

т — число выходов в устройстве,

можно описывать алгоритм работы любого устройства ЭВМ. Каж­дая такая зависимость уj является «булевой функцией, у которой чис­ло возможных состоянии и каждой ее независимой переменной равно двум» (стандарт ISO 2382/2-76), т.е. функцией алгебры логики, а ее аргументы определены на множестве {0,1}. Алгебра логики устанав­ливает основные законы формирования и преобразования логических функций. Она позволяет представить любую сложную функцию в виде композиции простейших функций. Рассмотрим наиболее употреби­тельные из них.

Известно, что количество всевозможных функций N от п аргу­ментов выражается зависимостью

(2.3)

При n=0 можно определить две основные функции (N=2), не зави­сящие от каких-либо переменных: у0, тождественно равную нулю (у0≡0), и у1 тождественно равную единице (y1≡1). Технической интер­претацией функции y1≡1 может быть генератор импульсов. При от­сутствии входных сигналов на выходе этого устройства всегда име­ются импульсы (единицы). Функция может быть интерпретиро­вана отключенной схемой, сигналы от которой не поступают ни к каким устройствам.

При п=1 зависимость (2.3) дает N=4. Представим зависимость зна­чений этих функций от значения аргумента х в виде специальной таб­лицы истинности (табл. 2.4).

^ Таблица 2.4. Таблица функций от одной переменной



Таблицы истинности получили такое название, потому что они определяют значение функции в зависимости от комбинации вход­ных сигналов. В этой таблице, как и ранее, у0≡0 и y1≡1. Функция у2=х, а функция у3=x (инверсия х).

Этим функциям соответствуют определенные технические анало­ги. Схема, реализующая зависимость у2=х, называется повторите­лем, а схема у3=x инвертором.

При п=2, N=16, т.е. от двух переменных можно построить шест­надцать различных функций. В табл. 2.5 представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.

^ Таблица 2.5 Таблица функций от двух переменных



Заметим, что в левой части таблицы перечислены всевозможные комбинации входных переменных (наборы значений), а в правой — возможные реакции выходных сигналов. В табл. 2.5 представлены функции у03, полностью соответствующие функциям из табл. 2.4, а также новые, часто используемые и интересные функции у49. При этом местоположение функций и их нумерация в таблице особого зна­чения не имеют. По данной таблице нетрудно составить аналитичес­кое выражение (зависимость) для каждой функции от двух аргумен­тов вида (2.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логи­ческое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормаль­ных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значении, то та­кая форма функций называется совершенной.

Функция y4 представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение единицы, если хотя бы одна пе­ременная х{ или х2 имеет значение единицы:



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

Функция у, является инверсной функцией по отношению к у4:



Она имеет название «отрицание дизъюнкции». Иногда в литера­туре встречается ее специальное название — «стрелка Пирса», по фа­милии математика, исследовавшего ее свойства.

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

У6 = х1х2.

Функция у7 является инверсной функцией по отношению к у6:



Она называется «отрицание конъюнкции» или «штрих Шеффера».

Функция y8 называется логической равнозначностью. Она прини­мает значение единицы, если все ее переменные имеют одинаковое значение (или 0, или 1):



Функция у9 является инверсной функцией по отношению к у8



Она принимает значение единицы, если ее переменные имеют про­тивоположные значения. Далее будет показано, что функции у8 и у9 являются основой для построения сумматоров, так как они соответ­ствуют правилам формирования цифр двоичных чисел при сложении (вычитании).

Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости, отражающие алгоритмы преобразова­ния информации, представленной в двоичной системе счисления. Ал­гебра логики устанавливает правила формирования логически пол­ного базиса простейших функций, из которых могут строиться лю­бые более сложные. Наиболее привычным базисом является набор трех функций {инверсия —「, дизъюнкция —V, конъюнкция — Λ или &}. Работа с функциями, представленными в этом базисе, очень похожа на использование операций обычной алгебры.

Алгебра логики устанавливает, что существуют и другие комби­нации простейших логических функций, обладающих свойством ло­гической полноты. Например, наборы логических функций {инверсия, дизъюнкция} и (инверсия, конъюнкция} также являются логически полными. Наиболее интересны минимальные базисы, включающие по одной операции {«отрицание дизъюнкции ( )»} и {«отрицание конъ­юнкции ( )»}- Однако работа с функциями, представленными в ука­занных базисах, требует от специалистов по проектированию ЭВМ определенных навыков.

^ 2.4.2. Законы алгебры логики

Из определения вышеприведенных функций можно установить целый ряд простейших свойств:



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

коммутативный (переместительный):



ассоциативный (сочетательный):



Эти законы полностью идентичны законам обычной алгебры;

дистрибутивный (распределительный):



закон поглощения. В дизъюнктивной форме ЛФ конъюнкция мень­шего ранга, т.е. с меньшим числом переменных, поглощает все конъ­юнкции большего ранга, если ее изображение содержится в них. Это же справедливо и для конъюнктивных форм:



законы склеивания:



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

закон свертки:



правило де Моргана:



Убедиться в тождественности приведенных зависимостей мож­но путем аналитических преобразований выражений или путем по­строения таблицы истинности для ЛФ, находящихся в левой и пра­вой частях. Используя данные зависимости, можно преобразовывать исходные выражения в более простые (минимизировать их). По упрощенным выражениям можно построить техническое устройство, имеющее ми­нимальные аппаратные затраты.
^ 2.4.3. Понятие о минимизации логических функций
Проблема минимизации логических функций решается на основе применения законов склеивания и поглощения с последующим перебо­ром получаемых дизъюнктивных форм и выбором из них оптимальной (минимальной). Существует большое количество методов минимиза­ции ЛФ. Все они отличаются друг от друга спецификой применения операций склеивания и поглощения, а также различными способами сокращения переборов. Среди аналитических методов наиболее извес­тным является метод Квайна — МакКласки, среди табличных — ме­тод с применением диаграмм Вейча [6]. Графические методы миними­зации отличаются большей наглядностью и меньшей трудоемкостью, однако их применение эффективно при малом числе переменных n≤5.
Рассмотрим последовательность действий минимизации ЛФ на примере.

Пример 2.15. Найти минимальную дизъюнктивную форму функции, заданной таблицей истинности (табл. 2.6).


^ Таблица 2.6 Таблица истинности функции У=f(x1, x2, x3)

Х1


Х2


Xз


Y


0

0

0

1

0

0

1

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

1

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

Пунктирными линиями в этом выражении отмечены пары конъ­юнкций, к которым можно применить операцию склеивания типаFx V Fx =F. Особенно хорошо это видно при использовании диаграммы Вейча, в которой «склеиваемые» конъюнкции находятся по соседству друг с другом. Диаграмма Вейча просто по-другому интерпретирует таблицу истинности (табл. 2.7).

Та б л и ц а 2.7 Диаграмма Вейча функции у



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

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



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



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

Минимизация «вручную» возможна только для функций, завися­щих от 4—5 переменных, так как трудоемкость переборов растет в квадратичной зависимости от числа переменных. Применение мощ­ных ЭВМ для этих целей позволяет расширить границы до n=12—15. Если при этом учесть, что функции могут быть частично определены (значения функций на некоторых наборах переменных можно опреде­лять произвольно), а также, что иногда приходится решать задачи со­вместной минимизации систем ЛФ, то минимизация ЛФ становится сложной инженерной, практической и научной проблемой.
^ 2.4.4. Техническая интерпретация

логических функций

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

1. Словесное описание работы схемы.

2. Формализация словесного описания.

3. Запись функций в дизъюнктивной (конъюнктивной) совершен­ной нормальной форме по таблицам истинности.

4. Минимизация логических зависимостей с целью их упрощения.

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

6. Построение схемы устройства.

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

Пример 2.16. Спроектировать схему, фиксирующую появление «непра­вильной» тетрады в двоично-десятичном представлении чисел.

1. Каждая тетрада двоично-десятичного представления числа содержит десятичные цифры 0—9, что соответствует двоичным числам 0000—1001. Значения тетрады, соответствующие двоичным числам 1010—1111 (шестнадцатеричные цифры А—F), не должны появляться при представлении десятичных чисел.

2. Составим таблицу истинности функции (табл. 2.8), которая прини­мает значения, равные единице, при появлении «неправильных» тетрад. Разряды тетрады обозначим переменными х, у, z, и.

^ Таблица 2.8 Таблица истинности функции F



3. Исходная совершенная дизъюнктивная нормальная форма записы вается как



4. Эта форма функции допускает упрощение, что видно по диаграмме Вейча (табл.2.9). Этот же результат может быть получен аналитически.

^ Таблица 2.9 Диаграмма Вейча для функции F



5. Минимальная форма функции F в логически полном базисе {&, v, [} будет иметь вид:



Для представления этой же схемы в другом полном базисе, например {& }, воспользуемся правилом де Моргана:



6. По полученным зависимостям можно построить схемы фиксации «неправильных» тетрад (рис. 2.2).

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



Рис. 2.2. Схема фиксации «неправильных» тетрад:

а — схема в базисе ( [, &, v),

б — схема в базисе (&)
Контрольные вопросы

1.Что понимается под системой счисления?

2. Сформулируйте правила перевода целых и дробных чисел из од­ной системы счисления в другую.

3. Как переводятся числа в системах счисления с основаниями, крат­ными степени 2?

4. В чем заключается различие между представлениями чисел в фор­мах с фиксированной и плавающей точкой (запятой)?

5. Каким образом представляется в ЭВМ текстовая и графическая информация?

6. Каково назначение обратного и дополнительного кодов? Каково назначение модифицированных обратного и дополнительного ко­дов?

7. Приведите примеры выполнения арифметических операций над чис­лами с фиксированной и плавающей точкой.

8. Как выполняются операции над двоично-кодированными десятич­ными числами? В чем сущность проведения коррекций?

9. Что понимается под логическими функциями?

10. Приведите примеры выполнения логических операций над двоич­ными кодами.

11. Что понимается под термином «минимизация логических выраже­ний»?

12. Что такое логически полный базис?

13. Какова связь логических выражений со схемами ЭВМ?






Скачать файл (35218.7 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru