Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Priis_lkc3a.doc
Скачиваний:
350
Добавлен:
20.04.2015
Размер:
631.81 Кб
Скачать

Системная магистраль pci

PCI (Peripheral Component Interconnect bus) – шина для подсоединения периферийных устройств, разработана для персональных компьютеров с процессором Pentium от Intel. Интерфейс PCI пришел на смену интерфейсу ISA и его расширениям.

PCI, в отличие от ISA, работает в синхронном режиме, что позволяет обеспечить более высокую производительность при аналогичных параметрах ключевых схем и среды передачи данных. Частота шины от 20 до 33 МГц, теоретически максимальная скорость 132/264 МБ/с для 32/64 бит. Имеет версии с питанием 5 В и 3,3 В и универсальную (с переключением линий +VI/O с 5 на 3,3 В).

Ключами, позволяющими устанавливать в кросс-разъемы (слоты) только платы совместимой версии, являются пропущенные ряды контактов 12, 13 и 50, 51.

Для слота с питанием 5 В ключ расположен на месте контактов 50, 51, для 3,3 В – 12, 13, а для универсального – два ключа: 12, 13 и 50, 51.

32-битный слот заканчивается контактами А62/В62, 64-битный – А94/В94.

Каждый порт интерфейса PCI должен поддерживать автоконфигурирование: распределение адресного пространства, прерываний, каналов прямого доступа к памяти со стороны контроллера интерфейса.

Стандарт PCI определяет для каждого слота конфигурационное пространство размером до 256 восьмибитных регистров, не приписанных ни к пространству памяти, ни к пространству ввода-вывода.

Доступ к ним осуществляется по специальным циклам обмена данными Configuration Read и Configuration Write, вырабатываемым контроллером при обращении процессора к регистрам контроллера PCI, расположенным в его пространстве ввода-вывода.

На PCI определены два основных вида устройств – инициатор, т. е. устройство, получившее от арбитра интерфейса разрешение на ее захват, и устройство назначения (target), с которым инициатор выполняет цикл обмена данными.

С 1999 года действует спецификация 2.2, и в это же время фирма Intel выпустила первый чипсет для персональных компьютеров с поддержкой версии 2.2 – i810. В соответствии с этой спецификацией:

  • появилась поддержка «горячей» замены PCI-устройств (PCI Hot-Plug). Ввод этой функции позволил добавлять (изымать) PCI-платы без отключения системы. Такая возможность особенно важна для промышленных применений;

  • добавлена система управления энергопотреблением для устройств на PCI. Механизм управления подстроен под стандарт ACPI для облегчения управления энергопотреблением PCI-устройств со стороны операционной системы;

  • дополнены и переработаны требования к конструктивной реализации РСI-плат.

Для практического использования новых возможностей PCI расширения стандарта должны быть поддержаны как контроллером PCI, так и самим PCI-устройством.

Сигналы шины PCI

Знак «минус» перед названием сигнала означает, что активный уровень этого сигнала логический «0», обозначение [ХХ–0] означает группу сигналов с номерами от XX до 0.

AD[31–0] – мультиплексированная шина адреса (данных). Адрес передается по сигналу -FRAME, в последующих тактах передаются данные.

-С/ВЕ[3–0] – команда разрешения обращения к байтам. Команда, определяющая тип очередного цикла шины (чтение-запись памяти, ввода-вывода или чтение-запись конфигурации, подтверждение прерывания и др.) задается четырехбитным кодом в фазе адреса по сигналу -FRAME.

-FRAME – индикатор фазы адреса (иначе – передача данных).

-DEVSEL – выбор инициатором устройства назначения.

-IRDY – готовность инициатора к обмену данными.

-TRDY – готовность устройства назначения к обмену данными.

-STOP – запрос устройства к инициатору на останов.

-LOCK – используется для установки, обслуживания и освобождения захвата ресурса на PCI.

-REQ[3–0] – запрос от устройства на захват шины (для слотов 3:0).

-GNT[3–0] – разрешение мастеру на использование шины.

PAR – общий бит четности для линий AD[31–0] и С/ВЕ[3–0].

-ParityER – сигнал об ошибке по четности (от устройства, ее обнаружившего).

-RST – сброс всех устройств.

IDSEL – выбор устройства назначения в циклах считывания и записи-конфигурации.

-SERR – системная ошибка, активизируется любым устройством PCI и вызывает немаскируемое прерывание процессора (NMI).

-REQ64 – запрос на 64-битный обмен.

-ACK64 – подтверждение 64-битного обмена.

-INTRA,B,C,D – линии запросов прерывания, направляются на доступные линии IRQ BIOS компьютера. Запрос по низкому уровню допускает разделяемое использование линий прерывания.

Clock – сигнал синхронизации на тактовой частоте шины.

Test Clock, -TSTRES, Test DO, Test DI – сигналы для тестирования устройств по интерфейсу JTAG (на кросс-плате обычно не задействованы).

TSTMSLCT – перевод в режим тестирования.

Распределение сигналов по контактам разъема показано в таблице 2.2.

Таблица 2.2

Линии сигналов системной магистрали PCI

Ряд В

Номер

Ряд А

Ряд В

Номер

Ряд А

–12 В

1

-TSTRES

-С/ВЕ2

33

+3,3 В

Test Clock

2

+12 В

GND

34

-FRAME

GND

3

TSTMSLCT

-IRDY

35

GND

Test DO

4

Test DI

+3,3 В

36

-TRDY

+5 В

5

+5 В

-DEVSEL

37

GND

+5 В

6

-INTRA

GND

38

-STOP

-INTRB

7

-INTRC

-Lock

39

+3,3 В

-INTRD

8

+5 В

ParityER

40

SDONE

-PRSNT1

9

Reserved

+3,3 В

41

-SBOFF

Reserved

10

+VI/O

SysERR

42

GND

-PRSNT2

11

Reserved

+3,3 В

43

PAR

GND/<Ключ>

12

GND/<Ключ>

-С/ВЕ1

44

AD15

GND/<Ключ>

13

GND/<Ключ>

AD14

45

+3,3 В

Reserved

14

Reserved

GND

46

AD13

GND

15

-RST

AD12

47

AD11

Clock

16

+VI/O

AD10

48

GND

GND

17

-GNT

GND

49

AD9

-REQ

18

GND

GND/<Ключ>

50

GND/<Ключ>

+VI/O

19

Reserved

GND/<Ключ>

51

GND/<Ключ>

AD31

20

AD30

AD8

52

-C/BE0

AD29

21

+3,3 В

AD7

53

+3,3 В

GND

22

AD28

+3,3 В

54

AD6

AD27

23

AD26

AD5

55

AD4

AD25

24

GND

AD3

56

GND

+3,3 В

25

AD24

GND

57

AD2

-C/BE3

26

IDSEL

AD1

58

AD0

AD23

27

+3,3 В

+VI/O

59

+VI/O

GND

28

AD22

-ACK64

60

-REQ64

AD21

29

AD20

+5 В

61

+5 B

AD19

30

GND

+5 В

62

+5 B

+3,3 В

31

AD18

Конец 32-битного разъема

AD17

32

AD16

12, 13 – ключ для 3,3 В; 50, 51 – ключ для 5 В.

Продолжение таблицы 2.2

Ряд В

Номер

Ряд А

Ряд В

Номер

Ряд А

Reserved

63

GND

AD47

80

AD46

GND

64

-С/ВЕ7

AD45

81

GND

-С/ВЕ

65

-С/ВЕ5

GND

82

AD44

-С/ВЕ

66

+VI/O

AD43

83

AD42

GND

67

PAR64

AD41

84

+VI/O

AD63

68

AD62

GND

85

AD40

AD61

69

GND

AD39

86

AD38

+VI/O

70

AD60

AD37

87

GND

AD59

71

AD58

+VI/O

88

AD36

AD57

72

GND

AD35

89

AD34

GND

73

AD56

AD33

90

GND

AD55

74

AD54

GND

91

AD32

AD53

75

+VI/O

Reserved

92

Reserved

GND

76

AD52

Reserved

93

GND

AD51

77

AD50

GND

94

Reserved

AD49

78

GND

Конец 64-битного разъема

+VI/O

79

AD48

Циклы шины PCI

Шина управления PCI содержит линии -С/ВЕ[3–0] для передачи системных команд – указаний портам интерфейса работать по определенному алгоритму, называемому циклом шины. Это происходит одновременно с передачей адреса по шине адреса-данных AD[31–0]. Допустимые коды команд, определяющие типы циклов шины, приведены в таблице 2.3.

Таблица 2.3

Допустимые коды команд шины PCI

С/ВЕ

Команда

0000

Interrupt Acknowledge (подтверждение прерывания)

0001

Special Cycle (специальный цикл)

0010

I/O Read (чтение порта)

0011

I/O Write (запись в порт)

0100

reserved (резервировано)

0101

reserved (резервировано)

0110

Memory Read (чтение памяти)

0111

Memory Write (запись в память)

1000

reserved (резервировано)

1001

reserved (резервировано)

1010

Configuration Read (чтение конфигурации)

1011

Configuration Write (запись конфигурации)

1100

Multiple Memory Read (множественное чтение памяти)

1101

Dual Address Cycle (двойной цикл адреса)

1110

Memory-Read Line (чтение памяти)

1111

Memory Write and Invalidate (запись в память и проверка)

Подтверждение прерывания (код 0000)

Контроллер прерываний автоматически распознает сигнал INTA и реагирует на него передачей вектора прерывания по шине адреса-данных AD[31–0].

Специальный цикл (код 0001)

AD15–AD0

Описание

0x0000

Processor Shutdown (процессор прекращает работу)

0x0001

Processor Halt (останов процессора)

0x0002

х86 Specific Code (специальный код для машин на архитектуре Intel x86)

0x0003–0xFFFF

Reserved (зарезервировано)

Чтение порта (код 0010) и запись в порт (код 0011)

Адреса портов ввода-вывода на шине PCI могут быть 8- или 16-разрядными, хотя собственно стандарт на шину PCI позволяет иметь 32-разрядное адресное пространство. Это вызвано тем, что на компьютерах с архитектурой Intel x86 адрес порта может иметь не более 16 разрядов. В системах, где применяются связанные интерфейсы PCI и ISA, могут быть использованы только 10 разрядов, поддерживаемых ISA.

Адресное пространство конфигурации доступно по адресам портов 0x0CF8 (адрес) и 0x0CFC (данные), причем адрес должен быть записан первым.

Чтение памяти (код 0110 и запись в память (код 0111)

По шине адреса-данных AD[31–0] передается адрес двойным словом (четыре байта). Сигналы AD0 и AD1 декодировать не требуется. Истинность данных определяется сигналами С/ВЕ.

Чтение конфигурации (код 1010)

и запись конфигурационных данных (код 1011)

Эти операции выполняются для конфигурационного пространства PCI-порта. Размер области конфигурации составляет 256 байт, читать (записывать) в ней можно только в 32-разрядной сетке, т. е. двойными словами. Поэтому AD0 и AD1 должны быть установлены в 0, AD2–7 содержат адрес двойного слова, AD8–10 используются для выбора адресуемого устройства, а оставшиеся шины адреса игнорируются.

Множественное чтение памяти (код 1100)

Это расширение обычного цикла чтения памяти. Используется для чтения больших блоков памяти без кэширования.

Двойной цикл адреса (код 1101)

Двойной цикл адреса используется в том случае, если необходимо передать 64-разрядный адрес в версии PCI с 32-разрядной адресной сеткой. В первом цикле передаются четыре младших байта адреса, затем четыре старших байта. Во втором цикле необходимо также передать команду, определяющую тип устройства, чей адрес выставлен (порт ввода-вывода, память и т. д.). Собственно PCI поддерживает 64 разряда адреса для портов ввода-вывода, но в PC на процессорах архитектуры от Intel такое адресное пространство не поддерживается (не позволяет сам процессор).

На рис. 2.3 шина адреса-данных представлена группой сигналов AD. Остальные сигналы являются шиной управления.

Рис. 2.3. Временные диаграммы цикла обмена данными в интерфейсе PCI

Все события интерфейса синхронизованы сигналом тактовой частоты CLK. Инициатор передачи захватывает управление и выставляет низкий уровень сигнала FRAME. Одновременно он выставляет на шине адреса-данных адрес порта назначения, а в группе сигналов С/ВЕ код цикла шины (команду порту назначения). По положительному перепаду CLK все порты должны проанализировать эти данные и опознавший свой адрес и принявший команду порт сообщает об этом выставлением низкого уровня сигнала TRDY. Но это происходит не раньше, чем инициатор подтвердит достоверность адреса и команды низким уровнем сигнала IRDY. На эту процедуру уходит еще один такт.

После передачи адреса и команды инициатор переназначает сигналы AD в шину данных, а сигналы С/ВЕ в младшую часть шины адреса (по ним передаются адреса байтов данных). Переназначение производится выставлением низкого уровня сигнала DEVSEL.

Регулировать интерфейс PCI при помощи осциллографа удобно, если подключить синхронизацию от отрицательного перепада сигнала FRAME.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]