0 просмотров

Что такое захват шины

Шина ISA Страница 13. Цикл ПДП

5.3. Цикл ПДП

Цикл ПДП подобен циклу доступа, который выполняет другой владелец шины. Циклы ПДП запускаются после разрешения сигнала -DACK контроллером ПДП. Размер передаваемых данных зависит от используемого канала ПДП: каналы с 0 по 3 определены для 8-разрядных пересылок данных, а каналы с 5 по 7 для 16-разрядных пересылок данных. Сигналы -MEM CS16 и -I/O CS16 игнорируются самим контроллером ПДП, но эти сигналы использует перестановщик байтов на материнской плате.

Циклы ПДП выполняются только между памятью и устройствами ввода/вывода. Сигналы адреса, вырабатываемые контроллером ПДП, содержат только адрес памяти и не содержат адрес УВВ. Процесс пересылки данных в цикле ПДП выполняется так: источник данных выставляет данные на шине, а приемник данных должен быть готов их принять в это же самое время. Команды записи и чтения также разрешаются одновременно для правильного выбора направления пересылки. При этом сигнал чтения обязательно разрешается раньше, чем сигнал записи во избежание столкновения между буферами данных в двух ресурсах.

УВВ, запрашивающее режим ПДП на шине, разрешает сигнал DRQ соответствующего канала. Если задатчиком на шине является центральный процессор, то он освобождает шину контроллеру ПДП, который, в свою очередь, извещает УВВ разрешением сигнала -DACK о том, что начинается цикл ПДП. Так как контроллер ПДП вырабатывает только адрес памяти, УВВ должно использовать сигналы -I/OR, -I/OW и -DACK для приема или передачи данных в режиме ПДП.

Цикл ПДП начинается с разрешения сигнала -DACK соответствующего канала, а также сигнала AEN. Разрешением сигнала AEN контроллер ПДП извещает все ресурсы на шине о том, что адреса и командные сигналы вырабатываются контроллером ПДП, а не центральным процессором, контроллером регенерации или внешней платой. После разрешения командных сигналов контроллер ПДП анализирует сигнал I/O CH RDY для определения длительности цикла.

Если цикл удлиняется, то период удлинения кратен удвоенному периоду SYSCLK, хотя и не синхронизирован с SYSCLK.

ПРИМЕЧАНИЕ: Данные, которые записываются в память или УВВ, должны быть истинны до разрешения команды записи и оставаться истинными до запрещения команды записи.

5.3.1. Цикл ПДП – Нормальный цикл

Нормальный цикл выполняется контроллером ПДП для 8- или 16-разрядных пересылок данных. Контроллер ПДП разрешает сигналы -MEMR, -MEMW, -I/OR и -I/OW, а память, с которой выполняется обмен, должна разрешить сигнал I/O CH RDY в соответствующее время, иначе цикл будет завершен как удлиненный. Разрешение сигнала I/O CH RDY заставляет контроллер завершить цикл за фиксированный период времени; этот период кратен периоду SYSCLK, но не синхронизирован с ним.

Продолжительность разрешения сигналов -MEMR, -MEMW, -I/OR и -I/OW определяет продолжительность всего цикла, причем эта продолжительность зависит от размера данных для различных адресных пространств.

5.3.2. Цикл ПДП – Удлиненный цикл

Удлиненный цикл ПДП выполняется контроллером ПДП также как и нормальный цикл, за исключением того, что при удлиненном цикле сигнал I/O CH RDY не разрешается в соответствующее время после того, как командный сигнал будет разрешен. Контроллер ПДП продолжает разрешать командные сигналы до тех пор, пока УВВ не разрешит сигнал I/O CH RDY. Период времени, на который удлиняется цикл, в этом случае кратен удвоенному периоду SYSCLK, хотя и не синхронен с SYSCLK.

ПРИМЕЧАНИЕ: Сигналы адреса LA во время обычного цикла доступа должны записываться в регистр ресурсами доступа для запоминания адреса в течении всего цикла. В отличие от обычных циклов, при выполнении циклов ПДП эти адресные сигналы истинны в течении всего цикла ПДП.

ВНИМАНИЕ! Каналы ПДП, которые используются внешними платами для захвата шины, должны быть запрограммированы в каскадном режиме.

5.4. Цикл Захвата Шины

Любая внешняя плата, установленная в [8/16] слот, может стать задатчиком на шине ISA. Захват шины внешняя плата должна начать с разрешения сигнала DRQ канала ПДП, предварительно запрограммированного в каскадный режим. Канал ПДП, запрограммированный в каскадном режиме, считает, что все циклы ПДП были выполнены внешним ресурсом – в данном случае внешней платой. Контроллер ПДП отвечает внешней плате разрешением сигнала -DACK; внешняя плата в ответ на -DACK разрешает сигнал -MASTER. После разрешения сигнала -MASTER внешняя плата должна ждать некоторое время, после чего может начинать свои циклы доступа.

Корпорация Microsoft придумала умную сенсорную клавиатуру. Заявка компании на регистрацию патента в Патентном бюро США с описанием необычной клавиатуры была опубликована 14 октября, пишет сайт GoRumors.com.

Летом 1999 года консорциум SIG по PCI принял спецификацию принципиально нового варианта шины PCI – PCI-X. Несмотря на превосходные технические параметры, новая шина разрабатывалась под скептическим взглядом Intel, которая активно ведет разработку собственной шины NGIO. подробнее

Циклы шины с захватом и псевдо-захватом шины

Дата добавления: 2015-06-12 ; просмотров: 497 ; Нарушение авторских прав

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

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

Процессор i486 защищает целостность некоторых критических операций с памятью, воздействуя на выходной сигнал LOCK#. Чтения и записи 64-разрядных операндов и (128-разрядные) предварительные выборки команд защищаются выходом, который называется PLOCK#. За использование этих сигналов для управления доступом к памяти среди процессоров отвечает разработчик аппаратного обеспечения.

Процессор автоматически устанавливает один из этих сигналов во время некоторых критических операций с памятью. Программное обеспечение может задавать дополнительные операции с памятью, для которых требуется сигнал LOCK#.

В число средств интерфейса мультипроцессорной обработки общего назначения входят:

  • Сигнал LOCK#, появляющийся на штырьке процессора.
  • Сигнал PLOCK#, появляющийся на штырьке процессора.
  • Префикс команд LOCK, позволяющий установку сигнала LOCK# программным обеспечением.
  • Автоматическая установка сигнала LOCK# для некоторых видов операций с памятью.
  • Автоматическая установка сигнала PLOCK# для некоторых других видов операций с памятью.

13.1.1 Префикс LOCK и сигнал LOCK#

Префикс LOCK и соответствующий ему сигнал следует использовать только для исключения прерывания прочими хозяевами шины операции пересылки данных. Префикс LOCK может использоваться со следующими командами процессора i486, когда они модифицируют оперативную память. При использовании префикса LOCK с любыми другими командами, либо с этими же командами, но когда они не выполняют записи в память (т.е. когда операнд назначения это регистр) генерируется исключение неверного кода операции.

  • Проверка и изменение бита: команды BTS, BTR и BTC.
  • Обмен данными: команды XCHG, XADD и CMPXCHG (команде XCHG префикс LOCK не требуется).
  • Арифметические и логические операции с одним операндом: команды INC, DEC, NOT, NEG.
  • Арифметические и логические операции с двумя операндами: команды ADD, ADC, SUB, SBB, AND, OR или XOR.

Команда с захватом гарантированно захватывает только область памяти, определяемую операндом назначения, но может захватить и большую область памяти. Например, типовые конфигурации 8086 и 80286 захватывают все физическое адресное пространство.

Доступ к семафорам (разделяемой памяти, используемой для сигнализации между несколькими процессорами) должен выполняться с использованием идентичного адреса и длины. Например, если один процессор обращается к семафору в формате доступа слова, прочие процессоры не должны при доступе использовать байтовый формат.

Целостность захвата не зависит от выравнивания поля памяти. Сигнал LOCK# устанавливается для стольких циклов шины, сколько нужно для обновления всего операнда целиком.

Арбитраж шин и протоколы обмена

Чтобы исключить конфликты, шина должна предусматривать определенные механизмы разрешения конфликтов:

  • – арбитраж (bus arbitration) запросов;
  • – правила предоставления шины одному из запросивших устройств.

Решение конфликта обычно принимается на основе приоритетов претендентов.

Каждому потенциальному ведущему присваивается определенный уровень приоритета, который может оставаться неизменным (статический или фиксированный приоритет) либо изменяться по какому-либо алгоритму (динамический приоритет).

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

Наибольшее распространение получили следующие алгоритмы динамического изменения приоритетов:

  • – простая циклическая смена приоритетов;
  • – циклическая смена приоритетов с учетом последнего запроса;
  • – смена приоритетов по случайному закону;
  • – схема равных приоритетов;
  • – алгоритм наиболее давнего использования.

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

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

В обеих схемах циклической смены приоритетов каждому ведущему обеспечивается шанс получить шину в свое распоряжение, однако большее распространение получил второй алгоритм.

При смене приоритетов по случайному закону после очередного цикла арбитража с помощью генератора псевдослучайных чисел каждому ведущему присваивается случайное значение уровня приоритета.

В схеме равных приоритетов при поступлении к арбитру нескольких запросов каждый из них имеет равные шансы на обслуживание. Возможный конфликт разрешается арбитром. Такая схема принята в асинхронных системах.

В алгоритме наиболее давнего использования (LRU, Least Recently Used) после каждого цикла арбитража наивысший приоритет присваивается ведущему, который дольше чем другие не использовал шину.

Помимо рассмотренных существует несколько алгоритмов смены приоритетов, которые не являются чисто динамическими, поскольку смена приоритетов происходит не после каждого цикла арбитража. К таким алгоритмам относятся:

  • – алгоритм очереди (первым пришел – первым обслужен);
  • – алгоритм фиксированного кванта времени.

В алгоритме очереди запросы обслуживаются в порядке очереди, образовавшейся к моменту начала цикла арбитража. Сначала обслуживается первый запрос в очереди, то есть запрос, поступивший раньше остальных. Аппаратурная реализация алгоритма связана с определенными сложностями, поэтому используется он редко.

В алгоритме фиксированного кванта времени каждому ведущему для захвата шины в течение цикла арбитража выделяется определенный квант времени. Если ведущий в этот момент не нуждается в шине, выделенный ему квант остается не использованным. Такой метод наиболее подходит для шин с синхронным протоколом.

Схемы арбитража

Арбитраж запросов на управление шиной может быть организован по централизованной или децентрализованной схеме. Выбор конкретной схемы зависит от требований к производительности и стоимостных ограничений.

Ссылка на основную публикацию
Статьи c упоминанием слов: