Лекція 1-6

Теми занять

1,2
Вступ
1. Базові поняття
1.1 Історія розвитку, визначення СКС, характеристики

3
1.2 Технологія проектування СКС

4,5
1.3 Послідовність проектування СНК
1.3.1 Канонічна структура СНК
1.3.2 Послідовність проектування СНК

6
1.3.3 Специфікація СНК
1.3.4 Проектування СНК на системному рівні


Назва предмету “Проектування спеціалізованих комп’ютерних систем” (Ч.1)
Лекції – 45 годин
Практичні 15 годин
Курсовий проект – Розробка VHDL-моделі комп’ютера
1. БАЗОВІ ПОНЯТТЯ
ВИЗНАЧЕННЯ СКС, ХАРАКТЕРИСТИКИ
Універсальна комп’ютерна система – це система, що має архітектуру, набір структурних блоків, систему команд та конструктивно-технологічне виконання, що дозволяє однаково ефективно використовувати дану систему для рішення достатньо широкого кола різноманітних задач.
Прикладом комп’ютерної системи є:
Багатопроцесорні обчислювальної комплекси різної складності;
Мережні комп’ютерні обчислювальні системи;
Трансп’ютери і.т.д
Спеціалізована комп’ютерна система – це система, у якої особливості архітектури, набір структурних блоків, система команд чи конструктивно-технологічне виконання дозволяють суттєво підняти ефективність рішення достатньо вузького кола спеціалізованих задач в порівнянні з іншим застосуванням.
Прикладом сучасних спеціалізованих комп’ютерних систем є:
Спеціалізовані обчислювальні системи (співпроцесори, спеціалізовані процесори, реконфігуровані системи);
Автомобільні системи (ABS, круїз-контроль, паркування, навігації);
Цифрові фото та відео камери;
Системи зв’язку (мобільні телефони, факси, GPS);
Компоненти універсальних та спеціалізованих комп’ютерів (відеокарти, модеми, мережеве обладнання);
Системи медичної та технічної діагностики;
Іграшки.
і.т.д
Класифікація СКС (малюнок).
За конструктивно-технологічним виконанням – однокристальні та побудовані з використанням декількох дискретних інтегральних компонентів.
Можливості програмування – програмовані та непрограмовані
Архітектурні особливості - орієнтованими на обробку потоків даних чи потоків курування.
Серед характеристик СКС можна виділити наступні:
Висока продуктивність;
Інтелектуальність;
Висока складність;
Робота в реальному масштабі часу;
Ефективне використання ресурсів.
Приклад СКС, - цифрова комера.

В більшості випадків, сучасні спеціалізовані комп’ютерні системи є вбудованими та реалізованими у вигляді НВІС як системи на кристалі (СНК). СНК – system on chip(SoC). Завдяки реалізації СКС у вигляді НВІС досягається наступних характеристик:
Низька вартість при великих тиражах;
Низьке споживання;
Малий розмір;
Висока продуктивність.
Приклад типової СНК(SoC)

1.2 ОСОБЛИВОСТІ ПРОЕКТУВАННЯ СКС
Спеціалізовані комп’ютерні системи вирізняється великою різноманітністю архітектур та методик проектування. Основними чинниками, що визначають проектування СКС є:
висока складність;
поєднання аналогової та цифрових складових;
поєднання як апаратно орієнтованих компонент з програмованими процесорами
високі вимоги до засобів обміну інформації між компонентами системи;
жорсткі вимоги до продуктивності, вартості, споживаної потужності і.т.д.;
реалізація як СНК;
обмеження на час проектування та підготовки до масового випуску;
можливість модифікації системи.

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

З метою зменшення наведеного розриву, розробка системи повинна виконуватись з використанням засобів системного проектування, сучасних засобів розробки програмних та апаратних компонент. Використання мови асемлер та проектування на вентильному рівні суттєво збільшує час проектування та є недопустимим. Необхідним є коректне розбиття задачі на програмну та апаратні компоненти вже на системному рівні та визначення об’єму робіт над даними компонентами. Перед початком робіт над розробкою програмних та апаратних складових, необхідно чітко сформулювати основних їх вимоги.
При цьому, вимоги що ставляться до програмної складової є:
гнучкість;
реконфігурованість, можливість модифікації;
складність функціонування;
вартість.
До апаратної складової:
висока швидкодія;
низьке споживання;
низька вартість при великих тиражах.
При проектуванні СКС прийнято виділяти наступні рівні проектування, які є загальними для всіх послідовностей проектування та визначають рівень опису системи.
Системний рівень —на даному рівні СКС представляється та описується в формі конкурентних процесів, кожен з яких виконує певні функції. Результатом даного етапу є отримання структурної схеми СКС у вигляді процесорів, спеціалізованих пристроїв та шин. Формуються чіткі вимоги щодо функціонування кожного елемента СКС, формуються часткові ТЗ.
Високий-рівень – на даному рівні СКС представляється у вигляді поведінкового опису. Програмні складові системи представляються описом роботи алгоритмів мовою програмування. Апаратні складові кодуються мовою опису апаратних засобів на рівні міжрегістрових передач. Результатом даного рівня є отримання двійкового коду програм та функціональної схами пристрою.
Логічний рівень – компоненти системи представляються на рівні логічних схем, - виконується синтез комбінаційних та послідовнісних схем на рівні примітивних логічних елементів. Результатом даного рівня є отримання принципової схеми (netlist) пристрою.
Фізичний рівень —на основі принципової схеми виконується виготовлення СКС.
Послідовність проектування СКС може буде представлена наступною спрощеною послідовністю проектування.

Специфікація системи (System Specification). Виконується опис та моделювання роботи системи на рівні функціонування основних вузлів та блоків. Для специфікація системи та її опису використовуються засоби та мови програмування/проектування такі як:
Мови специфікації такі як UML, SDL.
Мови програмування C, C++, Java, Esterel, assembly languages.
Мови опису апаратних засобів VHDL, Verilog, SystemC.
Проектування
Оцінка Проводиться оцінка затрат обладнання на реалізацію апаратних компонент, об’єм програмного коду, оцінюється продуктивність. Актуальною є задачи оптимального розбиття на апаратні та програмні складові системи. Вибирається базова структура СКС та послідовність проектування.
Розбиття та проектування складових Програми компілюються у асемблерні коди мікропроцесора, можуть бути використані ОС реального часу, апаратні компонети представляється мовами опису апаратних засобів. Проводиться розробка шин та протоколів обміну інформації між компонентами системи.
Синтез
1.3. ПОСЛІДОВНІСТЬ ПРОЕКТУВАННЯ СНК
1.3.1 Канонічна структура СНК
СКС побудована на основі системи на кристалі (СНК), в більшості проектів має наступну структуру

Складається з наступних компонентів:
A microprocessor and its memory subsystem
On-chip buses (high-speed and low-speed) to provide the datapath between cores
A memory controller for external memory
A communications controller
A video decoder
A timer and interrupt controller
A general purpose I/O (GPIO) interface
A UART interface
Реальні СНК є великої складності. Реальні системи типово складаються з декількох ядер (IP Cores), декількох типів шин та інтерфейсів. Крім того сучасні СНК містять декілька мікропроцесорів та комбінації мікропроцесорів та процесорів обробки сигналів. Аналогічно, системи пам’яті є значної складності та різних типів, в багатьох випадках використовується багатопортова пам’ять, наприклад
Мікропроцесором системи може бути будь-який мікропроцесор від 8-ми бітногоt 8051 до 64-х бітного RISC.
Система внутрішньої пам’яті може бути одно чи багаторівневою, та може включати SRAM чи DRAM.
Зовнішня пам’ять може бути DRAM, SRAM, Flash.
Контролери вводу-виводу можуть містити контролери PCI, PCI-X, Ethernet, USB, IEEE 1394, ЦАП, АЦП.
Відеодекодерами можуть бути пристрої кодування MPEG, ASF, AVI.
Контролер інтерфейсів GPIO можуть містити буферні підсилювачі вихідних портів різного типу.
Процес проектування потребує специфікації СНК з метою подальшої розробки та тестування складових компонентів з метою виготовлення НВІС.
1.3.2 Послідовність проектування СНК
З метою забезпечення вимог до СНК, сучасні послідовності проектування проходять еволюцію в двох напрямках:
з водоспадної послідовності в спіральну;
з низхідної послідовності у комбіновану низхідну та висхідну послідовності проектвання.
Водостадна послідовність в порівнянні з спіральною
Традиційно при проектуванні НВІС СНК використовується т.зв. водоспадна послідовність проектування. При даній послідовності проектування розробка проекту виконується згідно заданої послідовності кроків з системного до фізичного рівня без повернення розробки з одного кроку в інший. При цьому, враховуючи велику складність проекту, на кожному кроці проектування радіюється інша команда розробників.
Після завершення розробки загалом, можливим є оцінка характеристик розробленої НВІС СНК. У випадку задоволення необхідних вимог до СНК виготовляється НВІС. У випадку незадоволення потреб, вносяться необхідні зміни в специфікацію системи і розробка повторюється. Після успішного тестува