Trudeau, Louis-Charles (2015). Conception d’une mémoire cache L1 asynchrone pour un processeur ARM. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.
Prévisualisation |
PDF
Télécharger (1MB) | Prévisualisation |
Prévisualisation |
PDF
Télécharger (888kB) | Prévisualisation |
Résumé
Les processeurs conçus par Octasic séparent actuellement le centre de traitement du processeur (CPU) asynchrone des mémoires d’instructions et de données synchrones. Le CPU est scindé en plusieurs unités d’exécutions (XUs) qui sont synchronisées par un système de jetons, qui utilise un protocole de communication basé sur les transitions. Un jeton est associé à chaque ressource du processeur (mémoire d’instructions et de données, fichier de registre, branchement conditionnel, etc.) et ceux-ci sont partagés au sein des XUs. Lorsqu’on accède la ressource, le jeton est utilisé puis relâché en fonction d’un délai proportionnel au temps de propagation de la logique combinatoire de la ressource. Ce type d’architecture asynchrone permet de réduire de moitié l’énergie consommée lors de l’exécution d’une tâche, comparativement à un processeur équivalent synchrone.
Dans le cadre de ce projet, le but est d’améliorer l’accès à la mémoire L1, qui impose présentement une pénalité de synchronisation de 2 cycles d’horloge lors de la lecture d’une instruction ou d’une donnée. Le premier objectif consiste donc à supprimer cette latence due à la synchronisation. D’une autre part, le réseau de distribution de l’horloge synchrone est responsable d’une portion considérable de l’énergie consommée par le processeur. Le deuxième objectif est donc d’améliorer l’efficacité énergétique de la cache en implémentant une architecture asynchrone, tout en réduisant la complexité du pipeline. De plus, un des objectifs complémentaires est d’augmenter le débit du transfert de données entre les niveaux L1 et L2 de la mémoire.
Ce mémoire introduit un type de pipeline asynchrone novateur développé pour une cache d’instruction L1. Ce pipeline asynchrone auto-cadencé intègre certaines caractéristiques de l’architecture basée sur le partage par les jetons d’Octasic et des éléments Click. Des simulations et une analyse temporelle post-placement ont été réalisées et basées sur une librairie CMOS 28nm fournie par CMC Microsystems. L’analyse a démontré que l’efficacité énergétique de la cache d’instruction a été améliorée d’au moins 21%, tout en réduisant le temps d’accès moyen à la mémoire de 25%. Les résultats colligés révèlent que la cache conçue est particulièrement efficace lorsqu’on tient compte des procédures de purge du pipeline d’exécution du CPU, en réduisant jusqu’à 68% de la consommation énergétique dynamique. La cache L1 d’instruction asynchrone développée dans le cadre de cette maîtrise a fait l’objet d’une publication à la 21ème conférence internationale IEEE International Symposium on Asynchronous Circuits and Systems (IEEE ASYNC 2015).
Titre traduit
Design of an asynchronous L1 cache for an ARM processor
Résumé traduit
As part of a global research program aimed at adapting Octasic’s asynchronous architecture to the implementation of general purpose processors, this work targets the design of a level one (L1) cache for ARM-like processors. The overall goal is to obtain processors that are efficient in terms of energy and size while remaining competitive in terms of computing power. Octasic current processors separate the asynchronous CPU core from the synchronous L1 instruction and data caches. The CPU core is segmented in multiple execution units (XUs) that are synchronized by token rings that are based on transition signaling. A token is assigned to each resource (Instruction Fetch, Register Read/Write, Jump/Conditionnal Branch, Data Memory, etc.) and shared among the XUs. Tokens are used and released according to a variable delay that matches the resource’s combinational logic. This asynchronous architecture reduces energy consumption by half for the same computing power when compared to its synchronous counterparts.
This work focuses on improving the memory access. Currently, the asynchronous CPU core accesses a synchronous L1 cache. Fetching an instruction or accessing data imposes a 2-cycle synchronization penalty, thus resulting in a performance degradation. The primary objective of this work is to mitigate this latency. Also, the synchronous cache clock network still accounts for a substantial portion of the processor’s energy consumption, even though efficient clockgating strategies are used. The second objective is to increase the cache energy efficiency by removing the substantial clock tree while reducing the cache pipeline complexity. Furthermore, another objective is to increase the data transfer speed between the L1 and L2 memory by eliminating the need to share a global clock network.
This thesis introduces a new self-timed pipeline developed for an L1 instruction cache. The self-timed pipeline integrates features from Octasic’s token-based architecture and Click elements. Simulation and post-layout timing were performed using a 28nm bulk process. Analysis have shown that energy efficiency can be improved by over 21% while reducing memory access time by more than 25% in average. The gathered results have also shown that the designed cache is specifically efficient when the processor’s execution pipeline flush is taken into account, thus far reducing dynamic power consumption by 68%. The asynchronous L1 cache designed during this Master’s degree has been published at the 21st IEEE International Symposium on Asynchronous Circuits and Systems (IEEE ASYNC 2015).
Type de document: | Mémoire ou thèse (Mémoire de maîtrise électronique) |
---|---|
Mots-clés libres: | mémoire cache L1, pipeline asynchrone, architecture processeur |
Directeur de mémoire/thèse: | Directeur de mémoire/thèse Gagnon, François |
Codirecteur: | Codirecteur Gagnon, Ghyslain |
Programme: | Maîtrise en ingénierie > Génie électrique |
Date de dépôt: | 03 avr. 2018 20:47 |
Dernière modification: | 28 janv. 2021 14:39 |
URI: | https://espace.etsmtl.ca/id/eprint/1579 |
Gestion Actions (Identification requise)
Dernière vérification avant le dépôt |