Упаковані цілі числа

В АСК сучасних мікропроцесорів є команди, що оперують цілими числами, представленими в упакованому вигляді. Це пов'язано з обробкою мультимедійної інформації. Формат передбачає упаковку у межах досить довгого слова (зазвичай 64-розрядного) кількох невеликих цілих чисел, а відповідні команди обробляють усі ці числа паралельно. Якщо кожне з чисел складається з чотирьох двійкових розрядів, то 64-розрядне слово можна помістити до 16 таких чисел. Невикористані розряди заповнюються нулями.

У мікропроцесорах фірми Intel, починаючи з Pentium, присутні спеціальні команди для обробки мультимедійної інформації (ММХ-команди), що оперують цілими числами, упакованими в квадрослови (64-розрядні слова). Передбачено три формати (рис. 5.2): упаковані байти (вісім 8-розрядних чисел); упаковані слова (чотири 16-розрядні числа) та упаковані подвійні слова (два 32-розрядні числа).

цілі

Мал. 5.2. Формати упакованих цілих чисел

в технологіях ММХ та 3DNow!

Байти у форматі упакованих байтів нумеруються від 0 до 7, причому байт 0 розміщується у молодших розрядах квадрослова. Аналогічна система нумерації та розміщення упакованих чисел застосовується для упакованих слів (номери 0-3) та упакованих подвійних слів (номери 0-1).

Ідентичні формати упакованих даних використовуються також в іншій технології обробки мультимедійної інформації, запропонованої фірмою AMD. Ця технологія зветься 3DNow!, а реалізована в мікропроцесорах цієї фірми.

Десятичні числа

У ряді завдань, головним чином, обліково-статистичного характеру, доводиться мати справу зі зберіганням, обробкою та пересиланням десяткової інформації. Особливість таких завдань полягає в тому, що оброблювані числаможуть складатися з різної та дуже великої кількості десяткових цифр. Традиційні методи обробки з переведенням вихідних даних у двійкову систему числення та зворотним перетворенням результату часто пов'язані зі суттєвими накладними витратами. Тому в ВМ застосовуються інші спеціальні форми подання десяткових даних. В їх основу покладено принцип кодування кожної десяткової цифри еквівалентним двійковим числом із чотирьох бітів (зошитою), тобто так званим двійково-десятковим кодом (BCD - Binary Coded Decimal).

цілі

Мал. 5.3. Формати десяткових чисел: а – зонний; б - ущільнений

Використовуються два формати представлення десяткових чисел (всі числа розглядаються як цілі):зонний (розпакований) таущільнений (упакований). В обох форматах кожна десяткова цифра є двійковим зошитом, тобто замінюється двійково-десятковим кодом. З решти задіяних шести чотирирозрядних двійкових комбінацій (2 4 = 16 ) дві служать для кодування знаків «+ » і «-». Наприклад, у ВМ сімейства IBM 360/370/390 для знака плюс вибраний код11002 = С16 а для знака мінус - код11012 = D16