Архітектура Cray-1

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

У 70-х роках колишній співробітник і один з керівників фірми CDC Seymour Cray (Сеймур Крей) організував власну фірму, яка зайнялася проектуванням надшвидкодіючі ЕОМ, відомої під назвою Cray-1 з швидкодією, що перевершує 150 млн. операцій в секунду з широким використанням нової інтегральної технології.

Пам'ять цієї машини виконана у вигляді 16 блоків, загальною ємністю в 1 млн. 64 розрядних слів. Допускається одночасне звернення до цих блоках таким чином, що реальний час звернення стає рівним 12,5 нсек, в той час як час звернення до одного блоку дорівнює 50 нсек.

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

Про структурної організації цієї машини доцільно розповісти більш докладно. Виклад буде заснований на цікавій статті Річарда М. Расселла, одного з розробників цієї машини, в якій наведені основні технічні дані, архітектурні особливості та деякі міркування, покладені в основу прийнятих структурних рішень (Richard М. Russell. The CRAY-1 Computer System. Communication of the ACM. January 1978, Volume 21, Number 1).

Расселл відносить машину Cray-1 до класу сверхвысокопроизводительных векторних процесорів. До цього класу належать також машини Ілліак-IV, STAR-100, ASC.

До складу центрального процесора Cray-1 входять:

головна пам'ять, об'ємом до 1048576 слів, поділена на 16 незалежних за зверненням блоків, ємністю 64К слів кожен;

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

функціональні модулі, до складу яких входять 12 паралельно працюючих пристроїв, що служать для виконання арифметичних і логічних операцій над адресами, скалярними і векторними величинами;

пристрій, що виконує функції управління паралельною роботою модулів, блоків та пристроїв центрального процесора;

24 каналу введення-виведення, організовані в 6 груп з максимальною пропускною здатністю 500000 слів за секунду (2 млн. байт в сек.).

Дванадцять функціональних пристроїв машини Cray-1, що грають роль арифметико-логічних перетворювачів, не мають безпосереднього зв'язку з головною пам'яттю. Так само як і в машинах сімейства CDC-6000, вони мають доступ тільки до швидких операційним регістрам, з яких вибираються операнди і на які засилають результати після виконання відповідних дій.

Три групи операційних регістрів, безпосередньо пов'язані з арифметико-логічними пристроями, називаються основними. До них відносяться вісім так званих А-регістрів, що складаються з 24 розрядів кожен. А-регістри пов'язані з двома функціональними модулями, які виконують додавання (віднімання) і множення цілих чисел. Ці операції використовуються головним чином для перетворення адрес, їх базування і індексування. Вони також використовуються для організації лічильників циклів. У ряді випадків А-регістри можна використовувати для виконання арифметичних операцій над цілими числами.

У наступну групу основних операційних регістрів входять вісім 64-розрядних S-регістрів, безпосередньо пов'язаних з функціональними пристроями виконання арифметичних дій зі скалярними величинами, представленими з фіксованою і плаваючою комою. Ці S-регістри аналогічні за призначенням Х-регістрам операндів у машині CDC-6600. Особливий інтерес представляють вісім 64-елементних векторних регістрів, які призначені для збереження восьми операндів-векторів. Кожен такий операнд складається з 64 компонент (елементів). У свою чергу кожна компонента являє собою 64-розрядне слово, в якому зберігається число з плаваючою або фіксованою комою. Компоненти вектора можуть являти собою також елементи деякої таблиці. У системі команд машини передбачені спеціальні операції, в якості операндів яких виступають багатокомпонентні вектори. Не у всіх завданнях потрібно обробляти вектори розмірності 64. Спеціальний керуючий регістр центрального процесора задає необхідну розмірність (число елементів). Цей регістр програмно-керований, що дозволяє в процесі обчислень змінювати розмірність оброблюваних векторів. Крім того, в центральному процесорі передбачений регістр маски, за допомогою якого можна блокувати виконання арифметико-логічних дій над деякими компонентами вектора, тобто здійснювати вибіркові покомпонентний дії. Регістр маски за своїм призначенням аналогічний регістру маски машини Ілліак-IV.

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

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

До складу реєстрової пам'яті центрального процесора входять дві групи допоміжних буферних регістрів, що скорочують кількість звернень до головної пам'яті. У першу групу входять 64 так званих У-реєстру, які служать для накопичення операндів, що надходять з А-регістрів або направляються в А-регістри з головної пам'яті. У другу групу входять 64 буферних регістру операндів, пов'язаних з S-регістрами. Вони називаються Т-регістрами і служать тим же цілям у відношенні головною пам'яті, як і В-регістри. Спільно В-і Т-регістри можна розглядати як єдиний буфер для зберігання часто використовуваних операндів і їхніх адрес.

Оскільки до регістрів В і Т можна звертатися з програми, то їх можна розглядати як проміжну, доступну для програми пам'ять, що зберігає 24-розрядні операнди (В-регістри) і 64-розрядні операнди (Т-регістри). Пересилками між пам'яттю до В-і Т-регістрами управляють програми користувача. Це означає, що В-і Т-регістри можна розглядати як програмно керовані буфери. У цьому полягає відмінність від механізму управління буферною пам'яттю, прийнятого, наприклад, в машинах IBM-370, який реалізовано апаратним шляхом.

Крім того, до складу центрального процесора машини Cray-1 входить реєстрова буферна пам'ять значного обсягу для проміжного храпения команд програми, що виконується в даний момент. Ця буферна пам'ять складається з чотирьох секцій, кожна по 16 слів. Послідовність команд програми попередньо надходить цей буфер. Якщо вона містить умовний перехід, то в буфері накопичуються також команди, пов'язані з послідовності, на яку можливий цей умовний перехід. Буфер команд є засобом прискорення роботи пристрою управління, тому що помітно мінімізує час очікування команд з головної пам'яті.

Система команд машини Cray-1 прямо відображає реєстрову структуру центрального процесора, своєрідність зв'язку функціональних модулів з операційними регістрами та зв'язку їх з головною пам'яттю. Команди машини Cray-1 двох форматів: короткі команди - 16 розрядів і довгі - 32 розряду.

Сім перших розрядів визначають код операції, потім слідують трехразрядного поля i, j, k, що визначають відповідно номер регістра результату і номери регістрів вихідних операндів.

В одному слові машини Cray-1 може розміщуватися до чотирьох команд короткого формату. Довгі команди можуть починатися в одному слові і тривати в наступному. Це дозволяє щільно упаковувати команди в пам'яті машини і в якійсь мірі прискорює їх вибірку.

До головним керуючим регістрам машини відносяться наступні: лічильник команд, здатний адресувати кожну четверту частину слова, регістр бази (ВА), який служить для утворення абсолютної адреси при зверненні до пам'яті і одночасно є верхньою межею адресного простору програми; регістр кордону адрес (LA), містить нижню межу доступних для поточної програми адрес, регістри ВА і LA служать для захисту пам'яті, виділеної для програми, активною в мультипрограмному режимі. Тим самим у машині Cray-1 застосований метод захисту по кордонах, яка використовується у багатьох машинах, зокрема в машині Мінськ-32.

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

Система переривань в машині Cray-1 побудована за образом і подобою такої, прийнятої для машин-попередників сімейства CDC, а саме, така ж, як у CDC-7600.

Схемами управління автоматично запам'ятовуються всі керуючі та основні операційні регістри перерваної програми при появі переривання в область головною пам'яті, адреса початку якої зазначений у спеціальному регістрі. Після цього управління автоматично передається програмами операційної системи, які аналізують причину переривання і при необхідності запам'ятовують в головній пам'яті вміст всіх груп проміжних і буферних регістрів (У, Т і V). У головній пам'яті для кожної задачі, що йде в мультипрограмному режимі, виділені масиви, в яких зберігається вся інформація, необхідна для продовження перерваної програми.

Відзначимо, що захист пам'яті і система переривань організовані так, що значна частка роботи із запам'ятовування інформації для повернення, щодо організації процесу перемикання з однієї задачі на іншу покладається на операційну систему. Відсутність достатньо розвинених апаратних засобів динамічного перерозподілу пам'яті, спрощений апарат перетворення програмних адрес у фізичні (апаратне базування) цілком припустимі в машинах, призначених для вирішення великих наукових завдань. Цей режим "наукових" обчислень характерний порівняно рідкісним появою ситуації, що вимагають перемикання з вирішення однієї задачі на іншу. Це в свою чергу дозволяє по-іншому реалізувати захист і переривання, не піклуючись про швидке апаратній їх виконання.

Тут хотілося б ще раз підкреслити той вплив на структурну організацію ЕОМ, яке надає клас розв'язуваних завдань. Цікавий спосіб представлення чисел з плаваючою комою, прийнятий в машині Cray-1. На мантиссу зі знаком виділено 49 розрядів. На двійковий порядок виділено 15 розрядів. Тим самим ціна молодшого розряду 2-48 (~ 10-17), а діапазон представимих чисел приблизно оцінюється величиною 102500. Може здатися на перший погляд дивним збільшення діапазону представимих чисел до таких величезних меж. Проте для вирішення деяких задач лінійної алгебри таке розширення діапазону може виявитися необхідним.

Математичне забезпечення машини Cray-1, так само як і в її попередників машин фірми CDC, "Фортран-орієнтоване". Це означає, що в якості основного вхідної мови обраний фортран, найбільш інтенсивно використовується в наукових розрахунках. Для машини Cray-1 створений спеціальний оптимізуючий транслятор зі стандартного Фортрану, що враховує специфіку цієї векторної машини. При деяких умовах, накладених на програму, даний транслятор забезпечує конвеєрний паралелізм і готує об'єктні програми, які ефективно використовують ці можливості машини. Ведуться роботи над новою версією транслятора, який буде оптимізувати фортран програми, складені без будь-яких обмежень.

До складу математичного забезпечення входить також макроассемблер CAL (Cray Assembler Language) і бібліотека стандартних програм, складена на цій мові і орієнтована на використання коштів паралельних обчислень, властивих цій машині.

Операційна система COS (Cray Operating System) призначена для режиму пакетної обробки та дистанційної пакетної обробки завдань, отриманих з віддалених терміналів. Операційна система розрахована на мультипрограмній обробку одночасно до 63 активних завдань. Для забезпечення роботи в режимі дистанційного доступу в якості машини-сателіта обчислювальної системи Cray-1 використовується мінімашина "Eclipse". З цією машиною пов'язані зовнішні канали центрального обчислювача за допомогою спеціальних сполучають пристроїв. На мінімашина покладаються функції управління прийомом-передачею інформації, управління лініями зв'язку, тобто функції процесора передачі даних. Фірма Cray розробляє для цих цілей власний спеціалізований мікрокомп'ютер, який в недалекому майбутньому повинен замінити мінімашина іншої фірми. Машина Cray-1, як уже говорилося, на сьогоднішній день вважається найбільш швидкодіючої в класі універсальних ЕОМ для наукових розрахунків. Її продуктивність сильно залежить від характеру розв'язуваних завдань. Експериментальна перевірка показала, що вона коливається від 20 до 160 млн. операцій у секунду. При виконанні операцій з плаваючою комою діапазон її швидкодії оцінюється в межах від 20 до 60 млн. операцій в секунду.

Додати в блог або на сайт

Цей текст може містити помилки.

Історія та історичні особистості | Реферат
26.8кб. | скачати


Схожі роботи:
Крей Сеймур Cray Seymour
Архітектура
Архітектура IA-32
Архітектура Візантії
Архітектура бароко
Архітектура Венеції
Китайська архітектура
Архітектура компютерів 2
Архітектура компютерів
© Усі права захищені
написати до нас