Смекни!
smekni.com

Огляд компютерних систем (стр. 5 из 5)

Розглянемо більш детально архітектуру даної пам’яті. Коли відбувається зчитування з комірки за адресою 1, її значення зчитується фіксатором, причому у фіксатори зчитуються відповідні адреси з банку 2, 3, 0, тобто у фіксатори заносяться наступні m комірок, де m - кількість банків.

Розподілення адрес між m банками називають m-кратним чергуванням, звичайно m використовують як 2m. таким чином ефект пам’яті залежить від кількості банків.

Асоціативна пам’ять (безадресна пам’ять)

Асоціативна пам’ять являє собою сховище даних, в якому звернення до даних проходить полю ключа, що зберігається разом з даними. Схема порівняння (компаратор) виконує побітове порівняння вхідного із значенням ключів в словах асоціативної пам’яті. В результаті вибраними з пам’яті будуть ті слова, які мають аналогічний ключ.

Схема асоціативної пам’яті:

Для виконання операції пошуку вільних слів та пошуку по декількох бітах ключа персонального комп’ютера асоціативною пам’яттю вводиться регістр маски, біти якого вказують, які біти регістра ключа треба порівнювати.

Потокові машини.

На сучасному етапі можна виділити наступні три підходи до організації обчислювального процесу:

Процедурне програмування

Даний підхід реалізовується майже в усіх машинах Фон-Неймановського типу. Дані машини повинні містити пристрій управління в процесорі, що містить вказівник на поточну команду, яка виконується, щоб команди послідовно зчитувалися і виконувалися на операційному пристрої, а результат записувався в запам’ятовуючий пристрій. Особливості принципів роботи машини даного типу наступні:

Послідовне виконання команд

Обробка даних з перезаписом в пам’яті та регістрі

При послідовній обробці швидкість визначається швидкодією елементів, що обмежує продуктивність ЕОМ. Ці обмеження обумовлені елементною базою кожного компонента.

Функціональне програмування

Обчислювальна модель, в якій програма розглядається як множина визначених функцій, називається функціональною моделлю. Для опису функціональних моделей використовують два типи мов програмування:

Використання аплікативних мов

Використання мов з однократним присвоєнням

Відмінною рисою цих моделей є те, що в їх основу покладена чітка і зрозуміла математична модель λ-перетворень.

Потокове програмування

Основна ідея потокового програмування або моделі обчислювального процесу по потоку даних заснована на операції обробки даних, яка активується цими даними.

Реальне виконання деякої операції можливе тільки тоді, коли дані для цієї операції будуть готові, тим самим дані, що передаються від однієї операції до іншої активізують дану операцію. В цьому принцип керування потоком даних наступний: всі операції виконуються тільки при наявності всіх операндів для її виконання.

Основні відмінності від машин Фон-Неймановського типу наступні:

Операції з готовими операндами можна виконувати одночасно

Обмін даними між операціями чітко визначений, тому відношення залежності між операціями легко виявити

Оскільки управління операціями виконується шляхом передачі даних між ними, то немає необхідності в управлінні ходом виконання операцій, а отже, немає необхідності в централізованому управлінні даних. Опис обчислювального процесу в машинних потоках даних може бути представлений у вигляді графа, в якому вершини - суть операції, а дуги - це напрямок передачі даних між операціями. Реалізація такої ідеї приводить до появи поняття командної комірки, яка повинна зберігати код операції, безпосередньо операнди операції та їх біти готовності та адресні поля, в яких вказуються поля операндів других командних комірок, в які відправляються результати даних операцій.

Схематично командну комірку можна зобразити наступним чином:

В загальному вигляді машина потоків даних повинна містити пам’ять командних комірок. Процесор, що виконує активовані команди та два спеціальні пристрої - арбітражна та розподільна мережа. Призначення арбітражної мережі - знаходження командних комірок, готових до виконання. Призначення розподільної мережі - розміщення отриманого результату в полях операндів інших командних комірок.

Структура машини потоків даних:

Обчислювальні системи з структурою, що перебудовується

Обчислювальні системи з структурою, що перебудовується будуються на основі мікропроцесорних модулів. Модуль повинен реалізовувати наступні функції:

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

управління обчислювальним процесом, що забезпечує взаємодію модуля з групою модулів та з системою в цілому

встановлення з’єднання з іншими модулями і передачу даних між ними для забезпечення обчислювального процесу

З урахуванням усіх цих функцій модуль обчислювальної системи розглядається як сукупність трьох процесорів - обробляючого, управляючого та комунікаційного.

Комунікаційний пристрій забезпечує обслуговування кількох каналів передачі даних. Фізично модуль може реалізуватися на основі однієї мікро ЕОМ, яка виконує в мультипрограмному режимі функції обробки управління процесорами та передачі даних.

В системах, що перебудовуються модулі об’єднуються в найпростіші структури, які дозволяють достатньо легко визначити шляхи з’єднань між взаємодіючими модулями. Найбільш зручними структурами для побудови розглядуваних систем є матричні, пірамідальні та кубічні.

Організація обчислювальних процесів забезпечується наступними засобами: після вводу завдання в систему, модуль, що прийняв завдання, посилає через комунікаційне середовище запит на пошук вільного модуля. Коли він знайдений, йому посилається завдання, що визначає:

імена наборів даних, в яких розміщується програма,

вихідні дані,

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

Із завдання та програми модуль дізнається про необхідні ресурси, закріплює їх за собою і після цього ініціює виконання завдання. Після завершення роботи ресурси звільняються і відбувається очікування наступного завдання.

Паралельні програми будуються традиційним способом: виділення під задач та гілок програми, операції над векторами і матрицями та організація конвеєрної обробки даних.

В обчислювальній системі, що перебудовується повинно бути реалізовано децентралізоване управління ресурсами. Це означає, що в системі не повинно існувати окремого модуля, що відповідає за централізований розподіл ресурсів. Розподілене управління засноване на узгодженій роботі всіх модулів системи. Кожний з модулів реалізує однаковий набір правил управління, що забезпечує ефективне використання всіх ресурсів системи. Розподілене управління підвищує надійність системи, так як кожний модуль здатний реалізувати управління ресурсами. Як і в будь-якій багатопроцесорній системі, механізм управління повинен включати взаємне блокування процесів при запитах ресурсів. Для усунення блокування використовуються різні механізми управління ресурсами:

одночасне формування запитів на всі необхідні ресурси

розподіл ресурсів по типах

ієрархічний порядок виділення ресурсів

Трансп’ютери

Трансп’ютер являє собою 32-бітний мікропроцесор, в склад якого входять:

Центральний процесор з RISC-архітектурою.

64-розрядний співпроцесор для роботи з числами з плаваючою комою.

Внутрішній ОЗП ємністю 4Кб і зі швидкістю обміну 120Мбіт/с.

32-розрядна шина пам’яті, що дозволяє адресувати 4Гб зовнішньої пам’яті і має швидкодію 40Мбіт/с.

Чотири послідовні лінії зв’язку, які можуть працювати в двох напрямках зі швидкістю передачі 5, 10 або 20Мбіт/с.

Інтерфейс зовнішніх подій для зв’язку процесора та зовнішніх подій.

Трансп’ютери розміщуються на трансп’ютерних модулях - TRAM-модулях. Це дочірні плати, які містять сам трансп’ютер, ОЗП, інтерфейс, що включає інтерфейс живлення та ін.

В залежності від складу TRAM можуть мати різні розміри, які є стандартизовані та пронумеровані. TRAM розміщується на окремих платах, які або безпосередньо підключаються до комп’ютера або об’єднуються в мережу, як єдиний розподільний комп’ютер.