Professional Documents
Culture Documents
prsente sous la forme dun botier DIP (Dual In-line Package) 40 broches :
Architecture et Microprocesseur
Architecture et Microprocesseur
HOLD et HLDA : signaux de demande daccord daccs direct la mmoire (DMA). NMI et INTR : entres de demande dinterruption. o INTR : interruption normale. o NMI (Non Maskable Interrupt) : interruption prioritaire.
S0 S7 : signaux dtat indiquant le type dopration en cours sur le bus.
A16/S3 A19/S6 : 4 bits de poids fort du bus dadresses, multiplexs avec 4 bits dtat. AD0 AD15 : 16 bits de poids faible du bus dadresses, multiplexs avec 16 bits de donnes. Le bus A/D est multiplex (multiplexage temporel) do la ncessit dun dmultiplexage pour obtenir sparment les bus dadresses et de donnes :
o 16 bits de donnes (microprocesseur 16 bits) ;
Architecture et Microprocesseur
MN/MX : entre de choix du mode de fonctionnement du microprocesseur : o mode minimum (MN/MX = 1) : le 8086 fonctionne de manire autonome, il gnre luimme le bus de commande (RD, WR, ...) ; o mode maximum (MN/MX = 0) : ces signaux de commande sont produits par un contrleur
de bus, le 8288. Ce mode permet de raliser des systmes multiprocesseurs.
Chronogramme du bus A/D Le dmultiplexage des signaux AD0 AD15 (ou A16/S3 A19/S6) se fait en
mmorisant ladresse lorsque celle-ci
est prsente sur le bus A/D, laide dun verrou D. (latch), La ensemble commande de de bascules
Architecture et Microprocesseur
Circuit de dmultiplexage A/D o si ALE = 1, le verrou est transparent (Q = D) ; o si ALE = 0, mmorisation de la dernire valeur de
D sur les sorties Q;
o les signaux de lecture (RD) ou dcriture (WR) ne sont gnrs par le microprocesseur que lorsque les donnes sont prsentes sur le bus A/D.
Architecture et Microprocesseur
entres/sorties (M/IO = 0). DEN : (Data Enable) indique que des donnes sont en train de circuler sur le bus A/D (quivalent de ALE pour les donnes). DT/R : (Data Transmit/Receive) indique le sens de transfert des donnes : o DT/R = 1 : donnes mises par le microprocesseur (criture) ;
o DT/R = 0 : donnes reues par le microprocesseur
(lecture).
Architecture et Microprocesseur
commande de tampons de bus (buffers) permettant damplifier le courant fourni par le microprocesseur sur le bus de donnes. Exemples de tampons de bus : circuits transmetteurs
bidirectionnels 8286 ou 74245.
BHE : (Bus High Enable) signal de lecture de loctet de poids fort du bus de donnes. Le 8086 possde un bus dadresses sur 20 bits, do la capacit dadressage de 1 Mo ou 512 Kmots de 16 bits (bus de donnes sur 16 bits). Le mga-octet adressable est divis en deux banques de 512 Ko
chacune : la banque infrieure (ou paire) et la banque suprieure
(ou impaire).
Architecture et Microprocesseur
Ces deux banques sont slectionnes par : o A0 pour la banque paire qui contient les octets de poids faible ; o BHE pour la banque impaire qui contient les octets de poids fort. Seuls les bits A1 A19 servent dsigner une case mmoire dans chaque banque de 512 Ko. Le microprocesseur peut ainsi lire et crire des donnes sur 8 bits ou sur 16 bits : BHE 0 0 1
1
A0 0 1 0
1
Octets transfrs Les deux octets (mot complet) Octet fort (adresse impaire) Octet faible (adresse paire)
Aucun octet
Remarque : le 8086 ne peut lire une donne sur 16 bits en une seule fois, uniquement si loctet de
poids fort de cette donne est rang une adresse impaire et loctet de poids faible une adresse paire (alignement sur les adresses paires), sinon la lecture de cette donne doit se faire en deux oprations successives, do une augmentation du temps dexcution du transfert d un mauvais alignement des donnes.
Architecture et Microprocesseur 9
Architecture et Microprocesseur
10
Architecture et Microprocesseur
11
o lunit dexcution (EU : Execution Unit) ; o lunit dinterface de bus (BIU : Bus Interface Unit).
Rle des deux units :
o lunit dinterface de bus (BIU) recherche les instructions en mmoire et les range dans une file dattente ; o lunit dexcution (EU) excute les
instructions contenues dans la file dattente.
Les deux units fonctionnent simultanment, do une acclration du processus dexcution dun programme.
Architecture et Microprocesseur 12
o AX = (AH,AL) o BX = (BH,BL) o CX = (CH,CL) o DX = (DH,DL). Ils peuvent tre galement considrs comme 8 registres sur 8 bits. Ils servent contenir temporairement des donnes. Ce sont des registres gnraux mais ils peuvent tre utiliss pour des oprations particulires. Exemple : AX = accumulateur, CX = compteur. Registres de pointeurs et dindex : 4 registres sur 16 bits.
Pointeurs :
o SP (Stack Pointer) : pointeur de pile (la pile est une zone de sauvegarde de donnes en cours dexcution dun programme) ; o BP (Base Pointer) : pointeur de base, utilis pour adresser des donnes sur la pile.
Architecture et Microprocesseur 13
Index : o SI : Source Index ; o DI : Destination Index. Ils sont utiliss pour les transferts de chanes doctets entre deux zones mmoire.
Les pointeurs et les index contiennent des adresses de cases mmoire. Pointeur dinstruction et indicateurs (flags) : 2 registres sur 16 bits.
o Pointeur dinstruction (IP) contient ladresse de la prochaine instruction excuter. o Flags : CF : indicateur de retenue (carry) ; PF : indicateur de parit; AF : indicateur de retenue auxiliaire ; ZF : indicateur de zro ; SF : indicateur de signe ; TF : indicateur dexcution pas pas (trap) ; IF : indicateur dautorisation dinterruption ; DF : indicateur de dcrmentation ; OF : indicateur de dpassement (overflow).
Architecture et Microprocesseur
14
o DS (Data Segment) : registre de segment de donnes ; o SS (Stack Segment) : registre de segment de pile ; o ES (Extra Segment) : registre de segment supplmentaire pour les donnes ; Les registres de segments, associs aux pointeurs et aux index, permettent au microprocesseur 8086 dadresser lensemble de la mmoire.
Architecture et Microprocesseur
15
faible tant implicitement 0. Pour dsigner une case mmoire parmi les 216 contenues
dans un segment, il suffit dune valeur sur 16 bits. Ainsi,
une case mmoire est repre par le 8086 au moyen de deux quantits sur 16 bits : o ladresse dun segment ; o un dplacement ou offset (appel aussi adresse effective) dans ce segment. Cette mthode de gestion de la mmoire est appele
segmentation de la mmoire.
Architecture et Microprocesseur 16
La donne dun couple (segment, offset) dfinit une adresse logique, note sous la forme segment : offset. Ladresse dune case mmoire donne sous la forme dune quantit sur 20 bits est appele adresse
physique car elle correspond la valeur envoye rellement sur le bus dadresses A0 - A19.
adresse physique = 16 segment + offset car le fait dinjecter 4 zros en poids faible du segment revient effectuer un dcalage de 4 positions vers la gauche, cest dire une multiplication par 24.
Architecture et Microprocesseur 17
A un instant donn, le 8086 a accs 4 segments dont les adresses se trouvent dans les registres de segment CS, DS, SS et ES :
o Le segment de code contient les instructions du
programme, o le segment de donnes contient les donnes manipules par le programme, o le segment de pile contient la pile de sauvegarde,
o le segment supplmentaire peut aussi contenir des
donnes. Le registre CS est associ au pointeur dinstruction IP, ainsi la prochaine instruction excuter se trouve ladresse logique CS : IP.
De mme, les registres de segments DS et ES peuvent tre associs un registre dindex.
Exemple : DS : SI, ES : DI. Le registre de segment de pile peut tre associ aux registres de pointeurs : SS : SP ou SS : BP.
Architecture et Microprocesseur 18
Remarque : les segments ne sont pas ncessairement distincts les uns des autres, ils peuvent se chevaucher ou se recouvrir compltement.
Architecture et Microprocesseur 19
Le nombre de segments utilis dfinit le modle mmoire du programme. Contenu des registres aprs un RESET du microprocesseur :
IP = 0000H
trouve donc ladresse logique FFFFH : 0000H, correspondant ladresse physique FFFF0H (bootstrap). Cette instruction est gnralement un saut vers le programme principal qui initialise ensuite les autres registres de segment.
Architecture et Microprocesseur 20