Коммутация потоков команд и данных

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

 

Структурная схема систем типа ОК МД.

 

1- память программ

2- модули памяти данных

3- коммутаторы

4- процессоры

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

Структурная схема систем типа МК МД. Коммутация блоков обработки

 

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

 

К-МКМД – коммутируемый множественный поток команд и множественный поток данных

 

Структурная схема систем типа К МК МД. Коммутация потока команд и данных

 

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