- •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. Архітектура системи команд. Класифікація процесорів (cisc і risc)
Як уже було відзначено, архітектура набору команд виступає кордоном між апаратурами й програмним забезпеченням і представляє ту частину системи, що видна програмістові або розробнику компіляторів.
Двома основними архитектурами набору команд, що використовуються у комп'ютерній промисловості на сучасному етапі розвитку обчислювальної техніки є архітектури CISC і RISC. Основоположником CISC-архітектури можна вважати компанію IBM з її базовою архітектурою /360, ядро якої використовується з1964 року й дійшло до наших днів, наприклад, у таких сучасних мейнфреймах як IBM ES/9000.
Лідером у розробці мікропроцесорів c повним набором команд (CISC - Complete Instruction Set Computer) вважається компанія Intel зі своєю серією x86 і Pentium. Ця архітектура є практичним стандартом для ринку мікрокомп'ютерів. Для CISC-процесорів характерно: порівняно невелике число регістрів загального призначення; велика кількість машинних команд, деякі з яких навантажені семантично аналогічно операторам высокорівневих мов програмування й виконуються за багато тактів; велика кількість методів адресації; велика кількість форматів команд різної розрядності; перевага двухадресного формату команд; наявність команд обробки типу регістр-пам'ять.
Основою архітектури сучасних робочих станцій і серверів є архітектура комп'ютера зі скороченим набором команд (RISC - Reduced Instruction Set Computer). Зачатки цієї архітектури йдуть своїми коріннями до комп'ютерів CDC6600, розроблювачі яких (Торнтон, Крей і ін.) усвідомили важливість спрощення набору команд для побудови швидких обчислювальних машин. Цю традицію спрощення архітектури С. Крей з успіхом застосував при створенні широко відомої серії суперкомп'ютерів компанії Cray Research. Однак остаточне поняття RISC у сучасному його розумінні сформувалося на базі трьох дослідницьких проектів комп'ютерів: процесора 801 компанії IBM, процесора RISC університету Берклі й процесора MIPS Стенфордского університету.
Розробка експериментального проекту компанії IBM почалася ще наприкінці 70-х років, але його результати ніколи не публікувалися й комп'ютер на його основі в промислових масштабах не виготовляв. В 1980 році Д.Паттерсон зі своїми колегами з Берклі почали свій проект і виготовили дві машини, які одержали назви RISC-I і RISC-II. Головними ідеями цих машин було відділення повільної пам'яті від високошвидкісних регістрів і використання регістрових вікон. В 1981році Дж.Хеннессі зі своїми колегами опублікував опис стенфордськой машини MIPS, основним аспектом розробки якої була ефективна реалізація конвеєрної обробки за допомогою ретельного планування компілятором його завантаження.
Ці три машини мали багато спільного. Всі вони дотримувалися архітектури, що відокремлює команди обробки від команд роботи з пам'яттю, і наголошували на ефективну конвеєрну обробку. Система команд розроблялася таким чином, щоб виконання будь-якої команди займало невелику кількість машинних тактів (переважно один машинний такт). Сама логіка виконання команд із метою підвищення продуктивності орієнтувалася на апаратну, а не на мікропрограмну реалізацію. Щоб спростити логічні декодування команд використовувалися команди фіксованої довжини й фіксованого формату.
Серед інших особливостей RISC-архитектур слід зазначити наявність досить великого регістрового файлу (у типових RISC-процесорах реалізуються 32 або більше число регістрів у порівнянні з 8 - 16 регістрами в CISC-архитектурах), що дозволяє більшому обсягу даних зберігатися в регістрах на процесорному кристалі більший час і спрощує роботу компілятора з розподілу регістрів під змінні. Для обробки, як правило, використовуються трьохадресні команди, що крім спрощення дешифраціі дає можливість зберігати більше число змінних у регістрах без їхнього наступного перезавантаження.
Вчасно завершення університетських проектів (1983-1984 р.) позначився також прорив у технології виготовлення надвеликих інтегральних схем. Простота архітектури і її ефективність, підтверджена цими проектами, викликали велику зацікавленість у комп'ютерній індустрії й з 1986 року почалася активна промислова реалізація архітектури RISC. До теперішнього часу ця архітектура міцно займає лідируючі позиції на світовому комп'ютерному ринку робочих станцій і серверів.
Розвиток архітектури RISC у значній мірі визначалося прогресом в області створення оптимізуючих компіляторів. Саме сучасна техніка компіляції дозволяє ефективно використати переваги більшого регістрового файлу, конвеєрній організації й більшій швидкості виконання команд. Сучасні компілятори використовують також переваги іншиї оптимізаційної техніки для підвищення продуктивності, що звичайно застосовується в процесорах RISC: реалізацію затриманих переходів і суперскалярної обробки, що дозволяє в той самий момент часу видавати на виконання кілька команд.
Слід зазначити, що в останніх розробках компанії Intel (мається на увазі Pentium P54C і процесор наступного покоління P6), а також її послідовників-конкурентів (AMD R5, Cyrix M1, NexGen Nx586 і ін.) широко використовуються ідеї, реалізовані в RISC-мікропроцесорах, так що багато розходжень між CISC і RISC зникають. Однак складність архітектури й системи команд x86 залишається і є головним чинником, що обмежує продуктивність процесорів на її основі.