Page 18 - 4868
P. 18

Ошибка! Стиль не определен.                                                                16

               розглянемо декілька фрагментів обчислень у вигляді блок-схем, що показані
               на рисунку 1.3, а, б, в.
























                     Рисунок 1.3 – Приклади алгоритмів, що піддаються та не піддаються
                                                       векторизації

                     Оскільки в системі команд векторно-конвеєрних комп’ютерів зазвичай є
               векторні  команди,  в  яких  аргументи  можуть  бути  як  скалярними,  так  і
               векторними,  векторизація  фрагментів,  показаних  на  рисунку  1.3,  а  і  б,  не
               викличе  проблем.  В  той  же  час  фрагмент,  показаний  на  рисунку  1.3  в,  не
               можливо  векторизувати,  оскільки  обчислення  і-ого  елементу  масиву  a  не
               може розпочатися, доки не буде обчислений попередній елемент. В даному
               прикладі  має  місце  залежність  між  операціями,  яка  буде  перешкоджати
               векторизації.  Це  потрібно  мати  на  увазі  при  виконанні  програми  на
               комп’ютері векторно-конвеєрної архітектури.
                     Як  приклад,  припустимо,  що  половина  деякої  програми  –  це  тільки
               послідовні обчислення, які не можна векторизувати. Тоді, навіть  у випадку
               миттєвого  виконання  другої  половини  програми  за  рахунок  ідеальної
               векторизації, досягтипришвидшення роботи всієї програми більш ніж у два
               рази буде неможливо.


                     2.2. Паралельні комп’ютери із спільною пам’яттю (мультипроцесори)

                     Всі  робочі  процеси  в  мультипроцесорних  системах  мають  єдиний
               віртуальний адресний простір, що відображається на спільну пам’ять. Будь-
               який процес за допомогою команд LOADтаSTORE може зчитатидані з пам’яті
               або  записати  їху  пам’ять.  Два  процесиздатні  легко  обмінюватися
               інформацією шляхом простого запису даних в спільну пам’ять та зчитування
               їх  із  спільної  пам’яті.  Така  модель  поведінки  зрозуміла  програмістам  і
               дозволяє вирішувати широкийспектр задач.
                     Оскільки  всі  процесори  в  мультипроцесорі  використовують  спільний
               адресний простір, тоіснує тільки одна копія операційної системи. Відповідно,
               є тільки одна карта сторінок пам’яті  і  одна таблиця процесів. Коли процес
               блокується, його процесор зберігає свій стан в таблицях операційної системи,
   13   14   15   16   17   18   19   20   21   22   23