FR2593304A1 - Systeme logique de priorite - Google Patents

Systeme logique de priorite Download PDF

Info

Publication number
FR2593304A1
FR2593304A1 FR8617747A FR8617747A FR2593304A1 FR 2593304 A1 FR2593304 A1 FR 2593304A1 FR 8617747 A FR8617747 A FR 8617747A FR 8617747 A FR8617747 A FR 8617747A FR 2593304 A1 FR2593304 A1 FR 2593304A1
Authority
FR
France
Prior art keywords
priority
lines
request
acknowledgment
circuit
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.)
Withdrawn
Application number
FR8617747A
Other languages
English (en)
Inventor
Richard B Hansen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of FR2593304A1 publication Critical patent/FR2593304A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • G06F13/34Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

L'invention vise un processus logique de priorité pour établir des valeurs de priorité déterminant des priorités d'interruption. Une priorité à plusieurs niveaux permet d'atteindre des valeurs de priorité modifiées pour des transferts de mots uniques et des blocs de mots multiples. Des registres 41, 42, 43 permettent d'obtenir des valeurs de priorité programmables qui peuvent modifier des valeurs de priorité en cours de fonctionnement. La simplicité de l'invention découle notamment de ce qu'elle prévoit des circuits de priorité qui ne dépendent pas des cycles d'horloge. La flexibilité des circuits permet à des dispositifs supplémentaires d'être incorporés dans le processus. (CF DESSIN DANS BOPI)

Description

2593304-
La présente invention concerne le domaine des systèmes d'interruption de priorité dans un réseau de traitement de données. De nombreux processus d'interruption ont été mis en oeuvre dans le passé pour commander l'accès des données dans un système d'ordinateur. Des systèmes d'interruption de priorité fixes ainsi que programmables sont disponibles. Quand les vitesses d'acquisition de données augmentent avec les processeurs rapides
et l'apparition des processeurs à 32 bits, des processus d'inter-
ruption de priorité plus rapides sont nécessaires. Les processus
antérieurs autorisaient seulement des transferts de mots unique.
Ainsi, le système recherchait une interruption et autorisait un seul transfert de mot par interruption. Ce processus est considéré comme étant lent en ce qu'un temps fini notable est requis pour traiter chaque interruption et également parce que le système doit
répondre à chaque interruption comme si elle provenait d'un dispo-
sitif séparé.
Un moyen d'augmenter la vitesse d'acquisition implique
des transferts de segments de blocs. Les segments de blocs con-
tenant des mots multiples sont transférés à un dispositif unique.
Typiquement, un signal d'interruption de transfert de bloc verrouillera le système de sorte qu'un seul dispositif peut
accéder à la mémoire pendant un transfert de bloc complet. Cepen-
dant, ce processus empêche des interruptions de survenir pendant
le transfert de blocs.
La présente invention permet des transferts de mots uni-
ques et multiples (segments de blocs) entre un dispositif et une mémoire. La présente invention représente une nouvelle voie par rapport aux technologies précédentes et décrit un processus dans
lequel un module logique de priorité fournit deux niveaux de prio-
rité selon le type de transfert souhaité. Un processus de priorité
modifié permet également des transferts de segments de blocs inin-
terrompus ainsi que des transferts de segments interrompus.
Un processus logique de priorité amélioré utilisant deux niveaux de priorité est décrit. Le premier niveau de priorité est utilisé pendant un transfert de mot unique tandis qu'un second niveau de priorité est utilisé pendant un transfert de segment de blocs. Normalement, le système fonctionne selon le mode de premier niveau (niveau de priorité ouvert) mais se décale vers le second niveau (niveau de priorité modifié) quand il détecte un transfert de segment de blocs. Des registres mémorisent des valeurs de priorité programmables pour chaque dispositif et ces valeurs déterminent l'ordre de priorité des requêtes incidentes pour un
transfert de données.
En programmant des valeurs de priorité en conséquence, des transferts de segments de blocs interruptibles ou non interruptibles peuvent être réalisés. Le processus est flexible, permettant au concepteur du système de choisir un compromis entre
le retard et la vitesse de bus et les performances.
En outre, la flexibilité du processus réside également dans sa simplicité. Le processus logique de priorité est mis en oeuvre dans un circuit logique combinatoire de sorte que des
priorités peuvent être établies indépendamment des cycles d'hor-
loge. Egalement, le circuit logique de priorité est mis en oeuvre selon des cellules, des cellules supplémentaires pouvant être
utilisées pour des dispositifs supplémentaires.
La présente invention a été conçue dans le but de développer une puce de circuit intégré à semiconducteur unique contenant un processeur graphique (GP), un processeur d'affichage
(DP) et une unité d'interface de bus (BIU) pour traiter des trans-
ferts de données à 32 bits. La présente invention localisée dans le module d'interface de bus commande la priorité du transfert de données entre les modules GP et DP ainsi que des dispositifs externes tels qu'une unité de traitement centrale (CPU) et une nméoire. En conséquence, un objet de l'invention est de prévoir un processus de priorité à deux niveaux, dans lequel des valeurs
de priorité déterminent l'ordre des priorités.
Un autre objet de l'invention est de permettre à un dispositif de posséder une première valeur de priorité pendant un
transfert de mots uniques et une seconde valeur de priorité pen-
ddilt an transfert de segments de blocs.
Un autre objet de l'invention est de prévoir un pro- cessus de priorité programmable ainsi que modifiable dans lequel des valeurs de priorité peuvent être traitées par le concepteur du
système en temps réel.
Un autre objet de l'invention est de prévoir une concep-
tion de circuit à cellules multiples de façon à assurer une flexibilité dans le nombre de dispositifs qui peuvent être couplés
au module logique de priorité.
Un autre objet de l'invention est de prévoir une puce semiconductrice unique qui comprend le système logique de priorité
ainsi qu'un processeur graphique et un processeur d'affichage.
Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés plus en détail
dans la description suivante de modes de réalisation particuliers
faite en relation avec les figures jointes parmi lesquelles:
La figure 1 est un schéma sous forme de blocs représen-
tant la fonction d'ensemble du module logique de priorité; La figure 2 est un schéma de blocs fonctionnels du module logique de priorité; La figure 3a est un exemple représentant les contenus OPL et MPL dans les registres de priorité;
La figure 3b représente les configurations de mémorisa-
tion de bits dans les registres de priorité; La figure 4a est une représentation graphique d'une séquence de priorité pendant un transfert de mot unique; La figure 4b est une représentation graphique d'une séquence de priorité pendant un transfert de segments de blocs
La figure 4c est une représentation graphique d'une com-
binaison de deux transferts de segments de blocs utilisant deux niveaux de priorité; La figure 5 est un schéma logique du module logique de priorité; La figure 6a est un schéma logique d'une première cellule du module logique de priorité; et La figure 6b est une table de vérité contenant les états
logiques de la figure 6a.
Un processus logique de priorité utilisant deux niveaux de priorité est décrit. La priorité normale ou en niveau ouvert
(OPL) est normalement utilisée pour des transferts de mots uni-
ques. Chaque fois qu'un transfert de segment de blocs de mots multiples prend place, une priorité de niveau modifié (MPL) est utilisée. Un circuit détecte un second mot dans un transfert de
segments de blocs et commute du mode OPL au mode MPL. La tran-
sition vers un mode MPL place une priorité différente sur les transferts de segments de blocs empêchant une monopolisation de la
mémoire par un dispositif unique accédant à la mémoire.
La figure 1 représente un schéma fondamental sous forme de blocs du module logique de priorité (PLU) 10 en relation avec d'autres modules dans un circuit de traitement de données. Le PLU est situé dans un module d'interface de bus (BIU) 11. Le BIU 11 sert d'interface entre la mémoire 12 et des modules d'accès en mémoire, tels que le processeur d'affichage (DP) 13, le processeur graphique (GP) 14 et l'unité de traitement centrale (CPU) 15. Les processeurs 13, 14 et 15 adressent la mémoire 12 par un bus d'adresses 16. Dans le BIU 11, un décodeur d'adresses 17 décode les informations de rangées et de colonnes et un multiplexeur 18 transfère les informations décodées à la mémoire 12. Le bus de données 19 comprenant un trajet de données à travers le BIU 11 transfère des données entre les processeurs 13, 14 et 15 et la
mémoire 12.
Dans le mode de réalisation décrit, le bus de données 19 est un bus à 16 bits dont 6 bits sont connectés au PLU 10. La
mémoire 12 est une mémoire dynamique à accès aléatoire (DRAM) per-
mettant d'accéder à un mot de 16 bits pour un transfert unique ou à deux mots de 16 bits pour un transfert de mot double par le bus d'adresses 16. Par suite, un transfert de données à 32 bits prend place sur un bus de données à 16 bits 19 pendant un transfert de bloc. Le BIU 11 permet également des transferts de mot unique et
de segment de blocs de données.
Le CPU 15 est un processeur typique associé à plusieurs
ordinateurs. Le GP 14 est un processeur de données vidéo permet-
tant un traitement de données graphiques. Le DP 13 est un pro-
cesseur commandant l'affichage sur un écran de tube à rayons cathodiques (CRT) 20. Chaque processeur comprend une ligne de requête 21 et une ligne d'accusé réception 22 connectées au PLU
10. Chaque ligne de requête 21 demande un accès aux bus 16 et 19.
Le PLU 10 détermine quelle requête a la priorité la plus élevée et autorise un accès vers le module présentant une requête de plus haute priorité en le signalant sur les lignes d'accusé réception respectives 22, d'o il résulte que ce module obtient un accès à la mémoire 12 jusqu'à ce qu'une priorité plus élevée provoque une
interruption ou que le cycle du bus soit achevé.
Dans le mode de réalisation particulier décrit, les
modules DP 13 et GP 14 sont incorporés dans la même puce semicon-
ductrice que le BIU 11, bien qu'une telle exigence ne soit pas nécessaire à la mise en oeuvre de l'invention. En outre, un nombre quelconque de modules d'accès en mémoire peut être couplé au PLU , de même que tout type ou configuration de mémoire et bus
d'accès peuvent être utilisés.
Bien que la présente invention soit utilisée pour assurer un traitement graphique, il sera clair pour l'homme de l'art que ces détails particuliers ne sont pas nécessaires pour mettre en oeuvre la présente invention. Dans d'autres cas, des structures, circuits et lignes de commande bien connus ne seront pas décrits en détail pour ne pas obscurcir la présente invention
par des détails superfétatoires.
La figure 2 représente un agrandissement du PLU 10. Des lignes de requête DP REQ 31 et GP REQ 32 entrent dans le circuit logique de priorité (PLC) 30 et des lignes d'accusé réception respectives DP ACK 34 et GP ACK 35 sortent du PLC 30. Une ligne de requête du CPU, CPU REQ 33, entre dans un module de requête externe 37 qui fournit alors le signal EXT REQ 38 au PLC 30. En retour, le PLC 30 produit un signal EXT ACK 39 vers un module
d'accusé réception externe 40 qui produit le signal CPU ACK 36.
Les modules externes 37 et 40 autorisent les dispositifs externes
multiples à servir d'interface au PLC 30. D'autre part, ces dispo-
sitifs peuvent être couplés directement au PLC 30. Dans le mode de réalisation particulier décrit, les lignes de requête et d'accusé réception 31, 32, 34 et 35 sont traitées comme des lignes internes car elles se trouvent totalement à l'intérieur d'une puce semicon-
ductrice unique.
Le PLC 30 contient des registres 41, 42 et 43 pour mémoriser des bits de priorité qui sont programmés sous forme d'un code à 6 bits sur une ligne de données 44 qui est couplée aux registres 41, 42 et 43. Les registres 41, 42 et 43 sont utilisés pour mémoriser des valeurs de priorité. Le registre DP 41 et le registre GP 42 contiennent chacun 6 bits. Les trois bits les moins significatifs sont utilisés pour établir des valeurs de priorité dans le mode OPL et les trois bits les plus significatifs sont utilisés pour établir des valeurs de priorité quand on se trouve
dans le mode MPL.
Le détecteur de blocs 45 détecte un transfert de bloc et informe le décodeur d'état 46. Le décodeur d'état 46 reçoit également les signaux DP ACK 34 et GP ACK 35. Le décodeur d'état 46 produit le signal DP OPL/MPL 47 qui choisit ou bien la valeur
MPL ou bien la valeur OPL du registre DP 41. Pendant tout trans-
fert de mot unique, la valeur OPL est sélectionnée. Pendant tout transfert de segment de bloc, la valeur OPL est choisie pour le tout premier mot, mais la valeur MPL est ensuite choisie pour tout mot suivant sur le même segment de bloc. Le signal DP ACK 34 informe le décodeur d'état 46 quand la transition OPL/MPL doit
survenir dans le segment de bloc.
De la même façon, le décodeur d'état 46 produit le signal GP OPL/MPL 48 qui choisit ou bien la valeur MPL ou bien la valeur OPL du registre GP 42. Un mot unique et un mot initial d'un segment de blocs utilisent une valeur OPL et une valeur MPL est
choisie pour des mots suivants du segment de bloc.
Un registre externe 43 maintient seulement une valeur OPL, parce que dans le mode de réalisation particulier seuls des transferts de mots uniques sont autorisés par le CPU. Toutefois, en utilisant 6 bits dans le registre 43, une valeur MPL peut être
utilisée en relation avec des transferts de blocs.
7- Un compteur de rafraîchissement 49 compte des impulsions d'horloge de synchronisation et produit un signal REF REQ 50 vers le PLC 30 qui initialise un cycle de rafraîchissement de mémoire qui présente la plus halte priorité et est prioritaire par rapport à tous les signaux d'accusé réception 34, 35 et 39. Les figures 3a et 3b représentent mieux la conception
des registres 41, 42 et 43. Uniquement pour des buts explica-
tifs, des valeurs de priorité arbitraires ont été choisies pour chaque valeur OPL et MPL en figure 3a. Ces valeurs peuvent être modifiées à tout instant en programmant des nouvelles valeurs sur la ligne de données 44 de la figure 2. La priorité précédente est déterminée par la valeur numérique la plus élevée choisie. Comme
seulement 3 bits sont utilisés dans le mode de réalisation par-
ticulier décrit, des valeurs de priorité de O à 7 sont disponi-
bles. Plus de bits peuvent être utilisés si fn plus grand nombre
de modules maîtres d'établissement de priorité sont souhaités.
Ainsi, dans cet exemple particulier, en utilisant trois modules maîtres, GP OPL présente la plus haute priorité et DP MPL présente la plus basse priorité en figure 3a. Les valeurs individuelles
sont transformées en une séquence de bits en figure 3b.
Les figures 4a, 4b et 4c représentent le processus de fonctionnement primaire de la présente invention. Un transfert de mot unique est représenté en figure 4a. Une requête 51 sur une ligne de requête quelconque signalera au PLC 30 qu'un dispositif tente d'accéder à la mémoire 12. Un signal de requête peut être continu ou en impulsion mais la requête persistera jusqu'à ce
qu'un accusé réception 52 soit fourni. Comme il s'agit d'un trans-
fert de mot unique, la requête 51 s'achèvera par suite de la génération d'un accusé réception 52. Après génération d'un accusé réception 52, le mot unique est transféré. Egalement, en raison de la requête de mot unique, une valeur OPL est attribuée à cette ligne de requête pour ce dispositif et cette ligne maintient une
valeur OPL après le transfert.
La figure 4b représente un transfert de segment de bloc.
La requête 53 informe le PLC 30 qu'un dispositif requiert un accès en mémoire. Avec une nouvelle requête, le PLC 30 est configuré pour recevoir un mot unique ou une requête de bloc. Ainsi, une priorité d'une valeur OPL est initialement disponible. A cet instant, un accusé réception 54 est donné, suivi d'un transfert de mot. Jusqu'à ce moment, la séquence de transfert de blocs est la même que celle d'un transfert de mot unique. Mais comme il s'agit d'un transfert de blocs, la requête 53 persiste requérant le mot
suivant du bloc.
A ce stade, le décodeur d'état 46 choisit le mode MPL et le PLC 30 choisit la valeur MPL. Tant que d'autres dispositifs n'essayent pas d'interrompre par des requêtes son propre accès en
mémoire, les accusés réception suivants 55 autoriseront le trans-
fert des mots suivants dans le bloc jusqu'à ce que tous les mots du bloc soient transférés. Quand le transfert du segment de bloc est achevé et que la requête 53 s'achève, le PLC 30 revient du
mode MPL au mode OPL.
La figure 4c représente la situation quand un transfert de segment de blocs en provenance d'un premier dispositif est
interrompu par une requête en provenance d'un second dispositif.
Pour simplifier l'explication, les valeurs de priorité de la
figure 3 sont utilisées.
Initialement, GP et DP requièrent un accès à la mémoire en initialisant des requêtes 57 et 58 vers le PLC 30. Quand le PLC est prêt, il répond à la priorité de niveau le plus élevé qui,
dans ce cas, est la requête GP ayant une priorité de 7 en com-
paraison a la valeur DP de 5. L'accusé réception 59 autorise le premier mot à être transféré à partir de GP à l'instant t7. Comme cette requête 57 continue, le décodeur d'état 46 interprète qu'il s'agit d'un transfert de bloc et notifie au PLC 30 de choisir la
valeur MPL.
Comme la valeur DP OPL de 5 est plus élevée que la
valeur GP MPL de 2, le PLC 30 répondra à la requête DP 58.
L'accusé réception 60 autorise le transfert du premier mot du segment de bloc DP à l'instant t1l. Après ce transfert, la valeur de priorité DP passe à la valeur MPL. Maintenant, la requête GP 57
est à une priorité de 2 et la requête DP est à une priorité de 0.
L'accusé réception suivant 61 transfère le mot suivant dans un segment de bloc GP. A moins qu'une priorité de valeur plus élevée interrompe la séquence, le transfert de bloc GP continuera jusqu'à ce qu'il soit achevé avec le dernier accusé réception 62. A l'achèvement du transfert du segment de bloc GP, la priorité GP revient à la valeur OPL, mais comme la requête GP 57 n'est plus présente, le transfert de bloc DP repart avec l'accusé réception
63 à l'instant tn.
La flexibilité de l'invention réside dans la possibilité pour l'utilisateur du système de programmer les diverses valeurs de priorité. En outre, les valeurs de priorité peuvent être
modifiées pendant le fonctionnement, toutefois, chaque modifica-
tion, ainsi que le redémarrage d'un segment de bloc, nécessite un temps notable qui est pris à partir du cycle de transfert réel. En conséquence, pendant un cycle de retour d'affichage, les deux priorités DP peuvent être établies à des valeurs plus faibles et les valeurs GP MPL peuvent être établies à haut niveau pour autoriser un transfert de bloc optimal d'observation graphique entre GP et la mémoire. Le concepteur du système devra considérer le compromis entre la flexibilité de manipulation des valeurs de
priorité et la pause de temps de cycle pour redémarrer un trans-
fert de segment de bloc.
Le circuit du PLC 30 est représenté en figure 5. Le PLC contient un certain nombre de cellules 70 dont la quantité
dépend du nombre de bits de priorité et de lignes de requête.
Chaque rangée de cellules 70 est associée à une ligne de requête et chaque colonne de cellules 70 est associée à une colonne de niveaux de bits. La colonne A 71 contient les bits les moins significatifs 73, 90, 91, 92, 93 et 94 de chaque niveau de priorité (bits O et 3) des registres 41, 42 et 43, tandis que la colonne C 72 contient les bits les plus significatifs 74, 95, 96, 97, 98 et 99 (bits 2 et 5). Une ligne d'établissement (SET) 44
établit les valeurs de priorité des registres 41, 42 et 43.
En se référant au signal DP REQ 31 de la figure 5, le signal REQ IN 69 entre dans le circuit logique d'état 75 de la cellule de bit le plus significatif (MSB) (1C) 76. Un signal "1" est présent s'il y a une requête et un signal "0" s'il n'y a pas de requête. Le signal DP OPL/MPL 47 commande le multiplexeur MUX 77 qui sélectionne ou bien le bit OPL 78 ou bien le bit MPL 79. La valeur qui est choisie est couplée au circuit logique d'état 75 en
tant que signal d'état ST 80. Le signal ST 80 est ciuplé à un cir-
cuit de retard 81 sur la ligne 82 quand le signal DP REQ 31 est à "1". Le circuit de retard 81 produit un signal d'accord MATCH 83 qui est un complément retardé de ST 80. La ligne 82 et le signal MATCH 83 sont câblés selon une porte OU vers le circuit logique d'état 75 de la même colonne de cellules. Le circuit logique d'état 75 traite les trois signaux 31, 80 et 83 et produit le signal REQ OUT 84 qui devient le signal d'entrée REQ IN 85 pour la
colonne de cellules inférieures suivantes.
Le même processus que ci-dessus se répète pour chaque cellule. La sortie 86 de la cellule de bit le moins significatif
(LSB) 71 est couplée à un circuit logique de position 87. Le cir-
cuit logique de position 87 est câblé selon une porte OU vers d'autres circuits logiques de position 87 avec une ligne 88. Le
signal REF REQ 50 est également couplé au circuit logique de posi-
tion 87. Le circuit logique de position 87 produit alors un signal
d'accusé réception 89 comme sortie.
Dans le mode de réalisation particulier décrit, aucun
transfert de bloc n'est autorisé pour des dispositifs externes.
Ainsi, les cellules 70 dans la troisième rangée permettent seule-
ment à des valeurs OPL de transiter à travers le MUX 77. Toute-
fois, les cellules 70 de la troisième rangée peuvent être amenées
à fonctionner avec les deux niveaux de priorité par une recon-
figuration simple.
On va maintenant examiner les figures 6a et 6b; la figure 6a représente un schéma détaillé du circuit logique d'état 75. La ligne d'établissement 44 établit le bit MPL 79 et le bit OPL 78. Le signal OPL/MPL 47 commande le multiplexeur MUX 77 pour choisir l'un des bits 78 ou 79. Le signal REQ IN 69 est couplé à un inverseur 65 et à une ligne de validation 67 d'un circuit de retard 81. La sortie du multiplexeur MUX 77 est couplée à une première entrée 101 d'une porte NON OU Exclusif 64 et également à une seconde ligne de validation 82 du circuit de retard 81. Le circuit de retard 81 est un retard établi par porte dans le but de permettre au signal ST 80 de se stabiliser avant de mémoriser le
signal MATCH 83. Normalement, le signal MATCH 83 est à un état un.
Quand l'une quelconque des cellules 70 dans une colonne produit un signal ST 80 de un, le signal MATCH 83 pour cette colonne effectue une transistion vers un état zéro si une requête REQ IN 69 de "1" est présente. Le signal MATCH 83 est couplé à l'entrée 102 d'une porte 64. La sortie de la porte 64 et la sortie de l'inverseur 65 sont appliquées en tant qu'entrées 103 et 104 à une porte NON OU 66. La sortie de la porte NON OU 66 est le signal REQ OUT 84. Les
autres circuits logiques d'état ont la même constitution. En pra-
tique, toute configuration de circuit assurant la même table de
vérité logique conviendra.
La figure 6b est une table de vérité pour les cellules 70. Une situation de non requête est représentée à la ligne 1- de la figure 6b. Comme il n'y a pas de requête, la sortie sera toujours à "O". La ligne 2 représente un état o le signal ST 80 est à "O" et le signal MATCH 83 est à O0. Ici, la valeur de priorité ST est à "O' mais une autre cellule en parallèle a une priorité de "1" amenant le signal MATCH 83 à "O". Comme la cellule en parallèle a une priorité de valeur plus élevée, cette cellule gagne. Ainsi la sortie de la première cellule propage un O0. La ligne 3 représente un état o la valeur de priorité est "1" et ainsi la cellule propage la requête ainsi qu'elle amine le signal
MATCH à "0". La ligne 4 est une situation de "O" partout., c'est-à-
dire que toutes les cellules 70 dans la colonne ont la valeur de priorité 'O. En ce cas, le signal MATCH reste à "1" et la requête est propagée. La dernière ligne est une condition impossible qui ne survient jamais, car le signal MATCH sera toujours à "O" quand
ST et REQ IN ont une valeur "1".
En fonctionnement, une requête sur la ligne REQ IN 69 continuera à propager une requête (à l'état "1") tant que chaque cellule présente un bit de priorité choisi qui est égal ou supérieur au bit de priorité choisi dans une cellule parallale d'une autre ligne requise. Apres avoir établi une séquence après chaque ensemble de colonnes, la requête ayant la valeur de priorité la plus élevée mémorisée dans les registres produira "1" comme sortie de sa cellule de bit le moins significatif 71 sur la
ligne de sortie 86.
Dans certaines configurations impliquant une situation de même priorité, un "1 sera produit sur plus d'une ligne de sor- tie 86. En ce cas, le circuit logique de position 87 présente un niveau de priorité pré-établi déterminant un circuit qui permet à un seul dispositif d'avoir accès. La ligne 88 connecte selon un OU le circuit logique de position 87 et invalide les autres circuits logiques de position 87 qui présentent une priorité préétablie plus basse. Les circuits de la cellule 70 ou d'autres circuits bien connus de rupture de liaison peuvent être mis en oeuvre dans le circuit logique de position 87. Ainsi, un seul signal d'accusé
réception sera produit pour tout transfert de mémoire donné.
Le signal REF REQ 50 est utilisé pour produire un cycle
de rafraîchissement de mémoire et présente la plus haute priorité.
En conséquence, chaque fois que le signal REF REQ 50 est à un état "1", il invalide le circuit logique de position 87 et empêche la génération de tout accusé réception jusqu'à ce que le cycle de
rafraîchissement de mémoire soit terminé.
Ainsi, un processus logique de priorité amélioré mettant en oeuvre deux niveaux de valeurs de priorité a été décrit. La flexibilité de l'invention autorise le concepteur du système à
programmer toute séquence de processus logique de priorité.

Claims (22)

REVENDICATIONS
1. Appareil logique de priorité compris dans un système de traitement de données, pour déterminer un ordre de priorité d'accès en mémoire, caractérisé en ce qu'il comprend: une pluralité de lignes de requêtes de mémoire (REQ) une pluralité de lignes d'accusé réception (ACK) de requêtes; un premier ensemble de registres pour mémoriser un premier ensemble de valeurs de priorité (OPL) pour établir l'ordre de priorité pendant un transfert de mots uniques; un second ensemble de registres pour mémoriser un second ensemble de valeurs de priorité (MPL) pour établir l'ordre de
priorité pendant un transfert de segments de blocs de mots mul-
tiples; un moyen de circuit (43) couplé aux lignes de requêtes de mémoire, aux lignes d'accusé réception, aux premier et second ensembles de registres, à des moyens de circuit pour comparer les valeurs de priorité et produire un signal d'accusé réception sur l'une des lignes d'accusé réception, dans lequel un signal de requête sur l'une des lignes de requêtes ayant la valeur de priorité mémorisée la plus élevée réalise un accès vers la mémoire (12) pour l'un desdits transferts de donnees; d'o il résulte que des interruptions de priorité plus
rapides et plus flexibles sont obtenues.
2. Appareil selon la revendication 1, caractérisé en ce que le moyen de circuit comprend en outre un moyen de détection
pour détecter lesdits transferts uniques et de blocs.
3. Appareil selon la revendication 2, caractérisé en ce
que les premier et second ensembles de registres sont program-
mables.
4. Appareil selon la revendication 3, caractérisé en ce que le moyen de circuit comprend en outre un moyen de commutation
pour choisir les premiers registres pour le transfert de mots uni-
que et les seconds registres pour le transfert de blocs.
5. Appareil selon la revendication 4, caractérisé en ce
que le moyen de commutation comprend un multiplexeur (77).
6. Appareil selon la revendication 5, caractérisé en ce que chacune des premières et secondes valeurs de priorité comprend 3 bits.
7. Appareil logique de priorité compris dans un système de traitement de données, pour déterminer un ordre de priorité
pour accéder à une mémoire (12), caractérisé en ce qu'il com-
prend: une pluralité de lignes de requêtes de mémoire (REQ), une pluralité de lignes d'accusé réception de requêtes
(ACK);
un premier ensemble de registres pour mémoriser un premier ensemble de valeurs de priorité (OPL), dans lequel chacune des lignes de requêtes est couplée à l'un du premier ensemble de registres; un second ensemble de valeurs de priorité (MPL), dans lequel chacune des lignes de requêtes est couplée à l'un du second ensemble de registres; un moyen de commutation couplé aux registres pour sélectionner entre lesdits premiers et seconds registres de chaque ligne de requêtes; un moyen de circuit couplé aux lignes de requêtes de mémoire, aux lignes d'accusé réception et au moyen de commutation, pour:
a) déterminer un signal de requête de mémoire sur cha-
cune des lignes de requêtes; b) comparer les valeurs de priorité choisies de chacune des lignes de requêtes o le signal de requête de mémoire est présent; c) choisir la valeur la plus élevée à partir de ladite comparaison; d) produire un signal d'accusé réception sur la ligne
d'accusé réception respective parmi les lignes d'accusé récep-
tion; d'o il résulte que des interruptions de priorité plus
rapides et plus flexibles sont réalisées.
8. Appareil selon la revendication 7, caractérisé en ce que chacune des lignes de requêtes utilise sa première valeur de priorité pendant un transfert de mot unique et sa seconde valeur de priorité pendant un transfert de segments de bloc de mots multiples.
9. Appareil selon la revendication 8, caractérisé en ce
que les premier et second ensembles de registres sont program-
mables.
10. Appareil selon la revendication 9, caractérisé en ce que ledit moyen de circuit comprend en outre un circuit de priorité de position, ce circuit de priorité de position servant à déterminer une valeur de priorité unique quand ladite comparaison
fournit plus d'une valeur de plus haute priorité.
11. Appareil selon la revendication 10, caractérisé en ce que les lignes d'accusé réception sont invalidées pendant un
cycle de rafraîchissement de mémoire.
12. Appareil selon la revendication 11, caractérisé en
ce qu'il est intégré sur une puce semiconductrice.
13. Puce de circuit intégré semiconducteur utilisée dans un système informatique, cette puce étant couplée à une mémoire, comprenant un circuit logique de priorité dans ladite puce pour déterminer un ordre de priorité d'accès en mémoire, ce circuit logique de priorité étant caractérisé en ce qu'il comprend: une pluralité de lignes de requêtes mémoire; une pluralité de lignes d'accusé réception de requêtes
une pluralité de registres dont chacun est couplé à cha-
que ligne de requêtes pour mémoriser un premier et un second ensemble de valeurs de priorité, dans lequel le premier ensemble de valeurs est mémorisé en tant que bits les plus significatifs et le second ensemble de valeurs est mémorisé en tant que bits les moins significatifs; une pluralité de multiplexeurs (77) couplés aux registres pour choisir entre les premières et secondes valeurs de priorité de chaque ligne de requête; une pluralité de circuits logiques d'état (75) couplés aux lignes de requêtes de mémoire, aux lignes d'accusé réception et aux multiplexeurs, ces circuits logiques d'état permettant de: a) déterminer un signal de requête de mémoire sur chaque ligne de requête; b) comparer les valeurs de priorité choisies de chacune des lignes de requête comprenant le signal de requête de mémoire c) sélectionner la valeur la plus élevée à partir de ladite comparaison; d) produire un signal d'accusé réception sur une ligne
d'accusé réception respective parmi les lignes d'accusé récep-
tion, d'o il résulte que des interruptions plus rapides et
plus flexibles sont réalisées.
14. Circuit selon la revendication 13, caractérisé en ce que le circuit logique d'état comprend en outre des moyens de
retard pour assurer la comparaison.
15. Circuit selon la revendication 14, caractérisé en ce que chacune des lignes de requêtes utilise sa première valeur de priorité pendant un transfert de mot unique et sa seconde valeur de priorité pendant un transfert de segment de bloc de mots
multiples.
16. Circuit selon la revendication 15, caractérisé en ce
que les premier et second ensembles de registres sont program-
mables.
17. Circuit selon la revendication 16, caractérisé en ce qu'il comprend en outre un circuit de priorité de position, ce circuit de priorité de position servant à déterminer une valeur de priorité unique quand ladite comparaison fournit plus d'une valeur
de plus haute priorité.
18. Circuit selon la revendication 17, caractérisé en ce que les lignes d'accusé réception sont invalidées pendant un cycle
de rafraîchissement de mémoire.
19. Circuit selon la revendication 18, caractérisé en ce que les premières valeurs de priorité sont représentées par 3 bits et les secondes valeurs de priorité sont également représentées
par 3 bits.
20. Circuit selon les revendications 13 ou 19, caracté-
risé en ce que la puce comprend en outre un processeur graphique (14) et un processeur d'affichage(13), chacun de ces processeurs comprenant des lignes de requêtes et d'accusé réception couplées au circuit logique de priorité.
21. Circuit selon la revendication 20, caractérisé en ce
que le mot est un mot de 32 bits.
22. Circuit selon la revendication 21, caractérisé en ce que le premier ensemble de valeurs de priorité présente des
priorités plus élevées que le second ensemble de valeurs.
FR8617747A 1986-01-17 1986-12-18 Systeme logique de priorite Withdrawn FR2593304A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/819,726 US4788640A (en) 1986-01-17 1986-01-17 Priority logic system

Publications (1)

Publication Number Publication Date
FR2593304A1 true FR2593304A1 (fr) 1987-07-24

Family

ID=25228885

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8617747A Withdrawn FR2593304A1 (fr) 1986-01-17 1986-12-18 Systeme logique de priorite

Country Status (3)

Country Link
US (1) US4788640A (fr)
JP (1) JPS62171062A (fr)
FR (1) FR2593304A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0322065A1 (fr) * 1987-12-23 1989-06-28 Laboratoires D'electronique Philips Système graphique avec controleur graphique et controleur de DRAM
EP0322066A1 (fr) * 1987-12-23 1989-06-28 Laboratoires D'electronique Philips Système de gestion des priorités d'accès à une mémoire et son application
US5115507A (en) * 1987-12-23 1992-05-19 U.S. Philips Corp. System for management of the priorities of access to a memory and its application

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179667A (en) * 1988-09-14 1993-01-12 Silicon Graphics, Inc. Synchronized DRAM control apparatus using two different clock rates
US5193193A (en) * 1988-09-14 1993-03-09 Silicon Graphics, Inc. Bus control system for arbitrating requests with predetermined on/off time limitations
US5414818A (en) * 1990-04-06 1995-05-09 Mti Technology Corporation Method and apparatus for controlling reselection of a bus by overriding a prioritization protocol
US5257357A (en) * 1991-01-22 1993-10-26 Motorola, Inc. Method and apparatus for implementing a priority adjustment of an interrupt in a data processor
CA2080608A1 (fr) * 1992-01-02 1993-07-03 Nader Amini Logique de commande de bus pour ordinateur a deux bus
US5307466A (en) * 1992-04-30 1994-04-26 International Business Machines Corporation Distributed programmable priority arbitration
JP3320233B2 (ja) * 1995-02-06 2002-09-03 キヤノン株式会社 記録装置
US5781927A (en) * 1996-01-30 1998-07-14 United Microelectronics Corporation Main memory arbitration with priority scheduling capability including multiple priorty signal connections
US5889949A (en) * 1996-10-11 1999-03-30 C-Cube Microsystems Processing system with memory arbitrating between memory access requests in a set top box
US6078338A (en) * 1998-03-11 2000-06-20 Compaq Computer Corporation Accelerated graphics port programmable memory access arbiter
US6668317B1 (en) 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US6584522B1 (en) 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US7126952B2 (en) 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1269301A (en) * 1969-07-31 1972-04-06 Cii Numerical data processing systems
FR2231050A1 (fr) * 1973-05-21 1974-12-20 Siemens Ag

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3444525A (en) * 1966-04-15 1969-05-13 Gen Electric Centrally controlled multicomputer system
US3706974A (en) * 1971-10-27 1972-12-19 Ibm Interface multiplexer
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
US3921150A (en) * 1974-09-12 1975-11-18 Sperry Rand Corp Three-rank priority select register system for fail-safe priority determination
US4271466A (en) * 1975-02-20 1981-06-02 Panafacom Limited Direct memory access control system with byte/word control of data bus
US4006466A (en) * 1975-03-26 1977-02-01 Honeywell Information Systems, Inc. Programmable interface apparatus and method
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
US4035780A (en) * 1976-05-21 1977-07-12 Honeywell Information Systems, Inc. Priority interrupt logic circuits
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
US4091455A (en) * 1976-12-20 1978-05-23 Honeywell Information Systems Inc. Input/output maintenance access apparatus
US4126893A (en) * 1977-02-17 1978-11-21 Xerox Corporation Interrupt request controller for data processing system
US4558412A (en) * 1978-12-26 1985-12-10 Honeywell Information Systems Inc. Direct memory access revolving priority apparatus
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4385350A (en) * 1980-07-16 1983-05-24 Ford Aerospace & Communications Corporation Multiprocessor system having distributed priority resolution circuitry
US4454575A (en) * 1980-12-29 1984-06-12 International Business Machines Corporation Shared memory system with access by specialized peripherals managed by controller initialized by supervisory CPU
US4488218A (en) * 1982-01-07 1984-12-11 At&T Bell Laboratories Dynamic priority queue occupancy scheme for access to a demand-shared bus
KR860000904B1 (ko) * 1982-06-18 1986-07-16 후지쑤 가부시끼 가이샤 데이타 처리 시스템에 있어서의 악세스 요구 제어장치
US4493036A (en) * 1982-12-14 1985-01-08 Honeywell Information Systems Inc. Priority resolver having dynamically adjustable priority levels
US4644467A (en) * 1982-12-29 1987-02-17 Mccarthy John M Multi-level dynamic priority selector groups of data elements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1269301A (en) * 1969-07-31 1972-04-06 Cii Numerical data processing systems
FR2231050A1 (fr) * 1973-05-21 1974-12-20 Siemens Ag

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0322065A1 (fr) * 1987-12-23 1989-06-28 Laboratoires D'electronique Philips Système graphique avec controleur graphique et controleur de DRAM
EP0322066A1 (fr) * 1987-12-23 1989-06-28 Laboratoires D'electronique Philips Système de gestion des priorités d'accès à une mémoire et son application
FR2625340A1 (fr) * 1987-12-23 1989-06-30 Labo Electronique Physique Systeme graphique avec controleur graphique et controleur de dram
FR2625341A1 (fr) * 1987-12-23 1989-06-30 Labo Electronique Physique Systeme de gestion des priorites d'acces a une memoire et son application
US5115507A (en) * 1987-12-23 1992-05-19 U.S. Philips Corp. System for management of the priorities of access to a memory and its application

Also Published As

Publication number Publication date
JPS62171062A (ja) 1987-07-28
US4788640A (en) 1988-11-29

Similar Documents

Publication Publication Date Title
FR2593304A1 (fr) Systeme logique de priorite
EP0121030B1 (fr) Dispositif d'arbitrage pour l'attribution d'une ressource commune à une unité sélectionnée d'un système de traitement de données
BE1003816A4 (fr) Appareil et methode pour acceder a des donnees emmagasinees dans une memoire de pages.
JP3579461B2 (ja) データ処理システム及びデータ処理装置
FR2625340A1 (fr) Systeme graphique avec controleur graphique et controleur de dram
FR2645666A1 (fr) Procede pour transferer des donnees par salves dans un microprocesseur
FR2602070A1 (fr) Systeme et procede d'acces a une memoire d'ordinateur.
FR2539528A1 (fr) Systeme a microprocesseur comportant deux processeurs
FR2528195A1 (fr) Systeme de communication entre ordinateurs
EP1081598B1 (fr) Dispositif à plusieurs processeurs partageant une mémoire collective
FR2770665A1 (fr) Dispositif d'echange entre unites de traitement d'informations a processeurs interconnectes par un bus commun
EP1081597B1 (fr) Dispositif à plusieurs processeurs ayant une interface pour une mémoire collective
JPH11355536A (ja) 画像処理方法および画像処理装置
EP1248261A2 (fr) Procédé de gestion à accès aléatoire et rapide d'une mémoire dram
EP0394115A1 (fr) Dispositif d'accélération des accès mémoire dans un système informatique
FR2544524A1 (fr) Processeur de signaux numeriques et multicalculateur
EP0908828B1 (fr) Procédé et système contrôle d'accès partagés à une mémoire vive
EP1081602A1 (fr) Adressage d'une memoire
FR2769728A1 (fr) Procede et systeme perfectionnes de controle d'acces partages a une memoire vive
FR2487549A1 (fr) Disposition de circuit pour le transfert rapide de donnees entre la memoire d'un ordinateur electronique et les unites d'interface des peripheriques qui sont connectees a ce dernier
JP3509981B2 (ja) 画像表示制御方法およびその装置
JP3537786B2 (ja) データ処理システム
FR2797971A1 (fr) Acces a une ressource collective
FR2799020A1 (fr) Dispositif a plusieurs processeurs ayant une interface pour une memoire collective
JPH07122856B2 (ja) 記憶アクセス制御装置

Legal Events

Date Code Title Description
ST Notification of lapse