
- •Івано-Франківський національний технічний
- •Університет нафти і газу
- •Комп’ютерні системи
- •Конспект лекцій
- •Лекція № 1
- •1.1 Архітектура комп’ютерних систем
- •1.2 Паралельна обробка інформації
- •Контрольні запитання
- •Лекція №2 Основи теорії комп’ютерних систем
- •2.1 Класифікація комп’ютерних систем
- •Рисинук 2.2 - Класи комп’ютерних систем
- •2.2 Паралельні алгоритми
- •2.3 Характеристика типових схем комунікації в багатопроцесорних комп’ютерних системах
- •2.4 Закон Амдала
- •Контрольні запитання
- •Лекція №3 Конвеєрні комп’ютерні системи
- •3.1 Обробка інформації векторним процесором
- •3.2 Процесор з паралельним алп
- •3.3 Структура векторного процесора
- •3.4 Векторно-конвеєрні комп’ютерні системи
- •Контрольні запитання
- •Лекція №4 Матричні комп’ютерні системи
- •4.1 Матричний процесор
- •4.2 Матрична комп’ютерна система
- •If a (умова a) then do в
- •4.3 Архітектура матричних комп’ютерних систем
- •4.4 Структура процесорного елементу
- •4.5 Підключення і відключення процесорних елементів.
- •Контрольні запитання
- •Лекція № 5 Комп’ютерні системи класу simd
- •Контрольні запитання
- •Лекція № 6 Мультипроцесорні комп’ютерні системи
- •6.1 Загальна характеристика мультипроцесорних комп’ютерних систем
- •6.2 Мультипроцесори типу numa
- •6.3 Мультипроцесори типу coma
- •6.4 Мультипроцесорна комп’ютерна система Sun Enterprise 10000:
- •Контрольні запитання
- •Лекція №7 Мультикомп’ютерні комп’ютерні системи
- •7.1 Загальна характеристика мультикомп’ютерних комп’ютерних систем
- •Мультикомп’ютерна кс
- •7.2 Рівні комплексування у кс
- •7.3 Кластери
- •7.4 Топологія кластерних пар
- •7.5 Кластер Beowulf
- •7.6 Кластер ac3 Velocity Cluster
- •7.7 Кластер ncsa nt Supercluster
- •Контрольні запитання
- •Лекція № 8 Комп’ютерні системи з нетрадиційною архітектурою
- •8.1 Асоціативні кс
- •8.2 Систолічні кс
- •8.3 Класифікація структур систол
- •8.4 Кс з наддовгими командами (vliw)
- •8.5 Комп’ютерні системи з явним паралелізмом команд
- •8.6 Кс з обробкою за принципом хвильового фронту
- •8.7 Кс на базі трансп'ютерів і з неоднорідним доступом до пам'яті
- •Контрольні запитання
- •Лекція № 9 Організація пам’яті у комп’ютерних системах
- •9.1 Запам’ятовувальні пристрої комп'ютера
- •9.2 Системи із загальною і розподіленою пам'яттю
- •9.3 Багаторівнева організація загальної пам'яті
- •9.4 Пам'ять з чергуванням адрес
- •9.5 Асоціативна пам'ять
- •Контрольні запитання
- •Лекція № 10 Системи введення-виведення
- •10.1 Мережева базова система введення-виведення netbios
- •10.2 Пристрої для зберігання bios
- •10.3 Виробники bios
- •10.4 Принцип роботи bios
- •Контрольні запитання
- •Лекція № 11 Інтерфейси
- •Контрольні запитання
8.7 Кс на базі трансп'ютерів і з неоднорідним доступом до пам'яті
Поява трансп'ютерів пов'язана з ідеєю створення різних по продуктивності КС за допомогою прямого з'єднання однотипних процесорних чіпів. Сам термін об'єднує два поняття - “транзистор” і “комп'ютер”.
Трансп'ютер - це надвелика інтегральна мікросхема (НВІМ), що містить в собі центральний процесор, блок операцій з плаваючою комою (окрім трансп'ютерів першого покоління Т212 і Т414), статичний оперативний пристрій, що запам'ятовує, інтерфейс із зовнішньою пам'яттю і декілька каналів зв'язку. Перший трансп'ютер був розроблений в 1986 році фірмою Inmos.
Канал зв'язку складається з двох послідовних ліній для двостороннього обміну. Він дозволяє об'єднати трансп'ютери між собою і забезпечити взаємні комунікації. Дані можуть пересилатися поелементно або як вектор. Одна з послідовних ліній використовується для пересилки пакету даних, а друга - для повернення пакету підтвердження, який формується, як тільки пакет даних досягне пункту призначення.
На базі трансп'ютерів можна легко побудувати різні види КС. Чотири канали зв'язку забезпечують побудову двовимірного масиву, де кожен трансп'ютер пов'язаний з чотирма найближчими сусідами. Можливе об'єднання трансп'ютерів в групи з подальшим з'єднанням груп між собою. Якщо група складається з двох трансп'ютерів, то для підключення її до інших груп залишаються вільними 6 каналів зв'язку (мал. 8.8, а). Комплекс з трьох трансп'ютерів також залишає вільними 6 каналів (мал. 8.8, б), а для зв'язку з “квартетом” трансп'ютерів залишаються ще 4 канали зв'язку (мал. 8.8, в).
Особливості трансп'ютерів вимагали розробки для них спеціальної мови програмування Occam. Назва мови пов'язана з ім'ям філософа-схоласта XIV століття Оккама - автора концепції “бритви Оккама”: “entia praeter necessitatem non sunt multiplicanda” - “поняття не повинні множитись без необхідності”. Мова забезпечує опис простих операцій пересилки даних між двома об’єктами, а також дозволяє явно вказати на паралелізм при виконанні програми декількома трансп'ютерами. Основним поняттям програми на мові Occam є процес, що складається з одного або більше операторів програми, які можуть бути виконані послідовно або паралельно. Процеси можуть бути розподілені по трансп'ютерах обчислювальної системи. При цьому устаткування трансп'ютера підтримує сумісне використання трансп'ютера декількома процесами.
а – два транспьютера;
б – три транспьютера;
в – четыре транспьютера
Рисунок 8.8 – Групи з повністю взаємозв'язаних трансп'ютерів
Перше покоління трансп'ютерів (Т212, Т414 і Т805) розроблялося для систем реального часу і цифрової обробки сигналів. Для подібних завдань потрібні порівняно невеликі КС з швидкісними каналами зв'язку між сусідніми процесорами і швидким перемиканням контексту. Під контекстом розуміється вміст регістрів, який при переході до нового завдання в ході багатозадачної обробки може бути змінений і тому повинен бути збережений, а при поверненні до старого завдання - відновлений.
У трансп'ютерах другого покоління (Т9000) істотно підвищена продуктивність і покращені канали зв'язку. Головна особливість трансп'ютерів другого покоління - розвинені комунікаційні можливості, хоча в обчислювальному плані, навіть не дивлячись на наявність в них блоків для операцій з плаваючою комою, вони сильно поступаються універсальним мікропроцесорам Power РС і Pentium.
Узагальнена структура трансп'ютера (рис.8.9) включає:
- центральний процесор;
- АЛП для операцій з плаваючою комою;
- канали зв'язку;
- внутрішню пам'ять (ОЗП);
- інтерфейс для підключення зовнішньої пам'яті;
- інтерфейс подій (систему переривань);
- логіку системного сервісу (систему обслуговування);
- таймери.
Рисунок 8.9 – Базова внутрішня архітектура трансп'ютера
Перший трансп'ютер Т212 містив 16-розрядний арифметичний процесор. Подальші трансп'ютери були оснащені 32-розрядним цілочисельним процесором (Т414) і процесором з плаваючою комою (Т800, Т9000), що дає істотне підвищення швидкості обчислень (до 100 MIPS). Версії, що підтримують процесор з плаваючою комою, організовані так, що цей процесор і цілочисельний процесор можуть працювати одночасно. У трансп'ютер Т9000 додана внутрішня кеш-пам'ять і процесор віртуального каналу. Процесор трансп'ютера побудований по архітектурі RISC, має мікропрограмний УП, а команди в ньому виконуються за мінімальне число циклів процесора. Прості операції, такі як складання і віднімання, займають один цикл, тоді як складніші операції вимагають декількох циклів. Команди складаються з одного або декількох байтів. Більшість версій трансп'ютерів мають по 4 послідовних каналу зв'язку із швидкістю передачі по каналу близько 10 Мбіт/с. У міру розвитку трансп'ютерів підвищилася швидкість передачі по каналах зв'язку. Місткість внутрішньої пам'яті (спочатку 2 Кбайт) також зросла. З'явилася можливість підключення зовнішньої пам'яті через інтерфейс пам'яті. Схема цього інтерфейсу програмується і здатна формувати різні сигнали для задоволення вимог найрізноманітніших мікросхем зовнішньої пам'яті.
Передача інформації проводиться синхронно під впливом загального генератора тактових імпульсів (ГТІ) або локальних ГТІ з однаковою частотою проходження імпульсів. Інформація передається у вигляді пакетів. Кожного разу, коли пересилається пакет даних, приймач відповідає пакетом підтвердження (рис.8.10).
Рисунок 8.10 – Організація введення/виведення в трансп’ютерній системі
Пакет даних складається з двох бітів-одиниць, за якими слідують 8-бітові дані і нуль (всього 11 бітів). Пакет підтвердження - це проста комбінація 10 (всього два біта); вона може бути передана, як тільки пакет даних буде ідентифікований інтерфейсом вхідного каналу. Канали забезпечують апаратну підтримку операторів введення і виведення мови Occam, тобто пакети можуть пересилатися один за іншим як вектори. Для комунікацій між процесами усередині трансп'ютера замість зовнішніх каналів операторів введення/виведення використовують внутрішні канали трансп'ютера.
Інтерфейс подій дає можливість зовнішньому пристрою привернути увагу і отримати підтвердження. Цей інтерфейс функціонує як вхідний канал і аналогічно програмується.