ARQUI
ARQUI
ARQUI
Docente:
Mg. Sally Torres Alvarado
2015
A
no de la Diversificacion Productiva y Fortalecimiento de la
Educacion
Indice
1. INTRODUCCION
2. 128 bits
2.1. PROCESADORES DE 128 BITS . . . . . . . . . . . . . . . . .
2.2. FUTURO DE LOS PROCESADORES DE 128 BITS . . . . . .
5
5
5
3. PowerPC
3.1. BREVE HISTORIA . . . . . . . . . . . . . .
3.2. ARQUITECTURA DE UN CPU POWER PC
3.2.1. Diagrama de Bloques . . . . . . . . . .
3.2.2. Procesador de Decisiones . . . . . . . .
3.2.3. Unidad de Enteros . . . . . . . . . . .
3.2.4. Unidad de Punto Flotante . . . . . . .
3.2.5. Unidad de Gestion de Memoria(MMU)
3.2.6. Unidad de Memoria . . . . . . . . . . .
3.2.7. Memoria Cache . . . . . . . . . . . . .
3.2.8. Sumario de Registros . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
. 7
. 8
. 8
. 9
. 9
. 9
. 9
. 9
. 10
. 11
4. CONCLUSIONES
21
5. BIBLIOGRAFIA
22
Indice de figuras
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
.
.
.
.
.
.
.
.
.
.
6
7
8
10
10
11
12
13
13
20
Indice de cuadros
1.
2.
3.
4.
5.
6.
7.
. 14
. 15
. 15
. 16
. 17
. 18
. 19
1.
INTRODUCCION
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. Teoricamente, deberan reconocer hasta 5 mil billones de yottabytes 2 de memoria
RAM.
2.1.
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 dgitos binarios de 128 bits de longitud.
No hay actualmente una corriente dominante de procesadores de proposito 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 utilizo registros de punto flotante de 128 bits. Muchas
CPUs como el Pentium y el PowerPC tenan registros de vectores de 128 bits
utilizados para almacenar varios n
umeros peque
nos, como 4 n
umeros de 32
bits en coma flotante. Una instruccion 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 mas una opcion de mejora que una caracterstica estandar. Desde los registros del VAX que eran de 32 bits de ancho,
ahora una operacion 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 aritmetica
decimal.
2.2.
Unidad Aritmetica L
ogica
1yottabyte= 1024 bytes.
3 64
2 , aproximadamente 1,8x1019
4
Por ejemplo: IBM System z9 Enterprise Class
2
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
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.
3.2.
3.2.1.
3.2.2.
Procesador de Decisiones
Unidad de Enteros
Realiza operaciones aritmeticas, logicas y de campos de bits sobre enteros.Contiene 32 registros GPR y un registro XER. La IU se ocupa de todos los
calculos de direcciones para las distintas unidades de ejecucion.
3.2.4.
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 precision simple y doble.
3.2.5.
Unidad de Gesti
on de Memoria(MMU)
Unidad de Memoria
3.2.7.
Memoria Cach
e
10
3.2.8.
Sumario de Registros
La imagen (ver figura 6) muestra la representacion grafica de todo el conjunto 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 instruccion 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 anomala de nivel de Supervisor. Algunas
SPRs son implementaciones especficas. En algunos casos, no todos los bits
registrados son implementados en el hardware.
Cuando un microprocesador PowerPC detecta una codificacion de un SPR
que no este definida, este puede o bien tomarlo como una anomala en el
programa (si el bit 0 de la codificacion SPR esta definida) o puede tratar la
instruccion como una no operaciones ( si el bit 0 de la codificacion SPR no
esta definida).
Cabe recalcar que los registros de proposito general (GPRs), registro de
enlace (LR), registro de conteo (CTR), registro de estado de maquina (MSR),
registro de direccion de datos (DAR), SDR1, registros de guardado y restauracion 0 y 1 (SRR0 y SRR1), SPRG1-SPRG3 , y el registro de punto de interrupcion de direccion 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 continuacion 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 proposito 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 proposito general son
accedidos como registros fuente y de destino en la sintaxis de las instrucciones.
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 instruccion que interpreta el contenido de un registro de punto flotante como un
12
Bits
0
Nombre
SO
OV
CA
Descripci
on
Summary Overflow(Resumen de desbordamiento).
El bit SO se establece cuando una instruccion establece el bit de desbordamiento.
Overflow(Desbordamiento).El bot OV se establece
para indicar que un desbordamiento ha ocurrido
durante la ejecucion de una instruccion.
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.
324
2531
Contador
de Byte
Reservado
Este campo especifica el n
umero de bytes a ser
transferidos por una instruccion LSWX o STSWX
14
Bits disponibles
0-31
0-31
0-31
0-31 para cada registro
0-31
0-63 para cada registro
0-31
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
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 logico
cmpli / cmplwi
Comparar logico 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 actualizacion
lbzux
Cargar byte y cero con actualizacion indexada
lbzx
Cargar byte y cero indexados
lha
Cargar media palabra algebraica
lhau
Cargar media palabra algebraica con actualizacion
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 actualizacion 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 actualizacion
lhzux
Cargar media palabra y cero
con actualizacion 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
actualizacion
lwzux
Cargar palabra y cero con
actualizacion indexada
lwzx
Cargar palabra y cero indexado
mcrf
Mover campo de registro de
condicion
mcrxr
Mover hacia registro de condicion desde XER
mfcr
Mover desde registro de
condicion
mfspr / mfxer / mflr / mfctr Mover desde registro de
proposito especial
mftb
Mover desde base de tiempo
mtcrf
Mover hacia campos de registro de condicion
mtspr / mtxer / mtlr / mt- Mover hacia registro de
ctr
proposito especial
mulhw / mulhw.
Multiplicar palabra alta
Instrucci
on
mulhwu
Nemotecnia
mulhwu / mulhwu.
mulli
mullw
mulli
mullw / mullw. / mullwo /
mullwo.
nand / nand.
neg / neg. / nego / nego.
nor /nor.
or / or.
orc / orc.
ori
oris
rlwimi / rlwimi. / inslwi /
insrwi
nand
neg
nor
or
orc
ori
oris
rlwimi
rlwinm
rlwnm
slw
sraw
srawi
srw
stb
stbu
stbux
stbx
sth
Descripci
on
Multiplicar palabra alta sin
signo
Multiplicar principal bajo
Multiplicar palabra baja
NAND
Negacion
NOR
OR
OR con complemento
OR principal
OR principal desplazado
Rotar palabra principal hacia la izquierda luego la
mascara insertada
rlwinm / rlwinm. / extlwi / Rotar palabra principal haextrwi rotlwi / rotrwi / sl- cia la izquierda luego AND
wi / srwi / clrlwi / clrrwi / con mascara
clrlslwi
rlwnm / rlwnm. / rotlw
Rotar palabra de la izquierda luego AND con mascara
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 actualizacion
stbux
Almacenar byte con actualizacion indexado
stbx
Almacenar byte indexado
sth
Almacenar media palabra
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 actualizacion
sthux
Almacenar media palabra
con actualizacion 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 actualizacion
stwux
Almacenar palabra con actualizacion 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
19
20
4.
CONCLUSIONES
21
5.
BIBLIOGRAFIA
22