No, tu razonamiento no es correcto.
En primer lugar, echemos un vistazo a sus matemáticas.
El dispositivo es de 256kbits. Eso significa que contiene una matriz de 32 kbytes, que equivale a 32768 bytes.
32768 es 2 15 , por lo que una dirección puede representarse usando 15 bits, o redondearse, solo 2 bytes.
Es decir, tiene las direcciones 00000000 00000000 a 01111111 11111111.
Puede ver todo esto observando la figura 5-2 en la hoja de datos a la que vinculó:
Entonces,despuésdeenviarelbytedecontrol,envías2bytesdedirección.Cualquierbytededatossigueesasecuencia.Entoncessí,esoestresbytesentotal,perosolodosdeellossonladirección.
Laconfiguracióndeesadirecciónsolodebehacerseunavezporsecuenciadeescritura.Noestáslimitadoasoloescribirunbyte.
Unavezquehayaestablecidoladirección,puedeescribirhasta64bytes(ohastaelfinaldelapáginaactualde64bytes)sintenerqueenviarunanuevadirección.Entonces,podríaestablecerladirecciónen23yluegoescribirlosbytes23,24,25,26,27.Esoseríauntotalde3bytesparaladireccióndecontrol+,luego5bytesparalosdatosquesuman8bytes.Sicalcula8/5,obtiene1.6,loquepodríadecirsequeesla"eficiencia" de la transacción. Por cada byte de EEPROM que escribas así, necesitas 1.6 bytes para hacerlo. Escribir más bytes a la vez mejora esa eficiencia.
La mejor eficiencia es escribir una página entera a la vez, lo que sería \ $ \ frac {3 + 64} {64} = 1.046875 \ $.
Cuando se trata de leer, las cosas son ligeramente diferentes. Esto se debe a que el chip mantiene su propio puntero de dirección interno para la lectura. Una vez que haya establecido la dirección, se incrementará automáticamente a la siguiente dirección después de leerla.
La configuración de la dirección toma 3 bytes como antes: el byte de control más los dos bytes de dirección. Pero luego, para leer realmente, debe realizar otra transacción con otro byte de control. Así que para leer un byte toma 1 + 2 + 1 + 1 bytes. Eso sería una eficiencia de \ $ \ frac {1 + 2 + 1 + 1} {1} = 5 \ $ que no es tan eficiente en absoluto. Sin embargo, las cosas se vuelven mucho más eficientes si haces uso de ese puntero de dirección interno y lees varios bytes. Para tomar las direcciones de ejemplo que usamos para escribir, la eficiencia para la lectura sería \ $ \ frac {1 + 2 + 1 + 5} {5} = 1.8 \ $ - un gran aumento en la eficiencia.
Así que hay otros pequeños trucos que puedes usar. Si desea leer dos bytes cercanos entre sí en la EEPROM, puede ser más eficiente hacer una lectura secuencial de toda la memoria entre los dos bytes de interés y eliminar los bytes en los que no está interesado.
Y sí, esto es bastante típico de todos los dispositivos EEPROM en esta clase. Pero en realidad no pretenden ser particularmente rápidos, sino que contienen pequeñas cantidades de información de configuración para un sistema que se lee una vez durante el inicio y no se hace referencia a él desde ese momento. Para un rendimiento más rápido y pesado, normalmente usaría un dispositivo Flash en serie en lugar de EEPROM. Tienen una mayor capacidad y un acceso más eficiente, pero escribir en ellos es más complicado ya que tiene que borrar una página completa antes de escribirla. A menudo se usan en estos días como los chips de BIOS en las computadoras, especialmente en las computadoras portátiles, donde hay mucha lectura y poca escritura.