Розподілені складені|складові| комутатори

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

Один з варіантів створення|створіння| складених|складових| комутаторів полягає в об'єднанні прямокутних комутаторів (v+1| x v+1|), v > 1 таким чином, що один вхід і один вихід кожного комутатора, що становить, служать входом і виходом складеного|складового| комутатора. До кожного внутрішнього комутатора під'єднуються процесор і пам'ять, утворюючи обчислювальний модуль з|із| v-каналами| для з'єднання|сполучення,сполуки| з|із| іншими обчислювальними модулями. Вільні v-входов| і v-выходов| кожного обчислювального модуля з'єднуються лініями " точка- точка" з|із| входами і виходами інших комутаторів, утворюючи граф міжмодульних зв'язків.

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

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

 

17. Основні етапи проектування комп’ютерних систем з використанням моделей

При автоматизованому проектуванні розробник оперує не з самими об’єктами, а з їх моделями тобто моделювання виступає і як процес, і як засіб, за допомогою якого створюється проект складної системи [3, стор. 28].

Проектування як один із видів інженерної діяльності володіє рядом специфічних особливостей [3, стор. 23]:

· результатом проектування є модель об’єкта, яка ще не існує в період проектування;

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

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

Основними етапами проектування є:

1. Попереднє проектування

2. Ескізне проектування

3. Технічне проектування

Етап попереднього проектування системи можна умовно представити у вигляді наступної таблиці 2.1 :

Таблиця 2.1

Вхідні дані Зміст Результати
Бібліотека минулих розробок (банк даних). Характеристики систем елементів. Технічне завдання на систему (множина основних обмежень і цілей системи) Наближена оцінка варіантів розробки; вибір системи елементів і грубої архітектоніки системи Розраховані аналітично або за допомогою ЕОМ параметри системи елементів і грубих варіантів архітектоніки.

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

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

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

Основний зміст етапу ескізного проектування можна умовно представити у вигляді таблиці 2.2

Таблиця 2.2

Вхідні дані Зміст Результати
Грубі варіанти структури; Елементна базу; первинні алгоритми функціонування структури. Уточнення розрахунком і моделювання структури, створення єдиного алгоритму функціонування системи. Створення функціонального опису. Розробка функціональних і принципових схем. Структура системи (архітектоніки, блок-схеми). Рівняння функціонування графіки, часові діаграми, тести, таблиці, система команд.

 

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

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

Таблиця 2.3

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

 

18. Опишіть процес проектування комп’ютерних систем по HDL-технології.

Справжнього поширення мови HDLнабули в результаті розвитку відповідної апаратної бази – інтегральних мікросхем (ІМС) із змінноювнутрішньою логічною структурою. Цей клас ІМС називається програмованими логічними інтегральними схемами (ПЛІС).[4, стор. 8]

У відповідності до сучасних вимог системи автоматизованогопроектування ПЛІС повинні забезпечувати:

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

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

· реалізацію засобів моделювання поведінки описаного об’єкта;

· реалізацію засобів синтезу бітового потоку з підтримкою широкого класу серій ІМС;

· реалізацію засобів моделювання об’єкта на рівні вентилів;

· реалізацію засобів програмування ІМС.

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

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

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

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

· На четвертому етапі (етапі синтезу) здійснюється перехід від синтезної моделі до логічної структури та бітового потоку, який завантажується безпосередньо в ПЛІС. Підетап IVa представляє собою перехід від синтезної моделі до моделі рівня регістрових передач (Register Transfer Level Model – RTL-model). Така модель включає лише стандартні компоненти цифрових пристроїв, такі як регістри, лічильники, дешифратори, тригери тощо. На підетапі IVb (Place&Routing – розміщення і маршрутизація) RTL-модель розміщується на ПЛІС з формуванням зв’язків між окремими компонентами.

· На підетапі IVc формується бітовий потік, який завантажується безпосередньо до ПЛІС. Після цього проводиться остаточне тестування вже апаратно реалізованого цифрового пристрою.

Рис. 1. проектування цифрових пристроїв на базі ПЛІС

 

19. Відкриті системи та моделі OSI

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

Модель взаємодії відкритих систем (Open System Interconnection, OSI) визначає різні рівні взаємодії систем в мережах з комутацією пакетів, дає їм стандартні імена і вказує, які функції повинен виконувати кожний рівень.[1]

У моделі OSI (рис. 4.1) засоби взаємодії діляться на сім рівнів: прикладний, представницький, сеансовий, транспортний, мережевий, канальний і фізичний. Кожен рівень має справу з певним аспектом взаємодії мережевих пристроїв.

Рис. 4.1. Модель взаємодії відкритих систем OSI.

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

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

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

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

20. Принципи побудови реконфігурованих систем

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

Р

ис7.1Реконфігурована система

Структура реконфігурованою системи складається з 2-х частин:

-постійної (або "фіксованої") частини комп'ютера (F)

- змінної частини (V), так званого "реконфігурованого" обладнання, яке можна об'єднувати в різні конфігурації.

 

Реконфігуроване обладнання також поділяється на дві частини: "стандартну" частину, яка підключається до фіксованої через стандартні шини host комп'ютера і представлена ​​материнською платою з локальною внутрішньою шиною для підключення "нестандартної" частини, що представляє собою широкий набір модулів розширення. Операції, що виконуються в кожній з частин, визначаються наступними характеристиками: в постійній частині: часом обчислень і вихідними даними; в змінній - також додатковим обладнанням, необхідним для виконання відповідних операцій, часом передачі інформації між обчислювальними модулями і часом реконфігурації системи (завантаження soft cores в кристали ПЛІС).

 

У даній системі конфігурація формується таким чином, щоб перенести основну роботу з F - частини системи на спеціалізовані блоки (V - частина), які представляють собою soft cores. Для строго сформульованої обчислювальної задачі (де однозначно визначені всі чисельні процедури) та опис характеристик операцій для F і V потрібно організувати загальну структуру і розподілити обчислення таким чином, щоб мінімізувати цільову функцію (сума вартостей реконфігурації і часу обчислень) [4].

 

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

 

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

 

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

21. ОБЧИСЛЮВАЛЬНІ СИСТЕМИ. РІВНІ ПАРАЛЕЛІЗМУ

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

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

Як показує історія, паралелізм, який застосовується для підвищення ефективності ЕОМ з моменту появи ранніх проектів, використовувався на кількох визначених рівнях, які можна було класифікувати наступним чином:

  1. Рівень завдань: а) між завданнями, б) між фазами завдання.
  2. Програмний рівень: а) між частинами програми, б) в межах циклів DO.
  3. Командний рівень: між фазами виконання команд.
  4. Арифметичний і розрядний рівень: а) між елементами векторної операції;

б) всередині логічних схем арифметичного пристрою [2, стор. 34].

На найвищому рівні призначення обчислювальної установки полягає в максимізації швидкості обробки завдань. При спрощеному аналізі кожне завдання можна розглядати як завдання, поділене на кілька послідовних фаз, кожна з яких вимагає різних програм і ресурсів системи. Типовими фазами можуть бути: введення вихідної програми на мові Фортран з диска, компіляція програми в об'єктний код, зв'язок об'єктного коду з різними бібліотечними підпрограмами, виконання результуючого модуля; роздрук вихідних файлів. Будь-яка операція вводу-виводу є дуже повільною, порівняно з виконанням програми, внаслідок чого будь-яка велика обчислювальна система забезпечується декількома каналами введення-виведення або периферійними процесорами, які можуть здійснювати введення-виведення паралельно з виконанням програм, а також комплектом дисководів. Є системи з одним процесором для виконання програм, а також є системи, що містять два або більше процесорів. Призначення операційної системи - організувати поділ системних ресурсів між різними завданнями. Зазвичай кілька програм (наприклад, 5 - 10) розміщуються в швидкодіючій пам'яті ЕОМ і, якщо є один процесор, то тільки одна перебуватиме у стадії виконання. Як тільки цій програмі буде потрібний повільний пристрій введення-виведення, наприклад, читання з диска, ця операція запускається в канал і виконується інша програма. Перша програма знаходиться в режимі очікування, поки не надійдуть необхідні дані, і потім управління знову передається їй. Аналогічно інші програми зобов'язані перебувати в режимі очікування. Таким чином, введення-виведення одного завдання поєднується з виконанням іншого, в динамічному режимі трапляється, що для виконання завдань в залежності від вимог в певний час ЕОМ використовується колективно [2, стор. 34-35].

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

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

На найнижчому рівні в самому АЛП є вибір: виконувати арифметичні дії або розрядно-послідовним способом, або паралельно над усіма розрядами числа. Існують проміжні варіанти: наприклад, можна виробляти логічні операції над усіма розрядами байта1 паралельно, а вибірку байтів числа послідовно

22. СИСТЕМИ НА КРИСТАЛІ ТА ЇХ ВИДИ

Раніше створені розробниками систем і апаратури функціонально-закінчені вузли, блоки, окремі субсистеми, конструктивно реалізовані у вигляді друкованих плат, з десятками типів універсальних і спеціалізованих мікросхем і окремих компонентів, успішно трансформуються в якісно нову реалізацію - спеціалізовані надвеликі інтегральні схеми типу «система на кристалі» (« System on chip» - далі SoC) [5, стор. 13].

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

Рис. 12.1. Загальна блок-схема “Системи на кристалі” [5, стор. 16]

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

Загалом, SoC проект включає в себе як мінімум один програмований процесор, внутрішньокристальну пам'ять, апаратно реалізовані функціональні елементи. У SoC також включаються інтерфейси з периферійними пристроями та (або) із зовнішнім середовищем (рис 12.1). SoC проекти включають як апаратні, так і програмні компоненти. Так як SoC схеми взаємодіють із зовнішнім середовищем, вони часто мають включати аналогові компоненти, а в майбутньому можуть містити також компоненти оптичних / мікроелектронних механічних систем (О/MEMS) [5, стор. 16].

Типова вбудована система, побудована на базі SoC, містить різніманітні набори наступних інтерфейсів і контролерів:

· системна шина і контролери шин LPC/ISA, PCI, PCMCIA;

· контролери управління NOR/NAND Flash, SDRAM, SRAM, DDR;

· контролер Ethernet;

· послідовні інтерфейси UART, SPI / SSP / uWire, RS-232, RS-422/485, CAN;

· бездротові інтерфейси WiFi / IEEE802.11, ZigBee, Bluetooth, IrDA;

· інтерфейси підтримки Flash-карт пам'яті: SD/MMC, CompactFlash, MemoryStick;

· контролер LCD STN / TFT / OLED;

· контролер матричної клавіатури;

· модулі бездротової передачі даних GSM / GPRS, CDMA;

· модулі прийому сигналів супутникових навігаційних систем GPS, Glonass;

· апаратні підтримки плаваючої коми, шифрування, DRM тощо;

· аудіо- і відео-інтерфейси.

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

· за процесорним ядром ARM, MIPS, PowerPC, x86 тощо;

· за продуктивністю ядра і за частотою системної шини;

· за набором інтерфейсів;

· за вартістю кристала і за масою;

· за позиціонуванням кристала виробником.

Також системи на кристалі класифікують за їх застосуванням.

· для бюджетних застосувань;

· для пристроїв віддаленого управління;

· для термінальних пристроїв;

· двоядерні (dual core) для обробки даних;

· для спецобчислювачів на основі ПЛІС.

23. Стадії реалізації проекту комп’ютерних систем на кристалі

Система на кристалі (СНК) - це ПВІС (понад велика інтегральна схема), інтегруюча на кристалі різні функціональні блоки, які утворюють закінчений виріб для автономного застосування в електронній апаратурі. В англомовній літературі називається System-on-a-Chip, SoC.

.

Рис 15.1. Основні складові процесу проектування SoC

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

· розробка програмного забезпечення;

· розробка RTL-коду;

· логічний синтез;

· фізичний синтез;

Під час виконання цього процесу групи розробників обмінюються результатами проектування. [3, стор. 69]

Аналіз вимог Soc - це визначення і опис складної Soc, як кінцевого продукту. Вихідною інформацією тут є набір характеристик майбутньої Soc, як функціональних, так і не функціональних, отриманих в результаті маркетингових досліджень: ціна, розміри, споживання енергії, тип корпусу і т.д. Даний етап має дати відповідь на питання: чи є даний проект здійсненним. [3, стор. 70 ]

Розробка і аналіз алгоритму. На даному етапі створюються, адаптуються і досліджуються ключові алгоритми роботи Soc, такі як управління системою, обробка даних. Алгоритми управління часто виражаються в формі автомата з кінцевим числом станів. Алгоритми обробки даних, як правило, записуються на мові спеціалізованих програмних середовищ, наприклад на С/C++.

Архітектура Soc. На цьому етапі визначається базова архітектура майбутньої Soc. Дуже важливо вибрати комунікаційну архітектуру, яка стане каркасом для Soc. Вибір неадекватної комунікаційної архітектури може зробити Soc громіздкою. В першу чергу потрібно опри ділитися з програмованими процесорними ядрами. [3, стор. 71 ]

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

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

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

Конфігурація і планування мікроархітектури SoC. На цьому етапі детально розглядається SoC з точки зору логічного і фізичного проектування. [3, стор. 73 ] Перед тим як деталізувати проект на фізичному рівні потрібно виконати наступне:

- затвердити фізичне планування кристалу;

- завершити роботу з IP-блоками;

- остаточно сконфігурувати мікроархітектуру;

- реалізувати всі апаратні блоки.

Архітектура DFT і її впровадження. Додаткові схеми для тестування і самотестування готових НВІС (DFT – Design-for-Test) обов'язково треба вмонтувати в SoC.

Реалізація і впровадження AMS блоків. Більшість SoC включає в себе аналогові і змішані (цифро-аналогові) блоки (AMS – Analog/Mixed Signal), щоб забезпечити зв'язок із зовнішнім світом.

Інтеграція апаратних IP-блоків. [3, стор. 74 ]

Асемблювання ПЗ і його інтеграція в SoC.ІР-блоки, з ПЗ, так само як і апаратні ІР-блоків повинні бути адаптовані до даної SoC, інтегровані і верифіковані в складі SoC.

Програмно-апаратна верифікація. Існує цілий ряд підходів для виконання спільної верифікації АЗ і ПЗ. Вмонтоване ПЗ на рівні інструкцій процесора може бути повністю реалізоване у вигляді програмної моделі (наприклад, на мові С/C++), або апаратна частина у вигляді RTL-коду, переданого емулятору, а програмна частина буде виконуватися на робочій станції в режимі реального часу. Інший підхід до виконання програмно-апаратної верифікації – створення змішаного прототипу, де знову освоєні блоки можуть або емалюватися або моделюватися на робочій станції. [3, стор. 75 ]

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

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

 

24. Особливості та відмінності моделювання і верифікації проектування комп’ютерних систем.

 

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

Взаємозв'язок перерахованих етапів моделювання систем та їх складових (підетапів) може бути представлена ​​у вигляді мережного графіку (рис. 17.1). [5, стор. 86 ]

 

Рис. 17.1. Взаємозв’язок етапів моделювання системи

 

Перерахуємо ці підетапи:

1.1 - постановка задачі машинного моделювання системи;

1.2 - аналіз задачі моделювання системи;

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

1.4 - висунення гіпотез і прийняття припущень;

1.5 - визначення параметрів і змінних моделі;

1.6 - встановлення основного змісту моделі;

1.7 – обґрунтування критеріїв оцінки ефективності системи;

1.8 – визначення процедур апроксимації;

1.9 - опис концептуальної моделі системи;

1.10 - перевірка достовірності концептуальної моделі;

1.11 - складання технічної документації по першому етапу;

2.1 - побудова логічної схеми моделі;

2.2 – отримання математичних співвідношень;

2.3 - перевірка достовірності моделі системи;

2.4 - вибір інструментальних засобів для моделювання;

2.5 - складання плану виконання робіт з програмування;

2.6 - специфікація і побудова схеми програми,

2.7 - верифікація та перевірка достовірності схеми програми;

2.8 - проведення програмування моделі;

2.9 - перевірка достовірності програми;

2.10 - складання технічної документації по другому етапу;

3.1 - плакування машинного експерименту з моделлю системи;

3.2 - визначення вимог до обчислювальних засобів;

3.3 - проведення робочих розрахунків;

3.4 - аналіз результатів моделювання системи;

3.5 – подання результатів моделювання;

3.6 - інтерпретація результатів моделювання;

3.7 - підведення підсумків моделювання і видача рекомендацій;

3.8 - складання технічної документації по третього етапу.

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

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

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

 

25.