Page 164 - 6111
P. 164

Рисунок 15.3 – Оптимізована багатопроцесорна архітектура UMA

                                Щоб  оптимально  використовувати  конфігурацію  вказану  на
                            рис.15.3, компілятор повинен помістити в локальні модулі пам’яті
                            весь  текст  програми,  ланцюжки,  константи,  інші  дані,  призначені
                            тільки  для  читання,  стеки  і  локальні  змінні.  Загальна  розділена
                            пам’ять  використовується  тільки  для  загальних  змінних.  В
                            більшості  випадків  таке  розумне  розміщення  сильно  скорочує
                            кількість  даних,  що  передаються  по  шині,  і  не  вимагає  активного
                            втручання з боку компілятора.
                                Навіть  при  всіх  можливих  оптимізаціях  використання  тільки
                            однієї  шини  обмежує  розмір  мультипроцесора  UMA  до  16  або  32
                            процесорів.  Щоб  отримати  більший  розмір,  потрібний  інший  тип
                            комунікаційної мережі. Найпростіша схема з’єднання n процесорів
                            з  k  блоками  пам’яті  через  координатний  комутатор  (рис.15.4).
                            Координатні  комутатори  використовуються  впродовж  багатьох


                                                             163
   159   160   161   162   163   164   165   166   167   168   169