Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Функция, структура и организация систем.

Введение.

 

Понятие организации ЭВМ.

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

 

Функция, структура и организация систем.

 

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

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

Система характеризуется функцией и структурой.

Функция – правило получения результатов, определенных назначением системы. Иначе говоря, функция системы – это описание процессов, которые имеют место в системе. Функции ЭВМ чаше всего описываются в форме алгоритмов.

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

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

Способ, по которому объединение элементов приводит к появлению новых свойств, отличных от свойств элементов, называется принципом организации. Различают два принципа организации:

1. Функциональная организация систем – это принцип построения абстрактных систем, заданных своими функциями. Функциональную организацию ЭВМ принято называть архитектурой.

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

 

Основные факторы, влияющие на принципы построения ЭВМ.

 

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

К числу важнейших свойств алгоритмов, наиболее существенно влияющих на организацию ЭВМ, относятся:

1) дискретность информации, с которой оперируют алгоритмы;

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

Не только свойства алгоритмов оказывают существенное влияние на организацию ЭВМ, но и требование к надежности и производительности – времени выполнения алгоритмов.

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

 

Содержание курса.

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

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

1. Синтез комбинационных устройств ЭВМ.

2. Синтез устройств автоматного типа.

3. Построение операционных устройств ЭВМ.

4. Организация микропроцессорных систем.


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

 

Счислением называется совокупность приёмов наименования и обозначения (записи) чисел. Условные знаки, применяемые при обозначении чисел, называют цифрами.

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

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

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

 

Позиционные системы счисления.

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

Примером позиционной системы счисления является десятичная система. Для нее основание p равно десяти, база ее неотрицательна и состоит из десяти последовательных целых чисел, начиная с нуля и кончая девятью. В качестве десятичных цифр используется арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

В ЭВМ применяют позиционные системы с недесятичным основанием: двоичную, шестнадцатеричную, восьмеричную и т.д. В восьмеричной системе счисления используют восемь цифр 0, 1, 2, 3, 4, 5, 6, 7, база ее неотрицательна и состоит из восьми последовательных целых чисел. Шестнадцатеричная система счисления с неотрицательной базой включает шестнадцать цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. База ее неотрицательна и включает шестнадцать последовательных целых чисел. Соответствие между цифрами и числами базы отражено в таблице 1.1.

Таблица 1.1

Цифра A B C D E F
Число базы

 

Наибольшее распространение в ЭВМ получила двоичная система счисления. В этой системе счисления используется только две (“двоичные”) цифры: 0 и 1.

Существовала ЭВМ “Сетунь”, в которой использовалась троичная система счисления с симметричной базой. В ней использовались три цифры , 0, 1. Соответствие между цифрами и числами базы приведено в таблице 1.2

Таблица 1.2

Цифра
Число базы -1

 

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

Число в позиционной системе счисления с основанием p записывается в виде последовательности р-ичных цифр, которая разделена запятой на две последовательности:

аn an-1… а1 а0 , a-1 a- 2 … a-m (1.1)

Позиции до запятой пронумерованы справа налево числами нуль, один, два и т.д.; позиции, расположенные справа от запятой перенумерованы подряд слева направо с помощью отрицательных чисел минус один, минус два и т.д. Эти пронумерованные позиции называются р-ичными разрядами числа. Последовательность цифр числа, расположенных слева от запятой, представляет целую часть числа, а справа – дробную часть числа. Каждой цифре последовательности (1.1) приписано определенное значение. Цифра, стоящая в нулевом разряде, имеет своим значением соответствующее ей число базы. Цифра, стоящая в некотором разряде, имеет значение в р раз большее того, которое она имела бы в разряде с номером, меньшим на единицу (или значение в р раз меньшее того, которое она имела бы в разряде с номером, большим на единицу).

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

аn an-1… а1 а0 , a-1 a- 2 … a-m … = аnрn + an-1рn1+ …+а1р++ а0 + а-1р-1 + а-2р-2 + … + а-mр-m + … (1.2)

В дальнейшем, если это не вызывает недоразумений, вместо слов “запись числа” будем говорить просто “число”.

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

Таблица 1.3 Двоичная таблица сложения   Таблица 1.4 Двоичная таблица вычитания   Таблица 1.5 Двоичная таблица умножения
         
0+0=0   0-0=0   0х0=0
0+1=1   1-0=1   0х1=0
1+0=1   1-1=0   1х0=0
1+1=10   10-1=1   1х1=1

 

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

Пример 1.1.

а) сложение
в) деление
б) вычитание


г) умножение

 

 

Пример 1.2.

Десятичная двоично-кодированная система счисления, в которой каждая десятичная цифра заменена четырехразрядным двоичным числом, называется двоично-десятичной. Каждой цифре ставится в соответствие четырехразрядной двоичный код: - тетрада

Перечислим цифры и соответствующие им тетрады:

0→0000, 1→0001, 2→0010, 3→0011, 4→0100, 5→0101, 6→0110, 7→0111, 8→1000, 9→1001.Количество запрещенных комбинаций равно 24 – 10 = 6 (1010, 1011, 1100, 1101, 1110, 1111). При таком выборе кодов тетрад двоично-десятичных чисел говорят о ВСD - представлении десятичных чисел (ВСD – binary-coded decimal). Десятичное число 8932 изобразится в двоично-десятичной системе следующим образом - 1000 1001 0011 0010.

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

 

1.2. Преобразование из одной системы счисления в другую.

 

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

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

 

1.2.1. Преобразование целых чисел.

Метод деления.

Деление на р (при помощи арифметических действий над величинами с позиционным представлением по основанию q -арифметика основания q). Дано целое число u. Его представление (UmUm-1… U1 U0)р по основанию р получаем следующим образом:

U0=U mod p, U1=[U/p] mod p, U2=[ [U/p] / p] mod p, и т.д., пока не получим […[ [U/p] / p]…/p]=0.  

Здесь: [х] – ближайшее к х меньшее целое. U mod p – остаток от деления U на p

 

Пример 1.3.

Перевести (108)10 в двоичную систему счисления:

Итак (108)10 = (1101100)2

Пример 1.4.

Перевести (108)10 в шестнадцатеричную систему счисления.

 

Итак, (108)10 = (6С)16

 

Метод умножения.

 

Умножение на q (при помощи арифметики основания р). Если представление числа u по основанию q имеет вид (UnUn-1… U1 U0)q, то мы можем, воспользовавшись арифметикой основания р, вычислить многочлен

Unqn + Un-1qn-1+… U1q +U0 =u ,

воспользовавшись схемой Горнера для вычисления значения многочлена

((…(Unq+ Un-1)q+…)q+ U1)q+ U0.

 

Пример 1.5.

Преобразовать (1101100)2 в десятичную систему счисления

 

Пример 1.6.

Преобразовать (6С)16 в десятичную систему счисления

Метод деления используется при переходе из “родной” системы счисления в “чужую”, а метод умножения при переходе из “чужой” в “родную” систему счисления.

 

1.2.2. Преобразование дробей.

 

Заметим, что часто бывает невозможно точно выразить конечную дробь (0,U-1U-2… U-n ) с основанием q как конечную дробь (0,U-1U-2… Um ) с основанием р. Например, дробь 1/10 имеет бесконечное двоичное представление (0, 0 0011 0011 0011 …)2. Поэтому определенный интерес представляют методы округления результата до m знаков.

Метод умножения.

 

Умножение на р (при помощи арифметики основания q). Дано дробное число u; мы получаем последовательные цифры его представления ( .U-1U-2… )p по основанию р следующим образом:

U-1 =[uP], U-2=[{uP}P], U-3=[{{uP}P}P], … где {х} дробная часть х: х mod 1 = х – [х].

Процесс умножения продолжается до тех пор, пока не будет получена дробная часть, равная нулю, в противном случае результат округляется до m знаков, причем, если {…{{up}p}…p} больше 1/2, то U-m следует увеличить на единицу.

Пример 1.7.

Перевести дробь (0,6875)10 в двоичную систему счисления:

 

Итак (0,6875)10 =(0,1011)2

Метод деления.

 

Деление на q (при помощи арифметики основания р). Если представление числа u по основанию q имеет вид (0,U-1U-2… U-n ), то можно, используя арифметику основания р, вычислить U-1q-1 + U-2q-2+… +U-nq-n в виде:

((…(U-n/q+ U-n+1)/q+…+ U-2)/q+ U-1)/q  

Необходимо внимательно следить за ошибками, которые могут появиться в результате усечения или округления при делении на q; этими ошибками часто можно пренебречь, но не всегда.

Пример 1.8.

Преобразовать дробь (0,1011)2 в десятичную систему счисления.

 

Метод умножения при преобразовании дробей используется при переходе из “родной” в “чужую” систему счисления, а метод деления – из “чужой” в “родную”.систему счисления.

 

1.2.3. Перевод чисел с основанием q=pk.

 

Наиболее прост перевод чисел из q-ичной системы в p-ичную (или обратно), если имеет место соотношение q=pk (k - целое положительное) и обе системы имеют неотрицательные базы.

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

Большой практический интерес представляет случай, когда p=2 (двоичное основание). В этом случае имеем частный случай двоично-кодированной системы счисления, при котором двоичное число и двоично-кодированное число совпадают. Этот факт используют для более короткой записи двоичных чисел. Обычно берут p=23=8 (восьмеричная система счисления) и p=24=16 (шестнадцатеричная система счисления).

Пример 1.9.

а) восьмеричное число (273,54)8 переводится в двоичную систему (8=23) следующим образом:

Группа из трёх двоичных разрядов называется триадой.

б) двоичное число (11011,0011) 2 переводится в восьмеричную следующим образом:

в) шестнадцатеричное число (А5, В1Е) 16 переводится в двоичную систему исчисления (16=24) следующим образом:

г) двоичное число (11011000111101) 2 переводится в шестнадцатеричную систему следующим образом:

(11011000111101)2 = 11 0110 0011 1101 = =0011 0110 0011 1101=(363D) 16.

 

Двоичные числа.

 

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

Представление числа с фиксированной запятой имеет следующий формат (структуру):

(1.5)

 

Разряд с номером «n» является знаком числа: знак «+» кодируется цифрой 0, а знак «-» - цифрой 1. Разряды от 0 до n-1 являются цифровыми. Запятая фиксируется в определённом месте относительно разрядов числа. Обычно она находится или перед старшим разрядом или после младшего. Формат числа с фиксированной запятой после младшего разряда служит для изображения целых чисел N. Число разрядов n определяет диапазон значений, которые могут быть представлены в этом формате: NÎ[-(2n-1),+(2n-1)]. Увеличение количества цифровых разрядов n на единицу расширяет диапазон значений в два раза.

Выполнение операций над целыми числами, изображаемыми словами фиксированной длины, имеет следующие особенности. Операции сложения и вычитания определены только в том случае, если результат может быть представлен в n цифровых разрядах, т. е. если результат |C|<2n. В противном случае говорят, что результат переполняет разрядную сетку ЭВМ. Если |C|³2n в процессоре формируется признак переполнения, используемый для прекращения вычислений.

Формат числа с запятой, фиксированной перед старшими разрядом, используется для представления действительных чисел, принадлежащих отрезку [-(1-2-n),+(1-2-n)] и изменяющихся с шагом 2-n. В отличие от целых, они представляются приближённо с погрешностью D=2-(n+1). Отсюда следует, что количество цифровых разрядов определяет точность представления значений числами с фиксированной запятой. С увеличением n на один дополнительный разряд погрешность D уменьшается в два раза.

Выполнение операций над действительными числами в форме с запятой, фиксированной перед старшим разрядом, имеет следующие особенности. Операции сложения и вычитания определены в том случае, если результат |C|<1. В противном случае фиксируется переполнение. Деление А/B возможно, если B¹0 и |A|<|B|.

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

Z=±Md±P, (1.6)

где d – основание чисел с плавающей запятой; P – целое число, называемое порядком числа Z; M – мантисса числа Z.

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

Обычно d=2r, r=1,2,… В качестве основания d чаще всего используется значение 2 или 16. Мантисса числа с плавающей запятой всегда меньше единицы, и если выполняется условие:

, (1.7)

то такое число называется нормализованным. В противном случае число называется ненормализованным.

Число с плавающей запятой имеет следующий формат:

, (1.8)

Разряд m+p+1 слова представляет знак числа, который одновременно является знаком мантиссы. Мантисса М представляется m – разрядным числом с фиксированной запятой. Знак порядка кодируется «m+p» - ым разрядом слова. Порядок Р является целым числом и занимает р разрядов с m по m+p+1. У нормализованных чисел r старших разрядов мантиссы не равны нулю.

В ЭВМ знак порядка и порядок представляются одним (р+1) – разрядным целым значением Х, называемым смещенным порядком или характеристикой числа с плавающей запятой, которая связана с порядком соотношением:

X=2p+P, (1.9)

С учётом этого порядок определяется по значению характеристики Х следующим образом:

P=2p-X, (1.10)

где 0£ X £ 2p+1-1

Как следует из (1.9) и (1.10), значение характеристики 0,1,2,…,2p используются для представления порядков –2p,-(2p-1),-(2p-2),…,0 соответственно, а значения характеристики 2p+1, 2p+2,…,2p+(2p-1) – для представления порядков 0,1,2,…,2p–1. При этом нулевое значение старшего разряда характеристики соответствует знаку порядку минус, а единичное значение – знаку плюс. Таким образом, характеристика – это дополнительный код порядка с инверсным представлением знака. Использование характеристики несколько упрощает алгоритм операций над числами с плавающей запятой.

Учитывая, что и , и , получим, что нормализованные числа с плавающей запятой обеспечивают представление значений в диапазоне

, (1.11)

с предельной относительной погрешностью

, (1.12)

так как 2-m<<1, выражение (1.11) преобразуется к виду

, (1.13)

или переходя к десятичному основанию,

, (1.14)

За счёт ненормализованных чисел диапазон значений Z расширяется слева на . В этой области значения представляются с предельной относительной погрешностью, лежащий в интервале Из (1.13) и (1.14) видно, что диапазон определяется величиной основания и порядком, а точность представления чисел количеством разрядов мантисс. Увеличение основания d приводит к существенному расширению диапазона значений, а погрешность при этом увеличивается незначительно. По этой причине в ЭВМ общего назначения, к которым принадлежат ЕС ЭВМ, IBM 360/370, мейнфреймы ES9000 использовалось основание 16.

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

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

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

3. Переполнение порядка возникает, когда порядок результата должен иметь значение, превосходящее максимально возможное (2Р-1). Такое значение не может быть представлено в формате (1.8), поэтому результат операции считается неопределённым, что отличается выработкой признака переполнения.

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

В современных ЭВМ используются целые числа и числа с плавающей запятой. Целые числа представляются в формате с фиксированной запятой (1.5), расположенной после младшего разряда. Используется представление целых чисел со знаком и без знака. Для примера рассмотрим представление целых чисел в персональных ЭВМ IBM PC.

 

Для представления действительных чисел с различной точностью используются несколько форматов чисел с плавающей запятой. В персональных ЭВМ IBM PC используются следующие форматы:

Представление чисел с плавающей запятой в PC осуществляется по стандарту IEEE-754: смещённый порядок меняется от 1 до

 

Пример 1.10.

Изображения чисел в зонном формате в коде EBCDIC:

1) Число 457 в данном формате в поле, длинной три байта, имеет вид:

2) Число – 5678 в зонном формате в поле, длиной четыре байта, имеет вид:

Как видно из примеров в зонной части младшей цифры записывается знак числа: С ( или F) для знака «+», и D для знака «-».

Зонное представление десятичных данных неэкономично, так как в каждом байте размещается только одна цифра, хотя может уместится две. Поэтому для выполнения арифметических операций употребляется другая форма, которая называется упакованной. В упакованной форме в каждом байте размещается по две цифры. Код знака заносится в младшую тетраду младшего байта поля. Таким образом, максимальное число разрядов десятичного числа равно 31 (16*2-1=31).

Пример 1.11.

Число 457 в упакованной форме занимает поле длиной два байта:

Число – 5678 в упакованном формате занимает 3 байта:

При использовании ASCII кода каждая цифра в распакованном формате представляется байтами, старшая тетрада которых имеет значение (0011)2=(3)16: 0à(30)16, 1à(31)16, 2à(32)16, 3à(33)16, 4à(34)16, 5à(35)16, 6à(36)16, 7à(37)16, 8à(38)16, 9à(39)16.

 

Логические значения.

 

Переменные, принимающие одно из двух значений «ложь»: (FALSE) или «истина» (TRUE),- называются булевыми (логическими) переменными. Значения «ложь» и «истина» принято кодировать цифрами 0 и 1 соответственно. Операции над логическими переменными как объектами определены в языках программирования. В этом случае под их значения отводится группа битов (байт или машинное слово). Наличие хотя бы одного единичного бита в группе определяет истинное значение, а все нули – ложное.

Булевы переменные используются в программах как самостоятельные объекты достаточно редко. Чаще всего они являются элементами наборов булевых векторов и матриц. К тому же слова информации, представляющие команды и числа, а также поля переменной длины, представляющие строки символов и тексты, часто приходится обрабатывать с использованием логических (булевых) операций, по отношению к которым двоичные разряды слов и полей являются логическими значениями. Таким образом, логические значения 0 и 1 чаще всего участвуют в операциях в виде наборов слов или полей переменной длины, каждый разряд которых рассматривается, как значение булевой переменной. Информация, представляемая такими словами, трактуется как не числовая и в процессе выполнения логических операций все разряды слова обрабатываются одинаково, как отдельные логические значения, объединённые в один набор. Таким образом, при обработке логических значений логические операции распространяются на слова и поля переменной длины, исследуемые для представления булевых переменных, команд, чисел и строк символов.

 

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

 

Двоичные числа в ЭВМ представляются машинными кодами определённой разрядности. Предположим, что число разрядов слова равно m тогда двоичный код числа X в этой разрядности запишется следующим образом:

X=Xm-1Xm-2Xm-3…X1X0, (1.15)

Здесь Xm-1 – знаковый разряд числа

.

 

Прямой код.

 

Прямой код числа X определяется следующим образом:

, (1.16)

Из (1.16) следует, что ноль имеет два представления:

.

 

Пример 1.12.

Представить в прямом коде двоичные числа (+1000010)2 и (-1000010)2:

а) [+1000010]пр=0 1000010, б) [-1000010]пр=1 1000010.

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

 

Дополнительный код.

 

Дополнительный код числа X определяется следующим образом:

, (1.18)

Пример 1.13.

Представить в дополнительных кодах двоичные числа (+1000010)2 и (-1000010)2:

а) [+1000010]доп=0 1000010, б) [-1000010]доп=28-1000010=10 0000000-1000010=1 0111110.

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

Ноль в дополнительном коде имеет единственное представление:

[+0]доп=[-0]доп=[0]доп= .

Как следует из (1.18) дополнительный код осуществляет

Рис. 1.1

отображение отрицательных чисел на область положительных чисел (рис. 1.1)

 

Обратный код числа.

 

Обратный код числа X определяется следующим образом:

, (1.19)

Пример 1.14.

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

а) [+1000010]обр=0 1000010.

б) [-1000010]обр=28-1000010-1=10 0000000-1000010-1=1 0111101.

 

Таким образом, обра

Последнее изменение этой страницы: 2016-08-11

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...