Другой центральный процессор - Большая Энциклопедия Нефти и Газа, статья, страница 1
Некоторые люди полагают, что они мыслят, в то время как они просто переупорядочивают свои предрассудки. (С. Джонсон). Законы Мерфи (еще...)

Другой центральный процессор

Cтраница 1


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

2 Команда TSL может работать неверно, если не заблокировать шину. [2]

Для разрешения этой проблемы команда TSL сначала должна блокировать шину, не допуская обращения к ней других центральных процессоров, затем выполнить оба обращения к памяти, после чего разблокировать шину. Как правило, для блокировки шины сначала выполняется обычный запрос шины по стандартному протоколу, затем устанавливается в 1 некая специальная линия шины. Пока эта линия шины установлена в 1, никакой другой центральный процессор не может получить к ней доступ. Такая команда может быть выполнена только на шине, у которой есть необходимые специальные линии и ( аппаратный) протокол для их использования. Современные шины обладают подобными свойствами, но на старых шинах это было невозможно, и команда TSL не могла быть выполнена корректно.  [3]

Адаптер канал-канал служит для связи двух центральных процессоров ЕС-2655, а также для стыковки процессора ЕС-2655 с другим центральным процессором Ряд 1 или Ряд 2, что позволяет создавать многопроцессорные или многомашинные системы.  [4]

На многопроцессорной системе алгоритм, основанный на проверке бита обращений, уже не работает, так как хотя текущий центральный процессор не обращался в последнее время к данной странице, к ней могли обращаться другие центральные процессоры. Исследование же битов обращений всех центральных процессоров представляет собой слишком дорогое удовольствие. Поэтому бит обращений вообще не учитывается, а удаляются самые старые страницы.  [5]

Альтернативный метод состоит в том, что при первой записи в страницу создается ее копия, которая сохраняется на центральном процессоре, выполняющем запись. Когда другой центральный процессор на удаленной машине пытается получить блокировку к этой странице, процессор, писавший в эту страницу раньше, сравнивает текущее состояние этой страницы с чистым оригиналом и отсылает этому центральному процессору список изменений страницы.  [6]

7 Контроллер прерывания 8259А. [7]

Чтобы предотвратить такую ситуацию, в многопроцессорных системах предусмотрен специальный цикл шины, который дает возможность любому процессору считать слово из памяти, проверить и изменить его, а затем записать обратно в память; весь этот процесс происходит без освобождения шины. Такой цикл не дает возможности другим центральным процессорам использовать шину и, следовательно, мешать работе первого процессора.  [8]

9 Структурная схема центрального процессора. [9]

В состав центрального процессора ( рис. 3.2) входят: специализированные устройства обработки, локальная память программно-доступных регистров ПДР, блок обработки команд БОК, ассоциативная память трансляции адресов АЗУС, регистры аппаратурной вершины стека ABC, буферная память команд ВПК, буферная память данных АЗУЧ, средства обмена с основной памятью УОП, средства системного управления и обработки прерываний УСУ. Процессор связан интерфейсом с основной памятью, процессорами ввода-вывода и другими центральными процессорами.  [10]

Драйверы устройств также должны работать на мультипроцессорах, так как поддержка мультипроцессоров была заложена в операционную систему Windows 2000 при разработке. Это требование означает, это во время обработки драйвером запроса от одного центрального процессора может прийти запрос от другого центрального процессора. Второй центральный процессор может начать выполнение программы драйвера одновременно с первым центральным процессором. Драйвер должен функционировать корректно, даже когда он вызывается одновременно двумя и более центральными процессорами. Это означает, что доступ ко всем чувствительным структурам данных должен предоставляться только внутри критических областей. Простое предположение, что других обращений к драйверу не будет, пока не завершится обработка текущего обращения к нему, недопустимо.  [11]

По причине приведенных выше соображений такая модель теперь используется редко, хотя она применялась на заре эпохи мультипроцессоров, когда ставилась цель просто перенести существующие операционные системы на какой-либо новый мультипроцессор как можно быстрее. Вторая модель показана на рис 8.8. Здесь используется всего одна копия операционной системы, находящаяся на центральном процессоре 1 и отсутствующая на других центральных процессорах. Центральный процессор 1 может также выполнять процессы пользователя, если у него будет оставаться для этого время. Такая схема называется хозяин-подчиненный, так как центральный процессор 1 является хозяином, то есть ведущим, а все остальные процессоры - подчиненными, или ведомыми.  [12]

По причине приведенных выше соображений такая модель теперь используется редко, хотя она применялась на заре эпохи мультипроцессоров, когда ставилась цель просто перенести существующие операционные системы на какой-либо новый мультипроцессор как можно быстрее. Вторая модель показана на рис 8.8. Здесь используется всего одна копия операционной системы, находящаяся на центральном процессоре 1 и отсутствующая на других центральных процессорах. Центральный процессор 1 может также выполнять процессы пользователя, если у него будет оставаться для этого зремя. Такая схема называется хозяин-подчи-ненный, так как центральный процессор 1 является хозяином, то есть ведущим, а все остальные процессоры - подчиненными, или ведомыми.  [13]

На первый взгляд может показаться, что наличие кэширования должно устранить проблему конкуренции за шину, но это не так. Теоретически, как только запрашивающий центральный процессор прочитал слово блокировки, он должен получить его копию в свой кэш. Пока ни один другой центральный процессор не предпринимает попыток использовать это слово, запрашивающий центральный процессор может работать с ним в своем кэше. Когда центральный процессор, владеющий словом блокировки, записывает в него 1, протокол кэша автоматически помечает как недействительные все копии этого слова в удаленных кэшах, требуя получения правильных значений.  [14]

15 Команда TSL может работать неверно, если не заблокировать шину. [15]



Страницы:      1    2