Магнітний барабан

комп'ютерний запам'ятовувальний пристрій, винайдений австрійцем Густавом Таушеком у 1932 році

Магнітний бараба́н (англ. Drum memory) — комп'ютерний запам'ятовувальний пристрій, що був у використанні в 1950-х — на початку 1960-х років. Барабани були настільки поширеними, що обчислювальні машини, які оснащувались такими барабанами, часто називали «барабанними комп'ютерами» (англ. drum machines)[1].

Магнітний барабан польського комп'ютера ZAM-41 (1961)

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

Історична довідка ред.

 
Магнітний барабан шведського комп'ютера BESK (1953)
 
Магнітний барабан МБ-11 радянського виробництва (1972) у Московському політехнічному музеї

Магнітний барабан було винайдено Густавом Таушеком[en] у 1932 році в Австрії[2][3]. Перша конструкція барабана Таушека мала місткість близько 500 000 бітів (62,5 кбайт)[3].

Одним з перших комп'ютерів, які працювали з барабаном, був комп'ютер Атанасова-Беррі (1942). Він міг зберігати 3000 біт; однак, для зберігання інформації використовувалась електрична ємність, а не магнетизм. Зовнішня поверхня барабана була облицьована електричними контактами, підключеними до конденсаторів, що розташовувались всередині.

Застосування у ролі первинних та вторинних запам'ятовувальних пристроїв ред.

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

Перші магнітні барабани розроблялись для потреб військово-морського флоту США під час Другої світової війни, а далі робота продовжувалась компанією «Engineering Research Associates»[en] (ERA) у 1946 та 1947 роках[4]. Експериментальне дослідження в ERA було завершене і результати передані ВМС 19 червня 1947 року[4]. Інші розробки конструкцій ранніх барабанних накопичувачів були здійснені у коледжі Біркбек[5](Лондонський університет), Гарвардському університеті, та Манчестерському університеті[4].

У 1949 році у Великій Британії було створено комп'ютер «Manchester Mark 1», що мав носій інформації на магнітних барабанах місткістю до 4096 40-бітних слів. Комерційний варіант цього комп'ютера, «Ferranti Mark I» (1951) містив уже удосконалений магнітний барабан місткістю 16 тис. 40-розрядних слів

Барабан конструкції компанії ERA використовувався як внутрішня пам'ять для комп'ютера «Atlas 1», що був переданий до ВМС США у жовтні 1950 року. Накопичувачі на магнітних барабанах мали місткість 16384 24-розрядних слів.

У зв'язку з реорганізацією, ERA стала підрозділом UNIVAC і удосконалені барабани встановлювались в обчислювальні машини UNIVAC серії 1100 (1956), де виконували функцію основної пам'яті; кожен барабан міг зберігати до 180 000 символів[4]. Інший приклад комп'ютера з носіями на магнітних барабанах у ролі оперативної пам'яті — IBM 650 (початок виробництва — 1954 рік).

Як приклад «барабанного» комп'ютера слід згадати «Librascape LGP-30» (1956 рік) каліфорнійської компанії «General Precision». Носій на магнітних барабанах вміщав тут усього 4096 31-розрядних слів (64 доріжки по 64 сектори). Так як комп'ютери ці були невеликими, то і магнітні барабани мали відповідні розміри: діаметр циліндра — 6,5 дюйма, довжина — 7 дюймів. При швидкості обертання 3700 обертів за хвилину найгірший час доступу становив 17 мс.

Згодом накопичувачі на магнітних барабанах застосовувалися у досить потужних комп'ютерах. Так, багатопроцесорний комп'ютер із спільною шиною «UNIVAC LARC» (англ. Livermore Atomic Research Project) використовував носії на магнітних барабанах, що вміщали 250 тис. слів з 12 десятковими розрядами[6]. Багатопроцесорні системи «Burroughs D825», призначені для виконання військових комп'ютерних програм в реальному часі, комплектувалися вже і магнітними барабанами, і магнітними дисками[7]. Один з найпотужніших комп'ютерів свого часу, який працював з 64-розрядними словами — IBM 7030 («Stretch», 1961), також міг працювати з магнітними барабанами і магнітними дисками.

Характерними накопичувачами на магнітних барабанах останнього покоління, які і були остаточно витіснені дисками, є накопичувачі, що застосовувалися в комп'ютерах Sperry Rand Univac та IBM System/360. В Univac використовувалися накопичувачі на магнітних барабанах серії «Fastrand», в тому числі FH880, FH432, FH1782. Ці накопичувачі випускалися у варіантах для 30- і 36-розрядних комп'ютерів UNIVAC 494 та UNIVAC 1108/1110 відповідно. Останні були популярними комп'ютерами для науково-технічних розрахунків, а перші застосовувалися в системах реального часу. FH880 мали місткість 760 432 слова і середній час доступу 17 мс. У них використовувалося 880 голівок читання/запису. FH432 з фіксованими голівками на доріжку мали меншу ємність — 262144 слова при середньому часі доступу 4,25 мс; магнітний барабан обертався зі швидкістю 7200 обертів на хвилину. Довгий час вони мали найкращі показники по швидкості доступу серед усіх зовнішніх пристроїв з рухомими частинами.

Магнітні барабани у ролі зовнішніх носіїв інформації знайшли застосування у багатьох вітчизняних ЕОМ того часу. Зокрема на ЕОМ «Київ» (1957) було встановлено зовнішній запам'ятовувальний пристрій з трьома магнітними барабанами загальною місткістю 9 тис. слів.

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

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

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

Виробництво магнітних барабанів було припинене у 1970-х роках.

Відеопам'ять ред.

Магнітний барабан використовувався в кадрових буферах (відеопам'яті) перших графічних растрових систем середини 60-х років, як дешевша альтернатива до пам'яті на магнітних осердях. Вартість пам'яті на магнітних осердях сягала 500 тис. доларів за мільйон біт, що дозволяло зберігати лише чотири чорно-білих телевізійних кадри, а барабан коштував близько 30 тис. доларів і міг зберігати дані для 10 кадрів зображення. Недоліком растрових систем з пам'яттю на магнітному барабані (як і у наступного покоління з пам'яттю на зсувних регістрах) була висока латентність, тобто між запитом до системи та моментом, коли доступ завершується або надходять запитувані дані. Вона обумовлена тим, що зміни з'являються на екрані лише після того, як значення усіх пікселів нового кадру були послідовно записані на барабан чи уведені у зсувний регістр. І лише з появою у першій половині 1970-х років прийнятної за вартістю пам'яті з довільним доступом з'явилася можливість розпаралелити процеси зміни вмісту відеопам'яті і регенерацію зображення, і тим самим усунути латентність[8].

Характеристики ред.

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

Тим не менше, у багатьох застосуваннях час доступу був неприйнятно великим. Тому програмісти часто, при написанні програм, оптимізували розташування інформації на барабані так, щоб після обробки порції інформації процесором, наступна порція даних або блок програми в цей час якраз підходив до голівки зчитування з барабана. Це досягалося ретельним вимірюванням часу виконання частин програми і готовності процесора до виконання наступного блоку інструкцій, маючи у своєму розпорядженні наступний шматок програмного коду на барабані так, щоб він в момент закінчення виконання попереднього блоку програми «під'їжджав» точно під голівку зчитування. Такий метод оптимізації часових затримок, обумовлений послідовним доступом до інформації на барабані називається фактором (коефіцієнтом) пропускання (англ. Skip Factor) або чергуванням секторів[en] і все ще використовується в сучасних контролерах жорстких дисків.

Цікаві факти ред.

У деяких операційних системах сімейства BSD пристроєм /dev/drum (тобто «барабаном») за замовчуванням називається пристрій для підкачування сторінок (свопінгу) віртуальної пам'яті, хоч уже давно барабани для зберігання інформації не використовуються.

Пам'ять на магнітному барабані згадується у «Історії про Мела» — програміста, що розуміється на найдрібніших нюансах програмування комп'ютера. Мел оптимізував розташування команд на барабані комп'ютера RPC 4000 таким чином, що коли закінчувалася чергова команда, наступна могла бути зчитана негайно, без чекання (і навпаки, якщо у програмі потрібна була затримка, Мел просто розташовував наступну команду так, що барабан мав здійснити повний оберт або його частину).

Примітки ред.

  1. Datamation, September 1967, p.25, «For Bendix and Ramo-Wooldridge, the G-20 and RW-400 were parallel core machines rather than serial drum machines of the type already in their product lines.»
  2. US Patent 2,080,100 [Архівовано 31 серпня 2020 у Wayback Machine.] Gustav Tauschek, Priority date August 2, 1932, subsequent filed as German Patent DE643803, «Elektromagnetischer Speicher für Zahlen und andere Angaben, besonders für Buchführungseinrichtungen» (Electromagnetic memory for numbers and other information, especially for accounting institutions)
  3. а б Universität Klagenfurt (ред.). Magnetic drum. Virtual Exhibitions in Informatics. Архів оригіналу за 21 червня 2006. Процитовано 21 серпня 2011.
  4. а б в г Eric D. Daniel; C. Denis Mee; Mark H. Clark (1998). Magnetic Recording: The First 100 Years. Wiley-IEEE. ISBN 0-7803-4709-9. Архів оригіналу за 22 січня 2020. Процитовано 15 червня 2018.
  5. Campbell-Kelly, Martin (April 1982). The Development of Computer Programming in Britain (1945 to 1955). IEEE Annals of the History of Computing. 4 (2): 121—139. doi:10.1109/MAHC.1982.10016.
  6. Головкин Б. А. Параллельные вычислительные системы. М.: Наука (физмат), 1980. — 519 с.
  7. Многопроцессорные системы и параллельные вычисления / под ред. Ф. Г. Энслоу. М.: Мир, 1976. — 384 с.
  8. Компьютер обретает разум / Перевод с англ. А.Ю.Батыря и Р.Г. Герра под ред. канд. физ.-мат. наук В.Л.Стефанюка. — М. : Мир, 1990. — С. 160—164. — ISBN 5-03-001277-X.

Джерела ред.

Посилання ред.