https://minterese.ru hp laserjet 1018 установочный диск - принтер laserjet 1018. Купить Комплектующие для опалубки купить kommerzstroy.ru.
Метод BOSS использует возможность полнодуплексного обмена каждой пары соединенных узлов, которая имеется только в бета-режиме. В этом режиме запросы на управление шиной посылаются по передающей линии; запросы представляют собой специальные 10-битные символы, отличимые от символов кодов данных. Узел может посылать запросы в любые свои порты, не занятые передачей данных. По логике работы повторителей многопортовых узлов оказывается, что к узлу, ведущему передачу данных, сигнальные пути от всех других узлов шины свободны. Исходя из этого узлу, ведущему передачу последнего пакета субакции, логично стать «боссом» (BOSS) — принимать решение о том, какому из узлов предоставить право следующей передачи. Роль «босса» передается между PHY узлов шины по следующим правилам:
Вместо интервалов покоя, используемых в традиционном механизме арбитража для обозначения завершения фазы самоидентификации при конфигурировании, завершения изохронного интервала, завершения субакции и границы интервала справедливости, в бета-режиме используются маркеры. Маркер (token) — это специальный управляющий символ, передаваемый «боссом» в течение времени, достаточного для его обнаружения по всей шине. Маркер может передаваться, когда шина находится в покое или когда она удерживается в занятом состоянии потоком символов DATA_NULL (маркеры встраиваются в этот поток).
Как и в традиционном режиме, передача пакетов ведется в двух интервалах — изохронном и асинхронном. Изохронный интервал начинается, когда мастер циклов передает маркер CYCLE_START_EVEN/ODD и пакет начала цикла. Заканчивается изохронный интервал, когда текущий «босс» не имеет относящегося к текущей фазе изохронного запроса от своего LINK-уровня или от какого-либо активного порта, работающего в бета-режиме. В этом случае «босс» передает маркер ASYNC_EVEN или ASYNC_ODD, означающий начало асинхронного интервала. Переход шины в состояние нормальной работы после самоидентификации происходит по маркеру ASYNC_EVEN, который передается корневым узлом после передачи его пакетов самоидентификации.
Асинхронный период (время, не занятое под изохронные интервалы), делится на интервалы справедливости. Граница интервала справедливости отмечается маркером ASYNC_EVEN (начало четного интервала справедливости) или ASYNC_ODD (начало нечетного интервала справедливости), отличающимся от предыдущего асинхронного маркера. Четные и нечетные интервалы чередуются. Возможно, что маркер ASYNC_EVEN/ODD одновременно будет означать и завершение изохронного интервала, и начало нового интервала справедливости. Для повышения устойчивости шины к потере маркера корневой узел, обнаружив покой шины, непрерывно посылает маркеры ASYNC_EVEN/ODD.
Передача запросов в виде символов позволяет осуществлять их приоритезацию и конвейеризацию, введя множество типов запросов и фаз шины. Изохронные и асинхронные интервалы делятся на свои четные (even) и нечетные (odd) фазы, чередующиеся независимо друг от друга. Изохронные фазы меняются по концу каждого изохронного интервала цикла (по маркеру ASYNC_EVEN/ODD). Асинхронные фазы меняются на границе каждого интервала справедливости, в соответствии с маркером ASYNC_EVEN/ODD. После сброса изохронные и асинхронные фазы считаются четными.
Запросы арбитража могут предназначаться как для текущей фазы, так и для последующей (противоположной), что является конвейеризацией запросов. PHY бета-узла посылает «боссу» изохронные и асинхронные запросы с наивысшим приоритетом, полученные от своего LINK-уровня или от других бета-портов. Приоритетность зависит от текущего интервала шины и фазы.
Вслед за передачей последнего пакета субакции текущий «босс» передает право на передачу для запроса, наиболее приоритетного для данного интервала и фазы. Если к этому времени «босс» не принял запросов, относящихся к данной фазе, он передачей одного или более маркеров меняет интервал (с изохронного на асинхронный) и/или фазу асинхронного интервала:
В асинхронном интервале узел может послать запрос для текущей фазы, только если он имеет бюджет приоритета для текущего интервала справедливости. Если бюджет исчерпан, то узел может послать запрос для следующей фазы, на который право передачи будет дано в следующем интервале справедливости. Таким образом, сменой фаз осуществляется справедливый арбитраж без потерь времени на зазоры. Асинхронные фазы меняются только тогда, когда все узлы, имеющие пакеты для передачи в данной фазе, выполнят эти передачи.
На этапе самоидентификации узлы назначают себе уникальные идентификаторы, согласуют скоростные возможности и (не обязательно) выбирают диспетчера изохронных ресурсов. Самоидентификация выполняется под управлением корневого узла, организующего последовательное предоставление прав на самоидентификацию всем узлам сети. Получив это право, узел посылает пакет (или серию пакетов) самоидентификации, которые распространяются по всей шине. Закончив посылку пакетов, узел обменивается со своим родителем информацией о доступной скорости. В результате этого обмена пара соединенных портов становится сконфигурированной. Сконфигурированный порт — это активный порт, для которого установлен его тип (c-порт или p-порт) и согласована скорость.
Промежуточные узлы-ветки и корневой узел организуют передачу права самоидентификации всем узлам по порядку. Порядок, в котором узлы выполняют самоидентификацию, определяется нумерацией портов в промежуточных узлах (ветках и корне). Первым будет самоидентифицироваться конечный узел (лист), который подключен к порту корня с наименьшим номером и путь к которому лежит в узлах-ветках через порты с наименьшими номерами. Этот узел получит PHY_ID=0. Последним идентифицируется корень — он получает наибольший идентификатор.
На следующем рисунке приведены два варианта назначения идентификаторов, соответствующие деревьям, взятым из первого рисунка (а и в).
Право на самоидентификацию получает узел, которому по p-порту приходит сигнал Self_ID_Grant, а все его c-порты (если таковые есть) уже сконфигурированы. В ответ на предназначенный ему Self_ID_Grant узел отвечает передачей (вверх) префикса данных. Когда в ответ на это узел увидит снятие сигнала Self_ID_Grant, он посылает пакет(ы) самоидентификации. Пакет самоидентификации всегда передается на скорости S100. Пакет содержит информацию, описывающую физические свойства узла:
При числе портов более трех узел посылает серию пакетов самоидентификации. Пакеты самоидентификации слышат все узлы, по ним они могут строить карту топологии и карту скоростей. Прослушивая пакеты самоидентификации, узлы определяют диспетчера изохронных ресурсов — им станет узел с максимальным номером PHY_ID, у которого в пакете самоидентификации установлены биты C и L. Завершив передачу пакетов самоидентификации, узел посылает в p-порт сигнал Ident_Done. На это родительский узел отвечает префиксом данных и помечает свой соответствующий c-порт как сконфигурированный. При подаче сигнала Ident_Done узел с помощью смещения уровней сообщает доступную ему скорость работы; его родитель при передаче префикса данных аналогичным образом сообщает свою. Таким образом, на завершающем этапе самоидентификации узла его p-порт и соединенный с ним c-порт родительского узла согласуют и устанавливают максимально возможную скорость обмена друг с другом.
Промежуточный узел-ветка, получивший сверху сигнал Self_ID_Grant, транслирует его на свой несконфигурированный c-порт с наименьшим номером; на остальные порты он посылает префикс данных. Получив префикс данных с c-порта, промежуточный узел прекращает подачу сигнала Self_ID_Grant (вниз) и транслирует префикс данных вверх. Далее, если после прохождения пакета самоидентификации на c-порт приходит сигнал Ident_Done, узел ответит ему префиксом данных с указанием своей скорости и пометит данный порт как сконфигурированный. Когда промежуточный узел, у которого все c-порты сконфигурированы, снова получит сигнал Self_ID_Grant, он сам отправит пакет(ы) самоидентификации (во все активные порты), а затем и сигнал Ident_Done.
Корневой узел посылает сигнал Self_ID_Grant в порт с наименьшим номером из числа активных несконфигурированных. На остальные порты он посылает префикс данных. Как только с порта, на который корень посылает Self_ID_Grant, он получит префикс данных, подача сигнала Self_ID_Grant прекращается. Когда корень обнаружит покой шины (после прохождения пакетов самоидентификации от узла, которому досталось это право), он снова пошлет сигнал Self_ID_Grant, опять же на несконфигурированный порт с наименьшим номером. Если самоидентифицировался узел, подключенный к корню, то корень получит сигнал Ident_Done и пометит данный порт как сконфигурированный. Теперь корень пошлет Self_ID_Grant на следующий порт. Как только все порты перейдут в сконфигурированное состояние, корень пошлет свой пакет самоидентификации, на чем процесс самоидентификации и закончится — шина переходит в фазу нормального арбитража.
Знание топологии шины дает информацию о возможностях ее оптимизации, которая может быть выполнена путем:
Диспетчер шины собирает информацию о топологии и предоставляет ее по запросам чтения любым узлам сети — публикует карту топологии (Topology_Map). В этой карте после заголовка размещаются копии всех пакетов самоидентификации, посланных узлами во время самоидентификации. Диспетчер шины отвечает за контроль целостности карты — число p-портов (родительских) должно совпадать с числом c-портов (дочерних). Если целостность нарушена, диспетчер обнуляет поле длины карты и посылает управляющему приложению уведомление SB_EVENT.
По карте топологии диспетчер шины способен определить максимальное число хопов (кабельных сегментов) между узлами сети. Это позволяет определить минимальный зазор арбитража (subaction gap), не конфликтующий с пакетами квитирования, и сообщить его всем узлам сети. Минимальный зазор вычисляется через задержку распространения сигнала в кабельных сегментах и повторителях. Зазор арбитража должен быть больше, чем время оборота по шине: до истечения времени зазора арбитража передающий узел должен успеть получить квитанцию на пакет, посланный самому дальнему узлу. Вместо вычисления задержки диспетчер шины может измерить время оборота, посылая выбранному узлу пробный пакет Ping и измеряя время до прихода ответа — пакета самоидентификации (или серии этих пакетов). Измерение реальных задержек позволяет использовать кабели длиннее 4,5 м (если у них малое затухание) и узлы-повторители, вносящие задержку более 144 нс. Задание зазора осуществляется широковещательно пакетом конфигурирования с установленным битом T.
Карта топологии располагается с адреса 1000h в начальном пространстве узла-диспетчера шины, ее формат приведен на первом рисунке . В карте имеются следующие поля:
По карте топологии диспетчер шины строит карту скоростей (Speed_Map), которая позволяет определить максимальную скорость, возможную при обмене между любой парой узлов. Логически карта представляет собой двухмерную матрицу, в которой каждой паре узлов с идентификаторами m и n соответствует байт кода скорости (speed_code). Младшие 3 бита этого байта соответствует коду скорости в формате поля xspd пакета самоидентификации. Фактически карта — это последовательность байтов speed_code[i], где I = 64×m + n. Формат карты скоростей приведен на рисунке ниже , ее заголовок аналогичен заголовку карты топологии. Доступ к карте скоростей выполняется аналогично карте топологий, с проверкой поля длины до и после обращения.
Прием пакета иллюстрирует рисунке. После индикации начала приема (Data_On) принимается байт скорости SPD, определяющий также и формат (см. таблицу ниже). Далее принимаются байты данных — пакет, передаваемый по шине.
Во время индикации начала приема по шине данных передается байт ST, сообщающий состояние шины:
SPD[0:7] | Скорость, формат |
0000 0000 | S100 Legacy |
0000 0001 | S100 Beta |
0000 0100 | S200 Legacy |
0000 0101 | S200 Beta |
0000 1000 | S400 Legacy |
0000 1001 | S400 Beta |
0000 1101 | S800 Beta |
1111 1111 | DATA_ON, признак начала приема |
Остальные значения | Резерв |
В ответ на запрос передачи пакета PHY, сигнализируя состояние Grant (Ctl[0:1] = 11), посылает LINK-уровню байт GT, в котором сообщает формат, скорость и тип разрешенной передачи. После этого он отдает управление интерфейсом LINK-уровню, указав состояние Grant (Ctl[0:1] = 11), а затем и прекращая управлять линиями Ctl[0:1] и D[0:7]. Теперь LINK устанавливает состояние Hold (Ctl[0:1] = 11), обозначая занятость интерфейса и шины, и начинает передавать пакет данных (состояние Transmit, Ctl[0:1] = 01). После передачи пакета LINK сигнализирует состояние MORE_INFO (Ctl[0:1] = 11), в котором по шине данных передается байт дополнительной информации AI[0:7]. В этом байте может присутствовать встроенный последующий запрос шины с указанием его формата, типа и скорости. После этого LINK указывает состояние Idle (Ctl[0:1] = 00), затем перестает управлять линиями Ctl[0:1] и D[0:7] и отдает управление PHY.
Получив право передачи пакета, LINK может послать только пакет, полностью удовлетворяющий свойствам, описанным байтом GT. Этот байт декодируется следующим образом:
Байт дополнительной информации AI[0:7]содержит следующие поля:
Контроллеры DMA OHC по способу управления разделяются на два типа:
Контроллер асинхронной передачи (Asynchronous Transmit), AT DMA, имеет по одному контексту для передачи запросов (AT Request) и ответов (AT Responce). Для каждого отправленного пакета контроллер ожидает пакет квитирования; в случае получения квитанции ack_busy (занято) контроллер организует программно заданное число попыток повтора. Контроллер может реализовать однофазный или двухфазный протокол повторов. Если контроллер реализует изменение порядка исполнения, то он в случае занятости узла-получателя может продвигаться дальше по контекстной программе, возвращаясь к повтору данного пакета позже. Контроллер AT DMA отвечает и за ответы на запросы к физической памяти, обнаруженные принимающим контроллером DMA.
Прием асинхронных пакетов выполняют блок физических запросов и контроллер асинхронного приема.
Блок физических запросов, Physical Request Unit, включается в работу, когда приходит пакет запроса одного из трех типов:
Остальные асинхронные пакеты обслуживает контроллер асинхронного приема (Asynchronous Receive), AR DMA, который имеет по одному контексту для приема запросов (AR Request) и ответов (AR Responce). Этот же контроллер обслуживаети запросы блокированных транзакций, адресованных не к регистрам изохронных ресурсов, помещая их в контекст AR Request.
Контроллер DMA изохронной передачи (Isochronous Transmit), IT DMA, поддерживает от 4 до 32 контекстов, каждый из которых обеспечивает передачу одного канала.
Контроллер DMA изохронного приема (Isochronous Receive) поддерживает от 4 до 32 контекстов, каждый из которых обеспечивает прием одного канала. Один из контекстов можно запрограммировать на прием множества каналов.
Специальный контроллер, Self_ID DMA, принимает пакеты самоидентификации и укладывает их последовательно в один выделенный буфер. После каждого обнаруженного сброса контроллер начинает укладку пакетов с начала буфера, затирая предыдущие пакеты.