Want to create interactive content? It’s easy in Genially!

Reuse this genially

ADC T2: Estructura y funcionamiento de la CPU

liliana.glz.hh

Created on October 12, 2020

Start designing with a free template

Discover more than 1500 professional designs like these:

Corporate Christmas Presentation

Business Results Presentation

Meeting Plan Presentation

Customer Service Manual

Business vision deck

Economic Presentation

Tech Presentation Mobile

Transcript

Estructura y funcionamiento de la CPU

Organización del procesador, Estructura de registros y Ciclo de una instrucción

by: ING. LILIANA GONZÁLEZ ESPINOSA

EMPEZAR

ÍNDICE

Estructura

Objetivo

Introducción

Ciclo

Conclusiones

Organización

Bibliografía

OBJETIVO

Conocer y reconocer la forma en que esta organizado el componente principal de un computador: El procesador, para determinar sus características y con base en ellas el funcionamiento de un equipo.

INTRODUCCIÓN

CPU por sus siglas en inglés (Central Proccessing Unit), cumple la función principal de procesar los datos y transferirlos a otros elementos del computador; estas tareas se llevan a cabo mediante la ejecución de instrucciones. Es por ello que en este módulo analizaremos los elementos principales del procesador desde el punto de vista funcional; siendo los básicos: Conjunto de regitsros e Instrucciones.

ORGANIZACIÓN DEL PROCESADOR

La función principal de un procesador es ejecutar instrucciones y la organización que tiene viene condicionada por: 1) Las tareas qué debe realizar. 2) Cómo debe hacerlo. Los procesadores están diseñados y operan según una señal de sincronización."Señal de reloj"

Para ejecutar una instrucción son necesarios 1 o más ciclos de reloj, dependiendo del tipo de instrucción y de los operandos que tenga. Las prestaciones del procesador no las determina solo la fecuencia del reloj, sino otras características como son: 1) El juego de instrucciones. 2) La capacidad que tiene para ejecutar simultáneamente múltiples instrucciones.

Todo procesador dispone de 3 componentes principales:1) Conjunto de registros.2) Unidad Aritmética y Lógica o ALU. 3) Unidad de Control.

La organización básica de los elementos que componen un procesador y el flujo de información entre los diferentes elementos se ve en el esquema siguiente:

El término procesador actualmente se puede entender como microprocesador porque todas las unidades funcionales que lo forman se encuentran dentro de un chip, pero hay que tener presente que, por el aumento de la capacidad del nivel de integración, dentro de los microprocesadores se pueden encontrar otras unidades funcionales del computador. Por ejemplo:

• Unidad de ejecución SIMD: Especializada en la ejecución de instrucciones SIMD (single instruction, multiple data), aquellas que trabajan con estructuras de datos vectoriales, por ejemplo instrucciones multimedia.• Memoria caché: Prácticamente todos los procesadores modernos incorporan dentro del propio chip del procesador algunos niveles de memoria caché. • Unidad de Gestión de Memoria (MMU): Gestiona el espacio de direcciones virtuales, traduciendo las direcciones de memoria virtual a direcciones de memoria física en tiempo de ejecución. Esta traducción permite proteger el espacio de direcciones de un programa y separar el espacio de memoria del sistema operativo del espacio de memoria de los programas de usuario. • Unidad de punto flotante (FPU): Especializada en hacer operaciones en punto flotante; puede funcionar de manera autónoma, ya que dispone de un conjunto de registros propio.

Unidad Aritmética-Lógica (ALU)

1) Recibe los datos sobre los que efectúa operaciones de cálculo y comparaciones. 2) Toma decisiones lógicas (determina si una afirmación es correcta o falsa mediante reglas del algebra de Boole). 3) Devuelve luego el resultado. Todo ello bajo supervisión de la unidad de control.

UNIDAD DE CONTROL

1) Le indica al resto del sistema como llevar a cabo las instrucciones de un programa. 2) Comanda las señales electrónicas entre la memoria y la unidad aritmético-lógica, y entre el CPU y los dispositivos de entrada y salida. Para ejecutar cualquier programa, cada comando del mismo se desglosa en instrucciones.

BANCO (SET/CONJUNTO) DE REGISTROS

Serie de posiciones especiales de memoria, ubicadas físicamente dentro de la propia CPU, que permiten un acceso a operandos y lugares de almacenamiento de resultados mucho más veloz que si estuvieran en el sistema de memoria normal. Algunos de estos registros son de uso interno de la propia CPU y otros son accesibles y utilizables por el programador.

Para que un procesador se organice, necesita lo siguiente: Captar instrucciones: Lee una instrucción de memoria (registro, cache o memoria principal). Interpretar instrucción: La instrucción se codifica para determinar qué acción es necesaria. Captar datos: La ejecución puede exigir leer datos de memoria o de un módulo de E/S. Procesar datos: La ejecución puede exigir llevar a cabo alguna operación aritmética o lógica con los datos. Escribir datos: Los resultados de una ejecución pueden exigir escribir datos en la memoria o en el módulo de E/S.

Para hacer lo anterior, el procesador necesita almacenar instrucciones y datos temporalmente mientras una instrucción está ejecutándose, en otras palabras el procesador necesita una pequeña memoria interna, también llamados registros.

ESTRUCTURA DE REGISTROS

1) REGISTROS VISIBLES PARA EL USUARIO.2) REGISTROS DE CONTROL Y DE ESTADOS. 3) EJEMPLOS DE ORGANIZACIÓN DE REGISTROS DE CPU REALES.

REGISTROS

Elementos de memoria de acceso rápido que se encuentran dentro del procesador. Constituyen un espacio de trabajo para el procesador y se utilizan como almacenamiento temporal. Se implementan utilizando elementos de memoria RAM estática y son imprescindibles para ejecutar las instrucciones, porque la ALU solo trabaja con los registros internos del procesador.

El conjunto de registros y la organización que tienen cambia de un procesador a otro; los procesadores difieren en el número, tipo y tamaño de cada registro. Una parte de los registros puede ser visibles para el programador de aplicaciones, otra parte solo para instrucciones privilegiadas y otra solo se utiliza en el funcionamiento interno del procesador.

REGISTROS VISIBLES PARA EL USUARIO

Son aquellos que pueden ser referenciados por medio del lenguaje máquina que ejecuta la CPU, normalmente son: Registros de propósito general, aquellos que pueden guardar tanto datos como direcciones. Registros de datos, pueden ser asignados por el programador a diversas funciones. En algunos casos son de propósito general y pueden ser empleados por cualquier instrucción de máquina que lleve a cabo operaciones sobre los datos.

Registros de direcciones, contienen direcciones en la memoria principal de datos y pueden ser de propósito general o estar a un modo específico de direccionamiento. Códigos de condición, también conocidos como indicadores o flags. Los códigos de condición, son bits activados por el procesador como resultado de determinadas operaciones

REGISTROS DE CONTROL Y DE ESTADO

Se utilizan para controlar las operaciones del procesador, la mayor parte no son visibles al usuario y algunos pueden ser accesibles a las instrucciones de máquina ejecutadas en un modo de control. Los registros utilizados son los siguientes:Registro de direcciones de memoria (MAR), el cual contiene la dirección en dónde se efectuará la próxima lectura o escritura de datos. El número de direcciones depende del tamaño de la MAR.

Registro de datos de memoria (MBR), contiene los datos que van a ser escritos en la memoria o los que fueron leídos en ella. Registro de direcciones de entrada y salida (I/O AR), especifica al dispositivo ya sea de entrada o salida. Registro de datos de entrada y salida (I/O BR), área temporal en dónde se lleva a cabo el intercambio de datos entre el procesador y el dispositivo de entrada y salida. Registro de instrucciones (IR), contiene la dirección de la siguiente instrucción que se va a ejecutar.

Palabras de estado del programa (PSW), contiene códigos de condición junto con otras informaciones de estado como el signo, acarreo, desbordamiento, entre otras.

Los bits del registro de estado son modificados por el procesador como resultado de la ejecución de algunos tipos de instrucciones, por ejemplo instrucciones aritméticas o lógicas, o como consecuencia de algún acontecimiento, como las peticiones de interrupción. Estos bits son parcialmente visibles para el programador, en algunos casos mediante la ejecución de instrucciones específicas. Cada bit o conjunto de bits del registro de estado indica una información concreta. Los más habituales son:

1) Bit de cero: se activa si el resultado obtenido es cero. 2) Bit de transporte: se activa si en el último bit que operamos en una operación aritmética se produce transporte, también puede deberse a una operación de desplazamiento. 3) Bit de desbordamiento: se activa si la última operación ha producido un resultado que no se puede representar en el formato que estamos utilizando. 4) Bit de signo: se activa si el resultado obtenido es negativo.

5) Bit de interrupción: indica si las interrupciones éstan habilitadas o inhabilitadas. 6) Bit de modo de operación: indica si la instrucción se ejecuta en modo supervisor o en modo usuario. hay instrucciones que solo se ejecutan en modo supervisor. 7) Nivel de ejecución: indica el nivel de privilegio de un programa en ejecución. Un programa puede desalojar el programa que se ejecuta actualmente si su nivel de privilegio es superior.

Los registros de control son los que dependen más de la organización del procesador. En estos registros se almacena la información generada por la unidad de control y también información específica para el sistema operativo. La información almacenada en estos registros no es nunca visible para el programador de aplicaciones.

En algún diseño concreto de procesador es posible encontrar otros registros. Puede existir un puntero a un bloque de memoria que contenga información de estado adicional, en las máquinas que usan interrupciones vectorizadas puede existir un registro de vector de interrupción. Si se utiliza una pila para llevar a cabo ciertas funciones, se necesita un puntero de pila del sistema. En un sistema de memoria virtual se usa un puntero a la tabla de páginas. Por último, pueden emplearse registros para el control de operaciones de E/S.

En el diseño de la organización de los registros de control y estado entran en juego varios factores. Una cuestión primordial es el soporte del sistema operativo o información de control. La organización de los registros puede adaptarse hasta cierto punto a un sistema operativo. Es frecuente dedicar los primeros (más bajos) pocos cientos o miles de palabras de memoria para fines de control. El diseñador debe decidir cuánta información de control debiera estar en registros y cuánta en memoria. Se presenta el compromiso habitual entre coste y velocidad.

EJEMPLO 1 DE ORGANIZACIÓN DE REGISTROS DE CPU REALES

El MC68000 distribuye sus registros de 32 bits en ocho de datos y nueve de direcciones. Los ocho registros de datos se usan principalmente para manipulación de datos y también se usan en direccionamiento como registros índice. El ancho de los registros permite operaciones con datos de 8, 16 Y 32 bits, según determine el código de operación. Los registros de direcciones contienen direcciones de 32 bits (no hay segmentación); dos de estos registros se usan también como punteros de pila, uno para los usuarios y el otro para el sistema operativo, dependiendo del modo de ejecución en curso. Los dos registros se referencian como 7, dado que solo uno de ellos puede usarse en un instante dado. El MC68000 también incluye un contador de programa de 32 bits y un registro de estado de 16 bits. El equipo de Motorola quiso un repertorio de instrucciones muy regular, sin registros de uso especial.

EJEMPLOS DE ORGANIZACIÓN DE REGISTROS DE CPU REALES

EL CICLO DE INSTRUCCIÓN

1) CICLO FETCH-DECODE-EXECUTE.2) SEGMENTACIÓN DE INSTRUCCIONES. 3) CONJUNTO DE INSTRUCCIONES. CARACTERÍSTICAS Y FUNCIONES. 4) MODOS DE DIRECCIONAMIENTO Y FORMATOS.

CICLO DE UNA INSTRUCCIÓN

El ciclo es la secuencia de operaciones que se hace para ejecutar cada una de las instrucciones. Lo dividimos en 4 fases principales: 1) Lectura de la instrucción. 2) Lectura de los operandos fuente. 3) Ejecución de la instrucción y almacenamiento del operando de destino. 4) Comprobación de interrupciones. Cada fase incluye una o varias operaciones que hay que hacer. Para llevar a cabo estas operaciones, nombradas microoperaciones, es necesaria una compleja gestión de las señales de control y la disponibilidad de diferentes elementos del procesador.

FASE 1: Leer la instrucción: Las operaciones realizadas en esta etapa son las siguientes:a) Leer la instrucción: Cuando leemos la instrucción, el resgistro contador del programa (PC) nos indica la dirección de memoria donde esta la instrucción que hemos de leer.b) Decodificar la instrucción: Se identifican las diferentes partes de la instrucción para determinar que operaciones hay que hacer en cada fase del ciclo de ejecución.c) Actualizar el contador del programa: Se actualiza según el tamaño de la instrucción, es decir, según el número de accesos a la memoria que hemos hecho para leer la instrucción.

FASE 2: Lectura de los operandos fuente: Esta fase se debe repetir para todos los operandos que tenga la instrucción. Las operaciones que hay que realizar en esta fase dependen del modo de direccionamiento que tengan los operandos: para los más simples, como el inmediato o el directo a registro, no hay que hacer ninguna operación; para los indirectos o los relativos, hay que hacer cálculos y accesos a memoria. Si el operando fuente es implícito, vamos a buscar el dato en el lugar predeterminado por aquella instrucción.

FASE 3: Ejecución de la instrucción y almacenamiento del operando de destino (resultado): Las operaciones que hay que realizar en esta fase dependen del código de operación de la instrucción y del modo de direccionamiento que tenga el operando destino.a) Ejecución de la instrucción: Durante la ejecución, además de obtener el resultado de la ejecución de la instrucción, se pueden modificar los bits de resultado de la palabra de estado del procesador.b) Almacenamiento del resultado: La función básica es recoger el resultado obtenido durante la ejecución y guardarlo en el lugar indicado por el operando, a menos que el operando sea implícito, en cuyo caso se guarda en el lugar predeterminado por aquella instrucción.

FASE 4: Comprobación de interrupciones: se verifica si se ha activado alguna línea de petición de interrupción del procesador en el transcurso de la ejecución de la instrucción. Si no se ha activado, continuamos el proceso normalmente; En caso contrario, hay que transferir el control del procesador a la rutina de servicio de interrupción para atenderla y hasta que no se acabe no podemos continuar la ejecución de la instrucción en curso. Rutina de servicio de interrupción: • Almacenar el contador del programa y la palabra de estado (pila). • Almacenar la dirección dónde empieza la rutina para atender la interrupción en el contador del programa. • Ejecutar la rutina de servicio de interrupción. • Recuperar el contador del programa y la palabra de estado.

CICLO FETCH-DECODE-EXECUTE

El encargado de ejecutar un programa en una computadora es el CPU y lo realiza siguiendo el llamado ciclo Fetch-Decode-Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar.Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas:

Traer la instrucción: Se obtiene desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: La instrucción ya configurada, realiza la tarea indicada. Almacenar: Guarda el resultado obtenido de ejecutar la instrucción. Actualizar PC: Actualizar el registro PC (Program Counter) que contiene la siguiente dirección a ejecutar.

Para cualquier sistema de proceso de datos basado en microprocesador que realice una tarea, primero se debe buscar cada instrucción en la memoria principal y luego ejecutarla.

INSTRUCCIÓN FETCH (IF)

Ciclo de Reloj: T0 - T1 La próxima instrucción es buscada en la memoria que se encuentra almacenada en el Programa Contador (PC). Entonces el CPU pasa la instrucción de la memoria principal a través del bus de datos al Registro de Datos de Memoria (MDR). El valor del MDR es almacenado en el Registrador de Instrucciones (IR). Al final de la operación Fetch, el PC se dirige a la próxima instrucción que será leída en el siguiente ciclo.

INSTRUCCIÓN DECODE (ID)

Ciclo de Reloj: T2 El código de operación de la instrucción que se encuentra en el Registro de Datos (DR), se deposita en el Registro de Instrucciones (IR). Luego, los circuitos de control interpretan ese código de operación al lenguaje de la máquina para determinar que operación se va a ejecutar.

INSTRUCCIÓN EXECUTE (IE)

Ciclo de Reloj: T3 - T6 (Hasta T6)La Unidad de Control CU pasa la información decodificada como una secuencia de señales de control para las unidades de función relevantes del CPU para realizar las acciones requeridas como leer valores desde los registros pasándolos por la ALU para realizar funciones lógico o matemáticas y escribiendo el resultado de vuelta a un registro. Si la ALU es iunvolucrada envía una señal de condición de vuelta a CU. Este paso varía con cada instrucción.

SEGMENTACIÓN DE INSTRUCCIONES

También conocida como pipeline consiste en dividir el ciclo de ejecución de las instrucciones en un conjunto de etapas. Estas etapas pueden coincidir o no con las fases del ciclo de ejecución de las instrucciones. El objetivo de la segmentación es ejecutar simultáneamente diferentes etapas de distintas instrucciones, lo cual permite aumentar el rendimiento del procesador sin tener que hacer más rápidas todas las unidades del mismo (ALU, UC, buses, etc.) y sin tener que duplicarlas.

La división de la ejecución de una instrucción en diferentes etapas se debe realizar de tal manera que cada etapa tenga la misma duración, generalmente un ciclo de reloj. Es necesario añadir registros para almacenar los resultados intermedios entre las diferentes etapas, de modo que la información generada en una etapa esté disponible para la etapa siguiente. Si consideramos que el producto es una instrucción y las etapas son cada una de las fases de ejecución de la instrucción, que llamamos etapa de segmentación, hemos identificado los elementos y el funcionamiento de la segmentación.

EJEMPLO DE SEGMENTACIÓN DE INSTRUCCIONES

La segmentación es como una cadena de montaje. En cada etapa de la cadena se lleva a cabo una parte del trabajo total y cuando se acaba el trabajo de una etapa, el producto pasa a la siguiente y así sucesivamente hasta llegar al final.Si hay N etapas, se puede trabajar sobre N productos al mismo tiempo y, si la cadena está bien equilibrada, saldrá un producto acabado en el tiempo que se tarda en llevar a cabo una de las etapas. De esta manera, no se reduce el tiempo que se tarda en hacer un producto, sino que se reduce el tiempo total necesario para hacer una determinada cantidad de productos porque las operaciones de cada etapa se efectúan simultáneamente.

Veámoslo gráficamente. Presentamos un mismo proceso con instrucciones de tres etapas, en el que cada etapa tarda el mismo tiempo en ejecutarse, resuelto sin segmentación y con segmentación. Son necesarias 9 etapas para ejecutar las 3 instrucciones.

Son necesarias 5 etapas para ejecutar las 3 instrucciones.Se ha reducido el tiempo total que se tarda en ejecutar las 3 instrucciones, pero no el tiempo que se tarda en ejecutar cada una de las instrucciones.

Si se quiere implementar la segmentación para mejorar el rendimiento de un procesador, hay que tener en cuenta algunas cuestiones que implicarán cambios en el diseño del procesador. Las más importantes son las siguientes: ¿Cómo hay que hacerlo para que las etapas esten bien equilibradas (mismsa duración)? ¿Qué recursos son necesarios en cada etapa para que todas se puedan ejecutar simultáneamente? ¿Cómo hay que tratar las instrucciones de salto para minmizar los efectos en el rendimiento de la segmentación?

RIESGOS EN LA SEGMENTACIÓN DE INSTRUCCIONES

Riesgos Estructurales: Ocurren cuando diversas instrucciones presentan conflictos cuando tratan de acceder a la misma pieza de hardware. Este problema puede ser aliviado teniendo hardware redundante que evita estas colisiones. Riesgos de Datos: Ocurren cuando una instrucción depende del resultado de otra previa que aún está en el pipeline y cuyo resultado aún no ha sido calculado. La solución más fácil es introducir paradas en la secuencia de ejecución pero esto reduce la eficiencia del pipeline. Riesgos de Control: Son resultado de las instrucciones de salto que necesitan tomar una decisión basada en un resultado de una instrucción mientras se están ejecutando otras.

RIESGOS EN LA SEGMENTACIÓN DE INSTRUCCIONES

Riesgos Estructurales: Ocurren cuando diversas instrucciones presentan conflictos cuando tratan de acceder a la misma pieza de hardware. Este problema puede ser aliviado teniendo hardware redundante que evita estas colisiones. Riesgos de Datos: Ocurren cuando una instrucción depende del resultado de otra previa que aún está en el pipeline y cuyo resultado aún no ha sido calculado. La solución más fácil es introducir paradas en la secuencia de ejecución pero esto reduce la eficiencia del pipeline. Riesgos de Control: Son resultado de las instrucciones de salto que necesitan tomar una decisión basada en un resultado de una instrucción mientras se están ejecutando otras.

CONJUNTO DE INSTRUCCIONES

Ante el diseño de un nuevo ordenador de propósito general hay que plantearse la siguiente cuestión: ¿Qué tipos de instrucciones deben ser incluidos en su conjunto de instrucciones? Antes de responder a esta pregunta, analizaremos las características que deben tener los juegos de instrucciones de las máquinas. Los conjuntos de instrucciones de las máquinas deben tender a poseer una serie de propiedades bastante ideales e imprecisas, que pueden resumirse en las siguientes:

1) Completo: Pueda construir un programa para evaluar una función computable usando una cantidad de memoria razonable y empleando un tiempo moderado, es decir, el número de instrucciones de ese programa no debe ser demasiado elevado. 2) Eficiente: Las funciones más necesarias deben poder realizarse usando pocas instrucciones. 3) Regular: Simétrico y ortogonal, es decir, deben poder combinarse en la medida de lo posible, todas las operaciones con todos los tipos de datos y modos de direccionamiento. 4) Compatible: Con modelos anteriores.

En el diseño del procesador hay que tener en cuenta diferentes principios y reglas, con vista a obtener un procesador con las mejores prestaciones posibles. Las dos alternativas principales de diseño de la arquitectura del procesador son las siguientes: a) Computadores CISC. b) Computadores RISC.

CISC: CARACTERÍSTICAS

– El formato de instrucción es de longitud variable. – Dispone de un gran juego de instrucciones, habitualmente más de cien, para dar respuesta a la mayoría de las necesidades de los programadores. – Dispone de un número elevado de modos de direccionamiento. – Es una familia anterior a la de los procesadores RISC. – La unidad de control es microprogramada; es decir, la ejecución de instrucciones se realiza descomponiendo la instrucción en una secuencia de microinstrucciones muy simples. – Procesa instrucciones largas y de tamaño variable, lo que dificulta el procesamiento simultáneo de instrucciones.

CISC: FUNCIONAMIENTO

Funciona directamente en los bancos de la memoria de computadora y no requiere al programador llamar explícitamente ningún cargamento o las funciones de almacenar. Una de las ventajas primarias de este sistema es que el recopilador tiene que hacer muy poco el trabajo para traducir una declaración del idioma de alto nivel al ensamblador. Porque la longitud del código es relativamente corta, el espolón muy pequeño se requiere para almacenar instrucciones. El énfasis se pone en instrucciones complejas directamente en el hardware.

La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador.En la década de los sesentas la micropramación, por sus características, era la técnica más apropiada para las tecnologías de memorias existentes en esa época y permitía desarrollar también procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones. Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstrucción).

RISC: CARACTERÍSTICAS

– El formato de instrucción es de tamaño fijo y corto.– El juego de instrucciones se reduce a instrucciones básicas y simples, con las que se deben implementar todas las operaciones complejas.– Dispone de un número muy reducido de modos de direccionamiento. – La arquitectura es de tipo load-store (carga y almacena) o registro-registro. Las únicas instrucciones que tienen acceso a memoria son LOAD y STORE, y el resto de las instrucciones utilizan registros como operandos. – Dispone de un amplio banco de registros de propósito general. – Casi todas las instrucciones se pueden ejecutar en pocos ciclos de reloj. – Este tipo de juego de instrucción facilita la segmentación del ciclo de ejecución, lo que permite la ejecución simultánea de instrucciones. – La unidad de control es cableada y microprogramada.

RISC: VENTAJAS

– Cada instrucción realiza una operación muy simple. Estas instrucciones requieren menos hardware, dejando más espacio para registros de propósito general. - RISC ha alcanzado a todos los fabricantes de semiconductores: AMD, Intel, MIPS, Motorola, ROSS, y todos ellos son productos usados por ordenadores y estaciones de trabajo: Apple, DEC, HP, IBM, SUN, etc. - La CPU trabaja mas rápido al utilizar menos ciclos de reloj. Cada instrucción puede ser ejecutada en un solo ciclo. - Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que conserva después de realizar sus operaciones en memoria los dos operandos y su resultado, reduciendo la ejecución de nuevas operaciones.

RISC: FUNCIONAMIENTO

Su objetivo es facilitar que las instrucciones sean ejecutadas lo más rápidamente posible. La forma de conseguirlo es simplificando el tipo de instrucciones que ejecuta el procesador. Así, las instrucciones más breves y sencillas de un procesador RISC son capaces de ejecutarse mucho más a prisa que las instrucciones más largas y complejas de un chip CISC. Sin embargo, este diseño requiere de mucha más RAM y de una tecnología de compilador más avanzada.

La relativa sencillez de la arquitectura conduce a ciclos de diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicación de las más recientes tecnologías de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generación en generación son mucho mayores que en los CISC. Los comandos que incorpora el chip RISC en su ROM constan de varias instrucciones pequeñas que realizan una sola tarea. Las aplicaciones son aquí las encargadas de indicar al procesador qué combinación de estas instrucciones debe ejecutar para completar una operación mayor.

Los comandos de RISC son todos del mismo tamaño y se cargan y almacenan del mismo modo. Las instrucciones no necesitan ser descodificadas en instrucciones menores, pues ya constituyen en sí unidades descodificadas. Es por ello, que RISC no gasta tiempo verificando el tamaño del comando, en descodificarlo ni en averiguar cómo cargarlo y guardarlo. RISC puede además ejecutar hasta 10 comandos a la vez pues el compilador del software es el que determina qué comandos son independientes. La circuitería por la que pasan es más sencilla. Los comandos pasan por menos transistores, de forma que se ejecutan con más rapidez.

Los procesadores actuales no son completamente CISC o RISC. Los nuevos diseños de una familia de procesadores con características típicamente CISC incorporan características RISC, de la misma manera que las familias con características típicamente RISC incorporan características CISC. Ejemplo PowerPC, que se puede considerar un procesador RISC, incorpora características CISC, tales como un juego de instrucciones muy amplio (más de doscientas instrucciones). Los últimos procesadores de Intel (fabricante de procesadores típicamente CISC) también incorporan características RISC.

MODOS DE DIRECCIONAMIENTO Y FORMATO

Son las diferentes maneras de especificar un operando dentro de una instrucción. Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando, mediante el uso de la información contenida en registros dentro de una instrucción de la máquina.

DIRECCIONAMIENTO IMPLÍCITO

Depende solamente de la instrucción, es decir, no lleva parámetros. Particularmente instrucciones que no accesan a memoria, o que tienen una forma específica de accesarla. Se usa para hacer referencia a operadores de dos tipos: 1) Registros: El código de la operación se refiere a un registro. 2) Operandos de pila: Cuando la operación esta situada en la cima de la pila. Ejemplos: PUSHF, POPF, NOP.

DIRECCIONAMIENTO INMEDIATO

Tiene dos operandos: un registro y una constante que se usa por su valor. El valor constante no se tiene que buscar en memoria, pues ya se obtuvo al hacer el “fetch” de la instrucción. El campo del operando contiene, sin transofrmación alguna, la información sobre la que hay que operar. Ejemplo: MOV A,#17H

DIRECCIONAMIENTO DIRECTO

Uno de los operandos involucra una localidad específica de memoria. El valor constante se tiene que buscar en memoria, en la localidad especificada. Es el más rápido para ir a memoria, pues ya “sabe” la localidad, la toma de la instrucción y no la tiene que calcular. Ejemplo: MOV AH, [0000]

DIRECCIONAMIENTO INDIRECTO

Se usan los registros SI, DI como apuntadores . El operando indica una localidad de memoria, cuya dirección (sólo la parte desplazamiento) está en SI o DI. Es más lento, pues tiene que “calcular” la localidad. Ejemplo: MOV AL, [SI]

DIRECCIONAMIENTO INDEXADO

Consiste en un registro de dirección desplazado por el contenido del working registrer designado. Este desplazamiento es adherido a la dirección del registro para obtener la dirección del operando.

FORMATO GENERAL DE LAS INSTRUCCIONES

Conjunto de especificaciones que indican como debe ser interpretado el patrón de bits de una instrucción de máquina para lograr su ejecución dentro del computador. Nos indica cual es el código de operación y cuales los operandos que la instrucción específica. Formato de instrucción: representación en binario de la misma. - El formato de instrucción 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: 1) Código de operación (COP). 2) Dirección de los operandos (OP1 y OP2). 3) Dirección del resultado (RES). 4) Dirección de la siguiente instrucción (casi siempre implícita). 5) Tipos de representación de los operandos (casi siempre implícitos en el código de operación). 6) Modificador (MD): suele completar al CO, y sirve para especificar ciertas particularidades de la instrucción: a) Tamaño y tipo de los operandos. b) A veces se usa para distinguir entre operaciones similares.

CONCLUSIÓN

Conocer los componentes de un procesador, así como su organización, la estructura de sus registros y el ciclo de las intrucciones que se emplea, nos permite tener un acercamiento con los equipos e interpretar la manera en que funcionan los equipos de cómputo y así poder generar una arquitectura con ciertas características.

BIBLIOGRAFÍA

  • Mano, M. M. (1994). Arquitectura de computadoras. Pearson Educación.

UNO

  • .Parhami, B., & Mena, A. V. (2007). Arquitectura de computadoras: de los microprocesadores a las supercomputadoras. McGraw-Hill.

DOS

  • Pérez, C., Facchini, H., & Argüello, D. M. (2005). Arquitectura de computadoras. Editorial Mc-Graw Hill 2a Edición, México.

TRES

  • Quiroga, P. (2010). Arquitectura de computadoras (Vol. 1). Alfaomega.

CUATRO

¡Muchas gracias!

ING. LILIANA GONZÁLEZ ESPINOSA