# Burroughs Corporation

La Burroughs Corporation fou un important empresa estatunidenca fabricant de màquines d'oficina i ordinadors. La companyia va ser fundada l'any 1886. L'any 1996 es va fusionar amb Sperry per formar Unisys.

## Breu Cronologia

* 1886: Es crea la American Arithmometer Company per tal de fabricar i vendre la primera sumadora comercial que havia estat inventada per William Seward Burroughs.
* 1905: Es canvia el nom de l'empresa per Burroughs Adding Machine, en honor del fundador de l'empresa que havia mort el 1898.
* 1911: Treu al mercat la seva primera màquina que era capaç de sumar i restar.
* 1923: Treu al mercat una màquina registradora que és capaç de fer multiplicacions.
* 1925: Treu al mercat la primera sumadora portàtil, el seu pes era de 20 lliures (aproximadament 10 kg).
* 1928: Burroughs ven la seva sumadora un milió.
* 1953: Introdueix en el mercat la primera sumadora que té 10 tecles. A més canvia el seu nom a Burroughs Corporation per possibilitar-li així l'entrada al mercat dels computadors de propòsit general.
* 1956: Apareix el B205 la primera màquina Burroughs que es pot anomenar computador.
* 1959: Fa servir per primera vegada la tecnologia MICR (Reconeixement de caràcters mitjançant tinta magnètica).
* 1961: Apareix la sèrie B5000, la primera que té doble processador i memòria virtual i de la qual se'n derivaria tota la gamma de main-frames de Burroughs.
* 1984: Apareix la sèrie A, la que seria la predecessora dels actuals sistemes ClearPath IX.
* 1986: Sperry i Burroughs es fusionen per formar Unisys.

## Els seus ordinadors més importants

Burroughs Corporation ha fabricat molts models diferents d'ordinadors. Hi ha quatre famílies de màquines importants. En primer lloc hi ha la B205, la primera computadora fabricada per Burroughs; en segon lloc, la sèrie B5000 de main-frames; en tercer lloc la sèrie B2000 de sistemes mitjans, i finalment la sèrie B1000, que eren els sistemes petits.
La idea que tenia Burroughs de què les màquines eren diferents, tant en mida com en concepte, es denota en què cadascuna de les tres sèries principals (la B5000, la B2000 i la B1000) estan concebudes amb finalitats diferents. Els grans sistemes que funcionaven amb piles eren extremadament ràpids executant Algol. Els sistemes mitjans orientats a les empreses estaven pensats per poder executar ràpidament Cobol. I finalment les màquines de la sèrie inferior, les B1000 eren les més universals de totes doncs feien servir "màquines virtuals" per executar qualsevol llenguatge.

### El B205

El B205, aparegut el 1956, es pot considerar el primer computador de propòsit específic que va produir Burroughs i estava format bàsicament per 5 components: els dispositius d'entrada, l'emmagatzematge, la unitat aritmètica, la unitat de control i els dispositius de sortida. Tot i això la seva característica principal i el que el feia diferent de tots els altres computadors era la seva memòria volàtil.
Aquesta s'emmagatzemava en un tambor magnètic rotatori en el qual hi havia 4000 paraules de 40 bits cadascuna organitzades en 10 bytes (entenguem-ho aquí com una agrupació de bits) de 4-bits. Cadascun del bytes tenia 16 possibles estats, és a dir podria emmagatzemar un dígit hexadecimal, però lamentablement tots els dígits eren interpretats de manera decimal així que 6 de les possibles combinacions eren menyspreades. Quan es volien representar caràcters s'agafaven 2 bytes contigus amb el que es podien representar fins a 100 caràcters diferents. Això permetia fàcilment representar els 52 caràcters (en majúscules i minúscules de l'alfabet anglès), els 10 dígits decimals i la resta eren caràcters especials (suficients per a la programació en Fortran i Algol).
El temps d'accés mitjà a la memòria era de 20 ms, tot i això hi havia 4 blocs de 20 paraules extra que s'anomenaven memòria ràpida, implementada de manera una mica curiosa, car per aconseguir un temps d'accés de 2 ms estaven repetides 10 vegades al voltant.
Cada instrucció de llenguatge màquina ocupava una paraula incloent-hi els dos dígits que indicaven el codi d'operació, tot i que n'hi havia algunes que permetien ser escrites amb mitja paraula. Per culpa de la memòria ràpida, el codi havia d'escriure's en blocs de 20 paraules (que residirien en la memòria ràpida), i a més l'última instrucció de cada bloc havia de ser del tipus "transfer & block", que indicava a la màquina que havia d'anar a un altre bloc de memòria per seguir l'execució del programa actual. En cas que s'hagués d'aplicar alguna modificació al codi i aquesta el fes més llarg desfeia tots els blocs el que feia haver d'escollir entre executar algunes instruccions fora de memòria ràpida o bé refer tot el codi perquè s'ajustes a l'esquema de blocs de la màquina.
D'altra banda hi havia 3 dispositius d'entrada sortida. D'una banda una unitat de cinta, de la qual es diu que era molt fiable tot i que evidentment era molt més lenta que les unitats actuals; el seu sistema d'emmagatzematge era curiós doncs els blocs es ficaven en posicions determinades de la cinta i no en qualsevol lloc, se solien fer servir per emmagatzemar els compiladors i el que es podria dir sistema operatiu. L'altre dispositiu de sortida era una consola d'operador semblant a un teletip que es podia fer servir com a impressora. Finalment hi havia una unitat de targetes perforades que tenien 5 files de les quals les 4 primeres eren la representació d'un byte i la cinquena era un bit de paritat, a més després de cada paraula hi havia una columna que es dedicava a paritat però en aquest cas horitzontal. És interessant destacar que igual que s'havia de tenir en compte l'ocupació de la memòria alhora de modificar els programes també s'havia de tenir en compte la modificació en les targetes, així s'havia de fer "cut & paste" amb les targetes i recalcular les paritats per a poder tornar a fer el programa operatiu un altre cop.

### La sèrie B5000

Aquesta sèrie es considera com la sèrie de les màquines més grans que fabricava Burroughs. El primer ordinador d'aquesta sèrie va ser el B500, dissenyat el 1961. L'arquitectura que incorporaven aquelles màquines se segueix fent servir en la producció de les màquines Unisys ClearPath/MCP que han estat les seves successores. La raó per la qual encara se segueix fent servir com a disseny vàlid és la seva excel·lència com a disseny que li va valer els elogis del dissenyador de processadors John Mashley.
Burroughs (1961-1986) :
| B5000 | 1961 | màquina inicial, ordinador de 2à generació (transistor) |
| B5500 | 1964 | millora velocitat 3x |
| B6500 | 1969 | ordinador de 3à generació(circuits integrats), fins a 4 processadors |
| B5700 | 1971 | nou nom per al B5500 |
| B6700 | 1971 | nou nom i amb arranjaments del B6500 |
| B7700 | 1972 | processador més ràpid, fins a 8 processadors |
| B6800 | 1977? | memòria RAM, arquitectura NUMA |
| B7800 | 1977? | memòria RAM, més ràpid, fins a 16 processadors |
| A Series | 1984 | reimplementat amb circuits integrats més ràpids |
El Burroughs B5000 considerat per molts el primer computador de "tercera generació" es caracteritzava per estar dissenyat específicament per suportar de manera nativa llenguatges d'alt nivell (bàsicament ALGOL i Cobol). Els aspectes que més destaquen d'aquesta arquitectura són l'ús d'una pila gestionada per hardware per realitzar càlculs i l'ús extensiu de descriptors per l'accés a dades. També destaca l'ús de memòria virtual: va ser una de les primeres màquines a fer-la servir i el suport per a multiprogramació i multiprocessador. Finalment una característica força destacada tenint en compte els anys en què es va dissenyar: disposava de dues regions de memòria separades que s'indicaven segons un bit, cosa que permetia protegir determinades regions, habitualment la part de codi de les aplicacions, amb això es podien gestionar i crear processos privilegiats i processos que no ho eren.
En les dues següents màquines la B5500 i la B6500, aparegudes el 1964 i 1966 respectivament, no s'hi van dur a terme excessius canvis. Es va estendre l'ús de descriptors i es va complementar el bit de control de regions de memòria convertint-lo en un flag amb 3 bits. En successives revisions aquestes màquines van esdevenir el B6700, B7700 i altres, el major canvi dels quals era augmentar la quantitat de processadors que es feien servir tant de propòsit general com específics d'entrada / sortida. En aquesta mateixa sèrie de màquines, tot i que no des del principi es van anar incorporant diversos canvis per fer més ràpides les operacions amb vectors i arrays numèrics, similars a les extensions MMX que incorporaven els processadors dels 90 però 20 anys abans. Posteriorment val la pena destacar el B6800 caracteritzat per incorporar una nova jerarquia de memòria basada en un diferent temps d'accés depenent del nivell de jerarquia a on es vol accedir i en el concepte de memòria global, aquestes idees són les que estan darrere de les actuals jerarquies tipus NUMA i CC-NUMA implantades en el sistemes multiprocessadors i supercomputadors.

### La sèrie B2000-B4000

Les màquines B2000-B4000 concebudes per ser la gamma mitjana en el segment de main-frames eren unes màquines força curioses a causa que estaven dissenyades per a suportar programes fets en Cobol de la manera més eficient possible. Pel mateix motiu, el hardware estava optimitzat per realitzar les operacions habituals que feia servir Cobol. El més impressionant de tot era que tota la màquina era decimal. És a dir, l'aritmètica la feia en decimal i els accessos a memòria els feia amb adreces escrites en decimal al contrari que la majoria dels computadors que treballen en base 2. Altres optimitzacions existents en aquestes màquines són per exemple que l'operació de suma de Cobol podia ser traduïda a una instrucció en llenguatge màquina, etc. A més de les optimitzacions aquesta sèrie es caracteritzava per ser multi-programada i permetre que funcionessin sobre una mateixa màquina de l'ordre de 10 processos simultanis.
Finalment comentar que el seu mitja d'entrada i sortida de dades eren les cintes magnètiques, tot i això aquestes també se solien fer servir com a biblioteques en què residien programes per a clients específics que s'anaven a buscar quan aquests ho demanaven.

### La sèrie B1000

Les màquines de la sèrie B1000 es distingien de la resta de màquines perquè emulaven un control d'escriptura el que els permetia simular qualsevol altra màquina. En particular el MCP (Master Control Program, que generosament es pot considerar un sistema operatiu) planificava els treballs per enviar-los al processador i en cas que fos necessari carregava l'intèrpret del llenguatge que es necessités, solien estar disponibles el de Cobol, Fortran, etc.
Les característiques de maquinari que permetien fer eficient això eren les següents: la memòria era adreçable a nivell de bits, cosa que permetia accedir directament allà on es volia, la mida de les paraules de la ALU era variable, el parsejat d'instruccions estava optimitzat gràcies a l'habilitat de fer ORs en els registres d'instruccions. A més i per tal de no decebre l'àmbit de negoci més ample que tenia Burroughs també es permetia que la ALU treballes en base decimal. Internament les màquines feien servir instruccions de 16 bits i un bus de dades de 24 bits; tot i que més endavant es va ampliar fins a 32 bits. Finalment comentar que la capacitat d'adreçament de memòria d'aquesta sèrie de màquines era de 2MB que ara pot semblar molt poc però que comparat amb la quantitat de memòria estàndard que tenien les màquines en aquell temps, aproximadament 100 KB, era molt.