Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова ПТЦА (МКІ) 2011.doc
Скачиваний:
32
Добавлен:
20.11.2018
Размер:
4.4 Mб
Скачать

1.3. Мікропрограма додавання та віднімання двійкових чисел

Суміщена мікропрограма додавання та віднімання двійкових чисел має вигляд:

Початок. Якщо К[1] або К[2], то М1, інакше - чекати

М1 <приймання першого операнда>

<приймання другого операнда>

Якщо К[1], то

, інакше

<пересилання з інвертуванням другого операнда>

Якщо К[1], то

, інакше

Якщо то перейти до М2, інакше

<присвоєння результату>

<пересилання результату в оперативну пам’ять>

Перейти до М3

М2 <фіксація переповнення>

М3 Кінець.

Продовження додатку

2. Реалізація операції множення

2.1. Алгоритм множення двійкових чисел із зсувом суми часткових добутків вправо

Множення двійкових чисел А і В зводиться до обчислення добутку їх модулів та присвоєння йому знака. Добуток двох n-розрядних операндів містить 2n-1 цифрових розрядів і один знаковий. Якщо перемножуються цілі числа, кома розміщується після молодшого розряду, а якщо дроби — перед старшим розрядом.

1. Множене і множник у прямих кодах послідовно записуються відповідно в ре­гістри А і В. Регістри С і D обнуляються, У лічильник СТ записується кіль­кість циклів.

2. Для розрядів множника 1, 2, ..., n - виконуються такі дії:

  • якщо молодша цифра множника В[1]=1, то до суми часткових добутків до­дається модуль множеного, інакше — не додається;

  • далі для обох випадків зміст регістрів С і В зсувається вправо на один роз­ряд, причому молодший розряд регістра С передається в старший розряд регістра В. Після кожного зсуву в молодший розряд регістра В поступає на­ступний розряд множеного, за яким визначається черговий частковий добу­ток (нуль або множене);

  • після n-1 циклів виконується додатковий зсув вправо для передачі в тригер Т знака множника і визначається знак добутку додаванням за модулем два знаків множеного і множника.\

3. Результат подається конкатенацією чисел С і В; при цьому в регістрі С розміщуються старші розряди добутку, а в регістрі В — молодші розряди.

2.2. Функціональна схема алп для операції множення

Функціональна схема АЛП для множення цілих двійкових чисел із зсу­вом вправо часткових добутків містить (рис. 4):

  • регістри А і В для приймання з вхідної шини ШІ відповідно множеного та множника;

  • паралельний комбінаційний суматор SM;

  • регістр С для приймання часткової суми із SM при одиничному значенні синхросигналу;

  • регістр D для приймання і тимчасового зберігання часткової суми з регістра С при спаданні синхросигналу;

  • лічильник циклів СТ;

  • тригер Т1 для керування ключами SW1, SW2;

  • тригер Т2 для записування знака множника.

Продовження додатку

Рис. 2. Функціональна схема АЛП для множення

2.3. Мікропрограма множення цілих чисел

Початок. Якщо К[3], то М1, інакше – чекати

М1 <приймання множеного та обнулення тригерів Т1, Т2>

<приймання множника та дублювання його знака в тригері Т2>

<обнулення регістрів>

<запис кількості циклів>

М2 Якщо [1], то М3

<додавання>

<пересилання часткової суми>

М3 <однорозрядний зсув вправо>

<декремент лічильника>

Якщо , то М2, інакше

<однорозрядний зсув вліво>

<запис знака результату в регістр RGC>

Кінець.

Продовження додатку