La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico.

Presentaciones similares


Presentación del tema: "Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico."— Transcripción de la presentación:

1

2 Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico

3 Tema 10: Arquitectura de un microprocesador Estructura básica de un sistema microprogramable Ciclos de trabajo de un microprocesador El microprocesador Registros Funcionamiento de un ordenador Secuencia de ejecución de un programa Modos de direccionamiento Evolución de un programa en el interior de un microprocesador Subrutinas Interrupciones

4 10.1. Estructura básica de un sistema microprogramable A. Hardware CPU (chip microprocesador): es un circuito integrado formado por una unidad de control, unidad aritmético-lógica, contador de programa, registros de almacenamiento, etc. Reloj: es un generador de impulsos digitales cuya frecuencia define la velocidad de trabajo. Memoria de acceso aleatorio (RAM): es una memoria de lectura y escritura. Contiene los programas y datos que el usuario puede variar. Memoria ROM Unidades I/O

5 10.1. Estructura básica de un sistema microprogramable B. Software El software de los sistemas microprogramables está formado por: –Instrucciones: órdenes o tareas que debe realizar el sistema. –Datos: son empleados por las instrucciones en su ejecución. –Programa: conjunto de instrucciones y datos que recibe el sistema para realizar una determinada función.

6 10.2. Ciclos de trabajo de un microprocesador El reloj genera una señal cuadrada de frecuencia constante que sincroniza el sistema y determina su velocidad. –Ciclo de reloj: periodo de la señal de reloj. –Ciclo máquina: ciclos de trabajo básicos del micro con dos fases: Fase de búsqueda (fetch cycle): búsqueda en memoria y transferencia al registro correspondiente de la instrucción o el dato. Fase de ejecución (Execute cycle): Interpretación y ejecución. –Ciclo de instrucción: ciclos máquina necesarios para completar una instrucción. (entre 1 y 6)

7 10.2. Ciclos de trabajo de un microprocesador Microprocesadores tipo Motorola: – Ciclo máquina = ciclo de reloj Microprocesadores tipo Intel: – Ciclo máquina = N · Ciclo de reloj N = Número entero entre 3 y 6

8 10.3. El microprocesador Su función consiste en leer y decodificar las órdenes contenidas en una memoria y devolver los resultados a una zona determinada de memoria o actuar sobre un determinado dispositivo.

9 El micro 6502 Sencillo micro construido con tecnología CMOS (bajo consumo) Repertorio de instrucciones reducido pero con amplia gama de posibilidades de direccionamiento para cada una. Micro de 8 bits en el bus de datos. Bus de direcciones de 16 bits => Puede direccionar 64 K posiciones. Posee un generador interno de señales de reloj a partir de otra exterior con f = 1 ó 2 MHz. Instrucción más rápida 2 ciclos máquina y la más lenta 7.

10 Patillaje exterior del 6502 Patillaje del Microprocesador 6502 Rockwell

11 Patillaje exterior del 6502 Alimentación y masa: Vcc y GND Bus de datos: D0 … D7 Bus de direcciones: A0 … A15 Bus de control: –Línea de inicialización RES. Por esta línea de entrada se recibe la orden de parada e inicialización de todos sus registros internos, recomenzando el arranque del sistema. – Líneas de interrupción enmascarable IRQ y no enmascarable NMI. Por estas líneas se le dan al micro diferentes tipos de órdenes para que detenga, de forma temporal, la ejecución del programa principal y realice una determinada tarea.

12 Patillaje exterior del 6502 –Línea R/W. Línea de salida para indicar a los circuitos externos de la CPU (memorias, entrada/salida, etc.) si se leerá o escribirá un dato en el bus de datos. – Líneas de solicitud, diálogo y otras funciones: SYNC: Terminal de sincronismo SO (Set Overflow): Permite poner a 1 el bit de overflow del Registro de estado RDY (Ready): Retraso de operaciones. Adaptación a memorias y dispositivos lentos. –Líneas de reloj: J0, J1 y J2

13 Clasificación de los microprocesadores Se clasifican en función de la longitud del bus de datos. –Micros de 4 bits: electrodomésticos, juegos. –Micros de 8 bits: videojuegos, robótica. –Micros de 16 bits: primeros ordenadores –Micros de 32 bits: informática moderna. –Micros de 64 bits: Ordenadores actuales. Tratamiento de gráficos, comunicaciones.

14 Características de un microprocesador Velocidad de proceso: Frecuencia de la señal de reloj. Por ejemplo 33MHz Longitud de palabra: Longitud de los datos con que opera el sistema. Memoria que puede direccionar: cantidad de memoria máxima que se puede instalar en un ordenador. Se relaciona con el bus de direcciones. Repertorio de instrucciones. Número de instrucciones distintas que tiene grabadas el micro; se relaciona con la anchura de palabra: 8 bits = 256 Número de registros internos que posee la CPU. Capacidad de tratamiento de interrupciones

15 El microprocesador integra en una sola pastilla la Unidad de Control, la ALU y una pequeña memoria interna (registros y acumuladores), capaz de realizar de forma automática las funciones para las que se diseñó. Elementos del microprocesador

16 1.Unidad Aritmético Lógica (A.L.U): Realiza las operaciones aritméticas (suma, resta...) y lógicas (and, or,...) del micro.

17 2.Unidad de control: Está formada por el decodificador de instrucciones y el control propiamente dicho. – Gobierna el funcionamiento del microprocesador. Interpreta y transforma la información y procesa los datos. –Genera una serie de microórdenes secuenciales, a partir del código binario de la instrucción, que actúan sobre la CPU, registros, etc., y generan operaciones diversas como sumas, movimientos de datos, lecturas en periféricos, etc. –Recibe información del registro de estado, cuyos datos pueden condicionar las acciones a realizar. Elementos del microprocesador

18 3.Los registros: Son memorias de almacenamiento temporal. Su número y características varía de unos micros a otros. Para el micro 6502 tenemos: Contador de programa. Acumulador Registro de estado Registros internos: –de instrucciones, –de direcciones, –de datos. Registros auxiliares: X, Y Registro de pila SP (Stack Pointer). Elementos del microprocesador

19 10.4. Registros

20 1.El contador de programa Controla la obtención de instrucciones desde la memoria. El número de bits de este registro será igual al número de líneas de dirección del micro. En este registro se encuentra almacenada la dirección de la próxima instrucción a ejecutar.

21 La Unidad de Control actúa sobre su contenido de dos maneras: –Por incrementación: cuando el código de la operación no implica salto de secuencia, la UC incrementa en una unidad el contenido del contador de programa. –Por carga: Si el código de la operación implica salto o ruptura de secuencia, el C.P. se carga con la dirección a la que debe saltar el programa Registros

22 2.El Acumulador Registro de trabajo que se puede gobernar por programa. El resultado de las operaciones de la ALU se colocan normalmente en el Acumulador, y una de las puertas de entrada de la ALU también está conectada a él Registros

23 3.Registro de estado (SR) flags: Contiene una serie de bits que informan sobre diferentes estados en la CPU después de una operación aritmética o lógica. –Acarreo (C) –Resultado cero (Z) –Habilitación de interrupciones (IRQ) micro 6502 –Modo decimal (D) –Interrupción software/harware (Break) –Overflow aritmético (OV) –Signo del último resultado (SG) Sus bits son independientes entre sí. Los consulta la UC para generar la secuencia correcta en función de la operación previa Registros

24 4.Registro interno de instrucciones (RI): Sirve para almacenar temporalmente el contenido de la posición de memoria direccionada por el CP, permitiendo de esta forma que el decodificador de instrucciones de la CPU analice su contenido y determine las operaciones a realizar Registros

25 5.Registro interno de direcciones (MAR) Al buscar una instrucción, el contenido de CP se carga en el MAR, que está conectado al bus de direcciones. Su número de bits se corresponde con el del bus y el CP Registros

26 6.Registro de datos de memoria (MDR) Almacena datos que van y vienen de la memoria o de los dispositivos I/O Registros

27 7.Registros auxiliares. Suelen contener datos de interés para el programa, facilitando su búsqueda y permitiendo un aumento en la rapidez de su ejecución. Muy útiles en le programación Registros

28 8.Puntero de pila (SP) Registro que controla una zona de la memoria, llamada pila, en la cual se depositan temporalmente datos que la CPU tendrá que recuperar más tarde. Es una estructura LIFO. Almacenamos datos secuencialmente y luego se van recuperando en orden inverso a como se metieron Registros

29 El SP a punta a la primera dirección libre de la pila. Cuando almacenamos un dato en esa dirección, el SP se decrementará automáticamente en una unidad y apuntará a la siguiente posición libre Registros

30 Para la recuperación de datos, en primer lugar se incrementa en una unidad el SP para que apunte a la dirección del último dato que se introdujo en la pila. Se emite por el bus de direcciones el nuevo contenido del SP y por el bus de datos se recibe la información deseada Registros

31 10.5. Funcionamiento de un ordenador Un ordenador es un sistema electrónico digital capaz de ejecutar de forma secuencial las instrucciones contenidas en un programa. Los programas, que se encuentran guardados en unidades de almacenamiento permanente, para su ejecución son cargados en la memoria de programa (RAM).

32 10.5. Funcionamiento de un ordenador Una vez cargado el programa en memoria, el microprocesador obtendrá una instrucción de la memoria de programa, la interpretará, la ejecutará y obtendrá a continuación la instrucción siguiente para repetir el proceso. Durante el proceso de ejecución, se producen resultados intermedios, de carácter transitorio, que se almacenan en la memoria de trabajo (RAM)

33 10.5. Funcionamiento de un ordenador

34 10.6. Secuencia de ejecución de un programa (1). 1- Al iniciarse el programa, el CP se carga con la dirección de la 1ª instrucción. 2-La UC transmite a la memoria el contenido del CP. 3-La memoria entrega a la UC, vía bus de datos, el contenido de la posición de memoria.

35 10.6. Secuencia de ejecución de un programa (2). El decodificador de instrucciones analiza el Código de Operación. Esto puede implicar: –Que la instrucción conste de una sola palabra y no lleve operando: el C.P. se incrementa en una unidad y se continúa el proceso. –Que la instrucción conste de varias palabras (dos o tres): la UC manda por el bus las direcciones necesarias para completar la instrucción. El CP se va incrementando hasta que se ejecuta la instrucción completa.

36 10.6. Secuencia de ejecución de un programa (3). La UC puede cargar el CP a otro valor distinto para alterar la secuencia normal del programa, atendiendo a una condición. La nueva dirección es suministrada como operando en la propia instrucción de salto.

37 10.7. Modos de direccionamiento. La forma de especificar el operando de una instrucción ( registro de la CPU, posición de memoria o unidad I/O) recibe el nombre de modo de direccionamiento. La existencia de diferentes modos de direccionamiento facilita la realización de programas y aceleran su ejecución.

38 10.7. Modos de direccionamiento Los distintos modos de direccionamiento dependen de la CPU, de su estructura interna. Para el microprocesador 6502 tenemos: –Direccionamiento implícito: El operando está determinado por el propio código de la operación. No tiene operando. InstrucciónCódigo operaciónOperando BRK00No tiene Provoca una ruptura en el programa

39 10.7. Modos de direccionamiento Direccionamiento inmediato: El operando está contenido en la instrucción. No es necesario acceder a memoria. InstrucciónCódigo Oper.Operando LDA # 02A902 Carga el dato 02 en el acumulador

40 10.7. Modos de direccionamiento Direccionamiento directo o absoluto: El dato necesario para ejecutar la instrucción está contenido en una posición de memoria indicada por el operando. InstrucciónCódigo Oper.Operando LDA $0500AD00 05 Carga el dato almacenado en la dirección de memoria 0500 en el acumulador

41 10.7. Modos de direccionamiento Direccionamiento relativo: El segundo byte contiene en complemento a 2 el valor que hay que sumar (restar) al C.P. si se cumple la condición de la instrucción. En caso contrario se ejecuta la siguiente instrucción. InstrucciónCódigo Oper.Operando BEQ 09F009 Salta si Z = 1 nueve posiciones más adelante de la actual

42 10.7. Modos de direccionamiento Direccionamiento absoluto indexado: La dirección de memoria efectiva se forma sumando el contenido del registro índice con el operando de la instrucción InstrucciónCódigo Oper.Operando LDA $0500, XBD00 05 Carga el dato almacenado en la dirección de memoria (Valor del reg. X) en el acumulador

43 10.8. Evolución de un programa en el interior de un microprocesador Vamos a estudiar la evolución del siguiente programa para el microprocesador 6502: NEMÓNICOSMEMORIACÓDIGOCOMENTARIO LDA $070F0400AD 0F 07Cargo en el acumulador el dato contenido en la posición de memoria 070F ADC # Suma con acarreo 38 al contenido del Ac. STA $ D 10 07Mueve a la dirección 0710 el valor del Ac BRK040800

44 10.8. Evolución de un programa en el interior de un microprocesador

45 1º ciclo máquina de la 1ª instrucción: busca e interpreta el código de operación de la primera instrucción: 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido de la posición 0400H al bus de datos y de éste al registro de datos 6-Del registro de datos se pasa al de instrucciones donde la UC lo decodifica y lo interpreta: carga en el Ac. el contenido de la memoria especificada en los dos bytes siguientes Evolución de un programa en el interior de un microprocesador

46 2º ciclo máquina de la 1ª instrucción: busca la parte baja de la dirección donde se encuentra el dato. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido de la posición 0401H al bus de datos y de éste al registro de datos. (Corresponde al byte de menor peso) Evolución de un programa en el interior de un microprocesador

47 3º ciclo máquina de la 1ª instrucción: busca la parte alta de la dirección donde se encuentra el dato. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido de la posición 0402H al bus de datos y de aquí pasa al byte alto del registro de direcciones. 6-El registro de datos coloca su contenido en la parte baja del registro de direcciones por el bus de datos. En este registro tenemos completa la dirección del dato Evolución de un programa en el interior de un microprocesador

48 4º ciclo máquina de la 1ª instrucción: busca el dato y lo carga en el acumulador. 1- El contenido del registro de direcciones (070F) se carga en el bus de direcciones. 2-La unidad de control autoriza la lectura en memoria. 3- La memoria vuelca el contenido de la posición citada en el bus de datos y de ahí al registro de datos. 4- El contenido del registro de datos es llevado al acumulador, donde tendremos el dato 1AH Evolución de un programa en el interior de un microprocesador

49 Conclusión 1 Hemos necesitado 4 ciclos máquina para ejecutar la primera instrucción. Al tratarse de un micro tipo motorola, implica que hemos consumido cuatro ciclos de reloj y, por tanto, hemos tardado 4 micro segundos (f = 1MHz)

50 1º ciclo máquina de la 2ª instrucción: busca e interpreta el código de operación. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad (0404). 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido (69H) de la posición 0403H al bus de datos y de éste al registro de datos 6-Del registro de datos se pasa al de instrucciones donde la UC lo decodifica y lo interpreta como sumar el Ac más el dato contenido en el siguiente byte de memoria y el carry del registro de estado Evolución de un programa en el interior de un microprocesador

51 2º ciclo máquina de la 2ª instrucción: busca el dato y ejecuta la suma. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad (0405H). 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido (38H) de la posición 0404H al bus de datos y de éste al registro de datos 6-Del registro de datos pasa a la ALU donde se suma con el Acc y el carry: 1AH + 38H + 0 = 52H 7- El resultado se almacena en el acumulador Evolución de un programa en el interior de un microprocesador

52 Conclusión 2 Se completa la segunda instrucción en dos ciclos máquina.

53 1º ciclo máquina de la 3ª instrucción: busca e interpreta el código de operación. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido (8DH) de la posición 0405H al bus de datos y de éste al registro de datos 6-Del registro de datos (8DH) pasa al de instrucciones donde la UC lo decodifica y lo interpreta como la orden de almacenar el dato contenido en el acumulador en una dirección de memoria dada por las dos siguientes posiciones de memoria Evolución de un programa en el interior de un microprocesador

54 2º ciclo máquina de la 3ª instrucción: busca la parte baja de la dirección donde se guardará el dato. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido (10H) de la posición 0406H al bus de datos y de éste al registro de datos. (Corresponde al byte de menor peso) Evolución de un programa en el interior de un microprocesador

55 3º ciclo máquina de la 3ª instrucción: busca la parte alta de la dirección donde se guardará el dato. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido (07H) de la posición 0407H al bus de datos y de aquí pasa al byte alto del registro de direcciones. 6-El registro de datos coloca su contenido (10H) en la parte baja del registro de direcciones por el bus de datos. En este registro tenemos completa la dirección del dato: (0710H) Evolución de un programa en el interior de un microprocesador

56 4º ciclo máquina de la 3ª instrucción: carga el dato en memoria. 1- El contenido del Acc (52H) se lleva al registro de datos. 2- El contenido del registro de direcciones (0710H) se carga en el bus de direcciones. 3-La unidad de control autoriza la escritura en memoria. 4- El contenido del registro de datos es llevado,via bus de datos, a la posición de memoria seleccionada (0710H) Evolución de un programa en el interior de un microprocesador

57 Conclusión 3 La tercera instrucción se ha ejecutado en 4 ciclos máquina

58 1º ciclo máquina de la 4ª instrucción: busca e interpreta el código de operación. 1-El CP se carga en el registro de direcciones. 2- El contenido del CP se incrementa en una unidad. 3-El registro de direcciones se vuelca en el bus de direcciones. 4-La Unidad de Control autoriza la lectura en memoria. 5-La memoria vuelca el contenido (00H) de la posición 0408H al bus de datos y de éste al registro de datos 6-Del registro de datos, (00H) se pasa al de instrucciones donde la UC lo decodifica y lo interpreta como la orden de romper la secuencia de ejecución del programa en curso Evolución de un programa en el interior de un microprocesador

59 Conclusión 4 La instrucción 4 se ha completado en un ciclo máquina.

60 10.9. Subrutinas Para disminuir el tamaño de los programas que contienen tareas repetitivas, se han ideado las subrutinas, que se pueden definir como un grupo de instrucciones de un programa que se repite íntegramente en varias zonas de éste. Forma de trabajo de una subrutina

61 Interrupciones Una interrupción sería el proceso que, en función de alguna circunstancia externa o interna, permite al microprocesador interrumpir el programa en ejecución y saltar a una subrutina específica que la atienda. Las interrupciones llegan a la CPU a través de una línea del bus de control: INTR

62 Tipos de interrupciones Interrupciones internas o excepciones (0-4). Atiende a los errores internos de la CPU: desbordamiento, división por cero.... Reservadas por el fabricante: Para futuras aplicaciones. De usuario : Pueden activarse: –Por software: mediante la instrucción INT seguido del número de interrupción. –Por hardware (externa), activadas por el dispositivo a atender.

63 Procesamiento de una interrupción Terminar la ejecución de la instrucción máquina en curso. Salva el valor de contador de programa, PC, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción. La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción. Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado en la pila en el paso 2 y retorna al programa que se estaba ejecutando anteriormente.

64 Inhabilitación de interrupciones Para no interrumpir ciertas operaciones del micro con interrupciones de periféricos el propio micro posee un registro de enmascaramiento donde especificaremos qué interrupciones queremos desactivar o activar en cada momento. NMI (Non –Maskable Interrupt) Interrupciones no enmascarables: El sistema no permite su enmascaramiento debido a su importancia: refresco de la RAM, reset.....


Descargar ppt "Tema 10: Arquitectura de un microprocesador Arquitectura de Equipos y Sistemas Informáticos Curso 2010/2011 I.E.S. Pacífico."

Presentaciones similares


Anuncios Google