# IBM System/38

El System/38 és un miniordinador i un ordinador de gamma mitjana descatalogats fabricats i venuts per IBM. El sistema es va anunciar el 1978. El System/38 té adreçament de 48 bits, que era únic per a l'època, i un nou sistema de bases de dades integrat. Estava orientat cap a un entorn de sistema multiusuari. En aquell moment, el sistema típic manejava des d'una dotzena fins a diverses dotzenes de terminals. Tot i que el System/38 no va poder desplaçar els sistemes que es pretenia substituir, la seva arquitectura va servir com a base de l'IBM AS/400, molt més reeixit.

## Història

El System/38 es va presentar el 24 d'octubre de 1978 i es va lliurar el 1980. Desenvolupat amb el nom en codi "Pacific", es va comercialitzar l'agost de 1979. El sistema oferia una sèrie de funcions innovadores i va ser dissenyat per diversos enginyers, com Frank Soltis i Glenn Henry. L'arquitectura compartia moltes similituds amb el disseny del projecte fallit d'IBM Future Systems, inclòs el magatzem d'un sol nivell, l'ús de microcodi per implementar la funcionalitat del sistema operatiu i l'abstracció de la interfície de màquina. Havia estat desenvolupat durant vuit anys pel laboratori d'IBM a Rochester, Minnesota. El president de la Divisió General de Sistemes (GSD) d'IBM va dir en aquell moment: "El System/38 és el programa més gran que hem introduït mai a GSD i és un dels tres o quatre programes més grans que s'han introduït mai a IBM".
El sistema va ser dissenyat com a continuació per al System/3, però no és compatible amb aquests ordinadors. Els predecessors del System/38 inclouen el System/3 (1969), el System/32 (1975) i el System/34 (1977). El 1983 es va llançar el System/36 com un ordinador empresarial de gamma baixa per als usuaris que trobaven el System/38 massa car per a les seves necessitats. El System/38 va ser succeït per la família d'ordinadors de gamma mitjana IBM AS/400 el 1988, que originalment utilitzava una arquitectura de processador similar al System/38, abans d'adoptar processadors basats en PowerPC el 1995.

## Característiques del maquinari

La unitat del sistema IBM 5381 conté processador, memòria principal, emmagatzematge en disc, una unitat de revista de disquets i una consola del sistema amb teclat i pantalla. 5381 estava disponible al model 100 i al model 200.
La unitat del sistema IBM 5382 és físicament idèntica a la 5381, però amb processadors més potents, més memòria i més emmagatzematge en disc. 5382 estava disponible als models 300, 400, 500, 600 i 700.
Normalment, els usuaris interactuaven amb el sistema mitjançant terminals de la sèrie IBM 5250. El 1984, IBM va afegir la possibilitat d'adjuntar terminals orientats a gràfics que abans requerien un mainframe.

### Unitat de processament

El sistema inclou una unitat de processament central amb 512K, 768K, 1024K, 1280K o 1536K bytes d'emmagatzematge principal. El processador s'implementa en vint-i-nou xips Schottky TTL LSI muntats en una placa de circuit de 10 x 15". Inclou una unitat de gestió de memòria que admet la paginació de demanda, utilitzada pel programari del sistema per implementar una arquitectura de botiga d'un sol nivell.
La CPU System/38 compta amb un espai d'adreces de 48 bits, que es va seleccionar com a compromís entre l'adreçament de 64 bits, que alguns enginyers d'IBM volien per a una prova futura, i l'adreçament de 32 bits, que altres enginyers volien per estalviar costos. finalitats.

### Teclat/pantalla de la consola del sistema

La consola System/38 incorpora un teclat i una pantalla amb 16 línies de 64 caràcters, incompatibles amb els terminals 5250 connectats localment, que són 12x40 o 24x80, segons el model. El teclat està disponible per a l'operador del sistema per introduir ordres del llenguatge de control.

### Unitat de revista de disquet

La unitat de la revista de disquets és estàndard en tots els models.

## Arquitectura del programari
### Interfície màquina

El System/38 i els seus descendents utilitzen una arquitectura d'interfície de màquina per aïllar el programari d'aplicació i la major part del sistema operatiu de les dependències del maquinari, inclosos detalls com la mida de l'adreça i la mida del registre.
Els compiladors per a System/38 i els seus successors generen codi en un conjunt d'instruccions d'alt nivell conegut com a Machine Interface o MI. MI és un conjunt d'instruccions virtuals; no és el conjunt d'instruccions de la CPU subjacent. MI opera sobre objectes en lloc de les adreces o registres de memòria tradicionals.
A diferència d'altres arquitectures de màquina virtual en què les instruccions virtuals s'interpreten en temps d'execució (vegeu màquina de codi P), les instruccions MI mai s'interpreten. Constitueixen un pas de temps de compilació intermedi i es tradueixen al conjunt d'instruccions del processador com a pas de compilació final. Les instruccions MI s'emmagatzemen dins de l'objecte del programa final, a més de les instruccions de màquina executables. Si un programa es mou d'un processador amb un conjunt d'instruccions nadius a un processador amb un altre conjunt d'instruccions nadius, les instruccions MI es tornaran a traduir al conjunt d'instruccions nadius de la nova màquina abans que el programa s'executi per primera vegada a la màquina. màquina nova.
La TIMI (Technology Independent Machine Interface) d'OS/400 és una extensió compatible enrere del System/38 MI. Com a resultat, és possible que un programa desenvolupat originalment en un System/38 s'executi amb el maquinari actual d'IBM i sense ser recompilat mai.

### Microcodi

IBM es va referir a tot el codi sota la capa d'interfície de màquina de l'arquitectura System/38 com a microcodi i el va tractar com a part del maquinari. El terme microcodi es va utilitzar per cobrir una àmplia gamma de codis de baix nivell, que van des del microcodi tradicional, fins a la funcionalitat típicament associada amb els nuclis d'altres sistemes operatius, així com la implementació de la base de dades integrada. Hi havia dos nivells de microcodi al System/38:
* Microcodi horitzontal (HMC), que va implementar una arquitectura de conjunt d'instruccions de memòria de registre /memoria-memòria coneguda com a conjunt d'instruccions de microprogramació interna (IMP) o Interfície microprogramada interna (IMPI) utilitzant el microcodi natiu del sistema. processador de /38. Algunes funcionalitats de baix nivell i sensibles al rendiment, com ara la programació de tasques (és a dir, processos) i el pas de missatges, es van implementar directament al microcodi com a part del microcodi horitzontal. El microcodi horitzontal residia a la botiga de control ; corresponia al microcodi tradicional.
* Vertical Microcode (VMC), que va implementar la Machine Interface pel que fa a l'arquitectura IMPI; això es va implementar traduint el codi MI a codi IMPI i executant-lo. També va implementar la base de dades integrada i altres components del sistema operatiu que no es van poder implementar en termes d'instruccions MI. Això es va implementar mitjançant una barreja de muntatge PL/MP i IMPI. El microcodi vertical residia a la memòria principal.
L'ús del terme microcodi va derivar d'un cas antimonopoli el 1969 contra IBM que va donar lloc a que IBM desagrupés el programari dels seus productes de maquinari (és a dir, va requerir que el programari es comprés per separat del maquinari). En tractar el codi de baix nivell del System/38 com a part del maquinari, IBM va poder tractar el MI com el conjunt d'instruccions nadiu del System/38 i, per tant, tenir la llibertat de canviar l'IMPI i el microcodi com a maquinari subjacent. evolucionat. Els primers sistemes AS/400 van heretar l'estructura de microcodi System/38, però el terme microcodi es va abandonar, la qual cosa va portar a IBM a canviar el nom de les capes pel codi intern amb llicència vertical i el codi intern amb llicència horitzontal.

## Referències

* ↑ «IBM Archives: 1970s, year 1978» (en anglès). IBM, 23-01-2003. Arxivat de l'original el January 17, 2005.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.
* ↑ «IBM Rochester @ 50» (en anglès).
* ↑ «IBM System/38» (en anglès). IBM Archives, 23-01-2003.
* ↑ «IBM System/38» (en anglès). IBM Archives, 23-01-2003.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.
* ↑ IBM System/38 Technical Developments (en anglès). IBM Product Design and Development, General Systems Division, 1980. G580-0237-1. ISBN 0-933186-03-7.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.
* ↑ Levy, Henry M. «The IBM System/38». A: Capability-Based Computer Systems (en anglès). Digital Press, 1984. ISBN 0-932376-22-3.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.
* ↑ IBM System/38 Technical Developments (en anglès). IBM Product Design and Development, General Systems Division, 1980. G580-0237-1. ISBN 0-933186-03-7.
* ↑ Soltis, Frank IEEE Computer, 14, 9-1981, pàg. 77–93. DOI: 10.1109/C-M.1981.220610.
* 1 2 «IBM System/38 Internal Microprogramming Instructions, Formats, and Functions Reference Manual» (en anglès). IBM, 01-08-1985.
* ↑ David McKenzie. «Notes for storage research» (en anglès). Arxivat de l'original el October 8, 1999.
* ↑ «IBM System/38 Vertical Microcode Logic Overviews and Component Descriptions Manual» (en anglès). IBM, 01-09-1985.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.
* ↑ Frank G. Soltis. Inside the AS/400, Second Edition (en anglès). Duke Press, 1997. ISBN 978-1882419661.