Un computador está compuesto de bloques funcionales como unidades de entrada y salida, memoria, unidad aritmética lógica y unidad de control. Estos elementos se comunican a través de buses y la estructura del computador puede ser centralizada o distribuida. Un computador ejecuta instrucciones de manera flexible dependiendo del programa almacenado en su memoria.