33
ARQUITECTURA X86. x86 es la denominación genérica dada a ciertos microprocesadores de la familia Intel, sus compatibles y la arquitectura básica a la que estos procesadores pertenecen, por la terminación de sus nombres numéricos: 8086, 80286, 80386, 80486, etc. Son comúnmente conocidos por versiones abreviadas de sus nombres, como 286 ó i286, 386 ó i386, 486 ó i486, e incluso 086, por i8086 o i8088 (su respectiva versión de 8 bits). A partir del i486, sus sucesores serán conocidos por los nombres no numéricos referentes a la marca, logotipo o nombre clave con los que fueron lanzados al mercado, y se les comercializó (a menudo seguido de su frecuencia, en megahertzios, de ciclos de reloj), como los Pentium (y Pentium MMX), o los K5, para el 80586 (ó i586), en sus respectivas versiones de Intel y AMD; los Pentium Pro, Pentium II, Pentium III y K6, así como los 6x86, de Cyrix, para el 80686 (ó i686); ó los Pentium 4, Pentium D y K7 (Athlon, Athlon XP, Duron y Sempron), para los 80686 de séptima generación. Con la octava generación de procesadores compatibles x86, los x86-64, que utilizan arquitectura y bus de 64 bits, con posibilidad de múltiples núcleos, introducida por AMD y clonada por Intel, se introducen por primera vez nuevas variantes y formas, en lo que a la denominación y clasificación del procesador se refiere, tales como el nombre comercial ó tecnología del modelo, la compañía

ARQUITECTURA X86

  • Upload
    diazjap

  • View
    13.445

  • Download
    3

Embed Size (px)

DESCRIPTION

Estudio sobre diferentes arquitecturas de computador

Citation preview

Page 1: ARQUITECTURA X86

ARQUITECTURA X86.

x86 es la denominación genérica dada a ciertos microprocesadores de la

familia Intel, sus compatibles y la arquitectura básica a la que estos

procesadores pertenecen, por la terminación de sus nombres numéricos: 8086,

80286, 80386, 80486, etc. Son comúnmente conocidos por versiones

abreviadas de sus nombres, como 286 ó i286, 386 ó i386, 486 ó i486, e incluso

086, por i8086 o i8088 (su respectiva versión de 8 bits). A partir del i486, sus

sucesores serán conocidos por los nombres no numéricos referentes a la

marca, logotipo o nombre clave con los que fueron lanzados al mercado, y se

les comercializó (a menudo seguido de su frecuencia, en megahertzios, de

ciclos de reloj), como los Pentium (y Pentium MMX), o los K5, para el 80586 (ó

i586), en sus respectivas versiones de Intel y AMD; los Pentium Pro, Pentium II,

Pentium III y K6, así como los 6x86, de Cyrix, para el 80686 (ó i686); ó los

Pentium 4, Pentium D y K7 (Athlon, Athlon XP, Duron y Sempron), para los

80686 de séptima generación.

Con la octava generación de procesadores compatibles x86, los x86-64, que

utilizan arquitectura y bus de 64 bits, con posibilidad de múltiples núcleos,

introducida por AMD y clonada por Intel, se introducen por primera vez nuevas

variantes y formas, en lo que a la denominación y clasificación del procesador

se refiere, tales como el nombre comercial ó tecnología del modelo, la

compañía fabricante, su número de serie, la cantidad de bits a la que puede

trabajar o la cantidad de núcleos por los que está compuesto, por ejemplo: Intel

Core 2 Duo E2180, o lo que es lo mismo, i686 ó Intel Pentium de doble núcleo

E2180, de 64 bits y de 1,6 a 2,0 Ghz; ó AMD Athlon 64 X2, es decir, un AMD

64 bits, Athlon X de doble núcleo a 2 Ghz; todos ellos englobados bajo el

denominador común x86-64, y compatibles con subarquitecturas anteriores de

32, 16 y 8 bits, de la familia de procesadores x86 de Intel, y compatibles.

La comercial popularidad de esta arquitectura hizo que muchos fabricantes,

además de Intel, empezaran a fabricar en masa microprocesadores basados

en esta arquitectura. Estas compañías son entre otras AMD, Cyrix, NEC

Corporation y Transmeta.

Page 2: ARQUITECTURA X86

La arquitectura es notablemente no limpia, por mantener compatibilidad con la

línea de procesadores de 16 bits de Intel, que a su vez también eran

compatibles con una familia de procesadores de 8 bits. Existen dos sucesores

de 64 bits para esta arquitectura.

Técnicamente, la arquitectura es denominada IA32 (Intel Architecture 32 bits).

Está basada en un modelo de arquitectura CISC (del inglés Complex

Instruction Set Computing).

Procesadores Intel

Dentro de la familia de los procesadores que Intel ha fabricado a lo largo de su

historia están los procesadores x86, entre los cuales podemos mencionar los

286, 386, 486, 586, 686.

La velocidad de los procesadores se mide en Megahertz (MHz =Millones de

ciclos por segundo).

Este parámetro indica el número de ciclos de instrucciones que el procesador

realiza por segundo, pero sólo sirve para compararlo con procesadores del

mismo tipo.

Parámetros significativos de un procesador son su ancho de bus, medido en

bits y la frecuencia de reloj a la que trabajan, medida en hertzios, tamaño de

memoria caché medido en Kb (kilobytes).

Page 3: ARQUITECTURA X86

Intel Pentium

Los Intel Pentium son una gama de microprocesadores con arquitectura x86

producidos por Intel.

El procesador Pentium se lanzó al mercado el 22 de marzo de 1993,

sucediendo al procesador Intel 80486. Intel no lo llamó 586 debido a que no es

posible registrar una marca compuesta solamente de números y a que la

competencia utilizaba hasta ahora los mismos números que Intel para sus

procesadores equivalentes (AMD 486, IBM 486, etc). También es conocido por

su nombre clave P54C.

Pentium MMX

Características técnicas

El procesador Intel Pentium está formado por 3,1 millones de transistores y

direcciona memoria con 64 bits. Integra dos memorias caché de 8 KBytes (una

para datos y otra para código) y tiene dos unidades aritmético lógicas (ALU), lo

que le permite hacer tratamiento paralelo. Por tanto el Pentium puede ejecutar

hasta dos instrucciones por ciclo de reloj. Está optimizado para ejecutar código

de 16 bits.

El Pentium se produjo en distintas versiones. Funcionaba a una velocidad de

reloj de 60 MHz o 66 MHz en su lanzamiento, que se aumentó hasta los 233

MHz del último modelo producido.

Las primeras versiones utilizaban el el zócalo Socket 5, mientras que las

posteriores del Pentium MMX, el Socket 7.

Intel Pentium II

Page 4: ARQUITECTURA X86

El Pentium II es un microprocesador con arquitectura x86 diseñado por Intel,

introducido en el mercado el 7 de mayo de 1997. Esta basado en una versión

modificada del núcleo P6, usado por primera vez en el Pentium Pro.

Los cambios fundamentales respecto a éste último fueron mejorar el

rendimiento en la ejecución de código de 16 bits, añadir el conjunto de

instrucciones MMX y eliminar la memoria caché de segundo nivel del núcleo

del procesador, colocándola en un tarjeta de circuito impreso junto a éste.

El Pentium II se comercializó en versiones que funcionaban a una frecuencia

de reloj de entre 233 y 450 MHz. La velocidad de bus era originalmente de 66

MHz, pero en las versiones a partir de los 333 MHz se aumentó a 100 MHz.

Posee 32 KB de memoria caché de primer nivel repartida en 16 KB para datos

y otros 16 KB para instrucciones. La caché de segundo nivel es de 512 KB y

trabaja a la mitad de la frecuencia del procesador, al contrario que en el

Pentium Pro, que funcionaba a la misma frecuencia.

Como novedad respecto al resto de procesadores de la época, el Pentium II se

presentaba en un encapsulado SEC, con forma de cartucho. El cambio de

formato de encapsulado se hizo para mejorar la disipación de calor. Este

cartucho se conecta a las placas base de los equipos a través de una ranura

Slot 1.

El Pentium II contiene 7,5 millones de transistores.

Intel Pentium III

Page 5: ARQUITECTURA X86

El Pentium III es un microprocesador de arquitectura i686 fabricado por Intel.

Fue lanzado el 26 de febrero de 1999. Las primeras versiones eran muy

similares al Pentium II, siendo la diferencia más importante la introducción de

las instrucciones SSE. Al igual que con el Pentium II, existía una versión

Celeron de bajo presupuesto y una versión Xeon para quienes necesitaban de

gran poder de cómputo. Esta línea ha sido eventualmente reemplaza por el

Pentium 4, aunque la linea Pentium M esta basada en el Pentium III.

Intel Pentium 4

El Pentium 4 es un microprocesador de séptima generación basado en la

arquitectura x86 y manufacturado por Intel. Es el primer microprocesador con

un diseño completamente nuevo desde el Pentium Pro de 1995. El Pentium 4

original, denominado Willamette, trabajaba a 1,4 y 1,5 GHz; y fue lanzado en

noviembre de 2000.

Para la sorpresa de la industria informática, el Pentium 4 no mejoró el viejo

diseño P6 según las dos tradicionales formas para medir el rendimiento:

velocidad en el proceso de enteros u operaciones de coma flotante. La

estrategia de Intel fue sacrificar el rendimiento de cada ciclo para obtener a

cambio mayor cantidad de ciclos por segundo y una mejora en las

instrucciones SSE.

X86-64 (INTEL CORE DUO)

Pero la verdadera revolución en los procesadores Intel se produce en julio de

2.006, con la salida al mercado de los Intel Core 2 Duo.

Esta gama ha sido desarrollada no solo por la presión ejercida por AMD, sino

también para poder cumplir con las especificaciones exigidas por Apple para

los Mac PC.

Durante los años 2.005 y 2.006, AMD había superado nuevamente a Intel en el

rendimiento de sus procesadores, tanto en los procesadores de un solo núcleo

Page 6: ARQUITECTURA X86

como en los de doble núcleo. La respuesta de Intel llegó en el verano de 2.006,

con la presentación de los Core 2 Duo. Se trata de unos procesadores basados

en la arquitectura de los Pentium M, que tienen una arquitectura mucho más

eficiente que la de los Pentium 4. Como principales características, cuentan

con un motor de ejecución ancho, cuatro FPUs y tres unidades SSE de 128bits,

así como arquitectura de 64bits EM64T, tecnología de virtualización, Intel

Enhanced SpeedStep Technology, Active Management Technology (iAMT2),

MMX, SSE, SSE2, SSE3, SSSE3, y XD bit. Todos ellos con un consumo

reducido (de 65 wattios).

ARQUITECTURA AMD64

Un año después que se creara la Intel Corp., AMD (Advanced Micro Devices)

sale a la luz a manos de Jerry Sanders. Esta nueva empresa pretendía abrirse

camino en el creciente mundo del hardware, mediante la reinvención de

productos que ya estaban en el mercado.

Jerry unió en su equipo a siete competentes graduados, formando así un grupo

heterogéneo e innovador con ideas brillantes y ganas de comerse el mundo.

Poco después ya consiguieron la financiación adecuada para comenzar a

manufacturar productos, o más bien, rediseñar los ya existentes para ganar en

velocidad y eficiencia; aun no disponían de los fondos necesarios para lanzar

productos propios.

Page 7: ARQUITECTURA X86

"Superioridad paramétrica" fueron las palabras insignia de la empresa en sus

comienzos, cuando introdujeron en el mercado una garantía de calidad sin

precedente en la industria. Todos los productos eran testados y fabricados bajo

un estándar de la época (similar a las actuales ISO's), sin ningún costo añadido

a los consumidores.

En el quinto año de la empresa, ya se contaba con 1,500 empleados fabricando

más de 200 diferentes productos.

AMD se convirtió en la primera compañía mundial en cuanto a inversiones en

investigaciones, recursos y desarrollo. A finales de 1981 ya se había logrado

doblar el número de ventas del año anterior, con lo que se preveía un

crecimiento casi exponencial.

En los comienzos de la empresa, tuvo que realizar varios acuerdos de

adhesión a su competidor Intel, con los cuales colaboraban conjuntamente,

utilizaban tecnología común e intercambiaban conocimientos del sector.

AMD-64.

x86-64 es una arquitectura basada en la extensión del conjunto de

instrucciones x86 para manejar direcciones de 64 bits. Además de una simple

extensión contempla mejoras adicionales como duplicar el número y el tamaño

de los registros de uso general y de instrucciones SSE.

Se trata de una arquitectura desarrollada por AMD e implementada bajo el

nombre de AMD64. El primer procesador con soporte para este conjunto de

instrucciones fue el Opteron, lanzado en abril de 2003. Posteriormente ha sido

implementado en múltiples variantes del Athlon 64 y del Pentium 4 de Intel, en

éste último caso bajo una versión de Intel llamada Intel 64 (antes EM64T).

Descripción de la arquitectura

Page 8: ARQUITECTURA X86

El conjunto de instrucciones del AMD x86-64 (renombrado posteriormente

como AMD64) es una extensión directa de la arquitectura del x86 a una

arquitectura de 64 bits, motivado por el hecho de que los 4GB de memoria que

son direccionables directamente por una CPU de 32 bits ya no es suficiente

para todas las aplicaciones. Algunos de los cambios:

Nuevos registros. El número de registros de propósito general se ha

incrementado de 8 en los procesadores x86-32 a 16, y el tamaño de

todos estos registros se ha incrementado de 32 bits a 64 bits.

Adicionalmente, el número de registros MMX de 128 bits (usados para

las instrucciones extendidas SIMD) se ha incrementado de 8 a 16. Los

registros adicionales incrementan el rendimiento.

Registros XMM (SSE) adicionales: Igualmente el número de registros

de 128 bits (usados para las instrucciones SSE) han aumentado de 8 a

16.

Espacio de direcciones mayor. Debido a la arquitectura de 64 bits, la

arquitectura AMD64 puede direccionar hasta 16 exabytes de memoria.

Esto, comparado con los 4GB del x86-32, de los que sólo la mitad está

disponible para aplicaciones en la mayoría de las versiones de Microsoft

Windows, el sistema operativo dominante en entornos domésticos. Las

implementaciones futuras de la arquitectura del AMD64 puede

proporcionar hasta 2 exabytes de memoria disponible. Si la paginación

de memoria se utiliza correctamente, los sistemas operativos de 32 bits

podrían tener acceso a algunas de las extensiones de dirección físicas

sin tener que realizar la ejecución en modo largo (long). Aunque la

memoria virtual de todos los programas en el modo de 32 bits está

limitada a 4 GB.

Instrucción de acceso a datos relativa al puntero: Las instrucciones

ahora pueden hacer referencias relativas al puntero de instrucciones

(registro RIP). Esto permite crear código independiente de la posición

que permite un código mucho más eficiente en librerías dinámicas y

código cargado en tiempo de ejecución.

Llamadas al sistema más rápidas. Debido a que la segmentación no

está soportada en el modo de 64 bits, las llamadas al sistema no tienen

Page 9: ARQUITECTURA X86

las latencias asociadas con almacenar y recuperar la información de

segmentación ni tienen que realizar las comprobaciones necesarias de

protección a nivel de segmentación. Por lo tanto, AMD ha introducido un

nuevo interfaz de llamadas al sistema, al que se accede utilizando

solamente la instrucción "SYSCALL". Aunque los sistemas operativos

todavía pueden utilizar el sistema de interrupciones para las llamadas al

sistema, en el modo de 64 bits utilizar "SYSCALL" es más rápido.

Instrucciones SSE. La arquitectura AMD 64 incluye las extensiones de

Intel SSE y SSE2, las últimas cpus incluyen SSE3 también. También

están soportadas las instrucciones del x86 y MMX.

Bit NX. El bit NX es una característica del procesador que permite al

sistema operativo prohibir la ejecución del código en área de datos,

mejorando la seguridad. Esta características está disponible en los

modos de 32 y 64 bits, y está soportada por Linux, Solaris, Windows XP

SP2, Windows Server 2003 SP1.

MODOS DE FUNCIONAMIENTO

Hay dos modos primarios de operación para esta arquitectura:

Modo Largo: Es el algunos BSDs, GNU/Linux (x86_64), Solaris 10, Windows

XP Professional (edición x64) y Windows Vista (edición x64). Dado que el

conjunto de instrucciones es el mismo, no hay una penalización importante en

la ejecución del código x86. Esto no sucede en la arquitectura de Intel IA-64,

donde las diferencias en el ISA subyacente implican que la ejecución de código

de 32 bits equivale a utilizar un procesador completamente diferente. En todo

Page 10: ARQUITECTURA X86

caso, en AMD 64, las aplicaciones de 32 bits del x86 podrían todavía

beneficiarse de una recompilación a 64 bits. Los registros adicionales

disponibles en el código de 64 bits, pueden ser utilizados por un compilador de

alto nivel para la optimización.

Usando el modo largo, un sistema operativo de 64 bits puede ejecutar

aplicaciones de 32 bits y 64 bits simultáneamente. También un x86-64 incluye

un soporte nativo para ejecutar las aplicaciones de 16 bits del x86. Microsoft ha

excluido explícitamente el soporte para aplicaciones de 16 bits en la edición

x64 de Windows XP Professional debido a los problemas de conseguir que el

código de 16 bits del x86 pueda funcionar con su emulador WoW64.

Modo de Herencia: El modo utilizado por los sistemas operativos de 16 bits,

como MS-DOS, y los sistemas operativos de 32 bits, como Windows XP. En

este modo, sólo se puede ejecutar código de 16 bits o de 32 bits. Los sistemas

operativos de 64 bits como Windows XP Professional x64 y Windows Server

2003 x64 no se ejecutarán.

Page 11: ARQUITECTURA X86

ARQUITECTURA POWER PC.

PowerPC (usualmente abreviada PPC) es el nombre original de la arquitectura

de computadoras de tipo RISC, fue desarrollada por IBM, Motorola y Apple. Los

procesadores de esta familia son producidos por IBM y Freescale

Semiconductor que es la división de semiconductores y microprocesadores de

Motorola, siendo utilizados principalmente en ordenadores o computadores

Macintosh de Apple Computer hasta el año 2006.

CARACTERISTICAS

Arquitectura RISC

Diseñado para computadores (Mac) de Apple

Distribuidos por la firma Freescale Semiconductors

Sólido soporte para aplicaciones de diseño gráfico

Respaldo por el Gigante Azul IBM

El PowerPC en un procesador de tercera generación de la arquitectura RISC

(Reduced Instruction Set Computing). Se dice y se pronostica que el futuro de

la computación está en la arquitectura RISC. Ya Luis Inzunza predecía desde

1991 que el actual Pentium sería RISC, y aunque no lo fue, se sigue diciendo

que en un futuro no muy lejano Intel cambiará a RISC porque la actual

Page 12: ARQUITECTURA X86

tecnología CISC (Complex Instruction Set Computing) llega a sus límites ya

que basa su poder de cómputo en los ciclos de reloj (Mhz) fenómeno que

genera mucho calor.

La arquitectura RISC tuvo claramente su razón de ser cuando ciertos estudios

demostraron que el 20% de las instrucciones cumplían con el 80% de la carga

de trabajo. Entonces se buscó la manera de simplificar las instrucciones de ese

20% a sumas y restas; el 20% de carga de trabajo restante sí se computa más

lentamente que en la arquitectura CISC porque se simula por programática

(software), pero el resultado final es una respuesta mucho más rápida al

problema general. La formulita matemática que mejor se acerca para medir el

desempeño de una máquina es la siguiente: t = n * c * T, donde:

t: Es el tiempo requerido para la ejecución de algún programa o subrutina por

parte del procesador.

n: Es el número total de instrucciones contenidas en el programa o subrutina

antes referidos.

c: Cantidad de ciclos de reloj requeridos por el procesador para completar una

instrucción "promedio" de su conjunto de instrucciones.

T: Duración del ciclo de reloj. Equivalente al recíproco de la frecuencia de

oscilación del reloj. Por ejemplo, para un procesador a 50 Mhz, se tiene un ciclo

con duración de 20 nanosegundos (20 mil millonésimas de segundo).

Debido a la simplificación de las instrucciones del 80% de la carga de trabajo,

el producto n*c es menor para RISC, lo que redunda en una ejecución más

rápida.

Procesador CELL

El procesador Cell, es un procesador multi-núcleo diseñado por las empresas

IBM, Sony y Toshiba desde el marzo del 2001. Este procesador va a ser usado

Page 13: ARQUITECTURA X86

inicialmente por la PlayStation 3, pero se tiene previsto usarlo también en los

productos electrónicos que fabrican estas empresas, que van desde televisores

de alta definición hasta ordenadores.

Los componentes del procesador son:

o 1 Power Processor Element (PPE).

o 8 Synergistic Processor Elements (SPEs).

o Bus de Interconexión de los Elementos (EIB).

o Controlador de Acceso Directo a Memoria (DMAC).

o 2 Controladores de Memoria Rambus XDR.

o Una interfaz Rambus FlexIO (Input / Output).

El PPE es el núcleo principal, este se encarga de coordinar el trabajo de todos

los demás núcleos (SPEs), mediante la tecnología SMT (Simoultaneous Multi-

Threading). El PPC toma el control del sistema operativo y deja a los SPEs el

trabajo de los demás procesos.

EL PPE esta basado en la arquitectura PowerPC de 64 bits, tiene 32 KB de

caché L1 y 512 KB de caché L2, tiene también tecnología de doble hilo y puede

ejecutar dos instrucciones por hilo. Este procesador esta hecho como los RISC

clásicos, o sea no es como los PowerPC tradicionales, por eso no tiene

implementado la predicción de saltos, y la ejecución de instrucciones es en

orden; lo que ahorra una cantidad considerable de transistores, pasando todo

ese trabajo al compilador.

Los SPE son los procesadores auxiliares, son unidades de cálculo vectorial.

Pueden ejecutar hasta dos instrucciones por ciclo. Cada SPE tiene 128

registros de 128 bits cada uno, 4 unidades de coma flotante, 4 unidades

Page 14: ARQUITECTURA X86

aritméticas enteras y una memoria local de 256 KB (esta memoria es SRAM

como las memorias caché, pero no es una de ellas). Al no utilizar memoria

caché, se simplifica el diseño del SPE. Los SPEs tienen memoria local para

tomar los datos que requieren más rápidamente.

El bus de interconexión de elementos, EIB, esta compuesto por 4 canales de

datos de 128 bits, permite la comunicación entre todos los elementos del

procesador, permite también cargar y mover 16GB de datos por segundo hacia

y fuera del Cell respectivamente. Para mantener lleno este ancho de banda, el

procesador Cell utiliza en sus controladores de I/O y la memoria las tecnologías

diseñadas por la empresa Rambus (conocida por haber fabricado las veloces

memorias RAM para Pentium 4, las RIMM, que no tuvieron aceptación en el

mercado). La memoria XDR de Rambus es bastante rápida, llegando a

velocidades 12 veces superiores a las memorias convencionales de 533Mhz

actuales.

La velocidad a la que llega es de 4.8Ghz. La tecnología FlexIO, también de

Rambus, es una interface de entrada y salida bastante rápida. Esta constituido

por 12 conexiones punto a punto unidireccionales de 1byte, 7 de estas

conexiones son de salida y 5 son de entrada. El FlexIO puede tener una

velocidad desde 400Mhz hasta 8GHz.

El chip Cell ha ahorrado muchos transistores al no implementar caché para los

SPEs, ejecución fuera de orden, predicción de saltos, etc., dejando todo ese

trabajo al compilador; con el fin de poner mas procesadores (SPEs) lo que

aumenta el poder de procesamiento, y además para que el chip sea más

sencillo y gaste menos energía. Este chip es un monstruo con sus 234 millones

de transistores, la mayoría dedicados al poder de procesamiento por lo

anteriormente expuesto, y como utiliza muchos "cerebros", la generación de

calor se disemina por todo el procesador.

Otras características de este procesador son:

o Fabricación en 90nm (nanómetros).

o Frecuencia de trabajo desde 3.2 GHz.

Page 15: ARQUITECTURA X86

o 1,3 Voltios.

o Operación a 85ºC con un disipador.

o El prototipo tiene 221mm2.

o Utiliza la tecnología SOI (Silicio sobre aislante)

Otras características que tiene el Cell es que es escalable, fue diseñado para

poder trabajar con otros Cell. Un PPC de un Cell tiene el potencial de

comunicarse con un PPC o un SPE de otro Cell que se encuentre en la misma

placa madre, en la misma red o en cualquier parte del mundo si ambos estos

conectados a Internet.

ARQUITECTURA DEC-ALPHA.

DEC Alpha es una arquitectura diseñada por DEC e introducida en 1992 bajo el

nombre AXP, como reemplazo a la serie VAX. Cuenta con un set de

instrucciones RISC de 64 bits especialmente orientada a cálculo de punto

flotante.

Una de las arquitecturas de computadoras existentes. La arquitectura Alpha se

caracteriza por seguir la filosofía RISC (Conjunto reducido de instrucciones). El

primer procesador que hizo gala de la tecnología Alpha fue el 21064.

La organización de sus registros es de uso general con una arquitectura que se

puede encuadrar como de registro-registro. Esto hace que la mayoría de sus

instrucciones operen sobre los registros, haciendo uso de la memoria RAM sólo

para instrucciones de carga y almacenamiento. La razón es que se intenta

minimizar los accesos a memoria, puesto que suponen el cuello de botella para

los procesadores actuales. La longitud de palabra de los registros es de 64 bits,

ya sea desde el PC (contador de programa), pasando por los registros de

enteros, punto flotante, etc.

Está preparado para manejar datos de 64 bits, pero también puede manejar

datos de 32, 16 bits y por último de 8 bits.

Page 16: ARQUITECTURA X86

ARQUITECTURA MIPS.

MIPS, acrónimo de Microprocessor without Interlocked Pipeline Stages, es una

arquitectura de procesadores tipo RISC desarrollada por MIPS Computer

Systems Inc. Los diseños de MIPS se usan en las estaciones de trabajo de

SGI, y tienen mucha implantación en sistemas empotrados, dispositivos que

soportan Windows CE, y en los routers de Cisco. La consola Nintendo 64, la

Sony PlayStation, la Sony PlayStation 2, y la consola portátil Sony PSP usan

procesadores MIPS. A finales de los 90, se estimó que uno de cada tres chips

tipo RISC que salieron al mercado estaban basados en MIPS.

Las primeras implementaciones de MIPS fueron de 32 bits (generalmente con

caminos de datos y registros internos también de 32 bits), mientras que las

versiones posteriores eran de 64 bits. Se ha retocado el juego de instrucciones

del procesador hasta un total de cinco veces, siempre conservando la

compatibilidad hacia atrás. Estas versiones son conocidas como MIPS I, MIPS

II, MIPS III, MIPS IV, y MIPS 32/64. La última, MIPS 32/64, define también

instrucciones de control de registros. También hay disponibles otras

extensiones, incluyendo MIPS-3D que es un tipo de órdenes de coma flotante

para implementar las funciones 3D más comunes, MDMX que es un set de

instrucciones SIMD para cálculo de enteros usando los registros de 64 bits

destinados a números en coma flotante, MIPS16 que añade compresión al

juego de instrucciones haciendo que los programas ocupen menos espacio, a

las que se suma la reciente adición de MIPS MT, que añade nuevas

capacidades de multithreading similares al HyperThreading de los últimos

procesadores de Intel.

Page 17: ARQUITECTURA X86

Un procesador MIPS consiste en una unidad de procesamiento entero (CPU) y

una colección de coprocesadores que llevan a cabo tareas auxiliares u operan

sobre otro tipo de datos tales como punto flotante.

Los sistemas basados en procesadores MIPS típicamente dividen la memoria

en tres partes. La primera parte, segmento de texto (programa) se encuentra

en la parte baja de la memoria. Comienza en la dirección 400000 hex y es

donde se almacenan las instrucciones del programa.

Encima del segmento de texto, encontramos el segmento de datos que a su

vez se divide en área Estática y Dinámica. El área estática comienza en la

dirección 10000000 hex . Contiene objetos cuyos tamaños son conocidos por el

compilador y existen mientras ejecuta el programa. El área dinámica es

asignada a medida que es solicitado a través de malloc (por ejemplo, lenguaje

C).

Page 18: ARQUITECTURA X86

La tercera parte es el segmento STACK (pila) se encuentra a partir de la

dirección 7fffffff hex y crece en sentido contrario.

El tamaño de los registros en la arquitectura MIPS es de 32 bits. Al conjunto de

32 bits se le llama palabra (word). MIPS posee 32 registros numerados entre 0

y 31, y algunos de ellos poseen funciones específicas.

Este número bajo de registros se debe a un principio en la tecnología de

Hardware:

P1: Pequeño es mejor.

Un número grande de registros incrementa el tiempo de ciclo de reloj porque la

señal le toma más tiempo en viajar.

ARQUITECTURA DE PROCESADORES.

CISC

La tecnología CISC (Complex Instruction Set Computer) nació de la mano de

Intel, creador en 1971 del primer microchip que permitiría el nacimiento de la

informática personal. Más concretamente, sería en 1972 cuando aparecería el

8080, primer chip capaz de procesar 8 bits, suficiente para representar

números y letras. Con la posibilidad de colocar todos los circuitos en un solo

chip y la capacidad de manejar número y letras nacería la cuarta generación de

ordenadores, la de los conocidos como PC u ordenadores personales.

Los microprocesadores CISC tienen un conjunto de instrucciones que se

caracteriza por ser muy amplio y permitir operaciones complejas entre

operandos situados en la memoria o en los registros internos.

Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que

en la actualidad la mayoría de los sistemas CISC de alto rendimiento

Page 19: ARQUITECTURA X86

implementan un sistema que convierte dichas instrucciones complejas en

varias instrucciones simples, llamadas generalmente microinstrucciones.

La microprogramación es una característica importante y esencial de casi todas

las arquítecturas CISC. 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. 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. Es así entonces como los chips CISC

utilizan comandos que incorporan una gran diversidad de pequeñas

instrucciones para realizar una única operación.

Cuando el sistema operativo o una aplicación requiere de una de estas

acciones, envía al procesador el nombre del comando para realizarla junto con

el resto de información complementaria que se necesite. Pero cada uno de

estos comandos de la ROM del CISC varían de tamaño y, por lo tanto, el chip

debe en primer lugar verificar cuanto espacio requiere el comando para

ejecutarse y poder así reservárselo en la memoria interna. Además, el

procesador debe determinar la forma correcta de cargar y almacenar el

comando, procesos ambos que ralentizan el rendimiento del sistema.

Entre las bondades de CISC destacan las siguientes:

Reduce la dificultad de crear compiladores.

Permite reducir el costo total del sistema.

Reduce los costos de creación de sftware.

Mejora la compactación de código.

Facilita la depuración de errores.

Ejemplo de microprocesadores basados en la tecnología CISC:

MIPS, Millions Instruction Per Second.

PA-RISC, Hewlett Packard.

Page 20: ARQUITECTURA X86

SPARC, Scalable Processor Architecture, Sun Microsystems.

POWER PC, Apple, Motorola e IBM.

RISC.

(Reduced Instruction Set Computer). Buscando aumentar la velocidad del

procesamiento se descubrió en base a experimentos que, con una determinada

arquitectura de base, la ejecución de programas compilados directamente con

microinstrucciones y residentes en memoria externa al circuito integrado

resultaban ser mas eficientes, gracias a que el tiempo de acceso de las

memorias se fue decrementando conforme se mejoraba su tecnología de

encapsulado.

La idea estuvo inspirada también 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.

Page 21: ARQUITECTURA X86

Debido a que se tiene un conjunto de instrucciones simplificado, éstas se

pueden implantar por hardware directamente en la CPU, lo cual elimina el

microcódigo y la necesidad de decodificar instrucciones complejas.

La arquitectura RISC funciona de modo muy diferente a la CISC, su objetivo no

es ahorrar esfuerzos externos por parte del software con sus accesos a la

RAM, sino 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 aprisa 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.

Las características comunes a todos los procesadores RISC, fuente de sus

capacidades de altas prestaciones, son:

Modelo de conjunto de instrucciones Load/Store

(Cargar/Almacenar). Sólo las instrucciones Load/Store acceden a

memoria; las demás operaciones en un RISC, tienen lugar en su gran

conjunto de registros. Ello simplifica el direccionamiento y acorta los

tiempos de los ciclos de la CPU, y además facilita la gestión de los fallos

de paginas (page faults) en entornos de memoria virtual. Además,

permite un elevado nivel de concurrencia a consecuencia de la

independencia de las operaciones de Load/Store de la ejecución del

resto de las instrucciones.

Arquitectura no destructiva de tres direcciones. Los procesadores

CISC destruyen la información que existe en alguno de los registros,

como consecuencia de la ejecución normal de instrucciones; esto es

debido a su arquitectura de dos direcciones, por la cual el resultado de

una operación sobrescribe uno de los registros que contenía a los

operandos. Por contra, las instrucciones RISC, con tres direcciones,

contienen los campos de los dos operandos y de su resultado. Por lo

tanto, tanto los operandos origen como el destino, son mantenidos en

Page 22: ARQUITECTURA X86

los registros tras haber sido completada la operación. Esta arquitectura

"no destructiva" permite a los compiladores organizar las instrucciones

de modo que mantengan llenos los conductos (pipelines) del chip, y por

tanto reutilizar los operandos optimizando la concurrencia.

Instrucciones simples, de formato fijo, con pocos modos de

direccionamiento. Las instrucciones simples reducen de manera muy

significativa el esfuerzo para su descodificación, y favorecen su

ejecución en pipelines. Las instrucciones de longitud fija, con formatos

fijos, implican que los campos de códigos de operación (opcodes) y de

los operandos están siempre codificados en las mismas posiciones,

permitiendo el acceso a los registros al mismo tiempo que se está

descodificando el código de operación. Todas las instrucciones tienen

una longitud equivalente a una palabra y están alineadas en la memoria

en límites de palabra (word boundaries), ya que no pueden ser

repartidas en pedazos que puedan estar en diferentes páginas.

Ausencia de microcódigo. El microcódigo no se presta a la ejecución

en ciclos únicos, ya que requiere que el hardware sea dedicado a su

interpretación dinámica. La programación en microcódigo no hace que el

software sea más rápido que el programado con un conjunto de

instrucciones simples. Todas las funciones y el control, en los

procesadores RISC, están "cableados" (hardwired), para lograr una

máxima velocidad y eficiencia.

Ejecución en conductos (pipelined). Las instrucciones simples, de

formato fijo y ciclo único permiten que las diferentes etapas de los ciclos

de ejecución (búsqueda o fetch, descodificación, ejecución, y escritura

del resultado o result write-back) para instrucciones múltiples, se puedan

realizar simultáneamente, de un modo más simple y eficaz.

Ejecución en ciclos únicos (single-cycle). El resultado directo de los

conjuntos de instrucciones que ofrecen los procesadores RISC, es que

cada instrucción puede ser ejecutada en un único ciclo de la CPU. Esto

invalida la creencia de que las microinstrucciones en microcódigo,

creadas para ser ejecutadas en un solo ciclo de procesador, son más

rápidas que las instrucciones del lenguaje ensamblador. Ya que el caché

esta construido partiendo de la misma tecnología que el almacenamiento

Page 23: ARQUITECTURA X86

de control del microprograma, una única instrucción puede ser ejecutada

a la misma velocidad que una microinstrucción. La ejecución en ciclos

únicos también simplifica la gestión de las interrupciones y los conductos

(pipelines).

Entre las ventajas de RISC tenemos las siguientes:

La CPU trabaja mas rápido al utilizar menos ciclos de reloj para ejecutar

instrucciones.

Utiliza un sistema de direcciones no destructivas en RAM. Eso significa

que a diferencia de CISC, RISC conserva después de realizar sus

operaciones en memoria los dos operandos y su resultado, reduciendo

la ejecución de nuevas operaciones.

Cada instrucción puede ser ejecutada en un solo ciclo del CPU

Ejemplo de microprocesadores basados en la tecnología RISC:

Intel 8086, 8088, 80286, 80386, 80486. x86.

Motorola 68000, 68010, 68020, 68030, 6840.