Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лекція 5



АРХІТЕКТУРА МІКРОПРОЦЕСОРА.

СКЛАД МІКРОПРОЦЕСОРНОЇ СИСТЕМИ (МПС)

ПЛАН

1. Призначення мікропроцесора

2. Шинна структура зв’язків

3. Структурна схема мікропроцесорної системи

4. Архітектура мікропроцесорних систем

5. Типи мікропроцесорних систем

Призначення мікропроцесора

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

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

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

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

Рис. 8-Приклад структури найпростішого процесора.
Для виконання команд у структуру процесора входять внутрішні регістри, арифметико-логічний пристрій (АЛП, ALU - Arithmetic Logic Unit), мультиплексори, буфери, регістри й інші вузли. Робота усіх вузлів синхронізується загальним зовнішнім тактовим сигналом процесора. Тобто процесор є досить складним цифровим пристроєм (рис.8).

Шинна структура зв'язків

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

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

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

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

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

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

Типова структура мікропроцесорної системи наведена на Рис.10. Вона містить у собі три основних типи пристроїв:

процесор;

пам'ять, що включає оперативну пам'ять (ОЗП, RAM - Random Access Memory) і постійну пам'ять (ПЗП, ROM -Read Only Memory), що служить для збереження даних і програм;

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

Рис.10-Структура мікропроцесорної системи.  

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

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

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

- шина управління (Control Bus);

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

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

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

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

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

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

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

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

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

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

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

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

Рис.11.а-Архітектура з загальною шиною даних і команд.

Але існує також і альтернативний тип архітектури мікропроцесорної системи - це архітектура з роздільними шинами даних і команд (двохшинна, або гарвардська архітектура). Ця архітектура припускає наявність у системі окремої пам'яті для даних і окремої пам'яті для команд (рис.11.б). Обмін процесора з кожним із двох типів пам'яті відбувається по своїй шині.

Архітектура з загальною шиною поширена набагато більше, вона застосовується, наприклад, у персональних комп'ютерах і в складних мікрокомп'ютерах. Архітектура з роздільними шинами застосовується, в основному, в однокристальних мікроконтролерах.

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

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

Рис.11.б-Архітектура з роздільними шинами даних і команд.

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

У чому ж перевага архітектури з двома шинами (гарвардської)? У першу чергу, у швидкодії.

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

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

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

Типи мікропроцесорних систем

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

мікроконтролери - найпростіший тип мікропроцесорних систем, у яких усі або більшість вузлів системи виконані у виді однієї мікросхеми;

контролери - керуючі мікропроцесорні системи, що виконані у виді окремих модулів;

мікрокомп'ютери - потужніші мікропроцесорні системи з розвинутими засобами сполучення з зовнішніми пристроями.

комп'ютери (у тому числі персональні) - самі потужні і найуніверсальніші мікропроцесорні системи.

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

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

Контролери, як правило, створюються для рішення якоїсь окремої задачі або групи близьких задач. Вони звичайно не мають можливостей підключення додаткових вузлів і пристроїв, наприклад, великої пам'яті, засобів вводу/виводу. Їхня системна шина найчастіше недоступна користувачеві. Структура контролера проста й оптимізована під максимальну швидкодію. У більшості випадків виконувані програми зберігаються в постійній пам'яті і не змінюються. Конструктивно контролери випускаються в одноплатному варіанті.

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

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

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

В даний час при розробці нових мікропроцесорних систем найчастіше вибирають шлях використання мікроконтролерів (приблизно в 80% випадків). При цьому мікроконтролери застосовуються або самостійно, з мінімальною додатковою апаратурою, або в складі більш складних контролерів з розвинутими засобами вводу/виводу.

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

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

Контрольні запитання

1. Що таке мікропроцесор?

2. Що таке система команд мікропроцесора?

3. Яка структура найпростішого процесора?

4. Яка різниця між класичною та шинною структурою зв’язків мікропроцесорної системи?

5. Опишіть фон Нейманівською архітектуру.

6. Опишіть Гарвардську архітектуру.

7. Що таке шина?

8. На які типи поділяють мікропроцесорні системи?





Дата публикования: 2015-09-18; Прочитано: 1544 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.013 с)...