¿Hay algo más bajo que el nivel de bits de 1s y 0s?

8

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?

Yuran Pereira
fuente
2
Solo quiero comentar sobre su "ausencia de electricidad" | "La ausencia de una señal nunca debe usarse como señal". - Julian Bigelow, 1947. "
Dylan Meeus
2
En cierto sentido, supongo que la respuesta a su pregunta es que existe un "lenguaje" subyacente en la física de la electricidad en la que se basan los circuitos. Básicamente, la naturaleza es como una máquina de Turing y la disposición de los cables y componentes es como la cinta de entrada. Para abordarlo desde un ángulo diferente: las computadoras funcionan manipulando señales analógicas (que varían continuamente en el tiempo, espacio, magnitud, etc.) e interpretándolas como aproximadamente digitales (que varían discretamente, como números enteros, en tiempo, espacio y magnitud). Tienes razón en que 0 y 1 solo significan diferentes cantidades de electricidad.
Patrick87
1
Solo para aclarar a Yuran, lo tienes al revés cuando dices que usamos 0s y 1s para representar la electricidad. Usamos electricidad para representar 0s y 1s.
jmite
Aquí está la tesis de maestría de Claude Shannon , MIT 1937: cs.virginia.edu/~evans/greatworks/shannon38.pdf . Explica cómo el álgebra booleana y los circuitos de relé pueden usarse como modelos entre sí.
Wandering Logic
1
Hay, pero no es el tema de este sitio. Es posible que desee responder sus preguntas sobre cómo construir procesadores de alambre a ingeniería eléctrica .
Raphael

Respuestas:

8

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 con0s y 1s. 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 1o 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.

Yuval Filmus
fuente
3

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, :

  • Un caso de estudio interesante aquí es el flip flop lógico (ver también Cómo entender el SR Latch ) que, debido a que tiene un ciclo de retroalimentación, no puede analizarse lógicamente en términos de 0 y 1 y debe analizarse más como un dispositivo analógico
  • El momento del circuito es crucial para comprender la naturaleza dinámica del flip flop. Una forma especialmente útil de entenderlo es un diagrama de voltaje / tiempo.
  • "debajo" de 0's y 1's de circuitos lógicos son voltajes analógicos continuos / no discretos, y se puede decir que la electrónica binaria "controla" estrictamente las señales analógicas en límites altamente restringidos.
  • Hay casos en los que esto "se rompe", por ejemplo, en un chip IC , la electrónica de las compuertas defectuosas o los diseños marginales pueden hacer que el chip falle y se caiga del "sobre" binario.
  • Otro componente básico de la electrónica no binaria es el ruido . Gran parte del diseño de IC puede considerarse como control / minimización. de hecho, la electrónica binaria puede verse como un medio de eliminar el ruido de los circuitos para lograr señales "sin ruido".
vzn
fuente
1
Las chanclas se pueden analizar lógicamente: los valores de los cables en el momento t+1 depender de sus valores en el momento t y el valor de la entrada o entradas en el momento t.
Yuval Filmus
sí, pero en contraste los circuitos sin retroalimentación pueden analizarse sin el concepto de tiempo, y la "lógica" en matemáticas no tiene un concepto fundamental del tiempo (en fuerte contraste con CS / EE exactamente como en el ejemplo). Además, vincular la salida a la entrada de la misma puerta no tiene mucho sentido puramente "lógicamente" sin el concepto de tiempo y una dirección de corriente.
vzn
1
Los programas se analizan rutinariamente con el concepto de tiempo. Siempre que tenga variables mutables, debe tener esto en cuenta.
Yuval Filmus
bien, por supuesto. esa es la amplia concepción completa de Turing o EE de "lógica". Los sistemas de lógica matemática anteriores / más limitados, por ejemplo, lógica proposicional o álgebra booleana (que de otro modo serían circuitos de modelos grandes) no tienen concepto del tiempo. por cierto, los circuitos integrados defectuosos son una parte ineludible del proceso de fabricación y los chips "aprobados / verificados" se denominan rendimiento .
vzn
1

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.

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.

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.

pero ser números binarios no significaría que necesitaríamos otro intérprete / compilador para transformar el binario en lenguaje de máquina real?

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.

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?

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.

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?

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.

pwghost
fuente