Мікроархітектура процесорів. СПК

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Довідник Список використаних джерел Список учасників НОП

Поняття мікроархітектури процесора

Під мікроархітектурою процеосра розуміють внутрішню реалізацію цієї програмної моделі. Для архітектури IA-32 застосовуютсья різні мікроархітектурні реалізації. Всього існує в мікроархітектурі процесора 5-7 поколінь -значне значення має реалізація конвеїрізації і розподілення обчислювальних процесів ,а також інших технологій.

Процесори, які були встановлені в комп’ютерах XT, AT-286 та AT-386, зазвичай замінювати не приходилось.В цих комп’ютерах відубвалась установка математичного сопроцесора. Але, коли почали випускати процесори 486, а процедура заміни процеосра на більш потужний стала вже традиційною.

Системні плати почали випускати на різні модифікації і таткові частоти процессорів.Також ці процеосри стали встановлювати в стандартизовані ZIF-сокети ,а також і в слоти.

Аспекти мікроархітектури

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

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

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

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

  • Елемент маркованого списку
  • Площа / вартість чипа
  • Споживання енергії
  • Складність логіки
  • Простота з'єднань
  • Технологічність
  • Простота налагодження
  • Тестованість.

Сучасні мікроархітектури процесорів

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

Мікроархітектура процесорів

В основі архітектури будь-якого процесора лежить кілька конструктивних елементів : кеш команд і даних, предпроцессор ( Front End ) і постпроцесор, який називають також блоком виконання команд ( Execution Engine ).

Схема конвеєрної обробки класичного процесора.jpg

Процес обробки даних складається з декількох характерних етапів. Насамперед інструкції і дані забираються з кеша L1 ( який розділений на кеш інструкцій і кеш даних). Ця процедура називається вибіркою. Після цього вибрані з кешу інструкції декодуються в зрозумілі для даного процесора примітиви ( машинні команди). Дана процедура називається декодуванням. Далі декодовані команди надходять на виконавчі блоки процесора, виконуються, а результат записується в оперативну пам'ять.

Процеси вибірки інструкцій з кеша, їх декодування і просування до виконавчих блокам здійснюються в предпроцесорі , а процес виконання декодованих команд - в постпроцесорі . Таким чином , навіть у самому простому випадку команда проходить як мінімум чотири стадії обробки :

  1. Вибірка з кеша;
  2. Декодування;
  3. Виконання;
  4. Запис результатів.

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