- •Що таке технологія ммх, для чого вона використовується?
- •В чому суть технології simd?
- •Які нові типии даних використовуються процессором Pentium mmx?
- •Скільки нових регістрів було введено до архітектури процессора Pentium mmx? Як вони організовані? Як організований доступ до них?
- •Суть арифметики переносу та арифметики з насиченням. Чим вони відрізняються?
- •Скільки нових інструкцій додано до архітектури процесору Pentium mmx? На які групи вони поділяються?
- •8. Синтаксис ммх команд. Як визначити, яка саме арифметика використовується у ммх інструкції?
- •9. Які особливі ситуації генерують команди ммх?
В чому суть технології simd?
SIMD (англ. singleinstruction, multipledata – одиночний потік команд, множинний потік даних, ОКМД) - принцип комп'ютерних обчислень, що дозволяє забезпечити паралелізм на рівні даних. SIMD-комп'ютери складаються з одного командного процесора (керуючого модуля), званого контролером, і декількох модулів обробки даних, званих процесорними елементами. Керуючий модуль приймає, аналізує і виконує команди. Якщо в команді зустрічаються дані, контролер розсилає на всі процесорні елементи команду, і ця команда виконується на декількох або на всіх процесорних елементах. Кожен процесорний елемент має свою власну пам'ять для зберігання даних. Одним з переваг цієї архітектури вважається те, що в цьому випадку більш ефективно реалізована логіка обчислень. До половини логічних інструкцій звичайного процессора пов'язане з управлінням виконанням машинних команд, а решта їх частина належить до роботи із внутрішньою пам'яттю процесора та виконання арифметичних операцій. У SIMD комп'ютері управління виконується контролером, а «арифметика» віддана процесорним елементам. SIMD-процесори називаються також векторними. Технологія MMX використовує технологію SIMD (SingleInstruction, MultipleData - одна інструкція на множину даних). Ця технологія прискорює продуктивність програмного забезпечення за допомогою використання однієї команди, щоб паралельно обробити багато елементів даних. Команди MMX підтримують паралельні дії на байт, слово, і подвійне слово.
Які нові типии даних використовуються процессором Pentium mmx?
Технологія MMX визначає ці нові, 64-розрядні типи даних:
- Запакований байт: 8 байт, які пакуються в 64 біти
- Запаковане слово: 4 слова, які пакуються в 64 біти
- Запаковане подвійне слово: 2 подвійні слова, які пакуються в 64 біти
- Чотирикратне слово: 64-бітне ціле число
Команди MMX діють на специфічній 64-розрядній групі даних, визначеній як тип даних.
Скільки нових регістрів було введено до архітектури процессора Pentium mmx? Як вони організовані? Як організований доступ до них?
Команди MMX використовують вісім 64-розрядних регістрів MMX. Регістри MMX доступні безпосередньо використанням регістрових імен, від MM0 до MM7. Тільки команди MMX можуть використовувати регістри MMX.
Регістри MMX є "приєднані" до 64-розрядних мантис існуючих регістрів з плаваючою комою. Таким чином, кожнезначення, яке пишеться до регістра MMX, також пишеться до одного з відповідних регістрів з плаваючою комою. Коли команда MMX виконується:
- експонента (показник) відповідного регістра з плаваючою комою і знаковий розряд встановлюються в одиниці.
- повне слово ознаки встановлюється в нулі.
Суть арифметики переносу та арифметики з насиченням. Чим вони відрізняються?
Більшість команд MMX діють на дані, використовуючи арифметику переносу. Деякі команди MMX діють на дані, використовуючи арифметику насичення.
Арифметика переносу використовується, коли число перевищує границюобластіданих, і повинно переноситись. Остача перенесення відкидається. Наприклад, беззнаковий байт 1, більший, ніж FFh (255), переноситься в 00h.
Арифметика насичення використовується так - коли число перевищує границюобластіданих, воно насичується. Якщо приріст числа минулої області даних обмежений FFh для байта - це насичення.
При використанні арифметики насичення, числа менші, ніж границяобластіданих, насичуються.
Додавання, віднімання і команди пакування можуть діяти на знакові або беззнакові числа, використовуючи арифметику насичення.
Границя області даних для знакових і без знакових даних відрізняється; таким чином знакові і без знакові дані насичують в різних точках. Наприклад, насичуються знакові слова більші, ніж 7FFFh, тоді як беззнакові насичуються більші, ніж FFFFh.
Коли 7F38h (32,568) і 1707h (5,895) додані, як числа зі знаком, сума насичується, так як вона перевищує 7FFFh (32,767).
Коли 7F38h і 1707h додані, як беззнакові числа, їхня сума є 963Fh (38,463). Сума не насичується, так як вона не перевищує FFFFh (65,535).