Page 96 - 6111
P. 96

9.4 Пам’ять з чергуванням адрес
                                Фізично пам’ять комп’ютерної системи складається з декількох
                            модулів  (банків),  при  цьому  істотним  питанням  є  те,  як  в  цьому
                            випадку розподілений адресний простір (набір всіх адрес, які може
                            сформувати  процесор).  Один  із  способів  розподілу  віртуальних
                            адрес по модулях пам’яті полягає в розбитті адресного простору на
                            послідовні блоки. Якщо пам’ять складається з n банків, то комірка з
                            адресою  i  при  поблочному  розбитті  знаходитиметься  в  банку  з
                            номером  i/n.  У  системі  пам’яті  з  чергуванням  адрес  (interleaved
                            memory)  послідовні  адреси  розташовуються  в  різних  банках:
                            комірка з адресою i знаходиться в банку з номером i mod n. Нехай,
                            наприклад,  пам’ять  складається  з  чотирьох  банків,  по  256  байт  в
                            кожному.  У  схемі,  орієнтованій  на  блокову  адресацію,  першому
                            банку будуть виділені віртуальні адреси 0-255, другому - 256-511 і
                            т.д.  В  схемі  з  чергуванням  адрес  послідовні  комірки  в  першому
                            банку матимуть віртуальні адреси 0, 4, 8, а у другому банку - 1, 5, 9
                            і т.д.
                                Розподіл  адресного  простору  по  модулях  дає  можливість
                            одночасної обробки запитів на доступ до пам’яті, якщо відповідні
                            адреси  відносяться  до  різних  банків.  Процесор  може  в  одному  з
                            циклів  зажадати  доступ  до  комірки  i,  а  в  наступному  циклі  -  до
                            комірки j. Якщо i і j знаходяться в різних банках, інформація буде
                            передана  в  послідовних  циклах.  Тут  під  циклом  розуміємо  цикл
                            процесора,  тоді  як  повний  цикл  пам’яті  займає  декілька  циклів
                            процесора.  Таким  чином,  в  даному  випадку  процесор  не  повинен
                            чекати, поки буде завершений повний цикл звернення до комірки i.
                            Розглянутий прийом дозволяє підвищити пропускну спроможність:
                            якщо  система  пам’яті  складається  з  достатнього  числа  банків,  є
                            можливість  обміну  інформацією  між  процесором  і  пам’яттю  з
                            швидкістю одне слово за цикл процесора, незалежно від тривалості
                            циклу пам’яті.
                                Рішення  про  те,  який  варіант  розподілу  адрес  вибрати
                            (поблочний  або  з  розшаруванням),  залежить  від  очікуваного
                            порядку  доступу  до  інформації.  Програми  компілюються  так,  що
                            послідовні  команди  розташовуються  в  комірках  з  послідовними
                            адресами, тому висока вірогідність, що після команди, витягнутої з
                                                              95
   91   92   93   94   95   96   97   98   99   100   101