<<
>>

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

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

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

Альтернативный способ повышения быстродействия компьютера — создание машины с несколькими процессорами.

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

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

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

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

<< | >>
Источник: Таненбаум Э.. Архитектура компьютера. 5-е изд. 2007

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

  1. Работа с другими командами
  2. Виртуальное послесловие
  3. Г. Упражнение для предоставления наставникам вашего поля для работы.
  4. ГЛАВА 11 ПРАВОВЫЕ ПРОБЛЕМЫ ВИРТУАЛЬНОЙ СРЕДЫ ИНТЕРНЕТ
  5. Виртуальное сексуальное насилие над детьми
  6. Очерк 1: Эмили «Лучшая работа для меня та, которой я сама довольна. Мне нравится, когда мои работы говорят о том, о чем я сама хочу сказать»
  7. ИНФОРМАЦИЯ: ОБРАБОТКА ПАРАЛЛЕЛЬНАЯ
  8. 6.4.3. Параллельный опыт
  9. 8.8. ПАРАЛЛЕЛЬНЫЕ МИРЫ
  10. ПАРАЛЛЕЛЬНЫЕ МИРЫ
  11. Определение команды.
  12. 6.4.3. Параллельный опыт
  13. 3. Успеха добивается тот, кто наряду с основным делом занимается параллельными делами.
  14. Признаки команды.
  15. § 4.5. Деятельность команд в организации
  16. Пример настройки и реабилитации в футбольной команде
  17. Задания для самостоятельной работы