- •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. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
2. Внутрішня архітектура трансп’ютера
Трансп’ютер (наприклад, IMST 414) складається із блоку пам'яті, процесора й системи зв'язку, з'єднаних 32-розрядною шиною. До цієї шини також підключений інтерфейс із зовнішньою пам'яттю. На малюнку показана схема з'єднань основних блоків трансп’ютерів IMS T 800 і IMS T 414.
ЦП трансп’ютера містить 3 регістри А, В і С для роботи із цілими числами й адресами, які формують апаратний стек. При записі в стек вміст регістра В записується в С, А - в В, і лише після цього в регістр А заноситься нове значення.
При читанні зі стека витягується значення регістра А, після чого вміст В записується в А, а вміст С - у В. Процесор із плаваючою крапкою (ППТ) містить трьохрегістровий стек для зберігання проміжних результатів при роботі із числами із ПТ (обчислювальний стек). Це регістри AF, BF і CF. Робота із цим стеком аналогічна попередній.
Адреси значень змінних із ПТ формуються в стеці ЦП і ці значення передаються між адресуючими комірками пам'яті зі стеком ППК під керуванням ЦП. Тому що стек ЦП використовується тільки для зберігання адрес змінних із ПТ, розрядність ЦП не залежить від розрядності ППК. Тому той самий ППК може використовуватися як в IMS T 800, так і з IMS T 212 у яких розрядність ЦП різна.
Планувальник трансп’ютера підтримує 2 рівні пріоритетів. Це дозволяє зменшити час на переривання.
3. Послідовна обробка
Центральний процесор містить 6 регістрів, які використовуються при виконанні послідовного процесу. Цими регістрами є:
покажчик на робоче поле, що вказує на область пам'яті, де зберігаються локальні змінні;
лічильник команд
регістр операнда, що використовується для формування операндів інструкцій.
Регістри трансп’ютера
Регістри А, В, і С формують обчислювальний стек і є джерелом і приймачем для більшості арифметичних і логічних операцій.
Для обчислення виразів використовується обчислювальний стек. При цьому інструкції звертаються до цього стеку неявним чином. Наприклад, інструкція add складає два верхніх елементи стека й розміщує результат у верхівку стека.
4. Інструкції
При проектуванні було враховано, що трансп’ютер буде програмуватися мовою високого рівня. Тому набір інструкцій підібраний для простої і ефективної компіляції. Інструкції однакового формату, що найбільш часто зустрічаються в програмах. Набір інструкцій не залежить від розрядності процесора, що дозволяє той самий мікрокод використати для трансп’ютерів різної розрядності.
Кожна інструкція займає 1 байт, розділений на 2 чотирьохбітні поля.
Безпосередні функції
Є 16 функцій, у яких значення операнда перебуває в межах 0 - 15.13 з них використовуються для подання найбільш важливих функцій, виконуваних будь-яким комп'ютером. Сюди входять:
load constant |
add constant |
load local point |
load local |
store local |
|
load non-local |
store non-local |
call |
jump |
conditional jump |
|
За допомогою компактних послідовностей з таких інструкцій можна здійснити ефективний доступ до структур даних і реалізувати статичні зв'язки, які використовуються при реалізації мов програмування складної структури, таких як Оккам.
Для збільшення довжини операндів інструкцій використовуються ще два коди функцій. Це prefix і negative prefix.
При виконанні всіх інструкцій чотири біти даних записуються в 4 молодших розряди регістра операнда, що потому використовується як операнд інструкції.
Після завершення всіх інструкцій, крім префіксних, регістр операнда обнуляється. При виконанні інструкції prefix чотири біти – дані завантажуються в регістр операнда, що потім зсувається вліво на 4 позиції. При інструкції negative prefix відбувається те ж саме, тільки до зсуву вміст регістра операнда переводиться в додатковий код.
При використанні префіксних інструкцій операнди можуть бути розширені до будь-якої довжини, аж до розрядності регістра операнда. Інакше кажучи, є можливість формувати операнди методом, що не залежить від розрядності процесора.