Шинна структура
При цьому в разі виходів 3С необхідно забезпечити, щоб на лінії завжди працював тільки один активний вихід, а всі інші виходи знаходилися б в цей час в третьому стані, інакше можливі конфлікти. Об'єднані виходи ОК можуть працювати всі одночасно, без всяких конфліктів.
Типова структура мікропроцесорної системи виглядає так:
Структура мікропроцесорної системи
Вона включає в себе три основних типи пристроїв:
· Пам'ять, що включає оперативну пам'ять (ОЗУ, RAM - Random Access Memory) і постійну пам'ять (ПЗУ, ROM -Read Only Memory), яка служить для зберігання даних і програм;
· Пристрої введення / виводу (УВВ, I / O - Input / Output Devices), службовці для зв'язку мікропроцесорної системи з зовнішніми пристроями, для прийому (введення, читання, Read) вхідних сигналів і видачі (виведення, записи, Write) вихідних сигналів.
Всі пристрої мікропроцесорної системи об'єднуються загальною системною шиною (вона ж називається ще системною магістраллю або каналом). Системна магістраль включає в себе чотири основні шини нижнього рівня:
· Шина даних (Data Bus);
· Шина управління (Control Bus);
· Шина харчування (Power Bus).
Шина даних - це основна шина, яка використовується для передачі інформаційних кодів між усіма пристроями мікропроцесорної системи. Зазвичай в пересиланні інформації бере участь процесор, який передає код даних в якийсь пристрій або в комірку пам'яті або ж приймає код даних з якогось пристрою або з комірки пам'яті. Але можлива також і передача інформації між пристроями без участі процесора. Шина даних завжди двунаправленная. Найбільш часто зустрічається тип вихідного каскаду для ліній цієї шини - вихід із трьома станами.
Кількість її розрядів (ліній зв'язку) визначає швидкість і ефективність інформаційного обміну, а також максимально можливу кількість команд. Зазвичай шина даних має 8, 16, 32 або 64 розряди. Зрозуміло, що за один цикл обміну по 64-розрядної шини може передаватися 8 байт інформації, а по 8-розрядної - тільки один байт. Розрядність шини даних визначає і розрядність всієї магістралі. Наприклад, коли говорять про 32-розрядної системної магістралі, мається на увазі, що вона має 32-розрядну шину даних.
Інші сигнали можуть використовуватися для підтвердження прийому даних, для скидання всіх пристроїв в початковий стан, для тактирования всіх пристроїв і т.д. Крім того, керуючі сигнали забезпечують узгодження роботи процесора (або іншого господаря магістралі, задатчика, master) з роботою пам'яті або пристрою вводу / виводу (пристрої-виконавця, slave). Керуючі сигнали також обслуговують запит і надання переривань, запит і надання прямого доступу.
Лінії шини управління можуть бути як односпрямованим, так і двонаправленими. Типи вихідних каскадів можуть бути самими різними: з двома станами (для односпрямованих ліній), з трьома станами (для двонапрямлених ліній), з відкритим колектором (для двонапрямлених і мультиплексованих ліній).
Нарешті, шина харчування призначена не для пересилання інформаційних сигналів, а для живлення системи. Вона складається з ліній живлення і загального проводу. У мікропроцесорної системі може бути одне джерело живлення (частіше +5 В) або кілька джерел живлення (зазвичай ще -5 В, +12 В і -12 В). Кожному напрузі харчування відповідає своя лінія зв'язку. Всі пристрої підключені до цих ліній паралельно.
Важливо враховувати, що пристрої введення / виведення найчастіше являють собою пристрої на «жорсткій логіці». На них може бути покладена частина функцій, які виконуються мікропроцесорної системою. Тому у розробника завжди є можливість перерозподіляти функції системи між апаратної і програмної реалізаціями оптимальним чином. Найчастіше застосовується комбінування апаратних і програмних функцій.
Іноді пристрої введення / виводу мають в своєму складі процесор, тобто являють собою невелику спеціалізовану мікропроцесорну систему. Це дозволяє перекласти частину програмних функцій на пристрої введення / виводу, розвантаживши центральний процесор системи.