- •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. Використання мови оккам для рішення завдань системного програмування
- •Контрольні запитання
- •Рекомендована література
6. Типи й розміри операндів
Є два альтернативних методи визначення типу операнда. У першому з них тип операнда може задаватися кодом операції в команді. Це найбільш уживаний спосіб завдання типу операнда. Другий метод припускає вказування типу операнда за допомогою тегу, що зберігається разом з даними й інтерпретується апаратурами під час виконання операцій над даними. Цей метод використовується, наприклад, у машинах фірми Burroughs, але в цей час він практично не застосовується й всі сучасні процесори користуються першим методом.
Звичайно тип операнда (наприклад, цілий, речовинний з одинарною точністю або символ) визначає і його розмір. Однак часто процесори працюють із цілими числами довжиною 8, 16, 32 або 64 біт. Як правило цілі числа представляються в додатковому коді. Для завдання символів (1 байт = 8 біт) у машинах компанії IBM використовується код EBCDIC, але в машинах інших виробників майже повсюдно застосовується кодування ASCII. Ще до порівняно недавнього часу кожний виробник процесорів користувався своїм власним поданням речовинних чисел (чисел із плаваючою крапкою). Однак за останні кілька років ситуація змінилася. Більшість постачальників процесорів у цей час для подання дійсних чисел з одинарною й подвійною точністю дотримуються стандарту IEEE 754.
У деяких процесорах використовуються двійкові кодовані десяткові числа, які представляються в в упакованому й з форматах. Упакований формат припускає, що для кодування цифр 0-9 використовуються 4 розряди і що дві десяткові цифри упаковуються в кожний байт. В неупакованому форматі байт містить одну десяткову цифру, що звичайно зображується в символьному коді ASCII.
У більшості процесорів, крім того, реалізуються операції над ланцюжками (рядками) біт, байт, слів і подвійних слів.
Контрольні запитання
Що визначає поняття „архітектура системи команд”?
Які особливості CISC та RISC архітектур?
Які найбільш поширені методи адресації?
На які типи розділяються команди традиційного машинного рівня?
Які підходи використовуються для визначення умов переходу?
Що означає термін „перехід виконується”?
Які існують методи для визначення типу оперенда?
Рекомендована література
1. Корнеев В.В., Киселев А.В. Современные микропроцессоры. – М., „Нолидж”, 1998.
Лекція 5. Конвеєрна організація
План лекції
Що таке конвеєрна обробка.
Найпростіша організація конвеєра й оцінка його продуктивності.
Структурні конфлікти й способи їх мінімізації.
Конфлікти за даними, зупинка конвеєра й реалізація механізму обходів.
Класифікація конфліктів за даними.
Конфлікти за даними, що призводять до призупинки конвеєра.
Методика планування компілятора для усунення конфліктів за даними.
Виклад лекції
1. Що таке конвеєрна обробка
Розроблювачі архітектури комп'ютерів здавна застосовували методи проектування, відомим під загальною назвою "сполучення операцій", при якому апаратура комп'ютера в будь-який момент часу виконує одночасно більше однієї базової операції. Цей загальний метод включає два поняття: паралелізм і конвеєризацію. Хоча в них багато загального і їх найчастіше важко розрізняти на практиці, ці терміни відбивають два зовсім різних підходи. При паралелізмі сполучення операцій досягається шляхом відтворення в декількох копіях апаратної структури. Висока продуктивність досягається за рахунок одночасної роботи всіх елементів структур, що здійснюють рішення різних частин завдання.
Конвеєризація (або конвеєрна обробка) у загальному випадку заснована на поділі підлягаючому виконанню функції на більше дрібні частини, називані щаблями, і виділенні для кожної з них окремого блоку апаратур. Так обробку будь-якої машинної команди можна розділити на кілька етапів (кілька щаблів), організувавши передачу даних від одного етапу до наступного. При цьому конвеєрну обробку можна використати для сполучення етапів виконання різних команд. Продуктивність при цьому зростає завдяки тому, що одночасно на різних щаблях конвеєра виконуються кілька команд. Конвеєрна обробка такого роду широко застосовується у всіх сучасних швидкодіючих процесорах.