¿Cómo llamar a las celdas de la memoria en una computadora o un microcontrolador?

1

No sé si este es el foro adecuado para publicar esta pregunta, pero lo pensé porque este foro es para educadores y soy capacitador y mi pregunta está relacionada con la educación.

Quiero hacer una introducción para un manual técnico sobre los conceptos básicos del microcontrolador y llegar al capítulo de memoria.

Comencé con una definición para los tres tipos principales de memoria en un microcontrolador, que son:

  1. Memoria de programa (ROM): que es básicamente una memoria flash para almacenar el archivo HEX del programa para su ejecución.
  2. Memoria de datos (RAM): que es para procesar datos durante el funcionamiento del microcontrolador, pero los datos se pierden después de reiniciar el microcontrolador.
  3. EEPROM: que tiene la ventaja de leer y escribir datos durante el funcionamiento del microcontrolador y también mantener los datos después de reiniciar el dispositivo.

Luego, publiqué una imagen del diagrama de bloques del microcontrolador y cómo se conecta a las unidades internas como subtítulo del capítulo de memoria.

El siguiente subtítulo es el término "registros", ya que son el bloque de construcción de cualquier tipo de MEMORIA en la computadora, ya sea ROM, RAM o EEPROM. Porque encontré esta información en un sitio web y quiero estar seguro.

Este es el enlace al sitio web:

Enlace

Sección 5.1: Registros. Como la sección anterior es 4. Memoria del programa.

Luego, en la sección 5. Memoria de datos, el autor explica las partes de la memoria de datos que son:

  • 5.1 registros
  • 5.2 Bits y bytes

Entonces, mi pregunta aquí es: los registros son celdas de memoria para cada tipo de memoria, y la diferencia es que la memoria ROM son registros no volátiles, RAM son registros volátiles y EEPROM también son registros no volátiles. Así que todos son básicamente de registro.

=============================================== ======

Add1: Quiero agregar esta imagen que encontré en un libro electrónico:

Por lo tanto, la única memoria llamada registros es la CPU que registra otras memorias llamadas simplemente memoria. Pero ¿qué hay de la disposición en el sector de los microcontroladores?

=============================================== ======

Mi pregunta actualizada es ¿en qué se diferencian los registros de otras celdas de memoria en otros tipos de memorias? Me gusta, memorias flash y EEPROM.

    
pregunta Perch Eagle

5 respuestas

6

En mi opinión, un registro es una ubicación de almacenamiento que se encuentra dentro de la CPU, o directamente accesible por la CPU, como el Acumulador, los registros de índice y cosas similares. No diría que EPROM, FLASH y RAM tienen registros.

Si observa el conjunto de instrucciones en lenguaje ensamblador para un microprocesador o microcontrolador, verá que algunas instrucciones se ocupan de los registros, mientras que otros tratan del acceso a la memoria RAM, EPROM o FLASH, por lo que el procesador ve un registro como algo diferente. que una ubicación de memoria.

    
respondido por el Peter Bennett
3

Creo que encontrará que la terminología no está escrita en piedra y que diferentes autores usarán términos diferentes. Lo importante, por supuesto, es tener claro que hay diferentes términos para la misma cosa y términos similares para diferentes cosas.

Si el libro trata sobre ingeniería, las diferencias tienen más relevancia, ya que se implementan de diferentes maneras. La importancia de eso dependerá del propósito y la audiencia de su libro. "Memoria" puede referirse a muchas cosas. El "registro" se usa a menudo para las pocas celdas de memoria directamente direccionables definidas en la arquitectura (lenguaje de máquina). No olvide que el espacio en el disco a veces se denomina "memoria" como lo es la memoria caché cuando está disponible.

Hay una gran variedad de cosas que varían en la volatilidad. Algunas son estables solo cuando hay electricidad presente, otras son estables cuando están apagadas. Eprom es en realidad volátil, pero a través de un camino diferente.

Pero, en general, evitaría tratar de dar una definición sólida a los estudiantes, ya que escucharán definiciones diferentes más adelante y pueden confundirse si parece definitivo.

    
respondido por el Buffy
1

No, los registros son generalmente celdas RAM dedicadas a un solo propósito. En los diseños actuales de µC, los únicos registros especiales son el contador del programa, el puntero de la pila (retorno) y varios registros de estado y control.

Es posible que haya más registros, pero para un µC con RAM incorporada, son diferentes de las celdas de RAM normales solo por los modos de direccionamiento disponibles. Por lo general, el direccionamiento indirecto y / o indexado solo está disponible si una o ambas partes de la dirección se toman de dicha celda RAM de registro. Esto se debe a las limitaciones en el tamaño del código de operación generalmente (por ejemplo, solo 4 bits para seleccionar una celda de RAM que contiene la dirección indirecta). Además, las operaciones requieren dos operandos, por ejemplo. agregando, también puede requerir que un operando esté en una celda de registro RAM por la misma razón.

Para fines educativos, pondría a un lado un contador de programa, un puntero de pila y un registro de estado y dibujaría los registros de propósito general como parte del bloque de memoria RAM.

    
respondido por el Janka
0

Resumiría la distinción entre registros y memorias de la siguiente manera:

  1. Un "registro" es un bloque lógico con función principal para bloquear y recordar algunos datos en el momento de la llegada de un borde del reloj . Los datos pueden fluir a lo largo de muchos elementos de registro, pero solo el conjunto seleccionado consiguió que los datos se recuerden cuando se "seleccionan" y el reloj cambia. Por lo tanto, un registro generalmente tiene varias funciones más incorporadas, como "Restablecer" al estado inicial, "Establecer" al estado opuesto y "habilitar / seleccionar" estas funciones. Sin la opción "Seleccionar", la celda de registro ignora el cambio de datos.

  2. Una memoria es generalmente un conjunto de registros de diferente organización en términos de tamaño paralelo (número de bits por palabra de memoria / registro) y el número de columnas direccionables, con funciones de acceso generalmente simplificadas. Por ejemplo, la memoria masiva no tiene la función "Restablecer" o "Establecer", por lo general tiene algún decodificador de dirección que permite habilitar una fila de bits (palabra), lo que permite que los datos se capturen en un borde del reloj, mientras que otros Las "palabras de memoria" que se conectan al mismo bus de datos ignoran los datos y continúan "recordando" la última operación de escritura. Este tipo de memoria se llama "estática". La implementación mínima de hardware requiere seis transitores por bit, la arquitectura 6T clásica .

  • La función principal de la memoria es recordar un poco de datos. Con una reducción sustancial de la funcionalidad de acceso aleatorio, la función de memoria se puede realizar con un solo capacitor con baja fuga y un transistor. Con algunos circuitos adicionales alrededor y una organización de página especial, se puede tener " memoria dinámica celda "
  • Lafuncionalidaddelaceldadeunataparequiereunasecuenciadeaperturadecompuertadefila/columna,paraquelacargaingreseenlaubicacióndememoriaadecuada,yunafunciónde"actualización" periódica para mantener los niveles de carga en estados altos o bajos. Se llama DRAM, memoria de acceso aleatorio dinámico, que se utiliza en todas las computadoras modernas como memoria principal del sistema.

    1. ROM - Memoria de solo lectura, podría ser cualquiera de las anteriores, con función de escritura protegida. Hay ROM reprogramables, como memorias borrables eléctricamente, o podrían ser las llamadas memorias "enmascaradas" donde el contenido no puede alterarse.
    respondido por el Ale..chenski
    0
      

    Mi pregunta actualizada es ¿en qué se diferencian los registros de otras celdas de memoria en otros tipos de memorias? Me gusta, memorias flash y EEPROM.

    Bueno, Flash y EEPROM no son volátiles. Esa es la mayor diferencia.

    En cuanto a la diferencia de RAM ...

    Hay CPU por ahí donde los registros son solo los primeros bytes de RAM. La diferencia es cómo los aborda en opcodes. Los registros se pueden direccionar con solo unos pocos bits porque solo hay unos pocos seleccionados. Por otro lado, la memoria RAM es grande y usualmente usas un registro para abordarlos. O el código de operación tiene bytes adicionales adjuntos para la dirección (solo en CISC).

    En las computadoras modernas, la RAM también se construye de manera diferente, también llamada memoria dinámica. Las celdas de memoria son básicamente condensadores que se agotan con el tiempo y usted tiene que recargarlos constantemente. RAM también se aborda en una matriz. Algunos bits especifican una fila y otros una columna. Acceder a los datos en la misma fila es más rápido que cambiar de fila. La lectura de la memoria RAM es destructiva y necesita volver a escribir los datos después de una lectura para preservarlos. Todo esto es manejado por el controlador de memoria. Así que hay algo entre la CPU central y la memoria (también hay cachés y la MMU allí).

    Por otro lado, los registros son (afaik) siempre estáticos o flip flops hacia arriba. Se almacena un valor en ellos y solo se mantienen en esa estadística mientras tengan poder. En las CPU de escritorio / servidor modernas, los registros que utiliza en el ensamblador no existen en absoluto en la CPU. En su lugar, la CPU tiene un archivo de registro más grande y los registros en el código de operación se vuelven a asignar dinámicamente en el archivo de registro más grande. Esto resuelve el problema de los códigos de operación que leen y escriben el mismo registro o los códigos de operación posteriores que sobrescriben un registro de un código de operación anterior cuando la CPU es superscalar.

    Si ignora todos los detalles de su implementación, los registros y el ram son totalmente iguales. Es solo la forma en que se utilizan, su velocidad y su costo lo que difiere. Los registros son las calcomanías post-it que guardas en tu escritorio, mientras que los carnets son las libretas que guardas en un estante para cuando escribes la próxima gran novela americana. Todo es solo papel, excepto que no.

        
    respondido por el Goswin von Brederlow

    Lea otras preguntas en las etiquetas