Organización Programa ET Nº 35
de Computadoras Año 2023 Santiago Trini
1 Introducción
Definición de computadora. Partes de una computadora. Capas de abstracción y distinción hardware/software.
Computadora de programa almacenado y arquitectura de von Neumann. Ciclo de instrucción. Evolución
histórica de la computadora y ley de Moore. Transistores y circuitos integrados. Rendimiento de una
computadora. Velocidad y espacio. Latencia y rendimiento. Benchmarks. Unidades de medida.
2 Representación de la información
Señales analógicas y digitales. Sistemas de numeración posicional. Enteros con y sin signo. Complemento
a dos. Operaciones lógicas y aritméticas en binario. Suma, resta, producto. Desplazamientos y rotaciones.
Códigos de caracteres. Fracciones en binario. Coma flotante: IEEE 754. Error absoluto y relativo en coma
flotante. Códigos para detección y corrección de errores.
3 Lógica digital
Compuertas lógicas. Álgebra de Boole. Funciones booleanas. Axiomas e identidades. Simplificación.
Tablas de verdad. Mapas de Karnaugh. Equivalencia entre expresiones booleanas. Forma normal disyun-
tiva y mintérminos. Compuertas universales. Circuitos combinacionales. Multiplexores y decodificadores.
Sumadores. Comparadores. La ALU. Circuitos secuenciales. El latch SR. Tabla característica y máquina
de estados. Otros tipos de latch. Circuitos síncronos y asíncronos. Señal de reloj. Flip flops. Registros y
contadores. Memorias.
4 Lenguaje máquina
Instrucciones. Arquitectura o conjunto de instrucciones de una computadora. Código máquina vs assem-
bly. El ensamblador: funcionamiento. Programación en lenguaje ensamblador. Directivas y etiquetas.
Instrucciones aritméticas y lógicas. Instrucciones de salto incondicional y condicional. Instrucciones de
acceso a memoria. Pseudoinstrucciones. Modos de direccionamiento. Funciones y procedimientos. La
pila de llamadas (call stack). CISC vs RISC.
5 La CPU
Organización de la CPU. Ciclo de instrucción. Camino de datos. Registros de uso general, de estado y
de control. El datapath de MIPS-32 en detalle. Otras arquitecturas. Unidad de control. Formatos de
instrucción. Microcódigo vs hardwired. Arquitecturas load/store. Arquitecturas de pila y de acumulador.
Pipelining. Riesgos en un pipeline: de control, de datos y estructurales. Resolución de riesgos: stalls,
forwarding y predicción.
6 Memoria y E/S
Tipos de memoria Jerarquía de memorias. Localidad de referencia. Memoria cache. Esquemas de mapeo
para una cache. Cache directa y asociativa. Políticas de reemplazo. Memoria virtual. Paginación y seg-
mentación. Tabla de páginas. TLB (translation lookaside buffer). E/S: interrupciones, polling y DMA (direct
memory access). Manejo de interrupciones. Instrucciones para E/S. Memory mapped I/O. Interfaces entre
procesador, memoria y E/S. Buses. Tecnologías de almacenamiento.
7 Software de sistema
Sistemas operativos. Procesos. Hilos. Comunicación entre procesos. El planificador de procesos. Compi-
ladores e intérpretes. Linkers. Librerías de sistema. DLLs. Gestión de memoria. Protección entre procesos
y multiprogramming. User mode y kernel mode, excepciones y traps. System calls.