Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Представление информации. Программная модель микропроцессора 8086




Программная модель микропроцессора 8086

Представление целых чисел. Для хранения данных и кодов команд исполняемой программы используется оперативная память. Вся доступная оперативная память разбита на ячейки размером 8 разрядов – байты (Byte). Разряды байта нумеруются справа налево от 0 до 7 (рис. 4). Порядковый номер байта называют его адресом. В микропроцессоре 8086 используются 20-разрядные адреса, поэтому максимальный объем оперативной памяти составляет 220 байтов.

 

               

 

Рис. 4. Представление байта.

 

 

Словом (Word) обозначают два соседних байта. Размер слова составляет 16 разрядов, которые нумеруются справа налево от 0 до 15 (рис. 5). Адресом слова считается адрес первого байта (с меньшим адресом).

 

 

А А+1
15 8 7 0

 

Рис. 5. Представление слова.

 

Двойным словом (Double Word) обозначают четыре смежных байта или два смежных слова. Размер двойного слова составляет 32 разряда, которые нумеруются справа налево от 0 до 31 (рис. 6). Адресом двойного слова считается адрес первого байта с наименьшим адресом.

 

 

А А+1 А+2 А+3
31 24 23 16 15 8 7 0

 

Рис. 6. Представление двойного слова.

 

 

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

Целые беззнаковые числа в памяти могут храниться в зависимости от их размера в виде байта, слова или двойного слова. Например, если для числа 99 отведен байт, то содержимым ячейки будет двоичное число 01100011 (63h), а если отведено слово, то оно будет иметь вид 00000000 01100011 (0063h). Поскольку в ячейке из k разрядов можно записать 2k различных кодовых комбинаций, то в виде байта можно представить целые от 0 до 255, в виде слова – целые от 0 до 65535, в виде двойного слова – целые от 0 до 4 294 967 295.

Операции сложения и вычитания многозначных чисел начинаются с действий над младшими цифрами, а затем постепенно переходят к более старшим цифрам. Поскольку в первых моделях микропроцессоров многозначное число нельзя было считывать из па­мяти целиком, то в первую очередь необходимо было считать байт младших цифр, а для этого требовалось, чтобы такой байт хранился в па­мяти первым. Поэтому числа разме­ром в слово и двойное слово хранятся в памяти в обратном порядке: старшие 8 битов размещаются во втором байте, младшие – в первом байте. Например, число 0062h хранится в памяти как показано на рис. 7.

 

 

A A+1
   

 

Рис. 7. Хранение числа 0062h.

 

 

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

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

 

 

 


Число k определяет количество разрядов в ячейке. Правило формирования дополнительного кода следующее: во всех разрядах, кроме знакового, формируется дополнение до 9 к цифрам разрядов, а затем прибавляется единица в младший разряд. Например, дополнительный код числа +99 – байт 63h или слово 0063h, а дополнительный код числа -99 – байт 9Dh или слово FF9Dh.

В дополнительном коде самый левый бит играет роль знакового. Для неотрицательных чисел этот разряд равен 0, для отрицательных – 1. Знаковые числа размером в слово и двойное слово записы­ваются в памяти также в обратном порядке. При этом знаковый бит оказывается во втором (правом) байте слова.

 

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

В двоично-десятичном коде (Binary Coded Decimal, BCD-числа) каждая цифра десятичного числа заменяется на тетрады (четверки битов от 0000 до 1001), обозначающие эту цифру в двоичной системе. Например, число 193 будет представлено как 0001 1001 0011. Двоично-десятичные числа не требуют перевода из десятичной системы, т.к. двоично-десятичное представление есть последовательность цифр числа.

Существует два способа представления двоично-десятичных чисел: упакованное и неупакованное. При упакованном формате каждый байт содержит две соседние цифры числа (при нечетном количестве цифр старшая половина последнего байта будет содержать ноль). При неупакованном формате в каждом байте размещается только по одной цифре, причем в младшей половине. Например, число 193 в упакованном виде будет храниться как 0000 0001 1001 0011, а в упакованном как 0000 0001 0000 1001 0000 0011.

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

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

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

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




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 809; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.