Conceptos Clave en Compiladores y Arquitectura de Procesadores

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,56 KB

Compilador Cruzado

Compilador Cruzado: es aquel que genera un código para una plataforma distinta a donde se ejecuta.

Máquina Virtual

Máquina Virtual: Programa que simula a una computadora. Esta simulación permite que una computadora (llamada host) ejecute múltiples sistemas operativos y aplicaciones de manera aislada y segura, como si cada uno estuviera funcionando en su propio entorno físico independiente.

Lenguajes de Programación

Lenguaje C => Compilador (más rápido, las variables pueden ser estáticas o dinámicas, genera código objeto)
Python => Interpretado (más lento, las variables son dinámicas, no genera código objeto, interpreta cada línea).

Lenguaje de Máquina

Lenguaje de máquina => Dirección            Número de Registros => Número.

Lx => Dirección de la memoria    Li => Carga Inmediata.

Desarrollo de Bucles

Desarrollar bucles: Convertir un bucle en una lista de instrucciones individuales, guardando velocidad de ejecución a cambio de memoria.

Un compilador puede o no desenrollar un bucle antes de traducir a pseudocódigo.

Funciones

Función: Código reutilizable que se manda a llamar para hacer uso de él. En la práctica, la ejecución del programa "salta" a donde se encuentre la función y luego regresa al código originalmente ejecutado. No se puede saber qué línea regresar después de la función sin antes saber desde qué línea se llamó a la función. Esta información se guarda en un registro de elección.

Instrucción JAL

La función JAL (Jump and Link) es una instrucción utilizada en lenguaje ensamblador y arquitecturas de procesadores para realizar un salto a una subrutina (o función) y almacenar la dirección de retorno en un registro específico. Esta instrucción se utiliza comúnmente en el contexto de lenguajes de bajo nivel.

Operaciones Aritméticas

Operaciones Aritméticas (ADD, SUB, MUL, DIV -- Registros / ADDI, SUBI, MULI, DIVI -- Inmediatas).

Contador de Programa

Program Counter (PC), contador de programa, es un registro especial en una CPU que indica la dirección de la próxima instrucción que se ejecutará en un programa. Almacena la dirección de memoria de la siguiente instrucción que la CPU debe recuperar y ejecutar. Después, se incrementa automáticamente para apuntar a la siguiente instrucción en secuencia. Lee la instrucción ubicada en la dirección de memoria apuntada por el PC, ejecuta esa instrucción y luego incrementa el valor del PC para que apunte a la siguiente instrucción en secuencia. Permite la ejecución secuencial de instrucciones en un programa. En casos donde una instrucción provoca un salto o una ramificación en la secuencia de ejecución (por ejemplo, una instrucción de salto condicional o incondicional), el PC se actualiza para apuntar a la nueva dirección de memoria correspondiente a la instrucción a la que se debe saltar.

Conjuntos de Instrucciones

CISC

CISC (Complex Instruction Set Computer) utiliza un conjunto amplio y complejo de instrucciones en el hardware del procesador.

  • Instrucciones poderosas y diversas que pueden realizar múltiples operaciones en una sola instrucción.
  • El compilador puede generar código más fácilmente, aprovechando las instrucciones complejas del procesador.
  • Potencialmente alto rendimiento y facilidad de programación en un nivel más alto.
  • Hardware más complejo y costoso de diseñar y fabricar.

RISC

RISC (Reduced Instruction Set Computer) utiliza un conjunto reducido y básico de instrucciones en el hardware del procesador.

  • Instrucciones simples que realizan operaciones básicas.
  • El compilador puede requerir más esfuerzo para optimizar el código usando instrucciones simples.
  • Hardware más simple y económico de diseñar y fabricar.
  • Puedes requerir más instrucciones para realizar operaciones complejas, lo que puede afectar el rendimiento.

%IMAGE_1%

Entradas relacionadas: