logo
AOM / Мельник А

11.6. Прямий доступ до пам'яті

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

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

На рис 11.13 показаний двоканальний контролер прямого доступу до пам'яті, який керує зв'язком основної пам'яті з дисковою пам'яттю і високошвидкісним принтером,

413

До складу контролера входять:

■ логіка керування.

Ці вузли мають свої адреси для засилання в них інформації з процесора. Кількість таких вузлів кратна кількості каналів.

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

■ адреса пам'яті;

■ кількість слів;

■ адреса даних в пристрої введення-виведення (на диску); ■ виконувана функція (запис/зчитування).

Ця інформація поступає в контролер з процесора. Коли передача закінчена, цей факт реєструється в регістрі станів контролера. Тут також записується інформація про по­милки при передачі даних. Після закінчення введення-виведення, чи при наявності по­милки, система прямого доступу до пам'яті повідомляє про це процесор відповідним сигналом переривання.

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