Intel 8086

Intel 8086
Description de cette image, également commentée ci-après
Une version en boitier céramique C8086.
Informations générales
Production De 1978 à 1998
Concepteur Intel
Fabricant Intel, AMD, Harris, NEC, Fujitsu, OKI, Siemens, Texas Instruments, Mitsubishi
Performances
Fréquence MHz à 10 MHz
Largeur bus données 16 bits (8088 : 8 bits)
Largeur bus adresse 20 bits
Spécifications physiques
Finesse de gravure 3 µm
Nombre de transistors 29000
Boîtier DIP à 40 broches en céramique ou en plastique
Architecture et classification
Architecture x86-16

Produits, marques, modèles, variantes
Variantes Intel 8088
Historique

L'Intel 8086 (également appelé iAPX 86) est un microprocesseur CISC 16 bits fabriqué par Intel à partir de 1978. C'est le premier processeur de la famille x86, qui est devenue l'architecture de processeur la plus répandue dans le monde des ordinateurs personnels, stations de travail et serveurs informatiques en raison du choix d'IBM de l'utiliser comme base de l'IBM PC sorti quelques années après. Son principal concurrent était le Motorola 68000 sorti en 1979 et notamment utilisé dans les Apple Macintosh.

Il fut lancé en mai 1978 au prix de 360 dollars.

Successeur du 8080, un processeur 8 bits, il adopte une architecture totalement 16 bits : les registres, le bus de données et les calculs sont réalisés en 16 bits. Son bus d'adresse est quant à lui de 20 bits, ce qui lui permet d'adresser 1 Mo d'espace mémoire. Par comparaison, le 68000 sera un an plus tard une solution hybride 16/32 bits, utilisant des registres en 32 bits, un bus d'adresse de 24 bits, et une ALU et bus de données de 16 bits.

Il contient 29 000 transistors gravés en 3 µm. Sa puissance de calcul varie de 0,33 MIPS (lorsqu'il est cadencé à 4,77 MHz comme dans l'IBM PC) jusqu'à 0,75 MIPS pour la version 10 MHz.

Capable de réaliser les 4 opérations fondamentales sur les nombres entiers (ADD, SUB, MUL, DIV), il peut aussi être étendu par l'interconnexion avec un coprocesseur Intel 8087 qui lui ajoute des capacités de traitement des nombres en virgule flottante.

Histoire

Le projet 8086 a débuté en . Il était initialement conçu comme un substitut temporaire pour le iAPX 432, projet très ambitieux et qui n’était pas encore abouti et qui sera, quelques années plus tard, un échec commercial. Intel espérait ainsi évincer les processeurs de la concurrence (notamment Motorola, Zilog et MOS Technology) tout en contrant la menace du Z80, conçu par un ex-employé d'Intel ayant travaillé sur le 8080.

L'architecture de la puce a été développée rapidement par un petit groupe de personnes, en utilisant les mêmes techniques de fabrication que pour l'Intel 8085 pour en assurer la compatibilité.

Permettant l'utilisation du même langage assembleur que pour les 8008, 8080 et 8085, le 8086 a été ainsi présenté comme parfaitement compatible, nécessitant peu ou pas de modification du code source des programmes. Il offre toutefois un support complet du 16 bits, au contraire des 8080 et 8085 qui n’avaient que des capacités 16 bits très basiques.

Toujours dans le but de faciliter son adoption, le fabricant déclinera en 1979 une version nommée 8088 dont les bus externes sont réduits à 8 bits (données) et 16 bits (adresse) pour le rendre plus compatible avec les cartes mères 8 bits conçues pour l'Intel 8080[1]. Cette démarche existera également pour ses successeurs tels que le 80186 (80188).

 Intel 8086 fabriqué par Siemens pour le PC1512 d'Amstrad (Siemens 8086-2 PDIP)
Intel 8086 fabriqué par Siemens pour le PC1512 d'Amstrad (Siemens 8086-2 PDIP)

Anecdote

En 2002, du fait de l'obsolescence de ses systèmes de validation, la NASA s'est vu obligée d'acheter des processeurs 8086 sur eBay[2] car ils n'étaient plus fabriqués par Intel depuis les années 90.

En 2018, Intel lance un processeur en édition limitée, l'Intel Core i7-8086K, pour commémorer les 40 ans de l'Intel 8086[3].

Packaging

Plusieurs versions du 8086 existent, avec différents types de boitier et plusieurs fréquences maximales supportées[4].

Les boitiers peuvent être en céramique ou en plastique. Le suffixe du 8086 indique la fréquence maximale : 5 MHz pour le 8086, 8 MHz pour le 8086-2, et 10 MHz pour le 8086-1[4].

Une version plastique P8086.

Variantes

En 1979, Intel lance une variante de ce processeur, mais avec un bus externe de données de seulement 8 bits, c'est l'Intel 8088. C'est cette version moins chère qui a été choisie par IBM pour créer le premier IBM PC.

Architecture

Caractéristiques générales

  • Architecture CISC : les instructions sont de taille variable et nécessitent un décodage interne pour leur exécution.
  • Unité Arithmétique et Logique fonctionnant en 16 bits, réalisant les 4 opérations fondamentales sur les entiers.
  • Extension possible au traitement des nombres à virgule flottante par adjonction d'un coprocesseur dédié.
  • Registres généraux de 16 bits utilisables par paires en 8 bits.
  • Bus mémoire et de données de 16 bits
  • Bus d'adresse de 20 bits, capable d'adresser 1 Mo
  • Pas de mode de fonctionnement spécifique (d'autres processeurs tels que le 68000 proposent déjà à l'époque une distinction entre mode utilisateur et mode système d'exploitation)
  • Gestion de 256 interruptions dont une partie purement software
  • Ports d'entrée / sortie disposant d'un espace d'adressage (et donc d'un jeu d'instructions) spécifique, pouvant également être mappé en mémoire

Adressage mémoire

Le processeur dispose d'un bus d'adresse de 20 bits alors que son architecture repose sur une ALU 16 bits. Afin de s'affranchir de cette contrainte, le processeur utilise un mécanisme de segmentation de la mémoire : l'adresse d'un octet est obtenue par la combinaison de deux registres de 16 bits via une opération d'addition produisant un résultat sur 20 bits.

Concrètement, un registre dit de segment délimite un bloc de 64 Ko de mémoire dont l'adresse de début est égale à valeur_du_registre x 0x10 (donc un décalage à gauche de 4 bits : la valeur 0x1234 spécifie donc l'adresse réelle 0x12340). A cette valeur issue du registre de segment on ajoute une valeur dite offset qui provient soit d'un autre registre plus général, soit d'une valeur directe du programme.

L'adresse d'un octet est donc déterminée ainsi : adresse_physique = valeur_registre_segment x 0x10 + offset.

Le segment est toujours identifié par l'un des 4 registres de segment de l'ALU : CS, DS, SS ou ES.

Par convention, les adresses segmentées sont notées ainsi : XX:YY où XX est le nom du registre de segment utilisé (ou parfois une valeur directe) et YY le nom du registre contenant l'offset (ou à nouveau une valeur directe).

Par exemple CS:IP est une adresse formée par combinaison du registre de Code Segment (CS) et du registre d'Instruction Pointer (IP).

Registres

Contrairement au 68000, dont l'architecture très orthogonale permet de considérer la plupart des registres comme équivalents, les registres du 8086 ont soit une fonction dédiée, soit des caractéristiques spécifiques se traduisant par des opérations ne s'appliquant qu'à eux. Il est donc important de bien connaître les capacités de chacun des registres et, pour construire un code efficace, de favoriser l'utilisation optimale de ces derniers.

  • Le couple CS:IP (Code Segment : Instruction Pointer) indique en permanence l'instruction en cours d'exécution. Les opérations de saut (jumps, call...) aboutissent à des modifications soit de IP (saut court ou NEAR) soit de l'ensemble CS:IP (saut long ou FAR) ;
  • Le couple SS:SP (Stack Segment : Stack Pointer) indique en permanence l'adresse du début de la pile. Un autre registre nommé BP (Base Pointer) se combine également avec le segment de pile sous la forme SS:BP. Le registre BP n'est pas utilisé par l'ALU directement, contrairement à SP qui est modifié par les opérations telles que CALL, RET, PUSH ou POP. De ce fait, BP est généralement utilisé pour marquer un emplacement spécifique de la pile et s'y référer ensuite (variables locales d'une fonction ou passage de paramètres par exemple) ;
  • Le registre de segment DS (Data Segment) indique en permanence le segment de données vers lequel d'autres registres sont susceptibles de pointer. Les registres généraux (voir plus bas) s'y réfèrent souvent, mais 2 autres registres lui sont dédiés : SI (Source Index) et DI (Destination Index). Ces registres sont dédiés aux opérations répétitives sur des blocs de données indexés, DS:SI pointant sur l'adresse source et DS:DI pointant sur l'adresse destination, quand elle est nécessaire (exemple : opération de copie d'un bloc mémoire) ;
  • Le registre de segment ES (Extra Segment) est libre d'usage et permet, pour certaines opérations, de pointer un segment de données différent de celui pointé par DS ;
  • Les registres généraux permettent la manipulation courante des données (calculs). Il s'agit des registres AX, BX, CX et DX, chacun de ces registres pouvant être utilisé dans des variantes de 8 bits par paire. Ainsi le registre AX est la combinaison de AH et AL, AH contenant les 8 bits de poids fort (H = High) de AX, AL (L = Low) contenant quant à lui les 8 bits de poids faible ;
  • Le registre des drapeaux (flags) qui indique en permanence l'état de l'ALU et en particulier de la dernière instruction exécutée.

Interruptions

Le processeur dispose d'un total de 256 interruptions, certaines liées au matériel, d'autres utilisables par les logiciels. La table d'interruption est un bloc mémoire de 1024 octets débutant à l'adresse physique 0x00000 et comportant 256 pointeurs sous la forme Segment:Offset (donc 4 octets chacun, pour une adresse de 20 bits). La table des vecteurs d'interruption s'étend donc jusqu'à l'adresse 0x003FF. Chaque pointeur indique l'adresse du gestionnaire d'interruption associé. Ainsi le premier pointeur correspond à l'interruption 0, etc.

Lorsqu'une interruption de numéro X est levée, le processeur charge le pointeur présent à l'adresse mémoire X * 4 dans les registres CS:IP, après avoir sauvegardé leur contenu sur la pile.

Le numéro de l'interruption dépend de sa provenance :

  • Le numéro d'une interruption matérielle, levée par la sollicitation de la broche INTR du processus, est obtenu par interrogation du contrôleur externe d'interruption réalisée par le CPU durant la phase d'acquittement de l'interruption. Un octet est lu, qui fournit la valeur de X ;
  • Lorsque c'est la broche NMI (interruption non masquable) qui est sollicitée, le numéro d'interruption levé est automatiquement 2 ;
  • Lorsque l'interruption est d'origine logicielle (instruction INT X), la valeur de X est portée par le paramètre de l'instruction.

La même logique de calcul de l'adresse du gestionnaire étant utilisée pour chaque type d'interruption, il n'existe pas de distinction réelle entre interruptions matérielles, non masquables ou logicielles. Il convient donc d'éviter les recouvrement dans l'affectation des numéros.

Les 5 premières interruptions sont réservées et produites par le processeur lui-même, soit directement, soit en liaison avec les composants périphériques :

  • L'interruption 0 est produite lorsqu'une division par ZERO intervient dans l'ALU ;
  • L'interruption 1 est produite l après chaque instruction lorsque le processeur est placé en mode pas à pas par le drapeau correspondant du registre de drapeaux ;
  • L'interruption 2 est produite lorsque la broche NMI (Non Maskable Interrupt) du processeur reçoit un signal ;
  • L'interruption 3 est produite lorsque le processeur atteint une instruction INT, également appelée instruction BREAK. Elle est utilisée pour l'exécution pas à pas d'un programme, par exemple par un déboggeur ;
  • L'interruption 4 est produite lorsqu'une opération arithmétique provoque un dépassement de capacité (overflow), sous réserve que ce fonctionnement soit activé par le registre de drapeaux ;

Pour cette raison, les interruptions matérielles ou logicielles de 0 à 4 ne sont pas utilisables et, d'une façon plus large, la spécification réserve les interruptions 5 à 31 à l'usage du matériel.

Toutes les autres interruptions, 32 et au-delà, sont libres d'usage et peuvent notamment être déclenchées par une instruction INT x.

Ports d'entrées/sorties

Les ports d'E/S disposent de leur propre espace d'adressage couvrant un total de 64 Ko. Les ports s'étendent de 0x0000 à 0xFFFF et sont manipulés par deux instructions spécifiques :

  • IN pppp,vv pour lire une valeur (octet) depuis le port numéro pppp ;
  • OUT pppp,vv pour écrire une valeur (octet) vers le port numéro pppp ;

Notes et références

  1. (en) S. Mazor, « Intel's 8086 », IEEE Annals of the History of Computing, vol. 32, no 1,‎ , p. 75-79 (DOI 10.1109/MAHC.2010.22, lire en ligne)
  2. William J. Broad, « NASA checks EBay for obsolete parts », New York Times,
  3. Intel, « Happy Birthday, 8086: Limited-Edition 8th Gen Intel Core i7-8086K Delivers Top Gaming Experience », Intel Newsroom,
  4. a et b 8086 16-BIT HMOS MICROPROCESSOR 8086/8086-2/8086-1 (données techniques officielles d'Intel)

Liens externes

Sur les autres projets Wikimedia :

Read other articles:

RBW

RBW, Inc.Nama asli(주)알비더블유JenisSwastaIndustriMusikGenreK-popR&BHip hopRockPendahuluWA EntertainmentRainbow Bridge AgencyDidirikan5 Maret 2010; 13 tahun lalu (2010-03-05)PendiriKim Jin-wooKim Do-hoonKantorpusatSeoul, Korea SelatanCabangKorea Selatan B1, 7, Janghan-ro, 20-gil, Dongdaemun-gu, Seoul Vietnam Shop House - Saritown, SH11-01, An Lợi Đông, Quận 2, Hồ Chí Minh 0372 134 872 Jepang 3F, 3-7-1, Higashiyama, Meguro-ku, TokyoTokohkunciKim Jin-woo (co-CEO)Kim Do-...

 

 

Australopithecus sedibaRentang fosil: 1.977–1.98 jtyl PreЄ Є O S D C P T J K Pg N ↓ Pleistocene Tengkorak In situ Karabo[1] Klasifikasi ilmiah Kerajaan: Animalia Filum: Chordata Kelas: Mammalia Ordo: Primata Famili: Hominidae Genus: †Australopithecus Spesies: †A. sediba Nama binomial †Australopithecus sedibaBerger et al., 2010[2] Australopithecus sediba adalah spesies Australopithecus pada masa Pleistosen awal, teridentifikasi dari sisa-sisa fosil ya...

 

 

Pemandangan di sekitar Acanthus.Acanthus (Bahasa Yunani: Ἄκανθος; dalam Ptolemaeus, Ἀκανθῶν Πόλις) merupakan sebuah kota kuno di Mesir, yang terletak di bagian barat sungai Nil, 120 stadion selatan Memphis.[1][2][3][4] Situs kota ini terletak di desa modern Dahshur. Referensi ^ Strabo p. 809 ^ Diod. i. 97 ^ Steph. B. s. v. ^ Ptol. iv. 5. § 55.  Artikel ini memadukan teks dari suatu publikasi yang sekarang dalam ranah publik:...

У этого термина существуют и другие значения, см. Юань. Символы или знаки юаня — традиционные иероглифы (圓, 元) их упрощённые версии (圆, 円), слоги (원) и основанные на латинице графемы (¥, ₩, $), используемые для краткого обозначения юаня и других денежных единиц региона, чьи н�...

 

 

Pemilihan umum Bupati Ende 20242018202927 November 2024Kandidat Peta persebaran suara Peta Provinsi Nusa Tenggara Timur yang menyoroti Kabupaten Ende Bupati & Wakil Bupati petahanaDjafar H. Achmad & Erikos Emanuel Rede Bupati & Wakil Bupati terpilih Belum diketahui Pemilihan umum Bupati Ende 2024 dilaksanakan pada 27 November 2024 untuk memilih Bupati Ende periode 2024–2029.[1] Pemilihan Bupati Ende tahun tersebut akan diselenggarakan setelah Pemilihan umum Presiden Ind...

 

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Oxyopes subJawanus Klasifikasi ilmiah Kerajaan: Animalia Filum: Arthropoda Kelas: Arachnida Ordo: Araneae Famili: Oxyopidae Genus: Oxyopes Spesies: Oxyopes subJawanus Nama binomial Oxyopes subJawanusStrand, 1907 Oxyopes subJawanus adalah spesies laba-l...

Giorgio Carpi Nazionalità  Italia Calcio Ruolo Centrocampista Carriera Squadre di club1 1926-1927 Roman1+ (0+)1927-1936 Roma45 (0)1927-1936 Roma II27+ (3+) Carriera da allenatore 1955 RomaD.T. 1 I due numeri indicano le presenze e le reti segnate, per le sole partite di campionato.Il simbolo → indica un trasferimento in prestito.   Modifica dati su Wikidata · Manuale Giorgio Carpi (Verona, 1º novembre 1909 – Roma, 30 giugno 1998) è stato un dirigente spo...

 

 

Communism of an international scope This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: World communism – news · newspapers · books · scholar · JSTOR (November 2014) (Learn how and when to remove this template message) Part of a series onCommunism Concepts Anti-capitalism Class conflict Class consciousness Clas...

 

 

Human settlement in EnglandRadstockThe old winding wheel on a headframe, now in the centre of Radstock, in front of the Radstock MuseumRadstockLocation within SomersetPopulation9,419 (built-up area, 2011)[1]OS grid referenceST689550Civil parishRadstockUnitary authorityBath and North East SomersetCeremonial countySomersetRegionSouth WestCountryEnglandSovereign stateUnited KingdomPost townRADSTOCKPostcode districtBA3Dialling code01761PoliceAvon a...

2020年夏季奥林匹克运动会奥地利代表團奥地利国旗IOC編碼AUTNOC奧地利奧林匹克委員會網站www.olympia.at(德文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員75參賽項目21个大项旗手开幕式:托马斯·扎亚克(英语:Thomas Zajac)和塔尼娅·弗兰克(帆船)[1]闭幕式:安德烈亚斯·米勒(自行车)[2]...

 

 

County in Texas, United States Not to be confused with Earth, Texas. Parts of this article (those related to Demographics) need to be updated. Please help update this article to reflect recent events or newly available information. (January 2016) County in TexasErath CountyCountyErath County Courthouse in Stephenville, Texas.Location within the U.S. state of TexasTexas's location within the U.S.Coordinates: 32°14′N 98°13′W / 32.23°N 98.22°W / 32.23; -98.22Count...

 

 

Transformers: Age of ExtinctionPoster filmSutradaraMichael BayProduser Don Murphy Tom DeSanto Lorenzo di Bonaventura Ian Bryce Ditulis olehEhren KrugerBerdasarkanTransformersoleh HasbroPemeran Mark Wahlberg Nicola Peltz Jack Reynor Kelsey Grammer Sophia Myles Stanley Tucci Penata musikSteve JablonskySinematograferAmir MokriPenyunting Paul Rubell Roger Barton William Goldenberg Perusahaanproduksi Paramount Pictures di Bonaventura Pictures Hasbro China Movie Channel[1] Jiaflix Ent...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Bill Crothers Secondary School – news · newspapers · books · scholar · JSTOR (June 2010) (Learn how and when to remove this message) High school in Unionville, Ontario, CanadaBill Crothers Secondary SchoolAddress44 Main StreetUnionville, Ontario, L4S 2T9CanadaC...

 

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (février 2023). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ». En pratique : Quelles sources sont attendues ? ...

 

 

Municipality in Hovedstaden, DenmarkFrederikssund Municipality Frederikssund Kommune (Danish)Municipality Coat of armsCoordinates: 55°50′13″N 12°03′55″E / 55.8369°N 12.0653°E / 55.8369; 12.0653CountryDenmarkRegionHovedstadenEstablished1 January 2007SeatFrederikssundGovernment • MayorJohn Schmidt Andersen (1 January 2014-) (V)Area • Total250.61 km2 (96.76 sq mi)Population (1. January 2024)[1] •...

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Ikke Nurjanah – berita · surat kabar · buku · cendekiawan · JSTOR Ini adalah nama Batak Mandailing, marganya adalah Tanjung. Ikke NurjanahLahirHartini Erpi Nurjanah18 Mei 1974 (umur 50)Jakarta, Indo...

 

 

This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: List of scheduled railway routes in Germany – news · newspapers · books · scholar · JSTOR (July 2016) NB: The scheduled routes given here are based primarily on the timetable of the Deutsche Bahn dated 9 December 2007.[1] Timetable routes The...

 

 

BababuloDesaNegara IndonesiaProvinsiSulawesi BaratKabupatenMajeneKecamatanPamboangKode pos91451Kode Kemendagri76.05.02.2004 Luas1,94 km²Jumlah penduduk1.925 jiwaKepadatan992 jiwa/km² Desa Bababulo adalah daerah pedesaan yang berada di pesisir pantai Selat Makassar dengan mayoritas penduduknya adalah pelaut/nelayan dan petani. Desa Bababulo merupakan pemerintahan dari desa Bonde pada tahun 1983. Desa Bababulo merupakan desa yang terletak di Kecamatan Pamboang, Kabupaten Majene, Provinsi...

Church in Plovdiv, Bulgaria The Church of the Holy Mother of God. The Church of the Holy Mother of God, full name Cathedral Church of the Dormition of the Holy Mother of God (Bulgarian: Църква Света Богородица, Катедрален храм Успение Богородично) is a Bulgarian National Revival church in Bulgaria's second largest city Plovdiv. The church is situated in the Old town of Plovdiv on one of the city's seven hills, Nebet Tepe. A small church exi...

 

 

Lokasi di Pennsylvania County Armstrong adalah sebuah county di Pennsylvania, Amerika Serikat. Pada sensus 2020, jumlah penduduknya adalah 65.558 jiwa.[1] Ibu kota countynya adalah Kittanning.[2] County ini diorganisir pada 12 Maret 1800, dari beberapa wilayah di County Allegheny, Westmoreland dan Lycoming. Namanya diambil untuk menghormati John Armstrong, yang mewakili Pennsylvania di Kongres Kontinental dan menjabat sebagai mayor jenderal selama Perang Revolusi. County ini ...