Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 187 reacties

De processor uit de eerste IBM PC die begin jaren tachtig op de markt kwam, de Intel 8088, is 35 jaar oud. De 16bit-cpu was een downgrade ten opzichte van zijn voorganger 8086 en vormde dankzij de populariteit van de IBM PC het begin van de dominantie van Intel-cpu's in desktops.

Intel 8088 in eerste IBM PCHet is onduidelijk of Intel de 8088 daadwerkelijk presenteerde op 1 juli 1979 of dat het in feite ging om een aankondiging een maand eerder, zoals veel bronnen vermelden. De 8088 kostte bij release rond 124 dollar en voor IBM, dat graag met Intel wilde werken en daarnaast op verzoek van Microsoft liefst koos voor een 16bit-processor, werd dat dus de keuze voor de eerste IBM PC uit 1981.

Omdat de eerste IBM PC draaide op deze Intel 8088-processor, gingen veel klonen ook van deze processor gebruikmaken om zo compatibel te zijn met de IBM-versie. Daarmee begon een lange historie van dominantie van Intel-processors in desktops en laptops met Microsofts besturingssystemen. Die dominantie duurt nog altijd voort.

De Intel 8088 draaide maximaal op 5MHz, maar Intel gebruikte een kloksnelheid van 4,77MHz. Latere versies van de 8088 konden tot 10MHz. De processor is meer dan tien jaar in productie geweest.

Moderatie-faq Wijzig weergave

Reacties (187)

Dit artikel suggereert dat de 8088 een volledige 16-bit CPU was en dus 16MB RAM ondersteunde.

De 8088 functioneerde door de externe 8-bit databus als een 8-bit CPU en ondersteunde hierdoor slechts 1MB RAM.

De 8088 CPU had een 8-bit externe databus en een 20-bit adresbus en ondersteunde hierdoor slechts 1MB RAM:

http://nl.wikipedia.org/wiki/Intel_8088

Voor de duidelijkheid ;)


Edit: @ hdullink hieronder:

Tx voor de verduidelijking. Ik heb mijn reactie er ff op aangepast
:)

[Reactie gewijzigd door John Stopman op 1 juli 2014 19:05]

De grootte van de databus bepaald niet hoeveel RAM er ondersteund wordt. Dat bepaald de adresbus.
De adresbus van zowel de 8088 als de 8086 was 20-bit, daarom 1MB adresruimte.
De adresbus van de 80286 (en 80386sx) was 24-bit, daarom 16MB adresruimte.

Met allerlei externe circuits werd het wel mogelijk meer RAM aan te kunnen spreken. Heel bekend (of berucht) was het LIM EMS (expanded memory). Deze techniek staat bekend als bankswitchen en werd al veel gebruikt op oudere 8-bit systemen.

Expanded memory is weer wat anders dan Extended memory. Software ontworpen voor de 8086 (incl. het besturingssysteem DOS) konden (ook) op een 80286 niet boven de 1MB adresruimte komen. Door een paar hardware truukjes en een XMS driver (himem.sys) kon wel data van en naar dit geheugen gekopieerd worden. Een deel van DOS een paar drivers kon zelfs verplaatst worden naar de 64KB van het RAM boven de 1MB grens.

Dit gedoe met adresruimten is later opgelost in nieuwere besturingssystemen, waaronder Windows 3.x, OS/2 en Unix varianten. Voor de DOS gebruikers was er nog een tijdelijke oplossing in de vorm van DOS-extenders.
De adresbus van zowel de 8088 als de 8086 was 20-bit, daarom 1MB adresruimte.
Ter aanvulling: een deel van die adresruimte was gereserveerd voor het BIOS en memory-mapped hardware (zoals bijvoorbeeld het videogeheugen). Het ging hier om de bovenste 384KB. Daardoor was het OS zelf dus beperkt tot 640KB 'conventional memory'.
Dit is dus geen keuze van Bill Gates geweest, maar van IBM, bij het ontwerpen van de hardware en het BIOS van de PC.
Met allerlei externe circuits werd het wel mogelijk meer RAM aan te kunnen spreken. Heel bekend (of berucht) was het LIM EMS (expanded memory). Deze techniek staat bekend als bankswitchen en werd al veel gebruikt op oudere 8-bit systemen.
Ja, in principe had je een 'window' van 64KB geheugen, waar je naar keek.
Met een paar registers kon je dan bepalen welk blok van 64KB uit je EMS te zien was door dat window.
edit autoexec.bat :9
edlin autoexec.bat in die tijd :)
edit kwam pas met MS-DOS 5 volgens mij.
of nog bruter:

COPY CON AUTOEXEC.BAT


meteen uit je hoofd de commando's intiepen... da's vet!
"De 8088 functioneerde door de externe 8-bit databus adresbus als een 8-bit CPU en ondersteunde hierdoor slechts 1MB RAM:"

't is toch wel erg dat je +3 bent gemod want er klopt helemaal niks van wat je hier zegt...

Met 8 bits kun je slechts 256 bytes addresseren. Dat is 4096 x minder dan de 1mb die jij noemt..
Ik wil niet zeuren, maar de 8088 was geen verbeterde versie van de 8086. Wat Intel gedaan heeft is dat ze de 16-bits externe databus van de 8086 hebben vervangen door een 8-bits bus omdat in die tijd PCB kosten nogal hoog waren en ze daarmee 8 lijnen op het PCB konden vermijden. Daarnaast waren er veel meer 8-bits peripheral devices/chips te koop op de markt en met een 8-bits databus zijn die veel goedkoper te interfacen.

Dus de 8088 was een gecastreerde versie van de 8086 voor de low-cost markt. Dus eerder een downgrade dan een upgrade.

zie ook http://en.wikipedia.org/wiki/Intel_8088

[Reactie gewijzigd door CrazyJoe op 1 juli 2014 10:44]

En er zit nog een dergelijke slordigheid in het artikel. Afronden van de klokfrequentie was in dit geval altijd gebruikelijk op 2 cijfers achter de komma (4,77MHz) en niet op 1 cijfer (4,8MHz dus geen 4,7).

De reden voor deze kromme kloksnelheid had ik niet in het artikel verwacht maar zal ik voor de volledigheid ook geven: men koos voor een goed verkrijgbaar en handig 14.31818MHz kristal (4 keer de frequentie van de kleurdraaggolf in het NTSC televisiesysteem) en deelde die clock voor allerlei toepassingen op het moederbord, en via de busclock ook voor de timing van de (ook op NTSC gebaseerde) CVBS en CGA videosignalen. Voor de processor kwam het handig uit om door 3 te delen. De typische 18,2Hz systeemtimer hangt daar ook nog mee samen (deelfactor 3 x 4 x 65536) en was dus een van de dingen die bij hoger geclockte processoren losgekoppeld moest worden.

[Reactie gewijzigd door mae-t.net op 1 juli 2014 12:23]

Ik vind dit inderdaad ook niet zeuren.
Ik ben het helemaal met je eens.
Ik had toch van Tweakers wel iets meer 'kwaliteit' verwacht... ;(
Als je ziet wat ze hedendaags nog uit een 8088 weten te krijgen check deze demo:
https://www.youtube.com/watch?v=MWdG413nNkI
Die hele demo is niet veel meer dan een geoptimaliseerde videospeler. Gelukkig kom ik uit een andere hoek met meer creativiteit. :)

https://www.youtube.com/watch?v=jGAsiHY1VCs

Daarna MSX2, Amiga 500 en Amiga 1200 (later met 68030/68882@28MHz). Eerste PC was pas een Pentium 100...
Is niet echt te vergelijken he... Een C64 heeft hele andere hardware, met veel meer mogelijkheden tot effecten. Sprites, hardware-scrolling, custom character sets etc.
Op een originele PC met CGA is het al een 'effect' om video te kunnen spelen (of uberhaupt iets met vloeiende animaties te tonen), omdat de hardware zo enorm traag en beperkt is.
Vergis je bv niet in de 4.77 MHz: in de praktijk is de 6510 CPU in de C64 op amper 1 MHz nauwelijks trager. De 8088 wordt enorm afgeremd door het trage 8-bit geheugen.
Ja, ik ben ook af en toe nog bezig op de oude IBM PC met CGA.
Heb een tijdje terug een kubus draaiend gekregen erop: http://youtu.be/em0X0866Rbk
Kan nog wel wat sneller met wat optimalisaties.
Dat de 8088 na 35 jaar nog steeds indrukwekkende dingen kan bewijst 8088 Corruption en diens dit jaar verschenen opvolger 8088 Domination. Deze demonstraties laten zien dat de IBM PC full screen video kan afspelen, met ongeveer 30 fps.

Pouet pagina 8088 Corruption - http://www.pouet.net/prod.php?which=13722
Uitleg van 8088 Corruption - http://www.oldskool.org/pc/8088_Corruption

Pouet pagina 8088 Domination - http://www.pouet.net/prod.php?which=63591
Youtube link naar video - https://www.youtube.com/watch?v=MWdG413nNkI
Technische uitleg 8088 Domination, deel 1 - http://trixter.oldskool.o...ation-post-mortem-part-1/
Technische 8088 uitleg 8088 Domination, deel 2 - http://trixter.oldskool.o...n-post-mortem-conclusion/

Overigens heeft dezelfde auteur ook een intro vorig jaar gemaakt voor diens kleine broertje, de PCjr. Info en Youtube link - http://www.pouet.net/prod.php?which=61547

Zeker het lezen waard! :)
Volgens mij waren deze (Jawel) eenvoudig te overklokken, door een ander kristal op moederbord te solderen. Hierdoor was 12Mhz zelfs mogelijk.
De 8088 was niet zo makkelijk zo hoog over te klokken, dat gebeurde meer met de 80286.

Maar feitelijk was de 8088 een misbaksel van een chip, een 16-bit processor met een 8-bits externe databus, omdat IBM de 16-bits interface-chips nog wat te duur vond. Het gevolg was dus ook de 8-bits PC-bus, die binnen de kortste keren niet meer voldeed, zodat in de 80286-gebaseerde systemen een 16-bits AT-bus werd geintroduceerd (die later de ISA-bus werd genoemd). Pas later kwamen PC's met de volledig 16-bits 8086, en wat opgeschroefde versies van NEC.

Met de 80286 is nauwelijks gesold, maar met de 80386 kreeg je hetzelfde verhaal, de 80386DX was een echte 32-bitter, de 80386SX was weer een 16/32-bits hybride.

Met de 80486 kregen we weer wat andere variaties, de 80486DX had een floating-point processor, en de interne en externe kloksnelheden waren gelijk. De 80486SX miste de floating-point processor, terwijl voor de 80486DX/2 en 08486DX/3 de interne klok op 2 resp. 3 keer de externe klok liep.
Maar feitelijk was de 8088 een misbaksel van een chip, een 16-bit processor met een 8-bits externe databus, omdat IBM de 16-bits interface-chips nog wat te duur vond.
Exact. Ik viel dus ook meteen over de regel in de openingstekst "De 16bit-cpu was een kleine upgrade ten opzichte van zijn voorganger 8086" terwijl het juist een downgrade was om een 16 bit CPU een 8 bit databus te geven zodat het gebruik kon maken van de toen gebruikelijke geheugen chips zoals de 64 kbit 4164 DRAMs.

Mij mijn eerste PC heb ik de 8088 vervangen door een NEC V20. Die waren goedkoop en 30% sneller en had de 80186 instructieset die ook in de 80286 zat als die tenminste in "real" mode stond. Er bestond ook een NEC V30 wat een pin compatibele vervanger was van de 8086, dus de 8088 met 16 bits bus. De 80186 is nooit door IBM gebruikt in een PC maar wel door kloon fabrikanten en de 80186 had ook een downgrade broertje, de 80188.

De 80286 die in de AT werd gebruikt had een ander groot probleem, je kom omschakelen naar protected mode maar dan kon je niet meer terug naar real mode. Daardoor kon je protected mode niet combineren met real mode BIOS en drivers. Op zich zou je in protected mode al beter een echt OS kunnen laten lopen, zoals Xenix maar deze bug was een show stopper.

De 80386 was de eerst met echte paging memory management mogelijkheden en doordat het nu 32 bit was de 1e die serieus gebruikt kon worden voor een OS dat de naam OS waard is, zoals de eerste Linux en BSD versies.

[Reactie gewijzigd door pe1dnn op 1 juli 2014 12:57]

Je vergist je in de laatste paragraaf. De 286 had ook al een echte MMU. Concreet maakte dat OS/2 mogelijk, wat destijds een serieuzer OS was als Linux.
Je hebt gelijk, staat ook op de wiki. Maar omdat je alleen via rare truuks naar real mode kon is het nooit goed aangeslagen.

Daarnaast was de MMU 16 bit en als ik me goed herinner gebruikte het net als real mode een segment register en een adres register om geheugen te adresseren, in plaats van een plat geheugen model met gewoon 1 adres register.

Volgens mij draaide OS2 1.x ook niet meer op een 80386 omdat protected mode in die processor totaal anders is georganiseerd.
Linux en BSD kwamen pas rond 1992 naar de 386 toe (en ook de 32-bit versie van OS/2 en Windows NT). In 1987 had je al wel Xenix voor de 386.
Volgens mij draaide OS2 1.x ook niet meer op een 80386 omdat protected mode in die processor totaal anders is georganiseerd.
Voor zover ik weet, werkt dat gewoon nog. De 386 introduceerde wel een nieuwe protected mode, maar was wel volledig backward compatible met de 286 en 8086.
De 80486SX miste de floating-point processor, terwijl voor de 80486DX/2 en 08486DX/3 de interne klok op 2 resp. 3 keer de externe klok liep.
Je bedoelt de 80486DX4, die inderdaad op 3 keer de kloksnelheid liep. Inderdaad een beetje verwarrend.
Eh, volgens mij klopt het niet wat je nu zegt:

486DX2-66Mhz = 2 x 33 MHz
486DX3-75MHz = 3 x 25 MHz
486DX4-100Mhz = 4 x 25 MHz
486DX4-133MHz = 4 x 33 MHz

Dan geeft het getal na de DX toch gewoon de multiplier weer?
Nee de DX4 had technisch gezien DX3 moeten heten...

DX3 bestond niet evenals de DX4-133!
Bestond het overzicht van balusc nou nog maar, dan was het even heel simpel en overzichtelijk op te zoeken geweest. Maar nee hij moest het zo nodig verkwanselen.
Nee, de DX4 is ofwel 3x25 = 75 ofwel 3*33.3 = 100.
AMD heeft een 486 met 4x33 = 133 gemaakt, maar dit was de 5x86, ook wel X5 of 486DX5 genoemd.
Texas Instruments had ook een 486DX4 op 133 MHz. Ik had zelf een versie op 120MHz, daarbij werd de bus 3MHz lager gelokt zodat je 4*30MHz=120MHz kreeg.
De 80486SX miste de floating-point processor
Wat wel grappig was is dat als je een 487SX mathematische co-processor kocht, je in feite een niet pin compatible 486DX kocht en de hele 486SX CPU werd uitgeschakeld en voor spek en bonen op je moederbordje bleef zitten...
Yup, de 486SX, DX en 487 waren alledrie dezelfde CPU in feite.
Blijkbaar had Intel wat productieprobleempjes waardoor de FPU niet in alle chips goed werkte. De FPU werd uitgeschakeld, en de chips werden als SX ipv DX verkocht.
Yup en ze verkochten eerst DX, pas een jaar later kwam de goedkopere SX uit. Gouden greep om extra geld te verdienen.

In mijn beleving is dat beeld ook sindsdien blijven bestaan. Dat het een goedkope marketing truck was. Klinkt alsof je er ervaring mee hebt gehad. :)

De 8087, 287 en 387 waren tenminste nog echte toevoegingen. Op hardware vlak, qua software.. .mmmm..
Bij de 80486DX2 etc deed men dit omdat de chipset en het moederbord anders op te hoge kloksnelheden moesten lopen.
Toen de eerste 486DX-50 uitkwam, bleek al dat dat problemen gaf.
Daarom heeft Intel deze vervangen door de 486DX2-66, waarbij de bus dus op 33 MHz liep. Hierdoor was de CPU compatible met moederborden voor de 486DX-33, en draaide deze wel stabiel.
Tot de dag van vandaag wordt deze methode nog steeds toegepast: het moederbord draait op een fractie van de kloksnelheid van de CPU.
Nog verwarrender, mijn 486DX5, met 4 keer de kloksnelheid.
Standaard 4 33MHz bus = 133MHz intern.

Omdat op het moederbord het verschil tussen 33MHz en 40MHz bus maar n jumpertje was heb ik hier de turbo-knop van de systeemkast op aangesloten.
Met n druk op de turbo-knop liep m'n CPU op 4 40MHz = 160MHz intern :P

4 50MHz kan ook volgens de handleiding maar dat heb ik nog niet aangedruft...

hmmm... heb dat ding hier nog ergens in een doos zitten, eens kijken of dat ding nog kan opstarten...
En ik heb nog een computer gehad met deze CPU :)

Een Tulip pc, met een op 4,7MHz geklokte CPU en maar liefst tw 5,25" drive bays met luxe drukknop.
Leisure Suit Larry, Space Quest en Police Quest op floppy's letterlijk helemaal stuk gespeelt op de groene monochrome beeldbuis.
Mooi was die tijd...

Edit: En maar 512KB Ram. Op een gegeven moment kwamen er spelletjes uit die 640KB Ram vereisten. En maar klooien om het toch aan de praat te krijgen...

[Reactie gewijzigd door Nyarlathotep op 1 juli 2014 10:57]

Ik heb hier nog een werkende PC Compact II staan van Tulip. Geweldig apparaat. Zo ook een Toshiba T1000. Geweldig tijdperk was dat. De electronica is net een kunstwerk met alle 7400 series logica chips.

Wat ik ook leuk vindt om te lezen in het artikel is dat de 8088 als een kleine upgrade van de 8086 omschreven wordt.

Het eigenlijke verschil is dat de 8086 een 16bit externe bus had en de 8088 een 8bits externe bus. Dus eigenlijk was de 8088 een 8086 met beperkingen. Lezen en schrijven naar de databus duurde twee keer zo lang.

Maar een 8bits bus was veel goedkoper en praktischer om in die tijd om een systeem mee te ontwerpen. Multilaags printplaten waren bv toen nog erg lastig te maken en erg duur.

Vandaar dat o.a. juist daarom voor de 8088 gekozen werdt door IBM.
Dus eigenlijk was de 8088 de eerste Celeron? :o
Nee, meer te vergelijken met de 386SX of Motorola 68008 (in de Sinclair QL).
Meen me nog te herinneren dat de opstarttijd toen sneller was als windows 7 nu. Natuurlijk waren de OS-en destijds niet zo geavanceerd.
Dat is wel een behoorlijke understatement ja. Veel meer dan een command prompt was het niet. MS-DOS 1 had nog niet eens ondersteuning voor directory-structuren op een disk. Het startte wel snel op, maar deed verder ook niets.

Je programma van disk (of erger nog, tape) laden duurde dan ook wel even, en dan moest je vaak nog wisselen van disk ook bij spellen. Ik kan me de frustratie van het eeuwige wachten nog heel goed herinneren!
Veel meer dan een command prompt was het niet.
Tuurlijk wel man !

Mensen tegenwoordigs denken dat een Operating System datgene is wat ze zien op hun scherm wanneer ze nog geen applicatie hebben opgestart. Discussies over OSs gaan tegenwoordigs over de kleurtjes. En of de icoontjes er leuk uit zien.

Helemaal fout.
Dat is de User Interface.
De Shell, als je het zo wilt noemen.

Het OS, dat is de kernel. En de drivers. En het filesysteem, memory management, netwerk stack, etc. Alles waar de applicaties gebruik van maken. Niks wat een eindgebruiker kan zien.

En daarom is DOS ook meer dan alleen de command-prompt die je ziet. Die command prompt maakt deel uit van de shell. Van command.com. Command.com is niet een OS. En het is zeker niet het hele OS.
Het OS, dat is de kernel. En de drivers. En het filesysteem, memory management, netwerk stack, etc. Alles waar de applicaties gebruik van maken. Niks wat een eindgebruiker kan zien.
En dat was dus ook zeer beperkt. MS-DOS had geen netwerkondersteuning, en eigenlijk ook helemaal geen drivers.
Wat je had, waren 'Terminate-and-stay-resident' programma's... Programma's die in het geheugen bleven, en via een interrupt tot leven gewekt konden worden door hardware of software.
Op die manier kon je via een TSR bv een muisdriver of netwerkdriver maken, maar in feite stond dat compleet los van het OS.

Video-drivers waren er ook niet. Men sprak gewoon direct de API aan van het BIOS van de videokaart en/of schreef direct naar hardware registers of memory-mapped areas.
Hetzelfde geldt voor bv geluidskaarten.

Dus nee, MS-DOS was eigenlijk niet veel meer dan die shell.
Het heet ook niet voor niets DOS: Disk Operating System. Het bood voornamelijk een filesysteem, en wat simpele tools om files te beheren. Daarnaast deed het nog iets aan memory management. De rest moest door de applicaties of third-party TSRs zelf geimplementeerd worden.
En dat was dus ook zeer beperkt. MS-DOS had geen netwerkondersteuning, en eigenlijk ook helemaal geen drivers.
Kwamen drivers niet veel later? Volgens mij maakte DOS direct contact met de hardware, wat later met de opkomst van multitasken een probleem werd, waarbij een (vrituele) tussenlaag (Driver) in het leven werd geroepen om crashes te voorkomen.
Niet DOS, maar de applicaties maakten direct contact met de hardware, omdat een driversysteem ontbrak.
Drivers dienen namelijk als een abstractielaag tussen de hardware en de applicatie. Dat heeft niet direct iets met multitasking te maken.
Neem bv een tekstverwerker. Die wil graag dingen uitprinten, dus moet ie de printer aanspreken. In het geval van DOS moest iedere tekstverwerker zelf z'n eigen printroutines hebben, want DOS wist nergens van. Tekstverwerkers hadden dus zelf een soort driversysteem voor printers. Maarja, de drivers van tekstverwerker X waren dan dus weer niet compatible met die van tekstverwerker Y.
Als het OS zelf een printerdriver-laag had, dan konden alle tekstverwerkers (en andere applicaties die willen printen) daar gebruik van maken, en zou alles veel beter gestandaardiseerd zijn.

Andere OSen uit die tijd deden dit al wel, zoals bv het OS van de Apple Lisa, en later de Mac en GEOS op C64/128, om maar wat te noemen.
Aah, ok. Voor zover ik had begrepen zat het hem in het latere "multitasken" waarbij meerdere applicaties dezelfde hardware konden aanspreken, wat zou resulteren in een crash. De driver zou zich dan als een tussenlaag gedragen die de applicaties elk hun tijd geeft/adressering verdeelt etc. zodat ze niet tegelijkertijd hetzelfde onderdeel willen aanspreken.
Ja, dat is zeker waar. Bij een multitasking-OS is het min of meer noodzakelijk dat de hardware geabstraheerd wordt, zodat het OS/de driver controle houdt over wie wanneer de hardware aanspreekt.

Maar in DOS had je dus problemen met hardware-ondersteuning. Ook in spelletjes was dat vaak aan de orde. Ieder spelletje moest z'n eigen audio/videodrivers ingebouwd hebben.
Het leidde tot een cultuur van grootste gemene deler. Er waren wel leuke SVGA-kaarten, maar de meeste software kon geen gebruik maken van de extra functies, want die had alleen support voor standaard VGA (of soms alleen voor 1 of 2 populaire SVGA-kaarten).
Hetzelfde met audio: Sound Blaster werd goed ondersteund, maar de meeste andere kaarten niet. Een kaart die niet SB-compatible was, was ook bij voorbaat al ten dode opgeschreven (zelfs de fantatische Gravis UltraSound had hiervan te lijden... briljante kaart als ie ondersteund werd, maar SB-emulatie was matig).
Video-drivers waren er ook niet. Men sprak gewoon direct de API aan van het BIOS van de videokaart en/of schreef direct naar hardware registers of memory-mapped areas.
Hetzelfde geldt voor bv geluidskaarten.
Daarom moest je bij het opstarten van een spel dus ook selecteren dat je een VGA-compatible kaart en een Soundblaster had 8-)
Puur op filesize heb je al geen gelijk. De shell is kleiner dan de allerbasaalste stukjes kernel bijelkaar. Buiten dat om denk ik dat je de grootte van de API en de native ondersteunde devices toch een beetje onderschat. Zeker in de latere DOS-versies. Ook waren drivers vaak toch net even een stukje ingewikkelder dan simpele TSR's.

Als voorbeeld neem ik versie 6.22 maar op http://www.allbootdisks.com/disk_contents/dos.html kan je nagaan dat dit voor oudere versies ook opgaat.

(kernel) IO.SYS 40774
(kernel) MSDOS.SYS 38138
(shell) COMMAND.COM 54645

[Reactie gewijzigd door mae-t.net op 2 juli 2014 01:15]

Puur op filesize heb je al geen gelijk. De shell is kleiner dan de allerbasaalste stukjes kernel bijelkaar.
Kom op zeg, filesize is toch geen criterium in deze.
Waarom probeer je op zo'n zielige wijze je gelijk te halen (wat je overigens niet hebt)?
Buiten dat om denk ik dat je de grootte van de API en de native ondersteunde devices toch een beetje onderschat.
Ik denk dat je mij vooral onderschat. Ik heb jarenlang zelf in assembly gecode voor MS-DOS. Ik weet goed de weg in Ralf's Interrupt List. Ik weet dus wel waar ik het over heb.
Bij jou weet ik het niet... Ik hoor nergens technische claims of feiten. Alleen onzinnige uitspraken over filesize, en je roept dingen waarbij je absoluut geen onderbouwing geeft.

Sowieso, 'ondersteunde devices'? Noem eens wat dan? DOS heeft geen driver-systeem... Het enige dat DOS 'ondersteunt', is simpele textmode video, diskdrives en een keyboard. Dat gaat voornamelijk via BIOS-routines, niet via iets van drivers.
Ook waren drivers vaak toch net even een stukje ingewikkelder dan simpele TSR's.
Ohja? Noem eens een voorbeeld dan?
Wat is een 'driver' volgens jou? En wat is er 'ingewikkeld' aan?

[Reactie gewijzigd door Scalibq op 2 juli 2014 10:13]

Da's nog steeds meer dan alleen een command prompt.
Maar niet veel meer (en dat stond er letterlijk: "Veel meer dan een command prompt was het niet.". Er stond niet dat de command prompt het enige was).
Een deel van de dingen die jij opnoemt voor een OS (drivers, netwerk stack, etc), ontbreken dus bij MS-DOS.
Voor mij te lang geleden. Ik heb nog wel een computer gehad met een tape drive, maar die tape drive is nooit gebruikt omdat indertijd de 3,5 inch floppies al ouderwets werden. De tape drive zag je dus al helemaal nooit meer. Volgens mij was toen Windows 95 net nieuw. In die tijd zat ik nog bezig met Hamsterland, Putt-Putt en Freddie Fish.
En Pyjama Sam! Man toch, wat waren dat goede spellen.
Mijn PC boot nu sneller dan mijn eerste PC zijn 512 KB ram gecontroleerd had; en dan moest de floppy drive nog getest enzo. Ik denk dat het vooral in je herinnering sneller was. (Of je harddisk is hard aan vervanging toe wegens leesfouten)
Ik heb nog een oude Phillips zwart wit laptop (msdos 3.x en 64mb hdd :P ) en deze start idd sneller op als mijn Windows 8 gamelaptop (20 sec VS 40 sec )
Was dat de Compact 1? Wij hadden een compact 2 vroeger thuis met een 9,75 mhz Nec v20 8088. Wat waren dat heerlijke tijden.
De NECV20 was bijna tweemaal zo snel als de 8088. Maar eigenlijk was de Compact 2 een beperkte PC/AT in plaats van een snelle PC/XT, ook al was het de processor een 8088-kloon.

Zo had de Tulip PC Compact 2 wel 16 IRQ lijnen (de PC/XT had er 8 ) en zat er een 16550 UART op ipv de gebruikelijke 8250 UART. Ook was de PC Compact 2 een van de weinige XT-klonen die een BIOS-configuratieprogramma had (op een diskette en geschreven in de programmeertaal BASIC) en volgens mij was het de enige XT-kloon die 1,44 MB diskettes en diskettedrives ondersteunde.

De echte XT-kloon had alleen dipswitches en geen BIOS-setup. Ook had deze slechts 8 IRQ's. Sommige huidige BIOS machines (zelfs de Core2Duo) hebben in de BIOS nog routines voor de ROM-basic en de bijbehorende foutmelding. Als je de originele XT opstartte zonder BASIC-chip in het voetje op het moederbord en zonder opstartdiskettes, dan kreeg je de foutmelding "No ROM Basic." Deze foutmelding zit zelfs nog in sommige moderne PC's, ook al is er allang geen voetje meer in het moederbord. Microsoft heeft er zelfs nog een kb artikel over.

[Reactie gewijzigd door Trommelrem op 1 juli 2014 14:32]

Klopt allemaal. Ik heb de manual + diskettes nog hier origineel in de kast liggen. De Diag disk hebben we destijds veel gebruikt. Die UART was heel handig ivm de snellere (9600+ bps modems) die we later kregen. De PC hebben we destijds verkocht helaas. Onze compact 2 had overigens een MDA kaart met een hercules / CGA switch op de achterkant.
Bij die Compacts werd Windows 1.02 TC ("Tulip Computers" denk ik) meegeleverd op een paar 5,25" floppies. Door een ramdisk aan te maken en daar 1 floppy heen te kopiren, kon ik zonder harddisk Windows draaien. En zonder muis!

Uit die tijd heb ik geleerd Alt-F4 te gebruiken :) (alt-f5-10 hadden toen ook nog functies als 'move', 'resize', etc.)
Was dat niet de 8088? Die had intern wel 16 bit verwerking, maar extern een 8 bit bus. Veel goedkoper in die tijd. De 8086 was eigenlijk net te duur toen.. meeste PC's hadden een 8086 meen ik..

Ah, wacht ik draai het om.. de 8086 zat vast in de 1e pc, maar daarna werd de 8088 meer gebruikt, want die mobo's waren goedkoper te maken..

[Reactie gewijzigd door MaxxBass op 1 juli 2014 11:02]

Nee, de eerste PC was met een 8088.
PCs met 8086 zijn zeldzaam, omdat 16-bit chipsets en moederborden destijds nog een stuk duurder waren. Pas met de 80286 brak 16-bit door.
Chipsets en losse moederborden had je toen nog niet echt.

Maar alles wat beschikbaar was aan componenten was inderdaad 8bits georienteerd. Dus had je 2x zoveel nodig van alles. Zoals 7400 series logica en geheugen chips.

Ook multilaags pcb's waren lastig en duur. Heb hier een voorbeeld liggen van een multilaags pcb uit +-1983. Die werden opgebouwd met geleidende stickers op een enkel laags pcb.
Chipsets en losse moederborden had je toen nog niet echt.
Natuurlijk had je wel chipsets. Over losse moederborden heb ik niets gezegd.
De chipsets waren nog niet zo geintegreerd als nu, maar je had wel gewoon standaard-chips voor dingen als toetsenborden, timers, DMA, memory controller, en noem maar op.
Het grote voordeel van de 8088 was dat ie gewoon met bestaande 8-bit componenten van de eerdere 8080 en 8085 kon samenwerken.
Zie hier een lijst ervan, voornamelijk de 82xx-serie van Intel: http://en.wikipedia.org/wiki/Intel_8085
Dat is dus je 'chipset'. Ook de reden waarom de IBM PC zo makkelijk te klonen was: het waren allemaal standaard-componenten die zo bij Intel kon bestellen, gewoon een soort 'reference design' bordje.

[Reactie gewijzigd door Scalibq op 1 juli 2014 13:53]

Natuurlijk had je wel chipsets. Over losse moederborden heb ik niets gezegd.
De chipsets waren nog niet zo geintegreerd als nu, maar je had wel gewoon standaard-chips voor dingen als toetsenborden, timers, DMA, memory controller, en noem maar op.
Oh dat heb ik je verkeerd begrepen mbt losse moederborden. De term chipset is overigens van later. Vandaar dat ik dacht dat je 't over north/southbridge achtige toestanden had. Maar je hebt helemaal gelijk.

De MCS-85 familie van chips. De i8255 (ppi) is daarvan denk ik wel de meest bekende. Ook veel gebruikt in combinatie met de Z80, die weer gebaseerd was op de 8080.

Zelfs vandaag de dag nog leuke chips om mee te spelen.

Tegenwoordig pak je een cpld maar destijds had je echt nog redelijk wat generieke logica ic's nodig om 't geheel aan elkaar te lijmen.
MCS85 slaat op de processorfamilie waar de chipset ooit bij hoorde (8085) en niet alleen op de chipset zelf, maar de chipset was in die tijd voor alle gangbare 8-bits processoren dezelfde dus we weten allemaal welke bedoeld wordt.

Losse moederborden waren trouwens ook al vrij snel op de markt. Nadat Compaq de eerste kloon op de markt bracht, waren de Taiwanezen er ook al heel snel bij. Er waren zelfs op een gegeven moment moederborden die je zelf nog moest volsolderen...

[Reactie gewijzigd door mae-t.net op 2 juli 2014 23:02]

Volgens mij was 8086 de eerste PC, en de 8088 was vanwege de 8bits buitenkant goedkoper en werd het meest gebruikt in de XT.
NEE! De eerste IBM PC was de 5150, en die had toch ECHT een 8088. De XT (5160) was een iets verbeterde versie van de PC.
Google het anders zelf even, want deze reactie van jou is al totaal overbodig.
Niet zo lelijk doen hoor, nergens voor nodig.
Hoewel de 8086 eerst was ontwikkeld, was de IBM 5150 de eerste op de markt met de variant 8088.
Ik heb de moederborden van een Nederlands merk nog gerepareerd maar daar zat toch echt de 8086 op. Deze werd in die tijd ook nog wel eens vervangen door een NEC V20 of V30 omdat die wat sneller liepen.

Overigens is er net een hele gave serie gestart genaamd "Halt and catch fire" wat over het ontmantelen van een eerste IBM gaat voor de bouw van een eigen kloon PC.
Ik zeg niet dat PCs met 8086 niet bestaan. Ik zeg dat ze zeldzaam zijn, De originele IBM PC en XT waren met een 8088, en verreweg de meeste klonen ook.

Wat je zegt over de V20 klopt trouwens niet.
Die waren pin-compatible met de 8088, en dus ook een 8-bit bus. Op een 8086-bord zouden ze niet werken.

[Reactie gewijzigd door Scalibq op 1 juli 2014 14:00]

Ik had zelf weinig ervaring met de NEC's een maat had er 1 in een Tulip zitten en de verhalen over de beter presterende NEC's gingen goed rond, een andere maat zat er over na te denken gezien de NEC een betaalbare upgrade was. Ik zelf zat in die tijd nog op een Atari ST te werken welke toen grafisch en geluidstechnisch ver boven de IBM stond.

Ik rolde in de 286 tijdperk in de PC wereld als reparateur. In die tijd de nodige 82206 (DMA) en 8259 (interupt) IC's vervangen. Bij de XT's was het meestal een bad memory of een buffer van de ISA bus wat kapot ging.
Ik had zelf weinig ervaring met de NEC's een maat had er 1 in een Tulip zitten en de verhalen over de beter presterende NEC's gingen goed rond, een andere maat zat er over na te denken gezien de NEC een betaalbare upgrade was.
Ja, het was een gangbare 'upgrade' in die tijd (maarja, zo veel sneller waren ze ook weer niet).
De V20 kon op een 8088-bord, de V30 op een 8086-bord. Er waren ook fabrikanten die standaard een V20 of V30 leverden in hun systemen.
Desalniettemin was de 8088 veruit de meest populaire optie in die tijd.
Wij hadden een IBM 5150 (met 8088) en daarna een Olivetti met een 8086 (en hogere klok). Dat was toen echt een merkbaar verschil.
Ik bedoelde dat de V20 niet zo'n enorme upgrade was van een 8088 (en de V30 niet zo enorm grote upgrade van een 8086). Dat was in de praktijk zo'n 15-30% ofzo.

Ik denk dat het verschil tussen 8088 en 8086 groter was, vanwege de 16-bit bus, en de iets grotere prefetch-buffer voor instructies.
Maarja, dat was geen upgrade-optie, daar moest je gewoon een hele nieuwe PC voor kopen.
Ok, verkeerd begrepen, 8088 naar 8086 was een fikse upgrade maar was inderdaad wel een hele nieuwe machine voor nodig. Later het geheugen naar 640kb en een 20MB harddisk was ook nog een leuke upgrade. Vooral een harddisk was een zegen ten opzichte van 2x 5.25" :-)

Alleen de prijs van dat alles :X
Mijn Olivetti M24 had een 8086 en dat was toen toch een tamelijk populaire PC. Zelfs marktleider in Europa.
Ja, dan kan ik ook wel verwijzen naar de Commodore 64.
Het is de meest verkochte computer ooit, op papier.
Maar dat komt alleen omdat er dan per merk en per model gerekend wordt. Als je het zo bekijkt, was ie inderdaad populairder dan de IBM PC.
Maar als je bij de IBM PC ook alle klonen meerekent, dan kom je makkelijk over de Commodore 64 heen.
Zo ook met de Olivetti M24... Op zich misschien de meest verkochte PC destijds. Maar het was 1 van de vele PCs op de markt.
De meeste anderen hadden een 8088, en als je die allemaal bij elkaar optelt, zijn dat er veel meer dan de Olivetti en eventuele andere computers met een 8086.
Dan heb je het dus over de IBM PC, de IBM XT, en klonen van Compaq, Philips, Commodore, Atari, Tulip, Headstart etc etc.
Een Nederlands merk of een Nederlandse fabrikant? Ben wel benieuwd welke. Naast Tulip waren er nog een paar meer, die wat minder bekend waren, zou leuk zijn als die niet helemaal in de vergetelheid raken en zo nu en dan eens genoemd worden.

Ah, Laser dus. Dat waren ook best mooie bakken!

[Reactie gewijzigd door mae-t.net op 2 juli 2014 23:01]

Ik kan me ook nog het Nederlandse merk "Sunshine" herinneren.
En de mooiste vind ik "Kloon", ja die heette gewoon zo, lekker ongecompliceerd merk :)
Is wel van iets later dacht ik, meer in het 286/386-tijdperk.
De mijne staat nog op zolder, een Laser XT-3, een van de weinige PC's met een 8086 standaard. Die kon je op 10 MHz laten draaien, wat toch een enorme speedboost gaf voor die tijd. Ik heb deze later nog vervangen door een NEC V30 voor nog een beetje extra performance, maar toen was hij eigenlijk al helemaal achterhaald door de eerste 80286 machines die uitkwamen.

Ik gebruikte het ding alleen voor schoolwerk, voor de hobby bleef ik mijn Amiga trouw. Niet zo raar want de XT3 had alleen maar een Hercules grafische kaart en daar is gamen nou niet echt een pretje op, zeker vergeleken met wat de Amiga presteerde..
idd Himem.sys of qemm(dacht ik) gebruiken om zoveel mogelijk vrij te maken van je 640kb geheugen.
Op een 8088 werkten die dingen niet, daar had je meestal een 286 of zelfs 386 voor nodig.
Ik had een Philips PC met een 8088 cpu op 10 mhz met 768 kb geheugen. Het was toen mogelijk om een ramdisk te maken van 128 kb of drivers hoger te laden, het kon alleen niet aangesproken worden door het OS als werkgeheugen.
Oh, je kon het best als werkgeheugen gebruiken. Vergeet niet hoe primitief DOS was. Als jij geheugen wilde gebruiken, dan deed je dat. DOS ging je echt niet stoppen. Ook niet als DOS dat geheugen al gebruikte als RAM disk. Wat DOS betreft kon je je programma zelfs in het videogeheugel laden (B800:0000 voor CGA).
Ik denk dat hij bedoelt dat standaard-applicaties dat geheugen niet konden gebruiken, omdat het specifiek voor die ene PC was.
QEMM was voor een 386... de naam luidde dan ook QEMM386.EXE
Heb ik ook nog gehad.

DOS=HIGH,UMB
en dat soort config.sys commando's

tja

in DOS 6.2 zat het goede MEMMAKER.EXE, kon je ook zeer goed geheugen vrijmaken.
Alleen bruikbaar met 1MB RAM of meer... ik had destijds 8MB geheugen op mijn 386DXII 66 ;)
Heerlijk met windows 95!
ik had destijds 8MB geheugen op mijn 386DXII 66 ;)
Heerlijk met windows 95!
Je bedoelt een 486DX2-66, neem ik aan ;)
Heb hier nog een 486DX4 100MHz Olivetti laptop liggen, heb ik mij eind jaren 90 nog goed op vermaakt met allerlei emulatoren. :)
Haha ook nog gehad, mijn eerste pc Headstart met 100 mb kalok hd, je weet wel die klok klok harddisken :+
Dat klinkt als een Tulip Compact 2! Had ik ook. Inclusief met HDD die met ducktape bovenop de voeding gemonteerd was, en controller in een ISA slot ernaast.

Helaas was dat geen Intel 8086 of 8088, maar een NEC v20 (maar die was wel beter dan de Intel plak!).
Ik heb er nog steeds eentje staan, voor de verhuizing deed hij het nog. Zal 'ns kijken of hij het overleefd heeft :P Inderdaad 2 bays, eentje met een floppy met MS-DOS en eentje met WordPerfect.
En er was toen natuurlijk nog geen internet beschikbaar voor de consument.
Geweldig, weken mee zoet geweest. En destijds, voor je gevoel, net zo mooi als een Battlefield of een Farcry nu. Daarom snap ik de standaard negatieve reacties nooit op de prachtige graphics elke huidige games, verwende scholiertjes :-). Ik was als Hercules monochroom-kaartbezitter jaloers op de kleurenpracht van de EGA-kaart van mijn oom.
Ik heb hem zelf nog steeds :) een Philips
Toevallig een NMS9100? Wij hadden er eentje via een PC-Priv project van mijn vader, met een 3,5" en een 5,25" drive. Op het werk gebruikten ze dezelfde pc's en toen die af waren geschreven nam mijn vader eentje mee om de harde schijf over te zetten. Wat was ik toen blij met die 20MB :*)
Ik kreeg in 1990 computerles op die dingen op de middelbare school.

Dat gekraak van het lezen van die floppy's zal nooit uit mijn hoofd verdwijnen.

[Reactie gewijzigd door pegagus op 1 juli 2014 16:21]

Jaa, ik had ook zo'n Tulip! Met CGA kaart erin zelfs 8)

Nostalgie! Jammer dat ik dat ding weggetieft heb.
Aah.. goed jaar dat '81 ;) , wel leuk om te lezen dat de processor toen 10 jaar daarna nog in productie was. Nu mogen ze blij zijn als dat een jaar is :+ Zegt iets over de snelheid waarmee techniek veranderd maar zegt ook iets over ons consumptie gedrag (in een negatieve manier). Vroeger maakten ze spullen om mee te gaan, nu maken producenten dingen zodat ze een minimale levensduur hebben van een paar jaar en de consument daarna terug moet komen voor nieuw spul.
Onzin, dat er apparaten vroegtijdig uitvallen zal je altijd hebben. Ik heb hier een laptop uit '94 liggen die nog prima werkt ;)

De gemiddelde levensduur bruikbaarheid van een apparaat ligt zo rond de 4 tot 8 jaar en vaak werkt het dan gewoon nog :)
Natuurlijk zijn er uitzonderingen maar steeds meer producten worden zo gemaakt dat je er niks aan kan repareren (volgens mij kan je -afgezien van het moederboard- alles upgraden/repareren in je oude lappie) Ik heb zelf ook nog laptops liggen uit het jaar 0. Ik heb ook een iphone waarbij je na 2 jaar gaat merken dat je accu steeds slechter wordt en je als je niks van techniek weet je telefoon gewoon kan wegdoen (of leven met het feit dat je nog maar een halve dag aan stroom hebt) Vroeger was het normaal om een paar jaar een toestel te hebben nu is het normaal om elk jaar een andere te hebben.
Een Surface pro die als de accu slechter wordt je toch echt een probleem hebt aangezien die vastgeplakt zit aan het scherm (ook technisch haast onmogelijk om te vervangen) Bij apple is dit bijna 100% van de producten, en steeds meer bedrijven doen het zelfde als apple. Onverwijderbare accu's betekent niks anders dan dat ze een korte levens duur willen van hun producten.
Hoeveel laptops hebben tegenwoordig hun cpu solderd aan het mb? (bga)

[Reactie gewijzigd door D0gtag op 1 juli 2014 11:22]

De ontwikkelingen gingen vroeger gewoon langzamer. Het duurde dus langer voordat er een opvolger was. Computers waren destijds ook een stuk duurder, dus stelde men upgrades langer uit.
De 8088 zelf werd bijvoorbeeld pas een beetje 'mainstream' ergens rond 1988. In de beginjaren waren PCs gewoon te duur voor consumenten, en ging men voor de goedkopere home computers.
Bv de 386, een van de grootste upgrades in de geschiedenis van de x86, werd al in 1985 gelanceerd, maar pas rond 1992/1993 werd ie betaalbaar genoeg voor normale office-machines en thuisgebruikers. Voor die tijd was het alleen voor servers en workstations.
Die 'meer dan 10 jaar' is waarschijnlijk een hele ruwe benadering. Als ik daar een even ruwe gok overheen mag doen, zou ik zeggen dat er varianten zijn die 15 tot 20 jaar in productie zullen zijn geweest. Als je een artikel over zoiets schrijft dan zoek je dat natuurlijk eerst even uit (al is het in dit geval wel heel veilig geformuleerd: 15 jaar is ook gewoon meer dan 10 jaar).
Ook nog gehad. Een Headstart computer met 2 floppy drives en met een 8088 processor gemaakt door AMD...
In mijn iets latere (door Philips gefabriceerde) Headstart zit een Siemens processor die tot 10MHz geklokt kon worden. Toen was second-sourcing nog heel gewoon. Daar heeft AMD zijn begin in de x86-ontwikkeling ook aan te danken.
Ook een Headstart computer met een Intel 8088 processor gehad. Ik kocht persoonlijk in Vancouver (Canada) een co-processor erbij 8087 (voor meer rekenkracht). Kon ik zo op het moederbord erbij prikken. Weer later kocht ik een harde schijf van maar liefst 40 Mb (!), die gemonteerd op een PCB, in een IDE expansion slot geprikt moest worden. Wat een tijd....
Natuurlijk was de (ook 35 jaar oude!) 16/32bits Motorola 68000 veruit superieur ;)
Als die was gekozen als de processor voor de PC, dan waren we nu een stuk verder geweest (en hadden bedrijven als Quarterdeck nooit bestaan). De Intel-gebaseerde PC sleept tot vandaag de gehandicap mee van alle verschillende memory-modellen, waar de Motorola altijd een lineair geheugen-model had.

Ik heb me wel eens afgevraagd of IBM bij de keuze van de Intel, en dan vooral die anderhalve-poter van een 8088 mede de overweging speelde om te voorkomen dat de ontwikkeling van de desktop-systemen te snel zou gaan en het bestaansrecht van hun mini-computers als de S/36, S/38 en de op dat moment in ontwikkeling zijnde AS/400 in gevaar zou brengen.
Dat heb ik me idd ook altijd afgevraagd. Vond de 8088/6 maar lastig te programmeren. De Z80 of 6809 waren een stuk makkelijker met assembler.
Overigens, de 68000 had ook geknepen versies, bv de 68008 met een externe 8 bits databus.

Heb een hele zolder vol liggen met ZX81's en ZX Spectrums (Z80A, van Zilog). Te wachten op vrije tijd!
Overigens, de 68000 had ook geknepen versies, bv de 68008 met een externe 8 bits databus.
In principe is de 68000 zelf ook 'geknepen', want de instructieset is ontworpen met 32-bit registers, maar geimplementeerd met een 16-bit ALU en databus, en 24-bit adresruimte.
De 68020 was wel volledig 32-bit (ALU, databus en adresruimte).
Een 24 bits adresbus was ruim genoeg voor de 68000; meer dan 16 MB was toch niet betaalbaar voor het soort ontwerpen waar je een 68000 in vond. 16 MB per processor dan, want ik heb nog gewerkt met een ontwerp waarin je een stuk of 60 68000's in parallel kon hebben met ieder hun eigen geheugen.

Het voordeel van de nette 68000 implementatie was dat de 68020 code-compatible was, ook als je meer dan die 16 MB geheugen had. De adresregisters waren toch 32 bits. En het idee van gescheiden adresregisters was eigenlijk ook wel netjes.
Een 24 bits adresbus was ruim genoeg voor de 68000; meer dan 16 MB was toch niet betaalbaar voor het soort ontwerpen waar je een 68000 in vond. 16 MB per processor dan, want ik heb nog gewerkt met een ontwerp waarin je een stuk of 60 68000's in parallel kon hebben met ieder hun eigen geheugen.
Zeker... De 68000 was er nog vroeg bij, want bij Intel moesten we op de 80286 wachten voor 16MB (met het nodige kunst-en-vliegwerk).
Daarnaast, met de geheugenmodules en controllers uit die tijd was het in de praktijk toch niet mogelijk om veel verder te gaan dan 16MB.
Zelfs in de tijd van de Pentium ging het vaak niet verder dan zo'n 128MB dat je fysiek op je bord aan de praat kon krijgen.
En het idee van gescheiden adresregisters was eigenlijk ook wel netjes.
Ben ik het niet mee eens. Het is veel logischer als alle registers gewoon voor alles te gebruiken zijn (zoals dus ook later in RISC CPUs).
Dat gezegd hebbende, de 68000 was wel een stuk netter dan de 8086, waar je zeer beperkte keus had voor het adresseren (alleen sp, bp, bx, si en di, in bepaalde combinaties).
PC-relative was ook mooi, dat kreeg de x86 pas in het 64-bit tijdperk.
En pre-decrement/post-increment, dat had de x86 helemaal niet... nou ja, die hardwired push/pop en lods/stos dan.
Het was uiteraard logischer om alle registers alles te laten doen, maar vergeet niet dat de gate counts vasn de 68000 nog erg laag waren. 16 GP registers was onrealistisch, maar 8 GP registers was krap. Dan zijn 8 extra adres registers een goed compromis - dat is makkelijk voor zowel compilers als voor assembly programmeurs. 2 soorten registers is behapbaar, zeker als het verschil helder is.
Het was uiteraard logischer om alle registers alles te laten doen, maar vergeet niet dat de gate counts vasn de 68000 nog erg laag waren.
De 68000 heet zo omdat hij uit grofweg 68000 transistors bestaat. Dat was destijds een flinke jongen.
De 8088 is maar 29000, ter vergelijking.
Dan zijn 8 extra adres registers een goed compromis
Het is geen slecht compromis, maar het blijft wel een compromis.
"Flat real mode" was zonder meer mogelijk op een 386. Dus in software was de beperking in principe niet aanwezig.

In theorie heeft segmentatie ook voordelen: je kunt programma's makkelijker binnen hun eigen geheugenruimte houden. In de praktijk kostte dat met alle erfenis wel de nodige moeite.
"Flat real mode" was zonder meer mogelijk op een 386. Dus in software was de beperking in principe niet aanwezig.
Zijn punt is dus dat dit op de 68000 in 1979 ook al kon, en IBM had dus in 1981 gewoon voor de 68000 kunnen gaan ipv de 8088.
Op de 386 moesten we nog tot 1985 wachten, en dus was het leed qua legacy al geschied.
Een van mijn gedachten toen ik dit schreef, was dat gebruik van de 68000 met een plat geheugenmodel ook voor vervelende legacy had kunnen zorgen juist door het gebrek aan segmentatie. Hoe dat in werkelijkheid zou zijn gelopen zullen we natuurlijk nooit weten, want in de praktijk zie je dat platte modellen ook gewoon kunnen werken (net zoals gesegmenteerde modellen beter kunnen werken dan ze in de x86 vaak deden).

[Reactie gewijzigd door mae-t.net op 1 juli 2014 14:13]

De 68000 is in veel meer typen machines gebruikt dan de 8086-varianten, dus kijk daar eens naar, zou ik zeggen.
Bekendste 68000-voorbeelden zijn de Apple Macintosh, Commodore Amiga en Atari ST.
Bij de 68000 was er een optionele MMU om een protected-mode te krijgen, vergelijkbaar met wat de 386 had (waar je dus virtuele adresruimtes per applicatie kunt afdwingen, via paging... wat dus een vorm van segmentatie is, maar itt de segmentatie van de 8086 WEL gericht is op beveiliging). Latere 680x0-varianten hadden deze standaard ingebouwd.
Hier kon je inderdaad tegen het probleem aanlopen dat bepaalde legacy-applicaties niet helemaal 'fris' waren, en dus niet onder protected mode konden draaien.

[Reactie gewijzigd door Scalibq op 1 juli 2014 14:22]

ik was dan ook zwaar verliefd op de ATARI ST ( _/-\o_ )
Idd!
En op een Novell netwerk 'snipes' spelen!
Of wat d8 je van een IBM PC met een hercules kaart en 2de monitor met VGA (voor grafieken!) met floppy en HD voor rond de 10000 gulden ;)
En niet te vergeten mijn eerste portable van IBM
http://oldcomputers.net/pics/compaqI-left.JPG

Maar mijn eerste echte IT ervaring heb ik hierop opgedaan met een echte Z80 en digitale tape!
http://upload.wikimedia.o...s/7/7a/Philips_P2000T.jpg

[Reactie gewijzigd door JoepW op 1 juli 2014 10:48]

En niet te vergeten mijn eerste portable van IBM
http://oldcomputers.net/pics/compaqI-left.JPG
Jaaa, die heb ik ook nog gehad! 2 floppy-drives en geen harddisk. Geweldig. Die gebruikte ik om mijn lego creaties aan te sturen middels een interface kaart op de LPT1 poort en programmeerde in Basic. Prachtig.
Ik heb er een testprotocol op geschreven bij Stork Werkspoor Diesel voor de certificering van de motoren voor Lloyds (verzekering).
Dat scherm was echt klein ;)
Heel klein en loodzwaar :)
beter bekend als Tow-ables (zeulbaar) :+
En niet te vergeten mijn eerste portable van IBM
http://oldcomputers.net/pics/compaqI-left.JPG
Oh god ja, de naaimachine formfactor.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True