Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electr´onica e Sistemas. Universidade da Coru˜ na. Bibliograf´ ıa Computer Organization and Design: The hardware/software interface (3rd ed.), David A. Patterson and John L. Hennessy. Morgan Kaufmann Publishers, Inc. (Tambi´ en disponible en castellano: Estructura y dise˜ no de computadores: interficie cir- cuiter´ ıa/programaci´ on) 1. Introducci´ on Filosof´ ıa RISC (Reduced Instruction Set Computer) • Instrucciones de pocas etapas (buscando adem´ as longitud fija de instrucciones) • instrucciones de carga/almacenamiento (load/store) • reducido n´ umero de m´ etodos de direccionamiento • juego de instrucciones peque˜ no Ejemplos RISC: MIPS, Sun SPARC, HP PA-RISC, IBM PowerPC, Alpha, ARM... Objetivos de dise˜ no: velocidad, coste (dise˜ no, fabricaci´ on y testeo), tama˜ no, consumo el´ ectrico, fiabilidad, versatilidad (sistemas empotrados) Principios b´ asicos: • simplicidad favorece regularidad • m´ as peque˜ no ⇒ m´ as r´ apido • hacer el caso m´ as frecuente lo m´ as r´ apido posible
7
Embed
Estructura de Computadores 2 [08/09] Entrada/Salida en ...quegrande.org/apuntes/EI/3/ECm2/practicas/08-09/seminario_practic… · 5. Problema hardware Origen: Interno o Externo. Terminolog
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Estructura de Computadores 2 [08/09]
Entrada/Salida en procesadores MIPS
GAC: Grupo de Arquitectura de ComputadoresDpt. Electronica e Sistemas. Universidade da Coruna.
Bibliografıa
Computer Organization and Design: The hardware/software interface (3rd ed.), David A.Patterson and John L. Hennessy. Morgan Kaufmann Publishers, Inc.(Tambien disponible en castellano: Estructura y diseno de computadores: interficie cir-cuiterıa/programacion)
1. Introduccion
Filosofıa RISC (Reduced Instruction Set Computer)
• Instrucciones de pocas etapas (buscando ademas longitud fija de instrucciones)
• instrucciones de carga/almacenamiento (load/store)
• reducido numero de metodos de direccionamiento
• juego de instrucciones pequeno
Ejemplos RISC: MIPS, Sun SPARC, HP PA-RISC, IBM PowerPC, Alpha, ARM. . .
Objetivos de diseno: velocidad, coste (diseno, fabricacion y testeo), tamano, consumoelectrico, fiabilidad, versatilidad (sistemas empotrados)
Principios basicos:
• simplicidad favorece regularidad
• mas pequeno ⇒ mas rapido
• hacer el caso mas frecuente lo mas rapido posible
2. MIPS: Arquitectura basica y ensamblador
E/S asignada en memoria (MMIO)
Dos modos de funcionamiento: kernel y usuario
La mitad superior del espacio de direcciones solo accesible en modo kernel : direcciones apartir de 0x8000 0000.Esta region incluye:
• Codigo para el manejo de excepciones
• Datos solo accesibles al SO
• Direcciones de E/S asignadas en memoria: a partir de 0xffff 0000
Registros del MIPS y convencion sobre su uso
Organizacion de memoria
Organizacion de un stack frame
Operandos de instrucciones MIPS
MIPS assembly languageCategory Instruction Example Meaning Comments
add add $s1, $s2, $s3 $s1 = $s2 + $s3 Three operands; data in registers
Arithmetic subtract sub $s1, $s2, $s3 $s1 = $s2 - $s3 Three operands; data in registers
add immediate addi $s1, $s2, 100 $s1 = $s2 + 100 Used to add constants
load w ord lw $s1, 100($s2) Word from memory to register
store w ord sw $s1, 100($s2) Word from register to memory
Data load byte lb $s1, 100($s2) Byte f rom memory to register
transfer store byte sb $s1, 100($s2) Byte f rom register to memory load upper immediate lui $s1, 100 Loads constant in upper 16 bits
4. Uso de una instruccion no definidaOrigen: Interno. Terminologıa MIPS: Excepcion
5. Problema hardwareOrigen: Interno o Externo. Terminologıa MIPS: Excepcion o Interrupcion
Para el manejo de excepciones e interrupciones MIPS utiliza el coprocesador 0.
Identificacion del motivo de excepcion mediante un registro de estado (Registro de causao Cause register) del coprocesador 0 (no usa interrupciones vectorizadas).
Otro registro de estado (Registro de estado o Status register) permite habilitar/deshabilitarinterrupciones.
Otro registro guarda la direccion de la instruccion interrumpida, es decir, del contador deprograma: EPC register (Exception Program Counter).
Los registros del coprocesador 0 son accesibles por medio de las instrucciones mfc0 (movefrom coprocessor 0 ) y mtc0 (move to coprocessor 0 ):
mfc0 $k0, $13 # Reg. $k0 de CPU cargado con contenido de reg causa
mtc0 $0, $12 # Reg. zero de CPU almacenado en reg estado
# (se borra a cero)
La instruccion rfe (return from exception) habilita de nuevo las interrupciones (bit Inte-rrupt Enable en registro de estado) antes de devolver el control tras la ejecucion de unarutina de servicio.
Un salto incondicional a la direccion de la instruccion siguiente a la que habıa sido inte-rrumpida devuelve el control tras haber atendido la excepcion.
Algunos registros del coprocesador 0 del MIPS
Principales bits del registro de estado del C0 del MIPS
Principales bits del registro de causa del C0 del MIPS
Codigos de causas de excepcion
La arquitectura MIPS fija una direccion de memoria como direccion de comienzo delmanejador de excepciones: 0x8000 0080.