La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "PBN - 03 - 1 © Jaime Alberto Parra Plaza CLASE 3 SOFTWARE DEL MICROPROCESADOR."— Transcripción de la presentación:

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

2 PBN © 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

3 PBN © 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.

4 PBN © Jaime Alberto Parra Plaza Las instrucciones se almacenan en la memoria y se ejecutan por la CPU: MEMORIA CPUInstrucc. 1 Instrucc. 2. Instrucc. k

5 PBN © Jaime Alberto Parra Plaza BOOT BIOS Memoria RAM Memoria ROM Memoria al encender el PC

6 PBN © Jaime Alberto Parra Plaza Memoria después de cargar el sistema operativo BOOT BIOS Libre Sistema Operativo Memoria RAM Memoria ROM

7 PBN © Jaime Alberto Parra Plaza BOOT Datos BIOS Programa Libre Sistema Operativo Memoria RAM Memoria ROM Memoria después de cargar un programa

8 PBN © 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

9 PBN © Jaime Alberto Parra Plaza El uso normal de cada segmento es: Código( Listado de instrucciones) Datos(Variables) Pila(Almacenamiento temporal)

10 PBN © 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.

11 PBN © 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.

12 PBN © 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.

13 PBN © 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)

14 PBN © 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:

15 PBN © Jaime Alberto Parra Plaza SEGMENTO DE CÓDIGO: uP MEMORIA IP CS Segmento de Código

16 PBN © Jaime Alberto Parra Plaza MEMORIA uP SS SP BP Tope de la pila Último valor apilado Posmem dentro de la pila Fondo de la pila SEGMENTO DE PILA:

17 PBN © Jaime Alberto Parra Plaza SEGMENTO DE DATOS: DS ES SI DI BX constante Segmento de Datos MEMORIA uP

18 PBN © 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.

19 PBN © 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)

20 PBN © 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:

21 PBN © 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):

22 PBN © Jaime Alberto Parra Plaza uP DATOS 25H cte16 0H 25H dirección

23 PBN © 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.

24 PBN © 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:

25 PBN © Jaime Alberto Parra Plaza uP DATOS SI DI BX

26 PBN © 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.

27 PBN © Jaime Alberto Parra Plaza uP DATOS BX cte16

28 PBN © 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:

29 PBN © Jaime Alberto Parra Plaza AR [0] AR [1] AR [7] 55H 56H 5CH uP DATOS dirección 0H 55H cte16 07H BX Variable arreglo AR

30 PBN © 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.

31 PBN © Jaime Alberto Parra Plaza uP DATOS SI DI cte16

32 PBN © 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:

33 PBN © Jaime Alberto Parra Plaza uP DATOS dirección 0H 32H 33H 8IH 32H cte16 Variable Cadena 4FH DI

34 PBN © 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.

35 PBN © Jaime Alberto Parra Plaza uP DATOS SI DI BX cte16

36 PBN © 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:

37 PBN © Jaime Alberto Parra Plaza uP DATOS direcciones 0H 48H cte16 06H BX 01H SI 48H arreglo 0 49H 4AH 4BHarreglo 1 4CH 4DH 4EH 4FH 50H arreglo 2

38 PBN © 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?

39 PBN © Jaime Alberto Parra Plaza


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

Presentaciones similares


Anuncios Google