Burroughs large systems — підрозділ корпорації Burroughs Corporation, виокремлений з неї у 1970-ті роки, що займався проектуванням і виготовленням мейнфреймів і програмного забезпечення для них, а також загальна назва серій цих машин. Відмітними рисами даних мейнфреймів є стекова архітектура[en] зі щільним пакуванням «складів» (англ. syllables) — опкодів, за термінологією Burroughs, а також тісна і плідна взаємодія між розробниками апаратури і системними програмістами, зокрема тими, які займалися мовами програмування для нових комп'ютерів.

Першою машиною серії стала B5000, представлена 1961-го року. Машина була надзвичайно ретельно оптимізована для роботи програм, написаних новою на той час мовою ALGOL 60. Розвитком стали мейнфрейми B5500, серйозно перепроектовані B6500 і B6700, а також несумісна лінія B8500. Поняття «Burroughs Large Systems» означало всі ці лінії комп'ютерів, на противагу машинам серій B2000/3000/4000, орієнтованим на COBOL (Burroughs Medium Systems), і малим комп'ютерам з гнучкою архітектурою B1000 (Burroughs Small Systems).

Файл:B6700.jpg
Зображення 4.5 з монографії, опублікованій у ACM. Елліот Органік, 1973 рік.

B5000Редагувати

Перша машина першої серії, Burroughs B5000[1], спроектована на початку 1961 року командою, очолюваною Робертом Бартоном. Результатом роботи стала унікальна машина, що випереджала свій час. Впливовий вчений-інформатик Джон Меші високо цінував дизайн комп'ютера: «Я завжди вважав B5000 одним з найбільш інноваційних прикладів дизайну, що поєднує у собі аспекти як апаратного, так і програмного забезпечення».[2]

Наступною за B5000 стала машина B5500[3], де замість пам'яті на магнітному барабані з'явилися жорсткі диски, а також B5700 з підтримкою багатопроцесорності. Лінія B5000 значною мірою вплинула на дизайн машини B6500, для якої фірма Burroughs також здійснила портування операційної системи Burroughs MCP (англ. Master Control Program).

Унікальні особливостіРедагувати

  • Апаратура була спроектована з врахуванням вимог програмістів, а також для підтримки «з нуля» мов програмування високого рівня
    • Відсутність асемблера і мови асемблера: все системне програмне забезпечення розроблене на різновиді мови ALGOL 60. Втім, ESPOL мав оператори, що відповідали кожному машинному слову комп'ютера.
  • Незначна кількість програмно-доступних регістрів
  • Стекова архітектура
  • Спрощений набір інструкцій процесора
  • Увесь код є реентрантним автоматично (зображення 4.5 зі статті у ACM показує чому саме)
  • Частково тегова і дескрипторна архітектура, керована даними (англ. data-driven)
  • Підтримка асиметричної багатопроцесорності
  • Високорівнева операційна система (MCP, Master Control Program)
  • Підтримка інших мов, таких як COBOL
  • Потужні засоби роботи з рядками
  • Засоби виявлення помилок і тестування програм
  • Одна з перших комерційних реалізацій віртуальної пам'яті[NB 1]
B5x00 Relative Addressing[4]
SALF[a] T0
A38
T1
A39
T2
A40
MSFF[b] Base Contents Index Sign Index
Bits[c]
Max
Index
OFF - - - - R Address of PRT + T 0-9
A 38-47
1023
ON OFF - - - R Address of PRT + T 1-9
A 39-47
511
ON ON OFF - OFF F Address of last RCW[d] or MSCW[e] on stack + T 2-9
A 40-47
255
ON ON OFF - ON (R+7)[f] F register from MSCW[e] at PRT+7 + T 2-9
A 40-47
255
ON ON ON OFF - C[g] Address of current instruction word + T 3-9
A 41-47
127
ON ON ON ON OFF F Address of last RCW[d] or MSCW[e] on stack - T 3-9
A 41-47
127
ON ON ON ON ON (R+7)[f] F register from MSCW[e] at PRT+7 - T 3-9
A 41-47
127
Notes:
  1. SALF Subroutine Level Flipflop
  2. MSFF Mark Stack FlipFlop
  3. For Operand Call (OPDC) and Descriptor Call (DESC) syllables, the relative address is bits 0-9 (T register) of the syllable. For Store operators (CID, CND, ISD, ISN, STD, STN), the A register (top of stack) contains an absolute address if the Flag bit is set and a relative address if the Flag bit is off.
  4. а б RCW  Return Control Word
  5. а б в г MSCW Mark Stack Control Word
  6. а б F register from MSCW at PRT+7
  7. C (current instruction word)-relative forced to R (PRT)-relative for Store, Program and I/O Release operators

Дизайн системиРедагувати

Підтримка мов програмуванняРедагувати

B6500Редагувати

B8500Редагувати

ІсторіяРедагувати

Burroughs (1961–1986)
B5000 1961 перша система, комп'ютер другого покоління (дискретні транзистори)
B5500 1964 триразовий приріст швидкодії[5]
B6500 1969 комп'ютер третього покоління (інтегральні схеми), до 4-х процесорів
B5700 1971 нова назва B5500[джерело?]
B6700 1971 нова назва B6500[джерело?]
B7700 1972 швидший процесор, кешування стека, до 8 «реквесторів» (ЦП або процесорів вводу-виводу)
B6800 1977? напівпровідникова оперативна пам'ять, архітектура NUMA
B7800 1977? швидший варіант B6800, до 8 реквесторів
B5900 1980? напівпровідникова пам'ять, архітектура NUMA. До 4-х процесорів B5900 прив'язаних до локальної пам'яті, а також спільна пам'ять «Global Memory»
B6900 1979? вдосконалення B6900
B7900 1982? швидша кеш-пам'ять для коду і даних, NUMA (гнучка реалізація пам'яті, без жорсткої прив'язки до ЦП), 1-2 блоки HDU (ввід-вивід), 1-2 «процесори прикладних програм»[уточнити], 1-4 центральних процесори
A9/A10 1984 машина класу B6000, перша реалізація конвеєрного процесора (A10: двопроцесорна система), eMode Beta (розширена адресація пам'яті)
A12/A15 1985 машина класу B7000, нова реалізація у вигляді програмованих логічних масивів Motorola MCA1 (пізніше MCA2) за технологією ECL
Unisys (1986–дотепер)
Micro A 1989 настільний «мейнфрейм» з одночиповим процесором SCAMP[6][7].
Clearpath HMP NX 4000 198? ??
Clearpath HMP NX 5000 199? ??
Clearpath HMP LX 5000 1998 Повністю програмна реалізація архітектури Burroughs Large systems: машина емулюється на процесорах Intel Xeon[8]
Libra 100 2002? ??
Libra 200 200? ??
Libra 300 200? ??
Libra 400 200? ??
Libra 500 2005? наприклад, Libra 595[9]
Libra 600 2006? ??
Libra 700 2010 наприклад, Libra 750[10]

Лінійки комп'ютерівРедагувати

ALGOLРедагувати

Докладніше: ALGOL

У Burroughs large systems реалізовано стекову архітектуру, що походить від мови ALGOL. Це є суттєвою відмінністю від таких архітектур, як PDP-11, Motorola 68000 і Itanium (лінійне адресування), або x86 (адресування з сегментацією).

ESPOL і NEWPРедагувати

DCALGOL і Message Control Systems (MCS)Редагувати

DMALGOL і бази данихРедагувати

Стекова архітектураРедагувати

Швидкодія стеку і загальна продуктивністьРедагувати

Відображення (mapping)Редагувати

ПроцедуриРедагувати

Run invocation typeРедагувати

Inline-процедуриРедагувати

Асинхронні викликиРедагувати

Дисплейні регістриРедагувати

Пам'ять масивівРедагувати

Переваги і недолікиРедагувати

Тегова архітектураРедагувати

Архітектура, заснована на дескрипторахРедагувати

Набір командРедагувати

БагатопроцесорністьРедагувати

ВпливРедагувати

Див. такожРедагувати

ПриміткиРедагувати

  1. Якщо не враховувати Ferranti Atlas як комерційну машину.

ДжерелаРедагувати

  1. The Operational Characteristics of the Processors for the Burroughs B5000. Revision A (en). Burroughs Corporation. 1963. 5000-21005.  Проігноровано невідомий параметр |mode= (довідка)
  2. John Mashey (2006-08-15). "Admired designs / designs to study". comp.arch. (Google Groups). Retrieved on 2007-12-15.
  3. Burroughs B5500 Information Processing System Reference Manual. Burroughs. May 1967. 1021326.  Проігноровано невідомий параметр |mode= (довідка)
  4. Взято з документа: Table 5-1 Relative Addressing Table (pdf). Burroughs B5500 Information Processing Systems Reference Manual. Systems Documentation (en). Burroughs Corporation. May 1967. с. 5-4. 1021326. 
  5. George Gray (October 1999). Burroughs Third-Generation Computers. Unisys History Newsletter 3 (5). Архів оригіналу за September 26, 2017.  Проігноровано невідомий параметр |mode= (довідка)
  6. Picture of SCAMP (en). Dave's Old computers. 
  7. Reitman, Valerie (January 18, 1989). Unisys Ready To Offer A Desktop Mainframe. Philadelphia Inquirer. Процитовано 2011-04-16. 
  8. (June 8, 1998). "Unisys Accelerates Mainframe Rebirth with New ClearPath Enterprise Servers, Aggressive New Pricing" (in en). Прес-реліз.
  9. Libra 595. Unisys. 
  10. Libra 750. Unisys. 

Помилка цитування: Тег <ref> з назвою "InfMan69", визначений у <references>, не використовується в попередньому тексті.
Помилка цитування: Тег <ref> з назвою "yt_burr", визначений у <references>, не використовується в попередньому тексті.

Помилка цитування: Тег <ref> з назвою "Da8500", визначений у <references>, не використовується в попередньому тексті.