ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
“Año de la Diversifcación Prodc!iva " del #or!aleci$ien!o de la Edcación%
U&I'ERSIDAD &ACI(&A) DE) CA))A( #ACU)T ACU)TAD DE I&*E&IERIA I&DUSTRIA) I&DUSTR IA) + DE SISTE,AS ESCUE)A PR(#ESI(&A) DE I&*E&IERIA DE SISTE,AS TITU)(-
“TIP(S DE C(,PUTAD(RAS% “ARQUITECTURA DE 128 BITS% ARQUITECTURA Y ORGANIACI!N "E# CURS(- ARQUITECTURA CO$%UTA"OR PR(#ES(R- &A#Y TORRE& A#'ARA"O I&TE*RA&TES-
(((((
(((((
(((( ((((((
)
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
“Año de la Diversifcación Prodc!iva " del #or!aleci$ien!o de la Edcación%
U&I'ERSIDAD &ACI(&A) DE) CA))A( #ACU)T ACU)TAD DE I&*E&IERIA I&DUSTRIA) I&DUSTR IA) + DE SISTE,AS ESCUE)A PR(#ESI(&A) DE I&*E&IERIA DE SISTE,AS TITU)(-
“TIP(S DE C(,PUTAD(RAS% “ARQUITECTURA DE 128 BITS% ARQUITECTURA Y ORGANIACI!N "E# CURS(- ARQUITECTURA CO$%UTA"OR PR(#ES(R- &A#Y TORRE& A#'ARA"O I&TE*RA&TES-
(((((
(((((
(((( ((((((
)
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
2.1/ Contenido “Año de la Diversificación Productiva y del Fortalecimiento de la Educación”
INTRO"UCCI!N*************** INTRO"UCCI!N************************** ********************* ********************* ********************* ********************* ********************************* ********************** + I$%ORT I$%ORTANCIA******************* ANCIA***************************** ********************* ********************* ********************* ***************************************** ******************************** ** , )* Tipo- de computadora-******************* computadora-***************************** ********************* ********************** ********************* **********************. ************. /*
Arquitectura de un Ordenador***************************************************************************************** Ordenador***************************************************************************************** 0
/*)* $icroarquitectura**************** $icroarquitectura************************** ********************* ********************** ********************* ********************* ******************** ********* 1 /*/* Arquitectura de )/0 2it-3333333333333333333333333333333333*31 /*/*)* "e4nición de Arquitectura de )/0 2it-3333****************************************************)5 /*/*/* Tipo- de %roce-adore-333* %roce-adore-333* 3333333333333333333**333333**3*3)/ /*/*6* Caracter7-tica- del %roce-ador de )/0 2it-33333333333333333333***)6 /*/*+* %roce-ador Gr84co de )/0 2it- 9G%U:33333333333** 9G%U:33333333333** 333333333333)+ /*/*,* &u2;&i-tema de $emoria33** 3333333333333333333333333333), /*/*.* Aplicación de %roce-adore-33333333333333333333**33333333*). /*/*<* $odo- de direccionamiento de "ato-33333333333* "ato-33333333333* 33333333**33*3)< /*/*<*)* "ireccionamiento por Regi-tro333333333333333333333*333)< /*/*<*/* "ireccionamiento inmediato333333333 inmediato3333333333333* 3333* 333333333*33**)< /*/*<*6* "ireccionamiento "irecto o A2-oluto333333** A2-oluto333333** 3333333*3*33333)0 /
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
/*/*<*+* "ireccionamiento Indirecto por Regi-tro333333333333333333**)0 /*/*<*,* "ireccionamiento Relati=o a >a-e333333333333*333333*333**)1 /*/*<*.* "ireccionamiento "irecto o Inde?ado33333333333333*33333**)1 /*/*<*<* "ireccionamiento Inde?ado a >a-e 3333333333333333333*3**)1 /*/*<*0* "e-plazamiento y &egmentación A-ociado-33333333333333*33*/5 /*/*0* @ormato de In-truccione-333333333333333333333333333333**/) /*/*0*)* Criterio- de "i-eo de lo- @ormato- de In-truccione-33333333*33*3/) /*/*0*/* código de operación con e?ten-ión 3*********************************************************// /*/*1* Apro=ecBando la- =entaa- de una arquitectura de )/0 2it-3333333**333// /*/*)5* Implicacione- de Arquitectura3333333** 333333333333333333*/6 /*/*))* "iDerencia entre .+2it- y )/0 2it-33333333** 333333333333333*/6 CONC#U&IONE&33333333333333333333333333333 3333333333*3333/+ RE@ERENCIA&333333333333333333333333333333 333333**3333**333/, >I>#IOGRA@IA333333333333333333333333333333 333333333333**33/.
6
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
INTROD!!I"N En arquitectura de computadoras, 128 bits es un adjetivo usado para describir enteros, direcciones de memoria, u otras unidades de datos que comprenden hasta 128 bits de ancho. En este módulo nos centraremos en la programación de bajo nivel con el fin de conocer las especificaciones más relevantes de una arquitectura real concreta. En nuestro caso se trata de la arquitectura 128, la arquitectura proporciona soporte a un espacio de direcciones virtual o lineal de 128 bits, pero como el espacio de direcciones físico es inferior al espacio de direcciones lineal, es necesario un mecanismo de correspondencia entre las direcciones lineales las direcciones físicas. !as direcciones "#v$ son de 128 bits de ancho. %on un procesador capa& de manipular enteros de 128 bits se podría simplificar el manejo de direcciones
+
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
"#v$, a que las direcciones se podrían almacenar en un 'nico registro, de la misma manera que las direcciones "#v( se almacenan ahora. #ara referirse a una arquitectura de %#) *!) basadas en registros, bus de direcciones o bus de datos de ese ancho. +eóricamente, deberían reconocer hasta mil billones de ottabtes de memoria -*.
,
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
I#PORTAN!IA !os 128 bits son importantes para un componente fundamental de los sistemas operativos/ el direccionamiento de memoria. El microprocesador de un computador 0sobremesa, portátil, smartphone, cualquiera está continuamente determinando dónde leer escribir información dentro del dispositivo de almacenamiento, estas operaciones se reali&an a travs de cadenas de bits que guardan cierta información 0en la cabecera para evitar errores, colisiones, etc.
.
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
$% TIPO& DE !O#PTADORA& 3entro de la evolución de las computadoras, han surgido diferentes equipos con diferentes tama4os características seg'n su tipo de labor. !os computadores son utili&ados desde las plantas nucleares como controladores de labores de alto riesgo hasta la simple tarea de calentar la comida con el microondas.
a' &u(ercom(utadoras )*(aralelas*' !as supercomputadoras son equipos mu utili&ados dentro del campo de la ciencia, sobre todo para reali&ar simulaciones e investigaciones científicas que requieren grandes vol'menes de cálculo. *unque en la actualidad este trmino est quedando re&agado por el de ordenadores de alto desempe4o. #uede manipular una enorme cantidad de datos en mu poco tiempo, por lo que el poder de procesamiento de datos incluso llega a quedarse corto en varios campos. Entre las principales áreas de investigación en las cuales se utili&an supercomputadoras, tenemos/ !a predicción del clima, a que se utili&a información que llega en tiempo real de diferentes centrales de información detección de clima alrededor del mundo, en b'squeda de patrones que auden a predecir los cambios climáticos evitar tragedias. El estudio del universo, a que al ser tan e5tenso utili&ar tantas variables a la ve& se hace imposible para equipos convencionales. 6imular efectos destructivos peligrosos, como pruebas nucleares o situaciones de alto riesgo que requieren alta potencia de trabajo.
•
•
•
+rafico $ muestra un modelo de su(ercom(utadora%
Grafico 1.1: Supercomputadora
<
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
,' #acro com(utadoras “#ainframe” 6on sistemas que ofrecen maor velocidad en el procesamiento maor capacidad de almacenaje que una mini computadora típica. !as acro computadoras 0mainframe están dise4adas para manejar grandes cantidades de entrada, salida almacenamiento. +rafico $%- muestra modelo
de mainframe%
Grafico 1.2: Mainframe
c' #inicom(utadoras 6on más poderosas más costosas que las macro computadoras. En tama4o varían de un modelo de escritorio a una unidad del grande de un archivo. *l igual que las acro computadoras, las inicomputadoras pueden manejar una cantidad mucho maor de entradas salidas que una computadora personal. *unque algunas minis están dise4adas para un solo usuario, muchas pueden manejar docenas o inclusive cientos de terminales. En general, una inicomputadora, es un sistema multiproceso 0varios procesos en paralelo capa& de soportar de 17 hasta 277 usuarios simultáneamente. *ctualmente se usan para almacenar grandes bases de datos, automati&ación industrial aplicaciones multiusuario.
Grafico 1.3: Modelo de Minicomputadora
0
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
d' #icrocom(utadoras 6on sistemas peque4os de propósitos generales. #ero pueden ejecutar las mismas operaciones usar las mismas instrucciones de muchos sistemas grandes. Estas peque4as computadoras se encuentran com'nmente en oficinas, salones de clase hogares. !as computadoras personales vienen en todas formas tama4os.
.as com(utadoras note,oo/0 como su nombre lo indica, se apro5iman a la forma de una agenda.
.as .a(to( son las predecesoras de las computadoras noteboo son ligeramente más grandes que stas.
.os asistentes (ersonales di1itales )PDA' son las computadoras portátiles más peque4as. !as #3* tambin llamadas a veces palmtops, son mucho menos poderosas que los modelos noteboo de escritorio. 6e usan generalmente para aplicaciones especiales, como crear peque4as hojas de cálculo, desplegar n'meros telefónicos direcciones importantes, o para llevar el registro de fechas agenda. uchas pueden conectarse a computadoras más grandes para intercambiar datos.
Grafico 1.4: Modelos de Microcomputadoras
1
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
-% .A AR2ITE!TRA DE N ORDENADOR 03E6%-"9E :!; <)E 6)%E3E= !a arquitectura de un ordenador está constituida por la arquitectura de su conjunto de instrucciones o "6* 0del ingls Instruction Set Architecture su microarquitectura. *rquitectura del ordenador > *rquitectura del conjunto de instrucciones 0"6* ? icroarquitectura !a ar3uitectura del con4unto de instrucciones )I&A' es una imagen abstracta del sistema de computación tal como sería visto por un programador en lenguaje máquina, e inclue el conjunto de instrucciones, modos de direccionamiento, registros formatos de direcciones datos soportados por el procesador o %#). !os procesadores, por e5tensión los ordenadores, quedan definidos por tanto en base a la arquitectura del conjunto de instrucciones que implementan, así podemos encontrar referencias a procesadores u ordenadores de tipo %"6%, -"6% o 6"6%/ %"6% 0%omple5 "nstruction 6et %omputer. -"6% 0-educed "nstruction 6et %omputer. 6"6% 06pecific "nstruction 6et %omputer.
• • •
En arquitectura de computadoras, 128 bits es un adjetivo usado para describir enteros, direcciones de memoria, u otras unidades de datos que comprenden hasta 128 bits de ancho. En el tema que nos ocupa, se utili&an para referirse a una arquitectura de procesador basadas en registros, bus de direcciones o bus de datos que permiten procesar 0interna e5ternamente datos de ese ancho. !os procesadores de 128 bits podrían ser predominantes cuando 1$ E5bibtes de memoria direccionable no sea suficiente longitud. 6in embargo, incluso si la !e de oore fuera aplicable al tama4o de la memoria en a4os venideros 0una gran superposición seguiría necesitando demasiado tiempo para agotar un espacio de direcciones de $( bits. 3oblando la capacidad de la memoria solo requiere un bit de direcciones e5tra.
)5
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
-%$% #I!ROAR2ITE!TRA El conjunto de instrucciones 0"6* por sus siglas en ingls es más o menos el mismo que el modelo de programación de un procesador, en la manera que es visto por un programador de lenguaje ensamblador o escritor de un compilador . El "6* inclue el modelo de ejecución, los registros del procesador , los formatos de la dirección los datos, entre otras cosas. !a microarquitectura inclue a las partes constituentes del procesador cómo stos se interconectan e interoperan para implementar el "6*. !a microarquitectura de una máquina se presenta generalmente como diagramas más o menos detallados que describen las intercone5iones de los diferentes elementos microarquitectónicos de la máquina. Estos elementos pueden ser desde simples puertas registros, hasta unidades aritmticas lógicas completas así como elementos más grandes. Estos diagramas se dividen en la traectoria de datos 0data path, que es donde se colocan los datos@ la traectoria de control 0control path, que son para dirigir los datos.ABC %ada elemento microarquitectónico es, a su ve&, representado por un diagrama esquemático que describe las intercone5iones de las puertas lógicas usadas para implementarlo. %ada puerta lógica se representa por un diagrama de circuito describiendo las cone5iones de los transistores usados para implementarla en alguna familia lógica particular. Esto hace que máquinas con diferentes microarquitecturas puedan tener la misma arquitectura del conjunto de instrucciones, por lo que son capaces de ejecutar los mismos programas. 6e consigue seguir utili&ando un mismo "6* al tiempo que se alcan&an maores rendimientos mediante nuevas microarquitecturas Do soluciones de circuitos, así como con avances en la fabricación de semiconductores. !o que se consigue con esto es que una sola microarquitectura pueda ejecutar diferentes "6* haciendo cambios menores al microcódigo. )na microarquitectura describe, entre otros/ • • • • •
el nombre de los segmentos su tama4o, el nombre de las memorias cach su asociabilidad respectiva, la e5istencia de un renombre de registros, de una unidad de ejecución fuera de orden, de una unidad de predictor de saltos.
3istintos computadores podrían poseer una misma arquitectura, de esta forma poseer las mismas aplicaciones, pero podrían tener una distinta microarquitectura. Estas son las que hacen posibles los grandes avances de la
))
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
tecnología, que nos permiten tener un maor rendimiento en comparación a a4os anteriores.
-%-% AR2ITE!TRA DE $-5 6IT& En *rquitectura de computadoras ,128 9its se emplea para describir enteros, direcciones de memoria u otras unidades de datos que tienen un ancho de 128 bits. +ambin se utili&a para hacer referencia a las arquitecturas de %#) basadas en registros, bus de direcciones o bus de datos de un ancho de 128 9its. o ha actualmente una corriente dominante de procesadores de propósito general construidos para operar con enteros o direcciones de 128 bits, aunque si e5isten procesadores que operan algunos datos en 128 bits.
7EN 2E &E 6A&A .A AR2ITE!TRA DE $-5 6IT&8
Grafico 2.2.1: Procesadores Auxiliares SPE de arquitectura de 128 its
)/
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
-%-%$% DEFINI!ION DE AR2ITE!TRA DE $-5 6IT& icrosoft está preparando una versión nativa de 128 bits para sus pró5imos sistemas operativos compatibles con la plataforma de $( bits actual, en colaboración con "ntel, *3, "9 o F#, haciendo referencia a las arquitecturas "ntel "*G$( e "*G128. 6e postula que, si bien la arquitectura de 128 bits tiene ventajas teóricas, no las tiene a nivel práctico por la falta actual de controladores aplicaciones para $( bits. El gran inconveniente de las arquitecturas de B2 bits es que solo dejan direccionar (H9 de memoria -*, por lo que limitan enormemente las capacidades de los ordenadores, en los que a día de ho a encontramos esos (H9 instalados por defecto casi de forma estándar. %on $( bits, nos vamos a 1$ e5abtes 01$ millones de terabtes o 1$.777 H9. 3esde luego, esta cantidad es más que suficiente para mucho tiempo, especialmente si tenemos en cuenta que, seg'n algunos estudios, "nternet actualmente tiene un tama4o apro5imado de 77 e5abtes. *sí pues, desde el punto de vista del direccionamiento de la memoria -* 0principal limitación de la arquitectura, no resulta necesario ampliar esta cantidad. *hora bien, si tratamos el tema desde el punto de vista del tama4o de los registros, así como del tama4o de las direcciones de memoria, la cosa cambia. uchas aplicaciones, en particular las que se refieren a la criptografía, hacen uso de enteros de 128 bits, por lo que trabajar de forma nativa con este tama4o de registros implica un notable incremento en el rendimiento de algunas aplicaciones. *sí pues, cuando nos hablan de arquitecturas de 128 bits resulta un tanto ambiguo, no queda claro cuál va a ser el soporte que pretende ofrecer icrosoft a los 128 bits. u seguramente lo que estn haciendo es dar soporte a registros de almacenamiento de 128 bits, pero trabajando con un direccionamiento a $( bits. 6i bien una arquitectura de direccionamiento de 128 bits no va a tener sentido durante mucho tiempo, sí que lo tiene que tanto los fabricantes de hardIare como los desarrolladores de softIare trabajen de forma conjunta para soportar el trabajar con registros de un maor tama4o, que permitan incrementar la eficiencia de los programas, especialmente cuando parece que hemos llegado a un punto donde a los procesadores les cuesta crecer en trminos de
)6
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
velocidad han de crecer en trminos de paralelismo, a bien sea con varios procesadoresDcores, o con arquitecturas de un maor n'mero de bits. * este respecto, el que la arquitectura actual de $( bits no est 177J consolidada no debería ser un punto en contra, sino un aliciente a que las variaciones sobre la arquitectura actual no implicarían tirar mucho softIare :a la basura=.
-%-%-%TIPO& DE PRO!E&ADORE& #rocesador B2 bit es uno que puede manejar operaciones de hasta B2 bits de largo es decir manejar posiciones de memoria desde la posición 7 hasta (.2K(.K$L.2K$. 6olo podía manejar ( Hb de -* como tope. )n procesador $( bits es uno que puede manejar operaciones de hasta $( bits que pueden ser desde 7 hasta 18.(($.L((.7LB.L7K.2.777apro5.
Grafico 2.2.2.1: Procesadores de 32 its ! "4 its
)+
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
#rocesador de 128bits es uno que puede manejar operaciones de hasta 128 bits de largo es decir manejar posiciones de memoria desde la posición de 7 hasta B(.728.2B$.$K2.7KB.87.777.777.777.777.777.777.777.777 es decir unos B(.728.2B$.$K2.7KB.87.777 E5abtes de -* @ que el sistema de unidades no define un n'mero tan grande.
Grafico 2.2.2.2: Procesador GP# de 128 its
-%-%9% !ARA!TERI&TI!A& DE. PRO!E&ADOR DE $-5 6IT& •
+eóricamente deberían reconocer hasta 2M128 posiciones de memoria que equivale a 2$ trillones de e5abte de memoria.
•
%apaces de direccionar "#v$ 0longitud de las direcciones de red en una sola línea como ahora "#v(.
•
6e planea su uso cuando 1$ e5abtes 02M$7 no sean suficientes.
•
El sistema ;perativo que lo maneja es NO6 de 6un icro6stem.
•
6eg'n !e de oore faltarían 7 a4os para aplicar esta teoría.
•
#ero la principal ra&ón por la que serán más requeridos estos procesadores es debido a su maor capacidad de direccionamiento.
-%-%:%PRO!E&ADOR +RAFI!O DE $-5 6IT& )+P' ),
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
En trminos mu generales, el chip de la #la6tation ( combina 8 n'cleos :Paguar= $(Gbit 58$ funcionando a una frecuencia de 1.$7 HF& 0apro5 con ejecución ;o; 0;utGofG;rder o fuera de orden, con una H#) *3 -adeon con 112 stream processors organi&ados en una configuración H% de 18 %ompute )nit, con B2 -;#s 2$Gbit de ancho para una interfa& de memoria unificada H33- operando a .7 HF&. * Esta velocidad el chip obtiene un ancho de banda total de 1L$ H9Ds. #or otra parte, el chip de la Qbo5 ;ne 0revelada hace poco por icrosoft utili&a la misma plataforma :Paguar= con 8 n'cleos ;o; operando a 1.$7 HF&, pero con una H#) un poco menos potente, a que esta cuenta solamente con L$8 6tream #rocessors organi&ados en una configuración H% de 12 %ompute )nit, 0B88 6tream #rocessors $ %) menos que la #6(, con una configuración de 8 H9 de memorias 33-BG21BB F& en quadGchannel, que ofrece un ancho de banda de $8.B H9Ds. !a memoria entre los dos subsistemas 0%#) H#) son compartidos de una manera similar que la #6( en la Qbo5 ;ne, pero con algunas peque4as diferencias.
Grafico 2.2.4.1: Procesadores GP# de 128 its
-%-%;%&6< &I&TE#A DE #E#ORIA ).
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
;tra de las diferencias en el hardIare entre la #la6tation ( la Qbo5 ;ne es el subsistema de memorias, aunque ambas consolas cuentan con 8 H9 de memoria total para el sistema, ha diferencias en las modificaciones hechas por 6on icrosoft en sus respectivas consolas. 6on ha optado por un 6o%D*#) que utili&a memorias H33- con una interfa& de 2$Gbit operando a . HF&, entregando Gcomo a mencionamos en los párrafos previosG un ancho de banda de 1L$ H9Ds, esto es el ancho de banda que entregaría una tarjeta de video de cerca de )6R B77. #or su parte la Qbo5 ;ne tambin utili&a una interfa& de 2$Gbit 0quadG channel 128 ? 128Gbit con memorias 33-B, que seg'n fotografías publicadas por Sired, se trata de memorias icron 33-BG21BB 3-*. Esto le proporciona a la Qbo5 ;ne un ancho de banda de $8.B H9Ds para el sistema de memoria, pero para acortar las diferencias de ancho de banda con la #6(, icrosoft ha agregado un sistema 6-* on die, es decir, dentro del chip con B29 de $+G6-*, con esta cantidad que parece ínfima es más que suficiente para funcionar como un cache de almacenamiento que impulse el rendimiento%
Grafico 2.2.$.1: %us Sistema de Memoria de 128 its -
=tt(>??=ard@one%es?-$9?$$?$B?el<=ardCare
)<
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
9
=tt(>??CCC%mad,o(c%com?el<=ardCare
-%-%%AP.I!A!I"N DE PRO!E&ADORE& DE $-5 6IT&
El i#hone 6 su procesador *L de $( bits abrió la industria para lan&ar los procesadores de $( bits dejar de lado los funcionales B2 bits. 6e espera que su má5imo rival ho día, 6amsung, presente su nuevo procesador E5nos el pró5imo a4o dando el salto a la nueva arquitectura, aunque qui&ás pueda llegar un poco tarde. 3e acuerdo a un ejecutivo de *-, la compa4ía tiene a las miras en los procesadores de 128 bits que saldrán dentro de dos a4os, esto hara que los procesadores de $( bits les quede poco tiempo de vida si esto finalmente ocurre. El lan&amiento de nuevos chips no implica que se dejen de usar los anteriores, la moda actual de las marcas por ofrecer chips de alto rendimiento a cualquier precio podría acelerar la llegada de los 128 bits incluso antes que a los #%s, esperemos verlos pronto.
Grafico 2.2.".1: %us Sistema de Memoria de 128 its :
=tt(>??CCC%elandroidli,re%com?-$9?$$?arm
)0
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
-%-%% #ODO DE DIRE!!IONA#IENTO DE DATO& !as instrucciones de un programa en código máquina que utili&a el ensamblador, necesitan unos datos para funcionar generan unos resultados que es necesario almacenar. #or ejemplo, una operación de suma necesitara conocer donde se encuentran las dos cantidades que se desean sumar el lugar donde deberá almacenar el resultado una ve& finali&ada la operación. E5isten varias formas de indicar estas posiciones que reciben el nombre de modos de direccionamiento. !os más sencillos, simplemente i ndican un registro o una posición numrica de memoria, e5isten otros modos adicionales para facilitar la tarea del programador. En general las instrucciones del 878$ permiten operaciones entre datos contenidos en registros o datos contenidos en registros memoria, pero no están permitidas instrucciones que tengan dos operandos en memoria. El microprocesador 878$ permite L modos de direccionamiento diferente, los procesadores 87B8$ superiores usan más modos de direccionamiento.
-%-%%$% DIRE!!IONA#IENTO POR RE+I&TRO& El direccionamiento a registro indica el nombre de un registro como fuente o destino de los datos de una instrucción, la forma de indicarlo es escribiendo simplemente el nombre de dicho registro. #or ejemplo para guardar el contenido del registro *Q en la pila se utili&ara la instrucción push con este modo de direccionamiento/ #)6F *Q, cuando tenga una instrucción con dos operandos 0destino fuente, obligatoriamente ambos deberán ser del mismo tama4o. Ejemplo/
;T 9Q, %Q
-%-%%-% DIRE!!IONA#IENTO IN#EDIATO El direccionamiento inmediato consiste en indicar el valor numrico necesario para la operación. #or ejemplo, la instrucción ;T %Q, 2$8h mueve el dato 2$8h al registro %Q, lógicamente este tipo de direccionamiento solo se puede usar como operando fuente, nunca como destino. 6i se trabaja con directivas, se podrá sustituir el valor constante por un símbolo previamente definido. Ejemplo/
)1
3ato E<) 7OE(h ;T *Q, 3ato
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
-%-%%9% DIRE!!IONA#IENTO DIRE!TO O A6&O.TO El direccionamiento directo o absoluto consiste en indicar una dirección absoluta 0segmento/ despla&amiento con la que quiero trabajar en i instrucción, por ejemplo con la instrucción ;T podemos utili&ar/ ;T *Q, A12B(hC Esta instrucción recogerá el dato del segmento de datos con un offset 12B(h lo copiara en *Q, tambin se podría haber utili&ado el direccionamiento absoluto como destino haciendo/ ;T A12B(hC, *Q, en este caso se copiara el contenido del registro *Q en la posición de memoria indicada por 36/ 12B(h. #ara segmentos diferentes al de datos, se debe especificar el segmento en la dirección ;T *Q, E6 A12B(hC, o 3ato 3S 12B(h, ;T *Q, E6/ 3ato.
-%-%%:% DIRE!!IONA#IENTO INDIRE!TO POR RE+I&TRO En ocasiones se necesita trabajar con varios datos, pero cada uno en una dirección diferente. -epetir el mismo código cambiando 'nicamente en cada caso la dirección desde la que se obtiene el dato sería mu pesado. #or ello e5iste el modo de direccionamiento indirecto, en el que la dirección de memoria desde la que se obtiene o en la que se escribe el dato se encuentra almacenada en un registro. !a forma de representar este modo de direccionamiento es como el anterior pero colocando entre los corchetes el nombre del registro. En el registro tendremos almacenado el despla&amiento de la posición de memoria a la que queremos acceder respecto a un segmento que se tomara por defecto dependiendo del registro que utilicemos. En caso de querer referirnos a otro segmento diferente al asignado por defecto a cada registro, se deberá indicar cuál es. En la siguiente tabla se indican los segmentos por defecto para cada registro/ %6 66 36 E6 "#
6"
;
;
;
6#
;
6"
;
;
9#
%; #-EO"P; %; #-EO"P; %; #-EO"P; %; #-EO"P;
#;3EOE%+; %; #-EO"P; %; #-EO"P; %; #-EO"P;
%; #-EO"P; #;3EOE%+; #;3EOE%+; #;3EOE%+;
%; #-EO"P; %; #-EO"P; %; #-EO"P; %; #-EO"P;
9Q 6" 3"
&ala 2.2.'.4.1: Se(mentos por defectos para cada re(istro
/5
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
Ejemplo/ 36/ 6"
;T *Q, A6"C, mueve a *Q el contenido de la posición de memoria ;T 9Q, A9#C, mueve a 9Q el contenido de la posición de memoria
66/ 9# ;T %Q, E6/ A3"C, mueve a %Q el contenido de la posición de memoria E6/ 3" ;T A9#C, *Q mueve a la posición de memoria 66/ 9# el contenido de *Q
-%-%%;% DIRE!!IONA#IENTO RE.ATIGO A 6A&E Es parecido al anterior pero en este caso e offset de los datos se obtiene por la suma de un registro base 09Q o 9# más un valor constante. El registro solo puede ser 9Q o 9# no pudindose utili&ar ning'n otro registro. El registro 9Q utili&a como segmento por defecto el de datos 36. El registro 9# utili&a como segmento por defecto el de pila 66. 6i se quieren utili&ar otros segmentos diferentes a los asignados por defecto, se debe de especificar. Ejemplos/ ;T *Q, A9QC ? (, mueve a *Q el contenido de la posición de memoria 36/ A9QC ? ( ;T A9QC ?(, *Q, mueve a la posición de memoria 36/ A9QC ? ( el contenido de *Q En ve& de A9QC ? (, se puede usar/ A9QC(, (A9QC, A9Q ? (C, se ha utili&ado la constante (, pudindose usar cualquier otra constante.
-%-%%% DIRE!!IONA#IENTO DIRE!TO O INDEHADO Es parecido al anterior, pero en este caso con los registros 6" o 3", no pudindose utili&ar otros registros. +anto el registro 6", así como el registro 3", utili&an como segmento por defecto el de datos 36.
/)
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
-%-%%% DIRE!!IONA#IENTO INDEHADO A 6A&E Es una combinación de los dos anteriores en l participan dos registros, uno actuando como base 09Q o 09# otro como índice 06" o 03", a cua suma se le a4ade tambin un valor de despla&amiento para obtener la dirección de memoria que contiene el dato que se solicita, la forma de escribirlo es análoga a la anterior, solo que ahora la suma estará compuesta por tres elementos. A9QCA6"C tiene por segmento por defecto a 36 A9QCA3"C tiene por segmento por defecto a 36 A9#CA6"C tiene por segmento por defecto a 66 6i se quieren usar otros segmentos diferentes a los asignados por defecto, se debe de especificar. Ejemplos/ ;T *Q, A9QC A6"C ? ( ;T *Q, A9Q ? (C A6"C ;T *Q, A9Q ? 3" ? (C ;T *Q, A9QC A3" ? (C ;T *Q, (A9#C A3"C
-%-%%5% DE&P.AA#IENTO& J &E+#ENTO& A&O!IADO& %omo se a se ha comentado e5isten unos segmentos por defecto relacionados con los registros que utili&amos en los modos de direccionamiento detallados en la siguiente tabla/
"# 6# 9# 9Q 6" 3"
%6 6" ; %; #-EO"P; %; #-EO"P; %; #-EO"P; %; #-EO"P;
66 ; 6" #;3EOE%+; %; #-EO"P; %; #-EO"P; %; #-EO"P;
36 ; ; %; #-EO"P; #;3EOE%+; #;3EOE%+; #;3EOE%+;
E6 ; ; %; #-EO"P; %; #-EO"P; %; #-EO"P; %; #-EO"P;
&ala 2.2.'.8.1: Se(mentos por defectos para cada re(istro
//
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
6i en algunos de estos direccionamientos nos interesa usar un segmento diferente al asignado por defecto, bastara con especificarlo al usarlo en cada instrucción.
-%-%%B% DIRE!!IONA#IENTO INDIRE!TO Es un direccionamiento donde el operando se encuentra en la memoria, la instrucción contiene una dirección que se emplea para leer en memoria un dirección intermedia que será la verdadera dirección del objeto buscado. ;
ft(>??ft(%e=u%es?cidira?d(tos%?de(4t?A(untes?EstructuraK-com(utadorasK-.?(df?ca(itulo K-BK-Ti(osK-deK-direccionamiento%(df
-%-%5%FOR#ATO DE IN&TR!!IONE& !a representación de la instrucción en la computadora se denomina formato. 6abemos que un programa está formado por una secuencia de instrucciones, cada una de las cuales especifica una acción particular. !a parte esencial de la instrucción es lo que llamamos código de operación, que se4ala la acción que debe ejecutarse. uchas instrucciones contienen además los datos que usan o especifican donde están. *sí, por ejemplo, una instrucción que compare dos caracteres para ver si son iguales, debe especificar qu caracteres se han de comparar. +odo lo relativo a la especificación de dónde está el dato o dónde ha que almacenar el resultado se llama direccionamiento lo estudiaremos en la lección siguiente.
-%-%5%$ !RITERIO& DE DI&ELO DE .O& FOR#ATO& DE IN&TR!!I"N %uando un grupo de dise4adores de una computadora ha de elegir un formato 0o formatos de instrucción, son m'ltiples los factores que han de tenerse en cuenta. El primero más importante es que las instrucciones cortas son mejor que las largas. *sí un programa formado por n instrucciones de $( bits ocupa la mitad de espacio en memoria que uno con n instrucciones de 128 bits. Este requisito es importante, a que la memoria no es gratuita, cuanta más memoria usemos para almacenar las instrucciones 0programas, menos datos podremos almacenar simultáneamente en memoria central, por lo tanto, aumentará el uso de la memoria secundaria, con lo que el procesamiento del programa será más lento. !a segunda ra&ón a tener en cuenta, viene impuesta por la velocidad de transferencia que posee la memoria, que en general viene determinada por la tecnología empleada en su dise4o. Femos dicho que esta velocidad de
/6
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
transferencia o caudal de una memoria es el n'mero de bits por segundo que pueden ser leídos en ella.
6i el caudal de una memoria es de t bits por segundo la longitud media de instrucción es de r bits, entonces la memoria puede entregar un má5imo de tDr instrucciones por segundo. Esto implica que la velocidad de ejecución de las instrucciones depende de la longitud, a que toda instrucción antes de ser ejecutada 0fase de operación ha de ser leída 0fase de b'squeda, por lo tanto, las instrucciones más cortas requieren un procesador más rápido.
6i el tiempo de ejecución es mu largo comparado con el requerido para la e5tracción de memoria, no ha problema, pero en caso contrario pueden producirse anomalías si la %#) es rápida, presentando la memoria situaciones de cuello de botella.
-%-%5%- !"DI+O DE OPERA!I"N !ON EHTEN&I"N %onsideremos una instrucción de n? bits de longitud con un código de operación de bits una 'nica dirección de n bits. Esta instrucción admite 2 operaciones diferentes 2n clulas de memorias direccionables. *hora bien, los mismos n? bits podrían repartirse entre un código de operación de G1 bits una dirección de n?1 bits. Esto implica la mitad de instrucciones, pero el doble de posiciones de memoria direccionables. Tamos a ver en qu consiste el llamado código de operación con e5tensión, para lo cual consideremos el ejemplo siguiente/ 6ea una máquina cuas instrucciones tienen 1$ bits de longitud las direcciones ( bits tal como se representa en la figura/
&ala 2.2.8.2.1: Maquina cu!as instrucciones tienen 1" its de lon(itud
Este formato es ra&onable para un tipo de máquina que tenga 1$ registros 0direccionar un registro de entre un total de 1$ hace necesario un mínimo de ( bits. %on este formato, tendremos en total 1$ operaciones distintas 0( bits de código de operación con B direcciones.
/+
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
&ala 2.2.8.2.2: total de 1" operaciones distintas con 3 direcciones
1 instrucciones de tres direcciones. 1( instrucciones de dos direcciones. #ueden usar los códigos de operación de 7 a 1( para las instrucciones de tres direcciones, pero interpretar el código de operación 1 de manera diferente. El código 1 0bits 1 al 12 de la instrucción > 1111, indica que el código de operación está contenido en los bits 8 al 1, no solamente del 12 al 1. !os bits 7 a B ( a L forman dos direcciones, de tal manera que las 1( instrucciones de dos direcciones tienen todos los siguientes formatos/
&ala 2.2.8.2.3: )os its * a 3 ! 4 a ' forman dos direcciones
-%-%B% APROGE!MANDO .A& GENTAA& DE NA AR2ITE!TRA DE $-5 6IT&% %entrándonos en la arquitectura de 128 bits, una %#) de 128 bits puede calcular tareas individuales más rápido que un procesador de $( bits puede direccionar una cantidad de memoria considerablemente superior al límite de 1$ e5abtes impuesto por los procesadores de $( bits. ( El gran inconveniente de las arquitecturas de B2 bits es que solo dejan direccionar (H9 de memoria -*, por lo que limitan enormemente las capacidades de los ordenadores, en los que a día de ho a encontramos esos (H9 instalados por defecto casi de forma estandar. %on $( bits, nos vamos a 1$ e5abtes 01$ millones de terabtes o 1$.777 H9. 3esde luego, esta cantidad es más que suficiente para mucho tiempo, especialmente si tenemos
/,
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
en cuenta que seg'n algunos estudios, "nternet actualmente tiene un tama4o apro5imado de 77 e5abtes. *sí pues, desde el punto de vista del direccionamiento de la memoria -* 0principal limitación de la arquitectura, no resulta necesario ampliar esta cantidad. *hora bien, si tratamos el tema desde el punto de vista del tama4o de los registros, así como del tama4o de las direcciones de memoria, la cosa cambia. uchas aplicaciones, en particular las que se refieren a la criptografía, hacen uso de enteros de 128 bits, por lo que trabajar de forma nativa con este tama4o de registros implica un notable incremento en el rendimiento de algunas aplicaciones.
-%-%$% I#P.I!A!IONE& DE AR2ITE!TRA !os registros en un procesador se dividen generalmente en tres grupos/ enteros, coma flotante otros. En todos los procesadores de propósito general, sólo los registros enteros pueden almacenar punteros 0una dirección de alg'n dato en memoria. !os registros que no son de enteros no se pueden utili&ar para almacenar punteros para leer o escribir memoria por tanto no se pueden utili&ar para evitar cualesquiera restricciones impuestas por el tama4o de los registros enteros. %asi todos los procesadores de propósito general 0con la notable e5cepción de muchos *- e implementaciones "#6 de B2 bits han integrado hardIare de coma flotante, que puede o no utili&ar registros de $( bits para transportar datos con el fin de procesarlos.
-%-%$
%$DIFEREN!IA ENTRE : 6IT& J $-5 6IT&
: 6IT& /.
$-5 6IT&
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
•
3esde el punto de vista del tama4o de direcciones de memoria es conveniente emplear el de 128 bits puesto que muchas aplicaciones en particular los que se refieren a la criptografía hacen uso de enteros de 128 bits. #oder gestionar más de 1$ E5abtes de memoria. Outuro de estos procesadores en dispositivos móviles. 6on generalmente más rápidas.
•
;torgan una seguridad maor.
•
6e pueden usar maor tama4o de
• •
•
•
• •
3esde el punto de vista del direccionamiento de la memoria -* no se necesita ampliar esta capacidad #oder gestionar maor a (gb pero menor a 1$ e5abtes. 3esde el punto de vista del direccionamiento de la memoria -* no se necesita ampliar esta capacidad 6on rápidas. ;torgan seguridad.
•
•
registros direcciones de memoria.
&ala 2.2.11.1: +iferencia entre las arquitecturas de "4 its ! de 128its.
=tt(>??es%Ci/i(edia%or1?Ci/i?$-5,itsGenta4as =tt(>??CCC%(alisade
!ON!.&IONE& /<
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
•
•
•
)n sistema de 128 bits puede llegar a ser la solución ideal para todos aquellos usuarios que manipulan grandes cantidades de datos debido a la forma en que esta arquitectura procesa la información, ahora si somos usuarios que sólo usamos la computadora para reali&ar tareas básicas no tanto, pero nunca e5igimos la computadora con cosas demasiado complejas, un sistema de B2 bits es la respuesta adecuada a nuestras necesidades, lo que además nos libera de una serie de problemas como la mencionada incompatibilidad de los controladores de hardIare la necesidad de obtener softIare específico para esa plataforma para poder sacarle provecho. )n equipo de 128 bits es una buena elección si se trabajará con videos, b'squedas en bases de datos grandes o juegos otros programas que requieran cálculos complejos mucha memoria.
)sando un sistema de 128 bits, las mejoras del sistema interno permitirían que se amplíen los registros, el procesador sería capa& de ejecutar tareas en menos tiempo, por lo tanto ahorro de energía.
REFEREN!IA& /0
ARQUITECTURA DE 128 BITS Arquitectura y Organización del Computador
=tt(>??es%scri,d%com?doc?:;:9$?Ar3uitectura<5??=ard@one%es?-$9?$$?$B?el<=ardCare
9
=tt(>??CCC%mad,o(c%com?el<=ardCare??CCC%elandroidli,re%com?-$9?$$?arm
;
ft(>??ft(%e=u%es?cidira?d(tos%?de(4t?A(untes?EstructuraK-com(utadoras K-.?(df?ca(ituloK-BK-Ti(osK-deK-direccionamiento%(df
=tt(>??es%Ci/i(edia%or1?Ci/i?$-5,itsGenta4as
=tt(>??CCC%(alisade
6I6.IO+RAFIA /1