Recordando Cosas Con Ordenadores

Este artículo es parte de una serie, acceder al índice de la serie.

Memoria del ordenador

Así que hemos aprendido sobre operaciones binarias y booleanas junto con puertas lógicas. Ninguno de estos, en particular puertas lógicas, puede hacer la segunda cosa más importante necesaria para la computación.

Esa es la capacidad de recordar.

Aquí es donde el ‘on’ y ‘off’ de binario entra en juego. Para que exista cualquier forma de memoria, debes tener algún tipo de mecanismo que pueda ocupar y transmitir más de un tipo de “estado”. Los Estados son una característica o aspecto que se puede distinguir de otro. Por ejemplo, una bombilla tiene tres estados: encendido (encendido), apagado (oscuro) y roto. Por supuesto, no podemos calcular roto, por lo que sólo se pegan con y fuera.

Ahora piensa en binario. Esta analogía debería comenzar a iluminar la conexión entre hardware binario y de computadora. Como se mencionó anteriormente, las puertas lógicas son los bloques de construcción del hardware computacional, actuando sobre un montón de “bombillas”. Este mar de “bombillas” es lo que llamamos “memoria”.

El término de ingeniería eléctrica para los contenedores de memoria que se encuentran en las computadoras modernas es “relé.” Un relé es un interruptor (como uno para una bombilla) que es invertido por la electricidad con el fin de controlar la electricidad. Entonces, ¿cuáles son estos conmutadores? Las computadoras modernas utilizan relés hechos de transistores de silicio. Usted no tiene que saber exactamente cómo funciona un “transistor de efecto de campo” para aprovecharlo. Sin embargo, en aras de la integridad he proporcionado un diagrama de una célula de memoria (un transistor y todos sus componentes de apoyo) como una pequeña caja negra con entradas y salidas.

blackbox

Si pone tensión (electricidad) en el pin de entrada y el pin de selección, el voltaje se manifestará y permanecerá en el pin de salida. El pin de salida permanecerá así siempre que haya un voltaje en el pin de entrada como templado por el pin de selección.

Acceso a memorias

Hay un gran número de dispositivos diseñados para almacenar información utilizando diferentes “estados”. En un disco compacto, por ejemplo, puede almacenar una serie / serie de bits en materiales reflectantes, en un disquete histórico y en la mayoría de los discos duros modernos se almacenan carga sobre una especie de disco para ser leído por una “aguja”. Estos ejemplos son ejemplos de “dispositivos serie” para almacenar datos. El mecanismo anterior, debido a su naturaleza, se aplica en el contexto de un circuito eléctrico y no está destinado al almacenamiento a largo plazo.

Para almacenar algo de valor además de “sí” y “no” necesitamos tener múltiples celdas de memoria. La adición de una célula de memoria a un grupo de células de memoria duplica automáticamente el número de estados generales diferentes, y por lo tanto el espacio de almacenamiento. Esto puede ilustrarse comparando el binario 10 con el binario 100. Recuerde que cada dígito binario representa una célula de transistor / memoria. La primera secuencia binaria tiene 2 bits (un máximo de 4 estados diferentes) y es el número decimal 2. La segunda secuencia binaria tiene 3 bits (un máximo de 8 estados diferentes) y es el número decimal 4. Ver cómo el número máximo de combinaciones individuales de unos y ceros dobles cuando sólo se agrega un bit?

¿Cómo podemos acceder a múltiples celdas de memoria para obtener sus estados, como 100 o 10? Aquí es donde entra en juego el concepto de “direcciones de memoria”. Cada bit en una computadora tiene una dirección específica, si usted tiene que especificar qué chip, conjuntos de direcciones de chips juntos, obtener la carga eléctrica de un disco, o especificar el número de un bit en un byte, cada bit tiene una ubicación dirección) en el ordenador. Podemos ver cómo funciona esto examinando un chip de memoria simplificado que contiene más de un bit de memoria.

26_ram_chip

El diagrama anterior representa un chip de memoria. Este chip podría tener 1 kilobit, o 1 megabit. Sea lo que fuere, hay un máximo numérico en la dirección que se le arroja. De hecho, los pines de dirección a veces pueden ser un indicador de la memoria máxima disponible en el chip: 8 pines, como arriba, podría significar que este chip de memoria tiene 256 bits diferentes. Cómo funciona es simple, a pesar de su compleja construcción. Envía voltajes por los diferentes pines de dirección. Esta combinación booleana (dirección numérica) es calculada por el circuito interno del chip de memoria para servir el relé específico y su carga (o su falta) al pin de datos.

Algo de esta naturaleza, aunque temporal, es adecuado para su uso como memoria de acceso aleatorio, en lugar de almacenamiento de datos en serie. Todos los medios de acceso aleatorio es que el mecanismo está listo para usar en cualquier oportunidad dada, no importa cuándo o dónde. El acceso aleatorio es conocido popularmente como el acrónimo RAM (suena como la palabra para un macho ovejas.)

El acceso a la memoria lleva tiempo, no mucho tiempo, pero toma una pequeña cantidad de tiempo. Por ejemplo, un chip de memoria puede tardar 20 nanosegundos desde el momento en que los voltajes se aplican en sus pines de dirección hasta cuando aparece el voltaje en su pin de datos de salida. Un nanosegundo es una milmillonésima de segundo. No parece mucho, ¿verdad? Las computadoras deberían estar operando a la velocidad de la luz que uno pensaría. Pero no lo hacen, ¿por qué? Resulta que una computadora moderna puede acceder fácilmente a la RAM mil millones de veces en un período muy corto. Como cualquier persona cuyos hábitos de gasto son pequeños pero prolíficos en el punto de venta, los dividendos finales pueden llegar a ser muy grandes. Por lo tanto, como usted programa en el futuro, ya sea en el montaje (que vamos a aprender primero), C ++ o PHP, tenga en cuenta que cada acceso a la memoria ralentiza la velocidad de su programa. En su mayor parte, a menos que esté haciendo algunos cálculos intensos, no notará la minúscula falta de velocidad, pero está ahí.

En el caso general, la memoria se almacena en múltiples chips de memoria encadenados de manera que una dirección produzca un número determinado de bits de salida en los pines de datos que luego se ensamblan en algo significativo. Vea el siguiente diagrama:

27_memory_chips

Estos diagramas muestran los chips de memoria de un ordenador como sólo contienen un bit de datos. Aunque esto puede ser cierto para algunas computadoras, muchas computadoras modernas ofrecen hasta 4, 8 o incluso más bits por dirección. Sin embargo, por convención, cada byte tiene una dirección en el ordenador independientemente de si sirve 8, 16, 32 o 64 bits.

Medir el bit

Los pines de datos de los chips de memoria se ensamblan en series de voltajes que representan algún ‘número’ o pieza de ‘información’. Siguiendo el patrón de potencias de 2 encontramos varios tamaños de información producidos a partir de estos conjuntos de chips de memoria. Hay el nybble que es 4 pedacitos, el byte que es 2 nybbles, una palabra que es 2 bytes, una palabra doble es 2 palabras, y una palabra del patio es 2 palabras dobles. He reunido una lista a continuación:

Nybble
4 bits
Byte
2 Nybbles – 8 Bits
Word
2 Bytes – 16 Bits
Double Word
2 Words – 32 Bits
Quad Word
2 Double Words – 64 Bits

Es raro ver un dispositivo de computación acceder a algo más pequeño que un byte como un nybble. El término continúa en la oscuridad como lo conocemos, por lo que lo vio aquí gente. Esto no quiere decir que los ordenadores modernos funcionen ahora byte por byte, por el contrario sus chips de memoria pueden devolver información sobre 8 pines de datos (un byte entero) y sus procesadores pueden operar en cuatro palabras o incluso más alto ) como la Playstation 3 con su procesador de celdas.

Si esto está empezando a abrumar a usted, como sé que me lo haría y me inclinaría a dejar de leer, hay esperanza. Con la ayuda de la mayoría de los sistemas operativos modernos combinados con los circuitos internos de la computadora rara vez se va a dirigir directamente a un punto en el sistema. Casi terminas diciendo a la computadora cuál es la dirección en memoria que crees que quieres para tu programa y la computadora (sistema operativo, etc.) localiza la ubicación exacta del hardware y devuelve su valor. Esto es importante cuando se trata de programas que tienen su propio espacio de memoria para acceder. La dirección de un programa y la dirección de otro programa pueden ser iguales, pero apuntan a dos lugares diferentes dentro de la computadora física. Esa es la parte más bonita: la computadora (sistema operativo) se encarga de eso para nosotros.

La moraleja de la historia

En conjunto, el punto de este artículo es que cada byte ‘alojado’ en el equipo, ya sea en un dispositivo serie o parte de la memoria RAM, tiene su propia dirección numérica única.

Al escribir o hablar de estas direcciones directamente se escriben generalmente en hexadecimal así: 0x000F. Eso tendría acceso al byte 15.

Espero que te hayas divertido leyendo este artículo y que hayas aprendido algo útil.

Este artículo es parte de una serie, acceder al índice de la serie.

Si usted aprecia mis tutoriales y su sabiduría, por favor considere apoyarme en Patreon.

Sin embargo, si un compromiso mensual es un poco demasiado necesitado para usted, podría considerar comprarme una taza de café.

photo credit: Sheep feeding via photopin (license)

También te podría gustar...

Deja un comentario

A %d blogueros les gusta esto: