Évolution
Évolution des miroproesseurs Intel
Pouraborderl'étuded'uneentité,queesoitelledemiroproesseurouden'importequelle
autre,onatoujoursintérêtàonsidérerenpremierlaplussimpleinstanepossibleenseplaçant
dansunevisiondynamiquepouraborderensuitelesaméliorationspuislederniermodèledispo-
nible(qui nedurera,detoutesfaçons, qu'untempstrès restreint)aumomentdelaoneption
deequel'onveut.
Defaçonàpouvoirmanipulerlemiroproesseurquenousavonsprisenexemple,nousavons
hoisileplusaniendesmiroproesseursenorefailementdisponible.
Ce miroproesseur peut déjà apparaître d'une grande omplexité. Nous allons don dire
quelquesmotssurlesmiroproesseursantérieurs,dupointdevuedelaprogrammation.
25.1 Le tout premier miroproesseur : le 4004
Apparition.- Le tout premier miroproesseurde l'histoireapparaît en 1971 : il s'agit du4004
d'Intel, omme nousl'avons déjàvu. Il est destiné àaméliorerla oneptiondes alulettes et
nondesordinateurs.
Lebusestde4bits, adenéà740KHz.
Mémoires.- Il peut aéder àtrois typesde mémoire : une pourles programmes, une pourles
donnéesetunepourlapile.
La mémoire pour le programme a une apaité pouvant atteindre un KiO (plaée en
ROM).LesinstrutionsonditionnellesnepeuventtravaillerquedanslabanquedeROM
enours(de256otets).Lessauts inonditionnelsetlessautsauxsous-routinespeuvent
parontre hoisiruneadressequelonquedelamémoirepourleprogramme.
La mémoire pour les données (en RAM) est limitée à 640 otets. L'aès s'eetue de
lamême façonquepourlesentrées-sorties.On utilisetout d'abord, uneinstrution SRC
(pourl'anglaisSeaRCh)pourspéier aumiroproesseuràqueltypedemémoireilfaut
aéder(ROMouRAM)puisdesinstrutionsWRM(pourl'anglaisWRiteMemory) etRDM
(pourl'anglaisReaDMemory)permettantdetransférerdesdonnéesdel'aumulateurà
lamémoireoudelamémoiredansl'aumulateur.
Lapileestinterneaumiroproesseur,onstituéedetroisregistresde12bitshaun.
Interruptions.-Iln'y enapassurlepremiermiroproesseur.
Portsd'entrée-sortie.-Ilya16portsd'entréede 4bits haunet 16portsde sortie,également
de4bits haun.
Registres.- Ilya21registresdequatretypesdiérents:
Leompteurdeprogramme(PC) estunregistrede12bits.
Il y a trois registres de pile, de 12 bits haun, e qui est susant pour avoir trois
sous-routinesemboîtéeslesunesdanslesautres.Chaque appelàunesous-routinestoke
l'adresse de retour dans undes registres de pile. Les ontenus de l'aumulateur et des
registresd'indexnesontpassauvegardés.
L'aumulateurest unregistrede4bits.Ilest prinipalementutilisé pourlesopérations
logiqueset arithmétiques ainsi que pour laleture et l'éritureen mémoireRAM et sur
lesportsd'entrée-sortie.
Lemiroproesseurpossèdeenn 16registres d'index de4bits,qui peuventtravailler
enpairepourformer8registresde8bits.
Jeud'instrutions.-Le4004possède46instrutions:
desinstrutionsdetransfertdedonnées;
desinstrutionsarithmétiques:addition,soustration,inrémentationetdérémentation;
desinstrutionslogiquesetderotation;
desinstrutionsdeontrle:sautonditionnel(limitéàlaROMenours),inonditionnel,
appeldeproédureet retourd'uneproédure;
desinstrutionsd'entrée-sortie;
quelquesautresinstrutions:opérationssurl'indiateurdedébordement,ajustementdé-
imal,et.
Uneinstrutionestodéesurunoudeuxotets.
Modesd'adressage.Onpeutdistinguerlesadressages:
deregistre(de4bits)ouimpliite;
diretenmémoire;
indiretparregistre(uniquementpouraéderàlaROMenours);
immédiat(donnéesde4ou8bits).
25.2 Le 8008
Présentation.-Lepremiermiroproesseur8bitssortinqmoisaprèslepremiermiroproesseur,
en1972.Ilestadenéà500KHzouà800KHz,donmoinsrapide(eninstrutionsparseonde)
quelemiroproesseur4bits.Lesapportsparrapportau4004sontlessuivants:
unbusde8bitsaulieude4bits;
supportde16KiOdemémoire(ROM etRAM)aulieu demoinsde5KiO;
7niveauxdepile aulieu de3;
l'apparitiondesinterruptions.
Parontrel'aèsdiretàlamémoireadisparu:ilfautd'abordstokerunotetdanslesregistres
Het Lpuisaéderàlamémoiredefaçonindirete.Cet inonvénientdisparaîtraavele8080.
Mémoires.-Onpeuttoujoursaéderàtroistypesdemémoires,maisleprogrammeetlesdonnées
oupentlemêmeespaemémoirequipeutatteindreunKiO:
Le programme peut être plaé n'importe où dans ette mémoire partagée. Les sauts,
inonditionnelsouonditionnels,etlesappelsauxsous-routinesutilisentdesadressessur
14bits(enfaitsur16bitsdontlesdeuxdeplusfortpoidssontignorés).
On utilise des adresses sur 14 bits pour les données an de pouvoir aéder à toute la
mémoire.
Lapileestonstituéedeseptregistres(aulieudetrois)de14bitshaun.
Les64premiersbitsdelapagemémoire0peuventêtreréservéspourlesveteursd'interruption
(instrutionsRST).
Interruptions.- Le miroproesseur possède des interruptions, non masquables. Lorsqu'une de-
mande d'interruption apparaît,le miroproesseur hargeune instrutiondepuis lebus,en gé-
néralunedesinstrutionssuivantes:
unedes8instrutionsRST(RST0-RST7).Lemiroproesseursauvegardealorsleomp-
teurdeprogrammedanslapileeteetueunsautàl'emplaementmémoire
N ∗ 8
(oùN
estunnombrede3bits,de0à7,fourniparl'instrutionRST).
uneinstrutionCALL(de3otets).Lemiroproesseurappellealorslasous-routinedont
l'adresseestspéiéeparledeuxièmeetletroisièmeotetdel'instrution.
Portsd'entrée-sortie.-Ilya8portsd'entréeet24ports desortie.
Registres.-Ilyamaintenant16registres,deinqtypesdiérents:
Leompteurde programme(PC) estunregistrede14bits.
L'aumulateur, ouregistreA, est unregistre de8 bitsutilisé pourles opérationsarith-
métiques,logiques,d'entrée-sortie,dehargementet destokage.
Ilyasixregistres de données,de8bitshaun:
LesquatreregistresB,C,DetEsontutiliséspourdesstokagestemporaires.
LesregistresH(pourHigh)etL(pourLow)peuventêtreutilisésensemblepourobtenir
un registreHLde 16 bits. Le registreHL ontienten généralun pointeur dedonnées
utilisé pourfaire référeneàuneadressemémoire. Danse as,le registreL ontient
l'otetdepoidsfaibleetles2bitsdepoidsfortduregistreHsontignorés.
Ily aseptregistres de pile, de14 bits haun, e qui est susantpouravoirsept sous-
routinesemboîtéeslesunesdanslesautres.
Leregistre des indiateursontientquatre indiateursd'unbit haun :Signe, Zéro,
Paritéet Report(Carryenanglais).
Jeud'instrutions.-Le8008possède48instrutions:
desinstrutionsdetransfertdedonnées;
desinstrutionsarithmétiques:addition,soustration,inrémentationetdérémentation;
desinstrutionslogiques:and,or,xor,omparaisonetrotation;
desinstrutionsdeontrle:sautonditionnel,inonditionnel,appeldeproédure,retour
d'uneproédureetredémarrage;
desinstrutionsd'entrée-sortie;
quelquesautresinstrutions,donthalt.
Uneinstrutionestodéesurun,deuxoutroisotets.
Modesd'adressage.Onpeutdistinguerlesmodesd'adressage:
deregistreouimpliite;
indiretparregistre:l'instrutionspéieleregistreHL,quiontientl'adressedeladon-
née;
immédiat.
25.3 Le 8080
Présentation.- En1974sortle suesseurdu8008, appelé 8080.Pourfailiterlatransitionave
l'anien miroproesseur, Intel déide que les programmes érits en langage mahine du 8008
doivent pouvoirêtreexéutés surle nouveaumiroproesseur : il s'agitdu fameux prinipede
ompatibilité asendanteadopté parIntel et toujoursàl'ordre dujour, e qui pose quelquefois
des problèmesmais ave des avantages qui l'emportentapparemmentdans lebilan global. Les
améliorationssontlessuivantes:
supporte64KiOdemémoire;
lapile se trouvemaintenant dans l'espaemémoire partagé et n'est donplus limitée à
septniveaux;
lenombredeportsd'entrée-sortieest portéà256;
lejeu d'instrutionsestaugmentéetonretrouvel'adressagediret.
Mémoire.- Désormaisle programme, les données et la pile oupent lemême espaemémoire,
quipeutatteindre64KiO:
Le programme peut être plaé n'importe où dans ette mémoire partagée. Les sauts,
inonditionnelsouonditionnels,etlesappelsauxsous-routinesutilisentdesadressessur
16bits(etnonplus14bits),puisque
2 16 = 64
Ki.Onutilisedesadressessur16bitspourlesdonnées.
Lapileestsituée àlandelamémoireet progresseenarrière.
Interruptions.- Lemiroproesseurale même systèmed'interruptionsquele 8008sauf qu'elles
sontmaintenantmasquables.IlyadonlesdeuxnouvellesinstrutionsEI (pourEnableInter-
rupt)etDI(pourDisable Interrupt).
Portsd'entrée-sortie.-Ilya256portsd'entrée-sortie.
Registres.- Ilyamaintenant10registres,deinqtypesdiérents:
Leompteurde programme(PC) estunregistrede16bits.
L'aumulateur,ouregistreA,estunregistrede8bits.
Six registres généraux, de 8 bits haun, dénommés B, C, D, E, H et L, peuvent être
utilisésenpaireBC,DEet HLpourobtenirdesregistresde16bits.
Leregistre de pilede16bitsest toujoursinrémentéoudérémenté de2.
Le registre des indiateursest maintenantunregistre de8 bits dont inq seulement
sontutilisés:enplusdesindiateursdeSigne,deZéro,deParitéetdeReport(Carryen
anglais)du8008,ilyamaintenantl'indiateurAuxiliaire.
Jeud'instrutions.-Le 8080possède,outre lesinstrutionsdu8008, quelquesinstrutionsnou-
vellesomme le positionnement et l'eaement des indiateurs,l'ativation et la désativation
desinterruptionset lesopérationssurlapile.
Modesd'adressage.L'adressagediretestrétabli,pourdesdonnéesde8oude16bits.
25.4 Le 8085
Présentation.-En 1976 sortlesuesseurdu8080, appelé 8085,plusrapidequele préédentet
aveunjeu d'instrutionsétendubienquenondoumenté.
Interruptions.-Lemiroproesseurpossèdemaintenantinqbrohesd'interruptions,aulieud'une
préédemment.Nouslesprésentonsi-dessousdansl'ordredepriorité,delaplusbasseàlaplus
haute:
L'interruptionINTRorrespondàl'interruptiondu8080avelaquelleelleestompatible.
RST5.5 orrespond à une interruption masquable. Lorsqu'un signal apparaît sur ette
brohe, le miroproesseur sauvegarde le ontenu du registre PC dans la pile et va à
l'instrutiond'adresse2Ch.
RST6.5 orrespond à une interruption masquable. Lorsqu'un signal apparaît sur ette
brohe, le miroproesseur sauvegarde le ontenu du registre PC dans la pile et va à
l'instrutiond'adresse34h.
RST7.5 orrespond à une interruption masquable. Lorsqu'un signal apparaît sur ette
brohe, le miroproesseur sauvegarde le ontenu du registre PC dans la pile et va à
l'instrutiond'adresse3Ch.
Traporrespond àune interruptionnon masquable. Lorsqu'unsignalapparaît surette
brohe, le miroproesseur sauvegarde le ontenu du registre PC dans la pile et va à
l'instrutiond'adresse24h.
Lesinstrutionsmasquablespeuventêtreativéesoudésativées, toutesensembles,enutilisant
lesinstrutionsEI etDI.LesinterruptionsRST5.5, RST6.5etRST7.5peuventêtreativéesou
désativéesindividuellementenutilisantl'instrutionSIM.
25.5 Historique
25.5.1 Le 4004
Ave unepuissaned'exéution de92600opérationsparseondeàune fréquenemaximale
de740kHz,lei4004estomparableàl'ENIAC, lealulateuréletroniquedévoiléen 1946,qui
oupait167m
2
pourunpoidstotalde30tonnes.