Termelés | 1978 és 1990 között |
---|---|
Készítő | Intel |
Frekvencia | 4,77 MHz és 10 MHz |
---|
Ház | 40 tűs kerámia vagy műanyag merítés |
---|---|
Gravírozás finomsága | 3 µm |
Építészet | x86 |
---|
A Intel 8086 (más néven iAPX 86 ) egy 16- bites CISC mikroprocesszor által gyártott Intel kezdődően 1978 . Ez az x86 család első processzora , amely a legnépszerűbb processzorarchitektúrává vált a személyi számítógépek , munkaállomások és számítógépes szerverek világában, mivel az IBM úgy döntött, hogy alapul használja. ”Az IBM PC néhány éve megjelent később. Fő versenytársa az 1979-ben kiadott Motorola 68000 volt, amelyet különösen az Apple Macintosh-ban használtak .
1978 májusában indult 360 dolláros áron .
A 8080 utódja , egy 8 bites processzor, teljesen 16 bites architektúrát alkalmaz: a regisztereket, az adat buszt és a számításokat 16 bitben hajtják végre. Címbusza 20 bites, amely lehetővé teszi 1 MB memóriaterület címzését. Összehasonlításképpen: a 68000 egy évvel később egy 16/32-bites hibrid megoldás lesz, 32 bites regisztereket, 24 bites címsínt, valamint 16 bites ALU és adatbuszt használva.
29 000 tranzisztort tartalmaz, amelyek 3 µm-be vannak vésve . Számítási teljesítménye 0,33 MIPS-től (4,77 MHz- nél ütemezve, mint az IBM PC-nél ) és 0,75 MIPS-ig terjed a 10 MHz-es verzió esetében .
Képes elvégezni a 4 alapvető műveletet egész számokon (ADD, SUB, MUL, DIV), és kiterjeszthető összekapcsolással egy Intel 8087 társprocesszorral, amely lebegőpontos számfeldolgozási képességeket ad hozzá.
A 8086-os projekt elindult 1976. május. Eleinte az iAPX 432 ideiglenes helyettesítőjeként hozták létre , egy nagyon ambiciózus projekt, amely még nem fejeződött be, és amely néhány évvel később kereskedelmi kudarc lesz. Az Intel tehát abban reménykedett, hogy kiszorítja a versenyprocesszorokat (beleértve a Motorolát , a Zilogot és az MOS Technology-t ), miközben ellensúlyozza a Z80 fenyegetését , amelyet az Intel egy korábbi alkalmazottja tervezett, aki a 8080-on dolgozott.
A chip architektúráját egy kis embercsoport gyorsan kidolgozta, ugyanazokat a gyártási technikákat alkalmazva, mint az Intel 8085 esetében a kompatibilitás biztosítása érdekében.
A 8008-as, a 8080-as és a 8085-ös verzióval megegyező összeállítási nyelv használatát lehetővé téve a 8086-ot tökéletesen kompatibilisnek mutatták be, és a programok forráskódjának módosítását alig vagy egyáltalán nem igényelte. Ugyanakkor teljes 16 bites támogatást kínál, ellentétben a 8080-as és a 8085-ös modellekkel, amelyek csak nagyon alapvető 16 bites képességekkel rendelkeztek.
Az elfogadás megkönnyítése érdekében a gyártó 1979-ben visszautasítja a 8088 nevű verziót, amelynek külső buszai 8 bitre (adatok) és 16 bitre (cím) vannak redukálva, hogy jobban kompatibilisek legyenek az l 'számára tervezett 8 bites alaplapokkal. Intel 8080 . Ez a megközelítés az utódai, például a 80186 (80188) esetében is fennáll .
2002-ben, a validációs rendszereinek elavulása miatt a NASA kénytelen volt 8086 processzort vásárolni az eBay-en, mert a 90-es évek óta nem gyártotta őket az Intel .
2018-ban az Intel egy korlátozott kiadású processzort, az Intel Core i7 - 8086K-t dobott piacra az Intel 8086 40 évének emlékére.
A 8086-nak több változata létezik, különböző típusú dobozokkal és több maximális frekvenciával.
A ház lehet kerámia vagy műanyag. A 8086 utótag a maximális frekvenciát jelzi: 5 MHz a 8086 számára, 8 MHz a 8086-2 számára és 10 MHz a 8086-1 számára.
A 1979 , Intel indított egy változata ez a processzor, hanem egy külső adatbusz csak 8 bit, ez volt az Intel 8088 . Ezt az olcsóbb verziót választotta az IBM az első IBM PC elkészítéséhez .
A processzor 20 bites címbusszal rendelkezik, míg architektúrája 16 bites ALU-ra épül. Ennek a korlátnak a leküzdése érdekében a processzor memóriaszegmentációs mechanizmust alkalmaz: az egybájtos címet két 16 bites regiszter kombinációjával kapjuk meg egy 20 bites eredményt eredményező összeadási művelet révén.
Konkrétan egy úgynevezett szegmensregiszter határol egy 64 KB-os memóriablokkot, amelynek kezdőcíme megegyezik a_regiszter x 0x10 értéke (ezért 4 bites bal eltolás: a 0x1234 érték tehát a 0x12340 valós címet adja meg). Ehhez a szegmensregiszterből származó értékhez hozzáadódik egy offset nevű érték, amely vagy egy másik általánosabb regiszterből származik, vagy a program közvetlen értékéből származik.
A bájt címét ezért a következőképpen határozzuk meg: fizikai_cím = szegmens_regiszter_érték x 0x10 + eltolás.
A szegmenst mindig a 4 ALU szegmens regiszter egyikével azonosítják: CS, DS, SS vagy ES.
Megállapodás szerint a szegmentált címeket a következőképpen jegyezzük fel: XX: YY vagy XX a használt szegmensregiszter neve (vagy néha közvetlen érték), és YY az eltolást (vagy ismét közvetlen értéket) tartalmazó regiszter neve.
Például a CS: IP egy olyan cím, amelyet a Code Segment Register (CS) és az Instruction Pointer register (IP) kombinációja alkot.
Ellentétben a 68000-vel, amelynek nagyon ortogonális felépítése lehetővé teszi a regiszterek többségének egyenértékűnek tekintését, a 8086 regisztereinek vagy dedikált funkciójuk van, vagy speciális jellemzőkkel rendelkeznek, ami csak a rájuk vonatkozó műveleteket eredményezi. Ezért fontos, hogy jól megértsük az egyes nyilvántartások kapacitását, és hogy hatékony kódot építsünk ki, elősegítsük ezek optimális használatát.
A processzornak összesen 256 megszakítása van, amelyek egyesek hardverhez kapcsolódnak, mások szoftveresen használhatók. A megszakítási tábla egy 1024 bájtos memóriablokk, amely a 0x00000 fizikai címmel kezdődik és 256 mutatót tartalmaz a Szegmens: Eltolás formában (ezért mindegyik 4 bájt). A megszakítási vektortábla tehát kiterjed a 0x003FF címre. Minden mutató jelzi a hozzá tartozó megszakításkezelő címét. Tehát az első mutató megfelel a 0 megszakításnak stb.
Amikor az X szám megszakítása megemelkedik, a processzor betölti az X * 4 memória címen található mutatót a CS: IP regiszterekbe, miután tartalmukat elmentette a verembe.
A megszakítás száma az eredetétől függ:
Mivel a megszakítás minden típusához ugyanazt a logikát használják a kezelő címének kiszámításához, nincs valós különbség a hardveres, a nem maszkolható vagy a szoftveres megszakítások között. Ezért tanácsos elkerülni az átfedéseket a számok kiosztásában.
Az első 5 megszakítást maga a processzor foglalja le és állítja elő, közvetlenül vagy a perifériás alkatrészekkel együtt:
Emiatt a hardver vagy szoftver megszakítása 0-tól 4-ig nem használható, és tágabb értelemben a specifikáció fenntartja az 5-től 31-ig tartó megszakítást hardveres használatra.
Az összes többi megszakítás, meghaladva a 32-et, szabadon használható, és különösen egy INT x utasítással indítható.
Az I / O portoknak saját címterük van, amelyek összesen 64 KB-ot foglalnak magukba. A portok 0x0000 és 0xFFFF tartományba esnek, és ezeket az utasítások kezelik: