Лекции (Лекции Орлова по микропроцессорам), страница 4
Описание файла
Документ из архива "Лекции Орлова по микропроцессорам", который расположен в категории "". Всё это находится в предмете "цифровые и импульсные устройства" из 5 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "цифровые и импульсные устройства" в общих файлах.
Онлайн просмотр документа "Лекции"
Текст 4 страницы из документа "Лекции"
Совокупность всех символов, используемых в вычислительной системе, представляет собой её алфавит. Символу соответствует машинная единица информации слог. Так называют группу двоичных разрядов, служащую для представления символа в машине (двоичный код символа). Если группа включает k разрядов, то с её помощью можно кодировать 2k символов.
Наибольшее распространение получило представление алфавитно-цифровой информации с помощью 8-разрядных слогов, называемых байтами. С помощью байта можно кодировать 256 различных символов.
Для представления алфавитно-цифровой информации в ЭВМ используются различные стандарты двоичных кодов обмена информацией. Так в ЕС ЭВМ использовались восьмибитные коды для обмена и обработки информации КОИ-8, ДКОИ, в вычислительных системах IBM 360 и 370 восьми битный код EBCDIC (Extended Binary Coded Decimal Interchange Code) – расширенный двоично-кодированный десятичный код для обмена информацией. Каждый из переменных стандартов позволяет кодировать до 256 различных символов.
В мини ЭВМ, микро ЭВМ и персональных ЭВМ используются коды обмена информацией, ядром которых является семибитный код ASCII (American National Standard Code for Information Interchange) – Американский национальный стандартный код для обмена информацией. Этот код позволяет кодировать 128 различных символов включающие прописные и строчные буквы латинского алфавита. Добавление восьмого разряда к коду ASCII позволяет кодировать национальные алфавиты и символы псевдографики. ASCII код символа соответствует нулевому значению этого дополнительного разряда.
Например, в коде EBCDIC букве А соответствует код (С1)16, B – (C2)16, S – (E2)16. В ASCII коде латинские буквы от A до Z последовательными двоичными кодами от (41)16 до (5А)16.
Для представления текстовой информации используются строки символов. Строки символов изображаются в ЭВМ полем переменной длины. Так в ЕС ЭВМ длина поля может изменяться от 1 до 256 байт. В систему команд ЭВМ вводятся специальные команды для обработки строк символов.
В ЭВМ, поддерживаются десятичную арифметику, десятичные числа представляются либо в распакованном (зонном) формате, либо в упакованном формате. При представлении чисел в распакованном формате каждая цифра записывается в виде байта, значение которого определяется применяемым кодом обмена информации. Так в коде EBCDIC цифры 0,1,2,…,9 изображаются байтами (F0)16, (F1)16, (F2)16,…, (F9)16. Старшие четыре разряда заполняются единицами: (1111)2=(F)16. Они образуют зонную часть представления, поэтому распакованный формат называют зонным. Младшие четыре разряда образуют двоичное значение цифры в BCD – формате с весами 8421:
00000, 10001, 20010, 30011, 40100, 50101, 60110, 70111, 81000, 91001/
Для эффективного использования памяти, уменьшения длин программ и времени решения задач десятичные данные необходимо представлять последовательностями из любого числа цифр – полями переменной длины, которые могут содержать 1,2,… цифр. Так в ЕС ЭВМ десятичные числа представляются полями переменной длины от 1 до 16 байтов.
Пример 1.10.
Изображения чисел в зонном формате для ЕС ЭВМ:
-
Число 457 в данном формате в поле, длинной три байта, имеет вид:
-
Число – 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.
1.3.3. Логические значения.
Переменные, принимающие одно из двух значений «ложь» (FALSE) или «истина» (TRUE), называются булевыми (логическими) переменными. Значения «ложь» и «истина» принято кодировать цифрами 0 и 1 соответственно. Операции над логическими переменными как объектами определены в языках программирования. В этом случае под их значения отводится группа битов (байт или машинное слово). Наличие хотя бы одного единичного байта в группе определяет истинное значение, а все нули – ложное.
Булевы переменные используются в программах как самостоятельные объекты достаточно редко. Чаще всего они являются элементами наборов булевых векторов и матриц. К тому же слова информации, представляющие команды и числа, а также поля переменной длины, представляющие строки символов и тексты, часто приходится обрабатывать с использованием логических (булевых) операций, по отношению к которым двоичные разряды слов и полей являются логическими значениями. Таким образом, логические значения 0 и 1 чаще всего участвуют в операциях в виде наборов слов или полей переменной длины, каждый разряд которых рассматривается, как значение булевой переменной. Информация, представляемая такими словами, трактуется как не числовая и в процессе выполнения логических операций все разряды слова обрабатываются одинаково, как отдельные логические значения, объединённые в один набор. Таким образом, при обработке логических значений логические операции распространяются на слова и поля переменной длины, исследуемые для представления булевых переменных, команд, чисел и строк символов.
1.4. Машинные коды.
Двоичные числа в ЭВМ представляются машинными кодами определённой разрядности. Предположим, что число разрядов слова равно m тогда двоичный код числа X в этой разрядности запишется следующим образом:
X=Xm-1Xm-2Xm-3…X1X0 (1.15)
Здесь Xm-1 – знаковый разряд числа
1.4.1. Прямой код.
Прямой код числа X определяется следующим образом:
Из (1.16) следует, что ноль имеет два представления:
Пример 1.12.
Представить в прямом коде двоичные числа (+1000010)2 и (-1000010)2:
а) [+1000010]пр=0 1000010
б) [-1000010]пр=1 1000010
Прямые коды чисел не используются при выполнении операций над числами. Это связано с тем, что обработка цифровых и знакового разрядов чисел осуществляется по различным алгоритмам. Выполнение операций сложения и вычитания требуются двух разных устройств: сумматора и вычитателя. В силу сказанного для выполнения арифметических операций сложения и вычитания используется дополнительный или обратный код числа.
1.4.2. Дополнительный код.
Дополнительный код числа X определяется следующим образом:
Пример 1.13.
Представить в дополнительных кодах двоичные числа (+1000010)2 и (-1000010)2:
а) [+1000010]доп=0 1000010
б) [-1000010]доп=28-1000010=10 0000000-1000010=1 0111110
Таким образом, дополнительный код положительного числа совпадает с прямым кодом. Дополнительный код отрицательного числа образуется по следующему правилу: все младшие разряды числа до первой единицы включительно сохраняют своё значение, остальные инвертируются, а в знаковом разряде записывается единица.
Ноль в дополнительном коде имеет единственное представление:
К
ак следует из (1.18) дополнительный код осуществляет отображение отрицательных чисел на область положительных чисел (рис. 1.1)
1.4.3. Обратный код числа.
Обратный код числа X определяется следующим образом:
Пример 1.14.
Представить в обратном коде двоичные числа (+1000010)2 и (-1000010)2
а) [+1000010]обр=0 1000010
б) [-1000010]обр=28-1000010-1=10 0000000-1000010-1=1 0111101
Таким образом, обратный код положительного числа совпадает с прямым кодом, а обратный код отрицательного числа образуется по следующему правилу: все цифровые разряды числа инвертируются, а в знаковом разряде записывается единица.
Ноль в обратном коде имеет два представления:
К
ак следует из (1.19) обратный код, также как и дополнительный, осуществляет отображение отрицательных чисел на область положительных чисел (Рис. 1.2.).
На основании (1.19) можно установить связь между обратным и дополнительным кодом,
[X]обр=[X]доп-1, X0 (1.20)
откуда можно получить другое правило образования дополнительного кода,
[X]доп=[X]обр+1. (1.21)
Это правило используется в ЭВМ при переходе к дополнительному коду числа.
1.4.4. Выполнение арифметических действий с кодами.
Обратный и дополнительный код чисел обладают свойством линейности относительно операций сложения и вычитания
[X+Y]=[X]+[Y]
[X-Y]=[X]+[-Y] (1.22)
Таким образом, операции сложения и вычитания двоичных чисел заменяется операцией алгебраического сложения кодов. Поскольку представление в дополнительном или обратном кодах является беззнаковым, то для операции сложения и вычитания для всех разрядов кодов выполняется по одному алгоритму.
Пример 1.15.
Сложить двоичные числа (+1001001)2 и (-110010)2