Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1410-Архитектура

.pdf
Скачиваний:
20
Добавлен:
21.02.2016
Размер:
399.05 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Дніпропетровський національний університет залізничноготранспортуіменіакадемікаВ. Лазаряна

Кафедра «Електронні обчислювальні машини»

АРХІТЕКТУРА КОМП’ЮТЕРІВ

Розділ: «Арифметико-логічні пристрої»

Методичні вказівки до виконання лабораторних робіт

Укладачі: О. О. Самков О. Б. Мудрик О. Й. Єгоров

Для студентів III курсу денної форми навчання та ЦДО спеціальності 7.05010201 «Комп’ютерні системи та мережі»

Дніпропетровськ – 2013

УДК 004.2 (076) ББК 32.97 С 17

Укладачі:

Самков Олександр Миколайович Мудрик Олександр Богданович Єгоров Олег Йосипович

Рецензенти:

д-р техн. наук, проф. В. В. Ткачов (ДВНЗ «Національний гірничий університет») д-р техн. наук, проф. І. В. Жуковицький (ДІІТ)

Архітектура комп’ютерів. Розділ: Арифметико-логічні пристрої [Текст] : методичні вказівки до виконання лабораторних робіт / уклад. : О. М. Самков, О. Б. Мудрик, О. Й. Єгоров; Дніпропетр. нац. ун-т залізн. трансп. ім. акад. В. Лазаряна. – Д. : Вид-во Дніпропетр. нац. ун-ту залізн. трансп. ім. акад.

В. Лазаряна, 2013. – 29 с.

Методичні вказівки призначено студентам 4-го курса спеціальності «Комп’ютерні системи та мережі» для підготовки до виконання лабораторних робіт з дисципліни «Архітектура електронно-обчислювальних машин» (Розділ: Арифметичні операції). Друкується за рішенням методичної комісії факультету «Технічна кібернетика».

Іл. 3. Табл. 9. Бібліогр.: 7 назв.

©Самков О. М. та ін., укладання, 2013

©Вид-во Дніпропетр. нац. ун-ту залізн. трансп. ім. акад. В. Лазаряна, редагування, оригінал-макет, 2013

ЛАБОРАТОРНА РОБОТА № 1

Ознайомлення з мовою опису логічних схем ЯОЛС. Виконання операцій мовою ЯОЛС

Мета: 1. Знайомство зі структурою мови ЯОЛС.

2.Вивчення особливості представлення змінних та виконання арифметичних та логічних операцій над числами.

3.Отримання навичок використання оберненого та додаткового

кодів.

1.Теоретичні відомості

Обернений та додатковий коди. Для представлення чисел із різними знаками використовують обернений (ОК) або додатковий коди (ДК). Старший розряд числа використовується як знаковий. Цифра «0» у знаковому розряді свідчить про додатний знак числа («+»), а цифра «1» – про від’ємний

(«–»).

Якщо необхідно представити від’ємне число під час використання оберненого коду, то в знаковий розряд записується «1», а всі значущі розряди інвертуються. Якщо число необхідно представити в додатковому коді, то крім інверсії значущих розрядів треба додати до значущих розрядів «1». На рис. 1 представлено число «–5» у прямому, оберненому та додатковому кодах.

Рис. 1. Представлення числа «–5» в прямому, оберненому та додатковому кодах

В ОК, якщо після здійснення операції додавання чисел відбувається переповнення розрядної сітки (є перенос із старшого розряду), слід виконати додавання до результату одиниці. Приклад виконання операції додавання з використанням оберненого коду зображено на рис. 2.

Рис. 2. Процес виконання операції додавання з використанням оберненого коду

3

Модифікований обернений (МОК) та модифікований додатковий

(МДК) коди використовують для визначення факту переповнення. Для цього використовується ще один додатковий розряд. Якщо число від’ємне, то додатковий та знаковий розряди дорівнюють «1» («11»), якщо число додатне — «0» («00»). При цьому, якщо після виконання операції додавання додатковий та знаковий розряди не дорівнюють один одному («10» або «01»), то виникло переповнення. Перетворення кодів та всі інші дії виконуються аналогічно звичайним ОК та ДК. Наприклад, виконаємо додавання чисел «5» та «13» з використанням МДК та 4-розрядної сітки. Хід операції додавання наведено на рис. 3.

Рис. 3. Приклад операції додавання із виникненням переповнення

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

2.1.Завантажити ЯОЛС.

2.2.Описати структуру згідно з варіантом завдання (таблиця 1).

Таблиця 1

Варіанти завдання

 

 

 

 

Регістри

 

 

Комірки пам’яті

 

 

 

 

 

 

 

1 група

2 група

3 група

 

 

вар.

 

 

 

 

 

 

 

 

 

 

 

 

К-сть

Розр.

К-сть

 

Розр.

К-сть

Розр.

К-сть

Розр.

 

 

 

 

 

 

 

 

 

 

1

3

12

2

 

8

6

15

10

8

2

4

16

3

 

9

5

14

11

9

3

5

8

4

 

10

4

13

12

10

4

6

7

5

 

11

3

12

13

11

5

2

12

6

 

12

2

11

14

12

6

3

14

2

 

13

7

10

15

13

7

4

15

3

 

14

6

9

16

14

8

5

13

4

 

7

5

8

17

15

9

2

8

5

 

8

4

7

18

16

 

 

 

 

 

 

 

 

 

 

4

Закінчення табл. 1

 

 

 

 

Регістри

 

 

Комірки пам’яті

 

 

 

 

 

 

 

1 група

2 група

3 група

 

 

вар.

 

 

 

 

 

 

 

 

 

 

 

 

К-сть

Розр.

К-сть

 

Розр.

К-сть

Розр.

К-сть

Розр.

 

 

 

 

 

 

 

 

 

 

10

3

9

6

 

9

3

12

19

17

11

4

10

7

 

10

2

11

20

18

12

5

11

2

 

11

7

10

21

19

13

6

12

3

 

12

6

9

22

20

14

2

13

4

 

13

5

8

23

21

15

3

14

5

 

14

4

7

24

20

16

4

15

6

 

15

3

15

25

19

17

5

12

7

 

8

2

14

26

18

18

6

13

3

 

9

7

13

27

17

19

2

14

4

 

10

6

12

28

16

20

3

15

5

 

11

5

11

29

15

21

4

16

7

 

12

4

10

30

14

22

5

10

3

 

13

3

9

31

13

23

6

11

4

 

14

2

8

32

12

24

3

12

5

 

15

5

7

33

11

25

4

13

6

 

10

4

6

34

10

 

 

 

 

 

 

 

 

 

 

2.3. Скласти мікропрограму, в якій передбачити:

введення інформації в декілька регістрів та комірок пам’яті;

передачу інформації з регістра в комірку пам’яті;

передачу інформації з комірки пам’яті в регістр;

виконання логічних операцій «І» та «АБО», додавання за модулем «2» над вмістом двох регістрів, вмістом регістра та комірок пам’яті;

логічний та циклічний зсув вліво та вправо вмісту регістрів на 1 та 4 розряди;

логічний зсув вліво та вправо, під час якого кількість зсувів вказано в регістрі;

логічний зсув вліво та вправо на 1 та 4 розряди вмісту частини розрядів регістра (виконувати зсув наближено половини розрядів регістрів);

виконати передачу інформації з одного регістра в інший з перекосом на 2 розряди вліво та на 3 розряди вправо;

5

виконання операції додавання чисел із різними знаками, з імітацією застосування оберненого та додаткового модифікованих кодів.

2.4. Виконати моделювання на ЕОМ.

УВАГА!!! Операнди слід обирати таким чином, щоб отримати один додатний та один від’ємний результат у кожному коді.

Результат кожної дії, в тому числі й вихідні числа, слід вивести на друк. Вихідні дані до виконання кожної операції слід підбирати таким чином,

щоб було видно характерні особливості виконання даної операції.

3. Зміст звіту

Звіт повинен містити роздруковану мікропрограму та результати моделювання, структурну схему пристрою додавання чисел із різними знаками.

4.Контрольні запитання та завдання

1.Чи існує можливість у мові ЯОЛС виконувати дії над частиною вмісту регістру?

2.Як відбувається вирівнювання інформації під час її передачі з регістра

зменшою розрядністю в регістр із більшою розрядністю: по молодшим чи старшим розрядам?

3.Як передати інформацію з регістра в регістр, не виконуючи мікрооперацію зсуву (передача з перекосом)?

4.Як поміняти місцями вміст двох регістрів, не використовуючи проміж-

ного?

5.Як утворюються обернений та додатковий коди?

6.Чим відрізняється додавання в ОК від додавання в ДК?

7.Для чого використовуються обернений та додатковий коди?

8.Що таке переповнення розрядної сітки? Як визначається переповнен-

ня?

9.Чому нульове значення розряду переповнення від’ємного числа свідчить про переповнення?

10.Як визначається переповнення за умови відсутності в суматорі розряду переповнення?

11.В яких випадках перевага надається оберненому коду, а в яких – додатковому?

ЛАБОРАТОРНА РОБОТА № 2

Вивчення алгоритмів виконання операції алгебраїчного додавання над десятковими числами

Мета: 1. Знайомство із способами представлення двійково-десяткових чисел.

2. Вивчення та дослідження на ЕОМ алгоритмів виконання операцій над числами, що представлені в десятковій системі числення.

6

1. Теоретичні відомості

Двійково-десяткові числа представлені 4-ма бітами (тетрада) для кожної десяткової цифри і можуть використовувати різні коди.

Безнадлишковий код 8-4-2-1. Додавання виконується за звичайними правилами двійкової арифметики. Окремо запам’ятовуються наявність переносів між тетрадами. Після додавання (за необхідності) виконується корекція, до тих тетрад, з яких був перенос, або значення яких більше 9 та менше 16, додається 6. Під час виконання корекції можливі переноси не блокуються.

До недоліків даного коду можна віднести такі: не співпадання оберненого коду з інверсією розрядів, двійкового переносу – з десятковим, складність визначення знаку результату.

Код з надлишком 3. Надлишок вносимо в кожну тетраду кожного з доданків. Корекція після додавання виконується наступним чином: якщо з тетради не було переносу, то з неї віднімається «3», якщо ж із тетради був перенос – до тетради додається «3». Під час виконання корекції переноси між тетрадами блокуються.

Під час використання даного коду обернений код співпадає з інверсним, а двійковий перенос співпадає з десятковим.

Код з надлишком 6. Надлишок «6» вноситься в один будь-який додатний операнд, якщо обидва операнди додатні. Якщо один з операндів – від’ємний, то надлишок «6» з’являється в ньому автоматично під час отримання оберненого або додаткового коду. Корекція виконується шляхом віднімання «6» від тетрад, з яких не було переносу. Під час виконання корекції переноси між тетрадами блокуються.

Визначення знаку результату та переповнення. Якщо додаються числа з різними знаками, то знак результату визначається за наявністю переносу зі старшої тетради. Якщо зі старшої тетради був перенос, то число додатне, якщо не було – від’ємне.

Переповнення під час додавання чисел з однаковими знаками визначається за фактом наявності переносу зі старшої тетради.

2.Порядок виконання

2.1.Описати структуру двійково-десяткового арифметико-логічного пристрою у відповідності до завдання (табл. 2).

2.2.Скласти мікропрограму виконання операції алгебраїчного додавання. Операції виконуються послідовно по тетрадам.

2.3.Промоделювати виконання операції додавання чисел з однаковими знаками (додатних та від’ємних) та чисел із різними знаками (мають бути передбачені приклади з додатними та від’ємними результатами).

У випадку виконання корекції результат повинен виводитись на друк до і після корекції.

7

 

 

Таблиця 2

 

Варіанти завдання

 

 

 

 

№ варіанту

Код, що застосовується

Розрядність

(десяткових розрядів)

 

 

1

З надлишком 6 в одному доданку

3

2

Безнадлишковий

4

3

З надлишком 3

5

4

З надлишком 6 в одному доданку

6

5

Безнадлишковий

3

6

З надлишком 3

4

7

З надлишком 6 в одному доданку

5

8

Безнадлишковий

6

9

З надлишком 3

3

10

З надлишком 6 в одному доданку

4

11

Безнадлишковий

5

12

З надлишком 3

6

13

З надлишком 6 в одному доданку

3

14

Безнадлишковий

4

15

З надлишком 3

5

16

З надлишком 6 в одному доданку

6

17

Безнадлишковий

3

18

З надлишком 3

4

19

З надлишком 6 в одному доданку

5

20

Безнадлишковий

6

21

З надлишком 3

3

22

З надлишком 6 в одному доданку

4

23

Безнадлишковий

5

24

З надлишком 3

6

25

З надлишком 6 в одному доданку

3

 

 

 

8

3. Зміст звіту

Звіт повинен містити завдання, структурну схему двійково-десяткового АЛП із зазначенням усіх керуючих сигналів, мікропрограму в змістовних позначеннях, роздруковану мікропрограму мовою ЯОЛС та результати моделювання.

4.Контрольні запитання та завдання

1.В яких випадках доцільно використовувати десяткову систему числен-

ня?

2.У чому переваги та недоліки кодів 8-4-2-1, 8-4-2-1 із надлишком 3?

3.Як виконується додавання в кодах 8-4-2-1, 8-4-2-1 із надлишком 6?

4.В яких кодах міжтетрадний перенос блокується під час корекції, а в яких ні? Чому?

5.Що є ознакою корекції в кодах 8-4-2-1, 8-4-2-1 із надлишком?

6.Чому в прямому вигляді код 8-4-2-1 практично не використовується?

7.Як підрахувати кількість десяткових кодів, які можна побудувати на основі 4-х двійкових розрядів? На основі п’яти розрядів?

8.Якому з відомих кодів ви можете надати перевагу? Чому?

9.Як відбувається переведення чисел із десяткової системи в двійкову, як

удвійково-десяткову?

10.Порівняйте час додавання двійкових та десяткових чисел за умови однакової розрядності (двійкових розрядів).

11.Чому операція десяткового додавання на ЕОМ потребує корекції?

12.Як утворюється додатковий та обернений код від’ємних десяткових

чисел?

ЛАБОРАТОРНА РОБОТА № 3

Дослідження пристрою множення з фіксованою комою

Мета: 1. Знайомство з існуючими способами множення з фіксованою комою.

2.Моделювання роботи способів множення на ЕОМ.

1.Теоретичні відомості

Частковий добуток – це добуток множеного на один або декілька розрядів множника. Під час аналізу одного розряду множника значення часткового добутку може дорівнювати нулю (коли розряд множника дорівнює «0»), або значенню множеного (коли розряд множника – «1»).

Для множення двійкових чисел можна застосовувати декілька способів.

Початок множення з молодших розрядів множника та зсув множено-

го. Перед початком зсуву множене розташовується в регістрі з подвійною розрядністю, починаючи з молодших розрядів. У кожному кроці множення

9

аналізується молодший розряд множника. Якщо він дорівнює «1», то до вмісту суми часткових добутків додається значення множеного. Далі множене зсувається вліво на один розряд, а множник – вправо на 1 розряд.

Початок множення з молодших розрядів множника та зсув суми час-

ткових добутків. У кожному кроці множення аналізується молодший розряд множника. Якщо він дорівнює «1», то до вмісту суми часткових добутків додається значення множеного. Причому множене додається до старшої частини суми часткових добутків. Далі сума часткових добутків та множник зсуваються вправо на один розряд.

Початок множення зі старших розрядів множника та зсув множеного.

Перед початком множене знаходиться в регістрі з подвійною розрядністю, починаючи зі старших розрядів. Розпочинається кожен такт зі зсуву множеного на 1 розряд вправо. Аналізується старший розряд множника. Якщо він дорівнює 1, то до вмісту суми часткових добутків додається значення множеного. Далі виконується зсув множника на 1 розряд вліво.

Початок множення зі старших розрядів множника та зсув суми част-

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

Кількість тактів для кожного способу відповідає розрядності операндів. Час виконання операції множення (tмнож ) можна оцінити за формулою

 

 

 

 

tмнож = n(tдод +tзсув) ,

 

(1)

де n

кількість розрядів,

 

 

 

 

 

tдод

час додавання,

 

 

 

 

 

 

tзсув

час виконання зсувів.

 

 

 

 

 

 

 

 

 

2. Порядок виконання

 

 

 

 

 

 

 

 

 

 

 

Таблиця 3

 

 

 

 

Варіанти завдання

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Розрядність

Спосіб

 

 

Розрядність

Спосіб

варіанту

 

 

співмножників

множення

 

варіанту

 

співмножників

множення

1

 

 

5

1

 

14

 

8

2

2

 

 

6

2

 

15

 

9

3

3

 

 

7

3

 

16

 

5

4

4

 

 

8

4

 

17

 

6

1

 

 

 

 

 

 

 

 

 

 

10

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