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:

  1. Het creëren van een webbrowser-gebaseerde emulator voor de Model 2-variant van het systeem.
  2. 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

SiteURL
Emulator hosting sitehttp://www.phkimpel.us/IBM-1620/
Project Wikihttps://github.com/pkimpel/retro-1620/wiki/
Project Bloghttps://retro-emulation.blogspot.com/
1620 Documenten bij bitsavershttp://bitsavers.org/pdf/ibm/1620/
1620 Software bij bitsavershttp://www.bitsavers.org/bits/IBM/1620/
1620 Wikipedia paginahttps://en.wikipedia.org/wiki/IBM_1620