Blog: CPU popularitetens forbandelse

I dag fylder IBM’s S/360 mainframe 50 år.

S/360 var den første CPU der blev ramt af popularitetens forbandelse.

Kort og godt går forbandelsen ud på at der kommer folk og kaste penge på bordet og siger “Kan I ikke tilføje en instruktion der …”

Mit yndlingseksempel er “MVCOS” instruktionen — “Move-with-Optional-Specifications-Facility”

Nogen der tør gætte på hvad den gør ?

Hjælper det hvis jeg siger at den kan gøre alt hvad MVCP, MVCS, MVCDK, MVCSK og MVCK kan gøre, men op til 16 gange bedre ?

Eller, at instruktionen er “Available to problem-state code (subject to PSW key mask)” ?

Jeg kan også nævne at instruktionen er patenteret i US PAT 7,594,094 ?

Slet ingen der tør byde ind med et gæt ?

OK, den er også svær:

Det er en instruktion der kan flytte data fra et sted til et andet i maskinen.

Og ja, det kan man åbenbart få patent på i USA.

En meget god selskabsleg blandt IT nørder, er “Gæt en Mainframe Instruktion”, download IBM’s handy z/Architecture Reference Summary og aftenen bliver helt sikkert munter ud over alle grænser.

Forbandelsen har ud over perler som MVCOS givet en z/Series maskine (mindst!) 64 forskellige instruktioner for addition, hvoraf alle på nær to beskrives startende med “Add”, mens de sidste to er all-caps: “ADD”.

Når jeg skriver “mindst” er det fordi der naturligvis findes “optioner” for instruktionssæt, for kunder med særlige behov og, oftest, særlige evner til at betale ud af statskassen.

Den næste CPU der blev ramt af denne særlige forbandelse var PC’ens x86 arkitektur, der nu om dage kan præstere instruktioner som “MASKMOVDQU” — “Masked Move of Double Quadword Unaligned”

Galimatias er ikke nået helt samme niveau som IBM’s mainframes endnu, men x86 er også kun 36 år gammel, i den alder havde IBMs mainframes stadig mange nye spændende instruktioner forude.

Og seneste offer er min ellers højt elskede ARM cpu, der blev født med et elegant RISC design.

For at mindske instruktionsbåndbredden fik en 16-bit “lite” variant af instruktionssættet kaldet “thumb” som banede vejen for anvendelse i embedded verdenen.

Success som CPU ? “dam-daaah-daAM!” folk begynder at sige “Hvis bare der var en instruktion som … så ville vi købe en million.”

“Thumb-2″ instruktionssættet er ikke gået helt bananas, men hvis man kigger på hvorledes de er proppet ind i alle mulige underlige hjørner er det helt klart hvor desparat et projekt der er tale om. Prøv at skrive en disassmbler hvis I ikke tror mig.

Og ARM er en årsunge på sølle 29 år, i den alder var IBM’s s/390 først lige begyndt at lære IEEE floating point, tænk bare hvad ARM kan drive det til i de næste 21 år.

I Firserne og Halvfemserne blev de respektive meritter i RISC og CISC diskuteret op og ned af alle former for elfenbenstårne, ofte med dataloger på “RISC er bevisligt bedre” og folk der fik løn for at skrive programmer på “Det kan godt være, men jeg skal fandme bruge en instruktion der …” siden.

Historien har vist at det var rent spild af tid: Alle CPU’er med succes bliver CISC over tid.

phk

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>