PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

39
PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR

Transcript of PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

Page 1: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 1© Jaime Alberto Parra Plaza

CLASE 3

SOFTWARE DEL MICROPROCESADOR

Page 2: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 2© Jaime Alberto Parra Plaza

DEFINICIÓN DE COMPUTADOR:

Máquina electrónica que está en capacidad de ejecutar una secuencia de instrucciones. Las instrucciones pueden catalogarse en uno de tres grupos:

• Operación

• Transferencia

• Decisión

Page 3: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 3© Jaime Alberto Parra Plaza

1. Operación: Tales como suma, multiplicación, comparación, etc.

2. Transferencia: Cuando se desplaza información de un sitio a otro entre los bloques del computador.

3. Decisión: Cuando se altera la secuencia de ejecución normal, ya sea saltando un grupo de instrucciones o ejecutando repetidas veces ese grupo.

Page 4: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 4© Jaime Alberto Parra Plaza

Las instrucciones se almacenan en la memoria y se ejecutan por la CPU:

MEMORIA

CPU Instrucc. 1

Instrucc. 2

.

Instrucc. k

Page 5: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 5© Jaime Alberto Parra Plaza

BOOT

BIOS

Memoria

RAM

Memoria

ROM

Memoria al encender el PC

Page 6: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 6© Jaime Alberto Parra Plaza

Memoria después de cargar el sistema operativo

BOOT

BIOS

Libre

SistemaOperativo

Memoria

RAM

Memoria

ROM

Page 7: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 7© Jaime Alberto Parra Plaza

BOOT

Datos

BIOS

Programa

Libre

SistemaOperativo

Memoria

RAM

Memoria

ROM

Memoria después de cargar un programa

Page 8: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 8© Jaime Alberto Parra Plaza

PROGRAMA, DATOS Y PILA:

Cuando un programa es cargado en memoria, se distribuye en tres secciones, cada una llamada un segmento:

• Código

• Datos

• Pila

Page 9: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 9© Jaime Alberto Parra Plaza

El uso normal de cada segmento es:

Código ( Listado de instrucciones)

Datos (Variables)

Pila (Almacenamiento temporal)

Page 10: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 10© Jaime Alberto Parra Plaza

SEGMENTO DE CÓDIGO:

Es donde viene la secuencia de instrucciones o programa que va a ejecutar el microprocesador.

Cada instrucción se representa por un número binario de 8 bits.

Page 11: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 11© Jaime Alberto Parra Plaza

SEGMENTO DE DATOS:

Es donde residen las variables que se declaran en un programa como globales, es decir, que no pertenecen a ninguna función en particular.

Cada variable ocupa cierta cantidad de bytes, según su tipo.

Page 12: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 12© Jaime Alberto Parra Plaza

SEGMENTO DE PILA:

Es un espacio en la memoria en donde el microprocesador puede guardar temporalmente información que requerirá más adelante.

También es el sitio en donde se crean temporalmente las variables locales.

Page 13: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 13© Jaime Alberto Parra Plaza

Para acceder a una posmem dentro de uno de estos segmentos, el uP debe usar dos registros:

Memoria

Inicio de Segmento

Dirección Lógica o

Efectiva (EA)

Page 14: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 14© Jaime Alberto Parra Plaza

Se denomina así a las diversas combinaciones de registros que pueden usarse para direccionar una posmem. Siendo los casos que ella esté en:

• Segmento de código

• Segmento de pila

• Segmento de datos

MODOS DE DIRECCIONAMIENTO:

Page 15: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 15© Jaime Alberto Parra Plaza

SEGMENTO DE CÓDIGO:

uP MEMORIA

IPCS

Segmento

de Código

Page 16: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 16© Jaime Alberto Parra Plaza

MEMORIAuP

SS

SP

BP

Tope de la pila

Último valor apilado

Posmem dentrode la pila

Fondo de la pila

SEGMENTO DE PILA:

Page 17: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 17© Jaime Alberto Parra Plaza

SEGMENTO DE DATOS:

DSES

SIDIBX

constante

Segmento

de Datos

MEMORIAuP

Page 18: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 18© Jaime Alberto Parra Plaza

Una posmem puede direccionarse con estas posibilidades:

1. DS : [SI + BX + cte16 ]

2. DS : [DI + BX + cte16 ]

3. ES : [SI + BX + cte16 ]

4. ES : [ DI + BX + cte16 ]

Los corchetes ( [ ] ) indican puntero.

cte16 = constante de 16 bits de longitud.

Page 19: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 19© Jaime Alberto Parra Plaza

El segmento básico se direcciona a través de DS. En tanto que el segmento extra se direcciona a través de ES.

La dirección efectiva se obtiene por la suma de tres cantidades:

1. Un registro índice (SI o DI)

2. El registro base (BX)

3. Una constante de, máximo, 16 bits (cte16)

Page 20: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 20© Jaime Alberto Parra Plaza

Es usual indicar la suma encerrando en corchetes cada registro:

EA = [SI] [BX] [cte16]

ó

EA = [DI] [BX] [cte16]

No es necesario que estén los tres campos en la dirección, de aquí surgen varios submodos de direccionamiento:

Page 21: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 21© Jaime Alberto Parra Plaza

SUBMODO DIRECTO:

EA = [cte16]

La constante representa una posmem y

equivale al nombre de una variable en un

lenguaje de alto nivel (HLL):

Page 22: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 22© Jaime Alberto Parra Plaza

uPDATOS

25Hcte16

0H

25H

dirección

Page 23: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 23© Jaime Alberto Parra Plaza

Acerca del submodo directo cabe anotar que normalmente el programador desconoce el valor de la posmem sobre la cual se ubica la variable a la que quiere acceder. En su lugar, usará el nombre de la variable, y el ensamblador se encargará de remplazar dicho nombre por la posmem cuando haga la traducción, de esta forma, el acceso directo a las variables se hace en idéntica forma que en un HLL.

Page 24: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 24© Jaime Alberto Parra Plaza

SUBMODO INDIRECTO POR REGISTROS:

EA = [SI] ó EA = [DI] ó EA = [BX]

El registro usado (SI, DI ó BX) contiene la dirección de la posmem a accesar. Este modo equivale al uso de apuntadores en un HLL:

Page 25: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 25© Jaime Alberto Parra Plaza

uP DATOS

SI

DI

BX

Page 26: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 26© Jaime Alberto Parra Plaza

SUBMODO BASADO:

EA = [cte16][BX]

La dirección de la posmem a acceder se obtiene de la suma del valor contenido en BX más el valor de la constante.

Page 27: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 27© Jaime Alberto Parra Plaza

uP DATOS

BX

cte16

Page 28: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 28© Jaime Alberto Parra Plaza

El modo BASADO es útil para direccionar arreglos.

Cte16 apuntará al inicio del arreglo y BX al

elemento a acceder:

DIRECCIONAMIENTO DE ARREGLOS:

Page 29: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 29© Jaime Alberto Parra Plaza

AR [0]AR [1]

AR [7]

55H56H

5CH

uP DATOS dirección

0H

55Hcte16

07HBX

Variablearreglo AR

Page 30: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 30© Jaime Alberto Parra Plaza

SUBMODO INDEXADO:

EA = [cte16] [SI] ó EA = [cte16] [DI]

La dirección de la posmem a acceder se obtiene de la suma del valor contenido en el registro índice más el valor de la constante.

Page 31: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 31© Jaime Alberto Parra Plaza

uP DATOS

SI

DI

cte16

Page 32: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 32© Jaime Alberto Parra Plaza

El modo INDEXADO es ideal para direccionar cadenas.

Cte16 apunta al inicio de la cadena y

SI ó DI al elemento a acceder:

DIRECCIONAMIENTO DE CADENAS:

Page 33: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 33© Jaime Alberto Parra Plaza

uP DATOS dirección0H

32H33H

8IH

32H

cte16VariableCadena

4FH

DI

Page 34: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 34© Jaime Alberto Parra Plaza

SUBMODO BASADO-INDEXADO:

EA = [SI] [BX] [cte16] ó

EA = [DI] [BX] [cte16]

La dirección de la posmem a acceder se obtiene de la suma del valor contenido en el registro índice más el valor de BX más la constante.

Page 35: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 35© Jaime Alberto Parra Plaza

uP DATOS

SIDI

BX

cte16

Page 36: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 36© Jaime Alberto Parra Plaza

DIRECCIONAMIENTO DE ESTRUCTURAS O MATRICES:El modo basado-indexado permite direccionar

estructuras o matrices.

Cte16 apunta al inicio de la estructura, BX apunta al inicio de una variable compuesta (arreglo o cadena) dentro de la estructura y SI ó DI apunta al elemento a acceder:

Page 37: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 37© Jaime Alberto Parra Plaza

uP DATOS direcciones0H

48Hcte16

06HBX

01HSI

48H arreglo 049H4AH4BH arreglo 14CH4DH4EH4FH50H

arreglo 2

Page 38: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 38© Jaime Alberto Parra Plaza

PREGUNTA 3:

• ¿Qué relación existe entre los segmentos que accede el microprocesador y los llamados modelos de memoria que implementan los compiladores de lenguaje C?

Page 39: PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR.

PBN - 03 - 39© Jaime Alberto Parra Plaza

< FIN DE LA CLASE 3 >