¿Dónde puedo encontrar una explicación del software? Las computadoras usan unos y ceros, pero ¿cómo se les ordena hacer las cosas?

Les damos instrucciones obviamente, eso es un programa. Explica a una computadora exactamente lo que debe hacer en todas y cada una de las situaciones. Y cuando no especificamos esa situación, simplemente se rompe.

Toda nuestra lógica es sí / no en un programa de computadora. Un 1 o un 0.
¿Es este número menor que 20? -> Sí lo es; estado = 1

La adición se realiza a nivel de bit

(7) + (2) = 9
0111 + 0010 = 1001

Y luego nos vamos. El conjunto de instrucciones de una computadora es mucho más amplio, pero en un nivel básico así es como funciona.

Hay literalmente miles de páginas sobre cómo las computadoras hacen esto. Hay tres tipos de conjuntos de instrucciones que la CPU puede manejar. Uno es CISC y el otro es RISC. El último es uno con el que no entrarás mucho en contacto, se llama VLIW.

CISC se encuentra típicamente en la computadora de su hogar. Casi todos los chips de Intel son un conjunto de instrucciones CISC.

RISC, por otro lado, se encuentra en casi todos los dispositivos móviles en la actualidad. Los chipsets ARM son un buen ejemplo.

Si esto realmente le interesa, descargue una copia de un manual del conjunto de instrucciones de Intel. Son gratis para descargar. Una vez abierto, ciérrelo nuevamente, porque está muy por encima de su cabeza y el 99% del resto del mundo también. No nos afecta, funciona, déjalo ser.

Hay algunas cosas esenciales necesarias para los componentes básicos de la computación.

Primero necesitas almacenamiento. Necesitas un lugar para guardar valores. Los registros son donde la CPU almacena unos y ceros para representar números. Y estos números pueden representar direcciones de memoria para otros registros o pueden representar letras o incluso otros números (como valores de punto flotante). Los bits binarios son excelentes para almacenar cosas porque solo tiene que cambiar algo para activarlo o desactivarlo. O más bien cómo funciona “realmente”, que son pequeños cubos que están llenos de una cierta cantidad de voltaje o no, que representan 0 o 1.

El otro componente esencial es el lógico. Un Uno puede estar (y generalmente está) correlacionado con “verdadero” o “activado”, mientras que cero está correlacionado con “falso” o “desactivado”. Esto permite cierta lógica básica como “si es falso Y verdadero = falso” o “si es falso O verdadero = verdadero”.
Entonces puede hacer operaciones AND y OR con unos y ceros. Eso abre todo tipo de otras habilidades lógicas al emparejar dos AND o emparejar un AND y un OR hasta que pueda hacer algunas declaraciones lógicas muy complejas.

El componente esencial final es el reloj. El reloj es básicamente un oscilador entre uno y cero a una frecuencia determinada. La frecuencia solo determina la velocidad, pero la acción de conmutación impulsa la lógica.
Emparejar relojes con lógica de ciertas maneras le permite realizar ciertas acciones. Acciones que al principio parecen estúpidas, como mover un bit en una serie de bits hacia la derecha en cada ciclo de reloj. Como por ejemplo ir de 0100 a 0010.
Pero algo tan básico como esto tiene significado en matemáticas y ser capaz de hacer estos cambios y fusiones nos permite construir partes de la CPU como una ALU que no hace nada más que desplazar 1 a la izquierda o derecha y sumar o restar dos números binarios juntos.

Como puede ver, con unos simples y ceros y algunos métodos geniales de usar la lógica básica y las matemáticas, pudimos tener una computadora y todas las cosas ante sus ojos en este momento.