Cuando aprendemos sobre la arquitectura de las computadoras y cómo funciona, creemos que el lenguaje más bajo que podemos encontrar que la máquina entiende es binario como 1 y 0. Y todo lo que ingresemos tendrá que ser transformado / convertido a binario, pero siendo números binarios¿no significa eso que necesitaríamos otro intérprete / compilador para transformar el binario en lenguaje de máquina real? Todos sabemos por electrónica que una computadora está compuesta principalmente de CPU, que es un IC que, por lo tanto, está hecho de transistores, etc., y lo único que esas herramientas entienden es la electricidad, por lo tanto, la electricidad será el lenguaje más bajo comprensible para una computadora. Entonces, mi preocupación es, ¿los binarios son realmente 1s y 0s o los 1s y 0s solo se usan para representar la ausencia o presencia de electricidad? Suponiendo que es solo una representación de ausencia o presencia de electricidad, ¿no habría otro lenguaje intermedio o incluso más bajo entre los comandos que ingresamos y el binario, para que los circuitos sepan a dónde enviar la corriente y dónde no?
fuente
Respuestas:
Las computadoras digitales funcionan de manera que (casi) en cualquier momento dado, cualquier cable transporta (aproximadamente) uno de los dos voltajes posibles, uno que significa0 y el otro significando 1 . Los voltajes dependen de la convención utilizada. En este sentido, la informática digital funciona con0 s y 1 s. Sin embargo, incluso las computadoras digitales interactúan con dispositivos analógicos, como el almacenamiento físico y las redes. La forma en que los datos se codifican en las redes puede ser algo diferente, ya que se pueden codificar varios bits a la vez, dependiendo de la codificación.
Permítanme explicar mis calificaciones en la primera oración anterior. "Casi" se refiere al hecho de que cuando los cables cambian de0 a 1 o viceversa, habrá voltajes intermedios. Estos interruptores se sincronizan a través de todos los cables para que cada vez que los cables se "lean", el interruptor (si lo hubiera) ya haya ocurrido. "Aproximadamente" se refiere al hecho de que los voltajes no son exactos. Hay dos pequeños rangos de voltajes que corresponden a0 y 1 . Los dispositivos deberían poder "leer" bits en estos rangos, pero generalmente "escribirlos" de manera más restrictiva.
fuente
la pregunta no es exactamente clara y tiene algunos conceptos erróneos o una aplicación incorrecta de la terminología (por ejemplo, "lenguaje inferior"), pero interpretándola de una manera más general / metafórica / analógica / flexible, sí :
fuente
Estás haciendo varias cosas diferentes en una sola pregunta. Tal vez sea una buena idea desenredar el problema por ti mismo. Estás hablando de física, definición de la industria y arquitectura de software / computadora.
Hagamos esta parte primero. Las computadoras modernas se basan en circuitos eléctricos. Por ejemplo, la mayoría de los procesadores ARM pueden funcionar a 5 voltios. Debido a la forma en que se construye el procesador ARM en la estructura, el procesador entiende una señal de ~ 0 voltios como 0 bits y ~ 5 voltios como 1 bit. Es la definición elegida por alguien.
No entiendo completamente lo que estás preguntando aquí. Pero digamos que está mirando desde una perspectiva de software. Luego, el programa eventualmente se transformará en líneas de bits reales y una línea de bits que le indica a la CPU qué hacer con los bits. Estos se alimentan a la CPU (unidad de procesamiento) y, en función de la arquitectura del procesador, se realizará una acción sobre los datos.
Como mencioné un poco más arriba, es la forma en que se construyen las computadoras. Puede ejecutar el procesador con otros voltajes, pero no funcionará (creo). Porque se hace una definición particular sobre a qué voltaje un bit es 0 o 1.
Sí, básicamente señales analógicas. Pero tenga en cuenta que la mayoría de las veces estos son convertidos por un ADC (convertidor digital analógico) en un valor de bit que representa un voltaje predefinido en esa línea.
fuente