FR2644912A1 - Controleur logique programmable et procede pour le faire fonctionner - Google Patents
Controleur logique programmable et procede pour le faire fonctionner Download PDFInfo
- Publication number
- FR2644912A1 FR2644912A1 FR9003272A FR9003272A FR2644912A1 FR 2644912 A1 FR2644912 A1 FR 2644912A1 FR 9003272 A FR9003272 A FR 9003272A FR 9003272 A FR9003272 A FR 9003272A FR 2644912 A1 FR2644912 A1 FR 2644912A1
- Authority
- FR
- France
- Prior art keywords
- processor
- function block
- bit
- order
- bit processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/052—Linking several PLC's
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
L'invention concerne les contrôleurs logiques programmables. Un contrôleur logique programmable comporte un processeur de blocs de fonction 110 pour traiter des instructions de blocs de fonction de haut niveau, et un processeur de bits 120 pour traiter des instructions booléennes de bas niveau. Le processeur de bits décode et identifie le code opération de chaque instruction dans une mémoire de programme d'utilisateur 135, et il abandonne la commande au processeur de blocs de fonction si l'une au moins des deux conditions suivantes est satisfaite : 1) un flux d'énergie est indiqué dans le registre de flux d'énergie du processeur de bits, et 2) le bloc de fonction est un bloc qui doit être exécuté par le processeur de blocs de fonction. Application à la conduite de processus industriels.
Description
Cette invention concerne de façon générale des
contrôleurs logiques programmables prévus pour l'utilisa-
tion dans la commande de processus de fabrication, de pro-
cessus industriels ou autres. L'invention porte plus parti-
culièrement sur un contrôleur logique programmable utili- sant un processeur de blocs de fonction principal et un
processeur de bits auxiliaire.
Les contrôleurs logiques programmables consti-
tuent un développement relativement récent dans la techno-
logie de la conduite de processus. Dans le cadre d'une opé-
ration de conduite de processus, on utilise un contrôleur logique programmable pour surveiller des signaux d'entrée provenant de divers capteurs d'entrée qui signalent des événements et des conditions apparaissant dans un processus
commandé. A titre d'exemple, un contrôleur logique program-
mable peut surveiller des conditions d'entrée telles que la température, la pression et le débit en volume, etc. Un programme de commande est enregistré dans une mémoire qui
est associée au contrôleur logique programmable, pour indi-
quer à ce dernier les actions qu'il doit accomplir en pré-
sence de certaines conditions ou de certains signaux d'en-
trée particuliers. Sous la dépendance de ces signaux d'en-
trée, le contrôleur logique programmable élabore et produit
des signaux de sortie qui sont émis vers divers disposi-
tifs, pour commander le déroulement du processus. Par exem-
ple, le contrôleur logique programmable émet des signaux de sortie pour ouvrir ou fermer un micro-contact, augmenter ou diminuer une température ou une pression, ou commander la
vitesse d'un convoyeur, ainsi que pour accomplir de nom-
breuses autres fonctions de commande possibles, trop nom-
breuses à énumérer.
Les contrôleurs logiques programmables actuels
comprennent une unité centrale (UC) pour traiter les diver-
ses instructions du programme de commande. Le programme de commande est enregistré dans une mémoire qui est associée
à l'unité centrale et qui contient des instructions qui in-
diquent à l'unité centrale les signaux de sortie qu'elle doit émettre vers des dispositifs de commande sous l'effet de divers signaux d'entrée que l'unité centrale reçoit à partir des capteurs d'entrée. Un système d'entrée/sortie (E/S) est généralement placé entre l'unité centrale et les
capteurs d'entrée et lesdispositifsde commande.
Des contrôleurs logiques programmables plus per-
fectionnés utilisent une architecture à deux processeurs.
Le contrôleur logique programmable comprend ainsi un pro-
cesseur de blocs de fonction, ou processeur principal, pour exécuter des instructions de haut niveau qu'on appelle des
blocs de fonction. Le contrôleur logique programmable com-
prend en outre un processeur de bits, ou coprocesseur, qui
exécute d'une manière accélérée des instructions de bas ni-
veau qu'on appelle des instructions booléennes. Dans de
tels contrôleurs logiques programmables à processeur-copro-
cesseur, le programme d'utilisateur est généralement enre-
gistré dans une mémoire qui est accessible à la fois au
processeur de blocs de fonction et au processeur de bits.
Le programme d'utilisateur comprend à la fois des instruc-
tions de blocs de fonction et des instructions booléennes, mélangées ensemble. Une tâche des deux processeurs est de coordonner et de se partager l'exécution du programme
d'utilisateur. Ainsi, les instructions ou ordres du pro-
gramme d'utilisateur en mémoire sont exécutés en série et le processeur de blocs de fonction ou le processeur de bits est sélectionné pour exécuter une instruction particulière,
selon que l'instruction est un bloc de fonction ou une ins-
truction booléenne.
La figure 1 représente un exemple d'une telle ar-
chitecture à deux processeurs pour un contrôleur logique
programmable. Le contrôleur logique programmable de la fi-
gure 1 comprend un bus principal auquel sont connectées une unité d'entrée 1, une unité de sortie 2 et une console de programmation 3. Une mémoire de travail, une mémoire morte (ROM) 5, un processeur de blocs de fonction (processeur
principal) 6 et un processeur de bits 7 sont également con-
nectés au bus principal. Un multiplexeur 8 est connecté en-
tre une mémoire d'utilisateur 9 et le processeur de bits 7.
Un autre multiplexeur 10 est connecté entre une mémoire d'entrée/sortie (E/S) 11 et le processeur de bits 7. Une
ligne de démarrage et une ligne d'interruption (IRQ) inter-
connectent le processeur de blocs de fonction 6 et le pro-
cesseur de bits 7. Dans cette architecture, le processeur
de bits 7 prend la commande et décode des ordres d'utilisa-
teur dans le programme d'utilisateur qui est enregistré dans la mémoire d'utilisateur 9. Lorsque le processeur de bits 7 rencontre une instruction booléenne (encore appelée instruction de bas niveau ou ordre de base), il traite l'instruction booléenne en utilisant ses propres circuits de traitement. Au contraire, lorsque le processeur de bits 7 décode et détecte une instruction de bloc de fonction
(encore appelée instruction de haut niveau ou ordre d'ap-
plication), il abandonne la commande au processeur de blocs de fonction 6 qui traite alors l'instruction de bloc de
fonction.
Dans l'architecture à deux processeurs décrite ci-dessus, le processeur de bits 7 comprend un décodeur
d'ordres qui décode des ordres dans le programme d'utilisa-
teur qui se trouve dans la mémoire 9. Une partie de chaque ordre ou instruction d'utilisateur dans la mémoire 9 fait l'objet d'une conversion d'adresse par un convertisseur
d'adresse qui fait partie du processeur de bits 7. Des don-
nées se trouvant à l'adresse convertie sélectionnée dans la mémoire d'E/S 10 sont ensuite prélevées et fournies à des circuits logiques et de calcul qui manipulent les données et qui appliquent le résultat de l'opération à un registre
de flux d'énergie qui fait partie du processeur de bits 7.
Autrement dit, les données qui se trouvent à l'adresse sé-
lectionnée dans la mémoire d'E/S Il sont prélevées et mani-
pulées, et elles deviennent le contenu du registre de flux d'énergie. Le processeur de bits 7 comprend un compteur d'instructions dont le contenu est actualisé chaque fois qu'un ordre est décodé. Ainsi, après que chaque ordre a été traité, le compteur d'instructions désigne l'adresse de l'ordre suivant du programme d'utilisateur dans la mémoire
d'utilisateur 9, qui doit être exécuté. On peut ainsi trai-
ter une série d'ordres successifs dans le programme d'uti-
lisateur.
Dans le cas o le décodeur d'ordre dans le pro-
cesseur de bits 7 détermine qu'un ordre particulier dans le programme d'utilisateur est un ordre de bloc de fonction, un signal d'interruption (IRQ) est émis vers le processeur de blocs de fonction 6. Ceci transfère la commande vers le processeur de blocs de fonction 6 dans le but de traiter l'ordre de bloc de fonction courant. On note que dans une
architecture à deux processeurs d'un type connu caractéris-
tique, une fois qu'un ordre de bloc de fonction est décodé, la commande du traitement est transférée au processeur de
bloc de fonction 6 sans aucune condition préalable, c'est-
à-dire indépendamment du fait que le contenu antérieur du registre de flux d'énergie dans le processeur de bit 7 soit un "0" ou un "1". On note que lorsqu'un ordre de bloc de fonction est exécuté par le processeur de blocs de fonction 6, un temps relativement important est consomme, et ce temps est de façon caractéristique dans une plage d'environ
fois à 100 fois le temps qui est nécessaire pour l'exé-
cution d'une instruction booléenne par le processeur de bits 7. Par conséquent, lorsque des ordres de blocs de fonction sont employés dans des programmes d'utilisateur dans cette architecture, la durée du cycle d'exécution est relativement longue, ce qui conduit à un retard important et indésirable. Un contrôleur logique programmable à deux processeurs relativement récent est décrit dans la demande de brevet du Japon 61181007, déposée le 31 juillet 1986 par Tetsuo Doi et col., et cédée à Tateishi Denki K.K. Le
contrôleur logique programmable de la demande précitée com-
prend à la fois un processeur de blocs de fonction et un processeur de bits. Le processeur de bits décode les ordres qui sont contenus dans un programme d'utilisateur qui est
enregistré dans une mémoire d'utilisateur. Lorsque le pro-
cesseur de bits trouve un ordre ou un bloc de fonction du type CODE OPERATION dans le programme d'utilisateur, il identifie le code de bloc de fonction et il effectue une opération NOOP (Pas d'Opération) en relation avec le CODE OPERATION si un flux d'énergie de valeur zéro est indiqué
dans le registre de flux d'énergie du processeur de bits.
Autrement dit, dans ce cas, aucune interruption n'est ap-
pliquée au processeur de blocs de fonction, de façon que le bloc de fonction soit traité dans la condition NOOP par le processeur de bits luimême, sans que l'exécution ne passe sous la commande du processeur de blocs de fonction. Aussi longtemps que la valeur contenue dans le registre de flux d'énergie n'est pas un "1", le processeur de bits traite un ordre dans la condition NOOP, même s'il s'agit d'un ordre de bloc de fonction. De cette manière, la durée d'exécution de l'ordre est effectivement raccourcie en comparaison avec sa durée d'exécution lorsque l'ordre est toujours traité
par le processeur de blocs de fonction.
Malheureusement, bien que cette technique augmen-
te quelque peu la vitesse de fonctionnement effective du
contrôleur logique programmable, elle présente l'inconvé-
nient qui consiste dans l'impossibilité d'établir des blocs de fonction qui doivent être exécutés pendant des périodes au cours desquelles il n'y a pas de flux d'énergie. En ou- tre, il n'est pas possible de créer des blocs de fonction comportant plus d'une sortie booléenne et d'une entrée booléenne, du fait qu'aucune manipulation n'est effectuée sur le registre de flux d'énergie ou sur la pile de bits associée lorsque le bloc de fonction n'est pas exécuté. Une limitation supplémentaire de cette technique consiste en ce
que si un bloc de fonction est exécuté, le compteur d'ins-
tructions du processeur de bits doit être actualisé par le processeur de bloc de fonction, du fait que l'opération
NOOP associée au bloc de fonction n'a pas lieu dans ce cas.
Cette action exige une durée notable et ajoute un temps-
systéme indésirable au traitement de chaque bloc de fonc-
tion qui est exécute.
Un but de l'invention est de procurer un contrô-
leur logique programmable ayant des performances élevées, qui comprend à la fois un processeur de blocs de fonction
et un processeur de bits.
Un autre but de l'invention est de procurer un
contrôleur logique programmable qui fonctionne avec une vi-
tesse élevée tout en réduisant le temps-système indésirable
lié au fonctionnement.
Un autre but encore de l'invention est de procu-
rer un contrôleur logique programmable résolvant les pro-
blémes et éliminant les limitations qui sont associées aux
contrôleurs logiques programmables envisages ci-dessus.
Conformément à l'invention, un contrôleur logique programmable comprend un processeur de bits pour traiter
des ordres de bas niveau. Le contrôleur logique programma-
ble comprend en outre une mémoire de programme d'utilisa-
teur, connectée au processeur de bits, pour enregistrer des
ordres de programme d'utilisateur à des adresses respecti-
ves dans cette mémoire, ces ordres contenant des CODES OPE-
RATION et ayant des OPERANDES associés. Un processeur de blocs de fonction est connecté au processeur de bits pour traiter des ordres de haut niveau. Le processeur de bits comprend un registre de flux d'énergie et un compteur d'instructions contenant un pointeur d'instruction dirigé
vers un ordre en mémoire qui est désigné par l'ordre cou-
rant. Le processeur de bits comprend en outre un décodeur pour décoder et identifier le CODE OPERATION de l'ordre
courant et ses OPERANDES associés, dans la mémoire de pro-
gramme d'utilisateur. Le processeur de bits accède à l'or-
dre courant dans la mémoire de programme d'utilisateur. Le processeur de bits comprend des moyens de commande prévus de façon à abandonner la commande au processeur de blocs de fonction si le CODE OPERATION présent définit un bloc de fonction et si l'une au moins des deux conditions suivantes est satisfaite: 1) un flux d'énergie est indiqué dans le registre de flux d'énergie du processeur de bits, et 2) le bloc de fonction est un bloc qui doit être exécuté par le
processeur de blocs de fonction. Le processeur de bits com-
prend un modificateur de pointeur d'instruction qui attend
jusqu'à ce que le processeur de blocs de fonction ait pré-
levé la valeur de pointeur d'instruction courante dans le processeur de bits, et qui modifie ensuite le pointeur d'instruction de façon à désigner le CODE OPERATION suivant
dans la mémoire de programme d'utilisateur. Ce CODE OPERA-
TION suivant est maintenant désigné comme étant l'ordre courant.
La suite de la description se réfère aux dessins
annexés qui représentent respectivement: Figure 1: un schéma synoptique d'un contrôleur logique programmable à deux processeurs de type classique;
Figure 2: un schéma synoptique du contrôleur lo-
gique programmable de l'invention; Figure 3: un organigramme du fonctionnement du processeur de bits de l'invention dans un mode maître: et Figure 4: une mappe de mémoire correspondant à une partie d'un programme d'utilisateur qui est enregistré dans une mémoire de programme d'utilisateur dans le contrô-
leur logique programmable de l'invention.
La figure 2 est un schéma synoptique du contrô-
leur logique programmable de l'invention, représenté sous
la forme du contrôleur logique programmable 100. Le contrô-
leur logique programmable 100 comprend un bus de système principal 105 auxquels sont connectés les divers éléments
et dispositifs qui constituent le contrôleur logique pro-
grammable 100, pour établir une voie de communication entre
ces éléments et dispositifs. Le contrôleur logique program-
mable 100 comprend en outre un processeur de blocs de fonc-
tion 110 qui est connecté au bus de système principal 105.
Le processeur de blocs de fonction 110 est également appelé processeur principal ou unité centrale (UC) du contrôleur logique programmable 100. Une horloge de système 115 est
connectée au processeur de blocs de fonction 110 pour ap-
pliquer à ce dernier un signal de référence de base de temps.
Un processeur de bits 120, qu'on appelle égale-
ment un coprocesseur, est connecté au bus de système prin-
cipal 105 par l'intermédiaire d'une structure tampon d'iso-
lation 125. Plus précisément, le processeur de bits 120 est connecté à la structure tampon d'isolation 125 par un bus
de connexion 130. Le processeur de bits 120 comprend un re-
gistre de mode maître/esclave 121, un compteur d'instruc-
tions 122, une pile de bits 123, un registre de flux d'énergie 124 et une unité arithmétique et logique (UAL)
, ainsi qu'un décodeur d'ordre 126 qu'on décrira ulté-
rieurement de façon plus détaillée.
Le contrôleur logique programmable 100 comprend une mémoire vive (RAM) de programme d'utilisateur, 135, qui
est destinée à enregistrer un programme d'utilisateur pen-
dant que le contrôleur logique programmable 100 est en fonctionnement. La mémoire vive de programme d'utilisateur est connectée au bus de connexion 130, de façon que le processeur de blocs de fonction 110, le processeur de bits et le bus de système principal 105 soient connectés à la mémoire vive 135 et aient accès à cette dernière. Une
antémémoire 140 constituée par une mémoire vive relative-
ment rapide, est connectée au processeur de bits 120 pour améliorer le fonctionnement de celui-ci, en enregistrant des instructions exécutées récemment, pour permettre leur
rappel immédiat par le processeur de bits 120.
Une mémoire vive de système 145 est connectée au bus de système principal 105 pour permettre au contrôleur
logique programmable 100 de disposer d'une mémoire d'enre-
gistrement temporaire, en plus de la mémoire d'enregistre-
ment temporaire pour le programme d'utilisateur qui est
constituée par la mémoire de programme d'utilisateur 135.
D'une manière classique, une interface de pro-
grammeur 150 est connectée au bus de système principal 105 pour donner à un programmeur un moyen pour programmer le contrôleur logique programmable 100. Par exemple, dans un mode de réalisation, l'interface de programmeur 150 est une
interface clavier/clavier au moyen de laquelle un program-
meur introduit des instructions dans le contrôleur logique
programmable 100 à l'aide d'un clavier. Egalement d'une ma-
nière connue, une interface de module intelligent 155 est
connectée au bus de système principal 105 par l'intermé-
diaire d'un bus de connexion 160. L'interface de module
intelligent 155 procure un autre moyen par lequel le pro-
grammeur ou l'utilisateur peut programmer le contrôleur lo-
gique programmable 100. En effet, le contrôleur logique programmable 100 comporte une embase de connecteur 165,
connectée au bus de connexion 160, pour recevoir une mémoi-
re morte programmable et effaçable par voie électrique
(EEPROM) qui contient un programme, dans un module d'ins-
tructions de programme, pour le contrôleur logique program-
mable 100. Une mémoire morte programmable {PROM) de systè-
me, 170, est connectée au bus de système principal 105 com-
me le montre la figure 2. La mémoire morte programmable 170
enregistre en permanence le programme de commande qui com-
mande le fonctionnement du contrôleur logique programmable , et sous l'effet duquel le contrôleur 100 travaille en contrôleur logique programmable de la manière qu'on décrira ultérieurement. Le programme de commande est à distinguer
du programme d'utilisateur mentionné précédemment, qui pro-
gramme le contrôleur logique programmable 100 en ce qui concerne les signaux de sortie qu'il doit produire lorsque
des signaux d'entrée de capteurs particuliers lui sont pré-
sentés.
Un connecteur de fond de panier d'entrée/sortie (E/S) 175 est connecté au bus de système principal 105 pour
permettre de connecter des capteurs d'entrée au bus de sys-
tème principal 105, et pour connecter le bus de système principal 105 aux dispositifs de sortie a commander. Les
bus qui sont indiqués sur la figure 2 par des chemins lar-
ges avec une flèche à au moins une extrémité, comme par exemple le bus 105, contiennent des bus d'adresse et de
données, bien que ceux-ci ne soient pas représentés de fa-
çon spécifique.
Un circuit d'horloge de temps courant 180 est connecté au bus de système principal 105 pour fournir une information de temps courant au processeur de blocs de fonction 110 et au processeur de bits 120. Une horloge 185 est connectée au circuit d'horloge de temps courant 180
pour fournir à ce dernier une référence de base de temps.
Le processeur de bits 120 peut fonctionner selon deux modes, à savoir un mode maître et un mode esclave. Un
bit de mode maître est écrit dans le registre de mode mal-
tre/esclave 121 pour placer le processeur de bits 120 dans ii le mode maitre. D'autre part, pour placer le processeur de bits 120 dans le mode esclave, un bit de mode esclave est
écrit dans le registre de mode maitre/esclave 121 du pro-
cesseur de bits. Lorsque le processeur de bits 120 est ain-
si placé dans le mode esclave, le processeur de blocs de fonction 110 dispose de la commande de la mémoire vive de programme d'utilisateur 135. Lorsque le processeur de blocs de fonction 110 désire utiliser le processeur de bits 120, il écrit un ordre de démarrage. Le processeur de bits 120 prend alors la commande de la mémoire vive d'utilisateur , en écrivant un bit de mode maître dans le registre de
mode maître/esclave. Simultanément, des amplificateurs-sé-
parateurs à trois états (non représentés) sont conditionnés de façon à isoler le processeur de blocs de fonction 110 vis-à-vis des bus de données et d'adresse qui connectent le processeur 110 au reste du contrôleur logique programmable 100. Dans ce mode, le processeur de blocs de fonction 110 est autorisé à traiter des interruptions et à exécuter des
cycles d'accès direct en mémoire (DMA). Cependant, le pro-
24 cesseur 110 est par ailleurs maintenu dans un état inactif par le fait que le processeur de bits 120 active un signal
ATTENTE sur la ligne de signal ATTENTE qui connecte le pro-
cesseur de bits 120 au processeur de blocs de fonction 110,
comme le montre la figure 2. Dans ce mode maître, le pro-
cesseur de blocs de fonction 110 n'a aucun accès à la mé-
moire vive de programme d'utilisateur 135.
Lorsque le processeur de bits 120 est dans le mode esclave, le processeur de blocs de fonction 110 peut accéder directement au compteur d'instructions 122 et à la pile 123 dans le processeur de bits 120. Dans ce mode de
réalisation particulier de l'invention, le compteur d'ins-
tructions 122 est un compteur à 16 bits et la pile 123 a
une largeur de 8 bits, bien que l'invention ne soit pas li-
mitée aux valeurs qui sont indiquées ici simplement à titre d'exemple. De plus, lorsque le processeur de bits 120 est dans le mode esclave, le processeur de blocs de fonction
peut également accéder à l'antémémoire 140.
On va maintenant envisager en détail le fonction-
nement du processeur de bits 120 dans le mode maître, en se référant à l'organigramme du mode maître qui est représenté sur la figure 3. Pour activer le mode maître, le processeur de blocs de fonction 110 écrit un ordre de démarrage pour le processeur de bits 120, comme l'indique la case 200. Un bit de mode maître est ensuite écrit dans le registre de mode maitre/esclave 121, comme l'indique la case 205. Une fois que cette opération de démarrage est effectuée, le processeur de bits 120 s'isole du processeur de blocs de fonction 110 et il active un signal ATTENTE sur la ligne ATTENTE, conformément à la case 210. Sous l'effet du signal
ATTENTE, le processeur de blocs de fonction 110 exécute en-
suite une instruction sous l'effet de laquelle ce proces-
seur attend jusqu'à ce que le processeur de bits 120 sup-
prime ou désactive le signal ATTENTE. Ainsi, le processeur de blocs de fonction 110 peut réagir à des interruptions, mais il est forcé de retourner à l'état d'attente une fois
que le traitement des interruptions est terminé.
Le processeur de bits 120 décode un ordre dans la mémoire vive de programme d'utilisateur 135 conformément à la case 215. Si la détermination qui est faite à la case de décision 220 indique que l'ordre courant n'est pas un ordre de bloc de fonction-.avec un flux d'énergie de zéro ou n'est
pas un ordre de bloc de fonction du type ayant un CODE OPE-
RATION qui doit être traité par le processeur de blocs de fonction, le processeur de bits 120 exécute alors l'ordre
courant conformément à la case 222. A la case 224, le pro-
cesseur de bits 120 fait progresser le compteur d'instruc-
tions 122 pour désigner l'ordre suivant. La séquence re-
tourne ensuite à la case 200. Cependant, si la détermina-
tion qui est faite à la case de décision 220 indique que l'ordre courant est un ordre de bloc de fonction avec un flux d'énergie de zéro, ou un ordre de bloc de fonction du type ayant un CODE OPERATION qui doit être traité par le
processeur de blocs de fonction, la séquence passe à la ca-
se 225 à laquelle un bit de mode esclave est écrit dans le registre de mode 121. Cette action ramène le processeur de
bits 120 au mode esclave. Le processeur de bits 120 désac-
tive également le signal ATTENTE pour rendre la commande au
processeur de blocs de fonction 110, comme l'indique la ca-
se 230. Le processeur de blocs de fonction 110 lit ensuite le pointeur d'instruction provenant du processeur de bits
, et il dispose ainsi d'une désignation de son CODE OPE-
RATION dans la mémoire vive de programme d'utilisateur 135, comme l'indique la case 240. On note que le CODE OPERATION
de l'ordre courant n'a aucune signification pour le proces-
seur de blocs de fonction 110. Cependant, l'information qui suit le CODE OPERATION a effectivement une signification pour le processeur de blocs de fonction 110. Ensuite, le processeur de bits 120 incrémente ou modifie de toute autre manière le compteur d'instructions 122 pour désigner l'adresse de ce CODE OPERATION suivant dans la mémoire vive de programme d'utilisateur 135, conformément à la case 235,
* ce qui a pour effet d'actualiser un pointeur d'instruction.
A ce point, le processeur de blocs de fonction
est libre d'interroger et de modifier des données quel-
conques dans la pile de bits 123 ou dans le registre de
flux d'énergie 124. Le processeur de blocs de fonction exé-
cute le CODE OPERATION conformément à la case 245. A
l'achèvement de l'exécution du bloc de fonction, le proces-
seur de blocs de fonction 110 actualise si nécessaire la
pile de bits 123 et le registre de flux d'énergie 124, con-
formément à la case 250. La séquence retourne ensuite à la case 200 pour répéter le processus. Il faut noter que sous l'effet des opérations décrites ci-dessus, le pointeur dans le compteur d'instruction 122 désigne automatiquement
l'adresse correcte dans la mémoire de programme d'utilisa-
teur 135, pour accéder à l'instruction ou à l'ordre sui-
vant, et qu'aucune actualisation supplémentaire du compteur d'instructions 122 n'est nécessaire avant de passer au
traitement de l'instruction ou de l'ordre suivant.
La figure 4 montre une mappe de mémoire corres-
pondant à une partie d'un exemple de programme d'utilisa-
teur qui est enregistré dans la mémoire vive de programme
d'utilisateur 135. La colonne de gauche contient des exem-
ples d'adresses de mémoire séquentielles dans la mémoire vive 135 qui, par commodité, portent les désignations
ADRESSE 1, ADRESSE 2, ADRESSE 3, ADRESSE 4... ADRESSE DE
REPRISE. A l'adresse portant la désignation ADRESSE 1, un
CODE OPERATION CHARGEMENT" est enregistré comme il est in-
diqué dans la colonne du milieu de la mappe de mémoire de la figure 4. La colonne de droite montre le code objet qui correspond au CODE OPERATION ou à i'OPERANDE se trouvant à une adresse particulière. Le CODE OPERATION 0CHARGEMENT à
l'ADRESSE 1 est un exemple d'un CODE OPERATION qui est exé-
cutable par le processeur de bits 120. Le CODE OPERATION "CHARGEMENT" estdécodé par le décodeur d'ordre 126 dans le processeur de bits 120 et il est reconnu par le processeur de bits 120 comme étant un CODE OPERATION booléen ayant un argument ou OPERANDE à la suite du CODE OPERATION. Le CODE
OPERATION et son OPERANDE s'étendent sur deux adresses.
Dans ce cas, le compteur d'instructions 122 avance de 2, ce qui fait que le pointeur d'instruction désigne l'ADRESSE 3
aprés que les données booléennes qui se trouvent à l'adres-
se de bit A42 dans l'antémémoire ont été chargées dans le
registre de flux d'énergie.
Après que le processeur de bits 120 a effectué l'opération CHARGEMENT décrite ci-dessus, l'instruction présente à l'ADRESSE 3 est décodée par le décodeur d'ordre 126. Le processeur de bits reconnaît l'ordre à l'ADRESSE 3 comme étant un ordre FONC ou ordre de bloc de fonction qui doit être exécuté par le processeur de blocs de fonction
110. La reconnaissance de l'ordre de bloc de fonction s'ef-
fectue en employant la technique décrite ci-après.
Dans la pratique réelle, le bit supérieur de la pile de bits 123 est désigné comme étant le registre de flux d'énergie, bien qu'un registre de flux d'énergie 124
soit représenté schématiquement de façon séparée sur la fi-
gure 2 pour la commodité. Si le bit présent dans le regis-
tre de flux d'énergie 124 est un "1", un flux d'énergie est indiqué, tandis que si le bit présent dans le registre de flux d'énergie 124 est un "0"o, aucun flux d'énergie n'est indiqué. L'ordre présent à L'ADRESSE 3 est un ordre de bloc de fonction ayant un CODE OPERATION FONC qui correspond à une représentation de code objet "1000 bccc", dans laquelle les bits "1000" sont appelés bits d'ordre supérieur IN7-IN4
et les bits bbbc' sont appelés bits d'ordre inférieur IN3-
IN0. Les bits IN7-IN4 représentent le CODE OPERATION parti-
culier. Si le bit IN3 (désigné par "b" sur la figure 4) est fixé à "1", ceci indique que le CODE OPERATION ou l'ordre courant est un ordre de bloc de fonction qui doit toujours
être exécuté, et ceci force le processeur de blocs de fonc-
tion 110 à exécuter cet ordre à titre d'ordre de bloc de
fonction. Au contraire, si le bit IN3 est un "0", le trai-
tement de cet ordre par le processeur de blocs de fonction n'est nécessaire que s'il y a un flux d'énergie. Les trois bits portant la désignation IN2-IN0 contiennent le nombre de mots ou d'arguments associés à un CODE OPERATION particulier. Les bits IN2-IN0 indiquent donc le nombre de mots ou d'arguments dans la mémoire vive de programme d'utilisateur 135 que le processeur de bits 120 doit sauter pour atteindre L'ADRESSE DE REPRISE lorsque le processeur
de blocs de fonction a terminé le traitement de l'instruc-
tion de bloc de fonction. Dans cet exemple, L'ADRESSE DE REPRISE est une adresse contenant le CODE OPERATION suivant dans la mémoire vive 135, après la dernière instruction de
bloc de fonction. De cette manière, le pointeur d'instruc-
tions dans le processeur de bits 120 est au point approprié pour reprendre l'exécution du programme d'utilisateur apres que le processeur de blocs de fonction 110 a terminé le
traitement d'un ordre de bloc de fonction.
Bien qu'on ait décrit ci-dessus un appareil con-
sistant en un contrôleur logique programmable, on a égale-
ment décrit un procédé pour faire fonctionner un contrôleur logique programmable. Le contrôleur logique programmable qui est employé dans le procédé comprend un processeur de blocs de fonction pour traiter des ordres de haut niveau et
un processeur de bits pour traiter des ordres de bas ni-
veau. Le processeur de bits est connecté à une mémoire de
programme d'utilisateur contenant un programme d'utilisa-
teur qui comporte une séquence d'ordres auxquels sont asso-
ciés des CODES OPERATION et des OPERANDES. Le processeur de bits qui est utilisé dans le procédé comprend également un registre de flux d'énergie et un compteur d'instructions contenant un pointeur d'instruction qui désigne le CODE OPERATION de l'ordre suivant a traiter. Le procédé comprend l'opération dans laquelle le processeur de bits décode et identifie le CODE OPERATION d'un ordre dans la mémoire, cet ordre étant ce qu'on appelle l'ordre courant. Le procédé comprend en outre l'opération dans laquelle le processeur de bits rend la commande au processeur de blocs de fonction
pour traiter l'ordre courant si l'une au moins des condi-
tions suivantes est vérifiée pour l'ordre courant: 1) un
flux d'énergie est indiqué dans le registre de flux d'éner-
gie, 2) l'ordre courant est un bloc de fonction qui doit être exécuté par le processeur de blocs de fonction. Le procédé comprend également l'opération dans laquelle le processeur de bits attend jusqu'à ce que le processeur de blocs de fonction ait prélevé le pointeur d'instruction
dans le processeur de bits, et il modifie ensuite le poin-
teur d'instruction pour désigner le CODE OPERATION suivant dans la mémoire de programme d'utilisateur. Si par ailleurs aucune des conditions 1 et 2 n'est vérifiée, le processeur
de bits traite l'ordre courant.
On vient de décrire un contrôleur logique pro-
grammable et un procédé permettant d'obtenir une vitesse de fonctionnement élevée dans un contrôleur logique programma- ble & deux processeurs qui comprend un processeur de blocs de fonction et un processeur de bits. Le contrôleur logique
programmable de l'invention procure ce fonctionnement à vi-
tesse élevée tout en réduisant le temps-système indésirable lié au fonctionnement. Le contrôleur logique programmable
de l'invention élimine les problèmes et les limitations en-
visagés précédemment qui sont associés à des contrôleurs
logiques programmables classiques.
Claims (11)
1. Contrôleur logique programmable, caractérisé en ce qu'il comprend: un processeur de bits (120) destiné
à traiter des ordres de bas niveau: une mémoire de program-
me d'utilisateur (135), connectée au processeur de bits
(120), pour enregistrer des ordres de programme d'utilisa-
teur & des adresses respectives, ces ordres contenant des CODES OPERATION et des OPERANDES ASSOCIES; un processeur de blocs de fonction (110), connecté au processeur de bits
(120), pour traiter des ordres de haut niveau; le proces-
seur de bits (120) comprenant en outre un registre de flux d'énergie (124) ; un compteur d'instructions (122) contenant un pointeur d'instruction dirigé vers un ordre en mémoire qui est désigné par l'ordre courant: des moyens de décodage (126) destinés a décoder et à identifier le CODE OPERATION
de l'ordre courant et des OPERANDES associés dans la mémoi-
re de programme d'utilisateur (135);: des moyens d'accès en mémoire pour accéder à un ordre courant dans la mémoire; et
des moyens de commande pour abandonner la commande au pro-
cesseur de blocs de fonction (110) si l'une au moins des deux conditions suivantes est vérifiée: (1) un flux d'énergie est indiqué dans le registre de flux d'énergie
(124) du processeur de bits (120:); et (2) le bloc de fonc-
tions est un bloc qui doit étre exécuté par le processeur de blocs de fonction (120); et un modificateur de pointeur d'instruction pour attendre jusqu'à ce que le processeur de
blocs de fonction (110) ait prélevé le pointeur d'instruc-
tion dans le processeur de bits (120), et pour modifier en-
suite le pointeur d'instruction pour qu'il désigne le CODE
OPERATION suivant dans la mémoire de programme d'utilisa-
teur (135), ce CODE OPERATION suivant étant maintenant dé-
signé comme l'ordre courant.
2. Contrôleur logique programmable selon la re-
vendication 1. caractérisé en ce qu'il comprend des moyens destinés a faire en sorte que le processeur de blocs de fonction (110) traite l'ordre courant lorsque les moyens de commande abandonnent la commande au processeur de blocs de
fonction (110).
3. Contrôleur logique programmable selon la re-
vendication 2, caractérisé en ce qu'une ligne ATTENTE est
connectée entre le processeur de bits (120) et le proces-
seur de blocs de fonction (110), le processeur de blocs de fonction (110) est placé dans un mode d'attente lorsqu'un
signal ATTENTE est activé sur la ligne ATTENTE, et le pro-
cesseur de blocs de fonction (110) est placé dans un mode de fonctionnement lorsque le signal ATTENTE est désactivé
sur la ligne ATTENTE.
4. Contrôleur logique programmable, caractérisé en ce qu'il comprend: un processeur de blocs de fonction
(110) destiné à traiter des ordres de haut niveau; un pro-
cesseur de bits (120), connecté au processeur de blocs de
fonction (110), et destiné à traiter des ordres de bas ni-
veau, ce processeur de bits (120) étant connecté à une mé-
moire de programme d'utilisateur (135) qui contient un pro-
gramme d'utilisateur comportant une séquence d'ordres qui comprend des CODES OPERATION et des OPERANDES associés, ce processeur de bits (120) comprenant un registre de flux d'énergie (124), et ce processeur de bits (120) contenant un compteur d'instructions (122) qui comporte un pointeur
d'instruction qui désigne un CODE OPERATION d'ordre à trai-
ter, se trouvant dans la mémoire de programme d'utilisateur (135); le processeur de bits (120) comprenant des moyens de décodage (126) destinés à décoder le CODE OPERATION d'un
ordre dans la mémoire, cet ordre étant appelé l'ordre cou-
rant; le processeur de bits (120) comprenant des moyens
pour abandonner la commande au processeur de blocs de fonc-
tion (110) pour traiter l'ordre courant, si l'une au moins des deux conditions suivantes est satisfaite pour cet ordre courant: 1) un flux d'énergie est indiqué dans le registre de flux d'énergie (124); 2) l'ordre courant est un bloc de fonction qui doit étre exécuté par le processeur de blocs de fonction (110); le processeur de bits (120) comprenant un modificateur de pointeur d'instruction pour attendre jusqu'à ce que le processeur de blocs de fonction (110) ait prélevé le pointeur d'instruction dans le processeur de
bits (120), et pour modifier ensuite le pointeur d'instruc-
tion pour désigner le CODE OPERATION suivant dans la mémoi-
re de programme d'utilisateur (135);: et le processeur de bits (120) comprenant des moyens destinés à faire en sorte que le processeur de bits traite lui-même l'ordre courant
si aucune des conditions 1 et 2 n'est satisfaite, le pro-
cesseur de bits (120) faisant avancer dans ce cas le poin-
teur d'instruction pour désigner le CODE OPERATION suivant
dans la mémoire de programme (135).
5. Contrôleur logique programmable selon la re-
vendication 4, caractérisé en ce que le modificateur de pointeur d'instruction comprend des moyens pour incrémenter
le pointeur d'instruction de façon à désigner le CODE OPE-
RATION valide suivant dans la mémoire de programme d'utili-
sateur (135).
6. Contrôleur logique programmable selon la re-
vendication 4, caractérisé en ce que le processeur de blocs de fonction (110) comprend des moyens pour exécuter le CODE
OPERATION de l'ordre courant lorsque la commande est aban-
donnée à ce processeur de blocs de fonction (110), l'exécu-
tion du CODE OPERATION de l'ordre courant ayant lieu apres que le processeur de bits (120) a modifié le pointeur d'instruction.
7. Contrôleur logique programmable selon la re-
vendication 6, caractérisé en ce que le processeur de blocs
de fonction (110) comprend des moyens pour rendre la com-
mande au processeur de bits (120) après que le processeur de blocs de fonction (110) a exécuté le CODE OPERATION de
l'ordre courant.
8. Procédé prévu pour être mis en oeuvre dans un contrôleur logique programmable comprenant un processeur de blocs de fonction (110) destiné à traiter des ordres de
haut niveau, et un processeur de bits (120) destiné à trai-
ter des ordres de bas niveau, ce processeur de bits (120) étant connecté à une mémoire de programme d'utilisateur (135) contenant un programme d'utilisateur qui contient une séquence d'ordres comportant des CODES OPERATION et des OPERANDES associés, le processeur de bits (120) comprenant un registre de flux d'énergie (124), et le processeur de bits comprenant un compteur d'instruction qui contient un
pointeur d'instruction désignant le CODE OPERATION de l'or-
dre suivant à traiter, caractérisé en ce qu'il comprend les opérations suivantes: le processeur de bits (120) décode et identifie le CODE OPERATION d'un ordre dans la mémoire
(135), cet ordre étant appelé l'ordre courant; le proces-
seur de bits (120) abandonne la commande au processeur de blocs de fonction (110) pour traiter l'ordre courant si l'une au moins des conditions suivantes est satisfaite pour cet ordre courant: 1) un flux d'énergie est indiqué dans le registre de flux d'énergie (124); 2) l'ordre courant est un bloc de fonction qui doit être exécuté par le processeur de blocs de fonction (110); le processeur de bits (120) attend jusqu'à ce que le processeur de blocs de fonction
(110) ait prélevé le pointeur d'instruction dans le proces-
seur de bits (120), et il modifie ensuite le pointeur d'instruction pour désigner le CODE OPERATION suivant dans
la mémoire de programme d'utilisateur (135); et le proces-
seur de bits (120) traite par ailleurs l'ordre courant si
aucune des conditions 1 et 2 n'est satisfaite.
9. Procédé selon la revendication 8, caractérisé en ce que l'opération d'attente et de modification comprend
l'incrémentation du pointeur d'instruction pour qu'il dési-
gne le CODE OPERATION valide suivant.
10. Procédé selon la revendication 8, caractérisé
en ce que l'opération d'attente et de modification est sui-
vie par l'opération dans laquelle le processeur de blocs de
fonction (110) exécute le CODE OPERATION de l'ordre cou-
rant.
11. Procédé selon la revendication 10. caractéri-
sé en ce que l'opération d'exécution du CODE OPERATION est
suivie par l'opération de retour de la commande au proces-
seur de bits (120).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/329,151 US5068821A (en) | 1989-03-27 | 1989-03-27 | Bit processor with powers flow register switches control a function block processor for execution of the current command |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2644912A1 true FR2644912A1 (fr) | 1990-09-28 |
FR2644912B1 FR2644912B1 (fr) | 1994-02-04 |
Family
ID=23284079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9003272A Expired - Lifetime FR2644912B1 (fr) | 1989-03-27 | 1990-03-14 | Controleur logique programmable et procede pour le faire fonctionner |
Country Status (7)
Country | Link |
---|---|
US (1) | US5068821A (fr) |
JP (1) | JPH02284258A (fr) |
CA (1) | CA1323703C (fr) |
DE (1) | DE4009804A1 (fr) |
FR (1) | FR2644912B1 (fr) |
GB (1) | GB2231986B (fr) |
IT (1) | IT1239493B (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0539115A2 (fr) * | 1991-10-24 | 1993-04-28 | Hitachi, Ltd. | Unité de contrôle programmable et procédé pour commande séquentielle |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2232514B (en) * | 1989-04-24 | 1993-09-01 | Yokogawa Electric Corp | Programmable controller |
IT1247640B (it) * | 1990-04-26 | 1994-12-28 | St Microelectronics Srl | Operazioni booleane tra due qualsiasi bit di due qualsiasi registri |
US5349675A (en) * | 1990-09-04 | 1994-09-20 | International Business Machines Corporation | System for directly displaying remote screen information and providing simulated keyboard input by exchanging high level commands |
US5305446A (en) * | 1990-09-28 | 1994-04-19 | Texas Instruments Incorporated | Processing devices with improved addressing capabilities, systems and methods |
DE4105321A1 (de) * | 1991-02-20 | 1992-08-27 | Siemens Ag | Regelung eines warm- und/oder kaltwalzprozesses |
JP3310990B2 (ja) | 1991-04-15 | 2002-08-05 | キヤノン株式会社 | 電子機器 |
ES2125353T3 (es) * | 1992-10-19 | 1999-03-01 | Siemens Energy & Automat | Controlador logico programable de alta velocidad. |
JP2000339008A (ja) * | 1999-05-27 | 2000-12-08 | Hitachi Ltd | プログラマブルコントローラ |
US20050114627A1 (en) * | 2003-11-26 | 2005-05-26 | Jacek Budny | Co-processing |
US8117424B2 (en) * | 2007-09-21 | 2012-02-14 | Siemens Industry, Inc. | Systems, devices, and/or methods for managing programmable logic controller processing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4215398A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Dual microprocessor intelligent programmable process control system with communication link |
EP0120194A2 (fr) * | 1983-01-28 | 1984-10-03 | Siemens Aktiengesellschaft | Commande à programme mémorisé avec processeur de mots et de bits |
EP0121038A2 (fr) * | 1983-01-28 | 1984-10-10 | Siemens Aktiengesellschaft | Commande à programme mémorisé |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4491908A (en) * | 1981-12-01 | 1985-01-01 | Honeywell Information Systems Inc. | Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit |
DE3486464D1 (de) * | 1983-04-18 | 1998-02-19 | Motorola Inc | Verfahren und Vorrichtung zum Koordinieren einer Instruktionsausführung durch eine Zusatzdatenverarbeitungseinheit |
US4914578A (en) * | 1983-04-18 | 1990-04-03 | Motorola, Inc. | Method and apparatus for interrupting a coprocessor |
EP0134386A2 (fr) * | 1983-08-05 | 1985-03-20 | Ten X Technology, Inc. | Méthode et appareil pour exécuter des instructions en language object compilé d'une source en language à haut niveau |
US4862351A (en) * | 1983-09-01 | 1989-08-29 | Unisys Corporation | Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same |
JPS60262204A (ja) * | 1984-06-07 | 1985-12-25 | Omron Tateisi Electronics Co | プログラマブル・コントロ−ラ |
EP0168054B1 (fr) * | 1984-07-11 | 1991-10-09 | Hitachi, Ltd. | Procédé et système de trâitement de l'information sous le contrôle de données |
JPS6181007A (ja) * | 1984-09-28 | 1986-04-24 | Victor Co Of Japan Ltd | 同期検波回路 |
US4663704A (en) * | 1984-12-03 | 1987-05-05 | Westinghouse Electric Corp. | Universal process control device and method for developing a process control loop program |
JPS6294050A (ja) * | 1985-10-21 | 1987-04-30 | Hitachi Ltd | 二重化装置切替方式 |
JPS62214464A (ja) * | 1986-03-17 | 1987-09-21 | Hitachi Ltd | データ処理システム |
US4926318A (en) * | 1986-11-12 | 1990-05-15 | Nec Corporation | Micro processor capable of being connected with a coprocessor |
-
1989
- 1989-03-27 US US07/329,151 patent/US5068821A/en not_active Expired - Lifetime
- 1989-09-07 CA CA000610578A patent/CA1323703C/fr not_active Expired - Lifetime
-
1990
- 1990-03-14 FR FR9003272A patent/FR2644912B1/fr not_active Expired - Lifetime
- 1990-03-26 GB GB9006719A patent/GB2231986B/en not_active Expired - Lifetime
- 1990-03-27 JP JP2075814A patent/JPH02284258A/ja active Pending
- 1990-03-27 DE DE4009804A patent/DE4009804A1/de not_active Ceased
- 1990-03-27 IT IT19838A patent/IT1239493B/it active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4215398A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Dual microprocessor intelligent programmable process control system with communication link |
EP0120194A2 (fr) * | 1983-01-28 | 1984-10-03 | Siemens Aktiengesellschaft | Commande à programme mémorisé avec processeur de mots et de bits |
EP0121038A2 (fr) * | 1983-01-28 | 1984-10-10 | Siemens Aktiengesellschaft | Commande à programme mémorisé |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0539115A2 (fr) * | 1991-10-24 | 1993-04-28 | Hitachi, Ltd. | Unité de contrôle programmable et procédé pour commande séquentielle |
EP0539115A3 (en) * | 1991-10-24 | 1994-11-09 | Hitachi Ltd | Programmable controller and sequence control method |
US5504930A (en) * | 1991-10-24 | 1996-04-02 | Hitachi, Ltd. | Programmable controller and sequence control method |
Also Published As
Publication number | Publication date |
---|---|
GB9006719D0 (en) | 1990-05-23 |
CA1323703C (fr) | 1993-10-26 |
FR2644912B1 (fr) | 1994-02-04 |
IT1239493B (it) | 1993-11-03 |
IT9019838A1 (it) | 1991-09-27 |
JPH02284258A (ja) | 1990-11-21 |
DE4009804A1 (de) | 1990-11-29 |
IT9019838A0 (it) | 1990-03-27 |
GB2231986B (en) | 1993-10-27 |
US5068821A (en) | 1991-11-26 |
GB2231986A (en) | 1990-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2644912A1 (fr) | Controleur logique programmable et procede pour le faire fonctionner | |
EP0241946A2 (fr) | Système de traitement de l'information | |
JP2000507015A (ja) | リアルタイムプログラム言語アクセラレータ | |
AU613217B2 (en) | Data processing apparatus | |
US20020078262A1 (en) | System and methods for providing compatibility across multiple versions of a software system | |
FR2770659A1 (fr) | Processeur de traitement perfectionne | |
EP1619590A1 (fr) | Procédé de programmation d'un controleur de DMA dans un système sur puce et système sur puce associé | |
EP0488819A2 (fr) | Dispositif d'exécution d'instructions de branchement conditionnel | |
EP0684551B1 (fr) | Circuit électronique et méthode pour l'utilisation d'un coprocesseur | |
KR100210205B1 (ko) | 스톨캐쉬를 제공하기 위한 장치 및 방법 | |
WO2006112190A1 (fr) | Processeur | |
FR2508669A1 (fr) | Dispositif logique programmable de prise, traitement et transmission de donnees | |
FR2569288A1 (fr) | Dispositif de calcul d'adresse pour un appareil de traitement numerique | |
JP3702184B2 (ja) | データ処理装置 | |
AU9502098A (en) | Autonomously cycling data processing architecture | |
US6922735B2 (en) | Management of co-processor information by integrating non-program information with program information | |
JP2001142696A (ja) | マイクロプロセッサにおける命令供給装置および命令供給方法 | |
FR2513778A1 (fr) | Dispositif et procede d'informatique | |
JPH0651984A (ja) | マイクロプロセッサ | |
JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
EP1249756B1 (fr) | Gestion d'information d'un coprocesseur par intégration d'information non logicielle avec information logicielle | |
EP1235140A1 (fr) | Procédé de gestion d'instructions de branchement au sein d'un processeur | |
JP2825315B2 (ja) | 情報処理装置 | |
JPH0241770B2 (fr) | ||
EP1698973A2 (fr) | Dispositif de génération de suivi de branchement pour microprocesseur et microprocesseur doté d'un tel dispositif |