Dataarkæologi, kopisikring, kryptering og den slags...

Som jeg har nævnt tidligere, er jeg igang med at skrive en software emulering af Datamuseum.dk's R1000 s400 computer

Jeg indrømmer blankt at det startede som et HMBAWT projekt, men det skrider stille og roligt fremad.

Den foreløbigt eneste stopklods forsvandt denne weekend, idet det lykkedes mig at læse indholdet af den kopisikrede 8051 microcontroller der sidder på RAM kortene.

Objektivt set er der ingen grund til at den 8051 er kopisikret, det var tilsyneladende ikke engang noget Rationel have bedt om, men bare noget Intel gjorde per default, hvis man købte fabriksprogrammerede microcontrollere på det tidspunkt.

I teorien kan det godt være at der et eller andet sted i verden, på en eller andet datamedie i en eller andens kælder ligger en kopi af denne microkode, men held og lykke med jagten...

Nu om dage er vores primære bekymring i Datamuseum.dk om databærende medier faktisk virker eller om de er begyndt at tabe bits.

Det kan være forbavsende svært at gennemskue.

Jeg kæmpede f.eks for nyligt med to "piggy-back" EPROM'er fra en NASCOM-2 computer.

Fordi der stod "SKAK" på den mærkat der mørklagde vinduet, antog jeg at det var Z-80 kode jeg ledte efter, men der var alt for mange 0x0 og 0xf.

Heldigvis var der nogen jeg kunne spørge:

Illustration: Datamuseum.dk

Duh!

De mest værdifulde arkælogiske fund, har altid været dem der oprindeligt var et uheld, nogen der tabte eller mistede noget, noget som blev fundet eller fisket op mange generationer senere.

Disse fund er særligt værdifulde fordi de ikke er iscenesat, I modsætning til når folk faktisk har gjort noget for at eftertiden skulle vide et og andet og naturligvis præsenteret sagen fra bedste side ved den lejlighed.

Indtil videre har kopisikring og kryptering ikke været noget stort problem for vores arkæologiske arbejde, men vores uformelle "mindst 25 år gammelt" regel er ved at nå til 1997 og hvor kryptering ikke længere kun var et folkloristisk ritual kaldet "PGP Key-Signing" som IT-nørder hyggede sig med på deres konferencer.

Vi har allerede kasseret enkelte artifakter som "værdiløse", fordi de var krypterede og det ikke så ud som om det ville være besværet værd, selvom det sikkert kun var DES med et dårligt password.

Det kommer vi til at se mere fremover, i takt med at 25 gammel teknologi bliver mere og mere kompetent.

Men indtil videre går det meget godt, og der er masser af interessante og udfordrende projekter at tage fat på i Datamuseum.dk.

Det kunne f.eks være ret sjovt at få en NASCOM-2 til at spille skak igen...

phk

Kommentarer (28)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Bjarke Rodas

Eller er det her indlæg lidt mere end almindeligt sort, selv for de af og til halvindforståede arkæolog posts? Jeg kan simpelthen ikke vride min hjerne rundt om hvad du f.eks. mener med

Fordi der stod "SKAK" på den mærkat der mørklagde vinduet, antog jeg at det var Z-80 kode jeg ledte efter, men der var alt for mange 0x0 og 0xf.

Tommelop hvis enig, tommelned hvis det er mig, der er blank :-)

  • 20
  • 10
#3 Michael Damsgaard

Jeg gætter forsigtigt på at det PHK mener, er at han antog at han ville finde Z-80 instruktioner og opkoder på en EPROM (der typisk beskyttes mod indstråling af lys af et lys-ugennemtrængelig "mærkat") (som der stod SKAK på) , men at han opdagede at dataene havde en voldsom bias mod 0x0 og 0xFF, og derfor udledte han at der måtte være tale om sort/hvid bitmap-data ..

  • 12
  • 0
#5 Ditlev Petersen

Et eller andet sted har jeg en EPROM monteret i et printerkabel, der oversætter fra SHARPs noget ustandardiserede ASCII til en standard-ASCII. Egentlig meget enkelt - de 8 bits tegnkode fra SHARP-maskinen, bruges som adresse på EPROM'en, ud kommer den rette kode. En omskifter gør det muligt at køre direkte, hvis man printer bitmap.

Ikke min opfindelse, den er købt.

  • 2
  • 0
#7 Nis Schmidt

Klokfrekvensen er siden Z80 vokset med ca 1000x og ord-længden med ca 8x, er det også tilfældet med volumen af ind/uddata?

Næppe, for i samme tidsrum er programstørrelser vokset med ca 1E6x.

I 1980 var "cut-the-crap" en valid optimeringsteknik, i dag fylder hurtigere programmel lidt mere jævnfør MIT 6.172.

  • 0
  • 0
#8 Poul-Henning Kamp Blogger

Klokfrekvensen er siden Z80 vokset med ca 1000x og ord-længden med ca 8x, er det også tilfældet med volumen af ind/uddata?

Det passer simpelthen ikke.

I 1950'erne var ordlængden mediant 40 bits, minicomputere var typisk 16 bits og anden generation af minicomputerne var alle 32 bits (VAX, Ecclipse osv.)

Der var mig bekendt ingen der lavede så kort ordlængde som 4 og 8 bits før det blev nødvendigt for at klemme altting sammen på en manuelt tegnet chip.

Der var serielle computere som Olivetti P101, men det er en helt anden historie.

Den Rational 1000 computer jeg roder med for tiden er fra firserne og har 128 bits ordlænge: 64 til data, 64 til type.

Men du har ret i at nostalgi ikke er hvad det har været...

  • 9
  • 0
#9 Nis Schmidt

Det passer simpelthen ikke.

Nå ikke?

Z80 var i slut-70erne en (meget) udbredt microprocessor, i dag er x64 og ARM64. De første havde 1-2 MHz, de sidste 3-4 GHz. Så det ...

(Kunne ikke finde den Rainbow reklame fra firserne som illustrerer.)

Ja, det har (nok) altid eksisteret computere med længere (eller kortere) ord end mainstream, men de var ikke udbredte.

TOPS maskinerne (10 og 20) havde ordlængder på 36 bits. Og nogle af samtidens microer havde (mig bekendt) ordlængde på 12 bits.

Men der er rigtigt, at x86 og PDP-11 fik fastlagt et ord til 16 bit. 32 bit blev kaldt 'double word' og 64 bit 'quad word'.

Men du har ret i at nostalgi ikke er hvad det har været...

Der tager du fejl [igen];-) Nostalgi er præcis hvad det (siden antikken) altid har været - for forskellige mennesker. I starten af nullerne (vist '02) havde jeg et diagram over klokhast., OS-size og RAM-size; ekstrapolerede man disse kurver frem mod 2020 kunne man se at de skar hinanden i 2015 (tolkning: de blev aldrig færdige med at boote).

Formålet med dystre forudsigelser som denne er og har altid været, at blive gjort til skamme - for udviklingen er jo vanskelig at forudse.

Hvornår "Moores lov" endte/ender kan man diskutere: nogle siger ved 7nm/4GHz andre ved 3nm/5GHz; men cache-størrelser bestemmer i praksis (sammen med fysikken) hvor længe det giver mening at fortsætte.

Moderne oversættere (compilere) kan i dag eliminere "død kode", men vi skal måske op på "tankelæsende compilere", før de kan optimere programmerne "rigtigt". [Spoiler udeladt af "pladshensyn":-)]

  • 1
  • 1
#10 Thomas Lund Nielsen

Uanset hvad, så skal nogen gøre noget ved V2's hjemmeside; min MacBook Pro bliver glohedende nedenunder i højre side (ja, det er en Intel) og det oplever jeg ikke på andre hjemmesider, ikke engang chess.com... :o)

Websiden bruger meget energi. Hvis du lukker den, kan det forbedre din Macs svartider.

  • 2
  • 2
#12 Ditlev Petersen

Nå ikke?

Z80 var i slut-70erne en (meget) udbredt microprocessor, i dag er x64 og ARM64. De første havde 1-2 MHz, de sidste 3-4 GHz. Så det ...

Men så må man jo konkludere, at computere mellem 1950 og 1975 blev langsommere og havde kortere ordlængde. 4004 havde vist en 4 bit "ordlængde".

8080 og Z80 var nyskabende men aldrig state of the art. En god gammel GIER kunne løbe i cirkler om mange af de små legetøjsmaskiner/hjemmedatamater i begyndelsen af 80'erne. Rent bortset fra at de af og til blev for varme. Men hjemmedatamaterne havde da bedre grafik og af og til større hukommelse.

  • 3
  • 0
#13 Chris Bagge

computere mellem 1950 og 1975 blev langsommere og havde kortere ordlængde

Her er det nok vigtigt at skelne mellem computere og microprocessorer. Da Intel 4004 kommer bearbejder den 4 bit af gangen. Det er væsentligt mindre end datidens computere men de har indhentet det sidenhen. Microprocessoren med den smalleste databus var i øvrigt Motorola MC14500 der havde en 1 bit data bus og 16 instruktioner.

  • 2
  • 0
#14 Jørgen Rasmussen

Motorola Der refereres hele tiden til Intel mikroprocessorer. Desværre tabte Motorola kampen om mikroprocessormarkedet og laver i dag kun kundespecificerede enheder. Men dengang i svundne tider (70/80erne) havde jeg fornøjelsen at arbejde med M6809, og dens instruktionssæt og lagerstyring slog den samtidige I8051 med flere længder. Bare for at huske på at andre også var med.

  • 2
  • 0
#17 Chris Bagge

Og nogle af samtidens microer havde (mig bekendt) ordlængde på 12 bits.

Ja det var især pdp8, en af de første egentlige minicomputer. Ordlængden gjorde at det "normale" adresseområde blev begrænset til 4 096 ord. Der blev senere lavet en "chip" udgave af den, Intersil IM6100. Dette var muligt da pdp8 var udviklet for føderale midler og derfor åben information. Det var kendskaben til pdp8 og alt det den kunne bringes til at lave der fik Intel til at udvikle 4004 til busicom i stedet for et sæt kredse med dedikert logik.

  • 0
  • 0
#19 Troels Henriksen

Klokfrekvensen er siden Z80 vokset med ca 1000x og ord-længden med ca 8x, er det også tilfældet med volumen af ind/uddata?

Det er misvisende at kigge på klokfrekvensen, da den ikke har en lineær relation med ydelsen. Internettet fortæller mig at en 4MHz Z80 fra 1977 har en ydelse på 0.580 MIPS. En 4.6GHz Ryzen 3950X yder ifølge Internettet 749070 MIPS - altså lidt mere end 1000x højere frekvens (som du selv siger), men en forøgelse i rå regnekraft på over en faktor million. (Hvis man måler FLOPS i stedet bliver forskellen nok absurd.)

Jeg er ikke gammel nok til at vide hvad hukommelsesbåndbredden er på en Z80, men mon ikke den kan kapere en 8-bit læsning fra RAM per klokcykel? Ved 4MHz giver det så ca. 4MiB/s. En Ryzen 3950X har en absolut maksimal båndbredde fra RAM på 47.68GiB/s, hvilket er omkring 10000x mere (i praksis er der selvfølgelig også cache-effekter osv).

Så ikke specielt overraskende: I forhold til regnekapaciteten er hukommelseshastigheden blevet en faktor hundrede langsommere siden Z80. Hvis vi kun kiggede på klokfrekvens ville der dog ikke være nogen forskel - faktisk ville det se ud til at hukommelsen var blevet hurtigere!

Som andre har nævnt ovenfor er en Z80 dog måske ikke en fair repræsentant for 1977's formåen - det var en billig chip der havde stor indflydelse, men ikke fordi det var den hurtigste man kunne få. En Ryzen 3950X er derimod en high-end forbrugerchip, som ikke er meget langsommere end de hurtigste processorer der eksisterede samtidigt.

  • 0
  • 0
#23 Troels Henriksen

Hvis du skal sammenligne "1977's formåen" med en spitzenklasse moderne CPU er det den her du skal sammenligne med:

Det er så unfair i den anden retning - den Cray-1 har en ret specialiseret vektorprocessor. Så burde man sammenligne med en moderne datacenter-GPU. Det er altid svært at lave sammenligninger på tværs af tid (og langt hen ad vejen også meningsløst, andet end for sjov).

Men nu bliver jeg nysgerrig omkring hvordan hukommelsessystemet egentlig var i en Cray-1 for at det kunne fodre en så grådig CPU...

  • 1
  • 0
#25 Nis Schmidt

Hvis man følger PHK's link fra #22, vil man se, at man sidder på en rundsofa.

Teknisk museum i München havde en Cray-1-sofa i 1985, hvor jeg første (eneste og sidste) gang så sådan et "spitzenklasse" bæst.

Mere info om Cray-XMP

Specs er ikke voldsomt imponerende set med nutidens øjne:

800 MFLOPS, 2 MegaWords (64 bit) lager og 4 "CPU"er.

Det viser sig at Cray-1 (FCS 1976) er nogenlunde samtidig med Z80 (1976); de to viser lidt om spændvidden mellem datidens commodity (CPU) og supercomputer.

  • 1
  • 0
#28 Poul-Henning Kamp Blogger

Selvom den efter sigende var dyr, så kom den alligevel vidt omkring i stort og småt: https://en.wikipedia.org/wiki/Motorola_68000_series

Absout. Jeg sidder f.eks og emulerer en 68020 der var "IOC - I/O Controller" i Rational R1000 ved hjælp af den glimrende "Musashi" implementering.

Men overordnet gjorde prisen at 68K kun blev brugt i "professionelle" systemer, med Amiga som en meget markant undtagelse.

  • 1
  • 0
Log ind eller Opret konto for at kommentere