Skip to content
This repository was archived by the owner on Feb 4, 2026. It is now read-only.

TB023 - Curso Marchi 2025|1C

License

Notifications You must be signed in to change notification settings

AvrilMZ/Organizacion_del_Computador

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Organizacion del Computador - Curso Marchi

Cursada el primer cuatrimestre de 2025. Pagina de la cátedra.

Temario

  • Representación de la Información:
    • Bits, bytes y enteros.
    • Números fraccionarios y representación en punto flotante (IEEE 754).
    • Aritmética binaria y operaciones con bits (desplazamientos, máscaras).
  • Diseño Lógico e Implementación Secuencial:
    • Diseño de sistemas combinacionales y secuenciales.
    • Implementación de lógica digital.
  • Lenguaje de Máquina:
    • Estructura de instrucciones y registros.
    • Control de flujo: condicionales, bucles y llamadas a funciones.
    • Representación de datos en memoria: arreglos, estructuras y punteros.
    • ABI (Application Binary Interface) y manejo de la pila.
  • Arquitectura de Procesadores:
    • Ciclo de instrucción y arquitectura microprogramada.
    • Diseño de procesadores: arquitectura Y86 y RISC.
    • Pipelining: riesgos (data hazards, control hazards) y optimización.
  • Memoria y Jerarquía de Memorias:
    • Memoria dinámica y jerarquía de memorias (registros, caché, RAM, disco).
    • Memoria caché: mapping y políticas de reemplazo.
    • Principios de localidad (temporal y espacial).
    • Memoria virtual: paginación, tablas de páginas y traducción de direcciones (TLB, page faults).
  • Diseño y simulación de circuitos combinatorios en Logisim Evolution.
  • Construcción modular con compuertas básicas y multiplexores.
  • Implementación de sumadores de 1 bit y de 4 bits.
  • Extensión del sumador con flags Z, C, V, N.
  • Conceptos básicos de complemento a 2 y detección de signo/overflow.
  • Diseño de una ALU de 4 bits con operaciones: suma, resta, AND y OR.
  • Uso de selector de operación (OP) para controlar la ALU.
  • Integración de circuitos provistos (inversor, detectores de overflow/borrow).
  • Testing automático con Logisim por consola y comparación de salidas con Makefile.
  • Manipulación de bits y operaciones a nivel binario en C.
  • Implementación de funciones con operadores bit a bit y restricciones de lenguaje.
  • Representación de enteros con signo y sin signo.
  • Uso de complemento a dos.
  • Desplazamientos lógicos y aritméticos.
  • Máscaras de bits y construcción de constantes.
  • Detección de casos límite: cero, overflow.
  • Comparaciones y transformaciones sin usar estructuras de control prohibidas.
  • Representación y análisis de números en punto flotante (IEEE-754).
  • Decodificación de signo, exponente y fracción en floats.
  • Análisis de una microarquitectura microprogramada en Logisim Evolution.
  • Estudio del datapath: registros, PC, ALU, buses y memorias.
  • Interpretación de formato de instrucciones y opcodes.
  • Uso de señales de control y secuenciamiento por clock.
  • Programación y ejecución de programas en ensamblador.
  • Ensamblado y carga de código en memoria con herramientas provistas.
  • Seguimiento de ejecución: ciclos de clock y microinstrucciones.
  • Implementación y prueba de nuevas instrucciones.
  • Modificación de microcódigo y unidad de control.
  • Integración de circuitos nuevos dentro de la arquitectura existente.
  • Programación de rutinas en lenguaje ensamblador integradas con C.
  • Interoperabilidad C ↔ ASM (convenciones de llamada, parámetros y retornos).
  • Manipulación directa de memoria dinámica a bajo nivel.
  • Manejo explícito de punteros y direcciones de memoria.
  • Implementación manual de operaciones sobre strings e enteros sin usar libc.
  • Uso de calloc/free desde código ensamblador.
  • Gestión de estructura de datos en memoria (layouts de structs y offsets).
  • Control de acceso a memoria y prevención de errores y fugas (validado con Valgrind).
  • Proceso de compilación y enlace de módulos C y ASM con Makefile.
  • Funcionamiento de memoria caché.
  • Parámetros de caché: tamaño, sets y asociatividad.
  • Caché direct-mapped y set-associative.
  • Descomposición de direcciones: tag, índice y offset.
  • Simulación de accesos a memoria desde trazas.
  • Lecturas y escrituras en caché.
  • Hit, clean miss y dirty miss.
  • Política de reemplazo LRU.
  • Bits de línea: valid, dirty, last-used.
  • Política write-back.
  • Penalidad de acceso a memoria principal.
  • Cálculo de tiempos de acceso.
  • Métricas: misses, miss rate, bytes transferidos.
  • Impacto de la configuración de caché en el rendimiento.