Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
INFORMÁTICA BÁSICA Tema 6 Microprocesadores. Introducción al funcionamiento del microprocesador 1 CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Interrupciones 2 CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Interrupciones 3 MICROPROCESADOR: EL EJE CENTRAL Micro-procesador: procesador fabricado en un único circuito integrado Unidad Central de Proceso: Unidad de control (UC): gestiona el funcionamiento de la CPU y por tanto del computador. Unidad aritmético-lógica (ALU): lleva a cabo las funciones de procesamiento de datos del computador. Registros: almacenamiento interno. Interconexiones CPU: Son mecanismos que proporcionan comunicación entre la unidad de control, la ALU y los registros. Precisa de un reloj para coordinar todas las operaciones Abstracto: Hace cálculos Mueve datos 4 FUNCIONAMIENTO BÁSICO DEL MICROPROCESADOR Existen dos estructuras básicas: Estructura von Neumann: La memoria principal comparte datos e instrucciones. Es el paradigma más común en arquitectura de computadores. 5 FUNCIONAMIENTO BÁSICO DEL MICROPROCESADOR Existen dos estructuras básicas: Estructura Harvard: Dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos Suele utilizarse en DSPs, o procesador de señal digital, usados habitualmente en productos para procesamiento de audio y video. 6 FUNCIONAMIENTO BÁSICO DEL MICROPROCESADOR (2) 7 Memoria Entrada- Salida (E/S) Bus de direcciones B us d el s is te m a Bus de datos Bus de control CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Interrupciones 8 UNIDAD DE CONTROL Realiza funciones organizativas (micro- operaciones) con respecto a los elementos del procesador para que participen en la ejecución de una instrucción. Una micro-operación corresponde a acciones como: Mover datos dentro de la CPU, Transferencia de un dato a un bus, etc. Es IMPERIOSAMENTE necesario sincronizar estas etapas: Un ciclo de reloj es la unidad de tiempo atómica para la ejecución de las operaciones dentro del procesador. Las operaciones se realizan dentro del ciclo de reloj o en múltiplos de estos ciclos de reloj. 9 UNIDAD DE CONTROL (2) Entradas de una UC: Reloj: marca con ciclos de reloj la ejecución de las micro-operaciones. Registro de Instrucción: contiene la instrucción que determina las micro-operaciones a realizar. Indicadores: determinan el estado del microprocesador y resultados de operaciones anteriores. Señales de control del bus de control: p. ej: señales de interrupción y de reconocimiento. Salidas de una UC: Señales de control internas al procesador Señales de control hacia el bus de control: hay de dos tipos, de memoria y de módulos de E/S. 10 UNIDAD DE CONTROL (3) 11 UNIDAD DE CONTROL (4) La UC puede ser de dos tipos: Cableada: diseñada específicamente sobre el silicio para un juego de instrucciones concreto. Microprogramada: es genérica o prediseñada e implementan un juego de instrucciones u otro dependiendo de un microprograma. Hoy día la microprogramación ha desaparecido prácticamente por completo: Las unidades de control cableadas tienen un rendimiento significativamente mayor. Existen herramientas avanzadas para diseñar complejas UCs con millones de transistores litografiados. (VHDL) 12 UNIDAD ARITMÉTICO LÓGICA Las operaciones se realizan siempre sobre algún registro/memoria y apoyándose en el acumulador. El resultado de las operaciones es almacenado en el acumulador. Algunas operaciones pueden activar la palabra de estado: flags / indicadores. Algunas operaciones aritméticas lógicas típicas: Sumas, Restas Desplazamiento a la izquierda/derecha (multiplicar / dividir por 2) Incrementar o decrementar en 1 el acumulador OR, AND, XOR, etc, entre un par de registros. Adicionalmente, puede existir un co-procesador matemático para implementar funciones más costosas, como la multiplicación, división y tratamiento de coma flotante. 13 CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Modos de direccionamiento Fases de ejecución de una instrucción Tratamiento de interrupciones 14 ORGANIZACIÓN DE LOS REGISTROS 15 Registros visibles al usuario: puede ser referenciado por medio del lenguaje máquina que ejecuta la CPU. De uso general. De datos. De direcciones. De códigos de condición. Registros de control y de estado: controlan el funcionamiento de la CPU. Ejemplos: Contador de programa. (PC). Registro de instrucción (IR). Registro de dirección de memoria (MAR). Registro de datos (o intermedio) de memoria (MDR). Palabra de estado del programa (PSW): contiene información del contexto del programa. REGISTROS DE PROPÓSITO GENERAL Ejemplo: El 8086 tenía sólo 4 registros para el usuario. Además de ser accesibles, tenían funcionalidades extra. Registro AX: Registro acumulador. Utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Registro BX: registro base. Único registro de propósito general que puede ser un índice para direccionamiento indexado. Registro CX: registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para desplazamiento de bits. Registro DX: registro de datos. Algunas operaciones de E/S requieren su uso. 16 REGISTROS Cada programa tiene unos valores para los registros no accesibles por el usuario. Cada vez que el programa se está ejecutando, es necesario volver a cargar estos registros. Son necesarios para: Saber en que parte de la Memoria Principal está el programa. Cuál es la siguiente instrucción a ejecutar. Cuál es la siguiente instrucción que ha de traerse de la memoria. Etc. 17 ORGANIZACIÓN DE LOS REGISTROS (2) 18 MAR PC IR SP MDR R0 Rn Registros de propósito general Control CY S Z P O ALU CPU Memoria Principal Dirección Dato/Instrucción R/W Registro de dirección de memoria: Contiene la dirección de la localización de MP hacia o desde la cual deben transferirse datos Contador de programa: apunta a la siguiente dirección a traer de memoria Registro de instrucción: contiene la instrucción que se está ejecutando Puntero de pila: dirección de la cabecera de la pila Registros de propósito general: guardan operandos, direcciones, incrementos, etc. Ej: Acumulador. Palabra de estado: conjunto de biestables indicadores o de condición Registro de datos de memoria: contiene el dato leído o que se va a escribir de/en la posición de Memoria apuntada por MAR CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Interrupciones 19 IMPORTANCIA DE UNA INSTRUCCIÓN Dentro del computador la actividad se controla por medio de instrucciones Realizar una tarea almacenar en memoriaun programa (conjunto de instrucciones que operan sobre unos datos). Las instrucciones se traen de Memoria Principal al procesador, donde se ejecutan. Como operandos se utilizan datos almacenados en Memoria Principal o en registros. 20 CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Interrupciones 21 JUEGO DE INSTRUCCIONES Una instrucción es un patrón binario diseñado dentro de un microprocesador para realizar una función específica. El grupo completo de instrucciones, llamado juego de instrucciones, determina qué funciones puede realizar el microprocesador. Estas instrucciones se pueden clasificar en las siguientes cinco categorías funcionales: 1. Trasferencia de datos 2. Realización de operaciones aritméticas 3. Realización de operaciones lógicas 4. Pruebas de condiciones y alteración de la secuencia del programa 5. Operaciones de control 22 JUEGO DE INSTRUCCIONES (2) El repertorio o juego de instrucciones debe ser: Completo: debe permitir resolver cualquier problema. Eficaz: los programas deben ser ejecutados en un tiempo razonable. Está relacionado con: El número de registros disponibles. El tamaño de los datos. Los modos de direccionamiento (maneras de acceder a los datos). Clasificación de los computadores según su repertorio: RISC: Reduced Instruction Set Computer (ej.: MIPS, PowerPC). CISC: Complex Instruction Set Computer (x86). VLIW: Very Long Instruction Word (Itanium). 23 JUEGO DE INSTRUCCIONES (3) El repertorio de instrucciones debe especificar: Formato de las instrucciones: tamaño fijo, variable o híbrido. Localización de operandos y resultado, junto con modos de direccionamiento. Tipos de datos y tamaños: Enteros y números en coma flotante (IEEE 754). Operaciones soportadas: lógicas, aritméticas, etc. Mecanismos de bifurcación: instrucciones de salto, subrutinas, etc. Propiedades de las instrucciones: Realizan una función única y sencilla. Emplean un número fijo de operandos. Su codificación binaria es bastante sistemática, o al menos es recomendable que lo sea (con objeto de facilitar su decodificación). Son autocontenidas, es decir, contienen toda la información necesaria para su ejecución: 24 JUEGO DE INSTRUCCIONES (4) Formato de instrucción: representación en binario de la misma. Especifica el significado de cada uno de los bits que la constituyen. Longitud del formato de instrucción: número de bits que lo componen. La información contenida en el formato de la instrucción es: Código de operación (COP). Dirección de los operandos (OP1 y OP2). Dirección del resultado (RES). Dirección de la siguiente instrucción (casi siempre implícita). Tipos de representación de los operandos (casi siempre implícitos en el código de operación). Modificador (MD): suele completar al COP, y sirve para especificar ciertas particularidades de la instrucción: Tamaño y tipo de los operandos. A veces se usa para distinguir entre operaciones similares. 25 COP MD OP1 OP2 RES CONTENIDO DEL CAPÍTULO Introducción Unidad de Control y Unidad Aritmético Lógica Organización de los registros Repertorio de instrucciones y ejecución Importancia de una instrucción Juego de instrucciones Interrupciones 26 INTERRUPCIONES Las interrupciones indican al procesador que hay algo EXTERNO a la ejecución que ha ocurrido. Ejemplos: Operaciones de E/S: se han leído datos del disco duro, se ha pulsado una tecla. fallos del sistema: una operación ha dado error… ¿Qué se hace? 1. Se guarda el estado del proceso 2. Se aplica la rutina asociada a la interrupción 3. Se vuelve al estado del proceso anterior Las interrupciones permiten que se alternen procesos en la CPU! Si el proceso necesita un dato del disco duro, espera “dormido” a que llegue. La interrupción notifica el fin de la espera y la posibilidad de que el programa continúe donde lo dejó. 27 INTERRUPCIONES 28 BIBLIOGRAFÍA Alberto Prieto, Antonio Lloris y Juan Carlos Torres. Introducción a la Informática. McGraw Hill (2006). ISBN: 8448146247. Capítulos 5, 6 y 7. Patterson y Hennessy. Estructura y Diseño de Computadores. Reverte (2000). ISBN: 9788429126174 . Capítulos 2 y 4. Murdocca y Heuring: Principios de Arquitectura de Computadoras. Prentice Hall (2002). ISBN: 9879460693 : Capítulos 4 y 6. 29
Compartir