8 bits por memoria de celda?

Soy un estudiante de desarrollo de software, que quiere mejorar sus conocimientos de hardware.

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

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

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

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

Estoy seguro de que no quiere decir " no hay memorias con 8 bits/celular": nl.mouser.com/ProductDetail/Alliance-Memory/AS4C128M8D3-12BCN/… Y luego están EEPROM, FLASH, etc., ¡hay miles!

Respuestas (4)

Parece haber cierta confusión entre la organización de la memoria (que suele ser 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 norte diferentes niveles para norte pedacitos El flash MLC puede tener 2 o 3 bits por celda, lo que requiere 4 u 8 niveles. Se vuelve progresivamente 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.

Había/hay un sistema de almacenamiento IC analógico de ISD para grabadores de mensajes que almacenaba una señal analógica que, en teoría, podría haberse utilizado para almacenar 256 niveles con 8 bits por celda, pero no habría sido fiable excepto para el almacenamiento de valores analógicos.
Como dice @KalleMP, el producto ISD (ahora con otro nombre) es uno de los pocos que realmente hace esto. He usado sus productos para uso de grabación de voz analógica (como pretenden) y para ese propósito funciona muy bien.
@Russell Todavía tengo algunos rieles de las partes de ISD que quedaron de un proyecto publicitario hace años.
@SpehroPefhany También tengo algunos, creo que 2590, que se usan en las ayudas de comunicación habladas que solía hacer.

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

Entonces, una computadora de 64 bits tiene 8 celdas / palabra. Entonces, en efecto, es probable que sean sistemas x8

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

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

Primera edición de 1974, la que está leyendo probablemente de 1990. Lo curioso es que muchos sistemas aún permiten el direccionamiento de bytes. Si es rápido o deseable para ellos es otra cosa.

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

Lo que se "estandarizó" (¿qué estándar?) fue el byte (octeto) como tamaño fundamental en una computadora. Esto significa que, por lo general, las computadoras tienen cómo manejar números de 8 bits, incluso si son de 32 bits. Un byte tiene 8 bits en cualquier lugar, pero la palabra de la computadora puede tener otros tamaños, múltiplos 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 (MSB primero, LSB primero, etc.).

Pero, en los recuerdos, puedes encontrar muchos tipos. Puede encontrar una EPROM de 8 bits o una RAM de un solo bit (donde necesita agrupar 8 chips de 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 palabra, aún puede DIRECCIONAR todas las memorias en límites de 8 bits.

Por ejemplo :

Si su "celda" fuera 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, teniendo celdas de memoria de 32 bits (o 36, o 24, etc.), entonces, en ese caso, la "estandarización" era aceptar un solo tamaño de "celda" de memoria (8 bits) y tejer otras tallas a partir de eso.

Esto no quiere decir que un ordenador no pueda acceder a la RAM en racimos 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 todavía ve la memoria como si estuviera hecha de celdas de 8 bits.