Vous êtes sur la page 1sur 15

20-11-2014

CISC -RISC
Historia y Futuro

Antonio Castillo Mengbar


UNIVERSIDAD DE CDIZ

Reduced instruction set computing RISC vs Complex instruction set computing CISC

[Historia] --------Enfocarse en un solo chip o en la complejidad de varios trabajando en un problema?


PowerPC (IBM, Motorola, y Apple)

x86-64 (Intel,AMD)

IBM PowerPC 601

4Generacin Intel i-7

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CISC (ligada a la historia de Intel):

Pasado
Cronologa
Curiosidad: Intel inici sus operaciones siendo un fabricante de
memoria para computadoras.

Los CISC pertenecen a la primera corriente de construccin de procesadores, antes del desarrollo de los RISC.
Nos centraremos en la evolucin de x86(Intel)
Definicin: x86 es un conjunto de instrucciones utilizada en micro arquitectura de CPU. Tcnicamente, la arquitectura es denominada IA32 (Intel Architecture 32 bits). Est
basada en un modelo de arquitectura CISC.
Curiosidad: La arquitectura x86 mantiene la compatibilidad
con la lnea de procesadores de 16 bits de Intel, que a su
[Microprocesador: 4 bits, transistores: 2.300, encapsulado: 16 pines, reloj: 740 KHz, Bus: 4 bits multiplexado, 12
vez tambin eran compatibles con una familia de
bits de direcciones, Instrucciones de 8 bits de ancho - datos de 4 bits de ancho, 46 instrucciones (41 son de 8 bits
procesadores de 8 bits.
de ancho y 5 de 16 bits de ancho), 16 registros de 4 bits cada uno,Stack para subrutinas: 3 niveles de profundidad]
En 1971 Intel fue la primera compaa en lograr la integracin de suficientes transistores como para vender un microprocesador (en
un simple chip) programable completo con un conjunto de instrucciones de 4 bits, que se volvera muy comn en calculadoras de
bolsillo: El Intel 4004.
Curiosidad: Existen viejos sistemas de control de semforos en uso construidos
con el i4004.El chip es artculo de coleccionista y en eBay alcanzo hasta US$400

En 1972 lo sucedieron el 8008 y en 1974 el 8080 , cada vez logrando mayor capacidad.

====================================

[Direcciones de 8 bits, 16 KB de memoria,encapsulado:18 pines, bus 8 bits(compartido),


de reloj:0.8 MHz, 8 puertos de entrada y 24 de salida]
,
KB

(8 bits y Corra a 2 MHz)

[Encapsulado: 40 pines ,Microprocesador:8bits,reloj: 2 MHz , bus


direccin de 16 bits, bus de datos de 8 bits, memoria:64KB
registros: siete de 8 bits, puntero de pila en memoria de 16 bits,
contador de programa de 16 bits, 256 puertos de entrada/salida]

Curiosidad: Ms lento que Intel 4004, en cuanto a la cantidad de millones de


instrucciones por segundo, pero al procesar 8 bits de datos al tiempo y acceder a
mayor cantidad de memoria hace que este chip sea unas tres o cuatro veces ms
rpido. Par terminales (exhibicin y entrada de datos) no para PCs

Ambos conjuntos de instrucciones x86 de i8008 hecho por (Datapoint) e i8080 est fuertemente basado en las especificaciones de diseo la empresa
Computer Terminal Corporation
En 1978 y 1979 lo sucedi el 8086-8088 (chip de 16 bits) de hasta 10 Mhz capaz de ser el corazn de computadoras de propsito mltiple. Pero fue IBM quien

lanz la lnea ms exitosa de la historia: el IBM PC (1981) con un procesador 8088 desbancando del sector a muchos computadores personales.
[Zcalo: 40 pines, bus de datos interno de 16 bits, bus externo de 8 bits para la memoria y los perifricos, acceder hasta1 megabyte de RAM, usaba MS-DOS como S.O.,
transistores: 29.000]
Curiosidad: a partir de ese momento por el xito obtenido,
todos los CPUs de Intel mantuvieron una estricta poltica de
compatibilidad hacia atrs. Por eso, hoy en da se puede
ejecutar programas 32 bits y 64 bits en una misma PC.

En 1980 lo sucedi el 8087


Primer coprocesador (suplemento de las funciones del procesador principal) numrico de la arquitectura x86, inicio de la serie x87.

[Zcalo: 40 pines, no cache, Reloj: 4 MHz a 10 MHz, Transistores: 45.000]

Aplicaciones multitarea
En 1982 lo sucedi el 80286.Estamos ante un gran avance ya que sent las bases para la aparicin de los verdaderos sistemas multitarea. Producido hasta 1993. Por diseo,
una vez que el procesador entraba en el modo protegido, no poda volver al modo real compatible con el procesador sin un reinicio provocado por hardware. Esto provoc
muchos quebraderos de cabeza.
[Microprocesador: 24/16 bits, reloj: 6 MHz - 25 MHz, transistores: 134.000 transistores, Zcalo: 68 pines, direccionar hasta 16 MiB de memoria RAM]
Curiosidad: implement el modo protegido de ejecucin, sentando las
bases para la aparicin de los verdaderos sistemas multitarea. S.O como
OS/2(IBM), o Xenix (Microsoft) aprovecharon su modo protegido para
multitarea real.

En 1985 lo sucedi 80386 se produjo el boom de la multitarea, un avance tan fuerte que provoca un hito en la produccin de
procesadores. Es comn referirse como i386 a toda la lnea de procesadores que le siguieron. Nace el primer procesador de Intel de 32 bits,
utilizarlo para aplicaciones de multitarea sera ya mucho ms fcil buenas noticias para los programadores-de lo que lo fue con su predecesor el
80286.Producido hasta 2007 para sistemas embebidos (empotrado) y tecnologa aeroespacial .Es la tercera generacin x86
[Reloj: 16 a 40 MHz, Zcalo: 68 pines, Microprocesador: 32 bits, bus externo de 16 bits, bus de direcciones de 24 bits]

En 1989 lo sucedi el 80486 (aparece cach L1)


Hasta su aparicin, todas las computadoras PC tenan la opcin de instalar en un zcalo de la placa base
un -bastante caro- coprocesador numrico - para las XT, el 8087. Para las AT, el 80287. Para las 386, el
80387, es decir estos incluyen el conjunto de instrucciones x87(modelos DX, SX los tenan desactivado).
A partir del 80486, el coprocesador numrico, as como la memoria cach L1 o de nivel 1 fueron
integrados dentro del chip de la CPU.

[Reloj: 16 MHz a 120 MHz, Zcalo:196-pin,32 bits, 16KB de cach L1]


En 1993-1999 apareci la gama Pentium(5Generacin de x86)

Curiosidad: Se llama Pentium y no un nmero porque ante el fallo de que un nmero no puede ser
tomado como marca registrada, a partir de entonces los procesadores llevan un nombre propio.

[Reloj: 60-300 MHz, Transistores; 3.100.000 transistores (primer


Pentium), cache interno de 8 KiB para datos y 8 KiB para
instrucciones]

La aparicin de este procesador se llev a cabo con un movimiento econmico impresionante,


acabando con la competencia, que hasta entonces produca procesadores equivalentes.
Curiosidad: AMD Tuvo que crear sus procesadores desde cero Este es el K5 y el K6 (A estos
procesadores se los bautiz as debido a que "K" significa Kriptonita.
Pentium posea una arquitectura capaz de ejecutar dos operaciones a la vez gracias a sus dos
pipeline de datos de 32 bits cada uno. Adems, posea un bus de datos de 64 bits, permitiendo un
acceso a memoria 64 bits (aunque el procesador segua manteniendo compatibilidad de 32 bits para
las operaciones internas y los registros tambin eran de 32 bits).
Procesadores Pentium:

Intel Pentium Pro - 1995

Intel Pentium MMX - 1997 (Conjunto de instrucciones SIMD) Charla Rafa

Intel Pentium II 1997

Intel Pentium II Xeon - 1998 (Servidores)

Intel Pentium III 1999

Intel Pentium 4 - 2000

Intel Pentium M - 2003

Intel Pentium D 2005

Intel Pentium Dual Core 2006

---------------------------

Desde el Pentium II hasta el Pentium 4 ha sido la integracin de ms componentes, la adicin de instrucciones


especficas de multimedia y a elevar la velocidad de reloj MHz- tanto como sea posible.

La carrera de los MHz se vio frenada debido al creciente consumo de energa y generacin de calor producida por
los microprocesadores a altas frecuencias de reloj, que en los ltimos Pentium 4 super fcilmente los 100 W.

En 1995-1998 apareci la gama Pentium(6Generacin de x86)

La meta era remplazar al Intel Pentium en toda la gama de aplicaciones, pero luego se centr como chip en el mundo de los servidores y equipos de sobremesa de gama
alta. Inclua la cach de segundo nivel en el mismo encapsulado que el procesador. Su elevado precio supuso un freno a su expansin.

[Reloj: 150MHz 200MHz, un ncleo,


posibilidad de overclocking]

El Pentium Pro en aquel entonces


usaba un algoritmo de prediccin de saltos ms sofisticado que el Pentium. Introduca una instruccin de movimiento condicional (llamado cmov) que en alguno de los
casos tambin poda ser usada para evitar la necesidad de una instruccin de salto.
El Pentium Pro al principio tena una cach desde 256 KiB hasta 512 KiB en el encapsulado, hasta la versin de 1 MiB introducida posteriormente. Todas las versiones eran
caras, particularmente aquellas que tenan ms de 256 KiB de cach.
El rendimiento del cdigo de 32 bits era excelente, pero el Pentium Pro a menudo iba ms despacio que un Pentium cuando ejecutaba cdigo o sistemas operativos de 16
bits. Windows 95 result ser extensamente de 16 bits, y el Pentium Pro no estaba bien posicionado para competir en el mercados de los sobremesas.

Presentado como un chip de servidores de alta gama y de estaciones de trabajo que corran el Windows NT de 32 bits y sistemas tipo UNIX, no estaba destinado para
permanecer dentro de ese mercado que volver al mercado de los ordenadores personales. Intel rellen el hueco con una mejora al diseo del Pentium clsico
llamada Pentium MMX.- Charla de RafaEn los Pentium II, Pentium III y Pentium 4
Curiosidad: Parece ser que el motivo principal de dicha diversificacin, aparte de aumentar a un costo mnimo el
aparecieron sus correspondientes versiones de bajo
abanico de modelos, prestaciones y precios, es de marketing: debido a las constantes bajadas de precio que
costo y prestaciones (por tener menos memoria
experimentan los procesadores y el hardware en general, crear una "barrera de contencin" que justifique los
cach de nivel 2) con el nombre comercial de
diferentes niveles de precios, poniendo un precio ms alto a los procesadores ms potentes.
Celern.

RISC:
Historia---------------------------------------------------------------------------------------------------------------------------------------------------------Primer objetivo: Incrementar el rendimiento de la CPU.--->Velocidad de respuesta
Dcada de los ochenta: Mejorar los procesos
Se pensaba que se estaba alcanzando los lmites tericos, y las mejoras vendran de procesos mejorados (pequeas caractersticas en el chip).Un tamao ms
pequeo podra resultar en un mejor rendimiento al operar a ms altas velocidades de reloj.
Se centraron en el diseo de chips para computacin paralela. Esto requera una gran cantidad de chips dividiendo el problema entre estos.
Idea: Incluir en el chip un canal por el cual se pudiera dividir las instrucciones en etapas y en cada paso ir trabajando muchas instrucciones diferentes al mismo tiempo.
La clave: Pipeline Segmentacin en serie.

Idea: utilizar varios elementos de procesamiento dentro del procesador y ejecutarlos en paralelo, es decir, trabajar simultneamente varias instrucciones a la vez
(Dependiendo del nmeros de chips).Difcil de llevar a cabo porque algunas instrucciones dependan del resultado de otras instrucciones.
La clave: Paralelismo.
Siendo el espacio en el chip una cantidad finita y cuanto ms pequeo mayor velocidad de ciclo de reloj. Para poder incluir todas esas caractersticas algo ms tendra que
ser eliminado para hacer hueco.

RISC

Idea: menos transistores dedicados a la lgica principal. Ofrecan una mejora de rendimiento muy pequea, pero aadieron nuevas caractersticas --
La clave: CPU ms simple que la de otros diseos (entre ellos CISC)

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseo ms cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la
aplicacin de las ms recientes tecnologas de semiconductores. Por ello, los procesadores RISC no solo
tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos
Curiosidad: la utilizacin del trmino CISC comenz tras la
de capacidad que se producen de generacin en generacin son mucho mayores que en los CISC.
aparicin de los procesadores RISC como nomenclatura
despectiva por parte de los defensores/creadores de stos
A finales de los 80 ya haban dejado atrs a CISC en mejora de proceso y CISC con el tiempo
ltimos.

aade esta tecnologa en sus diseos. Todo esto pudo ser aadido a los diseos CISC y aun as
caber en un solo chip, pero esto tom prcticamente una dcada entre finales de los ochenta y
principios de los noventa.

x86-64
La especificacin fue creada por AMD, y ha sido implementada por AMD, Intel, VIA y otros. Antes del lanzamiento, se usaron los nombres "x86-64" y "x86_64" para referirse
al juego de instrucciones. Tras la publicacin, AMD lo llam "AMD64".3 Intel inicialmente us los nombres IA-32e y EM64T antes de utilizar "Intel 64" para su
implementacin. Algunos, incluido Apple, usan "x86-64" y "x86_64", mientras que otros, notablemente Sun Microsystems (ahora Oracle Corporation) y Microsoft, usan
"x64" mientras que la familia de sistemas operativos BSD y muchas distribuciones Linux usan "AMD64".
El procesador AMD Opteron fue el primero en implementar esta arquitectura; fue el primero en realizar un agregado importante a la arquitectura x86 diseada por otra
compaa como Intel. Intel se vio forzada a seguir su ejemplo.

Curiosidad: Se conoce x86 como al conjunto de instrucciones que implementa un procesador que puede trabajar con instrucciones de 32 bits de largo, por eso nos
podemos referir indistintamente a la familia de procesadores que implementan este conjunto de instrucciones o solo al conjunto de instrucciones (todo depende del
contexto).
Por qu nos podemos referir indistintamente al conjunto de instrucciones o a los procesadores de esta familia como x86?
Como hemos visto antes, todos los procesadores antes del i386 eran distintos en todos los campos, desde la velocidad de reloj hasta los bits que utilizaban para el ancho
del bus de direcciones y el de datos, por lo que tambin utilizaban instrucciones diferentes de 8, de 16 bits de largo etc. el procesador de Intel 80386 conocido como i386
vino para ser un estndar, con instrucciones de 32 bits de largo. Fue tal el hito que marco en la historia que desde entonces se conocen a todos los procesadores
posteriores con x86 (la terminacin 86 viene del procesador y x quiere decir que es una consecuencia de este procesador) para abreviar el nombre de las instrucciones en
los procesadores. De hecho desde este procesador, Intel dio a conocer todos su procesadores con esta terminacin y A partir del microprocesador i486, se utilizaron
nombres no numricos, haciendo referencia 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 megahercios.
Entonces, Por qu conocemos al conjunto de instrucciones de 64 bits como x64?
Pues obviamente viene del largo de la instruccin de 64 bits como extensin del conjunto de instrucciones de 32 bits, no viene de un procesador como en el caso de x86. El
nombre para la extensin de 64 Bits para el conjunto de x86 se conoce como: x86-64.
Ms tarde fue nombrado AMD64 (debido a que fue el primero en integrar en sus instrucciones la extensin x64 originalmente) Intel licencia la instruccin con el nombre de
EM64T. Ambas instrucciones y los procesadores que las ocupan son todava considerados x86.
Y es as que llamamos a los procesadores de 32bits como x86 y no x32.

Cules son las Ventajas-Desventajas CISC / RISC?


CISC
Gran cantidad de instrucciones
Ventajas
ISA(arquitectura del conjunto de instrucciones)
amplio y verstil

Desventajas
Micro arquitectura ms compleja
Instrucciones de longitud variable1

Gran cantidad de modos de direccionamiento


Instrucciones complejas
Soporta gran cantidad de tipos de datos
Implementacin de instrucciones de alto nivel lo
ms directamente posible
Reduccin del tiempo de ejecucin de
instrucciones complejas por medio de
implementacin directa en hardware

Poco uso de las instrucciones y


direccionamientos complejos
Poco aprovechamiento de parte de los
compiladores: no es fcil encontrar la mejor
instruccin para ejecutar una tarea
Baja densidad de cdigo

Compatibilidad con miembros anteriores de la


familia(Historia Intel)1
Permite operaciones complejas entre operandos
situados en la memoria o en
los registros internos(cara al programador)
Memoria - Memoria

Accesos a memoria disminuyen velocidad de


ejecucin

RISC
Implementar rapidez: segmentacin - paralelismo - reducir los accesos a memoria.
Ventajas
Desventajas
Micro arquitectura ms simple
Instrucciones ms cortas, menos tiempo de
acceso a memoria

Mayor nmero de lneas de cdigo para una


funcin
Compatibilidad con arquitecturas antiguas es
ms difcil de mantener

Compiladores ms sencillos y eficientes


Hardware ms optimo

Permite operaciones sencillas entre operandos


situados nicamente en
los registros internos(cara al programador)
Registro - Registro

Cules son las Diferencias en caractersticas?


CISC

RISC

nfasis en Hardware
Memoria - Memoria
Muchas instrucciones
Instrucciones complejas toman mltiples ciclos
Load/Store incorporadas en instrucciones.
No pipeline o poco pipeline real
Instrucciones Interpretadas por un microprograma.
Complejidad en el microprograma.
Pocos registros de propsito general(guardan datos y
direcciones
Formato de instrucciones variable.
Instrucciones largas,

nfasis en software
Registro - Registro
Pocas instrucciones
Instrucciones Simples toman un solo ciclo
Solo Load/Store hace referencia a memoria.
Alto pipeline
Instrucciones interpretadas por el hardware
Complejidad en el compilador
Muchos registros de propsito general

Cdigo con menos lneas


Se enfatiza la versatilidad del repertorio de
instrucciones

Cdigo con ms lneas


Se aaden instrucciones nuevas slo si son de uso
frecuente y no reducen el rendimiento de las ms
importantes

Formato de instrucciones fija


Instrucciones cortas,

Cules son las Diferencias en Hardware?


CISC:
Un chip RISC tendr menos transistores dedicados a la lgica principal. Esto permite a los diseadores una flexibilidad considerable; as pueden:

Incrementar el tamao del conjunto de registros.

Implementar medidas para aumentar el paralelismo interno.

Aadir cachs enormes.

No ampliar las funcionalidades, y por lo tanto ofrecer el chip para aplicaciones de bajo consumo de energa o de tamao limitado.

Cabe mencionar que el tamao del chip repercute en el consumo de este. En este caso, al ser el tamao menor su consumo es menor.

RISC:
Un chip CISC tendr ms transistores para lgica principal, ya que implementa instrucciones para bastantes funcionalidades .As que en el chip pueden implementar
menos cosas:

Registros.

Cache.

Composicin interna e Implementacin de instrucciones

Composicin interna actual


o La mquina CISC implementa a nivel de hardware un unidad de
control micro programada que hace de intermediario antes de
que la unidad lgica ejecute la instruccin. Esta unidad
microprograma divide la instruccin CISC en micro
instrucciones ms sencillas para que finalmente la unidad lgica
RISC ejecute las micro instrucciones.

o La mquina RISC ejecuta instrucciones ms rpido porque no tiene


que pasar por una capa de conversin de micro cdigo. El
compilador RISC genera ms instrucciones que el compilador CISC
para el mismo proceso.

Unidad de Control Micro programada

Implementacin
Supongamos que la memoria principal se divide en:

Desde fila 1 hasta 5 y columna 1 hasta 4. La unidad de ejecucin es responsable de


llevar a cabo todos los clculos. Sin embargo, la unidad de ejecucin slo puede
operar en los datos de que se ha cargado en uno de los cuatro registros (A, B, C, o
D). Digamos que queremos encontrar el producto de dos nmeros - uno almacenado
en la posicin 1: 3 y otro almacenado en la posicin 4: 2 y almacenar de nuevo el
resultado en 1: 3.

Enfoque CISC:
En el diseo CISC se tratara de terminar la tarea en las mnimas instrucciones posibles mediante la implementacin de hardware que podra entender y ejecutar
la serie de operaciones. Por lo tanto el procesador vendra con una instruccin especfica 'MUL' en su conjunto de instrucciones:
1. 'MUL' cargara los dos valores de la memoria en registros separados, multiplica los operandos en la unidad de ejecucin
2. Almacena el producto en la ubicacin adecuada.
Por lo tanto, toda la tarea de multiplicar dos nmeros puede completarse con una instruccin:
MUL 1: 3, 4: 2
Despus de ejecutar 'MUL' el procesador borra automticamente los registros. Si uno de los operandos tiene que ser utilizado para otro calculo, el procesador
debe solicitarlo otra vez para su carga desde el banco de memoria a un registro. MUL se conoce como una "instruccin compleja", ya que opera directamente
en los bancos de memoria de la computadora y no requiere del programador para llamar explcitamente a las funciones de carga o almacenamiento porque ya
estn implementadas en la misma instruccin.

Enfoque RISC:
En el diseo RISC se utilizan instrucciones sencillas que pueden ser ejecutadas dentro de un ciclo de reloj. Por lo tanto, la instruccin 'MUL' se dividir en tres instrucciones.

1. "LOAD", que mueve los datos del banco de memoria a un registro,


2. "PROD", que encuentra el producto de dos operandos situados dentro de los registros, y
3. "STORE", que mueve los datos de un registro de los bancos de memoria.
Con el fin de realizar la tarea, un programador para codificar necesitara cuatro o ms lneas de ensamblador:
CARGA de registro A, 1: 3
CARGA de registro B, 4: 2
PROD A, B
LOAD 1: 3, A
En RISC, el operando se mantendr en el registro hasta que se cargue otro valor.

Casos reales:
Sume el contenido de la localidad de memoria apuntada por A3 al componente de un arreglo que inicia en la localidad de memoria 100.
El nmero de ndice del componente es A2. El contenido de A3 se incrementa automticamente en uno

CISC (M68000)

RISC (MIPS)

Add (A3)+, 100(A2)

Lw $t0, 0($s3)
Lw $t1, 100($s2)
Add $t2, $t0, $t1
Sw $t2, 0($s3)
Addi $s3, $s3,1
$t0 <- Mem[0+$s3]
$t1 <- Mem[100+$s2]
$t2 <- $t0 + $t1
Mem[0+$s3] <- $t2
$s3<- [$s3]+1

EJEMPLOS:
Ejemplos CISC:
Motorola 68000, Zilog Z80 y toda la familia Intel x86, AMD x86-64 usada en la mayora de las computadoras personales actuales.
Ejemplos RISC:

Apple A4 (iPad) :
Procesador creado por P.A Semi (originalmente "Palo Alto Semiconductor") tras su
adquisicin por parte de Apple.
El Apple A4 es un procesador basado en la arquitectura ARM (Advanced RISC
Machines) creado por PA Semi con un alto rendimiento y un bajo consumo
energtico de cara a aumentar la duracin de la batera.

Adems, el A4 incluye en el mismo micro un procesador de grficos integrado


que permite reproducir con soltura vdeos en h.264 de hasta 720p y 30 fps; as
como un gran rendimiento con los juegos y resto de aplicaciones actuales. Lo
cual, a simple vista y tras ver los vdeos disponibles en la web est realmente
bien.
Memoria principal:
Posee una memoria flash de tipo NAND que vara entre 16, 32 y 64 GB.
-----------------------------Los diseos del MIPS son utilizados en la lnea de productos informticos de SGI(Silicon Graphics); en muchos sistemas embebidos; en dispositivos para Windows CE;
routers Cisco; y videoconsolas como la Nintendo 64 o las Sony PlayStation, PlayStation 2 y PlayStation Portable.

Presente
Las mquinas RISC protagonizan la tendencia actual de construccin de microprocesadores. Ver Ejemplos.
En la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples
del tipo RISC, llamadas generalmente microinstrucciones por lo que las arquitecturas convergen.
RISC es ampliamente utilizado en Smartphones y tablets
Mientras que CISC es utilizado en sobremesa y porttiles ,aunque hasta hace poco PowerPC era utilizado por Apple.

Futuro
Procesadores cunticos a nivel de tomos---- Charla de Rafa Leyva ---http://es.wikipedia.org/wiki/Computaci%C3%B3n_cu%C3%A1ntica

Seguridad en CISC - RISC


Articulo : CIO Today Network Security Apple Mythology and Desktop Security by Paul Murphy -2005* Hoy en da, la razn mayoritaria para abandonar Windows y utilizar Linux ya no es el coste, sino los fallos de seguridad y los virus que plagan Windows
* Casi todo el mundo se plantea el problema de la seguridad desde el software sistema operativo y no desde el hardware

Resultados obtenidos de una encuesta realizada por The Register, el artculo analiza las diferencias entre las arquitecturas de microprocesadores x86 y PowerPC, y su
influencia en los problemas de seguridad.

En efecto, la mayora de las vulnerabilidades explotan no slo un problema a la hora de gestionar un error en el sistema operativo, sino la forma en que un procesador
determinado trata ese error. En el caso de los procesadores x86, la copia de un determinado conjunto de datos, mayor del espacio previsto, puede llegar a introducir datos
en la pila un espacio diferente de memoria, previsto para gestionar la lista de tareas pendientes, de modo que la instruccin de retorno desde el proceso que ha fallado
no contiene el cdigo original, sino el cdigo introducido.

Dicho de otra forma: para explotar, por ejemplo, una vulnerabilidad presente en Linux x86, hace falta un determinado cdigo que la produzca, y adems inyecte el cdigo
problemtico en la pila; explotar esa misma vulnerabilidad en Linux PowerPC causara el cierre de la aplicacin, pero es prcticamente imposible inyectar cdigo que
permita realizar otras funciones, por la forma en que el procesador gestiona la pila. Esto es algo comn a la mayora de procesadores RISC. Y, desde luego, hace imposible
utilizar una simple traduccin instruccin por instruccin del cdigo que provocaba el fallo en Linux x86.

No quiero terminar sin citar uno de los prrafos finales:

Aunque los productos de Apple son generalmente un poco ms rpidos y con mayores capacidades multimedia que sus contrapartidas PC, las diferencias ms importantes
no estn en cosas como la memoria o la velocidad del procesador, sino en el diseo, el software, y el coste de licencia.

Un punto ms sobre la seguridad: Kelly Martin, en este artculo en The Register, se pregunta si no es posible que la falta de virus en Mac OS X se deba, ms all de la
dificultad mayor o menor en crear un virus, o un troyano esto ltimo no sera nada difcil, aunque existan ms alarmas en Mac OS X que en Windows o Linux, a que Mac
OS X gusta lo suficiente como para que la gente no quiera romperlo. Lectura simptica, aunque en ingls.

Anexo
Computacin paralela
La computacin Paralela, es muy importante actualmente, al permitir mejorar la velocidad en la solucin de grandes problemas, de modo que se mejora el
rendimiento de computo.

La computacin paralela es una forma de cmputo en la que muchas instrucciones se ejecutan simultneamente, operando sobre el principio de que problemas grandes, a
menudo se pueden dividir en unos ms pequeos, que luego son resueltos simultneamente (en paralelo). Hay varias formas diferentes de computacin paralela:
paralelismo a nivel de bit, paralelismo a nivel de instruccin, paralelismo de datos y paralelismo de tareas. El paralelismo se ha empleado durante muchos aos, sobre todo
en la computacin de altas prestaciones, pero el inters en ella ha crecido ltimamente debido a las limitaciones fsicas que impiden el aumento de la frecuencia. Como el
consumo de energa y por consiguiente la generacin de calor de las computadoras constituye una preocupacin en los ltimos aos, la computacin en paralelo se ha
convertido en el paradigma dominante en la arquitectura de computadores, principalmente en forma de procesadores multincleo.
Las computadoras paralelas pueden clasificarse segn el nivel de paralelismo que admite su hardware: equipos con procesadores multincleo y multi-procesador que
tienen mltiples elementos de procesamiento dentro de una sola mquina y los clsteres, MPPS y grids que utilizan varios equipos para trabajar en la misma tarea.

Segmentacin de cauce-Pipeline
La segmentacin de cauce, tambin denominada pipeline, es una tcnica empleada en el diseo de procesadores, basada en la divisin de la ejecucin de las instrucciones
en etapas, consiguiendo as que una instruccin empiece a ejecutarse antes de que hayan terminado las anteriores y, por tanto, que haya varias instrucciones procesndose
simultneamente.
Cada una de las etapas debe completar sus acciones en un ciclo de reloj, pasando sus resultados a la etapa siguiente y recibindolos de la anterior. Para eso es necesario
almacenar los datos en registros intermedios. Cualquier valor que pueda ser necesario en una etapa posterior debe irse propagando a travs de esos registros intermedios
hasta que ya no sea necesario.

Para conseguir la segmentacin es necesario que una instruccin utilice solamente una etapa en cada ciclo de ejecucin.
Ya que todas las etapas deben de tardar lo mismo en su ejecucin, el tiempo de ciclo ser el de la etapa ms lenta, ms el del retardo provocado por la
utilizacin de los registros intermedios. Comparando este esquema con el multiciclo, el tiempo de ciclo ser ms lento, pero el CPI (Ciclos Por Instruccin) ser
menor, lo que provoca un aumento del rendimiento. Ya que si no tenemos en cuenta los riesgos estructurales (que pueden provocar paradas en el pipeline),
tendramos que en cada ciclo de reloj, termina de ejecutarse una instruccin (CPI=1).
http://es.wikipedia.org/wiki/Segmentaci%C3%B3n_de_cauce

Segmentacin (electrnica)
La segmentacin (en ingls pipelining, literalmente tubera o caera) es un mtodo por el cual se consigue aumentar el rendimiento de algunos sistemas electrnicos
digitales. Es aplicado, sobre todo, en microprocesadores.
los clculos deben ser registrados o sincronizados con el reloj cada cierto tiempo para que la ruta crtica (tramo con ms carga o retardo computacional entre dos registros
de reloj) se reduzca.
La ruta crtica es en realidad la frecuencia mxima de trabajo alcanzada por el conjunto. A mayor ruta crtica (tiempo o retraso entre registros) menor es la frecuencia
mxima de trabajo y a menor ruta crtica mayor frecuencia de trabajo. La una es la inversa de la otra. Repartir o segmentar equitativamente el clculo hace que esa
frecuencia sea la ptima a costa de ms rea para el almacenamiento o registro de los datos intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida
del resultado equivalente al nmero de segmentaciones o registros realizados.
La ventaja primordial de este sistema es que, tal y como se muestra en la imagen, una vez el pipe est lleno, es decir, despus de una latencia de cuatro en la imagen, los
resultados de cada comando vienen uno tras otro cada flanco de reloj.

IF (Instruction Fetch): bsqueda


ID (Instruction Decode): decodificacin
EX (Execution): ejecucin de unidad aritmtica lgica
MEM (Memory): memoria
WB (Writeback): escritura
http://es.wikipedia.org/wiki/Segmentaci%C3%B3n_(electr%C3%B3nica)

Microarquitectura
La microarquitectura (a veces abreviada como arch o uarch), tambin llamada como organizacin de la computadora, es la manera que una arquitectura del conjunto de
instrucciones (ISA) es implementada por el procesador. Un ISA dado puede ser implementado con diferentes microarquitecturas. Las implementaciones pudieran variar
debido a diferentes objetivos de un diseo dado o debido a los cambios en la tecnologa. La arquitectura de computadora es la combinacin del diseo determinado de la
microarquitectura y del conjunto de instrucciones.

http://es.wikipedia.org/wiki/Microarquitectura

Coprocesador
Ampliar: http://es.wikipedia.org/wiki/Coprocesador
Un coprocesador es un microprocesador de un ordenador utilizado como suplemento de las funciones del procesador principal (la CPU). Las operaciones
ejecutadas por uno de estos coprocesadores pueden ser operaciones de aritmtica en coma flotante, procesamiento grfico,procesamiento de seales, procesado
de texto o Criptografa, etc. Y su funcin es evitar que el procesador principal tenga que realizar estas tareas de cmputo intensivo, estos coprocesadores pueden
acelerar el rendimiento del sistema por el hecho de esta descarga de trabajo en el procesador principal y porque suelen ser procesadores especializados que
realizan las tareas para las que estn diseado ms eficientemente. Adems estos coprocesadores permiten a los compradores de ordenadores personalizar su
equipamiento ya que slo tendrn que pagar ese hardware especfico quienes deseen o necesiten tener el rendimiento extra ofrecido por estos dispositivos.

Bibliografa.
http://es.wikipedia.org/wiki/Reduced_instruction_set_computing
http://es.wikipedia.org/wiki/Complex_instruction_set_computing
http://es.wikipedia.org/wiki/PowerPC
http://es.wikipedia.org/wiki/X86
http://es.wikipedia.org/wiki/Intel_4004
http://es.wikipedia.org/wiki/Intel_8008
http://www.classiccmp.org/8008/8008UM.pdf (Manual del i8008)
http://es.wikipedia.org/wiki/Intel_8080
http://es.wikipedia.org/wiki/Intel_8087
http://es.wikipedia.org/wiki/X87
http://es.wikipedia.org/wiki/Intel_8088
http://es.wikipedia.org/wiki/Intel_80286
http://es.wikipedia.org/wiki/Intel_80386
http://es.wikipedia.org/wiki/Intel_Pentium
http://es.wikipedia.org/wiki/Pentium_Pro
http://www.pcmag.com/encyclopedia/term/50548/risc (ingls)
http://www.engineersgarage.com/articles/risc-and-cisc-architecture?page=5
http://www.ie.itcr.ac.cr/pvega/Project/Documents_SD/Handout%20N3%20CISC%20y%20RISC.pdf
http://www.cio-today.com/story.xhtml?story_id=1110000275OO
http://www.entremaqueros.com/bitacoras/memoria/2005/05/21/seguridad-windows-linux-macosx/
http://www.winface.com/cio_today/ent_apple.html (ingls)
http://ipadtecno.blogspot.mx/ (ipad)

Diferencia Registro Cach Respuesta:Rpidez


Cmo se carga de la cache a registros?
Una memoria cach es similar a la RAM, excepto que es extremadamente rpida comparada con la memoria normal y se usa en forma diferente. Cuando un programa est
en ejecucin y la CPU necesita leer datos o instrucciones de la memoria regular, verifica primero si los datos estn en la cach. Si los datos que necesita no estn ah,
contina y lee los datos de la memoria regular y los lleva a sus registros, pero tambin carga los datos en la memoria cach al mismo tiempo. La siguiente vez que la CPU
necesita cargar los mismos datos, los encuentra en la cach y ahorra el tiempo que se necesita para cargar los datos de la memoria regular. Podramos pensar que las
probabilidades de que la CPU encuentre los datos que necesita en la cach son pequeas, pero de hecho encuentra ah los datos que necesita tan frecuentemente que
mejora perceptiblemente el desempeo de una PC. Las instrucciones de programa son un buen ejemplo de los datos que la CPU encuentra a menudo en la cach. Con
frecuencia, los programas hacen que las computadoras realicen la misma operacin repetidamente hasta que se cumpla alguna condicin. En el lenguaje de cmputo, este
procedimiento repetitivo es llamado ciclo iterativo (Loop).

Vous aimerez peut-être aussi