3
 ELECTRONICA 5, 05 DE MARZO 2015 1 Clever Title E5 Universidad de San Carlos de Guatemala Facultad de Ingenieria Electronica 5 José Alejandro López Quel I. CONCEPTOS F UNDAMENTALES Glu e-Logi c: Ser ie de compue rt as lóg ica s, que rea liz an la func n de de codi c ar la informacn de di re ccn y opera ción, y sele ccionar el chip correspo ndiente dentr o del bus. El tiempo de acceso del mi cr o en un ci cl o de le ct ura o escritura debe ser mayor que el que necesita la memoria para poner o poder leer los datos requeridos en o del bus. Wait-states: Ciclos de espera. Ar quit ec tura vo n Neumann: Es ut ilizar lo un bu s de dire ccion es y uno de dato s. Arqui tect ura Harv ard: Consiste en utilizar buses separados para las instrucciones y los datos. Esto duplica efec tiv amen te el espacio acces ible de memoria y la velocidad teórica de ejecución. Modo de direccionamiento: Es la forma en que el procesador accede a los datos que utiliza para realizar operaciones. Modos de direccionamiento:  Reg ist ros : El dato se enc uen tra en un re gistro del procesador.  Inmediato: El dato se encuentra en la misma instruc- ción.  Direc to: El dat o se enc uen tra en una posic ión de memoria, especicada por su dirección absoluta en la instrucción.  Indirecto: El dato se encuentra en una posición de memoria, cuya dirección está contenida en un regis- tro, que ocia de puntero, referido de la instrucción.  Indexado: Sinmil ar al indirecto, se agrega un despla- zami ento respect o al val or indi cado por el regi stro que ocia de base. Cuando el re gis tr o bas e es el Pr ogr am Cou nte r (PC), el direccionamiento se suele llamar relativo. Ortogonalidad: Es la relación de disponibilidad de modos de direccionamiento y registros para cada instrucción. For mat o little -en dia n: El byt e me nos signicativo en la dir ecc ion más baj a(p rimero ), y el más sig nicat iv o en la inmediata siguiente. Formato big-endian: El byte más signicativo en la direccion más baja (pri mero ), y el menos sign ica tiv o en la inme diat a siguiente. Se re ere por  word  a un a pa la br a de 32 -b it s. As í, el término  half-word  cor re sponde a 16-bit s y  double-word corresponde a 64-bits. Al inea ci ón: Un byte puede estar en cual quie r posi ci ón de memoria, y ciertamente tanto una half-word o una doble- word también. Al inea ci ón Natura l: Es cuando ca da pa la br a se alinea de modo que los bits men os sig nicat iv os de la dir ecc ión sean todos cero. Barrel Shifter: Es un circuito secuencial capaz de desplazar una pal abr a bin ari a un número det ermina do de bit s en un ciclo de reloj. Rie sgo Est ructur al (St ruc tur al Haz ard ): Ocurre cua ndo dos intrucciones intentan utilizar el mismo recurso. Ries go de Cont rol (Contr ol Haza rd): Es ta re la ci onado con los ca mbios de di re cc n de ej ecuc n como salt os (branches), llamadas de rutina, etc. Bra nch T ar get Buf fer : Buf fer don de se alo jan los últ imos destinos calculados. RISC (Reduced Instruction Set Computing): Es una estrategia de di se ño ba sa da en el he cho de que instrucc iones s simp les puede n prov eer mayo r perfo rman ce dado que dich a simpli cid ad per mi te que cad a ins tru cci ón se eje cute más rápido. t ejecucin  =  instrucciones tarea ×ciclos instruccin ×t ciclo  (1)  Los proces adores RISC, se enfocan en simplicar el set de instru cci one s de mod o que el tér mino  ciclos instruccin  sea mínimo Me mor ia Cac he: Me mor ia que per mi te alo jar una por ció n de código, par a ser car gado en la memoria pri nci pal. Est o permite acelerar la velocidad de operación. Si el contenido no se encuentra ya en el cache (cache-miss, read-miss) se lo actualiza; y si ya está (cache-hit) se lo utiliza. Políticas de Operación Principales  Write-Throug h (No-Write Allocati on) [WT]: Si el dat o est aba en el cac he, se rea liz a una esc rit ura

Clever Title E5

Embed Size (px)

DESCRIPTION

Resumen Capitulo 1 - Microprocesadores ARM

Citation preview

  • ELECTRONICA 5, 05 DE MARZO 2015 1

    Clever Title E5Universidad de San Carlos de Guatemala

    Facultad de IngenieriaElectronica 5

    Jos Alejandro Lpez Quel

    I. CONCEPTOS FUNDAMENTALES

    Glue-Logic: Serie de compuertas lgicas, que realizanla funcin de decodificar la informacin de direccin yoperacin, y seleccionar el chip correspondiente dentro delbus.

    El tiempo de acceso del micro en un ciclo de lectura oescritura debe ser mayor que el que necesita la memoria paraponer o poder leer los datos requeridos en o del bus.

    Wait-states: Ciclos de espera.

    Arquitectura von Neumann: Es utilizar slo un bus dedirecciones y uno de datos. Arquitectura Harvard: Consisteen utilizar buses separados para las instrucciones y los datos.Esto duplica efectivamente el espacio accesible de memoriay la velocidad terica de ejecucin.

    Modo de direccionamiento: Es la forma en que el procesadoraccede a los datos que utiliza para realizar operaciones.

    Modos de direccionamiento: Registros: El dato se encuentra en un registro del

    procesador. Inmediato: El dato se encuentra en la misma instruc-

    cin. Directo: El dato se encuentra en una posicin de

    memoria, especificada por su direccin absoluta enla instruccin.

    Indirecto: El dato se encuentra en una posicin dememoria, cuya direccin est contenida en un regis-tro, que oficia de puntero, referido de la instruccin.

    Indexado: Sinmilar al indirecto, se agrega un despla-zamiento respecto al valor indicado por el registroque oficia de base.

    Cuando el registro base es el Program Counter (PC), eldireccionamiento se suele llamar relativo.

    Ortogonalidad: Es la relacin de disponibilidad de modos dedireccionamiento y registros para cada instruccin.

    Formato little-endian: El byte menos significativo en ladireccion ms baja(primero), y el ms significativo en lainmediata siguiente.

    Formato big-endian: El byte ms significativo en la direccionms baja(primero), y el menos significativo en la inmediatasiguiente.

    Se refiere por word a una palabra de 32-bits. As, eltrmino half-word corresponde a 16-bits y double-wordcorresponde a 64-bits.

    Alineacin: Un byte puede estar en cualquier posicinde memoria, y ciertamente tanto una half-word o una doble-word tambin.

    Alineacin Natural: Es cuando cada palabra se alineade modo que los bits menos significativos de la direccinsean todos cero.

    Barrel Shifter: Es un circuito secuencial capaz de desplazaruna palabra binaria un nmero determinado de bits en unciclo de reloj.

    Riesgo Estructural (Structural Hazard): Ocurre cuandodos intrucciones intentan utilizar el mismo recurso.

    Riesgo de Control (Control Hazard): Esta relacionadocon los cambios de direccin de ejecucin como saltos(branches), llamadas de rutina, etc.

    Branch Target Buffer: Buffer donde se alojan los ltimosdestinos calculados.

    RISC (Reduced Instruction Set Computing): Es una estrategiade diseo basada en el hecho de que instrucciones mssimples pueden proveer mayor performance dado que dichasimplicidad permite que cada instruccin se ejecute msrpido.

    tejecucin = instruccionestareaciclosinstruccintciclo (1)Los procesadores RISC, se enfocan en simplificar el set deinstrucciones de modo que el trmino ciclosinstruccin seamnimo

    Memoria Cache: Memoria que permite alojar una porcinde cdigo, para ser cargado en la memoria principal. Estopermite acelerar la velocidad de operacin.Si el contenido no se encuentra ya en el cache (cache-miss,read-miss) se lo actualiza; y si ya est (cache-hit) se lo utiliza.

    Polticas de Operacin Principales Write-Through (No-Write Allocation) [WT]: Si el

    dato estaba en el cache, se realiza una escritura

  • ELECTRONICA 5, 05 DE MARZO 2015 2

    simultanea en ambos, cache y memoria. Caso con-trario, se opera sobre la memoria principal y el cachese usa para procesos de lectura unicamente.

    Write-Back with Write Allocation [WB-WA]: Si eldato no estaba en cache, se le incluye.

    Mltiples Niveles del Cache: El primer nivel de cache (L1cache) es entonces el ms pequeo rpido y cercano alprocesador, mientras que el segundo nivel es ms grande yes como una segunda red de contencin antes de caer en lamemoria principal.

    Ad hoc: "Para esto".

    Tipos de Procesadores SIMD (Procesadores Vectoriales): Son capaces de

    operar sobre muchos datos, y se llaman as por laanaloga con el procesamiento de los componentesde un vector.

    Procesadores Escalares: Estos operan un dato a lavez.

    Procesadores Superescalares: Aumentan la velocidadde ejecucin mediante el paralelismo, ejecutandoms de una instruccin a la vez.

    Un procesador superescalar contiene una pipeline con almenos las etapas de: obtener, decodificar, despachar (issue),ejecutar, guardar resultados. Donde la etapa de despachar(issue) se encarga de partir el flujo en otras pipelines paracada uno de los recursos a ser empleados en paralelo.

    Sistema Operativo: Es una pieza de software que ensentido general cumple dos funciones principales: Presentaral programador una visin ms amplia y ms simple delhardware y administrar los recursos disponibles.

    Modos de Operacin Modo Usuario: La tarea no puede ejecutar operacio-

    nes consideradas de riesgo y no puede salirse de lpor su propia cuenta.

    Modo Supervisor o Modo Privilegiado: El sistemaoperativo posee acceso a todos los recursos.

    .Paginado: El paginado es una herramienta que permite unaforma de reubicacin y de proteccin mediante un esquemade traduccin.

    Segmentado: El segmentado es similar al paginado, siendola diferencia ms sutil el hecho de que su longitud puedeser diferente y variable. Identificado el segmento mediantealguna propiedad de la direccin a acceder, esta se traducepor reglas que indica el descriptor de dicho segmento en latrabla correspondiente.

    Unidad de Proteccin de Memoria (MPU): Es un bloque dehardware que soporta el concepto de proteccin de memoria.Observa los buses y estados del procesador y determina siel acceso que se intenta hacer tiene los derechos de accesorequerido.

    Unidad de Manejo de Memoria (MMU): Es el bloquede hardware que soporta el concepto de particin de lamemoria mediante un esquema de memoria virtual.

    Memoria Virtual: Este esquema permite asociar un espaciolgico determinado en un espacio fsico de memoria diferente.En esencia, se divide en unidades que se corresponden conentradas en una tabla de traduccin. Dichas entradasespecifican a su vez la forma de traducir esta direccin a unespacio de memoria fisica.

    Maquina Virtual: Es una simulacin de un entorno dehardware existente o no, de caractersticas definidas, de modoque programas de software cualesquiera se ejecuten de igualforma dentro de este esquema, sin importar el hardware sobreel que se ejecuta.

    Mliples Cores (Multicore): Se refiere a un procesadoren el cual varios cores comparten el bus y el acceso a lamemoria principal.

    Ley de Amdahl: Para un problema dado, con una proporcinp de sus tareas que puede realizarse en paralelocon el resto,y un nmero n de procesadores, el grado de mejora obtenidoes:

    s =1

    (1 p) + pn(2)

    Ley de Gustafson-Barsis: El tamao del problema escalacon el nmero de procesadores. La cantidad de trabajo quepuede realizarse en paralelo es funcin lineal del nmero deprocesadores.

    s = n (1 p)(n 1) (3)

    II. ARQUITECTURA ARM

    La arquitectura incluye un set de instrucciones (ISA),existe soporte de memoria virtual y/o protegida. Elprocesador implementa una determinada arquitectura yadems utiliza internamente una arquitectura de bus y unapipeline. El dispositivo, el chip en s, con o sin cachesdepende fundamentalmente de la estratega que el fabricanteutilice para diferenciarse de otros.

    Nomenclatura:ARMx[yy][z][-algo] x : Versin del Core

    yy : Agregados i.e. MMUz : Extensiones a la arquitectura i.e TDMI, EJ.

    -algo opciones de licencia. -S : si en la nomenclatura se incluye, indica que

    existe macrocenlda sintetizable.Perfiles Application (A): Procesadores de alta performance,

    orientados a sistemas complejos. uC basados enVSMA (Virtual Memory System Architecture).

    Real-Time (R): Procesadores con timing determinis-tico, basados en PMSA (Protected Memory System

  • ELECTRONICA 5, 05 DE MARZO 2015 3

    Architecture), orientados a sistemas hard real-time osafety-critical.

    Microcontroller (M): Procesadores con caracteristi-cas arquitectonicas comparativamente simples, en elsentido que se orientan a dispositivos historicamentems sencillos.

    .Excepciones o Interrupciones: Una excepcin es un eventoque interrumpe el flujo normal del programa.

    Orden de Interrupcin Reset : IP = 0000H Inicio del Programa Undefined Instruction (Instruccion no definida) Supervisor Call (SVC) Prefetch Abort: Problema en acceso a instruccin de

    memoria. Data Abort: Problema en acceso a datos en memoria. IRQ (Interrupt Request) FIQ (Fast Interrupt Request)

    Modos de Operacin User: modo normal de trabajo de un programa

    usuario. FIQ: El modo de atencin a una interrupcin rpida",

    con menor latencia de procesamiento. IRQ: Modo de atencin a una interrupcin. Supervisor: Modo protegido para el sistema operati-

    vo, se ingresa a l luego de un reset y al ejecutarseuna instruccin SVC.

    Abort: Modo al que se ingresa luego de que sedetecta un problema en el acceso a la memoria.

    Undifined Intruction: Modo al que se ingresa alencontrarse un opcode que no corresponde a ningunainstruccin conocida.

    System: Modo especial para permitir reingreso enrutinas de manejo de interrupciones.

    Excepto el modo User, todos los dems son modos protegidos.De estos, excepto el modo System, todos los dems son modosde excepcin.

    Registros Importantes R13: Stack Pointer R14: Link Register R15: Program Counter

    .El estado del procesador puede observarse en el CPSR(Current Program Status Register). Este registro esautomticamente preservado ante una excepcin medianteuna copia, el valor anterior es accesible en el SPSR (SavedProgram Status Register).

    Los cinco bits menos significativos del SPSR contienenel modo de operacin del procesador.

    APSR (Application Program Status Register): Este registrono es ms que el CPSR, pero solo permite acceso a los bitsde cdigos de condicin.

    DMB (Data Memory Barrier): La instruccin DMB garantizaque los accesos se vean en el orden que figuran en el cdigo.

    DSB (Data Synchronization Barrier): Realiza la sincronizacinentre la ejecucin y los accesos de memoria.

    ISB (Instruction Synchronization Barrier): Purga la pipeline,de modo que los efectos de los cambios reaizados antesde la ejecucin de esta instruccin sean visibles por lasinstrucciones que se lean y ejecuten luego de esta.

    Modos de Direccionamiento:Offset: Direccionamiento indexado puro, sin modifica-ciones en el valor del ndice. Inmediato: El desplazamiento respeto de la base es

    una costante, y se encuentra dentro de la instruccin(no requiere bytes adicionales).

    Registro: El desplazamiento respecto de la base sehalla especificado por un registro.

    Pre-Indexado: El desplazamiento indicado se sumao resta al registro base antes de realizar la operacin.

    Post-Indexado: El desplazamiento indicado se sumao se resta al registro base despus de realizar laoperacin.

    Estados de Operacin ARM: ISA original de 32-bits, con las caracteristicas

    ejecucin condicional. Thumb: ISA compacto de 16-bits, permite aumentar

    la densidad de cdigo. Thumb-2: Extensin de Thumb, con opcodes de 16-

    bits y 32-bits. ThumbEE: Variacin de Thumb-2 para just-in-time-

    compilers (JIT). Este solo existe si est presente laextensin de igual nombre.

    Jazelle: Entorno en el que el procesador ejecutacdigo compilado en Java. Este solo existe si estpresente la extensin de igual nombre.

    En el ISA de ARM, los cuatro bits ms significativos especifi-can una condicin que se compara con el cdigo de condicinCPSR para determinar si debe o no ejecutarse.

    Conceptos FundamentalesArquitectura ARM