8 bits por memoria de celda?

2

Soy un estudiante de desarrollo de software, que quiere mejorar su conocimiento de hardware.

Estoy leyendo Organización estructurada de computadoras por Tanenbaum . En el capítulo 2, el autor dice lo siguiente:

  

"[...] En los últimos años, casi todos los fabricantes de computadoras han estandarizado en una celda de 8 bits [...]".

Pensé que esto era correcto, pero al buscar en Internet, descubrí que no hay recuerdos con 8 bits por celda.

Entonces, mi pregunta es: ¿Es un error del autor o malentendí lo que trató de explicar? Si es así, ¿cuál es, "generalmente", la cantidad de bits por celda y cómo puedo ver los bits por celda de mi memoria?

    

4 respuestas

1

Parece que hay cierta confusión entre la organización de la memoria (que generalmente es múltiplos enteros de 8 bits de ancho) y los bits por celda de memoria.

El almacenamiento de más de un bit por celda se puede lograr almacenando un voltaje analógico que se puede diferenciar en \ $ 2 ^ n \ $ niveles diferentes para \ $ n \ $ bits. flash MLC puede tener 2 o 3 bits por celda, lo que requiere 4 u 8 niveles. Se vuelve cada vez más difícil y, por lo tanto, más propenso a errores y malos rendimientos a medida que aumenta el número de bits.

    
respondido por el Spehro Pefhany
4

Deben significar que una unidad direccionable más pequeña es de 8 bits, lo que se denomina byte , o incluso a veces llaman a esa unidad direccionable más pequeña como una celda. Al agrupar estas celdas, se obtiene una palabra.

Por lo tanto, una computadora de 64 bits tiene 8 celdas /word. En efecto, es probable que sean sistemas x8

    
respondido por el rahdirs
2

Esta cita parece estar usando la palabra "celda" para referirse a una ubicación de almacenamiento direccionable, donde la mayoría de nosotros consideramos que una celda es una cosa capaz de almacenar un bit.

No conozco la antigüedad de ese libro, pero los CI de memoria más antiguos se organizaron para que cada ubicación direccionable almacenara 8 bits (1 byte, o palabra de memoria).

    
respondido por el Peter Bennett
1

Hay tantos tipos de memoria que es difícil de responder.

Lo que estaba "estandarizado" (¿qué estándar?) era el byte (octeto) como un tamaño fundamental en una computadora. Esto significa que, normalmente, las computadoras tienen cómo tratar con los números de 8 bits, incluso si son de 32 bits. Un byte es de 8 bits en cualquier parte, pero la PALABRA de la computadora puede tener otros tamaños, se multiplica de un byte (por ejemplo, una palabra de 32 bits que se compone de cuatro bytes, etc.). Incluso podría organizar esos bytes en diferentes órdenes (primero MSB, primero LSB, etc.).

Pero, en los recuerdos, puedes encontrar muchos tipos. Es posible que encuentre una memoria EPROM de 8 bits o una RAM de un solo bit (donde necesita agrupar 8 chips ram para obtener un solo byte, etc.). O incluso memorias completas de 64 bits que transfieren palabras de 64 bits a la vez.

Pero, incluso cuando todas las memorias tienen diferentes tamaños de palabras, aún puede DIRIGIR todas las memorias en límites de 8 bits.

Por ejemplo:

Si su "celda" era de 32 bits, así se almacenaría el programa en la memoria:

100 add r1, r2, r3
101 sub r3, r5, r1
102 br 100

Si su "celda" es de 8 bits, así es como se almacena en la memoria:

100 add r1, r2, r3
104 sub r3, r5, r1
108 br 100

En el pasado, algunas computadoras funcionaban como el primer ejemplo, con celdas de memoria de 32 bits (o 36, o 24, etc.), por lo que, en ese caso, la "estandarización" era aceptar un tamaño de "celda" de memoria única (8 bits) y trabajar otros tamaños a partir de eso.

Esto no significa que una computadora no pueda acceder a la RAM en bloques de otros múltiplos de 8 bits (16, 32, 64, etc.). Es posible que tenga instrucciones como

 MOV EAX, [BP+10000] // hipotetical, i dont know if this addressing mode exists
 // wich will transfer 4 bytes in a single cycle into the EAX.

Pero el BP + 10000 en la instrucción aún considera que la memoria está formada por celdas de 8 bits.

    
respondido por el Jorge Aldo

Lea otras preguntas en las etiquetas