Processeur XAP - XAP processor

Le processeur XAP est une architecture de processeur RISC développée par Cambridge Consultants depuis 1994. Les processeurs XAP sont une famille de cœurs 16 bits et 32 bits , qui sont tous destinés à être utilisés dans un circuit intégré spécifique à une application ou une conception de puces ASIC . Les processeurs XAP ont été conçus pour être utilisés dans des circuits intégrés à signaux mixtes pour des applications de capteurs ou sans fil , notamment des puces Bluetooth , ZigBee , GPS , RFID ou de communication en champ proche . En règle générale, ces circuits intégrés sont utilisés dans des produits à faible coût et à volume élevé qui sont alimentés par batterie et doivent avoir une faible consommation d'énergie. Il existe d'autres applications dans lesquelles les processeurs XAP ont été utilisés à bon escient, comme les réseaux de capteurs sans fil et les dispositifs médicaux , par exemple les appareils auditifs.

Le microprocesseur logiciel XAP a été implémenté dans plusieurs styles de conception sur puce , y compris un circuit asynchrone auto-chronométré , un codage 1 sur 4 , un circuit entièrement synchrone et FPGA. Cela le rend utile pour faire des comparaisons équitables entre les styles de conception sur puce.

Histoire

XAP1

Le premier processeur XAP était XAP1, conçu en 1994 et utilisé pour un certain nombre de projets ASIC sans fil et de capteurs chez Cambridge Consultants. Il s'agissait d'une très petite architecture Harvard de 3000 portes, d' un processeur 16 bits avec un bus de données 16 bits et un bus d'instructions 18 bits destiné à exécuter des programmes stockés dans une mémoire morte ou une ROM sur puce . Les données et les instructions étaient chacune adressées par un bus d'adresses 16 bits distinct .

XAP2

Un XAP2 plus puissant a été développé et utilisé à partir de 1999. Il avait également une architecture Harvard et des données 16 bits, et il a adopté une largeur d'instruction 16 bits plus conventionnelle convenant au stockage de programmes dans Flash ou d'autres mémoires hors puce. Les grands programmes étaient hébergés par un bus d'adresses 24 bits pour les instructions et il y avait un bus d'adresses 16 bits pour les données. XAP2 était un processeur de 12 000 portes prenant en charge les interruptions et une chaîne d'outils logiciels comprenant un compilateur C et l'assembleur XAPASM pour son langage d'assemblage . XAP2 a également été utilisé dans les conceptions ASIC de Cambridge Consultants et il a également été fourni à d'autres sociétés de semi-conducteurs en tant que noyau de propriété intellectuelle des semi - conducteurs , ou noyau IP .

XAP2 a été adopté par trois sociétés de semi-conducteurs sans usine issues de Cambridge Consultants: CSR plc (Cambridge Silicon Radio) est le principal fournisseur de puces Bluetooth pour téléphones mobiles et casques d'écoute; Ember Corporation est l'un des principaux fournisseurs de puces ZigBee; et Cyan Technology fournit des microcontrôleurs alimentés par XAP2 . En conséquence, et combiné avec d'autres titulaires de licence et les projets ASIC de Cambridge Consultants, plus d'un milliard (1 000 millions) de processeurs XAP sont actuellement utilisés dans le monde.

XAP3

XAP3 était un processeur 32 bits expérimental conçu par Cambridge Consultants en 2003. Il a été optimisé pour des implémentations ASIC à faible coût et à faible énergie utilisant des technologies modernes de traitement à semi-conducteurs CMOS . Le jeu d'instructions a été optimisé pour GNU GCC afin d'obtenir une densité de code élevée. Le XAP3 a été le premier processeur de Cambridge Consultants à utiliser une architecture Von Neumann avec un espace d'adressage logiquement partagé pour les programmes et les données. La mémoire de programme physique peut être Flash ou EPROM ou SRAM programmable une seule fois . La conception ASIC a été simplifiée en utilisant une mémoire unique où il n'était pas nécessaire de prédéterminer la répartition entre le programme (instructions) et les données au moment de la conception. Le jeu d'instructions du XAP3 avec le compilateur GCC a produit une densité de code très élevée. Cela a réduit la taille de la mémoire de programme, ce qui a réduit le coût unitaire de la puce et réduit la consommation d'énergie.

XAP4

En 2005, d'autres exigences du projet ont vu un nouveau processeur 16 bits, le XAP4, conçu pour remplacer le XAP2 en tenant compte de l'expérience acquise sur XAP3 et de l'évolution des exigences des conceptions ASIC. XAP4 est un très petit noyau de processeur 16 bits à bus Von Neumann de 12 000 portes capable d'adresser un total de 64 Ko de mémoire pour les programmes, les données et les périphériques. Il offre une densité de code élevée combinée à de bonnes performances de l'ordre de 50 Dhrystone MIPS lorsqu'il est cadencé à 80 MHz. XAP4 a été conçu pour être utilisé dans des applications ASIC ou microcontrôleurs modernes capables de traiter des données réelles capturées par un convertisseur analogique-numérique (ADC) ou des sources similaires. Le mot entier 16 bits du processeur prend en charge la précision de la plupart des ADC sans supporter la surcharge d'un processeur 32 bits. XAP4 offre également un chemin de migration à partir de processeurs 8 bits, tels que 8051 , dans les applications qui nécessitent des performances et une taille de programme accrues, mais ne peuvent justifier le coût et la surcharge d'un processeur 32 bits. Les registres XAP4 (tous 16 bits) sont; 8 Usage général, compteur de programme, pointeur vectoriel, FLAGS, INFO, BRKE, 2 Breakpoint. Les instructions XAP4 sont 16 et 32 ​​bits. La chaîne de compilation XAP4 est basée sur GNU GCC et Binutils.

XAP5

Le développement d'une version étendue de cette architecture a commencé en 2006 et a abouti au XAP5, qui a été annoncé en juillet 2008. XAP5 est un processeur 16 bits avec un bus d'adresse 24 bits le rendant capable d'exécuter des programmes à partir de la mémoire jusqu'à 16 Mo . XAP4 et XAP5 sont tous deux implémentés avec un pipeline d'instructions à deux étages , qui maximise leurs performances lorsqu'ils sont cadencés à basses fréquences. Ceci est adapté aux exigences des petits ASIC à faible consommation d'énergie car il minimise la taille matérielle du processeur (le cœur XAP5 utilise 18000 portes), et il s'adapte aux conceptions qui sont cadencées relativement lentement pour réduire la consommation d'énergie dynamique d'un ASIC et exécuter des programmes directement à partir de Mémoire Flash ou OTP dont le temps d'accès est lent. Les vitesses d'horloge typiques pour XAP5 sont comprises entre 16 et 100 MHz sur un processus de 0,13 . XAP5 a des caractéristiques de conception particulières qui le rendent approprié pour exécuter des programmes à partir de Flash, y compris un pointeur vectoriel et une fenêtre de traduction d'adresses, qui se combinent pour permettre l'exécution sur place des programmes et le déplacement des programmes quel que soit l'endroit où ils sont stockés dans la mémoire physique. Les registres XAP4 (16 et 24 bits) sont; 8 Usage général, compteur de programme, pointeur vectoriel, FLAGS, INFO, BRKE, 4 point d'arrêt. Les instructions XAP5 sont 16, 32 et 48 bits. La chaîne de compilation XAP5 est basée sur GNU GCC et Binutils.

XAP6

XAP6 est un processeur 32 bits et a été lancé en 2013. Il a le même type d'architecture de stockage de charge que le XAP4 et XAP5, mais possède des registres 32 bits et des bus 32 bits pour les données et l'adresse. L'implémentation XAP6a a un pipeline d'instructions en trois étapes . Comme tous les processeurs XAP, le XAP6 a été optimisé pour une vérification peu coûteuse, économe en énergie et facile. XAP6 est conçu pour les petits ASIC à faible consommation d'énergie et minimise la taille matérielle du processeur (le cœur XAP6 utilise 30 000 portes). Les registres XAP6 (tous 32 bits) sont; 8 Usage général, compteur de programme, pointeur vectoriel, pointeur global, FLAGS, INFO, BRKE, 4 point d'arrêt. Les instructions XAP6 sont 16, 32 et 48 bits. La chaîne de compilation XAP6 est basée sur GNU GCC et Binutils.

traits

XAP4, XAP5 et XAP6 sont tous conçus avec une architecture RISC de stockage de charge qui est complétée par des instructions multi-cycles pour la multiplication, la division, la copie / stockage de bloc et l'entrée / sortie de fonction pour une efficacité maximale. Les ingénieurs de Cambridge Consultants ont reconnu la nécessité pour ces processeurs d'exécuter des systèmes d'exploitation en temps réel capables de gérer les événements préventifs et avec une réponse d' interruption rapide . Par conséquent, les processeurs sont conçus avec un support matériel et un jeu d'instructions pour des modes de fonctionnement logiciels protégés qui partitionnent le code utilisateur du système d'exploitation privilégié et le code du gestionnaire d'interruption. Le matériel du processeur XAP gère les transitions de mode et la pile d'appels en réponse aux événements et cette approche garantit une réponse d'interruption rapide et déterministe. Les modes de fonctionnement protégés permettent de concevoir un système sur puce qui est un système sécurisé ou fiable et offre une haute disponibilité .

Les processeurs XAP actuels sont conçus en utilisant le langage de description matériel Verilog et fournis sous forme de code RTL prêt pour la simulation logique et la synthèse logique avec un banc de test . Ils sont pris en charge par les outils de développement logiciel xIDE de Cambridge Consultants et la technologie de débogage SIF. Ces processeurs et outils permettent une vérification fonctionnelle et une vérification logicielle qui réduit le risque du projet, accélère les délais et réduit le coût de possession, en particulier pour l'ingénierie logicielle.

Les références

Liens externes