5.21.4.3 Organización de Máquina a Nivel de Ensamblador (20 horas) [Habilidades AG-C03,AG-C09]

Referencias Bibliográficas: [Patterson and Hennessy, 2020,Harris and Harris, 2012]

Temas

  1. Arquitectura de máquina von Neumann
  2. Unidad de control: captación, decodificación y ejecución de instrucciones
  3. Introducción a SIMD vs MIMD y la taxonomía de Flynn
  4. Organización de multiprocesadores/multinúcleo de memoria compartida
  5. Arquitectura del conjunto de instrucciones (ISA) (por ejemplo, x86, ARM y RISC-V):
    1. Conjuntos de instrucciones de ancho fijo vs variable
    2. Formatos de instrucción
    3. Manipulación de datos, control, E/S
    4. Modos de direccionamiento
    5. Programación en lenguaje de máquina
    6. Programación en lenguaje ensamblador
  6. Mecanismos de llamada y retorno de subrutinas
  7. E/S e interrupciones
  8. Segmentos de montículo, estáticos, pila y código

Aprendizaje esperado (Learning Outcomes)

  1. Discutir cómo las unidades funcionales clásicas de von Neumann se implementan en sistemas embebidos, particularmente en memoria dentro y fuera del chip [Debatir]
  2. Describir cómo se ejecutan las instrucciones en una máquina von Neumann clásica, con extensiones para hilos, sincronización de multiprocesadores y ejecución SIMD [Describir]
  3. Evaluar un diagrama de ejemplo con paralelismo a nivel de instrucción y riesgos para describir cómo se manejan en las canalizaciones de procesadores típicos [Evaluar (valorar)]
  4. Discutir cómo se representan las instrucciones a nivel de máquina y en el contexto de un ensamblador simbólico [Debatir]
  5. Mapear un ejemplo de patrones de lenguaje de alto nivel a notaciones de lenguaje ensamblador/máquina [Mapear/Mapa conceptual]
  6. Contrastar diferentes formatos de instrucción considerando aspectos como direcciones por instrucción y formatos de longitud variable vs longitud fija [Contrastar]
  7. Analizar un diagrama de subrutina para comentar cómo se manejan las llamadas de subrutina a nivel de ensamblador [Analizar]
  8. Describir conceptos básicos de interrupciones y operaciones de E/S [Describir]
  9. Escribir un programa simple en lenguaje ensamblador para procesamiento y manipulación de cadenas/arreglos [Escribir]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM