Биография Диссертация Содержание библиотеки Ресурсы Intenet

Источник: www.aldec.com.ua/press/

Конфігуровані компьютери: стан і перспективи

1. Сучасний стан розвитку конфігурованих комп'ютерів

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

В останнє десятиріччя одержали розвиток суперскалярні процесори як елементна база ПЕОМ і робочих станцій. Але апартні витрати в таких процесорах ростуть квадратично з ростом ступеня паралелізму, ростуть також затримки виконання команд в тактах. Тому суперскалярні процесори скоро досягнуть межі свого розвитку [1].

Однією з альтернативних прогресивних архітектур вважається архітектура конфігурованих ЕОМ. За загальноприйнятим визначенням, конфігурованим комп'ютером вважається такий, що змінює свою структуру в процесі функціонування на логічному рівні і рівні регістрових передач [2]. Найпоширенішою моделлю конфігурованого комп'ютера є структура, яка складається з процесора загального призначення, до якого з метою прискорення обчислень приєднаний конфігурований обчислювач (рис.1).


Рисунок 1. Загальна структура конфугурованого компьютера

Першу ЕОМ ЕNIAC можна вважати також і першою конфігурованою ЕОМ, так як вона програмувалась за допомогою комутаційного поля, яке задавало конфігурацію зв'язків між окремими регістрами і суматорами, а зміна конфігурації виконувалась ручною заміною "запрограмованої" комутаційної панелі[3] (рис.2.).

Ідея конфігурованої ЕОМ вперше була зформульована Джеральдом Естрайном чотири десятиріччя тому [4].


Рисунок 2. Архітектура ЕОМ ENIAC

В нашій країні напрямок конфігурованих ЕОМ успішно розвивався в проекті однорідного обчислювального середовища на вітчизняних мікросхемах "Райта" в 1981-1994рр. у Львівському НТЦ "Інтеграл" [5]. В рамках проекту було створено серію мікросхем програмованого обчислювального середовища (ООС), однорідного запам'ятовуючого середовища (ОЗС) і ряд обчислювачів на їхній основі для вирішення задач цифрової обробки сигналів і зображень. Обчислювальне середовище представляло собою прямокутну матрицю з найпростіших однобітних процесорів, які можуть бути запрограмовані на виконання однієї команди і підключення до найближчих сусідів (рис.3.).


Рисунок 3. Архітектура однорідного обчислювального середовища

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

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

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

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


Рисунок 4.Зростання потенціальної продуктивності ПЛІС в порівнянні зі зростанням швидкодії мікропроцесорів

Дані про продуктивність ПЛІС були одержані при проектуванні моделі 32-розрядного блоку множення з 64-розрядним акумулятором для різних кристалів ПЛІС, які випускаються фірмою Xilinx з відповідним роком початку випуску. Порівняння зростання потенціальної продуктивності ПЛІС і зростання швидкодії мікропроцесорів показує, що за той час, коли швидкодія (тактова частота) останніх зростає в 2 рази, потенціальна продуктивність ПЛІС (тобто продуктивність при якомога більшому використанні програмованих ресурсів) зростає приблизно в 6 разів.

В світі вже розроблено і розповсюджується більше 100 різних плат, які підключаються до ПЕОМ, і які призначені для прискорення обчислень на основі використання ПЛІС [7]. Конфігуровані компьютери досліджуються більш ніж в 40 університетах, серед яких: Берклі, Гарвардський, Карнеги Мэллона, Оксфордський, Кайзерлаутернский є найактивнішими. Багато досліджень в реальних експериментах показали високу ефективність такого використання ПЛІС. При цьому одна мікросхема ПЛІС забезпечує на порядок більшу швидкість виконання алгоритмів, ніж сучасний мікропроцесор. В таблиці 1.1. показані результати деяких таких досліджень.

   Таблиця 1.

Застосування

Тип ПЛІС

Максимальна ємність ПЛІС, вентилів

Прискорення в порівнянні з мікропроцесором, разів

Рік

Джерело

Розпізнавання військової цілі

Xilinx XC4010

10 тис.

7,5

1997

8

Множення, ділення, квадратний корінь 10000- розрядних чисел

Xilinx XC4044

44 тис.

2-14

1998

9

Формування діаграми направленності гідролокатора

Xilinx XC4062XL

62 тис.

8

1998

9

Генерація кривих Безьє

Xilinx ХC6216

16 тис.

48

1998

10

Дешифрування геномів хромосом

Xilinx XC4013

13 тис.

7,9

1999

11

QR- факторизація матриць

Xilinx XCV800

800 тис.

10

2001

12

Аналіз таблиці показує, що конфігуровані комп'ютери мають високу ефективність на тих задачах, виконання яких потребує суттєво іншу архітектуру обчислювача, ніж архітектура сучасних мікропроцесорів. Це, наприклад, обробка на бітовому рівні, потокові задачі на порівняння і тасування, обробка даних в нестандартному форматі, як наприклад, багаторозрядних чисел. Тому на сьогоднішній день найефективніше використання на практиці ідея конфігурованого компьютера знайшла в серійно випускаємому конфігурованому суперкомпьютері DeCypher фірми TimeLogic, який використовується для вирішення задач дешифрування геномів людських хромосом і який має продуктивність в 6000 раз більшу ніж PentiumIII на відповідних задачах .

2. Перспективні архітектури конфігурорваних компьютерів.

2.1. Обмеження існуючих архітектур.

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

  Обчислювальна задача має наступні фази, які виконуються послідовно:

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


Рисунок 5. Архітектура конфігурованого компьютера з шиною РСІ

Тому розробляються і впроваджуються нові архітектури конфігурованих ЕОМ, в яких мінімізоване це вузьке місце. Далі розлядаються саме такі архітектури

2.2. Архітектура ПЛІС з апаратним мікропроцессорним ядром.

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

Розміщення мікропроцесорного ядра на кристалі великої ПЛІС є напрямком, якому приділяється найбільш уваги і в який вкладаються найбільші інвестиції. Начально цей напрямок виник у зв'язку з розповсюдженням сучасної технології розробки систем обробки на одному кристалі (System On the Chip, SOC). Така система складається з мікропроцесорного ядра загального призначення і різноманітних периферійних пристроїв, як наприклад, ОЗП, ПЗП, порти вводу-виводу, процесори спеціальної обробки, аналогові схеми, тощо.

Звичайно, мікропроцесорне ядро можна реалізувати на тій самій програмованій логіці (див. нижче). Але апаратне ядро відрізняється в 2-5 разів більшою тактовою частотою, на порядок меншою займаємою площею на кристалі, значно меншим енергоживленням. Проект з таким ядром простіше відображати в ПЛІС (швидше синтез, розводка, тестування).

В таблиці 2. показані фірми-виготовники ПЛІС та серії ПЛІС, в яких розміщене аппаратне ядро мікропроцесора.

  Таблиця 2.

Фірма

Серія ПЛІС

Архітектура мікропроцесора

Розрядність

Xilinx

VirtexII

PowerPC

32

Altera

APEX

MIPS

32

Altera

APEX

ARM

32

QuickLogic

QuickMIPS

MIPS32Kc

32

Atmel

AT40K

AVR

8

Triscend

TE5

i8051

8

В цій архітектурі найчастіше застосовується суперскалярне RISC-ядро з тактовою частотою до 100-200 і більше МГц. Такої продуктивності достатньо для виконання керуючих частин алгоритмів для великої множини застосувань. Програмовані ресурси ПЛІС застосовуються для реалізації різноманітних периферійних пристроїв. Найбільш ефективним периферійним пристроєм є спеціалізований процесор для виконання функцій, які потребують великої інтенсивності обчислень. Такий процесор може виконувати з максимальною продуктивністю, наприклад, алгоритми, приведені в таблиці 1.

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

2.3. Архітектура мікропроцессорного ядра з конфігурованим прискорювачем

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

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

2.4. Прискорювач виконання команд.

При розгляданні проблеми прискорення обчислень в мікропроцесорах зі складною системою команд (СISC) в першу чергу виникає думка прискорити виконання складних команд і процедур в додатковому блоці, який приєднаний безпосередньо до ядра мікропроцесора як математичний сопроцесор. Прикладами таких конфігурованих компьютерів є проект PRISC, який проводився в Гарвардському університеті [13], проект Chimaera який проводився в університеті Northwestern [14] і проект ConCISe науково-дослідної лабораторіїї фірми Філіпс [15]. Структура такого конфігурованого компьютера показана на рис. 6.


Рисунок 6. Архітектура конфігурованого прискорюавча виконання команд

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

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

2.5. Реконфігурований конвейер.

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

Архітектура такого обчислювача показана на рис. 7.


Рисунок 7. Архітектура конфігурованого конвейера

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

Представниками такої архітектури є компьютер RaPiD Вашингтонського університету [16] , обчислювач OneChip-98 [17] , PipeRench університету Карнегі-Меллона [18].

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

2.6. Система неоднорідних обчислювальних ресурсів з реконфігурованими зв'язками.

Структура програмованого обчислювального середовища розрахована на реалізацію необмеженої множини різноманітних обчислювальних функцій. Для реалізаціі такої універсальності необхідні надмірні схемні ресурси. Так, в ПЛІС Xilinx для програмування одного вентиля необхідно закодувати до 20-30 біт інформації. Насправді реальні прикладні задачі мають цілком конкретну множину алгоритмів з характерними властивостями. В зв'язку з цим має сенс побудова конфігурованого обчислювача, в основі якого лежить множина неоднорідних обчислювальних ресурсів, в тому числі такі, як ПЛІС, які можна з"єднувати між собою за допомогою програмованих ліній.

Представником архітектури система неоднорідних обчислювальних ресурсів з реконфігурованими зв'язками є проект Pleiades, який проводиться в Берклі [19]. На одному кристалі конфігурованого обчислювача розміщуються як мікропроцесорне ядро, так і неоднорідні ресурси, такі, як ПЛІС, ОЗП, АЛП, блоки множення, які з'єднуються між собою через програмовані лінії зв'язку

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


Рисунок 8. Архітектура системи неоднорідних обчислювальних ресурсів з реконфігурованими зв'язками

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

3. Решітка процесорних елементів з конфігурованими зв'язками.

В ПЛІС основною одиницею логічного (апаратного) програмування є 4-входова логічна таблиця (LUT). В деяких експериментальних конфігурованих системах такою одиницею виступає 4- бітовий арифметико-логічний блок (проект CHESS), 8- бітовий арифметико-логічний блок (PipeRench) і навіть 16- бітовий арифметико-логічний блок (RaPiD). Таке укрупнення основної апаратної одиниці програмування приводить, по- перше, до мінімізації об'єму конфігуруючої інформації і до зменшення аппаратурних витрат на один вентиль, по- друге, до підвищення швидкодії, так як ця одиниця стає більш спеціалізованою.

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

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

Фірма IBM розробяє систему 174 ПЕ на кристалі. Один 32-розрядний ПЕ з архітектурою Tensilica займає 92 тис. вентилів і має тактову частоту до 320 МГц.

Фірма ARC розробяє систему 256 ПЕ на кристалі з архітектурою ARC , які керуються чотирма іншими ПЕ [20].

Фірма Pact розробила систему 128 тридцятидвохрозрядних ПЕ на кристалі, яка називається Extreme Processor Platform (XPP). Система має пікову продуктивність 12,8 млрд. множень і складань за секунду при тактовій частоті 100 МГц [21].

Фірма Chameleon Systems розробила систему 108 тридцятидвох-розрядних ПЕ на кристалі, яка називається Cs2112. Система має таку продуктивність, яку б мав процесор Pentium при тактовій частоті 12 ГГц. Система відрізняється тим, що для конфігурування кристалу досить 50 тис. біт і переконфігурування займає всього 20 мікросекунд [22].

4. Конфігуроване ядро процесорного елементу
З вищеприведеноного можна зробити наступні попередні висновки.

Тому цілком зрозуміло, що в світі приділяється багато уваги розробці конфігурованих ядер процесорних елементів, так званих, Soft PU Cores. Ці ПЕ можна використовувати як в якості керуючого мікропроцесорного ядра, так і як ПЕ з решітки. Переваги використання таких ПЕ полягають в наступному:

На сьогоднішній день розроблено і використовується конфігурованих ПЕ більше ніж 30 різних архітектур. В таблиці 3. приведені дані про конфігуровані ядра процесорних елементів, які використовуються при розробці різноманітних впроваджень ПЛІС. Апаратні витрати дані в кількості логічних модулів (LC) або груп логічних модулів (CLB slices) де 2 LC " 1 CLB slice " 10-20 вентилів.

Таблиця 3.

Назва

Аналог мікропроцесора

Розрядність

ПЛІС, де використовується

Апаратні витрати

Тактова частота, МГц

Джерело

Free-6502

Motorola 6502

8

Altera EP20K100E-1

2057 LC

28

23

Free-6502

Motorola 6502

8

Xilinx XCV100E-8

557 slices

39

23

Nios

Altera-Nios RISC

16

Altera EP20K100E

1100LC

50

24

Nios

Altera-Nios RISC

32

Altera EP20K100E

1700LC

50

24

Leon

SPARC

32

Altera 10K200E-1

5400LC+ EAB RAM

22

25

Leon

SPARC

32

Xilinx XCV300E-8

2400 slices +block RAM

45

25

KCPCM

Xilinx KCPCM

8

Xilinx Virtex

35 slices

35

26

MicroBlaze

Xilinx MicroBlaze

32

Xilinx Virtex-II

400-450slices

125

26

uP1232

OpenUP

8

Xilinx XC400E

200 CLBs

30

27

xr16vx

Gray XR16

16

Xilinx XC2S100-5

255 slices

48

28

GR0040

Gray XR16

16

Xilinx Spartan II

50 slices +2 block RAM

50

28

GR0050

Gray XR32

32

Xilinx Spartan II

75 slices +2 block RAM

50

28

ARC base

ARC

32

Xilinx Virtex

1538 slices

37

29

DR8051

Intel 8051

8

Xilinx XCV300E-8

1045

56

30

Для порівняння сучасні ПЛІС мають об'єм до 60 тис. CLB slices, тобто на одному кристалі можна розмістити до 110 ПЕ з архітектурою 6502 або 25 ПЕ з такою потужною архітектурою, як SPARC. При цьому питома ціна одного ПЕ складатиме 5-20 USD і менше.

Специфіка реалізації ПЕ в ПЛІС полягає в тому, що ПЕ з меншими апаратними витратами мають більше відношення продуктивність-ціна при реалізаціі тих самих алгоритмів. Це пояснюється тим, що в ПЛІС ефективно реалізуються маловходова логіка і схеми з малою кількістю міжрегістрових з'єднань. Такі схеми мають також підвищену тактову частоту. Тому для реалізації в ПЛІС має сенс розробляти ПЕ з архітектурою, яка адаптована до цього програмованого середовища. ПЕ з RISC- архітектурою XR16 i XR32 (см. табл.3) є прикладом такої архітектури. Такий ПЕ забезпечує до 50 млн. операцій в секунду і має мінімальні аппаратні витрати. Недоліками його є те, що для його програмування необхідно використовувати нестандартний ассемблер, а такі операції, як множення, ділення виконуються як підпрограми.

5. Реалізація алгортимів в конфігурованих компьютерах.

Найчастіше як програмоване обчислювальне середовище використовуються ПЛІС. Тому найпоширенішим підходом до програмування цього середовища є використання інструментальних засобів і методик розробки проектів для ПЛІС.

В даний час такі проекти розробляються при використанні технології опису апаратури на рівні регістрових передач (RTL -level) за допомогою мов високого рівня, таких як VHDL i Verilog. Існує велика множина САПР для реалізації і підтримки цієї технології, які випускаються такими фірмами, як Сadence, Synopsys, Mentor Graphics, Exemplar, Synplicity та інші. Ці САПРи весь час покращуються і стають більш швидкодіючими. Але продуктивність розробників проектів для ПЛІС зростає не швидше, ніж на 20% за рік і складає зараз близько 20-100 тис. вентилів за рік на спеціаліста-розробника. При цьому праця розробника потребує значно вищої кваліфікації, ніж кваліфікація звичайного програміста.

Якщо вважати, що складність проектів для ПЛІС зростає не менше, ніж на 60% за рік, а об'єм мікросхем ПЛІС, які випускаються, зростає ще швидше, то слід зробити висновок, що необхідно кардинально збільшити продуктивність розробників як проектів для ПЛІС, так і "твердих" програм для конфігурованих компьютерів.

В роботі [31] пропонується підвищувати продуктивність розробників завдяки розвитку наступних трьох напрямків.

  1. Розробка бібліотек функціональних модулів, так званих, обчислювальних заготовок, а також програм для їхньої генерації. Обчислювальна заготовка є проектом деякого модуля для ПЛІС або замовленої ЗВІС, яка відрізняється властивостями високого ступеня повторюваності (надійно реалізується в широкій множині різної елементної бази, не потребує додаткової спеціальної відладки, придатна для тестування по стандартним методикам), а також настроюваності своїх параметрів, як наприклад, розрядність, швидкодія, різновид алгоритму функціонування, тощо. Повторне використання обчислювальних заготовок економить час розробників і приводить до високого рівня якості проекту. Воно може бути використано аналогічно тому, як використовуються об'єкти в технології об'єктно-орієнтованого програмування.
  2. Розробка і впровадження САПР сумісного проектування апаратно-програмного забезпечення (hardware - software codesign). Як показано вище, базовою архітектурою конфігурованого компьютера вважається архітектура мікропроцесорного ядра з конфігурованим обчислювальним середовищем. Досі процес розробки застосувань для неї складався з трьох окремих послідовних стадій: розробка матзабезпечення мікропроцесора, розробка прошивки конфігурованого середовища і стикування результатів попередніх стадій. З метою прискорення процесу розробки пропонують суміщати ці три стадії в одній. При цьому САПР сумісного проектування апаратно-програмного забезпечення повинна забезпечувати не тільки одночасне виконання завдань цих стадій, але і автоматизоване складання моделі системи мікропоцесора з конфігурованим середовищем, моделювання на ній функціонування системи з різною детальністю опису на всіх етапах проектування, а також перевірку правильності еквівалентності перетворень начального алгоритму в результуючі програми і "твердої" програми, а також їхньої відповідності правилам і нормам проектування (формальна верифікація).
  3. Розробка і впровадження САПР безпосереднього відображення алгоритмів в апаратуру, так званих, САПР системного проектування. Наприклад, така САПР може включати в себе:

6. Висновки.

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

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

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

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

Так як найрозповсюдженим програмованим середовищем є і будуть залишатись ПЛІС, об'єм яких постійно зростає, ефективним є впровадження конфігурованих ядер процесорних елементів, так званих, Soft PU Cores.

При впровадженні конфігурованих компьютерів найкритичнішою виступає проблема ускладнення програмування конфігурованого середовища і необхідності його прискорення. Ця проблема пов'язана з тим, що продуктивність розробки "прошивки" ПЛІС залишається низькою.

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

Посилання
  1. J. Villasenor, W.H.Mangione-Smith. Configurable Computing// Scientific American, №6, 1997.
  2. Дж. Г. Брэйнерд, Т.К.Шарплес. ЭНИАК.// ТИИЭР -1984. -Т. 72 -№9.- с.106-118.
  3. G. Estrin. FIXED + VARIABLE computer //IEEE Trans. on Electronic Computers, v12, p747-754,755-773, 1963. Proc. of the Wester Joint Computer Conference, p. 33, 1960.
  4. Богачев М.П., Геворкян В.И., Сулицкий Ю.Н., Осокин Ю.В. Быстродействующая настраиваемая однородная вычислительная середа на основе микроєлектроники// Методы и микроэлектронные средства цифрового преобразования и обработки сигналов. Тезисы докладов конференции. -Рига.-Т.2. -1983. -с.333-340.
  5. Каляев А.В. Многопроцессорные системы с программируемой архитектурой. -М.: Радио и связь. -1984.- 240с.
  6. S. Guccione.List of FPGA-based Computing Machines. Available at http://www.io.com/~guccione/HW_list.html
  7. M.Rencher, B.L.Hutchings. Automated target recognition on SPLASH-2. //In K.L. Pocek, J.Arnold, eds. Proc. IEEE Symposium on FPGAs for Custom Computing Machines, -Apr.-1997.-p.192-200.
  8. P.Graham, B. Nelson. Frequency-domain sonar processing in FPGAs and DSPs// In K.L. Pocek, J.Arnold, eds. //Proc. IEEE Symposium on FPGAs for Custom Computing Machines, -Apr.-1998.-p.304-305.
  9. D.MacVicar, S.Singh. Accelerating DTP with reconfigurable computing engines.// In R.W.Hartenstein, A.Keevallik, eds. Proc. 8-th Int. Workshop on Field Programmable Logic and Applications. V1482 of Lecture Notes in Computer Science, Aug.1998, pp. 391-395.
  10. E.Mosanya, E.Sanchez. A FPGA-based hardware implementation of generalized profile search using online arithmetic. // Proc. ACM/SIGDA Int. Symposium on Field Programmable Gate Arrays. -Feb.-1999. -p.101-111.
  11. A. Sergyienko, O. Maslennicov. Implementation of Givens QR Decomposition in FPGA// Proc. 4th Int. Conf. on Parallel Processing and Applied Mathematics - PPAM 2001, Naleczow, Poland, Sept. 9-12, 2001.
  12. Razdan R. Smith M.D.A high-performance microarchitecture with hardwarre-programmable functional units. In Proc. 27-th Annual Int. Symp. on Microarchitecture, Nov.,1994.-p.172-180/
  13. Hauck S., Li Z., Schwabe E. Configuration compression for the Xilinx XC6200 FPGA. In Pocek k.l., Arnold J.M., eds. Proc. IEEE Symp. on FPGAs for Custom Computing Machines. Apr. -1998. -p.87-96.
  14. Kastrup B., Bink A., Hoogerbrugge J. ConCISe: A compiler-driven CPLD-based instruction set accelerator. In . Pocek k.l., Arnold J.M., eds. Proc. IEEE Symp. on FPGAs for Custom Computing Machines. Apr. -1999. -p.92-101.
  15. Ebeling C., Cronquist D.C., Franclin P. RaPiD: reconfigurable pipeline datapath. In R. W. Hartenstein and M.Glesner, eds. Proc. 6th. Int. Workshop on Field Programmable Logic and Compilers, Aug.,1996, -p.126-135.
  16. Jacob J.A., Chow P. Memory interfacing and instruction specification for reconfigurable processors. // Proc. ACM/SIGDA Int Symp. on Field Programmable Gate Arrays, Feb. 1999. -p. 145-154.
  17. Goldstein S.C., Schmit H., Budiu M. Cadambi S. Moe M. Taylor R.R. PipeRench: A recjnfigurable architecture and compiler. Computer, V33, N4. -2000. -p.70-77.
  18. The Pleiades project homepage/ http:/info-pad.EECS.Berkeley.edu/research/reconfigurable/
  19. Calardo A. Comms warm a bit to reconfigurable processor. EE Times. -2001, N3, 30.
  20. Clarce P. Beefly parallel processor packs 128 cores. . EE Times. -2001, N9, 10.
  21. Wade W. Chameleon eyes ASIC segments with reconfigurable chip// EE Times. -2001. -N2. -15.
  22. Available at http:/www.free-ip.com
  23. Nios Soft Core Embedded Processor. Altera DataSheet. June,2000, Available at www.altera.com.
  24. Available at http://www.egroups.com/group/leon_sparc/
  25. Santarini M. Xilinx rolls soft core 32-bit MPU, eyes networking// EE Times. -2001. -N4, -04.
  26. Available at http://www.uva.es
  27. Available at http://www.fpgacpu.org/
  28. ARC 32-Bit Configurable RISC Processor data sheet, July 2000. Avaliable at www.xilinx.com/products/logicore/alliance/arc/risc_processor.pdf.
  29. DR8051 8-bit RISC microcontroller. Available at www.dcd.com.pl
  30. Keating M., Bricaud P. Reuse Methology Manual for System-On-a-Chip Designs. Kluwer Academic Publishers. -1999.-286p.

Назад