5.68M
Категория: ЭлектроникаЭлектроника

Принципы работы шины

1.

Принципы работы шины

2.

Определение
• Шина
это
группа
проводников,
соединяющих различные устройства. К
одной шине могут быть подключены
несколько устройств и у каждой шины есть
свой набор слотов для подключения
кабелей или карт.

3.

Виды шин по отношению к
процессору
• Внутренние - служат для передачи данных в
АЛУ(арифметико-логическое устройство) и
из АЛУ
• Внешние - связывают процессор с памятью
или устройствами ввода-вывода.

4.

Виды шин
• Шины данных - все шины, которые используются для
передачи данных между процессором компьютера и
периферией. Для передачи могут использоваться как
последовательный, так и параллельный методы, можно
передавать от одного до восьми бит за один раз.
По размеру данных, которые можно передать за один раз
такие шины делятся на 8, 16, 32 и даже 64 битные;
• Адресные шины - связаны с определенными участками
процессора и позволяют записывать и читать данные из
оперативной памяти;
• Шины питания - эти шины питают электричеством
различные, подключенные к ним устройства;
• Шина таймера - эта шина передает системный тактовый
сигнал для синхронизации периферийных устройств,
подключенных к компьютеру;
• Шина
расширений
позволяет
подключать
дополнительные компоненты, такие как звуковые или ТВ
карты;

5.

Также к шинам ввода/вывода подключается
шина расширений. Именно к этим шинам
подключаются
такие
компоненты
компьютера, как сетевая карта, видеокарта,
звуковая карта, жесткий диск и другие

6.

Первые персональные компьютеры имели
одну внешнюю шину, которая называлась
системной шиной. Она состояла из нескольких
медных проводов (от 50 до 100), которые
встраивались в материнскую плату. На
материнской плате находились разъемы на
одинаковых расстояниях друг от друга для
микросхем памяти и устройств ввода-вывода.
Современные персональные компьютеры
обычно содержат специальную шину между
центральным процессором и памятью и по
крайней мере еще одну шину для устройств
ввода-вывода.

7.

Система с одной шиной памяти и
одной шиной ввода-вывода.

8.

История развития компьютерных
шин

9.

Первое поколение
Ранние компьютерные шины были группой
проводников, подключающей компьютерную память и
периферию к процессору. Почти всегда для памяти и
периферии использовались разные шины, с разным
способом доступа, задержками, протоколами.
Одним из первых усовершенствований стало
использование прерываний. До их внедрения
компьютеры выполняли операции ввода-вывода в цикле
ожидания готовности периферийного устройства. Это
было бесполезной тратой времени для программ,
которые могли делать другие задачи. Также, если
программа пыталась выполнить другие задачи, она
могла проверить состояние устройства слишком поздно
и потерять данные. Поэтому инженеры дали
возможность периферии прерывать процессор.

10.

Некоторое время спустя компьютеры стали
распределять память между процессорами. На
них доступ к шине также получил приоритеты.
Классический и простой способ обеспечить
приоритеты прерываний или доступа к шине
заключался в цепном подключении устройств.
Первые
мини-компьютерные
шины
представляли
пассивные
объединительные
платы,
подключенные
к
контактам
микропроцессора. Память и другие устройства
подключались к шине с использованием тех же
контактов адреса и данных, что и процессор. Все
контакты были подключены параллельно.

11.

Второе поколение
Решали некоторые проблемы из шин первого
поколения. Они обычно разделяли компьютер на две
«части», процессор и память в одной и различные
устройства в другой. Между частями устанавливался
специальный контроллер шин. Такая архитектура
позволила ускорять скорость процессора без влияния на
шину, разгрузить процессор от задач управления шиной.
При помощи контроллера устройства на шине могли
взаимодействовать друг с другом без вмешательства
центрального процессора. Новые шины имели лучшую
производительность, но также требовали более сложных
карт расширения. Проблемы скорости часто решались
увеличением разрядности шины данных, с 8-ми битных
шин первого поколения до 16 или 32-х битных шин во
втором поколении. Также появилась программная
настройка устройств для упрощения подключения новых
устройств, ныне стандартизованная как Plug-n-play.

12.

Однако новые шины, так же, как и предыдущее поколение, требовали
одинаковых скоростей от устройств на одной шине. Процессор и память теперь
были изолированы на собственной шине, и их скорость росла быстрее, чем
скорость периферийной шины. В результате, шины были слишком медленны для
новых систем и машины страдали от нехватки данных. Один из примеров
данной проблемы: видеокарты быстро совершенствовались, и им не хватало
пропускной способности даже новых шин (PCI). Компьютеры стали включать в
себя (AGP) только для работы с видеоадаптерами. В 2004 году AGP снова стало
недостаточно быстрым для мощных видеокарт и AGP стал замещаться новой
шиной PCI Express.
Увеличивающееся число внешних устройств стало применять
собственные шины. Когда были изобретены приводы дисков, они
присоединялись к машине при помощи карты, подключаемой к шине. Из-за
этого компьютеры имели много слотов расширения. Но в 1980 х и 1990 х были
изобретены новые шины IDE решившие эту проблему, и оставив большую часть
разъёмов расширения в новых системах пустыми. В наше время типичная
машина поддерживает около пяти различных шин.
Шины стали разделять: внутренние и внешние. Первые разработаны
для подключения внутренних устройств, таких как видеоадаптеры и звуковые
платы, а вторые предназначались для подключения внешних устройств,
например, сканеров. IDE является внешней шиной по своему предназначению,
но почти всегда используется внутри компьютера.

13.

Третье поколение
Шины «третьего поколения» (например, PCI-Express) обычно
позволяют использовать как большие скорости, необходимые для
памяти, видеокарт и межпроцессорного взаимодействия, так и
небольшие при работе с медленными устройствами, например,
приводами дисков. Также они стремятся к большей гибкости в терминах
физических подключений, позволяя использовать себя и как
внутренние и как внешние шины, например, для объединения
компьютеров. Это приводит к сложным проблемам при
удовлетворении различных требований, так что большая часть работ по
данным шинам связана с программным обеспечением, а не с самой
аппаратурой. В общем, шины третьего поколения больше похожи на
компьютерные сети, чем на изначальные идеи шин, с большими
накладными расходами, чем у ранних систем. Также они позволяют
использовать шину нескольким устройствам одновременно.
Современные интегральные схемы часто разрабатываются из
заранее созданных частей. Разработаны шины (например Wishbone)
для более простой интеграции различных частей интегральных схем.

14.

Типы шин в компьютере для
расширений
• ISA - Industry Standard Architecture;
• EISA - Extended Industry Standard Architecture;
• MCA - Micro Channel Architecture;
• VESA - Video Electronics Standards Association;
• PCI - Peripheral Component Interconnect;
• PCI-E - Peripheral Component Interconnect Express;
• PCMCIA - Personal Computer Memory Card Industry
Association (также известна как PC bus);
• AGP - Accelerated Graphics Port;
• SCSI - Small Computer Systems Interface.

15.

ШИНА ISA

16.

ШИНА ISA
• была единственной периферийной шиной для
компьютеров 1980-х годов, но в начале 1990-х ее
возможностей уже явно не хватало для подключения
скоростных устройств. Поскольку для этой шины было
выпущено большое количество плат расширения, она
довольно долго существовала параллельно с шиной
PCI. Лишь в платах последних лет выпуска разъемов
для ISA нет.
• Была разработана компанией IBM для использования
в компьютере IBM PC-XT. Эта шина имела разрядность
8 бит. Это значит что можно было передавать 8 бит
или один байт за один раз. Шина работала с тактовой
частотой 4,77 МГц.

17.

ШИНА MCA

18.

ШИНА MCA
• Компания IBM разработала эту шину в качестве
замены для ISA, для компьютера PS/2, который
вышел в 1987 году. Шина получила еще больше
усовершенствований по сравнению с ISA.
Например, была увеличена частота до 10 МГц, а это
привело к увеличению скорости, а также шина
могла передавать 16 или 32 бит данных за раз.
• Одним из преимуществ этой шины было то, что
подключаемые
устройства
имели
свое
программное обеспечение, а это значит что
требовалось
минимальное
вмешательство
пользователя для настройки

19.

ШИНА EISA

20.

ШИНА EISA
• Эта шина была разработана группой производителей в
качестве альтернативы для MCA. Шина была
приспособлена для передачи данных по 32 битному
каналу с возможностью доступа к 4 Гб памяти. Подобно
MCA для каждой карты использовался микропроцессор,
и была возможность установить драйвера с помощью
диска. Но шина все еще работала на частоте 8 МГц для
поддержки карт ISA.
• Слоты EISA в два раза глубже чем ISA, если вставляется
карта ISA, то она использует только верхний ряд
разъемов, а EISA использует все разъемы. Карты EISA
были дорогими и использовались обычно на серверах

21.

ШИНА VESA

22.

ШИНА VESA
• Шина VESA была разработана для стандартизации
способов передачи видеосигнала и решить проблему
попыток каждого производителя придумать свою шину.
• Шина VESA имеет 32 битный канал передачи данных и
может работать на частоте 25 и 33 МГц. Она работала на
той же тактовой частоте, что и центральный процессор.
Но это стало проблемой, частота процессора
увеличивается и должна была расти скорость
видеокарт, а чем быстрее периферийные устройства,
тем они дороже. Из-за этой проблемы шина VESA со
временем была заменена на PCI.
• Слоты VESA имели дополнительные наборы разъемов, а
поэтому сами карты были крупными. Тем не менее
сохранялась совместимость с ISA.

23.

ШИНА PCI

24.

ШИНА PCI
• Peripheral Component Interconnect (PCI) - это самая новая
разработка в области шин расширений. Она является
текущем
стандартом
для
карт
расширений
персональных компьютеров. Intel разработала эту
технологию в 1993 году для процессора Pentium. С
помощью этой шины соединяется процессор с памятью
и другими периферийными устройствами.
• PCI поддерживает передачу 32 и 64 разрядных данных,
количество передаваемых данных равно разрядности
процессора, 32 битный процессор будет использовать 32
битную шину, а 64 битный - 64 битную. Работает шина на
частоте 33 МГц.
• В PCI можно использовать технологию Plug and Play
(PnP). Все карты PCI поддерживают PnP. Это значит, что
пользователь может подключить новую карту, включить
компьютер и она будет автоматически распознана и
настроена.

25.

ШИНА AGP

26.

ШИНА AGP
• Необходимость передачи видео высокого качества с
большой
скоростью
привела
к
разработке
AGP. Accelerated Graphics Port (AGP) подключается к
процессору и работает со скоростью шины процессора.
Это значит, что видеосигналы будут намного быстрее
передаваться на видеокарту для обработки.
• AGP использует оперативную память компьютера для
хранения 3D изображений. По сути, это дает видеокарте
неограниченный объем видеопамяти. Чтобы ускорить
передачу данных Intel разработала AGP как прямой путь
передачи данных в память. Диапазон скоростей
передачи - 264 Мбит до 1,5 Гбит.

27.

PCI-EXPRESS

28.

PCI-EXPRESS
• Это модифицированная версия стандарта PCI,
которая вышла в 2002 году. Особенность этой шины
в том что вместо параллельного подключения всех
устройств к шине используется подключение точкаточка,
между
двумя
устройствами.
Таких
подключений может быть до 16.
• Это дает максимальную скорость передачи данных.
Шина PCI обладала неплохими для своего времени
характеристиками и довольно долго была основной
для подключения различных плат расширения:
сетевых, звуковых плат, модемов и др.

29.

PC CARD

30.

PC CARD
• Шина Personal Computer Memory Card
Industry Association (PCICIA) была создана
для стандартизации шин передачи данных
в портативных компьютерах.

31.

ШИНА SCSI

32.

ШИНА SCSI
• Шина SCSI была разработана М. Шугартом
и стандартизирована в 1986 году. Эта шина
используется для подключения различных
устройств для хранения данных, таких как
жесткие диски, DVD приводы и так далее, а
также принтеры и сканеры. Целью этого
стандарта было обеспечить единый
интерфейс
для
управления
всеми
запоминающими
устройствами
на
максимальной скорости.

33.

ШИНА USB

34.

ШИНА USB
• Это стандарт внешней шины, который поддерживает скорость передачи
данных до 12 Мбит/сек. Один порт USB (Universal Serial Bus) позволяет
подключить до 127 периферийных устройств, таких как мыши, модемы,
клавиатуры, и другие устройства USB. Также поддерживается горячее
удаление и вставка оборудования. На данный момент существуют такие
внешние шины компьютера USB, это USB 1.0, USB 2.0, USB 3.0, USB 3.1 и
USB Type-C.
• USB 1.0 был выпущен в 1996 году и поддерживал скорость передачи
данных до 1,5 Мбит/сек. Стандарт USB 1.1 уже поддерживал скорость 12
Мбит/сек для таких устройств, как жесткие диски.
• Более новая спецификация - USB 2.0 появилась в 2002 году. Скорость
передачи данных выросла до 480 Мбит/сек, а это в 40 раз быстрее чем
раньше.
• USB 3.0 появился в 2008 году и поднял стандарт скорости еще выше,
теперь данные могут передаваться со скоростью 5 Гбит/сек. Также было
увеличено количество устройств, которые можно питать от одного порта.
USB 3.1 был выпущен в 2013 и тут уже поддерживалась скорость до 10
Гбит/с. Также для этой версии был разработан компактный разъем Type-C,
к которому коннектор может подключаться любой стороной.

35.

Принципы работы шины
• Обычно за раз передается одно слово. При использовании
кэш-памяти желательно сразу вызывать всю строку кэшпамяти (то есть 16 последовательных 32-битных слов).
Часто передача блоками может быть более эффективна,
чем такая последовательная передача информации. Когда
начинается чтение блока, задающее устройство сообщает
подчиненному устройству, сколько слов нужно передать
(например,
помещая
общее
число
слов
на
информационные линии в период Ti).
• Вместо того чтобы выдать в ответ одно слово, задающее
устройство выдает одно слово в течение каждого цикла до
тех пор, пока не будет передано требуемое количество
слов. Здесь появился дополнительный сигнал BLOCK,
который указывает, что запрашивается передача блока. В
данном примере считывание блока из 4 слов занимает 6
циклов вместо 12.

36.

Передача блока данных

37.

• Существуют также другие типы циклов шины. Например, если речь
идет о системах с двумя или несколькими центральными
процессорами на одной шине, нужно быть уверенным, что в
конкретный момент только один центральный процессор может
использовать определенную структуру данных в памяти. Чтобы
упорядочить этот процесс, в памяти должна содержаться
переменная, которая принимает значение 0, когда центральный
процессор использует структуру данных, и 1, когда структура данных
не используется. Если центральному процессору нужно получить
доступ к структуре данных, он должен считать переменную, и если
она равна О,
• придать ей значение 1. Проблема заключается в том, что два
центральных процессора могут считать переменную на
последовательных циклах шины. Если каждый процессор видит, что
переменная равна 0, а затем каждый процессор меняет значение
переменной на 1, как будто только он один использует эту структуру
данных, то такая последовательность событий ведет к хаосу.
• Чтобы предотвратить такую ситуацию, в многопроцессорных
системах предусмотрен специальный цикл шины, который дает
возможность любому процессору считать слово из памяти,
проверить и изменить его, а затем записать обратно в память; весь
этот процесс происходит без освобождения шины. Такой цикл не
дает возможности другим центральным процессорам использовать
шину и, следовательно, мешать работе первого процессора.

38.

• Еще один важный цикл шины - цикл для осуществления
прерываний. Когда
• центральный процессор командует устройству вводавывода произвести какое-то действие, он ожидает
прерывания после завершения работы. Для сигнала
прерывания нужна шина.
• Поскольку может сложиться ситуация, когда несколько
устройств одновременно хотят произвести прерывание,
здесь имеют место те же проблемы разрешения
конфликтных ситуаций, что и в обычных циклах шины.
Чтобы избежать таких проблем, нужно каждому
устройству приписать определенный приоритет и
использовать
централизованный
арбитр
для
распределения приоритетов. Существует стандартный
контроллер
прерываний,
который
широко
используется. В компьютерах IBM PC и последующих
моделях применяется микросхема Intel 8259А.

39.

Контроллер прерывания 8259А

40.

• До восьми контроллеров ввода-вывода могут быть
непосредственно связаны с восемью входами IRx (Interrupt
Request - запрос прерывания) микросхемы 8259А. Когда
любое из этих устройств хочет произвести прерывание, оно
запускает свою линию входа Если активизируется один или
несколько входов, контроллер 8259А выдает сигнал INT
(INTerrupt - прерывание), который подается на
соответствующий вход центрального процессора Когда
центральный процессор способен произвести прерывание,
он посылает микросхеме 8259А импульс через вывод INTA
(INTerrupt Acknowledge - подтверждение прерывания) В
этот момент микросхема 8259А должна определить, на
какой именно вход поступил сигнал прерывания. Для этого
она помещает номер входа на информационную шину. Эта
операция требует наличия особого цикла шины.
Центральный процессор использует этот номер для
обращения в таблицу указателей, которую называют
таблицей векторов прерывания, чтобы найти адрес
процедуры, производящей соответствующее прерывание

41.

• Микросхема 8259А содержит несколько регистров, которые
центральный процессор может считывать и записывать,
используя обычные циклы шины и выводы RD (ReaD чтение), WR (WRite - запись), CS (Chip Select - выбор элемента
памяти) и Xfl. Когда программное обеспечение обработало
прерывание и готово получить следующее, оно записывает
специальный код в один из регистров, который вызывает
сброс сигнала INT микросхемой 8259А, если не появляется
другая задержка прерывания Регистры также могут
записываться для того, чтобы ввести микросхему 8259А в
один из нескольких режимов, и для выполнения некоторых
других функций
• Когда присутствует более восьми устройств ввода-вывода,
микросхемы 8259А могут быть соединены каскадно. В самой
экстремальной ситуации все восемь входов могут быть
связаны с выходами еще восьми микросхем 8259 А,
соединяя до 64 устройств ввода-вывода в двухступенчатую
систему прерывания Микросхема 8259А содержит несколько
выводов для управления каскадированием.
English     Русский Правила