Теоретичні основи, алгоритми та структури багатооперандної обробки

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

Рубрика Программирование, компьютеры и кибернетика
Вид автореферат
Язык украинский
Дата добавления 23.11.2013
Размер файла 56,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Національна академія наук України

Інститут кібернетики імені В.М.Глушкова

05.13.13 -- обчислювальні машини, системи та мережі

УДК 681.3

Теоретичні основи, алгоритми та структури багатооперандної обробки

Автореферат дисертації на здобуття наукового ступеня

доктора технічних наук

Гамаюн Володимир Петрович

Київ 1999

Дисертацією є рукопис.

Робота виконана в Інституті кібернетики імені В.М.Глушкова НАН України.

Захист відбудеться " 27 " 05 199 9 р. о 14 годині на засіданні спеціалізованої вченої ради Д 26.194.03 при Інституті кібернетики імені В.М.Глушкова НАН України за адресою: 252022 Київ 22, проспект Академіка Глушкова ,40

З дисертацією можна ознайомитись у науково-технічному архіві Інституту.

Автореферат розісланий " 22 " 04 199 9 р.

Учений секретар спеціалізованої вченої ради РОМАНОВ В.О.

обчислювальний продуктивність алгоритмічний

1. ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ

Обчислювальна техніка на сучасному етапі розвитку має деякі характеристики п'ятого покоління, серед яких слід назвати наявність інтелектуального інтерфейсу з користувачем та забезпечення широкого доступу до ресурсів, високі рівні продуктивності яких досягаються за рахунок кращих архітектурних рішень. Це в основному системи з масовим паралелізмом, сильнозв'язані паралельні системи, системи з розширювальним паралелізмом, а також варіанти комбінацій вищезгаданих систем. Рівень продуктивності кращих зразків обчислювальних систем та суперкомп'ютерів складає 1-10 TFLOPS при обсязі пам'яті в сотні GB. Однак слід зазначити, що такі рівні продуктивності досягаються на дуже вузькому класі задач із-за залежності від структури алгоритмів та структури даних, і реальна продуктивність кращих зразків систем та ЕОМ, наприклад векторно-конвейєрних, становить 3-5% від пікових показників. Для систем з масовим паралелізмом, які мають у своєму складі сотні та тисячі процесорів, цей показник знижується до частини відсотка. Існуючий теоретичний апарат, розробки структур та алгоритмів не дозволяють розв'язати проблему збільшення реальної продуктивності засобів обчислювальної техніки при розв'язанні широкого кола задач.

Актуальність теми. Підвищення ефективності, реальної продуктивності обчислювальних систем, ЕОМ є необхідною підставою при вирішенні важливих проблем автоматизації різних сфер державної та науково-технічної діяльності для широкої інформатизації суспільства.

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

Зв'язок роботи з науковими програмами, планами, темами. Дисертаційна робота пов'язана з планами науково-дослідних робіт Інституту кібернетики імені В.М.Глушкова НАН України, Національної агенції з питань інформатизації при Президентові України, Міннауки України, а також з планами навчальної роботи Київського міжнародного університету цивільної авіації (Міносвіти України).

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

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

У відповідності з зазначеною метою та враховуючи сучасні вимоги до високопродуктивних засобів обчислювальної техніки в роботі розв'язані такі основні задачі:

аналіз концептуальних напрямків обробки даних у ЕОМ, використання яких дозволяє досягнути нових, більших рівнів реальної продуктивності з метою визначення тенденцій їх розвитку;

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

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

розробити обчислювальні структури, що підтверджують практичну реалізацію теоретичного апарату;

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

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

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

Наукова новизна одержаних результатів. У дисертації здійснені нові науково обгрунтовані розробки в галузі теорії засобів обробки та обчислювальних структур на основі запропонованого концептуального напрямку -- багатооперандної обробки даних у ЕОМ. Запропонований теоретичний апарат забезпечує створення нових підходів до організації обчислювального процесу, структурно-алгоритмічного та арифметико-логічного базису, впровадження яких дозволяє досягнути нових рівнів реальної продуктивності інформаційно-обчислювальних засобів. Разом з тим у роботі є елементи нового наукового напрямку в розробці теоретичних основ оригінального кодування даних, що забезпечують нові способи обробки з підвищеною точністю.

До захисту виносяться такі основні наукові результати:

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

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

3. Доведено, що тільки при багатооперандній обробці висота форми алгоритму є мінімальною.

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

5. Внаслідок досліджень комутаційного середовища багатооперандних структур установлено, що організація обміну даними має ознаку односпрямованості та відрізняється від відомих рішень більшою швидкодією та простотою конструкції.

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

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

8. Отримані нові параметри та показники виконання окремої операції, які перевищують існуючі на один-два порядки і визначаються не тільки схемотехнічним рівнем, а й кількістю оброблюваних операндів.

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

10. Запропоновані та досліджені основи організації ЕОМ та систем на багатооперандних структурах, засоби їх програмування, а також технічної реалізації, що доводять про реалізацію багатооперандних структур високої реальної продуктивності на вітчизняній технологічній базі.

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

Результати, отримані в роботі, підтверджені експериментально при виконанні планової тематики НДР і ДКР в Інституті кібернетики імені В.М.Глушкова НАН України, які виконувались під керівництвом і за безпосередньою участю автора: тема 6.3.1/005-92 "Дослідження і розробка високопродуктивної ЕОМ на основі багатооперандних обчислювальних структур" Державної науково-технічної програми 6.3.1 "Високопродуктивні ЕОМ та проблемно-орієнтовані комплекси широкого призначення" Держкомітету України з питань науки та технологій в 1992-1994 рр. (наказ ДКНТ № 62 від 1.04.92); тема 05.03.01/027-95 "Розробка алгоритмів та функціональних схем ЕОМ з масовим паралелізмом для виконання матричних і багатооперандних операцій" Державної науково-технічної програми "Перспективні засоби обчислювальної техніки та елементи інфраструктури інформатизації" Національної агенції з питань інформатизації при Президентові України в 1995-1996 рр. (наказ НАІ № 43 від 31.03.95), тема № 06.05/01716 "Виконати теоретичні та експериментальні дослідження перспективних технологій машинної обробки інформації для створення вітчизняної конкурентоздатної ЕОМ нового покоління" Міністерства України у справах науки та технологій (договір № 2/977-97 від 20.08.97 р.).

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

Особистий внесок здобувача. Всі наукові результати дисертаційної роботи автор отримав самостійно. У роботі [3] йому належить пропозиція про оперативне обчислення компонент результату.

Апробація роботи. Результати досліджень, що складають основний зміст роботи, доповідалися та обговорювалися на наступних міжнародних, республіканських конференціях та семінарах: 4-й і 6-й Всесоюзних школах-семінарах "Распараллеливание обработки информации" (Львів, 1983,1987); 3-й республіканській науково-технічній конференції "Автоматизация научных исследований" (Київ, 1986); Всесоюзній науково-технічній конференції "Теория и техника пространственно-временных сигналов" (Свердловськ, 1989); республіканській науково-технічній конференції "Применение вычислительной техники и математических методов в научных исследованиях" (Севастополь, 1990); 6-му та 7-му Всесоюзних симпозіумах "Проблемы создания преобразователей формы информации" (Київ, 1988 ,1992); Другій всесоюзній нараді "Конвейерные вычислительные системы" (Київ, 1988); Всесоюзному науково-технічному семінарі "Многопроцессорные вычислительные системы" (Таганрог, 1991); Міжнародній конференції "Питання оптимізації обчислень" (Київ, 1993, 1997); семінарах Наукової ради НАН України з проблеми "Кібернетика" (Київ, 1984-1998).

Публікації. Основні результати дисертаційної роботи викладені в 50 друкованих роботах, із них більше 30 важливих включають статті в збірниках наукових праць Національної академії наук України з проблеми "Кібернетика" та в ведучих вітчизняних спеціалізованих журналах "Кибернетика и системный анализ", "Электронное моделирование", "Проблемы информатики и управления", "Управляющие системы и машины". Більшість робіт надруковані без співавторів.

Структура та обсяг дисертації. Дисертація складається з вступу, п'яти розділів, висновків, списку використаних джерел, який містить 84 найменування, 4 додатків. Дисертація налічує 307 сторінок основного тексту, 75 рисунків, 25 таблиць та 20 сторінок додатків.

2. ОСНОВНИЙ ЗМІСТ РОБОТИ

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

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

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

У другому розділі виконаний аналіз тенденцій змінення даних, що обробляються в операційних елементах (ОЕ) засобів обчислювальної техніки (ОТ). Кожний ОЕ можна характеризувати пропускною здібністю за кількістю та типом команд, що виконуються за одиницю часу, та пропускною здібністю за даними, котра може бути визначена як така характеристика: структурна одиниця обробки (СОО) -- структура та кількість операндів, що перетворюються ОЕ в одному операційному циклі.

На етапах розвитку засобів обчислювальної техніки СОО змінювалась таким чином. Якщо на початковому та наступних етапах у операційному середовищі обчислювальних засобів одиницями обробки були

БІТ БАЙТ СЛОВО ДВА ОПЕРАНДИ КОМПЛЕКСНЕ ЧИСЛО, КВАТЕРНІОН, ВЕКТОР, ДАНІ ЦИКЛІВ, МАТРИЦЯ, МАСИВ, то наступними структурними одиницями обробки можуть бути ДАНІ ГІЛОК ДАНІ УЧАСТКІВ ПРОГРАМ ДАНІ ВСІЄЇ ПРОГРАМИ.

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

Аналізуючи ефективність засобів ОТ, слід зазначити, що продуктивність бінарних (двомісних) ОЕ є функцією часу проходження сигналу крізь деяку кількість рівнів обробки, рівнів комбінаційних схем, а не функцією кількості оброблюваних операндів. Іншими словами, традиційне визначення продуктивності не пов'язано з пропускною здібністю за даними операційного елемента, структурною одиницею обробки, а затвердився постулат про те, що операції реалізуються тільки над унарною або бінарною структурою операндів. Однак такий підхід можливо змінити, якщо обробку реалізувати не на двомісному ОЕ, а на операційному елементі з змінною (в бік збільшення) структурною одиницею обробки. Змінення пропускної здібності ОЕ в бік збільшення визначає продуктивність не тільки як характеристику часового проходження крізь рівні обробки, але й залежною від кількості оброблюваних операндів.

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

Застосування макрооператорного підходу як резерву підвищення продуктивності -- апаратурна реалізація так званих базових операторів (наприклад, оператора суми пар добутків) є основним підходом при вирішенні ряду важливих прикладних проблем. Макрооператорний підхід, за якого частина алгоритму обробляється в однотактному режимі, має широке впровадження в спеціалізованих, функціонально-орієнтованих засобах, а також як необхідна частина високопродуктивних процесорів та систем.

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

Таким чином, можна виділити тенденції, що визначають наступний етап у розвитку обчислювальних структур та способів обробки:

інтегральні потоки обчислень;

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

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

забезпечення обробки ряду команд, які складають деяке інтегральне обчислення, макрооператор; застосування спеціального арифметико-алгоритмічного базису;

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

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

Запропонована гіпотеза про використання в обчислювальній техніці багатооперандних операційних елементів як більш адекватних засобів перетворення потоку даних, який може бути не тільки двомісним, а й багатооперандним. Гіпотеза про використання недвомісного операційного елемента складає основу багатооперандної обробки даних в засобах ОТ.

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

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

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

Означення 1. Багатооперандним операційним елементом (БООЕ) називається вузол обробки цифрової інформації з пропускною здібністю за даними, більше ніж два операнди, та організацією, яка забезпечує реалізацію отримання частини або всього результату за операційний цикл (квант обробки) під програмним або апаратно-вбудованим керуванням.

Означення 2. Багатооперандною структурою (БОСТ) називається багаторівнева конструкція, що складається з великої кількості багатооперандних операційних елементів, які є у взаємодії та реалізують обчислювальний процес.

Означення 3. Багатооперандний потік даних -- це структура даних, що об'єднує компоненти різних операндів або сукупність операндів, кількість яких більше двох, що частково або повністю обробляється в одному операційному циклі на одному операційному елементі.

Багатооперандний потік може бути вектором, його частиною, масивом, частиною масиву, частиною матриці, матрицею, розрядним зрізом, групою розрядів і т.д.

Структура даних, що об'єднані за ознакою обробки в одному операційному елементі, перетворюється під керуванням деякої команди/інструкції.

Означення 4. Багатооперандна команда, багатооперандна керуюча інструкція -- сукупність інформаційних компонент, що визначають взаємодію частин багатооперандного операційного елемента по перетворенню багатооперандного потоку даних у результат.

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

При розв'язанні задач лінійної алгебри, асоціативно-логічних задач на багатооперандній структурі та структурі з двомісними ОЕ отримані значення співвідношення кількості проміжних даних до загального обсягу, котрі показують, що виграш на запропонованій структурі складає показник від одиниць до кількох порядків (наприклад, 3-30).

При багатооперандній обробці БООЕ реалізують деяку інтегральну керуючу компоненту при перетворенні багатооперандного потоку даних. Багатооперандні операції кодуються у вигляді багатооперандних команд, якщо над багатооперандним потоком даних реалізуються дії одного типу, та макрооператорів, якщо виконуються дії різнотипові. Макрооператор замінює декілька одно-двомісних команд, отже виконується перетворення початкової програми в набір макрооператорів, кількість яких менше порівняно з початковим числом команд у програмі. Процес заміни ряду команд визначається як структуризація програми. Зменшення кількості операцій виконується за рахунок структурних методів, що відрізняється від традиційних підходів. Отримані результати досліджень є доказом такого підходу, що дозволяє визначити наступне твердження.

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

При багатооперандній обробці перетворюється багатооперандний потік даних, який може бути поданий різними структурними одиницями (у дужках зазначені коди таких СОО):

група операндів (GR);

група, блок розрядів (BR), окремий розряд (OR);

розрядні зрізи (RS);

ортогональні розрядні зрізи (ORS);

нелінійні розрядні зрізи (NRS);

комбінації всіх вищезгаданих СОО.

Включення у склад багатооперандних СОО варіантів BR, OR відповідає існуючим режимам обробки в реальних структурах, наприклад такого як конвейєрний. Значення одного розряду або групи розрядів може ініціювати роботу багатооперандного операційного елемента. Структурні одиниці обробки типу GR, BR, більш характерні для арифметичної обробки даних, а СОО типу OR, RS, NRS -- для логічних та логіко-асоціативних задач.

Перетворення даних при багатооперандному обчислювальному процесі реалізується через багатооперандні команди та макрооператори. Останні можуть об'єднувати команди, кількість і тип яких теж можуть бути різними. Так як число комбінацій команд може бути великим, а частота застосування ні, то не доцільно представляти керуючі компоненти у вигляді бібліотеки, і тому слід перейти до нефіксованої системи команд (НФСК). Така НФСК формується в реальну систему команд у відповідності з конкретною задачею, конкретною алгоритмічною структурою. Іншими словами, опис у вигляді багатооперандної команди як керуючої інформаційної конструкції не існує до появи конкретної задачі, а визначені тільки можливості по об'єднанню кількості операндів вхідного потоку та правила складання комбінацій визначеного набору команд, що реалізується на багатооперандній структурі.

Багатооперандна команда може бути сформована за відповідних умов -- умов багатооперандної обробки, які полягають у наступному:

наявність інтегрального типу обчислень;

при адекватності структури операційних засобів кількості операндів, що обробляються;

при сполученні типу операцій, що об'єднуються;

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

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

Твердження 2. Алгоритм або його частина можуть бути представлені та реалізовані у вигляді деякого макрооператора при виконанні наступних умов: між операторними вершинами є залежність за даними; операції в ланцюгу обчислень є однотипово-сполученими; об'єднання в макрооператор не залежить від використання даних у інших гілках алгоритму.

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

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

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

виключаються відношення попереджування між командами, бо команди реалізуються одночасно у вигляді макрооператора або багатооперандної команди;

конфліктна ситуація при використанні ресурсів структури для читання не має місця, бо для цих команд множиною об'єктів є або початкові дані, або дані, які отримані до початку роботи макрооператора;

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

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

Для дослідження макрооперування розроблено апарат моделювання, в якому основна процедура складається з наступних етапів:

установлення зв'язків між операторними вершинами (низок між командами);

визначення низок з однотиповими командами (наприклад адитивно-мультиплікативними), складання макрооператорів;

перетворення алгоритму в макрооператорну, псевдопослідовну форму; визначення даних для кожного макрооператора.

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

Для реалізації вищезазначених етапів перетворення алгоритму застосовувалась така система опису-кодування моделі: а -- початкове дане; ( -- відкриваюча дужка; ) -- закриваюча дужка; t -- операція; F -- результат операції. Згідно з правилами визначення моделі та вибраного кодування складено набір варіантів, які можуть бути при аналізі алгоритму: 1) (ai ak tf ); 2) (Fi ak tf ); 3) (Fi Fk tf ); 4) )ai tk ); 5) )t i ); 6) )Fi tk ).

Розглянемо виконання варіанта 2) (Fi ak tf ). Нехай операнд Fi є результатом операції ti, котра є однотиповою з tf операцією та перетворює дані ai ,az . За правилами макрооперування операції ti , tf заміняються макрооператором Mif (ai ,az ,ak ), який перетворює дані ai , az , ak у результат. На подібних перетворюваннях розроблена програма аналізу та побудови макрооператорної форми обчислювального алгоритму. Моделювання виконалось за умови, що в склад типової алгоритмічної структури були включені тільки арифметичні операції у відповідності з коефіцієнтами вірогідного використання в програмах ЕОМ. Завдання типів операцій реалізовано за законом випадкових чисел.

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

Для визначення асимптотичних параметрів багатооперандної обчислювальної структури були враховані такі властивості багатооперандної обробки:

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

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

при структуруванні алгоритмів скорочується початкова кількість операцій шляхом з'єднання команд у макрооператорі;

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

Асимптотична продуктивність багатооперандної структури визначається за умови, що БООЕ структури виконують обробку максимально можливої кількості операндів.

Функціонування БООЕ з максимальною продуктивністю реалізується при його повній завантаженості на кожному етапі роботи. Для розв'язання задачі забезпечення завантаження пропонується застосування такої структурно-організаційної ланки: множина джерел даних -- багатооперандний операційний елемент. Система комутації для такої ланки є односпрямованою -- від джерел даних до БООЕ.

Таким чином, базова багатооперандна структура включає такі елементи: джерела даних, односпрямована комутуюча система, багатооперандний операційний елемент (рис.2).

Продуктивність багатооперандної структури визначається кількістю команд, що об'єднуються в макрооператор, який реалізується на цій структурі. Зазначим, що багатооперандна структура є вершиною піраміди, котра з'єднує множину сателітних обчислювачів, від кожного з яких передається один-два операнди. Час обчислень (розв'язання) окремої задачі на БОСТ включає час роботи сателітних обчислювачів та час реалізації макрооператорів.

При побудові багатооперандної структури слід враховувати, що БООЕ можуть бути організовані (з'єднані) не тільки відомими способами -- матричними, трансп'ютерними, систолічними, у вигляді гіпер-кубу, конвейєра, але й відображати принципи односпрямованого обміну та інтегральності обчислень, що означає побудову структури за принципом "багато джерел -- один приймач" у вигляді деякої пірамідальної конфігурації. Якщо на кожний канал, по якому поступає операнд для БООЕ-приймача, працює одне джерело (також БООЕ), то такий БООЕ-приймач може об'єднати по входу стільки процесорів БООЕ-джерел, скільки операндів перетворюється в одному операційному циклі. На рис.3 показана структурна організація концептуальної системи з БООЕ.

Часові витрати на обробку багатооперандного потоку визначаються витратами на проходження ступенів, що складають ланцюг обробки. Число ступенів у такій системі невелике, бо вже при двох ступенях організації виконується обробка обсягом (mn)2 -- операндів типу OR (самотній розряд). Загальна формула обсягу обробки (mn)k , де mn -- обсяг для СОО типу OR для одного БООЕ, k -- кількість ступенів у системі. Кількість процесорів (БООЕ) КР у системі визначається за формулою

Особливою характеристикою системи з БООЕ є граничні параметри виконання окремої операції. Якщо один БООЕ виконує обробку СЕО типу OR обсягом mn, то при цьому реалізується mn1 операція, наприклад, додавання, і еквівалентна продуктивність багатооперандного операційного елемента при тривалості операційного циклу ТМНОЕ = 1мк і m,n = 32 перевищує 109 операцій/с (РМНОЕ = 1,023109 операцій/с).

Продуктивність базової багатооперандної структури -- це не продуктивність пірамідального конвейєра, а сумарна продуктивність усіх складаючих частин. Загальна продуктивність багатооперандної структури визначається як Рбост = Piбоое , де i = 1KP. Однією з задач, за якою виконувався розрахунок пікової продуктивності БОСТ, є, наприклад, обчислення суми фрагментів з одночасним визначенням вагових значень фрагментів. В табл.1 наведені значення продуктивності для варіантів БОСТ з різною кількістю ступенів перетворення k та СОО типу GR, різною кількістю входів у БООЕ (m) та ТМНОЕ = 100нс.

Розрахунок показників продуктивності виконувався за умови, що всі БООЕ багатооперандної структури реалізували багатооперандну операцію над m операндами, або виконували m1 операцію за такт обробки.

Таблиця 1 Значення асимптотичної продуктивності БОСТ

k=1

k=2

k=3

m

KP

Рбост

106 операцій/с

m

KP

Рбост

106 операцій/с

m

KP

Рбост

109 операцій/с

8

16

32

1

1

1

70

150

310

8

16

32

9

17

33

630

2550

10230

8

16

32

585

4369

33825

40,95

655,35

10485,75

Якщо програма містить M команд, що забезпечують перетворення V обсягу даних, то за умови, що використовується кожний отриманий результат і перетворення здійснюється на обчислювальній структурі з бінарною пропускною здібністю, то результат буде отримано не раніше ніж через log2V кроків. При збільшенні пропускної здібності s(s>2) кількість етапів обробки зменшується з ростом s і дорівнює > logsV. Граничне значення при s=V дорівнює logsV=1. Ніякий інший відомий підхід не забезпечує такої кількості етапів перетворення.

Внаслідок досліджень концепції багатооперандної обробки встановлено, що при її впровадженні можна поліпшити ряд факторів, що визначають рівень продуктивності та розробляти на цьому грунті засоби ОТ з характеристиками, що відповідають вимогам на сучасному етапі. Слід зазначити, що отримані результати рівнів продуктивності відповідають рівню реальної продуктивності внаслідок умов багатооперандної обробки.

У третьому розділі реалізовано розробку арифметико-алгоритмічного базису багатооперандної обробки.

Перетворення багатооперандного потоку даних при однотиповому або інтегральному керуючому впливу здійснюється при розробці відповідного арифметико-алгоритмічного базису. Структурні одиниці обробки, що представляють багатооперандний потік, у відповідності з класифікацією структур даних повинні належати до багаторядного коду. Зокрема, якщо група розрядів GR або група операндів GOP представляють структурні одиниці, над якими необхідно виконати додавання, то їх слід визначати як багаторядний код. Багаторядним кодом називають сукупність доданків А1, А2, А3, А4, ..., Аm, які задовольняють рівнянню С = Аj. Таким чином, багатооперандним додаванням слід вважати перетворення багаторядного коду в суму. З усіх проаналізованих способів обробки багатооперандного потоку найбільш ефективним слід визнати перетворення за розрядними зрізами.

Перетворення багаторядного коду в однорядний здійснюється шляхом обчислення розрядних сум (сум у розрядних зрізах) сукупності доданків А1, А2, А3, А4, ..., Аm, що задовольняють рівнянню

С = Аj .

Мінімальна кількість розрядів, яка необхідна для зображення порозрядної суми аij у системі числення з основою r, позначимо m. З виразу

аij < m (r 1)

випливає, що m' є найменше число, що задовольняє нерівності

m (r 1) < rm 1. (1)

Звідси m = ] logr (m (r1)+1) [ , де значення ].[ дорівнює ближчому цілому числу.

На наступному етапі m-рядний код числа С може бути перетворений у код з числом доданків, що дорівнюють

m < ] logr (m (r1) + 1) [ і т.д.

Після кожного кроку перетворення число рядів коду буде зменшуватись до тих пір, доки чергове m не стане дорівнювати 2. Кількість кроків S, необхідне для перетворення m-рядного коду у двохрядний, може бути обчислено на основі виразу (1).

Для підвищення ефективності перетворення багаторядного коду розроблено прискорений спосіб, який полягає у наступному. Після першого кроку, що виконується як обчислення розрядних зрізів початкового коду, до розмірності, яка визначається як (при r=2)

m = ] log2 (m + 1) [

слід виконати перетворення, що зменшує код m до 2-рядного.

Таке перетворення грунтується на секційній обробці коду m, що передбачає паралельну обробку секцій коду m до однорядного коду. Поділення коду m на секції виконується таким чином. Для зображення суми у кожному j-му розрядному зрізі коду m (після першого кроку перетворення) необхідно ] log2 (m+1) [ розрядів. У таке поле попадають коди сум розрядів від j, j1, j2 і т.д. до j ] log2 (m+1) [ -го розряду (розрядного зрізу) включно, якщо розглядати всі розрядні зрізи, починаючи від j-го до j] log2 (m+1) [ по старшинству, тобто вліво. Перераховані розрядні зрізи визначають одну секцію.

Для того, щоб виконати умову розмірності після другого кроку -- m=2, необхідно коди сум j] log2 (m+1) [ -- 1-го зрізів багатооперандного коду m перетворити в однорядний код. Іншими словами, якщо багатооперандний код розміром m розділити на секції за ] log2 (m+1) [ розрядів відповідним чином (у секцію входять коди від j-го зрізу до j] log2 (m+1) [ включно) та у кожній з яких виконати перетворення в однорядний код, то після такого кроку початковий код розмірністю m стає двохрядним. Потім цей код перетворюється в однорядний на паралельному суматорі. Кількість кроків при застосуванні початкового S, паралельного Sп та запропонованого Sv способів наведені в табл.2.

Таблиця 2 Співвідношення кількості кроків при перетворенні багаторядного коду

Розмір коду

m

3

7

127

255

511

1023

2047

Кількість кроків

S

Sп

Sv

1

1

1

2

3

2

3

6

2

4

7

2

4

8

2

4

9

2

4

10

2

Запропонований спосіб прискореного перетворення багаторядного коду в однорядний може бути реалізований як спеціалізована ВІС та впроваджений як прискорювач обчислень в універсальних та проблемно-орієнтованих засобах.

Розробка багатооперандних мультиплікативних операцій базується на використанні розрядно-логарифмічного (РЛ) представлення операндів, яке полягає в наступному: кожний ненульовий розряд двійкового числа кодується як логарифм від ваги цього розряду Ni = log2 ai pi = i, що й визначило назву цього зображення (кодування). Якщо операнд А -- число з фіксованою комою, представлено в позиційній системі числення з основою p=2 як

А = аi p-i ,

де аi = {0,1}, p=2, n -- розрядність, то в РЛ зображенні А визначається як кортеж кодів Ni ненульових розрядів:

А АN = {N1 ,N2 ... Ni ... Nn }.

Розрядно-логарифмічне зображення числа А є однозначне і перехід до цього кодування виконується операцією підставлення. Для отримання компактного РЛ кодування слід застосовувати операцію пошуку одиниць у коді. Для переводу з РЛ зображення в двійкову форму потрібно використовувати операцію дешифрування для кожного коду ненульового розряду Ni .

Правила виконання операції множення над даними у РЛ кодах такі:

Ni Nk = Ni + Ni ,

де Ni ,Nk -- коди ненульових розрядів операндів. При РЛ зображенні добуток операндів А та В визначається як

Кожний елемент матриці визначає код розряду результату. Необхідно підкреслити, що зображення та обробка даних у РЛ кодах реалізується точно, бо можна отримати результати без округлення: зберігати всі розряди добутку у вигляді набору РЛ кодів. Обчислення коду значного розряду складного (за кількістю операндів та аналітичною залежністю) мультиплікативного виразу. Якщо P = ПХj , де Хj = xi pi -- число в двійковій системі числення, то для обчислення коду розряду добутку Pk = xc1 xl2 ... xtm (де c,l,t = 1n) слід виконати додавання m кодів розрядів, що формують цей частковий добуток: NPk = Nx1c + Nx2l + ... + Nxmt. Така властивість є підставою для реалізації мультиплікативних багатооперандних операцій.

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

Запропоновано методи виконання мультиплікативних операцій, основні етапи яких полягають у наступному:

паралельне формування компонент добутку у вигляді багатооперандного (багаторядного) коду;

перетворення багатооперандного коду в однорядний.

Розроблені моделі ряду базових макрооператорів та багатооперандних команд для впровадження багатооперандної обробки (табл.3).

Таблиця 3 Типи макрооператорів

МАКРООПЕРАТОРИ

арифметичні

асоціативно-логічні

конвейєрно-оптимальні

різнотипові

Логічні зсуви

Ланцюгові дроби

Ряди степенів

Пошук мінімального елемента

Ділення

Додавання-віднімання

Пошук максимального

Добування кореня n-ї степені

Додавання-множення

елемента

Ділення многочленів

Віднімання-множення

Визначення порогових

Однотипові

Сума пар і більше добутків

значень

Підрахунок кількості

Ітеративні

Сортування по зростанню

одиниць в коді

Додавання

Арифметичні рекурсивні цикли

Сортування по зменшенню

Багатооперандне І

Віднімання

Швидкі процедури

Багатооперандне АБО

Множення

Піднесення до степеня

Внаслідок досліджень застосування РЛ кодування як арифметико-логічного базису доведені такі твердження:

Твердження 3. Участок програми, що складається з адитивно-мультиплікативних команд, реалізується у вигляді макрооператора, який обчислюється як перетворення багаторядного коду, компоненти якого визначаються за правилами обробки при розрядно-логарифмічному зображенню даних.

Твердження 4. Макрооператор, що замінює частину програми і складається з адитивно-мультиплікативних двомісних команд, у концептуальному плані не має обмежень за кількістю команд, що об'єднуються.

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

Твердження 5. Операції адитивно-мультиплікативного типу, що знаходяться на одному шляху, можуть виконуватися одночасно, дарма, що аргументи кожної з них можуть залежати від результату виконання попередніх операцій.

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

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

виключити багатокрокову процедуру обміну результатами та завантаження початковими даними при обробці даної частини, бо для макрооператорного виконання вимагається одноразове, односпрямоване багатоелементне завантаження (увід даних у багатооперандну структуру) і вивід одного або кількох результатів;

програмувати всі команди, що складають макрооператор, одним, відповідним символом або короткою послідовністю символів з перерахуванням усіх даних, що обробляються такими командами;

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

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

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

Таке кодування, що розроблялось спочатку як апарат для реалізації мультиплікативних операцій, є підставою для обробки даних з підвищеною точністю та з нетрадиційною організацією -- з властивостями непозиційної системи числення (розрядно-логарифмічне кодування з неупорядкованим набором (РЛНН)).

Для зображення коду двійкового ненульового розряду Ni необхідно ]log2 (n+1)[ двійкових розрядів, де ].[ -- найбільше ближче ціле, n -- розрядність операнда. Операнд AN з Q(A) значними одиницями записується як signA, Q(A), AN і займає обсяг: Q]log2 (n+1)[ + ]log2 (n+1)[ + 1 біт. Моделювання інформаційних потоків при реалізації РЛ даних у ЕОМ показує, що реальні числа займають масиви з кількістю елементів від 5-7 до 15-20. Наприклад, операнд А= +1011.0101 має зображення

Застосування РЛ кодування дозволяє будувати єдину структуру даних для плаваючої і фіксованої коми (рис.4).

Використання єдиної структури для даних дозволяє спрощувати апаратні та програмні засоби.

signA

Q

signN1

N1 + p

signN2

N2 + p

...

signNi

Ni + p

...

signNn

Nn + p

Рис. 4. Загальна структура РЛ даних

При РЛ кодуванні збільшується числовий діапазон даних. При розрядності n максимальне число визначається як 2n 1. Враховуючи, що код одиниці записується із знаком, визначим максимальне ВNmax та мінімальне число BNmin при РЛ зображенні (t=2n ):

ВNmax = 2t 2(t1) і BNmin = 2(t1).

Коефіцієнт перекриття діапазону SРЛ дорівнює SРЛ = 2t1 1. Коефіцієнт збільшення діапазону при РЛ кодуванні визначимо як H=SРЛ /S.

Таким чином, при РЛ зображенні віртуально збільшується розрядність від n2 до nРЛ = 2(2n 1) + 1. В табл. 3 наведені кількість двійкових розрядів n2 і розряди РЛ зображення nРЛ, що отримані при кодуванні у відповідних n2, а також діапазони зміни чисел D за розрядними сітками nРЛ .

Таблиця 3 Діапазони чисел при РЛ зображенні

n2

7

8

9

10

nРЛ

255

511

1023

2047

D

2127 x 2+127

2255 x 2+255

2511 x 2+511

21023 x 2+1023

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

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

А АN = {N1, N2, ..., Ni, ..., Nn},

де Ni > Ni+1, то це число А можна представити невпорядкованим набором

А АN = {N2, Ni, ..., N1, ..., Nn, Ni+1}.

Таке зображення, яке можна назвати розрядно-логарифмічним невпорядкованим набором, визначає незалежне порозрядне виконання операцій. Таке РЛНН кодування має властивості непозиційних систем числення, що дозволяє організувати паралельну обробку і, отже, підвищити продуктивність засобів ОТ з таким зображенням даних.

Внаслідок досліджень доведено, що РЛ та РЛНН кодування мають ряд важливих властивостей:

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

Обчислювальна машина з РЛ та РЛНН даними на має фіксованої структури даних і її операційна частина орієнтована на обробку кодів довжиною, не менше як ]log2(n+1)[ розрядів. Така організація обробки відрізняється від послідовної, бо РЛ коди є тільки для ненульових розрядів.

Непозиційність РЛНН кодування, правила обробки обумовили такий висновок.

Твердження 8. Алгоритм або його частина, що не містить залежностей по керуванню та реалізується за правилами багатооперандної обробки та РЛ кодування як макрооператор, перетворюється в багаторядний код за мінімальну кількість кроків.

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

Наведені результати практичного доведення переваги РЛ кодування при обчисленні факторіалу N чисел, яке виконувалось на кількох ЕОМ класу PC. У кожному випадку на етапі обчислення значення більше 2127 на всіх ЕОМ із стандартним програмним забезпеченням був останов по переповненню. Обчислення з застосуванням РЛ кодування виконувалось правильно до отримання кінцевого результату. Розрядно-логарифмічна арифметика у вигляді додаткового забезпечення може бути встановлена на кожній ЕОМ, що дозволить у масовому порядку підвищити ефективність застосування інформаційно-обчислювальних засобів.

Розробка ЕОМ з РЛ архітектурою є практично реалізуємою, бо структурною відмінністю такої ЕОМ буде тільки зменшення розрядності операційного середовища та змінення структури даних, що зберігаються в пам'яті.

У п'ятому розділі наведені архітектури ЕОМ та системи на підставі багатооперандних структур, структури операційних вузлів арифметичних і логічних макрооператорів, приклад варіанта експериментальної багатооперандної ЕОМ. Структурні одиниці даних при багатооперандній обробці визначають розробку деяких нетрадиційних пристроїв та вузлів.

Для реалізації базової операції багатооперандної обробки "обчислення одиниць у двійковому коді" розроблені перетворювачі двійкового коду в ущільнений код. Цей перетворювач має у своєму складі базову матрицю блоків з елементів І та АБО; у такій матриці реалізується перетворення 4-розрядного двійкового коду в ущільнений код. На рис.5 показана структура блоку та дві базові матриці з таких блоків. У матрицях виконується паралельне перетворення 4-розрядних кодів в ущільнені коди.

На виходах 1-4 та 5-8 отримуємо результати перетворення в матрицях. На основі такої матриці будуються перетворювачі для більшої кількості розрядів. Час роботи n-розрядного перетворювача Tn =T8 + 2tlog2 (n/8) = t(5 + 2log2 (n/8)), де T8 = 5t, t -- затримка на вентилі.

Розроблено керовані перетворювачі, що реалізують обробку груп даних, перетворювач багаторядного коду та інші операційні структури для виконання багатооперандних операцій та макрооператорів. Прикладне застосування запропонованих структур показано на розробці пристрою для обчислення перетворень Уолша -- Адамара. Із застосуванням розрядно-логарифмічного зображення даних синтезовані базові блоки для мультиплікативних операцій, обчислення ланцюгових дробів, макрооператорів із множенням. На основі запропонованих положень багатооперандної обробки та відповідного арифметико-алгоритмічного базису та структурних рішень ряду операцій і макрооператорів у рамках теми 6.3.1 /005-9 Державної науково-технічної програми 6.3.1 "Високопродуктивні ЕОМ та проблемно-орієнтовані комплекси широкого призначення" Держкомітету України з питань науки та технологій розроблена експериментальна версія ЕОМ з продуктивністю 108 операцій/с. Багатооперандна ЕОМ розроблялась як проблемно-орієнтований комплекс, що дозволяє розв'язати задачі обробки даних у реальному часі та виконувати функції сателітного високопродуктивного обчислювача та засобів оперативного контролю та керування.

...

Подобные документы

  • Комп'ютерні інформаційні системи. Характеристика автоматизованої системи обробки економічної інформації на підприємстві. Технологічний процес обробки інформації конкретної задачі в системі. Впровадження в дію автоматизації бухгалтерського обліку.

    контрольная работа [25,1 K], добавлен 26.07.2009

  • Процеси пошуку інформацій та розробка структури даних для ефективного зберігання та обробки інформації. Як приклад розглянуто бінарне дерево. Бінарні структури широко використовуються у житті,широко використовуються в багатьох комп'ютерних завданнях.

    курсовая работа [67,7 K], добавлен 24.06.2008

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

    курсовая работа [710,9 K], добавлен 12.03.2010

  • Автоматизована системи обробки економічної інформації, яка використовується на підприємстві, її характеристика. Технологічний процес обробки інформації конкретної задачі в системі. Зауваження користувача щодо функціональних і ергономічних характеристик.

    контрольная работа [26,5 K], добавлен 27.07.2009

  • Загальна характеристика підприємства АТВТ "Суми-Авто", напрямки його діяльності та облікова політика. Опис автоматизованої системи обробки економічної інформації, яка використовується на підприємстві, процес обробки інформації конкретної задачі в ній.

    контрольная работа [20,4 K], добавлен 27.07.2009

  • Структура та галузі застосування систем цифрової обробки сигналів. Дискретне перетворення Фур’є. Швидкі алгоритми ортогональних тригонометричних перетворень. Особливості структурної організації пам’яті комп’ютерних систем цифрової обробки сигналів.

    лекция [924,7 K], добавлен 20.03.2011

  • Визначення двовимірних масивів. Розміщення елементів на головній та бічній діагоналі. Алгоритми обробки двовимірних масивів. Двовимірні масиви в задачах лінійної алгебри. Ініціалізація елементів матриці за допомогою генератора псевдовипадкових чисел.

    контрольная работа [162,8 K], добавлен 02.12.2014

  • Проектування і програмування обробки деталей на верстатах з числовим програмним управлінням. Проектування технологічної оперції обробки заготовки: вибір інструменту, ескізи наладок. Керуюча програма обробки деталей "кришка" та "вал". Верифікація програми.

    курсовая работа [1,7 M], добавлен 29.11.2011

  • Розробка фільтру для обробки цифрових сигналів. Блок обробки реалізується на цифрових мікросхемах середньої ступені інтеграції. Аналіз вхідного сигналу, ідеального сигналу та шуму. Обґрунтування вибору фільтрів та алгоритму обробки вхідного сигналу.

    курсовая работа [504,4 K], добавлен 18.09.2010

  • Загальні відомості про системи числення. Поняття основи. Машинні коди чисел. Алгоритми виконання операцій додавання і віднімання в арифметико-логічному пристрої ЕОМ, множення і ділення двійкових чисел в АЛП. Логічні основи ЕОМ. Досконалі нормальні форми.

    учебное пособие [355,4 K], добавлен 09.02.2012

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

    дипломная работа [1,8 M], добавлен 15.10.2013

  • Нові інформаційні технології (НІТ) як сукупність нових засобів і методів обробки, зберігання і передачі інформації. Технологічна основа та основні принципи створення НІТ. Класифікатори техніко-економічної інформації в фінансовому контролі й аудиті.

    контрольная работа [21,5 K], добавлен 27.09.2010

  • Місце мікропроцесора в структурі мікропроцесорних приладів, його функції. Інтегральні мікросхеми із великою ступінню інтеграції. Розробка структурної схеми мікропроцесорної системи обробки інформації на основі мікроконтролера ATmega128 та інших мікросхем.

    курсовая работа [2,1 M], добавлен 18.09.2010

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

    реферат [26,8 K], добавлен 29.05.2014

  • Cуперкомп'ютери виробництва Cray Research. Векторна обчислювальна система: регістри та арифметико-логічний пристрій. Підходи до архітектури засобів векторної обробки. Архітектура комп’ютерів Cray. Реконфігурований блэйд-сервер. Програмне забезпечення.

    курсовая работа [696,0 K], добавлен 18.05.2012

  • Арифметичні основи, на яких ґрунтується функціонування комп'ютерної техніки. Основні поняття дискретної обробки інформації. Системи числення, форми подання чисел у комп'ютерах. Арифметичні операції, що виконуються над числами, подані у двійковому коді.

    учебное пособие [903,6 K], добавлен 18.12.2010

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

    презентация [793,1 K], добавлен 05.09.2014

  • Суть, значення і види наукової обробки документів. Обов'язкова державна реєстрація книжкових пам'яток. Інформаційно-пошукові системи, їх види. Опис змісту документа за допомогою дескрипторів. Анотування і реферування як вид інформаційної діяльності.

    курсовая работа [44,7 K], добавлен 22.11.2010

  • Автоматизована система обробки економічної інформації, яка використовується на підприємстві АТ відкритого типу “Продукт-Сервіс". Технологічний процес обробки інформації конкретної задачі в системі. Створення таблиці "Фрукти", "Описання наборів".

    контрольная работа [26,4 K], добавлен 27.07.2009

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

    курсовая работа [1,2 M], добавлен 07.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.