EP0547246B1

Microprocessor architecture capable of supporting multiple heterogeneous processors

Abstract

This record has no abstract on file.

EP0547246B1, drawing sheet 1
Sheet 1 of 9

Term

Term ended

Expired 7 July 2012, 14.2 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

17 claims: 17 independent, 0 dependent

  1. 1
    Microprocesseur comportant une mémoire cache de données (51), et une mémoire cache d'instructions (52), un port de mémoire, un moyen d'entrée/sortie IOU (53) et un moyen de commande de mémoire MCU (50), ladite MCU comportant :un réseau de commutation (54);un circuit (55) d'interface de mémoire cache de données;un moyen destiné à coupler ledit circuit d'interface de mémoire cache de données entre ladite mémoire cache de données et ledit réseau de commutation (54);un circuit (56) d'interface de mémoire cache d'instructions;un moyen destiné à coupler ledit circuit d'interface de mémoire cache d'instructions entre ladite mémoire cache d'instructions (52) et ledit réseau de commutation (54);un circuit d'interface d'entrée/sortie I/O (57);un moyen destiné à coupler le circuit d'interface I/O entre ladite IOU (53) et ledit réseau de commutation (54);un circuit d'interface de port de mémoire (PO -PN );un moyen destiné à coupler ledit circuit d'interface de port de mémoire entre ledit port de mémoire et ledit réseau de commutation (54);un moyen (58) d'arbitrage de commutation destiné à arbitrer pour ledit réseau de commutation (54);un moyen d'arbitrage de port destiné à arbitrer pour ledit port de mémoire;un moyen (70b) destiné à transférer audit moyen d'arbitrage de port une demande pour transférer des données entre l'une desdites mémoire cache de données (51), mémoire cache d'instructions (52), IOU (53) et ledit port de mémoire par l'intermédiaire dudit réseau de commutation (54) et ledit circuit d'interface de port (PO - PN );un moyen (71a) destiné à transférer un signal disponible de port dudit moyen d'arbitrage de port audit moyen (58) d'arbitrage de commutation lorsque ledit circuit d'interface de port (PO - PN) est libre de traiter ladite demande;etdes moyens (70a,71b) réagissant audit signal disponible de port destinés à transférer un signal disponible de commutation dudit moyen (58) d'arbitrage de commutation à l'interface de la source de ladite demande et audit moyen d'arbitrage de port, lorsque ledit réseau de commutation (54) est libre pour traiter ladite demande, les données étant activées pour être transférées entre l'une desdites mémoires cache de données (51), ladite mémoire cache d'instruction (52), ladite IOU (53), ladite mémoire de port. Microprocessor having a data cache (51), and instruction cache (52), a memory port, an input/output means IOU (53) and a memory control means MCU (50), said MCU comprising: a switch network (54);a data cache interface circuit (55);means for coupling said data cache interface circuit between said data cache and said switch network (54);an instruction cache interface circuit (56);means for coupling said instruction cache interface circuit between said instruction cache (52) and said switch network (54);an input/output I/O interface circuit (57);means for coupling said I/O interface circuit between said IOU (53) and said switch network (54);a memory port interface circuit (Po-PN);means for coupling said memory port interface circuit between said memory port and said switch network (54);switch arbitration means (58) for arbitrating for said switch network (54);port arbitration means for arbitrating for said memory port;means (70b) for transferring to said port arbitration means a request to transfer data between one of said data cache (51), said instruction cache (52), said IOU (53), and said memory port through said switch network (54) and said port interface circuit (Po - PN);means (71a) for transferring a port available signal from said port arbitration means to said switch arbitration means (58) when said port interface circuit (Po - PN) is free to process said request;andmeans (70a,71b) responsive to said port available signal for transferring a switch available signal from said switch arbitration means (58) to the interface of the source of said request and to said port arbitration means when said switch network (54) is free to process said request whereby data is enabled to be transferred between said one of said data cache (51), said instruction cache (52), said IOU (53) and said memory port. Mikroprozessor mit einem Datenspeicher (51), und einem Befehlsspeicher (52), einem Speicheranschluß, einer Eingabe-/Ausgabeeinrichtung IOU (53) einer Speichersteuereinrichtung MCU (50), wobei die MCU aufweist: ein Schaltnetzwerk (54);einen Datenspeicherschnittstellenschaltkreis (55);eine Einrichtung zum Anschließen des Datenspeicherschnittstellenschaltkreises zwischen den Datenspeicher und das Schaltnetzwerk (54);einen Befehlsspeicherschnittstellenschaltkreis (56);eine Einrichtung zum Anschließen des Befehlsspeicherschnittstellenschaltkreises zwischen den Befehlsspeicher (52) und das Schaltnetzwerk (54);einen Eingabe-/Ausgabe-I/O-Schnittstellenschaltkreis (57);eine Einrichtung zum Anschließen des I/O-Schnittstellenschaltkreises zwischen die IOU (53) und das Schaltnetzwerk (54);einen Speicheranschlußschnittstellenschaltkreis (PO-PN);eine Einrichtung zum Anschließen dieses Speicheranschlußschnittstellenschaltkreises zwischen den Speicheranschluß und das Schaltnetzwerk (54);eine Schaltzuteilungseinrichtung (58) zum Zuteilen an das Schaltnetzwerk (54);eine Anschlußzuteilungseinrichtung zum Zuteilen an den Speicheranschluß;eine Einrichtung (70b) zum Übertragen einer Anfrage zum Übertragen von Daten zwischen entweder dem Datenspeicher (51), dem Befehlsspeicher (52) oder der IOU (53) und dem Speicheranschluß durch das Schaltnetzwerk (54) und den Anschlußschnittstellenschaltkreis (PO-PN) an die Anschlußzuteilungseinrichtung;eine Einrichtung (71a) zum Übertragen eines Anschlußfreigabesignals von der Anschlußzuteilungseinrichtung an die Schaltzuteilungseinrichtung (58), wenn der Anschlußschnittstellenschaltkreis (PO-PN) frei ist, um die Anfrage zu bearbeiten;undeine Einrichtung (70a, 71b), die auf das Anschlußfreigabesignal zum Übertragen eines Schaltfreigabesignals von der Schaltzuteilungseinrichtung (58) an die Schnittstelle der Quelle der Anfrage und an die Anschlußzuteilungseinrichtung anspricht, wenn das Schaltnetzwerk (54) frei ist, die Anfrage zu bearbeiten, wobei Daten freigegeben werden, um zwischen entweder dem Datenspeicher (51), dem Befehlsspeicher (52) oder der IOU (53) und dem Speicheranschluß übertragen zu werden.
  2. 2
    Microprocesseur selon la revendication 1, dans lequel ledit réseau de commutation (54) comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation, et un bus (142) de données de lecture de commutation, comprenant en outre :un moyen destiné à coupler la MCU (50) à un moyen MAU (7) formant réseau de mémoire via un bus (25) de système MAU, ledit bus de système MAU comportant un bus (9) d'adresses de MAU, un bus (8) de données de MAU et un bus (11) de signal de commande de MAU;un moyen (77) destiné à stocker temporairement une adresse associée à une demande d'écriture dans ladite MAU (7) à partir de ladite mémoire cache de données (51) et de ladite IOU (53), si ledit bus (9) d'adresse de MAU n'est pas alors disponible pour recevoir ladite adresse;un moyen (131) destiné à stocker temporairement des données d'écriture venant de ladite source de ladite demande d'écriture dans ladite MAU si ledit bus (8) de données de MAU n'est pas alors disponible pour recevoir lesdites données d'écriture.un moyen destiné à transférer ladite adresse associée à ladite demande d'écriture dans ladite MAU (7) à partir de ladite source de ladite demande d'écriture dans ladite MAU (7) sur ledit bus (140) de demande de commutation et lesdites données d'écriture associées à celui-ci sur ledit bus (141) de données d'écriture de commutation;un moyen (62) destiné à transférer ladite adresse associée à ladite demande d'écriture dans ladite MAU à partir dudit bus (140) de demande de commutation dans ledit moyen (77) destiné à stocker temporairement ladite adresse associée à ladite demande d'écriture dans ladite MAU;un moyen (60) destiné à transférer lesdites données d'écriture dudit bus (141) de données d'écriture de commutation audit moyen (131) destiné à stocker temporairement lesdites données d'écriture;etun moyen (141) destiné à transférer ladite adresse dudit moyen (77) destiné à stocker temporairement ladite adresse sur ledit bus d'adresse de MAU et lesdites données d'écriture dudit moyen (131) destiné à stocker temporairement lesdites données d'écriture sur lesdits bus d'adresse de MAU et bus de données d'écriture lorsque ladite adresse de MAU et les bus de données d'écriture sont disponibles pour recevoir ladite adresse et lesdites données d'écriture. Microprocessor according to claim 1 wherein said switch network (54) comprises a switch request bus (140), a switch write data bus (141), and a switch read data bus (142), further comprising: means for coupling the MCU (50) to a memory array means MAU (7) via a MAU system bus (25), said MAU system bus including a MAU address bus (9), a MAU data bus (8) and a MAU control signal bus (11);means (77) for temporarily storing an address associated with a request to write to said MAU (7) from one of said data cache (51) and said IOU (53) if said MAU address bus (9) is not then available to receive said address;means (131) for temporarily storing write data from said source of said request to write to said MAU if said MAU data bus (8) is not then available to receive said write data;means for transferring said address associated with said request to write to said MAU (7) from said source of said request to write said MAU (7) to said switch request bus (140) and said write data associated therewith to said switch write data bus (141);means (62) for transferring said address associated with said request to write to said MAU from said switch request bus (140) to said means (77) for temporarily storing said address associated with said request to write to said MAU;means (60) for transferring said write data from said switch write data bus (141) to said means (131) for temporarily storing said write data;andmeans (141) for transferring said address from said means (77) for temporarily storing said address to said MAU address bus and said write data from said means (131) for temporarily storing said write data to said MAU address and write data busses when said MAU address and write data busses are available to receive said address and said write data. Mikroprozessor nach Anspruch 1, worin das Schaltnetzwerk neben einem Schaltanfragebus (140), einem Schaltscheibdatenbus (141), und einem Schaltlesedatenbus (142) weiterhin aufweist: eine Einrichtung zum Anschließen der MCU (50) an eine Speicherfeldeinheit MAU (7) über einen MAU-Systembus (25), wobei der MAU-Systembus einen MAU-Adreßbus (9), einen MAU-Datenbus (8) und einen MAU-Steuersignalbus (11) aufweist;eine Einrichtung (77) zum zeitweiligen Speichern einer mit einer Anfrage zum Schreiben in die MAU (7) verknüpften Adresse aus dem Datenspeicher (51) oder der IOU (53) wenn der MAU-Adreßbus (9) dann nicht verfübar ist, um diese Adresse zu empfangen;eine Einrichtung (131) zum zeitweiligen Speichern von Schreibdaten von der Quelle der Anfrage zum Schreiben in die MAU, wenn der MAU-Datenbus (8) dann nicht bereit ist, um die Schreibdaten aufzunehmen;eine Einrichtung zum Übertragen der mit der Anfrage zum Schreiben in die MAU (7) verknüpften Adresse von der Quelle für die Anfrage zum Schreiben in die MAU (7) an den Schaltanfragebus (140) und zum Übertragen der damit verbundenen Schreibdaten an den Schaltschreibdatenbus (141);eine Einrichtung (62) zum Übertragen der mit der Anfrage zum Schreiben in die MAU verknüpften Adresse von dem Schaltanfragebus (140) an die Einrichtung (77) zum zeitweiligen Speichern der mit der Anfrage zum Schreiben in die MAU verknüpften Adresse;eine Einrichtung (60) zum Übertragen der Schreibdaten von dem Schaltschreibdatenbus (141) an die Einrichtung (131) zum zeitweiligen Speichern der Schreibdaten;undeine Einrichtung (141) zum Übertragen der Adresse von der Einrichtung (77) zum zeitweiligen Speichern der Adresse an den MAU-Adreßbus und zum Übertragen der Schreibdaten von der Einrichtung (131) zum zeitweiligen Speichern der Schreibdaten an den MAU-Adreßbus und den MAU-Schreibdatenbus, wenn der MAU-Adreßbus- und der MAU-Schreibdatenbus verfügbar sind, um die Adreß- und Schreibdaten aufzunehmen.
  3. 3
    Microprocesseur selon la revendication 1, dans lequel ledit réseau de commutation (54) comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation et un bus (142) de données de lecture de commutation, comportant en outre :un moyen pour coupler la MCU (50) à l'unité de réseau de mémoire MAU (7) via le bus de système de MAU, ledit bus de système de MAU comprenant le bus (9) d'adresse de MAU, le bus (8) de données de MAU et le bus (11) de signal de commande de MAU;un moyen (77) destiné à stocker temporairement une adresse associée à une demande de lecture pour lire des données dans ladite MAU (7) dans l'une desdites mémoire cache de données (51), mémoire cache d'instructions (52) et IOU (53), si ledit bus (9) d'adresse de MAU n'est pas alors disponible pour recevoir ladite adresse;un moyen (132) destiné à stocker temporairement lesdites données de lecture de ladite MAU (7) si ledit bus (142) de données de lecture de commutation n'est pas alors disponible pour transférer lesdites données lues;un moyen destiné à transférer ladite adresse associée à ladite demande de lecture de ladite source de ladite demande audit bus (140) de demande de commutation lorsque ledit bus (140) de demande de commutation est disponible;un moyen (62) destiné à transférer ladite adresse associée à ladite demande de lecture dudit bus (140) de demande de commutation audit moyen destiné à stocker temporairement ladite adresse associée à ladite demande de lecture si ledit bus (9) d'adresse de MAU n'est pas alors disponible pour recevoir ladite adresse;un moyen (13) destiné à transférer lesdites données de lecture dudit bus (8) de données de MAU audit moyen (132) destiné à stocker temporairement lesdites données de lecture lorsque ledit bus (9) d'adresse de MAU est disponible pour recevoir ladite adresse et ledit bus (142) de lecture de commutation n'est pas disponible pour transférer lesdites données de lecture;etun moyen (61) destiné à transférer lesdites données de lecture dudit moyen (132) destiné à stocker temporairement lesdites données de lecture audit bus (142) de données de lecture de commutation et dudit bus (142) de données de lecture de commutation à ladite source de ladite demande lorsque ledit bus (142) de données de lecture de commutation est disponible pour transférer lesdites données de lecture. Microprocessor according to claim 1 wherein said switch network (54) comprises a switch request bus (140), a switch write data bus (141) and a switch read data bus (142), further comprising: means for coupling the MCU (50) to the memory array unit MAU (7) via the MAU system bus, said MAU system bus including the MAU address bus (9), the MAU data bus (8) and the MAU control signal bus (11):means (77) for temporarily storing an address associated with a read request to read data from said MAU (7) from one of said data cache (51), instruction cache (52) and IOU (53) if said MAU address bus (9) is not then available to receive said address;means (132) for temporarily storing said read data from said MAU (7) if said switch read data bus (142) is not then available to transfer said read data;means for transferring said address associated with said read request from said source of said request to said switch request bus (140) when said switch request bus (140) is available;means (62) for transferring said address associated with said read request from said switch request bus (140) to said means for temporarily storing said address associated with said read request if said MAU address bus (9) is not then available to receive said address;means (13) for transferring said read data from said MAU data bus (8) to said means (132) for temporarily storing said read data when said MAU address bus (9) is available to receive said address and said switch read bus (142) is not available to transfer said read data;andmeans (61) for transferring said read data from said means (132) for temporarily storing said read data to said switch read data bus (142) and from said switch read data bus (142) to said source of said request when said switch read data bus (142) is available to transfer said read data. Mikroprozessor nach Anspruch 1, worin das Schaltnetzwerk (54) neben einem Schaltanfragebus (140), einem Schaltschreibdatenbus (141) und einem Schaltlesedatenbus (142) weiterhin aufweist: eine Einrichtung zum Anschließen der MCU (50) über den MAU-Systembus an die Speicherfeldeinheit MAU (7), wobei der MAU-Systembus den MAU-Adreßbus (9), den MAU-Datenbus (8) und den MAU-Steuersignalbus (11) umfaßt;eine Einrichtung (77) zum zeitweiligen Speichern einer mit einer Anfrage zum Lesen von Daten aus der MAU (7) verbundenen Adresse aus dem Datenspeicher (51), dem Befehlsspeicher (52) oder der IOU (53), wenn der MAU-Adreßbus (9) nicht bereit ist, um die Adresse aufzunehmen;eine Einrichtung (132) zum zeitweiligen Speichern der Lesedaten aus der MAU (7), wenn der Schaltlesedatenbus (142) nicht bereit ist, die Lesedaten zu übertragen;eine Einrichtung zum Übertragen der mit der Leseanfrage verknöpften Adresse von der Quelle der Anfrage an den Schaltanfragebus (140), wenn der Schaltanfragebus nicht bereit ist;eine Einrichtung (62) zum Übertragen der mit der Leseanfrage verknüpften Adresse von dem Schaltanfragebus (140) an eine Einrichtung zum zeitweiligen Speichern der mit der Leseanfrage verknüpften Adresse, wenn der MAU-Adreßbus (9) nicht bereit ist, um die Adresse aufzunehmen;eine Einrichtung (13) zum Übertragen der Lesedaten von dem MAU-Datenbus (8) an die Einrichtung (132) zum zeitweiligen Speichern der Lesedaten, wenn der MAU-Adreßbus (9) bereit ist, die Adresse aufzunehmen und der Schaltlesebus (142) nicht für eine Übertragung der Lesedaten zur Verfügung steht;undeine Einrichtung (61) zum Übertragen der Lesedaten von der Einrichtung (132) zum zeitweiligen Speichern der Lesedaten an den Schaltlesedatenbus (142) und von dem Schaltlesedatenbus (142) an die Quelle der Anfrage,wenn der Schaltlesedatenbus (142) für eine Übertragung der Lesedaten verfügbar ist.
  4. 4
    Microprocesseur selon la revendication 1, dans lequel ledit réseau de commutation (54) comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation et un bus (142) de données de lecture de commutation, comportant en outre :un moyen destiné à transférer une demande de transfert de données I/O entre l'une desdites mémoire de cache de données (51), mémoire cache d'instructions (52) et IOU (53) par l'intermédiaire dudit réseau de commutation (54) et dudit circuit d'interface d'entrée/sortie I/O (57);un moyen (90) destiné à envoyer un signal disponible de IOU dudit circuit (57) d'interface I/O audit moyen (58) d'arbitrage de commutation, lorsque ledit circuit (57) d'interface I/O est disponible pour traiter ladite demande pour un transfert de données I/O;etun moyen destiné à transférer une adresse associée à ladite demande de transfert de données I/O audit circuit (57) d'interface I/O via ledit bus (140) de demande de commutation, lorsque ledit réseau de commutation est disponible pour traiter ladite demande. Microprocessor according to claim 1 wherein said switch network (54) comprises a switch request bus (140),a switch write data bus (141) and a switch read data bus (142), further comprising: means for transferring a request for an I/O data transfer between one of said data cache (51), said instruction cache (52) and said IOU (53) through said switch network (54) and said I/O interface circuit (57);means for (90) for sending an IOU available signal from said I/O interface circuit (57) to said switch arbitration means (58) when said I/O interface circuit (57) is available to process said request for an I/O data transfer;andmeans for transferring an address associated with said request for an I/O data transfer to said I/O interface circuit (57) via said switch request bus (140) when said switch network is available to process said request. Mikroprozessor nach Anspruch 1, worin das Schaltnetzwerk (54) neben einem Schaltanfragebus (140), einem Schaltschreibdatenbus (141) und einem Schaltlesedatenbus (142) weiterhin aufweist: eine Einrichtung zum Übertragen einer Anfrage nach einem I/O-Datentransfer zwischen entweder dem Datenspeicher (51), dem Befehlsspeicher (52) oder der IOU (53) durch das Schaltnetzwerk (54) und den I/O-Schnittstellenschaltkreis (57);eine Einrichtung (90) zum Senden eines IOU-Freigabesignals von dem I/O-Schnittstellenschaltkreis (57) an die Schaltzuteilungseinrichtung (58), wenn der I/O-Schnittstellenschaltkreis (57) verfügbar ist, um die Anfrage nach einem I/O-Datentransfer zu bearbeiten;undeine Einrichtung zum Übertragen der mit der Anfrage nach einem I/O-Datentransfer verknüpften Adresse an den I/O-Schnittstellenschaltkreis (57) über den Schaltanfragebus (140), wenn das Schaltnetzwerk verfügbar ist, um die Anfrage zu bearbeiten.
  5. 5
    Microprocesseur selon la revendication 1, dans lequel ledit réseau de commutation (54) comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation, et le bus (142) de données de lecture de commutation, comportant en outre :des moyens (72, 93) destinés à transférer des données d'écriture de l'une desdites mémoire cache de données (51) et mémoire cache d'instructions (52) audit circuit (53) d'interface I/O via ledit bus (141) de données d'écriture de commutation, lorsque ladite demande de transfert de données I/O est une demande d'écriture, etdes moyens (73, 82, 92) destinés à transférer des données de lecture dudit circuit IOU à l'une desdites mémoire cache de données et mémoire cache d'instructions via ledit bus (142) de données de lecture de commutation, lorsque ladite demande de transfert de données I/O est une demande de lecture. Microprocessor according to claim 1 wherein said switch network (54) comprises a switch request bus (140), a switch write data bus (141), and the switch read data bus (142), further comprising: means (72,93) for transferring write data from one of said data cache (51) and instruction cache (52) to said I/O interface circuit (53) via said switch write data bus (141) when said request for an I/O data transfer is a write request;andmeans (73,82,92) for transferring read data from said IOU circuit to one of said data cache and instruction cache via said switch read data bus (142) when said request for an I/O data transfer is a read request. Mikroprozessor nach Anspruch 1, wobei das Schaltnetzwerk (54) neben einem Schaltanfragebus (140), einem Schaltschreibdatenbus (141) und dem Schaltlesedatenbus (142) weiterhin aufweist: eine Einrichtung (72, 93) zum Übertragen von Schreibdaten von dem Datenspeicher (51) oder dem Befehlsspeicher (52) an den I/O-Schnittstellenschaltkreis (53) über den Schaltschreibdatenbus (141), wenn die Anfrage nach einem I/O-Datentransfer eine Schreibanfrage ist;undEinrichtungen (73, 82, 92) zum Übertragen von Lesedaten von dem IOU-Schaltkreis an den Datenspeicher oder den Befehlsspeicher über den Schaltlesedatenbus (142), wenn de Anfrage nach einem I/O-Datentransfer eine Leseanfrage ist.
  6. 6
    Microprocesseur selon la revendication 1, comportant en outre :un moyen destiné à coupler ladite MCU à une unité de réseau de mémoire MAU via un bus (25) de système MAU, ledit bus de système MAU comportant un bus (9) d'adresse de MAU, un bus (8) de données de MAU et un bus (11) de signal de commande de MAU;des circuits en dérivation (160, 168) d'essai et de réglage, lesdits circuits d'essai et de réglage comportant un générateur d'adresse et de surveillance (161) couplé audit bus (9) d'adresse de MAU destiné à générer des adresses de surveillance correspondant à des adresses sur ledit bus d'adresse de MAU et une mémoire adressable de contenu CAM (162);un moyen réagissant à l'exécution d'une instruction prédéterminée associée à une demande d'accès à la région de mémoire partagée destinée à stocker l'adresse d'un sémaphore associé à ladite région dans ladite CAM;un moyen (162) destiné à comparer lesdites adresses de surveillance au contenu de ladite CAM (62) sur des demandes consécutives pour ledit sémaphore;etun moyen destiné à envoyer un signal de défaut de sémaphore à la source de ladite demande pour ledit sémaphore si ladite adresse de sémaphore est encore résidente dans ladite CAM pour sauvegarder ainsi de la largeur de bande de mémoire. Microprocessor according to claim 1, further comprising: means for coupling said MCU to a memory array unit MAU via a MAU system bus (25), said MAU system bus including a MAU address bus (9), a MAU data bus (8) and a MAU control signal bus (11);a test and set bypass circuit (160,168), said test and set bypass circuit having a snoop address generator (161) coupled to said MAU address bus (9) for generating snoop addresses corresponding to addresses on said MAU address bus and a content addressable memory CAM (162);means responsive to the execution of a predetermined instruction associated with a request to access a shared memory region for storing the address of a semaphore associated with said region in said CAM;means (162) for comparing said snoop addresses with the contents of said CAM (162) on subsequent requests for said semaphore;andmeans for sending a semaphore failed signal to the source of said request for said semaphore if said semaphore address is still resident in said CAM to thereby save memory bandwidth. Mikroprozessor nach Anspruch 1, weiterhin aufweisend: eine Einrichtung zum Anschließen der MCU über einen MAU-Systembus (25) an eine Speicherfeldeinheit (MAU), wobei der MAU-Systembus einen MAU-Adreßbus (9), einen MAU-Datenbus (8) und einen MAU-Steuersignalbus (11) umaßt;einen Test- und Einstellüberbrückungsschaltkreis (160, 168), wobei der Test- und Einstellüberbrückungsschaltkreis mit einem Erkundungsadreßgenerator (161), welcher an den MAU-Adreßbus (9) angeschlossen ist, zum Erzeugen von Erkundungsadressen, die den Adressen auf dem MAU-Adreßbus entsprechen und an einen inhaltsadressierbaren Speicher CAM (162) angeschlossen ist;eine Einrichtung, die auf die Ausführung eines vorbestimmten Befehls anspricht, der mit einer Anfrage nach einem Zugriff auf einen geteilten Speicherbereich zum Speichern der mit dem Bereich in dem CAM verknüpften Semaphore verknüpft ist;eine Einrichtung (162) zum Vergleichen der Erkundungsadressen mit dem Inhalt des CAM (162) bei nachfolgenden Anfragen nach der Semaphore;undeine Einrichtung zum Senden eines Semaphorenausfallsignals an die Quelle der Anfrage nach der Semaphore, wenn die Semaphorenadresse noch in dem CAM vorhanden ist, um dadurch Speicherbandbreite einzusparen.
  7. 7
    Microprocesseur selon la revendication 6, comportant :un moyen réagissant à une écriture dans ladite région de mémoire partagée destiné à libérer ledit sémaphore et à remettre à zéro ladite CAM (162). Microprocessor according to claim 6, comprising: means responsive to a write to said shared memory region for releasing said semaphore and clearing said CAM (162). Mikroprozessor nach Anspruch 6, mit: einer Einrichtung, die auf ein Schreiben in den geteilten Speichern anspricht zum Freigeben der Semaphore und zum Löschen des CAM (162).
  8. 8
    Microprocesseur selon l'une des revendications 1 à 7 comportant en outre :un moyen destiné à fournir une priorité dynamique aux demandes de dispositifs IOU, mémoire cache de données et mémoire cache d'instructions en fonction d'une priorité intrinsèque assignée à chaque dispositif et une pluralité de facteurs comprenant l'existence d'un accord de rangée entre une adresse demandée et une demande servie préalablement, le nombre de fois qu'un dispositif s'est vu refuser le service et le nombre de fois qu'un dispositif a été servi sans interruption, ladite priorité dynamique fournissant des moyens comportant : un moyen de comptage destiné à garder la trace du nombre de fois que chacun desdits facteurs se produit, etun moyen réagissant audit moyen de comptage destiné à changer la priorité desdits dispositifs en fonction de ladite priorité intrinsèque et dudit nombre. Microprocessor according to one of claims 1 to 7 further comprising: means for providing a dynamic priority to IOU, data cache and instruction cache device requests as a function of intrinsic priority assigned to each device and a plurality of factors including the existence of a row match between a requested address and a previously serviced request, the number of times a device has been denied service and the number of times a device has been serviced without interruption, said dynamic priority providing means including:counting means for keeping track of the number of times each of said factors occurs, andmeans responsive to said counting means for changing the priority of said devices as a function of said intrinsic priority and said number. Mikroprozessor gemäß einem der Ansprüche 1 bis 7, weiterhin umfassend: eine Einrichtung zum Bereitstellen einer dynamischen Priorität für die Anfragen der Einrichtungen IOU (53), Datenspeicher und Befehlsspeicher, als eine Funktion der jeder Einrichtung zugewiesenen intrinsischen Priorität sowie einer Vielzahl von Faktoren, wie dem Vorhandensein einer Zeilenübereinstimmung zwischen einer angefragten Adresse und einer zuvor bedienten Anfrage, der Häufigkeit, mit der der einer Einrichtung eine Bedienung verweigert wurde und der Häufigkeit, mit der eine Einrichtung ohne Unterbrechung bedient wurde, wobei die Einrichtung zum Bereitstellen der dynamischen Priorität aufweist:eine Zähleinrichtung, um über die Häufigkeit, mit der jeder dieser Faktoren auftritt, informiert zu sein, undeine Einrichtung, die auf die Zähleinrichtung anspricht, zum Verändern der Priorität der Einrichtungen als eine Funktion der intrinsischen Priorität und der Häufigkeit.
  9. 9
    A method of transferring data in a microprocessor having a data cache (51), and instruction cache (52), a memory port, an input/output means IOU (53) and a memory control unit MCU (50), said MCU comprising a switch network (54), a data cache interface circuit (55), means for coupling said data cache interface circuit between said data cache and said switch network (54), an instruction cache interface circuit (56), means for coupling said instruction cache interface circuit between said instruction cache (52) and said switch network (54), an input/output I/O interface circuit (57), means for coupling said I/O interface circuit between said IOU (53) and said switch network (54), a memory port interface circuit (PO-PN), means for coupling said memory port interface circuit between said memory port and said switch network (54), switch arbitration means (58) for arbitrating for said switch network (54) and port arbitration means for arbitrating for said memory port comprising the steps of:transferring to said port arbitration means a request to transfer data between one of said data cache (51), said instruction cache (52) and said IOU (53) and said memory port through said switch network (54) and said port interface circuit (PO-PN);transferring a port available signal from said port arbitration means to said switch arbitration means (58) when said port interface circuit (Po-PN)) is free to process said request;transferring a switch available signal from said switch arbitration means (58) to the interface of the source of said request and to said port arbitration means when said switch network (54) is free to process said request whereby data is enabled to be transferred between said one of said data cache (51), said instruction cache (52), said IOU (53) and said memory port. Procédé de transfert de données dans un microprocesseur comportant une mémoire cache de données (51), une mémoire cache d'instructions (52), un port de mémoire, un moyen d'entrée/sortie IOU (53) et une unité de commande de mémoire MCU (50), ladite MCU comportant un réseau de commutation (54), un circuit (55) d'interface de mémoire cache de données, un moyen destiné à coupler ledit circuit d'interface de mémoire cache de données entre ladite mémoire cache de données et ledit réseau (54) de commutation, un circuit (56) d'interface de mémoire cache d'instructions, un moyen destiné à coupler ledit circuit d'interface de mémoire cache d'instructions entre ladite mémoire cache d'instructions (52) et ledit réseau de commutation (54), un circuit (57) d'interface d'entrée/sortie I/O, un moyen destiné à coupler ledit circuit d'interface I/O entre ladite IOU (53) et ledit réseau de commutation (54), un circuit d'interface de port de mémoire (PO - PN), un moyen destiné à coupler ledit circuit d'interface de port de mémoire entre ledit port de mémoire et ledit réseau de commutation (54), un moyen (58) d'arbitrage de commutation destiné à arbitrer pour ledit réseau de commutation (54) et un moyen d'arbitrage de port destiné à arbitrer pour ledit port de mémoire comportant les étapes consistant à : transférer audit moyen d'arbitrage de port une demande de transfert de données entre l'une desdites mémoire cache de données (51), mémoire cache d'instructions (52) et IOU (53) et dudit port de mémoire par l'intermédiaire dudit réseau de commutation (54) et dudit circuit d'interface de port (PO - PN);transférer un signal disponible de port dudit moyen d'arbitrage de port audit moyen (58) d'arbitrage de commutation lorsque ledit circuit d'interface de port (PO - PN) est libre pour traiter ladite demande;transférer un signal disponible de commutation dudit moyen (58) d'arbitrage de commutation à l'interface de la source de ladite demande et audit moyen d'arbitrage de port, lorsque ledit réseau de commutation (54) est libre pour traiter ladite demande, des données étant ainsi validées pour être transférées entre l'une desdites mémoire cache de données (51), mémoire cache d'instructions, IOU (53) et ledit port de mémoire. Verfahren zum Übertragen von Daten in einem Mikroprozessor mit einem Datenspeicher (51), einem Befehlsspeicher (52), einem Speicheranschluß, einer Eingabe-/Ausgabeeinrichtung IOU (53) und einer Speichersteuereinheit MCU (50), wobei die MCU ein Schaltnetzwerk (54), einen Datenspeicherschnittstellenschaltkreis (55), eine Einrichtung zum Anschließen des Datenschnittstellenschaltkreises zwischen den Datenspeicher und das Schaltnetzwerk (54), einen Befehlsspeicherschnittstellenschaltkreis (56), eine Einrichtung zum Anschließen des Befehlsspeicherschnittstellenschaltkreises zwischen den Befehlsspeicher (52) und das Schaltnetzwerk (54), einen Eingabe-/ Ausgabe-l/O-Schnittstellenschaltkreis (57) einer Einrichtung zum Anschließen des I/O-Schnittstellenschaltkreises zwischen die IOU (53) und das Schaltnetzwerk (54), einen Speicheranschlußschnittstellenschaltkreis (PO-PN), eine Einrichtung zum Anschließen des Speicheranschlußschnittstellenschaltkreises zwischen den Speicheranschluß und das Schaltnetzwerk (54), eine Schaltzuteilungseinrichtung (58) zum Zuteilen an das Schaltnetzwerk (54) und eine Anschlußzuteilungseinheitseinrichtung zum Zuteilen an den Speicheranschluß aufweist, wobei das Verfahren die folgenden Schritte umfaßt: Transferieren einer Anfrage zum Übertragen von Daten zwischen entweder dem Datenspeicher (51), dem Befehlsspeicher (52), der IOU (53) und dem Speicheranschluß über das Schaltnetzwerk (54) und den Anschlußschnittstellenkreis (PO-PN) an die Anschlußzuteilungseinrichtung;Übertragen eines Anschlußfreigabesignals von der Anschlußzuteilungseinrichtung an die Schaltzuteilungseinrichtung (58), wenn der Anschlußschnittstellenschaltkreis (PO-PN) bereit ist, die Anfrage zu bearbeiten;Übertragen eines Schaltfreigabesignals von der Schalteintscheidungseinrichtung (58) an die Schnittstelle der Quelle der Anfrage und an die Anschlußzuteilungseinrichtung, wenn das Schaltnetzwerk bereit ist, die Anfrage zu bearbeiten, wobei Daten freigegeben werden, um zwischen entweder dem Datenspeicher (51), dem Befehlsspeicher (52), der IOU (53) und dem Speicheranschluß übertragen zu werden.
  10. 10
    A method of transferring data in a microprocessor according to claim 9 wherein said microprocessor includes means for coupling the MCU (50) to a memory array unit MAU (7) via a MAU system bus, said MAU system bus including a MAU address bus (9), a MAU data bus (8) and a MAU control signal bus (11); and said switch network comprises a switch request bus (140), a switch write data bus (141) and a switch read data bus (142); further comprising the steps of:temporarily storing an address associated with a request to write to said MAU (7) from one of said data cache (51) and said IOU (53) if said MAU address bus (9) is not then available to receive said address;temporarily storing write data from said source of said request to write to said MAU if said MAU data bus (8) is not then available to receive said write data;transferring said address associated with said request to write to said MAU (7) from said source of said request to write said MAU (7) to said switch request bus (140) and said write data associated therewith to said switch write data bus (141);transferring said address associated with said request to write to said MAU from said switch request bus (140) to said means (77) for temporarily storing said address associated with said request to write to said MAU;transferring said write data from said switch write data bus (141) to said means (131) for temporarily storing said write data;andtransferring said address from said means (77) for temporarily storing said address to said MAU address bus and said write data from said means (131) for temporarily storing said write data to said MAU address and write data busses when said MAU address and write data busses are available to receive said address and said write data. Procédé de transfert de données dans un microprocesseur selon la revendication 9, dans lequel ledit microprocesseur comporte des moyens pour coupler la MCU (50) à une unité de réseau de mémoire MAU (7) via un bus de système de MAU, ledit bus de système de MAU comportant un bus (9) d'adresses de MAU, un bus (8) de données de MAU et un bus (11) de signal de commande de MAU;et ledit réseau de commutation comprend un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation et un bus (142) de données de lecture de commutation;comportant en outre les étapes consistant à : stocker temporairement une adresse associée à une demande d'écriture dans ladite MAU (7) de l'une de ladite mémoire cache de données (51) et de ladite IOU (53), si ledit bus (9) d'adresse de MAU n'est pas disponible alors pour recevoir ladite adresse;stocker temporairement des données d'écriture venant de ladite source de ladite demande d'écriture dans ladite MAU, si ledit bus (8) de données de MAU n'est pas alors disponible pour recevoir lesdites données d'écriture;transférer ladite adresse associée à ladite demande d'écriture dans ladite MAU (7) de ladite source de ladite demande d'écriture dans ladite MAU (7) sur ledit bus (140) de demande de commutation et lesdites données d'écriture associées à celle-ci sur ledit bus (141) de données d'écriture de commutation;transférer ladite adresse associée à ladite demande d'écriture dans ladite MAU du bus (140) de demande de commutation audit moyen (77) destiné à stocker temporairement ladite adresse associée à ladite demande d'écriture dans ladite MAU;transférer lesdites données d'écriture dudit bus (141) de données d'écriture de commutation audit moyen (131) destiné à stocker temporairement desdites données d'écriture;ettransférer ladite adresse dudit moyen (77) destiné à stocker temporairement ladite adresse sur ledit bus d'adresse de MAU et lesdites données d'écriture dudit moyen (131) destiné à stocker temporairement lesdites données d'écriture à ladite adresse de MAU et les bus de données d'écriture, lorsque lesdits bus d'adresse de MAU et bus de données d'écriture sont disponibles pour recevoir ladite adresse et lesdites données d'écriture. Verfahren zum Übertragen von Daten in einem Mikroprozessor nach Anspruch 9, worin ein Mikroprozessor eine Einrichtung zum Anschließen der MCU (50) über einen MAU-Systembus an eine Speicherfeldeinheit MAU (7) aufweist, wobei der MAU-Systembus einen MAU-Adreßbus (9), einen MAU-Datenbus (8) und einen MAU-Steuersignalbus (11) aufweist;und wobei das Schaltnetzwerk einen Schaltanfragebus (140), einen Schaltschreibdatenbus (141) und einen Schaltlesedatenbus (142) aufweist;wobei das Verfahren weiterhin die folgenden Schritte aufweist:zeitweiliges Speichern einer mit einer Anfrage zum Schreiben aus dem Datenspeicher (151) und der IOU (53) in die MAU (7) verknüpften Adresse,wenn der MAU-Adreßbus (9) dann nicht verfügbar ist, um die Adrossen aufzunehmen;zeitweiliges Speichern von Schreibdaten von der Quelle der Anfrage zum Schreiben in die MAU, wenn der MAU-Datenbus (8) dann nicht verfügbar ist, um die Schreibdaten zu empfangen;Übertragen der mit der Anfrage zum Schreiben in die MAU (7) verknüpften Adresse von der Quelle der Anfrage zum Schreiben in die MAU (7) an den Schaltanfragebus (140) und Übertragen der damit verbundenen Schreibdaten an den Schreibdatenbus (141);Übertragen der mit der Anfrage zum Schreiben in die MAU verknüpften Adresse von dem Schaltanfragebus (140) an die Einrichtung (77) zum zeitweiligen Speichern der mit der Anfrage zum Schreiben in die MAU verknüpften Adresse;Übertragen der Schreibdaten von dem Schaltschreibdatenbus (141) an die Einrichtung (131) zum zeitweiligen Speichern der Schreibdaten;undÜbertragen der Adresse von der Einrichtung (77) zum zeitweiligen Speichern der Adresse an den MAU-Adreßbus und Übertragen der Schreibdaten von der Einrichtung (131) zum zeitweiligen Speichern der Schreibdaten an die MAU-Adresse und die Schreibdatenbusse, wenn der MAU-Adreßbus- und Schreibdatenbusse nicht verfügbar sind, um die Adresse und die Schreibdaten aufzunehmen.
  11. 11
    A method of transferring data in a microprocessor according to claim 9 wherein said microprocessor includes means for coupling the MCU (50) to a memory array unit MAU (7) via a MAU system bus, said MAU system bus including a MAU address bus (9), a MAU data bus (8) and a MAU control signal bus (11); and said switch network comprises a switch request bus (140), a switch write data bus (141) and a switch read data bus (142); further comprising the steps of:temporarily storing an address associated with a read request to read data from said MAU (7) from one of said data cache (51), instruction cache (52) and IOU (53) if said MAU address bus (9) is not then available to receive said address;temporarily storing said read data from said MAU (7) if said switch read data bus (142) is not then available to transfer said read data;transferring said address associated with said read request from said source of said request to said switch request bus (140) when said switch request bus (140) is available;transferring said address associated with said read request from said switch request bus (140) to said means for temporarily storing said address associated with said read request if said MAU address bus (9) is not then available to receive said address;transferring said read data from said MAU data bus (8) to said means (132) for temporarily storing said read data when said MAU address bus (9) is available to receive said address and said switch read bus (142) is not available to transfer said read data;andtransferring said read data from said means (132) for temporarily storing said read data to said switch read data bus (142) and from said switch read data bus (142) to said source of said request when said switch read data bus (142) is available to transfer said read data. Procédé de transfert de données dans un microprocesseur selon la revendication 9, dans lequel ledit microprocesseur comporte des moyens pour coupler la MCU (50) à une unité de réseau de mémoire MAU (7) via un bus de système de MAU, ledit bus de système de MAU comportant un bus (9) d'adresse de MAU, un bus (8) de données de MAU et un bus (11) de signal de commande de MAU;et ledit réseau de commutation comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation et un bus (142) de données de lecture de commutation;comportant en outre les étapes consistant à : stocker temporairement une adresse associée à une demande de lecture pour lire des données dans ladite MAU (7) dans l'une desdites mémoire cache de données (51), mémoire cache d'instructions (52) et IOU (53), si ledit bus (9) d'adresse de MAU n'est pas disponible pour recevoir ladite adresse;stocker temporairement lesdites données de lecture venant de ladite MAU (7) si ledit bus (142) de données de lecture de commutation n'est pas disponible pour transférer lesdites données de lecture;transférer ladite adresse associée à ladite demande de lecture venant de ladite source de ladite demande audit bus (140) de demande de commutation, lorsque ledit bus (140) de demande de commutation est disponible;transférer ladite adresse associée à ladite demande de lecture dudit bus (140) de demande de commutation audit moyen destiné à stocker temporairement ladite adresse associée à ladite demande de lecture, si ledit bus (9) d'adresse de MAU n'est pas disponible pour recevoir ladite adresse;transférer lesdites données de lecture dudit bus (8) de données de MAU audit moyen (132) destiné à stocker temporairement lesdites données de lecture, lorsque ledit bus (9) d'adresse de MAU est disponible pour recevoir ladite adresse et ledit bus (142) de lecture de commutation n'est pas disponible pour transférer lesdites données de lecture;ettransférer lesdites données de lecture dudit moyen (132) destiné à stocker temporairement lesdites données de lecture audit bus (142) de données de lecture de commutation et dudit bus (142) de données de lecture de commutation à ladite source de ladite demande, lorsque ledit bus (142) de données de lecture de commutation est disponible pour transférer lesdites données de lecture. Verfahren zum Übertragen von Daten in einem Mikroprozessor nach Anspruch 9, worin der Mikroprozessor eine Einrichtung zum Ankoppeln der MCU (50) über einen MAU-Systembus an die Speicherfeldeinheit MAU (7) aufweist, wobei der MAU-Systembus einen MAU-Adreßbus (9), einen MAU-Datenbus (8) und einen MAU-Signalsteuerbus (11) aufweist;und wobei das Schaltnetzwerk einen Schaltanfragebus (140), einen Schaltschreibdatenbus (141) und einen Schaltlesedatenbus (142) aufweist;wobei das Verfahren weiterhin die folgenden Schritte aufweist: zeitweiliges Speichern einer mit einer Anfrage zum Lesen von Daten aus der MAU (7) verknüpften Adresse aus entweder dem Datenspeicher (51), dem Befehlsspeicher (52) oder der IOU (53), wenn der MAU-Adreßbus (9) dann nicht verfügbar ist, die Adresse aufzunehmen;zeitweiliges Speichern der Lesedaten aus der MAU (7), wenn der Schaltlesedatenbus (142) nicht verfügbar ist, die Lesedaten zu übertragen;Übertragen der mit der Leseanfrage verknüpften Adresse von der Quelle der Anfrage an den Schaltanfragebus (140), wenn der Schaltanfragebus (140) verfügbar ist;Übertragen der mit der Leseanfrage verknüpften Adresse von dem Schaltanfragebus (140) an die Einrichtung zum zeitweiligen Speichern der mit der Leseanfrage verknüpften Adresse, wenn der MAU-Adreßbus (9) dann nicht verfügbar ist, um diese Adresse aufzunehmen;Übertragen der Lesedaten von dem MAU-Datenbus (8) an die Einrichtung (132) zum zeitweiligen Speichern der Lesedaten, wenn der MAU-Adreßbus (9) verfügbar ist, um die Adresse aufzunehmen und wenn der Schaltlesebus (142) nicht verfügbar ist, um die Lesedaten zu übertragen;undÜbertragen der Lesedaten von der Einrichtung (132) zum zeitweiligen Speichern der Lesedaten an den Schaltlesedatenbus (142) und von dem Schaltlesedatenbus (142) an die Quelle der Anfrage, wenn der Schaltlesedatenbus (142) verfügbar ist, um die Lesedaten zu übertragen.
  12. 12
    A method of transferring data in a microprocessor according to claim 9 wherein said switch network (54) comprises a switch request bus (140), a switch write data bus (141) and a switch read data bus (142), further comprising the steps of:transferring a request for an I/O data transfer between one of said data cache (51), said instruction cache (52) and said IOU (53) through said switch network (54) and said I/O interface circuit (57);sending an IOU available signal from said I/O interface circuit (57) to said switch arbitration means (58) when said I/O interface circuit (57) is available to process said request for an I/O data transfer;andtransferring an address associated with said request for an I/O data transfer to said I/O interface circuit (57) via said switch request bus (140) when said switch network is available to process said request. Procédé de transfert de données dans un microprocesseur selon la revendication 9, dans lequel ledit réseau de commutation (54) comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation et un bus (142) de données de lecture de commutation, comportant en outre les étapes consistant à : transférer une demande de transfert de données I/O entre l'une desdites mémoire cache de données (51), mémoire cache d'instructions (52) et IOU (53) par l'intermédiaire dudit réseau de commutation (54) et dudit circuit (57) d'interface I/O;envoyer un signal disponible de IOU dudit circuit (57) d'interface I/O audit moyen (58) d'arbitrage de commutation, lorsque ledit circuit (57) d'interface I/O est disponible pour traiter ladite demande de transfert de données I/O;ettransférer une adresse associée à ladite demande de transfert de données I/O audit circuit (57) d'interface I/O via ledit bus (140) de demande de commutation, lorsque ledit réseau de commutation est disponible pour traiter ladite demande. Verfahren zum Übertragen von Daten in einem Mikroprozessor gemäß Anspruch 9, worin das Schaltnetzwerk (54) einen Schaltanfragebus (140), einen Schaltschreibdatenbus (141) und einer Schaltlesedatenbus (142) aufweist, wobei das Verfahren weiterhin die folgenden Schritte umfaßt: Übertragen einer Anfrage nach einem Datentransfer zwischen entweder dem Datenspeicher (51), dem Befehlsspeicher (52) oder der IOU (53) durch das Schaltnetzwerk (54) und den I/O-Schnittstellenschaltkreis (57);Senden eines IOU-Freigabesignals von dem I/O-Schnittstellenschaltkreis (57) an die Schaltzuteilungseinrichtung (58), wenn der I/O-Schnittstellenschaltkreis (57) verfügbar ist, um die Anfrage nach einem I/O-Datentransfer zu bearbeiten;undÜbertragen der mit einer Anfrage nach einem I/O-Datentransfer verknüpften Adresse über den Schaltanfragebus (140) an den I/O-Schnittstellenschaltkreis (57), wenn das Schaltnetzwerk verfügbar ist, um die Anfrage zu bearbeiten.
  13. 13
    A method of transferring data in a microprocessor according to claim 9 wherein said switch network (54) comprises a switch request bus (140), a switch write data bus (141) and a switch read data bus (142), further comprising the steps of:transferring write data from one of said data cache (51) and instruction cache (52) to said I/O interface circuit (53) via said switch write data bus (141) when said request for an I/O data transfer is a write request;andtransferring read data from said IOU circuit to one of said data cache and instruction cache via said switch read data bus (142) when said request for an I/O data transfer is a read request. Procédé de transfert de données dans un microprocesseur selon la revendication 9, dans lequel ledit réseau de commutation (54) comporte un bus (140) de demande de commutation, un bus (141) de données d'écriture de commutation et un bus (142) de données de lecture de commutation, comportant en outre les étapes consistant à : transférer des données d'écriture de l'une desdites mémoire cache de données (51) et mémoire cache d'instructions (52) audit circuit (53) d'interface I/O via ledit bus (141) de données d'écriture de commutation, lorsque ladite demande de transfert de données I/O est une demande d'écriture;et transférer des données de lecture dudit circuit IOU à l'une desdites mémoire cache de données et mémoire cache d'instructions via ledit bus (142) de données de lecture de commutation, lorsque ladite demande de transfert de données I/O est une demande de lecture. Verfahren zum Übertragen von Daten in einem Mikroprozessor nach Anspruch 9, worin das Schaltnetzwerk (54) einen Schaltanfragebus (140), einen Schaltschreibdatenbus (141) und einen Schaltlesedatenbus (142) aufweist, wobei das Verfahren weiterhin die folgenden Schritte umfaßt: Übertragen von Schreibdaten von entweder dem Datenspeicher (51) oder dem Befehlsspeicher (52) über den Schaltschreibdatenbus (141) an den I/O-Schnittstellenschaltkreis (53), wenn die Anfrage nach einer 1/0-Datenübertragung eine Schreibanfrage ist;undÜbertragen von Lesedaten von dem IOU-Schaltkreis über den Schaltlesedatenbus (142) an den Datenspeicher oder den Befehlsspeicher, wenn die Anfrage nach einer I/O-Datenübertragung eine Leseanfrage ist.
  14. 14
    A method of transferring data in a microprocessor according to claim 9 wherein said microprocessor comprises means for coupling the MCU (50) to a memory array unit MAU (7) via a MAU system bus, said MAU system bus including a MAU address bus (9), a MAU data bus (8) and a MAU control signal bus (11) and a test and set bypass circuit (160,168), said test and set bypass circuit having a snoop address generator (161) coupled to said MAU address bus (9) for generating snoop addresses corresponding to addresses on said MAU address bus and a content addressable memory CAM (162), comprising the steps of:storing the address of a semaphore associated with a shared memory region in said CAM;comparing said snoop addresses with the contents of said CAM (162) on subsequent requests for said semaphore;andsending a semaphore failed signal to the source of said request for said semaphore of said semaphore address if said semophore address is still resident in said CAM to thereby save memory bandwidth. Procédé de transfert de données dans un microprocesseur selon la revendication 9, dans lequel ledit microprocesseur comporte des moyens pour coupler la MCU (50) à une unité de réseau de mémoire MAU (7) via un bus de système MAU, ledit bus de système MAU comportant un bus (9) d'adresse de MAU, un bus (8) de données de MAU et un bus (11) de signal de commande de MAU et un circuit d'essai et de réglage en dérivation (160, 168), ledit circuit en dérivation d'essai et de réglage comportant un générateur (161) d'adresse de surveillance couplé audit bus (9) d'adresse de MAU destiné à générer des adresses de surveillance correspondant à des adresses situées sur ledit bus d'adresses de MAU et une mémoire CAM (162) adressable de contenu, comportant les étapes consistant à : stocker les adresses d'un sémaphore associé à une région de mémoire partagée dans ladite CAM;comparer lesdites adresses de surveillance au contenu de ladite CAM (162) lors des demandes consécutives pour ledit sémaphore;etenvoyer un signal de défaut de sémaphore à la source de ladite demande dudit sémaphore de ladite adresse de sémaphore si ladite adresse de sémaphore est encore résidente dans ladite CAM pour sauvegarder ainsi de la largeur de bande de mémoire. Verfahren zum Übertragen von Daten in einem Mikroprozessor nach Anspruch 9, worin der Mikroprozessor eine Einrichtung zum Anschließen der MCU (50) über einen MAU-Systembus an eine Speicherfeldeinheit MAU (7) aufweist, wobei der MAU-Systembus einen MAU-Adreßbus (9), einen MAU-Datenbus (8) und einen MAU-Steuersignalbus (11) sowie einen Test- und Einstellüberbrückungsschaltkreis (160, 168) aufweist, wobei der Test- und Einstellüberbrückungsschaltkreis einen Erkundungsadressengenerator (161) umfaßt, welcher an den MAU-Adreßbus (9) angeschlossen ist, zum Erzeugen der Erkundungsadressen, die Adressen auf dem MAU-Adreßbus entsprechen und welcher an einen inhaltsadressierbaren Speicher CAM (162) angeschlossen ist, wobei das Verfahren die folgenden Schritte aufweist: Speichern der Adresse einer mit einer geteilten Speicherregion verknüpften Semaphore in dem CAM;Vergleichen der Erkundungsadressen mit den Inhalten des CAM (162) bei nachfolgenden Anfragen nach der Semaphore;undSenden eines Semaphorenausfallsignals an die Quelle der Anfrage nach der Semaphore der Semaphorenadresse, wenn sich die Semaphorenadresse noch in dem CAM befindet, um auf diese Weise Speicherbandbreite anzusparen.
  15. 15
    A method according to claim 14, comprising the steps of:releasing said semaphore and clearing said CAM (162) in response to a write to said shared memory region. Procédé selon la revendication 14, comportant les étapes consistant à : libérer ledit sémaphore et remettre à zéro ladite CAM (162) en réponse à une écriture dans ladite région de mémoire partagée. Verfahren nach Anspruch 14, mit den Schritten: Freilassen der Semaphore und Löschen des CAM (162) in Ansprache auf ein Schreiben in den geteilten Speicherbereich.
  16. 16
    A method according to one of claims 9 to 15 of transferring data in a microprocessor comprising the steps of:providing a dynamic priority to IOU, data cache and instruction device requests as a function of intrinsic priority assigned to each device and a plurality of factors including the existence of a row match between a requested address and a previously serviced request, the number of times a device has been denied service and the number of times a device has been serviced without interruption;keeping track of the number of times each of said factors occurs;andchanging the priority of said devices as a function of said intrinsic priority and said number. Procédé selon l'une des revendications 9 à 15 de transfert de données dans un microprocesseur comportant les étapes consistant à : fournir une priorité dynamique aux demandes de dispositifs IOU, mémoire cache de données et mémoire cache d'instructions en fonction d'une priorité intrinsèque assignée à chaque dispositif et une pluralité de facteurs comportant l'existence d'un accord de rangée entre une adresse demandée et une demande servie précédemment, le nombre de fois qu'un dispositif s'est vu refuser le service et le nombre de fois qu'un dispositif a été servi sans interruption;garder la trace du nombre de fois que chacun desdits facteurs se produit;etchanger la priorité desdits dispositifs en fonction de ladite priorité intrinsèque et dudit nombre. Verfahren zum Übertragen von Daten in einem Mikroprozessor nach einem der Ansprüche 9 bis 15, mit den Schritten: Bereitstellen einer dynamischen Priorität für die Anfragen der Einrichtungen IOU (53), Datenspeicher und Befehlsspeicher, als eine Funktion der jeder Einrichtung zugewiesenen intrinsischen Priorität sowie einer Vielzahl von Faktoren, wie dem Vorhandensein einer Zeilenübereinstimmung zwischen einer angefragten Adresse und einer zuvor bedienten Anfrage, der Häufigkeit,mit der einer Einrichtung eine Bedienung verweigert wurde und der Häufigkeit, mit der eine Einrichtung ohne Unterbrechung bedient wurde;informiert bleiben über die Häufigkeit, mit der jeder der Faktoren aufgetreten ist;undVerändern der Priorität der Vorrichtungen als eine Funktion der intrinsischen Priorität und der Häufigkeit.
  17. 17
    Procédé selon la revendication 16, comportant en outre les étapes consistant à :initialiser un compteur avec un compte prédéterminé, lorsqu'un dispositif est servi pour la première fois après une interruption;décrémenter ledit compteur chaque fois que ledit dispositif est servi sans interruption;etdéterminer si ledit facteur nombre de fois qu'un dispositif a été servi sans interruption se produit lorsque ledit compteur atteint la valeur zéro. The method of claim 16, further comprising the steps of: initializing a counter with a predetermined count when a device is first serviced after an interruption;decrementing said counter each time said device is serviced without interruption;anddetermining that said number of times a device has been serviced without interruption factor occurs when said counter reaches zero. Verfahren nach Anspruch 16, weiterhin umfassend die Schritte: Initialisieren eines Zählers mit einer vorbestimmten Zahl, wenn eine Einrichtung erstmalig nach einer Unterbrechung bedient wird;Erniedrigen des Zählerstandes immer dann, wenn die Einrichtung ohne Unterbrechung bedient wird;undFeststellen, daß die Häufigkeit, mit der die Einrichtung ohne Unterbrechung bedient wurde, dann auftritt, wenn der Zählerstand Null erreicht.
Independent claims17