Examen final Flashcards
¿Cuál es la diferencia entre un microprocesador y un microcontrolador?
Microprocesador: Unidad central de procesamiento (CPU) sin elementos adicionales como memoria o periféricos.
Microcontrolador: Integra en un solo chip la CPU, la memoria (RAM, ROM o flash), y periféricos de entrada/salida, permitiendo el desarrollo de sistemas embebidos.
¿Qué es RISC y CISC?
RISC (Reduced Instruction Set Computer): Diseño de procesador con un conjunto reducido y optimizado de instrucciones, permitiendo ejecutar operaciones más rápidas. Ejemplo: ARM.
CISC (Complex Instruction Set Computer): Conjunto de instrucciones complejo que permite realizar operaciones avanzadas en una sola instrucción, pero puede ser más lento. Ejemplo: x86.
¿Cuál es la diferencia entre arquitecturas Von Neumann y Harvard?
Von Neumann: Utiliza un solo bus para direcciones y datos, lo que puede causar un cuello de botella.
Harvard: Tiene buses separados para direcciones y datos, permitiendo un procesamiento más rápido.
¿Qué significa CPU bound?
CPU Bound: Cuando el rendimiento de un sistema está limitado principalmente por la velocidad de la CPU.
¿Qué es LIFO?
LIFO (Last In, First Out): Técnica de almacenamiento donde el último elemento en entrar es el primero en salir, como en una pila.
¿Qué es una operación atómica?
Operación Atómica: Acción que se ejecuta de forma completa sin interrupciones, asegurando consistencia en el acceso a recursos compartidos.
¿Qué es SysTick?
SysTick: Temporizador en microcontroladores ARM que permite medir intervalos de tiempo y gestionar tareas de temporización.
¿Qué es el Program Counter?
Indicador para apuntar a la instrucción dos líneas debajo de la ejecutada en el momento.
Registro que guarda la dirección de la siguiente instrucción a ejecutar por la CPU.
¿Qué son los modos de direccionamiento?
Forma de calcular la dirección de memoria de un operando en una instruccion.
Inmediato: en la instruccion esta incluido directamente el operando. MOV AX, 12
https://upload.wikimedia.org/wikipedia/commons/0/00/DireccionamientoInmediato.png
Directo a memoria: en la instrucción se especifica la dirección absoluta del operando para encontrarlo en memoria.
Directo a registro: de funcionamiento similar al anterior, con la diferencia de que se especifica la dirección de un registro y no una localidad de memoria, y resulta más rápido.
¿Qué son los bits de modo?
Bits de Modo: Bits que indican el modo de operación actual del procesador, como modo usuario o modo supervisor.
¿Qué es Big Endian?
Big Endian: Convención de almacenamiento en memoria donde el byte más significativo se almacena en la dirección de memoria más baja.
¿Cuáles son los tipos de buses que se pueden interconectar al microprocesador?
Bus de Datos: Transporta los datos entre la CPU y otros componentes.
Bus de Direcciones: Lleva las direcciones de memoria para acceder a los datos.
Bus de Control: Transmite señales de control para coordinar las operaciones entre componentes.
¿Qué sucede cuando se solicita y acepta una interrupción?
La CPU guarda el estado actual (contexto), ejecuta una rutina de servicio de interrupción (ISR), y tras completar la ISR, restaura el contexto y continúa la ejecución.
¿Cómo se clasifican las interrupciones?
Las interrupciones pueden clasificarse por prioridad (alta, media, baja) y tipo (externas, internas, de temporización).
Enumere y explique 5 tipos de periféricos que pueden conectarse a un microcontrolador ARM.
UART (universal asynchronous receiver / transmitter): Comunicación serial asíncrona.
I2C (inter-integrated ciruits): Protocolo de comunicación serial para dispositivos de baja velocidad.
SPI (serial peripheral interface): Interfaz de comunicación serial para alta velocidad.
ADC (Convertidor Analógico-Digital): Convierte señales analógicas en digitales.
GPIO (Entradas/Salidas Generales): Permiten conexión y control de dispositivos externos.
¿Qué es el pipeline?
Técnica de ejecución donde varias etapas de la CPU procesan diferentes instrucciones al mismo tiempo, mejorando el rendimiento.
Ejemplo: una instrucción puede estar en la etapa de decodificación mientras otra está en ejecución.
Técnica de ejecución de varias etapas del CPU. Ejemplo
Pipeline de tres etapas
fetch-decode-execute
fetch: lee la instrucción desde memoria.
decode: decodifica la instrucción y prepara las señales de control para la ejecución
execute: lee los operandos de los registros, realiza las operaciones de ALU, lee o escribe en memoria si es necesario y al final, escribe de vuelta los valores de registros modificados
¿Cuál es la diferencia entre CPSR y SPSR?
CPSR (Current Program Status Register): Contiene los flags y estado actual del procesador.
SPSR (Saved Program Status Register): Guarda el estado anterior al atender una interrupción.
Enumere y explique 5 bits del registro de banderas.
N (Negative): Indica si el resultado es negativo.
Z (Zero): Señala si el resultado es cero.
C (Carry): Indica acarreo en operaciones aritméticas.
V (Overflow): Señala si hubo un desbordamiento.
Q (sticky flag): Indica si ha ocurrido
saturación en instrucciones de aritmética saturada.
¿Cómo se crea un ciclo dentro de un programa ensamblador para ARM?
Un ciclo en ensamblador se puede crear con instrucciones de salto y comparación. Ejemplo:
~~~
MOV R0, #10 ; Inicializa R0 con 10
loop: ; Etiqueta del ciclo
SUBS R0, R0, #1
BNE loop ; Salta a ‘loop’ mientras R0 no sea cero
~~~
¿Cuáles son los estados en los que se puede encontrar el hardware?
Desocupado, ocupado, listo
¿El ancho de banda en un canal serial es la velocidad en baudios dividido 10?
Verdadero.
¿Qué características tiene el CPSR?
Contiene una copia cuando se encuentra en modo privilegiado
Contiene las banderas de condición
Los registros internos del microcontrolador se pueden agrupar en los siguientes grupos
Unbanked registers
Banked registers
Banked physical registers
Banked physical registers extras
¿Cómo se activa un puerto?
Se activa el reloj del puerto, se espera a que se active con la instruccion NOP, se deshabilita la función analógica y alternativa, se configura si es entrada o salida, se limpian los bits y se habilita como puerto digital.
Para un dispositivo de salida, la latencia es el tiempo entre que el software envía el dato y es recibido por el dispositivo exterior
Verdadero.
¿Qué características describen al LR?
Proporciona un retorno rápido
Evita almacenamiento del contador de programa en la pila
Permite almacenar la dirección de retorno de una llamada a una rutina
Existe uno para cada modo de direccionamiento
¿Qué periféricos se le pueden conectar a un microcontrolador ARM?
Cuatro perifericos
UART
AACI (Advanced Audio CODEC Interface)
Controlador vector de interrupciones
DRAM (dynamic random access memory) controller.
¿Enable (disable) permite una interrupción a la vez?
Verdadero.
¿Qué se debe hacer para implementar una operación atómica?
Guardar el valor actual de PRIMEMASK
Deshabilitar las interrupciones.
Ejecutar la operación
Reestablecer el PRIMEMASK al valor previo
Para un dispositivo de entrada:
Cuando el dato está ocupado se crea una nueva entrada.
Cuando el dato está listo el nuevo dato está disponible.
El software inicia esperando esa entrada.
Cuando un dispositivo de entrada hace la transición de ocupado a listo, el software sigue adelante.
¿Cuáles son los métodos para sincronizar el microcontrolador con los puertos?
Blind cycle, DMA, Polling, Interrupción.
¿En la tiva, existe únicamente 1 bit de inicio, de 5 a 8 bits de datos, y para el bit de parada pueden ser de 1 a 2 bits?
Verdadero.
¿Para un dispositivo de salida, la latencia es el tiempo entre que el software envía el dato y es recibido por el dispositivo exterior?
Verdadero.