Архітектура ЕОМ БЕСМ-6

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

скачати

З книги Л. Н. Королева "Структури ЕОМ та їх математичне забезпечення"

Ми виділили опис машини БЕСМ-6 в окремий розділ з тієї причини, що ця машина займає особливе місце у розвитку вітчизняної обчислювальної техніки. Принципи, закладені в основу її структурної організації, не втратили свого значення до сих пір. Машини БЕСМ-6 та обчислювальні комплекси, створені на їх основі, до цих пір інтенсивно використовуються в науково-дослідних інститутах, центрах обробки інформації, вирішальних найбільш важливі для народного господарства, науки і оборони завдання. За час більш 10-річного використання цієї машини накопичена величезна за складом, надзвичайно важливе за значимістю математичне забезпечення, що сконцентрував в себе кращі досягнення радянських вчених у галузі обчислювальної математики, програмування, рішення завдань проектування складних об'єктів, в області вирішення завдань, пов'язаних з освоєнням космічного простору.

Розробка машини БЕСМ-6, головний конструктор якої академік С. О. Лебедєв і заст. головного конструктора В. А. Мельников, була закінчена в кінці 1966 р. Машина вступила в дію в 1967 р.

БЕСМ-6 має низку цікавих особливостей з організації віртуальної (математичної) пам'яті, за прийнятим у її структурі принципом "водопроводу", з організації захисту пам'яті, переривань, з організації зв'язку з зовнішніми пристроями і каналами.

Машина БЕСМ-6 - швидкодіюча машина, що виконує близько 1 млн. одноадресних операцій в секунду. Вона виконана на напівпровідниках, на елементній базі, що допускає високу частоту перемикань (основна тактова частота - 10 МГц). За своїм структурним характеристикам та архітектури машина БЕСМ-6 цілком може бути віднесена до машин 3-го покоління, хоча вона і виконана не на інтегральних схемах, а на "навісних" деталях, тобто на технологічній основі машин другого покоління.

Основна мета, яку переслідували автори проекту машини БЕСМ-6, була така: створити швидкодіючу серійну машину, порівняно дешеву, що задовольняє найбільш важливим сучасним вимогам з точки зору автоматизації програмування та розвитку операційних систем, оснащену що були в той час у вітчизняному серійному виробництві зовнішніми запам'ятовуючими пристроями і пристроями введення-виведення. Машина призначалася для використання у великих обчислювальних центрах для вирішення наукових та економічних завдань, що вимагають великого обсягу обчислень.

Як показав час, ця мета була досягнута. Машина БЕСМ-6 виробляється серійно, і коло замовників цієї машини продовжує зростати. Сферами її застосування виявились науково-дослідні інститути, університети, великі конструкторські бюро.

Основні технічні характеристики машини БЕСМ-6 такі:

Швидкодія - близько 1 млн. операцій / сек.;

обсяг ОЗП - від 32 до 128 тисяч машинних слів;

час виконання складання з плаваючою комою - 1,1 мксек;

час множення - 1,9 мксек;

час поділу - 4,9 мксек;

час виконання логічних порозрядних операцій - 0,5 мксек.

Робота арифметичного пристрою сполучена з вибіркою операндів з пам'яті.

Розрядність машинного слова - 48 двійкових розрядів.

Обсяг проміжної пам'яті на магнітних барабанах - 512 тисяч слів.

До центрального процесору можуть бути підключено 32 стрічкопротяжних механізму, кожен ємністю до 1 млн. слів. До складу вступних-вивідних пристроїв входять два алфавітно-цифрових друкують пристрої (400 рядків у хвилину), два пристрої виводу на перфокарти (ПІ-80), чотири пристрої виводу на перфострічку, чотири пристрої введення з перфострічки, два пристрої введення з перфокарт (ВУ -700 або УВвК-601), 24 телетайпу.

До БЕСМ-6 можливе підключення дисків і графопостроителей, проте в комплектацію машин, що надійшли з заводу-виробника до 1970 р., це важливе обладнання не входило. У комплектацію серійних машин БЕСМ-6 диски були включені лише в 1972 р.

Структурні особливості машини БЕСМ-6

Для того щоб досягти необхідного балансу між високою швидкістю виконання арифметичних і логічних дій у центральному процесорі і обмеженим швидкодією блоків оперативного феритового пам'яті (час циклу роботи кожного блоку - 2 мксек), було вжито такі заходи в структурній організації. Оперативний запам'ятовувальний пристрій складається з восьми блоків, що допускають одночасну вибірку інформації (командних слів і операндів), що різко підвищує ефективну швидкодію системи пам'яті. Підряд йдуть фізичні адреси пам'яті ставляться до різних блокам, і якщо виявилося, наприклад, так, що послідовно обираються операнди мають послідовно зростаючі (убуваючі) адреси, то вони можуть вибиратися з середньою швидкістю, рівної 2 мксек / 8 = 0,25 мксек.

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

,

де Т - час циклу одного блоку пам'яті і n - кількість паралельно працюючих блоків.

Наведені вище формули показують значення методу "запаралелювання" блоків пам'яті для отримання виграшу в ефективному швидкодії.

У реальних програмах закони вибірки адрес дуже складні, і для них важко підібрати відповідний закон розподілу. Тому при конструюванні БЕСМ-6 була проведена велика робота по моделюванню структури машини та аналізу часових параметрів роботи окремих її пристроїв на потоках інформації, що генеруються реальними програмами, і зокрема, на моделі вважалися реальні затримки при зверненні до різного кількості паралельно працюючих блоків пам'яті.

Другий структурною особливістю організації звернень до оперативного запам'ятовуючого пристрою є метод буфферізаціі, або метод накопичення черги замовлень до системи пам'яті. У машині БЕСМ-6 існують групи регістрів, на яких зберігаються запити (адреси), звані буферами адрес слів і команд. Зрозуміло, що ці буфера можуть працювати ефективно тільки в тому випадку, якщо структура машини дозволяє переглядати команди "вперед", тобто заздалегідь готувати запити. Пристрій управління БЕСМ-6 дозволяє це робити. Буфери адрес дозволяють у кінцевому підсумку згладити нерівномірність надходження запитів до пам'яті і тим самим підвищити ефективність її використання.

Третьою структурною особливістю БЕСМ-6 є метод використання сверхоперативной, неадресованих з програми пам'яті невеликого обсягу, мета якого ≈ автоматична економія звернень до основного оперативного запам'ятовуючого пристрою. Ця сверхоперативная пам'ять управляється таким чином, що часто використовуються операнди і невеликі внутрішні командні цикли виявляються на швидких регістрах і готові до негайного використання в арифметичному пристрої або в системі управління машиною. Швидкі регістри в ряді випадків дозволяють економити до 60% усіх звернень до пам'яті і зменшують тим самим тимчасові витрати на очікування чисел і команд з основної пам'яті.

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

Ці структурні особливості БЕСМ-6 отримали назву водопровідного принципу побудови структури машини. У самому справі, якщо підрахувати час від початку виконання команди до його закінчення, то для кожної команди воно буде дуже велика, проте глибокий паралелізм виконання, перегляд вперед, наявність буфера адрес, швидких регістрів призводять до того, що "потік" команд і темп обробки інформації дуже високий. Аналогія з водопроводом полягає в тому, що якщо простежити час, за який частка води проходить по деякому ділянці водопроводу, то воно буде більшим, хоча швидкість на виході потоку може бути дуже велика. Четвертої структурною особливістю БЕСМ-6, яка має дуже важливе значення для побудови операційних систем і роботи машини в мультипрограмному режимі, є прийнятий апаратний спосіб перетворення математичних, або віртуальних адрес у фізичні адреси машини. У машині БЕСМ-6 чітко витримано поділ на фізичну і математичну пам'ять, прийнята посторінкова організація, проте спосіб відображення, закладений в апаратуру, значно відрізняється від того, який був застосований в машині Атлас. Блок-схема процесора БЕСМ-6 представлена ​​на рис. 1.

рис. 1

Система команд БЕСМ-6 допускає індексний і непряму адресацію. Як правило, дійсний (виконавчий) адреса виходить шляхом додавання вмісту одного з індексних регістрів до коду адреси, записаному в команді. Отриманий після таких маніпуляцій адреса називається виконавчим математичним адресою і не є ще адресою конкретної фізичної комірки пам'яті, до якої має бути здійснене звернення за цією адресою.

Як же виходить дійсний фізичну адресу?

Математичний 15-розрядний адреса БЕСМ-6 ділиться на дві частини Старші 5 розрядів визначають номер математичної сторінки, а молодші 10 розрядів - номер слова в даній сторінці. У структурі машини передбачена невелика за обсягом, дуже швидка пам'ять, що зберігає таблицю відповідності математичних сторінок (або листів) фізичним сторінкам, і пятіразрядний номер математичної сторінки апаратно підміняється відповідним номером фізичної сторінки. Іншими словами, номер математичної сторінки можна розглядати як адреса рядка в таблиці відповідностей, за яким вибирається необхідна фізична сторінка реально існуючої пам'яті машини. Таким чином, повний фізичний адресу слова в пам'яті формується з раз рядів номера фізичної сторінки, вибраних з таблиці, і розрядів номера слова в сторінці, взятих з математичного адреси.

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

Це відкриває широкі можливості для динамічного розподілу і перерозподілу ресурсів фізичної пам'яті між завданнями, що йдуть у мультипрограмному режимі.

Апарат захисту пам'яті, що має також дуже важливе значення для машин, що працюють в мультипрограмному режимі, в БЕСМ-6 також тісно пов'язаний з посторінковою організацією пам'яті. Кожна математична сторінка може знаходитися в стані чи закритому, або відкритому для читання і запису чисел і команд. Апаратно кожній сторінці ставиться у відповідність тригер, який вказує її стан (відкрита або закрита по запису і читання чисел); ознакою захисту сторінки за зверненням за командами є код з усіх нулів у рядку таблиці відповідностей. Тим самим у БЕСМ-6 захист по числах і по командах розділена. Це корисно для організації програм, які обслуговують кілька незалежних завдань.

Крім апарата захисту пам'яті в БЕСМ-6 існує апарат захисту привілейованих команд. Ряд команд, за допомогою яких можна змінювати вміст регістрів, безпосередньо впливати на зовнішні пристрої та зовнішні канали, пов'язані з машиною, можуть виконуватися тільки в "супервизорного" режимі, тобто в режимі, в якому працює операційна система. Спроба виконати привілейовану команду у звичайній програмі призводить до переривання і припинення виконання цієї програми. Супервизорного і звичайний режими роботи машини тим самим апаратурно розрізняються, в супервизорного режимі допустимо виконання всього репертуару команд машини, в звичайному математичному режимі частина команд не може бути виконана.

Захист пам'яті і привілейованих команд дозволяє так організувати одночасне вирішення кількох завдань на машині, щоб повністю виключити будь-який вплив одних завдань на інші. Як правило, майже в усіх програмах, перший раз пропускаються на машині, містяться помилки, часом самі непередбачені, і дуже важливо, щоб ці помилки не спричинили за собою відмову всієї системи в цілому або псування сусідніх програм і завдань. Система переривань БЕСМ-6 побудована наступним чином. У апаратурі машини передбачений так званий головний регістр переривань (ГРП) і регістр маски (РМ).

За кожним розрядом ГРП закріплена функція сигналізації появи сигналу переривань від конкретних зовнішніх пристроїв або від цілком певних ситуацій, що склалися в центральному пристрої машини. Відповідно головний 48-розрядний регістр переривань розділений на дві половини. У першій його половині розташовані сигнали переривань, що надходять від зовнішніх пристроїв, що сигналізують про закінчення обмінів, про появу інформації на вхідних регістрах, що прийшла з зовнішніх пристроїв і т.д. У другій половині розташовані розряди, що сигналізують про особливі ситуації, що виникли всередині машини, наприклад про переповнення на арифметичному пристрої, про спробу поділу на нуль, про спроби звернення до закритої сторінці за числами або за командами, про виникнення контролю при передачах слів і командної інформації між пам'яттю і арифметичним пристроєм. Внутрішні переривання мають більш старший пріоритет у порівнянні з перериваннями від зовнішніх пристроїв.

Регістр маски, зміст якого може змінюватися певними привілейованими командами, служить для того, щоб дозволити операційній системі на певний час блокувати спрацьовування схеми переривання від зовнішніх пристроїв, що не вимагають моментальної реакції на свої сигнали. Маска тим самим дозволяє "закривати очі" на деякі зовнішні переривання. Це важливо для організації програмно керованого пріоритету обслуговування зовнішніх запитів, і операційна система широко цим користується. Один із розрядів головного регістра переривань пов'язаний з периферійним регістром переривання і сигналізує лише про те, що на периферійному регістрі з'явився десь сигнал переривання. Периферійний регістр пов'язаний з медленнодействующімі зовнішніми пристроями, сигнали від яких надходять досить рідко. Як і головний регістр переривань, периферійний регістр має свою маску, що дозволяє блокувати появу переривань, реагувати на які в даний час з будь-якої причини небажано. Таким чином, система переривань БЕСМ-6 побудована за ієрархічним принципом. Крім того, в машині існує декілька реєстрів, у розрядах яких з'являється інформація про поточний стан зовнішніх пристроїв. Цю інформацію в будь-який момент можна витягти і усвідомити, наприклад, такі речі: чи знаходиться даний пристрій чи канал в справному стані, включено чи даний пристрій, підмотувати чи магнітна стрічка і т. д. Головний регістр переривань, периферійний регістр переривань і регістри станів дозволяють укупі машині БЕСМ-6 реагувати на 240 різних ознак, що характеризують стан зовнішнього середовища і внутрішній стан машини.

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

Для того, щоб пояснити значення структурних особливостей БЕСМ-6, ми розповімо про те, як працюють деякі блоки диспетчера операційної системи, що реагують на переривання від зовнішніх пристроїв, на переривання по захисту пам'яті, що організують таблицю відповідностей, що забезпечують перемикання завдань в мультипрограмному режимі. Ці блоки називають внутрішніми блоками диспетчера, вони зазвичай належать до резидентської частини операційної системи і складають основу її ядра. Ми почнемо з блоку реакцій на переривання від зовнішніх пристроїв. Як вже говорилося, при перериванні проводиться примусова передача керування на фіксовану клітинку, як раз з цього осередку і починається програма реакції на переривання, і починається вона блоком упрятиванія.

Насамперед у цьому блоці здійснюється пересилка вмісту суматора (його старших і молодших розрядів) до деяких осередку закритій області пам'яті. Це робиться для того, щоб програми операційної системи могли вільно користуватися суматором, не піклуючись про його збереження. Потім здійснюється пересилка значень двох індексних регістрів на згадку з тим, щоб зберегти то їх зміст, який їм було надано перерваної завданням, і тим самим дати можливість програмам операційної системи користуватися цими індексними регістрами для своїх цілей. Далі на суматор зчитується вміст головного регістра переривань, відшукується номер самого старшого розряду, який дав переривання, і за цим номером проводиться передача управління з перемикачу на блок, що реагує саме на переривання з даним номером. Наприклад, якщо виявилося, що номер найстаршого розряду дорівнює 3, то це означає, що закінчився обмін по магнітному барабану і керування передається на спеціальний блок, що займається обробкою переривань по кінцю обміну. Якщо номер виявився рівним 1, то це означає настання моменту, коли можна видавати певний символ на рядок друку, і передача управління відбувається на відповідний блок, організуючий видачу рядка символів на друкувальний пристрій. Процедура упрятиванія, збереження необхідної інформації та передачі управління на відповідний блок реакції віднімає у центрального процесора близько 23 мксек.

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

У диспетчері прийнята наступна логіка, яка зменшує ймовірність втрати переривань. Будь-яка програма, яка реагує на конкретну причину переривань, складається з двох блоків: блоку мінімально необхідної реакції, що йде з закритим перериванням, і блоку, який може виконувати роботу з відкритим (незаборонених) перериванням. Після виконання блоків мінімально необхідної реакції управління передається на блок пошуку старшого розряду, який дав переривання. У тому випадку, якщо не з'явилося нових переривань, управління передається блоку реакції, який йде з відкритим перериванням. Блок-схема програми реакції на переривання представлена ​​на рис. 2. З наведеної блок-схеми видно, що блоки мінімальної реакції на відповідне переривання завершують свою роботу постановкою в чергу замовлення на подальшу обробку даного переривання, яка може йти вже з відкритим перериванням. Щоб була більш зрозуміла різниця між блоком мінімальної реакції на i-е переривання і блоком подальшої обробки, наведемо наступний приклад.

рис. 2

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

Блок мінімальної реакції виконує роботу по звільненню вхідного регістра і запису інформації в осередки ОЗУ. Крім цієї роботи блок реакції на переривання повинен виконати великий обсяг роботи по семантичному контролю змісту рядка, по компоновці символів для засилання їх в пам'ять машини, тобто виконати роботи з редагування введеної інформації. Ця робота повинна бути виконана до приходу з пристрою, що зчитує наступного рядка інформації. Між моментами появи рядків проходить порівняно великий проміжок часу, і ці роботи з редагування на проході можна виконувати "не поспішаючи".

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

Для того щоб краще пояснити значення апарата захисту пам'яті в БЕСМ-6, розповімо про те, як цим апаратом користується операційна система (ОС). Завдання, що надходить у систему, забезпечується деякими описом тих ресурсів, які вона вимагатиме від системи в процесі свого рішення. Ця інформація називається паспортом завдання. Зокрема, в паспорті вказується кількість аркушів ОЗУ, яке їй буде потрібно для вирішення.

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

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

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

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

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

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


Схожі роботи:
Архітектура ЕОМ
Архітектура ЕОМ
Архітектура ЕОМ 2
Архітектура і функціонування ЕОМ
Архітектура ЕОМ 2 лютого
Архітектура ЕОМ і обчислювальних систем
БЕСМ-6
Космічні ЕОМ
Макроконвеєрної ЕОМ
© Усі права захищені
написати до нас