Арифметические и логические основы вычислительной техники

Содержание

Слайд 2

Для каждой л.р. есть:
методические указания (файл - docx);
дополнительный (теоретический) материал (файл -

Для каждой л.р. есть: методические указания (файл - docx); дополнительный (теоретический) материал
pptx);
пример выполнения и пример отчета по л.р. (файл - jpeg)
Задания для л.р. с №1 по №6 индивидуальны для каждого студента. Вариант задания привязан к порядковому номеру студента в журнале группы.
Задания для л.р. с №7 по №14 индивидуальны для каждой бригады. Вариант задания привязан к номеру бригады.

Слайд 3


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

Любая цифровая вычислительная система обязательно включает в себя, по крайней мере, один
цифровой процессор, который является её «мозгом».
Поэтому, прежде чем изучать сложные вычислительные системы, нужно хорошо представлять себе работу цифрового процессора изнутри, а именно знать:
арифметические основы цифровых процессоров;
логические основы цифровых процессоров.

Слайд 4

Арифметические основы цифровых
процессоров

Арифметические основы цифровых процессоров

Слайд 5

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

Содержание лекции 1: Системы счисления, используемые при работе с цифровыми процессорами и
перевода
Форматы представления чисел в цифровых процессорах  
Кодирование чисел в цифровых процессорах
Кодирование символьной информации
Пример цифрового процессора (i8086), обзор системы его команд

Слайд 6

Системы счисления, используемые при работе с цифровыми процессорами и способы перевода

Системы счисления, используемые при работе с цифровыми процессорами и способы перевода

Слайд 7

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

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

Слайд 8

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

Большинство кодов, применяемых в цифровых процессорах, основано на системах счисления, использующих позиционный
принцип образования числа, при котором значение каждой цифры зависит от ее положения в числе.
Например, для десятичного числа 345 его значение рассчитывается по формуле:
345=3*102 + 4*101 + 5*100

сотни десятки единицы

Слайд 9

При работе с цифровыми процессорами используются четыре позиционные системы счисления.
двоичная –

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

Слайд 10

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

Каждая позиционная система счисления имеет базу. База системы счисления это количество символов,
в ней.
В двоичной – база равна 2 (0,1)
В восьмеричной -- база равна 8 (0,1,2,3,4,5,6,7)
В шестнадцатеричной -- база равна 16 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
В десятичной -- база равна 10 (0,1,2,3,4,5,6,7,8,9)

Слайд 11

Базы
систем
счисления

Базы систем счисления

Слайд 12

В IT-литературе используются следующие обозначения, чтобы указать систему счисления, в которой представлены

В IT-литературе используются следующие обозначения, чтобы указать систему счисления, в которой представлены
числа:
для двоичной системы:
использование нижнего индекса справа от числа. Например: 101000(2)
использование буквы В (либо b) (binary – двоичный) как нижнего индекса справа от числа или в одну строку с числом. Например:
101000b = 101000B = 101000B = 101000b;

Слайд 13

для восьмеричной системы:
нижний индекс справа от числа в виде цифры 8 в

для восьмеричной системы: нижний индекс справа от числа в виде цифры 8
скобках или букв O, o (octal – восьмеричный), как нижнего индекса или в одну строку справа от числа. Например:
367(8) = 367O = 367o =  367O = 367o;

Слайд 14

для шестнадцатеричной системы:
нижний индекс справа от числа в виде числа 16 в

для шестнадцатеричной системы: нижний индекс справа от числа в виде числа 16
скобках или букв H, h (hexadecimal – шестнадцатеричный), как нижнего индекса или в одну строку справа от числа.
Например:
3AB(16) =  3ABH = 3ABh = 3ABH = 3ABh.
Внимание: В отладчике (Turbodebugger), если 16-ричное число начинается с буквы, то запись его начинается с нуля:
AE1(16)=0AE1h

Слайд 15

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

Перевод чисел Рассмотрим алгоритмы перевода чисел из одной системы счисления в другую.
различаются в зависимости от переводимого числа – целое или правильная дробь.
Целые числа переводятся с использованием операции деления, а правильные дроби – умножения.
Вещественные числа, имеющие целую и дробную часть переводятся по алгоритмам отдельно для целой части и дробной части.

Слайд 16

Алгоритм перевода целых чисел
Перевести число 567 из десятичной в двоичную систему.

567(10)=1000110111(2)

Внимание: не

Алгоритм перевода целых чисел Перевести число 567 из десятичной в двоичную систему.
переводить по степеням двойки в лабораторных работах!

Слайд 17

Почему используются 8-чная и 16-чная системы?
При переводе из десятичной (или же в

Почему используются 8-чная и 16-чная системы? При переводе из десятичной (или же
десятичную) системы счисления в систему с основанием 8 или 16 результат получается быстрее, чем при переводе в двоичную систему. Это происходит за счет сокращения числа операций деления (умножения). И запись чисел в этих системах компактнее, чем в двоичной
А из этих систем очень просто осуществляется перевод чисел в двоичную систему (или из двоичной системы в 8, 16).
Это потому что основание этих систем, кратно степеням двойки (8=23 и 16=24).

Слайд 18

Перевод из 8,16-чной в 2-чную
Для того чтобы целое двоичное число перевести из

Перевод из 8,16-чной в 2-чную Для того чтобы целое двоичное число перевести
системы счисления с основанием 2n в двоичную систему, нужно каждую цифру числа в исходной системе заменить
n-разрядным
двоичным эквивалентом по ранее показанной таблице.
Например:
3(8)=011(2) (двоичная триада)
7(16)=0111(2) (двоичная тетрада)

Слайд 19

3(8)=011(2)

7(16)=0111(2)

3(8)=011(2) 7(16)=0111(2)

Слайд 20

Перевести 4A3F(16) в двоичную систему счисления:
4(16)=0100(2) – тетрада;
A(16)=1010(2) – тетрада;
3(16)=0011(2) – тетрада;
F(16)=1111(2)

Перевести 4A3F(16) в двоичную систему счисления: 4(16)=0100(2) – тетрада; A(16)=1010(2) – тетрада;
– тетрада.
Тогда, располагая каждую тетраду с учетом ее веса, получаем в двоичной системе:
4A3F(16)=0100101000111111(2)=0100101000111111(2).

незначащий 0, можно не писать!

Слайд 21

Перевод из 2-чной в 8, 16-чную:
для того чтобы целое двоичное число перевести

Перевод из 2-чной в 8, 16-чную: для того чтобы целое двоичное число
в систему счисления с основанием 2n, нужно:
двоичное число разбить справа налево на группы по n цифр в каждой; если в последней левой группе окажется меньше n разрядов, то дополнить ее нулями слева до нужного числа разрядов;
рассмотреть каждую группу как n-разрядное двоичное число и заменить ее соответствующей цифрой в системе счисления с основанием 2n.

Слайд 22

Перевести 1011001010(2) в восьмеричную систему счисления:
Тогда, располагая восьмеричные цифры по весам разрядов,

Перевести 1011001010(2) в восьмеричную систему счисления: Тогда, располагая восьмеричные цифры по весам разрядов, получаем: 1010001010(2)=1312(8)
получаем: 1010001010(2)=1312(8)

Слайд 23

Рациональный алгоритм перевода чисел такой (обязателен при выполнении лабораторных работ):
от человека к

Рациональный алгоритм перевода чисел такой (обязателен при выполнении лабораторных работ): от человека
процессору --- 10 -> 16 -> 2
от процессора к человеку --- 2 -> 16 -> 10.
Пример: перевести 567(10) в двоичную систему
1) переводим в 16-чную систему
567 16
560 35 16
7 32 2
3
567(10)=237(16)
2)переводим из 16-чной в 2-чную
001000110111(2)=1000110111(2)

Слайд 24

Правильная дробь имеет целую часть, равную 0.
Перевод дроби в другую систему

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

Алгоритм перевода правильной дроби

Слайд 25

полученная целая часть произведения отбрасывается, и оставшаяся дробная часть (это правильная дробь)

полученная целая часть произведения отбрасывается, и оставшаяся дробная часть (это правильная дробь)
вновь умножается на основание системы счисления, в которую осуществляется перевод, с последующей обработкой полученного произведения в соответствии с шагами 1) и 2);

Слайд 26

Внимание! Если целые числа из одной системы счисления в другую всегда переводятся

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

Слайд 27

Если надо получить три точных разряда, то при переводе получают четыре разряда

Если надо получить три точных разряда, то при переводе получают четыре разряда
и последний четвертый разряд используется для округления.
Будем использовать правило округления: если отбрасываемый разряд равен или больше половины от основания системы счисления, в которую осуществляется перевод, то к остающемуся младшему разряду добавляется "1", в противном случае оставшаяся цифра не меняется.
0,3454(8)≈0,346(8) (+1)
0,5632(8)≈0,563(8) (+0)

Слайд 28

Пример перевода правильной дроби:
Выполнить перевод числа 0,847(10) в двоичную систему счисления. Перевод

Пример перевода правильной дроби: Выполнить перевод числа 0,847(10) в двоичную систему счисления.
выполнить с точностью восемь значащих цифр после запятой.
Эффективным путем достижения цели будет перевод числа вначале в шестнадцатеричную (или восьмеричную систему), а затем – в двоичную.
Тогда, чтобы получить требуемую точность (8 двоичных разрядов) нужно получить три 16-ричных разряда.

Слайд 29

0,847(10)≈0,D9(16)=0,11011001(2). Отметим, что третья шестнадцатеричная цифра после запятой использована для округления предыдущего

0,847(10)≈0,D9(16)=0,11011001(2). Отметим, что третья шестнадцатеричная цифра после запятой использована для округления предыдущего
разряда (второй после запятой) по правилу «половина веса отбрасываемого разряда».

Слайд 30

Перевод дроби из 2-чной системы в 10-чную:
Выполнить перевод правильной дроби 0,001111011010001(2) в

Перевод дроби из 2-чной системы в 10-чную: Выполнить перевод правильной дроби 0,001111011010001(2)
десятичную систему счисления. Перевод выполнить с точностью три значащие цифры после запятой.
Эффективным путем достижения цели будет перевод числа вначале в шестнадцатеричную (или восьмеричную систему), а затем – в десятичную.
Внимание: разбиение двоичного числа на тетрады или триады для правильной дроби выполняется слева направо.
0,001111011010001=0,0011110110100010(2) ≈ 0,3DA(16)= 3*16-1+13*16-2+10*16-3=0,241(10)

Слайд 32

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

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

Слайд 33

Цифровой процессор – это устройство, осуществляющее обработку информации, представленной в цифровом виде

Цифровой процессор – это устройство, осуществляющее обработку информации, представленной в цифровом виде
(двоичная система счисления). Внешне это микросхема с высокой степенью интеграции (есть в любом компьютере, гаджете).
Одной из основных его характеристик является «разрядность процессора».
Разрядность процессора – это количество бит в регистре процессора.
Регистры используются для хранения операндов, выполнения операций сложения, вычитания, сдвига или других команд за один такт работы.

Слайд 34

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

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

Слайд 35

(ОЗУ)

Упрощенная структура современной ЭВМ

регистры

операнды

(ОЗУ) Упрощенная структура современной ЭВМ регистры операнды

Слайд 36

В цифровом процессоре для представления чисел используются три следующих формата :
формат с

В цифровом процессоре для представления чисел используются три следующих формата : формат
фиксированной точкой;
формат с плавающей точкой;
формат двоично-десятичного кода.

Слайд 37

Формат с фиксированной точкой
(sign, unsign)
Формат с фиксированной точкой (ФТ), в зависимости от

Формат с фиксированной точкой (sign, unsign) Формат с фиксированной точкой (ФТ), в
представляемых чисел, имеет три вида:

Слайд 38

Формат ФТ (sign) представления целых чисел
Целое число К1, заданное в восьмеричной системе

Формат ФТ (sign) представления целых чисел Целое число К1, заданное в восьмеричной
счисления, представить в формате с ФТ в 16-разрядном процессоре (2 байта).
К1=31(8)=11001(2)
без знака К1:

31(8)=19(16)

31(8) =19(16)

заполнение разрядов

Слайд 39

Еще пример для целого числа:
Целое число К2, заданное в восьмеричной системе счисления,

Еще пример для целого числа: Целое число К2, заданное в восьмеричной системе
представить в формате с ФТ (2 байта).
К2=1231(8)=1010011001(2) =299(16)
без знака:

=1231(8)=299(16)

=1231(8)=299(16)

Слайд 40

Формат представления правильных дробей

Дробное число М1, заданное в восьмеричной системе счисления, представить

Формат представления правильных дробей Дробное число М1, заданное в восьмеричной системе счисления,
в формате с ФТ в 8-разрядном процессоре(1 байт).
М=0,51(8)=0,101001(2).

=0,51(8)=0,A4(16)

заполнение разрядов

2(16)

5(16)

=0,51(8)=0,A4(16)

Слайд 41

Дробное число М2, заданное в восьмеричной системе счисления, представить в формате с

Дробное число М2, заданное в восьмеричной системе счисления, представить в формате с
ФТ в 8-разрядном процессоре (1 байт).
М=0,15(8)=0,001101(2).
без знака:
со знаком:

Слайд 42

Смешанные числа (неправильные дроби)
Для представления таких чисел в формате с ФТ разрядная

Смешанные числа (неправильные дроби) Для представления таких чисел в формате с ФТ
сетка процессора делится на две части: одна (левая) для целой части числа, другая (правая) для дробной части (специального разделителя нет).
Смешанное число L, заданное в восьмеричной системе счисления, представить в формате с ФТ в шестнадцатиразрядном процессоре, где левые 8 бит отведены под целую часть числа, включая знак, а остальные 8 – под дробную часть.
L=51,15(8)=101001,001101(2).
без знака:
со знаком:

=51,15(8)=29,34(16)

=51,15(8)=29,34(16)

Слайд 44

В формате ФТ (целые, дробные, смешанные) арифметические операции выполняются точно.
Диапазон вычисления с

В формате ФТ (целые, дробные, смешанные) арифметические операции выполняются точно. Диапазон вычисления
ФТ определяется разрядностью процессора. Например в 16-разрядном процессоре диапазон вычисления для целых чисел со знаком от -32768(10) до +32767(10).
Это не значит, что на таком процессоре нельзя выполнить арифметические операции над числами с ФТ в большем диапазоне. Можно, но в этом случае нужно будет использовать так называемую "n-разрядную арифметику".

Слайд 45

Формат с плавающей точкой
(float)
Одной из форм записи вещественных чисел является их представление

Формат с плавающей точкой (float) Одной из форм записи вещественных чисел является
в экспоненциальном виде, в котором отдельно записывают мантиссу числа и порядок числа.
Пример экспоненциальной формы числа 2008(10):
2008(10)=20,08*102=200800*10--2=0,2008*104
Мантисса равна 20,08 или 200800, или 0,2008.
Порядок равен соответственно 2 или -2, или 4.

Мантисса

Порядок

Слайд 46

Любое число в экспоненциальной форме имеет множество представлений.
1=0,00001*105=1000*10-3 и т.д.
Среди этих представлений

Любое число в экспоненциальной форме имеет множество представлений. 1=0,00001*105=1000*10-3 и т.д. Среди
выделили нормализованное представление числа:
2008(10)=0,2008*104
Для каждого числа это представление – единственное.
1=0,1*101
При нормализированном представлении числа в экспоненциальной форме мантисса (М) должна быть в интервале
0,1(d)≤М<1(d), где d – основание системы счисления.

Слайд 47

Операнды в цифровом процессоре в формате с плавающей точкой (ПТ/float) представляют числа

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

Слайд 48

В истории IT- технологий существовало много форматов чисел в формате с ПТ.
В

В истории IT- технологий существовало много форматов чисел в формате с ПТ.
настоящее время общепринятым стандартом представления операндов в формате с плавающей точкой в цифровом процессоре является стандарт IEEE 754.
В IEEE 754:
мантисса представляется в прямом коде;
порядок «смещен» (увеличен) на константу.

Слайд 49

Смещение порядка на константу позволяет обойтись без явного бита знака порядка. Если

Смещение порядка на константу позволяет обойтись без явного бита знака порядка. Если
значение смещенного порядка больше константы смещения, он – положительный, если меньше – отрицательный. Такое решение позволило реализовать более простые алгоритмы операций над порядками.
Если константа смещения равна 127, то:
0,1*10-3 будет записано, как 0,1*10124;
0,2008*104 будет записано, как 0,2008*10131

Слайд 50

Есть два формата представления чисел с плавающей точкой стандарта IEEE 754 в

Есть два формата представления чисел с плавающей точкой стандарта IEEE 754 в
оперативной памяти процессора :
«короткое вещественное (КВ)»,
«длинное вещественное (ДВ)».
Они отличаются диапазоном представимых в них чисел.
В самом же процессоре арифметические операции выполняются всегда в формате:
«внутреннее (расширенное) вещественное (ВВ)».
Т.е. при передаче из оперативной памяти в процессор форматы КВ и ДВ преобразуются в ВВ и наоборот.

Слайд 51

Используются следующие обозначения: М – мантисса числа; S – знак мантиссы; Р

Используются следующие обозначения: М – мантисса числа; S – знак мантиссы; Р
– порядок числа.
В формате КВ под мантиссу отводится 24 бит, а под порядок – 8 бит. Величина порядка операнда смещена на 127(10), т.е. Р=Рх+127(10).
В формате ДВ под мантиссу отводится 53 бит, а под порядок –  11 бит. Величина порядка операнда смещена на 1023(10), т.е. Р=Рх+1023(10).

КВ (4 байта)

ДВ (8 байт)

Слайд 52

Форматы вещественных чисел в IEEE-754

КВ

ДВ

ВВ

здесь термин характеристика = порядок

Форматы вещественных чисел в IEEE-754 КВ ДВ ВВ здесь термин характеристика = порядок

Слайд 53

«Скрытый» бит мантиссы
Поскольку при нормализованном представлении операнда (0,1(2)≤ М<1(2)) в двоичной системе

«Скрытый» бит мантиссы Поскольку при нормализованном представлении операнда (0,1(2)≤ М это можно
счисления первая цифра мантиссы после запятой всегда будет равна «1», т.е. 0,1…………
это можно использовать для увеличения диапазона представимых чисел в оперативной памяти, для чего диапазон представления мантиссы нормализованного числа в стандарте IEEE 754 меняется на диапазон
1(2)≤М<2(2).
Причем единица целой части мантиссы учитывается неявно (неявная единица), т.е. под нее не отводится бит. В таком виде операнд хранится в оперативной памяти процессора. При выполнении арифметических операций над операндом, при его извлечении из памяти в регистр процессора (формат ВВ) этот скрытый бит восстанавливается, т.е. присутствует в явном виде

Слайд 54

Алгоритм преобразования вещественного десятичного числа в двоичное число с плавающей точкой формата

Алгоритм преобразования вещественного десятичного числа в двоичное число с плавающей точкой формата
IEEE 754
( на примере числа = 8,125(10))
1.Перевести целую часть вещественного числа в двоичную систему и поставить после нее десятичную точку (для заданного примера: 1000).
2. Перевести дробную часть вещественного числа в двоичную систему с точностью для определения значений всех битов мантиссы, предусмотренных форматом (КВ, ДВ, ВВ) (для заданного примера: 0,0010…0)

Слайд 55

3. Записать полученное значение дробной части после десятичной точки. Если количество разрядов
мантиссы

3. Записать полученное значение дробной части после десятичной точки. Если количество разрядов
получилось меньше выделенного под нее, то дополнить дробную часть незначащими
нулями справа до предусмотренного форматом размера. Для заданного примера:
1000,001000000000000000000000000 (всего 31 бит)
4. Представить число в экспоненциальной форме. Для заданного примера:
0, 1000001000000000000000000000000*10100

Слайд 56

5. Нормализовать полученное двоичное
число (1(2)≤М<2(2)), определив тем самым значение порядка. Для заданного

5. Нормализовать полученное двоичное число (1(2)≤М 1,0000010000000000000000000000000*1011 6. К порядку прибавить смещение
примера:
1,0000010000000000000000000000000*1011
6. К порядку прибавить смещение в соответствии с форматом, и представить его в двоичном виде. В результате будет получен смещенный порядок для выбранного формата (для заданного примера: 3+127=130=10000010(2)).

Слайд 57

7. Записать значение порядка и значение мантиссы в соответствующие биты формата КВ

7. Записать значение порядка и значение мантиссы в соответствующие биты формата КВ
или ДВ (у мантиссы, скрывается единица целой части).
8. Если число положительное, то в самый старший разряд (знак мантиссы) следует записать 0, если отрицательное, то 1.

мантисса

порядок

знак мантиссы

Слайд 58

Рассмотрим другие примеры представления операндов в формате КВ.
Напоминание:
мантисса – М (1(2)≤М<2(2));
порядок –

Рассмотрим другие примеры представления операндов в формате КВ. Напоминание: мантисса – М
Р (смещен на 127(10)).
Пример. Представить число 16,АС(16) в формате КВ.
Перевод в двоичную систему:
16,АС(16)=10110,10101100(2)=1,011010101100(2)*10100.
М=1,011010101100(2);
Р=100(2)+(127(10)=1111111(2))=10000011(2).
Тогда формат КВ этого числа (красным цветом выделены биты порядка) будет (целая часть мантиссы «скрыта»):

Слайд 59

Еще пример:
Представить число – 7,С8(16) в формате КВ.
Перевод:
–7,С8(16)= –111,11001000(2)= –1,1111001000(2)*1010.
М=

Еще пример: Представить число – 7,С8(16) в формате КВ. Перевод: –7,С8(16)= –111,11001000(2)=
– 1,1111001000(2);
Р=10(2)+(127(10)=1111111(2))=10000001(2).
Тогда формат КВ этого числа (красным цветом выделены биты порядка) будет(целая часть мантиссы «скрыта»):

Слайд 60

Еще пример:
Представить число – 0,0С8(16) в формате КВ.
Перевод:
–0,0С8(16)= –0,000011001000(2)= –1,1001000(2)*10−101.
М=

Еще пример: Представить число – 0,0С8(16) в формате КВ. Перевод: –0,0С8(16)= –0,000011001000(2)=
– 1,1001000(2);
Р= – 101(2)+(127(10)=1111111(2))=01111010(2).
Тогда формат КВ этого числа (красным цветом выделены биты порядка) будет(целая часть мантиссы «скрыта»):

Слайд 61

Специальные значения
Несмотря на большой диапазон вещественных чисел, представимых в формате с ПТ,

Специальные значения Несмотря на большой диапазон вещественных чисел, представимых в формате с
бесконечное количество чисел находится за рамками предста-
вления в нём.
Для обработки тех случаев, в которых при вычислениях в форматах КВ и ДВ могут быть получены значения из непредставимого диапазона, в стандарте IEEE 754 предусмотрены специальные комбинации бит, называемые специальными численными значениями.

Слайд 62

К специальным значениям относятся:
денормализованные вещественные числа,
отрицательная и положительная бесконечности,
не

К специальным значениям относятся: денормализованные вещественные числа, отрицательная и положительная бесконечности, не
числа;
неопределенности,
значения в неподдерживаемых форматах,
нуль.
Для представления специальных значений зарезервированы порядки:
минимальный =00000000 и
максимальный =11111111

Слайд 63

Нуль
Значение нуля относится к специальным.
Это делается из-за того, что нуль выделяется среди

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

Слайд 64

Денормализованные вещественные числа
Денормализованные числа – числа, значе-
ние которых меньше минимально представимого

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

Слайд 65

Именно эти числа и представляют собой денормализованные числа.
Однако диапазон денормализованных чисел не

Именно эти числа и представляют собой денормализованные числа. Однако диапазон денормализованных чисел
безграничен и определяется количеством разрядов, отведенных под мантиссу.
Денормализованное число имеет нулевой порядок и ненулевую мантиссу, напри-
мер для формата КВ:
00000000 00000100 00000111 00000000

Слайд 66

Бесконечности
Среди причин, приводящих к формированию значения бесконечности, в первую очередь следует назвать

Бесконечности Среди причин, приводящих к формированию значения бесконечности, в первую очередь следует
переполнение и деление на нуль.
Бесконечность кодируется с максимальным значением порядка =11111111 и мантиссой равной 1.
Соответственно различают положительную и отрицательную бесконечности:
+∞ -> 01111111 10000000 00000000 00000000
- ∞ -> 11111111 10000000 00000000 00000000

Слайд 67

Не числа
К не числам относятся такие битовые последовательности, которые не совпадают

Не числа К не числам относятся такие битовые последовательности, которые не совпадают
ни с одним из рассмотренных ранее форматов.
Не числа представляются с любым знаком, максимальным порядком и любой мантиссой кроме 1.
Например:
01111111 00000100 00000000 00000000

Слайд 68

Формат двоично-десятичного кода
(BCD - код)
Формат двоично-десятичного кода (BCD – binary coded decimal)

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

Слайд 69

В настоящее время общепринятым стандартом представления операндов в BCD коде является стандарт

В настоящее время общепринятым стандартом представления операндов в BCD коде является стандарт
IEEE 754. В его основе лежит использование кода 8421:

Слайд 70

В соответствии со стандартом IEEE 754 под операнд отводится 10 байт, из

В соответствии со стандартом IEEE 754 под операнд отводится 10 байт, из
них крайний левый байт – знаковый.
В остальных (числовых байтах) записывается по две десятичные цифры (тетрадами).
Это позволяет обрабатывать 18-разрядные десятичные числа, что является достаточным для любых экономических расчетов.
Формат BCD-кодирования по стандарту IEEE 754

Слайд 71


Пример:
представить -1231,05(10) в BCD коде стандарта IEEE 754.
– 00 00 00 00

Пример: представить -1231,05(10) в BCD коде стандарта IEEE 754. – 00 00
00 00 12 31 05

Слайд 72

Кодирование чисел в цифровых процессорах

Кодирование чисел в цифровых процессорах

Слайд 73

Кодирование чисел в цифровых процессорах
В цифровых процессорах в каждом из ранее рассмотренных

Кодирование чисел в цифровых процессорах В цифровых процессорах в каждом из ранее
форматов операнды представляются в одном из следующих кодов:
прямом;
дополнительном;
обратном.
Введем следующую систему обозначений:
[Х]1 – представление операнда Х в прямом коде;
[Х]2 – представление операнда Х в дополнительном коде;
[Х]3 – представление операнда Х в обратном коде.
Рассмотрим представление операндов в прямом, обратном и дополнительном кодах в формате с фиксированной точкой.

Слайд 74

Прямой код
Представление операнда в прямом коде состоит из двух частей: знака числа,

Прямой код Представление операнда в прямом коде состоит из двух частей: знака
под него отводится крайний левый бит (старший) и модуля числа.
Если число положительное – знак кодируется 0, а если отрицательное, то 1.
Рассмотрим примеры представления целых операндов в этом коде:
K1=+51(8)=+101001(2).
K2= – 51(8)= – 101001(2).

Слайд 75

М1=0,15(8)=+0,001101(2)
М2= - 0,15(8)=+0,001101(2)

М1=0,15(8)=+0,001101(2) М2= - 0,15(8)=+0,001101(2)

Слайд 76

Достоинство прямого кода состоит в том, что в нем более просто реализуются

Достоинство прямого кода состоит в том, что в нем более просто реализуются
алгоритмы выполнения «длинных» (по времени выполнения) операций – умножения и деления.
Недостатками прямого кода являются:
двойное представление нуля, которое должно быть учтено либо аппаратными, либо программными средствами;
представление операнда в виде двух частей (знака и модуля) приводит к достаточно сложным алгоритмам операций сложения/вычитания в цифровом процессоре.

Слайд 77

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

Обратный код в настоящее время практически не используется. Обратный код положительного числа
совпадает с самим числом, а знаковый разряд кодируется 0.
Обратный код отрицательного числа получается по следующему алгоритму: в знаковый бит записывается 1, а остальные биты получаются инверсией разрядов исходного числа. Например:
K1=51(8)=101001(2)
K2= – 51(8)= – 101001(2)

Обратный код

Слайд 78

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

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

Слайд 79

Дополнительный код
Дополнительный код положительного числа совпадает с самим числом, представленным в

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

Слайд 80

Этот способ получения дополнительного кода следует из теории чисел.
Например, для 16-разрядного процессора,

Этот способ получения дополнительного кода следует из теории чисел. Например, для 16-разрядного
который работает по модулю 216=65536(10) дополнением для −36(10) будет:
65530(10).

Слайд 81

Дополнительный код (как и прямой и обратный) можно использовать в любой системе

Дополнительный код (как и прямой и обратный) можно использовать в любой системе
счисления.
Рассмотрим пример использования дополнительного кода в десятичной системе счисления.
Допустим есть трехразрядный десятичный процессор (тогда он работает по модулю 1000(10)).
Выполнить сложение в нем в дополнительном коде:
456+(-126)=330
Представляем слагаемые в дополнительном коде:
[456]2=456
[-126]2=874 т.е. дополнение 126 до 1000(10)

Слайд 82

В цифровом процессоре, дополнительный код двоичного числа (с учетом формата представления) получается

В цифровом процессоре, дополнительный код двоичного числа (с учетом формата представления) получается
более простым способом.
Алгоритм следующий:
если число положительное, то в знаковый бит записывается 0, а само число – в остальную разрядную сетку (с учетом формата);
если число отрицательное, то в знаковый бит записывается 1, остальные биты получаются инверсией разрядов числа с добавлением 1 в младший разряд. Т.е. каждый разряд дополняется до 2 (основания системы счисления) и плюс 1 в младший.

Слайд 83

По этому же алгоритму можно получить дополнительный код числа в любой системе

По этому же алгоритму можно получить дополнительный код числа в любой системе
счисления. Рассмотрим десятичную систему счисления и предыдущий пример.
456 - число положительное, поэтому [456]2=456
-126 - число отрицательное, поэтому дополняем каждый разряд до 9 и в младший разряд прибавляем 1.
999
[-126]2=874 126
873 +1=874

Слайд 84

Рассмотрим пример получения дополнительного кода в шестнадцатеричной системе счисления.
Представить (- 6AF9(16)) в

Рассмотрим пример получения дополнительного кода в шестнадцатеричной системе счисления. Представить (- 6AF9(16))
дополнительном коде.
Дополняем каждый разряд до F и к младшему разряду добавляем 1.

(- 6AF9(16)) = [9507]2

Слайд 85

Примеры для 8-разрядного процессора:
K1=51(8)=101001(2).
---------------------------------------------------------------------------
M1= – 0,15(8)= –0,0011010(2)
01+1=10

Примеры для 8-разрядного процессора: K1=51(8)=101001(2). --------------------------------------------------------------------------- M1= – 0,15(8)= –0,0011010(2) 01+1=10

Слайд 86

L1=51,15(8)=101001,001101(2).
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
L2= – 51,15(8)= –101001,001101(2)

целая часть

дробная часть

L1=51,15(8)=101001,001101(2). ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- L2= – 51,15(8)= –101001,001101(2) целая часть дробная часть

Слайд 87

Перевод числа из дополнительного кода
Перевод в двоичную систему счисления из дополнительного

Перевод числа из дополнительного кода Перевод в двоичную систему счисления из дополнительного
кода выполняется (с учетом формата представления) по тому же алгоритму, что и в дополнительный:
если знаковый бит равен 0 (число положительное), то знак числа – «плюс», а само число берется из остальных битов;
если знаковый бит равен 1 (число отрицательное), то знак числа – «минус», а остальные разряды числа получаются инверсией битов с добавлением 1 в младший бит.

Слайд 88


L1=+101001,001101(2)=51,15(8)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
L2= –101001,001101(2) = – 51,15(8)

L1=+101001,001101(2)=51,15(8) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- L2= –101001,001101(2) = – 51,15(8)

Слайд 89

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

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

Слайд 90


Несимметричный диапазон представления положительных и отрицательных чисел в цифровом процессоре в дополнительном

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

Слайд 91


Перевод в дополнительный код для минимально отрицательного числа (-1000…00) выполняется по следующему

Перевод в дополнительный код для минимально отрицательного числа (-1000…00) выполняется по следующему
алгоритму:
единица в знаковом разряде кодирует «минус», а числовые разряды равны 000…00, т.е.
1000…00
Перевод из дополнительного кода для минимально отрицательного числа (1000…00) выполняется по следующему алгоритму:
единица в знаковом разряде дает «минус», а модуль числа равен 1000…00, т.е. "1" в знаке дает и "-" и числовую единицу:
− 1000…00

Слайд 92

Например, для 8-разрядного процессора максимально представимые числа:
максимальное положительное число равно 127(10)=177(8)=1111111(2)

Например, для 8-разрядного процессора максимально представимые числа: максимальное положительное число равно 127(10)=177(8)=1111111(2)
и его дополнительный код равен:
минимальное отрицательное число равно
-128(10)= -200(8)= -10000000(2) и его дополнительный код равен:

Слайд 93

Кодирование символьной информации
Первые цифровые процессоры обрабатывали только числовые данные. Сейчас процессоры в

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

Слайд 94

До недавнего времени наиболее широко использовался код ASCII (American Standard Code for

До недавнего времени наиболее широко использовался код ASCII (American Standard Code for
Interchange Information) – американский стандартный код для обмена информацией. Символы в этом коде кодируются одним байтом. Таким образом, кодовая таблица содержит 256 различных символов.
Половина кодов является постоянными (управляющие символы, символы английского алфавита, цифровые символы, знаки пунктуации и др.), а другая половина может быть изменена (например, часть символов может быть заменена на символы русского или любого другого алфавита).

Слайд 95

Фрагмент таблицы 8-битного кода ASCII
American Standard Code for Information Interchange.

Фрагмент таблицы 8-битного кода ASCII American Standard Code for Information Interchange. Коды
Коды символов даны в 16-ричной системе счисления.

Слайд 96

Пример кодировки слов way и WAY:

57(W)

41(A)

59(Y)

77(w)

61(a)

79(y)

Пример кодировки слов way и WAY: 57(W) 41(A) 59(Y) 77(w) 61(a) 79(y)

Слайд 97

На основе этого кода, с целью совместимости, был создан отечественный код "КОИ-8"

На основе этого кода, с целью совместимости, был создан отечественный код "КОИ-8"
(код обмена информацией - восьмибитный).
KOИ-8 — восьмибитовая ASCII-совместимая кодовая таблица, созданная для кодирования букв кириллических алфавитов.
В КОИ-8 символы русского алфавита поместили в верхнюю часть кодовой таблицы так, что позиции кириллических символов соответствуют их фонетическим аналогам в английском алфавите в нижней части таблицы.
Это значит, что убрав в тексте, написанном в КОИ-8, левый восьмой бит каждого символа, то получится текст, написанный латинскими символами.

Слайд 98

Недостатком ASCII явилось ограниченное количество символов (256), что затрудняло его использование для

Недостатком ASCII явилось ограниченное количество символов (256), что затрудняло его использование для
представления многоязычных текстов.
Для решения проблем, связанных с унификацией символьной информации, был предложен стандарт Unicode (Юникод).
Этот код покрывает языки Америки, Европы, Среднего Востока, Африки, Индии, Азии и Океании и технические символы.

Слайд 99

Эта система позволяет закодировать свыше миллиона символов (1 114 112 ).
Большинство символов,

Эта система позволяет закодировать свыше миллиона символов (1 114 112 ). Большинство
используемых в основных языках мира занимают 65 536 кодовых комбинаций.
Остальных (более миллиона) кодовых точек вполне достаточно для кодирования всех известных символов, включая даже исторические знаки и редкие языки.

Слайд 100

Стандарт UNICODE имеет три формы:
32-битную (UTF-32);
16-битную (UTF-16);
8-битную (UTF-8).
Весьма

Стандарт UNICODE имеет три формы: 32-битную (UTF-32); 16-битную (UTF-16); 8-битную (UTF-8). Весьма
распространенная восьмибитная форма UTF-8 была создана для удобной совместимости с ASCII-ориентироваными системами кодирования.
Сейчас UNICODE содержит 96 382 символа, их более чем достаточно для общения на всех известных языках мира, а также для написания классических (исторических) шрифтов многих языков (например, европейский алфавит, среднеазиатское письмо направленное справа налево, шрифты Азии, и другие).

Слайд 101

Спасибо за внимание !!

Спасибо за внимание !!

Слайд 102

Лабораторная работа
"Форматы представления чисел в цифровых процессорах"

Лабораторная работа "Форматы представления чисел в цифровых процессорах"

Слайд 103

Целые числа
(на ассемблере для 16-разрядного процессора)

сегмент данных

сегмент кода

=19(16)

Целые числа (на ассемблере для 16-разрядного процессора) сегмент данных сегмент кода =19(16)

Слайд 104

Целые числа
ds – сегмент данных; cs – сегмент кода

=19(16)

память
Сегмент данных

Целые числа ds – сегмент данных; cs – сегмент кода =19(16) память Сегмент данных

Слайд 105

Чтобы отобразить сегмент данных нужно по клавише F8 выполнить первые две команды

Чтобы отобразить сегмент данных нужно по клавише F8 выполнить первые две команды программы:
программы:

Слайд 106

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

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

Слайд 107

Задать отображение памяти начиная с адреса 0000 в сегменте данных, нажать Enter:

Задать отображение памяти начиная с адреса 0000 в сегменте данных, нажать Enter:

Слайд 108

Побайтовое отображение памяти с ds:0

адреса
памяти

содержимое
по адресам памяти

символьный
код
байтов

Побайтовое отображение памяти с ds:0 адреса памяти содержимое по адресам памяти символьный код байтов

Слайд 109

Целые числа

=19(16)и 299(16)

сегмент данных

сегмент кода

Целые числа =19(16)и 299(16) сегмент данных сегмент кода

Слайд 110

Целые числа

19(16) и 229(16)

Целые числа 19(16) и 229(16)

Слайд 111

Формат представления правильных дробей

Дробное число М1, заданное в восьмеричной системе счисления, представить

Формат представления правильных дробей Дробное число М1, заданное в восьмеричной системе счисления,
в формате с ФТ в 8-разрядном процессоре(1 байт).
М=0,51(8)=0,101001(2).
без знака:
со знаком:

≈0,A4(16)

заполнение разрядов

2

5

Слайд 112

сегмент данных

сегмент кода

Целые числа 19(16) и 229(16) и дробное со знаком +0,A4(16)

сегмент данных сегмент кода Целые числа 19(16) и 229(16) и дробное со знаком +0,A4(16)

Слайд 113

Целые числа 19(16) и 229(16) и дробное 0,A4(16)

Целые числа 19(16) и 229(16) и дробное 0,A4(16)

Слайд 114

сегмент данных

сегмент кода

Целые числа 19(16) и 229(16) и дробное со знаком +0,A4(16)

сегмент данных сегмент кода Целые числа 19(16) и 229(16) и дробное со знаком +0,A4(16)

Слайд 115

Целые числа 19(16) и 229(16) и дробное 0,A4(16)

Целые числа 19(16) и 229(16) и дробное 0,A4(16)

Слайд 116

сегмент данных

сегмент кода

D dw 2934h

сегмент данных сегмент кода D dw 2934h

Слайд 117

смешанное 29,34(16)

Целые числа 19(16) и 229(16); дробное 0,A4(16); смешанное 29,34(16)

смешанное 29,34(16) Целые числа 19(16) и 229(16); дробное 0,A4(16); смешанное 29,34(16)

Слайд 118

Вещественное число 16,АС(16) в формате КВ

сегмент данных

сегмент кода

Вещественное число 16,АС(16) в формате КВ сегмент данных сегмент кода

Слайд 119

Вещественное число 16,АС(16) в формате КВ

Вещественное число 16,АС(16) в формате КВ
Имя файла: Арифметические-и-логические-основы-вычислительной-техники.pptx
Количество просмотров: 43
Количество скачиваний: 0