Het artikel beschrijft het IBM 1620, een getransistoriseerd computersysteem uit de jaren 60 dat specifiek was ontworpen voor wetenschappelijke en technische toepassingen. Er wordt een vergelijking gemaakt tussen het Model 1 (1959) en het snellere Model 2 (1962), waarbij het Model 2 verbeteringen bood in geheugencycli en hardwarematige optellingen.
Kernpunten van de architectuur:
- Gebruik van een two-address, memory-to-memory architectuur zonder software-toegankelijke registers.
- Geheugen gebaseerd op Binary-Coded Decimal (BCD) met een capaciteit van 20.000 tot 60.000 cijfers.
- Ondersteuning voor diverse randapparatuur zoals ponsbanden, kaartlezers en de 1311 schijfactionair.
Daarnaast wordt ingegaan op de software, waaronder de SPS-assembler en FORTRAN II. Het artikel concludeert met de doelen van het retro-1620 project: het ontwikkelen van een webbrowser-gebaseerde emulator voor het Model 2 en het herstellen van historische software.
retro-1620: Webgebaseerde emulator en besturingsomgeving voor het IBM 1620 Model-2 computersysteem
Architectuur en Geheugen
De 1620 maakte gebruik van een "two-address, memory-to-memory"-architectuur. Er waren geen registers toegankelijk via software. Instructies hadden een vaste lengte van 12 cijfers, bestaande uit:
- Een operatiecode van twee cijfers.
- Een "P"-adres van vijf cijfers (meestal de bestemmingsoperand).
- Een "Q"-adres of letterale waarde van vijf cijfers (meestal de bronoperand).
De basisgeheugengrootte was 20.000 cijfers, uitbreidbaar tot 60.000 cijfers. Elk cijfer bevatte:
- Een vier-bit binary-coded decimal (BCD) waarde.
- Een vijfde "flag"-bit, die werd gebruikt voor zowel het rekenkundige teken als een veldbegrenzer.
- Een "check"-bit voor oneven pariteit.
Alle rekenkundige bewerkingen en databewegingen werden cijfer-sequentieel uitgevoerd.
Modelvergelijking
Model 1
Het Model 1 had een geheugencyclus van 20µs per twee cijfers. Optellen en vermenigvuldigen gebeurden via een opzoektabel in het geheugen. Hardwarematige deling, floating-point rekenkunde en indirecte adressering waren optionele functies.
Model 2
Het Model 2 had een geheugencyclus van 10µs per twee cijfers. Veel instructies waren geoptimaliseerd om twee Q-operandcijfers uit één geheugenophaling te verwerken. Optellen werd via hardware gedaan, maar vermenigvuldigen gebeurde nog steeds via een opzoektabel. Hardwarematige deling en indirecte adressering waren standaardfuncties; floating-point bleef een optie tegen extra kosten.
Het Model 2 had twee aanvullende opties:
- Index register adresmodificatie (waarbij de indexregisters in het geheugen werden opgeslagen op adressen 00300-00399, waar bij Model 1 de opteltabel stond).
- Ondersteuning voor binaire (eigenlijk octale) bit-gewijze bewerkingen, octaal/decimaal conversie en binaire ponsband-I/O.
Randapparatuur en I/O
Aanvankelijk ondersteunde het Model 1 alleen ponsbanden en typemachines voor invoer en uitvoer. Kort na de lancering werd de 1622 kaartlezer/ponser beschikbaar (afgeleid van de model 1402 reader/punch van de IBM 1401). Andere randapparatuur omvatte:
- De 1443 regelprinter.
- De 1311 schijfactionair met verwisselbare schijfpakken.
- De 1627 plotter.
De typemachine, ponsband, ponskaart en printer ondersteunden alphanumeric data in het geheugen in de vorm van paren van aangrenzende cijfers.
Procesbesturing en Software
De 1620 werd ook ingezet als het reken- en besturingscomponent van de IBM 1710 en 1720 procesbesturingssystemen. In deze configuratie ondersteunde de 1620 verschillende extra instructies en een multi-level interruptsysteem.
Er was een uitgebreide collectie aan software beschikbaar, zowel geleverd door IBM als geschreven door gebruikers. De meeste programmering gebeurde met de SPS-assembler of FORTRAN II. Voor systemen met de 1311 schijfactionair was er een eenvoudig batch-besturingssysteem genaamd "Monitor".
Projectdoelen
De hoofddoelen van dit project zijn:
- Het creëren van een webbrowser-gebaseerde emulator voor de Model 2-variant van het systeem.
- Het herstellen van zoveel mogelijk software voor het systeem als er gevonden kan worden.
Licentie
De inhoud van dit project is gelicenseerd onder de MIT-licentie.
Gerelateerde websites
| Site | URL |
| Emulator hosting site | http://www.phkimpel.us/IBM-1620/ |
| Project Wiki | https://github.com/pkimpel/retro-1620/wiki/ |
| Project Blog | https://retro-emulation.blogspot.com/ |
| 1620 Documenten bij bitsavers | http://bitsavers.org/pdf/ibm/1620/ |
| 1620 Software bij bitsavers | http://www.bitsavers.org/bits/IBM/1620/ |
| 1620 Wikipedia pagina | https://en.wikipedia.org/wiki/IBM_1620 |
retro-1620: Webgebaseerde emulator en besturingsomgeving voor het IBM 1620 Model-2 computersysteem
Architectuur en Geheugen
De 1620 maakte gebruik van een "two-address, memory-to-memory"-architectuur. Er waren geen registers toegankelijk via software. Instructies hadden een vaste lengte van 12 cijfers, bestaande uit:
- Een operatiecode van twee cijfers.
- Een "P"-adres van vijf cijfers (meestal de bestemmingsoperand).
- Een "Q"-adres of letterale waarde van vijf cijfers (meestal de bronoperand).
De basisgeheugengrootte was 20.000 cijfers, uitbreidbaar tot 60.000 cijfers. Elk cijfer bevatte:
- Een vier-bit binary-coded decimal (BCD) waarde.
- Een vijfde "flag"-bit, die werd gebruikt voor zowel het rekenkundige teken als een veldbegrenzer.
- Een "check"-bit voor oneven pariteit.
Alle rekenkundige bewerkingen en databewegingen werden cijfer-sequentieel uitgevoerd.
Modelvergelijking
Model 1
Het Model 1 had een geheugencyclus van 20µs per twee cijfers. Optellen en vermenigvuldigen gebeurden via een opzoektabel in het geheugen. Hardwarematige deling, floating-point rekenkunde en indirecte adressering waren optionele functies.
Model 2
Het Model 2 had een geheugencyclus van 10µs per twee cijfers. Veel instructies waren geoptimaliseerd om twee Q-operandcijfers uit één geheugenophaling te verwerken. Optellen werd via hardware gedaan, maar vermenigvuldigen gebeurde nog steeds via een opzoektabel. Hardwarematige deling en indirecte adressering waren standaardfuncties; floating-point bleef een optie tegen extra kosten.
Het Model 2 had twee aanvullende opties:
- Index register adresmodificatie (waarbij de indexregisters in het geheugen werden opgeslagen op adressen 00300-00399, waar bij Model 1 de opteltabel stond).
- Ondersteuning voor binaire (eigenlijk octale) bit-gewijze bewerkingen, octaal/decimaal conversie en binaire ponsband-I/O.
Randapparatuur en I/O
Aanvankelijk ondersteunde het Model 1 alleen ponsbanden en typemachines voor invoer en uitvoer. Kort na de lancering werd de 1622 kaartlezer/ponser beschikbaar (afgeleid van de model 1402 reader/punch van de IBM 1401). Andere randapparatuur omvatte:
- De 1443 regelprinter.
- De 1311 schijfactionair met verwisselbare schijfpakken.
- De 1627 plotter.
De typemachine, ponsband, ponskaart en printer ondersteunden alphanumeric data in het geheugen in de vorm van paren van aangrenzende cijfers.
Procesbesturing en Software
De 1620 werd ook ingezet als het reken- en besturingscomponent van de IBM 1710 en 1720 procesbesturingssystemen. In deze configuratie ondersteunde de 1620 verschillende extra instructies en een multi-level interruptsysteem.
Er was een uitgebreide collectie aan software beschikbaar, zowel geleverd door IBM als geschreven door gebruikers. De meeste programmering gebeurde met de SPS-assembler of FORTRAN II. Voor systemen met de 1311 schijfactionair was er een eenvoudig batch-besturingssysteem genaamd "Monitor".
Projectdoelen
De hoofddoelen van dit project zijn:
- Het creëren van een webbrowser-gebaseerde emulator voor de Model 2-variant van het systeem.
- Het herstellen van zoveel mogelijk software voor het systeem als er gevonden kan worden.
Licentie
De inhoud van dit project is gelicenseerd onder de MIT-licentie.
Gerelateerde websites
| Site | URL |
| Emulator hosting site | http://www.phkimpel.us/IBM-1620/ |
| Project Wiki | https://github.com/pkimpel/retro-1620/wiki/ |
| Project Blog | https://retro-emulation.blogspot.com/ |
| 1620 Documenten bij bitsavers | http://bitsavers.org/pdf/ibm/1620/ |
| 1620 Software bij bitsavers | http://www.bitsavers.org/bits/IBM/1620/ |
| 1620 Wikipedia pagina | https://en.wikipedia.org/wiki/IBM_1620 |