Материал: Уч_пос_АрхКомп_2017

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

В транзакции типа "Чтение" по шине сначала посылается в память адрес вместе с соответствующими сигналами управления, иницирующими чтение. Память отвечает, возвращая на шину данные с соответствующими сигналами управления. Транзакция типа "Запись" требует, чтобы ЦП или ВУ послало в память адрес и данные и не ожидает возврата данных. Обычно ЦП вынужден простаивать во время интервала между посылкой адреса и получением данных при выполнении чтения, но часто он не ожидает завершения операции при записи данных в память.

Используется единое адресное пространство ячеек памяти и внешних устройств; следовательно, все команды обработки данных процессора могут быть применены и к внешним устройствам. Общая шина является «узким местом» и снижает производительность и надежность машины.

4. Структура ВМ с шинной организацией показана на рис. 1.5.

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

Рис.1.5

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

ADD AX, 100 ; адресуется ячейка памяти 100

IN AX, 100 ; адресуется внешнее устройство с номером 100

Шина прямого доступа к памяти (ПДП) используется для связи ВУ и памяти без участия процессора.

Положительные числа во всех 3-х формах представляются одинаково «0&информационные разряды числа», где &-конкатенация (присоединение). Так, для 4-х -битных ЦЧ с диапазоном изменения [-8,7] число 5 будет иметь двоичное представление 0101. Представления отрицательных чисел различны.

Прямой код (ПК) отрицательного ЦЧ имеет вид «1&информационные разряды числа». Соответственно, число [-5] в ПК будет иметь вид [-5]пк = 1101.

Замечание: В прямом коде существуют: положительный ноль, равный 0000 и отрицательный ноль, равный 1000.

Обратный код (ОК) отрицательного ЦЧ имеет вид «1&инверсные значения информационных разрядов числа». Соответственно, число [-5] в ОК будет иметь вид [-5]ок = 1010. В ОК существуют: положительный ноль, равный 0000 и отрицательный ноль, равный 1111.

При работе с 16-ричными числами следует учитывать, что инверсные значения 16-ричных цифр имеют вид:

16-ричная цифра

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

инверсная цифра

F

E

D

C

B

A

9

8

7

6

5

4

3

2

1

0

Дополнительный код (ДК) отрицательного ЦЧ имеет вид «обратный код числа +1». Соответственно, число [-5] в ДК будет иметь вид [-5]дк = 1011. В ДК существует только один ноль, равный 0000.

В настоящее время при алгебраическом сложении целых чисел доминирует использование ДК по следующим причинам:

  1. ДК имеет единственное изображение нуля: +0 и 0 имеют вид 0…000;

  2. При возникновении переноса из старшего разряда результата алгебраического сложения ЦЧ в ДК перенос просто отбрасывается, а для ОК он должен циклически прибавляться к младшему разряду результата, что увеличивает время выполнения операции;

  3. Для преобразования числа длиной n разрядов в число с большей разрядностью в ДК достаточно выполнить распространение знака в новые разряды:

+5 для n = 4 в ДК имеет вид 0101, а для n = 8 имеет вид 00000101;

-5 для n = 4 в ДК имеет вид 1011, а для n = 8 имеет вид 11111011.

При выполнении сложения ЦЧ переполнение возникает только тогда, когда операнды имеют одинаковые знаки, а знак результата противоположный.

При выполнении операций умножения и деления используется представление ЦЧ в прямом коде.

Знак результата формируется как «исключающее ИЛИ» или «сумма по mod2» знаков операндов. Умножение выполняется следующим образом An * Bn = C2n . При этом переполнение не возникает. Деление выполняется следующим образом A2n / Bn = {C1n (n-битное частное) и C2n (n-битный остаток)}. Знак частного вычисляется как «сумма по mod2» знаков делимого и делителя, знак остатка равен знаку делимого. Переполнение фиксируется, если частное не размещается в n – разрядах при делении на 0 или если A > 2n * B.

При решении экономических задач часто возникает потребность в обработке десятичных чисел. Для этого используется их двоично-десятичное представление, при котором каждый десятичный разряд числа представляется двоичной тетрадой (4 битами) цифр с весами 8421. Значения тетрады 1010 ÷ 1111, соответсвующие 16-ричным цифрам A ÷ F, считаются запрещенными и их получение при сложении данных требует коррекции результата. Коррекция выполняется путем прибавления к результату так называемого «десятичного заполнителя» 610 = 01102 . Например, при сложении десятичных чисел 8 + 5 =13, представленных в двоично-десятичном формате имеем

1000 + 0101 = 1101 (запрещенный код) +0110 = 0001 0011 = 1310

Для выполнения такой коррекции в ВМ с архитектурой Intel X86 предусмотрены специальные команды типа DAA, исполняемые после обычной команды сложения ADD. Аналогичные корректирующие операции и команды предусмотрены для выполнения вычитания.

    1. Представление и обработка вещественных чисел.

Вещественные числа (ВЧ) в компьютерах обычно представляются в форме с плавающей точкой в виде

N = m * S P , где S – основание СС, m – мантисса, P – порядок.

Такая форма позволяет, задавая различные значения m и P, получить разные представления одного и того же числа

N = 5.41 *100 = 0.541*101 = 541*10-2 = 0.00541*103

Для повышения точности ВЧ обычно используют их нормализованное представление, при котором на мантиссу накладывается ограничение 1/S ≤ m < 1 (представление N = 0.541*101 - нормализованное) .

Основные форматы представления ВЧ имеют следующие распределения двоичных разрядов (1 – 8 – 23) - короткий формат и (1 – 11–52) – длинный формат. Короткий формат поясняется ниже рисунком.

0

1 2 8

9 31

Sm

Sp

P

m

порядок

Мантисса

Здесь Sm – знак мантиссы или знак числа, Sp – знак порядка.

При использовании короткого формата имеем диапазон изменения ВЧ [ - Nmax, Nmax] , где

Nmax = 1* 2Pmax = 2128 = ( 210 )12.8  ( 103 )12.8  1038

При этом ошибка представления ВЧ, определяемая весом младшего разряда мантиссы, будет равна

 = 2 -23 = ( 210 ) -2.3  ( 103 ) -2.3  10 -7 ,

то есть обеспечивается точность на уровне 7 десятичных разрядов.

Для длинного формата ВЧ соответственно получим диапазон [- 10308 , 10308 ] и точность - 17 десятичных разрядов.

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

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

Выполнение операций алгебраического сложения над ВЧ состоит из трех этапов:

  1. Выравнивание порядков операндов – выпоняется в сторону большего порядка: увеличение на 1 меньшего порядка сопровождается сдвигом на 1 раздряд вправо мантиссы числа с меньшим порядком; этот процесс продолжается пока порядки операндов не станут равны.

  2. Суммирование мантисс – выполняется по правилам сложения целых чисел.

  3. Нормализация результата.

При суммировании мантисс может произойти выход суммы за диапазон разрядной сетки, но это не переполнение, а нарушение нормализации влево. Оно происходит только на 1 разряд и исправляется сдвигом мантиссы на 1 разряд вправо и увеличением порядка на 1. Переполнение возникает только в случае, если перед этим Р = Рmax .

Нарушение нормализации вправо возникает при сложении близких по абсолютной величине чисел с разными знаками. При этом часть старших разрядов суммы принимает значения 0 (для положительной суммы) или 1 (для отрицательной суммы в ДК). Исправляется последовательным сдвигом мантиссы суммы на нужное число разрядов влево, сопровождающееся вычитанием 1 из порядка. Если при этом потребуется вычесть 1 из Р = ‒ Рmax , то возникает отрицательное переполнение, называемое «потерей значимости» и результат приравнивается к нулю.

При выполнении операций умножение или деление порядки операндов участвуют в алгебраическом сложении как целые числа (суммируются при умножении или вычитаются при делении), а мантиссы перемножаются или делятся также как целые числа. Считаем, что исходные операнды представлены в нормализованной форме. Тогда при умножении может возникнуть нарушение номализации вправо на 1 разряд, которое исправляется сдвигом мантиссы результата на 1 разряд влево и вычитанием 1 из порядка. Также при умножении может возикнуть переполнение, если Р1 + Р2 > Рmax или потеря значимости, если Р1 + Р2 < ‒ Рmax . При делении может возникнуть переполнение при нулевой мантиссе делителя или, если Р1 - Р2 > Рmax , а также потеря значимости при исправлении нарушения номализации влево или, если Р1 - Р2 < ‒ Рmax .

Источник: https://studfile.net/preview/15919868/

Смотрите также:

А27103 Василинец И. М., Колодязная В.С. Методы исследования
Анализ учета доходов и расходов организации
Вступительные испытания по профилю «Промышленный дизайн». методические указания к выполнению вступительных испытаний для абитуриентов направления 54.03.01. Семыкин В.Н., Кузовкин А.В
Выполнение внутримышечных инъекций
ЛР-8_Ф-22_10_Литвиненко_Харькова_Отчет.docx
Морфология праздника Красной горки
Обследование помещений, зданий, сооружений, участков местности и транспортных средств (Основные понятия проведения ОРМ «Обследование помещений, зданий, сооружений, участков местности и транспортных средств»)
Политика предприятия в области качества
Предприятие по сервису и ремонту автомобилей в структуре Центральной районной больницы Чурапчинского улуса в с. Чурапча
Розробка технологічної послідовності жіночого жакета із коміром 'стійкою' з прорізними кришеннями в складну рамку