Nașterea sistemului sovietic de apărare antirachetă. „El Burroughs”

26
Nașterea sistemului sovietic de apărare antirachetă. „El Burroughs”

Burtsev a moștenit dragostea și respectul față de prototipurile occidentale de la profesorul său, da, în principiu, pornind de la BESM-6, ITMiVT a făcut schimb de informații activ cu Occidentul, în principal cu IBM din SUA și Universitatea din Manchester din Anglia (aceasta prietenie a fost cea care l-a forțat pe Lebedev, inclusiv h. să facă lobby pentru interesele ICL britanic, și nu Robotronul german la acea întâlnire memorabilă din 1969).

Desigur, „Elbrus” nu ar fi putut avea un prototip, iar Burtsev însuși recunoaște acest lucru deschis.



Răspunsul este fără echivoc: „Da”. Înainte de a începe să proiectăm un nou computer, am studiat întotdeauna cu mare atenție evoluțiile lumii întregi în acest domeniu.
La acel moment, s-a pus problema ridicării nivelului limbajului mașină pentru a reduce decalajul dintre limbajul de nivel înalt și limbajul de comandă pentru a crește eficiența trecerii programelor scrise într-un limbaj de nivel înalt.
În această direcție în lume a lucrat în trei locuri.
În termeni teoretici, munca lui Ailif a fost cea mai puternică: „Principii pentru construirea unei mașini de bază”, la Universitatea din Manchester, în laboratorul lui Kilburn și Edwards, a fost creată mașina MU-5 („Manchester University-5”), iar la Burrows au fost dezvoltate mașini pentru aplicații bancare și militare.
Am fost la toate cele trei companii, am discutat cu principalii dezvoltatori și am avut materialele necesare pe principiile concretizate în aceste dezvoltări.
Când am proiectat MVK-urile Elbrus-1 și Elbrus-2, am luat din dezvoltări avansate tot ceea ce ni s-a părut că merită. Așa sunt fabricate și ar trebui dezvoltate toate mașinile noi.
Dezvoltarea Elbrus-1 și Elbrus-2 MVK a fost influențată de arhitectura HP, 5E26, BESM-6 și de o serie de alte dezvoltări ale acelei vremuri.

Așadar, Burtsev, spre deosebire de mulți, recunoaște că nu a ezitat să împrumute cu generozitate ideile arhitecturale de la vecini și chiar spune unde să caute cozi.

Să profităm de oferta generoasă și să descoperim trei surse și trei componente ale Elbrus.


Prima este monografia lui John Iliffe Basic Machine Principles (Macdonald & Co; prima ediție, 1 ianuarie 1) și articolul său Elements of BLM (The Computer Journal, volumul 1968, numărul 12, august 3, paginile 1969-251), al doilea. este un computer MU258 practic necunoscut, construit ca experiment la Universitatea din Manchester, iar al treilea este o serie Burroughs 5.

Nu este o clonă a lui Burroughs însuși?


Să începem să înțelegem în ordine.

În primul rând, unii dintre cititori poate că au auzit termenul „arhitectură von Neumann” folosit adesea în contextul lăudării: „aici am proiectat un computer unic non-von Neumann”. Desigur, nu este nimic unic în asta, fie doar pentru că mașinile cu arhitectură von Neumann nu mai erau construite în anii 1950.

După ce am lucrat la ENIAC (care a fost programat sub formă de file, cu o mulțime de fire curgând și nu se punea problema vreunui control al calculelor de către un program încărcat în memorie și nu se punea nicio întrebare) pentru următoarea mașină , numit EDSAC, Mauchly și Eckert au venit cu ideile principale pentru designul său.

Sunt următoarele: o memorie omogenă care stochează comenzi, adrese și date, diferă între ele doar prin modul în care sunt accesate și ce efect provoacă; memoria este împărțită în celule adresabile, pentru accesare este necesar să se calculeze adresa binară; și în sfârșit, principiul controlului programului - funcționarea mașinii, este o succesiune de operații pentru încărcarea conținutului celulelor din memorie, manipularea acestora și descărcarea lor înapoi în memorie, sub controlul comenzilor care sunt încărcate secvenţial din aceeași. memorie.

Aproape toate mașinile (și au fost doar câteva zeci) produse în lume între 1945 și 1955 au respectat aceste principii, deoarece au fost construite de oameni de știință academicieni care erau foarte familiarizați cu Prima schiță a unui raport privind EDVAC, trimisă universităților de către curatorul von Neumann de Herman Heine Goldstine în numele său.

Desigur, acest lucru nu putea dura mult timp, deoarece mașina von Neumann pură era mai degrabă o abstractizare matematică, ca o mașină Turing. A fost util să-l folosești în scopuri științifice, dar computerele reale construite în conformitate cu aceste idei s-au dovedit a fi prea lente.

Era mașinilor pure von Neumann sa încheiat încă din 1955-1956, când oamenii au început să se gândească la conducte, execuții speculative, arhitectură bazată pe date și alte asemenea trucuri.

În anul morții lui von Neumann, calculatorul MANIAC II (Mathematical Analyzer Numerical Integrator și Automatic Computer Model II) a fost lansat la Laboratorul Științific Los Alamos cu 5 de lămpi, 190 de diode și 3 de tranzistori.

A rulat pe date pe 48 de biți și instrucțiuni pe 24 de biți, avea 4 de cuvinte RAM și avea o viteză medie de 096 KIPS.

Mașina a fost proiectată de Martin H. Graham, care a propus o idee fundamental nouă - de a marca datele în memorie cu etichete adecvate pentru o mai mare fiabilitate și ușurință în programare.

În anul următor, Graham a fost invitat de personalul Universității Rice din Houston, Texas, pentru a-i ajuta să construiască un computer la fel de puternic precum Los Alamos. Proiectul R1 Rice Institute Computer a durat trei ani, iar în 1961 mașina era gata (mai târziu a fost înlocuită cu standardul IBM 7040 pentru universitățile americane serioase și, în mod ironic, Burroughs B5500).

Schema de decodare a 2 instrucțiuni pe cuvânt, ca în MANIAC II, i s-a părut lui Graham prea elegantă, așa că R1 a funcționat pe cuvinte pe 54 de biți cu instrucțiuni cu lățime fixă ​​pentru întregul cuvânt și a avut o arhitectură de etichetă similară. Lungimea reală a cuvântului a fost de 63 de biți, dintre care 7 au fost codul de corectare a erorilor și 2 au fost eticheta.

Mecanismul de adresare indirectă al lui R1 era mult mai avansat decât cel al lui IBM 709 - de fapt, erau descriptori aproape gata făcut de la viitoarele mașini Burroughs. Graham a fost, de asemenea, un inginer electric talentat și a inventat un nou tip de celulă lampă-diodă pentru R1, numită Single Sided Gate, care a făcut posibilă atingerea unei frecvențe excelente de 1 MHz pentru acei ani. Aparatul avea adrese de 15 biți, 8 registre de date/comandă și 8 registre de adrese.


Prima generație de arhitecturi etichetate a apărut literalmente imediat după moartea lui von Neumann. Mașinile lui Ailif și Graham, în stânga este o parte a procesorului MANIAC II, în dreapta - Ailif însuși este implicat în instalarea rack-ului principal R1. Fotografie https://www.sciencephoto.com și https://scholarship.rice.edu

Universitatea Rice din SUA este ceva asemănător MINEP sovietic, așa că nu este surprinzător că crearea unui computer (care urma să fie folosit pentru a studia hidrodinamica petrolului) a fost finanțată parțial de Shell Oil Company.

Curatorul ei a fost Bob Barton (Robert Stanley Barton), un talentat inginer electronic. În 1958 a urmat un curs de logică matematică și notație poloneză aplicată algebrei și a plecat să lucreze pentru Burroughs, în 1961 construind legendarul B5000 bazat pe arhitectura stivă de etichete.

Același britanic Ilif a lucrat la software-ul R1. Echipa sa a creat sistemul de operare SPIREL, asamblatorul simbolic AP1 și limbajul GENIE, care a devenit unul dintre precursorii OOP. Sistemul de operare avea un mecanism de alocare dinamică a memoriei incredibil de avansat și un colector de gunoi, precum și mecanisme de protecție a datelor și a codului.

Pentru sistemul său de operare, Ailif a dezvoltat un nou mecanism de adresare a matricei folosind un vector de pointeri către vectori de date. Această idee a fost atât de avansată față de adresarea în stilul Fortran (adresa conține un pas și un offset pentru fiecare element al matricei) încât a fost numită după creator, iar de atunci vectorii Ailif au fost folosiți peste tot, de la Ferranti Atlas la Java, Python, Ruby, Visual Basic .NET, Perl, PHP, JavaScript, Objective-C și Swift.


Folosind vectorul Ailif pentru a aborda o matrice 3x3 (https://www.researchgate.net)

La sfârșitul anilor 1950, modelul teoretic al mașinii lui von Neumann s-a confruntat cu o provocare la care nu a avut un răspuns adecvat (și, prin urmare, a murit complet).

Calculatoarele au devenit suficient de rapide încât o singură persoană nu le putea încărca cu lucru - a apărut conceptul unui mainframe clasic cu acces la terminal și un sistem de operare multitasking.

Nu ne vom aprofunda în complexitățile care îi așteaptă pe arhitecți pe drumul către multitasking (orice manual sensibil despre proiectarea sistemelor de operare va face pentru asta), observăm doar că reintrarea codului este critică pentru implementarea sa, adică capacitatea de a rula mai multe instanțe. a aceluiași program în același timp, lucrând peste date diferite, astfel încât datele unui utilizator să fie protejate de modificările unui alt utilizator.

Lăsând toate aceste probleme în întregime pe capul arhitectului OS și al programatorilor de sistem nu părea o idee foarte bună - complexitatea dezvoltării software ar fi crescut prea mult (amintiți-vă cum proiectul OS / 360 s-a încheiat cu un eșec fabulos, Multics, de asemenea, nu a făcut-o. decolare).

A existat și o cale alternativă de ieșire - crearea unei arhitecturi potrivite pentru computerul în sine.

Aceste posibilități au fost luate în considerare aproape simultan de către colegii din R1 - practicantul Barton, care a proiectat B5000, și teoreticianul Ailif, care a scris principiile de bază ale mașinii care l-au inspirat atât de mult pe Burtsev.

ICL (cu care nu am făcut echipă niciodată) a condus dezvoltarea arhitecturilor avansate din 1963 până în 1968 (pe baza lucrării a fost scris articolul), Ilif a construit un prototip BLM pentru ei cu metode de gestionare a memoriei hardware și mai avansate decât la mașinile Burroughs .

Ideea principală a lui Ailif a fost o încercare de a evita standardul pentru alte sisteme (și în acei ani lent și ineficient) mecanism de partajare a memoriei bazat exclusiv pe metode software - comutare de context (un termen al arhitecturii OS, adică, într-un mod simplu, descărcare temporară). și salvarea unui proces care rulează și încărcarea și începerea execuției altuia) de către sistemul de operare însuși. Din punctul său de vedere, abordarea hardware folosind descriptori a fost mult mai eficientă.

Proiectul BLM a fost închis în 1969, dar dezvoltările sale au fost parțial utilizate în linia avansată a mainframe-urilor din seria ICL 2900 lansată în 1974 (pe care le-am fi putut dezvolta împreună, dar, din păcate).


A doua generație de mașini deja tag-descriptor, din păcate, doar această fotografie din cartea Descriptor-Based Computer Systems (Levy, Henry M. 1984) a rămas de la BLM. Sistemul de comandă este reprodus din articolul original al lui Ailif (astfel încât cititorii să se poată scufunda în problemă în urma lui Burtsev).

În mod firesc, problema protecției efective a memoriei (și, prin urmare, a partajării timpului) a fost o preocupare în anii 1960 pentru aproape toți oamenii de știință în domeniul informaticii și corporațiile.

Universitatea din Manchester nu a stat deoparte și și-a construit al cincilea computer, numit MU5.

Mașina a fost dezvoltată în colaborare cu același ICL din 1966, computerul trebuia să fie de 20 de ori mai rapid decât Ferranti Atlas în performanță. Dezvoltarea a continuat din 1969 până în 1974.

MU5 era controlat de sistemul de operare MUSS și includea trei procesoare - MU5 în sine, ICL 1905E și PDP-11. Toate cele mai avansate elemente erau disponibile: arhitectura tag-descriptor, memoria asociativă, preîncărcarea instrucțiunilor, în general - a fost vârful tehnologiei acelor ani.


Manchester Machine 5 - singura fotografie, descriere excelentă a sistemului de comandă și arhitectură (https://ethw.org)

MU5 a servit drept bază pentru seria ICL 2900 și a lucrat la universitate până în 1982.

Ultimul computer din Manchester a fost MU6, care consta din trei mașini: MU66P, o implementare avansată de microprocesor folosită ca PC; MU66G este un supercalculator științific scalar puternic, iar MU66V este un sistem vector-paralel.

Oamenii de știință nu au stăpânit dezvoltarea arhitecturii microprocesorului, MU66G a fost creat și a lucrat la departament din 1982 până în 1987, iar pentru MU66V a fost construit un prototip pe Motorola 68k cu emulare a operațiunilor vectoriale.


Seria ICL 2900 a fost una dintre puținele mașini originale care a concurat destul de energic împotriva S/360. Pentru utilizatorii britanici din anii 1980, această serie este plină de căldură și nostalgie, la fel ca pentru BESM-6 sovietic. Fotografie http://www.tavi.co.uk și http://www.computinghistory.org.uk

Progresul suplimentar al mașinilor descriptori urma să fie așa-numita schemă. adresarea bazată pe capacități (literal, „adresarea bazată pe capacități”, nu are o traducere bine stabilită în rusă, deoarece școala națională nu era familiarizată cu astfel de mașini, în traducerea cărții „Arhitectura computerelor moderne: în 2 cărți” (Myers G. J., 1985) este foarte potrivit numită adresare potențială).

Sensul potențialei adrese este că pointerii sunt înlocuiți cu obiecte speciale protejate care pot fi create numai cu ajutorul instrucțiunilor privilegiate executate doar printr-un proces privilegiat special al nucleului OS. Acest lucru permite nucleului să controleze ce procese pot accesa ce obiecte din memorie fără a fi nevoie să folosească deloc spații de adrese separate și, prin urmare, fără suprasolicitarea unui comutator de context.

Ca efect indirect, o astfel de schemă duce la un model de memorie omogen sau plat - de acum înainte (din punctul de vedere chiar și al unui programator de driver de nivel scăzut!) Nu există nicio diferență de interfață între un obiect din RAM sau de pe disc, accesul este absolut uniform, prin apelarea unui obiect protejat. Lista de obiecte poate fi stocată într-un segment de memorie special (ca, de exemplu, în Plessey System 250, creat în 1969-1972 și reprezentând întruchiparea în hardware a unui model de calcul foarte ezoteric numit λ-calcul) sau codificată cu un bit special, ca în prototipul IBM System /38.

Sistemul Plessey 250 a fost dezvoltat pentru armată și, ca mașină centrală a Departamentului de Apărare, rețeaua de comunicații a fost folosită cu succes în timpul Războiului din Golf.

Acest computer a fost vârful absolut al securității rețelei, o mașină în care nu existau superutilizatori cu privilegii nelimitate ca clasă și nicio modalitate de a-și ridica privilegiile prin hacking pentru a face ceea ce nu ar trebui făcut.


Plessly 250 singura fotografie cunoscută (din colecția lui Kenneth J Hamer-Hodges) și o diagramă a funcționării potențialelor adrese din monografia Capability Concept Mechanisms And Structure In System 250, DM England, 1974.

O astfel de arhitectură a fost considerată incredibil de progresivă și avansată în anii 1970-1980 și a fost dezvoltată de multe firme și grupuri de cercetare, calculatoarele CAP (Cambridge, 1970-1977), Flex Computer System (Royal Signals and Radar Establishment, 1970), Three Rivers PERQ (Universitatea Carnegie Mellon și ICL, 1980-1985) și cel mai faimos microprocesorul Intel iAPX 432 eșuat (1981).

E amuzant că inițiatorii a 90% din toate cele mai originale și ciudate soluții arhitecturale din anii 1960-1970 au fost britanicii (în anii 1980 - japonezii, cu un rezultat similar), și nu americanii.

Oamenii de știință britanici (da, chiar aceia!) au făcut tot posibilul să rămână pe creasta valului și să-și confirme calificările de teoreticieni remarcabili în informatică. Singura păcat este că, ca și în cazul dezvoltării academice sovietice a computerelor, toate aceste proiecte au fost fenomenale doar pe hârtie.

ICL a încercat cu disperare să intre în topul producătorilor mondiali de fier avansat, dar, din păcate, nu a ieșit.

Americanii au crezut la început că colegii anglo-saxoni, având în vedere contribuția lor de pionierat la IT încă de pe vremea lui Turing, nu vor da sfaturi proaste și au fost arse de două ori - iar Intel iAPX 432 și IBM System / 38 au eșuat lamentabil, ceea ce a provocat o mare întoarcere a mijlocului anilor 1980 către arhitecturile moderne de procesoare (tocmai atunci școala americană de inginerie informatică a descoperit principiul mașinilor RISC, care s-a dovedit a fi atât de reușit din toate părțile încât 99% dintre calculatoarele moderne sunt cumva construite după aceste modele).


Calculatorul CAP este încă în laboratorul Cambridge, prototipul IBM System / 38 și stația de lucru Three Rivers PERQ (foto https://en.wikipedia.org și https://www.chiark.greenend.org.uk)

Uneori este chiar interesant - ce evoluții ar fi avut loc o școală sovietică-britanica cu drepturi depline până în anii 1980 cu cultura lor avansată de producție, ideile noastre nebunești comune și capacitatea URSS de a injecta miliarde de petrodolari în dezvoltare?

Este regretabil că aceste oportunități s-au închis pentru totdeauna.

Desigur, informațiile despre toate evoluțiile avansate ale britanicilor au venit la Burtsev literal de la prima mână și zi de zi, având în vedere că ITMiVT a avut contacte excelente cu Universitatea din Manchester (de la începutul anilor 1960 și lucrează la BESM-6) și cu fermă ICL, cu care Lebedev și-a dorit atât de mult să facă o alianță. Cu toate acestea, Burroughs a fost singura implementare comercială a mașinilor descriptore de etichete.

Ce se poate spune despre munca lui Burtsev cu această mașină?

Incredibilele aventuri ale lui Burroughs în Rusia


Calculul sovietic era o zonă extrem de închisă, pentru multe mașini nu există fotografii, descrieri sensibile (despre arhitectura Kitovskaya M-100, de exemplu, nimic nu se știe cu adevărat până acum) și, în general, așteaptă surprize la fiecare pas (cum ar fi descoperirea în anii 2010 Computer „Volga”, a cărui existență nici măcar nu a fost bănuită de Revich, Malinovsky și Malashevich, care au luat zeci de interviuri și au scris cărți pe baza acestora).

Dar într-o zonă anume existau mai multe tăceri și secrete decât chiar și în vehiculele militare. Acestea sunt referiri la calculatoare americane care au lucrat în Uniune.

Acest subiect a fost atât de displacut să fie abordat, încât s-ar putea avea impresia că, în afară de binecunoscutul CDC 6500 din Dubna, nu existau deloc computere americane în URSS ca clasă.

Chiar și informațiile despre CYBER 170 și 172 trebuiau extrase puțin câte puțin (și erau HP 3000 care erau în Academia de Științe a URSS și o grămadă de altele!), dar prezența unui Burroughs adevărat în Uniune a fost luată în considerare de către multe să fie un mit.

Nici o singură sursă, interviu, forum, carte în limba rusă nu conține măcar o linie dedicată destinului acestor mașini în URSS. Cu toate acestea, ca întotdeauna, prietenii noștri occidentali știu mult mai multe despre noi decât noi înșine.

În urma unor căutări atente, s-a stabilit că Burroughs era foarte iubit în Blocul Social și folosit cu putere, deși sursele menajere de aici aveau apă în gură.

Din fericire, există destui fani ai acestei arhitecturi în SUA care știu totul despre ea, inclusiv numărul complet de instalări ale fiecărui model de mainframe, până la numerele de serie. Ei au rezumat aceste informații într-un tabel, pe care l-au împărtășit cu generozitate, iar documentul include și sursele de informații pentru fiecare transport de computere Burroughs către țările Pactului de la Varșovia.

Deci, să ne întoarcem la cartea Economic Statecraft during the Cold War: Eurpoean Responses to the US Trade embargo, care ne dezvăluie secretele achizițiilor sovietice.

La începutul lunii octombrie 1969, un grup de studiu al personalului administrativ interagenții... Până atunci, corporațiile de computere din SUA au început să vândă în Europa de Est. Burroughs Corporation din Detroit a instalat patru dintre computerele lor mari B5500 în Cehoslovacia și unul la Moscova, care erau egale cu calculatoarele de gama medie a IBM. Programatorii sovietici și personalul de întreținere au fost instruiți la uzina din Detroit.

Oh, cum, până în 1969, Burroughs B5500 nu a fost instalat doar la Moscova, dar și specialiști sovietici au reușit să facă un stagiu la fabrica companiei din Detroit!

Alte 4 mașini au fost vândute Cehoslovaciei la ordin guvernamental, din păcate, nu se știe unde au fost instalate și ce au făcut, dar evident că nu la universități, coloana „utilizator” din tabel indică „guvern”. Cel mai puternic B6700 (upgradat ulterior la B7700!) A fost vândut în RDG și folosit la Universitatea din Karlsruhe.

Încercările ulterioare de a clarifica informațiile despre livrările către Moscova ne-au forțat să luăm legătura cu Muzeul de Inginerie, Comunicații și Calcul de Sud-Vest (Arizona, SUA).

Pe site-ul lor, puteți găsi o notă de subsol la un articol din 1982 al lui Alistair Mayer de la ACM's Computer Architecture News (Alastair JW Mayer, The Architecture of the Burroughs B5000 – 20 Years Later and Still Ahead of the Times), o scrisoare a inginerului Rea Williams ) de la echipa de instalare și asistență Burroughs Corporation:

Ei bine, când, nu-mi amintesc exact anul, în jurul anului 1973... Burroughs a vândut un B6500 (B6700) Ministerului Petrolului din Rusia. Era un sistem foarte special cu imprimante chirilice, cititoare speciale de bandă de hârtie și alte lucruri foarte speciale. Asta a fost în timpul războiului rece, dar noi (Burroughs) aveam o permisiune specială pentru a furniza sistemul. Am participat la sistemul „ride out” la uzina City of Industry. Glen a fost cu organizația noastră TIO și a mers în Rusia pentru a ajuta la instalarea și instruirea localnicilor să-l întrețină. El a povestit despre GRU sau orice nu avea încredere în jocurile lor de cărți pentru că credeau că băieții din Burroughs „colaborează” sau așa ceva și au trebuit să lase ușile camerei deschise. Povești grozave, aș vrea să mi le amintesc pe toate. Așa că, la final, mi-a dat știftul. Mai am și alte chestii despre care vă voi povesti, mai târziu.

Apropo, în onoarea unui astfel de eveniment, sovieticii au emis insigne comemorative cu emblema Burroughs și inscripția „Barrows” și le-au distribuit participanților la proiect. Insigna originală a lui Williams împodobește titlul acestui articol.

Deci, industria petrolieră sovietică (în general paralelă cu toată fărădelegea care se petrecea în jurul computerelor noastre militare și științifice), fiind extrem de influentă, bogată și infinit de departe de toate confruntările Academiei și ale partidului, nedorind să se mulțumească cu calculatoarele domestice (și absolut nedorind ceva acolo, să comande de la cineva de la institutele de cercetare sovietice și să aștepte până când după zece ani de confruntări eșuează), l-au luat cu calm și și-a cumpărat tot ce a putut - un excelent B6700. Au chemat chiar și o echipă de instalare din cadrul corporației pentru a face ca prețioasa mașină să funcționeze corect.

Nu este de mirare că acest episod, care arată clar cât de serioși au tratat mașinile domestice (să nu uităm că petroliștii au adus țării cei mai mulți bani, pe care militarii și academicienii i-au cheltuit apoi pe jocurile lor) au tratat mașinile domestice, au încercat să uite. mai puternic.


Burroughs B6700 al Universității din Tasmania și cel mai recent din linia Burroughs Large Systems - marele B7900 (http://www.retrocomputingtasmania.com, https://pretty-little-fools.tumblr.com)

Observăm două fapte interesante.

În primul rând, în ciuda faptului că toată lumea îl cunoaște pe Burroughs în principal pentru furnizarea mainframe-urilor lor (ca standard de aur al arhitecturii securizate) pentru Rezerva Federală a SUA, ei au avut și ordine militare (deși mult mai puțin decât IBM și Sperry, care în timpul celei de-a doua lumi. Război nu au reușit să stabilească contacte cu guvernul).

Și în plus, mașinile lor erau foarte, foarte pasionate de universități. Puteți chiar spune - l-au adorat în toată lumea: în Marea Britanie, Franța, Germania, Japonia, Canada, Australia, Finlanda și chiar Noua Zeelandă, au fost instalate peste o sută de mainframe Burroughs de diferite linii. Din punct de vedere arhitectural (și din punct de vedere al stilului), Burroughs a fost mărul marelui computer.

Mașinile lor erau robuste și incredibil de fiabile, scumpe, puternice, veneau ca un kit absolut cu toate pachetele software și software preinstalate și configurate, arhitectura era închisă, diferită de orice pe piață.

Au fost iubiți de intelectuali de orice tip, deoarece Burroughs (la fel ca Macintosh-ul epocii de aur) doar plug and play. După standardele mainframe-urilor din acei ani, chiar și la fel de reușit ca S/360, a fost incredibil de cool.

Și, desigur, diferă prin design, terminale convenabile de marcă, sistem original de încărcare a discurilor și multe alte lucruri. De asemenea, observăm că în anii săi a fost, deși nu un supercomputer, ci o mașină de lucru puternică care producea aproximativ 2 MFLOPS - de câteva ori mai puternic decât orice avea URSS în acel moment.

În general, universitățile i-au iubit pe măsură, așa că folosirea lui Burroughs ca supercomputer științific în Uniune ar fi o decizie complet justificată. Un bonus separat a fost suportul hardware pentru Algol, un limbaj care a fost considerat, în primul rând, standardul de aur al învățământului superior (mai ales în Europa), și în al doilea rând, extrem de lent pe orice alte arhitecturi.

Algol (al cărui suport deplin nu a apărut în mașinile pur domestice) a fost considerat pe merit standardul programării structurate academice clasice. Nu supraîncărcat cu construcții ezoterice precum PL/I, nu la fel de anarhic ca Pure C, de multe ori mai convenabil decât Fortran, mult mai puțin atrăgător decât LISP și (Doamne ferește) Prolog.

Înainte de apariția conceptului de OOP, nu a fost creat nimic mai perfect și mai convenabil, iar Burroughs au fost singurele mașini pe care nu a încetinit.

Un alt fapt merită o atenție deosebită.

KoCom nu ne-a permis categoric să achiziționăm arhitecturi avansate, chiar și restricțiile privind stațiile de lucru puternice din anii 1980 au fost ridicate abia după prăbușirea URSS, a trebuit să luptăm cu înverșunare pentru CDC, CYBER a fost vândut cu un scârțâit (cum am menționat deja, directorul Control Data era deja investigat de Congres cu privire la activitățile anti-americane) și au fost instalate mai multe mașini cu scopuri în interesul Statelor Unite.

CYBER de la Centrul Hidrometeorologic ne-a fost dat pentru ajutor cu date despre clima arctică, iar CYBER LIAN a fost dat în schimbul unei promisiuni de a dezvolta în comun calculatoare recursive.

Drept urmare, apropo, au fost vândute în zadar, munca în comun nu a funcționat.

Adevăratul autor al ideii, Torgashov, a fost împins rapid în iad de șefii săi, de îndată ce faima și banii din munca cu yankei au apărut la orizont. Au sosit americanii, au încercat să obțină câteva gesturi în dezvoltare de la șefi, care au avut dificultăți să-și imagineze cum funcționează mașinile obișnuite, în cele din urmă au scuipat peste tot și au plecat.

Așa că URSS a pierdut o altă oportunitate de a intra pe piața mondială.

Dar Burroughs proaspete ne sunt livrate fără să clipim din ochi, nici CoCom, nici Congresul nu se opun, nicio plângere. Acest lucru poate fi justificat, din nou, doar de interesele marilor afaceri.

L-au vândut muncitorilor din petrol cu ​​garanția că evident că nu vor renunța la farmecul lor în fața armatei, ei înșiși au nevoie de el, dar este foarte benefic pentru ambele părți să fie prieteni cu industria petrolieră sovietică.

De asemenea, observăm că au început să ne vândă Burroughs tocmai în anii Brejnev, când intensitatea Războiului Rece a scăzut semnificativ, așa cum am scris în articolele anterioare. În același timp, viclenii yankei nu se grăbeau să-și pompeze adversarii cu tehnologii pur militare (cum ar fi cel mai puternic CDC 6600 sau Cray-1), dar nu le deranja să susțină afacerile sovietice.

Teza de doctorat în administrarea afacerilor a lui Peter Wolcott de la Universitatea din Arizona Tehnologia avansată sovietică: cazul calculului de înaltă performanță, publicată în 1993, afirmă însă că B6700 a fost instalat la Moscova în 1977 (adică toate aprobările și livrarea a durat în total 4 ani!).

Majoritatea lucrărilor de proiectare preliminară la Elbrus au fost finalizate din 1970 până în 1973, când Burtsev a putut vedea o mașină vie doar în SUA (din păcate, nu există informații despre când a mers exact acolo).

În acest moment, inginerii ITMiVT aveau acces doar la documentația generală de pe B6700 - arhitectura de instrucțiuni și diagramele bloc ale mașinii. Wolcott scrie că au primit informații mai detaliate în 1975-1976 (se pare, după călătoria lui Burtsev, care a adus o grămadă de lucrări), ceea ce a dus la unele îmbunătățiri și schimbări în structura lui Elbrus.

În cele din urmă, în 1977, dezvoltatorii au studiat în detaliu Moscow Burroughs, ceea ce a dus la un alt val de upgrade, probabil cu aceasta, inclusiv procesul continuu de a face modificări documentelor care intrau deja în producție.

Din această cauză, putem garanta că inspirația l-a vizitat pe Burtsev, evident sub influența, în primul rând, a lucrărilor britanicilor, cu care s-a putut familiariza la mijlocul anilor ’1960. Și da, în acele vremuri, direcția mașinilor de etichetare-descriptor era într-adevăr considerată „în termeni teoretici, cea mai puternică”, adică era susținută, ca cea mai promițătoare, de aproape întreaga informatică academică din Marea Britanie.

În acest sens, lucrările despre Elbrus erau în concordanță cu cele mai avansate cercetări de la acea vreme și nu a fost vina academicilor britanici că, la mijlocul anilor 1980, lumea s-a întors într-o direcție complet diferită.

De asemenea, menționăm că, conform articolelor teoretice, echipa Burtsev nu a reușit să construiască o mașină, doar familiarizarea cu documentația de pe Burroughs live le-a permis să-și dea seama pe deplin cum funcționează acest lucru.

Comparație de arhitectură


Întreaga linie a Burroughs Large Systems Group a fost construită pe o singură arhitectură B5000. Denumirile mașinilor erau extrem de extravagante. Ultimele trei cifre au indicat generația de mașini, iar prima - numărul de serie din punct de vedere al puterii în generație.

Astfel, aveam disponibilă seria 000 (singurul reprezentant este strămoșul lui B5000), apoi nu s-au folosit numerele de la 100 la 400 (au trecut la Sisteme Medie și Sisteme Mici), iar seria următoare a primit indicele 500. Avea trei computere, împărțite la putere - mai simplu (B5500), mai complicat (B6500) și, teoretic, cel mai puternic (B8500).

Cu toate acestea, B6500 s-a blocat deja și, ca urmare, seria a rămas blocată pe modelul mai tânăr. Următorul număr 600 a renunțat și el (pentru a nu fi confundat cu CDC) și astfel a apărut linia B5700, B6700 și B7700.

Ele diferă în ceea ce privește cantitatea de memorie, numărul de procesoare și alte detalii arhitecturale neprincipale. În cele din urmă, ultima linie a fost seria 800 a două modele (B6800 și B7800) și a 900-a din trei (B5900, B6900 și B7900).

Tot codul scris pentru sistemele mari este reintrat din cutie, iar programatorul de sistem nu trebuie să facă eforturi suplimentare pentru aceasta. Pentru a spune simplu, programatorul a scris codul pur și simplu, fără să se gândească deloc că ar putea funcționa în modul multi-utilizator, sistemul a preluat controlul asupra acestuia.

Nu exista un asamblator, limbajul de sistem era un superset al ALGOL - limbajul ESPOL (Executive Systems Problem Oriented Language), în care erau scrise nucleul OS (MCP, Master Control Program) și toate programele de sistem.

A fost înlocuit cu mai avansat NEWP (New Executive Programming Language) din seria 700. Au fost dezvoltate încă două extensii pentru lucrul eficient cu datele - DCALGOL (comunicații de date ALGOL) și DMALGOL (Gestionarea datelor ALGOL), și a apărut un limbaj separat de linie de comandă WFL (Work Flow Language) pentru gestionarea eficientă a MCP.

Compilatoarele Burroughs COBOL și Burroughs FORTRAN au fost, de asemenea, scrise în ALGOL și optimizate cu atenție pentru a ține cont de toate nuanțele arhitecturii, astfel încât versiunile Large Systems ale acestor limbaje au fost cele mai rapide de pe piață.

Adâncimea de biți a mașinilor Burroughs mari a fost în mod convențional de 48 de biți (+3 biți de etichetă). Programele constau din entități speciale - silabe de 8 biți, care puteau fi un apel la un nume, o valoare sau alcătuiesc un operator, a căror lungime varia de la 1 la 12 silabe (aceasta a fost o inovație semnificativă a seriei 500, clasic B5000 a folosit instrucțiuni fixe cu lungimea de 12 biți).

Limbajul ESPOL în sine a avut mai puțin de 200 de instrucțiuni, toate se potrivesc în silabe de 8 biți (inclusiv operatorii puternici de editare a liniilor și altele asemenea, fără ele existau doar 120 de instrucțiuni). Dacă eliminăm operatorii rezervați pentru sistemul de operare, cum ar fi MVST și HALT, setul folosit în mod obișnuit de programatorii la nivel de utilizator ar fi mai mic de 100. Unii operatori (cum ar fi Name Call și Value Call) ar putea conține perechi de adrese explicite, alții sunt folosiți. o stivă de ramificare avansată.

Burroughs nu avea registre disponibile programatorului (pentru mașină, partea de sus a stivei și următorul au fost interpretate ca o pereche de registre), respectiv, nu era nevoie ca operatorii să lucreze cu ele și diverse sufixe/prefixe De asemenea, nu au fost necesare pentru a indica opțiunile pentru efectuarea operațiunilor între registre, deoarece toate operațiunile au fost aplicate în partea de sus a stivei. Acest lucru a făcut codul extrem de dens și compact. Mulți operatori au fost polimorfi și și-au schimbat activitatea în conformitate cu tipurile de date care erau definite de etichete.

De exemplu, în setul de instrucțiuni Large Systems, există o singură instrucțiune ADD. Un asamblator modern tipic conține mai mulți operatori de adăugare pentru fiecare tip de date, cum ar fi add.i, add.f, add.d, add.l pentru numere întregi, float, double și longs. În Burroughs, arhitectura distinge doar între numere de precizie simple și duble - numerele întregi sunt pur și simplu reali cu exponent zero. Dacă unul sau ambii operanzi au eticheta 2, se efectuează adăugarea de precizie dublă, în caz contrar, eticheta 0 indică precizie simplă. Aceasta înseamnă că codul și datele nu pot fi niciodată incompatibile.

Lucrul cu stiva în Burroughs este implementat foarte frumos, nu vom plictisi cititorii cu detalii, doar credeți-ne pe cuvânt.

Remarcăm doar că operațiile aritmetice au luat o singură silabă, operațiunile de stivă (NAMC și VALC) au luat două, ramurile statice (BRUN, BRFL și BRTR) au luat trei, iar literalele lungi (de exemplu, LT48) au luat cinci. Drept urmare, codul era mult mai dens (mai precis, avea mai multă entropie) decât în ​​arhitectura modernă RISC. Creșterea densității a redus pierderile de cache de instrucțiuni și, prin urmare, a îmbunătățit performanța.

Din arhitectura sistemului, remarcăm SMP - multiprocesor simetric de până la 4 procesoare (aceasta este în seria 500, începând cu seria 800, SMP a fost înlocuit cu NUMA - Acces la memorie non-uniform).

Burroughs a fost în general pionierii în utilizarea mai multor procesoare conectate printr-o magistrală de mare viteză. Linia B7000 putea avea până la opt procesoare, cu condiția ca cel puțin unul dintre ele să fie un modul I/O. B8500 trebuia să aibă 16, dar în cele din urmă a fost anulat.

Spre deosebire de Seymour Cray (și Lebedev și Melnikov), inginerii Burroughs au dezvoltat ideile unei arhitecturi masiv paralele - conectând multe procesoare paralele relativ slabe cu o memorie comună, în loc să folosească una vectorială super-puternică.

Așa cum se arată poveste Această abordare a ajuns să fie cea mai bună.

În plus, Large Systems au fost primele mașini de stivă de pe piață, iar ideile lor au stat mai târziu la baza limbajului Forth și a calculatoarelor HP 3000. stivă de saguaro (acesta este un astfel de cactus, așa că ei numesc stiva cu ramuri). Toate datele au fost stocate pe stivă, cu excepția matricelor (care puteau include atât șiruri, cât și obiecte), paginile au fost alocate pentru acestea în memoria virtuală (prima implementare comercială a acestei tehnologii, înaintea S/360).

Un alt aspect binecunoscut al arhitecturii sistemelor mari a fost utilizarea etichetelor. Acest concept a apărut inițial în B5000 pentru a crește securitatea (unde eticheta pur și simplu separa codul și datele, precum bitul NX modern), începând cu seria 500, rolul etichetelor a fost extins semnificativ. Le-au fost alocați 3 biți în loc de 1, astfel încât au fost disponibile un total de 8 opțiuni de etichetă. Unele dintre ele sunt: ​​SCW (Software Control Word), RCW (Return Control Word), PCW (Program Control Word) și așa mai departe. Frumusețea ideii era că bitul 48 era doar pentru citire, așa că etichetele ciudate indicau cuvinte de control care nu puteau fi modificate de utilizator.

Stiva este foarte bună, dar cum să lucrezi cu obiecte care nu se încadrează în el din cauza structurii lor, de exemplu, șiruri? La urma urmei, avem nevoie de suport hardware pentru a lucra cu matrice.

Foarte simplu, Large Systems folosește descriptori pentru asta. Descriptorii, după cum sugerează și numele, descriu zonele de stocare ale structurilor, precum și solicitările și rezultatele I/O. Fiecare descriptor conține un câmp care indică tipul, adresa, lungimea și dacă datele sunt stocate în magazin. Desigur, sunt marcate cu propria etichetă. Foarte interesantă este și arhitectura descriptorilor Burroughs, dar nu vom intra în detalii aici, observăm doar că memoria virtuală a fost implementată prin intermediul acestora.

Diferența dintre Burroughs și majoritatea celorlalte arhitecturi este că folosesc memorie virtuală paginată, ceea ce înseamnă că paginile sunt paginate în bucăți de dimensiuni fixe, indiferent de structura informațiilor din ele. Memoria virtuală B5000 funcționează cu segmente de diferite dimensiuni, care sunt descrise de descriptori.

În ALGOL, granițele matricei sunt complet dinamice (în acest sens, Pascal cu matricele sale statice este mult mai primitiv, deși acest lucru este fixat în versiunea Burroughs Pascal!), iar în sistemele mari, o matrice este alocată nu manual atunci când este declarată. , dar automat când este accesat.

Drept urmare, apelurile de sistem de alocare de memorie de nivel scăzut, cum ar fi legendarul malloc în C, nu mai sunt necesare. Acest lucru elimină un strat uriaș de tot felul de auto-shot-uri pentru care C este atât de faimos și salvează programatorul de sistem de o grămadă de rutină complexă și tristă. De fapt, sistemele mari sunt mașini care acceptă colectarea gunoiului la JAVA și în hardware!

În mod ironic, mulți utilizatori Burroughs, care au trecut la el în anii 1970 și 1980 și și-au portat programele (aparent corecte!) din limbajul C, au găsit în ele o mulțime de erori legate de depășirile de buffer.

Problema restricțiilor fizice privind lungimea descriptorului, care nu permitea adresarea directă a mai mult de 1 MB de memorie, a fost rezolvată elegant la sfârșitul anilor 1970 odată cu apariția mecanismului ASD (Advanced Segment Descriptors), care a făcut posibilă alocați terabytes de RAM (în computerele personale, acest lucru a apărut abia la mijlocul anilor 2000 - X).

În plus, așa-numitul. Întreruperile p-bit, ceea ce înseamnă că a fost alocat un bloc de memorie virtuală, pot fi utilizate în Burroughs pentru analiza performanței. De exemplu, în acest fel puteți observa că procedura care alocă o matrice este apelată în mod constant. Accesarea memoriei virtuale reduce drastic performanța, motiv pentru care computerele moderne încep să funcționeze mai repede dacă conectați un alt cip RAM.

La mașinile Burroughs, analiza întreruperilor p-bit ne-a permis să găsim o problemă sistemică în software și să echilibrăm mai bine sarcina, ceea ce este important pentru mainframe care rulează 24x7 pe tot parcursul anului. În cazul mașinilor mari, economisirea chiar și a câteva minute de timp pe zi s-a transformat într-o bună creștere finală a productivității.

În cele din urmă, etichetele, precum etichetele, au fost responsabile pentru o creștere semnificativă a securității codului. Unul dintre cele mai bune instrumente pe care le are un hacker pentru a compromite sistemele de operare moderne este un buffer overflow clasic. Limbajul C, în special, folosește cel mai primitiv și predispus la erori de a marca sfârșitul liniilor, folosind octetul nul ca semnal de sfârșit de linie în fluxul de date în sine (în general, o astfel de neglijență distinge multe lucruri create , s-ar putea spune, în stil academic, adică oameni deștepți care nu au, însă, calificări speciale în domeniul dezvoltării).

În Burroughs, pointerii sunt implementați ca inode. În timpul indexării, acestea sunt verificate de hardware la fiecare creștere/descreștere pentru a evita depășirile limitelor blocului. În timpul oricărei citiri sau copieri, atât blocurile sursă, cât și blocurile țintă sunt controlate de descriptori doar pentru citire pentru a menține integritatea datelor.

Drept urmare, o clasă semnificativă de atacuri devine imposibilă, în principiu, și multe erori în software pot fi surprinse chiar și în etapa de compilare.

Nu e de mirare că Burroughs este atât de iubit de universități. În anii 1960-1980, programatorii calificați, de regulă, au lucrat în corporații mari, oamenii de știință au scris software pentru ei înșiși, ca urmare, sistemele mari și-au făcut munca extrem de ușoară, făcând imposibilă dezastrul în orice program.

Burroughs a influențat un număr mare de tehnologii.

După cum am spus, linia HP 3000, precum și calculatoarele lor legendare încă folosite astăzi, au fost inspirate de stiva Large Systems. Serverele tolerante la erori ale Tandem Computers au purtat, de asemenea, amprenta acestei capodopere de inginerie. Pe lângă Forth, ideile lui Burroughs au influențat semnificativ Smalltalk, părintele tuturor OOP și, desigur, arhitectura mașinii virtuale JAVA.

De ce s-au stins astfel de mașini grozave?

Ei bine, în primul rând, nu s-au stins imediat, arhitectura clasică de descriptor de etichete Burroughs a continuat continuu în linia mainframe-ului UNISYS până în 2010 și abia apoi a pierdut teren în fața serverelor de pe banalul Intel Xeon (pe care chiar și IBM este extrem de greu de concurat). cu). Deplasarea a avut loc dintr-un motiv banal, care a ucis toate celelalte mașini exotice din anii 1980.

În anii 1990, procesoarele de uz general, cum ar fi DEC Alpha și Intel Pentium Pro, au fost pompate până la o performanță atât de extraordinară, încât o mulțime de trucuri arhitecturale elaborate au devenit inutile. SPARCserver-1000E pe o pereche de SuperSPARC-II de 90 MHz l-a învins pe Elbrus din toate opțiunile ca pe o broască țestoasă.

Al doilea motiv pentru care Burroughs a căzut au fost aceleași probleme care aproape au ucis Apple în anii 1980, exacerbate de amploarea afacerii mainframe-urilor. Mașinile lor erau atât de complexe încât au fost extrem de costisitoare și consumatoare de timp pentru a fi dezvoltate, așa că practic au realizat doar versiuni ușor îmbunătățite ale aceleiași arhitecturi în anii 1970. De îndată ce Burroughs a încercat să se mute în altă parte (ca în cazul B6500 sau B8500), proiectul a început să alunece, să absoarbă bani cu viteza unei găuri negre și în cele din urmă a fost anulat (cum ar fi Apple III și Lisa eșuate). .

Scara mainframe a însemnat că Burroughs a vândut computere pentru milioane de dolari cu întreținere nebunește de costisitoare. De exemplu, B8500 trebuia să aibă 16 procesoare, dar costul estimat al unei configurații chiar și cu trei era de peste 14 milioane de dolari și, prin urmare, contractul de furnizare a acestuia a fost reziliat.

Pe lângă costul fenomenal al mașinilor în sine, sistemele centrale mai vechi ale companiei au cerut o sumă uriașă de bani pentru sprijin. Pachetul anual de întreținere, service și toate licențele pentru toate programele, în cazul modelului top-end B7800, costa aproximativ 1 milion de dolari pe an, nu toată lumea își putea permite un asemenea lux!

Mă întreb dacă petroliștii sovietici și-au cumpărat un service complet sau și-au reparat ei înșiși Burroughs, cu un cuvânt puternic și un baros?

Așa că afacerea Burroughs șchiopăta mereu, lipsind amploarea și puterea IBM. Nu puteau face mașini ieftine din cauza complexității dezvoltării, iar cumpărătorii de mașini scumpe, având în vedere lupta activă cu concurenții, nu au fost de ajuns pentru a crește profiturile și posibilitatea de a investi bani în plus în dezvoltare și de a reduce prețurile, făcând mașinile mai competitive.

Sperry UNIVAC a suferit aceleași probleme, în cele din urmă, în 1986, cele două corporații au fuzionat pentru a supraviețui pentru a forma UNISYS, care de atunci produce mainframe.

Pe lângă arhitecturile menționate, Burtsev a folosit cu adevărat experiența 5E26 și 5E92b în ceea ce privește controlul erorilor hardware. Ambele computere erau capabile să detecteze hardware și să corecteze orice erori de un bit, iar în proiectul Elbrus acest principiu a fost dus la noi culmi.

Așadar, așteptăm răspunsul la cea mai fascinantă întrebare - a fost Elbrus El Burrows?

După cum ne amintim, Ailif a abandonat modelul clasic von Neumann, mașina ca stocare liniară de instrucțiuni și date. Stiva saguaro de la Burroughs a fost o structură arborescentă care reflectă execuția codului paralel și ierarhia proceselor într-un mediu de programare multi-utilizator. De remarcat, apropo, că ALGOL, cu structura sa ierarhică de bloc, se potrivește perfect pe stivă, motiv pentru care implementarea sa în sistemele mari a avut atât de mult succes.

Această filozofie a designului integrat a fost promovată în mod non-trivial de arhitecții de sistem Elbrus, care au ridicat-o la un nou nivel. În special, în loc de mai multe limbi specializate, un grup de dezvoltatori de la ITMiVT a creat un El-76 universal, asemănător Algol.

Noutățile arhitecturale nu s-au încheiat aici.

O comparație directă a mașinilor este dată în tabelul de mai jos, vechiul B6700 în ansamblu arată bine pe fundalul unui computer cu 17 ani mai tânăr.


De la interesant - spre deosebire de B6700, Elbrus era monstruos de imens.

Prima versiune ocupa 300 mp. m într-un singur procesor și 1 mp. m într-o configurație cu 270 procesoare, iar al doilea - respectiv 10 și un incredibil de 420 mp. m, luând astfel laurii celui mai mare computer din istorie chiar de la IBM AN / FSQ-2 Project SAGE, care, fiind unul tubular, ocupa 260 mp. m.


Pentru a înțelege scara. Stadionul Wembley. Aproximativ atât de mult a fost ocupat de complexul multi-mașini Elbrus pentru sistemul de apărare antirachetă A-135.

CPU-ul ambelor mașini se bazează pe o arhitectură stivă CISC cu notație poloneză inversă. Codul unui program compilat constă dintr-un set de segmente. Un segment corespunde de obicei unei proceduri sau unui bloc dintr-un program. Când începe execuția programului, sunt alocate două locații de memorie: una pentru stivă și una pentru dicționarul de segmente, care este folosit pentru a se referi la mai multe segmente de program din RAM. Zonele de memorie pentru segmentele de cod și matricele sunt alocate de sistemul de operare la cerere.

Descriptorii din ambele mașini sunt responsabili pentru reintrarea codului prin organizarea partajării automate a memoriei între firele de execuție. Codul și datele sunt strict separate prin etichete, descriptorii vă permit să rulați cod identic pe seturi de date diferite pentru utilizatori diferiți, cu garanția protecției acestora.

Ambele computere folosesc chiar registre identice cu scop special (de exemplu, fiecare mașină are registre de bază de stivă, limită de stivă și registre de vârf) și instrucțiuni de gestionare a stivei.

Burroughs și Elbrus au o filozofie foarte asemănătoare, dar diferă foarte mult în designul procesorului în sine.

Procesorul B6700 constă dintr-un adunator pe 48 de biți, o unitate de procesare a adreselor, șapte controlere de funcție (program, aritmetică, șir, ajustare stivă, întrerupere, transfer și memorie) și un set de registre. Acestea din urmă includ 4 registre de date de 51 de biți (două elemente de top stivă, valoare curentă, valoare intermediară) și 48 de registre de instrucțiuni de 20 de biți (32 de registre de afișare responsabile pentru stocarea punctelor de intrare în procedurile care se execută în prezent și 8 registre de bază fiecare). și registrele index).

Cel mai interesant lucru din procesor a fost un bloc extrem de complicat, așa-zisul. controlori ai unei familii de operațiuni (în cantitate de 10 bucăți), care, din blocurile funcționale disponibile, au construit o conductă de calcul pentru fiecare comandă. Acest lucru a permis reducerea semnificativă a costului tranzistorilor.

Controlerul transmite instrucțiunea decodificată în registrul Cuvântului de instrucțiuni al programului curent și selectează controlerul adecvat al familiei de operator. Caracteristica cheie este că instrucțiunile sunt executate strict secvenţial, în ordinea dictată de compilator. Instrucțiunile aritmetice nu se pot suprapune deoarece există un singur sumator în CPU.

Aceasta a fost principala diferență între procesorul Elbrus. Babayan și-a bătut cu mândrie pieptul cu pumnul și a declarat „primul superscalar din lume în Elbrus” (care nu a avut deloc legătură cu dezvoltarea), dar, în practică, Burtsev a studiat cu atenție arhitectura marelui CDC 6600 pentru a învăța secretele interacțiunii între grupuri de blocuri funcționale în transportoare paralele.

De la CDC 6600, Elbrus a împrumutat arhitectura mai multor blocuri funcționale (10 în total): adunator, multiplicator, divizor, bloc logic, bloc de conversie codificare BCD, bloc de apel operand, bloc de scriere operand, bloc de procesare șir, bloc de execuție a subrutinei și indexare bloc.

Există o suprapunere funcțională între aceste blocuri și controlerele B6700, dar există și diferențe importante, de exemplu, aritmetica în Elbrus are 4 grupuri independente în loc de unul.

Mai multe ALU au fost deja folosite în alte mașini, dar niciodată în lume - pe un procesor stivă. Desigur, acest lucru nu s-a făcut din cauza marei prostie a dezvoltatorilor occidentali. Stiva, prin definiție, presupune adresarea zero - toți operanzii necesari trebuie să se afle deasupra. Evident, în absența adreselor tradiționale, o singură operație pe ciclu se poate adresa corect la partea superioară - aceasta exclude practic funcționarea blocurilor paralele.

Grupul lui Burtsev a trebuit să pervertize monstruos pentru a ocoli această limitare.

De fapt, procesorul de stivă B6700 din versiunea Elbrus a încetat deloc să mai fie un procesor de stivă! Miracolele nu se întâmplă și un arici nu se încrucișează cu un șarpe, așa că arhitectura internă, invizibilă pentru programator, a trebuit să fie una clasică de registru. Controlerul primește și decodifică comanda ca de obicei, apoi o convertește în format de registru intern. B6700 a interpretat doar 2 elemente de sus ale stivei ca registre interne, Elbrus - 32 de elemente! De fapt, din stivă a rămas un singur nume.


Starea pseudostivei Elbrus în momentul tranziției la procedura Q. Din articolul lui Burtsev „Principii de construire a sistemelor de calcul multiprocesor Elbrus”.

Desigur, acest lucru ar fi complet inutil dacă CU nu ar putea încărca toate dispozitivele funcționale în paralel. Așa s-a dezvoltat mecanismul execuției speculative, care este și absolut original.

Instrucțiunile Elbrus pot fi transmise blocurilor funcționale înainte ca toți operanzii necesari să fie disponibili, odată încărcați, ei vor aștepta pur și simplu date. De fapt, execuția are loc după principiul arhitecturii fluxului de date, ordinea exactă de execuție depinde de ordinea în care operanzii devin disponibili.

Ce au realizat până la urmă?

Ei bine, reacția unui programator modern la astfel de decizii sălbatice este evidentă:

Îmi amintesc că lucrarea cu matrice m-a ucis. Trecerea la modul supervizor pentru a aloca o matrice - este normal? Este normal ca conducta de execuție să știe despre matrice? Lucrul cu matrice printr-un descriptor - este eficient? Tipul în afara limitelor este mai rapid de verificat, nu? Este înfricoșător să ne imaginăm cum va cădea această groază asupra echipamentului. Cu toate acestea, atunci a existat un aspect diferit cu latența și viteza memoriei și a altor componente, deloc la fel ca acum. Ea ar putea justifica astfel de mișcări îndrăznețe, dar astfel de modele nu trăiesc, în niciun fel. De fapt, nu au supraviețuit...
Teoretic, dezvoltatorii mașinilor de etichetare pure au pornit de la faptul că la mijlocul anilor 1970 încă nu existau arhitecturi și compilatoare capabile de cel puțin o anumită paralelizare automată a codului, drept urmare, majoritatea sistemelor multiprocesor nu puteau fi încărcate eficient. complet, iar unitățile de execuție erau adesea inactiv. Calea de ieșire din acest impas a fost arhitectura superscalară sau notoriile mașini VLIW, dar acestea erau încă departe (deși primul procesor superscalar a fost folosit de același Cray în CDC6600 în 1965, încă nu simțea un miros de producție de masă aici. ). Și astfel s-a născut ideea de a facilita munca unui programator prin transferul arhitecturii într-un limbaj Java. Cu toate acestea, merită remarcat faptul că nu este ușor să faci un superscalar bun pe o arhitectură stivă - este mult mai ușor de realizat pentru sistemele de instrucțiuni RISC. Să vedem ce fel de superscalar este în Elbrus-2: „Rata de procesare a comenzii în dispozitivul de control poate varia de la două comenzi pentru 1 ciclu la o comandă pentru 3 cicluri. Cele mai comune combinații de comenzi sunt procesate la viteza maximă: citiți valoarea și comanda aritmetică; încărcați adresa și preluați elementul de matrice; descărcați adresa și scrieți-o."
В результате мы имеем, то, что имеем – суперскаляр на две инструкции за такт, причем примитивнейшие инструкции. Гордиться тут нечем, хорошо хоть чтение данных умеют на арифметику накладывать (и то при попадании в кэш).

În principiu, URSS în acest sens s-a învins pe sine, mașinile Burroughs, așa cum am menționat deja, nu s-au descurcat fără astfel de bibelouri nu din cauza prostiei arhitecților lor. Au vrut să facă o arhitectură pură și au făcut-o corect.

În Elbrus, un nume a rămas din simplitatea elegantă a stivei, în timp ce mașina a devenit cu un ordin de mărime mai scumpă și mai complicată (ce naiba a fost să depanezi procesorul Elbrus, ne va spune mai târziu persoana care a făcut asta), dar în performanță, încă nu a câștigat cu adevărat - a primit un amestec de deficiențe ale ambelor clase de mașini.

În general, acesta este cazul când ar fi mai bine să furăm ideea așa cum este, fără a încerca sovietizarea, adică să o extindem și să o adâncim.

Ce era cu matricele?

Burtsev a băgat și aici cele 5 copeici.

În Burroughs B6700, toate elementele matricei sunt accesate indirect, prin indexare prin descriptorul matricei. Acest lucru necesită un ciclu suplimentar. În Elbrus, au decis să elimine acest ciclu și au adăugat un bloc hardware pentru preîncărcarea elementelor de matrice în memoria cache locală. Blocul index conține memorie asociativă, care stochează adresa elementului curent împreună cu pasul în memorie.

Ca rezultat, mânerul este necesar doar pentru a scoate primul element al matricei; toți ceilalți pot fi contactați direct. Memoria asociativă poate stoca informații despre șase matrice, iar calcularea adresei unui element dintr-o buclă durează doar un ciclu, elementele matricei pentru chiar și 5 iterații ale buclei pot fi extrase în avans.

Cu această inovație, dezvoltatorii au obținut o accelerare semnificativă a operațiunilor vectoriale în Elbrus în comparație cu B6700, care a fost construit ca o mașină pur scalară.

Arhitectura memoriei a suferit, de asemenea, modificări semnificative.

B6700 nu avea cache, ci doar un set local de registre speciale. În Elbrus, memoria cache constă din patru secțiuni separate: un buffer de instrucțiuni (512 cuvinte) pentru stocarea instrucțiunilor executate de program, un buffer de stivă (256 de cuvinte) pentru stocarea celei mai active părți (de sus) a stivei, care altfel este stocată. în memoria principală; tampon de matrice (256 de cuvinte) pentru stocarea elementelor de matrice care sunt procesate în cicluri; memorie asociativă pentru date globale (1 cuvinte) pentru alte date decât cele stocate în alte buffere. Aceasta include variabilele globale ale programului, mânerele și datele locale ale procedurii care nu se potrivesc în buffer-ul stivei.

Această organizare cache a făcut posibilă includerea eficientă a unui număr relativ mare de procesoare într-o configurație de memorie partajată.

Care este problema cu înșurubarea memoriei cache la un sistem multiprocesor?

Cert este că fiecare procesor poate avea propria copie locală a datelor, dar dacă dorim să forțăm procesoarele să proceseze o sarcină în paralel, atunci trebuie să ne asigurăm că conținutul cache-urilor este identic.

O astfel de verificare se numește menținerea coerenței cache-ului și necesită numeroase accesări la RAM, ceea ce încetinește îngrozitor sistemul și distruge întreaga idee. De aceea, numărul de procesoare din arhitectura SMP - multiprocesor simetric, depășește rar 4 bucăți (chiar și acum 4 este numărul maxim clasic de socluri dintr-o placă de bază de server).

Mainframe-ul cu dublu procesor IBM 3033 (1978) a folosit un design simplu de stocare prin care datele modificate în cache sunt actualizate imediat în RAM.

IBM 3084 (1982, 4 procesoare) a folosit o schemă de coerență mai avansată în care transferul de date în RAM putea fi amânat până când intrările din cache erau suprascrise sau până când un alt procesor accesa intrările de date corespunzătoare din memoria principală.

De aceea, B3 cu 6700 procesoare a făcut fără cache - procesoarele sale erau deja prea fanteziste.

Coerența cache-ului în Elbrus a fost menținută prin utilizarea conceptului de secțiune critică într-un program, care este bine cunoscut arhitecților OS. Părțile programului care accesează resurse (date, fișiere, periferice) partajate de mai multe procesoare au configurat un semafor special în momentul accesării, ceea ce înseamnă intrarea în secțiunea critică, după care resursa a fost blocată pentru toate celelalte procesoare. După ce ați părăsit-o, resursa a fost deblocată din nou.

Având în vedere că secțiunile critice au reprezentat (cel puțin conform dezvoltatorului) aproximativ 1% din programul mediu, 99% din timpul partajării cache-ului nu a implicat costul general de menținere a coerenței. Instrucțiunile dintr-un buffer de instrucțiuni sunt, prin definiție, statice, astfel încât copiile lor în mai multe cache-uri rămân identice. Acesta este unul dintre motivele pentru care Elbrus a suportat până la 10 procesoare.

În general, arhitectura sa este un exemplu de utilizare foarte timpurie a unui cache segmentat, un principiu similar (buffer de stivă, buffer de instrucțiuni și buffer de memorie asociativă) a fost deja implementat în B7700, dar a apărut în 1976, când majoritatea au fost finalizate lucrările de realizare a arhitecturii Elbrus.

Astfel, Elbrus primește pe bună dreptate titlul de unul dintre primele sisteme de uz general din lume cu memorie partajată de 10 procesoare.

Din punct de vedere tehnic (ținând cont de faptul că Elbrus-2 a funcționat normal abia în 1989), primul supercomputer de acest tip lansat a fost Sequent Balance 8000 cu 12 procesoare National Semiconductor NS32032 (1984; versiunea Balance 1986 cu 21000 de procesoare a fost lansată în 30). ), dar ideea în sine a venit grupului Burtsev cu zece ani mai devreme.

Modelul de memorie Elbrus a fost extrem de eficient.

De exemplu, executarea unui program simplu în stilul adăugării mai multor numere cu reatribuire necesară în cazul S/360 de la 620 de accesări la memorie (dacă este scris în ALGOL) la 46 (dacă în asamblator), 396 și 54 în cazul de BESM-6 și doar 23 în " Elbrus.

La fel ca mașinile Burroughs, Elbrus folosește etichete, dar utilizarea lor a fost extinsă de multe ori.

În zelul lor de a transfera cât mai mult control posibil hardware-ului, grupul lui Burtsev a dublat lungimea etichetei la 6 biți. Ca rezultat, mașina a putut să facă distincția între operanzi de precizie jumătate/singuri/duble, numere întregi/numere reale, cuvinte goale/pline, etichete (inclusiv lucruri specializate precum „etichetă privilegiată fără blocaj de întrerupere extern” și „etichetă fără informații despre adresă”. recorder"), semafore, cuvinte de control și altele.

Unul dintre obiectivele principale ale creării etichetelor a fost simplificarea programării. Dacă blocurile funcționale ar putea distinge între operanzi reali și întregi, ar putea fi proiectate pentru a se adapta la calcule pe oricare, și nu ar fi nevoie de blocuri scalare și reale separate.

De fapt, Elbrus a implementat tastarea dinamică la un nivel comparabil cu OOP modern și în hardware.

Un alt scop al etichetelor era detectarea erorilor, cum ar fi o încercare de a efectua o operație aritmetică asupra unei instrucțiuni, etichetele puteau fi folosite și pentru a proteja memoria, a restricționa scrierea anumitor date etc.

În domeniul etichetelor, Elbrus a dus ideile mașinii de bază și ale modelului B6700 la un nou nivel de sofisticare.

Toate acestea au făcut posibilă realizarea a ceea ce arhitecții Burroughs nu au realizat. După cum ne amintim, aveau nevoie de extensii ALGOL separate pentru scrierea codului OS și gestionarea ulterioară a sistemului. Dezvoltatorii lui „Elbrus” au abandonat această idee și au creat un singur limbaj universal complet „El-76”, în care totul putea fi scris.

Pentru a scrie un întreg sistem de operare într-un limbaj de nivel înalt (inclusiv codul responsabil pentru lucrurile interne de cel mai jos nivel, cum ar fi alocarea memoriei și comutarea proceselor), necesită hardware special de foarte înalt nivel. De exemplu, comutarea proceselor în sistemul de operare Elbrus a fost implementată ca o secvență de operatori de atribuire care efectuează acțiuni bine definite pe registre hardware speciale.

Designul RAM-ului la ambele mașini este extrem de asemănător, deși Elbrus (mai ales în a doua versiune) conține mult mai multă memorie.

RAM „Elbrus” este organizată ierarhic, secțiunea de memorie (1 dulap) este formată din 4 module, fiecare modul este format din 32 de blocuri de 16 cuvinte. Alternarea este posibilă la mai multe niveluri: între secțiuni, între module din cadrul unei secțiuni și în cadrul modulelor individuale. Din fiecare modul de memorie pot fi citite până la patru cuvinte într-un ciclu. Lățimea de bandă maximă a memoriei este de 450 MB/s, deși rata maximă de transfer de date cu fiecare procesor este de 180 MB/s.

Schemele de gestionare a memoriei din B6700 și Elbrus sunt în general foarte asemănătoare. Memoria este organizată în segmente de lungime variabilă care reprezintă secțiuni logice ale unui program așa cum este definit de compilator. Conform diviziunii logice a programului, segmentele pot avea diferite niveluri de protecție și pot fi partajate între procese.

În B6700, segmentele s-au mutat între stocarea principală și cea virtuală în ansamblu. Matricele au fost o excepție. Acestea ar putea fi stocate în memoria principală în grupuri de câte 256 de cuvinte fiecare, delimitate pe ambele părți prin legături de cuvinte.

În Elbrus, segmentele de cod sunt tratate diferit față de segmentele și matricele de date. Codul este procesat în același mod ca în B6700, iar datele și matricele sunt organizate în pagini a câte 512 cuvinte fiecare.

Abordarea Elbrus este mai eficientă aici și permite o schimbare mai rapidă.

În plus, Elbrus folosește un tip mai modern de memorie virtuală.

În calculatoarele Burroughs, adresarea a fost limitată la 20 de biți sau 220 de cuvinte, memoria fizică maximă din B6700/7700. Prezența segmentelor în memoria principală a fost indicată printr-un bit special în descriptorul lor, care a rămas în RAM în timpul execuției procesului. Nu a existat un concept de spațiu de memorie virtual adevărat care să fie mai mare decât cantitatea totală de memorie fizică; descriptorii conțineau numai adrese fizice.

Mașinile Elbrus au folosit o schemă similară de adresare pe 20 de biți pentru segmentele de program, dar adresarea pe 32 de biți a fost folosită pentru segmentele de date și matricele de constante. Aceasta a oferit un spațiu de memorie virtuală de 232 de octeți (4 gigaocteți). Aceste segmente au fost mutate între memoria virtuală și cea fizică folosind un mecanism de paginare care folosea tabelele de paginare stocate în blocul asociativ al memoriei de paginare pentru a converti între adresele virtuale și cele fizice. Adresele virtuale constau dintr-un număr de pagină și un offset în cadrul paginii. Aceasta este de fapt o implementare modernă cu drepturi depline a memoriei virtuale, la fel ca în mașinile IBM.

Deci, care este verdictul nostru?

Elbrus nu a fost cu siguranță o clonă completă a lui Burroughs B6700 (și chiar B7700).

Mai mult decât atât, el nu era nici măcar clona lui ideologică, mai degrabă, fratele său, deoarece atât B6700, cât și Elbrus s-au inspirat din aceeași sursă - munca lui Ailif la mașina de bază și lucrările Universității din Manchester și strămoșul comun al lui B. -serie, faimosul B5000, a fost o dezvoltare a ideilor întruchipate în mașina R1 a lui Rice. În plus, Elbrus a folosit CDC 6600 ca inspirație (unde fără el) și în ceea ce privește lucrul cu memoria virtuală - IBM S / 360 model 81.

În acest sens, admitem, fără îndoială, că arhitectura Elbrus în sine a fost absolut în tendința evoluțiilor mondiale din anii 1970 și a fost un reprezentant demn al acestora.

Mai mult, în multe aspecte era mult mai avansat decât B6700/7700.

Poate că numai încercările de a atinge superscalarismul pot fi recunoscute ca o decizie cu adevărat nereușită, care a eșuat atât din punct de vedere al arhitecturii (un superscalar pentru 2-3 operațiuni, după cum am menționat deja, nu merită lumânarea), cât și din punct de vedere practic (în consecință, deja monstruos un procesor complex a devenit și mai complex, ocupând un dulap uriaș în formă de T și aproape imposibil de depanat, motiv pentru care a fost agitat atât de mulți ani.

Din păcate, pentru a ocoli astfel de momente, trebuie să avem experiență și intuiție colosală, dezvoltate de-a lungul anilor de muncă cu cele mai bune exemple de arhitectură din lume, care, desigur, nu a fost în Uniune.


Cabinet tipic „Elbrus-1” și CPU „Elbrus-2” din articolul lui Burtsev „Paralelismul proceselor de calcul și dezvoltarea arhitecturii supercomputerelor. MVC „Elbrus”.

Desigur, nu ar trebui să vorbim despre nicio originalitate a lui Elbrus - de fapt, a fost doar o compilație de diverse soluții tehnice, îmbunătățite semnificativ în unele aspecte.

Dar din acest punct de vedere, B5000 a fost și o versiune foarte avansată a lui R1, așa cum am spus deja.

De asemenea, nu există nicio îndoială despre relevanța unei astfel de arhitecturi acum - anii 1970 au trecut de mult, istoria IT s-a întors într-o direcție complet diferită și merge acolo de 40 de ani.

Deci, pe hârtie, „Elbrus” după standardele din 1970 a fost, fără a subestima, o capodopera, destul de comparabilă cu cele mai bune mașini occidentale. Și iată implementarea lui...

Totuși, acesta este un subiect pentru următorul articol.

Pentru a fi continuat ...
26 comentarii
informații
Dragă cititor, pentru a lăsa comentarii la o publicație, trebuie login.
  1. +1
    20 ianuarie 2022 20:58
    Interesant! Poate că Elbrus 1 și 2 au avut cea mai mare lungime a cuvintelor pentru vremea lor.
  2. +2
    21 ianuarie 2022 01:15
    Foarte interesant articol.
    Prezentare excelentă, simplă a materialului, fără termeni obligatorii, complexi.
    Spamybo!
  3. ANB
    +1
    21 ianuarie 2022 03:09
    Excelenta serie de articole.
    Autorul este însă confuz în anumiți termeni.
    Și informațiile sunt depășite de 5 ani.De exemplu, Intel Xeon a fost întrerupt de mult timp. Și asta a pus capăt arhitecturii de risc.
    Dar, în cele din urmă, a recunoscut că Elbrus este foarte cool. Și chiar a ieșit cool. Dar foarte scump.
    1. +3
      21 ianuarie 2022 12:12
      Intel Xeon este scos din producție


      Da? Ce este?

      https://www.intel.ru/content/www/ru/ru/products/details/processors/xeon/e/products.html

      Hopa, procesoare Xeon 2021...
    2. 0
      21 ianuarie 2022 21:24
      Multe Xeon au fost întrerupte, dar cele actuale sunt lansate, iar altele noi sunt în pregătire pentru producție și dezvoltare.
      1. ANB
        0
        21 ianuarie 2022 21:59
        Scuze, m-am amestecat cu Itanium. S-au dus. Xeon este un procesor mixt x86 obișnuit.
        1. +1
          21 ianuarie 2022 22:03
          În interiorul x86 RISC din zilele PPro/K5.
          1. ANB
            0
            22 ianuarie 2022 16:16
            Generarea de microinstrucțiuni din macroinstrucțiuni era încă în s/360.
            1. 0
              22 ianuarie 2022 19:36
              Mașinile microcodate, de exemplu, au fost fabricate cu mult înainte de S / 360 - în anii 50 și mai devreme. Microcodul de acolo, totuși, era diferit și adesea complet orizontal - cu toate acestea, cel vertical a fost construit pe același principiu cu o grămadă de câmpuri de control
  4. +2
    21 ianuarie 2022 13:27
    Este interesant de citit. Cât de mult corespunde descrierea mașinilor cu adevărul nu mă voi angaja să judec, dar prezentarea este bună. Autorul, desigur, nu a putut rezista tentației de a „lovi” URSS, dar în comparație cu materialele anterioare ale ciclului, destul de mult. Și a recunoscut, deși cu rezerve, că Elbrus era o mașină demnă. Nici macar nu ma asteptam...
  5. +1
    21 ianuarie 2022 15:40
    Ciclul este grozav! Mulțumesc autorului pentru lucrare hi Pentru amatori ca mine, este ușor de citit.
  6. 0
    21 ianuarie 2022 19:02
    Interesant. Dar probabil nu Burroughs, ci Burrows, ca pe o medalie.
    1. 0
      21 ianuarie 2022 23:19
      Citat din Falcon5555
      Interesant. Dar probabil nu Burroughs, ci Burrows, ca pe o medalie.

      Numele scriitorului William Burroughs (de asemenea Burroughs) de pe IPA este propus să fie citit ca
      bʌroʊz sau bɜroʊz, aparent nu pot fi reprezentate mai aproape prin transcriere. Aici puteți distinge „rău” și „rău”? )
      1. 0
        22 ianuarie 2022 00:01
        Ca conform regulii generale a englezei. trebuie să fie închis a, adică prima ta alegere. Da, și am vrut imediat să adaug, dar acum o să explic că la final aș fi pronunțat un sunet mai aproape de „z” decât de „s”, ca pe o medalie. Aceasta se potrivește și cu prima opțiune.
  7. 0
    21 ianuarie 2022 21:21
    >superscalar pentru 2–3 operații
    Load-op și LD/ST+AGU nu sunt deloc un superscalar, sunt cel mult elemente CISC. O astfel de „superscalaritate” a fost chiar în 8080.
  8. +1
    22 ianuarie 2022 01:42
    Din păcate, este clar că „baza” articolului este deja destul de veche.
    Doare la ochi, de exemplu, astfel de propoziții: .... ca urmare, în 1986, două corporații, pentru a supraviețui, au fuzionat în UNISYS, care încă mai produce mainframe ...
    ÎNCĂ?!
    UNISYS a încetat să-și mai lanseze mainframe-urile încă din 2015 și acum a trecut complet la software și servicii (centru de date, integrare etc.).
    1. +3
      22 ianuarie 2022 11:27
      Sunt de acord, formularea nu este cea mai reușită, dar există același joc de cuvinte ca și în UNISYS în sine. La început au dezvoltat și susținut arhitectura originală, apoi au trecut la producția, de fapt, de servere Xeon obișnuite, continuând să le numească mainframe (și diferența dintre un server foarte puternic și un mainframe a fost în general ștearsă de la sfârșitul anilor 1980). ) și tot felul de „soluții integrate unice bla bla etc., apoi pur și simplu au încetat să vândă aceste servere și au început să le închirieze (de fapt, revenind la modelul istoric tradițional de utilizare a mainframe-urilor, abia acum se numește „închiriere a unui rack în centrul de date"). Acesta este paradoxul navei lui Tezeu - în ce moment s-au rupt în cele din urmă de trecutul lor? Când UNIVAC și Burroughs s-au unit și au încetat să producă? Când au trecut la arhitectura cu microprocesor, care emulează pur și simplu toate caracteristicile mașinilor lor? Când s-au răsturnat de la ea la Sion, cu emulația păstrată? Când s-a oprit emularea? Când au încetat să-și vândă serverele, dar au umplut centrele de date cu ele și au început să le închirieze? Ei bine, etc. etc. În general, există destule puncte în care se poate considera că totul a murit, deși compania este încă în viață - pe lângă aceasta, de fapt, doar IBM poate aduce istoria producției de calculatoare din secolul al XIX-lea în secolul al XXI-lea, deci în orice in caz ca e destul de bine.
  9. +1
    22 ianuarie 2022 17:07
    Timp de multe decenii, toată lumea a râs (și mulți râd din ignoranță) de copiatorul tehnologiei-China. Dar cu cât învăț mai mult, cu atât înțeleg mai mult că sloganul „noi am fost primii” este doar despre furtul tehnologiilor URSS. Cu excepția spațiului kmk. Nivelul de împrumut este fantastic. De la pixuri, lipici până la camere, computere, mașini-unelte, mașini și avioane. Da, iar copiile erau mai rele.
    1. +2
      23 ianuarie 2022 16:50
      Din păcate, folosirea celor furate a lăsat de dorit. Nimic rău nu se poate spune despre însuși faptul de a copia și de a fura secrete, cu atât mai mult pentru a condamna fosta URSS sau China, pentru că CAPITAL nu se câștigă, mai ales pornind, dar SE PRODUCE... cum? aceasta este o întrebare complet inutilă. Dar iată cum a fost folosit minatul în URSS - nu provoacă nimic altceva decât indignare și obscenități ....
    2. 0
      1 martie 2022 14:13
      Pur și simplu nu vreau să evaluez astfel de prostii, asta o spune cel care el însuși se ocupă doar de rescrierea surselor occidentale (sau a altora) (cum sunt eu, aici sunt...)
      Probabil că vine cineva.
      Despre de unde a venit. Știți măcar cine a creat arme nucleare pentru americani?
    3. 0
      26 august 2022 23:44
      Aici încă nu ai dreptate. În inginerie, există o regulă absolută „problemele similare dau naștere la soluții similare”.
      Adică doar faptul că copia este mult inferioară „originalului furat” spune doar că este... nu o copie! Aceasta este o dezvoltare complet independentă, posibil folosind un design (din fotografie) sau chiar o idee - dar a trecut prin calea completă de cercetare și dezvoltare înainte de a crea primul eșantion - în loc de recrearea originalului menționat în zadar (doar comparați calendarul și calitatea aceleiași UE - care au fost „copiate cinstit”, și mașini originale, în care numai datorită cunoașterii ulterioare a fost posibil să se găsească ceva în comun cu produsele străine.
  10. +1
    25 ianuarie 2022 16:44
    Dar cu cât învăț mai mult, cu atât înțeleg mai mult că sloganul „noi am fost primii” este doar despre furtul tehnologiilor URSS.

    URSS nu s-a angajat niciodată în furtul de tehnologie. A terminat tehnologia ca toate celelalte state din lume:
    - L-am dezvoltat singur;
    - cumparat pe bani;
    - copiat pe informații incomplete;
    - terminat ca trofeele în război, plătind cu sânge;
    - a făcut schimb cu aliații săi.
    Toate celelalte state au procedat la fel, cu Statele Unite pe primul loc.
    1. 0
      26 august 2022 23:48
      Primii au fost italienii - Catedrala lor din Milano este o copie contrafăcută a Kölnului (și săbiile lor, și mai ales tehnologia de forjare a bronzului, fuseseră furate din Pirinei cu milenii înainte).
      Deci URSS este departe de prima aici :)
  11. 0
    26 ianuarie 2022 13:20
    Îmi doresc foarte mult să citesc despre calculatoarele militare, atât URSS cât și SUA, ca să zic așa, să compar. Ciclul de articole despre apărarea antirachetă și calculatoare este pur și simplu superb, am recitit totul deja de trei ori, păcat că au eliminat posibilitatea de a copia articole pentru colecția mea. Mulțumesc mult.
  12. loc
    0
    25 februarie 2022 15:55
    Citat din looker-on
    Timp de multe decenii, toată lumea a râs (și mulți râd din ignoranță) de copiatorul tehnologiei-China. Dar cu cât învăț mai mult, cu atât înțeleg mai mult că sloganul „noi am fost primii” este doar despre furtul tehnologiilor URSS. Cu excepția spațiului kmk. Nivelul de împrumut este fantastic. De la pixuri, lipici până la camere, computere, mașini-unelte, mașini și avioane. Da, iar copiile erau mai rele.

    Dar acum, sper, avem „toate ale noastre?”. În special mașini-unelte.
    Acum Occidentul și Estul ne copiază totul? La urma urmei, au trecut 30 de ani...

    Cât despre mașini și avioane, nu trebuie să minți. Avioanele erau ale noastre, în urmă cu doar 30 de ani nici măcar nu erai în proiect și nu vedeai. Te gândești măcar cu capul – încordează-te – cum este posibil să creezi un complex militar-industrial și să concurezi – fără să ai ceva „al tău”?
    Despre pixuri; Principiul stiloului a fost brevetat la 30 octombrie 1888 în SUA de către John Loud. Și în 1904 a apărut prima minge „Parker” înainte de apariția URSS. În URSS, au fost produse în anii 60 în cantități uriașe.
  13. 0
    1 martie 2022 14:08
    capacitatea URSS de a injecta miliarde de petrodolari în dezvoltare?
    ce miliarde, ce petrol în anii 70?
    te rog nu atinge intrebarile despre care habar n-ai!