Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6854

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

236

Для перетворення форматів представлення цифрових даних застосовують 4 операції: пакування - перехід від розширеного формату до стислого, розпаковування - зворотна операція пакуванню; пересилку цифр - перезапис цифрових частин байтів і пересилку зон - перезапис зонових частин байтів.

6.9. Короткий зміст розділу

В розділі розкриті основні питання виконання операцій обробки даних: логічних (логічне множення, логічне додавання, інверсія і т. д.), зсуву (праворуч, ліворуч), від­ношення (менше, більше, рівне, менше-рівне, більше-рівне), арифметичних (додавання, віднімання, множення та ділення), обчислення елементарних функцій, перетворення даних (перетворення із формату з фіксованою в формат з рухомою комою і навпаки, перетворення з двійково-десяткового коду в двійковий і навпаки), реорганізації масивів і визначення їх параметрів (сортування, пошук максимуму або мінімуму, вибір заданого масиву, зсув елементів масиву, стиск масиву), обробки символів та стрічок символів (по­шук символу, зсув, заміна символів в стрічці, пакування стрічок символів, порівняння стрічок символів).

Розглянуті основні алгоритми виконання вищеназваних операцій.

6.70. Література для подальшого читання

Алгоритми виконання логічних (логічне множення, логічне додавання, інверсія і т. д.), зсуву (праворуч, ліворуч), відношення (менше, більше, рівне, менше-рівне, більше-рів­не) та арифметичних (додавання, віднімання, множення та ділення) наведені в багатьох працях, присвячених питанням побудови комп'ютерів. В першу чергу серед них потрібно відзначити роботи [1-5]. В роботах [6-11] описані алгоритми обчислення елементарних функцій за методом "цифра за цифрою". Питанням побудови табличних та таблично-ал­горитмічних методів обчислення елементарних функцій присвячені роботи [12-25]. Ал­горитми сортування детально описані в роботах [26, 27]. Клас алгоритмів паралельного сортування описаний в роботі [28]. Виконання операцій обробки символів та стрічок символів наведено в [3].

6.11. Література до розділу 6

  1. Прикладная теория цифровых автоматов / К. Г. Самофалов, А. М. Романкевич, В. Н. Валуй-ский, Ю. С. Каневский, М. М. Пиневич. - К.: Вища шк., 1987. - 375 с.

  2. Корнейчук В. И., Тарасенко В. П. Основы комп'ютерной арифметики. - К. Корнейчук, 2002, - 176 с.

  3. Рабинович 3. Л., Раманаускас В. А. Типовьіе операции в вычислительных машинах. - К.: Техника, 1980.-264 с.

  4. Карцев М. А. Арифметика цифрових машин. - М.: Наука, 1969.

  5. Савельев А. Я. Арифметические и логические основы цифровых автоматов. - М.: Наука, 1980. -255 с.

  6. Бойков В. Д., Смолов В. Б. Аппаратурная реализация элементных функций в ЦВМ. - Л. ЛГУ -96 с.

  7. Благовещенский Ю. В., Теслер Г. С. Вычисление элементарных функций на ЭВМ. - К.: Тех­ника, 1977.-208 с.


237

  1. Оранский А. М. Аппаратные методы в цифровой вычислительной технике. - Минск, Из во БГУ, 1977. - 208 с

  2. Voider J. E. The CORDIC trigonometric computing technique. - "IRE Trans.", 1959, 3, pp. 330-334.


  1. Walther I. S. -In: Proc. Spring Joint Comput. Conf Monthvale, 1971, V.38, N.J.: AFIPS Press, 1971.

  2. Meggite I. E. Pseudodivision and Pseudomultiplication process. - IBMJ. Res. Develop., v. 6., 1962, 2

  3. Смолов В. Б., Байков В. Д. Анализ табличних и таблично алгоритмических методов во-спроизведения елементарних функций. - Злектронное моделирование, 1980, № 1, с. 22-27.

  4. Колубай С. К., Мурашко А. Г. Принципи построения процессоров типа "память система поиска" // УСИМ, 1977, № 4, с. 58- 62.

  5. Хемел А. Выполнение математических операций с помощью ПЗУ // Экспрессинформация, серия "Вычислительная техника", 1970, № 32, с. 27-29,

  6. Смолов В. Б., Байков В. Д. Анализ табличних и таблично алгоритмических методов во-спроизведения злементарньїх функций // Злектронное моделирование, 1980, № 1, с. 22-27.

  7. Балашов Е. П., Смолов В. Б. и др. К вопросу применения сокращенных таблиц функций для построения высокопроизводительных однородных процессоров // УСИМ, 1975, № 3, с. 99-102

  8. Ильин В. А., Попов Ю. А., Дружинина И. И. Об использовании сокращенных таблиц при вычислении элементарных функций // УСИМ, 1979, № 1, с. 58-60.

  9. Палагин А. В., Кургаев А. Ф., Кондрачук И. М. К вибору метода вычисления элементарных функций в мини ЗВМ // УСИМ, 1973, № 5, с. 65-69.

  10. Потапов В. И., Нестерук В Ф., Флоренсов А Н. Быстродействующие арифметико логичес-кие устройства ЦВМ. - Новосибирск, 1978.

  11. Потапов В. И., Флоренсов А Н. Таблично аддитивная организация вычисления в ЗВМ функций, принадлежащих к классу дважды непрерывно дифференцируемых // Автоматика и вы­числительная техника, 1977, № 6, с. 78-84.

  12. Потапов В. И., Флоренсов А Н. Таблично алгоритмическая организация вычислений эле­ментарных функций в ЦВМ. - Изв. вузов, сер. Приборостроение, 1978, т. 21, № 9, с. 63-66.

  13. Потапов В. И., Флоренсов А Н. Таблично алгоритмический метод реализации в ЦВМ функции логарифма // УСИМ, 1978, № 4, с. 90-94.

  14. Мухопад Ю. Ф., Федченко А И., Лукашенко В М. Таблично функциональные преобразова-тели с ограниченным числом хранимых констант // УСиМ, 1975, № 4, с. 99-102.

  15. Голубков Ю. А., Лебедев А В. Некоторые пути повышения скорости вычисления элемен­тарных функций на ЦВМ. - М., 1962. - 64 с

  16. Пелед Ф., Лиу Б. (США). Цифровая обработка сигналов: Теория, проектирование, реали-зация: Пер с анг. - Киев: Вища школа. Головное изд во, 1979. - 264 с

  17. Кнут. Сортировка и поиск.

  18. Кун С. Матричные процессорн на СБИС: Пер. с англ. - М.: Мир, 1991. - 672 с

  19. Мельник А. А., Илькив В. С. Реализация алгоритмов сортировки. В кн. "Систолические вычислительные структури". Препринт АН УССР. Ин т ИППММ, № 3, 1987

6.72. Питання до розділу 6

  1. Назвіть основні операції обробки даних

  2. Які основні логічні операції виконуються в комп'ютері? Наведіть таблицю істинності цих операцій

  3. Дайте пояснення операцій логічного зсуву

  4. Дайте пояснення операцій арифметичного зсуву

  5. Дайте пояснення операцій циклічного зсуву

  6. Наведіть правило та приклад додавання двійкових чисел без знаків


238

  1. Наведіть правило та приклад віднімання двійкових чисел без знаків

  2. Наведіть правило та приклад додавання двійкових чисел, представлених в прямому коді

  3. Наведіть правило та приклад додавання двійкових чисел, представлених в оберненому коді


  1. Наведіть правило та приклад додавання двійкових чисел, представлених в доповняльно­му коді

  2. Як фіксується переповнення при додаванні двійкових чисел?

  3. Приведіть граф алгоритму множення цілих двійкових чисел без знаків

  4. Наведіть алгоритми багатомісної операції додавання часткових добутків з використанням операторів паралельного двомісного додавання

  5. Наведіть граф алгоритму послідовного попарного додавання часткових добутків, отрима­них починаючи з аналізу молодших розрядів множника

  6. Наведіть граф алгоритму послідовного попарного додавання часткових добутків, отрима­них починаючи з аналізу старших розрядів множника

  7. Наведіть граф алгоритму паралельного попарного додавання часткових добутків з вико­ристанням структури бінарного дерева

  8. Наведіть алгоритми багатомісної операції додавання часткових добутків з використанням операторів двомісного однорозрядного додавання

  9. Приведіть граф алгоритму множення двійкових чисел із знаками

  10. Поясніть суть та переваги алгоритму множення двійкових чисел за алгоритмом Бута

  11. Приведіть та поясніть алгоритми ділення з відновленням та без відновлення залишку. Яка між ними різниця?

  12. Як привести число з рухомою комою до нормалізованого вигляду?

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

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

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

  16. Поясніть як виконується операція порівняння двійкових кодів на збіжність та визначення їх старшинства

  17. Які є методи обчислення елементарних функцій?

  18. Дайте пояснення методу обчислення елементарних функцій шляхом розкладу в ряд

  19. Дайте пояснення методу обчислення елементарних функцій шляхом використання ітера-ційних обчислень

  20. Поясніть алгоритм обчислення елементарних функцій методом „цифра за цифрою"

  21. Поясніть суть табличного методу обчислення елементарних функцій

  22. Поясніть суть таблично алгоритмічного методу обчислення елементарних функцій

  23. Опишіть алгоритм перетворення з формату з фіксованою комою до формату з рухомою комою

  24. Опишіть алгоритм перетворення з формату з рухомою комою до формату з фіксованою комою

  25. Як перетворити двійково десятковий код в двійковий і навпаки?

  26. Що таке масив?

  27. Назвіть характеристики масиву

  28. Назвіть алгоритми сортування чисел

  29. В чому полягає задача сортування чисел?

  30. Опишіть суть алгоритму сортування методом бульки

  31. Опишіть суть алгоритму сортування методом вставки

  32. Опишіть суть алгоритму сортування методом вибору елементів масиву

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

  34. Приведіть перелік основних операцій над символами

  35. Приведіть перелік основних операцій над рядками символів


Розділ 7

Арифметико логічний пристрий

7.1. Функції арифметико-логічного пристрою

Арифметико-логічний пристрій (АЛП) призначений для виконання арифметичних, логічних та інших операцій обробки даних над операндами, які представляють собою двійкові числа з фіксованою та рухомою комою, двійково-десяткові числа, команди, адре­си, логічні коди, алфавітно-цифрові коди. АЛП є одним з основних вузлів процесора. Ін­терфейс АЛП, тобто його зв'язки з іншими вузлами процесора, показано на рис. 7.1.

Вхідні дані поступають в АЛП з регістрового файлу процесора або з основної пам'я­ті (залежно від типу архітектури комп'ютера), до яких записуються і вихідні дані. Код операції поступає з поля коду операції виконуваної команди, яка зберігається в регістрі команди РгК, а сигнали станів АЛП повідомляють пристрій керування про стан ходу виконання операцій та фіксуються в регістрі слова стану програми регістрової пам'яті процесора.

Арифметико-логічний пристрій процесора - це комбінаційна схема (КС) без вну­трішньої пам'яті, яка здатна виконувати набір елементарних операцій та деяку мно­жину складних операцій, які ініціюються командами обробки даних з системи команд комп'ютера. В потужних комп'ютерах, а останнім часом і в багатьох однокристальних комп'ютерах, використовуються багатоблокові АЛП з внутрішньою регістровою пам'ят­тю на основі табличних, однотактових, багатотактових та конвеєрних операційних при­строїв. Тип виконуваної операції вказується кодом на вході керування АЛП. Типово в АЛП виконуються такі операції: зсув - зміщення кодів, які зберігаються в регістрах, вліво або вправо на задане число розрядів; додавання до слова 1 або -1 - операція ра­хунку; дешифрування - перетворення двійкового коду в однорядний код; шифрування


240

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

Залежно від способу обробки операндів АЛП діляться на послідовні, послідовно-паралельні та паралельні. В першому випадку обробка операндів в АЛП здійснюється послідовно в часі над кожним розрядом, тоді як в останньому операції здійснюються паралельно в часі над всіма розрядами операндів.

За способом представлення чисел розділяють АЛП з фіксованою та з рухомою ко­мою, причому перші можуть бути орієнтовані на обробку цілих або дробових чисел.

Залежно від способу виконання операцій АЛП діляться на однотактові, коли задана операція виконується за один такт, та багатотактові, коли для виконання операції по­трібно виконати деяку кількість тактів.

АЛП можуть бути конвеєрними або скалярними. Використання конвеєрного прин­ципу обробки даних дозволяє суттєво підвищити продуктивність АЛП та комп'ютера в цілому.

За характером використання елементів АЛП діляться на одно- та багатоблокові. В одноблокових (багатофункціональних) АЛП всі операції над всіма типами операндів ви­конуються тими ж вузлами, які комутуються відповідним чином залежно від потрібного режиму роботи. В багатоблокових АЛП окремі групи операцій над кожним типом опе­рандів виконуються окремими блоками. Це дозволяє підвищити продуктивність АЛП за рахунок паралельного виконання операцій.

7.2. Способи обробки даних в арифметико-логічному пристрої

Залежно від способу обробки операндів АЛП діляться на послідовні, послідовно-паралельні та паралельні.

В послідовних АЛП обробка операндів здійснюється послідовно в часі над кожним розрядом, як це показано на рис. 7.2.

Тут на вході АЛП є зсувні регістри ЗРг1 та ЗРг2, з яких дані порозрядно поступають на обробку. Результат з АЛП також порозрядно поступає в вихідний зсувний регістр ЗРгЗ. В кожному такті операнди в зсувних регістрах зміщуються на один розряд вправо. Крім того, можливий зворотний зв'язок з вихідного регістра до входу АЛП. Оскільки об­робка здійснюється порозрядно, то для отримання результату потрібно як мінімум п так­тів, де п - розрядність операндів. Для складних операцій кількість тактів може становити