Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория ситем.doc
Скачиваний:
25
Добавлен:
01.05.2014
Размер:
156.67 Кб
Скачать

Режим телеобаботки данных

Телеобработка - это режим обработки данных при взаимодействии польхователя СОД через линии связи. Телеобработка рассматривается в качестве самостоятельного режима обработки данных по следующим причинам :

1. Удаленность пользователя от СОД и наличие между ними спецального средства передачи данных (линии связи) поаждают необходимость в спец. действиях пользователей при организации доступа к системе и завершению сеанса работы

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

Параллельная обработка информации

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

1)Совмещение во времени различных этапов различных задач

2)Одновременное решение различных задач или частей одной задачи.

3)Конвейерная обработка информации.

1 - это многопроцессорная обработка. МП обработка возможно даже в одном процессоре ЭВМ и широко используется в современных СОД

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

1) Естественный. Заключается в том, что в систему поступает непрерывный поток не связанных между собой задач, т.е. решение каждой задачи не зависит от результатов решения других задач. В этом случае используя несколько ОУ, при любом способе комплексирования: в косвенном или прямом, повышает производительность. Параллелизм независимых ветвей это один из наиболее распространённых типов параллельного изменения в ОИ (???). Суть его заключается в том, что при решении большой задачи могут быть выделены отдельные независимые части, ветви программы, которые при наличии нескольких ОУ могут обрабатываться параллельно и независимо друг от друга. Двумя независимыми ветвями программы будем считать такие части задачи, при выполнении которых выполняются условия:

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

б)Для обеих ветвей программы не должна производится запись в одни и те же ячейки памяти, т.е. отсутствие связей по их ОЗУ

в)Условие выполнения одной ветви не зависит от результатов или признаков, полученных при выполнении других ветвей – независимость по управлению.

г)обще ветви должны выполняться по разным программам – программная независимость.

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

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

2) Параллелизм объектов или данных. Имеет место когда по одной и той же программе должно обрабатываться некоторая совокупность данных, построенных в системе одновременно, так например сума двух матриц MxN заключается в суммировании соответствующих элементов этих матриц, при этом операция суммирования должна быть произведена над MxN парами числе, произведение матриц – столько же умножений. Эти операции можно выполнять параллельно.

Конвейерная обработка информации может быть реализована в системе с одним процессором , разделением на некоторое число последовательно включаемых операторных блоков, каждый из которых специализирован на выполнении строго определённой части операций. При этом процессор работает таким образом: когда i-ый блок выполняет i-ую часть j-ой операции, i-1 операторный блок выполняет i-1ую часть j+1ой операции, а i+1 операторный блок выполняет i+1ую часть j-1ой операции. Получается конвейер обработки, как показано в примере:

Суммирование двух чисел с плавающей точкой разделим на 4 последовательно исполняемых этапа.

1)Сравнение порядков (СП)

2)Выравнивание порядков (ВП)

3)Сложение мантисс (СМ)

4)Нормализация результата (НР)

В соответствии с этим в составе процессора предусмотрим четыре операторных блока, соединённых последовательно и реализующих 4 вышеперечисленных шага операции сложения, т.е. блока СП ВП СМ и НР. Примем что время выполнения блоков соответственно 60 100 140 100нс.

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

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

Чтобы не создавать очередь примем что время выполнения каждого этапа одинаково и равно 140нс. Получаем конвейер из четырёх блоков. Результат на выходе конвейера будет получен через 560нс, не трудно заметить, что чем длиннее цепочка данных и чем на большее число этапов, а следовательно и операторных блоков разбивается операция, тем больше эффективность от использования конвейера может быть получена. В примере было рассмотрено конвейерное выполнение арифметических операций, но идея конвейера может быть распространена и на выполнение команды. Надо сказать что конвейер команд применяется уже давно, при этом цикл выполнений команды разбивается на ряд этапов, таких как формирование адреса команды, выборка команды из памяти, расшифровка кода операции, формирование адреса операнда, выборка операнда из памяти и, наконец, арифметически логической операции. В устройствах управления предусматриваются блоки, которые независимо друг от друга и параллельно могут выполнять указанные этапы, таким образом если в конвейере арифметических операций происходит параллельная обработка М пак операций, то в конвейере команд происходи совмещение во времени L операций, где L – число этапов на которые разбило выполнение команды, что позволяет существенно увеличить производительность конвейерной системы. К сожалению выигрыш в производительности в L раз практически невозможен, т.к. может быть получен только при выполнении программы без условных переходов. Наличие условных переходов сразу нарушает работу конвейера и приводит к холостым пробегам Ковнера, когда по выбранному признаку результата надо перейти к выполнению не следующей команды, а совершенно другой, что вызывает необходимость очистки всех блоков и загрузки их в другой операции.

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