русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Центральний процесор 8088


Дата додавання: 2013-12-23; переглядів: 1477.


Включення в системну шину

Включення через паралельний порт

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

 

BS ┌────────┬────┐Centronics┌────┐ ║ ┌─────┐ ┌─────┐ │ Device │ PP ╞═══ ═ ═ ══╡ PP ╞════╬════╡ CPU ╞═════╡ Mem │ └────────┴────┘ └──┬─┘ ║ └──╥──┘ └─────┘ │ ║ ┌──╨──┐ └──────────>┤ PIC │ └─────┘

 

Рис. 7.4. Включення через паралельний порт

CPU перебуває в пасивному стані в момент передачі/прийому даних. Обмін здійснює контролер ПДП. Необхідність відкривати системний блок (платформу) комп'ютера та установлювати плату зовнішнього пристрою безпосередньо в слоти розширення на системній платі може викликати деякі незручності, які компенсуються максимальною пропускною здатністю каналу зв'язку пристрій-ЕОМ, що досягає більше одного мегабайта в секунду. Даний спосіб включення застосовуються найбільше часто (адаптери дисків, відеоадаптери, факс-модеми та ін.).

BS ┌─────┐ ┌────────┬─────┐ ║ ┌─>┤ PIC ├───>──────────────┐ │ │Port1│ ║ │ └─────┘ ┌─────┐ ┌─┴───┐ │ Device │ ... ╞════╬════│═════════════╡ Mem │ │ CPU │ │ │PortN├─────────┤ ┌─────┐ └──┬──┘ └─┬───┘ └────────┴─────┘ └─>┤ DMA ├───>───┴──────────┘ └─────┘

 

Рис. 7.5. Включення через системну шину

Підключення через сучасні інтерфейси

Сучасні зовнішні інтерфейси: LAN, FireWire, USB є швидкісними інтерфейсами послідовного типу із простою апаратною реалізацією, однак вимагають високої кваліфікації програміста в середовищі Windows для написання драйверів.

Адресний простір пам'яті та введення/виводу

Фізична адреса комірки пам'яті представляє собою 20-бітове число в діапазоні 0..FFFFF (1 Мбайт)

Логічна адреса пам'яті складається із двох 16-бітових беззнакових значень: Seg:Ofs. Обчислення фізичної адреси здійснюється шляхом зрушення вліво Seg на 4 біти (один 16-ричный розряд) і додавання зі зсувом Ofs:

Addr = 16*Seg + Ofs.

Команди вибираються за логічною адресою CS:IP, стекові команди - за адресою SS:SP, а вихідні дані - за адресою DS:EA, де залежно від способу адресації EA може бути IP,SP,SI,DI.

Введення/вивід даних може здійснюватися двома способами: відображенням на пам'ять або шляхом зв'язку з портом. У першому випадку використовується команда MOV. У другому випадку застосовуються команди IN і OUT із прямою або непрямою адресацією. При прямій адресації забезпечується прийом-передача в 256 портів, а при непрямій, коли адреса розташовується в регістрі DX, - до 64K (16 розрядів) 8-бітових портів. Однак у базовому стандарті IBM використовується 10-розрядна адреса порту, тобто 1К портів.

Структура мікропроцесора 8088

Структурна схема CPU 8088 наведена на рис.7.6.

Операційний пристрій CPU містить групу загальних регістрів AX-DX, вказівні регістри SP, BP, індексні регістри SI, DI, арифметико-логічний пристрій (АЛП), регістр прапорів F і блок управління. Регістри SP та BP зберігають зсув адреси в межах поточного та стекового сегмента пам'яті, а індексні регістри SI, DI зберігають зсув адреси відповідно в поточному сегменті даних та в поточному додатковому сегменті.

АЛП містить 16-бітовий комбінаційний суматор для виконання арифметичних операцій, схеми операцій зсуву і десяткової корекції, а також регістри тимчасового зберігання операндів та результатів.

Пристрій управління дешифрує команди, сприймає та виробляє необхідні сигнали управління. До його складу входить блок мікропрограмного управління, де реалізоване програмування CPU на мікропрограмному рівні.

Пристрій шинного інтерфейсу містить блок сегментних регістрів, вказівник команд, суматор адресу, чергу команд та буфери зв'язку із шиною.

  ┌────────────────┐ Пристрій шинного інтерфейса 15 │ 0 │ ┌───┴───┐ ┌────┴────┐ ┌─────────┐ │ CS │ │ Суматор ├───────>┤ Буфер │ А19-А8 ├───────┤ ┌──>┤ адрес ├────┐ │ адреси/ ├───────────> │ SS │ │ └────┬────┘ │ │ стану │ ├───────┤ │ ^ │ ├─────────┤ │ DS │ │ │ └──>┤ Буфер │ АD7-АD0 ├───────┤ │ ┌────┴────┐ │ адреси/ ├<──────────> │ ES │ │ │ IP │ ╔═══╡ даних │ └───┬───┘ │ └────┬────┘ ║ └─────────┘ │ │ │ ║ ════╪═══════╧════════╪═════════╝──────┐ ┌ ─ ─ ─ │ ─ ─ ─ ─ ─ ─ ─ ─│─ ─ ─ ┐ │ 15 8│7 0 │ 7 │ 0 │ ┌───┼───┐ ┌────┴────┐ │ ┌─────┴─────┐ AX│ AH│ AL│ ┌───┤ АЛП │ │ 1 │ │ CX│ CH│ CL│ │ └────┬────┘ │ ├───────────┤ DX│ DH│ DL│ │ │ │ Черга │ │ BX│ BH│ BL│ │ 15 │ 0 │ │ команд IQ │ ├───┴───┤ │ ┌────┴────┐ ├───────────┤ │ │ SP │ │ │ F │ │ │ 4 │ │ BP │ │ └─────────┘ └─────┬─────┘ │ │ SI │ │ │ │ │ DI │ │ Операціоний ┌──────┴──────┐ Сигнали │ └───┬───┘ │ пристрій │ │ Пристрій ╞<══════════> └───────┘ │ управління │ управління └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ └─────────────┘

 

Рис. 7.6. Структура CPU 8088

 

Сегментні регістри зберігають початкові адреси сегментів пам'яті: CS - програми; SS - стека; DS - даних; ES - додаткового сегмента даних.

Вказівник команд IP зберігає зсув наступної команди. Суматор адрес здійснює обчислення 20-бітової фізичної адреси.

Черга команд - набір регістрів, у яких зберігаються коди команд. Довжина черги становить 4 байти, що відповідає максимальному формату команди. Шинний інтерфейс працює паралельно операційному пристрою, чим забезпечується підвищення швидкодії МП. Цикл шини триває 4 такти CLK.

Контрольні питання

1. Які шини використовуються в ПЕОМ і як вони взаємодіють?

2. Вкажіть переваги та недоліки різних способів підключення зовнішніх пристроїв у ПЭВМ.

3. Опишіть взаємодію елементів структури CPU.

4. Сегментація в адресації. Її переваги та недоліки.

5. Чому процесор CPU 8086/88 уважають революційним?

 

Лекція 8. Порти введення/виводу, реальний режим та

базова система введення/виводу

8.1. Карта портів введення/виводу

Для взаємодії різних пристроїв ПЕОМ використовується система портів введення/виводу (В/В). У стандарті передбачено 1К портів В/В с нумерацією 0..3FF. Дешифрація адреси порту проводиться по молодшим десяти (А0..А9) розрядам. Простір портів можна розділити на три частини: перші 255 портів призначені для системних потреб, наступні 240 портів вільні та можуть використовуватися нестандартними пристроями; нарешті, друга половина портів зарезервована для стандартних периферійних адаптерів та пристроїв. Карта портів введення/виводу наведена в таблиці 8.1.

Таблиця 8.1

Номера портів Призначені для пристроїв Користувач
000..01F 020..03F 040..05F 060..06F 070..07F 080..09F 0А0..0BF 0C0..0DF 0F0..0FF Контролер DMA Контролер PIC 1 Таймер Системні сигнали та клавіатура (PPI) Годинник реального часу, NMI (АT) Сторінкові регістри DMA Контролер PIC 2(AT), NMI (XT) Контролер DMA 2(AT) Математичний співпроцесор (AT) Системні пристрої введення/виводу
100..1EF 179..1EF Вільні для пристроїв користувача Будь-який
170..178 1F0..1F8 200..207 278..27F 2F8..2FF 300..31F 360..36F 378..37F 380..3АF 3B0..3DF 3F0..3F7 3F8..3FF Фіксований диск #2 Фіксований диск #1 Ігровий порт Паралельний порт LPT2 Послідовний порт COM2 Резерв Резерв Паралельний порт LPT1 Бісинхронний зв'язок Монохромний і кольоровий відеоадаптер Flopy-диски Послідовний порт COM1 Стандартні пристрої введення/виводу

 

8.2. Карта пам'яті в реальному режимі

Реальний режим - це режим звернень до пам'яті, з яким стартує будь-який процесор стандарту PC. Старт здійснюється за адресою FFFF:0000 = 1Мeg -16 та максимальний обсяг адресного простору - 1Meg (20 розрядів).

Цей простір розділений на ділянки згідно рис.8.1.

 

00000 <10000 AFFFF B0000 F0000 FFFF0 FFFFF

BIOS-DOS Користувач Відео ROM-BIOS

0 xxx 640k 936k 1Meg

 

Рис. 8.1. Розподіл пам'яті в реальному режимі.

 

Перша область пам'яті, що займає кілька десятків кілобайт, містить системні параметри BIOS та DOS: таблиця векторів переривань, область даних BIOS (годинник реального часу, буфер клавіатури та ін.), оброблювач переривань DOS, дані DOS і резидентна порція COMMAND.COM.

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

Вище області програм розташована апаратна пам'ять. Це пам'ять відеоадаптера (до 64кБ), спеціальні вікна для передачі даних у пам’ять вище 1 Мбайт, BIOS відео-пам'яті та інших пристроїв.

Останні 64кБ перед границею 1Мбайт зарезервовані за базовою системою введення-виводу (BIOS), що здійснює початкове завантаження комп'ютера. За адресою FFFF:0000 розташована команда Jump, що вказує на вершину (початок) програми POST BIOS. В останніх 16 байтах пам'яті розташована інформація про тип комп'ютера, виготовлювача та дату створення BIOS.


<== попередня лекція | наступна лекція ==>
SDRAM (Synchronous DRAM) - синхронна DRAM | Призначення та структура ROM-BIOS в PC


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн