Архітектура Cray-1
Схемами управління автоматично запам’ятовуються все керуючі системи й основні операційні регістри перерваної програми у разі переривання до області головною пам’яті, адресу початку якої зазначений у спеціальній управляючому регістрі. Після цього управління автоматично передається програмам ОС, які аналізують причину переривання і за необхідності запам’ятовують у головній пам’яті вміст всіх груп… Читати ще >
Архітектура Cray-1 (реферат, курсова, диплом, контрольна)
Архитектура 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 входять:
главная пам’ять, обсягом до 1 048 576 слів, розділена на 16 незалежних з поводження блоків, ємністю 64К слів кожен;
регистровая пам’ять, куди входять п’ять груп швидких регістрів, виділені на збереження і перетворення адрес, для зберігання і методи обробки векторних величин;
функциональные модулі, до складу яких входять 12 паралельно працюючих пристроїв, службовців до виконання арифметичних і логічних операцій над адресами, скалярными і векторными величинами;
устройство, яке виконує функцій управління паралельної роботою модулів, блоків і пристроїв центрального процесора;
24 каналу вводу-виводу, організовані в 6 груп з максимальної пропускною спроможністю 500 000 слів в секунду (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 розряду.
Семь перших розрядів визначають код операції, потім йдуть трехразрядные поля і, j, k, що визначають відповідно номер регістру результату номери регістрів вихідних операндов.
В слові машини Cray-1 може розміщатися до чотирьох команд короткого формату. Довгі команди можуть починатися щодо одного слові і тривати наступного. Це дозволяє щільно упаковувати команди у пам’яті машини та певною мірою прискорює їх вибірку.
К головним управляючим регістрам машини ставляться такі: лічильник команд, здатний адресувати кожен четвертий частина слова, регістр бази (ВА), який є для освіти абсолютного адреси при зверненні до пам’яті і водночас є верхньої кордоном адресного простору програми; регістр кордону адрес (LA), у якому нижню межу доступних для поточної програми адрес, регістри ВА і LA служать за захистом пам’яті, виділеної для програми, активної в мультипрограммном режимі. Тим самим в машині Cray-1 застосований метод захисту за кордонів, використовуваний у багатьох машинах, зокрема у машині Минск-32.
В складі центрального процесора є девятиразрядный регістр F, фіксуючий причину переривань, саме: переривання по нормальному закінчення завдання, закінчення помилково, фіксує переривання по введеннявисновку, по появі помилок в операндах, по переполнениям, міткам часу й сигналам з пульта оператора машини. Спеціальний регістр режимів виконання програм дозволяє блокувати деякі групи переривань.
Система переривань в машині Cray-1 побудована за образом і подоби такою, прийнятої для машин-предшественников сімейства CDC, саме, така сама, як в CDC-7600.
Схемами управління автоматично запам’ятовуються все керуючі системи й основні операційні регістри перерваної програми у разі переривання до області головною пам’яті, адресу початку якої зазначений у спеціальній управляючому регістрі. Після цього управління автоматично передається програмам ОС, які аналізують причину переривання і за необхідності запам’ятовують у головній пам’яті вміст всіх груп проміжних і буферних регістрів (У, Т і V). У головній пам’яті кожної завдання, що йде в мультипрограммном режимі, виділено масиви, у яких зберігається вся інформація, необхідна продовжити перерваної програми.
Отметим, що захист пам’яті і системи переривань організовані таким чином, що велика частка роботи з пам’ятанню інформації для повернення, з організації процесу перемикання з одного завдання в іншу доручається операційну систему. Відсутність достатньо розвинутих апаратних коштів динамічного перерозподілу пам’яті, спрощений апарат перетворення програмних адрес в фізичні (апаратне базування) цілком припустимі в машинах, виділені на вирішення значних наукових завдань. Цей режим «наукових» обчислень характерний порівняно рідкісним появою ситуації, потребують перемикання з вирішення одного завдання в іншу. Це свою чергу дозволяє інакше реалізувати захист і переривання, не переймаючись швидкому апаратній їхнього виконання.
Здесь хотілося б вкотре наголосити на тому впливом геть структурну організацію ЕОМ, що надає клас розв’язуваних завдань. Цікавий спосіб подачі чисел з плаваючою коми, прийнятий у машині Cray-1. На мантиссу зі знаком виділено 49 розрядів. На двоїчний порядок виділено 15 розрядів. Тим самим було ціна молодшого розряду 2−48 (~ 10−17), а діапазон представимых чисел приблизно оцінюється величиною 102 500. Може видатися здавалося б дивним збільшення діапазону представимых чисел до такі величезні меж. Проте задля розв’язання окремих завдань лінійної алгебри таке розширення діапазону може бути необхідним.
Математическое забезпечення машини Cray-1, як і і біля її попередників машин фірми CDC, «фортранно-ориентировано». Це означає, що на посаді основного вхідного мови обраний фортран, найбільш інтенсивно вживаний у наукових розрахунках. Для машини Cray-1 створено спеціальний оптимизирующий транслятор зі стандартного фортрану, враховує специфіку цієї векторної машини. У певних умовах, накладених на програму, даний транслятор забезпечує конвеерный паралелізм і готує об'єктні програми, ефективно використовують ці можливості так машини. Ведуться роботи над версією транслятора, який оптимізувати фортранные програми, складені без жодних обмежень.
В склад математичного забезпечення належить макроассемблер CAL (Cray Assembler Language) і бібліотека стандартних програм, складена цією мовою і орієнтована використання коштів паралельних обчислень, властивих даної машині.
Операционная система CO (Cray Operating System) варта режиму пакетної оброблення і дистанційної пакетної обробки завдань, отримані з віддалених терміналів. Операційна система розрахована на мультипрограммную обробку одночасно до 63 активних завдань. Задля більшої роботи у режимі дистанційного доступу як машины-сателлита обчислювальної системи Cray-1 використовується минимашина «Eclipse». З цієї машиною пов’язані зовнішні канали центрального обчислювача з допомогою спеціальних сопрягающих пристроїв. На минимашину покладаються функцій управління прийомом-передачею інформації, управління лініями зв’язку, т. е. функції процесора передачі. Фірма Cray розробляє цих цілей власний спеціалізований мікрокомп'ютер, що у найближчому майбутньому повинен замінити минимашину інший фірми. Машина Cray-1, як говорилося, нині її вважають найбільш швидкодіючої у п’ятому класі універсальних ЕОМ фінансування наукових розрахунків. Її продуктивність залежить від характеру розв’язуваних завдань. Експериментальна перевірка показала, що вона коштує від 20 до 160 млн. операцій на секунду. За виконання операцій із плаваючою коми діапазон її швидкодії становить межах від 20 до 60 млн. операцій на секунду.
Список литературы
Для підготовки даної роботи було використані матеріали із сайту internet.