Шини (Industrial Standard Architecture) (49448)

Посмотреть архив целиком

Шини (Industrial Standard Architecture)


Шина, як відомо, представляє із себе, власне, набір проводів (ліній), що з'єднує різні компоненти комп'ютера для підведення до них живлення й обміну даними. У "мінімальній комплектації" шина має три типи ліній:

  • лінії керування;

  • лінії адресації;

  • лінії даних.

Пристрою, підключені до шини, поділяються на двох основних категорій - bus masters і bus slaves. Bus masters - це пристрою, здатні керувати роботою шини, т. ч. ініціювати запис/читання і т.д. Bus slaves - відповідно, пристрою, що можуть тільки відповідати на запити. Правда, є ще "інтелектуальні слуги" (intelligent slaves), але ми їх поки для ясності замнемо. Ну от, власне, і усе, що потрібно знати про шини для того, щоб зрозуміти, про що піде мова далі.

Компанія IBM у 1981 представила нову шину для використання в комп'ютерах серії PC/XT. Шина була вкрай проста по дизайні, містила 53 сигнальні лінії і 8 ліній харчування і являла собою синхронну 8-бітну шину з контролем парності і дворівневих переривань (trigger-edge interrupts), при використанні яких пристрою запитують переривання, змінюючи стан лінії відповідного IRQ з 0 на 1 або назад. Така організація запитів переривань дозволяє використовувати кожне переривання тільки одному пристроєві. Крім того, шина не підтримувала додаткових bus masters, і єдиними пристроями, що керують шиною, минулого процесор і контролер DMA на материнській платі.

62-контактний слот (див. таблицю 1) уключав 8 ліній даних, 20 ліній адреси (А0-А19), 6 ліній запиту переривань (IRQ2-IRQ7). Таким чином, обсяг пам'яті, що адресується, складав 1 Мбайт, і при частоті шини 4.77 Мгц пропускна здатність досягала 1.2 Мбайта/хв.

Забавно, що IBM не опублікувала повного опису шини з тимчасовими діаграмами сигналів на лініях даних і адреси, тому першим розроблювачам плат розширення довелося неабияк потрудитися.

Недоліки шини, що випливають із простоти конструкції, очевидні. Тому для використання в комп'ютерах IBM-AT ('Advanced Technology') у 1984 році була представлена нова версія шини, згодом названої ISA. Зберігаючи сумісність зі старими 8-бітними платами розширення, нова версія шини володіла поруч істотних переваг, як то:

  • додавання 8 ліній даних дозволило вести 16-бітний обмін даними;

  • додавання 4 ліній адреси дозволило збільшити максимальний розмір пам'яті, що адресується, до 16 МВ;

  • були додані 5 додаткових trigger-edged ліній IRQ;

  • була реалізована часткова підтримка додаткових bus masters;

  • частота шини була збільшена до 8 MHz;

  • пропускна здатність досягла 5.3 МВ/хв.

Реалізація bus mastering не була особливо вдалої, оскільки, наприклад, запит на звільнення шини ('Bus hang-off') до поточного bus master оброблявся кілька тактів, до того ж кожен master повинний був періодично звільняти шину, щоб дати можливість провести відновлення пам'яті (memory refresh), або сам проводити відновлення. Для забезпечення зворотної сумісності з 8-бітними платами більшість нових можливостей було реалізовано шляхом додавання нових ліній (див. таблицю 2). Тому що АТ був побудований на основі процесора Intel 80286, що був істотно швидше, ніж 8088, довелося додати генератор станів чекання (wait-state generator). Для обходу цього генератора використовується вільна лінія (контакт У8 NOWS-'No Wait State') вихідної 8-бітної шини. При установці цієї лінії в 0 такти чекання пропускаються. Використання в якості NOWS лінії вихідної шини дозволяло розроблювачам робити як 16-бітні, так і 8-бітні "швидкі" плати.



Таблиця 1. Призначення контактів рознімання 8-розрядної шини ISA

Контакт

Назва сигналу

Контакт

Назва сигналу

B1

Ground

A1

I/O Channel Check

B2

Reset Driver

A2

Data7

B3

+5V

A3

Data6

B4

IRQ2

A4

Data5

B5

-5V

A5

Data4

B6

DMA Request 2

A6

Data3

B7

-12V

A7

Data2

1B8

J8/NOWS

A8

Data1

B9

+12V

A9

Data0

B10

Ground

A10

I/O Channel Ready

B11

Memory Write

A11

Address Enable

B12

Memory Read

A12

Address19

B13

I/O Write

A13

Address18

B14

I/O Read

A14

Address17

B15

DMA Acknoledge3

A15

Address16

B16

DMA Request3

A16

Address15

B17

DMA Acknoledge1

A17

Address14

B18

DMA Request1

A18

Address13

B19

Refresh

A19

Address12

B20

Clock

A20

Address11

B21

IRQ7

A21

Address10

B22

IRQ6

A22

Address9

B23

IRQ5

A23

Address8

B24

IRQ4

A24

Address7

B25

IRQ3

A25

Address6

B26

DMA Acknoledge2

A26

Address5

B27

Terminal Count

A27

Address4

B28

Address Latch Enable

A28

Address3

B29

+5V

A29

Address2

B30

Oscillator

A30

Address1

B31

Ground

A31

Address0


Новий слот містив 4 нових адресні лінії (LA20-LA23) і копії трьох молодших адресних ліній (LA17-LA19). Необхідність у такому дублюванні виникла через те, що адресні лінії ХТ були лініями з затримкою (latched lines), і ці затримки приводили до зниження швидкодії периферійних пристроїв. Використання дублюючого набору адресних ліній дозволяло 16-бітній карті на початку циклу визначити, що до неї звертаються, і послати сигнал про те, що вона може здійснювати 16-бітний обмін. Насправді, це ключовий момент у забезпеченні зворотної сумісності. Якщо процесор намагається здійснити 16-бітний доступ до плати, він зможе це зробити тільки в тому випадку, якщо одержить від неї відповідний відгук IO16. У противному випадку чипсет ініціює замість одного 16-бітного циклу два 8-бітних. І усі б було гарно, але адресних ліній без затримки лише 7, тому плати, що використовують діапазон адрес менший, чим 128Кбайт, не могли визначити, де знаходиться передана адреса в їхньому діапазоні адрес, і, відповідно, послати відгук IO16. Таким чином, багато плат, у тому числі плати EMS, не могли використовувати 16-бітний обмін


Таблиця 2. Призначення контактів рознімання 16-розрядної шини ISA

Контакт

Назва сигналу

Контакт

Назва сигналу

B1

Ground

A1

I/O Channel Check

B2

Reset Driver

A2

Data7

B3

+5V

A3

Data6

B4

IRQ2

A4

Data5

B5

-5V

A5

Data4

B6

DMA Request 2

A6

Data3

B7

-12V

A7

Data2

B8

No Wait States

A8

Data1

B9

+12V

A9

Data0

B10

Ground

A10

I/O Channel Ready

B11

Memory Write

A11

Address Enable

B12

Memory Read

A12

Address19

B13

I/O Write

A13

Address18

B14

I/O Read

A14

Address17

B15

DMA Acknoledge3

A15

Address16

B16

DMA Request3

A16

Address15

B17

DMA Acknoledge1

A17

Address14

B18

DMA Request1

A18

Address13

B19

Refresh

A19

Address12

B20

Clock

A20

Address11

B21

IRQ7

A21

Address10

B22

IRQ6

A22

Address9

B23

IRQ5

A23

Address8

B24

IRQ4

A24

Address7

B25

IRQ3

A25

Address6

B26

DMA Acknoledge2

A26

Address5

B27

Terminal Count

A27

Address4

B28

Address Latch Enable

A28

Address3

B29

+5V

A29

Address2

B30

Oscillator

A30

Address1

B31

Ground

A31

Address0

Ключ


Ключ


D1

Memory Access 16 bit

C1

System Bus High

D2

I/O 16 bit

C2

Latch Address 23

D3

IRQ10

C3

Latch Address 22

D4

IRQ11

C4

Latch Address 21

D5

IRQ12

C5

Latch Address 20

D6

IRQ15

C6

Latch Address 19

D7

IRQ14

C7

Latch Address 18

D8

DMA Acknoledge0

C8

Latch Address 17

D9

DMA Request1

C9

Memory Read

D10

DMA Acknoledge5

C10

Memory Write

D11

DMA Request5

C11

Data8

D12

DMA Acknoledge6

C12

Data9

D13

DMA Request6

C13

Data10

D14

DMA Acknoledge7

C14

Data11

D15

DMA Request7

C15

Data12

D16

+5V

C16

Data13

D17

Master 16 bit

C17

Data14

D18

Ground

C18

Data15


Случайные файлы

Файл
58332.rtf
28391.rtf
175831.rtf
4075.rtf
CBRR4386.DOC




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.