Door Anoniem: Door Anoniem: Zelf ook assembler gedaan, vrij recent zelfs weer nog eens, en ZOMGWTFBBQ is de 8086 toch een onding.
En dat karaktertrekje is er ook in latere modelletjes gewoon niet meer uitgegaan.
Het probleem met de 8086 is vooral dat men bij Intel iedere nieuwe chip zodanig wilde maken (zowel voor als na de 8086)
dat ie kon wat de vorige kon plus nog meer. Men is nooit met een blanco vel papier gaan zitten om een nieuwe processor
te ontwerpen, het was altijd het vorige model plus extensies.
Daarvoor vind je alle denkfouten en beslissingen die in 1975 genomen zijn om de boel simpeler te houden ook in latere
modellen weer terug als feature. Zelfs als de reden van de beslissing al lang niet meer aanwezig is.
De backwards compatibiliteit is wel _de_ reden dat de x86 architectuur leeft, en alle "blanco perfect optimaal volgens de mode van de dag" architecturen weg zijn.
Alle keren dat Intel met een min of meer blanco vel papier ging zitten werd een ramp. i432 , Itanium . Of in elk geval geen of beperkt succes (i860 . i960 ).
De VAX, en de Motorolo 68000 (mn 68020) waren de ultieme CISC architecturen. De 'blanco design ultieme Risc' - Dec Alpha . ook helaas.
Feitelijk heeft het 'allegaartje' aan historie de x86 mogelijk gemaakt om mee te gaan met ontwikkelingen en mogelijkheden van steeds grotere aantallen transistoren - en het toenemende relatieve snelheidsverschil tussen CPU en geheugen.
Features verdwenen niet - maar bepaalde code sequences werden versneld, en andere bleven langzaam(er) - microcoded.
Compilers / code generatie en software pasten zich aan zonder 'big bang' updates.
Dit vindt zijn oorzaak in het feit dat in de begintijd software vaak in assembler geschreven werd en een grote waarde had,
waardoor het voor een klant een groot voordeel was om een processor te kopen die op assembly level (bijna) compatible
was met de voorganger. En in bepaalde gevallen zelfs op machinecode level.
Tegenwoordig wordt alles in hogere programmeertalen geschreven speelt dit helemaal niet meer. Dan is hooguit nog
de binaire compatability nog een issue, bijv klant wil een programma wat hij 10 jaar geleden in binaire vorm gekocht heeft
nog kunnen draaien. Dit speelt in de Windows wereld, niet in de Linux en BSD wereld. Daar wisselt men rustig van
processor architectuur zonder consequenties. De reden dat de Intel 86 architectuur nog steeds voet aan de grond heeft
is dan ook alleen Windows.
Bovenstaand is forse onzin. De droom dat alle Linux software 'gewoon gehercompileerd' wordt is een hobbyisten beeld.
Vendors doen dat niet zomaar, en als een architectuur te klein wordt, dan wordt er helemaal niks voor geport/gehercompileerd.
En ja - je moet testen, en er zijn (soms) merkbare verschillen ook een high level code. Des te meer als je praat over 64 vs 32 bit, big endian of little endian, en al helemaal als je een ones-complement vs two-complement CPU eronder legt.
Ontdek zelf dat _zelfs_ Debian gestopt is met bv de Alpha, PA-Risc , MIPS en IA64 (Itanium) ports.
Volgens jouw theorie - Debian is wel een schoolvoorbeeld van 'alleen software met source' - zou dat niet gebeuren.