FR2639729A1 - Appareil d'arbitrage pour traitement d'interruptions asynchrones - Google Patents
Appareil d'arbitrage pour traitement d'interruptions asynchrones Download PDFInfo
- Publication number
- FR2639729A1 FR2639729A1 FR8914211A FR8914211A FR2639729A1 FR 2639729 A1 FR2639729 A1 FR 2639729A1 FR 8914211 A FR8914211 A FR 8914211A FR 8914211 A FR8914211 A FR 8914211A FR 2639729 A1 FR2639729 A1 FR 2639729A1
- Authority
- FR
- France
- Prior art keywords
- signal
- interrupt
- request
- register
- active
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
L'invention concerne un circuit d'arbitrage entre des demandes d'interruption de type asynchrone. L'appareil constitue un double circuit tampon pour les demandes d'interruption qui sont d'abord mémorisées dans un registre 22, 24, 26 avant d'être transmises à un registre d'état 44, 46, 48. La gestion de la circulation des demandes d'interruption dans les registres est assurée par un circuit de commande ayant une section de synchronisation 28, 30, 36 et une section séquentielle auto-synchronisée 42, 52-58. Application à la gestion des demandes d'interruption de type asynchrone.
Description
La présente invention concerne de façon générale des
circuits périphériques utilisés avec un élément de traite-
ment de données, par exemple un microprocesseur ou un microordinateur. Plus précisément, l'invention concerne le traitement des demandes d'interruption et les réponses du
système hôte, notamment dans les applications dans les-
quelles les demandes et les réponses doivent apparaitre de
manière asynchrone.
La plupart des systèmes d'ordinateur sont divisés en
sous-circuits qui sont destinés à remplir des tâches parti-
culières. Ces circuits auxiliaires sont parfois appelés "circuits périphériques" parce qu'ils entourent l'élément central de traitement. Les circuits périphériques peuvent
avoir des opérations commandées par des horloges, travail-
lant de façcon asynchrone par rapport à la synchronisation
d'horloge du processeur central. Dans ces cas en particu-
lier, une demande d'interruption transmise par un disposi-
tif périphérique peut être perdue ou détectée de façon erronée plus d'une fois du fait de la nature asynchrone du moment de la réponse par rapport à la synchronisation de la
source d'interruption.
L'invention a pour objet un appareil d'arbitrage
d'interruptions qui empêche ces opérations erronées.
Elle concerne aussi un appareil d'arbitrage d'inter-
ruptions qui travaille de manière asynchrone.
Plus précisément, l'invention concerne un circuit fiable d'interface destiné à être disposé entre les sources des demandes d'interruption et les réponses asynchrones à
ces demandes effectuées par l'élément hôte de traitement.
Un circuit d'arbitrage et un ensemble tampon éliminent la possibilité de perte de demandes d'interruption ou de déclenchements multiples erronés à la suite d'une seule
demande. Dans un mode de réalisation particulier de l'in-
vention, une source de signaux d'interruption est synchro-
nisée sur une horloge. L'élément hôte de traitement répond de manière asynchrone aux demandes d'interruption par détection d'un signal de demande d'interruption et lecture
d'un registre d'état afin que la source de la demande d'in-
terruption soit identifiée.
D'autres caractéristiques et avantages de l'inven-
tion ressortiront mieux de la description qui va suivre,
faite en référence au dessin annexé dont la figure unique représente un appareil d'arbitrage d'interruptions de type
asynchrone selon l'invention.
Dans la description qui suit de l'invention, il faut
noter que le système d'ordinateur est destiné à répondre à des demandes d'interruption provenant d'une sous-section de circuit périphérique. On se réfère plus précisément à la
figure qui représente un appareil d'arbitrage d'interrup-
tions de type asynchrone, destiné à faire partie du circuit d'interface placé entre un élément hôte de traitement et ses sous-circuits périphériques. Le circuit schématiquement représenté sur la figure reçoit plusieurs signaux d'entrée de demande d'interruption par les trois lignes d'entrée de demande d'interruption IREQ0, IREQ1 et IREQ2. Ces signaux sont appliqués respectivement à une entrée de portes OU 10, 12 et 14. Un nombre correspondant de signaux de sortie
d'état est créé par les trois lignes de sortie d'état d'in-
terruption ISTAT0, ISTAT1 et ISTAT2 et les signaux appa-
raissent dans des circuits de pilotage de sortie à trois états 16, 18 et 20. Un signal d'horloge de synchronisation ICLK provient du sous-circuit périphérique et est appliqué
aux entrées d'horloge de bascules 22, 24, 26, 28, 30 et 32.
Un signal de réarmement d'entrée appliqué à une porte NI 34 et à la bascule 30 est un signal à niveau actif élevé qui initialise l'état du circuit d'arbitrage. Un signal d'entrée STATRD appliqué à l'entrée d'horloge de la bascule 36 et aux circuits de pilotage 16, 18 et 20 est un signal actif avec un faible niveau qui permet aux signaux ISTAT0, ISTAT1 et ISTAT2 d'être lus par le processeur hôte
après un signal d'interruption transmis par la sortie d'in-
terruption. Le signal d'interruption de sortie créé à la sortie de la porte OU 38 est actif à un niveau élevé chaque fois que l'un quelconque des registres de sortie d'état d'interruption a un drapeau actif levé. Le flanc postérieur (croissant) du signal d'entrée STATRD signale la fin de
l'opération de lecture de l'état d'interruption par l'ordi-
nateur hôte.
Des bascules 22, 24 et 26 déclenchées par le flanc
ascendant forment des registres utilisés pour l'accumula-
tion d'une activité quelconque aux entrées de demandes d'interruption. Les portes OU 10, 12 et 14 sont des portes à fonction logique OU positive à deux entrées qui leur
correspondent et qui font recirculer la valeur active con-
tenue à l'entrée afin que les demandes antérieures soient rappelées de même que les nouvelles demandes actives. La porte 34 est une porte à fonction logique NI positive à deux entrées qui combine le signal externe de remise à zéro
RESET au signal d'échantillonnage d'état STAST créé à l'in-
térieur. Lorsque l'un des signaux est actif à un niveau élevé, le signal de sortie de la porte 34 FLUSH devient actif à un faible niveau et provoque l'effacement des registres ou bascules 22, 24 et 26 qui contiennent les demandes d'interruption. La borne q des bascules 22, 24 et 26 est reliée aux entrées de la porte OU 40 qui est une porte à fonction logique positive OU à trois entrées qui détecte l'activité de l'un quelconque des registres de mémorisation de demande d'interruption. Le signal de sortie de la porte 40 ACTIVE est actif à un niveau élevé lorsque l'un quelconque des signaux HOLDO, HOLD1 et HOLD2 est actif à un niveau élevé. Le signal de sortie de la porte 40 est
appliqué à une entrée d'une porte NON-ET 42.
Les signaux des sorties q des bascules 22, 24 et 26 sont transmis aux bornes d de bascules 44, 46 et 48 qui sont des bascules déclenchées au flanc ascendant et qui sont utilisées pour la mémorisation de l'état de sortie d'interruption. Ces bascules sont déclenchées par le signal d'échantillonnage d'état STST et sont rétablies par le signal actif à un faible niveau CLRSTN. Des signaux de sortie des bascules 44, 46 et 48 sont appliqués aux entrées d'une porte OU 38 qui est une porte à fonction logique OU positive à trois entrées qui détecte l'activité de l'un
quelconque des registres de sortie d'état d'interruption.
Le signal de sortie de la porte 38 INTERRUPT est actif à un niveau élevé lorsque l'un quelconque des signaux ISR2, ISR1 et ISR0 est actif à un niveau élevé. Les bornes q des bas- cules 44, 46 et 48 sont reliées respectivement aux circuits pilotes de sortie 20, 18 et 16 qui sont utilisés pour la commande de la transmission du signal de sortie d'état
d'interruption par le bus de données du processeur hôte.
Les circuits pilotes de sortie 16, 18, 20 à trois étages sont tous validés par l'état actif de faible niveau du
signal de lecture d'état STATRD.
La bascule 36 déclenchée par un flanc ascendant est utilisée pour la détection du flanc postérieur (ascendant) du signal de lecture d'état STATRD. Elle est remise à zéro par le signal actif de faible niveau CLRSTN. Des bascules 28 et 30 déclenchées par le flanc ascendant sont utilisées pour la resynchronisation du flanc postérieur détecté du
signal STATRD afin que des états métastables soient évités.
Les bascules 28 et 30 sont déclenchées par le signal d'en-
trée d'horloge ICLK et la bascule 28 est remise à zéro par le signal actif de faible niveau CLRSTN. Le signal d'entrée
RESET est utilisé pour le préréglage de l'état de la bas-
cule 30. La bascule 32 déclenchée au flanc ascendant, qui est utilisée afin qu'elle contienne l'état de préparation de l'appareil d'arbitrage, est déclenchée par le signal ICLK et est remise à zéro par le signal actif de faible
niveau STSTN.
Les sorties q des bascules 30 et 32 sont reliées aux entrées d'une porte à fonction logique OU positive 50 à deux entrées qui fait recirculer l'état armé de la bascule 32 à l'entrée d de cette bascule. Le signal de sortie de la
porte OU 40 ACTIVE et le signal de la sortie q de la bas-
cule 32 parviennent aux entrées d'une porte à fonction logique OU positive 52 à deux entrées qui détecte l'état non armé et inactif afin que la boucle de synchronisation automatique soit fermée. Les signaux de sortie de la porte
NON-ET 42 et de la porte OU 52 sont appliqués respecti-
vement aux entrées de portes à fonction logique NON-ET positive 54, 56 à deux entrées qui forment ensemble une
bascule à deux états utilisée dans le circuit de synchroni-
sation automatique. La porte 42 à fonction logique NON-ET positive à deux entrées combine l'état armé ARME du circuit
d'arbitrage à l'état actif ACTIVE du registre de mémorisa-
tion de demande afin qu'elle déclenche le transfert des données des registres de mémorisation aux registres de sortie d'état d'interruption. Un inverseur logique positif 58 crée le signal STSTN qui est le complément du signal d'échantillonnage d'état STST. Le circuit inverseur 58 est utilisé à la place du signal de sortie de la porte NON-ET 56 afin que le circuit de synchronisation automatique ait
un comportement prévisible.
Le flanc postérieur (ascendant) du signal de lecture d'état STATRD déclenche une suite d'événements. D'abord, la fin de l'indication de l'opération de lecture d'état est
resynchronisée et les registres de sortie d'état d'inter-
ruption sont alors vidés. Au flanc suivant du signal ICLK, le circuit de réponse d'interruption est armé. Lorsque l'un quelconque des registres de mémorisation d'interruption contient un drapeau actif, le contenu actuel des registres de mémorisation d'interruption est transféré aux registres
de sortie d'état d'interruption. Les registres de mémorisa-
tion sont alors vidés avant d'éventuelles demandes actives
d'interruption lors du cycle ICLK suivant.
On décrit maintenant le fonctionnement du circuit selon l'invention, décrit précédemment, lors du déroulement d'un exemple de séquence d'événements. Après que le circuit a été alimenté et que le signal d'horloge ICLK a basculé, le signal d'entrée RESET doit étre actif à un niveau élevé afin qu'il initialise l'état du circuit. Lorsque le signal RESET est élevé, le signal de sortie de la porte NI 34 est mis à un niveau élevé si bien que les trois bascules 22, 24
et 26 sont mises à un état bas inactif de sortie.
Pour la simplicité de la description, on suppose que
les trois signaux d'entrée de demande d'interruption IREQ0, IREQ1 et IREQ2 sont tous à un état bas inactif. Le signal
d'entrée actif de niveau élevé RESET assure aussi directe-
ment le préréglage du signal de sortie de la bascule 30 afin que le noeud N13, à une première entrée de la porte OU , soit à un niveau élevé et le signal CLRSTN à un faible niveau. Lorsque le signal CLRSTN a un faible niveau, les bascules 36 et 28 sont toutes deux vidées si bien que les noeuds Nll et N12 passent à un faible niveau. On suppose, toujours par raison de simplicité, que le signal de lecture d'état d'entrée STATRD est inactif à un niveau élevé. Une autre conséquence du fait que le signal CLRSTN est à un
faible niveau est que les registres d'état de sortie d'in-
terruption 48, 46 et 44 sont tous vidés aux états inactifs si bien que les signaux ISR0, ISR1 et ISR2 sont inactifs à un état de faible niveau. Lorsque les signaux ISR0, ISR1 et ISR2 sont tous inactifs à un faible niveau, le signal de sortie de la porte OU 38 passe aussi à un état inactif de faible niveau indiquant au processeur qu'aucune demande
d'interruption inactive n'est en attente.
Comme le noeud N13 est alors à un niveau élevé, le signal de sortie de la porte OU 50 HA est aussi à un niveau élevé. Le signal RESET doit être actif à un niveau élevé uniquement pendant une courte période qui suffit pour que les quatre bascules 26, 24, 22 et 30 répondent. Après que le signal RESET est revenu à l'état inactif de faible niveau, le premier flanc ascendant du signal ICLK transfère le signal élevé HA de l'entrée d de la bascule 32 à la sortie q et provoque ainsi la mise à l'état actif élevé du
signal ARME. Au même flanc ascendant, le signal de la sor-
tie q de la bascule 28, appelé N12, est transféré de l'en-
trée d de la bascule 30 à la sortie q si bien que le noeud N13 passe à un faible niveau et le signal CLRSTN passe à un état inactif élevé. Lorsque le signal CLRSTN est à un état inactif élevé, les bascules 36 et 28 sont libérées et
prêtes à accepter une séquence de flancs du signal STATRD.
Pendant que le signal de la sortie q de la bascule 32 est à un niveau élevé, le signal ARME est actif. Ce signal ARME
recircule par l'intermédiaire de la porte OU 50 vers l'en-
trée d de la bascule 32. Le circuit reste donc armé et
reste actif pour les interruptions.
Les signaux HOLDO, HOLD1 et HOLD2 restent inactifs à un faible niveau jusqu'à ce que l'un des signaux d'entrée IREQO, IREQ1 ou IREQ2 passe à l'état actif. Lorsque les trois signaux HODO, HOLD1 et HOLD2 sont à un faible niveau, le signal de sortie de la porte OU 50 ACTIVE est aussi à un faible niveau. Lorsque le niveau du signal ARME est élevé et le niveau du signal ACTIVE est bas, le signal de sortie de la porte NON-ET 42, au noeud N17, est élevé et le signal de sortie de la porte OU 52, au noeud N18, est
aussi élevé.
Pour comprendre le fonctionnement du circuit res-
tant, il faut connaître l'état de la bascule bistable for-
mée par les connexions croisées des portes NON-ET 54 et 56.
Chacun des états initiaux possibles avant ou pendant l'ac-
tivité du signal RESET peut être supposé pour la détermina-
tion de l'état actuel. Dans le premier cas, lorsque le noeud N21 est à un faible niveau, le signal de sortie de la porte NON-ET 54 est mis à un niveau élevé si bien que le signal de sortie de la porte NI 34 passe à un faible niveau et fait passer les trois bascules 26, 24 et 22 à un faible niveau. Ces trois signaux de faible niveau provoquent aussi la mise du signal de sortie de la porte OU 40 à un faible niveau. Le signal STST qui est à un niveau élevé provoque aussi la mise à un faible niveau du signal de sortie du circuit inverseur 58 qui efface la bascule 32 de manière
asynchrone, le signal ARME passant à un faible niveau.
Lorsque les signaux ACTIVE et ARME sont tous deux à un faible niveau, le signal de sortie de la porte NON-ET 42, au noeud N17, doit être élevé et le signal de sortie de la porte OU 52, au noeud N18, doit être faible. Lorsque le noeud N18 est à un faible niveau, le signal de sortie de la porte NON-ET 56 doit passer à un niveau élevé. Comme le noeud N17 est déjà à un niveau élevé, le signal de sortie de la porte NON-ET 54 passe à un faible niveau. Lorsque le signal STST est à un faible niveau, le signal de sortie de la porte NON-ET 56, au noeud N21, est maintenu à un niveau élevé et le signal STSTN passe aussi à un niveau élevé. Il s'agit alors d'un état stable qui n'est pas perturbé avant que le signal de sortie de la porte NON-ET 42 passe à un faible niveau, ceci pouvant se produire uniquement lorsque les deux signaux ACTIVE et ARME sont à un niveau élevé. On revient à l'autre cas, dans l'hypothèse o le noeud N21 a commencé à être à un niveau élevé, et le signal STST doit être à un niveau élevé ou bas. Si le signal STST est à un niveau élevé, le signal FLUSH doit être actif et le signal ACTIVE doit donc être à un faible niveau. Le signal STSTN doit aussi être actif à un faible niveau et doit rétablir
la bascule 32 et mettre le signal ARME a un faible niveau.
Lorsque les deux signaux ARME et ACTIVE sont à un faible niveau, le noeud N18 doit être à un faible niveau et le noeud N17 à un niveau élevé. Cependant, lorsque les noeuds N17 et N21 sont tous deux à un niveau élevé, le signal STST doit passer à un faible niveau, par retour au cas stable
obtenu antérieurement.
Dans ce dernier cas, on suppose que le noeud N21 est
à un niveau élevé et le signal STST à un faible niveau.
Pour que le signal STST soit à un faible niveau, le noeud N17 doit être à un niveau élevé qui est obtenu lorsque l'un des signaux ARME et ACTIVE est à un faible niveau. Il s'agit d'une configuration stable tant que le noeud N17 reste à un niveau élevé. Ainsi, on sait toujours que, après une impulsion RESET et avant une activité des signaux
IREQO, IREQ1, IREQ2 et STATRD, l'état de l'appareil d'arbi-
trage doit être à un état ARME actif élevé, à un état ACTIVE inactif de faible niveau, à un état STST inactif de faible niveau et à un état INTERRUPT inactif de faible niveau. Toutes les autres valeurs des états initiaux sont à un faible niveau, y compris les noeuds Nll, N12 et N13 et
les signaux HOLD, HOLD1, HOLD2, ISRO, ISR1 et ISR2.
Après l'initialisation, l'un des signaux d'entrée de
demande d'interruption IREQ0, IREQ1 ou IREQ2 doit finale-
ment passer à un niveau actif élevé. On suppose que IREQ1 est passé à un niveau élevé et a provoqué la mise du signal de sortie de la porte OU 12 à un niveau élevé. Le flanc ascendant suivant du signal ICLK fait passer cette valeur de l'entrée d de la bascule 24 à la sortie q si bien que le signal HOLD1 passe à un niveau actif élevé. Tant que le signal HOLD1 est à un niveau élevé, le signal de sortie de la porte OU 12 reste à un niveau élevé et l'événement de passage à un niveau élevé du signal IREQ1 est mémorisé même
si le signal IREQ1 passe ensuite à un faible niveau.
Lorsque le signal HOLD1 passe à un niveau élevé, il pro-
voque la mise du signal ACTIVE à un niveau actif élevé.
Comme le signal ARME était déjà à un niveau élevé depuis l'initialisation, le signal de sortie de la porte NON-ET 42 doit passer à un faible niveau, provoquant un passage bref du signal STST à un niveau élevé. Le flanc ascendant du signal STST déclenche la transmission des données des signaux HOLD0, HOLD1 et HOLD2 dans les bascules d'état de sortie d'interruption 48, 46 et 44 respectivement dans lesquelles les valeurs sont alors disponibles sous forme des signaux ISR0, ISR1 et ISR2. Après le flanc ascendant le signal STST, le signal de sortie de la porte NI 34 passe à
un faible niveau et efface toutes les bascules de mémorisa-
tion de demande d'interruption 26, 24 et 22. Le signal STST
reste actif à un niveau élevé jusqu'à ce que deux événe-
ments soient achevés: le signal ACTIVE doit passer à un faible niveau et le signal ARME doit aussi passer à un faible niveau. Le signal ACTIVE passe à un faible niveau uniquement lorsque toutes les bascules de mémorisation d'interruption 26, 24 et 22 sont vidées si bien que le signal de sortie de la porte OU 40 passe à un faible niveau. Le signal ARME passe à un faible niveau lorsque le signal actif élevé STST provoque le passage actif à un faible niveau du signal STSTN qui provoque l'effacement de la bascule 32 si bien que le signal ARME passe à un faible niveau. Ce n'est que lorsque ces deux signaux sont à un faible niveau que le signal de sortie de la porte OU 52 passe à un faible niveau qui provoque le passage du noeud N21 à un niveau élevé. Le noeud N17 doit alors se trouver a un niveau élevé car ces deux signaux d'entrée sont à un faible niveau. Cela signifie que le signal de sortie de la porte NON- ET 54 doit alors passer à un faible niveau. Cette séquence synchronisée automatiquement s'applique tant que
le flanc ascendant des signaux STST déclenche la transmis-
sion de données aux bascules 48, 46 et 44 avant que le signal FLUSH ait vidé les bascules 26, 24 et 22. Toutes les bascules 32, 26, 24 et 22 sont effacées de manière sure car il est nécessaire que les deux signaux ACTIVE et ARME se trouvent à un faible niveau pour que le cycle synchronisé
automatiquement soit terminé.
Pendant que le signal INTERRUPT est actif à un niveau élevé, les registres de mémorisation d'interruption
peuvent mémoriser toute nouvelle activité de demande pen-
dant la période de latence du processeur. Lorsque le pro-
cesseur détecte effectivement la ligne active INTERRUPT, il doit déclencher un cycle de lecture d'état d'interruption par mise du signal STATRD à un faible niveau. Ceci provoque la transmission du contenu du registre d'état de sortie d'interruption sur le bus de données qui peut être lu par le processeur. Apres que le processeur a lu l'état afin
qu'il détermine la cause ou les causes de la demande d'in-
terruption, le signal STATRD revient à son état inactif élevé. Le flanc ascendant postérieur du signal STATRD est détecté par la bascule 36 qui fait passer la valeur logique constante de niveau élevé de son entrée d à sa sortie q au noeud N11. Comme le noeud Nll peut passer en général à un niveau élevé de manière asynchrone par rapport à l'activité commandée par le signal ICLK, les deux bascules 28 et 30 sont utilisées pour la resynchronisation du drapeau de
lecture d'état d'interruption Nll. Les deux bascules empé-
chent un comportement métastable de l'appareil d'arbitrage.
Le noeud N12 passe à un niveau élevé après le second flanc ascendant du signal ICLK. Lorsque le noeud N13 passe à un il niveau élevé, le signal CLRSTN passe à un faible niveau et efface le registre d'état de sortie d'interruption avant le cycle suivant d'interruption. Les bascules 36 et 28 sont aussi vidées avant le cycle suivant. Au troisième flanc ascendant du signal ICLK, la valeur élevée d'une N13 est
transmise, par l'intermédiaire de la porte OU 50, de l'en-
trée d de la bascule 32 à la sortie q, si bien que le
signal ARME passe à nouveau à un signal actif élevé. Simul-
tanément, la faible valeur du noeud N12 est transmise à la bascule 30 si bien que le noeud N13 passe à un faible
niveau et le signal CLRSTN passe à un état inactif élevé.
L'appareil d'arbitrage est alors totalement armé et est prêt à répondre à une demande quelconque d'interruption, nouvelle ou en attente. Lorsque l'un quelconque des signaux HOLD0, HOLD1 et HOLD2 est actif, un cycle auto-synchronisé est immédiatement déclenché car les signaux ACTIVE et ARME
sont à un niveau élevé.
Pour que le circuit fonctionne convenablement, le processeur hôte ne doit jamais créer un signal actif de faible niveau STATRD à moins que le signal INTERRUPT ne
soit passé à un état actif élevé. Les demandes d'interrup-
tion subissent une double conservation dans des circuits tampons si bien que, pendant la période de latence comprise
entre le moment o le premier groupe de demandes d'inter-
ruption est transféré au registre d'état de sortie d'inter-
ruption et le moment o le processeur répond et le circuit se réarme luimême, toutes les lignes différentes de
demande d'interruption ont leur activité contrôlée. L'acti-
vité est détectée convenablement sur l'une quelconque des
lignes de demande d'interruption ou sur toutes ces lignes.
Le nombre de passages à l'état actif d'une ligne particu-
lière de demande d'interruption n'est pas suivi par le
circuit selon l'invention décrit dans le présent mémoire.
Pour que le nombre d'apparitions de chaque demande d'inter-
ruption pendant la période de latence puisse être dénombré, chacune des bascules de mémorisation 26, 24 et 22 devrait être remplacée par un circuit de comptage validé par les lignes respectives de demande d'interruption IREQO, IREQ1 et IREQ2. Les registres d'état de sortie d'interruption 48,
46 et 44 devraient être remplacés par des registres à plu-
sieurs bits destinés à conserver les états des compteurs.
Cette fonctionnalité supplémentaire est facile à réaliser, mais elle est habituellement superflue dans un système courant. Après qu'une interruption en attente a été notifiée à l'élément hôte de traitement et après que celui-ci a répondu par lecture du registre d'état, le circuit se remet lui-méme à zéro à l'aide d'une séquence auto-synchronisée et il est armé pour l'acceptation des demandes futures d'interruption qui doivent être traitées. Ainsi, l'appareil d'arbitrage d'interruptions asynchrones selon l'invention possède les propriétés indiquées précédemment et constitue une solution fiable au problème de la résolution en toute sécurité de plusieurs sources d'interruptions asynchrones en coopération avec le circuit d'interface du processeur hôte.
Claims (13)
1. Appareil d'arbitrage entre des interruptions asynchrones, destiné à mémoriser l'état actif de plusieurs signaux d'entrée de demande d'interruption et capable de répondre à une interrogation par un appareil hôte asyn- chrone en fonction de demande d'état d'activité de demande d'interruption, l'appareil d'arbitrage étant caractérisé en
ce qu'il comprend un registre (22, 24, 26) destiné à mémo-
riser des demandes d'interruption, un registre (44, 46, 48)
destiné à contenir des signaux de sortie d'état d'interrup-
tion, et un circuit de commande séquentielle monté entre le
registre de mémorisation de demande et le registre de mémo-
risation d'état d'interruption et destiné à commander le transfert de données entre le registre de mémorisation de
demande d'interruption et le registre d'état d'inter-
ruption.
2. Appareil selon la revendication 1, caractérisé en
ce que le registre de mémorisation de demande d'interrup-
tion comporte des éléments de mémorisation (22, 24, 26) destinés à compter ou enregistrer l'activité de demande
d'interruption et à mémoriser le nombre ou une autre indi-
cation jusqu'au transfert au registre de sortie d'état d'interruption.
3. Appareil selon la revendication 2, caractérisé en ce que le registre de sortie d'état d'interruption comprend
des éléments de mémorisation (44, 46, 48) destinés à con-
server le nombre ou l'autre indication jusqu'à ce que le nombre ou l'autre indication soit lu par un élément hôte de traitement.
4. Appareil selon la revendication 1, caractérisé en
ce que le circuit de commande comporte en outre un disposi-
tif (30, 34) destiné à initialiser les deux registres.
5. Appareil selon la revendication 4, caractérisé en
ce que le circuit de commande comprend une section de syn-
chronisation de signaux (28, 30, 36) et un circuit séquen-
tiel auto-synchronisé (42, 52-58).
6. Appareil selon la revendication 5, caractérisé en ce que la section de synchronisation de signaux comporte au
moins une bascule (30) déclenchée par un flanc de signal.
7. Appareil selon la revendication 6, caractérisé en ce que le circuit séquentiel auto-synchronisé comprend au moins un élément (54, 56) à armement-réarmement, destiné à diriger le transfert des données entre des sous-sections de registre.
8. Appareil selon la revendication 7, caractérisé en ce que le circuit séquentiel auto-synchronisé comporte en outre au moins une bascule (qui n'est pas obligatoirement
du type à armement-réarmement), utilisée pour la mémorisa-
tion de l'état armé de la section de commande.
9. Appareil selon la revendication 7, caractérisé en
ce que l'élément d'armement-réarmement (54, 56) est déclen-
ché par un signal de déclenchement de séquence auto-
synchronisé formé par l'opération logique intersection entre un signal ACTIVE qui indique qu'un ou plusieurs
registres de mémorisation de demande d'interruption con-
tiennent une indication d'activité de demande d'interrup-
tion, et un signal ARME qui indique que la section de
commande est prête à répondre à une demande d'interruption.
10. Appareil selon la revendication 9, caractérisé en ce que l'élément à armement-réarmement (54, 56) est désactivé sous la commande d'un signal logique qui le désactive à la fin de la séquence auto-synchronisée, ce
signal logique étant formé par une opération logique inter-
section entre un signal ACTIVE qui indique qu'un ou plu-
sieurs des registres de mémorisation de demande d'interrup-
tion contiennent une indication d'activité de demande
d'interruption, et un signal ARME qui indique que la sec-
tion de commande est prête à répondre à une demande d'in-
terruption.
11. Appareil selon la revendication 10, caractérisé
en ce qu'un signal logique de sortie (INTERRUPT) est des-
tiné à indiquer qu'un ou plusieurs des registres de sortie d'état d'interruption (44, 48) contiennent une indication
d'interruption active.
12. Appareil selon la revendication 11, caractérisé
en ce qu'il comporte un dispositif (16-20) destiné à trans-
férer l'information contenue dans le registre de sortie d'état d'interruption (44-48) à l'élément de traitement hôte pendant une opération de lecture d'état.
13. Appareil selon la revendication 12, caractérisé en ce qu'il comporte en outre un dispositif (36, 28, 30) qui, après une opération de lecture d'état, vide le registre de sortie d'état d'interruption et arme l'appareil
dans l'attente d'une demande ultérieure d'interruption.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27594588A | 1988-11-25 | 1988-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2639729A1 true FR2639729A1 (fr) | 1990-06-01 |
Family
ID=23054468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR8914211A Withdrawn FR2639729A1 (fr) | 1988-11-25 | 1989-10-30 | Appareil d'arbitrage pour traitement d'interruptions asynchrones |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH02150946A (fr) |
FR (1) | FR2639729A1 (fr) |
GB (1) | GB2225460A (fr) |
SE (1) | SE8902718L (fr) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023743A (en) | 1997-06-10 | 2000-02-08 | International Business Machines Corporation | System and method for arbitrating interrupts on a daisy chained architected bus |
DE10047183A1 (de) * | 2000-09-22 | 2002-04-18 | Infineon Technologies Ag | Digitales Zwischenspeicherbauelement |
US7225283B1 (en) * | 2003-12-23 | 2007-05-29 | Cypress Semiconductor Corporation | Asynchronous arbiter with bounded resolution time and predictable output state |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4419762A (en) * | 1982-02-08 | 1983-12-06 | Sperry Corporation | Asynchronous status register |
EP0167827A2 (fr) * | 1984-07-11 | 1986-01-15 | International Business Machines Corporation | Circuit pour partager des niveaux d'interruptions |
EP0199221A1 (fr) * | 1985-04-26 | 1986-10-29 | International Business Machines Corporation | Circuits d'interruption résistant au bruit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3473156A (en) * | 1964-05-04 | 1969-10-14 | Gen Electric | Data processing unit for providing sequential memory access and record thereof under control of external apparatus |
US3643229A (en) * | 1969-11-26 | 1972-02-15 | Stromberg Carlson Corp | Interrupt arrangement for data processing systems |
GB1425173A (en) * | 1972-05-03 | 1976-02-18 | Gen Electric Co Ltd | Data processing systems |
NL7313297A (fr) * | 1972-10-04 | 1974-04-08 | ||
US3831151A (en) * | 1973-04-04 | 1974-08-20 | Gte Automatic Electric Lab Inc | Sense line processor with priority interrupt arrangement for data processing systems |
-
1989
- 1989-08-11 SE SE8902718A patent/SE8902718L/ not_active Application Discontinuation
- 1989-08-16 GB GB8918666A patent/GB2225460A/en not_active Withdrawn
- 1989-10-05 JP JP26121189A patent/JPH02150946A/ja active Pending
- 1989-10-30 FR FR8914211A patent/FR2639729A1/fr not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4419762A (en) * | 1982-02-08 | 1983-12-06 | Sperry Corporation | Asynchronous status register |
EP0167827A2 (fr) * | 1984-07-11 | 1986-01-15 | International Business Machines Corporation | Circuit pour partager des niveaux d'interruptions |
EP0199221A1 (fr) * | 1985-04-26 | 1986-10-29 | International Business Machines Corporation | Circuits d'interruption résistant au bruit |
Non-Patent Citations (1)
Title |
---|
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 32, no. 4A, Septembre 1989, NEW YORK US pages 196 - 197; 'EVENT LATCHING IN AN ASYNCHRONOUS ENVIRONMENT' * |
Also Published As
Publication number | Publication date |
---|---|
SE8902718D0 (sv) | 1989-08-11 |
SE8902718L (sv) | 1990-05-26 |
JPH02150946A (ja) | 1990-06-11 |
GB2225460A (en) | 1990-05-30 |
GB8918666D0 (en) | 1989-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0109898B1 (fr) | Unité de stockage temporaire de données organisée en file d'attente | |
EP0063071B1 (fr) | Procédé et dispositif de transmission de données numériques | |
US4554659A (en) | Data communication network | |
KR910007649B1 (ko) | 핀수가 적은 고속 버스 인터페이스 | |
EP0063972B1 (fr) | Procédé et dispositif d'allocation d'une ressource dans un système comportant des unités de traitement de données autonomes | |
JPS63288538A (ja) | 通信装置 | |
US3953838A (en) | FIFO Buffer register memory utilizing a one-shot data transfer system | |
EP3259674B1 (fr) | Circuit dram muni d'un processeur integre | |
FR2546354A1 (fr) | Circuit d'interface de canal de commande dans un systeme de telecommunication | |
US3667054A (en) | Pulse train decoder with pulse width rejection | |
EP0030978B1 (fr) | Systeme de commande de transfert d'informations | |
US3967246A (en) | Digital computer arrangement for communicating data via data buses | |
FR2639729A1 (fr) | Appareil d'arbitrage pour traitement d'interruptions asynchrones | |
EP0312575A1 (fr) | Interface de bus a hautes performances a faible nombre de broches. | |
EP0901129A2 (fr) | Système de mémoire associative | |
US5479646A (en) | Method and apparatus for obtaining data from a data circuit utilizing alternating clock pulses to gate the data to the output | |
US6289065B1 (en) | FIFO status indicator | |
US4511993A (en) | Arrangement for reading out defined data from a digital switching device with mutually asynchronous control signals for sequential switching of the device and transfer of the data | |
EP0211763A1 (fr) | Procédé d'échange de données entre un microprocesseur et une mémoire et dispositif permettant une mise en oeuvre du procédé | |
FR2497596A1 (fr) | Machine informatique comportant une antememoire | |
FR2642195A1 (fr) | Dispositif et procede d'arbitrage des requetes et de resolution des conflits lies a l'acces aux memoires a bancs independants pour les machines informatiques | |
FR2830954A1 (fr) | Dispositif de transmission de donnees asynchrones comprenant des moyens de controle de deviation d'horloge | |
US4503548A (en) | Timer with fast counter interrupt | |
EP0344052A1 (fr) | Mémoire modulaire | |
US6360286B1 (en) | Sequential data transfer with common clock signal for receiver and sequential storage device and with slack register storing overflow item when set-up time is insufficient |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |