Egy korai fejlesztésű számítógép esetében nehéz egy adott dátumhoz kötni annak megszületését, mert a létrehozása több fázison megy keresztül, de mégis lehet találni egy olyan pillanatot, amihez a megemlékezés a leginkább köthető. Az első elektronikus tároltprogram-vezérlésű számítógép, a Manchester Mark 1 esetében ez a dátum 1949. június 17-e, az elkészült számítógépen ezen a napon futott le az a Mersenne-prímszámokat kereső program, mely 9 órás folyamatos számítási munka után találta meg a megadott felső határig a Mersenne-prímeket. Mivel ez a program egyben a Mark 1 működési tesztje is volt, ennek a 70 éves évfordulónak az ürügyén emlékezik meg az ugyancsak 70 éves HTE a számítógépek fejlődéstörténetének erről a kiemelkedő mérföldkövéről.
A címben az szerepel, hogy ez volt az első tároltprogram-vezérelt elektronikus számítógép. Ha most többen is felkapják a fejüket, hogy nem ez volt az első számítógép, azoknak igazuk van, de éppen ezért felhívom a figyelmet arra, hogy a címben minden szónak jelentősége van. A korábbi számítógépek – pl. Konrad Zuse Z1, Z2 és Z3 gépei, az ENIAC, a Colossus, és az EDSAC – vagy elektromechanikus gépek voltak még, vagy pedig nem memóriában tárolt programot hajtottak végre. Az EDSAC – mely már a Neumann-elv szerint épült meg Cambridge-ben – szinte minden feltételét kielégítette a címben foglaltaknak, azonban a műveleti memóriája még soros elérésű késleltető- művonalas tár volt, nem pedig elektronikus. Az EDSAC így ugyan tároltprogram-vezérlésű volt és megelőzte a Mark 1-et – 1949. május 6-án futott rajta az első két hosszabb program, egy négyzetszám-generáló és egy prímszám-generáló algoritmus – de nem volt teljes egészében elektronikus.
A Manchesteri Egyetemen azonban már korábban megkezdődtek a kísérletek egy elektronikus, véletlen hozzáférésű gyorsmemória létrehozására. Az alapötletet a katonai lokátorokban használt katódsugaras cső működése adta, ahol az anód és a fékezőrács közötti pozitív vagy negatív feszültség – melyet az elektronágyúval hozunk létre – hosszú ideig állandó marad, így ez logikai „0”-k és „1”-ek tárolására alkalmas. Fred Williams (1911-1977) és Tom Kilburn (1921-2001) a második világháború alatt együtt dolgoztak a radar tökéletesítésén, majd 1946-ban kezdték meg a kísérleteiket a katódsugárcső memóriaként való felhasználására. Geoff Tootill (1922-2017) mérnökkel kiegészülve létrehoztak egy számítógépet a katódsugárcsöves memória működőképességének a bizonyítására.
Ez volt a Manchester Baby, amit SSEM (Small-Scale Experimental Machine) néven is emlegettek. A Manchester Baby beteljesítette a küldetését, sikerült 32x32 bites memóriát létrehozni a Williams-Kilburn csövek használatával és ezzel létrehozni az első véletlen hozzáférésű gyorsmemóriát. A Williams-Kilburn csöveknek persze még voltak hátrányai: egyrészt az információ a kiolvasáskor elveszett, tehát azt vissza kellett írni, ha még szükség volt rá, másrészt a memória idővel elvesztette a tartalmát, ahogy az anódon elkezdtek eloszlani az elektronok, így periodikusan frissíteni kellett a tartalmát. Miközben a katódsugárcsöves memóriát tesztelték, elkészült egy rövid program is a Baby számára, mely még nem volt teljesen kész számítógép, de kíváncsiak voltak az alkotók a megbízhatóságára. Ez a program, mely a 262 144 legnagyobb osztóját kereste meg egyszerű kivonásos algoritmussal. Az 1948. június 21-én lefuttatott program 52 percen át dolgozott, s 3,5 millió utasítást hajtott végre, míg eljutott a 131 072-höz, mint végeredményhez. Ezzel a megbízhatóságra vonatkozóan is információt nyertek a katódsugárcsöves gyorsmemória működése mellett.
Ebből a gépből fejlesztették ki végül a Manchester Mark 1 gépet. A modellhez a Philips EF50-es és a Mullard EF55-ös pentódáit használták, valamint nagyszámú EA50-es diódát is beépítettek. Összesen 4050 elektroncsövet tartalmazott a Mark 1, 25 kW fogyasztással, ami már egész kellemes érték volt a korábbiakhoz képest. A Baby CV1131-es, 30 cm-es átmérőjű katódsugárcsöve helyett itt már a CV1097-es, 15 cm átmérőjű csövét használták, a kapacitását pedig 32x64 bitesre bővítették. Emellett még egy 1024 szavas mágnesdob is tartozott a Mark 1-hez 30 msec-os forgási sebességgel és fázismodulációs rögzítéssel.
A Manchester Mark 1 soros aritmetikai-logikai egységet (ALU) használt, bináris fixpontos műveletekkel dolgozott. A Baby 32 bites szóhosszát 40 bitre bővítették ami 40 bites adat vagy 2 db 20 bites utasítás lehetett. A Baby 7 utasítása helyett a Mark 1 már 26 elemes utasításkészlettel rendelkezett. A címzést 20 bites címzési határral lehetett megvalósítani. A teljes kényelem kedvéért a bemeneti eszköz egy 5-lyukas papírszalagot fogadni képes Teletype konzol volt.
A Manchester Mark 1-et egy teljes éven keresztül fejlesztették a Baby alapjain, míg végül a megbízhatósági teszt elindítására 1949. június 16-án késő este került sor. A program – melyet Kilburn és Tootill írt meg Max Newman, a Manchesteri Egyetem matematika tanszéke vezetőjének az algoritmusa nyomán – feladata a Mersenne prímek megkeresése volt és kilenc órán keresztül futott a gépen hibátlanul. Mersenne prímeknek azokat a prímszámokat nevezzük, melyek 2n-1 alakban írhatóak fel, ahol n szintén prímszám. Ilyen prím például a 31, ami 25-1 vagy a 131 071, ami 217-1, ahol az 5 is, a 17 is prímszám. A Mersenne prímek Marin Mersenne (1588-1648) francia szerzetesről és matematikusról kapták a nevüket.
A Manchester Mark 1 korabeli sikerét mutatja, hogy a Ferranti cég – némi továbbfejlesztés után – átvette a gyártását és kereskedelmi forgalomba hozták Ferranti Mark 1 néven. Az eladási statisztika mai szemmel nem verdeste az eget, mert kilenc darabot adtak el belőle, de ez az ötvenes évek elején komoly teljesítménynek számított. Ne feledjük, akkor még sokan idézték Thomas J. Watsonnak, az IBM elnökének az 1943-as jövendölését: „Szerintem a világpiacon legfeljebb öt számítógépet és legfeljebb 5 ezer másológépet lehet majd eladni”. Tíz évvel a jóslat után a Ferranti ezt kétszeresen is túlhaladta.
dr. Bartolits István