Здавалка
Главная | Обратная связь

Труднощі реалізації VLIW



При реалізації архітектури VLIW виникають і інші серйозні проблеми: VLIW -компілятор повинен в деталях "знати" внутрішні особливості архітектури процесора, опускаючись до внутрішнього пристрою самих функціональних модулів. Як наслідок, при випуску нової версії VLIW -процесора з великою кількістю оброблювальних модулів (чи навіть з тією ж кількістю, але іншою швидкодією) усе старе програмне забезпечення, швидше за все, зажадає повної перекомпіляції. Чи потрібно було при переході, скажімо, на процесор 486 позбавлятися від наявного ПО для процесора 386? Звичайно, ні, а ось при переході від одного VLIW -процесора до іншого доведеться, і це розробник повинен врахувати при плануванні своїх витрат - буде потрібно додаткові кошти на перекомпіляцію. Прибічники VLIW -архітектури на виправдання пропонують розділити процес компіляції на дві стадії. Усе програмне забезпечення повинне готуватися в апаратно-незалежному форматі з використанням проміжного коду, який остаточно транслюється в машинно-залежний код тільки після установки на машині користувача.

Приклад такого підходу демонструє фонд OSF зі своїм стандартом ANDF (Architecture - Neutral Distribution Format). Але кросс-платформенне програмне забезпечення поки що тільки бажане, а насправді розробники ПО для ПК частенько дуже інертні по відношенню до прийняття радикально нових технологій.

Інша трудність - це за своєю суттю статична природа оптимізації, яку забезпечує VLIW -компілятор. Як поведеться програма, коли зіткнеться під час компіляції з непередбаченими динамічними ситуаціями, такими як, наприклад, очікування введення-виводу? Архітектура VLIW виникла у відповідь на вимоги з боку науково-технічних організацій, де при обчисленнях особливо потрібна велика швидкодія процесора, але для об'єктно-орієнтованих і керованих по подіях програм вона менш підходить, адже саме такі програми складають зараз більшість у світі ПК. Але і це ще не все : а як можна перевірити, що компілятор виконує такі складні перетворення надійно і правильно? Поки ніяк. Ось чому VLIW -компілятори називають "річчю в собі". Проте рішення складної задачі забезпечення взаємодії апаратного і програмного забезпечення в архітектурі VLIW вимагає серйозних попередніх досліджень.

 

Загальноприйнятим в теорії конвеєрних структур є така послідовність етапів:

· Вибірка (instruction fetch, IF) - завантаження нової команди з пам'яті

· Декодування (instruction decode, ID) - інтерпретація та відправка команди у відповідний операційний пристрій в залежності від різновиду операції

· Виконання (execution, EX) - виконання команд та обчислення ефективної адреси пам'яті для результату або операндів, які необхідно завантажити

· Звертання до пам'яті (memory, MEM) - виконання операцій з пам'яттю (для команд завантаження/збереження)

· Збереження результату (writeback, WB) - збереження результату обчислень в регістрі

Слід зазначити, що така структура є типовою для RISC-архітектур, семантика та кількість етапів в яких зазвичай не дуже відрізняється від наведених, тоді як в CISC-архітектурах конвеєр може бути набагато складнішим.

В процесі виконання команд в конвеєрі, відбувається суміщення вказаних етапів виконання для декількох команд (тобто в конвеєрі одночасно знаходяться декілька - до 5 в даному випадку) команд на різних стадіях. Кожний етап конвеєрного обчислення виконується за один машинний цикл. Зрозуміло, що виконання однієї окремої команди на послідовному процесорі (де команда виконується зразу за один машинний цикл) може бути швидшим, аніж в конвеєрній організації. Але за рахунок суміщення виконання різних команд загальна швидкодія істотно збільшується.

Класифікація

Спочатку визначимо декілька понять:

Пропускна здатність - максимальна кількість команд, які виконуються за один такт машинного часу (instructions per cycle, IPC)

Тривалість етапу (стадії) - кількість машинних циклів для виконання одного етапу конвеєрного обчислення (може бути різною для різних етапів)

Необхідний (максимальний) ступінь паралелізму - кількість (незалежних) команд, які потрібно завантажити в конвеєр для повного використання його потенціалу







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.