Conocer los elementos de Hardware de un computador.
Representación binaria de enteros sin signo y con signo, aritmética binaria sin signo y con signo, conversión entre palabras de distinto tamaño, lenguaje de máquina, formatos de instrucción.
Arquitecturas CISC: set de instructions de x86.
Arquitecturas Riscs: set de instrucciones de Sparc.
Otras: VLIW (Very Large Instruction Word), Itanium.
Circuitos combinacionales: álgebra de Boole, tablas de verdad, fórmula algebraica, teorema de Shannon, mapas de Karnaugh, funciones incompletamente especificadas. Ejemplo: sumador.
Circuitos secuenciales: diagramas de tiempo, flip-flops, circuitos síncronos, circuitos semi-síncronos, diagramas de estado, tiempos de retardo.
Implementación de flip-flops: flip/flops R/S, latch y data.
Diseño modular de circuitos: diseño en paralelo, en serie y en cascada. Ejemplos: registros, decodificadores, multiplexores, multiplicadores.
La memoria: memoria estática (SRAM), memoria dinámica (DRAM, SDRAM, DDR-SDRAM, RAMBUS), memoria ROM, memoria FLASH, el controlador de memoria.
La CPU: ALU, Unidad de Control, Banco de registros, Interfaz con el bus.
E/S mapeada en memoria: botones e indicadores luminosos, busy-waiting, visor de calculadora, controladores de E/S.
Interfaces de comunicación: puertas paralelas, puertas seriales.
Mecanismos avanzados de E/S: interrupciones, canales DMA.
Buses de E/S: PCI, PCI-Express.
Memoria cache: implementación, grados de asociatividad, políticas de escritura write through y write back. Jerarquías de memoria y jerarquías de buses.
Arquitecturas en pipeline: register bypassing, register scoreboarding, branch prediction.
Arquitecturas superescalares: dependencias entre instrucciones.
Ejemplos: Pentiums, Athlon, Sparc, Transmeta, etc.
A aquellos que deseen profundizar más sobre las materias vistas en este curso se les recomiendan los siguientes libros.