¿Se implementan realmente los registros mapeados en memoria como registros reales?

0

Actualmente estoy tratando de entender mejor las arquitecturas de los microcontroladores y estoy estudiando el ARM cortex-m3 en este momento. Lo que siempre me he preguntado es si los registros asignados en memoria se implementan en realidad mediante algún tipo de circuito biestable como, por ejemplo, Los registros de propósito general son? Así, por registros asignados en memoria me refiero, por ejemplo, a Las contenidas en el Bloque de Control del Sistema de la corteza-m3.

¿También hay una diferencia teniendo en cuenta los registros de configuración del núcleo en comparación con los registros de control de periféricos que el fabricante agrega a la matriz? Además, a veces la memoria de configuración / comunicación que puede ser direccionada por sistemas de bus como i2c o modbus se conoce como registros, ¿son estos también registros reales?

    
pregunta sh4kesbeer

2 respuestas

3

Casi todos los registros se implementan como D-Flip-Flop.

Los que están en el Bloque de control del sistema, así como los que componen los periféricos, temporizadores, infraestructura, etc.

Algunos "bloques de registro" se implementan como memoria síncrona. Este es el caso si necesita el resultado de uno o máximo dos a la vez.
Si necesita leer solo uno de los muchos registros, ellos usan memorias sincrónicas de un solo puerto.
Si necesita leer un máximo de dos de los muchos registros, estos utilizan memorias síncronas de doble puerto.

  

la memoria de configuración / comunicación que puede ser direccionada por sistemas de bus como i2c o modbus se conoce como registros, ¿son estos también registros reales?

Para 'almacenar' (o escribir) algunos bits, un registro es la estructura más adecuada. Solo si tiene muchos, muchos bits, uno tiende a usar memorias de varios tipos, SRAM, EEPROM, FLASH, DDR. Si hablamos de registros de 'estado', se llega a un territorio menos definido. p.ej. Un 'bit de datos disponibles' puede provenir de la comparación de un nivel FIFO con cero. Pero un "desbordamiento" es probablemente un registro real que se establece cuando los datos llegan con un FIFO completo.

  

en realidad se implementan mediante algún tipo de circuito biestable como, por ejemplo, los registros de propósito general son?

Supongo que te refieres a un "circuito biestable" en un flip-flop con restablecimiento de configuración. o alguna otra configuración con puertas NAND o NOR con conexión cruzada.
La respuesta es NO .

Los registros se implementan como un par de inversores conectados de adelante hacia atrás: D Flip Flop basado en la puerta de transmisión. Este enlace tiene excelentes imágenes de cómo funcionan. Estos se utilizan para casi todos los registros de , también para lo que se denomina registros de "propósito general" . De hecho, en un chip no hay "registros de propósito general". Todos los registros son iguales.

    
respondido por el Oldfart
2

En los viejos tiempos, algunos "registros mapeados en memoria" se encontraban realmente en una memoria fuera del chip. Resultó una mala idea debido a problemas de ancho de banda, ya que las CPU se volvieron mucho más rápidas que la memoria masiva. La TI 9900 lo hizo de esta manera La implementación real en electrónica sería convencional SRAM o DRAM

    
respondido por el Dirk Bruere

Lea otras preguntas en las etiquetas