Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[11]

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

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

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

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

1. Системы с одиночным потоком команд и одиночным потоком данных (ОКОД). -. Системы с множественным потоком команд и одиночным потоком данных (МКОД).

3.Системы с одиночным потоком команд и множественным потоком данных (ОКМД).

4.Системы с множественным потоком команд и множественным потоком данных (МКМД).

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

Системы класса ОКОД. Системы этого класса - обычные однопроцессорные ЭВМ (рис. -.4, а), включающие в себя запоминающее устройство (ЗУ) для команд и данных (оно чаще всего бывает общим) и один процессор, содержащий арифметическо-логическое устройство (АЛУ) и устройство управления (УУ). В современных системах этого класса наиболее широко используется первый путь организации параллельной обработки -совмещение во времени различных этапов решения разных задач, при котором в системе одновременно работают различные устройства: ввода, вывода и собственно обработки информации. В общем виде это достаточно подробно рассмотрено в предыдущей главе, однако практическая реализация этого принципа предусматривает и более широкое совмещение работы различных устройств. В отношении ввода-вывода информации - это введение нескольких одновременно работающих каналов ввода-вывода, а также нескольких устройств одного типа: перфокарточных устройств ввода и вывода, печатающих устройств, различного рода накопителей и др. Введение большого числа параллельно работающих периферийных устройств позволяет существенно сократить время на ввод информации и оперативное запоминающее устройство: (ОЗУ), уменьшая общее время решения задачи, и до некоторой степени сгладить разрыв между скоростями работы центральных (процессор и ОЗУ) и периферийных устройств. Значительный эффект в производительности однопроцессорной системы дает разделение ОЗУ на несколько модулей, функционально самостоятельных, что позволяет им работать независимо друг от друга. Производительность увеличивается за счет уменьшения простоев устройств из-за так называемых конфликтов при обращении к ОЗУ.

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


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

а)

ЗУ

К

1 ь

зук

уу

W

К

V

1Т7-ТТ

-А-►

зуд

Р

б)

ЗУ

зук

К

К

д-

К

зуд \алу

--1\ р 1-

уу

3

К

алу

в)

ЗУ

К

зуд hp I алу

e)

ЗУ

зук

зуд

К

уу

К

р-;-

д

алу

д)

ЗУ

зук

зуд

К

Д

р

д1

уу

р

уу

алу

алу

Рис. 2.4. Система ОКОД (а), МКОД (б, в), ОКМД (г), МКМД (д) Д - данные; К - команды; Р - результат

По существу конвейер команд - это также совмещение во времени работы нескольких различных блоков, выполняющих отдельные части общей операции. Если совмещение во времени работы различных устройств можно назвать «макросовмещением», то конвейер является как бы «микросовмещением». При организации конвейера команд очень часто применяются также способы увеличения производительности, базирующиеся на использовании многомодульных ОЗУ. Во-первых, если программы и данные размещать в разных модулях памяти, то это позволит совмещать во времени выборку команды и операнда, что при выполнении ОЗУ в виде одного функционального устройства было бы невозможно. Во-вторых, используется тот факт, что команды и данные обычно при обработке выбираются из некоторой последовательности ячеек памяти с последовательно возрастающими адресами. Если организовать ОЗУ таким образом, что все четные адреса будут принадлежать одному модулю ОЗУ, а все нечетные - другому, и сдвинуть начало


цикла работы этих двух модулей на V2 цикла, то при выполнении программы среднее время обращения к ОЗУ существенно уменьшается (в пределе в - раза). Этот принцип может быть распространен и на большее число модулей ОЗУ с независимым управлением. При N модулях ОЗУ среднее время обращении к ОЗУ оказывается равным HN-й цикла ОЗУ. Такая намять называется памятью с чередованием адресов или расслоением обращений.

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

Детальное рассмотрение систем класса ОКОД не входит в нашу задачу - это делается в курсе «Теория и проектирование ЭВМ», одним из разделов которого является подробное изучение всех перечисленных выше способов повышения производительности ЭВМ.

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

Как уже отмечалось, реализована другая схема обработки, представленная на рис. -.4, в. Здесь один поток команд K разделяется устройством управления на несколько потоков микрооперации, каждая из которых реализуется специализированным, настроенным на выполнение именно данной микрооперации, устройством. Поток данных проходит последовательно через, все (или часть) этих специализированных ЛЛУ. Именно такого класса системы принято называть конвейерными или системами с магистральной обработкой информации.

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

Системы класса ОКМД. Системы этого класса также ориентированы на использование параллелизма объектов или данных для повышения производительности. Обобщенная структура представлена на рис. -.4, г. В этой системе по одной и той же (или почти по одной и той же) программе обрабатывается несколько потоков данных, каждый из этих потоков обрабатывается своим АЛУ, работающим однако под общим управлением, за счет чего и достигается высокая производительность системы.

Общая схема, представленная на рис. -.4, г, может реализоваться разными способами. Так, например, АЛУ может представлять собой достаточно сложное устройство, содержащее обрабатывающий процессор и оперативное ЗУ. В этом случае поток данных в каждый процессор поступает из собственного ЗУ. Управление и память команд реализуются отдельной ЭВМ, управляющей ансамблем процессоров. Память данных может иметь не только адресную выборку, но и ассоциативную, т. е. по содержимому памяти.

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

Системы класса МКМД. Возможны два способа построения систем МКМД: в виде совокупности элементарных систем (рис. -.4, а) и по схеме, приведенной на рис. -.4, д. На



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59]