Caca

Páginas: 5 (1007 palabras) Publicado: 15 de noviembre de 2012
ARM (Advanced Risc Machine)

La arquitectura del ARM2 posee un bus de datos de 32 bits y ofrece un espacio de direcciones de 26 bits, junto con 16 registros de 32 bits. Uno de estos registros se utiliza como contador de programa, aprovechándose sus 4 bits superiores y los 2 inferiores para contener los flags de estado del procesador.

No incluye caché. Gracias a esto, su consumo de energía esbastante bajo, a la vez que ofrece un mejor rendimiento que un 286.

Provee bajo consumo, pequeño tamaño, y alto rendimiento, tan necesario en aplicaciones portátiles y embebidas.

Excepciones
Se llaman excepciones a los eventos que se producen durante la ejecución de un programa, por ejemplo, para atender una interrupción desde un periférico. Antes de tratar de manejar una excepción, elprocesador ARM7TDMI resguarda el estado actual del programa para que luego de darle atención al handler pueda regresar a su estado original.
|PRIORIDAD |EXCEPCIÓN |
|1 (Máxima Prioridad) |Reset |
|2 |Data Abort |
|3|FIQ |
|4 |IRQ |
|5 |Prefetch Abort |
|6 (Mínima Prioridad) |Undefined instruction |
| |SWI |


Si dos o mas excepciones llegan simultáneamente,se atenderán de acuerdo a un orden prefijado según la siguiente tabla:

















El handler de las excepciones se ejecuta siempre en modo ARM. Si una excepción ocurre en modo THUMB, el procesador pasa automáticamente a modo ARM. El regreso a modo THUMB al finalizar la ejecución del handler también es automático. Puede ejecutarse en modo THUMB, cambiándolo “manualmente”,pero es necesario cambiar a modo ARM antes de volver para finalizar correctamente.

Las excepciones del ARM se dividen de la siguiente manera:
�� Excepciones generadas por la ejecución de una instrucción:
o Interrupciones de software
o Instrucciones no definidas
o Prefetch aborts, debido a un error en el acceso a memoria al buscar un código de operación.
��Excepciones generadas como efecto secundario en la ejecución de una instrucción:
o Data aborts, debido a un error en el acceso a memoria al buscar o almacenar un dato.

�� Excepciones generadas externamente
o RESET
o IRQ
o FIQ



Proceso de tratamiento de una excepción

Todas las excepciones tienen el mismo tratamiento excepto la del RESET, nosreferiremos a ella mas abajo.
Al llegar una excepción se procede de la siguiente manera:
1. Se finaliza la ejecución de la instrucción en curso
2. La siguiente instrucción a ejecutar será la correspondiente a la rutina de la excepción asociada (entramos en modo ARM).
3. Se cambia el modo de trabajo al correspondiente a la excepción asociada.
4. Se salva el contador de programa en el r14 delmodo al que se ha conmutado.
5. Se salva el CPSR en el SPSR correspondiente.
6. Se desactivan las interrupciones IRQ, y la FIQ en caso en que esta sea la fuente de la excepción.
7. Se carga en el PC el vector correspondiente al modo en que se entra.

En caso de producirse un RESET se actúa de la siguiente forma:
1. Los registros r14 y SPSR toman valores impredecibles
2. Seactiva el modo Supervisor
3. Se activa el modo ARM
4. Se inhabilitan las interrupciones IRQ y FIQ
5. Se carga en el PC el vector de reset

En el retorno de una excepción se debe:
1. Recuperar el contenido de los registros empleados en la rutina.
2. Restaurar el CPSR a partir del SPSR.
3. Restaurar el valor del PC a su valor antes de la ejecución de la rutina.


Tiene...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Caca
  • Caca
  • Caca
  • caca
  • Caca
  • Caca
  • Caca
  • Caca

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS