Taller 6 estructura del procesador y caracteristicas

9
GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1 NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO---------------------------------------- RESUMEN La presente guía tiene como principal finalidad instruir a los estudiantes de la Tecnología en Desarrollo de Sistemas Informáticos, sobre los conceptos relacionados con la estructura interna y funcionamiento del procesador, ALU, FPU, registros, unidad de control; buscando desarrollar sus habilidades y destrezas en su reconocimiento, para su aplicación en la asignatura de Estructura de Computadores. PALABRAS CLAVES Procesador, registros, instrucciones, ALU, FPU. TALLER DE PREPARACION DE CONCEPTOS I. JUSTIFICACIÓN Cada estudiante de Tecnología en Desarrollo de Sistemas Informáticos requiere en su formación, el conocimiento teórico práctico, con el fin de lograr la correcta interpretación de los conceptos adquiridos en clase de estructura de computadores. II. OBJETIVO GENERAL Reconocer los conceptos fundamentales sobre la estructura interna y funcionamiento del procesador, ALU, FPU, registros, unidad de control, como base fundamental para el desarrollo de la asignatura Estructura del Computador, mediante la realización de guía teórica de comprobación de conceptos y refuerzo. III. MARCO TEORICO 1. ALU La unidad aritmético lógica, (arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, y división), operaciones lógicas (AND, OR, NOT, XOR, XNOR), entre dos números y Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2. Los procesadores tienen dentro de ellos un ALU muy complejo y potente. Si un procesador tiene múltiples núcleos, cada núcleo contiene múltiples unidades de ejecución, y cada una de ellas contiene múltiples ALU. Una ALU debe procesar números usando el mismo formato que el resto del circuito digital. Para los procesadores modernos, este formato casi siempre es la representación del número binario de complemento a dos. Las entradas a la ALU son los datos en los que se harán las operaciones (llamados operandos) y un código desde la unidad de control indicando qué operación realizar. Su salida es el resultado del cómputo de la operación. En muchos diseños la ALU también toma o genera como entradas o salidas un conjunto de códigos de condición desde o hacia un registro de estado. Estos códigos son usados para indicar casos como acarreo entrante o saliente, overflow, división por cero, etc. A y B son operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida. …“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Transcript of Taller 6 estructura del procesador y caracteristicas

Page 1: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

RESUMEN

La presente guía tiene como principal finalidad instruir a los estudiantes de la Tecnología en Desarrollo de Sistemas Informáticos, sobre los conceptos relacionados con la estructura interna y funcionamiento del procesador, ALU, FPU, registros, unidad de control; buscando desarrollar sus habilidades y destrezas en su reconocimiento, para su aplicación en la asignatura de Estructura de Computadores.

PALABRAS CLAVES

Procesador, registros, instrucciones, ALU, FPU.

TALLER DE PREPARACION DE CONCEPTOS

I. JUSTIFICACIÓNCada estudiante de Tecnología en Desarrollo de Sistemas Informáticos requiere en su formación, el conocimiento teórico práctico, con el fin de lograr la correcta interpretación de los conceptos adquiridos en clase de estructura de computadores.

II. OBJETIVO GENERALReconocer los conceptos fundamentales sobre la estructura interna y funcionamiento del procesador, ALU, FPU, registros, unidad de control, como base fundamental para el desarrollo de la asignatura Estructura del Computador, mediante la realización de guía teórica de comprobación de conceptos y refuerzo.

III. MARCO TEORICO

1. ALU

La unidad aritmético lógica, (arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, y división), operaciones lógicas (AND, OR, NOT, XOR, XNOR), entre dos números y Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.

Los procesadores tienen dentro de ellos un ALU muy complejo y potente. Si un procesador tiene múltiples núcleos, cada núcleo contiene múltiples unidades de ejecución, y cada una de ellas contiene múltiples ALU. Una ALU debe procesar números usando el mismo formato que el resto del circuito digital. Para los procesadores modernos, este formato casi siempre es la representación del número binario de complemento a dos.

Las entradas a la ALU son los datos en los que se harán las operaciones (llamados operandos) y un código desde la unidad de control indicando qué operación realizar. Su salida es el resultado del cómputo de la operación. En muchos diseños la ALU también toma o genera como entradas o salidas un conjunto de códigos de condición desde o hacia un registro de estado. Estos códigos son usados para indicar casos como acarreo entrante o saliente, overflow, división por cero, etc.

A y B son operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida.

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 2: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, que consiste en un conjunto de registros que hacen posible la realización de cada una de las operaciones.

La mayoría de las acciones de la computadora son realizadas por la ALU, la cual toma datos de los registros del procesador, estos datos son procesados por la ALU de acuerdo a las operaciones señaladas por la unidad de control y los resultados de esta operación se almacenan en los registros de salida.

2. FPUUna unidad de coma flotante, Floating Point Unit (FPU), también realiza operaciones aritméticas entre dos valores, pero lo hace para números en representación de coma flotante, para hacer estos cálculos, una FPU tiene incorporados varios circuitos complejos, incluyendo algunas ALU internas. No todos los procesadores tienen una FPU dedicada. En ausencia de FPU, la CPU puede utilizar programas en microcódigo para emular una función en coma flotante a través de la unidad aritmética lógica (ALU), la cual reduce el coste del hardware a cambio de una sensible pérdida de velocidad.

3. Unidad de controlLa unidad de control está conectada al resto de los componentes del computador mediante las señales de control y se encarga de coordinar los diferentes elementos que tiene el computador y hacer un buen uso de ellos mediante la decodificación y ejecución, de instrucciones de manera sincronizada.

4. Registros Los registros son, básicamente, 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 un espacio de almacenamiento temporal. Se implementan utilizando elementos de memoria RAM estática (static RAM). Son imprescindibles para ejecutar las instrucciones, entre otros motivos, 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 de registros, en el tipo de registros y en el tamaño de cada registro. Una parte de los registros pueden ser visibles para el programador de aplicaciones, otra parte solo para instrucciones privilegiadas y otra solo se utiliza en el funcionamiento interno del procesador. Una posible clasificación de los registros del procesador es la siguiente:

ü Registros de propósito general Los registros de propósito general son los registros que suelen utilizarse como operandos en las instrucciones del ensamblador. Estos registros se pueden asignar a funciones concretas: datos o direccionamiento. En algunos procesadores todos los registros se pueden utilizar para todas las funciones.

- Los registros de datos se pueden diferenciar por el formato y el tamaño de los datos que almacenan; por ejemplo, puede haber registros para números enteros y para números en punto flotante.

- Los registros de direccionamiento se utilizan para acceder a memoria y pueden almacenar direcciones o índices. Algunos de estos registros se utilizan de manera implícita para diferentes funciones, como por ejemplo acceder a la pila, dirigir segmentos de memoria o hacer de soporte en la memoria virtual.

ü Registros de instrucción Los dos registros principales relacionados con el acceso a las instrucciones son:

• Program counter (PC): registro contador del programa, contiene la dirección de la instrucción siguiente que hay que leer de la memoria. • Instruction register (IR): registro de instrucción, contiene la instrucción que hay que ejecutar.

ü Registros de acceso a memoria Hay dos registros necesarios para cualquier operación de lectura o escritura de memoria:

• Memory address register (MAR): registro de direcciones de memoria, donde se ubica la dirección de memoria a la que se quiere acceder. • Memory buffer register (MBR): registro de datos de memoria; registro donde la memoria deposita el dato leído o el dato que se quiere escribir.

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 3: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

La manera de acceder a memoria utilizando estos registros es la siguiente:

a) En una operación de lectura:ü El procesador carga en el registro MAR la dirección de la posición de memoria que se quiere leer. ü El procesador coloca en las líneas de direcciones del bus el contenido del MAR y activa la señal de lectura de la

memoria. ü El MBR se carga con el dato obtenido de la memoria.

b) En una operación de escritura, se realiza la secuencia de operaciones siguiente: ü El procesador carga en el registro MBR la palabra que quiere escribir en la memoria. ü El procesador carga en el registro MAR la dirección de la posición de memoria donde se quiere escribir el dato. ü El procesador coloca en las líneas de direcciones del bus el contenido del MAR y en las líneas de datos del bus,

el contenido del MBR, y activa la señal de escritura de la memoria.

ü Registros de estado y de control La información sobre el estado del procesador puede estar almacenada en un registro o en más de uno, aunque habitualmente suele ser un único registro denominado registro de estado.

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:

• Bit de cero: se activa si el resultado obtenido es 0.• Bit de transporte: se activa si en el último bit que se opero en una operación aritmética se produce transporte; también puede deberse a una operación de desplazamiento. • 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. • Bit de signo: se activa si el resultado obtenido es negativo. • Bit de interrupción: indica si las interrupciones están habilitadas o inhibidas. • 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. • 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.

5. NÚCLEOSUn núcleo, no es más que el bloque encargado de ejecutar las instrucciones. Tener dos o más núcleos lleva a ganancias muy grandes de rendimiento. Sobre todo al evitar bloqueos. Los procesadores de doble núcleo son más ágiles en la respuesta a las órdenes. El sistema operativo esta más desahogado. Pero no se debe pensar que de manera general …“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 4: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

acaben su trabajo en la mitad de tiempo.

Los procesadores modernos tienes más de un núcleo de procesamiento lo que se traduce en que el computador es capaz de realizar varias tareas a la vez dado que a mayor número de núcleos el equipo tendrá menos problemas para ejecutar varias aplicaciones a la vez. El sistema, por tanto, responderá de manera cómoda aunque una tarea monopolice un núcleo. Como regla general a mayor número, mejores prestaciones y más caros. Sin embargo, por desgracia, existen pocas aplicaciones que puedan sacar partido a más de cuatro de ellos.

Una de las mejoras en las tecnologías de fabricación de los procesadores lo que ha conseguido es aumentar el número de transistores que pueden los fabricantes crear por unidad de área. Un mayor número de ellos conlleva que se puedan integrar más elementos. Los fabricantes gracias a esto han añadido varios núcleos en un mismo procesador. Cada uno de estos elementos no es más que un procesador pero reducido en tamaño. Al tener varios ciertas tareas se pueden acelerar al trabajar en paralelo.

Los fabricantes y diseñadores de procesadores tienen clara esa ganancia de prestaciones y la tendencia pasa a que en un futuro tengamos más núcleos en cada procesador. Por desgracia, la mayoría de las utilidades y aplicaciones no pueden ejecutar sus propias instrucciones en paralelo. Para aplicaciones diferentes a las siguientes, cuatro núcleos son más que suficientes ya que los programas, e incluso el propio sistema operativo, no son capaces de sacar el mejor provecho de un procesador con un mayor número de núcleos. Pero si existen ciertas tareas que se benefician de manera clara del aumento de núcleos.

P Retoque fotográfico. Sobre todo en la aplicación de filtros. En muchas ocasiones se pueden calcular al mismo tiempo sobre diferentes regiones de la misma imagen.P Trabajos de video. Es parecido a lo que ocurre en el caso anterior, la utilidad puede trabajar con más de un fotograma a la vez dentro de la misma película.P Juegos de estrategia. Existen muchos juegos en los cuales el próximo movimiento se basa en realizar cálculos sobre las posiciones futuras, el caso más claro es el ajedrez. También les viene muy bien un procesador con un mayor número de núcleos. Por desgracia no acelera de la misma manera todos los juegos.P Rendering. La creación de imágenes 3D también se aprovecha de este aumento. La razón es similar a la del retoque fotográfico ya que los programas pueden calcular distintas regiones de manera independiente. No confundir este tipo de imágenes con las que se utilizan en los juegos de PC que son creadas por la tarjeta gráfica.

ü Nanómetros El termino Litografía, para el caso de la tecnologías de fabricación de los procesadores hace referencia al tamaño de compuerta mínimo que puede alcanzar en un transistor medida en nanómetros.Un procesador está compuesto por millones de transistores. A menor tamaño mayor número de ellos se pueden incluir en el mismo espacio. El procesador podrá por tanto tener más lógica interna. Esto lo han utilizado los fabricantes para añadir más núcleos, una pequeña unidad de procesamiento de gráficos o más memoria interna.Otro punto de mejora es la velocidad y la potencia consumida. Al aumentar la velocidad las computadoras consumen cada vez más, pudiendo llegar a quemarse. Transistores más pequeños, consumen menos y por lo tanto pueden darte mayores prestaciones con la misma potencia.

En términos generales los nanómetros hacen referencia a la distancia entre transistores, de ahí que quepan más transistores en el mismo chip, lo que significa que la longitud geométrica del canal de los transistores mide esa distancia.

Cuando se usa una tecnología que permite reducir el tamaño de los elementos de un procesador, se pueden meter más elementos en la misma unidad de superficie, con lo que los procesadores pueden ser más pequeños. Esto implica que los transistores de 45nm de tamaño son más pequeños que los de 65nm, por lo que producen menos calor y consumen menos electricidad y al ser más pequeños permiten un mayor número de ellos con lo que se gana mejor rendimiento. Así que las ventajas son: ü Rendimiento, al haber más transistores en el mismo espacio.ü Eficiencia, menor consumo eléctrico y menor temperatura.ü Nuevas tecnologías, nuevos diseños, controladores integrados, nuevas instrucciones y capacidades.

ü Hilos

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 5: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

En informática un hilo hace referencia a un subproceso, siendo la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo. Es decir que un hilo es simplemente una tarea que puede ser ejecutada al mismo tiempo con otra tarea. La creación de un nuevo hilo es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.

Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente. Lo que es propio de cada hilo es el contador de programa, la pila de ejecución y el estado de la CPU (incluyendo el valor de los registros). El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.

6. CACHEEs muy importante, que el procesador sea capaz de acelerar el uso de los accesos a memoria RAM. Sabiendo que en ella se encuentran tanto datos como instrucciones de programas con los que el sistema esta trabajando.

Un procesador tiene varios niveles de memoria cache pensada para acelerar estos accesos. Su idea de funcionamiento es sencilla, se almacenan en ella los datos e instrucciones a los que se accede más frecuentemente y al estar cerca del procesador el acceso es más rápido. Fuera del núcleo se encuentra la caché externa, o caché de último nivel la LLC (Last level cache), por lo general un $ L3.

Primeros niveles de cache. La cache más cercana a la unidad de control suele estar dividida en instrucciones y datos. De esta forma la unidad puede ir ejecutando varias instrucciones sin tener que estar continuamente leyendo de la RAM con cada nueva. Es muy común que existan al menos dos niveles de memoria cache en el interior del núcleo.

ü Terminología Caché L1, L2, L3, ... Ln Ln se la llama al n-ésimo nivel de una estructura de datos de múltiples niveles. A menudo específicamente una caché de nivel n-th.

L0 se la llama al 0-ésimo nivel de una estructura de datos de múltiples niveles. Por lo general, surge porque se comienza con una estructura de datos L1, y luego agrega un nivel de caché más pequeño, rápido. Por ejemplo, L0 $. En algunos casos se insiste en renumerar todo a partir de L1, ddo que algunos no se ajustan a este término, (aunque ya existe la constumbre de contar a partir de la 0: como en los programas en C y C + +)

ü L1 se la llama al Primer nivel de una estructura de datos de múltiples niveles. A menudo significa específicamente un L1 $.

ü L2 se la llama al Segundo nivel de una estructura de datos de múltiples niveles. A menudo significa específicamente un L2 $.

ü L3 se la llama al Tercer nivel de una estructura de datos de múltiples niveles. A menudo significa específicamente un L3 $.

ü Notación Cachéü $ este símbolo se usa para representar cache, a menudo se utiliza en siglas como I $ , D $ , $ L1 , etc ü $ $ $ este símbolo se usa para representar cache tipo L2. ü $ $ $ este símbolo se usa para representar cache tipo L3.

Por ejemplo

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 6: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

ü L1 $ denota la primera memoria caché de nivel, a menudo específicamente un caché de datos L1. ü L2 $ denota el Caché de segundo nivel, por lo general una caché unificada, pe: UL2 , MLC . ü L3 $ denota el Caché de nivel 3, por lo general unificado. Pe: LLC . ü L0 $ denota el 0-ésimo nivel de una jerarquía de caché multinivel. Por lo general, surge porque se comienza con una

estructura de datos L1, y luego agrega un nivel de caché más pequeño, rápido.

ü FLC, el primer nivel de caché. FLC Caché de primer nivel. "FLC" se utiliza muy poco, ya que no se suelen dividir L1 I $ y D $ . La caché interna es el tipo de caché más interior, más cercano al procesador

ü MLC caché de segundo nivel, también llamado Caché de nivel Medio. Por lo general, un $ L2 .ü LLC el último nivel de cache de una jerarquía. También llamado Caché de último nivel o caché externa. Un $ L3 .

Esta caché es el tipo de caché más más externa, o más alejada del procesador

ü Otra notación

ü I $ Caché de instrucciones. ü I1 $ 1 ° nivel caché de instrucciones. ü I2 $ Segundo nivel de caché de instrucciones. ü D $ Caché de datos. Destaca distinción de I $ . ü D1 $ Primera memoria caché de datos de nivel. A menudo llamado simplemente una L1 $ . Destaca distinción de I1

$ . ü D2 $ Segundo nivel de caché de datos. ü UL1 $ Unificado L1 $ , que se utiliza para enfatizar que no hay I1 $ o $ D1 . ü UL2 $ Unificado L2 $ . A menudo llamado simplemente L2 $ . ü UL1 UL1 $ , sin el $. ü UL2 UL2 $ , sin el $.

7. CISC vs RISCEn los primeros días de la industria computacional no existían lenguajes de programación de alto nivel, y casi todo el trabajo debía realizarse en lenguaje ensamblador. Como consecuencia, los diseñadores de computadoras se centraron en construir instrucciones que hiciesen lo máximo posible. Así, buena parte de la complejidad del software se incluyó en el hardware. Esta fue la esencia de la conocida como filosofía CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo, en la que cada instrucción podía ejecutar varias operaciones de bajo nivel, así como operaciones de varios pasos.

Con la llegada de lenguajes de programación más avanzados surgió una nueva estrategia de diseño: unas instrucciones más simples que permiten gran rendimiento, incluso con un hardware más sencillo siempre y cuando sea capaz de ejecutar esas instrucciones con gran velocidad. El resultado de este nuevo objetivo de reducir las instrucciones fue el modelo conocido como RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

En general el modelo CISC defiende un procesador capaz de realizar operaciones muy complejas: sumar enteros, hacer comparaciones, saltos, etc. Mientras que RISC esta basada en instrucciones muy pequeñas pero de ejecución muy rápida, y con diversos mecanismos de comunicación entre las diversas instrucciones.

» La filosofía CISCEl objetivo principal de la arquitectura CISC es completar una tarea en el menor número de líneas de código ensamblador posibles. Este objetivo es conseguido mediante la construcción de un microprocesador capaz de comprender y ejecutar una serie de operaciones complejas. Para esta tarea en particular, un procesador CISC vendría preparado con una instrucción específica (la llamaremos "MULT"). Cuando se ejecuta, esta instrucción lee los dos valores de memoria, multiplica los operandos en la unidad de ejecución, y después almacena el resultado en la posición de memoria adecuada. De esta manera, la tarea completa de multiplicar dos números puede ser llevada a cabo con una única instrucción: MULT (2:3), (5:2) MULT es lo que se conoce como una "instrucción compleja". Opera directamente sobre los bancos de memoria del computador y no requiere al programador para llamar explicitamente a una carga de operandos o funciones de almacenamiento. Se parece mucho a un comando en un lenguaje de programación de alto nivel. Por ejemplo, si permitimos que "a" represente el valor de (2:3) y "b" represente el valor de (5:2), entonces este comando es idéntico a la …“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 7: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

expresión en C "a = a * b".

Una de las ventajas principales de esta filosofía es que el compilador tiene que hacer muy poco trabajo para traducir un lenguaje de alto nivel a ensamblador. Además, debido a que la longitud del código es relativamente corta, hace falta poca RAM para almacenar las instrucciones. Pero la difucultad está en construir instrucciones complejas directamente en hardware.

» La filosofía RISCLos procesadores RISC sólo usan instrucciones sencillas que se puedan ejecutar rápidamente. Por este motivo suelen ser arquitecturas basadas en registros de propósito general que operan siempre sobre operandos que se encuetran almacenados en el procesador, cerca de la unidad de ejecución. De esta forma, el comando "MULT" descrito más arriba podría ser dividido en tres comandos por separado: "LOAD", que mueve datos del banco de memoria a un registro; "PROD", que halla el producto de dos operandos situados en los registros; y "STORE", que mueve datos de un registro al banco de memoria. Para realizar la serie de pasos descritos en la filosofía CISC, un programador debería codificar la instrucción en 4 líneas de código ensamblador: LOAD A, (2:3)LOAD B, (5:2)PROD A, BSTORE (2:3), A

A primera vista, puede parecer una manera mucho menos eficiente de completar la operación. Debido a que hay más líneas de código, hace falta más RAM para almacenar las instrucciones en ensamblador. El compilador debe realizar también más trabajo para convertir un lenguaje de alto nivel en código.

Sin embargo, la estrategia RISC también tiene grandes ventajas. Debido a que cada instrucción realiza una operación muy simple, el código se ejecutará en aproximadamente el mismo tiempo que el comando "MULT" de la arquitectura CISC. Estas "instrucciones reducidas" RISC requieren menos hardware y más sencillo que las instrucciones complejas, dejando más espacio para registros de propósito general. Además, las optimizaciones sobre un hardware más sencillo son mucho más fáciles de realizar.

Los procesadores se agrupan hoy en dia en dos familias, la más antigua y común de las cuales es la "CISC", que corresponde a procesadores que son capaces de ejecutar un gran número de instrucciones predefinidas en lenguaje de máquina (del orden del centenar) y la mas reciente es la "RISC" que permite una ejecución más rápida de las instrucciones pero requiere compiladores (traductores automáticos de programas) más complejos.

Desde hace algún tiempo se ha empezado a investigar sobre procesadores "híbridos", es decir CPU's que no sean cien por ciento CISC, sino que contienen algunos aspectos de tecnología RISC, con el fin de obtener ventajas procedentes de ambas tecnologias (mantener la compatibilidad x86 de los CISC, y a la vez aumentar las prestaciones hasta aproximarse a un RISC). Por ejemplo, el Pentium Pro traduce las largas instrucciones CISC de la arquitectura x86 a microoperaciones sencillas de longitud fija que se ejecutan en un nucleo de estilo RISC. El UltraSparc-II de Sun, acelera la decodificación MPEG con unas instrucciones especiales para gráficos; estas instrucciones obtienen unos resultados que en otros procesadores requerirían 48 instrucciones.

Por lo tanto a corto plazo, en el mercado coexistirán las CPU's RISC y los microprocesadores híbridos RISC - CISC, pero cada vez con diferencias mas difusas entre ambas tecnologías.

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 8: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

Pipelining, El pipelining surge como una técnica derivada de la flexibilidad de los procesadores RISC para el desarrollo de algunas optimizaciones en la ejecución.

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-

Page 9: Taller 6 estructura del procesador y caracteristicas

GUIA ESTRUCTURA DE COMPUTADORES – ESTRUCTURA Y FUNCIONAMIENTOI DEL PROCESADOR UNIDADES TECNOLÓGICAS DE SANTANDER - TECNOLOGÍA DESARROLLO DE SISTEMAS INFORMATICOS - 9 DE ABRIL DE 2013 © versión 1

NOMBRE---------------------------------------------------- --------------------------------------------------------------- CODIGO----------------------------------------

La existencia de instrucciones de un tamaño fijo y de fácil decodificación frente a las instrucciones CISC, permitió la segmentación del ciclo de instrucción, de manera tal que se podrá ejecutar más de una instrucción simultáneamente, y cada una de ellas en una etapa de procesamiento.El uso de estas técnicas, propias de los supercomputadores, permitió incrementar el rendimiento de los procesadores RISC, aunque con el paso del tiempo esta técnica dejó de ser una exclusividad de RISC y paso a ser utilizada por procesadores CISC.

IV. TALLER

1. Con sus propias palabras diga que es la ALU2. Cuáles son las funciones básicas de la unidad de control3. Haga un mapa conceptual o un cuadro sinóptico explicando las calase de registros y su función4. Explique mediante un ejemplo en que consisten las operaciones de lectura y escritura desde el punto

de vista del procesador5. Haga un cuadro comparativo de CICS y RISC6. Consulte en internet y con sus propias palabras explique que es: pipeline (Pipelining), Hyperthreading,

turbo boost y nanómetros7. Consulte actualmente cual es el valor mas pequeño de nanómetros para un procesador, diga cuál es el

la tendencia a futuro8. Consulte 3 modelos de procesador actuales desarrollados por Intel y diga al menos 3 características

de cada uno9. Consulte 3 modelos de procesador actuales desarrollados por amd y diga al menos 3 características

de cada uno10. Consulte que otros fabricantes de procesadores existen y nombre al menos un modelo de cada uno11. Consulte que modelos de procesadores usan RISC, de que fabricantes y diga en que equipos se usan12.Consulte sobre que son las microarquitecturas: Haswell, Sandy Bridge, Ivy Bridge, Broadwell, y

Skylake y haga un cuadro comparativo con sus características mas relevantes13.Consulte sobre cuáles son los fabricantes de procesadores para smartphones y tablets que se

destacan actualmente y diga que modelos existen para cada uno, y sus características14. Consulte que la referencia y marca que usan: iphone, Samsung, sony, Nokia, lg, Huawei y Motorola y

explique sus características 15. Consulte sobre la arquitectura ARM

…“No todo tiene aquí un porqué, Un camino lo hacen los pies. Hay un mundo por descubrir, Y una vida que arrancar de arrancar, De brazos del guión final…” -Molinos de Viento Mago de oz-