PIO і DMA

PIO (Programmable Input / Output) - дуже старий і має багато суттєвих недоліків режим роботи пристроїв, при передачі даних жорсткими дисками і приводами CD / DVD задіюється процесор, звичайно це зменшує продуктивність. У 1990 роках з'являється режим обміну даними, що використовує прямий доступ до пам'яті DMA (Direct Memory Access), центральний процесор вже не використовується і пристрої звертаються безпосередньо до основної пам'яті, що збільшує швидкодію системи в цілому в кілька разів.


PIO і DMA


У цій статті ми розглянемо причини, через які операційна система може перевести пристрої в більш повільний режим роботи PIO і як їх усунути. Дане питання виникло у мого друга, коли його влаштували на роботу системним адміністратором на підприємство, де відчувалася гостра необхідність оновлення комп'ютерного парку, звичайно начальство цього робити не збиралося і довелося викручуватися самим. В основному комп'ютери були нові, але зі своїми обов'язками справлялися. Що цікаво, два з них працювали в режимі PIO і їх треба було якось переводити в режим DMA.


На першому ж системному блоці працює в режимі PIO, ми побачили, що хард підключений за допомогою 40-жильного кабелю, для роботи DMA потрібен 80-жильний шлейф IDE, замінюємо і питання вирішується. На іншому комп'ютері, стояв новий жорсткий диск, Western Digital інтерфейсу підключення SATA 250 GB і на ньому знаходилася операційна система Windows XP, другим Seagate Barracuda 80GB, старого інтерфейсу IDE і обидва працювали в режимі PIO. Варто було прибрати застарілий вінчестер IDE і новий SATA працював в режимі DMA.


В принципі старий хард можна було прибрати, але питання б залишилося невирішеним. Перш ніж встановлювати заново драйвера на материнську плату або саму Windows, видаляти первинні і вторинні канали IDE, можна сказати танцювати з бубном, я став згадувати що десь, читав про подібну проблему і про те, як її вирішили.
А вирішили її банально, розумні люди. Два жорстких диска, нового зразка SATA і старого IDE працюватимуть разом, в режимі DMA, якщо вони одного виробника.


У мене вдома був хард Western Digital, інтерфейсу IDE, на 40GB, ми встановили його в системний блок замість колишнього і вони обидва заробили в режимі DMA, ось так було вирішене конфлікт пристроїв. Що ще можна зробити у разі якщо Windows XP перевела роботу ваших пристроїв в більш повільний режим PIO, в принципі все методи, які можна застосувати, описані в нашій статті Гальмує жорсткий диск, крім одного, це редагування реєстру, його і розглянемо зараз.

Взагалі метод ризиковий, годі й завантажитися, тому зробіть найкраще бекап системи, наприклад в Acronis. Нам потрібен кущ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Cdfs \, далі створюємо ключ ErrorControl зі значенням рівним 0 і перезавантажуємося і видаляємо в диспетчері пристроїв в пункті IDE ATA / ATAPI контролери, все Первинні і Вторинні канали IDE.
Далі наступний кущ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class \ 4D36E96A-E325-11CE-BFC1-08002BE10318, тут нам потрібні папки
0000 - сам контролер;
0001 - Secondary IDE Chanell;
0002 - Primary IDE Chanell;
Заходимо в папки, кожна з них відповідає за потрібний нам канал, тут нам потрібні ключі.
MasteDeviceTimingModeAllowed
SlaveDeviceTimingModeAllowed
Надаємо їм значення 0хffffffff.
Далі ще ключі MasterDeviceTimingMode
SlaveDeviceTimingMode
Згідно підтримуваного UDMA-режиму:
UDMA Mode 2 - 0 × 2010
UDMA Mode 4 - 0 × 8010
UDMA Mode 5 - 0 × 10010
UDMA Mode 6 - 0xffff
перезавантаження.

Мітки до статті: Жорсткий диск Залізо та периферія