Навігація
Головна
 
Головна arrow Інформатика arrow Архітектура ЕОМ і систем
< Попередня   ЗМІСТ   Наступна >

БУФЕРИЗАЦІЯ ДАНИХ

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

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

  • однопортовий буфер перших дискових пристроїв мав ємність 512 байт на один сектор диска. При читанні з диска вбудований контроллер спочатку заповнював буфер даними сектора, і тільки після цього дані з буфера могли бути лічені в пам'ять комп'ютера. Однопортовий буфер великого розміру виявляється неефективним, оскільки при довгих операціях він вносить велику затримку доставки даних;
  • двухпортовий буфер має ємність на кілька секторів і допускає одночасне звернення з двох сторін: обмін з носієм з боку дискового пристрою і обмін по шині з боку інтерфейсу, що дозволяє зменшити затримку. Реалізується наступний порядок зчитування секторів:

■ черговий сектор цілком заноситься в буфер;

■ схеми контролю повідомляють про відсутність або наявність помилок;

■ при відсутності помилок контролер диска видає дані цього сектора на зовнішній інтерфейс і одночасно продовжує зчитування наступного сектора в решту буфера.

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

Адаптери локальних мереж передають дані цілими пакетами, які повинні прийматися і надсилатися з певною швидкістю (10, 100 або 1000 Мбіт / с для трьох поколінь Ethernet). Обсяг пам'яті і організація буфера залежать від швидкості середовища передачі і продуктивності шини розширення, до якої вони підключені.

Двопортовий буфер поділений навпіл з чергуванням роботи кожної половини (Ping-Pong Buffer). При прийомі пакету з мережі спочатку заповнюється перша половина, потім - друга.

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

Як тільки заповниться друга половина, карта переключається на заповнення першої, вже вільної половини і видає наступний запит на управління для вивантаження другої половини.

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

Буфер з організацією обслуговування FIFO (First In - First Out, першим увійшов - першим вийшов) часто застосовують для потокових пристроїв. Буфер ставиться між процесором і пристроєм і володіє невеликою ємністю пам'яті. З одного боку він наповнюється, з протилежного - спустошується. Отримувати дані з буфера можна після того, як він хоча б частково заповнений. Спроба отримання даних з пустого буфера є помилкою спустошення (Underflow), спроба переміщення даних в заповнений буфер - помилкою переповнення (Overflow). Логіка буфера стежить за ступенем наповненості буфера і повідомляє процесору про критичні ситуації за допомогою переривань.

У двонапрямлених пристроїв, як правило, є два FIFO- буфера. Буфери FIFO застосовуються в контролерах накопичувачів, в СОМ-портах, LPT-портах і ряді інших потокових вузлів комп'ютера.

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

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук