¿Cómo reconoce una computadora los números 0s y 1s? [cerrado]

-4

No estoy muy seguro de si este es el sitio correcto para esto, pero de todos modos, escuché que cada vez que se compila un programa de computadora, se convierte en 0 y 1. Pero, ¿cómo una computadora reconoce 0s y 1s? Una computadora es eléctrica y la electricidad no puede leer. Entonces, ¿cómo hace una computadora para leer 0s y 1s?

    
pregunta Max

4 respuestas

4

Cuando la gente dice 1s y 0s, a lo que realmente nos referimos son los niveles lógicos, donde un 0 se refiere a un nivel 'bajo' y un 1 se refiere a un nivel 'alto'. Dado que estos son solo niveles de voltaje, la computadora puede reconocer y operar en estos de forma nativa.

Además, un programa de computadora generalmente se almacena como 0s y 1s antes de compilar también, ya que todo en su computadora se almacenará de esa manera. Sin embargo, después de compilar, obtendrá un archivo lleno de lo que se llama código de máquina. El código de máquina es una lista de instrucciones binarias (a diferencia del texto como el código fuente original) que los circuitos del procesador pueden interpretar directamente.

Editar: agregando más detalles ya que los comentarios son demasiado cortos. Digamos que tienes un programa sentado en la memoria RAM. La memoria RAM en su computadora se llama DRAM. Una 'celda' de DRAM contiene un 'bit' de información, ya sea un 0 o un 1. Una celda de DRAM consiste en un solo transistor y un solo capacitor. El transistor se puede encender para permitir el acceso al capacitor, ya sea para cargarlo y almacenar un 1, descargarlo y almacenar un 0, o leer la carga almacenada. Un chip DRAM moderno tendrá varios miles de millones de estas celdas, junto con demultiplexores de direcciones, amplificadores de sensores, circuitos de interfaz de bus, temporizadores de actualización automática, etc. El chip DRAM está conectado al procesador con dos buses paralelos anchos y algunas líneas de control. Los buses son el bus de direcciones y el bus de datos. El bus de dirección le dice al chip de memoria a qué celdas acceder, y el bus de datos lleva los datos en la dirección apropiada. Cada bus es simplemente un grupo de cables en paralelo, y cada cable puede configurarse en un nivel "alto" o en un nivel "bajo". Estos generalmente corresponden a los niveles de alimentación. Por ejemplo, DDR2 SDRAM utiliza un estándar IO llamado SSTL_18, que define un 'cero' como 0 voltios y un 'uno' como 1,8 voltios. De todos modos, su programa se almacenará en una secuencia de estas celdas en un chip DRAM. En una celda DRAM, un 1 corresponde a una celda con un capacitor cargado, y un 0 corresponde a una celda con un capacitor vacío. Para leer el contenido de la memoria, el procesador maneja una dirección en el bus de direcciones y establece las líneas de control para indicar a la lógica de los chips DRAM que lean los datos en esa dirección. La lógica en el chip DRAM conectará las celdas particulares a los amplificadores de los sentidos y leerá la carga almacenada en ellos. Estos niveles serán expulsados de los chips DRAM en el bus de datos hacia la CPU. La CPU leerá los niveles de tensión en el bus de datos con búferes de entrada, adaptando la tensión de la tensión del bus de memoria a la tensión interna de la CPU. Una vez dentro del núcleo de la CPU, lo más probable es que los datos se escriban en una memoria caché basada en SRAM. SRAM almacena cada bit de datos en celdas SRAM que generalmente consisten en 6 transistores. Una vez que la CPU esté lista para ejecutar el código, se copiará fuera de la memoria caché y en un bus de instrucciones interno. La lógica dentro de la CPU interpretará el patrón de bits en el bus y luego realizará las acciones necesarias para ejecutar la instrucción.

    
respondido por el alex.forencich
2

Cuando HUMANOS mira unos y ceros, vemos "1" o "0" en una pantalla, o impresos en papel, o incluso como un LED que está oscuro o encendido. Pero lo que un COMPUTADOR "ve" como un cero lógico es cero voltios, y uno lógico como un voltaje predeterminado como 5V. (Más bajo en las CPU modernas, etc., pero nunca cero.)

Exactamente de la misma manera que un interruptor de luz en la pared. Un HUMANO ve el interruptor de la luz físicamente en una u otra posición, pero la luz "ve" la alimentación principal y se enciende, o "ve" la potencia cero y no puede encenderse.

Dices "es imposible programar una tensión". Pero eso no es correcto. Eso es EXACTAMENTE lo que estás programando. Se reduce a 0V (cero lógico) o 5V (uno lógico).

    
respondido por el Richard Crowley
0

La forma en que lo entiendo es: Una computadora tiene componentes que reconocen la presencia de + voltaje. si hay + voltaje es 1 si no hay + voltaje es 0.

    
respondido por el Allan Mayers
0

Los transistores se pueden usar de dos maneras, sabemos que son capaces de amplificar cosas, alimentan una señal de voltaje X y se obtiene una señal de voltaje X * Y. Pero esa es la región lineal. Solo puede ir tan alto o tan bajo como la fuente de alimentación o los rieles de voltaje. Así que también puedes usarlos como interruptores, forzándolos a través de la región lineal y golpeando en el riel alto o bajo. Tome un par de transistores, agregue algunos otros componentes elementales y podrá construir eléctricamente Y, O, NO, etc. circuitos. Y a partir de eso, puede conectar cualquier tipo de ecuación booleana que desee. Ahora tome cosas que oscilan, cristales o simplemente utilizando la naturaleza de la velocidad de los electrones a través de un material y retroalimentación, puede crear un "uno", "cero", "uno" ... "reloj". alimenta el reloj en las ecuaciones booleanas y podrás construir computadoras. Juegue con retroalimentación un poco más y / o aproveche los componentes eléctricos, como los condensadores o el magnetismo, y podrá almacenar unos y ceros para recuperarlos más adelante. El almacenamiento y la recuperación no son más que ecuaciones booleanas construidas por compuertas lógicas elementales compuestas por transistores y otros componentes elementales.

    
respondido por el old_timer

Lea otras preguntas en las etiquetas