Web Analytics
Privacy Policy Cookie Policy Terms and Conditions X86-instructieset - Wikipedia

X86-instructieset

De meest gebruikte instructieset voor computers is die van de x86. Deze werd eind jaren '70 door Intel ontwikkeld voor de 8086-processor. Het geluk voor Intel wilde dat IBM besloot deze processor in zijn IBM PC te gebruiken, en doordat de PC wijdverbreid raakte, werd de x86-instructieset op die manier met afstand de meeste gebruikte instructieset.

De x86-instructieset was oorspronkelijk een 16-bits instructieset. In de loop der jaren is de x86-instructieset steeds uitgebreid om aan de wensen van de tijd te blijven voldoen. Belangrijke wijzigingen waren een 32-bits modus, toevoeging van vectorregisters (MMX en SSE) en recent de toevoeging van een 64-bits modus (AMD64, EM64T).

Inhoud

[bewerk] Gegevens van de instructieset

Er zijn drie hoofdvarianten van de x86-instructieset, de 16-bits variant, de 32-bits variant en de 64-bits variant. Afhankelijk van de modus waarin een x86-processor gezet wordt, gebruikt de processor een van de varianten.

[bewerk] 16-bits

Type architectuur: Meerdere registers. Uitzondering is de FPU-stack, dit is een stackarchitectuur
Aantal registers: 8 16-bits integerregisters (waarvan 1 gereserveerd is als stackpointer), 4 segmentregisters (waarvan 1 gereserveerd voor de stack). De 8087-FPU heeft een stack waarin 8 80 bits vlottende kommagetallen gezet kunnen worden.
Adresruimte: 220 bytes
Geheugenbeheer: Segmentregisters
Vlaggen Nul, overdracht, negatief, overflow, pariteit
Adresseermodi Onmiddellijk, geheugen. De geheugenadresmodus kan een combinatie zijn van een absoluut adres, een basisregister en een indexregister


[bewerk] 32-bits

Type architectuur: Meerdere registers. Uitzondering is de FPU-stack, dit is een stackarchitectuur
Aantal registers: 8 32-bits integerregisters (waarvan 1 gereserveerd is als stackpointer), 6 segmentregisters (waarvan 1 gereserveerd voor de stack). De 80387-FPU heeft een stack waarin 8 80 bits vlottende kommagetallen gezet kunnen worden. Deze kunnen ook werken als 8 vectorregisters (MMX). Processoren met SSE hebben bovendien 8 extra vectorregisters
Adresruimte: 232 bytes
Geheugenbeheer: Segmentregisters, geheugenpaginering
Vlaggen Nul, overdracht, negatief, overflow, pariteit
Adresseermodi Onmiddellijk, geheugen. De geheugenadresmodus kan een combinatie zijn van een absoluut adres, een basisregister en een indexregister met schaling


[bewerk] 64-bits

Type architectuur: Meerdere registers. Uitzondering is de FPU-stack, dit is een stackarchitectuur
Aantal registers: 16 64-bits integerregisters (waarvan 1 gereserveerd is als stackpointer), 6 segmentregisters (waarvan 1 gereserveerd voor de stack). De FPU heeft een stack waarin 8 80 bits vlottende kommagetallen gezet kunnen worden. Deze kunnen ook werken als 8 vectorregisters (MMX). Processoren met SSE hebben bovendien 16 extra vectorregisters
Adresruimte: 248 bytes
Geheugenbeheer: Segmentregisters, geheugenpaginering
Vlaggen Nul, overdracht, negatief, overflow, pariteit
Adresseermodi Onmiddellijk, geheugen. De geheugenadresmodus kan een combinatie zijn van een absoluut adres, een basisregister en een indexregister met schaling

[bewerk] Fabrikanten

Aanvankelijk werden x86-processoren alleen door Intel gefabriceerd, hoewel NEC wel de V20 en V30 processoren met "8088" compatibele instructieset leverde. In de tijd van de 80386-processor besloot Intel zijn ontwerp aan andere fabrikanten in licentie te geven. Deze fabrikanten, AMD en Cyrix, konden vervolgens zelfstandig hun eigen x86-processoren op de markt brengen.

Toen de 80486 enige tijd op de markt was, leek het er op dat Intel spijt kreeg van zijn besluit zijn processoren in licentie te geven. Nieuwe licenties werden stopgezet en er ontbrandde een jarenlange rechtsstrijd tegen AMD over de auteursrechten op delen van de processor. Deze rechtszaak werd uiteindelijk geschikt, waarbij AMD het recht kreeg x86-processoren te maken, maar zij deze vanaf dan zelf diende te ontwerpen. Sindsdien ontwierpen zowel Cyrix als AMD hun eigen processoren.

[bewerk] Last uit het verleden

De x86-architectuur gaat al lang mee. Sinds eind jaren '70 is er het nodige aan inzicht veranderd in hoe processoren het best gebouwd kunnen worden, en er zijn steeds meer instructies bijgekomen waarvan sommige oude overbodig maken, en andere omslachtig geïmplementeerd zijn omdat het anders onmogelijk was ze in de bestaande instructieset in te passen. Velen vinden de x86-instructieset daarom onelegant.

De reden dat we deze instructieset vandaag de dag nog steeds gebruiken, is dat er zo ontzettend veel software voor de x86-instructieset geschreven is, dat het ondoenlijk is geworden de hele wereld op een andere instructieset over te laten gaan.

Zoiets is in het verleden een aantal keren geprobeerd. Het bekendste voorbeeld hiervan is de instructieset van de PowerPC. De ontwikkeling had maar één enkel doel: een door moderne technieken ontwikkelde processor zou dusdanig veel krachtiger worden dan een willekeurige x86-processor dat deze het op den duur zou verliezen.

Dit is echter niet gebeurd. De achterliggende reden is dat ook de ideeën achter de PowerPC ietwat achterhaald raakten, en alhoewel de processor als minder "lelijk" beschouwd wordt dan de x86-processoren, dragen beide inmiddels een last uit het verleden mee. Een ietwat praktischere reden was dat de PowerPC nooit veel voordeel gaf om de x86-processoren te kunnen verdringen, en op bepaalde momenten zelfs iets achterliep.

[bewerk] Zie ook

[bewerk] Externe links

 
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu