ВУЗ:
способствует созданию конфигурации с более высокой степенью использования элементов.
По этому принципу было разработано большое количество машин. Один подход предусматривает подключение к од-
ним и тем же ячейкам основной памяти нескольких устройств обработки данных, каждое из которых напоминает обычный
центральный процессор однопроцессорной машины. В такой конфигурации процессоры могут работать независимо, коорди-
нируя свои действия посредством обмена сообщениями через общие ячейки памяти. Например, когда один процессор полу-
чает большое и сложное задание, он может записать программу для выполнения части этого задания в общем поле памяти, а
затем послать другому процессору запрос на ее выполнение. В результате мы получим машину, в которой разные последова-
тельности команд выполняют обработку разных наборов данных. Подобная архитектура носит название MIMD (multiple in-
struction stream, multiple-data stream – множество потоков команд с множеством потоков данных). Очевидно, что она является
противоположной по отношению к традиционной архитектуре компьютеров, называемой SISD (single instruction stream, sin-
gle-data stream – один поток команд и один поток данных).
Еще одним вариантом архитектуры многопроцессорных компьютеров является такое соединение процессоров между
собой, которое позволит им одновременно выполнять одну и ту же последовательность команд, но с разными наборами дан-
ных. Этот вариант носит название архитектуры SIMD (single instruction stream, multiple-data stream – один поток команд и мно-
жество потоков данных). Машины этого типа больше всего подходят для выполнения таких приложений, в которых один и
тот же алгоритм обработки применяется к отдельным наборам схожих элементов, составляющих один большой блок дан-
ных.
Еще один подход к реализации параллельной обработки заключается в конструировании больших машин как некоего
конгломерата из машин меньшего размера, каждая из которых имеет собственную память и центральный процессор. В по-
добной архитектуре каждая машина связана со своими соседями; в результате задача, поставленная перед всей системой,
может быть разделена на элементарные задания, распределяемые между отдельными машинами. Таким образом, если зада-
ча, поставленная перед одной внутренней машиной, может быть разделена на несколько подзадач, то эта машина может "по-
просить" соседние машины выполнить все подзадачи параллельно. В результате вся задача в целом может быть выполнена в
многопроцессорной машине намного быстрее, чем в однопроцессорной.
При разработке и использовании многопроцессорных машин мы сталкиваемся с проблемой баланса нагрузки, т.е. ди-
намического распределения задач между различными процессорами в целях повышения эффективности их работы. Эта про-
блема тесно связана с проблемой масштабирования, или разделения текущей задачи на несколько подзадач, количество ко-
торых совместимо с количеством доступных процессоров. Еще одна проблема заключается в сложности распределения вы-
деленных задач. Действительно, если количество задач возрастает, то объем работы, связанной с их распределением и коор-
динацией взаимодействия между отдельными подзадачами, растет экспоненциально. Если имеется четыре задачи, то можно
выделить шесть потенциальных пар задач, которым потребуется взаимодействовать друг с другом. Если имеется пять задач,
то количество потенциальных каналов взаимодействия возрастает до десяти, а в случае с шестью задачами это количество
увеличится до пятнадцати.
В главе 10 мы познакомимся с искусственными нейронными сетями, конструкция которых основана на наших знаниях
о структуре человеческого мозга. Подобные конструкции представляют собой еще один тип многопроцессорной архитекту-
ры, так как они состоят из множества элементарных процессоров или устройств обработки информации, выходные данные
которых – это просто реакция такого устройства на поступившие входные данные. Все эти простые процессоры соединены
между собой и образуют сеть, в которой выходные данные одних процессоров являются входными данными для других
процессоров. Такая машина программируется посредством настройки степени влияния выходных данных каждого процессо-
ра на реакцию соединенных с ним процессоров. В какой-то степени этот подход имитирует способ, в соответствии с кото-
рым, как считается, происходит обучение нашего мозга. Точнее говоря, биологические сети нейронов головного мозга чело-
века учатся реагировать определенным образом на заданные стимулы посредством управления химическим составом соеди-
нений (синапсов) между отдельными нейронами, что, в свою очередь, контролирует способность одного нейрона влиять на
действия других нейронов.
Вопросы для самопроверки
1. Почему для работы машины с микропрограммным управлением требуются два счетчика адреса и два регистра ко-
манд?
2. Еще раз вернемся к вопросу 3 из раздела 2.3. Если в машине будет применяться обсуждавшаяся выше технология
конвейерной обработки, то какая команда попадет на "конвейер", когда будет выполняться команда, расположенная в ячейке
с адресом АА? При каких условиях конвейерная обработки на данном этапе программы не будет давать никаких преиму-
ществ?
3. Какие противоречия должны быть разрешены при запуске программы, приведенной в вопросе 4 из раздела 2.3, в ма-
шине с конвейерной обработкой данных?
4. Предположим, что два центральных процессора подсоединены к одному и тому же полю основной памяти и выпол-
няют различные программы. Более того, в одно и то же время одному из процессоров требуется прибавить единицу к содер-
жимому некоторой ячейки памяти, а другому необходимо отнять единицу от содержимого этой же ячейки. (Общий резуль-
тат этих действий должен быть таким, что содержимое данной ячейки останется неизменным.)
а) Опишите последовательность действий, которая приведет к тому, что в результате их выполнения содержимое дан-
ной ячейки будет на единицу меньше исходного значения.
б) Опишите, какая последовательность действий приведет к тому, что в результате их выполнения содержимое данной
ячейки будет на единицу больше исходного значения.
Упражнения
(Упражнения, отмеченные звездочкой, относятся к разделам для дополнительного чтения.)
1. Дайте краткое определение следующим понятиям:
а) регистр; б) кэш-память; в) основная память; г) массовая память.
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »
