Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Оперативна пам'ять. 
Технологія MMX

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Memtest86 призначений для роботи автономно, запускається за допомогою власного завантажувача, тому наявність операційної системи для її роботи не обов’язково. Це тому, що програма повинна безпосередньо управляти RAM що проходить випробування і залишити якомога більше ОЗУ для діагностики. Крім того, це швидкий і зручний спосіб, щоб запустити програму, що дозволяє уникнути виконання складних… Читати ще >

Оперативна пам'ять. Технологія MMX (реферат, курсова, диплом, контрольна)

Зміст

  • Вступ
  • Pозділ I. Історія, розвиток та принцип функціонування RAM
  • 1.1 Еволюція динамічної пам’яті. FPM-DRAM
  • 1.1.1 EDO, BEDO — DRAM
  • 1.1.2 SDRAM
  • 1.1.3 DDR-SDRAM
  • 1.1.4 RDRAM — Rambus-пам'ять
  • 1.1.5 DDR2
  • 1.1.6 DDR3 SDRAM
  • 1.1.7 LPDDR
  • 1.2 Пам’ять типу SRAM
  • 1.2.1 Кеш-пам'ять
  • Розділ II. Форм-фактор та пз для роботи з RAM
  • 2.1 DIP
  • 2.2 SIPP
  • 2.3 SIMM
  • 2.4 DIMM
  • 2.5 Програмне забезпечення для роботи з RAM комп'ютера
  • Розділ III. Аналіз, передумови процесорів MMX
  • 3.1 Будова, принцип організації, функціонування
  • 3.2 Різниця між MMX та Pentium
  • 3.3 Передумови MMX
  • 3.4 Принцип функціонування технологія MMX та обробка даних
  • 3.5 Особливості реалізації та продуктивність MMX
  • Розділ IV. Розширення SSE, SSE2, SSE3
  • Висновки
  • Список використаної літератури

Вступ

Оперативна пам’ять є одним з найважливіших елементів комп’ютера. Саме з неї процесор бере програми і вихідні дані для обробки, в неї він записує отримані результати. Назва «оперативна» ця пам’ять одержала тому, що вона працює дуже швидко, так що процесору практично не доводиться чекати при читанні даних з пам’яті чи запису в пам’ять.

Оперативна пам’ять — це енергозалежна пам’ять, в яку завантажуються і в якій знаходяться прикладні програми і дані в момент, поки з ними працюють. Коли робота закінчена, інформація видаляється з оперативної пам’яті. Якщо необхідно оновлення відповідних дискових даних, вони перезаписуються. Це може відбуватися автоматично, але часто вимагає команди від користувача. При виключенні комп’ютера вся інформація з оперативної пам’яті втрачається.

Часто для оперативної пам’яті використовують позначення RAM (Random Access Memory), тобто пам’ять з довільним доступом. Це означає, що звернення до даних, що зберігаються в оперативній пам’яті, не залежить від порядку їх розташування в пам’яті. Коли говорять про пам’ять комп’ютера, зазвичай мають на увазі оперативну пам’ять, перш за все мікросхеми пам’яті або модулі, в яких зберігаються активні програми і дані, що використовуються процесором.

Фактично вся історія розвитку комп’ютерів є безперервною гонкою між швидкодією центрального процесора й інших систем — пам’яті і зовнішніх пристроїв. Особливо це помітно в системах мультимедіа, де йде обробка звуку і зображення, цифрове представлення яких займає великі об'єми пам’яті. Для ефективної обробки звуку і відео при відносно низькій пропускній спроможності системної магістралі (шини) вся більша кількість функцій переноситься в апаратуру — модеми, відео — і звукові адаптери. Це викликає їх помітне дорожчання порівняно із загальною вартістю комп’ютера, що особливо неприємне в обстановці швидкого морального старіння всієї комп’ютерної апаратури.

Технологія MMX була створена в результаті сумісних зусиль розробників архітектури процесорів Intel і програмістів. Були проведені дослідження широкого кола програм: обробки зображень, MPEG відео, синтезу музики, стиснення мови та її розпізнавання, ігрового, відеоконференційного і багатьох інших. В них виділялися підпрограми, в яких виконуються основні обчислення. Таким чином техологія MMX відіграла велику роль у розвитку подальших процесорів.

Технологія MMX була розроблена як набір базових цілочисельних команд, які зручно використовувати в різних мультимедійних і комунікаційних додатках. Основні риси цієї технології: архітектура — одна інструкція над багатьма даними (SIMD).

Pозділ I. Історія, розвиток та принцип функціонування RAM

Оперативна пам’ять — в інформатиці - пам’ять, частина системи пам’яті ЕОМ, в яку процесор може звернутися за одну операцію. Призначена для тимчасового зберігання даних і команд, необхідних процесору для виконання ним операцій. Оперативна пам’ять передає процесору дані безпосередньо, або через кеш-пам'ять. Кожна клітинка оперативної пам’яті має свою індивідуальний адресу. Оперативна пам’ять персональних комп’ютерів сьогодні, як і десять років тому, будується на базі відносно недорогий динамічної пам’яті - DRAM (Dynamic Random Access Memory). Безліч поколінь інтерфейсної логіки, змінилося за цей час. Еволюція носила яскраво виражений спадкоємний характер — кожне нове покоління пам’яті практично повністю наслідувало архітектуру попереднього, включаючи, в тому числі, і властиві йому обмеження. Ядро ж пам’яті (за винятком вдосконалення проектних норм таких, наприклад, як ступінь інтеграції) і зовсім не зазнавало жодних принципових змін. Навіть «революційний» Rambus Direct RDRAM нічого справжнього революційного в собі не містить і добре вписується в загальне «генеалогічне» древо розвитку пам’яті.

Тому, пристрій і принципи функціонування оперативної пам’яті краще всього вивчати від самих старих моделей пам’яті до найсучасніших розробок.

Ядро мікросхеми динамічної пам’яті складається з безлічі осередків, кожна з яких зберігає всього один біт інформації. На фізичному рівні осередки об'єднуються в прямокутну матрицю, горизонтальні лінійки якої називаються рядками (ROW), а вертикальні - стовпчиками (Column) чи сторінками (Page).

Лінійки представляють собою звичайні провідники, на перетині яких знаходиться осередок — нескладний пристрій, що складається з одного транзистора і одного конденсатора.

Конденсатору відводиться роль безпосереднього зберігача інформації. Обсяг, якого складає - всього один біт. Відсутність заряду на обкладинках відповідає логічному нулю, а його наявність — логічної одиниці. Транзистор ж грає роль «ключа», який утримує конденсатор від розряду. У спокійному стані транзистор закритий, але, варто подати на відповідний рядок матриці електричний сигнал, він відкриється, з'єднуючи обкладку конденсатора з відповідним їй стовпцем.

Чутливий підсилювач (sense amp), підключений до кожного з стовпців матриці, реагуючи на слабкий потік електронів зчитує всю сторінку цілком. Саме сторінка є мінімальною порцією обміну з ядром динамічної пам’яті. Читання / запис окремо взятої комірки неможливо! Дійсно, відкриття одного рядка призводить до відкриття всіх, підключених до неї транзисторів, а, отже, — розряду закріплених за цими транзисторами конденсаторів.

Читання осередку деструктивне за своєю природою, оскільки sense amp (чутливий підсилювач) розряджає конденсатор в процесі зчитування його заряду. Завдяки цьому динамічна пам’ять є пам’ять разової дії. Для боротьби з втрати пам’яті вдаються до її регенерації - періодичному зчитування осередків з подальшою перезаписом. Залежно від конструктивних особливостей регенератор може перебувати як в контролері, так і в самій мікросхемі пам’яті. У сучасних модулях пам’яті регенератор найчастіше вбудовується всередину самої мікросхеми, причому перед регенерацією вміст оновлюваної рядка копіюється в спеціальний буфер, що запобігає блокування доступу до інформації.

Важко недооцінити все значення оперативної пам’яті. Проте до недавнього часу ця область комп’ютерної індустрії практично не розвивалася (у порівнянні з іншими напрямками). Удосконалення були, але вони не відповідали темпам розвитку інших компонентів і стосувалися лише таких параметрів, як час вибірки, був доданий кеш безпосередньо на модуль пам’яті, конвеєрне виконання запиту, змінений керуючий сигнал висновку даних, але технологія виробництва залишалася застарілою, що вичерпала свій ресурс. Пам’ять ставала вузьким місцем комп’ютера, а, як відомо, швидкодія всієї системи визначається швидкодією самого повільного її елемента. І ось кілька років тому хвиля технологічного буму докотилася і до оперативної пам’яті. Швидке удосконалення оперативної пам’яті дозволило крім її удосконалення, значно знизити ціну на неї.

Напівпровідникова оперативна пам’ять у даний час поділяється на статичне ОЗУ (SRAM) і динамічне ОЗУ (DRAM).

1.1 Еволюція динамічної пам’яті. FPM-DRAM

У мікросхемах пам’яті, що випускаються до середини дев’яностих, були суттєві недоліки (великі затримки передачі даних, малий обсяг пам’яті і т.д.). З появою Intel Pentium 60 (1993 рік) і Intel 486DX4 100 (1994 рік) виникла потреба у вдосконаленні динамічної пам’яті.

Першою моделлю стала FPM-DRAM — Fast-Page Mode DRAM (Пам'ять швидкого сторінкового режиму), розроблена в 1995 році. Основною відмінністю від пам’яті попереднього покоління стала підтримка скорочених адрес. Якщо черговий запитуваний осередок знаходиться в тому ж самому рядку, що і попередній, його адреса однозначно визначається одним лише номером стовпця і передавати номера рядка вже не потрібно. При послідовному читанні осередків пам’яті, (так само як і обробці компактних одно-двох кілобайтових структур даних), час доступу скорочується на 40%, так як оброблюваний рядок знаходиться у внутрішньому буфері мікросхеми, і звертатися до матриці пам’яті немає ніякої необхідності.

Недоліками FPM-DRAM пам’яті стало хаотичне звернення до пам’яті, так само як і перехресні запити осередків з різних сторінок, з усією очевидністю не можуть скористатися перевагами передачі скорочених адрес і працюють з FPM-DRAM в режимі звичайної DRAM. Ситуація, коли запитувана осередок знаходиться у відкритій рядку, називається «потраплянням на сторінку» (Page Hit), в іншому випадку говорять, що стався промах (Page Miss). Оскільки, промах обкладається штрафними затримками, критичні до швидкодії модулі повинні розроблятися з урахуванням особливостей архітектури FPM-DRAM. Виникла й інша проблема: мінливість часу доступу ускладнює вимірювання продуктивності мікросхем пам’яті і порівняння їх швидкісних показників один з одним.

1.1.1 EDO, BEDO — DRAM

EDO — DRAM (Extended Data Out) пам’ять з удосконаленим виходом.

Зі збільшенням тактової частоти мікропроцесорів, потрібно якісне нове рішення оперативної пам’яті, а не оптимізація FPM DRAM пам’яті. І в 1996 році був придуманий новий інтерфейс оперативної пам’яті - EDO-DRAM. Його основною відмінністю було в тому, що кожну мікросхему оснастили спеціальним тригером-клямкою, який утримував лінії даних після зникнення сигналу підзарядки, що дало можливість дезактивувати сигнал підзарядки до закінчення читання даних, готуючи в цей час мікросхему до прийому номера наступного стовпця.

оперативна пам’ять процесор продуктивність Дворазове збільшення продуктивності було досягнуто лише в BEDO-DRAM (Burst EDO). Додавши в мікросхему генератор номера стовпця, конструктори ліквідували затримку сигналу підзарядки, скоротивши час циклу до 15 нс. Після звернення до довільної осередку мікросхема BEDO автоматично, без вказівок з боку контролера, збільшує номер стовпця на одиницю, не вимагаючи його явної передачі. Унаслідок обмеженя розрядності адресного лічильника (конструктори відвели під нього всього лише два біти) максимальна довжина пакету не могла перевищувати чотирьох осередків (2*2 = 4).

Головною перевагою BEDO пам’яті в порівнянні з EDO RAM було те що вона працювала на максимально можливій швидкості з частотою 66 МГц, тобто вона була на ~ 40% швидше EDO-DRAM. Все ж таки, незважаючи на свої швидкісні показники, BEDO виявилася не конкурентоспроможною і не отримала практично ніякого поширення. Прорахунок полягав у тому, що BEDO, як і всі її попередники, залишалася асинхронної пам’яттю. Це накладало жорсткі обмеження на максимально досяжну тактову частоту, обмежену 60 — 66 (75) мегагерцами.

1.1.2 SDRAM

Поява мікропроцесорів з шинами на 100МГц призвело до радикального перегляду механізму управління пам’яттю, і підштовхнуло конструкторів до створення синхронної динамічної пам’яті - SDRAM (Synchronous-DRAM). Як і випливає з її назви, мікросхеми SDRAM пам’яті працюють синхронно з контролером, що гарантує завершення циклу в строго заданий термін. Крім того, номери рядків і стовпців подаються одночасно, з таким розрахунком, щоб до приходу наступного тактового імпульсу сигнали вже встигли стабілізуватися і були готові до зчитування.

Так само, в SDRAM реалізований вдосконалений пакетний режим обміну. Контролер може запитати як одну, так і кілька послідовних комірок пам’яті, а при бажанні - весь рядок цілком. Це стало можливим завдяки використанню полноразрядного адресного лічильника вже не обмеженого, як у BEDO, двома бітами.

Інше вдосконалення. Кількість матриць (банків) пам’яті в SDRAM збільшено з одного до двох (а, в деяких моделях, і чотирьох). Це дозволяє звертатися до комірок одного банку паралельно з перезарядженням внутрішніх ланцюгів іншого, що вдвічі збільшує гранично допустиму тактову частоту. Крім цього з’явилася можливість одночасного відкриття двох (чотирьох) сторінок пам’яті, причому відкриття однієї сторінки (тобто передача номера рядка) може відбуватися під час зчитування інформації з іншого, що дозволяє звертатися за новою адресою стовпця клітинки пам’яті на кожному тактовом циклі.

На відміну від FPM-DRAM EDO-DRAM BEDO, що виконують перезарядку внутрішніх ланцюгів при закритті сторінки синхронна пам’ять проробляє цю операцію автоматично, дозволяючи тримати сторінки відкритими настільки довго, скільки це необхідно. Ще одна перевага — розрядність ліній даних збільшилася з 32 до 64 біт, що ще вдвічі збільшило її продуктивність.

1.1.3 DDR-SDRAM

Подальший розвиток синхронної пам’яті призвів до появи DDR-SDRAM — Double Data Rate SDRAM (SDRAM подвоєною швидкості передачі даних). Подвоєння швидкості досягається за рахунок передачі даних і по фронту, і по спаду тактового імпульсу (в SDRAM передача даних здійснюється тільки по фронту). Завдяки цьому ефективна частота збільшується в два рази — 100 МГц DDR-SDRAM по своїй продуктивності еквівалента 200 МГц SDRAM. Правда, з маркетингових міркувань, виробники DDR-мікросхем стали маркувати їх не тактовою / * робочою * / частою, а максимально досяжною пропускною спроможністю, яка вимірюється у мегабайтах в секунду.

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

1.1.4 RDRAM — Rambus-пам'ять

З DDR-SDRAM жорстко конкурує Direct RDRAM, розроблена компанією Rambus. Має основних відмінностей від пам’яті попередніх поколінь всього три:

а) збільшення тактової частоти за рахунок скорочення розрядності шини,

б) одночасна передача номерів рядка і стовпа осередку,

в) збільшення кількості банків для посилення паралелізму.

Підвищення тактової частоти викликає різке посилення всіляких перешкод і в першу чергу електромагнітної інтерференції, інтенсивність якої у загальному випадку пропорційна квадрату частоти, а на частотах понад 350 мегагерц взагалі наближається до кубічної. Ця обставина накладає надзвичайно жорсткі обмеження на топологію і якість виготовлення друкованих плат модулів мікросхеми, що значно ускладнює технологію виробництва і собівартість пам’яті. З іншого боку, рівень перешкод можна значно знизити, якщо скоротити кількість провідників, тобто зменшити розрядність мікросхеми. Саме по такому шляху компанія Rambus і пішла, компенсувавши збільшення частоти до 400 МГц (з урахуванням технології DDR ефективна частота становить 800 МГц) зменшенням розрядності шини даних до 16 біт (плюс два біти на ECC). Таким чином, Direct RDRAM в чотири рази обганяє DDR по частоті, але в стільки ж разів відстає від неї в розрядності.

Друга (за списком) перевагу RDRAM — одночасна передача номерів рядка та стовпця клітинки — при найближчому розгляді виявляється зовсім не перевагою, а конструктивною особливістю. Це не зменшує латентності доступу до довільної осередку (тобто інтервалом часу між подачею адреси та отримання даних), тому що вона, латентність, більшою мірою визначається швидкістю ядра, а RDRAM функціонує на старому ядрі. Зі специфікації RDRAM випливає, що час доступу становить 38,75 нс. (Для порівняння час доступу 100 МГц SDRAM становить 40 нс.). Велика кількість банків дозволяє (теоретично) досягти ідеальної конвеєризації запитів до пам’яті, — не дивлячись на те, що дані надходять на шину лише через 40 нс. після подачі запиту (що відповідає 320 тактів в 800 МГц системі), сам потік даних неперервний.

Таким чином, використання RDRAM в домашніх і офісних комп’ютерів, нічим не виправдано. Для високопродуктивних робочих станцій кращий вибір — DDR-SDRAM, яка не поступається RDRAM в продуктивності, але значно виграють в останньої в собівартості.

1.1.5 DDR2

Пам’ять DDR2 має деякі конструктивні відмінності від модулів DDR-SDRAM, наприклад кількість контактів збільшено з 184 до 240 (контакти розміщенні ближче один до одного), а також змістився «ключ», що запобігає насильній установці у слот модуля пам’яті іншого типу. Напруга електричного живлення в DDR2 1.8 В на відміну від модулів DDR — 2.5 В, внаслідок чого пам’ять має менше енергоспоживання і тепловиділення. Основною архітектурною відмінністю пам’яті DDR2 є можливість передачі чотирьох блоків даних за такт замість двох, як це було у випадку DDR. Затримки при записі теж перетерпіли зміни: якщо звичайна пам’ять DDR може записувати дані відразу ж через такт після команди запису, у випадку DDR2 це неможливо через більш високі тактові частоти. Тому затримка запису вираховується по затримці читання шляхом вирахування одного такту.

В стандарті DDR2 при пакетному режимі доступу дані передаються чотири рази за один такт. Для організації даного режиму роботи пам’яті необхідно, щоб буфер вводу-виводу (мультиплексор) працював на в чотири рази більшій частоті в порівнянні із частотою ядра пам’яті. Досягається це в такий спосіб: ядро пам’яті, як і раніше, синхронізується по позитивному фронті тактируючих імпульсів, а із приходом кожного позитивного фронту по чотирьох незалежних лініях у буфер вводу-виводу (мультиплексор) передаються 4n біти інформації (вибірка 4n бітів за такт, 4n-Prefetch). Сам буфер вводу-виводу тактується на подвоєній частоті ядра пам’яті й синхронізується як по позитивному, так і по негативному фронті цієї частоти. Іншими словами, із приходом позитивного й негативного фронтів відбувається передача бітів у мультиплексному режимі на шину даних. Це дозволяє за кожен такт роботи ядра пам’яті передавати чотири слова на шину даних, тобто вчетверо підвищити пропускну здатність пам’яті.

У пам’яті DDR2 реалізована схема розбивки масиву пам’яті на чотири логічних банки, а для модулів ємністю 1 і 2 Гбайт — на вісім логічних банків. Оскільки затримка CAS Delay становить два такти, то через два такти після команди читання дані можуть бути зчитані із шини даних. Для використання в комп’ютерах, DDR2 SDRAM поставляється в модулях DIMM з 240 контактами й одним ключем (вирізом у смузі контактів). DіMM'и розрізняються по максимальній швидкості передачі даних (часто називаною пропускною здатністю)

1.1.6 DDR3 SDRAM

DDR3 SDRAM (англ. double-data-rate three synchronous dynamic random access memory — синхронна динамічна пам’ять з довільним доступом і подвоєною швидкістю передачі даних, третє покоління) — це тип оперативної пам’яті, використовуваної в обчислювальній техніці в якості оперативної і відео-пам'яті. Прийшла на зміну пам’яті типу DDR2 SDRAM.

У DDR3 зменшено на 30% споживання енергії в порівнянні з модулями DDR2, що обумовлено пониженням (1,5 В, в порівнянні з 1,8 В для DDR2 і 2,5 В для DDR) напругою живлення осередків пам’яті. Зниження напруги живлення досягається за рахунок використання 90-нм (спочатку, надалі 65 —, 50 —, 40-нм) техпроцесса при виробництві мікросхем та застосування транзисторів з подвійним затвором Dual-gate (що сприяє зниженню струмів витоку). Мікросхеми пам’яті DDR3 виробляються виключно в корпусах типу BGA. Модулі DIMM з пам’яттю DDR3, які мають 240 контактів, не сумісні з модулями пам’яті DDR2 електрично і механічно. Ключ розташований в іншому місці, тому модулі DDR3 не можуть бути встановлені в слоти DDR2.

Основна перевага DDR3 SDRAM за його безпосереднього попередника, DDR2 SDRAM, є її здатність передавати дані в два рази швидше. Також у DDR3 знижене тепловиділення (результат зменшення напруги живлення) і менше енергоспоживання та поліпшене енергозбереження (не для планок 1600 МГц і вище) у порівнянні з попередником DDR2. до недоліків можна віднести більш високу CAS-латентність, але вона компенсується більшою пропускною здатністю.

1.1.7 LPDDR

У наш час значного розповсюдження зазнала оперативна пам’ять типу LPDDR. Вона використовується у мобільних пристроях таких як смартфони, КПК, планшетні комп’ютери, iPad та інших. В даному типі оперативної пам’яті застосовуються різноманітні енергозберігаючі функції що дозволяє її використовувати у мобільних персональних пристроях.

У LPDDR знижено енергоспоживання з 2,5 В до 1,8 В. додаткова економія енергії здійснюється завдяки температурній компенсації перезарядки (DRAM рідше вимагає перезаряджатися при низьких температурах), частковий блок самооновлення і режим «Глибокий сон» (deep power down), який стирає з пам’яті абсолютно все. Крім того, чіпи дуже маленького розміру і, відповідно, займають менше місця на платі, ніж їхні комп’ютерні аналоги. Таким чином це і дозволило використовувати LPDDR у мобільних пристроях різних видів. На даний час очікується вихід у продаж LPDDR2. LPDDR2 включає зниженій напрузі 1,2 В інтерфейс з 1,8 специфікація в попередньому (LPDDR) технології пам’яті, що призведе до зниження енергоспоживання на 50% при однаковій щільності і продуктивності пристрою в ідентичних умовах. Стандарт може входити до пристроїв, що мають ядро напруги 1,2 В (у порівнянні з існуючими пристроями напругою 1,8 В ядро), що знизить споживання живлення пристрою. Крім того, LPDDR2 підтримує сучасні механізми управління енергоспоживанням.

1.2 Пам’ять типу SRAM

Існує тип пам’яті, зовсім відмінний від інших — статична оперативна пам’ять (Static RAM — SRAM). Вона названа так тому, що, на відміну від динамічної оперативної пам’яті, для збереження її вмісту не вимагається періодичної регенерації. Але це не єдина її перевага. SRAM має вищу швидкодію, ніж динамічна оперативна пам’ять, і може працювати на тій же частоті, що і сучасні процесори.

Час доступу SRAM не більше 2 нс, це означає, що така пам’ять може працювати синхронно з процесорами на частоті 500 МГц або вище. Проте для зберігання кожного біта в конструкції SRAM використовується кластер з 6 транзисторів. Використання транзисторів, без яких або конденсаторів означає, що немає необхідності в регенерації. Поки подається живлення, SRAM пам’ятатиме те, що збережено.

Мікросхеми SRAM не використовуються для всієї системної пам’яті тому, що в порівнянні з динамічною оперативною пам’яттю швидкодія SRAM набагато вище, але щільність її набагато нижче, а ціна досить висока. Більш низька щільність означає, що мікросхеми SRAM мають великі габарити, хоча їх інформаційна ємкість набагато менше. Велике число транзисторів і кластірізованное їх розміщення не тільки збільшує габарити SRAM, але і значно підвищує вартість технологічного процесу в порівнянні з аналогічними параметрами для мікросхем DRAM.

Незважаючи на це, розробники все-таки застосовують пам’ять типа SRAM для підвищення ефективності РС. Але щоб уникнути значного збільшення вартості встановлюється тільки невеликий об'єм високошвидкісної пам’яті SRAM, яка використовується як кеш-пам'яті. Кеш-пам'ять працює на тактових частотах, близьких або навіть рівних тактовим частотам процесора, причому зазвичай саме ця пам’ять використовується процесором при читанні і запису.

SRAM розрізняється за принципом роботи. Існує три типи:

1. Async SRAM (Asynchronous Static Random Access Memory) — асинхронна статична пам’ять з довільним порядком вибірки;

2. SyncBurst SRAM (Synchronous Burst Random Access Memory) — синхронна пакетна статична пам’ять з довільним порядком вибірки;

3. PipBurst SRAM (Pipelined Burst Random Access Memory) — конвеєрна пакетна статична пам’ять з довільним порядком вибірки;

Async SRAM — це застарілий тип пам’яті, асинхронний інтерфейс якої схожий з інтерфейсом DRAM і включає в себе шини адреси, даних і управління. SyncBurst SRAM — цей тип пам’яті синхронізований з системною шиною і найкраще підходить для виконання пакетних операцій. Ну, а інтерфейс PipBurst SRAM схожий з інтерфейсом SyncBurst SRAM, але дозволяє отримувати дані без тактів очікування.

1.2.1 Кеш-пам'ять

У перекладі слово «cache» (кеш) означає «таємний склад», «тайник» («заначка»). Кеш є додатковим швидкодіючим сховищем копій блоків інформації з основної пам’яті, вірогідність звернення до яких найближчим часом велика. Кеш не може зберігати копію всієї основної пам’яті, оскільки його обсяг у багато разів менше обсягу основної пам’яті. Він зберігає лише обмежена кількість блоків даних і каталог (cache directory) — список їх поточного відповідності областям основної пам’яті. Крім того, кешуватися може і не вся оперативна пам’ять, доступна процесору: по-перше, через технічні обмежень може бути обмежений максимальний обсяг кешуючої пам’яті, по-друге, певні області пам’яті можуть бути оголошені як такі що некешуються (налаштуванням регістрів центрів чіпсета або процесора). Якщо встановлено оперативної пам’яті більше, ніж можливо кешувати, звернення до некешувальної області ОЗУ буде повільним. Таким чином, збільшення обсягу ОЗУ, теоретично завжди позитивно впливає на продуктивність, може знизити швидкість роботи визначених компонентів, що потрапили в некешуючу пам’ять. В ОС Windows пам’ять розподіляється, починаючи з верхніх адрес фізичної пам’яті, в результаті чого в некешуючу область може потрапити ядро ОС.

При кожному зверненні до пам’яті контролер кеш-пам'яті по каталогу перевіряє, чи є дійсна копія необхідних даних в кеші. Якщо вона там є, то це випадок кеш-попадання (cache hit) і дані беруться з кеш пам’яті. Якщо дійсної копії там немає, це випадок кеш-промаху (cache miss), і дані беруться з основної пам’яті. Відповідно до алгоритму кешування блок даних, лічений з основної пам’яті, при певних умовах замінить один з блоків кеша. Від інтелектуальності алгоритму заміни залежить відсоток попадань і, отже, ефективність кешування. Пошук блоку в списку повинен проводитися досить швидко, щоб не звести нанівець виграш від використання швидкодіючої пам’яті. Звернення до основної пам’яті може початися одночасно з пошуком в каталозі, а в разі потрапляння — зупинятися (архітектура Look aside). Це економить час, але зайві звернення до основної пам’яті ведуть до збільшення енергоспоживання. Інший варіант: проходження до основної пам’яті починається тільки після фіксації промаху (архітектура Look Through), при цьому втрачається, принаймні, один такт процессора, натомість економиться енергія.

Кеш у сучасних комп’ютерах будується за дворівневою, або трьохрівневою схемою.

Перший кеш, або L1 Cache (Level 1 Cache), — кеш 1 рівня, внутрішній (Internal, Integrated) кеш процесорів класу 486 і вище, а також деяких моделей 386.

Другий кеш, або L2 Cache (Level 2 Cache), — кеш 2 рівня. Для процессора аж до Pentium (і аналогічних) це зовнішній (External) кеш, встановлений на системній платі. У Р6 і потужніших процесорах вторинний кеш розташований в одному корпусі з процесором, і для таких процесорів додатковий кеш на системну плату вже не встановється.

Кешем третього рівня виявляється кеш, встановлений на системній платі з сокетом 7, коли в нього встановлюють процесор AMD K6−3, обладнаний вбудованим дворівневим кешем.

Обсяг первинного кеша невеликий (8−128 Кбайт); щоб підвищити його ефективність, для даних і команд часто використовується роздільний кеш (так названа Гарвардська архітектура — протилежність Принстонскої із загальною пам’ятю для команд і даних). В процесорах Pentium 4 первинний кеш влаштований вже інакше.

Кеш-контролер повинен забезпечувати когерентність (coherency) — узгодження даних кеш-пам'яті обох рівнів з даними в основній пам’яті за тієї умови, що звернення до цих даних може проводитися не тільки процесором, а й іншими активними (bus-master) адаптерами, підключеними до шин (PCI, VLB, ISA і т.д.). Слід також врахувати, що процесорів може бути кілька, і в кожного може бути свій внутрішній кеш.

Контролер кеша оперує рядками (cache line) фіксованої довжини. Рядок може зберігати копію блоку основної пам’яті, розмір якого збігається з довжиною рядка. З кожним рядком кеша пов’язана інформація про адресу скопійованого в неї блоку основної пам’яті та її стані. Рядок може бути дійсним (valid) — це означає, що в поточний момент часу вона достовірно відображає відповідний блок основної пам’яті, або недійсним. Інформація про те, який саме блок займає даний рядок (тобто старша частина адреси чи номер сторінки) і про її стан, називається тегом (tag) і зберігається у зв’язаній з даною рядком комірці спеціальної пам’яті тегів (tag RAM). В операціях обміну з основною пам’яттю зазвичай рядок бере участь цілком (несекторірованний кеш), для процесорів 486 і вище довжина рядка збігається з обсягом даних, переданих за один пакетний цикл (для 486 — це 4×4 = 16 байт, для Pentium — 4×8 = 32 байт). Можливий і варіант секторного (sectored) кеша, при якому один рядок містить не скільки суміжних комірок — секторів, розмір яких відповідає мінімальній порції обміну даних кеша з основною пам’яттю. При цьому в записи каталога, відповідної кожному рядку, повинні зберігатися біти дійсності для кожного сектора даного рядка. Розподіл на секції дозволяє економити пам’ять, необхідну для зберігання каталогу при збільшенні обсягу кешу, оскільки більша кількість біт каталогу відводиться під тег і вигідніше використовувати додаткові біти дійсності, ніж збільшувати глибину індексу (кількість елементів) каталогу.

Розділ II. Форм-фактор та пз для роботи з RAM

Форм-фактор (від англ. Form factor) — стандарт, що задає габаритні розміри технічного вироби, а також описує додаткові сукупності його технічних параметрів, найчастіше форму, або типи додаткових елементів що розміщуються в / на пристрої, їх положення і орієнтацію.

Форм-фактор (як і будь-які інші стандарти) носить рекомендаційний характер. Специфікація форм-фактора визначає обов’язкові та додаткові компоненти. Однак переважна більшість виробників вважають за краще дотримуватися специфікацію, оскільки ціною відповідності існуючим стандартам є сумісність материнської плати і стандартизованого устаткування (периферії, карт розширення) інших виробників у майбутньому. Для можливості установлення компонентів та можливості модернізувати апаратні складові у комп’ютерній техніці використовуються стандартний, загальноприйнятий форм-фактор.

2.1 DIP

DIP (Dual In-line Package, також DIL) — тип корпусу мікросхем, микросборок та деяких інших електронних компонентів. Має прямокутну форму з двома рядами висновків по довгих сторонах. Може бути виконаний з пластика (PDIP) або кераміки (CDIP). Керамічний корпус застосовується через схожого з кристалом коефіцієнта температурного розширення. При значних і численних перепадах температур в керамічному корпусі виникають помітно менші механічні напруги кристала, що знижує ризик його механічного руйнування або відшарування контактних провідників. Також, багато елементів в кристалі здатні міняти свої електричні характеристики під впливом напруг і деформацій, що позначається на характеристиках мікросхеми в цілому. Керамічні корпусу мікросхем застосовуються в техніці, що працює в жорстких кліматичних умовах.

У корпусі DIP можуть випускатися різні напівпровідникові або пасивні компоненти — мікросхеми, складання діодів, транзисторів, резисторів, малогабаритні перемикачі. Компоненти можуть безпосередньо впаиваться в друковану плату, також можуть використовуватися недорогі роз'єми для зниження ризику пошкодження компонента при пайку.

Корпус DIP був розроблений компанією Fairchild Semiconductor у 1965 році. Його поява дозволило збільшити щільність монтажу в порівнянні з застосовувалися раніше круглими корпусами. Корпус добре підходить для автоматизованої збірки. Однак, розміри корпусу залишалися відносно великими в порівнянні з розмірами напівпровідникового кристала. Корпуса DIP широко використовувалися в 1970;х і 1980;х роках. Згодом широке поширення одержали корпусу для поверхневого монтажу, зокрема PLCC і SOIC, що мали менші габарити. Випуск деяких компонентів в корпусах DIP триває в даний час, однак більшість компонентів, розроблених в 2000;х роках, не випускаються в таких корпусах.

2.2 SIPP

SIPP (англ. Single In-line Pin Package) — модулі пам’яті з однорядним розташуванням контактів. Модуль складається з невеликої друкованої плати, на якій встановлено певну кількість чіпів пам’яті. Модуль має 30 контактів в один ряд, які встановлюються у відповідні отвори на материнській платі комп’ютера.

Цей тип пам’яті використовувався в 80 286 і деяких 80 386 системах. Він був пізніше замінений модулями типу SIMM, які виявилися простіші в установці.30-контактні SIPP модулі сумісні за висновками з 30-контактними SIMM модулями, що пояснює, чому деякі SIPP модулі були насправді SIMM модулями з виходами, припаяними до контактів.30 контактів модулів SIPP часто гнулися або ламалися під час установки, тому модулі були досить швидко замінені на SIMM з контактними пластинами.

2.3 SIMM

SIMM (англ. Single In-line Memory Module, односторонній модуль пам’яті) — модулі пам’яті з однорядним розташуванням контактів, широко застосовувалися в комп’ютерних системах в 1990;і роки. Більшість ранніх материнських плат IBM PC-сумісних комп’ютерів використовували чіпи DRAM, упаковані в DIP-корпусу і встановлені в сокети. Однак системи, що використовували процесори 80 286, використовували більшу кількість пам’яті, і для економії місця на материнській платі і спрощення процесу модернізації, окремі чіпи стали об'єднувати в модулі. Деякі системи використовували SIPP-модулі, але їх виявилося занадто легко зламати при установці.

Модулі SIMM були розроблені і запатентовані в 1983 році компанією Wang Laboratories. Ранні SIMM використовували звичайні слоти без механізмів фіксації, проте досить швидко стали застосовуватися ZIF-слоти з фіксацією. Першими з’явилися 30-контактні модулі, що мали об'єм від 64 КБайт до 16 МБайт і восьмирозрядну шину даних, доповнюється (іноді) дев’яти лінією контролю парності пам’яті. Застосовувався в комп’ютерах з ЦП Intel 8088 [2], 286, 386. На материнських платах з процесорами 8088, модулі ставилися по одному, в разі процесорів 286, 386SX модулі ставилися парами, на 386DX — по чотири модулі однаковою ємності. З поширенням в масових комп’ютерах процесорів Intel 80 486 і аналогічних, для яких 30-контактні модулі треба було ставити, як мінімум, по чотири, був витіснений 72-контактним модулем SIMM, який, по суті, об'єднав на собі чотири 30-контактних модуля із загальними лініями адреси і роздільними лініями даних. Таким чином, модуль стає 32-розрядним і достатньо всього одного модуля. Обсяг від 1 МБайт до 128 МБайт.72-контактні модулі з’явилися спочатку на брендових (Compaq, HP, Acer і інші) PC в епоху процесорів 486, і на практично всіх материнських платах всіх виробників з переходом на Pentium. Так як на материнських платах для процесора Pentium з 64-розрядної шиною даних 72-контактні модулі вже треба ставити парами, поступово і їх фізично попарно «об'єднали» шляхом розташування мікросхем на обох сторонах друкованої плати модуля пам’яті, результатом чого стало появою перших модулів DIMM.

2.4 DIMM

DIMM (англ. Dual In-line Memory Module, двосторонній модуль пам’яті) — форм-фактор модулів пам’яті DRAM. Даний форм-фактор прийшов на зміну форм-фактору SIMM. Основною відмінністю DIMM від попередника є те, що контакти, розташовані на різних сторонах модуля, є незалежними, на відміну від SIMM, де симетричні контакти, розташовані на різних сторонах модуля, замкнуті між собою і передають одні й ті ж сигнали. Крім того, DIMM реалізує функцію виявлення та виправлення помилок в 64 (без контролю парності) або 72 (з контролем по парності або коду ECC) лініях передачі даних, на відміну від SIMM c 32 лініями. Конструктивно являє собою модуль пам’яті у вигляді довгої прямокутної плати з рядами контактних майданчиків з обох боків уздовж її довгої сторони, що встановлюється в роз'єм підключення і фіксується по обох її торцях фіксаторами. Мікросхеми пам’яті можуть бути розміщені як з одного, так і з обох сторін плати. На відміну від форм-фактора SIMM, використовуваного для асинхронної пам’яті FPM і EDO, форм-фактор DIMM призначений для пам’яті типу SDRAM.

Виготовлялися модулі розраховані на напругу живлення 3,3 В і (рідше) 5 В. Проте, вперше в форм-факторі DIMM з’явилися модулі з пам’яттю типу FPM, а потім і EDO. Ними комплектувалися сервери і брендові комп’ютери. Модуль SO-DIMM призначений для використання в ноутбуках або як розширення пам’яті на платі, тому відрізняється зменшеним габаритом.

Надалі в модулі DIMM стали упаковувати пам’ять типу DDR, DDR II і DDR III, що відрізняється підвищеною швидкодією. Появі форм-фактора DIMM сприяла поява процесора Pentium, який мав 64-розрядну шину даних. У професійних робочих станціях, таких, як SPARCstation, такий тип пам’яті використовувався з початку 1990;х років. У комп’ютерах загального призначення широкий перехід на цей тип пам’яті стався наприкінці 1990;х, приблизно за часів процесора Pentium II.

2.5 Програмне забезпечення для роботи з RAM комп’ютера

Memtest86 і Memtest86 + - це програма з відкритим вихідним кодом для тестування пам’яті комп’ютера, спрямована на тестування і стрес-тестування оперативної пам’яті комп’ютера x86 архітектури (RAM) на наявність помилок. Кожен намагається переконатися, що оперативна пам’ять буде приймати і правильно зберегти дані, записаних на комп’ютер, і що немає жодних помилок, як взаємодіють різні біти пам’яті, і чи немає ніяких конфліктів між адреси пам’яті.

Є два варіанти (або розвиток потоків) з Memtest86. Оригінал просто відомі, як Memtest86. Інші, відомі як Memtest86 +, це окрема гілка оригінальної Memtest86. Вони обидва мають майже однаковий зовнішній вигляд інтерфейсу. Ці програми працюють практично з усіма PC сумісних з 80 386 і 80 486 систем і для сучасних систем з 64-розрядними процесорами. Кожен новий реліз додає підтримку нових процесорів і чіпсетів.

Memtest86 призначений для роботи автономно, запускається за допомогою власного завантажувача, тому наявність операційної системи для її роботи не обов’язково. Це тому, що програма повинна безпосередньо управляти RAM що проходить випробування і залишити якомога більше ОЗУ для діагностики. Крім того, це швидкий і зручний спосіб, щоб запустити програму, що дозволяє уникнути виконання складних програм операційної системи. Тестування Memtest86 є досить всеосяжним, так що можна знайти в деяких випадках приховані проблеми на PC, які, здається, працює нормально. Запуск одного повного проходу програми (виконання всіх обраних тестів один раз) може зайняти від декількох хвилин до декількох годин, в залежності від обсягу і швидкості встановленої оперативної пам’яті, і швидкості процесора. Деякі помилки є настільки тонкими, що вони не зустрічаються при першому проході програми, швидше за все, вони виявляться після запуску багатьох проходів протягом тривалого періоду. Це тому, що деякі тести використовують злегка різні дані при кожному проході, і помилки можуть з’явитися після того, як тепло накопичується від тривалої роботи. Таким чином, програма буде працювати постійно, поки користувач не перезавантажується.

Починаючи з версії 1.60 утиліта має функцію формування списку поганих блоків пам’яті у форматі BadRAM. Використовуючи ці дані ядро Linux може працювати з дефектним модулем RAM, не використовуючи пошкоджені ділянки. Зокрема, деякі материнські плати високого класу поставляються з MemTest86 інтегрований в BIOS. Користувач просто повинен натиснути певну клавішу під час завантаження і MemTest86 працюватиме без завантажувального диска. (Одним з прикладів цього є Biostar TPower i55 материнської плати). Memtest86 був розроблений Крісом Бреді. Memtest86 + гілка що була створена Самуїлом Дем’юлемістером, для підтримки нових процесорів і чіпсетів. На сьогоднішній день обидва вони активно підтримуються.

Вихідний код програми розповсюджується під ліцензією GNU General Public License (GPL). Обидві версії тепер підтримують поточні двох-і чотирьохядерні процесори, і відповідні чіпсети. Нова версія Memtest86 + підтримує процесори Intel на основі Macintosh комп’ютери.

Memtest86 пише серію тестових шаблонів для більшості адрес пам’яті, зчитує записані дані, і порівнює їх на наявність помилок. За замовчуванням один прохід робить 9 різних тестів, що відрізняються моделями доступу і тестовими даними. Багато чіпсетів можуть повідомити RAM.

Розділ III. Аналіз, передумови процесорів MMX

У лютому 1995 року Intel провела презентацію перших робочих зразків мікропроцесора 80 686 (Р6), що носить ім'я Pentium Pro, який з’явився удосконаленням архітектури процесорів сімейства Pentium. На відміну від звичайного Pentium, CPU Pentium Pro має не п’ять, а чотирнадцять ступенів при конвеєрній обробці, а кількість самих конвеєрів збільшилася до трьох. Застосовуються статистичний і динамічний методи прогнозу переходів, що підвищує їх ефективність до 90%. Вперше L2 cache став вбудованим в мікросхему самого процесора, що не забарилося позначитися на ефективності використання процесорного часу, оскільки кеш-пам'ять тепер змогла працювати на більш високих частотах в порівнянні з системною платою. Надалі зовнішній кеш став вбудовуватися у всі Intel (і не тільки) мікропроцесори. CPU Pentium Pro функціонують на частотах 133, 150, 166 і 200 MHz. Завдяки введеним новинкам Pentium Pro при рівних тактових частотах виконує розрахунки на 20−40% швидше, ніж звичайний Pentium. Pentium Pro також підтримує багатопроцесорні (до 4-х штук в системі) конфігурації.

Нарешті, останнім представником сімейства CPU під загальною назвою Pentium є мікропроцесор Pentium MMX, що з’явився 8 січня 1997;го року. Технологія MMX є одним з найістотніших покращань в процесорній архітектурі, коли-небудь до того вироблюваних Intel. Процесор Pentium MMX має 57 додаткових інструкцій, прискорюючих виконання мультимедійних операцій, наприклад роботу графічних і комунікаційних програм (природно, скомпільованих з урахуванням технології MMX, а це практично всі Windows-програми). В співпроцесорах Pentium MMX є 8 універсальних регістрів по 80 бітів кожний для операцій над числами з плаваючою крапкою. При описі числа з плаваючою крапкою використовується 64 біти для мантиси і 16 біт для експоненти. Команди MMX використовують тільки 64-розрядну частину мантиси кожного з регістрів співпроцесора. Регістри співпроцесора можуть містити 8 упакованих байт, 4 упаковані 16-розрядні слова, два упаковані 32-розрядні слова або ж одне 64-розрядне слово. Таким чином, дані мультимедіа, розрядність яких рівна восьми, упаковується в одне 64-розрядне слово, і над ним проводиться якась загальний дія. Ця методика називається одиночною командою з множинними даними (Single Instruction Multiple Data, SIMD) і орієнтована на алгоритми і типи даних, які характерні для мультимедіа-додатків. Оскільки за часів процесорів Pentium такі додатки набули повсюдне поширення, то введення технології MMX дозволило суттєво підняти продуктивність цих CPU. MMX підтримують також і всі подальші процесори Intel та інших фірм. Крім того, швидкодія процесора підвищена за рахунок удвічі більшої кеш-пам'яті першого рівня (тепер її об'єм складає 32 Kb — по 16 Kb для команд і даних) і оптимізованої внутрішньої архітектури. Збільшена на один крок в порівнянні з Pentium довжина конвеєра — тепер вона склала 6 ступенів. Блок прогнозів запозичений у Pentium Pro.

Ефективність MMX викликає деякі сумніви, оскільки ті функції, для яких вони доцільні, з успіхом виконуються акселераторами графічних карт, які стали вже буденними.

Окрім MMX-розширення, в архітектурі Pentium MMX є ряд удосконалень, що підвищують його продуктивність і на звичайних операціях. Частоти ядра процесора (166, 200, 233, 266 Мгц) при частоті зовнішньої шини 66 Мгц задаються дещо іншими комбінаціями сигналів BF0, BF1, відповідних коефіцієнтам множення 2,5, 3, 3,5 і 4.

В двопроцесорних системах Pentium MMX підтримує тільки симетричну архітектуру, можливість функціонально-надмірного контролю (FRC) вилучена.

Застосовано роздільне живлення ядра (напруга 2,7−2,9 В, номінал 2,8 В) і інтерфейсних схем (3,135−3,6 В, номінал 3,3 В). Процесор сумісний по виведеннях з Pentium другого покоління з технологією VRT і встановлюється в сокет 7 (установка в сокет 5 механічно можлива, але електрично недопустима).

Процесори Pentium® OverDrive® Processor With MMX Technology — варіант процесорів MMX з тактовою частотою 150, 166, 180 і 200 Мгц для заміни звичайних (не MMX) процесорів Pentium 75−200 Мгц. Вони відрізняються фіксованим коефіцієнтом множення частоти (3) і відсутністю можливостей двопроцесорних конфігурацій. Ці процесори мають вбудований VRM і призначені для установки в сокет типу 5 або 7 (хоча в сокет 7 дешевше встановити «просто» MMX).

Зараз процесори класу Pentium вважаються давно застарілими і використовуються дуже нечасто, хоча треба віддати належне, що для багатьох офісних додатків їх потужності й до цього дня достатньо.

3.1 Будова, принцип організації, функціонування

Абревіатура MMX походить від виразу MultiMedia eXtension — розширення для мультимедіа, яке реалізоване фірмою Intel в своїй серії процесорів MMX з тактовою частотою 166 Мгц і більше. Історично склалося так, що майже будь-яке нове рішення в області персональних комп’ютерів широко рекламується і підноситься як епохальне, обіцяюче небачений досі розквіт комп’ютерним технологіям, проте багато разів подібний галас обертався дуже скромним реальним ефектом. Ця ж доля спіткала й Pentium MMX.

3.2 Різниця між MMX та Pentium

Процесор Pentium MMX відрізняється від «звичайного» Pentium по шести основних пунктах:

додано 57 нових команд обробки даних;

збільшений в два рази об'єм внутрішнього кеша (16 кб для команд і стільки ж — для даних);

збільшений об'єм буфера адрес переходу (Branch Target Buffer — BTB), що використовується в системі прогнозу переходів (Branch Prediction);

оптимізована робота конвеєра (Pipeline);

збільшена кількість буферів запису (Write Buffers);

введено так зване подвійне електроживлення процесора.

Набір з 57 нових команд і є основною відмінністю; інші два — не більш, ніж «супутні зміни». Хоча збільшений об'єм кеша і внутрішніх буферів і інтимізований конвеєр дещо прискорюють роботу будь-яких додатків, проте основне збільшення продуктивності - до 60% - можливо тільки при використанні програм, що правильно застосовують технологію MMX в обробці даних.

3.3 Передумови MMX

Фактично вся історія розвитку комп’ютерів є безперервною гонкою між швидкодією центрального процесора й інших систем — пам’яті і зовнішніх пристроїв. Особливо це помітно в системах мультимедіа, де йде обробка звуку і зображення, цифрове представлення яких займає великі об'єми пам’яті. Для ефективної обробки звуку і відео при відносно низькій пропускній спроможності системної магістралі (шини) вся більша кількість функцій переноситься в апаратуру — модеми, відео — і звукові адаптери. Це викликає їх помітне дорожчання порівняно із загальною вартістю комп’ютера, що особливо неприємне в обстановці швидкого морального старіння всієї комп’ютерної апаратури.

Насправді, нездатність комп’ютера з процесором Pentium ефективно обробляти в реальному часі звук і відео без спеціальних карт походить не стільки від загальної швидкодії процесора або шини, які в більшості випадків цілком достатні, а від характеру його набору команд обробки даних, відомого під назвою CISC (Common Instruction Set Computer — комп’ютер із спільним набором команд). Цей набір, що складається з відносно складних арифметико-логічних команд, орієнтований на типові задачі обробки даних, без спеціального «заточування» під особливі додатки. Ця вигідна для більшості додатків, архітектура виявляється абсолютно неефективною при швидкісній і специфічній обробці великих масивів даних, оскільки складна система команд використовується на лічені відсотки, а накладні витрати складають десятки і сотні відсотків.

Технологія MMX є компромісним рішенням, об'єднуючим шляхи, що використовуються в комп’ютерах SPARC і Silicon Graphics (технологія RISC — Reduced Instruction Set Computer, комп’ютер із спрощеним набором команд), а також в комп’ютерах з паралельною архітектурою (технологія SIMD: Single Instruction, Multiple Data — одна команда, багато даних): класичний процесор Pentium (CISC) з додаванням ряду простих (RISC) команд паралельної обробки даних (SIMD).

3.4 Принцип функціонування технологія MMX та обробка даних

Технологія MMX була створена в результаті сумісних зусиль розробників архітектури процесорів Intel і програмістів. Були проведені дослідження широкого кола програм: обробки зображень, MPEG відео, синтезу музики, стиснення мови та її розпізнавання, ігрового, відеоконференційного і багатьох інших. В них виділялися підпрограми, в яких виконуються основні обчислення.

Потім, за допомогою сучасних програмних засобів, вони були ретельно проаналізовані. В результаті цього аналізу було виявлене те загальне, що необхідно для ефективного виконання різних категорій програм. Їх основні характеристики:

дані цілого типу невеликої розрядності (наприклад: 8-розрядні графічні пікселі, 16-розрядна оцифровка звуку);

короткі цикли з високими коефіцієнтами повторюваності;

велика кількість операцій множення і алгоритми підсумовування, що вимагають інтенсивних обчислень;

операції з високим рівнем паралелізму.

Технологія MMX була розроблена як набір базових цілочисельних команд, які зручно використовувати в різних мультимедійних і комунікаційних додатках. Основні риси цієї технології: архітектура — одна інструкція над багатьма даними (SIMD) 57 нових інструкцій вісім 64-розрядних регістрів MMX чотири нові типи даних

Показати весь текст
Заповнити форму поточною роботою