- •Лекція № 12 Комп’ютерні системи класу sisd
- •13.1 Матричний процесор
- •13.2 Матрична комп’ютерна система
- •If a (умова a) then do в
- •13.3 Архітектура матричних комп’ютерних систем
- •13.4 Структура процесорного елементу в матричній кс
- •13.5 Підключення і відключення процесорних елементів в матричних кс
- •13.6 Мережі взаємозв’язків процесорних елементів в матричних кс
- •13.7 Матрична комп’ютерна система illiac IV
- •13.8 Обробка інформації векторним процесором
- •13.9 Структура векторного процесора
- •13.10 Асоціативні кс
- •Контрольні запитання
- •Лекція №14 Конвеєрні комп’ютерні системи
- •14.1 Конвеєрні алп
- •Vliw-конвеєр
- •Суперконвеєр
- •Суперскалярний суперконвеєр
- •Лекція № 15 комп’ютерні системи класу miмd: мультипроцесорні, мультикомп’ютерні, системи з неоднорідним доступом до оперативної пам’яті (numa системи), кластерні системи, grid системи
- •15.1 Мультипроцесорні комп’ютерні системи
- •15.2 Мультипроцесорні кс типу numa
- •15.3 Мультикомп’ютерні комп’ютерні системи
- •Мультикомп’ютерна кс
- •15.4 Кластерні кс
- •15.5 Grid системи
- •Grid технологія створення розподіленої обчислювальної інфраструктури
- •Grid-системи як засіб групового використання ресурсів
- •Grid обчислень
- •Grid даних
- •Grid інструментальних засобів
- •Grid додатків
- •Напрямки використання grid
- •Розвиток і впровадження grid-технологій
- •Контрольні запитання
- •Лекція № 16 Комп’ютерні системи з нетрадиційною архітектурою
- •16.1 Систолічні кс
- •16.2 Класифікація структур систол
- •16.3 Кс з наддовгими командами (vliw)
- •16.4 Комп’ютерні системи з явним паралелізмом команд
- •16.5 Кс з обробкою за принципом хвильового фронту
- •16.6 Кс на базі трансп’ютерів і з неоднорідним доступом до пам’яті
- •Контрольні запитання
- •Лекція № 17 структури комп’ютерних систем з фіксованою системою зв’язків
- •17.1 Системи з фіксованою структурою з серійних мікропроцесорів
- •17.2 Спеціалізовані системи з фіксованою структурою
- •Контрольні запитання
- •Лекція № 19 системи введення-виведення даних в кс
- •19.1 Мережева базова система введення-виведення netbios
- •19.2 Периферійні пристрої для введення-виведення даних в кс
- •19.3 Клавішні пристрої
- •19.4 Сканери
- •19.5 Засоби відображення інформації
- •19.6 Пристрої друкування
- •19.7 Плотери
- •Контрольні запитання
- •Лекція № 20 інтерфейси комп’ютерних систем
- •20.1 Графі́чний інтерфе́йс користувача
- •20.2 Послідовний інтерфейс rs-232c
- •20.3 Паралельні інтерфейси
- •20.4 Шина usb
- •20.5 Пристрої введення (виведення) аналогової інформації в еом (аналого-цифрові інтерфейси)
- •Лекція № 22 структурні аспекти побудови відмовостійких комп’ютерних систем
- •Перелік рекомендованих джерел
- •Литература
16.6 Кс на базі трансп’ютерів і з неоднорідним доступом до пам’яті
Поява трансп’ютерів пов’язана з ідеєю створення різних по продуктивності КС за допомогою прямого з’єднання однотипних процесорних чіпів. Сам термін об’єднує два поняття - “транзистор” і “комп’ютер”.
Трансп’ютер - це надвелика інтегральна мікросхема (НВІМ), що містить в собі центральний процесор, блок операцій з плаваючою комою (окрім трансп’ютерів першого покоління Т212 і Т414), статичний оперативний пристрій, що запам’ятовує, інтерфейс із зовнішньою пам’яттю і декілька каналів зв’язку. Перший трансп’ютер був розроблений в 1986 році фірмою Inmos.
Канал зв’язку складається з двох послідовних ліній для двостороннього обміну. Він дозволяє об’єднати трансп’ютери між собою і забезпечити взаємні комунікації. Дані можуть пересилатися поелементно або як вектор. Одна з послідовних ліній використовується для пересилки пакету даних, а друга - для повернення пакету підтвердження, який формується, як тільки пакет даних досягне пункту призначення.
На базі трансп’ютерів можна легко побудувати різні види КС. Чотири канали зв’язку забезпечують побудову двовимірного масиву, де кожен трансп’ютер пов’язаний з чотирма найближчими сусідами. Можливе об’єднання трансп’ютерів в групи з подальшим з’єднанням груп між собою. Якщо група складається з двох трансп’ютерів, то для підключення її до інших груп залишаються вільними 6 каналів зв’язку (рис.16.8, а). Комплекс з трьох трансп’ютерів також залишає вільними 6 каналів (рис.16.8, б), а для зв’язку з “квартетом” трансп’ютерів залишаються ще 4 канали зв’язку (рис.16.8, в).
Особливості
трансп’ютерів вимагали розробки для
них спеціальної мови програмування
Occam. Назва мови пов’язана з ім’ям
філософа-схоласта XIV століття Оккама -
автора концепції “бритви Оккама”:
“entia praeter necessitatem non sunt multiplicanda” - “поняття
не повинні множитись без необхідності”.
Мова забезпечує опис простих операцій
пересилки даних між двома об’єктами,
а також дозволяє явно вказати на
паралелізм при виконанні програми
декількома трансп’ютерами. Основним
поняттям програми на мові Occam є процес,
що складається з одного або більше
операторів програми, які можуть бути
виконані послідовно або паралельно.
Процеси можуть бути розподілені по
трансп’ютерах обчислювальної системи.
При цьому устаткування трансп’ютера
підтримує сумісне використання
трансп’ютера декількома процесами.
а) б) в)
Два транс- Три транс- Чотири транс-
п’ютери п’ютери п’ютери
Рисунок 16.8 – Групи з повністю взаємозв’язаних трансп’ютерів
Перше покоління трансп’ютерів (Т212, Т414 і Т805) розроблялося для систем реального часу і цифрової обробки сигналів. Для подібних завдань потрібні порівняно невеликі КС з швидкісними каналами зв’язку між сусідніми процесорами і швидким перемиканням контексту. Під контекстом розуміється вміст регістрів, який при переході до нового завдання в ході багатозадачної обробки може бути змінений і тому повинен бути збережений, а при поверненні до старого завдання - відновлений.
У трансп’ютерах другого покоління (Т9000) істотно підвищена продуктивність і покращені канали зв’язку. Головна особливість трансп’ютерів другого покоління - розвинені комунікаційні можливості, хоча в обчислювальному плані, навіть не дивлячись на наявність в них блоків для операцій з плаваючою комою, вони сильно поступаються універсальним мікропроцесорам Power РС і Pentium.
Узагальнена структура трансп’ютера (рис.16.9) включає:
- центральний процесор;
- АЛП для операцій з плаваючою комою;
- канали зв’язку;
- внутрішню пам’ять (ОЗП);
- інтерфейс для підключення зовнішньої пам’яті;
- інтерфейс подій (систему переривань);
- логіку системного сервісу (систему обслуговування);
- таймери.
Рисунок 16.9 – Базова внутрішня архітектура трансп’ютера
Перший трансп’ютер Т212 містив 16-розрядний арифметичний процесор. Подальші трансп’ютери були оснащені 32-розрядним цілочисельним процесором (Т414) і процесором з плаваючою комою (Т800, Т9000), що дає істотне підвищення швидкості обчислень (до 100 MIPS). Версії, що підтримують процесор з плаваючою комою, організовані так, що цей процесор і цілочисельний процесор можуть працювати одночасно. У трансп’ютер Т9000 додана внутрішня кеш-пам’ять і процесор віртуального каналу. Процесор трансп’ютера побудований по архітектурі RISC, має мікропрограмний УП, а команди в ньому виконуються за мінімальне число циклів процесора. Прості операції, такі як складання і віднімання, займають один цикл, тоді як складніші операції вимагають декількох циклів. Команди складаються з одного або декількох байтів. Більшість версій трансп’ютерів мають по 4 послідовних каналу зв’язку із швидкістю передачі по каналу близько 10 Мбіт/с. У міру розвитку трансп’ютерів підвищилася швидкість передачі по каналах зв’язку. Місткість внутрішньої пам’яті (спочатку 2 Кбайт) також зросла. З’явилася можливість підключення зовнішньої пам’яті через інтерфейс пам’яті. Схема цього інтерфейсу програмується і здатна формувати різні сигнали для задоволення вимог найрізноманітніших мікросхем зовнішньої пам’яті.
Передача інформації проводиться синхронно під впливом загального генератора тактових імпульсів (ГТІ) або локальних ГТІ з однаковою частотою проходження імпульсів. Інформація передається у вигляді пакетів. Кожного разу, коли пересилається пакет даних, приймач відповідає пакетом підтвердження (рис.16.10).
Рисунок 16.10 – Організація введення/виведення в трансп’ютерній системі
Пакет даних складається з двох бітів-одиниць, за якими слідують 8-бітові дані і нуль (всього 11 бітів). Пакет підтвердження - це проста комбінація 10 (всього два біта); вона може бути передана, як тільки пакет даних буде ідентифікований інтерфейсом вхідного каналу. Канали забезпечують апаратну підтримку операторів введення і виведення мови Occam, тобто пакети можуть пересилатися один за іншим як вектори. Для комунікацій між процесами усередині трансп’ютера замість зовнішніх каналів операторів введення/виведення використовують внутрішні канали трансп’ютера.
Інтерфейс подій дає можливість зовнішньому пристрою привернути увагу і отримати підтвердження. Цей інтерфейс функціонує як вхідний канал і аналогічно програмується.
