На головну

Множення двійкових чисел

  1. MS Access. Дані якого типу можуть містити текст або комбінацію тексту та чисел? Максимальне значення даного типу до 65535 символів
  2. А) Поняття матриці. б) Види матриці. в) Транспонування матриці. г) Рівність матриць. д) Алгебраїчні операції над матрицями: множення на число, додавання, множення матриць.
  3. Алгебраїчна форма комплексного числа. Додавання, віднімання, множення і ділення комплексних чисел
  4. Алгоритми переведення чисел
  5. Алгоритми переведення чисел
  6. Аналіз наявної чісельності та структура персоналу
  7. Арифметичні операції над числами. Комп'ютерне подання чисел.

Стосовно до двійковій ПСС найбільш відомі наступні основні способи виконання операцій множення:

множення починаючи з молодших розрядів множника:

множення починаючи зі старших розрядів множника:

При «ручному» методі в обох випадках множення зводиться до послідовного порозрядному множенню множимо на цифри множника і накопичення (підсумовування) одержуваних часткових творів. При цьому операціями додавання можуть управляти розряди множника: якщо в i-му розряді множника знаходиться одиниця, то до суми часткових творів додається множене з відповідним зрушенням на i - 1 розряд (вправо або вліво в залежності від прийнятого способу виконання операції множення); якщо в i-му розряді множника нуль, то множене не додається.

При «машинному» методі твір формується у вигляді зростаючого (по модулю) значення часткової суми, що дорівнює після множення на i-й розряд множника сумі перших i часткових творів.

Розглянуті приклади показують, що для отримання твори, крім складання, необхідно виконувати операції зсуву чисел (множимо або часткової суми). Очевидно, що твір двох n - розрядних чисел є число 2n - розрядне. Тому в разі обмеження поля цифр твори n розрядами при множенні цілих чисел в якості результату беруться молодші n розрядів (і старших n розрядах повинні бути нулі, тому що в противному випадку виробляється ознака переповнення), а МРІ множенні правильних дробів як результат беруться старші n розрядів (молодші n розрядів відкидаються - відбувається усічення числа - або використовуються для округлення коду старших n розрядів).

Знак твори формується за відомим правилом: (+) - (+) = (+); (+) - (-) = (-); (-) - (+) = (-); (-) - (-) = (+). У ЕОМ, як було зазначено в § 2.3, знак «-» числа кодується одиницею, а «+» - нулем, але правило формування знака зберігається. Операція, яку реалізує ЕОМ для визначення знака твори, називається сумою по модулю два і позначається:; ; ; .

Існує чотири методи множення. Розглянемо найбільш поширений метод множення цілих чисел, починаючи з молодшого розряду зі зсувом суми часткових творів вправо при нерухомому множимо (рис. 7.4).

Операція множення складається з п або п-1 циклів (п-1 Число цифрових розрядів множника). У кожному циклі аналізується чергова цифра множника, і якщо це 1, то до суми часткових творів додається множене; якщо 0 - додавання множимо не відбувається. Цикл завершується зрушенням суми часткових творів щодо нерухомого множника (якщо не виконується множення на знаковий розряд).

Регістр множника і суматор часткових творів при цьому повинні мати ланцюга зсуву вправо. Регістр множимо може не мати ланцюгів зсуву. Послідовність дій в кожному циклі виконання операції множення визначається молодшим розрядом регістра множника, куди послідовно одна за одною надходять цифри множника. Так як у міру зсуву множника вправо старші розряди регістра множника звільняються, він може бути використаний для зберігання молодших розрядів твори, що надходять з молодшого розряду суматора часткових творів. Для цього молодший розряд регістра суматора з'єднується зі старшим розрядом регістра множника. Після виконання операції множення старші розряди твори будуть знаходитися в регістрі суматора, молодші - в регістрі множника. Тут все три регістра мають однакову довжину, рівну кількості розрядів співмножників.

 Схема АЛУ для множення n-розрядних позитивних двійкових чисел приведена на рис. 7.5. До складу АЛУ входять вхідний регістр множимо Рг1, регістри множника Рг2 и Рг2 ' на яких за допомогою спеціально організованої передачі ланцюга зсуву вправо Рг2/ = П (1) Рг2 і передачі Рг2 = Рг2 ' виконується зрушення множника вправо, акумулятор СМ для освіти суми часткових творів, вхідний РГВ і вихідний РгСМ регістри суматора, на яких відповідно зберігається поточне значення і утворюється нове значення суми часткових творів і остаточне твір.

спочатку в Pг1 надходить множене. регістр РГВ, який зберігає суму часткових творів, встановлюється в нульовий стан, а в лічильник циклів СчЦ заноситься число оброблюваних цифрових розрядів. потім в Рг2 надходить множник. На цьому завершується процедура початкових установок і починається процес обчислення сум часткових творів.

Залежно від значень (0 або 1) молодшого розряду множника до часткового твору додається або 0, або х, для чого регістру РгА суматора присвоюється відповідне значення. Отримана сума множиться на 2-1 шляхом передачі коду з виходу суматора на РгСМ із зсувом на один розряд вправо. Одночасно множник готується до переміщення в Рг2 так, щоб на місці аналізованого молодшого розряду в Рг2 виявився наступний розряд множника. Для цього вміст регістра Рг2 передається в регістр Рг2 ' із зсувом вправо на один розряд.

Розряд 0 регістра Рг2 ' при цьому залишається вільним і в нього заноситься молодший розряд суми, що виходить при зсуві за межі регістра РгСМ (Рг2 '[0]: = СМ [п-1]. У наступному такті завершується зрушення множника шляхом занесення вмісту регістра Рг2 ' в регістр Рг2 і в регістрі РГВ утворюється зрушена сума часткових творів.

Крім того, в цьому такті зменшується на 1 вміст лічильника циклів. Коли лічильник циклів досягає нуля, в регістрах РгСМ и Рг2 будуть зберігатися відповідно старші і молодші розряди твори, що вимагають зсуву на один розряд вправо для правильного розташування в форматі подвійного слова. Після виконання цих зрушень результат операції з РгСМ и Рг2 надходить на ШІВих.

завдання:

Скласти алгоритм виконання операції множення цілих позитивних чисел.

Порядок виконання роботи:

  1. Замалювати схему АЛП.
  2. Розробити алгоритм, спираючись на схему і опис роботи.
  3. Внести зміни в алгоритм множення для однієї з трьох схем множення:

схема 1

схема 2

схема 3

Контрольні питання:

  1. Які види АЛУ ви знаєте?
  2. Перерахуйте основні методи прискорення множення
  3. Як реалізується операція множення в АЛУ?

Практична робота №4

Архітектура ЕОМ і обчислювальних систем

Тема: CMOS - пам'ять комп'ютера

Мета роботи: Познайомиться з основними принципами роботи з CMOS

Засоби: Турбо Сі +

література:Айден К., Колесніченко О.Апаратні засоби PC. 2-е видання. - СПб .: BHV-Санкт-Петербург, 1998.

Короткі теоретичні відомості:

CMOS - пам'ять являє собою незалежну пам'ять, вміст якої зберігається після вимкнення комп'ютера. У CMOS - пам'яті зберігається поточний час і дата, відомості про конфігурацію системи, результат тестування при включенні живлення і інша інформація, наведена в наступній таблиці:

Адреса комірки Вміст

00h - 0Dh +

Використовуються годинами реального часу

0Eh Байт стану діагностики при включенні харчування

0Fh Байт стану відключення

10h Тип використовуваного НГМД

11h Зарезервовано

12h Тип НМД (якщо тип менше 15)

13h Зарезервовано

14h Конфігурація обладнання

15h - 16h Об'єм основної пам'яті

17h - 18h Обсяг розширеної (extended) пам'яті

19h Тип першого НМД (якщо тип> 15)

1Ah Тип другого НМД (якщо тип> 15)

1Bh - 20h Зарезервовано

21h - 2Dh Зарезервовано

2Eh - 2Fh Контрольна сума осередків 10h - 20h

30h - 31h Обсяг розширеної (extended) пам'яті

32h Поточне століття в двійковій-десятковому

коді (19h для 19-го століття)

33h Різна інформація

34h - 3Fh Зарезервовано

Програма для читання вмісту CMOS-пам'яті:

#include

#include

main ()

{

unsigned char cmos [164];

int i;

printf ( "\ n * Читання з CMOS * © Фролов A. тисяча дев'ятсот дев'яносто один \ n \ n");

for (i = 0; i <64; i ++)

{

outp (0x70, i);

cmos [i] = inp (0x71);

}

printf ( "\ nЯчейкі годин реального часу:");

for (i = 0; i <0xd; i ++)

{

printf ( "% 02.2x", (unsigned) cmos [i]);

}

printf ( "\ nБайт діагностики:% 02.2x", cmos [0xe]);

printf ( "\ nБайт відключення:% 02.2x \ n", cmos [0xf]);

printf ( "\ nPassword:");

for (i = 0x34; i <0x40; i ++)

{

printf ( "% 02.2x", (unsigned) cmos [i]);

}

cmos [0x40] = 0;

printf ( ">% s <\ n", & cmos [0x34]);

return 0;

}

завдання: Написати програму читання вмісту CMOS-пам'яті.

Порядок виконання роботи:

1. Ввести і відкомпілювати наведену вище програму.

2. Прокоментувати кожне речення програми

Контрольні питання:

1. Призначення CMOS-пам'яті

2. Як здійснюється харчування CMOS-пам'яті в сучасних ПК?

3. За якою адресою знаходиться поточне сторіччя в двійковій-десятковому коді?

Практична робота №5

Архітектура ЕОМ і обчислювальних систем

Тема: Базова система введення / виведення BIOS

Мета роботи: Познайомиться з основними принципами роботи з BIOS

Засоби: Турбо Сі +

література: Айден К., Колесніченко О.Апаратні засоби PC. 2-е видання. - СПб .: BHV-Санкт-Петербург, 1998.

Короткі теоретичні відомості:



Арифметичні операції над двійковими числами з плаваючою точкою | Склад обладнання

Особливості складання чисел в зворотному і додатковому кодах. | Числа з фіксованою точкою. | Числа з плаваючою точкою. | Арифметичні операції над числами з фіксованою точкою | Визначення обсягу оперативної пам'яті | Команди додавання і віднімання | команди множення | команди ділення | Зміна розміру числа | Розширення байта до слова (convert byte to word): CBW |

© um.co.ua - учбові матеріали та реферати