Ojalá les sirva, es un informe que redacté yo misma, me llevó mucho trabajo. (No hay mucho de esto en la web en español) Un microprocesador es un circuito constituido por miles o millones de transistores integrados de tamaño micro. El primer microprocesador fue el Intel 4004, pero en este trabajo analizaremos la estructura del Intel 8088, ya que todos los CPU actuales son similares a este. Es el chip principal que integra una computadora, también llamado CPU (Unidad Central de Proceso). Es quién se encarga de ejecutar instrucciones y procesar datos, aplicando sobre ellos operaciones lógicas o aritméticas, tales como sumar y comparar. Su velocidad de procesamiento (o la cantidad de operaciones que puede realizar por segundo) se mide en Megahertz (MHz) o Gigahertz (GHz). Está ubicado en el socket de la placa madre, y se comunica con otras placas o dispositivos por medio de buses de datos. Interiormente, está diagramado en bloques. Diagrama en bloques 1. Registros de propósito general (AX, BX, CX y DX ) y registros índice (SP, BP, SI, DI). 2. Registros de segmento (CS, DS, SS, ES) y el registro apuntador de instrucciones (IP). 3. Sumador de direcciones. 4. Bus de direcciones. 5. Queue o cola de instrucciones. 6. Unidad de ejecución (EU). 7. Lógica del control del bus. 8. Bus de datos de la ALU. 9. ALU (Unidad Aritmético-Lógica). 10. Bus de direcciones. 11. Bus de datos. 12. Bus de control. F: No está numerada, pero son los registros de bandera (Flags). Registros de propósito general: Guardan datos y/o direcciones , según la operación que se esté realizando. Se dividen en AX, BX, CX y DX; cada uno definido según la función que desarrolle. AX: Es el registro acumulador, utilizado para operaciones de entrada/salida y la mayor parte de la aritmética. BX: Es el registro base, y puede ser utilizado para realizar un direccionamiento indexado. También se puede emplear para cálculos. CX: El registro CX es conocido como el registro contador. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits. DX: El registro DX es el registro de datos. Algunas operaciones de entrada/salida requieren su pulso. Registros índice: Son usados para modificar direcciones del operando durante la ejecución de un programa de computadora. El registro índice es típicamente usado para hacer operaciones de vectores y arrays. Todos son de 16 bits. Registro SP: (Apuntador de pila) Está asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. Registro BP: (Apuntador base) Facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía la pila. Registro SI: (Registro índice fuente) Es requerido por algunas operaciones con cadenas de caracteres. El SI está asociado con el registro DS. Registro DI: (Registro índice destino) Es requerido por algunas operaciones con strings. El DI está asociado con el registro ES. Registros de segmento: Se utilizan para referenciar áreas de memoria. Un registro de segmento tiene 16bits de longitud. Registro CS: Esta dirección de segmento, más un valor de desplazamiento en el registro apuntador de instrucción (IP), indica la dirección de una instrucción que es buscada para su ejecución. Registro DS: La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. Esta dirección, más un valor de desplazamiento en una instrucción, genera una referencia a la localidad de un byte específico en el segmento de datos. Registro SS: El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos. Esta dirección de segmento, más un valor de desplazamiento en el registro del apuntador de la pila (SP), indica la palabra actual en la pila que está siendo direccionada. Registro ES: Algunas operaciones con cadenas de caracteres utilizan el registro extra de segmento para manejar el direccionamiento de memoria. El registro ES está asociado con el registro DI. Registro apuntador de instrucciones: IP: Tiene 16 bits, contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El registro IP está asociado con el registro CS, ya que indica la instrucción actual dentro del segmento de código que se está ejecutando actualmente. Sumador de direcciones: Realiza la suma necesaria para el direccionamiento indexado, implementamos en la CPU un sumador dedicado sólo a esta tarea, de esta forma no usamos tiempo de la ALU. Bus de direcciones: Es un canal del microprocesador donde se establece la dirección de memoria del dato en tránsito. El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. Queue o cola de instrucciones: Es una pila donde las instrucciones son almacenadas antes de que la unidad de ejecución las ejecute. Unidad de ejecución (EU): Este elemento del microprocesador es el que se encarga de ejecutar las instrucciones. La unidad de ejecución comprende el conjunto de registros de propósito general, el registro de banderas y la unidad aritmético-lógica. Bus de datos de la ALU: Es el encargado de transportar los datos entre las distintas partes del microprocesador. El 8088 utiliza un bus de 8bits. ALU: La unidad Aritmético-Lógica es un circuito digital que calcula operaciones aritméticas (suma, resta, multiplicación y división ) y operaciones lógicas (comparación). Es, quizás, la pieza más importante del microprocesador. Flags (Registros de bandera o estado): Son registros de 16 bits, de los cuales nueve sirven para indicar el estado actual de la máquina y el resultado del procesamiento. Este estado, por lo general cambia después de cualquier operación aritmética o lógica. OF (desbordamiento): Indica desbordamiento del bit de mayor orden después de una operación aritmética de números con signo. DF (dirección): Controla la selección de incremento o decremento de los registros SI o DI en las operaciones con cadenas de caracteres (strings). IF (interrupción): Indica que una interrupción externa sea procesada o ignorada. TF (trampa): Permite la operación del procesador en modo de depuración (paso a paso). SF (signo): Contiene el signo resultante de una operación aritmética. ZF (cero): Indica el resultado de una operación aritmética o de comparación (0 si el resultado es diferente de cero y 1 si el resultado igual a cero). AF (acarreo auxiliar): Contiene un acarreo externo en un dato de 8 bits, para aritmética especializada. PF (paridad): Indica si el resultado es par o impar en una operación de datos de ocho bits. CF (acarreo): Contiene el acarreo de los bits de mayor orden después de una operación aritmética; también almacena el contenido del último bit en una operación de corrimiento o de rotación. Ciclo de instrucción Para saber qué es un ciclo de búsqueda y uno de ejecución, es necesario saber qué es un ciclo de instrucción. Un ciclo de instrucción, también llamado fetch-and-execute (búsqueda y ejecución) es el período que tarda un microprocesador en ejecutar una instrucción. Se divide en dos etapas: Ciclo de búsqueda y ciclo de ejecución. Las instrucciones se clasifican, según su función, en: - Instrucciones de transferencia de datos. - Instrucciones de cálculo. - Instrucciones de transferencia del control del programa. - Instrucciones de control. Ciclo de búsqueda Búsqueda de la instrucción: Lo primero que realiza el microprocesador en un ciclo de instrucción, es buscar la instrucción en la memoria principal (RAM). El registro apuntador de instrucciones, tiene almacenada la dirección de la próxima instrucción a ejecutar. Cuando la instrucción fue hallada, el microprocesador pasa la instrucción de la memoria principal a través del bus de datos al Registro de Datos de Memoria (MDR). A continuación, lo registrado allí es colocado en el Registro de Instrucción Actual (CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser decodificada y ejecutada. Decodificación de la instrucción: La segunda y última acción comprendida en el ciclo de búsqueda es decodificar la instrucción. El dato es enviado a una Unidad de Decodificación, que decodifica la instrucción que se va a ejecutar. Es decir, el decodificador traduce la instrucción para saber, justamente, qué instrucción es. Ciclo de ejecución Ejecución de la instrucción: Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción leída de memoria, se lo comunica a la Unidad de Ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones. Almacenamiento de los resultados: La última acción que se realiza en el ciclo de instrucción, es el almacenamiento de los resultados. El resultado generado por la operación es almacenado en la memoria principal (RAM) o enviado a un dispositivo de salida, según la instrucción. Basándose en los resultados de la operación, el contador de programa se incrementa para apuntar a la siguiente instrucción o se actualiza con una dirección diferente donde la próxima instrucción será recogida. Pentium Historia: El 19 de octubre de 1992, Intel anunció que la quinta generación de su línea de procesadores llevaría el nombre Pentium, en vez de 586 u 80586, como se esperaba. Esta fue una estrategia de la empresa para poder registrar la marca y así poder distinguir el nombre de sus procesadores del de sus competidores. Los microprocesadores Pentium conservan la estructura básica de un Intel 8086. El primer Pentium se lanzó al mercado el 22 de marzo de 1993, con velocidades de 60 y 66MHz. Aunque contaba con graves problemas de regulación de temperatura y tenía un fallo en la unidad matemática, fue vendido por mucho dinero. Luego del primer Pentium, se lanzaron versiones de 90, 100, 75, 120, 133, 150, 166 y 200MHz, aproximadamente en ese orden. En 1995 se lanzó Pentium Pro, una versión diferente y mejorada del Pentium clásico para 32 bits. Este micro tenía un núcleo más depurado, incluía una unidad matemática aún más rápida y, sobre todo, tenía la caché de segundo nivel en el encapsulado del chip. En 1996, Pentium lanzó su línea MMX (Agregaron un juego de instrucciones multimedia muy importante), sólo tres meses antes de lanzar los microprocesadores Pentium II, en 1997. El Pentium II era muy similar al Pentium I. Se comercializó en versiones que funcionaban a una frecuencia de reloj de entre 166 y 450MHz. La velocidad de bus era originalmente de 66MHz, pero en las versiones a partir de los 333MHz se aumentó a 100MHz. En 1998 lanzó Xeon, una familia de microprocesadores para servidores PC y Macintosh. En 1999, Intel lanzó Pentium III, versión que resultó ser muy similar a Pentium II. En el año 2000, fue lanzado Pentium 4. Es el primer microprocesador con un diseño completamente nuevo desde el Pentium Pro (1995). Alcanzó los 3,8GHz de velocidad. En 2004 se creó Pentium D, una línea de procesadores que eran, básicamente, dos Pentium 4 en un mismo encapsulado. La línea Pentium 4 fue sustituida por la línea Core Duo, El mismo, dispone de dos núcleos de ejecución, lo cual hace de este procesador especial para las aplicaciones de subprocesos múltiples y para multitarea. Luego, en 2006 se lanzaron los Core 2 Duo. Tecnología HT HT significa “Hyper Threading”, es una tecnología desarrollada y patentada por Intel, que permite simular varios procesadores lógicos dentro de un único procesador físico. Así se logra una mejoría en el rendimiento del procesador, que según Intel puede alcanzar un 30%. De todos modos, las aplicaciones que pretendan aprovechar la capacidad de esta tecnología deben haber sido programadas para utilizar múltiples hilos, de lo contrario no se conseguirá el paralelismo en la ejecución que se pretende. Resumiendo, HT le hace creer al usuario mediante el sistema operativo que tiene dos o más microprocesadores (Siempre y cuando el software lo soporte) cuando en realidad tiene montado un solo microprocesador. Simula una placa madre con doble microprocesador. Esta tecnología ya fue implementada en los microprocesadores Atom, Core i3, Core i5, core i7, Itanium, Pentium 4 y Xenon. Conclusiones Es interesante comentar cuáles son las mejoras de Pentium con respecto al Intel 8086: A partir del Intel 80286, los procesadores incorporaron el modo protegido (a diferencia del modo real que se utilizaba anteriormente), en el que se adquiere capacidad de proceso multitarea y almacenamiento en memoria virtual. Esta es una diferencia muy importante entre el 8086 y Pentium. La línea Pentium, a diferencia del Intel 8086, incorporó la unidad de punto flotante al microprocesador. Anteriormente, existían chips llamados coprocesadores que debían agregarse al procesador principal para poder utilizar esta unidad. Por ejemplo, el coprocesador matemático del Intel 8086 se llamaba Intel 8087. Sin embargo, este método se utilizó por primera vez en el Intel 80486. La línea Pentium incorporó caché interna, a diferencia del 8086 que no incluía. Trabaja con tecnologías de 64bits, a diferencia del 8086 que trabaja con 16bits. Pentium tiene más cantidad de registros, como, por ejemplo el registro extendido de bandera. Y evidentemente, el Pentium es mucho más conveniente ya que alcanza una mayor velocidad de procesamiento y de transferencia de datos. Referencias Wikipedia, la enciclopedia libre: “Intel 8086 y 8088” http://es.wikipedia.org/wiki/Intel_8086_y_8088#Esquema Wikipedia, la enciclopedia libre: “Ciclo de instrucción” http://es.wikipedia.org/wiki/Ciclo_de_instrucci%C3%B3n Wikipedia, la enciclopedia libre: “Intel Pentium” http://es.wikipedia.org/wiki/Intel_Pentium Wikipedia, la enciclopedia libre: “Hyper Threading” http://es.wikipedia.org/wiki/HyperThreading Monografías http://www.monografias.com/trabajos37/el-microprocesador/el-microprocesador.shtml#unidad Alipso http://www.alipso.com/monografias/2941_tema13/ MiTecnológico http://www.mitecnologico.com/Main/DecodificacionDeUnaInstruccion http://www.mitecnologico.com/Main/CicloEjecucionDeUnaInstruccion Universidad Tecnológica Nacional – Apunte | Arquitectura http://www.frm.utn.edu.ar/arquitectura/unidad5.pdf Comentar es Agradecer
Muy completo | El microprocesador por dentro
Datos archivados del Taringa! original
73puntos
7,366visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
7visitas
0comentarios
Dar puntos: