Зв'язок процесора з іншими пристроями

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

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

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

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

Зв'язок процесора з іншими пристроями

Малюнок 2 - Контролери, підключені до шини

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

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

Зв'язок процесора з іншими пристроями

Малюнок 3 - Введення-виведення, відображений на пам'ять

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

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

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

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

Швидкість передачі даних від одного елемента комп'ютера до іншого вимірюється в бітах в секунду (біт / с) (bits per second = bps). Зазвичай використовуються Кбіт / с (кілобіт в секунду, дорівнює 1000 біт / с), Мбіт / с (мегабіт в секунду, що дорівнює мільйону біт / с) і Гбіт / с (гігабіт на секунду, що дорівнює мільярду біт / с). Максимальна швидкість передачі даних залежить від типу лінії зв'язку і способу передачі. Максимальна швидкість часто помилково ототожнюється з шириною смуги пропускання лінії зв'язку. Тобто вважається, що лінія зв'язку, що має велику ширину смуги пропускання, може здійснювати передачу бітів на більшій швидкості. На жаль, в даному випадку має місце неточне вживання терміна, оскільки «висока швидкість передачі» може означати різні швидкості в різних установках.

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

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

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

Схожі статті