- •7.091501 – Комп’ютерні системи та мережі
- •7.091503 – Спеціалізовані комп’ютерні системи
- •7.091501 – Комп’ютерні системи та мережі
- •7.091503 – Спеціалізовані комп’ютерні системи
- •2. Надійність і відмовостійкість
- •3. Масштабованість
- •4. Сумісність і мобільність програмного забезпечення
- •5. Класифікація комп'ютерів по галузям застосування Персональні комп'ютери та робочі станції
- •Сервери
- •Мейнфрейми
- •Кластерні архітектури
- •Контрольні запитання
- •Тести tpc
- •2. Тест tpc-a
- •3. Тест tpc-b
- •4. Тест tpc-c
- •5. Майбутні тести tpc
- •2. Архітектура системи команд. Класифікація процесорів (cisc і risc)
- •3. Методи адресації та типи даних Методи адресації
- •4. Типи команд
- •5. Команди керування потоком команд
- •6. Типи й розміри операндів
- •2. Найпростіша організація конвеєра й оцінка його продуктивності
- •3. Структурні конфлікти й способи їхньої мінімізації
- •4. Конфлікти за даними, зупинка конвеєра й реалізація механізму обходів
- •5. Класифікація конфліктів за даними
- •6. Конфлікти за даними, що призводять до призупинки конвеєра
- •7. Методика планування компілятора для усунення конфліктів за даними
- •Контрольні запитання
- •2. Зниження втрат на виконання команд умовного переходу
- •Метод вичікування
- •Метод повернення
- •Затримані переходи
- •3. Статичне прогнозування умовних переходів: використання технології компіляторів
- •2. Обробка багатотактних операцій і механізми обходів у довгих конвеєрах
- •3. Конфлікти й прискорені пересилання в довгих конвеєрах
- •4. Підтримка точних переривань
- •Контрольні запитання
- •2. Паралелізм рівня команд: залежності й конфлікти за даними
- •Залежності
- •3. Паралелізм рівня циклу: концепції та методи
- •4. Основи планування завантаження конвеєра й розгортання циклів
- •Контрольні запитання
- •2. Динамічна оптимізація із централізованою схемою виявлення конфліктів
- •2. Подальше зменшення зупинок по керуванню: буфера цільових адрес переходів
- •Контрольні запитання
- •Процесор з архітектурою 80x86 і Pentium.
- •Особливості процесорів з архітектурою spark компанії Sun Microsystems.
- •Процесори pa-risc компанії Newlett-Packard
- •2.Особливості процесорів з архітектурою sparc компанії Sun Microsystems
- •Процесори pa-risc компанії Hewlett-Packard
- •Контрольні запитання
- •Процесор mc88110 компанії Motorola.
- •Особливості архітектури mips компанії mips Technology.
- •Особливості архітектури Alpha компанії dec.
- •Особливості архітектури power компанії ibm і power pc компанії Motorola, Apple і ibm.
- •2.Особливості архітектури mips компанії mips Technology
- •3.Особливості архітектури Alpha компанії dec
- •4.Особливості архітектури power компанії ibm і PowerPc компаній Motorola, Apple і ibm
- •Архітектура power
- •Еволюція архітектури power у напрямку архітектури PowerPc
- •Процесор PowerPc 603
- •Контрольні запитання
- •Термінологія в області паралельної обробки .
- •Питання створення програмного забезпечення.
- •Ахітектура паралельної обробки.
- •2.Питання створення програмного забезпечення.
- •1) Язикові розширення.
- •2) Розширення компіляторів.
- •3) Додавання нового язикового рівня.
- •4) Нова мова.
- •3.Архітектура паралельної обробки.
- •4.Елементи теорії конкурентних процесів. Події та процеси
- •Особливості мов конкурентного програмування
- •Моделі конкурентних процесів
- •Взаємодія процесів, синхронізація й передача даних
- •2. Внутрішня архітектура трансп’ютера
- •3. Послідовна обробка
- •Регістри трансп’ютера
- •4. Інструкції
- •Безпосередні функції
- •Непрямі функції
- •Ефективність кодування
- •5. Підтримка паралелізму
- •6. Зв'язок
- •Лінії зв'язку
- •7. Таймер
- •8. Альтернативне виконання
- •9. Інструкції із плаваючою крапкою
- •Контрольні запитання
- •2. Найпростіші процеси-примітиви
- •3. Послідовні процеси-композиції
- •4. Паралельні процеси
- •5. Канали зв'язку
- •6. Конструктор альтернативного процесу
- •7. Описи
- •8. Масиви
- •9. Оголошення процесів
- •10. Цикли і масиви процесів
- •Контрольні запитання
- •2. Структури програмування
- •Прості паралельні процеси
- •Синхронізація за допомогою керуючих сигналів
- •3. Мовні засоби для програмування в реальному масштабі часу
- •4. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
4. Використання мови оккам для рішення завдань системного програмування
Мова Оккам добре описує завдання системного програмування. Її перевага перед іншими мовами особливо очевидна при рішенні завдань розподілу обчислювальних ресурсів, при програмуванні механізмів захвату, а також при синхронізації роботи псевдопаралельних процесів на одному процесорі або паралельних процесів на багатопроцесорній обчислювальній системі.
Така перевага з'явилася завдяки простому трактуванню за допомогою цієї мови паралельної обробки, а саме головне, завдяки простій і однорідній структурі механізму передач повідомлень, що забезпечує рівноправне рандеву між паралельними процесами. Остання обставина звільняє програміста від кодування різних механізмів синхронізації, подібних до класичних операцій із семафорами.
Розглянемо типове завдання системного програмування - розподіл загального ресурсу між паралельними процесами. Іноді її називають завданням програмування моделі мультиплексора.
Допустимо, є вісім процесів, які прямо не виводять повідомлення в загальний канал. У кожному процесі є власний канал (input) і буфер для буферизації свого повідомлення (buffa). Загальний вихідний канал (output) також має буфер (outbuf).
При функціонуванні мультиплексора його вхідні процеси поступово накопичують дані у своїх буферах. Як тільки повністю заповнюється який-небудь буфер, процес, керуючий його заповненням, сповіщає про це процесу, що обслуговує вихідний канал. Якщо під час передачі даних із вхідного буфера у вихідний інші вхідні процеси також зажадають вихідний канал, то вони автоматично поєднуються в чергу до вихідного процесу, організовану відповідно до дисципліни обслуговування FIFO (першим прийшов, першим оброблений).
Вся програма складається із двох основних частин. Перша частина - нескінченний цикл, що паралельно заповнює вісім вхідних буферів. Друга частина - нескінченний циклічний процес, що моделює роботу мультиплексора й організований конструктором ALT. Цей процес виводить дані в загальний канал по мірі заповнення паралельних вхідних буферів.
Контрольні запитання
Які вирази використовує мова OKKAM?
Які існують структури програмування?
Які принципи синхронізації за допомогою керуючих сигналів?
Які існують засоби для програмування у реальному часі?
Яким чином мова OKKAM може бути застосована для рішення завдань системного програмування?
Рекомендована література
1. Транспьютеры. Архитектура и программное обеспечение. Перевод с англ. – М., ”Радио и связь”, 1993.
2. Бахтеяров С. Д., Дудников Е. Е., Евсеев М. Ю. Транспьютерная технология. – М., ”Радио и связь”, 1993.