Контролер DMA 8237
Контролер призначений для ПДП по 4-м незалежним каналам з позитивним або негативним збільшенням адреси та з обсягом передачі до 64К циклів. Один цикл ПДП у звичайному режимі виконується за 4 такти CLK мікропроцесора, що для PC/XT становить 1.5Мбайт/с. Є можливість подвоєння швидкості обміну, а також збільшення числа каналів шляхом каскадування контролерів. У системах AT та вище використовуються два контролери та, відповідно, 7 каналів ПДП.
Регістри та команди контролера ПДП
Кожний канал контролера містить 4 16-розрядних регістри.
Регістр поточної адреси CAR (current address register) зберігає поточне значення адреси комірки пам'яті в циклі ПДП, що збільшується або зменшується на одиницю після виконання циклу.
Регістр циклів ПДП CWR (current word register) зберігає число слів, призначених для передачі, плюс одиниця. Регістри зберігання базової адреси BAR та базового числа циклів ПДП WCR. Дані в ці регістри записуються тільки при початковому завантаженні. Регістри для читання недоступні. Кожний канал має також 6-розрядний регістр MR режиму роботи DMA.
Контролер містить один 8-розрядний регістр TR тимчасового зберігання даних при передачі «пам'ять-пам'ять». Така передача здійснюється за допомогою каналів 0 і 1. У системі PC/XT передача «пам'ять-пам'ять» неможлива, оскільки канал 0 зайнятий регенерацією ОЗП.
У контролері також присутній блок управління, що виробляє сигнали управління в циклах ПДП. Блок містить у собі два 8-розрядних (CR та SR), а також два 4-розрядних регістри (RR та MASK).
Контролер має два основних режими: пасивний при роботі з CPU та активний при виконанні циклів ПДП. У пасивному режимі проводиться програмування контролера (зокрема, його ініціалізація), а також аналіз стану його регістрів. Контролер може бути запрограмований на одиночну передачу, блокову передачу, передачу на вимогу, а також на режим «пам'ять-пам'ять». При цьому можливі три типи передачі: запис даних в ОЗП, читання даних з ОЗП та псевдопередача ("перевірка"). Крім того, є кілька додаткових функцій: автоініціалізація, обслуговування по заданих пріоритетах або з їхньою циклічною зміною та операція "стискання у часі". В останньому випадку виконується двотактний цикл шини завдяки формуванню адреси старших розрядів тільки при її зміні.
BIOS при старті в регістри ПДП посилає наступні дані:
1) 0 у порт 83h - обнуління сторінкового регістра каналу 1.
2) 4 у порт 08h - заборона ПДП.
3) 12h у порт 0Dh - загальне скидання (регістр команд в 0, регістр масок - в FFh).
4) FFFFh у порти 0 та 1 - завантаження для каналу 0 молодшого + старшого байта в регістри BAR та CAR (порт 0), а також у регістри WCR та CWR (порт 1).
5) 58h у порт 0Bh – канал 0, читання, автоініціалізація, негативне збільшення адреси, одиночна передача.
6) 0 у порт 0Аh - зняти маску ПДП для каналу 0.
Таким чином, програмується 0-й канал ПДП на регенерацію пам'яті.
Контрольні питання
1. Чи може функціонувати комп'ютер без прямого доступу до пам’яті?
2. Що дає застосування ПДП?
3. Опишіть процес прямого доступу до пам’яті.
4. Яке призначення контролера ПДП.
5. Як програмується контролер ПДП?
Частина 3. Розвиток архітектури стандарту PC
Лекція 12. Структура та режими роботи сучасного процесора
12.1. Вимоги до сучасних процесорів
В узагальненому виді центральний процесор виглядає так:
Рис. 12.1. Узагальнена структура одноядерного процесора
Користувач очікує від процесора наступних характеристик:
1.Висока швидкодія – кількість інструкцій в одиницю часу. Ця характеристика досягається підвищенням тактової частоти та розпаралелюванням обчислень. Підвищення тактової частоти обмежується гранично припустимим тепловиділенням. Сучасні системи відводу тепла обмежені величиною 150-200Вт та мають високу вартість. При цьому неминуче зростає робоча температура та різко знижується надійність системи. Відомо, що при підвищенні температури на 15 градусів час наробітку на відмову зменшується вдвічі. У кристалах на основі кремнію навряд чи можлива тактова частота понад 10ГГц.
Розпаралелювання обчислень досягається суперскалярною архітектурою, тобто багатоконвеєрною обробкою. Наприклад, одноядерні процесори Core 2 та Athlon містять 3-4 конвеєри, що дозволяє виконувати до 8 інструкцій (команд) одночасно. Додаткова можливість розпаралелювання з'являється при багатоядерній архітектурі процесора. Так, при використанні двох ядер продуктивність процесора збільшується в 1.3-1.8 раз.
2.Зниження тепловиділення. У світі функціонують сотні мільйонів комп'ютерів, кожний з яких споживає сотні Вт енергії. Це становить значну частину загального енергоспоживання. Сучасні процесори витрачають до 130Вт. Intel та AMD обмежують потужність настільних процесорів величиною 65Вт. Споживана потужність процесора пропорційна частоті та квадрату напруги живлення: P=αFU2.
Зменшуючи технологічний крок, можна зменшити втрати, пов'язані з високою робочою частотою, а також робочу напругу на процесорі. З 2006-го року освоєний технологічний крок 45нм при напрузі живленні ядра 1.2-1.4В. Зменшення технологічного кроку відбувається за законом Мура. Розробляються технології 22нм. Технологічною межею є зниження технологічного кроку до 6нм (розмір атома кремнію 3нм).
Додатковою проблемою тепловиділення є струм витоку. Його зниження дає технологія SOI (кремній на ізоляторі), яка використовується в CPU AMD. Intel використовує технологію High-K (діелектрик High-K на основі гафнію з високим коефіцієнтом діелектричної проникності), крім того, замість шару кремнію в затворі над діелектриком тепер використовується метал. При цьому струми витоку знизилися в 10 разів.
Перехід на більше тонкий технологічний процес також знижує тепловиділення та підвищує швидкодію через зменшення ємності затвора. Так, перехід з 65нм на 45нм зменшив тепловиділення на 30%.
Для відводу тепла в ПЭВМ використовується пасивне та примусове охолодження. Примусове охолодження буває:
1) Повітряне (використовуються всілякі радіатори (матеріал, площа, форма ребра) та вентилятори (форма лопати, напрямок потоку й шум)).
2) Рідинне.
3) Криогенне (фреон, сухий лід, рідкий азот).
4) Напівпровідникове (елементи Пельтьє). КПД в елемента Пельтьє нижче 10%. Основне завдання таких елементів - одержання температур нижче температури навколишнього середовища.
3.Зниження вартості.Цей процес відбувається за законом Мура внаслідок масового споживання та законів конкуренції. Так, в 1997р. процесор Pentium 166 MMX коштував близько 100 доларів. В 2006р. по цій вартості продавався двохядерний процесор Pentium D805, що в 30 разів швидше. Правда, енергоспоживання при цьому також виросло майже на порядок.