M2 - Arquitectura de Computadores

MÓDULO 2 Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES Módulo: Procesadores y nuevas tendencias Área: NEGOCIOS

Views 89 Downloads 6 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

MÓDULO

2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES Módulo: Procesadores y nuevas tendencias

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Introducción ......................................................................................................................................................... 1 1. Conceptos generales ........................................................................................................................................ 2 1.1 MicroProcesadores (μP) y MicroControladores (μC) .................................................................................................. 3 a. MicroProcesador (μP) ............................................................................................................................................... 3 b. MicroControladores (μC)........................................................................................................................................... 3 1.2 Periféricos .................................................................................................................................................................... 4

2. Procesadores según su arquitectura interna.................................................................................................... 4 2.1 Modelos de arquitectura de computadores ................................................................................................................ 4 a. Modelo de Neumann................................................................................................................................................. 5 b. Modelo de Harvard ................................................................................................................................................... 6 c. Modelo Harvard Modificado ..................................................................................................................................... 6 2.2 Procesadores (CPU) ..................................................................................................................................................... 7 a. ALU (Arithmetic Logic Unit) ....................................................................................................................................... 9 b. Registros .................................................................................................................................................................... 9 c. CU (Central Unit)........................................................................................................................................................ 9 d. PC (Program Counter) ............................................................................................................................................... 9 e. IR (Instruction Register) ............................................................................................................................................. 9 f. R (Reloj) .................................................................................................................................................................... 10 2.3 CISC (Complex Instruction Set Computer) ................................................................................................................. 10 2.4 Familia RISC (Reduced Instruction Set Computer) ..................................................................................................... 11 2.5 Comparación CISC – RISC ........................................................................................................................................... 13

3. Procesadores según su cantidad de núcleos .................................................................................................. 15 3.1 Procesadores de un núcleo........................................................................................................................................ 15 3.2 Procesadores de dos núcleos (dualcore) ................................................................................................................... 16 3.3 Procesadores de cuatro núcleos (quadcore) ............................................................................................................. 16

4. Procesadores especiales ................................................................................................................................. 16 4.1 Multiprocesadores ..................................................................................................................................................... 17 4.2 Arreglos de procesadores .......................................................................................................................................... 17 4.3 Procesadores asociativos ........................................................................................................................................... 18

5. Tendencias futuras en procesadores.............................................................................................................. 18 5.1 Computador cuántico ................................................................................................................................................ 18

Procesadores y nuevas tendencias

Índice

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Cierre .................................................................................................................................................................. 19

Procesadores y nuevas tendencias

5.2 Intel Core 80 .............................................................................................................................................................. 19

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Microprocesadores y microcontroladores

Conceptos generales Periféricos

Modelos

Procesadores

Procesadores según su arquitectura interna

CISC

RISC

Comparación CISC - RISC

Procesadores y nuevas tendencias

De un núcleo

Procesadores según cantidad de núcleos

De dos núcleos

De cuatro núcleos

Multiprocesadores

Procesadores especiales

Arreglos de procesadores

Procesadores asociativos

Computador cuántico

Tendencias futuras en procesadores Intel Core 80

Procesadores y nuevas tendencias

Mapa de Contenido

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Clasifica distintos tipos de computadores a partir de las características de sus procesadores, para poder seleccionar alternativas de acuerdo a su uso esperado.

Introducción Una computadora electrónica digital puede ser representada esquemáticamente por tres subsistemas. Estos son: la Unidad Central de Procesamiento, la Memoria y la Unidad de Entrada y Salida de datos. 1. La Unidad Central de Procesamiento es el cerebro de la computadora y está encargada de controlar su funcionamiento integral. Esto es, lee los programas de la memoria, transfiere información de una parte a otra de la máquina, lleva a cabo cálculos necesarios y las operaciones requeridas por el programa, y controla los dispositivos asociados con la computadora.

2. Las Memorias son dispositivos utilizados para almacenar información en las computadoras, y se denomina memorización al proceso por medio del cual se modifica la memoria. Esta modificación se lleva a cabo de acuerdo con un código, de manera que el nuevo estado del dispositivo representa la información que ha sido almacenada.

3. La Unidad de Entrada y Salida de datos sirve como enlace entre la computadora y el exterior. Como su nombre lo indica, tiene dos funciones: la primera consiste en permitir la entrada de los programas, datos e instrucciones a la computadora, y la segunda es permitir la salida de la información, una vez que ésta ha sido procesada, ya sea hacia el usuario de la máquina, hacia otras computadoras, o hacia algún otro dispositivo1. En este módulo nos centraremos en el primero de los subsistemas: Los procesadores.

1

Texto extraído desde el repositorio virtual Library de la Red Ilumno. Y corresponde al curso “Arquitectura de Computadoras” de la Universidad del Istmo, Panamá, miembro de la Red a la cual pertenece IPP.

Pág. 1

Procesadores y nuevas tendencias

RESULTADO DE APRENDIZAJE DEL MÓDULO

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Antes de comenzar, recordemos lo siguiente:

Hardware: Es el conjunto de componentes físicos que conforman el computador. Esto incluye el CPU, la memoria y los dispositivos de entrada y salida.

Se pueden dividir en: 1.

Hardware Básico: son las piezas fundamentales e imprescindibles para que la computadora funcione como son: Placa base (“motherboard”), CPU, disco duro, memoria, monitor, teclado y ratón.

2.

Hardware Complementario: son todos aquellos dispositivos adicionales no esenciales como pueden ser: impresora, escáner, cámara de vídeo digital, webcam, etc.

Ejemplos de Hardware Básico:

Figura 1. Disco duro

Figura 2. Memoria SIMM

1. Conceptos generales Para adentrarnos en el tema de los procesadores, es necesario aclarar algunos conceptos que permitirán tener una visión mucho más amplia y diferenciar entre procesador, microprocesador y microcontrolador. En la actualidad se habla indistintamente de procesador y microprocesador. Esto porque la evolución desde el primero al último ha sido vertiginosa y no es necesario hablar de microprocesador si podemos usar el término más breve “procesador”. La diferencia es el tamaño del dispositivo y que hoy es muy pequeño comparado a los que se fabricaban en los primeros años. Sin embargo, es necesario hacer una distinción especial con el microcontrolador.

Pág. 2

Procesadores y nuevas tendencias

DEFINICIÓN IMPORTANTE

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

En este módulo se revisará principalmente lo relacionado a μP y lo llamaremos indistintamente como Procesadores. Sin embargo, es necesario conocer las diferencias entre ambos antes de continuar.

a. MicroProcesador (μP) Es un dispositivo, también denominado como CPU, que realiza muchas operaciones y ejecuta múltiples instrucciones. Ejemplos de uso de estos son los computadores personales, video juegos, relojes digitales, smartTV, etc. El análisis más detallado se verá más adelante.

b. MicroControladores (μC) Un μC es básicamente un μP + Memoria, es decir es prácticamente un computador completo. Esto permite programar los μC para funciones muy específicas y repetibles, pero no tienen gran libertad de operación. Por ejemplo, los μC SCADA que se utilizan hoy en muchas plantas nucleares. Ejemplo puntual es el de Irán, cuyas plantas nucleares son objetivo de ataque de algunos grupos de hackers. Otros ejemplos son: cámaras de video, equipos de video juego, etc. Microcontrolador

Periféricos

μC

Periféricos

Figura 3. Microcontrolador

Como se puede ver, un μC es una extensión de un μP, y que se puede visualizar como un computador completo, ya que tiene acceso directo a periféricos que debe controlar. Recordar que la memoria se encuentra dentro del μC y es allí donde reside el programa que se ejecuta.

Pág. 3

Procesadores y nuevas tendencias

1.1 MicroProcesadores (μP) y MicroControladores (μC)

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Estos hacen referencia a todo dispositivo de Entrada/Salida y que entregan/reciben información desde/hacia el μC o μP.

2. Procesadores según su arquitectura interna Existen dos arquitecturas de computadores en las cuales se basan los diseños actuales de computadores: Von Neumann y Harvard. Estás definen como se organiza la CPU respecto a la memoria de datos y código. La memoria de instrucciones es el espacio de memoria en que se ha cargado el programa binario (en código de maquina). La memoria de datos es el espacio de memoria que se define para cargar datos como: archivos, stack, datos temporales, etc. Por otro lado, existen dos tipos de arquitecturas internas de procesadores: CISC y RISC. Esto identifica a dos grandes familias de procesadores y en los cuales se basan las arquitecturas propietarias de los manufacturadores de procesadores. Estás arquitecturas de procesador o microprocesador definen el conjunto de instrucciones y como se procesan internamente en la CPU.

2.1 Modelos de arquitectura de computadores En un principio, los fabricantes inventaban y construían su propio modelo de computador con una definición de acceso a memoria de datos e instrucciones particular. De hecho, un problema podía ser resuelto exclusivamente por el mismo fabricante. Más tarde, Von Neumann hizo la primera estandarización de la arquitectura general de un computador. Le siguió el modelo de Harvard.

Pág. 4

Procesadores y nuevas tendencias

1.2 Periféricos

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Este modelo define que el acceso a datos e instrucciones se realiza sobre el mismo espacio de memoria principal. El canal utilizado entre la CPU y la memoria se “denomina bus de direcciones para el acceso a memoria”, y “bus de datos para el acceso a los datos”.

Memoria de datos e instrucciones

CPU

Figura 4. Modelo de Neumann

Algunas características del Modelo Neumann: 1. Tanto el código de programa como los datos se cargan en un mismo espacio de memoria. 2. Es más flexible: a. Puede escribir en memoria de código. b. Puede ejecutar directamente desde la memoria. 3. El tamaño de las instrucciones debe mantener una relación de proporción directa con el tamaño de los datos, ya que ocupan el mismo espacio.

DEFINICIÓN IMPORTANTE Bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre varias computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados. Extraído el 21 de junio de 2017 desde: https://es.wikipedia.org/wiki/Bus_(inform%C3%A1tica)

Pág. 5

Procesadores y nuevas tendencias

a. Modelo de Neumann

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Este modelo define que el código del programa y los datos utilizan espacios de memoria completamente diferentes.

Memoria de Instrucciones

Memoria de Datos

CPU

Figura 5. Modelo de Harvard

Algunas características del Modelo Harvard: 1. Se requiere memoria de datos y otra de código de programa. a. Hay espacios de memoria diferentes. b. Hay caminos diferentes hacia la CPU. 2. Es más rápida porque en paralelo se puede acceder a datos y código. 3. El tamaño de las instrucciones es independiente del tamaño de los datos, ya que ocupan espacios físicos diferentes.

c. Modelo Harvard Modificado Este modelo relaja la estricta separación del modelo Harvard puro, y permite que la CPU pueda acceder simultáneamente a dos o más buses de memoria. Esto se implementa mediante “caché” de instrucciones y datos independientes pero con un espacio de direcciones común. Cuando la CPU accede a ese caché, se comporta como un modelo Von Neumann. El modelo de acceso a datos y códigos híbridos a través del uso de caché le da mayor rapidez que el modelo Harvard puro. La mayoría de los fabricantes comenzó a utilizar el modelo Von Neumann desde sus comienzos. Esto aún ocurre hasta los computadores de 32bits. Con el aumento de capacidad de procesamiento, el comienzo del uso de buses de datos y de memoria de 64bits sobretodo en los computadores de alta gama (servidores empresariales), se utiliza el modelo Harvard híbrido y en algunos casos el modelo Harvard puro. En conclusión, una vez revisados los 3 Modelos, podemos observar la siguiente tabla comparativa: Atributo Espacios de memoria Velocidad de acceso Comienzo de utilización

Modelo Harvard Modificado Unificados Separados Hibrido Rápida Más rápida Mucho más rápida Desde que aparece el Desde que se crean Desde que se crean estándar y hasta el procesadores de 64bits procesadores de 64bits manejo de 32bits Modelo Von Neumann

Modelo Harvard

Figura 6. Tabla Comparativa Modelos

Pág. 6

Procesadores y nuevas tendencias

b. Modelo de Harvard

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

En informática, la memoria caché es la memoria de acceso rápido de un microprocesador, que guarda temporalmente los datos recientes de los procesados (información). También puede ser considerada un búfer especial de memoria que poseen las computadoras, que funciona de manera semejante a la memoria principal, pero es de menor tamaño y de acceso más rápido. Es usada por el microprocesador para reducir el tiempo de acceso a datos ubicados en la memoria principal que se utilizan con más frecuencia. Se sitúa entre la unidad central de procesamiento (CPU) y la memoria de acceso aleatorio (RAM) para acelerar el intercambio de datos. Extraído el 21 de junio de 2017 desde: https://es.wikipedia.org/wiki/Bus_(inform%C3%A1tica)

2.2 Procesadores (CPU) CPU (Central Processing Unit) o Unidad Central de Procesamiento es uno de los componentes de un computador/servidor. Normalmente se le denomina solo “procesador”, y se encarga de procesar los datos que recibe. Se compone por un conjunto de circuitos electrónicos altamente integrado para cálculo computacional, cuyo objetivo es controlar lo que pasa en el computador recibiendo información y dando órdenes para que los demás elementos trabajen. El ancho de bus, entre sus componentes internos y externos, es medido en Bits o Bytes y la frecuencia de reloj a la que trabaja es medida en Hz. Esta frecuencia es la que determina en el CPU qué tantas instrucciones procesará en un tiempo definido. Usualmente mientras más velocidad tenga el reloj, más rápido será el procesador o CPU. Sin embargo la velocidad del CPU no es lo único que indica la rapidez del computador, ya que el mismo tiene otros componentes que deben operar integradamente. En sí la arquitectura que comprende el CPU, memoria y elementos de entrada y salida deben ser diseñados acorde a lo que se espera en desempeño del computador2.

Figura 7. Procesador Intel Core i7.

2

Texto extraído desde el repositorio virtual Library de la Red Ilumno. Y corresponde al curso “Arquitectura de Computadoras” de la Universidad del Istmo, Panamá, miembro de la Red a la cual pertenece IPP.

Pág. 7

Procesadores y nuevas tendencias

DEFINICIÓN IMPORTANTE

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

1. Unidad de Control: incorpora un contador de programa, registro de instrucciones, reloj, decodificador y secuenciador. Es el centro nervioso del computador, ya que desde ella se controlan y gobiernan todas las operaciones como tomar las instrucciones de memoria, decodificar o interpretar las instrucciones y ejecutar las instrucciones.

Figura 8. Diagrama de componentes de la Unidad del Control.

2. Unidad Lógica Aritmética (ALU): Incluye el circuito operacional, registro de entrada, registro acumulador y de estado (flag). Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envía los datos y le indica la operación a realizar. En general, los componentes de una CPU y sus elementos externos son: CPU Registros

M E M O R I A

CU PC IR

R

ALU

Dispositivos E/S

Figura 9. Diagrama de componentes de la CPU

Pág. 8

Procesadores y nuevas tendencias

La CPU se divide en dos partes principales:

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Esta se encarga de realizar las operaciones aritméticas (enteras) y lógicas (verdadero/falso). En la actualidad las CPU utilizan FPU (Float Point Unit) que realizan operaciones de punto flotante (con decimales) en vez de ALU. Debido a que la FPU contiene varias ALU, se suele llamar a esta unidad como ALU en vez de FPU, pero que quede en el entendido que se hace referencia indistinta a la FPU/ALU.

b. Registros Estos son los mismos que se vieron en el Modulo 1 y que se utilizan como almacenamiento temporal de los datos que serán enviados a la ALU.

c. CU (Central Unit) También conocida como UC (en español) para indicar a la Unidad Central de la CPU. Este componente de la CPU es la más importante, ya que realiza muchas operaciones como: i. ii. iii. iv. v.

Controlar la secuencia de ejecución de las instrucciones Controlar el acceso de la CPU a la memoria principal. Interpretar/decodificar las instrucciones. Regula el tiempo de ejecución de las operaciones en CPU. Envía señales de control y recibe señales de estado del resto de las unidades.

d. PC (Program Counter) Se le conoce como Contador de Programa en español y es parte del CU. Contiene la dirección de memoria de la próxima instrucción a ejecutar. Esto ya fue visto en el Módulo 1, al hablar del registro IP (EIP).

e. IR (Instruction Register) Se le conoce como Registro de Instrucción. Almacena temporalmente la instrucción que se está ejecutando/decodificando. El programa en ejecución se encuentra en memoria y el CU se encarga de ir a buscar a memoria la instrucción que indica el PC y lo lleva al IR.

Pág. 9

Procesadores y nuevas tendencias

a. ALU (Arithmetic Logic Unit)

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

El reloj es un dispositivo del CU y su función es sincronizar las operaciones que deben ejecutarse en la CPU. Esto se realiza mediante la entrega de pulsos eléctricos llamados “ciclos” a intervalos constantes. La frecuencia de este reloj medida en MegaHertz (MHz) es un parámetro que determina en gran medida la velocidad de funcionamiento de la CPU. Por su diseño y arquitectura existen dos tipos principales de CPU: el CISC y el RISC. Los revisamos a continuación:

2.3 CISC (Complex Instruction Set Computer) CISC (Complex Instruction Set Computer) es un modelo de arquitectura de computadora. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracterizan por ser muy amplias y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitectura RISC. Básicamente se trata de procesadores que poseen un conjunto amplio y complejo de instrucciones. Esto porque los fabricantes deseaban definir muchas formas de procesar las instrucciones. Algunas características son:

Las instrucciones son de largo variable (incluyendo los parámetros), y su decodificación no es simple y requiere mayores ciclos de reloj. Por ejemplo, una instrucción SHIFT o ROTATE requiere 2 ciclos, y la multiplicación entera alrededor de 80 ciclos. Utiliza un modo destructivo de datos en memoria, es decir, los datos son eliminados de la memoria una vez utilizados. No posee paralelismo real de ejecución de instrucciones, sino que es emulado a través del uso de cache e interrupciones de CPU. Los CISC pertenecen a la primera corriente de construcción de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86 usada en la mayoría de las computadoras personales actuales. Hay que hacer notar, sin embargo que la utilización del término CISC comenzó tras la aparición de los procesadores RISC como nomenclatura despectiva por parte de los creadores de éstos últimos. Las arquitecturas CISC utilizadas desde hace 25 años han permitido desarrollar un gran número de productos de

Pág. 10

Procesadores y nuevas tendencias

f. R (Reloj)

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Ejemplos de procesadores que utilicen arquitectura CISC es el Intel 8086, Motorola 68000, DEC Alpha.

2.4 Familia RISC (Reduced Instruction Set Computer) En la arquitectura computacional, RISC (Reduced Instruction Set Computer) es un tipo de microprocesador que presenta como característica fundamental, el poseer instrucciones de tamaño fijo y presentadas en un reducido número de formatos. Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos. El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. Las máquinas RISC protagonizan la tendencia actual de construcción de microprocesadores; Power7 IBM, UltraSparc Oracle/Sun, son ejemplos de algunos de ellos. Algunas características son: RISC define a una familia de procesadores que poseen un conjunto reducido de instrucciones. Este nace con posterioridad a CISC, ya que algunos fabricantes revisaron CISC y mejoraron lo que identificaron como debilidades o problemas.

RISC es una filosofía de diseño de CPU para computadora, que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse.

Las instrucciones son de tamaño fijo y se presentan en un número reducido de formas. Además, solo las instrucciones de carga y almacenamiento acceden a la memoria de datos. Dado el número reducido de instrucciones, estos toman menor tiempo de ejecución. En general, un procesador RISC es 5 veces más rápido que un procesador CISC.

La decodificación de las instrucciones es más rápida dado que el código binario es muy cercano al código que entiende la CPU RISC.

3

Texto extraído desde el repositorio virtual Library de la Red Ilumno. Y corresponde al curso “Arquitectura de Computadoras” de la Universidad del Istmo, Panamá, miembro de la Red a la cual pertenece IPP.

Pág. 11

Procesadores y nuevas tendencias

software. Ello representa una considerable inversión y asegura a estas familias de procesadores un mercado creciente3.

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Estos procesadores utilizan básicamente el modelo Von Neumann, pero conceptualmente usan el modelo Harvard. Es decir, aun cuando la memoria es única, definen áreas separadas de uso de datos y código. Eso permite el uso no destructivo de datos en memoria, es decir, después de una operación, los datos no son eliminados de la memoria para optimizar el acceso a ellos en posteriores instrucciones. Utilizan un sistema llamado “pipeline” (tubería) que permite comenzar a ejecutar una instrucción antes de que concluya la anterior, reduciendo los ciclos de ejecución por instrucción. Esto significa que permite el paralelismo real de instrucciones en 5 etapas, donde: 1. IF (Instruction Fetch) Rescata la instrucción desde el caché. 2. ID (Instruction Decode) Decodifica la instrucción a hacer ejecutada. 3. EX (Execute) Ejecuta la instrucción. 4. MEM (Memory access) Si se requiere acceso a la memoria de datos, se realiza en esta etapa. 5. WB (Write Back) Se escribe el resultado de vuelta al registro adecuado.

4

Texto extraído desde el repositorio virtual Library de la Red Ilumno. Y corresponde al curso “Arquitectura de Computadoras” de la Universidad del Istmo, Panamá, miembro de la Red a la cual pertenece IPP.

Pág. 12

Procesadores y nuevas tendencias

La idea fue inspirada por el hecho de que muchas de las características que eran incluidas en los diseños tradicionales de CPU para aumentar la velocidad estaban siendo ignoradas por los programas que eran ejecutados en ellas. Además, la velocidad del procesador en relación con la memoria de la computadora que accedía era cada vez más alta. Esto conllevó la aparición de numerosas técnicas para reducir el procesamiento dentro del CPU, así como de reducir el número total de accesos a memoria. Terminología más moderna se refiere a esos diseños como arquitecturas de carga-almacenamiento4.

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Entonces, a modo de comparación podemos ver que el pipeline de RISC funciona muy básicamente de la siguiente forma: Ciclos de CPU - t Etapa más antigua Etapas de ejecución - i

Etapa más nueva Figura 10. Funcionamiento RISC

En sentido horizontal están los ciclos de CPU (tiempo). En sentido vertical, se observa las etapas de la ejecución. Así se puede observar que en un tiempo cualquiera, se están ejecutando en paralelo las 5 etapas, donde la más antigua está en WB y la más nueva está en IF (ver columna en color verde). A este tipo de arquitectura de procesadores se les denomina “superescalar” solo por el hecho de que pueden ejecutarse múltiples instrucciones por ciclo. En cambio, para la arquitectura CISC se observa que: Ciclos de CPU - t Etapas de ejecución - i

Figura 11. Funcionamiento CISC

Es decir, las 5 etapas se ejecutan solo una vez y concluye la ejecución completa, cuando cada una de estas etapas han concluido de manera consecutiva y no en paralelo. A este tipo de arquitectura de procesadores también se le denomina “escalar” solo por el hecho de ejecutar una instrucción por ciclo. Ejemplo de computadores que utilicen arquitecturas de CPU RISC es el procesador SPARC (Scalable Processor Architecture) de Sun Microsystems. Esta empresa es ahora ORACLE.

Pág. 13

Procesadores y nuevas tendencias

2.5 Comparación CISC – RISC

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Atributo Conjunto de instrucciones

CISC RISC Muy grande para realizar Reducido. Se optimizó y redujo diferentes operaciones. las instrucciones. Numero de ciclos para ejecutar Varía de 2 hasta 80 ciclos. En general, basta con un ciclo. una instrucción promedio Las 5 etapas de ejecución de Debe terminar por completo Se utiliza pipeline que permite instrucción antes de ejecutar las 5 etapas adelantar la ejecución de una para la siguiente instrucción. instrucción antes de que concluya la anterior. Datos en memoria Uso destructivo. Uso no destructivo. Principalmente debido a la tecnología pipeline, que lo obliga a mantener datos por largo tiempo. Decodificación de instrucciones Es más lenta debido a la Es más rápida ya que el código traducción del código binario a binario es más cercano al código código de maquina real, y debido de máquina, y debido a que el al largo de instrucciones y conjunto de instrucciones es parámetros. reducido. Largo de instrucciones y datos Variable debido a que la lista de Tamaño fijo por definición. instrucciones es grande y poseen diferentes cantidades de parámetros. Rapidez Alta Cinco veces más rápido que CISC.

Figuras 12. Tabla comparativa: Arquitectura de procesadores

Ahora bien, a pesar de las ventajas que presenta RISC sobre CISC, y aunque existen empresas que utilizan servidores con ambas arquitecturas; la familia de procesadores CISC se ha apoderado del mercado principalmente porque logró acceder al mercado de computadores personales, masificando así sus ventas. En cambio RISC, se quedó en el mercado de servidores de media y alta gama, con altos costos de acceso. Hoy es posible adquirir un servidor de alta gama con procesadores CISC y con múltiples núcleos, que mejoran su performance y velocidad, haciendo que las compañías puedan cumplir con objetivos de mejoramiento de infraestructura a un costo menor que si decidieran utilizar procesadores RISC.

Pág. 14

Procesadores y nuevas tendencias

A continuación una tabla comparativa de ambos modelos de arquitecturas de procesadores:

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

3. Procesadores según su cantidad de núcleos Al entender los procesadores según su cantidad de núcleos, podemos comprender el éxito que tienen los procesadores CISC. Los procesadores CISC ejecutan una instrucción a la vez y cada vez esa instrucción pasa por las 5 etapas. Esto permite que los procesadores ejecuten millones de instrucciones por segundo, sin embrago no era suficiente. Procesadores CISC tuvieron que hacer un cambio de paradigma y crear nuevos procesadores con múltiples CPUs para ejecutar más instrucciones en paralelo. Este paralelismo no está directamente asociado al paralelismo de instrucciones de un programa, sino que al paralelismo de procesos. De esta forma, sería posible, que varios procesos pudieran ejecutarse en paralelo, ganando velocidad y performance. DEFINICIÓN IMPORTANTE Núcleos y Cores identifican idénticamente a una CPU y se utilizan para indicar la nueva tecnología CISC de múltiples núcleos/cores.

3.1 Procesadores de un núcleo Estos procesadores poseen una CPU y su uso estaba enfocado a un mercado poco exigente en velocidad de procesamiento, como el uso hogareño o de oficina. Con el paso del tiempo y a partir del Pentium IV, Intel desarrolló una tecnología llamada “Hiperthreading” que simulaba dos procesadores físicos dentro de un solo procesador. Esto requería que los procesos hicieran uso de programación multi-thread (multi-hilos) para sacar una real ventaja. Claro que al mismo tiempo aumentaba la capacidad de los procesadores en varios GHz.

Ejemplos de estos procesadores son los Intel 286, 486, Pentium, Pentium II, Pentium III y Pentium IV, AMD AMx86.

Pág. 15

Procesadores y nuevas tendencias

Por otro lado, algunas empresas requieren utilizar software propietario que les obliga a adquirir servidores con arquitectura RISC. Por ejemplo, software de manipulación de datos matemáticos que no pueden ejecutarse en arquitectura CISC.

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Estos poseen dos microCPUs o núcleos dentro de una CPU. Intel aún mantiene la tecnología Hiperthreading. Ejemplos de estos procesadores son los Intel Core Duo, i3 e i5 (dos núcleos).

3.3 Procesadores de cuatro núcleos (quadcore) Estos poseen cuatro miniCPUs o núcleos dentro de una CPU. Intel mantiene la tecnología Hiperhreading. Ejemplos de esos procesadores son Intel i5, i7. Caso especial el de AMD con su procesador Phenom de 3 y 4 núcleos.

4. Procesadores especiales En este capítulo, veremos la terminología que de manera general sirve para clasificar a los procesadores de los capítulos anteriores. En 1972, Michael J. Flynn propuso una clasificación llamada la “Taxonomía de Flynn”, y permite ordenar de mejor forma los conceptos de arquitectura de computadores paralelos basado en el número de instrucciones concurrentes y en los flujos de datos de la arquitectura, a través de los siguientes elementos:

SI (Single Instructon) Flujo de instrucciones simples

MD (Multiple Data)

MI (Multiple Instruction) Flujo de instrucciones multiples

Multiples datos

SD (Single Data) Un dato simple

Pág. 16

Procesadores y nuevas tendencias

3.2 Procesadores de dos núcleos (dualcore)

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

SISD SIMD

MISD MIMD

Sistemas monoprocesador o de un núcleo, como los Intel 286 y hasta los Pentium III. Sistemas vectoriales en que una instrucción puede ejecutarse sobre múltiples datos en diferentes procesadores. En general, este tipo de arquitecturas se utilizan en procesamiento intensivo científico en investigación, pero se puede ver casos muy cercanos en las tarjetas de video y en consolas de video juegos. Un ejemplo de computador SIMD es el Cray-1. En este esquema, múltiples instrucciones operan sobre un mismo dato. Este tipo de esquemas se utilizan en plataformas que requieren paralelismo redundante. Por ejemplo, los sistemas de navegacion aérea donde se requieren varios sistemas de respaldo. Aca se clasifican todos los sistemas multiprocesadores o de varios núcleos, además de los sistemas de multiprocesadores que se revisarán más adelante.

4.1 Multiprocesadores Corresponden a la clasificación MIMD, pero también a otros niveles. En ambientes de investigación se utilizan múltiples servidores (computadores) que a través de un software especial, pueden compartir las CPUs de cada uno y distribuir el procesamiento de los datos. Estos computadores son de gama alta (servidores con varios núcleos, mucha memoria y mucho disco). Se les suele llamar cluster (racimo) ya que uno de los objetivos de este esquema es tener tolerancia a fallas.

4.2 Arreglos de procesadores Este esquema es un caso particular de multiprocesadores en que uno o varios CPUs actúan como maestro y aglutinan el resultado del procesamiento, además de distribuir dicho procesamiento entre los nodos que componen el arreglo. Este esquema también se utiliza principalmente en investigación. Existe un caso que ejemplifica de buena forma este tipo de infraestructura de multiprocesadores en red. Se trata de la Universidad de Berkeley y su proyecto SETI (Search for ExtraTerrestrial Intelligence). Este proyecto apela a usuarios para que contribuyan con tiempo de CPU de sus equipos para procesar los datos que ellos consiguen. Esto se realiza mediante la instalación de un programa wallpaper (protector de pantalla)

Fotografía área de SETI (Search for ExtraTerrestrial Intelligence), California, EE.UU.

Pág. 17

Procesadores y nuevas tendencias

Luego, se puede generar las siguientes clasificaciones:

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

4.3 Procesadores asociativos Estos procesadores están basados en un tipo de memoria direccionable por contenido CAM (ContentAddressable Memory) que funciona en forma diferente a una RAM (Random Access Memory). Básicamente es un hardware de memoria que permite hacer búsquedas sobre datos de forma muy rápida y eficiente. Se considera en estos esquemas una red de procesadores y un procesador principal. Este tipo de hardware es muy costoso y cuyos valores se pueden enfrentar a través de universidades con un presupuesto de inversión alto. En un intento de emular esto por software, podríamos considerar la implementación de Google. En este caso, se creó un software (HADOOP) para administrar un disco y que logra grandes velocidades en los procesos de búsqueda.

5. Tendencias futuras en procesadores Examinaremos dos mejoras que se están desarrollando en la actualidad y que marcarán la pauta en las tendencias de procesadores en el futuro.

5.1 Computador cuántico Este computador cuántico utiliza procesadores cuánticos, que trabajan sobre elementos llamados qubits (quantum bit). Este qubit puede contener el valor 0 (ket cero), 1 (ket uno) o una superposición cuántica de 0 y 1. Hay modelos teóricos que están intentando describirlo físicamente para una implementación real pero aun esta en trabajo. Para comparar, un procesador normal puede procesar miles de millones de operaciones, pero un procesador cuántico de 30 qubits puede procesar 10 millones de millones de operaciones. Es atractivo poder conseguir un computador cuántico, ya que supera largamente la capacidad de procesamiento actual, y también propone un desafío a los sistemas de encriptación actual para proteger los datos de los usuarios y sus comunicaciones. Por ejemplo, las comunicaciones celulares son encriptadas por la mayoría de los operadores de telecomunicaciones, basado en un sistema de encriptación muy débil que un procesador cuántico podría sobrepasar inmediatamente.

Pág. 18

Procesadores y nuevas tendencias

que se activa cuando el usuario se aleja del computador personal, y comienza a utilizar el tiempo ocioso del PC personal. Si bien no es exactamente igual a las plataformas de investigación actual, pero sirve como una ilustración el funcionamiento de este esquema.

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Para indagar sobre este tema, te recomendamos visitar los siguientes links: http://tecnologia.elpais.com/tecnologia/2017/03/06/actualidad/1488762376_465834.html http://www.bbc.com/mundo/noticias-38856796

5.2 Intel Core 80 Intel está haciendo un enorme esfuerzo para dominar el mercado de computadores personales, de gama media y gama alta. Para ello, está apostando a miniaturizar los componentes que contiene una CPU mediante el uso de superconductores. Esto no está solo enfocado a CPU, también se trabaja en la miniaturización de memorias y discos SSD. Por ejemplo, el año 2007 Intel anuncio un nuevo procesador de 80 núcleos. Este procesador permitiría ejecutar un millón de millones de instrucciones por segundo. Sin embargo, Intel aun no resuelve la forma de interconectar este procesador a la memoria. De hecho, estaría en conversaciones con algún fabricante de memorias para definir un modelo que permite su uso, y también preparar a los fabricantes para que tengan la tecnología que pueda aprovechar a este procesador. SABER MÁS Para indagar sobre este tema, te recomendamos visitar los siguientes links: http://elpais.com/diario/2007/02/22/ciberpais/1172115331_850215.html

Cierre En este módulo vimos los modelos de computadores Von Neumann y Harvard, los cuales explican cómo se estandarizó la interconectividad de la CPU con la memoria principal. También se trató las dos grandes familias de procesadores CISC y RISC, sus ventajas y desventajas. Se vio como CISC ganó mayor notoriedad que RISC siendo este último de mejor calidad; sin embargo, el mercado muchas veces decide hacia donde evoluciona la fabricación de los procesadores y su arquitectura interna. Posteriormente, vimos a modo general los componentes de una CPU y las 5 etapas de ejecución de una instrucción, y que grafica de mejor forma la ventaja de RISC sobre CISC con su tecnología pipeline.

Pág. 19

Procesadores y nuevas tendencias

SABER MÁS

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Como profesionales de la informática, se debe investigar siempre y así estar actualizados sobre cómo seguirá la evolución de los procesadores y su impacto en el mercado. Todo lo anterior dará la base para tener éxito en la elección de infraestructura para una empresa y que al mismo tiempo este alineado con las metas tecnologías y de presupuesto de una compañía. A partir de ello, se estará preparado para la elección del lenguaje de programación que permitirá aprovechar de la mejor forma la infraestructura de hardware existente. APORTE A TU FORMACIÓN El conocimiento de los tipos de procesadores, su familia y utilización, permitirá que el estudiante pueda tomar decisiones en cuanto a la compra de nueva infraestructura. Esto es relevante, incluso si no se hará el dimensionamiento del hardware, sino que en el desarrollo de aplicaciones, ya que la posibilidad de trabajar con múltiples procesadores le permitirá decidir el uso de programación paralela mediante hilos (multi-threading) en los ambientes que sea posible hacerlo y dependiendo del lenguaje de programación que esté disponible o que sea requisito del proyecto. En la Arquitectura de Computadores es necesario conocer una base histórica de la evolución de los procesadores (CPU) y más aún estar en conocimiento de su tendencia a futuro. Este conocimiento permitirá al Ingeniero aportar en la toma de decisiones de Infraestructura y software.

Pág. 20

Procesadores y nuevas tendencias

La clasificación de procesadores por su cantidad de núcleos muestra claramente la evolución que se dio en la carrera por ganar el mercado de los computadores personales y que dio base a la carrera por los mercados de servidores de gama media y alta.

M2

Área: NEGOCIOS Curso: ARQUITECTURA DE COMPUTADORES

Obligatoria Prieto, E. A., Lloris, R. A., & Torres, C. J. C. (2006). Introducción a la informática (4a. ed.). Madrid, ES: McGrawHill España. Capítulos 9 y 12. http://site.ebrary.com/lib/ippsp/reader.action?ppg=334&docID=10693150&tm=1498070133621 Tubella, M. J. (2013). Arquitectura de los sistemas informáticos. Barcelona, ES: Editorial UOC. Capítulo II. http://site.ebrary.com/lib/ippsp/reader.action?ppg=8&docID=10853500&tm=14980701827119

Complementaria Ibarra, M. M. F. (2009). Evolución de las arquitecturas de las computadoras. Córdoba, AR: El Cid Editor | apuntes. http://site.ebrary.com/lib/ippsp/reader.action?ppg=1&docID=10316229&tm=1498070266993

Procesadores y nuevas tendencias

Bibliografía

M2