Коммутативность многоканальных информационных систем с конвейерами
Автор: Ковалнок В.И.
Журнал: Инфокоммуникационные технологии @ikt-psuti
Рубрика: Технологии компьютерных систем и сетей
Статья в выпуске: 1 т.6, 2008 года.
Бесплатный доступ
Обсуждается коммутативность многоканальных информационных систем с конвейерами, подобных наборным машинам. Отмечена способность таких систем к возникновению одновременных операций и, как следствие, к высокому быстродействию. Показана причина возникновения автокоммутативности.
Короткий адрес: https://sciup.org/140191201
IDR: 140191201
Текст краткого сообщения Коммутативность многоканальных информационных систем с конвейерами
Конвейеризация систем остается перспективным направлением уменьшения затрат времени на выполнение информационных процессов. Однако она кажется лишенной универсальности. Многие проблемы применения конвейеризации остаются нерешенными или не изученными. К ним, например, относится объяснение роли коммутативности систем.
Пример решения проблемы
Вмногоканальных информационных системах с конвейерами и их подобиями, например, в ЭВМ, Internet, в устройствах отображения информации (дисплеях), синтез (коммутации) сложных объектов («изображений») из простых элементов, распределенных вдоль конвейера,реализуется,по аналогии с наборными машинами (НМ), над модулями сумм кольца целых чисел Zn – номерами объектов в списках.
Известно, что кольцом называют класс объектов R с двумя абстрактными бинарными операциями – сложением и умножением по отношению, к которым он замкнут. Кольцо для Zn в части суммы (a + b) является абеле- вой группой, в части произведения c(a + b) – мультипликативным моноидом [1].
Группа коммутативна, или абелева, если для любых ее элементов a и b выполняется условие ab = ba в мультипликативной форме. В аддитивной форме ему соответствует условие ( a + b ) = ( b + a ). Интерпретация условия коммутативности в случае кольца целых чисел, например при n = 6, связана с накопленной суммой по модулю 6. Для a и b – целых чисел, где a = 5, b = 4, сумма ( a + b )mod6 = 3. Изменив порядок размещения слагаемых в этой сумме, получим тот же результат, так как ( b + a )mod6 = (4 + 5)mod6 = 3.
Если a = tc = t1 – условное время затраченное на переход к месту набора знака в списке знаков «строки», b = tш = t2 – время затраченное на переход в списке изображений знаков в «шрифтоносителе», тогда tо = t1 + t2 = ( a + b ) – суммарное затраченное время переходов. В коммутативной среде время to не зависит от порядка размещения слагаемых в суммах.
Суммирование чисел выполняется на этапе программирования «набора». Вторая групповая операция в структуре кольца реализуется при возвращении системы в исходное (невозмущенное) состояние во время исполнения программы набора.
Коммутативность сумм позволяет, без потери точности величины суммарного (приведенного) времени tо (см. таблицы 1 и 2), соотносить края таблицы сумм кольца Zn разным физическим величинам и строить «наборные» машины, в которых первой учитывается координата знакоместа, или же первым учитывается положение знака в шрифтоносителе.
Таблица 1. Случай прямого порядка обозначения краев таблицы
j ↓ \ i → |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
1 |
2 |
3 |
4 |
5 |
0 |
. |
. |
. |
. |
. |
. 0 |
. |
Здесь: i – номер знака в строке (номер знакоместа); j – номер знака в шрифтоносителе; i + j = (5 + 4)mod6 = (9)mod6 = 3 – суммарная величина задержки.
Таблица 2. Случай обратного обозначения краев таблицы
j ↓ \ i → |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
1 |
2 |
3 |
4 |
5 |
0 |
. |
. |
. |
. |
. |
. |
. |
В таблицах 1-2 изменение обозначений не касается направления суммирования чисел. Оно остается произвольным, но только прямым или только обратным.
В комплексе, i + j = j + i = (5 + 4)mod6 = = (4 + 5)mod6 = (9)mod6 = 3. Баланс задержек определяется свойствами таблиц.
Во всех рассмотренных случаях величина сумм не превышает число 5. Это говорит о замкнутости множества объектов, образующих кольцо Zn для n = 6 или для любого конечного целого n . Однако роль коммутативности для НМ с конвейерами этим не ограничивается.
Строки таблицы модулей сумм для кольца Zn образуют циклическую группу подстановок вращения:
012345⎞ ⎛ 012345 ⎞ ⎛ 012345 ⎞ 012345 ⎟⎠ , ⎜⎝123450 ⎟⎠ , ⎜⎝ 234501 ⎟⎠ , ⎛ 012345 ⎞ ⎛ 012345 ⎞ ⎛012345⎞ . ⎜⎝ 345012 ⎟⎠ , ⎜⎝ 450123 ⎟⎠ , ⎜⎝501234 ⎟⎠
Обратный порядок обозначения краев таблицы это свойство сохраняет. Отличие заключено в том, что роль строк, при выборе соответствующих подстановок, выполняют столбцы таблицы.
Подстановки используются в НМ, в первую очередь, для учета величины поправок времени срабатывания каналов НМ по отношению к первому каналу, реализующему тождественное отображение информации. Поправками являются номера знаков в шрифтоносителе.
Строки таблицы сумм (вторые строки подстановок) в безразмерной форме несут необходимую информацию о моментах переноса изображений набираемых знаков из шрифтоносителя в набор.
Упомянутое множество подстановок образует абелевую группу подстановок – степеней для подстановок «сдвигателей». Речь идет о подстановках правого и левого вращения:
012345⎞ ⎛012345⎞
123450 ⎟⎠ и ⎜⎝501234 ⎟⎠ .
Произведения подстановок этой группы – коммутативны. Они используются для синхронизации каналов НМ на этапе получения набора (втором этапе), при возвращении информации.
Признаком коммутативности подстановок является наличие циклов («петель»). Произведения степеней подстановок с циклами тоже коммутативны. Например, коммутативны следующие произведения:
а б
аб
1. ⎛012345⎞⎛012345⎞ ⎛012345⎞ – ⎜⎝501234 ⎟⎠⎜⎝345012 ⎟⎠ = ⎜⎝234501 ⎟⎠ прямое произведение;
а б аб
2.⎛012345⎞⎛012345⎞ ⎛012345⎞ – ⎜⎝345012 ⎟⎠⎜⎝501234 ⎟⎠ = ⎜⎝234501 ⎟⎠ обратное произведение.
Подстановки – степени подстановок – «сдви-гателей» реализуют циклическую группу подстановок вращения над таблицей сумм кольца целых чисел Zn . В силу коммутативности произведений подстановок вращения, полученная группа – абелева [2].
На втором этапе работы (при отображении информации), НМ компенсирует или возвращает через умножение подстановок возмущения системы, введенные в неё при программировании.
Подстановки рассматриваемого вида не создают особых проблем на абстрактном уровне. Однако их сложно реализовать технически. Если элементам подстанов ⎜⎛ 012345 ⎟⎞ поставить в со-
\ J J А Л “ i ответствие физические объекты, их нельзя переставить – нет свободного места.
Одним из выходов из положения является тождественная перестановка элементов на свободное место с соответствующей нумерацией,не отличающейся от исходной нумерации.Верхняя – «передающая» стро- ка подстановки характеризует исходное расположение информации,которая отображается на нижнюю строку – приемник,напрямую или через шрифтоноситель.
Отображениечерезшрифтоносительравносиль-ноумножению двух подстановок. Перваяотобража-ет знаки на шрифтоноситель, вторая компенсирует деформации и размещает знаки в новом начертании в исходном порядке в «пустом» месте –
012345⎞ ⎛012345⎞ ⎛012345⎞305214 ⎟⎠ ⎜⎝143052 ⎟⎠=⎜⎝012345 ⎟⎠.
Компенсация деформаций необходима, т.к. порядок размещения знаков на новом месте, после операций со шрифтоносителем, не обязательно является первоначальным.
На этапе программирования набора в НМ с конвейерами каждой разновидности знаков, с помощью поправок по отношению к расположению знаков в исходной строке текста,ставится в соответствие своя подстановка вращения. В результате, одни знаки смещаются в условном времени на один шаг, другие на два,на три и т.д., в зависимости от степени подстановки, которая закреплена за конкретным знаком в шрифтоносителе.Проекция на подстановки позволяет фильтровать знаки текста по принадлежности их к конкретным каналам НМ.
Таблица 3. Пример фильтрации для букв А
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
... |
n |
x |
x |
A |
x |
Б |
x |
A |
Б |
... |
x |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
... |
x |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
... |
0 |
В первой строке таблицы 3 помещены номера знакомест, во второй – фильтруемый текст, в третьей – текст после фильтрации. Отфильтрованный текст составлен из нолей и единиц. В третьей строке ноли – представители любых знаков, кроме буквы A, единицами представлены буквы A. Буквой x во второй строке обозначены знаки фильтруемого текста, не являющиеся буквами A или Б, n – число знаков в строке текста. Приемником информации служит, например, циклический сдвигающий регистр.
В четвёртой строке таблицы содержатся представители буквы А после сдвига на одну позицию влево. Отфильтрованная информация для буквы A передаётся на хранение с таким сдвигом, если знак A расположен на первом месте в шрифтоносителе.
Сдвигврегистревыполняетсяна«пустое»мес-
⎛ 01234567... n ⎞ то с помощью подстановки ⎜ ⎟
⎝n0123456...(n -1)⎠ - циклического вращения на одну позицию влево.
Если сдвигающих регистров много,сколько разных знаков в шрифтоносителе, отфильтрованные представители хранятся непосредственно в них.Это позволяет устранить неопределенность в наборе.
В случае фильтрации буквы Б, первым снова выполняется тождественное отображение знаков Б на пустое место. После чего произойдет замена знаков их представителями в регистре сдвига, сдвиг и передача ранее отфильтрованной системой информации на хранение.
Таблица 4. Пример фильтрации для букв Б
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
... |
n |
x |
x |
A |
x |
Б |
x |
A |
Б |
... |
x |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
... |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
... |
0 |
В первой строке таблицы 4 помещены номера знакомест в виде положительных целых чисел, начинающиеся с ноля. Вторая строка занята исходным текстом, в котором явно показаны только буквы A и Б. Третья строка занята представителями букв Б – единицами, и нолями – представителями других знаков. Третья строка получена ⎛ 01234567 ...n ⎞ после реализации подстановки ⎜ 01234567 ...n ⎟ – тождественного отображения информации, относящейся к букве Б, в пустой сдвигающий регистр.
Четвертая строка повторяет третью после сдвига ее содержимого на две позиции влево в общем, циклическом сдвигающем регистре. Сдвиг на две позиции соответствует второму месту знака Б в шрифтоносителе. Он выполняется с уче-
0 1234567 .....n том подстановки ⎜⎝(n - 1)n0123456 ...(n - 2) ⎟⎠-циклического вращения на две позиции влево в абсолютных координатах. Сдвинутая информация является управляющим словом для канала, закрепленного за этим видом знаков в НМ.
После каждой фильтрации и циклического сдвига продольного управляющего слова в общем сдвигающем регистре, оно передается на хранение в пустой, закрепленный за этим видом знаков, циклический сдвигающий регистр памяти НМ. Таким образом генерируются продольные управляющие слова – принимающие строки подстановок. Число представителей знаков (единиц) в конкретном управляющем слове зависит от того, сколько раз этот знак повторяется в набираемой строке текста.
Содержимое общего сдвигающего регистра сбра-сывается.Не сброшенным остается только накопленный (суммарный)сдвиг общего для всех знаков набираемой строки регистра управляющих слов. Он составлен из номеров знаков в шрифтоносителе. Выше это были числа 1 и 2.Общий сдвиг от двух подстановок a + b = (1 + 2) mod n = 3,где a = 1, b = 2.
Если в шрифтоносителе расположение матриц букв А и В изменить, не изменяя установленную нумерацию позиций матриц, закрепленные за ними подстановки изменятся. Букве А будет от-
⎛ 0 1234567...n ⎞ вечать подстановка ⎜ ⎟,
⎝(n-1)n0123456...(n-2)⎠
⎛ 01234567... n ⎞ букве Б – подстановка .
⎝n0123456...(n - 1)⎠
Величина сдвига для буквы А станет равной 2 ( а = 2), для буквы Б она равна 1 ( b = 1). Подстановка для А реализуется первой, затем подстановка для буквы Б. Относительный сдвиг равен 1.
Суммарный сдвиг от действия двух подстановок в этом случае образуется суммой ( b + a )mod n = (2 + 1)mod n = 3. Следовательно, от перестановки знаков в шрифтоносителе суммарный сдвиг не зависит. Суммарный относительный сдвиг ( a + b )mod n = 2. Это эффект конвейера.
СпособностьконвейеризованныхНМииханало-гов работать правильно с любым вариантом шрифтоносителя делает их универсальными устройствами. Поэтому конвейеры, как системы, применимы в разных областях. Другие знаки алфавита в исходном тексте обрабатываются при программировании НМ по аналогии с обработкой знаков А и Б.
Еслисчитатьзнакинабираемоготекстасписком, в его пределах они имеют свою нумерацию. Знаки в шрифтоносителе представляет другой список, в котором они пронумерованы иначе, чем в тексте.
Есть возможность строить системы управления НМ без сдвигающих регистров.В этом случае,чтобы сохранить принадлежность сумм конкретным знакам шрифтоносителя,они метятся номерами знаков в нем.
Затем производится сортировка сумм вместе с отметками в порядке возрастания их величин.Одно-временно,как правило,нарушается исходный порядок размещения знаков в тексте.Исходный текст де-формируется.Управляющие слова из представителей знаков генерируются над подстановками вращения в соответствии с деформированным третьим списком.
За счет сортировки,составляющие поперечных управляющихслов,нонеподстановки,какносители продольных управляющих слов, взаимно обмениваются местами,переходя с одних мест на другие. Порядок размещения подстановок в пространстве по отношению к набираемому тексту и общий баланс задержек по времени не нарушаются. Нарушается, как правило, только порядок набора знаков.Вклад, вносимый в задержки отдельными подстановками, сохраняется вне зависимости от расположения знаков в шрифтоносителе друг относительно друга. Это связано с коммутативностью произведений подстановок составляющих циклическую группу.
В поперечных набору управляющих словах, для разных подстановок вероятно появление представителей знаков, расположенных одинаково по отношению к началу набираемой строки (левому краю таблицы сумм). В этом случае, в последующем, возможен одновременный набор более чем одного знака, что увеличивает производительность конвейеризованной системы.
Совпадающие по времени представители соответствуют левым диагональным элементам таблицы модулей сумм (таблицы задержек). В левых восходящих диагоналях таблицы, направленных слева снизу вверх направо (см. таблицу 5), собраны одинаковые результаты суммирования задержек по строке и по шрифтоносителю.
Таблица 5. Пример заполнения таблицы задержек для слова багги
Текст → |
Б |
А |
Г |
Г |
И |
|
j ↓ \ i → |
0 |
1 |
2 |
3 |
4 |
|
А |
0 |
0 |
1** |
2 |
3 |
4* |
Б |
1 |
1** |
2 |
3 |
4 |
0 |
В |
2 |
2 |
3 |
4 |
0 |
1 |
Г |
3 |
3 |
4 |
0* |
1** |
2 |
Д |
4 |
4 |
0 |
1 |
2 |
3 |
↑ Алфавит |
Cлучаи одинаковых задержек tо = 1 в строках таблицы отмечены двумя звездочками. Знаки А, Б и Г при реализации набора набираются в один такт работы системы. Оставшиеся знаки набираются в моменты tо = 0 и tо = 4.
Суммы получаются одинаковыми вне зависимости от разрывов в диагоналях. Если одна диагональ с эквивалентными суммами заканчивается, делается переход на другую. Такое явление наблюдается, в частности, в таблице 5. Его уместно назвать автокоммутативностью.
В случае автокоммутативности специальных перестановок (коммутаций) слагаемых в суммах для tо не делается. Они получаются автоматически за счет случайного совпадения величин, имеющих разный физический смысл. Возникают сопряженные комбинации слагаемых, когда в одной сумме номер знака в шрифтоносителе совпадает по величине с номером знака в строке в другой сумме и наоборот.
Заключение
Таким образом,коммутативность в многоканальных информационных системах с конвейерами гарантирует правильный набор при любом порядке размещения знаков в шрифтоносителе.Автокоммута-тивность чисел делает возможными одновременные операции в НМ,то есть набор нескольких знаков од-новременно.Это повышает их быстродействие.
Список литературы Коммутативность многоканальных информационных систем с конвейерами
- Белов Ю.А., Казарин Л.С. Кольца, поля, многочлены -Ярославль: Изд. ЯрГУ, 1981. -75с.
- Холл М. Теория групп. Пер. с англ. М.: ГИИЛ, 1962.-482 с.