Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Дослідження структури та принципу роботи контролера прямого доступу до пам’яті на прикладі підсистеми контролера ПДП персонального комп’ютера типу IBM PC AT

Тип роботи: 
Лабораторна робота
К-сть сторінок: 
21
Мова: 
Українська
Оцінка: 

│   │1 - TC канала 3

  │   │   │   │   └───────────────────────────
  │   │   │   │ 1 – новий запит канала 0
  │   │   │   └─────────────────────────────────────
  │   │   │1 - новий запит канала 1
  │   │   └─────────────────────────────────────────
  │   │ 1 - новий запит канала 2
  │   └─────────────────────────────────────────────
  │1 - новий запит канала 3
  └─────────────────────────────────────────────────
Рис. 22.6. Регістр стану
 
Регістр умов SR, розряди DЗ-D0 якого встановлюються аппаратно при виникненні сигналу ТС, тобто  після закінчення циклів ПДП  по зовнішньому сигналі ЕОР. Ці розряди скидаються (встановлюються в нуль) сигналом RЕSЕТ, а також після виконання команди читання вмісту цього регістра. Розряди D4-D7 установлюються програмно при необхідності обслуговування по відповідному каналі. Призначення розрядів SR показане на рис.  22.6.
Регістр запитів RR. Контролер може обслуговувати запити на ПДП, формовані як апаратно - по входах DRЕ, так і програмно - по стані розрядів (регістрів) запитів RR. Кожен розряд цього регістра відповідає запиту по одному з каналів. Розряди цього регістра не маскуються і встановлюються роздільно  чи програмно сигналами ТС і ЕОР. Програмна установка цих розрядів здійснюється командою, формат якої представлений на рис. 22.7. Скидання всіх розрядів RR здійснюється сигналом RЕSЕТ. Для обробки програмного запиту контролер повинний бути запрограмований у режимі блокової передачі.
 
Рис.  22.7. Формат команди установки запитів на ПДП
 
Регістр маски МАSК, за допомогою якого можуть бути замасковані сигнали DRЕ кожного каналу. Розряди МАSК можуть бути встановлені спеціальною командою одночасно (рис. 22.8) чи роздільно (рис.  22.9). Крім того, якщо канал не запрограмований на режим автозавантаження, після появи сигналу ЕОР відповідний розряд регістра встановлюється в одиницю. Усі розряди МАSК встановлюються в нулі сигналом RЕSЕТ або командою СМ (Сlеаr Маsk Rеgіstеr).
 
Рис. 22.8. Команда установки всіх розрядів маски
 
Рис. 22.9. Команда установки розряду маски
 
Режими роботи ПДП
 Контролер ПДП може працювати в двох основних режимах: із ЦП і виконання циклів ПДП. У режимі роботи з ЦП контролер сприймається їм як зовнішній пристрій, а після завантаження керуючих слів переходить у пасивний стан Sl. У цьому стані контролер знаходиться доти  , поки на вхід одного з каналів не надійде запит на ПДП DRЕ чи цей запит не буде виставлений програмно від ЦП. Знайшовши запит на ПДП, контролер переходить у стан SО і виставляє сигнал запиту на захоплення системної шини НRQ, очікуючи від ЦП сигналу підтвердження захоплення НLDА. При одержанні сигналу НLDА контролер починає виконувати цикли ПДП.
 
Цикли ПДП
Підсистема ПДП призначена для роботи в двох основних циклах: пасивному й активному.  Кожен цикл - це сукупність деякої кількості її станів.  Підсистема ПДП може мати сімох станів, кожне з який відповідає одному періоду синхронізації. Стан SІ - неактивний стан.  Підсистема ПДП знаходиться в цьому стані, коли немає дійсних запитів на обслуговування підсистеми ПДП.  Але в цьому стані підсистема ПДП може програмуватися. Стан S0 - перший стан обслуговування підсистеми ПДП, що виникає по дійсному запиті (DREQ). Підсистема ПДП запитує дозвіл у CPU на захоплення системної шини (HRQ), але до одержання підтвердження захоплення (HLDA) може ще програмуватися.  По HLDA підсистема ПДП переходить у робочий стан. Стану S1, S2, S3 і S4 - робітники стану.  Починають вироблятися після одержання підтвердження з CPU. Стан SW - стан чекання.Необхідно, якщо для завершення передачі потрібно більше часу, чим передбачається звичайно.  SW можуть "вклинюватися" між S2 чи S3 і S4, використовуючи вхід READY ПДП. Режими обслуговування Активні цикли обслуговування підсистеми ПДП можливо в одному з чотирьох режимів.  Закінчення обслуговування розпізнається по переходу регістра лічильника слів з 0000Н в FFFFН.  При цьому виникає сигнал закінчення рахунка (TC), що може викликати автоинициализацию, якщо вона запрограмована, чи маскирование каналу при її відсутності. Одночасно з TC виробляється вихідний сигнал -EOP. Під час автоинициализации первісні значення регістрів поточного адреси і лічильника відновлюються з відповідних базових регістрів. Після автоініциалізації канал готовий виконувати інше обслуговування підсистеми ПДП без утручання CPU, як тільки виявиться достовірний DREQ.
 
Режим одиночної передачі (Sіngle Transfer Mode)
У цьому режимі контролер ПДП виконує тільки одну передачу.  Адреса і лічильник слів будуть змінюватися при кожній передачі.  DREQ повинний бути активним, поки не активізується відповідний DACK.Якщо DREQ активний протягом  одиночної передачі, HRQ переходить у неактивний стан по виконанні однієї передачі і звільняє системну шину.  HRQ знову стане активним (при активному DREQ) і після одержання нового HLDA буде виконуватися наступний цикл одиночної передачі.  Це гарантує CPU у системі виконання одного повного машинного циклу між передачами ПДП.
 
Режим передачі блоку (Blok Transfer Mode)     
У цьому режимі передається блок інформації під час обслуговування підсистеми ПДП.  DREQ повинний бути активним, поки не з'явиться активний DACK.
 
Режим передачі за вимогою (Demand Transfer Mode)
У цьому режимі передача
Фото Капча