La RAM du calculateur : mémoire de travail, cache et RAM sauvegardée
Les fiches sur la flash décrivent la mémoire non volatile — celle qui survit à la coupure. Mais un calculateur repose tout autant sur sa mémoire volatile, la RAM, qui perd son contenu dès qu'on la prive d'alimentation. Comprendre ses trois formes éclaire des comportements que l'on rencontre en atelier, à commencer par la perte des adaptatifs après un débranchement de batterie.
La RAM de travail : rapide et éphémère
Le cœur du calculateur calcule dans de la SRAM : mémoire de travail où vivent les variables de l'instant — grandeurs mesurées, résultats intermédiaires, consignes en cours. Elle est très rapide (accès sans temps d'attente pour les zones locales aux cœurs, les scratchpad DSPR et PSPR évoqués dans l'architecture multicœur) mais totalement volatile : à chaque coupure du contact, son contenu s'efface et se reconstruit au démarrage suivant. Rien de ce qui doit durer n'y est stocké. Sa fiabilité est protégée par l'ECC en SEC-DED, car une erreur dans une variable de calcul serait tout aussi grave qu'une erreur en flash.
Le cache : accélérer l'accès à la flash
La flash programme, même rapide, reste plus lente que le cœur. Pour ne pas attendre à chaque instruction, le microcontrôleur intercale un cache et des tampons de lecture entre la flash et le processeur. Le cache garde sous la main les instructions et données récemment lues, exploitant le fait qu'un programme repasse souvent par les mêmes zones. C'est un rouage de performance, invisible au motoriste, mais qui explique en partie pourquoi un calculateur récent tient le temps réel malgré des cartographies volumineuses. La distinction entre région cachée et non cachée se retrouve d'ailleurs dans l'adressage décrit par la carte mémoire d'un calculateur.
La RAM sauvegardée : la KAM
C'est la troisième forme, et la plus intéressante côté terrain. Certaines données changent trop souvent pour la flash, mais doivent survivre à l'arrêt du moteur : les adaptatifs appris — corrections de richesse, régime de ralenti, points de passage de boîte, apprentissages de fonctionnement. Une solution historique consiste à les garder dans une RAM à sauvegarde permanente, la KAM (Keep-Alive Memory) : de la SRAM alimentée en continu par un fil relié directement à la batterie, même contact coupé. Tant que ce fil délivre sa tension, la donnée reste ; qu'on débranche la batterie, et elle s'efface.
Pourquoi débrancher la batterie efface les adaptatifs
C'est l'explication d'un phénomène bien connu : après un débranchement de batterie prolongé, un véhicule peut avoir un ralenti irrégulier, des à-coups ou une réponse différente pendant quelque temps. La KAM a perdu ses apprentissages, et le calculateur repart de valeurs par défaut. Il lui faut ensuite réapprendre au fil des kilomètres, généralement sur plusieurs dizaines de kilomètres de conduite variée, avant de retrouver son réglage fin. Ce n'est pas une panne : c'est le comportement normal d'une mémoire volatile qui a été coupée. La logique d'apprentissage rejoint celle des corrections de richesse et des seuils de plausibilité.
KAM d'hier, data flash d'aujourd'hui
Il faut nuancer selon les générations. Les calculateurs récents tendent à stocker ces adaptatifs dans la data flash émulée (voir l'EEPROM émulée) plutôt que dans une KAM sur fil permanent, ce qui les rend insensibles au débranchement de batterie. Mais le principe reste utile à connaître, car il explique le comportement d'un large parc de véhicules et le sens de certaines procédures de réinitialisation d'adaptatifs. Selon l'architecture, débrancher la batterie efface donc tout, une partie, ou rien des apprentissages — d'où l'intérêt de savoir ce que le calculateur concerné place où.
Ce que le reprogrammateur doit garder à l'esprit
Deux constats pratiques. D'abord, la RAM ne porte jamais ce qui doit durer : une lecture de calculateur ne capture pas les variables de l'instant, seulement le contenu non volatile. Ensuite, un comportement transitoire après une intervention — ralenti instable, réponse changée pendant quelques trajets — n'est pas nécessairement un défaut : ce peut être un simple réapprentissage d'adaptatifs perdus. Distinguer une vraie régression d'un réapprentissage en cours évite des diagnostics inutiles et des inquiétudes injustifiées, chez le motoriste comme chez le client.
RAM locale, RAM globale et domaine permanent
Toutes les RAM d'un calculateur ne se valent pas. Les scratchpad DSPR et PSPR sont locales à chaque cœur et d'accès immédiat ; une mémoire globale, partagée entre les cœurs via l'interconnexion, sert aux données communes ; et une petite zone peut être maintenue par un domaine d'alimentation permanent pour conserver quelques informations au repos. Comme la flash, ces mémoires sont protégées : parité ou correction d'erreur sur les zones critiques, et vérification croisée pour celles qu'utilise la chaîne surveillée en Lockstep. Cette hiérarchie explique des choix d'implantation invisibles au motoriste mais bien réels : une variable de la boucle d'injection vit dans la RAM la plus rapide et la mieux protégée, un tampon de communication dans la mémoire globale. Le fil conducteur reste le même : rien de ce qui doit survivre à la coupure n'habite la RAM, et la reconstruction de l'état volatile au démarrage fait partie du fonctionnement normal. Confondre la mémoire de travail avec la mémoire de stockage conduit à chercher au mauvais endroit ce qu'une lecture de calculateur peut, ou ne peut pas, contenir — une confusion que la connaissance de ces trois formes de RAM suffit à dissiper.
Voir aussi l'architecture multicœur et le Lockstep, l'EEPROM émulée et la carte mémoire d'un calculateur.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
