UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS
ARQUITECTURA Y ORGANIZACION DEL COMPUTADOR
ARQUITECTURA DE 128 bits Contreras Centeno Nelson Luis 1215220407 Garay Alburqueque, Jair Edson 1215220461 Maurtua Flores, Angel de Jesus 1125210099 Llaulle Llau lle Guti´errez erre z Omar Om ar Felipe Felip e 1215220 12 15220158 158
Docente: Mg. Sally Torres Alvarado 2015 ’A˜ no de la Diversificaci´ on Productiva y Fortalecimiento de la Educaci´ on’ on’
´Indice 1. INTRODUCCION
4
2. 128 bits 2.1. PROCESADORES DE 128 BITS . . . . . . . . . . . . . . . . . 2.2. 2.2. FUTU UTURO DE DE LOS LOS PR PROCES OCESAD ADOR ORES ES DE 128 128 BIT BITS S . . . . . .
5 5 5
3. PowerPC 3.1. BREVE HISTORIA . . . . . . . . . . . . . . . 3.2. ARQUITEC ECT TURA DE UN CPU POW POWER PC . 3.2.1. Diagrama de Bloqu oques . . . . . . . . . . . 3.2.2. Proce ocesador de Decisiones . . . . . . . . . 3.2.3. Unidad de Enteros . . . . . . . . . . . . 3.2.4. Unidad de Punto Flotante . . . . . . . . 3.2.5. 3.2.5. Unidad Unidad de Gesti´ Gesti´ on de Memoria(MMU) . 3.2.6. Unidad de Memoria . . . . . . . . . . . . 3.2.7. Memoria Cach´e . . . . . . . . . . . . . . 3.2.8. Sumario de Registros . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
7 7 8 8 9 9 9 9 9 10 11
4. CONCLUSIONES
21
5. BIBLIOGRAFIA
22
1
´Indice de figuras 1.
ARM ap´ostara por el desarrollo de procesadores de 128 bits para m´oviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Microprosesador PowerPC 601 fabricado por IBM . . . . . . . . 3. Diagrama de Bloques General de un Procesador PowerPC . . . 4. Unidad de Memoria . . . . . . . . . . . . . . . . . . . . . . . . . 5. Memoria Cach´e . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Esquema de Registros de un procesador PowerPC . . . . . . . . 7. Registros de Prop´ osito General . . . . . . . . . . . . . . . . . . 8. Registros de Punto Flotante . . . . . . . . . . . . . . . . . . . . 9. Registro XER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. Dieshot de un microprocesador PowerPC 970 . . . . . . . . . . .
2
6 7 8 10 10 11 12 13 13 20
´Indice de cuadros 1. 2. 3. 4. 5. 6. 7.
Definiciones de bits del registro XER . . . . . . . . . . . . . . . Resumen de registros en la arquitectura PowerPC . . . . . . . . Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
14 15 15 16 17 18 19
1.
INTRODUCCION
En la segunda mitad del siglo XX, la humanidad tuvo la necesidad de microprocesadores mucho m´ as potentes que remplazaran aquellos de 32 bits que solo permit´ıan direccionar hasta 4 GB de RAM. Entonces para cubrir esa necesidad se construy´ o los microprocesadores de 64 bits que permit´ıan direccionar hasta 16 Exabytes (16 000 000 000 GB) de RAM siendo una de las razones de por qu´e en la actualidad no existe una corriente para construir microprocesadores de 128 ? bit y se apuesta incluso por desarrollar nuevas tecnolog´ıas como la computaci´ on cu´ antica. Sin embargo, a pesar de no construirse este tipo de microprocesadores, existen algunas computadoras que usan n´ umeros de coma flotante e instrucciones de 128 bits. La presente monograf´ıa se refiere a la arquitectura 128 ? bit, sus registros, instrucciones, punto flotante y otros conceptos relacionados. Asimismo, se mencionar´ a las ventajas y desventajas comparado con arquitecturas de 64 ? bit, 32 ? bit y 16 ? bit. La presente investigaci´ o n de este tipo de arquitectura se realiz´ o por el inter´es acad´emico de profundizar la indagaci´ on acerca de esta tecnolog´ıa, revisando una variada bibliograf´ıa.
4
2.
128 bits
En arquitectura de ordenadores, 128 bits es un adjetivo usado para describir enteros, direcciones de memoria u otras unidades de datos que comprenden hasta 128 bits (16 octetos) de ancho, o para referirse a una arquitectura ALU1 basadas en registros, bus de direcciones o bus de datos de ese ancho. Te´ orica2 mente, deber´ıan reconocer hasta 5 mil billones de yottabytes de memoria RAM.
2.1.
PROCESADORES DE 128 BITS
Son procesadores de 128 bits en el sentido que tienen registros de 128 bits y en algunos casos ALU de 128 bits, pero no operan con n´ umeros individuales que sean d´ıgitos binarios de 128 bits de longitud. No hay actualmente una corriente dominante de procesadores de prop´ osito general construidos para operar con enteros o direcciones de 128 bits (16 octetos), aunque varios procesadores operan con datos de 128 bits. El IBM S/370 puede considerarse como la primera computadora rudimentaria de 128 bits ya que utiliz´o registros de punto flotante de 128 bits. Muchas CPU’s como el Pentium y el PowerPC ten´ıan registros de vectores de 128 bits utilizados para almacenar varios n´ umeros peque˜ n os, como 4 n´ u meros de 32 bits en coma flotante. Una instrucci´ on simple puede operar todos estos valores en paralelo (SIMD). El DEC VAX operaba con datos de 128 bits de tipo entero (’O’ u ’octapalabra’) y de tipo punto flotante (HFLOAT). Que tenga la posibilidad de llevar a cabo este tipo de operaciones, era m´ as una opci´ on de mejora que una caracter´ıstica est´andar. Desde los registros del VAX que eran de 32 bits de ancho, ahora una operaci´ on de 128 bits utiliza cuatro registros consecutivos o cuatro palabras largas en la memoria. El ICL 2900 Series proporciona un acumulador de 128 bits, y un conjunto de instrucciones que incluyen punto flotante de 128 bits y un paquete aritm´etica decimal.
2.2.
FUTURO DE LOS PROCESADORES DE 128 BITS
Los procesadores de 128 bits podr´ıan ser predominantes cuando 64 bits no sea suficiente para direccionar 16 Exbibytes3 bytes de memoria RAM. Si se considera que los grandes servidores disponibles a mediados de 2006 contienen 512 GB de RAM4 (requieren al menos 39 bits de direcciones), un espacio de 1
Unidad Aritm´etica L´ ogica 24 1yottabyte= 10 bytes. 3 64 2 , aproximadamente 1,8x1019 4 Por ejemplo: IBM System z9 Enterprise Class 2
5
direcciones de 64 bits deber´ıa ser suficiente durante otros 50 a˜ nos. Algunas formas de intercambio de bancos podr´ıa extender la vida util ´ del direccionamiento de 64 bits incluso m´as all´a de 50 a˜ nos. Por comparaci´ on, la electr´ onica de computaci´ on fue inventada s´ o lo hace 60 a˜ nos. Sin embargo, cabe destacar que hasta ese entonces, es posible que se construyan nuevas anticas . tecnolog´ıas como las computadoras cu´ Los procesadores de 128 bits podr´ıan ser utilizados para direccionar 2128 (m´a s de 3,40x1038) bytes, que exceder´ıan en gran medida al total de datos almacenados en la Tierra a partir de 2010, que se ha estimado alrededor de 1,2 zettabytes (1,42 × 1021bytes)5 . Recientes noticias sobre el futuro de los procesadores en dispositivos m´oviles no son acerca de las CPU de 64 bits, sino de 128 bits. Seg´ un un ejecutivo de ARM, del que no se ha desvelado el nombre, todav´ıa no est´ an trabajando en ellos, pero tienen en mente la disponibilidad de chips de 128 bits en aproximadamente dos a˜ nos, es el camino que creen que tomar´ an los terminales en 6 un futuro pr´ oximo .
Figura 1: ARM ap´ostara por el desarrollo de procesadores de 128 bits para m´oviles
5
Rich Miller (2010). ”Digital Universe nears a Zettabyte”. Obtenido y traducido de Digital Universe Nears a zettabyte, articulo de internet 6 Articulo de Internet sobre procesadores ARM
6
3.
PowerPC
3.1.
BREVE HISTORIA
PowerPC (usualmente abreviada PPC) es el nombre original de la arquitectura de computadoras de tipo RISC7 , que fue desarrollada por IBM, Motorola, y Apple.
Figura 2: Microprosesador PowerPC 601 fabricado por IBM Los procesadores de esta familia fueron producidos por IBM y Freescale Semiconductor (que era la divisi´ on de semiconductores y microprocesadores de Motorola), siendo utilizados principalmente en ordenadores o computadores Macintosh de Apple Computer hasta el a˜ no 2006 y en varios modelos IBM. El PowerPC ha sido una de las arquitecturas m´as extendidas gracias a su alto rendimiento y su implementaci´on tecnol´ ogica. Podemos mencionar algunas las implementaciones del PowerPC a lo largo de su historia: 1. 601 MPC601 50 y 66 MHz 2. 602 productos para consumidor (bus de datos y direcciones multiplexados) 3. 603 para ordenadores port´ atiles 4. 603e 5. 604 6. 604e 7. 620: la primera implementaci´ on de 64 bits 8. x704 BiCOMOS implementaci´ on PowerPC por Exponential Technologies 9. 750 G3 (1997) 233 MHz y 266 MHz 10. 7400 G4 (1999) 350 MHz 7
RISC:Reduced Instruction Set Computing
7
11. 750FX anunciado por IBM en 2001 y disponible en 2002 en 1 GHz. 12. 970 G5 (2003) implementaci´ on 64-bit derivada del IBM Power 4.
3.2. 3.2.1.
ARQUITECTURA DE UN CPU POWER PC Diagrama de Bloques
En la siguiente imagen (ver figura 3) se ha representado a trav´ es de un diagrama de bloques la arquitectura general de un procesador PowerPC.
Figura 3: Diagrama de Bloques General de un Procesador PowerPC
8
3.2.2.
Procesador de Decisiones
Determina como manejar la instrucci´ on de divergencia (de decisi´ on) Registro de condici´ on (CR): banco de flags las para divergencias condicionales. Registro de link o de subrutina (LR): contiene direcci´ o n de salto o de retorno de la divergencia. Registro de cuenta (CTR): se usa para divergencias iterativas o indirectas.
3.2.3.
Unidad de Enteros
Realiza operaciones aritm´eticas, l´ o gicas y de campos de bits sobre enteros.Contiene 32 registros GPR y un registro XER. La IU se ocupa de todos los c´alculos de direcciones para las distintas unidades de ejecuci´on.
3.2.4.
Unidad de Punto Flotante
Unidad de punto flotante Contiene el archivo FPR (registros de coma flotante) y el FPSCR (registro de estado y control). Los 32 registros tienen 64 bits cada uno y todos ellos soportan operaciones en precisi´ on simple y doble.
3.2.5.
Unidad de Gesti´ on de Memoria(MMU)
Se encarga de la traducci´ on de direcciones l´ ogicas a f´ısicas, de la gesti´ on de los niveles de privilegio en los accesos, de la protecci´o n de la memoria y de la paginaci´ on de la memoria virtual. Puede direccionar hasta 4Gbytes de memoria f´ısica y hasta 4 Pbytes de memoria virtual con tama˜ n o de p´agina de 4 Kb y tama˜ no de segmento de 256 Mb.
3.2.6.
Unidad de Memoria
Esta unidad ’amortigua’ las transferencias de datos entre la memoria y la cach´e contiene: Cola de escritura de 3 entradas y Cola de lectura de 2 entradas(Ver figura 4). Cada una de estas entradas es capaz de acoger 8 palabras consecutivas (un sector cach´e).
9
Figura 4: Unidad de Memoria
3.2.7.
Memoria Cach´ e
La memoria cache cuenta con un Cach´e de 32 Kbytes y cuenta con datos y c´odigo separados. Tiene 8 p´ aginas con 64 l´ıneas cada una. Presenta 4 bits de estado, de los cuales varios son de control de sustituci´on y un etiquetador de direcciones.
Figura 5: Memoria Cach´e
10
3.2.8.
Sumario de Registros
La arquitectura PowerPC define operaciones registro a registro para todas las instrucciones computacionales. Los datos fuente para estas instrucciones son accedidos desde los registros que se encuentran dentro del chip o son provistos como valores inmediatos incrustados en los c´ odigos de operaci´ o n. El formato de instrucciones de tres registros permite la especificaci´ on de un registro objetivo distinto a los otros dos registros fuente, asi se mantienen los datos originales para que sean usados por otra instrucci´ o n y se reduce el n´ umero de instrucciones requeridas para ciertas operaciones. Los datos son transferidos entre la memoria y los registros solo mediante instrucciones de carga y almacenamiento explicitas.
Figura 6: Esquema de Registros de un procesador PowerPC La imagen (ver figura 6) muestra la representaci´ on gr´ afica de todo el con junto de registros PowerPC. El n´ umero a la derecha de los registros indica el n´umero que es usado en la sintaxis del operando de la instrucci´on para acce11
der al registro, por ejemplo el numero usado para acceder al registro XER es SPR1. Muchos de las instrucciones SPR pueden ser accedidas solo por instrucciones de nivel de Supervisor; cualquier intento de acceder estas instrucciones con un nivel de usuario resulta en una anomal´ıa de nivel de Supervisor. Algunas SPRs son implementaciones espec´ıficas. En algunos casos, no todos los bits registrados son implementados en el hardware. Cuando un microprocesador PowerPC detecta una codificaci´ on de un SPR que no est´e definida, este puede o bien tomarlo como una anomal´ıa en el programa (si el bit 0 de la codificaci´ on SPR esta definida) o puede tratar la instrucci´o n como una no operaciones ( si el bit 0 de la codificaci´ o n SPR no esta definida). Cabe recalcar que los registros de prop´ osito general (GPRs), registro de enlace (LR), registro de conteo (CTR), registro de estado de maquina (MSR), registro de direcci´ on de datos (DAR), SDR1, registros de guardado y restauraci´on 0 y 1 (SRR0 y SRR1), SPRG1-SPRG3 , y el registro de punto de interrupci´ on de direcci´ on de datos (DABR) son de 64 bits de amplitud en sistemas de 64 bits y 32 bits de amplitud en sistemas de 32 bits. A continuaci´on se describen algunos de los registros encontrados en la arquitectura PowerPC
Registros de Prop´ osito General (GPR): Los datos enteros son manipulados en los 32 Registros de prop´ osito general mostrados en la siguiente figura (Ver figura 7 ). Estos registros son de 64 bits de ancho en sistemas de 64 bits y de 32 bits en sistemas de 32 bits. Los registros de prop´osito general son accedidos como registros fuente y de destino en la sintaxis de las instrucciones.
Figura 7: Registros de Prop´ osito General
Registros de Punto Flotante (FPR): La arquitectura PowerPC esta provista de 32 registros de punto flotante de 64 bits cada uno, como se muestra en la figura(ver fig.5). Estos registros son accedidos como registros fuente y de destino para instrucciones de punto flotante. Cada registro de punto flotante tiene respaldo para el formato de doble precision de punto flotante. Cada instrucci´on que interpreta el contenido de un registro de punto flotante como un
12
valor de ’punto flotante’ usa el formato de doble precisi´on de punto flotante para dicha interpretaci´ on. Todas las instrucciones aritm´eticas de punto flotante operan en los datos localizados en los registros y, con la excepci´on de las instrucciones de comparaci´on, colocan el resultado en un registro de punto flotante. La informaci´ on acerca del estado de las operaciones de punto flotante es colocada en un registro de Estado y Control de Punto Flotante (FPSCR)y en algunos casos, en un registro de conteo (CR)despu´es de completada la ejecuci´ on de la instrucci´ on. Las instrucciones aritm´eticas de punto flotante producen resultados intermedios que pueden ser considerados como infinitamente precisos. Despu´es de la normalizaci´on o desnormalizaci´ on, si la precisi´on del resultado intermedio no puede ser representado en el formato destinado (precisi´ on simple o doble), se redondea a la precision especificada antes de ser colocada en el registro de punto flotante objetivo. El resultado final entonces se coloca en un registro de punto flotante en formato de doble precisi´ on.
Figura 8: Registros de Punto Flotante
on de enteros. El registro XER se Registro XER Registro de interrupci´ muestra a continuaci´ on:
Figura 9: Registro XER
La siguiente tabla contiene informaci´ on acerca de la asignaci´on de bits:
Registro de Estado y Control de Punto Flotante (FPSCR): El registro de Estado y Control de Punto Flotante contiene bits para realizar las siguientes tareas: Graba anomal´ıas generadas por las operaciones de punto flotante. Graba el tipo de resultado producido por una operaci´ on de punto flotante. 13
Bits 0
Nombre SO
1
OV
2
CA
Descripci´ on Summary Overflow(Resumen de desbordamiento). El bit SO se establece cuando una instrucci´on establece el bit de desbordamiento. Overflow(Desbordamiento).El bot OV se establece para indicar que un desbordamiento ha ocurrido durante la ejecuci´ on de una instrucci´ on. Carry(Acarreo).El bit de acarreo se establece durante la ejecucion de las siguientes instrucciones: Sumar con acarreo, restar del acarreo sumar extendido, y restar de instrucciones extendidas establecen el bit CA si hay un acarreo fuera del bit mas significativo o liberandolo si es de otra manera. Cambio en instrucciones algebraicas establecen el bit CA si algun bit ha sido desplazado de un oeprando negativo, de otra forma lo libera.
3−24 25−31
Contador de Byte
−
Reservado Este campo especifica el n´ u mero de bytes a ser transferidos por una instrucci´ on LSWX o STSWX
Cuadro 1: Definiciones de bits del registro XER Controla el modo de redondeo utilizado por las operaciones de punto flotante. Habilita o deshabilita el reporte de anomal´ıas (invocando el controlador de excepciones). Los bits desde el 0 hasta el 23 son bits de estado. Los bits 24 hasta el 31 son bits de control. Los bits de estado en el FPSCR se actualizan cuando se completa la ejecuci´ on de la instrucci´on.
14
Resumen de Registros: La siguiente tabla muestra un resumen de los registros de la arquitectura PowerPC: Registro Registro de Condiciones (CR) Registro de Enlace (LR) Registro de Conteo (CTR) Registros de prop´ osito general 00-31 (GPR) Registro de Interrupci´ on de Enteros(XER) Registros de Punto Flotante 00-31 (FPR) Registro de Estado y Control de punto flotante(FPSCR)
Bits disponibles 0-31 0-31 0-31 0-31 para cada registro 0-31 0-63 para cada registro 0-31
Cuadro 2: Resumen de registros en la arquitectura PowerPC
Instrucciones Simplificadas en la arquitectura PowerPC: Las siguientes tablas muestran las instrucciones usadas en la arquitectura PowerPC, estas instrucciones son para implementaciones de 64 bits: Instrucci´ on add addc adde addi addic addic. addis addme addze and andc andi. andis.
Nemotecnia add / add. / addo / addo. addc / addc. / addco /addco. adde / adde. / addeo /addeo. addi / li / la / subi addic / subic addic. / subic.
Descripci´ on Sumar Sumar carry Sumar extendido
Sumar principal Sumar carry principal Sumar carry principal y grabar addis / lis / subis Sumar desplazamiento principal addme / addme. / addmeo Sumar a menos uno exten/ addmeo. dido addze / addze. / addzeo / Sumar a cero extendido addzeo. and / and. AND andc / andc. AND con complemento andi. AND principal andis. AND desplazamiento principal
Cuadro 3: Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits
15
Instrucci´ on b bc bcctr bclr cmp cmpi cmpl cmpli cntlzw crand crandc creqv crnand crnor cror crorc crxor divw divwu eqv extsb extsh lbz lbzu lbzux lbzx lha lhau
Nemotecnia b / ba / bl / bla bc /bca / bcl bcla bcctr / bcctrl
Descripci´ on Salto Salto condicional Salto condicional al registro de conteo bclr / bclrl Salto condicional al registro de enlace cmp / cmpw Comparar cmpi / cmpwi Comparar principal cmpl / cmplw Comparar l´ ogico cmpli / cmplwi Comparar l´ ogico principal cntlzw / cntlzw. Contar palabra con ceros a la izquierda crand Condicionar registro AND crandc Condicionar registro AND con complemento creqv / crset Condicionar registro equivalente crnand Condicionar registro NAND crnor / crnot Condicionar registro NOR cror / crmove Condicionar registro OR crorc Condicionar registro OR con complemento crxor / crclr Condicionar registro XOR divw / divw. / divwo / div- Dividir palabra wo. divwu / divwu. / divwuo / Dividir palabra sin signo divwuo. eqv / eqv. Equivalente extsb / extsb. Extender byte de signo extsh / extsh. Extender signo de media palabra lbz Cargar byte y cero lbzu Cargar byte y cero con actualizaci´on lbzux Cargar byte y cero con actualizaci´on indexada lbzx Cargar byte y cero indexados lha Cargar media palabra algebraica lhau Cargar media palabra algebraica con actualizaci´ on
Cuadro 4: Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits 16
Instrucci´ on lhaux
lhax lhbrx lhz lhzu lhzux lhzx lmw lswi lswx lwbrx lwz lwzu lwzux lwzx mcrf mcrxr mfcr mfspr mftb mtcrf mtspr mulhw
Nemotecnia lhaux
Descripci´ on Cargar media palabra algebraica con actualizaci´ on indexada lhax Cargar media palabra algebraica indexada lhbrx Cargar media palabra indexada con byte invertido lhz Cargar media palabra y cero lhzu Cargar media palabra y cero con actualizaci´ on lhzux Cargar media palabra y cero con actualizaci´ on indexada lhzx Cargar media palabra y cero indexado lmw Cargar m´ ultiple palabra lswi Cargar cadena de palabra principal lswx Cargar cadena de palabra indexada lwbrx Cargar palabra indexada con byte invertido lwz Cargar palabra y cero lwzu Cargar palabra y cero con actualizaci´on lwzux Cargar palabra y cero con actualizaci´on indexada lwzx Cargar palabra y cero indexado mcrf Mover campo de registro de condici´on mcrxr Mover hacia registro de condici´on desde XER mfcr Mover desde registro de condici´on mfspr / mfxer / mflr / mfctr Mover desde registro de prop´osito especial mftb Mover desde base de tiempo mtcrf Mover hacia campos de registro de condici´ on mtspr / mtxer / mtlr / mt- Mover hacia registro de ctr prop´osito especial mulhw / mulhw. Multiplicar palabra alta
Cuadro 5: Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits 17
Instrucci´ on mulhwu mulli mullw nand neg nor or orc ori oris rlwimi
rlwinm
rlwnm slw sraw srawi srw stb stbu stbux stbx sth
Nemotecnia mulhwu / mulhwu.
Descripci´ on Multiplicar palabra alta sin signo mulli Multiplicar principal bajo mullw / mullw. / mullwo / Multiplicar palabra baja mullwo. nand / nand. NAND neg / neg. / nego / nego. Negaci´ on nor /nor. NOR or / or. OR orc / orc. OR con complemento ori OR principal oris OR principal desplazado rlwimi / rlwimi. / inslwi / Rotar palabra principal hainsrwi cia la izquierda luego la m´ascara insertada rlwinm / rlwinm. / extlwi / Rotar palabra principal haextrwi rotlwi / rotrwi / sl- cia la izquierda luego AND wi / srwi / clrlwi / clrrwi / con m´ascara clrlslwi rlwnm / rlwnm. / rotlw Rotar palabra de la izquierda luego AND con m´ ascara slw / slw. Cambiar palabra hacia la izquierda sraw /sraw. Cambiar palabra algebraica hacia la derecha srawi / srawi. Cambiar palabra algebraica principal hacia la derecha srw / srw. Cambiar palabra hacia derecha stb Almacenar byte stbu Almacenar byte con actualizaci´on stbux Almacenar byte con actualizaci´on indexado stbx Almacenar byte indexado sth Almacenar media palabra
Cuadro 6: Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits
18
Instrucci´ on sthbrx
sthu sthux sthx stmw stswi stswx stw stwbrx stwu stwux stwx subf subfc subfe subfic subfme subfze xor xori xoris
Nemotecnia sthbrx
Descripci´ on Almacenar media palabra indexada como byte invertido sthu Almacenar media palabra con actualizaci´ on sthux Almacenar media palabra con actualizaci´ on indexada sthx Almacenar media palabra indexada stmw Almacenar m´ ultiple palabra stswi Almacenar cadena de palabra principal stswx Almacenar cadena de palabra indexada stw Almacenar palabra stwbrx Almacenar palabra indexada como byte invertido stwu Almacenar palabra con actualizaci´on stwux Almacenar palabra con actualizaci´on indexada stwx Almacenar palabra indexada subf / subf. / subfo / subfo. Sustraer de / sub subfc / subfc. / subfco / Sustraer de carry subfco. / subc subfe / subfe. / subfeo. / Sustraer de extendido subfeo. subfic Sustraer de carry principal subfme / subfme. / subfmeo Sustraer de menos uno ex/ subfmeo. tendido subfze / subfze. / subfzeo / Sustraer de cero extendido subfzeo. xor / xor. XOR xori XOR principal xoris XOR desplazado principal
Cuadro 7: Instrucciones en la arquitectura PowerPC para implementaciones de 64 bits
19
Podemos apreciar en la siguiente imagen el Die shot del microprocesador de la serie PowerPC970X: El PowerPC 970 o tambien llamado G5 es un micro-
Figura 10: Dieshot de un microprocesador PowerPC 970
procesador de alto rendimiento con arquitectura RISC de 64 bits, pertenece a la familia PowerPC. Fue dise˜ nado y fabricado por IBM en 2002. Es una implementaci´ on 64 bits de la arquitectura PowerPC. Eso signifique que puede ejecutar operaciones sobre datos de tama˜ no de 64 bits. Tambi´en puede trabajar sobre datos de 32 bits (double word), 16 bits(word), 8 bits (word). Puede ejecutar las instrucciones sobre datos 32 bits, y mas importante, sobre direcciones memoria de 32 bits, medida que se tomo por prevenci´ on a problemas de compatibilidad en arquitecturas anteriores como el PowerPC 32. Como el soporte el juego de instrucciones de la arquitectura PowerPC, el tiene un tama˜ no de palabra de 32 bits.
20
4.
CONCLUSIONES
El gran inconveniente de las arquitecturas de 32 bits es que solo dejan direccionar 4GB de memoria RAM, por lo que limitan enormemente las capacidades de los ordenadores. Con 64 bits, nos vamos a 16 exabytes (16 millones de terabytes o 16.000 GB). Desde luego, esta cantidad es m´ as que suficiente para mucho tiempo, especialmente si tenemos en cuenta que seg´ un algunos estudios, Internet actualmente tiene un tama˜ no aproximado de 500 exabytes. As´ı pues, desde el punto de vista del direccionamiento de la memoria RAM (principal limitaci´on de la arquitectura), no resulta necesario ampliar esta cantidad. Ahora bien, si tratamos el tema desde el punto de vista del tama˜ no de los registros, as´ı como del tama˜ no de las direcciones de memoria, la cosa cambia. Muchas 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 tama˜ no de registros implica un notable incremento en el rendimiento de algunas aplicaciones. PowerPC fue una de las tantas innovaciones de las arquitecturas de computadoras por cubrir la necesidad de pasar de los 32 bits a los 64 bits. Sin embargo, las arquitecturas de 64 bits de PowerPC terminando siendo tan potentes que incluso pudo realizar c´ alculos con n´ umeros de 128 bits en su unidad de coma flotante, simulando as´ı una arquitectura de 128 bits. Gracias a esto empresas como IBM y Apple han invertido mucho en el desarrollo de procesadores con esta arquitectura, y como resultado tenemos hoy en d´ıa microprocesadores muy potentes como el PowerPC 970 tambi´ en conocido como G5.
21
5.
BIBLIOGRAFIA
1. ARM: The architecture of the digital world−Pagina de la comunidad. 2. Rich Miller (2010). ’Digital Universe nears a Zettabyte’. 3. PowerPC Microprocessor Family: The Programmer’s Reference Guide − Gu´ıa de refencia para programadores de PowerPC 4. Ficha de datos (Datasheet) del microprocesador PowerPC 970 5. PowerPC User Instruction Set Architecture 6. Jonathan Bartlett. Assembly language for power architecture 7. David Benham and Yu-Chung Chen. The IBM PowerPC 970fx
22