1   2
Ім'я файлу: Антонов О.С., Хіхловська І. В. Обчислювальна техніка та мікропро
Розширення: doc
Розмір: 673кб.
Дата: 10.06.2023
скачати




Міністерство транспорту та зв’язку України

Державний департамент з питань зв’язку та інформатизації України

______________________________________________________

ОДЕСЬКА НАЦІОНАЛЬНА АКАДЕМІЯ ЗВ’ЯЗКУ ім. О.С. ПОПОВА
Кафедра обчислювальної техніки та мікропроцесорів


Антонов О.С., Хіхловська І.В.

ОБЧИСЛЮВАЛЬНА ТЕХНІКА

ТА МІКРОПРОЦЕСОРИ


Посібник

з дисципліни

“Обчислювальна техніка та мікропроцесори”

напряму Телекомунікації

Одеса 2008
УДК 004 + 00431 + 621.39 (075)

Антонов О.С., Хіхловська І.В. Обчислювальна техніка та мікропроцесори. Посібник. Одеса: Вид. центр ОНАЗ ім. О.С. Попова, 2008. — 449 стор.


Посібник призначений для самостійної роботи студентів з дисципліни “Обчислювальна техніка та мікропроцесори”, яка викладається за модульним принципом та вміщує чотири модулі:

1 Вузли обчислювальної техніки та мікропроцесорних систем.

2 Програмування мікропроцесорів фірми Intel.

3 Мікропроцесорні системи на мікропроцесорах фірми Motorola та їх програмування.

4 Мікропроцесорні системи на мікроконтролерах, DSP фірми Motorola та їх програмування.

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


СХВАЛЕНО

на засіданні кафедри

обчислювальної техніки

та мікропроцесорів

і рекомендовано до друку

Протокол № ____

від ___._____.200__р.


ЗМІСТ
14 RISC-ПРОЦЕСОРИ ФІРМИ MOTOROLA

14.1 RISC-процесори PowerPC

14.2 RISC-процесори ColdFire

14.3 Система команд RISC-мікропроцесорів сімейства PowerPC

СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ ДО 4 МОДУЛЮ


14 RISC-ПРОЦЕСОРИ ФІРМИ MOTOROLA
Вхідний контроль:

  1. Скільки байт може займати команда мови Асемблер СISC-процесорів?

  2. Які особливості має архітектура СISC- та RISC-процесорів?

  3. Які способи адресування операндів використовують 32-розрядні універсальні мікропроцесори фірми Motorola?

  4. Які ознаки СISC- або RISC-архітектури мають мікропроцесори Pentium фірми Intel?

  5. Скільки регістрів входять у регістровий файл моделі користувача універсальних МП фірми Motorola?


14.1 RISC-процесори PowerPC
Назва RISC (Reduced Instruction Set Computing) – означає комп’ютер зі зменшеним набором команд, але у сучасних розробках RISC-мікропроцесорів набір команд є значно поширений і може вміщувати команди оброблення даних з плавучою точкою. Систему команд RISC-процесорів можна охарактеризувати як таку, що має фіксований формат команд, що значно спрощує керувальний пристрій та зменшує обсяг мікропрограмної пам’яті і призводить до зменшення розміру кристала RISC-процесорів, зниження їх вартості та підвищення тактової частоти. Система команд вільна від складних та рідко використовуваних команд і способів адресування. Введення фіксованого набору команд забезпечує високу ефективність роботи конвеєра, зменшує кількість тактів простоювання та чекання процесорів, що підвищує їх ефективність.

Переваги та ефективність RISC-процесорів зумовили виробництво їх усіма провідними фірмами, які випускають мікропроцесори: Motorola, Intel, Hewlett-Packard, IBM, Sun Microsystems, MIPS.

Найкращими RISC-процесорами та RISC-контролерами вважаються розробки консорціума фірм Motorola, IBM, Apple Computers — MPC6XX PowerPC, а також розробки фірми Motorola — MFC5XXX ColdFire.

До основних особливостей RISC-процесорів можна віднести:

    • розширений обсяг регістрової пам’яті: від 32 до кількох сотень регістрів загального призначення;

    • використання у командах оброблення даних тільки регістрового адресування; команди звернення до пам’яті використовуються тільки при завантаженні та зберіганні вмісту регістрів, а також у командах керування програмою;

    • відмову від апаратної підтримки складних способів адресування – з постінкрементом, предекрементом, деяких непрямих;

    • фіксований формат команд, зазвичай чотири байти, замість змінного формату (від 1 до 12 байт), що є характерним для CISC-мікропроцесорів;

    • відсутність команд, які не відповідають прийнятому формату.

Базовою моделлю МП PowerPC можна вважати МРС604. У цій моделі, як і у сімействі МХ68ХХХ, зберігається принцип виділення окремих ресурсів для вирішення задач супервізора та користувача. Це означає, що архітектура процесора вміщує окремі регістри, які входять у модель користувача і у модель супервізора, і має привілейовані команди, які виконуються тільки у режимі супервізора.

У регістрову модель користувача (рис. 14.1), яка є спільною для всього сімейства PowerPC входять:

    • тридцять два 32-розрядні регістри загального призначення GPR31...0 для зберігання цілочисельних операндів;

    • тридцять два 64-розрядних регістрів FPR31…0 для зберігання операндів з плавучою точкою;

    • 32-розрядні регістри прапорців (умов) CR та станів (рис. 14.2, а) при обробці даних з плавучою точкою FPSCP;

    • 32-розрядні регістри ХЕR, LR, CTR, які використовуються при обробці виключень.

31

0




63

0

GPR0

FPR0

GPR1

FPR1

.

.

.

.

.

.

GPR31

FPR31

31

0

31

0

CR

FPSCR

31

0

31

0

XER(SPR1)

LR(SPR8)




31

0

CTR(SPR9)

Рисунок 14.1 — Регістрова модель користувача для

мікропроцесорів PowerPC
Слід звернути увагу на те, що регістрова модель не вміщує ані програмного лічильника, ані вказівника стека.

Регістр прапорців CR складається з восьми 4-бітових полів CR7...0, молодший з яких CR0 вміщує прапорці, які формуються у результаті цілочисельних операцій:

    • LT = 1 при від’ємному результаті;

    • GT = 1 при додатньому ненульовому результаті;

    • EQ = 1 при нульовому результаті;

    • SO – приймає значення аналогічного біта у регістрі ХЕR (рис. 14.2, б).




0

1

2

3

4

5

6

7







28

31

LT

GT

EQ

SO

FX

FEX

VX

OX



LT/

FL

GT/

FG

EQ/

FE

SO/

FU










































CR0

CR1




CRi




CR7

a) CR

0

1

2

3

24

25

31

SO

OV

SA

Резервовано

SS

б) ХЕR

Рисунок 14.2 – Формати вмісту регістрів CR та XER
Поле CR1 вміщує прапорці, які встановлюються при операціях з плавучою точкою. Вміст інших полів CR7...2 встановлюється за результатом операцій порівняння цілих або дійсних, при операціях з плавучою крапкою, чисел. При порівнянні цілих чисел формуються прапорці LT (заменше), GT (завбільше), EQ (дорівнює), SO. При порівнянні дійсних чисел встановлюються аналогічні прапорці FL (заменше), FG (завбільше), FE (дорівнює), а також FU, який встановлюється y 1, коли один з порівнюваних операндів є не-число. Наявність кількох результатів порівняння дозволяє одночасно зберігати їх і використовувати при необхідності.

Нумерація розрядів RISC-процесорів PowerPC прийнята справа наліво, починаючи з 0-го розряду, який є старшим, тобто D0 – старший розряд даних, а D31 – молодший. Відповідно, вміст регістрів мікропроцесора подається у форматі, коли старший біт має номер 31.

Регістр XER вміщує прапорці перенесення СА, переповнення ОV, які встановлюються при виконанні арифметичних цілочисельних операцій, та прапорець загального переповнення S0, який зберігається таким, що дорівнює 1 до виконання команд завантаження у регістр нового даного.

Регістр зв’язку LR зберігає адресу команди умовного та безумовного переходів, або звернення до підпрограми.

Регістр-лічильник CTR вміщує задану кількість циклів і при виконанні чергового циклу його вміст зменшується на 1.

На рис.14.1 у дужках показані також номери деяких поіменованих регістрів, які використовуються у деяких командах звернення до цих регістрів як до службових.

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

    • зі зниженим енергоспоживанням;

    • з встановленням порядку big-endian або little-endian оброблення байтів при виключеннях;

    • з обслуговуванням зовнішніх запитів переривань;

    • режим користувача або режим супервізора;

    • режим виконання операцій над числами з плавучою точкою;

    • режим трасування;

    • задання базової адреси векторів переривань;

    • режим дозволу трансляції адрес команд та даних за допомогою пристроїв керування пам’яттю IMMU, DMMU;

    • режим з контролем продуктивності процесора тощо.

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

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

Процесор вміщує таймер базового часу, який перемикається тактовою частотою.

На рис. 14.3 показана структура МП МРС604. Процесор має суперскалярну структуру, яка складається з шести виконавчих пристроїв, які працюють паралельно:

    • блок оброблення розгалужень ВРU;

    • два блоки для виконання одноциклових цілочисельних операцій SIU1, SIU2;

    • один пристрій для виконання багатоциклових цілочисельних операцій MIU;

    • пристрій оброблення даних з плавучою точкою FPU;

    • блок вибирання операндів з пам’яті LSU.

Суперскалярна структура забезпечує одночасне виконання чотирьох команд.

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

Після завершення цих операцій відбувається перезапис результатів у GPR та FPR, так званий зворотний запис.

Конвеєр виконання команд має шість основних каскадів: вибирання команди (1), дешифрування (2), розподілення команд між виконавчими пристроями (3), виконання команд (4), запису результатів у буфер (5) та зворотнього запису результатів у регістри SPR або FPR. Пристрій керування одночасно вибирає з кеша і декодує чотири команди, які розподіляються по відповідних виконавчих пристроях.




Рисунок 14.3 – Структура мікропроцесора МРС604

Більшість команд виконуються за один такт. Ці команди реалізуються за допомогою SIU1 та SIU2, які здійснюють додавання, віднімання, порівняння, зсуви, логічні операції. Цілочисельне множення здійснюється за 3 або 4 такти, ділення — за 20 тактів. Ці операції виконує пристрій MIU. Більшість команд з плавучою крапкою, окрім ділення, виконується за три такти у трьох виконавчих каскадах, що складають структуру FPU. Вірна послідовність отриманих результатів виконання операцій збирається у спеціальному блоці завершення, який є побудований на основі буферної пам’яті типу черги. Зворотний запис результатів з буфера у регістри GPR, FРR здійснюється відповідно до порядку подання команд.

Блок оброблення розгалужень BPU завбачає напрямок розгалуження за алгоритмами статичного та динамічного завбачення, які ґрунтуються відповідно на тексті програми або на результатах попередніх розгалужень. Алгоритми завбачення використовують для прийняття рішень кеш адресу розгалужень ВТАС та таблицю історії розгалужень ВНТ. Кеш ВТАС зберігає 64 адреси переходів, які виконувались попередніми командами. Якщо виконувана команда переходів вміщує адресу, яка співпадає з вже записаною у ВТАС, то процесор вказує на розгалуження за цією адресою, тобто перехід здійснюється, якщо адреси у таблиці немає, то не здійснюється.

У разі надходження команди умовного переходу ВРU аналізує таблицю ВНТ, яка є кеш-пам’яттю, у ній зберігаються 512 адрес попередніх умовних переходів. Для кожної адреси у таблиці є два біти, які визначають вірогідність розгалуження за вказаною адресою: 00 — практично не виконується, 01 — виконується рідко, 10 — виконується часто, 11 — виконується дуже часто. Значення цих бітів змінюється після кожної операції умовного переходу: якщо розгалуження відбулося за вказаною адресою, то вірогідність збільшується на 1 (максимальне значення становить 11); якщо дана адреса не використовується, то вірогідність зменшується на 1 (мінімальне значення 00). Замість адрес з нульовою вірогідністю вводяться нові адреси з команд умовних переходів, які надходять. Розгалуження завбачається, якщо його вірогідність становить 01 або 11. Вірність завбачення перед виконанням додатково перевіряється після визначення відповідних прапорців у регістрі CR. Завбачена команда за адресою, вказаною у команді умовного переходу, вибирається у конвеєр, тобто розгалуження здійснюється; якщо ж адреса переходу не записана у таблиці ВТАС, то виконується наступна команда програми. При перевірці виконання умов переходу за прапорцями у регістрі CR, якщо умова не виконалась, тобто завбачення було невірним, процесор звільнює конвеєр від команд, які були невірно вибрані і завантажує нові команди, починаючи з вірної адреси. Помилково зроблені завбачення призводять до зниження продуктивності процесора.

Через суперскалярну структуру процесора одночасно можуть виконуватись кілька команд, які змінюють значення прапорців у регістрі CR. Для розв’язування конфліктів у ВТU є вісім буферних регістрів, які дублюють вміст CR і використовуються різними виконавчими пристроями. Після завершення виконання команди їх вміст переноситься у основний регістр CR, тобто здійснюється зворотний запис.

Мікропроцесор МРС604 здійснює роздільне оброблення команд і даних за допомогою двох пристроїв керування пам’яттю IMMU, DMMU, які можуть виконувати сегментне, сторінкове та блокове сегментування. Внутрішні кеші команд та даних мають ємність 16 кбайт.

Інтерфейс мікропроцесора з зовнішніми пристроями забезпечується контролером шини BIU. Для кожного байта адреси та даних передаються та приймаються біти парності, за допомогою яких здійснюється контроль помилок звернення до шини. Шина адреси має 32 розряди, а шина даних — 64 розряди, що підвищує продуктивність мікропроцесора. Припустимо підключення зовнішнього кеша 2-го рівня.

Мікропроцесор вміщує спеціалізований послідовний порт для виконання тестування за стандартом JTAG (IEEE 1149.1).

Для живлення мікропроцесора використовується напруга Vж = 3,3 В. Зниження енергоспоживання (400 мВт) забезпечується при зупині мікропроцесора, коли припиняється виконання команд, але продовжують працювати базовий таймер, система декрементування та блок обслуговування запитів на переривання.
  1   2

скачати

© Усі права захищені
написати до нас