Реклама:

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

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

Альтернативный способ повышения быстродействия компьютера - создание машины с несколькими процессорами. Компьютер, содержащий 1000 процессоров с временем цикла 1 не каждый, будет иметь такие же возможности, как процессор с временем цикла 0,001 не, но первый реализовать гораздо проще и дешевле.

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

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

Виртуальные команды для параллельной работы

Рис. 6.21. Параллельная работа на нескольких процессорах (а); моделирование параллельной работы трех процессов путем переключения единственного процессора с одного процесса на другой (б)

Команды управления каталогами || Оглавление || Формирование процесса