Розділ 2. Архітектура та структура МП та МПС

 

1 Основні поняття та визначення.

2 Організація шин.

3 Принципи побудови мікропроцесорних систем.

 

1 Основні поняття і визначення

 

Мікропроцесор (МП), мікроконтролер (МК), мікрокомп'ютер (МКП) слова схожі, але за змістом різні. Спрощена структурна схема типового мікропроцесора показана на рисунку 1. У його основі центральний процесорний пристрій (ЦПП), який містить арифметичний обчислювач, логічне ядро і регістри загального призначення. Із зовнішнім світом ЦПП спілкується за допомогою трьох шин: адреси, даних і управління. По цих же шинах в нього поступають коди програми керування, яка зберігається на зовнішньому носії. Початкова установка регістрів ЦПП виконується по сигналу скидання RESET, а синхронізація роботи здійснюється від тактових імпульсів SYN.

Якщо до ЦПП  на кристал додати оперативний  і постійний запам’ятовуючий пристрій (ОЗП, ПЗП), таймери, лічильники, аналого-цифрові і цифро-аналогові перетворювачі (АЦП, ЦАП), інтерфейсні вузли і порти введення/виведення, то мікропроцесор перетвориться на МК (рисунок 2). Тактові імпульси виробляє вбудований синхрогенератор, частота якого стабілізується кварцовим резонатором. Для програмування ПЗП використовується окремий вхід PROG або шина з декількох сигналів.

Раніше МК називали однокристальними мікро ЕОМ, віддаючи належне вітчизняним мікросхемам К1816ВЕхх, КР1830ВEхх. Однак ця назва не закріпилася, оскільки зараз переважні позиції на ринку займають МК (microcontroller) закордонного виробництва сімейств AVR, MCS-51, PIC, Scenix, Z8.

Мікроконвертор - це вдалий рекламний винахід фірми Analog Devices. Першим мікроконвертором був ADUC812, випущений в 1998 р. Ключове слово «MicroConverter» є офіційною торгівельною маркою і захищено юридичними правами фірми Analog Devices. Відноситься воно до лінійок мікросхем ADuC7xxx, ADuC8xx, що виконують функцію центрального ядра інтелектуальних систем збору інформації.

«Родзинкою» мікроконверторів є швидкодіючий прецизійний АЦП, доповнений універсальним блоком логічної обробки даних і багато розрядним ЦАП. Якщо врахувати наднизьке споживання струму і малі габарити мікроконверторів, то стає ясно, що спеціалізовані ІМС по праву займають свою нішу на ринку.

 

Рисунок 1 – Функціональна схема мікропроцесора (МП)

Рисунок 2 – Функціональна схема мікроконтролера (МК)

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

Цифрові сигнальні процесори (англ. DSP - Digital Signal Processor) теж відносяться до підвиду «мікроконтролерних» (рисунок 3). Їх «коником» є обробка широкосмугових сигналів в режимі реального часу. Це характерно як для аудіо/відео техніки, так і для систем гнучкого управління роботизованими комплексами. Досягненню мети сприяє висока швидкодія ядра сигнального процесора (СП), багатопотокова система обслуговування пам'яті і наявність апаратних математичних команд, наприклад, для швидкого перетворення Фур'є. Звичайні МК такими можливостями не володіють.

Рисунок 3 – Функціональна схема DSP

Перші DSP з'явилися в кінці 1970-х років через декілька років після перших МК, проте висока ціна і технологічні обмеження того часу не дозволили їм змагатися на рівних. Лише у 1982 р. фірма Texas Instruments зробила революційний прорив, випустивши в продаж перший універсальний програмований DSP TMS32010. Його концепція стала стандартом «де-факто» для всіх подальших сигнальних процесорів.

Відмінності в архітектурі і вузька спеціалізація привели до того, що напрям DSP/DSC виділився в окрему від МК сферу розробок з кількістю різновидів моделей більше 300. Вважається, що основною відмінністю DSP є відсутність розвиненої системи команд управління, тобто умовних переходів, непрямих викликів підпрограм, які необхідні для виконання завдань з’єднання із зовнішніми об'єктами. Процесор в DSP і його системі команд орієнтовані на найвищу швидкість перетворення вхідних даних, що поступають. На управлінські «дрібниці» обчислювальних ресурсів вже не вистачає.

Сучасні МК запозичують від DSP апаратне множення і спеціалізацію команд, а DSP запозичують від МК універсальні інтерфейси введення/виведення і гнучкість в платформі програмування. Грані відмінностей поступово стираються.

На початку 1980-х років з легкої руки японської фірми Hitachi до ужитку увійшла назва «мікрокомп'ютер». Цим звучним терміном стали називати швидкодіючі процесори лінійки «Hitachi SUPERH». У рекламі можливостей чипів «SUPERH microcomputer SH7000 series» підкреслювалося, що на одній мікросхемі тепер можна побудувати систему керування реального часу, що перевищує по продуктивності звичайний настільний мікрокомп'ютер.

Сучасний мікрокомп'ютер (рисунок 4) містить всі складові МК або DSP, але додатково має на борту контролер шин для підключення зовнішньої високошвидкісної пам'яті, а також аудіо- і відеопроцесори. Останні, як правило, не поступаються ЦПП по складності і функціональності. Приклади спрощених мікрокомп'ютерів з повсякденного життя – це однокристальні СВІС китайських клонів ігрових приставок «Dendy», «SEGA Mega Drive».

Рисунок 4  Функціональна схема мікрокоп‘ютера

 

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

Мікропроцесорна система обчислювальна, контрольно-вимірю­вальна або система керування, в якій основним пристроєм обробки ін­формації є МП. Мікропроцесорна система будується з набору мікропро­цесорних ВІС.

Мультимікропроцесорна (або мультипроцесорна) система – система, яка утворюється об'єднанням деякої кількості універсальних або спеціа­лізованих МП, завдяки чому забезпечується паралельна обробка інфор­мації і розподілене керування.

Мікропроцесорний комплект (МПК) сукупність інтегральних схем, сумісних за електричними, інформаційними та конструктивними параме­трами і призначених для побудови електронно-обчислювальної апаратури та мікропроцесорних систем керування. Зазвичай МПК містить: ВІС МП (один чи кілька корпусів інтегральних схем); ВІС оперативних за­пам'ятовувальних пристроїв (ОЗП); ВІС постійних запам'ятовувальних пристроїв (ПЗП); інтерфейси або контролери зовнішніх пристроїв; служ­бові ВІС (тактовий генератор, регістри, шинні формувачі, контролери шин, арбітри шин).

Жорстке розділення мікросхем на МК, мікропроцесори і DSP було характерне в кінці XX століття. У сьогодення грані відмінностей поступово стираються. МК усе частіше відносять до класу процесорів для вбудованих застосувань або, по-іншому, процесорів вбудованих систем (embedded processor). За визначенням, вбудовані обчислювальні системи – це системи, які безпосередньо, без постійної присутності людини, взаємодіють з датчиками і виконавчими пристроями керованого об'єкту.

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

Процесори, що застосовують у вбудованих системах, займають строго певне місце в загальній ієрархії мікросхем  (рисунок 5).

Рисунок 5 – Ієрархія мікросхем

 

Мікропроцесори та мікроконтролери класифікують за такими ознаками:

1 За розрядністю шини даних:

-       4-бітові (Atmel MARC4, Winbond W742, NEC uPD75 і ін.);

-       8-битові (Intel  MCS-48,  Intel  MCS-51, Atmel ATtiny/ATmega/ATXmega, Microchip PICI2/l6/l8,ZilogZ86 і ін.);

-       16-бітові  (Intel   MCS-96, Texas  Instruments  MSP430,   Motorola  68HCI6, Fujitsu MB90, Infineon C16, Mitsubishi M16C, Microchip РІС24ідр.);

-       32-бітові (Atmel ARM, Fujitsu MB9I, NEC V850, NXP LPC2xxx і ін.).

2. За архітектурою обчислювальної системи:

-       CISC (Complex Instruction Set Computing);

-       RISC (Reduced Instruction Set Computing).

Особливості CISC – команди виконуються по черзі один за одним і мають різну довжину і структуру. Вибірка команди з пам'яті здійснюється побайтно і виконується за декілька тактів. CISC-архітектуру мають: МК з сімейства Motorola НС05/НС08, МК з ядром MCS-51, МК з сімейства Infineon С500 і ряд інших.

На початку 1980-х років була розроблена нова архітектура – RISC. Основна ідея полягає в заміні складних команд однотипними простими і виконанні їх єдиним потоком на паралельному конвеєрі. Всі команди мають фіксовану довжину і в ідеалі повинні виконуватися за один, а не за декілька, тактів, чим досягається підвищена швидкодія.

Одним з перших МК з архітектурою RISC став РІС-контролер 16С54 фірми Microchip. Завдяки високій продуктивності і трьом десяткам команд, що легко запам'ятовуються, PIC-контролери швидко завоювали популярність у всьому світі. Незабаром їх прикладу пішли розробники з фірм Atmel, Scenix і ін.

З точки зору принципів конструювання обчислювальних систем виділяють Прінстонську  і Гарвардську архітектуру. Прінстонськая архітектура була розроблена Джоном фон Нейманом і незалежно від нього академіком С. А. Лебедевим. У ній використовується загальна пам'ять для зберігання програм і даних (рисунок 6, а). Основна перевага полягає в спрощенні схемотехніки центрального процесорного пристрою (ЦПП) і в гнучкості розподілу ресурсів між областями пам'яті.

Рисунок 6 – Архітектура обчислювальної системи: а) Прістонська;                           б) Гарвардська.

 

Особливістю Гарвардської архітектури є наявність окремих адресних просторів для зберігання команд і даних (рисунок 6, б). Ця архітектура майже не використовувалася до кінця 1970-х років, поки розробники нарешті зрозуміли, що саме вона дає їм певні переваги. Зокрема, аналіз реальних програм показує, що об'єм пам'яті даних МК, що використовується для зберігання проміжних результатів, на порядок менше необхідного об'єму пам'яті програм. Значить, можна скоротити розрядність шини даних, зменшити число транзисторів в мікросхемі  і прискорити доступ до інформації відразу в обох напрямках. Як наслідок, зараз більшість сучасних МК використовують RISC – архітектуру гарвардського типа.

3. За функціями, що виконуються:

-       універсальні;

-       спеціалізовані.

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

Спеціалізовані мікропроцесори призначені для розв'язання задач лише певного класу. До спеціалізованих МП належать: сигнальні; медійні та мультимедійні; трансп'ютери.

Сигнальні процесори призначені для цифрової обробки сигналів у реаль­ному масштабі часу (наприклад, фільтрація сигналів, обчислення згортки, обчислення кореляційної функції, підсилення, обмеження і трансформа­ція сигналу, пряме та зворотне перетворення Фур'є). До сигнальних про­цесорів належать процесори фірм Texas Instruments - 7MS320C80, Analog Devices - ADSP2106x, Motorola - DSP560xx та DSP9600x.

Medium і мультимедійні процесори призначені для обробки аудіосиг­налів, графічної інформації, відеозображень, а також для розв'язування ряду задач у мультимедіакомп'ютерах, іграшкових приставках, побутовій техніці. До медійних і мультимедійних процесорів належать процесори фірм MicroUnity - Mediaprocessor, Philips - Trimedia, Cromatic Reserch -Mpact Media Engine, Nvidia - NVI, Cyrix - MediaGX.

Трансп'ютери призначені для масових паралельних обчислень і робо­ти у мультипроцесорних системах. Для них характерним є наявність внутрішньої пам'яті та вбудованого міжпроцесорного інтерфейсу, тобто каналів зв'язку з іншими ВІС МП. До трансп'ютерів належать процесори фірм Inmos T2, T4, T8,T9000.

Першими з'явилися МК загального призначення з універсальним набором функцій. До їх апаратних вузлів входили: порти введення/виведення, таймери/лічильники, канал послідовного доступу UART, аналоговий компаратор. Застосування МК в різних побутових приладах, з'ясувало, що більшість функцій у них «простоюють», а на виконання специфічних завдань витрачається надто багато машинного часу. Для заповнення ніші, що утворилася, були розроблені спеціалізовані МК, «заточені» під конкретні сфери застосування, наприклад, для драйвера крокового двигуна, для МРЗ - декодера, для підключення символьного РКІ, для адаптера Ethernet і так далі.

Сучасні універсальні МК запозичили від спеціалізованих корисні інтерфейси: Serial Bus, SPI, USB, CAN. Більш того, модуль широко-імпульсного модулятора (ШІМ) і внутрішній АЦП перейшли в обов'язкову специфікацію параметрів багатьох МК. На черзі – ЦАП, Ethernet, комірка ПЛІС.

2 Організація шин

 

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

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

Рисунок 7 –   Класична структура зв’язків

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

 

Рисунок  8     Шинна структура зв’язків

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

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

Типова структура мікропроцесорної системи наведена на рисунку 9. Вона включає три основних типу пристроїв:

-       процесор;

-       пам'ять, що включає оперативну пам'ять ОЗП і постійну пам'ять ПЗП, яка служить для зберігання даних і програм;

-       пристрої введення/виведення (ПВВ, I/O - Input/Output Devices), які призначені для зв’язку мікропроцесорної системи із зовнішніми пристроями;  для приймання (введення, читання, Read) вхідних сигналів і передавання  (виведення, запис, Write) вихідних сигналів.

 

Рисунок 9 –  Структура мікропроцесорної  системи

Усі пристрої мікропроцесорної системи об'єднуються загальною системною шиною (вона ж називається ще системною магістраллю або каналом). Системна магістраль включає чотири основні шини нижнього рівня:

-       шина адреси (Address Bus);

-       шина даних (Data Bus);

-       шина керування (Control Bus);

-       шина живлення (Power Bus).

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

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

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

 Шина живлення призначена не для пересилки інформаційних сигналів, а для живлення системи. Вона складається з ліній живлення і загального дроту. У мікропроцесорній системі може бути одне джерело живлення (частіше +5В) або декілька джерел живлення (звичайно ще -5В +12В і -12В). Кожній напрузі живлення відповідає своя лінія зв'язку. Всі пристрої підключені до цих ліній паралельно.

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

 

3 Принципи побудови мікропроцесорних систем

 

В основу побудови МПС систем покладено три принципи: магістраль-ності; модульності; мікропрограмного керування.

Принцип магістральності визначає характер зв'язків між функціональ­ними блоками МПС – усі блоки з'єднуються з єдиною системною шиною.

Принцип модульності полягає в тому, що система будується на основі обмеженої кількості типів конструктивно і функціонально завершених модулів. Кожний модуль МПС системи має вхід керування третім (високоімпедансним) станом. Цей вхід називається CS (Chip Select) – вибір кристала або ОЕ (Output Enable) - дозвіл виходу.

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

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

Узагальнену структурну схему МПС показано на рисунку 10. До складу МПС входять: центральний процесор (ЦП), ПЗП, ОЗП; система перери­вань, таймер, пристрої введення-виведення (ПВВ). Пристрої введення-виведення приєднані до системної шини через інтерфейси введення-виведення.

Постійний та оперативний запам'ятовувальні пристрої складають сис­тему пам'яті, призначену для збереження інформації у вигляді двійкових чисел. Постійний запам'ятовувальний пристрій призначений для збере­ження програм керування таблиць, констант; ОЗП – для збереження про­міжних результатів обчислень. Пам'ять організовано у вигляді масиву комірок, кожна з яких має свою адресу і містить байт або слово. Байтом називається група із 8 біт, а слово може мати будь-яку довжину в бітах. Найчастіше під словом розуміють двійкове число довжиною 2 байт.

Рисунок 10 –  Узагальнена структурна схема мікропроцесорної системи керування

 

Модуль центрального процесора обробляє дані та керує всіма іншими модулями системи. Центральний процесор, крім ВІС МП, містить схеми синхронізації та інтерфейсу із системною шиною. Він вибирає коди ко­манд з пам'яті, дешифрує їх і виконує. Протягом часу виконання команди - командного циклу ЦП виконує такі дії:

-  виставляє адресу команди на шину адреси АB;

-  отримує код команди з пам'яті та дешифрує його;

-  обчислює адресу операнда і зчитує дані;

-  виконує операцію, визначену командою;

- сприймає зовнішні сигнали керування (наприклад, запити перери­вань);

 - генерує сигнали стану і керування, які потрібні для роботи  пам'яті та ПВВ.