МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Національний університет “Львівська політехніка”
/
Кафедра ЕОМ
Лабораторна робота №1з дисципліни:” Комп`ютерні системи”
Львів – 2014
Тема: Ознайомлення з основними поняттями мови моделювання System C
Мета роботи: Ознайомитись з термінологією, специфікацією та іншіми основними поняттями мови моделювання System C
2). Які можливості має програміст для структурного програмування у SystemC_1.0?
Як і в HDL, програміст має можливість вести структурне проектування в SystemC 1.0, використовуючи модулі, порти, і сигнали. Модулі можуть складатися з інших модулів, створюючи певну ієрархію. Порти і сигнали забезпечують обмін даними між модулями, всім портам і сигналам програміст задає певний тип даних. Типи даних, що зазвичай використовуються, включають біти, вектори бітів, символи, цілі числа, числа з плаваючою комою, вектори цілих чисел тощо. SystemC 1.0 також включає підтримку чотирьох станів логічних сигналів (тобто сигналів, які моделюють 0, 1, X, і Z).
4). Які можливості має програміст для структурного програмування у SystemC_2.0?
SystemC 2.0 вводить новий набір особливостей для узагальненого моделювання зв’язків і синхронізації. Це—канали, інтерфейси, і події. Канал - це об'єкт, який служить контейнером для зв’язку і синхронізації. Канали реалізують один або більше інтерфейсів. Інтерфейс конкретизує набір методів доступу, які реалізуються в межах каналу, але інтерфейс безпосередньо не забезпечує реалізації. Подія - це гнучка, низькорівнева синхронізована примітива, яка використовується для побудови інших форм синхронізації.
Канали, інтерфейси, і події надають можливість програмістам моделювати широкий діапазон зв’язків і синхронізації, що використовуються в системних розробках. Приклади включають сигнали HW, черги (FIFO, LIFO, черги повідомлень, і т.п.), семафори, пам'ять і шини (як RTL, так і моделі, які базуються на групових операціях).
6). Що таке процес у мові SystemC_2.0?
Процеси відіграють центральну роль в SystemC. Вони визначають функціональність системи і дозволяють отримувати паралелізм в системі. Процеси містяться в модулях, і мають доступ до зовнішніх інтерфейсів каналу через порти модуля. Є різні види процесів і різні способи, щоб активізувати процеси.
В SystemC 1.0 процеси потоків не виконуються на стадії ініціалізації симулювання. Процеси методів виконуються на стадії ініціалізації симулювання в тому випадку, якщо вони створені чутливими до вхідних сигналів/портів.
В SystemC 2.0 всі процеси методів і процеси потоків будуть виконані на стадії ініціалізації симулювання. Якщо поведінка процесу потоку в SystemC 2.0 відрізняється від поведінки цього ж процесу в SystemC 1.0 необхідно вставити один оператор wait() перед нескінченним циклом процесу потоку.
8). Дайте визначення поняттю інтерфейс?
Інтерфейс конкретизує набір методів доступу, які реалізуються в межах каналу, але інтерфейс безпосередньо не забезпечує реалізації.
10). Дайте визначення поняттю подія?
Процес може призупинитись, або бути чутливий ло однієї чи більше подій. Події є причиною відновлення чи активізації процесів.
12). Які значення може мати модель часу у SystemC_2.0?
В SystemC 1.0. застосовується відносна модель часу з дійсними значеннями, наприклад, глобальна тактова частота належить до типу double і її одиниці часу не мають ніякого відношення до абсолютного одиниць часу, таких як секунди або наносекунди. Для IP обміну повинна бути можливість встановлення абсолютного час. До того ж, модель часу з цілими значеннями має очевидні переваги над моделлю часу з дійсними значеннями. SystemC 2.0. використовує абсолютну модель часу з цілими значеннями.
14).Який фізичний зміст у апаратурі комп’ютерних систем має поняття метод wait() у SystemC_2.0?
В деяких випадках нам потрібно щоб, процеси були чутливими до окремих подій або до сукупності подій, що можуть змінюватися в процесі виконання. Така динамічна чутливість може бути /досягнена за допомогою методу wait() Цей метод створений для забезпечення очікування на окремі події або сукупності подій.
16). Дайте визначення поняттю модуль?
Модуль – це структурний об’єкт, що може містити процеси, порти, канали, і інші модулі. Модулі дозволяють предстаквити структурну ієрархію.
18). У чому полягає різниця між абсолютним і відносним часом у SystemC_2.0?
В SystemC 1.0. застосовується відносна модель часу з дійсними значеннями, наприклад, глобальна тактова частота належить до типу double і її одиниці часу не мають ніякого відношення до абсолютного одиниць часу, таких як секунди або наносекунди. Для IP обміну повинна бути можливість встановлення абсолютного час. До того ж, модель часу з цілими значеннями має очевидні переваги над моделлю часу з дійсними значеннями. SystemC 2.0. використовує абсолютну модель часу з цілими значеннями.
20). Яку перевагу має модель часу з дійсними значеннями у порівнянні з моделлю з цілими значеннями?
Моделі часу з дійсними значеннями мають перевагу, яка полягає в тому, що „динамічний” діапазон одиниць часу набагато ширший, ніж в моделі часу з цілими значеннями. Але якщо подивитись на такі проблеми, як втрата значущих розрядів, переповнення та заокруглення часових значень при додаванні та приведенні до типу, модель часу з цілим значеннями має очевидні переваги.