Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_arkhitekture_EVM.doc
Скачиваний:
29
Добавлен:
10.11.2019
Размер:
1.74 Mб
Скачать

Вопрос №32. Микропроцессоры. Адресация и структура команд. Назначение регистров общего назначения и специальных регистров.

Прямая регистровая адресация. При этой адресации процессор обращается к внутренней памяти процессора.

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

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

Косвенная регистровая адресация. При этой адресации процессор обращается в ячейку внутренней памяти, в которой он находит не сам операнд, а еще один адрес, по которому находится операнд.

Косвенная адресация ОП. Выполняется аналогично косвенной регистровой, но процессор обращается не к внутренней памяти, а к оперативной, находя в ней адрес ячейки содержащей операнд.

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

У каждой ЭВМ своя структура команд.

Размер операционной части команды зависит от особенностей процессора. Размер адресной части команды зависит от емкости памяти. Операционная часть команды делится на 2 части – код операции и признак адресации. В коде операции указывается какую операцию необходимо производить процессору. В признаке адресации указывался признак адресации. В адресной части указывались адреса команд или операндов.

Вопрос№33. Дополнительный код положительных и отрицательных чисел. С какой целью он используется в эвм. Представление чисел в эвм с фиксированной точкой и плавающей точкой.

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

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

Представление чисел с фиксированной запятой.

Число с фиксированной запятой — естественная форма пред­ставления числа, когда положение запятой в разрядной сет­ке строго фиксируется. Обычно она фиксируется перед стар­шим или после младшего разрядов. Если запятая фикси­руется перед старшим разрядом, то числа в ЭВМ представ­ляются как правильные дроби; если после младшего — как целые числа. ЭВМ, в которых используется такая форма записи чисел, называют машинами с фиксированной запя­той. На рис. 1.4, а приведена разрядная сетка ЭВМ для представления чисел с фиксированной запятой перед стар­шим разрядом. Разряды такой сетки нумеруются слева направо, начиная с нулевого, который называется знако­вым разрядом. В этом разряде 0 соответствует плюсу, а 1 -минусу на разрядной сетке указан вес каждого разряда. Максимальное машинное число по абсолютной величине, т. е. без учета знака, равно

где n - количество разрядов числа.

Минимальное, отличное от нуля машинное число

Диапазон чисел всех возможных величин в данном слу­чае определяется неравенством: 2-n <|Х|<:(1—2 -n).

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

Работа ЭВМ в режиме с фиксированной запятой ис­пользуется в основном для управления технологическими процессами и обработки информации в реальном масштабе времени. При выполнении операций над двоичными числа - ми с фиксированной запятой основным операндом в ЕС ЭВМ является 32-разрядное, в 16-разрядных мини - и микроЭВМ—16-разрядное, а в 8-разрядных микроЭВМ— 8-разрядное слово. В ЕС ЭВМ могут использоваться опе­ранды длиной в полуслово, а произведения и делимые — длиной в двойное слово.

Десятичные числа в ЭВМ представляются только в естественной форме. Десятичные числа кодируются тетрадами в коде 8-4-2-1 и используются два формата для их представ­ления: упакованный (уплотненный) и распакованный (зон­ный). В упакованном формате в одном байте размещаются две десятичные цифры. Код знака размещается в правых четырех разрядах младшего байта (рис. 1.5, а). В распа­кованном формате младшие четыре разряда байта заняты цифрой, а остальные разряды содержат служебный символ (зону). В младший байт записываются код знака и код млад­шей десятичной цифры (рис. 1.5,6).

Десятичные числа вводятся обычно в распакованном формате, а при выполнении операций переводятся по специ­альной программе в упакованный формат; при выводе из ЭВМ десятичные числа вновь преобразуются в распакованный формат по специальной программе.

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

Представление чисел с плавающей запятой. Оно осно­вывается на изображении чисел в полулогарифмической форме А = ±р, ±М, соответствующей записи чисел в нор­мальной форме, Ad±p* (±M), где р — целое число, на­зываемое порядком числа Л; d — основание системы счис­ления; М — мантисса числа А (обычно |М|<1).

Фактически положение запятой в мантиссе М определя­ется величиной порядка р. С изменением р в большую или меньшую сторону запятая соответственно перемещается влево или вправо, т. е. «плавает» в изображении числа.

Пример 1.12. Представить в форме с плавающей запятой числа (158)10 и (101101)2.

Решение. 1. (158)10=103*0,158= 104*0,0158= 105*0,00158. 2.(101101)2=2110*0,'1б1101 = 2111* 0,0101101 =21000 *0,00101101.

Числа, удовлетворяющие условию 1/d<=М<=1, называ­ют нормализованными.

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

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

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

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

От количества разрядов, отводимых для хранения порядка, зависит диапазон записываемых чисел, а от количества разрядов, отводимых для мантиссы,— точность записи числа. Если под цифровые разряды мантиссы отведено n, а порядка — т разрядов, то максимальное и минимальное по абсолютной величине нормализованные двоичные числа соответственно равны:

Диапазон чисел в ЭВМ с плавающей запятой определя­ется неравенством

2-(2m-1)*2-1<=|A|<=2(2m-1)*(1—2--n). (1.2)

При достаточно больших п (обычно n>30) 1—2n=1 и неравенство (1.2) принимает вид

2-2m<=|A|<=2(2m-1). (1.3)

Из этого неравенства видно, что диапазон чисел зави­сит в основном от порядка р. Если число превышает верх­ний предел неравенства (1.3), то происходит переполнение разрядной сетки и ЭВМ автоматически останавливается.

Если число выйдет за нижний предел неравенства (1.3), то оно будет соответствовать машинному нулю.

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

В последних моделях ЭВМ получило распространение представление чисел с плавающей запятой с недвоичным основанием системы счисления (d=8 и d=16). Использо­вание недвоичного основания несколько уменьшает точ­ность вычислений при заданном числе разрядов мантиссы, но позволяет увеличить диапазон представляемых чисел в ЭВМ и ускорить выполнение некоторых операций, в част­ности нормализации, за счет того, что сдвиг производится сразу на несколько двоичных разрядов (при d=8 на три разряда, при d=16 на четыре разряда). Вероятность получения ненормализованных чисел входе вычислений значи­тельно уменьшается.

В ЕС ЭВМ и СМ ЭВМ при представлении чисел с пла­вающей запятой применяется основание d=16, и порядок числа выражается через характеристику рx — смещенные порядки, представляющие собой сумму действительного порядка р числа с учетом знака и числа 64, т. е. px=p+64.

Отрицательные и положительные действительные по­рядки р, увеличившись на 64, оказываются смещенными на числовой оси в положительном направлении и представ­ляются 7-разрядными двоичными числами без знака от 0 до 127 (рис. 1.7). Так как все характеристики рx являются положительными, то это упрощает выполнение некоторых действий над ними, например исключение операций над знаками порядков.

В ЕС ЭВМ в операциях с плавающей запятой числа мо­гут быть двух форматов фиксированной длины: короткий — в одно слово (рис. 1.8, а) и длинный — в двойное слово (рис. 1.8, б). Форматы различаются длиной мантиссы. Характеристики и мантиссы положительных и отрицательных чисел хранятся в ОП в прямом коде (рис. 1.8, в).

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

Для выполнения операций в ЭВМ числа кодируются специальными машинными кодами. Используются прямой, дополнительный и обратный коды, позволяющие заменить операцию непосредственного вычитания операцией сложения чисел с целью упрощения АЛУ ЭВМ.

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

1.5

Пример 1.14. А=— 0,101010; Адоп=10+(—0,101010)= 1,010110.

Как видно из выражения (1.5), дополнительный код положительного числа полностью совпадает с изображением числа в прямом коде. Сравнивая отрицательное число А с его дополнительным кодом Адоп, можно вывести следующее правило: чтобы записать отрицательное число в дополнительной коде, нужно в знаковом разряде этого числа поставить единицу, а во всех числовых разрядах нули заменить единицами, а единицы — нулями и к полученному результату прибавить единицу младшего разряда.

Пример 1.15. Записать двоичное число А=-0,0101 в дополнительном коде.

Адоп = 1,1010+0,0001 = 1,1011.

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

Пример 1.16. Преобразовать дополнительный код Адоп= 1,1011 отрицательного числа в прямой код.

Апр = 1,0100+0,0001 =1,0101.

В дополнительном коде отрицательный нуль отсутствует.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]