ПРИКЛАДИ ВИКОНАННЯ КУРСОВОГО ПРОЕКТУ

Приклад 1

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: А/В+С*D+E*F.

Кількість конвеєрних елементів: 3.

Тип синхронізації: асинхронний.

Тривалість операцій:

Додавання – 14;

Множення – 14;

Ділення – 23.

Кількість блоків даних: 41.

 

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

 

ВСТУП

 

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

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

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


1 ОГЛЯД ІСНУЮЧИХ РІШЕНЬ

 

1.1 Класифікація конвеєрів

 

Визначимо декілька понять, що допоможуть провести якісну оцінку конвеєрної системи:

1. Пропускна здатність - максимальна кількість команд, які виконуються за один такт машинного часу (instructions per cycle, IPC).

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

3. Необхідний (максимальний) ступінь паралелізму - кількість (незалежних) команд, які потрібно завантажити в конвеєр для повного використання його потенціалу.

 

1.1.1 Найпростіший (класичний) конвеєр

 

Рис. 1.1 -Класичний конвеєр

 

Характеристики пристрою:

Пропускна здатність = 1 IPC.

Тривалість стадії = 1 цикл.

Необхідний (максимальний) ступінь паралелізму = 1 команда.

 

1.1.2 Суперскалярний конвеєр

Рис. 1.2 - Суперскалярний конвеєр

 

Характеристики пристрою:

Пропускна здатність = n IPC (=3 IPC на рисунку)

Тривалість стадії = 1 цикл

Необхідний (максимальний) ступінь паралелізму = n команд (=3 на рисунку)

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

 

1.1.3 VLIW-конвеєр

Рис. 1.3 - VLIW-конвеєр

 

Характеристика пристрою:

Пропускна здатність = n IPC (=3 IPC на рисунку)

Тривалість стадії = 1 цикл

Необхідний (максимальний) ступінь паралелізму = n команд (=3 на рисунку)

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

 

1.1.4 Суперконвеєр

 

Рис. 1.4 - Суперконвеєр

 

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

Пропускна здатність = 1 IPC, але тривалість циклу 1/m в порівнянні зі звичайним конвеєром

Тривалість стадії = 1 цикл для "суперстадії", або m циклів для кожної "звичайної стадії"

Необхідний (максимальний) ступінь паралелізму = m команд

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

 

1.1.5 Суперскалярний суперконвеєр

 

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

Пропускна здатність = n IPC, але тривалість циклу 1/m в порівнянні зі звичайним конвеєром

Тривалість стадії = 1 цикл для "суперстадії", або m циклів для кожної "звичайної стадії"

Необхідний (максимальний) ступінь паралелізму = m*n команд.

 

 

1.2 Огляд структур конвеєра

 

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

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

1. Вибірка (instruction fetch, IF) - завантаження нової команди з пам'яті (за адресою, заданою лічильником команд, із пам'яті зчиту ється команда).

2. Декодування (instruction decode, ID) - інтерпретація та відправка команди у відповідний операційний пристрій в залежності від різновиду операції.

3. Виконання (execution, EX) - виконання команд та обчислення ефективної адреси пам'яті для результату або операндів, які необхідно завантажити.

4. Звертання до пам'яті (memory, MEM) - виконання операцій з пам'яттю (для команд завантаження/збереження).

5. Збереження результату (writeback, WB) - збереження результату обчислень в регістрі.

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

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

Конвеєрний процесор комп'ютера структуровано наступними ярусами конвеєра: IF, ID, EX, MEM, WB. Апаратура кожного ярусу реалізує притаманні їй мікрооперації.

Для роботи конвеєра необхідно дві незалежні пам’яті – команд та даних.

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

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

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

 

 

1.3 Мікродії ярусів конвеєрного процессора

 

1.3.1 Мікродії ярусу IF

Перша мікродія вибирає нову команду з пам'яті команд за адресою, що зберігаєте : в PC, і записує її до поля IR (Instruction Register) конвеєрного регістра IF/ID. В той самі: час друга мікродія змінює вміст поля NPC конвеєрного регістра і програмний лічильник за алгоритмом: якщо бітове поле cond (condition - умова) попередньої команд: яка пройшла фазу ЕХ, є одиницею (true), тоді порушується природна черговість і вміст IF/ID.NPC та PC отримує значення поля EX/MEM.NPC конвеєрного регістра ЕХ/МЕМ інакше записується наступна адреса (РС+4) з врахуванням байтової логічної структур; адреси пам'яті.

1.3.2 Мікродії ярусу ID.

Усі чотири мікродії є сумісними і виконуються в часі паралельно. Перша мікродія вибирає перший операнд з програмно керованого регістра регістрового файла до службового регістра А, що є інтегрованим до конвеєрного регістра ID/ЕХ. При цьому адреса програмно керованого регістра визначається вмістом розрядів 8.. 10 поля IR конвеєрно­го регістра IF/ID. Тут вибирається операнд. Такі ж за призначенням дії виконує друга мікрооперація, але з іншим джерелом і приймачем. Третя і четверта мікродії зберігають контекст команди, що знаходиться на поточній сходинці. Це необхідно для її коректного просування конвеєром. Четверта мікродія вибирає (та знаково розширює з 16 до 32-х бітів) до службового регістра imm (immediate - безпосередній) операнд, який містився у розрядах 16...31 поля IR конвеєрного регістра. Поточну фазу ID можна розширити у назві додатковим означенням Operand Fetch (вибирання операндів). Мікродії ярусу ЕХ (команди арифметико-логічного пристрою). Важливо відзначити, що на фазі ЕХ вперше від початку виконання команди має бути визначеним її тип. Перша мікродія зберігає вміст регістра команди. Четверта мікродія забороняє командам ALU впливати на послідовність вибирання команд з пам'яті. Друга і третя мікродії утворюють альтернативу (або). Кожна з них визначає пару операндів для операції ор і при цьому записує результат ор до службового (програмно-некерованого) вихідного регістра ALU під назвою ALUoutput.

1.3.3 Мікродії ярусу ЕХ (команди load/store).

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

1.3.4 Мікродії ярусу ЕХ (команда branch).

Перша мікродія вираховує цільову адресу можливого переходу та зберігає її у робо­чому (некерованому програмістом) вихідному регістрі ALUoutput, а конкретно - у полі ALUoutput конвеєрного регістра ЕХ/МЕМ. Друга мікродія вираховує істинне або хибне значення логічної умови, що визначається порівнянням в деякому, тобто ор розумінні, службового регістра А, визначеного за вмістом на фазі ID, з нулем (дорівнює нулю, не дорівнює нулю, тощо). Логічне значення умови записується до поля cond конвеєрного регістра ЕХ/МЕМ з метою дозволу зміни природного порядку вибирання команд про­грами, коли cond=4. Контексти не зберігаються, що свідчить про неформальне завер­шення опрацювання цієї команди в конвеєрі.

1.3.5 Мікродії ярусу MEM (команди арифметико логічного пристрою).

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

1.3.6 Мікродії ярусу MEM ( команди load/store).

Перша мікродія виконує транзитне пересилання вмісту коду операції з відповідного поля вхідного конвеєрного регістра до відповідного поля вихідного конвеєрного регістра ярусу. Це свідчить про те, що виконання команди (лише - завантаження) має продовжуватися в наступному ярусі конвеєра. При завантаженні виконується друга мікродія, а при збереженні - третя. Виконавча (ефективна) адреса пам'яті даних визначається вмістом службового вихідного регістра ALU. При завантаженні вміст комірки пам'яті даних зберігається в проміжному регістрі LMD (Load Memory Data), а при збереженні вміст службового регістра В записується до комірки пам'яті даних

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

1.3.7 Мікродії ярусу WB (команди арифметико логічного пристрою).

Завжди виконується лише одна мікрооперація з двох зазначених. В кожному випадку результат обробки операндів в ALU з поля конвеєрного регістра MEM/WB.ALUoutput записується до регістра регістрового файла процесора. Використання двох мікрокоманд замість однієї пояснюється тим, що у форматі команд load DLX повного дотримання правила «фіксоване розташування полів» немає. За рахунок цього адреса призначення у форматі команди рухається: може визначатися розрядами 16...20 або розрядами 11...15 команди. Так чи інакше, але вказана «рухомість» адреси поля призначення ускладнює апаратний пристрій керування і може зменшити його швидкодію

1.3.8 Мікродії ярусу WB (команда load).

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

Операнд зберігається у полі LMD вхідного конвеєрного регістра MEM/WB, а адреса ко­мірки (регістра) регістрового файла міститься у полі MEM/WB.IR 11...15. Важливо, що ре­гістровий файл повинен реалізувати два порти, а саме, два порти на читання та один порт на запис. При цьому, якщо дві адреси на читання постачає конвеєрний регістр (IF/ID), то адресу на запис і дані постачає щойно розглянутий конвеєрний регістр (MEM/WB).

 

 

2. РОЗРОБКА КОНВЕЄРНОЇ СИСТЕМИ

 

2.1 Підхід до вирішення задачі

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

Ф(А) = Фn(Фn-1(...(Ф1(Ф0(А)))...)),

де А представляє собою вихідний процес (вихідну інформацію), Ф(А) - кінцева інформація. Реалізація і-го підпроцесу полягає в виконанні перетворення Фі, вихідною інформацією для якого слугує Фі-1(Фі-2(...(Ф0(А))...)). Для реалізації кожного перетворення

Фі(0<=і<=N) виділяється індивідуальний операційний модуль, який виконує це перетворення і який називається сегментом процесора. В відповідності з Ф(А) сегменти процесора з'єднуються послідовно. Суть наведеної інформації полягає в тому, що при цьому забезпечується суміщене (паралельне) функціонування процесорних сегментів.

Розглянемо принцип суміщення операцій (команд) конвеєрним процесором, який складається з 4-х сегментів. Вихідна інформація А сприймається нульовим сегментом U0, в якому вона перетворюється до вигляду Фо(А) і передається на сегмент U1. В свою чергу сегмент U1 виконує перетворення інформації, що поступила на його вхід, до вигляду Ф1(Ф0(А)) і передає її на сегмент U2 і т.д. Сегмент, що звільнився, може виконувати перетворення наступної інформації. Процес завершується після перетворення на N сегменті і отримання результату Ф(А).

В наведеному варіанті конвеєрного процесора тривалість перетворень всіх Фі однакова і дорівнює Ті. Інтервал часу Тi називається тактом роботи конвеєрного процесора. На нульовому такті працює тільки сегмент U0, на третьому - одночасно працюють всі 4 сегменти. Після завершення такту Т3 - виконано перше перетворення Ф(Ао). Далі на кожному такті завершується чергове перетворення Ф(Аj)(1<=j<=9).

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

Аі-Ві= аі * 2х - bі * 2ХUY, i = 0,1,...

При цьому перетворення Фо, яке реалізується сегментом Uо, полягає в порівнянні порядків чисел, перетворення Фі, яке реалізується сегментом U1 полягає в відніманні порядків. Перетворення Ф2 на U2 реалізує додавання мантис і перетворення Ф3, яке реалізується на U3, виконує нормалізацію отриманої суми.

При виконанні команди конвеєрним процесором звичайно суміщається від 3-х до 5-и дій. Наприклад: Фо - формування адреси і вибірка команди, Ф1 - декодування команди, Ф2 - формування адреси і вибірка операнда, Ф3 - виконання операції і запам'ятовування результату (рис. 2.1)

 

Сегменти Команди
     
U0->ф0 К1 К2 К3 К4 К5      
U1->ф1   К1 К2 К3 К4 К5    
U2->ф2     К1 К2 К3 К4 К5  
U3->ф3       К1 К2 К3 К4 К5

 

Рис.2.1 – Виконання команд конвеєрним процесором

 

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

При синхронному управлінні моменти ініціалізації переміщень співпадають з моментами реального переміщення команд. При асинхронному управлінні моменти ініціалізації співпадають з моментами, в які принаймні один сегмент завершує обробку команди, що знаходиться на ньому. Моменти ініціалізації переміщення команд позначимо через t0, t1, ...,ti, ..., де t0 - момент зайняття командою сегменту U0. Інтервал часу між двома послідовними моментами ініціалізації ti-1 i ti називається і-м тактом роботи

процесора. Протягом такту виконується: обробка команд сегментами процесора; аналіз можливості переміщення команд; аналіз і усунення конфліктних ситуацій.

Нехай - час обробки команди у сегментом Uj. В загальному випадку =Ф(Uj). Якщо =Т, де Т не залежить від j та у, то всі сегменти процесора одночасно завершують обробку команд, що на них знаходяться.

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

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

Конвеєрні системи дуже ефективні при обробці великих масивів даних.

Послідовно включені процесори працюють в такий спосіб: коли і-й операційний блок виконує і-ту частину j-ої операції, (і-1)-й операційний блок виконує (і-1)-у частину (j+1 )-ї операції, а (і+1)-й операційний блок виконує (і+1)-у частину (j-1 )-ї операції.

2. 2 Розробка паралельно-ярусної форми обчислювального процесу

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

Оскільки поставлені наступні умови: відсутність функціональних зв'язків; незалежність по керуванню; програмна незалежність.

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

Паралельно-ярусна форма обчислювального процесу приведена в додатку 1.

 

2.3 Розробка функціональної схеми конвеєра

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

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

Такий розподіл дає нам кращі часові характеристики виконання сукупності блоків даних.

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

На першому конвеєрному елементі будуть виконуватись операції із змінними виразу А та В. Між цими змінними відбувається операція ділення.

На другому конвеєрному елементі будуть виконуватись операції із змінними виразу С та D. Між цими змінними відбувається операція множення.

На третьому конвеєрному елементі будуть виконуватись операції із змінними виразу E та F. Між цими змінними відбувається операція множення.

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

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

Структурна схема конвеєра приведена в додатку 1.

 

2.4. Побудова часової діаграми функціонування конвеєра

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

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

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

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

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

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

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

Загальна тривалість операцій додавання = 14 * 2 = 28

Загальна тривалість операцій множення = 14 * 2 = 28

Загальна тривалість операцій ділення = 24

Часова діаграма функціонування конвеєра приведена в додатку 1.

 

2.5.Ефективність використання конвеєра

Показник ефектності конвеєрного процесора визначається через коефіцієнт прискорення вирішення задачі в порівнянні з традиційним вирішенням задачі на однопроцесорній ЕОМ з послідовним виконанням команд:

де ефективність конвеєрного процесора;

швидкодія в машинних тактах конвеєрного

процесора;

швидкодія при вирішенні аналогічної задачі на

однопроцесорній ЕОМ:

де j iндекс, що характеризує сегмент; і - індекс, що відноситься до типу команди; N - кількість сегментів процесора; n - кількість команд, що реалізуються. швидкодія в машинних тактах конвеєрного процесора = 28;

швидкодія при вирішенні аналогічної задачі на однопроцесорній ЕОМ = 80;

ефективність конвеєрного процесора = 80/28 = 0,35

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

Висновок

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

 

 

Додаток 1:

Паралельно-ярусна форма обчислювального процесу

 

Структурна схема конвеєра

Часова діаграма функціонування конвеєра

Приклад 2

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

Вираз: A+B*(C+D*E*(G+L/K))+N

Кількість конвеєрних елементів 5

Тривалість операцій:

додавання – 10;

множення – 26;

ділення –23;

Тип структурної реалізації: з багато вхідним ОЗП

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

 

Вступ

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

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

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

Існує два способи проектування ОС:

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

2) використання спеціалізованих ЕОМ та комплексів.

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

 

1 ОГЛЯД ІСНУЮЧИХ МЕТОДІВ

 

1.1. Багатопроцесорні обчислювальні комплекси

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

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

Тому складність таких систем стає зрозумілою в повній мірі, при чому значні функції покладаються на операційну систему. Незважаючи на труднощі пов’язані з апаратною і програмною реалізацією БПОК знайшли широке використання оскільки мають ряд переваг:

1) висока надійність та готовність за рахунок резервування, є можливості ре конфігурації;

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

3) висока економічна ефективність за рахунок підвищення коефіцієнта використання устаткування комплексу.

До суттєвих недоліків БПОК можна віднести хіба що дуже складну апаратну та програмну реалізацію.

 

1.1.1 БПОК з загальною шиною

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

 

 

Рис. 1.1 - БПОК з загальною шиною

 

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

Функції арбітра шини виконує або спеціально виділений процесор (супервізор), або спеціальний пристрій керування.

Переваги:

1) простота побудови;

2) простота зміни комплексу;

3) доступ модулів ОЗП до всіх інших пристроїв.

4) під’єднання додаткових пристроїв

Недоліки:

1) невисока швидкодія;

2) низька надійність за рахунок наявного загального елементу

загальної шини.

Проте, недолік швидкодії можна усунути шляхом введення більш швидкісної додаткової шини.

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

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

 

1.1.2 БПОК з перехресною комутацією

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

 

 

Рис. 1.2 - БПОК з перехресною комутацією

 

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

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

Переваги:

1) висока пропускна здатність при передачі даних

2) можливість підвищення працездатності за рахунок під’єднання функціональних пристроїв

3) можливість підвищення надійності

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

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

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

Недоліки:

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

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

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

 

1.1.3 БПОК з багатовходовим ОЗП

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

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

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

 

 

 

Рис. 4.3 - БПОК з багатовходовим ОЗП

 

 

2. РОЗРОБКА МУЛЬТИПРОЦЕСОРНОЇ СИСТЕМ

 

2.1 Розробка паралельно-ярусної форми

 

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

 

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

При побудові паралельно-ярусної форми користуємось наступними вимогами:

1) програма представляється у вигляді структури гілок;

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

3) гілка позначається кружками з цифрами;

4) тривалість подається цифрою біля кружка;

5) вхідні гілки позначаються х, вихідні – y (х – мають нижні вхідні індекси, які позначають номери вхідних велечин, y – мають нижні і верхні індекси (верхні відповідають номеру гілки, а нижні – порядковому номеру результату).

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

 

 

Спочатку представимо вираз слідуючим чином:

Здійснимо відкривання дужок:

Виконаємо повне відкриття дужок:

Оскільки тип структурної організації являє собою багатоходову ОЗП, а кількість процесорних елементів 5. В такому випадку ми можемо зчитувати до 5 однакових даних (B,D,E) одночасно, без затримки у тактах.

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

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

Отже, ми отримаємо три паралельно-ярусні форми.

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

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

Оскільки це приносить ефективність, здійснимо повне відкривання дужок на прикладі (в).

На рисунку 3 (додаток А) зображена третя паралельно-ярусна форма, на основі прикладу (в). Повне відкривання дужок, значно спростило паралельно-ярусну форму, і кількість ярусів стала рівною трьом. Завдяки паралельному зчитуванню таких даних, як B,D,E. Тому можна сказати, що ми досягли набагато ефективнішої паралельно-ярусної форми розкриваючи дужки.

 

2.2 Розробка функціональної схеми

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

В додатку Б наведено три структурні схеми, оскільки на попередньому етапі у нас утворилось три паралельно-ярусної форми. Відповідно до цього у додатку Б, а саме малюнок 4, відповідає паралельно-ярусній формі прикладу (а), малюнок 5, відповідає паралельно-ярусній формі прикладу (б), і малюнок 6, відповідає паралельно-ярусній формі прикладу (в).

Як бачимо в рисунку 4 і 5 максимум використання процесорних елементів становить 3. Відповідно із цього 4 і 5 процесорні елементи простоюють( взагалі не використовуються), а після першого виконання арифметичних операцій в рисунку 4 (додаток Б), виконання здійснюється лише одним процесорним елемент. На рисунку 5 (додаток Б), процесорні елементи 4 і 5 взагалі не використовуються, і після першого етапу виконання арифметичних операцій використовуються лише 2 процесорних елемента, і уже після третього етапу тільки один процесорний елемент.

А на рисунку 6 (додаток Б), максимум використання процесорних елементів збільшилось, і становить 4. Після першого етапу кількість становить два процесорних елемента, і завершальний етап використовує тільки один процесорний елемент. Відповідно процесорний елемент під номером 5, взагалі не використовується.

 

2.3 Розробка часової діаграми

Відповідно до обраної системи, а саме багато входову ОЗУ, виконання команд (арифметичних операцій) будуть здійснюватись у довільному порядку на будь якому із процесорних елементів. Кожен процесорний елемент є універсальним, і може виконувати одну із будь-яких арифметичних операцій. Дана організація структури мультипроцесорної системи (додаток В) розрахована на максимально ефективне використання процесорних елементів.

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

На рисунку 7 (додаток В) зображена часова діаграма для прикладу:

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

 

На рисунку 8 (додаток В) зображена часова діаграма для прикладу:

Кількість часових одиниць, на виконання арифметичного виразу - 95

 

На рисунку 9 (додаток В) зображена часова діаграма для прикладу:

Кількість часових одиниць, на виконання арифметичного виразу - 59

 

 

2.4 Розрахунок ефективності використання мультипроцесорної системи

 

Показник ефективності мультипроцесорної системи визначається через коефіцієнт прискорення вирішенні задачі в порівнянні з традиційним вирішенням задачі на одно процесорній ЕОМ з послідовним виконанням команд:

- ефективність мультипроцесорної системи ;

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

- швидкодія при вирішенні аналогічної задачі на одно поточній ЕОМ (тобто час лінійного одно поточного виконання завдання).

Знайдемо ефективність розробленої мультипроцесорної системи.

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

Для прикладу (а) і (б):

Для прикладу (в):

Загальна ефективність мікропроцесорної системи:

Для прикладу (а):

Для прикладу (б):

Для прикладу (в):

 

 

Визначимо ефективність розроблюваної багатопроцесорної комп’ютерної системи:

Для прикладу (а):

Для прикладу (б):

Для прикладу (в):

 

Проведемо оцінку ефективність розробленої багатопроцесорної комп’ютерної системи іншим порівняльним параметром:

Тоді ефективність розробленої багатопроцесорної комп’ютерної системи:

Для прикладу (а):

Для прикладу (б):

Для прикладу (в):

 

Висновок

 

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

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

Таким чином найефективнішим рішенням буде приклад (в):

 

 

Ефективність використовуваної багатопроцесорної системи, у порівняні із аналогічною одно процесорною системою становить 122%, в той час як приклад (а) і приклад (б) становлять 34,2%, 48% відповідно. Як показано в додатку Б, для прикладу(в) – який є найефективнішим, п’ятий процесорний елемент є зайвим, оскільки не використовується системою.

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

 

 

 

 

Додаток А

 

Паралельно-ярусна форма конвеєрної системи

 
 

 

 


Рисунок 1- Паралельно-ярусна форма, приклад (а)

 

 

Рисунок 2 -Паралельно-ярусна форма, приклад (б)

 

 

 

 

Рисунок 3- Паралельно-ярусна форма, приклад (в)

Додаток Б

 

 

Рисунок 4 - Структурна схема, приклад (а)

 

 
 

 

 


Рисунок 5- Структурна схема, приклад (б)

 

 
 

 


Рисунок 6- Структурна схема, приклад (в)

 

Додаток В

 

Часові діаграми багатопроцесорної системи

 

Рисунок 7- Часова діаграма, приклад (а)

 

 

 

Рисунок 8- Часова діаграма, приклад (б)

 
 

 

 


Рисунок 9 -Часова діаграма, приклад (в)

 

4. Індивідуальні завдання для виконання курсового проекту

 

Варіанти завдань для денної форми навчання:

Завдання №1

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: .(A+B)/C*(D+E+М)*F+K/L+N

Кількість конвеєрних елементів: 3.

Тип синхронізації: синхронний.

Тривалість операцій:

додавання – 5

множення – 7

ділення – 7

Кількість блоків даних: 48.

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

 

Завдання №2

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

Вираз: .(A+B)/C*(D+E)*F+(G/H+I)/K

Кількість процесорних елементів: 2.

Тривалість операцій:

додавання – 5

множення – 7

ділення – 7

Тип структурної організації: загальна шина.

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

 

Завдання №3

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: (A+B)/C*(D+E)*F+K/L+(M*N).

Кількість конвеєрних елементів: 4.

Тип синхронізації: асинхронний

Тривалість операцій:

додавання – 11

множення – 18

ділення – 15

Кількість блоків даних: 49.

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

 

Завдання №4

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

Вираз: .(A*B)+C*D/E+(F+G)/H*I+N

Кількість процесорних елементів: 3.

Тривалість операцій:

додавання – 12

множення – 19

ділення – 21

Тип структурної організації: з багатовходовим ОЗП.

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

 

Завдання №5

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: (A+B+C)*D+E/F+(K+L)/M*N.

Кількість конвеєрних елементів: 3.

Тип синхронізації: синхронний

Тривалість операцій:

додавання – 8

множення – 8

ділення – 13

Кількість блоків даних: 52.

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

використання конвеєра.

 

Завдання №6

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

Вираз: .A*B/C+D+E+(F+G)/H*I/(K+L)

Кількість процесорних елементів: 2.

Тривалість операцій:

додавання – 21

множення – 33

ділення – 30

Тип структурної організації: загальна шина.

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

 

Завдання №7

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: (A+B+C)*D+(E/F+K/(L*Z)).

Кількість конвеєрних елементів: 4.

Тип синхронізації: асинхронний

Тривалість операцій:

додавання – 14

множення – 20

ділення – 25

Кількість блоків даних: 33.

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

 

Завдання №8

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

Вираз: .A*(B+C)+D/L+E+(F+G)/H*I

Кількість процесорних елементів: 3.

Тривалість операцій:

додавання – 21

множення – 33

ділення – 30

Тип структурної організації: з багатовходовим ОЗП.

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

 

Завдання №9

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: A*B+C/(D+E*F)*(K/L)+G+N.

Кількість конвеєрних елементів: 2.

Тип синхронізації: асинхронний

Тривалість операцій:

додавання – 34

множення – 28

ділення – 12

Кількість блоків даних: 52.

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

 

Завдання №10

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

Вираз: .A*(B+C)+D/E+F+G+H*I/N

Кількість процесорних елементів: 2.

Тривалість операцій:

додавання – 8

множення – 8

ділення – 14

Тип структурної організації: загальна шина.

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

 

ефективності використання мультипроцесорної системи.

 

Завдання №11

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: A/B+C*(D+E+К)*F+L/M+N.

Кількість конвеєрних елементів: 4.

Тип синхронізації: асинхронний

Тривалість операцій:

додавання – 9

множення – 12

ділення – 12

Кількість блоків даних: 23.

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

 

Завдання №12

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

Вираз: .A*B+(C+D)/E+F+G+H*I/K

Кількість процесорних елементів: 3.

Тривалість операцій:

додавання – 8

множення – 18

ділення – 14

Тип структурної організації: з багатовходовим ОЗП.

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

 

Завдання №13

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: A*B+C/(D+E*F)+(K+L/N)+G.

Кількість конвеєрних елементів: 3.

Тип синхронізації: синхронний

Тривалість операцій:

додавання – 4

множення – 7

ділення – 9

Кількість блоків даних: 34.

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

 

Завдання №14

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

Вираз: .A*B+(C+D)*E+F/G+H*I/L

Кількість процесорних елементів: 4.

Тривалість операцій:

додавання – 14

множення – 21

ділення – 22

Тип структурної організації: загальна шина.

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

 

Завдання №15

Розробити конвеєрну комп’ютерну систему для обчислення арифметичного виразу.

Вираз: A*B+C/(D+E*F)+(K+M/N).

Кількість конвеєрних елементів: 4.

Тип синхронізації: асинхронний

Тривалість операцій:

додавання – 6

множення – 18

ділення – 18

Кількість блоків даних: 42.

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

діаграму функціювання конвеєра, провести оцінювання ефективності

використання конвеєра.

 

Завдання №16

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

Вираз: .A/B+C*(D+E)+F/G+H*(I+K)

Кількість процесорних елементів: 3.

Тривалість операцій:

додавання – 4

множення – 12

ділення – 12

Тип структурної організації: загальна шина.

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