SlideShare una empresa de Scribd logo
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 1 Dpt. Arquitectura de Computadores
Arquitectura del Conjunto de Instrucciones (ISA)
 Clasificación de las arquitecturas ISA
 Modos de direccionamiento
 Operaciones en el conjunto de instrucciones
 Tipo y tamaño de los operandos
 Codificación del conjunto de instrucciones
 El papel de los compiladores
 La arquitectura DLX
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 2 Dpt. Arquitectura de Computadores
Clasificación de las arquitecturas ISA
 El nivel ISA es la parte de la máquina visible al programador en lenguaje
ensamblador o al compilador.
 Discutiremos la gran variedad de alternativas de diseño de este nivel
 Cuatro tipos de almacenamiento interno en la CPU:
 Arquitecturas antiguas basadas en pila o en acumulador
 Actualmente: Registro-Memoria (CISC) o Load-Store (RISC)
4 Con registros de propósito general (RPG) no se impone orden al calcular (con la pila sí)
4 RPG se usan para almacenar variables y reducen el tráfico con memoria
Pila Acumulador Registro-Memoria (RPG) Load-Store (RPG)
Push A Load A Load R1,A Load R1,A
Push B Add B Add R1,B Load R2,B
Add Store C Store C,R1 Add R3,R1,R2
Pop C Store C,R3
Tabla 1: Secuencia compilada par la instrucción C=A+B
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 3 Dpt. Arquitectura de Computadores
Clasificación de las Arquitecturas ISA
 Cuantos más registros RPG mejor. Se usan para evaluar expresiones,
pasar parámetros a funciones y el resto para almacenar variables
 Clasificación de arquitecturas RPG según el número de operandos (2 ó 3)
y el número de éstos que pueden residir en memoria (de 0 a 3):
 Conclusión: Usar RPG en el modo (0,3)
nº de direcciones de
memoria
máx. nº de
operandos
Ejemplos
0 3 SPARC, MIPS, HP-PA, PowerPC, Alpha
1 2 Intel 80x86, Motorola 68000
2 2 VAX
3 3 VAX
Tabla 2: Posibles combinaciones de nº de operandos y operandos en memoria
Tipo Ventajas Desventajas
Reg-Reg (0,3) Simple, formato de inst. fijo Nº de inst. crece.
Reg-Mem (1,2) Acceso a datos sin carga previa Uno de los operandos se machaca con el result.
Mem-Mem (3,3) Programas compactos. No consume registros Formatos variables. Más tráfico con memoria.
Tabla 3: Ventajas y desventajas de 3 arquitecturas comunes: (nº de direcciones de mem., nº de operandos)
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 4 Dpt. Arquitectura de Computadores
Modos de direccionamiento
 ¿Cómo se interpreta una dirección de memoria?
4 Little Endian: El byte con dirección “xxxx...xx00” es el menos significativo (Intel)
4 Big Endian: El byte con dirección “xxxx...xx00” es el más significativo (Motorola, SPARC, DLX)
4 Los datos deben estar alineados: Si es de 4 bytes la dirección debe acabar en 00
 ¿Cómo especificar la dirección efectiva del operando?
Tipo Ejemplo Significado Cuando usarlo
Registro Add R4,R3 R4-R4+R3 Con valores en registro
Inmediato Add R4,#3 R4-R4+3 Constantes
Directo o absoluto Add R4,(100) R4-R4+Mem(100) Acceso a datos estáticos
Indirecto (deferred) Add R4,(R1) R4-R4+Mem(R1) Acceso mediante punteros
Relativo (desplaza.) Add R4,100(R1) R4-R4+Mem(R1+100) Acceso a variables locales
Indexado Add R4,(R1+R2) R4-R4+Mem(R1+R2) Acceso a arrays
Indirecto Memoria Add R4,@(R1) R4-R4+Mem(Mem(R1)) R1 es un puntero a un puntero
Escalado Add R4,6(R1)[R2] R4-R4+Mem(6+R1+R2xd); Recorrido de arrays
Tabla 4: Algunos modos de direccionamiento comunes (El valor de “d” depende del tipo de dato)
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 5 Dpt. Arquitectura de Computadores
Modos de direccionamiento
 El direccionamiento directo a registro se usa en el 50% de las instrucc.
 El porcentaje de uso de los restantes modos de direccionamiento es:
 El modo inmediato y desplazamiento dominan en porcentaje de uso
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 6 Dpt. Arquitectura de Computadores
Modos de direccionamiento
 ¿Cuál debe ser el rango del desplazamiento en el modo de dir. con desp.?
 El eje x es el log2 del desplazamiento (o sea, el nº de bits del campo desp.)
4 12 bits capturan el 75% de los desplazamientos. 16 bits capturan el 99%.
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 7 Dpt. Arquitectura de Computadores
Modos de direccionamiento
 ¿Cuál debe ser el tamaño del campo para el operando inmediato?
 Del 50% al 70% caben en 8 bits. Del 75% al 80% caben en 16 bits
 Conclusiones:
4 Esperamos disponer de direccionamiento inmediato, indirecto y con desplazamiento (relativo)
4 Los campos de desplazamiento y de operando inmediato deben tener 16 bits
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 8 Dpt. Arquitectura de Computadores
Operaciones en el conjunto de instrucciones
 Tipos de instrucciones:
4 Movimiento de datos, Aritméticas (incluye enteras, FP, decimal, cadena y gráficos), lógicas, control.
 En general, las instrucciones más simples son las más usadas:
Posición Instrucción 80x86 Porcentaje de uso
1 Load 22%
2 Salto condicional 20%
3 Comparación 16%
4 Store 12%
5 add 8%
6 and 6%
7 sub 5%
8 Move Reg-Reg 4%
9 call 1%
10 return 1%
Total 96%
Tabla 5: Las 10 inst. más usadas en el 80x86 para cinco programas del SPECint92
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 9 Dpt. Arquitectura de Computadores
Operaciones en IS: Control
 Distinguimos cuatro tipos de instrucciones de control:
4 Salto condicional (branch), Salto incondicional (jump)
4 Procedimientos: Llamada (call) y retorno (return)
 Frecuencia relativa de cada uno de los tipos:
 La dirección destino se especifica como
4 Un desplazamiento a sumar al PC (consume pocos bits y permite relocalizar el código)
4 El contenido de un registro (útil para implementar “case” o funciones virtuales en C++)
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 10 Dpt. Arquitectura de Computadores
Operaciones del IS: Control
 En direccionamiento relativo a PC ¿cuántos bits necesitamos?
4 Los saltos más frecuentes necesitan 2 o 3 bits (de 3 a 7 instrucciones más lejos)
 Tres formas de especificar la condición:
4 Código de Condición (CC) en registro de estado (SR). En CISC. El SR impide reordenar instrucciones.
4 Registro de condición. Se testea un registro cualquiera. Consume un registro, pero es muy simple.
4 Comparación y salto unificados. Reduce N, pero es demasiado trabajo para incluirlo en 1 instrucción
 El mayor porcentaje de comparaciones son del tipo igual/no igual (con
cero en un gran número de casos).
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 11 Dpt. Arquitectura de Computadores
Operaciones del IS: Control
 En las llamadas a procedimiento al menos hay que salvar la dir. de
retorno, y normalmente los registros que se vayan a utilizar
 Dos alternativas:
4 Salva el que llama: Antes de llamar se salvan los registros que necesitas despues del retorno
4 Salva el llamado: La rutina llamada salva conservativamente cualquier registro que utilece
 La dirección de retorno se suele guardar en un registro
4 El return se implementa como un salto incondicional al contenido de ese registro
 Conclusiones:
4 Importancia de las instrucciones simples: load, store, add, sub, jump, branc, call y return
4 El campo dirección de salto debe tener al menos 8 bits
4 Permitir salto relativo al PC o por registro
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 12 Dpt. Arquitectura de Computadores
Tipo y tamaño de los operandos
 El tipo de los datos se incluye en el código de operación (CO)
 Tipos comunes:
4 Caracter (1 byte), half word (16 bits), word (32 bits), FP simple (1 word), FP doble (2 word)
4 Arquitecturas para aplicaciones no numéricas incluyen BCD
 Frecuencia de uso de los distintos tipos en el SPECint 92
 No implementar operaciones ni transferencias para byte o half-word
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 13 Dpt. Arquitectura de Computadores
Codificación del conjunto de instrucciones
 Instrucción con información del CO y operandos
 En arquitecturas Load-Store el modo de dir. se incluye en CO
 Compromisos entre:
4 El deseo de tener el mayor número posible de operandos y modos de direccionamiento
4 El impacto del tamaño de los campos para registros y modos de direccionamiento
4 Tener un formato de instrucciones de tamaño fijo y múltiplo de byte
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 14 Dpt. Arquitectura de Computadores
Codificación del conjunto de instrucciones
 El sistema de codificación fija tiene:
 Ventajas:
4 Tamaño único para todas las instrucciones
4 Etapa de decodificación sencilla con un tiempo de decodificación constante
 Inconvenientes:
4 Aplicable cuando hay pocos modos de direccionamiento y pocas direcciones de memoria
4 Las instrucciones consumen más bits que en el formato variable
 Ejemplo de codificación variable en el VAX:
addl3 r1,737(r2),(r3)
4 addl3 significa: suma de 32 bits con tres operandos. El CO consume 1 byte
4 r1 indica el registro destino. Ocupa 1 byte (4 bits para el modo de dir. y 4 bits con el nº de reg)
4 737(r2) ocupa 3 bytes: mod. dir (4 bits); nº de reg. (4 bits); desplazamiento 732 (2 bytes)
4 (r3) ocupa 1 byte (4+4 bits)
4 En total la instrucción ocupa 6 bytes y requiere 3 accesos a memoria (1 inst + 2 operandos)
 Las longitud de las instrucciones del VAX varía entre 1 y 53 bytes!!
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 15 Dpt. Arquitectura de Computadores
El papel del compilador
 Salvo excepciones, actualmente se programa en lenguajes de alto nivel
 Estructura del compilador:
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 16 Dpt. Arquitectura de Computadores
Arquitectura del DLX
 32 registros de propósito general (RPG)
4 R0, R1,..., R31. De 32 bits.
4 R0 siempre contiene el valor 0.
 32 registros FP (FPR)
4 F0,F1,...,F31. De simple precisión (32 bits)
4 F0,F2,...,F30. De doble precisión (64 bits)
 Tipos de datos de 32 bits (word), 16 bits
(half-word) y 8 bits (byte). FP simp. y dob.
 Byte y half-word se almacenan en RPG
rellenando el registro con 0’s o ext. signo.
 Modos de direccionamiento
4 inmediato
4 desplazamiento. El direccionamiento indirecto a reg. se consigue poniendo desplazamiento 0. El direc-
cionamiento absoluto se simula usando el registro R0 y poniendo la dirección absoluta en el campo desp.
 Big Endian. 32 bits de direc. Todos los accesos deben estar alineados
MAR
MDR
PC
IR
@ datos
datos
@ inst.
inst
MEMORIA
REGISTROS
ALU
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 17 Dpt. Arquitectura de Computadores
Arquitectura del DLX
LENGUAJE MÁQUINA
 Instrucciones de cálculo (registro-registro).
4 OP Rd , Rf1 , Rf2 = Rd - Rf1 OP Rf2
 Instrucciones de acceso a memoria (palabra, media palabra y byte).
4 LW Rd , #X(Rf1) = Rd - Mem[X+Rf1]
4 SW #X(Rf1), Rd = Mem[X+Rf1] - Rd
 Formato de las instrucciones
Opcode
6 5 5 16Inst. tipo I
Opcode rf2rf1 func.
Inst. tipo R
rd
6 5 5 5 11
rf1 rd inmediato
Opcode
6 26Inst. tipo J
offset sumado al PC
· Load y Stores con desp: LW rd, Inm(rf1) o SW Inm(rf1), rd
· Todos los dir inmediatos: rd - rf1 op. inmediato
· Salto Condicional: BEQZ rf1, inmediato
· Salto por registro: rd=0, rf1=destino, inmediato=0
· Operaciones reg-reg: rd - rf1 func. rf2
· El campo func. codifica la operación a realizar: add, sub,...
· Movimiento entre reg. y lec/esc de registros especiales
· Salto y salto con enlace (para llamada a subrrutina)
· Trap y retorno de excepción
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 18 Dpt. Arquitectura de Computadores
Arquitectura del DLX
INSTRUCCIONES DE LOAD/STORE
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 19 Dpt. Arquitectura de Computadores
Arquitectura del DLX
EJEMPLOS DE INSTRUCCIONES ARITMÉTICO/LÓGICAS
 MOV R4,R3 se implementa mediante ADD R4,R3,R0
 MOV R4,#3 se implementa como ADDI R4,R0,#3 (lo llamamos LI R4,#3)
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 20 Dpt. Arquitectura de Computadores
Arquitectura del DLX
INSTRUCCIONES TÍPICAS DE CONTROL
 JAL se utiliza para saltar a subrutina. JALR cuando la dir. esta en un reg.
 Instrucciones en FP con sufijo F o D:
4 ADDF, ADDD, SUBF, SUBD, MULTF, MULTD, DIVF, DIVD
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 21 Dpt. Arquitectura de Computadores
Etapas en las instrucciones del DLX
 Fases de las instrucciones:
 Otras posibilidades
bus d/le alu esmem
aritmética entera
1.- búsqueda
2.- dec. / lectura reg.
3.- ALU
4.- escritura registro
acceso a memoria
1.- búsqueda
2.- dec. / lectura reg.(sólo loads)
3.- cálculo de la dirección efectiva
4.- acceso a memoria
5.- escritura en registro
bus d/le alu es bus d/le @ef esmem
alu
@ef
bus d/le @ef esmem
alu
bus d/le esmem
alu
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 22 Dpt. Arquitectura de Computadores
Implementación simple del DLX
 Búsqueda de instrucción
4 IR - Mem(PC)
4 NPC - PC + 4
 Decodificación/búsqueda en registros
4 A - Regs(IR6..10) ; (rf1)
4 B - Regs(IR11..15) ; (rd en tipo I o rf2 en tipo R)
4 Inm - ((IR16)16
## IR16..31); (campo inmediato de tipo I con extensión de signo)
 Ejecución/cálculo de dirección efectiva
4 Referencia a memoria: ALUOutput - A op Inm (Tipo I, cálculo de la dirección efectiva)
4 ALU reg-reg: ALUOutput - A func B (Tipo R)
4 ALU reg-inm: ALUOutput - A op Inm (Tipo I)
4 Branch: ALUOutput - NPC + Inm; y Cond - (A op 0); (Tipo I)
T El registro A (que contiene rf1) se chequea para ver si se toma o no el salto
T La operación de comparación op viene del CO. En BEQZ es “==”
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 23 Dpt. Arquitectura de Computadores
Implementación simple del DLX
 Acceso a memoria
4 Referencia a memoria: LMD - Mem(ALUOutput) (en LOAD) ó Mem(ALUOutput) -B; (en STORE)
4 Branch: if (Cond) PC - ALUOutput else PC - NPC;
 Escritura (Write-Back)
4 ALU reg-reg: Regs(IR16..20) - ALUOutput; (Tipo R, rd - ALUOutput)
4 ALU reg-inm: Regs(IR11..15) - ALUOutput; (Tipo I, rd - ALUOutput)
4 LOAD: Regs(IR11..15) - LMD; (Tipo I, rd - LMD)
CONCLUSIÓN
 Store, Branch y Jump necesitan 4 ciclos. Las demas instrucciones 5 ciclos
 Una simple máquina de estados finitos puede realizar el control
 Opción: bajar la frec. de reloj e implementar todo en un único ciclo largo
4 Perderíamos el ciclo de ahorro en los branch y store
4 Tendríamos que duplicar unidades funcionales que en la implem. multiciclo se pueden compartir.
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 24 Dpt. Arquitectura de Computadores
Implementación simple del DLX
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 25 Dpt. Arquitectura de Computadores
Implementación simple del DLX
Instrucción Tipo BI DEC ALU MEM ESC N˚ ck
ADD R1,R2,R3 R
IR-(PC)
NPC-PC+4
A-R2
B-R3
Inm-IR16..31
AO-A+B Nada
(PC-NPC)
R1-AO 5(4)
LW R1,10(R3) I “
A-R3
B-R1
Inm-10
AO-A+Inm LMD-Mem(AO)
PC-NPC
R1-LMD 5
SW 10(R3),R1 I “ “ “ Mem(AO)-B
PC-NPC
Nada 4
ADDI R1,R2,#3 I “
A-R2
B-R1
Inm-3
AO-A+Inm Nada
(PC-NPC)
R1-AO 5(4)
BEQZ R1,dir I “ A-R1
Inm-dir
AO-NPC+Inm
R1==0?
PC-AO Nada 4
JR R1 I “
A-R1
B-0
Inm-0
AO-R1+B PC-AO Nada 4(3)
J dir J “ Inm-dir AO-Inm+NPC PC-AO Nada 4(3)
JAL dir J “ Inm-dir AO-Inm+NPC PC-AO
R31-NPC
Nada 4(3)
Tabla 6: Ejemplos de instrucciones
Arquitectura de Computadores Universidad de Málaga
Procesadores segmentados 26 Dpt. Arquitectura de Computadores
Comparación CISC (VAX) versus RISC (MIPS)
 NMIPS = 2 NVAX pero a cambio CPIVAX = 6 CPIMIPS
 Resultado: El MIPS 2000 tiene un rendimiento 3 veces mayor al VAX 8700

Más contenido relacionado

La actualidad más candente

C P U Uniciclo
C P U  UnicicloC P U  Uniciclo
C P U Uniciclo
Stefano Salvatori
 
Definición de registro de procesador
Definición de registro de procesadorDefinición de registro de procesador
Definición de registro de procesador
Cirenio Santos Hernandez
 
Programacion c microcontroladores
Programacion c microcontroladoresProgramacion c microcontroladores
Programacion c microcontroladores
Jose Ascimani Tovias
 
Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)
Videoconferencias UTPL
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086
Nazue Rap
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
Santiago Rozo
 
Multiciclo
MulticicloMulticiclo
Multiciclo
Stefano Salvatori
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
Ivan Porras
 
Intro
IntroIntro
Estructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorEstructura y funcionamiento del procesador
Estructura y funcionamiento del procesador
Jose Diaz Silva
 
Ciclos de instrucciones 8085
Ciclos de instrucciones 8085Ciclos de instrucciones 8085
Ciclos de instrucciones 8085
Edwin Eber Belduma Morocho
 
Logica digital
Logica digitalLogica digital
Estructura y funcionamiento del procesador - parte 2
Estructura y funcionamiento del procesador -  parte 2Estructura y funcionamiento del procesador -  parte 2
Estructura y funcionamiento del procesador - parte 2
Jose Diaz Silva
 
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Mari Cruz
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
Silvia Puma Arratia
 
Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
Gloria Abundez
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu reales
Kikivan Cortez
 
Registros de los Microprocesadores
Registros de los MicroprocesadoresRegistros de los Microprocesadores
Registros de los Microprocesadores
josep urdaneta
 

La actualidad más candente (19)

C P U Uniciclo
C P U  UnicicloC P U  Uniciclo
C P U Uniciclo
 
Definición de registro de procesador
Definición de registro de procesadorDefinición de registro de procesador
Definición de registro de procesador
 
Programacion c microcontroladores
Programacion c microcontroladoresProgramacion c microcontroladores
Programacion c microcontroladores
 
Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)Arquitectura de Computadores (II Bimestre)
Arquitectura de Computadores (II Bimestre)
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Multiciclo
MulticicloMulticiclo
Multiciclo
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Intro
IntroIntro
Intro
 
Estructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorEstructura y funcionamiento del procesador
Estructura y funcionamiento del procesador
 
Ciclos de instrucciones 8085
Ciclos de instrucciones 8085Ciclos de instrucciones 8085
Ciclos de instrucciones 8085
 
Logica digital
Logica digitalLogica digital
Logica digital
 
Estructura y funcionamiento del procesador - parte 2
Estructura y funcionamiento del procesador -  parte 2Estructura y funcionamiento del procesador -  parte 2
Estructura y funcionamiento del procesador - parte 2
 
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu reales
 
Registros de los Microprocesadores
Registros de los MicroprocesadoresRegistros de los Microprocesadores
Registros de los Microprocesadores
 

Similar a Arquitectura isa 1

Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86
ssusere538f7
 
Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86
ssusere538f7
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
oscar859
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
thegrim85
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
zohhy Arias
 
Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIGuía de arquitectura de computadoras II
Guía de arquitectura de computadoras II
Mari Cruz
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Mari Cruz
 
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
dave
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Manuel Fernandez Barcell
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
lambda4444
 
Guia compilador c18 microcontrolador
Guia compilador c18 microcontroladorGuia compilador c18 microcontrolador
Guia compilador c18 microcontrolador
Maria Leon
 
El Procesador o CPU 3
El Procesador o CPU 3El Procesador o CPU 3
El Procesador o CPU 3
Jorge Pulido
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corte
Sebastian Gonzalez
 
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauaraAc iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
zumichibie
 
Ts11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzTs11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruz
Isaak Alvarez Krux
 
Instituto tecologico de tuxtla gutierez
Instituto tecologico de tuxtla  gutierezInstituto tecologico de tuxtla  gutierez
Instituto tecologico de tuxtla gutierez
Isaak Alvarez Krux
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadora
Mauricio Hernandez
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
Alberto Jimenez
 
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptxU02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
GUIDOCHAMBILLACONDOR1
 
Arquitectura de computadores juana becerra
Arquitectura de computadores juana becerraArquitectura de computadores juana becerra
Arquitectura de computadores juana becerra
Juanita Juanita
 

Similar a Arquitectura isa 1 (20)

Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86
 
Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86Arquirectura y programacion de un microprocesador x86
Arquirectura y programacion de un microprocesador x86
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
 
Los procesadores
Los procesadoresLos procesadores
Los procesadores
 
Guía de arquitectura de computadoras II
Guía de arquitectura de computadoras IIGuía de arquitectura de computadoras II
Guía de arquitectura de computadoras II
 
Guía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y RespuestasGuía de arquitectura de computadoras II-Preguntas y Respuestas
Guía de arquitectura de computadoras II-Preguntas y Respuestas
 
Microcontroladores ASM
Microcontroladores ASMMicrocontroladores ASM
Microcontroladores ASM
 
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
Tema 1: Procesadores segmentados.Tema 1: Procesadores segmentados.
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Guia compilador c18 microcontrolador
Guia compilador c18 microcontroladorGuia compilador c18 microcontrolador
Guia compilador c18 microcontrolador
 
El Procesador o CPU 3
El Procesador o CPU 3El Procesador o CPU 3
El Procesador o CPU 3
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corte
 
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauaraAc iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
Ac iinf u1_arq_basicatiposarq_peñalozadenissezuñigalauara
 
Ts11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruzTs11 tiltepec isaac _alvarez_cruz
Ts11 tiltepec isaac _alvarez_cruz
 
Instituto tecologico de tuxtla gutierez
Instituto tecologico de tuxtla  gutierezInstituto tecologico de tuxtla  gutierez
Instituto tecologico de tuxtla gutierez
 
Arquitectura de la computadora
Arquitectura de la computadoraArquitectura de la computadora
Arquitectura de la computadora
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptxU02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
 
Arquitectura de computadores juana becerra
Arquitectura de computadores juana becerraArquitectura de computadores juana becerra
Arquitectura de computadores juana becerra
 

Último

Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
ronnyrocha223
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
AlvaroEduardoConsola1
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
Edgar Najera
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
DanielaLoaeza5
 
Calculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajosCalculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajos
JuanCarlos695207
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
hugodennis88
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
micoltadaniel2024
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
jemifermelgarejoaran1
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
SandyCuenca
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
JuanGavidia2
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
Carlos Pulido
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
MichaelLpezOrtiz
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
DanielMelndez19
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
KeylaArlethTorresOrt
 
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
andressalas92
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
raul958375
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
carmenquintana18
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
munozvanessa878
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
shirllyleytonm
 

Último (20)

Presentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptxPresentación- de motor a combustión -diesel.pptx
Presentación- de motor a combustión -diesel.pptx
 
Estructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegaciónEstructura de un buque, tema de estudios generales de navegación
Estructura de un buque, tema de estudios generales de navegación
 
Ducto Barras para instalaciones electricas
Ducto Barras para instalaciones electricasDucto Barras para instalaciones electricas
Ducto Barras para instalaciones electricas
 
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomomRinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
Rinitis alérgica-1.pdfuhycrbibxgvyvyjimomom
 
Calculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajosCalculo-de-Camaras-Frigorificas.pdf para trabajos
Calculo-de-Camaras-Frigorificas.pdf para trabajos
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdfEXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
EXPOSICIÓN NTP IEC 60364-1 - Orlando Chávez Chacaltana.pdf
 
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOSSISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
SISTEMA AUTOMATIZADO DE LIMPIEZA PARA ACUARIOS
 
Cargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un PuenteCargas de Cálculos Estructurales de un Puente
Cargas de Cálculos Estructurales de un Puente
 
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdfSemana 12 - Ley 29973 de las personas con discapacidad.pdf
Semana 12 - Ley 29973 de las personas con discapacidad.pdf
 
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtualSESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
SESIÓN 3 ÓXIDOS-HIDRÓXIDOS trabajo virtual
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
 
Sistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisiónSistemas eléctricos de potencia y transmisión
Sistemas eléctricos de potencia y transmisión
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
 
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptxDIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
DIAPOSITIVA DE LA NORMA ISO 22000 EXPOSICI�N.pptx
 
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
Libro Epanet, guía explicativa de los pasos a seguir para analizar redes hidr...
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
 
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICAPRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
PRIMERA Y SEGUNDA LEY DE LA TERMODINÁMICA
 
tipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdftipos de energias: la Energía Radiante.pdf
tipos de energias: la Energía Radiante.pdf
 
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-BoshProceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
Proceso de obtenciòn de nitrogeno por el metodo Haber-Bosh
 

Arquitectura isa 1

  • 1. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 1 Dpt. Arquitectura de Computadores Arquitectura del Conjunto de Instrucciones (ISA) Clasificación de las arquitecturas ISA Modos de direccionamiento Operaciones en el conjunto de instrucciones Tipo y tamaño de los operandos Codificación del conjunto de instrucciones El papel de los compiladores La arquitectura DLX Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 2 Dpt. Arquitectura de Computadores Clasificación de las arquitecturas ISA El nivel ISA es la parte de la máquina visible al programador en lenguaje ensamblador o al compilador. Discutiremos la gran variedad de alternativas de diseño de este nivel Cuatro tipos de almacenamiento interno en la CPU: Arquitecturas antiguas basadas en pila o en acumulador Actualmente: Registro-Memoria (CISC) o Load-Store (RISC) 4 Con registros de propósito general (RPG) no se impone orden al calcular (con la pila sí) 4 RPG se usan para almacenar variables y reducen el tráfico con memoria Pila Acumulador Registro-Memoria (RPG) Load-Store (RPG) Push A Load A Load R1,A Load R1,A Push B Add B Add R1,B Load R2,B Add Store C Store C,R1 Add R3,R1,R2 Pop C Store C,R3 Tabla 1: Secuencia compilada par la instrucción C=A+B
  • 2. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 3 Dpt. Arquitectura de Computadores Clasificación de las Arquitecturas ISA Cuantos más registros RPG mejor. Se usan para evaluar expresiones, pasar parámetros a funciones y el resto para almacenar variables Clasificación de arquitecturas RPG según el número de operandos (2 ó 3) y el número de éstos que pueden residir en memoria (de 0 a 3): Conclusión: Usar RPG en el modo (0,3) nº de direcciones de memoria máx. nº de operandos Ejemplos 0 3 SPARC, MIPS, HP-PA, PowerPC, Alpha 1 2 Intel 80x86, Motorola 68000 2 2 VAX 3 3 VAX Tabla 2: Posibles combinaciones de nº de operandos y operandos en memoria Tipo Ventajas Desventajas Reg-Reg (0,3) Simple, formato de inst. fijo Nº de inst. crece. Reg-Mem (1,2) Acceso a datos sin carga previa Uno de los operandos se machaca con el result. Mem-Mem (3,3) Programas compactos. No consume registros Formatos variables. Más tráfico con memoria. Tabla 3: Ventajas y desventajas de 3 arquitecturas comunes: (nº de direcciones de mem., nº de operandos) Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 4 Dpt. Arquitectura de Computadores Modos de direccionamiento ¿Cómo se interpreta una dirección de memoria? 4 Little Endian: El byte con dirección “xxxx...xx00” es el menos significativo (Intel) 4 Big Endian: El byte con dirección “xxxx...xx00” es el más significativo (Motorola, SPARC, DLX) 4 Los datos deben estar alineados: Si es de 4 bytes la dirección debe acabar en 00 ¿Cómo especificar la dirección efectiva del operando? Tipo Ejemplo Significado Cuando usarlo Registro Add R4,R3 R4-R4+R3 Con valores en registro Inmediato Add R4,#3 R4-R4+3 Constantes Directo o absoluto Add R4,(100) R4-R4+Mem(100) Acceso a datos estáticos Indirecto (deferred) Add R4,(R1) R4-R4+Mem(R1) Acceso mediante punteros Relativo (desplaza.) Add R4,100(R1) R4-R4+Mem(R1+100) Acceso a variables locales Indexado Add R4,(R1+R2) R4-R4+Mem(R1+R2) Acceso a arrays Indirecto Memoria Add R4,@(R1) R4-R4+Mem(Mem(R1)) R1 es un puntero a un puntero Escalado Add R4,6(R1)[R2] R4-R4+Mem(6+R1+R2xd); Recorrido de arrays Tabla 4: Algunos modos de direccionamiento comunes (El valor de “d” depende del tipo de dato)
  • 3. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 5 Dpt. Arquitectura de Computadores Modos de direccionamiento El direccionamiento directo a registro se usa en el 50% de las instrucc. El porcentaje de uso de los restantes modos de direccionamiento es: El modo inmediato y desplazamiento dominan en porcentaje de uso Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 6 Dpt. Arquitectura de Computadores Modos de direccionamiento ¿Cuál debe ser el rango del desplazamiento en el modo de dir. con desp.? El eje x es el log2 del desplazamiento (o sea, el nº de bits del campo desp.) 4 12 bits capturan el 75% de los desplazamientos. 16 bits capturan el 99%.
  • 4. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 7 Dpt. Arquitectura de Computadores Modos de direccionamiento ¿Cuál debe ser el tamaño del campo para el operando inmediato? Del 50% al 70% caben en 8 bits. Del 75% al 80% caben en 16 bits Conclusiones: 4 Esperamos disponer de direccionamiento inmediato, indirecto y con desplazamiento (relativo) 4 Los campos de desplazamiento y de operando inmediato deben tener 16 bits Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 8 Dpt. Arquitectura de Computadores Operaciones en el conjunto de instrucciones Tipos de instrucciones: 4 Movimiento de datos, Aritméticas (incluye enteras, FP, decimal, cadena y gráficos), lógicas, control. En general, las instrucciones más simples son las más usadas: Posición Instrucción 80x86 Porcentaje de uso 1 Load 22% 2 Salto condicional 20% 3 Comparación 16% 4 Store 12% 5 add 8% 6 and 6% 7 sub 5% 8 Move Reg-Reg 4% 9 call 1% 10 return 1% Total 96% Tabla 5: Las 10 inst. más usadas en el 80x86 para cinco programas del SPECint92
  • 5. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 9 Dpt. Arquitectura de Computadores Operaciones en IS: Control Distinguimos cuatro tipos de instrucciones de control: 4 Salto condicional (branch), Salto incondicional (jump) 4 Procedimientos: Llamada (call) y retorno (return) Frecuencia relativa de cada uno de los tipos: La dirección destino se especifica como 4 Un desplazamiento a sumar al PC (consume pocos bits y permite relocalizar el código) 4 El contenido de un registro (útil para implementar “case” o funciones virtuales en C++) Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 10 Dpt. Arquitectura de Computadores Operaciones del IS: Control En direccionamiento relativo a PC ¿cuántos bits necesitamos? 4 Los saltos más frecuentes necesitan 2 o 3 bits (de 3 a 7 instrucciones más lejos) Tres formas de especificar la condición: 4 Código de Condición (CC) en registro de estado (SR). En CISC. El SR impide reordenar instrucciones. 4 Registro de condición. Se testea un registro cualquiera. Consume un registro, pero es muy simple. 4 Comparación y salto unificados. Reduce N, pero es demasiado trabajo para incluirlo en 1 instrucción El mayor porcentaje de comparaciones son del tipo igual/no igual (con cero en un gran número de casos).
  • 6. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 11 Dpt. Arquitectura de Computadores Operaciones del IS: Control En las llamadas a procedimiento al menos hay que salvar la dir. de retorno, y normalmente los registros que se vayan a utilizar Dos alternativas: 4 Salva el que llama: Antes de llamar se salvan los registros que necesitas despues del retorno 4 Salva el llamado: La rutina llamada salva conservativamente cualquier registro que utilece La dirección de retorno se suele guardar en un registro 4 El return se implementa como un salto incondicional al contenido de ese registro Conclusiones: 4 Importancia de las instrucciones simples: load, store, add, sub, jump, branc, call y return 4 El campo dirección de salto debe tener al menos 8 bits 4 Permitir salto relativo al PC o por registro Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 12 Dpt. Arquitectura de Computadores Tipo y tamaño de los operandos El tipo de los datos se incluye en el código de operación (CO) Tipos comunes: 4 Caracter (1 byte), half word (16 bits), word (32 bits), FP simple (1 word), FP doble (2 word) 4 Arquitecturas para aplicaciones no numéricas incluyen BCD Frecuencia de uso de los distintos tipos en el SPECint 92 No implementar operaciones ni transferencias para byte o half-word
  • 7. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 13 Dpt. Arquitectura de Computadores Codificación del conjunto de instrucciones Instrucción con información del CO y operandos En arquitecturas Load-Store el modo de dir. se incluye en CO Compromisos entre: 4 El deseo de tener el mayor número posible de operandos y modos de direccionamiento 4 El impacto del tamaño de los campos para registros y modos de direccionamiento 4 Tener un formato de instrucciones de tamaño fijo y múltiplo de byte Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 14 Dpt. Arquitectura de Computadores Codificación del conjunto de instrucciones El sistema de codificación fija tiene: Ventajas: 4 Tamaño único para todas las instrucciones 4 Etapa de decodificación sencilla con un tiempo de decodificación constante Inconvenientes: 4 Aplicable cuando hay pocos modos de direccionamiento y pocas direcciones de memoria 4 Las instrucciones consumen más bits que en el formato variable Ejemplo de codificación variable en el VAX: addl3 r1,737(r2),(r3) 4 addl3 significa: suma de 32 bits con tres operandos. El CO consume 1 byte 4 r1 indica el registro destino. Ocupa 1 byte (4 bits para el modo de dir. y 4 bits con el nº de reg) 4 737(r2) ocupa 3 bytes: mod. dir (4 bits); nº de reg. (4 bits); desplazamiento 732 (2 bytes) 4 (r3) ocupa 1 byte (4+4 bits) 4 En total la instrucción ocupa 6 bytes y requiere 3 accesos a memoria (1 inst + 2 operandos) Las longitud de las instrucciones del VAX varía entre 1 y 53 bytes!!
  • 8. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 15 Dpt. Arquitectura de Computadores El papel del compilador Salvo excepciones, actualmente se programa en lenguajes de alto nivel Estructura del compilador: Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 16 Dpt. Arquitectura de Computadores Arquitectura del DLX 32 registros de propósito general (RPG) 4 R0, R1,..., R31. De 32 bits. 4 R0 siempre contiene el valor 0. 32 registros FP (FPR) 4 F0,F1,...,F31. De simple precisión (32 bits) 4 F0,F2,...,F30. De doble precisión (64 bits) Tipos de datos de 32 bits (word), 16 bits (half-word) y 8 bits (byte). FP simp. y dob. Byte y half-word se almacenan en RPG rellenando el registro con 0’s o ext. signo. Modos de direccionamiento 4 inmediato 4 desplazamiento. El direccionamiento indirecto a reg. se consigue poniendo desplazamiento 0. El direc- cionamiento absoluto se simula usando el registro R0 y poniendo la dirección absoluta en el campo desp. Big Endian. 32 bits de direc. Todos los accesos deben estar alineados MAR MDR PC IR @ datos datos @ inst. inst MEMORIA REGISTROS ALU
  • 9. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 17 Dpt. Arquitectura de Computadores Arquitectura del DLX LENGUAJE MÁQUINA Instrucciones de cálculo (registro-registro). 4 OP Rd , Rf1 , Rf2 = Rd - Rf1 OP Rf2 Instrucciones de acceso a memoria (palabra, media palabra y byte). 4 LW Rd , #X(Rf1) = Rd - Mem[X+Rf1] 4 SW #X(Rf1), Rd = Mem[X+Rf1] - Rd Formato de las instrucciones Opcode 6 5 5 16Inst. tipo I Opcode rf2rf1 func. Inst. tipo R rd 6 5 5 5 11 rf1 rd inmediato Opcode 6 26Inst. tipo J offset sumado al PC · Load y Stores con desp: LW rd, Inm(rf1) o SW Inm(rf1), rd · Todos los dir inmediatos: rd - rf1 op. inmediato · Salto Condicional: BEQZ rf1, inmediato · Salto por registro: rd=0, rf1=destino, inmediato=0 · Operaciones reg-reg: rd - rf1 func. rf2 · El campo func. codifica la operación a realizar: add, sub,... · Movimiento entre reg. y lec/esc de registros especiales · Salto y salto con enlace (para llamada a subrrutina) · Trap y retorno de excepción Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 18 Dpt. Arquitectura de Computadores Arquitectura del DLX INSTRUCCIONES DE LOAD/STORE
  • 10. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 19 Dpt. Arquitectura de Computadores Arquitectura del DLX EJEMPLOS DE INSTRUCCIONES ARITMÉTICO/LÓGICAS MOV R4,R3 se implementa mediante ADD R4,R3,R0 MOV R4,#3 se implementa como ADDI R4,R0,#3 (lo llamamos LI R4,#3) Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 20 Dpt. Arquitectura de Computadores Arquitectura del DLX INSTRUCCIONES TÍPICAS DE CONTROL JAL se utiliza para saltar a subrutina. JALR cuando la dir. esta en un reg. Instrucciones en FP con sufijo F o D: 4 ADDF, ADDD, SUBF, SUBD, MULTF, MULTD, DIVF, DIVD
  • 11. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 21 Dpt. Arquitectura de Computadores Etapas en las instrucciones del DLX Fases de las instrucciones: Otras posibilidades bus d/le alu esmem aritmética entera 1.- búsqueda 2.- dec. / lectura reg. 3.- ALU 4.- escritura registro acceso a memoria 1.- búsqueda 2.- dec. / lectura reg.(sólo loads) 3.- cálculo de la dirección efectiva 4.- acceso a memoria 5.- escritura en registro bus d/le alu es bus d/le @ef esmem alu @ef bus d/le @ef esmem alu bus d/le esmem alu Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 22 Dpt. Arquitectura de Computadores Implementación simple del DLX Búsqueda de instrucción 4 IR - Mem(PC) 4 NPC - PC + 4 Decodificación/búsqueda en registros 4 A - Regs(IR6..10) ; (rf1) 4 B - Regs(IR11..15) ; (rd en tipo I o rf2 en tipo R) 4 Inm - ((IR16)16 ## IR16..31); (campo inmediato de tipo I con extensión de signo) Ejecución/cálculo de dirección efectiva 4 Referencia a memoria: ALUOutput - A op Inm (Tipo I, cálculo de la dirección efectiva) 4 ALU reg-reg: ALUOutput - A func B (Tipo R) 4 ALU reg-inm: ALUOutput - A op Inm (Tipo I) 4 Branch: ALUOutput - NPC + Inm; y Cond - (A op 0); (Tipo I) T El registro A (que contiene rf1) se chequea para ver si se toma o no el salto T La operación de comparación op viene del CO. En BEQZ es “==”
  • 12. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 23 Dpt. Arquitectura de Computadores Implementación simple del DLX Acceso a memoria 4 Referencia a memoria: LMD - Mem(ALUOutput) (en LOAD) ó Mem(ALUOutput) -B; (en STORE) 4 Branch: if (Cond) PC - ALUOutput else PC - NPC; Escritura (Write-Back) 4 ALU reg-reg: Regs(IR16..20) - ALUOutput; (Tipo R, rd - ALUOutput) 4 ALU reg-inm: Regs(IR11..15) - ALUOutput; (Tipo I, rd - ALUOutput) 4 LOAD: Regs(IR11..15) - LMD; (Tipo I, rd - LMD) CONCLUSIÓN Store, Branch y Jump necesitan 4 ciclos. Las demas instrucciones 5 ciclos Una simple máquina de estados finitos puede realizar el control Opción: bajar la frec. de reloj e implementar todo en un único ciclo largo 4 Perderíamos el ciclo de ahorro en los branch y store 4 Tendríamos que duplicar unidades funcionales que en la implem. multiciclo se pueden compartir. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 24 Dpt. Arquitectura de Computadores Implementación simple del DLX
  • 13. Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 25 Dpt. Arquitectura de Computadores Implementación simple del DLX Instrucción Tipo BI DEC ALU MEM ESC N˚ ck ADD R1,R2,R3 R IR-(PC) NPC-PC+4 A-R2 B-R3 Inm-IR16..31 AO-A+B Nada (PC-NPC) R1-AO 5(4) LW R1,10(R3) I “ A-R3 B-R1 Inm-10 AO-A+Inm LMD-Mem(AO) PC-NPC R1-LMD 5 SW 10(R3),R1 I “ “ “ Mem(AO)-B PC-NPC Nada 4 ADDI R1,R2,#3 I “ A-R2 B-R1 Inm-3 AO-A+Inm Nada (PC-NPC) R1-AO 5(4) BEQZ R1,dir I “ A-R1 Inm-dir AO-NPC+Inm R1==0? PC-AO Nada 4 JR R1 I “ A-R1 B-0 Inm-0 AO-R1+B PC-AO Nada 4(3) J dir J “ Inm-dir AO-Inm+NPC PC-AO Nada 4(3) JAL dir J “ Inm-dir AO-Inm+NPC PC-AO R31-NPC Nada 4(3) Tabla 6: Ejemplos de instrucciones Arquitectura de Computadores Universidad de Málaga Procesadores segmentados 26 Dpt. Arquitectura de Computadores Comparación CISC (VAX) versus RISC (MIPS) NMIPS = 2 NVAX pero a cambio CPIVAX = 6 CPIMIPS Resultado: El MIPS 2000 tiene un rendimiento 3 veces mayor al VAX 8700