Introducción Flashcards
¿Qué es el microcódigo?
Se refiere a un conjunto de microinstrucciones que opera el hardware para implementar una instrucción.
¿El microcódigo es editable?
Generalmente no, lo escribe el diseñador del procesador en el Control Store y queda fijo. Sin embargo, algunas implementaciones ofrecen un Writeable Control Store, con una porción de memoria RAM para permitir que el usuario agregue sus propias microinstrucciones.
Mencione las diferencias entre una arquitectura CISC y RISC.
Los procesadores CISC usan un amplio set de instrucciones muy complejas con distintos tiempos de ejecución mientras que los RISC usan un set de instrucciones muy reducido y simple, que se ejecutan de forma rápida y con un tiempo de procesamiento similar.
Explique 2 ventajas de RISC frente a CISC.
- Como las instrucciones tienen una duración similar, se puede implementar un pipeline para paralelizarlas y aumentar la eficiencia.
- Al tener un set de instrucciones más sencillo, se requiere menos superficie de silicio en el chip.
¿En qué se diferencia una arquitectura Harvard de una Von Neumann?
En la arquitectura Harvard las instrucciones y los datos se guardan en módulos físicos diferentes, con 2 buses: uno de instrucciones y otro de datos. Por otro lado, la arquitectura Von Neumann propone integrar las instrucciones y los datos en la misma memoria, utilizando un único bus para ambos casos.
¿Qué es el Data Path?
Es la parte de la CPU que contiene a la ALU, sus entradas y salidas. Se refiere al camino que recorren los datos en el flujo de una operación.
¿Qué es el Control Store?
Es la memoria ROM que contiene las microinstrucciones necesarias para construir todo el set de instrucciones del microprocesador.
¿Qué es el Writeable Control Store?
Es una implementación del Control Store (MIC-I) con una parte en RAM, tal que permite al usuario del procesador escribir sus propias microinstrucciones y así ampliar el set de instrucciones según la disponibilidad de opcodes.
¿Para qué sirve un Pipeline?
Un pipeline crea una cadena de las etapas que deben ejecutarse para procesar una instrucción, permitiendo paralelizar su ejecución en etapas y así aumentar el rendimiento del procesador.
¿Qué podría bajar la eficiencia de una arquitectura con pipeline?
Los saltos condicionales. Cuando la siguiente instrucción depende del resultado de la anterior, el pipeline no tiene cómo saber qué camino seguir y si elige el incorrecto deberá descartar el trabajo realizado y reiniciar el pipeline.
¿Qué es un predictor de saltos?
Es un mecanismo que busca predecir si el salto va a ser tomado o no, así el pipeline se puede anticipar y si la predicción fue correcta no se debe vaciar y reiniciar el pipeline.
¿Cómo se clasifican los predictores de saltos?
Hay 2 tipos de predictores, estáticos y dinámicos.
Estáticos: Siguen una regla fija, pueden elegir siempre tomar el salto o nunca. También hay implementaciones que sólo saltan si el salto es para atrás (lo que suele ocurrir en los ciclos for).
Dinámicos: Generalmente son máquinas de estado con memoria, que en función del resultado de los últimos casos decide si tomar el salto o no.
¿Qué dice la Ley de Amdahl?
Indica el factor de mejora en rendimiento al paralelizar un programa.
S = M / (Fp + M (1 - Fp))
S: Factor de mejora.
Fp: Fracción paralelizable, la proporción de un programa puede ser paralelizable.
M: Número de procesadores o recursos que podrían trabajar en paralelo.
¿Cómo se calcula la potencia máxima que podría consumir un procesador?
P = NpCgpVcc^2*fo
P: Potencia
Np: Cantidad de compuertas lógicas del procesador
Cgp: Capacidad de compuertas
Vcc: Tensión de alimentación
fo: Frecuencia de trabajo