Кіріспе
Burroughs B2500-ден Burroughs B4900-ге дейінгі компьютерлер сериясы 1966 жылдан 1991 жылға дейін АҚШ-тың Калифорния штатындағы Пасадена қаласында Burroughs Corporation компаниясымен әзірленген және өндірілген. Олар COBOL бағдарламалау тілі үшін оңтайландырылған командалар жиынтығына ие бизнес саласына арналған еді. Бұл компьютерлер "Burroughs Үлкен жүйелері" және "Burroughs Кіші жүйелерінен" өзгешелігі бар "Burroughs Орта жүйелері" деп белгілі болды.
Бірінші буын
B2500 және B3500 компьютерлері 1966 жылы жарияланды. Олар COBOL 68-дің негізгі ондық дерек түрлерімен тікелей жұмыс істеді: 100 цифрға дейінгі тізбектер, бір EBCDIC немесе ASCII цифрлық таңбасы немесе бір байтқа екі 4 биттік екілік кодталған ондық BCD цифрлары бар. Портативті COBOL бағдарламалары бинарлық бүтін сандарды мүлдем қолданбағандықтан, B2500 оны жад адрестері үшін де қолданған жоқ. Жады үлкен эндиан стилімен 5 цифрлы ондық мекенжайларды қолдана отырып, 4 биттік цифрға дейін адрестелді. Айналып тұрған нүктелі сандар да екілік негіздің орнына 10-дық негізді қолданды және 100-ге дейін мантисса цифрлары болды. COBOL-дың "ADD A, B GIVING C" типіндегі операторы әртүрлі ұзындықтағы, әртүрлі цифрлық бейнелеулермен және әртүрлі таңба бейнелеулерімен жұмыс істей алады. Бұл оператор 3 операндты жадтан тұратын 12 байттық нұсқауға құрастырылды. Басып шығару үшін күрделі пішімдеу бір EDIT нұсқауын егжей-тегжейлі пішімдеу сипаттамаларымен орындау арқылы жүзеге асырылды. Басқа жоғары деңгейдегі нұсқаулар "осы буферді осы (мысалы, EBCDIC-тен ASCII-ге) түрлендіру кестесі арқылы осы буферге аудару" және "осы сұрыптау талаптарын қолдана отырып, осы кестені сұрыптау" сияқты операцияларды іске асырды. Ерекше жағдайларда, бір нұсқаудың орындалуы бірнеше жүзден бір секундқа созылуы мүмкін. MCP ұзақ нұсқауларды тоқтатуға қабілетті болды, бірақ ішінара орындалған нұсқауларды тоқтатып, қайта бастай алмады. (Нұсқаулар беттік жадты пайдалану үшін қайта бастау қажеттілігі туындайды.) Машина COBOL-ға соншалықты жақын болғандықтан, COBOL компиляторы қарапайым және жылдам болды, ал COBOL бағдарламашыларына құрастыру бағдарламалау да оңай болды. Бастапқы нұсқаулар жиынтығында барлық операциялар тек жадтан жадқа, көрінетін дерек тіркелімісіз орындалды. Арифметикалық амалдар бір цифрден бастап, ең маңызды цифрдан ең аз маңызды цифрға қарай тізбектеп орындалды. Бұл қолмен орындалатын оңнан солға қарайғы әдістерден кері және күрделірек болғанымен, үзіліс жағдайларында нәтижелерді жазуды тоқтатуға мүмкіндік берді. COBOL үшін сериялық арифметика өте жақсы жұмыс істеді. Бірақ FORTRAN немесе BPL сияқты тілдер үшін ол стандартты сөздік бағытталған компьютерлерге қарағанда әлдеқайда тиімсіз болды. Үш резервтелген жад орны адрес индекстеу "тіркемелері" ретінде пайдаланылды. Үшінші индекстік тіркеме шақыру/қайтару стегіндегі ағымдағы процедураның стек фреймін көрсетуге арналған. Басқа резервтелген жад орындары операнд өлшемдерін басқарды, егер бұл өлшем тұрақты болмаса. B3500 B2500-ге ұқсас болды, бірақ цикл уақыты жылдамырақ және кеңейту мүмкіндіктері көбірек болды. B2500 ең көп дегенде 60 К байт негізгі жадқа және 2 микросекундтық цикл уақытына ие болды. B3500 ең көп 500 К байт жадқа және 1 микросекундтық цикл уақытына ие болды. B2500/3500-дің салмағы шамамен .
Келесі машиналар ұрпақтары
B2500/B3500 машиналарынан кейін 1972 жылы B2700/B3700/B4700 машиналары, 1976 жылы B2800/B3800/B4800, 1980 жылы B2900/B3900/B4900 машиналары (бұл модельдер микрокодын аппараттық жад ретінде сақтаудың орнына дискетадан жүктеуге алғашқы болып қол жеткізді) және соңында 1985-90 жылдары Unisys V сериялы V340 және V560 машиналары пайда болды. B4800-ден бұрынғы машиналарда кэш-жад болған жоқ. Кез келген оператор байты немесе нәтиже байты үшін жеке негізгі жад циклі қажет болды, бұл бағдарламаның өнімділігін шектеді. Бұны өтеу үшін B3700/B4700 буыны жарықдиодты негізгі жадты пайдаланды, ол бәсекелес машиналарда қолданылатын DRAM-нан жылдамырақ, бірақ қымбатқа түсетін және көбірек қуатты қажет ететін болды. Жады адресі ретінде ондық сандарды ерекше пайдалану бастапқыда проблема тудырмады; ол негізгі жадтың қатарларын және банктерін таңдауда 1/8 декодерлік логикасының орнына 1/5 логикасын қолдануды ғана білдірді. Бірақ кейінірек шыққан машиналар стандартты жад чиптерін пайдаланды, олар екілік адрестерді күтетін. Логикалық жадтың әрбір 1000 байттық блогын 2,3% қана ысыраппен 1024 байттан тұратын чиптің кіші жиынтығына оңай бейімдеуге болады. Алайда, чиптердің тығыздығы жоғарырақ және жалпы жад көлемі үлкен болғанда, адресті чиптерге жіберуден бұрын толық ондық адресті қысқа квази-екілік формаға түрлендіру қажет болды және бұл әрбір кэш немесе жад циклі үшін қайта жасалуы керек еді. Бұл түрлендіру логикасы машина циклын біршама баяулатты. 1975 жылы адрестік кеңістікті қайта жобалауға жасалған әрекет "Орта жүйелердің 3-ші буыны" үшін MS 3 деп аталды, бірақ бұл жоба тоқтатылды. B2900-ға дейінгі машиналар 9-дан жоғары "цифры жоқ" мәні бар сандарды енгізуге мүмкіндік берді, бірақ олармен арифметикалық амалдардың нәтижелері белгісіз болды. Бұл MCP және кейбір қолданбалы бағдарламалаушылар үшін гексадецималды арифметиканың бір түрі ретінде қолданылды. Кейінгі нұсқалар мұны тоқтатты және оның орнына екі жаңа операциялық кодты (екілік-ондық және ондық-екілік) қолдады, бұл Burroughs компаниясы Memorex компаниясын сатып алғаннан кейін қол жетімді болған дискілерге адрестеуді қолдау үшін қажет болды.
Алу және қайтарып алу
Unisys 1991 жылы V сериясы жабдықтарының әзірлеуін тоқтатты, ал қолдау 2004 жылы аяқталды. B4900 және одан кейінгі машиналарда 10 таңбадан кем немесе оған тең бүтін сандар операциялары параллель түрде орындалатын болды; тек ұзын операндар ғана тізбектелген әдіспен қолданыла берді. Барлық қалқыма нүктелі операциялар 17 таңбалық дәлдікпен шектелді. Кейінірек Medium Systems машиналары 32 биттік, 7 таңбалы бүтін сандарды және 48 биттік немесе 80 биттік қалқыма нүктелі мәндерді пайдалана отырып, аккумулятор тіркегішін және аккумулятор/жад нұсқауларын қосты, барлығы 16 биттік сөз шекараларымен сәйкестендірілді.
Операциялық жүйе
Операциялық жүйе MCP деп аталды, яғни Master Control Program. Ол Берроуздың Үлкен жүйелер стек машиналарын МКП-сымен архитектуралық ерекшеліктерінің көптеген тұстарында ортақ болды, бірақ ішкі құрылысы мүлдем басқаша болды және АЛГОЛ туындысы емес, ассемблер тілінде жазылған. Бағдарламалар жеке адрес кеңістіктеріне ие болды, олар базалық регистр арқылы динамикалық түрде жылжытылды, бірақ виртуалды жад болған жоқ; пагинация және сегментация да болмады. Ірі бағдарламалар кодтың шектеулі адрес кеңістігіне сығылып, нақты жабылулар арқылы орналастырылды. МКП-ның резидент емес бөліктері де кеңінен жабылды. Бастапқыда код пен деректер бір 300 000 цифрлық адрес кеңістігін бөлісті. Кейінірек пайда болған машиналарда бағдарламалық код және процестер деректері үшін бөлек миллиондық цифрлық кеңістіктер болды. Нұсқаулардың адрес өрістері бес цифрдан алты цифрға дейін ұзартылды және тағы төрт нақты индекс тіркегіштері қосылды. Алғашқы машиналар қазіргі стандартты жылжымалы бас дискілерінің орнына Берроуздың трактің әрқайсысына бір оқылатын басты дискілік жүйелерін пайдаланды. МКП жылдамдығын арттыру мақсатында, оның жабылулары мұқият орналастырылды, сонда келесі жабылулар ағымдағы жабылу аяқталғаннан кейін оқу басына жақын уақытта жететіндей болды. Бұл ертедегі кешіктіру желісі және барабанды компьютерлердегі уақытқа тәуелді орналасуды оңтайландыруға ұқсас еді. Бірақ бұл бағдарламалық қамтамасызданулар енгізілгеннен кейін сақтау қиын болып шықты және МКП жабылуларының толығымен кездейсоқ орналасуымен тұрақты түрде жақсы нәтижелерге қол жеткізілді. Операциялық жүйеден басқа барлық жүйелік бағдарламалық қамтамасызданулар BPL (Burroughs Programming Language) тілінде жазылған, ол ALGOL және Large System-нің ESPOL жүйелік тілінен туындаған жүйелік бағдарламалау тілі. COBOL-дың бастапқы компиляторы ANSI 68 спецификациясын қолдады және кодқа тікелей ассемблер тілінде код енгізуге мүмкіндік беретін ENTER SYMBOLIC синтаксисін қолдады, бірақ RELATIVE және INDEXED файлдарды қолдау жоқ еді; олар 1982 жылы шығарылған компилятордың ANSI 74 нұсқасына қосылды. МКП бағдарламаларға бір-бірімен өзектен өзекке (CRCR) немесе сақтау кезектері (STOQ) арқылы қарымдасуға мүмкіндік берді, олар BCT нұсқауларын пайдалана отырып жүзеге асырылған жүйелік шақырулар ретінде және тілдерге (COBOL FILL FROM/INTO) бейімделген. Бұл сол кездегі ең ірі IBM System/360 жүйелерінен басқа ешқайдада кездеспеді, тіпті онда да бірнеше бағдарлама ағынының өзара әрекеттесуін басқару үлкен қиындық тудырды.