Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра електронних
обчислювальних машин
Звіт
про виконання лабораторної роботи № 5
з курсу „ Архітектура комп’ютерів”
Тема:
Сумісність з попередніми програмами.
Виключення, що генеруються ММХ-командами.
Синтаксис та використання команд упаковки/розпаковки.
Виконав:
студент групи КІ-3
Львів – 2005
Сумісність з попередніми програмами
Технологія MMX розширює функціональні можливості процесорів архітектури Intel при повній сумісності з програмами для минулих поколінь процесорів. Все ПЗ, створене для раніше випущених процесорів, без жодних змін може виконуватися на MMX-процесорах.
MMX-команди "спілкуються" з ОС точно так, як і команди з плаваючою комою. Механізм збереження і відновлення стану обчислень з плаваючою комою застосований і для збереження (відновлення) стану програми, що використовує технологію MMX. Фактично технологія MMX не означає "нового" режиму роботи процесорів архітектури Intel: MMX-команди виконуються в тому ж режимі процесора, що і команди з плаваючою комою.
Виключення, що генеруються MMX-командами
MMX-команди ніколи не генерують арифметичні виключення. Але в результаті виконання цих команд можуть генеруватися переривання арифметики з плаваючою комою, якщо до виконання MMX-команди вже було згенеровано виключення "плаваючої" арифметики.
MMX команди можуть генерувати виключення по доступу до пам’яті.
Команди упаковки і розпаковки
MMX-команди упаковки перетворюють довгі елементи даних (16- і 32-розрядні слова) в більш короткі. Якщо вихідне значення "не поміщається" в короткому елементі даних, то відбувається "насичення" - результатом вважається граничне значення допустимого діапазону вихідного типу даних.
Команди розпаковки попарно об’єднують елементи даних з обох операндів в більш довгі елементи вихідного операнда. Цими командами можна користуватися для підвищення кількості значимих розрядів при обчисленнях.
Детально описати зміст заданих команд та результат їх виконання, якщо в
ММ1 : 7F80 7E01 80FF 777F , в ММ2 : 80FF 7F80 777F 0001, в ММ3 : 7FFF FFFF 80FF AA55.
Команди packss__ (дані зі знаком, арифметика з насиченням)
Команди packss перетворюють довгі елементи даних (16- і 32-розрядні слова зі знаком) в більш короткі (байти чи 16-розрядні слова зі знаком). Якщо вихідне значення було за межами допустимого діапазону для вихідного типу даних, то результатом упаковки вважається найближче граничне значення діапазону.
Вхідний операнд може знаходитися в MMX-регістрі чи в пам’яті; Вихідний операнд повинен міститися в MMX-регістрі.