Les processeurs modernes utilisent une hiérarchie de technologies de mémoire. Les registres, intégrés à la puce, ont les temps d'accès les plus courts, mais sont chers et volatils. Le cache est un intermédiaire entre la RAM et les registres pour stocker les structures de données afin de réduire la latence entre la RAM et les registres. La RAM contient, pour la portée de cette requête, le code de programme actif et leurs structures de données. Le stockage non volatile est utilisé par les programmes pour enregistrer leurs données et contenir le système d'exploitation et ses programmes.
La latence d'accès aux données en mémoire a été un goulot d'étranglement majeur pour créer des processeurs plus rapides qui ne restent pas inactifs, dans l'attente d'instructions supplémentaires. En tant que tel, diverses méthodes ont été conçues pour paralléliser les charges de travail, les processeurs pour prédire le branchement pour masquer la surcharge d'accès à la mémoire, etc. Cependant, la complexité de ceci a apparemment ignoré une autre possibilité: un fichier de registre de mémoire entière.
Un tel processeur est construit avec 4, 8, 16, 32 Go ou plus, constitués de registres. Pas de cache. Pas de RAM. Juste le CPU, les registres sur la puce et le stockage externe non volatile (SSD / Flash, HDD, etc.).
Je comprends que la demande pour une telle puce ne sera probablement pas suffisante pour justifier le coût, mais je reste surpris que personne ne semble avoir conçu un appareil simple, tel qu'un MCU ou un SoC hautes performances avec une petite quantité de mémoire de registre uniquement. Y a-t-il d'autres défis (peut-être techniques) à la conception et à la construction d'une telle puce?
MODIFIER pour clarifier. Je ne fais pas référence à un processeur dans lequel toute la mémoire (technologie DRAM) est intégrée à la puce du processeur, ni à un cache étendu à plusieurs gigaoctets. Je pose des questions sur une conception dans laquelle les registres restent leur technologie existante ... juste étendus de quelques ordres de grandeur pour pouvoir contenir plusieurs gigaoctets de données.