FR2645297A1 - Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes - Google Patents

Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes Download PDF

Info

Publication number
FR2645297A1
FR2645297A1 FR9004014A FR9004014A FR2645297A1 FR 2645297 A1 FR2645297 A1 FR 2645297A1 FR 9004014 A FR9004014 A FR 9004014A FR 9004014 A FR9004014 A FR 9004014A FR 2645297 A1 FR2645297 A1 FR 2645297A1
Authority
FR
France
Prior art keywords
data
address
instruction
sub
bit
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.)
Pending
Application number
FR9004014A
Other languages
English (en)
Inventor
Kozo Yamano
Norihito Nakagomi
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of FR2645297A1 publication Critical patent/FR2645297A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

L'adresse d'une sous-instruction de mémorisation est transmise dans un registre d'adresse la plus récente 7 et dans une mémoire tampon 9, et les données de mémorisation sont mémorisées dans une autre mémoire tampon 10 puis transférées dans la mémoire principale quand une sous-instruction de chargement est émise. On détecte 15 s'il y a similitude entre l'adresse dans le registre d'adresse la plus récente 7 et l'adresse associée au chargement. Si oui, les données de l'unité de logique arithmétique 2 sont mémorisées dans un registre de données de réponse 11 et reviennent à la source de commandes. Sinon, les données lues de la mémoire principale 14 passent par ce registre 11 vers la source de commandes. On évite ainsi de devoir systématiquement mémoriser les données dans la mémoire principale 14.

Description

2645297-
ORDINATEUR DE TRANSFERT AVEC UN TRAJET
DE DERIVATION POUR LE RENVOI DE DONNEES
A UNE SOURCE DE COMMANDES
DESCRIPTION
La présente invention a généralement trait à des ordinateurs de transfert ayant des mémoires tampons pour la mémorisation temporaire d'une commande de mémorisation et plus particulièrement à une technique pour réduire les temps d'attente d'une commande de chargement qui se produit immédiatement après qu'une commande de mémorisation attend des données de transaction d'une unité de logique arithmétique. Dans des ordinateurs de transfert, chaque instruction d'exécution est divisée en sous-instructions qui sont exécutées en série avec celles d'une autre instruction afin de réduire le temps d'exécution. Dans de tels ordinateurs, un groupe de mémoires tampons est utilisé en plus de mémoires dites "bloc-notes" comme moyen pour la mémorisation temporaire d'adresses et de données de transaction associées à une commande de mémorisation (sous-instruction) avant de l'emmagasiner dans la mémoire principale. L'information emmagasinée dans la mémoire principale est alors délivrée en réponse à une commande de chargement (sous-instruction) dans la mémoire interne de l'ordinateur telle que les mémoires tampons et les registres. Les raisons de l'existence de mémoires tampons sont fondées sur l'absorption de décalages temporels entre les données d'adressage de commande de mémorisation et les données de transaction de commande de mémorisation, ainsi que sur la mise de commandes de mémorisation dans une file d'attente quand elles arrivent concurremment
2645297.
à une commande de chargement, jusqu'à ce que celle-ci soit exécutée car elle est prioritaire par rapport aux sous-instructions de mémorisation, sauf dans certaines circonstances pour lesquelles on éprouve le besoin de données de transaction associées à une sous-instruction de mémorisation dont la sous-instruction subséquente de chargement n'est pas encore exécutée, car l'exécution prioritaire d'une sous-instruction de chargement ultérieure causera le retour d'anciennes données de transaction à la source de commandes. Dans de telles circonstances, toutes les sous-instructions de mémorisation qui ne sont pas exécutées, dans les mémoires tampons, sont mémorisées dans la mémoire principale d'abord et ensuite la sous-instruction de chargement subséquente
est exécutée.
De cette façon, on évite des conflits de données entre des instructions différentes. Comme une quantité de temps importante est nécessaire pour exécuter toutes les sous-instructions de mémorisation
en attente et ensuite pour exécuter une -
sous-instruction de chargement subséquente, la source de commandes doit attendre les données souhaitées dans
une longue file d'attente.
Un objet de l'invention est donc la fourniture d'un ordinateur de transfert capable de renvoyer rapidement les données à une source de commandes de chargement sans conflit de données quand il se produit une compétition entre une sous-instruction de mémorisation antérieure et une
sous-instruction de chargement postérieure.
Selon - la présente invention, on produit un ordinateur de transfert ayant une unité de logique arithmétique, une mémoire principale et une source de sous-instructions ou de commandes pour produire
2645297.
une adresse et en même temps une sous-instruction de mémorisation afin de mémoriser des données dans un emplacement de la mémoire principale spécifié par l'adresse, ou une sous-instruction de chargement pour délivrer des données à partir d'un emplacement de
la mémoire principale spécifié par l'adresse.
L'ordinateur de transfert de l'invention comprend une mémoire tampon pour la mémorisation de données à partir de l'unité de logique arithmétique, une mémoire -tampon d'adresses, un registre de l'adresse la plus récente, un registre de commande pour mémoriser une adresse provenant de la source de commandes dans la mémoire tampon d'adresses et dans te registre d'adresse la plus récente en tant qu'adresse la plus récente quand une sous-instruction de mémorisation provient de la source de commandes et pour mémoriser une adresse provenant de la source de commandes dans la mémoire principale quand une sous-instruction de chargement provient de la source de commandes. Un détecteur de coïncidence est prévu afin de détecter la similitude entre l'adresse la plus récente et une adresse produite par la source de commande quand une sous-instruction de chargement en provient par la suite. Quand des données sont mémorisées dans La mémoire tampon de données à partir de l'unité de logique arithmétique, les contenus de la mémoire tampon d'aoresses et de la mémoire tampon de données sont transférés dans la mémoire principale. De cette façon, les données mémorisées dans la mémoire tampon de données sont transférées dans une emplacement de la mémoire principale qui est spécifié par l'adresse mémorisée dans la mémoire tampon d'adresses si l'adresse est associée à une sous-instruction de mémorisation, et les données sont lues dans un emplacement spécifié par l'adresse mémorisée dans la mémoire tampon d'adresses si etle test associée à une sous- instruction de chargement. Un registre de données de réponse est prévu pour recevoir des données lues dans la mémoire principale en réponse à une sous-instruction de chargement quand aucune similitude n'est détectée par le détecteur de coïncidence et pour recevoir des données de l'unité de logique arithmétique quand une similitude est détectée par le détecteur de coincidence. La sortie du registre de données de - réponse est reliée à la source de commandes afin de- lui fournir les données reçues. Au cas o une sous-instruction de chargement subséquente arrive juste avant la mémorisation de données d'une sous-instruction de mémorisation précédente et fait référence aux mêmes données que celles de cette sous-instruction de mémorisation précédente, une similitude est détectée par le détecteur de coïncidence, et le registre de données de réponse renvoie les données reçues de l'unité de
logique arithmétique dans la source de commandes.
Par conséquent, la source de commandes ne doit pas attendre les données désirées dans une longue file d'attente. On- va maintenant décrire l'invention plus en aétail en se référant aux dessins annexés non limitatifs, dans lesquels: - la figure 1 est un organigramme d'un ordinateur de transfert conforme à l'invention; - la figure 2 montre plusieurs types de données de transaction qui satisfont aux conditions établies par des détecteurs de coincidence quand une similitude bit (élément de codage binaire) par bit est détectée; - la figure 3 représente des -détails du détecteur de coincidence de la figure 1; et - la figure 4 est un diagramme qui décrit les instructions à accomplir par le dispositif de
commande de la figure 1.
- Dans la figure 1, l'ordinateur de transfert de l'invention comprend une unité de pré-appel 1 qui est reliée à une mémoire principale 14 avec antémémoire afin de décoder les instructions qu'elle reçoit de celle-ci, produit, en tant que source de commandes, des commandes ou des sousinstructions de mémorisation et de chargement et enfin fournit des données de transaction à une unité de Logique arithmétique 2 afin qu'elles soient exécutées. Ces données de transaction sont ensuite fournies de l'unité de logique arithmétique 2 (ULA) à une mémoire tampon de données - de commande de mémorisation 10 (TDM) et à une première entrée d'un registre de données de réponse 11 (RDR) en réponse à une sous- instruction de calcul de l'unité de pré-appel 1 qui est produite en même temps qu'une commande de mémorisation. Le registre de données de réponse 11 a une seconde entrée dans laquelle des données mémorisées dans La mémoire principale 14 sont chargées en réponse à une commande de chargement produite par l'unité de pré-appel 1. Comme on va le décrire, le registre de données de réponse 11 sert de registre de dérivation afin de fournir de manière appropriée des données de sa première ou de sa deuxième entrée à l'unité de pré-appel en fonction d'un signal émis sur une ligne 29 à partir d'un détecteur de
coincidence 15.
Un registre de codes de commande 3 (RCC) et un registre d'adresses de commande (RAC) 4 sont connectés à l'unité de pré-appel 1 afin de recevoir
des commandes de mémorisation et de chargement.
L'information mémorisée dans le registre de codes de commande 3 est appelée un code de commande qui comprend des informations quant au type de L'accès à la mémoire, le bit indicateur de la largeur en bits (LB), un bit indicateur de mémorisation ou de chargement (M/C), et ainsi de suite. L'information mémorisée dans le registre d'adresses de commande 4 est l'adresse d'un emplacement de la mémoire principale 14 dans lequel les données de transaction associées à une commande de mémorisation doivent être mémorisées ou dans laquelle les données à chercher sont mémorisées. Un dispositif d'entrée-sortie 17
(E/S) est connecté à la mémoire principale 14.
Le registre de codes de commande 3 a deux sorties qui sont au choix reliées par un bus 20 à une mémoire tampon de codes de commande de mémorisation 8 (TCM) ou par un bus 21 vers la mémoire principale 14 en réponse à un signal de commande fourni sur une ligne 22 par un régulateur 16. Le registre d'adresses de commande 4 a de même deux sorties qui sont au choix reliées par un bus 23a à une mémoire tampon d'adresses de commande de mémorisation (TAM) 9 et par un bus 23b à un registre d'adresse de commande de mémorisation la plus récente 7 (RAM), ou par un bus 24.à la mémoire principale 14- en réponse à un signal de régulation fourni sur une ligne 25 par le régulateur 16. Plus précisément, Le régulateur 16 répond à un signal fourni sur un bus 26 à partir de l'unité de pré-appel 1 (RCC) en mettant en communication le contenu du registre 3 avec la mémoire tampon 8 (TCM) et le contenu du registre 4 (RAC) avec la mémoire tampon 9 (TAM) et le registre de l'adresse la plus récente (RAM) 7 quand une sous-instruction de mémorisation est fournie aux registres 3 et 4 et en mettant en communication le contenu des registres 3 et 4 avec la mémoire principale 14 quand une sous-instruction de chargement est produite. Chacune des mémoires tampons 8, 9 et 10
2645297.
est du type mémoire "premier entré premier sorti" (FIFO) ayant une série d'entrées o de cellules pour la mémorisation d'informations respectives associées
à une sous-instruction.
Des bascules bistables 5 et 6 (BB) sont reliées respectivement au bit indicateur de mémorisation ou de chargement (M/C) et au bit indicateur de largeur en bits (LB) du registre de codes de commande 3. Quand Le bit M/C est à l'état logique 1, la bascule bistable 5 est mise à l'état logique 1, ce qui indique qu'une sous-instruction de mémorisation est émise de l'unité de pré-appel I pour fournir une impulsion de fonctionnement au détecteur de coincidence 15. Quand une sous-instryction de chargement va être émise, le bit M/C est remis à zéro. Le bit indicateur de largeur en bits (LB) est à l'état logique 1 quand les données de transaction associées à une sous-instruction ont une largeur de 4 bits (quartets) et zéro quand elles ont une largeur
zo20 de 8 bits (octets).
Le détecteur de coincidence 15 reçoit de-s informations d'entrée du bit LB du regi.stre de codes de commande 3, les signaux de sortie de La bascule bistable 6 et du registre d'adresse la plus récente 7, et les signaux de sortie du registre d'adresses de commande 4. En réponse à la réception d'une impulsion de déclenchement de la bascule bistable , le détecteur de coïncidence 15 détermine s'il y a une similitude bit par bit ou non entre les signaux d'entrée et de sortie de la bascule bistable 6 et entre les signaux d'entrée et de sortie du registre d'adresse la plus récente 7. La sortie du détecteur de coïncidence 15 est reliée au régulateur 16 et au registre de données de réponse RDR 11. La fonction du signalt de sortie du détecteur de coïncidence 15
2645297,
vers le registre de données de réponse RDR 11 est d'inciter les données de transaction, fournies par l'unité de logique arithmétique 2, qu'il contient, à retourner directement à l'unité de pré-appel 1, évitant ainsi la mémoire principale 14 quand une similitude bit par bit est détectée par le détecteur
de coïncidence 15.
Comme le représente la figure 2, différents types de données de transaction produites par l'unité de logique arithmétique 2 en réponse à une sous-instruction de mémorisation La plus récente et une sousinstruction de charge ultérieure sont illustrées. Les données de transaction produites par l'unité de logique arithmétique 2 en réponse à chaque sous-instructions peuvent soit être des octets comme représenté sur la partie A de la figure 2, ou des quartets occupant la seconde moitié d'octets comme représenté sur la partie B de la figure 2, ou la première moitié d'octets comme représenté sur la partie C de la figure 2. Si les données de transaction d'une
sous-instruction de mémorisation la plus récente sont.
en similitude bit par bit avec les données de transaction d'une - sousinstruction de charge subséquente, le détecteur de coïncidence 15 fournit un signal de régulation de commutation au régulateur 16 par la ligne 29 ainsi qu'au registre de données de réponse 11 pour l'inciter à commuter son entrée et à accepter des données fournies par l'unité de logique arithmétique 2. Si aucune coïncidence n'est détectée, l'entrée du registre de données de réponse 11 est reliée à la sortie de la mémoire principale 14 pour attendre les données fournies par cette
dernière de manière connue.
Le détecteur de coïncidence 15 est représenté en détail à la figure 3 comme comprenant des
2645297-
comparateurs 15-1, 15-2 et 15-3 ainsi qu'une porte ET 15-4. Un bit de largeur en bits du registre de codes de commande 3 emmagasiné dans La bascuLe bistable 6 en réponse à une sous-instruction de mémorisation -5 La plus récente est comparé par le comparateur 15-1 avec un bit de sortie de Largeur en bits du registre de codes de commande 3 qui est engendré en réponse à une sous-instruction de chargement subséquente en même temps qu'un état logique 1 emmagasiné dans La bascule bistable 5. Si les bits indicatifs de la largeur de bit sont identiques l'un l'autre à la comparaison, Le comparateur 15-1 établit son signal de sortie à la porte ET 15-4 à l'état logique 1. Le registre d'adresses de commande 4 est représenté comme comprenant un registre de 32 bits avec les bits de numéro 0 à 28 utilisés pour indiquer les limites des données de transaction ou l'adresse d'un octet de' mémorisation de la mémoire principale 14 dans laquelle ces données doivent être mémorisées ou dont elles doivent être extraites. Le vingt-neuvième bit du registre d'adresses-de commande 4 est 1 pour indiquer que des données à quatre bits doivent être mémorisées dans une seconde moitié d'un octet ou en être extraites, et 0 pour indiquer que ces données doivent l'être dans la première moitié. Toutes Les données à trente-deux bits du registre d'adresses de commande 4 sont fournies au choix à la mémoire tampon d'adresses de commande de mémorisation 9 et au registre d'adresse de commande de mémorisation la plus récente 7 ou directement à la mémoire principale 14 et les bits de numéros 0 à 28 du registre d'adresses de commande 4 sont fournis au comparateur 15-2, le vingt-neuvième bit étant fourni au comparateur 15-3. Le registre d'adresse la plus récente 7 a ses bits de numéros 0 à 28 connectés au comparateur 15-2 pour détecter une similitude bit par bit avec les bits de numéros 0 à 28 du registre d'adresse de commande 4 qui sont produits en réponse à une sous- instruction de chargement subséquente. Quand cela a lieu, un état logique 1 est fourni à la sortie du comparateur 15-2 vers la porte ET 15-4. De même, le vingt-neuvième bit du registre d'adresse la plus récente RAM 7 est fourni au comparateur 15-3 pour être comparé au vingt-neuvième bit du registre d'adresses de commande 4 produit en réponse à L-a sous- instruction de chargement subséquente et un état logique 1 est fourni à la porte ET 15-4 quand la similitude existe entre eux. Le signal de sortie de la bascule bistable 5 est fourni à la porte ET 15-4. Si un état logique est mémorisé dans la bascule bistable 5 et que les signaux de sortie de tous les comparateurs sont à l'état logique 1, le signal de sortie de la porte ET 4 devient élevé et témoigne d'une coïncidence qui est signalée au registre de données de réponse 11
et au régulateur 16.
Le fonctionnement du régulateur 16 sera mieux compris en se référant à l'organigramme représenté à ta figure 4. Le déroulement du programme commence à l'étape 30 dans laquelle le régulateur 16 examine si un signal fourni par l'unité de pré-appel 1 indique une sous-instruction de mémorisation ou de chargement. S'il s'agit d'une sous-instruction de mémorisation, l'étape suivante est l'étape 31 dans laquelle le signal de sortie du registre de code de commande 3 est transféré à la mémoire tampon de code de commande de mémorisation 8, et le signal de sortie du registre d'adresse de commande 4 est transféré au registre d'adresse de commande de mémorisation la plus récente 7 et à la mémoire tampon d'adresse de commande de mémorisation 9, pour y rester mémorisés
2645297-
11 1 en tant que code ou qu'adresse de mémorisation selon le cas. On examine ensuite s'il y a une similitude détectée par Le détecteur de coincidence 15 à l'étape 32. Dans la néaative, on revient à l'étape 30 et aucun signaL de commande de transfert n'a été fourni au registre de données de réponse 11 pour permettre à son entree d'être reliée à La sortie de la mémoire principale 14 si bien que le registre de données de réponse 11 attend des données de la mémoire principale 14. Dans l'affirmative, un signal de commande originaire du détecteur de coïncidence 15 arrive au registre de données de -réponse 11 pour faire communiquer son entrée- avec la sortie de- l'unité de logique arithmétique 2, et le régulateur 16 avance à l'étape 33 dans laquelle des données de transaction sont transmises, grâce au bus 27, de l'unifé de logique arithmétique 2 à la mémoire tampon de données de commande de mémorisation 10 et au registre de données de réponse 11, auquel le signal de commande de commutation est fourni par le détecteur de coïncidence 15. Par conséquent, si ces données sont nécessaires à cause d'une sousinstruction de charge subséquente, elles reviennent à la source de commandes 1 par un trajet de dérivation formé par Le registre de données
de réponse 11.
On passe ensuite à l'étape 34 dans Laquelle Le régulateur 16 examine un signal originaire de l'unité de logique arithmétique 2 par le bus 27 pour savoir si les données de transaction associées à la sous-instruction de mémorisation la plus récente ont été transférées de l'unité de logique arithmétique 2 à la mémoire tampon de données de commande de mémorisation 10. Si la réponse est négative, on revient à l'étape 31. Si les données maintenant mémorisées dans la mémoire. tampon de données de commande de mémorisation 10 sont associées à la sous-instruction de mémorisation la plus récente, la décision à L'étape 33 est affirmative et on passe à l'étape 35 pour remettre La bascule bistable 5 à l'état logique 'O. On avance alors à l'étape 36 pour fournir des signaux de-commande sur les lignes 28a, 28b et 28c à la TCM 8, la TAM 9 et la TDM 10, de sorte qu'elles transfèrent leur contenu à la mémoire principale 14. On revient finalement à l'étape 30
pour répéter le procédé.
Si la décision à l'étape 30 indique qu'une sous-instruction de chargement est fournie de l'unité de pré-appel 1, on passe à l'étape 37 pour transférer Les signaux de sortie des registres de codes de commande 3 et d'adresses de commande 4 à la mémoire principale 14. On passe ensuite à l'étape 32 pour examiner la détection d'une similitude par le détecteur
de coïncidence 15.
Il est possible d'introduire dans cette réalisation pr é fé r é ede l'invention diverses modifications qui ne suffisent pas à échapper à la
protection demandée.
2645297.

Claims (10)

REVENDICATIONS
1. Ordinateur de transfert comprenant une unité de logique arithmétique (2), une mémoire principale (14) et une source de commandes (11) pour produire une adresse et en même temps émettre une sous-instruction de mémorisation pour mémoriser des données dans un emplacement de La mémoire -principale (14) spécifié par l'adresse, ou une sous-instruction de chargement pour extraire des données d'un emplacement de la mémoire principale (14) spécifié par l'adresse, caractérisé en ce qu'il comporte: - des moyens de mémoire tampon de données (10) pour emmagasiner des données provenant de l'unité de logique arithmétique; - des moyens de mémoire tampon d'adresses
(9);
- des moyens de registre d'adresse la plus récente (7); - des moyens de registre de commande (4) pour emmagasiner une adresse provenant de la source de commandes (1) dans la mémoire tampon d'adresses (9) et dans le registre d'adresse la plus récente - (4) en tant qu'adresse la plus récente quand une sous-instruction de mémorisation provient de la source de commandes et pour mémoriser une adresse provenant de la source de commandes dans la mémoire principale (14) quand une sous-instruction de chargement est émise; - un moyen de détection de coincidence -(15) pourdétecter une similitude entre l'adresse la plus récente et une adresse engendrée par la source de commande quand. une sous-instruction de chargement est ensuite émise; - un régulateur (16) pour détecter le moment o les données sont mémorisées dans la mémoire tampon de données (10) et pour causer Le transfert du contenu de la mémoire tampon d'adresses et de la mémoire tampon de données dans la mémoire principale (14); et - un registre de données de réponse (11) pour recevoir les données lues dans la mémoire principaLe (14) en réponse à la sous- instruction de chargement quand aucune similitude n'est détectée par le détecteur de coincidence (15) et pour recevoir des données de l'unité de logique arithmétique (2) quand une similitude est détectée par le moyen détecteur de coïncidence (15), la sortie du registre de données de réponse (11) étant connectée à la source
de commandes pour lui fournir les données reçues.
- 2. Ordinateur de transfert selon la revendication 1, caractérisé en ce que l'adresse produite par la source de commandes contient un bit indiquant si les données produites par L'unité de logique arithmétique (2) sont associées à une sous-instruction de mémorisation ou à une sousinstruction de chargement et en ce que le registre d'adresse la plus récente comprend, une bascule bistable (5) pour mémoriser ce bit, le moyen de détection de coïncidence (15) étant mis en action par le bit mémorisé dans La bascule bistable pour effectuer la
détection de la similitude.
3. Ordinateur de transfert selon la revendication 2, caractérisé en ce que les données produites par l'unité de logique arithmétique (2) sont un méLange de données à largeurs en bits larges et étroites, en ce que l'adresse fournie par la source de commandes contient un autre bit indiquant si les données associées à la sous-instruction de mémorisation ont une largeur en bits large ou -étroite, en ce que le registre d'adresse la plus récente contient une seconde bascule bistable (6) pour mémoriser ce second bit et en ce que le moyen détecteur de coïncidence (15) comprend des moyens pour détecter une coïncidence entre le second bit mémorisé dans la seconde bascuLe bistable avec un second bit engendré ensuite par la source de commandes.
4. Ordinateur de transfert selon la revendication 2, caractérisé en ce que le bit mémorisé dans la première bascule bistable est effacé par Le régulateur (16) quand des données sont mémorisées dans la mémoire tampon de données (10) à partir de
l'unité de logique arithmétique (2).
5. Ordinateur de commande selon la revendication 1, caractérisé en ce que chacune des mémoires tampons de données et d'adresses comprend une mémoire tampon de type "premier entré, premier
sorti" ayant une pluralité de cellules de mémorisation.
6. Procédé pour la commande d'un ordinateur de transfert ayant une unité de logique arithmétique (2), une mémoire principale (14) et une source de commandes (1) pour engendrer une adresse et en même temps émettre une sous-instruction de mémorisation afin de mémoriser des données dans un emplacement de la mémoire principale spécifié par l'adresse, ou une sousinstruction de chargement pour extraire des données d'un emplacement de la mémoire principale spécifié par t'adresse, caractérisé en ce qu'il comprend les étapes de: a) mémoriser une adresse à partir de la source de commandes dans une mémoire tampon d'adresses (9) et dans un registre d'adresse la plus récente (7) en tant qu'adresse la plus récente quand une sous-instruction de mémorisation provient de la source de commandes et mémoriser une adresse de la source de commandes dans la mémoire principale (14) quand une sous-instruction de chargement provient de la source de commandes (1); b) détecter une similitude entre l'adresse la. plus récente et une adresse provenant de la source de commandes quand une sous-instruction de chargement est subséquemment produite par celle-ci; c) détecter l'instant o les données sont mémorisées dans la mémoire tampon de données (10) et provoquer le transfert du contenu de la mémoire tampon d'adresses (9) et de, la mémoire tampon de données (10) dans la mémoire principale, mémorisant ainsi les données de la mémoire tampon de données dans un emplacement de la mémoire principale (14) spécifié par une adresse mémorisée dans la mémoire tampon d'adresses si l'adresse est associée à une sous-instruction de mémorisation, et lire des données d'un emplacement de la mémoire principale spécifié par une adresse mémorisée dans le registre d'adresses (4) si l'adresse est associée à une sous- instruction de charge; et d) mémoriser les données issues de la mémoire principale dans un registre de données de réponse (11) quand aucune similitude n'est détectée à L'étape (b) et mémoriser les données de l'unité de logique arithmétique (2) dans le registre de données de réponse (11) quand une similitude est détectée à L'étape (b), et fournir les données mémorisées dans le registre
de données de réponse à la source de commandes(I).
7. Procédé selon la revendication 6, caractérisé en ce que l'adresse engendrée par la source de commandes contient un bit indiquant si les données à engendrer par l'unité de logique. arithmétique sont associées à une sous-instruction de mémorisation ou à une sous-instruction de chargement, et en ce que l'étape (a) comprend une mémorisation de ce bit dans
2645297.
une bascule bistable et l'étape (c) comprend la détection de la similitude seLon ce bit mémorisé dans
la bascule bistable.
8. Procédé selon la revendication 7, caractérisé en ce que les données engendrées par l'unité de logique arithmétique (2) sont un mélange de données à largeurs en bits larges et étroites, en ce que l'adresse fournie par la source de commandes contient un autre bit indiquant si les données associées à la sous-instruction de mémorisation sont des données à largeurs en bits larges ou étroites, en ce que l'étape (a) comprend en outre la mémorisation dudit autre bit dans une seconde bascule bistable, et enfin en ce que l'étape (c) comprend la détection d'une coincidence entre l'autre bit mémorisé par la seconde bascule bistable avec un autre bit engendré
subséquemment par la source de commande..
9. Procédé selon la revendication 6, caractérisé en ce que l'étape (c) comprend l'effacement de la première bascule bistable quand les données sont mémorisées dans la mémoire tampon de données
(10) à partir de l'unité de logique arithmétique (2).
FR9004014A 1989-03-30 1990-03-29 Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes Pending FR2645297A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1080043A JPH0719222B2 (ja) 1989-03-30 1989-03-30 ストアバッフア

Publications (1)

Publication Number Publication Date
FR2645297A1 true FR2645297A1 (fr) 1990-10-05

Family

ID=13707216

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9004014A Pending FR2645297A1 (fr) 1989-03-30 1990-03-29 Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes

Country Status (3)

Country Link
US (1) US5163157A (fr)
JP (1) JPH0719222B2 (fr)
FR (1) FR2645297A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0540489A2 (fr) * 1991-10-29 1993-05-05 Telefonaktiebolaget L M Ericsson Dispositif à gagner du temps pendant la lecture des données variables emmagasinées dans un appareil de mémoire et à délester un appareil pointeur

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522052A (en) * 1991-07-04 1996-05-28 Matsushita Electric Industrial Co. Ltd. Pipeline processor for processing instructions having a data dependence relationship
US5435001A (en) * 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
EP0650116B1 (fr) * 1993-10-21 1998-12-09 Sun Microsystems, Inc. Processeur à pipeline contre courant
US6243770B1 (en) * 1998-07-21 2001-06-05 Micron Technology, Inc. Method for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple FIFO buffers
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
US6851044B1 (en) * 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
US20240220244A1 (en) * 2022-12-29 2024-07-04 SiFive, Inc. Tracking of Store Operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0147775A2 (fr) * 1983-12-19 1985-07-10 Hitachi, Ltd. Appareil de traitement de données pour le traitement de conflit d'enregistrement d'opérande
JPS621032A (ja) * 1985-02-08 1987-01-07 Hitachi Ltd 情報処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
JPS5621242A (en) * 1979-07-28 1981-02-27 Fujitsu Ltd Pipeline control method for computer operation
JPS5848146A (ja) * 1981-09-18 1983-03-22 Toshiba Corp 命令先取り方式
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
JPS62174846A (ja) * 1986-01-28 1987-07-31 Nec Corp ストアチエツク方式
US4916652A (en) * 1987-09-30 1990-04-10 International Business Machines Corporation Dynamic multiple instruction stream multiple data multiple pipeline apparatus for floating-point single instruction stream single data architectures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0147775A2 (fr) * 1983-12-19 1985-07-10 Hitachi, Ltd. Appareil de traitement de données pour le traitement de conflit d'enregistrement d'opérande
JPS621032A (ja) * 1985-02-08 1987-01-07 Hitachi Ltd 情報処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM TECHNICAL DISCLOSURE BULLETIN. vol. 14, no. 3, Août 1971, NEW YORK US pages 868 - 869 BULLIONS ET AL. 'Resolving store-load links in an instruction processor' *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0540489A2 (fr) * 1991-10-29 1993-05-05 Telefonaktiebolaget L M Ericsson Dispositif à gagner du temps pendant la lecture des données variables emmagasinées dans un appareil de mémoire et à délester un appareil pointeur
EP0540489A3 (fr) * 1991-10-29 1994-01-19 Ericsson Telefon Ab L M

Also Published As

Publication number Publication date
JPH0719222B2 (ja) 1995-03-06
JPH02257343A (ja) 1990-10-18
US5163157A (en) 1992-11-10

Similar Documents

Publication Publication Date Title
EP0032863B1 (fr) Procédé et dispositif pour gérer les conflits posés par des accès multiples à un même cache d'un système de traitement numérique de l'information comprenant au moins deux processeurs possédant chacun un cache
EP0378426B1 (fr) Transmission de données utilisant les lignes d'adresse d'un bus
FR2539528A1 (fr) Systeme a microprocesseur comportant deux processeurs
US4371924A (en) Computer system apparatus for prefetching data requested by a peripheral device from memory
FR2480458A1 (fr) Dispositif pour transferer des informations entre des unites d'un systeme de traitement de donnees
US5608867A (en) Debugging system using virtual storage means, a normal bus cycle and a debugging bus cycle
FR2480460A1 (fr) Dispositif pour transferer des informations entre des unites principales d'un systeme de traitement de donnees et un sous-systeme central
EP0029131A1 (fr) Procédé de commande de l'affectation de ressources dans un système comportant plusieurs processeurs à fonctionnement simultané
JPS61276031A (ja) デ−タ処理装置
EP0003493A1 (fr) Système de transmission de données entre des stations connectées en boucle
EP0185682A1 (fr) Procede et appareil pour instructions de comparaison et de permutation
CH629319A5 (fr) Installation de traitement de donnees.
US5987578A (en) Pipelining to improve the interface of memory devices
FR2503899A1 (fr) Procede et dispositif de transmission de donnees numeriques
FR2528195A1 (fr) Systeme de communication entre ordinateurs
EP0683454B1 (fr) Procédé pour tester le déroulement d'un programme d'instructions
EP0086220A1 (fr) Architecture de microprocesseur possedant un organe d'acces interne
FR2645297A1 (fr) Ordinateur de transfert avec un trajet de derivation pour le renvoi de donnees a une source de commandes
US6507899B1 (en) Interface for a memory unit
EP0837396B1 (fr) Opération atomique sur mémoire distante et dispositif permettant d'effectuer cette opération
US5274784A (en) Data transfer using bus address lines
JP3706397B2 (ja) データ駆動型情報処理装置
FR2561429A1 (fr) Dispositif d'adressage pour fournir a une memoire des codes d'adresse
FR2466808A1 (fr) Systeme pour controler la duree de l'intervalle de temps entre blocs dans un systeme de communication calculateur a calculateur
EP0700005B1 (fr) Dispositif de dérivation de données vectorielles pour un ordinateur vectoriel