
- •Лабораторний практикум
- •Загальні методичні вказівки
- •Технології оперативної пам'яті
- •1.3 Постановка завдання
- •1.5 Контрольні запитання
- •2.3 Постановка завдання
- •2.5 Контрольні запитання
- •3.3 Постановка завдання
- •Основні риси risc-процесорів
- •Risc-процесори 3-го покоління
- •Структура процесорів Alpha: 21064, 21264
- •Порівняльні характеристики Alpha 21164 і 21264
- •4.3 Постановка завдання
- •Паралельна обробка даних на еом
- •Закон Амдала
- •5.3 Постановка завдання
- •5.5 Контрольні запитання
- •Лабораторна робота №6 сучасна архітектура обчислювальних систем
- •6.1 Мета роботи
- •6.2 Теоретичні відомості
- •Vliw архітектура
- •Архітектура ia-64
- •Опис ia-64
- •6.3 Постановка завдання
- •Лабораторна робота №7
- •7.3 Постановка завдання
- •7.5 Контрольні запитання
- •Лабораторна робота №8 визначення швидкодії обчислювальної системи
- •8.1 Мета роботи
- •8.2 Теоретичні відомості
- •Порівняння за швидкістю процесора обчислювальної системи
- •Оцінка обчислювальної системи за тестами
- •Приклади тестів швидкодії/ефективності обчислювальних систем
- •Рекомендації щодо виконання роботи
- •8.3 Постановка завдання
- •8.5 Контрольні запитання
- •Перелік рекомендованих джерел
- •В.Г. Хорошевский. Архитектура вычислительных систем/ в.Г. Хорошевский. – м.: мгту им. Баумана,2008 - 530 с.
1.3 Постановка завдання
Розробити алгоритми організації роботи систем з різними типами підсистем пам’яті .
Написати програму для організації роботи з різними типами підсистем пам’яті.
Провести тестування написаної програми.
На основі проведеного дослідження зробити висновки щодо ефективності того чи іншого виду пам’яті.
1.4 Зміст звіту
мета роботи;
теоретичні відомості;
тексти програм та відповідне програмне відображення;
результати обчислень на ЕОМ;
висновок.
1.5 Контрольні запитання
Яка пам'ять в ПК є найшвидшою?
В чому полягає принцип тимчасової і просторової локальності програми.
Які способи існують для узгодження вмісту кеш-пам'яті і основної пам'яті?
Перелічіть типи кеш-пам'яті.
Які рішення схемотехніки використовуються для підвищення швидкодії DRAM?
У яких мікросхемах динамічної пам'яті використовується включення деякої кількості статичної пам'яті?
У яких мікросхемах динамічної пам'яті використовується внутрішня конвеєрна архітектура?
У яких мікросхемах динамічної пам'яті використовуються множинні банки пам'яті, що функціонують одночасно?
У яких мікросхемах динамічної пам'яті передача даних відбувається по обох рівнях сигналу системного таймера?
ЛАБОРАТОРНА РОБОТА №2
КОНВЕЄРИЗАЦІЯ. НОВІ МОЖЛИВОСТІ МІКРОПРОЦЕСОРІВ IA-32
Мета роботи
Метою роботи є ознайомлення з деякими принципами паралельної обробки даних з допомогою конвеєрів команд і суперскалярності, набуття уміння і навиків визначати ефективність тієї чи іншого коду залежно від особливостей архітектури ЦП.
Триваліть роботи – 2 години
2.2 Теоретичні відомості
Конвеєризація команд
Істотне підвищення продуктивності МП 80286 в порівнянні з базовою моделлю сімейства стало можливим завдяки впровадженню в архітектуру сімейства IA32 конвеєрної обробки. Конвеєризація дозволяє декільком внутрішнім блокам МП працювати одночасно (таблиця. 2.1), поєднуючи дешифровку команди, операції АЛП, обчислення ефективної адреси і цикли шини декількох команд. У складі МП 80286 є 4 конвеєрних пристрої:
BU (Bus Unit) - шинний блок (прочитування з пам'яті і портів ввода/вывода);
IU (Instruction Unit) - командний блок (дешифрування команд);
EU (Executive Unit) - виконавчий блок (виконання команд);
AU (Address Unit) - адресний блок (обчислює всі адреси, формує фізичну адресу).
Таблиця 2.1 - Конвеєризація команд в МП 80286
Мікрооперації |
Цикли шини
|
|||||
Вибірка B
команди U
|
N+1
|
N+2
|
|
|
|
|
N-1
|
Дешифр. I команди U
|
N+1
|
N+2
|
|
|
|
N-2
|
N-1
|
Форм. адр. A операнда U
|
N+1
|
N+2
|
|
|
|
N-2
|
N-1
|
Вибірка B операнда U
|
N+1
|
N+2
|
|
|
|
N-2
|
N-1
|
Виконання E команди U
|
N+1
|
|
|
|
|
N-2
|
N-1
|
Запис B результату U
|
Ідея конвеєризації була розвинена в наступних моделях цього сімейства. У МП Intel-486 реалізований п'ятиступінчастий конвеєр для обробки команд:
PF (Prefetch) - передвибірка команд;
D1 (Instruction Decode) - декодування команди;
D2 (Address Generate) - формування адреси;
EX (Execute) - виконання команди в АЛП і доступі до кеш-пам'яті;
WB (Write Back) - зворотний запис.
Нова мікроархітектура процесорів Pentium і пізніших базується на ідеї суперскалярної обробки. Під суперскалярностью мається на увазі наявність більш за один конвеєр для обробки команд (на відміну від скалярної - одинконвеєрної архітектури). У МП Pentium команди розподіляються по двох незалежних виконавчих конвеєрах (U і V). Конвеєр U може виконувати будь-які команди сімейства IA-32, включаючи цілочисельні команди і команди з плаваючою крапкою. Конвеєр V призначений для виконання простих цілочисельних команд і деяких команд з плаваючою крапкою. Команди можуть прямувати в кожен з цих пристроїв одночасно, причому при видачі пристроєм управління в одному такті пари команд складніша команда поступає в конвеєр U, а менш складна - в конвеєр V (таблиця. 2.2). Проте, така попарна обробка команд (спаровування) можлива лише для обмеженої підмножини цілочисельних команд. Команди речової арифметики не можуть запускатися в парі з цілочисельними командами. Одночасна видача двох команд можлива лише за відсутності залежностей по регістрах.
Таблиця 2.2 - Конвеєризація команд в МП Pentium
Етапи конвеєрів
|
Цикли шини
|
|||||||
1 |
2 |
|||||||
PF
|
К1
|
К3
|
К5
|
К7
|
|
|
|
|
К2
|
К4
|
К6
|
К8
|
|
|
|
|
|
D1
|
|
К1
|
К3
|
К5
|
К7
|
|
|
|
|
К2
|
К4
|
К6
|
К8
|
|
|
|
|
D2
|
|
|
К1
|
К3
|
К5
|
К7
|
|
|
|
|
К2
|
К4
|
К6
|
К8
|
|
|
Продовження таблиці 2.2
1 |
2 |
|||||||
EX
|
|
|
|
К1
|
К3
|
К5
|
К7
|
|
|
|
|
К2
|
К4
|
К6
|
К8
|
|
|
WB
|
|
|
|
|
К1
|
К3
|
К5
|
К7
|
|
|
|
|
К2
|
К4
|
К6
|
К8
|
Динамічне (спекулятивне) виконання
Однією з головних особливостей шостого покоління мікропроцесорів архітектури IA32 є динамічного (спекулятивне) виконання. Під цим терміном мається на увазі наступна сукупність можливостей:
Глибоке передбачення галужень (з вірогідністю > 90 % можна передбачити 10-15 найближчих переходів).
Аналіз потоку даних (на 20-30 кроків вперед проглянути програму і визначити залежність команд за даними або ресурсами).
Випереджаючого виконання команд (МП P6 може виконувати команди в порядку, відмінному від їх дотримання в програмі).
Внутрішня організація МП P6 відповідає архітектурі RISC, тому блок вибірки команд, прочитавши потік інструкцій IA-32 з L1 кеша інструкцій, декодує їх в серію мікрооперацій. Потік мікрооперацій потрапляє в буфер переупорядковування (пул інструкцій). У нім містяться як не виконані доки мікрооперації, так і вже виконані, але такі, що ще не вплинули на стан процесора. Для декодування інструкцій призначено три паралельні дешифратори: два для простих і один для складних інструкцій. Кожна інструкція IA-32 декодується в 1-4 мікрооперації. Мікрооперації виконуються п'ятьма паралельними виконавчими пристроями: два для цілочисельної арифметики, два для речової арифметики і блок інтерфейсу з пам'яттю. Таким чином, можливе виконання до п'яти мікрооперацій за такт.
Блок виконавчих пристроїв здатний вибирати інструкції з пулу у будь-якому порядку. При цьому завдяки блоку передбачення галужень можливе виконання інструкцій, наступних за умовними переходами. Блок резервування постійно відстежує в кулі інструкцій ті мікрооперації, які готові до виконання (вихідні дані не залежать від результату інших невиконаних інструкцій) і направляє їх на вільний виконавчий пристрій відповідного типа. Один з цілочисельних виконавчих пристроїв додатково займається перевіркою правильності передбачення переходів. При виявленні неправильно передбаченого переходу всі мікрооперації, наступні за переходом, віддаляються з пулу і проводиться заповнення конвеєра команд інструкціями за новою адресою.
Взаємна залежність команд від значення регістрів архітектури IA-32 може вимагати чекання звільнення регістрів. Для вирішення цієї проблеми призначено 40 внутрішніх регістрів загального призначення, використовуваних в реальних обчисленнях.
Блок видалення відстежує результат спекулятивно виконаних мікрооперацій. Якщо мікрооперація більш не залежить від інших мікрооперацій, її результат переноситься на стан процесора, і вона віддаляється з буфера переупорядковування. Блок видалення підтверджує виконання інструкцій (до трьох мікрооперацій за такт) в порядку їх дотримання в програмі, зважаючи на переривання, виключення, точки останову і промахи передбачення переходів.