Parcial 2: ARM Flashcards

1
Q

¿Qué significan las siglas ARM y qué perfil tienen las tres familias?

A

Advanced Risk Machine:
Cortex A - Servidores, computadoras portatiles, aplicaciones Móviles (Aplicación)
Cortex B - Discos duros, cámaras digitales, firmware de celulares (Real Time)
Cortex M - Motores, audio, accesorios (Microcontroladores)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cortex A se considera de gama alta, qu[e caracteristicas tiene?

A

Perfil de gama alta alto rendimiento para soporte de OS, se usa en Smartpohnes, TVs, etc y corre a alta frecuencia (+1GHz), soporta MMU (Memory Management Unit), Long PIPELINE, NEON instruction set extension (MULTIMEDIA), soporta SO completos como Windows, Linux, etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Cuáles son los usos comunes del Cortex R?

A

Procesadores de tiempo real de alto rendimiento usados para tareas especificas como Discos duros o dispositivos médicos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Características base del Cortex R

A
  • Usualmente no tiene Memory Management Unit (MMU) en su lugar tiene Memory Protection Unit
  • Corren entre 200MHz a 1GHz
  • SO de tiempo real son soportados
  • LONG a MEDIUM PIPE
  • Uso industrial
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuáles son los usos comunes del cortex M?

A

Diseñado para baja potencia: microcontroladores, sensores inteligentes, IoT SISTEMAS EMBEBIDOS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Características base del Cortex M

A

Menor área de silicio y mayor eficiencia de energía, SHORT PIPE, MPU, NVIC, Wakeupt Interrupc Controller (WIC), y frecuencia de trabajo menor (200MHz )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Scheduler: Event Driven ¿qué hace?

A

Activa thread que tiene la prioridad más alta de todos aquellos que ya están listos para correr

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué arquitectura tiene el cortex M4 y de cuántos bits es su RISC?

A

32 bit RISC: 32 bit internal data path, 32 bit bus

Arquitectura Harvard

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

De cuántas etapas es el Pipeline del M4?

A

Tres etapas FETCH/DECODE/EXECUTE y especulación de branch con arquitectura load-store

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

El addressing del cortex M4 es de 32 bits, pero puede ser cambiado a 16 bits si…

A

A través del addressing de los registros low (R0 A R7 )cuando se cuenta con instrucciones de 16 bits HALF WORD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

M4 - NVIC características

A

hasta 240 solicitudes de interrupción, maneja la prioridad de interrupciones de manera automática, accedido cuando se tienen nivel de privilegios

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

M4 - NVIC características

A

hasta 240 solicitudes de interrupción, maneja la prioridad de interrupciones de manera automática

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

M4 - WIC /Wakeup Interrupt Controller características

A

Puede entrar a sleep mode apagando sus componentes y encenerse a través del request de una interrupción

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

M4 -MPU Memory Protection Unit características

A

Es opcional y sirve para marcar regiones de memoria como solo lectura para que usuarios no puedan acceder a información privilegiada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

M4 - BUS interconnect ¿Para qué sirve?

A

Permite transferncias de datos en diferentes buses de manera simultanea, administración de transferencias de datos, contiene puentes entre buses para conetar usando un solo espacio de memoria global

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

M4 - DEBUG subsystem ¿Qué pasa cuando se detecta un debug?

A

Detiene al core para poder analizar el procesador: valores en distintos registros y banderas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cortex M4 - Programming Model - ¿qué es el acceso privilegiado y no privilegiado?

A

El privilegiado puede acceder a todos los recursos del procesador mientras que el no privilegiado tiene bloqueadas algunas regiones de memoria y operaciones, así como el NVIC

18
Q

Cuántos registros tiene el M4 y cómo se distribuyen

A

16 regstros de 32 bits. R0 a R12 son de proposito general. Si se usan instrucciones de 16 bits solo pueden acceder de R0 a R7 (low regs.)
R13 Es el Stack pointer
R14 es el link register
R15 es el PC

19
Q

Qué valor tienen los dos bits menos significativos del SP y el bit menos significativo del PC

A

cero (POR
ALINEACIÓN DE MEMORIA)
Con excepción del PC cuando se desea realizar un branch, se pone a uno su LSB para indicar un stall

20
Q

¿Qué hace el Link Regster (R14)?

A

Mantiene la direccón de retorno cuando se llama a una función

21
Q

Cuáles son los Program Status Registers y para qué sirven

A

Application PSR
Execution PSR
Interrupt PSR
Se accede a ellos a través de un registro combinaod xPSR

Los siguientes son accedidos en niveles privilegiados y ayudan a enmascarar excepciones:
PRIMASK: en 1 bloquea todas las excepciones (desactivar Int. por un proceso critico) except the Non-Maskable
Interrupt (NMI) and the HardFault exception.
FAULTMASK: Bloquea todas las excepciones y el HARDFAULT exception a diferencia del PRIMASK
BASEPRI: Hace excepciones o interrupciones basado en el nivel de prioridad

Además de estos:

  • Registro de control
  • Registros de puto flotante
22
Q

¿Qué define el registro de CONTROL?

A

Seleccion de SP, nivel de acceso (privilegiado o no), si el core usa unidad de punto flotante

23
Q

Registro control y cambio de contexto ¿qué sucede?

A

Cuando se utiliza un SO el registro puede ser reprogramado en cada contexto para que aplicaciones puedan correr con acceso privilegiado mientras que otras con acceso sin privilegios

24
Q

M4 Registros de punto flotante

A

Provee registros adicionales para procesamiento de datos con punto flotanto así omo el Floating Point Status and Control Register (FPSCR)

Registros de single precision de S0 a S31, que pueden ser agrupados en pares para double precision de D0 a D15

25
Q

Cortex M4 - Características de Memoria

A

4GB de espacio de memoria, soporte de little endian y big endian, MPU, soporte de transferencia sin alinear, arquitectura harvard

26
Q

Mapa de memria Cortex M4

A

SRAM UPPER: localizada en la región de SRAM accesible por SYTEM BUS
SRAM L: localizada en la región de código accesible por CODE BUS
PROGRAM FLASH: Program memory
FLEX RAM: Permite a usuarios configurar opciones como flash adicional o EPROM mejorada

27
Q

Qué es el crossbar

A

Permite que todos los bus maestros accedan a diferentes bus slaves simultaneamente

28
Q

Qué es la CODE REGION

A

Usada para guardar el cpodigo de programa, también puede ser usado para memoria de datos

29
Q

Qué es la SRAM REGION

A

Usada para guardar datos como heaps y stacks pero también puede ser usada para código de programa

30
Q

Qué es la PERIPHERAL REGION

A

Usada para perifericos como Advanced High performance Bus

31
Q

Donde se guardan los valores no incializados? Ej. int a

A

RAM, zero intialized data (.bss)

32
Q

Donde se guardan los datos globales inicializados? Ej int d = 31

A

Flash ROM, Initialization data (.data)

33
Q

Donde se guardan los datos const?

A

Flash ROM, Constant Data

34
Q

Donde se guardan las variables que están definidas dentro de una función?
Ej. void main(){
int e

}

A

Stack en RAM

35
Q
Donde se guardan los datos que sirven para cambiar el valor de constantes dentro de una función? Ej. el 7
void main()
{
  int e;
  int e = e + 7;
}
A

FlasH ROM, program .text

36
Q

¿Qué permiten hacer las operaciones Bit band?

A

Permiten una operación load / store para acceder a un solo bit en la memoria y reducir el número de instrucciones

37
Q

Stack memory ¿qué es y para que sirve?

A

Permite que una porción de memoria sea usada como un LIFO buffer se puede utilizar para:

  • Almacenamiento temporal cuando una función está siendo eejcutada y necesita los registros
  • Pasar información a funciones o subrutinas
  • Guardar variables locales
  • Mantener el estado del preprocesador y valores de registro en en el caso de excepciones
38
Q

¿Cuáles son los tipos de Reset del Cortex Mn ?

A

Power on Reset
System Reset
Processor Reset

39
Q

¿En qué consiste el power reset?

A

Resetea todo en el microcontrolador incluyendo el procesador y el soporte de debug y perifericos

40
Q

¿En qué consiste el System Reset?

A

Resetea solo el procesador y perficos, no resetea el debug

41
Q

¿En qué conssite el processor reset?

A

Solo resetea el procesador

42
Q

¿Cómo se lleva a cabo la secuencia de reset?

A
  1. Después del reset y antes de que se ejecute el programa, el cortex lee las dos primeras words de memoria
  2. Después de leerlas el procesador setea el MSP y el PC con los valores leídos