Вы находитесь на странице: 1из 24

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.
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).
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
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


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
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.
"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
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
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
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.
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
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
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
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.

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.
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.
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).
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
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.
 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.
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
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
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.

Вам также может понравиться