programación de microprocesadores 2

39
  SEMANA 2 Arquitectura del microprocesador 8086/8088 I107 - Arquitectura de Computadoras

Transcript of programación de microprocesadores 2

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 1/39

 

SEMANA 2Arquitectura del

microprocesador 8086/8088

I107 - Arquitectura de Computadoras

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 2/39

q p

 

Arquitectura delmicroprocesador 8086/8088

2.1 Arquitectura interna del µP8086/8088.

2.2 Arquitectura del sistema

microprocesador.2.2.1 La memoria y el µP.

2.2.2 emoria L!"ica. emoria

#$sica. emoria en lacomputadora personal.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 3/39

 

Arquitectura interna del µP8086/8088 La arquitectura de estos dos

procesadores es similar% las &nicasdi'erencias entre am(os son) *l dise+o del 8088 tiene un (us de 8 (its

para los datos% mientras que el 8086puede trans'erir 16 (its a la ,e por su (usde datos. *s decir% el 8086 es un microprocesador de 16

(its% tanto en lo que se reere a su estructuracomo en sus coneiones eternas% mientras queel 8088 es un procesador de 8 (its queinternamente es casi idntico al 8086.

La cola de instrucciones del 8088 es de

(ytes y la del 8086 es de 6 (ytes.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 4/39

 

Arquitectura interna del µP8086/8088 ienen un (us de direcciones de

20 (its% con lo que puedendireccionar 3asta 1 e"a(yte de

memoria 4A. *l mane5o de memoria es en

'orma se"mentada en (loques de

6 (ytes.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 5/39

 

Arquitectura interna del µP8086/8088 La principal di'erencia entre am(os

es el tama+o del (us de datoseterno.

Intel trata esta i"ualdad interna ydesi"ualdad eterna di,idiendocada procesador 8086 y 8088 endos su(-procesadores.

Cada uno consta de una unidad dee5ecuci!n *) *ecution nit9 y unaunidad inter'a del (us :I) :us

Inter'ace nit9.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 6/39

 

Arquitectura interna del µP8086/8088 Las unidades de e5ecuci!n son

idnticas en am(osmicroprocesadores% pero las

unidades de inter'a del (us sondi'erentes en ,arias cuestiones%como se desprende del si"uientedia"rama en (loques)

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 7/39 

Arquitectura interna del µP8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 8/39 

Arquitectura interna del µP8086/8088 La unidad de e5ecuci!n *9 se

encar"a de realiar lasoperaciones aritmticas y

l!"icas% adem;s de proporcionarlas direcciones l!"icas al :Ina direcci!n l!"ica est; 'ormada

de dos direcciones% la primeraindica el se"mento en el cual seest; tra(a5ando y la otra indica elofset % o desplaamiento% de este

se"mento< esto es segment )ofset .

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 9/39 

Arquitectura interna del µP8086/8088 La nidad de *5ecuci!n tiene una

nidad Aritmtica L!"ica AL9 de16 (its% un re"istro de (anderas yun con5unto de re"istros de

prop!sito "eneral. *l re"istro de (anderas contiene 6

(anderas de estado que la *manipula para indicar el estado del

resultado de una operaci!n l!"ica oaritmtica9 y = (anderas de controlque se pueden manipular por lospro"ramas para alterar las

operaciones del procesador.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 10/39 

Arquitectura interna del µP8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 11/39 

Arquitectura interna del µP8086/8088 odos los re"istros y (uses de

datos en la nidad de *5ecuci!ntienen 16 (its de lon"itud para

o(tener mayor rapide en latrans'erencia interna.

La nidad de *5ecuci!n cuenta

con 8 re"istros de 16 (its que sepueden utiliar para realiaroperaciones.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 12/39 

Arquitectura interna del µP8086/8088

 >ue"o de 4e"istros "enerales) A?% :?% C?% @?

2 $ndices) I% @I

2 punteros) P% :P se"mentos) @% C% *%

1 estado) #la"

1 contador de pro"rama) IP

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 13/39 

Arquitectura interna del µP8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 14/39 

Arquitectura interna del µP8086/8088 Cuatro de estos re"istros

componen el "rupo de datos%estos son los re"istros

acumulador A?9% (ase :?9%contador C?9 y dato @?9. *stos cuatro re"istros tam(in se

pueden tra(a5ar como dos re"istros

de 8 (its cada uno. As$% los re"istrosde datos se pueden tra(a5ar con suparte alta AB% :B% CB y @B9 o con

su parte (a5a AL% :L% CL y @L9.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 15/39 

Arquitectura interna del µP8086/8088 Los si"uientes dos re"istros

"enerales% el apuntador de pilaP9 y la (ase de la pila :P9constituyen el "rupo deapuntadores y se encar"an demanipular la pila.

Los dos &ltimos re"istros

"enerales% el $ndice 'uente I9 y el$ndice destino @I9 'orman el "rupode re"istros de $ndice y se utilian

para operaciones de cadenas.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 16/39 

Arquitectura interna del µP8086/8088 Las direcciones que mane5a la *

son de 16 (its de lon"itud. La :Ise encar"a de relocaliar estas

direcciones para que la * puedaaccesar completamente elme"a(yte del espacio dedirecciones.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 17/39 

Arquitectura interna del µP8086/8088 La unidad de inter'a con el :us :I9es la responsa(les de la comunicaci!n

eterna del procesador. *sta unidad de proceso se encar"a de

traducir las direcciones l!"icas adirecciones '$sicas de la memoria conayuda de los re"istros de se"mento@% % *% C e IP. Para con,ertir una direcci!n l!"ica en una

direcci!n '$sica el :I corre el ,alor delre"istro de se"mento posiciones a laiquierda que es equi,alente amultiplicar por 16 o 10h9 y suma el ,alordel ofset  para o(tener un ,alor de 20(its.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 18/39 

Arquitectura interna del µP8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 19/39 

Arquitectura interna del µP8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 20/39 

Arquitectura interna del µP8086/8088 Los se"mentos en la memoria

pueden estar traslapados%conti"uos o dis5untos.

*l 8086 tra(a5a con un modelo dememoria circular% esto es% cuandola operaci!n de traslado dememoria l!"ica a memoria '$sica

so(repasa el me"a(yte dememoria% entonces se direcciona laparte inicial de la memoria '$sica.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 21/39

 

Arquitectura interna del µP8086/8088 La direcci!n de la si"uiente

instrucci!n que se e5ecutar; est;dada por la com(inaci!n C)IPCode Segment: InstructionPointer 9.

Para incrementar la eciencia% enper$odos donde la * est; ocupada

e5ecutando instrucciones% el :I seadelanta a una petici!n deintrucci!n del * y (usca m;sinstrucciones de la memoria.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 22/39

 

Arquitectura interna del µP8086/8088

Las instrucciones se almacenan enuna cola de instrucciones de (ytespara el 8088 y 6 (ytes para el 8086. :a5o muc3as circunstancias las colas

contienen al menos 1 (yte instrucci!n yel * no tiene que esperar a que se(usquen nue,as instrucciones.

Las instrucciones almacenadas en la cola

son adyacentes en la memoria% as$%cuando se e5ecuta una instrucci!n quetransere el control a otra localidad el :Ilimpia la cola y (usca las nue,asinstrucciones desde la nue,a direcci!n.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 23/39

 

Arquitectura interna del µP8086/8088 *l 8088/8086 tienen un sistema

de interrupciones simple y,ers;til% estos procesadores

pueden mane5ar 3asta 26interrupciones di'erentes.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 24/39

 

Arquitectura interna del µP8086/8088

Las entradas de las interrupciones seencuentran almacenadas el ,ector deinterrupciones en la parte (a5a de lamemoria. A cada interrupci!n se le asocia una do(le

pala(ra. Cada pala(ra do(le corresponde al C)IPde la su(rutina que la interrupci!n in,oca. Las primeras cinco interrupciones se utilian para

los si"uientes errores) di,isi!n por cero% pasosencillo trap9% interrupci!n no enmascara(le%punto de ruptura y so(reDu5o.

*l 8088/8086 no distin"ue entre lasinterrupciones "eneradas por 3ardEare ypor las interrupciones "eneradas por lainstrucci!n INT.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 25/39

 

Arquitectura del µP 8086/8088)odos de direccionamiento

7 modos de direccionamiento (;sicos) Modo registro) el operando es un re"istro. Modo inmediato) el operando es una constante. Modo directo) el operando es una direcci!n

e'ecti,a epl$cita9.

Modo registro indirecto) similar al anterior perola direcci!n e'ecti,a est; contenida en un re"istro:?% :P% I% @I9.

Modo relativo a base) la direcci!n e'ecti,a seencuentra sumando un desplaamiento a :? o :P.

Modo indexado directo) i"ual al anteriorusando I o @I.

Modo indexado a base) com(inaci!n de los dosanteriores. La direcci!n e'ecti,a se calcula comola suma de un re"istro (ase% un re"istro $ndice y%opcionalmente% un desplaamiento.

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 26/39

 

Arquitectura del µP 8086/8088)odos de direccionamiento

*5emplos de uso)

Modo registro) add a% (

Modo inmediato) add a%

Modo directo) add a% F100G

Modo registro indirecto) add a% F(G

Modo relativo a base) add a% F(p H 100G

Modo indexado directo) operaciones decadena) mo,s(

Modo indexado a base)add a% F( H si H 100G

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 27/39

 

Arquitectura del µP 8086/8088)odos de direccionamiento

*n "eneral)

BASE + INDICE +OFFSET

in"uno in"uno in"uno

:? o :P H I o @I H 8 (its

:? o :P H I o @I H 16 (its

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 28/39

 

Arquitectura del µP 8086/8088) >ue"o de instrucciones

Ningn o!erando" tra(a5an so(real"&n operando epl$cito. Puede serun re"istro o un Da".

C#C pone carry en 0 $n o!erando" el &nico operando

es 'uente y destino de la operaci!n.

INC A% A? ← A? H 1

Dos o!erandos" el primeroperando es el destino de laoperaci!n.

ADD A%& B% A? ← A? H :?

i d l

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 29/39

 

Arquitectura del µP 8086/8088) >ue"o de instrucciones

Trans'erencia de datos ()*" mo,imiento de datos entre re"istrosy/o memoria

Aritm,ticas (2-" operacionesaritmticas de enteros

Mani!.laci/n de bits ()-" operaciones l!"icas

Cadenas (0" mo,imiento% (&squeday comparaci!n de cadenas de datos

Trans'erencia de !rograma (21" saltos% llamadas...

Control del !rocesador ())" detenci!n% depuraci!n% I4Js%...

A i d l P 8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 30/39

 

Arquitectura del µP 8086/8088) rans'erencia de datos

I car"a el acumulador desde un dispositi,o de I/KLAB# car"a los Da"s en ABL*A car"a una direcci!n e'ecti,aL@ car"a @ y un re"istro de 16 (its con datos de

memoria de =2 (itsL* car"a * y un re"istro de 16 (its con datos de

memoria de =2 (itsK car"a (yte o pala(ra o do(le pala(raK saca datos del acumulador a un puerto de I/KPKP recupera una pala(ra de la pilaPKP# recupera los Da"s de la pila

PB almacena una p;la(ra en la pilaPB# almacena los Da"s en la pilaAB# car"a AB en los Da"s?CBM intercam(ia (ytes o pala(ras?LA emplea AL para entrar a una ta(la de

con,ersi!n

A it t d l P 8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 31/39

 

Arquitectura del µP 8086/8088)Instrucciones aritmticas

AAA% AA@%AA% AA a5uste ACII para suma% di,isi!n% producto y restaA@@ suma datos entre re"istros o la memoria y otro

re"istroA@C suma con acarreoC:N con,ierte (yte a pala(raCP compara los datosCN@ con,ierte pala(ra a do(le pala(ra@AA% @A a5uste decimal en AL para una suma/resta en :C@@*C decrementa operando en 1@I di,isi!n sin si"noI@I di,isi!n con si"no

IL multiplicaci!n con si"noIC incrementa operando en 1L multiplicaci!n sin si"no*M cam(ia el si"no:: resta con acarreo: resta datos entre los re"istros y la memoria u otro

re"istro

A it t d l P 8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 32/39

 

Arquitectura del µP 8086/8088)anipulaci!n de (its

A@ O l!"icaK in,ertir complemento a 19

K4 K l!"ica

A4 desplaamiento aritmtico a derec3a

BL/AL desplaamiento a iquierdaB4 desplaamiento l!"ico a derec3a

4CL rotaci!n a la iquierda con acarreo

4K4 rotaci!n a iquierda

4C4 rotaci!n a derec3a con acarreo4K4 rotaci!n a derec3a

 * operaci!n con el A@ l!"ico pero s!loa'ecta (anderas

?K4 K eclusi,o

A it t d l P 8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 33/39

 

Arquitectura del µP 8086/8088)Cadenas

CP comparaci!n entre 2cadenas en memoria

LK@ car"ar el acumulador conun dato de una cadena

K mo,er cadena dememoria a memoria

CA comparaci!n entre losdatos de una cadena y elacumulador

K almacenar el acumulador

A it t d l P 8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 34/39

 

Arquitectura del µP 8086/8088) rans'erencia de pro"rama

CALL llamada a su(rutina

I interrupci!n de so'tEareI = interrupci!n =IK interrupci!n si 3ay o,erDoEI4* retorno de una rutina de interrupci!n

 >A% >A*% >:% >:* saltar si mayor% mayor o i"ual% menor%menor o i"ual

 >*/> saltar si es cero o i"ual >M% >M*% >L% >L* saltar si mayor% mayor o i"ual% menor%

menor o i"ual >P salto incondicional >*/> saltar si no es i"ual o no es cero >C% >K% >P% > saltar si no acarreo% o,erDoE% paridad% si"no

 >C% >K% >P% > saltar si acarreo% o,erDoE% paridad% si"noLKKP repite un ciclo C? ,ecesLKKP*% LKKP* i"ual a la anterior pero termina

prematuramente por Q1% 0 >C? saltar si C? es 04* retorno de su(rutina

A it t d l P 8086/8088

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 35/39

 

Arquitectura del µP 8086/8088)Control del procesador

CLC (orrar acarreoCL@ 3a(ilitar incremento autom;ticoCLI des3a(ilitar terminal I4CC complementar acarreo

BL alto 3asta que se reinicialice oeista interrupci!n

KP no operaci!nC acti,a acarreo

@ 3a(ilitar decremento autom;ticoI 3a(ilitar interrupcionesNAI espera a que el terminal *Q0LKC controla el terminal LKC 

*l t d l

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 36/39

 

*l computador personal(asado en microprocesador

*l t d l

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 37/39

 

*l computador personal(asado en microprocesador

*l t d l

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 38/39

 

*l computador personal(asado en microprocesador

7/21/2019 programación de microprocesadores 2

http://slidepdf.com/reader/full/programacion-de-microprocesadores-2 39/39

#in

In". Luis 4aymi 4om;n