FR2497596A1 - Machine informatique comportant une antememoire - Google Patents

Machine informatique comportant une antememoire Download PDF

Info

Publication number
FR2497596A1
FR2497596A1 FR8200156A FR8200156A FR2497596A1 FR 2497596 A1 FR2497596 A1 FR 2497596A1 FR 8200156 A FR8200156 A FR 8200156A FR 8200156 A FR8200156 A FR 8200156A FR 2497596 A1 FR2497596 A1 FR 2497596A1
Authority
FR
France
Prior art keywords
memory
cache
data
signal
central processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR8200156A
Other languages
English (en)
Other versions
FR2497596B1 (fr
Inventor
Horace H Tsiang
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.)
Wang Laboratories Inc
Original Assignee
Wang Laboratories Inc
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 Wang Laboratories Inc filed Critical Wang Laboratories Inc
Publication of FR2497596A1 publication Critical patent/FR2497596A1/fr
Application granted granted Critical
Publication of FR2497596B1 publication Critical patent/FR2497596B1/fr
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0857Overlapped cache accessing, e.g. pipeline by multiple requestors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

UNE MACHINE INFORMATIQUE COMPREND NOTAMMENT UN PROCESSEUR CENTRAL 12, UNE MEMOIRE CENTRALE 16, UNE ANTEMEMOIRE 24 ET UN CONTROLEUR DE MEMOIRE 18. DES DISPOSITIFS PERIPHERIQUES ONT EGALEMENT ACCES A LA MEMOIRE CENTRALE PAR L'INTERMEDIAIRE D'ADAPTATEURS DE BUS 22. POUR AMELIORER L'EFFICACITE DES OPERATIONS D'ACCES EN MEMOIRE, LE CYCLE DE FONCTIONNEMENT DE L'ANTEMEMOIRE EST DIVISE EN DEUX SOUS-CYCLES. UN PREMIER SOUS-CYCLE EST RESERVE A L'ACCES A L'ANTEMEMOIRE PAR LE PROCESSEUR CENTRAL, ET LE SECOND EST RESERVE A DIVERSES AUTRES OPERATIONS, PARMI LESQUELLES L'ACCES PAR LE PROCESSEUR D'UN DISPOSITIF PERIPHERIQUE.

Description

MACHINE INFORMATIQUE COMPORTANT UNE ANTEMEMOIRE
La présente invention concerne des perfectionne-
ments à la gestion des accès en mémoire au cours du fonc-
tionnement des machines informatiques qui emploient une antémémoire Ou "cache". La machine informatique de l'invention comporte un processeur central, une mémoire centrale qui est commandée
par un contrôleur de mémoire, et un certain nombre de pro-
cesseurs périphériques (qui commandent le fonctionnement d'équipements tels que des terminaux, des imprimantes, des dispositifs de télécommunications, etc). La machine comporte en outre une antémémoire. Une antémémoire est une mémoire rapide qui fait partie de l'unité centrale et qui contient un sous-ensemble,variable au cours du temps,du contenu de
la mémoire centrale.
Une antémémoire peut réduire considérablement le temps d'accès en mémoire moyen pour les opérations de mémoire du processeur central, du fait qu'une proportion très élevée des lectures en mémoire peut être satisfaite
au moyen de l'antémémoire rapide. Pour une minorité de ten-
tatives de lecture en mémoire, il est nécessaire d'arrêter temporairement le fonctionnement du processeur central de façon à charger les données nécessaires, à partir de la mémoire centrale. Dans la machine décrite ici, la lecture
dans l'antémémoire est effectuée directement par le proces-
seur central et l'écriture est effectuée par un circuit d'écriture d'antémémoire, sous l'effet soit d'une absence
de données dans l'antémémoire, soit d'une opération d'écri-
ture en mémoire centrale par le processeur central. Les
processeurs périphériques lisent et écrivent dans la mémoi-
re centrale par l'intermédiaire du contrôleur de mémoire, mais ils ne lisent ni n'écrivent dans l'antémémoire, qui
est réservée aux opérations du processeur central.
Trois problèmes, entre autres, se manifestent lorsqu'on utilise une telle antémémoire, et tous trois
diminuent la vitesse de fonctionnement de la machine infor-
matique.
Premièrement, bien que les processeurs périphéri-
ques n'écrivent pas dans l'antémémoire, lorsqu'ils écrivent à une position dans la mémoire centrale, il est nécessaire de contrôler l'antémémoire pour déterminer si le contenu de cette pcsition de la mémoire centrale a été chargé dans l'antémémoire et, dans l'affirmative, il est nécessaire d'invalider la rubrique de l'antémémoire (en positionnant un bit valide/invalide dans un état indiquant "invalide"), du fait que la rubrique ne correspond plus exactement au contenu de la mémoire centrale. Ceci signifie qu'à un
instant particulier il peut y avoir un conflit entre l'opé-
ration qui consiste à tenter de lire dans l'antémémoire et l'opération qui consiste à tenter de contrôler le contenu de l'antémémoire après une opération d'écriture en mémoire
centrale par un processeur périphérique (contrôle d'éti-
quette).
Secondement, du fait qu'on ne peut pas écrire et lire simultanément dans l'antémémoire, il peut y avoir à
n'importe quel instant particulier un conflit entre le pro-
cesseur central, qui tente de lire dans l'antémémoire, et le circuit logique d'écriture dans l'antémémoire, qui tente d'écrire dans l'antémémoire sous l'effet d'une absence de
données antérieure dans l'antémémoire (mise à jour de l'an-
témémoire). Il peut également y avoir un conflit si le cir-
cuit logique d'écriture dans l'antémémoire tente d'écrire un bit d'état invalide après qu'un contrôle d'étiquette précédent a fait apparaître une condition de correspondance d'étiquette. Enfin, il peut y avoir un conflit à n'importe quel instant particulier si le processeur central tente de lire dans l'antémémoire pendant que le contrôleur de mémoire écrit dans l'antémémoire pour la mettre à jour, après une écriture antérieure en mémoire centrale par le processeur central. Dans les machines de l'art antérieur, on a fait
fonctionner l'antémémoire d'une manière imposant les con-
traintes suivantes: (1) du temps-système doit 8tre consa-
cré à la résolution des conflits, en particulier dans le premier cas; (2) en cas de mise à jour de l'antémémoire après une absence antérieure de données dans l'antémémoire, il est nécessaire de maintenir le processeur central à l'arrêt pendant un cycle d'antémémoire consacré à la mise à jour du contenu de l'antémémoire; et (3) il est nécessaire d'arrêter le processeur central pendant des cycles de mémoi- re consacrés à la mise à jour du contenu de l'antémémoire,
après une écriture effectuée par le processeur central.
Toutes ces situations entraînent des retards dans l'accès en mémoire et une dégradation résultante du fonctionnement du
processeur central.
L'invention évite tous ces inconvénients.
Une antémémoire a généralement un cycle de fonc-
tionnement de même longueur que le cycle de micro-instruc-
tion d'une opération de mémoire du processeur central. Dans
la machine informatique de l'invention, le cycle de fonc-
tionnement de l'antémémoire est divisé en deux sous-cycles
qui sont consacrés à des opérations mutuellement exclusives.
Le premier sous-cycle est consacré à la réception d'une demande de lecture en mémoire du processeur central, avec son adresse. Le second sous-cycle est consacré à n'importe
quel autre genre d'opération de l'antémémoire. Ces opéra-
tions consistent en particulier soit (a) à recevoir une
adresse à partir d'un processeur périphérique pour contrô-
ler le contenu de l'antémémoire après une opération d'écri-
ture en mémoire centrale par un processeur périphérique,
soit (b) à écrire n'importe quoi dans l'antémémoire, y com-
pris un bit d'état invalide, après une condition de corres-
pondance pour le contr8le de l'antémémoire, ou des données
après une absence de données dans l'antémémoireou une opé-
ration d'écriture par le processeur central dans la mémoire centrale. Par ce moyen, on élimine tout conflit, ce qui
fait qu'il n'est pas nécessaire de consacrer du temps-
système pour résoudre les conflits, et les opérations d'écri-
ture deviennent "transparentes" pour le processeur central qui lit dans l'antémémoire. Du point de vue du processeur
central, l'antémémoire est toujours disponible pour des opé-
rations de lecture. Le processeur central peut continuer à lire dans l'antémémoire de façon ininterrompue au cours de cycles de microinstruction successifs du processeur central, indépendamment du fait que le contenu de l'antémémoire est "simultanément" contrôlé, invalidé ou mis à jour après des opérations d'écriture du processeur central. Après une absence de données dans l'antémémcire, bien que le proces- seur central doive être arrêté pour permettre la mise à jour, il peut reprendre son fonctionnement un cycle plus t8t
qu'il est possible sans le cycle d'antémémoire divisé.
En outre, la réalisation d'une structure de ges-
tion de mémoire conforme à l'invention est particulièrement économique en ce qui concerne les circuits, et elle réduit
les exigences de coût comme d'espace.
Conformément à l'invention, une machine informa-
tique comporte un processeur central ayant un registre d'adresse de mémoire destiné à fournir des signaux d'adresse de mémoire et un registre de données de mémoire destiné à recevoir et à fournir des signaux de données, et une mémoire de contrôle qui est connectée au processeur central et qui
lui fournit des signaux de commande représentant des micro-
instructions. Des signaux particuliers parmi les signaux
de commande faisant partie d'une micro-instruction représen-
tent des opérations d'accès en mémoire pour la lecture ou l'écriture; et le processeur central réagit aux signaux de
commande d'accès en mémoire en générant des signaux d'adres-
se de mémoire et en les plaçant dans le registre d'adresse de mémoire. La machine informatique comporte en outre une mémoire physique qui peut être adressée par les signaux d'adresse de mémoire et qui est capable d'enregistrer des
signaux de données.
La mémoire physique comprend une mémoire principale
à accès relativement lent et une antémémoire à accès rela-
tivement rapide. Le registre d'adresse de mémoire du pro-
cesseur central est connecté à la mémoire physique de façon
à lui appliquer des signaux d'adresse de mémoire. Le pro-
cesseur central applique en outre les signaux de commande
d'accès en mémoire à la mémoire physique. La machine infor-
matique comporte de plus une horloge mère qui est connectée au processeur central et à la mémoire physique et qui leur applique des impulsions d'horloge. Des impulsions d'horloge particulières définissent un cycle de fonctionnement du
processeur central, qui a une longueur fixe pour des opéra-
tions comprenant un accès en mémoire. Au moins un proces-
seur périphérique est connecté à la mémoire physique pour y accéder, pour les opérations de lecture et d'écriture; et le processeur périphérique applique à la mémoire physique des signaux d'adresse de mémoire, des signaux de commande d'accès en mémoire et des signaux de données, et il reçoit
d'elle des signaux de données.
L'antémémoire comporte une horloge d'antémémoire qui fonctionne sous la dépendance de l'horloge mère et qui fournit un ensemble d'impulsions d'horloge définissant un
cycle de fonctionnement d'antémémoire. L'antémémoire com-
porte des moyens d'enregistrement de signaux de données destinés à enregistrer des signaux de données, des moyens d'adressage destinés à appliquer les signaux d'adresse de mémoire reçus par la mémoire physique de façon à adresser les moyens d'enregistrement de signaux de données, des moyens de comparaison qui réagissent aux signaux d'adresse appliqués et aux signaux de données enregistrés de façon à générer un signal de sortie représentatif de la présence ou de l'absence de données particulières dans l'antémémoire, et des moyens de génération de signaux qui réagissent au signal de sortie des moyens de comparaison en générant un signal de condition qui présente un état parmi deux et qui est représentatif de la présence ou de l'absence des
données particulières.
Les moyens d'adressage de l'antémémoire réagis-
sent-à l'horloge d'antémémoire de façon à consacrer une première partie du cycle de fonctionnement de l'antémémoire
à la seule opération consistant à appliquer aux moyens d'en-
registrement de signaux de données de l'antémémoire et aux
moyens de comparaison de l'antémémoire les signaux d'adres-
se reçus à partir du processeur central; et les moyens
d'adressage de l'antémémoire réagissent à l'horloge d'anté-
mémoire de façon à consacrer une seconde partie du cycle de
fonctionnement de l'antémémoire à une opération parmi plu-
sieurs, comprenant l'application aux moyens d'enregistrement
de signaux de données et aux moyens de comparaison Ce l'an-
témémoire des signaux d'adresse reçus à partir d'un proces-
seur périphérique.
L'horloge mère réagit à un premier état du signal
de condition, représentatif de l'absence des données parti-
culières provenant des moyens d'enregistrement de données de l'antémémoire, en bloquant les impulsions d'horloge du
processeur central et en arrêtant ainsi le processeur cen-
tral. La mémoire physique réagit au premier état du signal de condition, ainsi qu'aux signaux de commande d'accès en
mémoire reçus à partir du processeur central, en accomplis-
sant une opération d'accès en mémoire centrale qui comprend l'application à la mémoire centrale des signaux d'adresse de mémoire reçus à partir du processeur central, pour adresser les données particulières, et l'application des données particulières au processeur central. Les moyens de
génération de signaux de l'antémémoire réagissent à l'achè-
vement de l'opération d'accès en mémoire centrale en géné-
rant le signal de condition avec son second état, et l'horloge mère réagit au second état du signal de condition en validant les impulsions d'horloge du processeur central
et en faisant redémarrer le processeur central.
La mémoire physique comprend en outre des moyens d'écriture dans l'antémémoire. L'antémémoire comporte en outre des moyens d'enregistrement d'information de validité qui sont associés aux moyens d'enregistrement de données et
qui comprennent un ensemble de bits de validité ayant cha-
cun deux états, et qui sont adressables par les signaux
d'adresse de mémoire. Les moyens d'écriture dans l'antémé-
moire réagissent au signal de sortie des moyens de compa-
raison, généré sous l'effet de l'application des signaux d'adresse de mémoire de processeur périphérique aux moyens d'enregistrement de données et aux moyens de comparaison de l'antémémoire, en accomplissant une première opération d'écriture qui comprend l'application des signaux d'adresse de mémoire de processeur périphérique, pour adresser une position dans les moyens d'enregistrement d'information de validité, et le positionnement du bit de validité dans cette
position à un premier état qui est représentatif de la con-
dition d'invalidité. Les moyens d'écriture dans l'antémémoi-
re fonctionnent sous la dépendance de l'horloge d'antémémoi-
re de façon à effectuer la première opération d'écriture
pendant la seconde partie d'un cycle de fonctionnement sui-
vant de l'antémémoire.
Les moyens de génération de signaux de l'antémé-
moire réagissent également à un premier état du bit de vali-
dité en générant le signal de condition avec le premier état.
Les moyens d'écriture dans l'antémémoire réagis-
sent à l'achèvement de l'opération d'accès en mémoire cen-
trale, ainsi qu'aux signaux d'adresse de mémoire et aux signaux de commande d'accès en mémoire reçus à partir du processeur central, en effectuant une seconde opération d'écriture qui comprend l'application des signaux d'adresse
de mémoire pour adresser une position dans les moyens d'en-
registrement de données de l'antémémoire, et l'écriture à cette position des données particulières obtenues, les moyens d'écriture dans l'antémémoire réagissant à l'horloge d'antémémoire de façon à effectuer la seconde opération
d'écriture pendant la seconde partie d'un cycle de fonc-
tionnement de l'antémémoire.
L'invention sera mieux comprise à la lecture de
la description qui va suivre d'un mode de réalisation,
donné.à titre d'exemple non limitatif. La suite de la des-
cription se réfère aux dessins annexés sur lesquels La figure 1 est une représentation schématique simplifiée d'un système informatique qui comporte une machine informatique conforme à l'invention; La figure 2 montre les chemins de données et d'adresse dans la machine informatique; La figure 3 montre certaines caractéristiques du processeur central de la machine informatique Les figures 4 à 9 montrent les formats de diverses données et adresses qui interviennent dans l'invention; La figure 10 montre des caractéristiques de la mémoire de contr8le qui interviennent dans l'invention La figure il montre l'horloge mère;
La figure 12 montre les signaux d'horloge fondamen-
taux du système que génère l'horloge mère de la figure 11 La figure 13 montre une partie de l'antémémoire liée aux fonctions d'adressage; La figure 14 montre une partie de l'antémémoire liée à l'enregistrement des données;
La figure 15 montre certaines parties de l'anté-
mémoire liées à la commande de la mémoire et à d'autres fonctions de commande;
La figure 16 montre certaines parties des cir-
cuits liés à la priorité d'accès en mémoire;
La figure 17 montre des circuits de l'antémémoi-
re qui génèrent un signal de commande pour des opérations de mémoire d'un processeur périphérique La figure 18 montre des circuits de l'antémémoire liés à l'utilisation par l'antémémoire de certains signaux de la mémoire de contrôle; La figure 19 montre la mémoire centrale ou principale La figure 20 montre le circuit logique d'écriture dans l'antémémoire; et Les figures 21, 22 et 23 sont des diagrammes
séquentiels qui montrent certaines parties du fonctionne-
ment de la machine informatique de l'invention.
On va maintenant considérer les dessins, et en particulier la figure 1, qui représente le système complet sous forme simplifiée. La machine informatique 10 comprend un processeur central 12, une mémoire de contrôle 14 et une horloge mère 20. Il existe en outre une mémoire centrale 16 dont l'accès est placé sous la commande d'un contrôleur de mémoire 18. Divers dispositifs périphériques (terminaux,
imprimantes, unités de disques, dérouleurs de bandes, dis-
positifs de télécommunications, etc) sont associés à la
machine informatique 10 et constituent avec elle le système.
Chaque dispositif périphérique contient un pro-
cesseur qu'on appelle un processeur périphérique. Plusieurs
processeurs périphériques sont connectés à un des adapta-
9t teurs de bus 22, qui est lui-même connecté au contrôleur
de mémoire 18. Il peut y avoir plusieurs adaptateurs de bus.
L'adaptateur de bus 22 a pour but de constituer une mémoire tampon entre les lignes de données à 64 bits établies à l'intérieur de la machine informatique et les lignes de
données à 16 bits qui connectent les dispositifs périphérii-
ques à la machine 10. Le contrôleur de mémoire 18 permet au processeur central etauxprocesseurs périphériques d'accéder à la mémoire centrale 16; et il peut également transmettre
des instructions du processeur central 12 vers les proces-
seurs périphériques, d'une manière qui ne fait pas partie
de l'invention.
Le processeur central 12 est connecté à une mémoire locale rapide, ou antémémoire, 24, qui contient un
sous-ensemble variable au cours du temps des données enre-
gistrées dans la mémoire centrale. L'antémémoire 24 est également connectée au contrôleur de mémoire 18. Dans le mode de réalisation préféré, l'antémémoire particulière est à correspondance directe et contient 32K multiplets. Elle emploie une stratégie de mise à jour qui consiste à mettre à jour l'antémémoire chaque fois que le processeur central
écrit dans la mémoire centrale.
L'antémémoire 24, la mémoire centrale 16 et le contrôleur de mémoire 18 constituent ensemble la mémoire
physique de la machine informatique.
Les chemins de données et d'adresse dans tout le
système sont représentés particulièrement sur la figu-
re 2. Le processeur central 12 comporte un bus d'adresse à 24 bits, 26, qui achemine vers l'antémémoire 24 les lignes d'adresse "MA 0-23" ( adresse de mémoire). Le processeur central 12 comporte un bus de données d'entrée à 32 bits, 28, qui achemine les lignes de données désignées par
"MM 0-31" (mémoire centrale), et un bus de données de sor-
tie à 32 bits, 30, qui achemine les lignes de données dési-
gnées par "WD 0-31" (données d'écriture).
L'antémémoire 24 reçoit les lignes d'adresse MA 0-23 sur le bus 26, à partir du processeur central 12, et elle est en outre connectée au bus 32 qui achemine à
partir de l'adaptateur de bus 22 des lignes d'adresse dési-
gnées par "BiA 0-23" (adresse de mémoire d'adaptateur de bus). On utilise cette information d'adresse pour maintenir à jour l'information présente dans l'antémémoire, lorsque l'information ccrrespcndante dans la mémoire centrale est changée par l'un des processeurs périphériques, comme on le
décrira - en détail par la suite.
L'antémémoire 24 est connectée au bus d'adresse de sortie 34, qui achemine vers le contrôleur de mémoire 18 les lignes d'adresse désignées par "CMA 0-23" (adresse d'antémémoire). En outre, l'antémémoire 24 est connectée au bus 36 qui achemine vers la mémoire centrale 16 les lignes d'adresse désignées par "BMAR 3-20" (registre de
mémoire avec tampon).
L'antémémoire 24 comporte un bus de données d'entrée et un bus de données de sortie. Le bus de données d'entrée 38 achemine les lignes de données qui proviennent du contrôleur de mémoire 18 et qui sont désignées par "CAWD 0-63" (données d'écriture dans l'antémémoire). Le contrôleur de mémoire 18 utilise le bus de données 38 pour écrire des données dans l'antémémoire après une absence de données dans l'antémémoire, ou sous l'effet d'une opération d'écriture en mémoire centrale du processeur central, comme on le décrira par la suite de façon plus détaillée. Le bus
38 est également utilisé, d'une manière étrangère à l'in-
vention, pour transmettre des données vers l'adaptateur de bus 22. Le bus de données de sortie 40 achemine les lignes de données provenant de l'antémémoire 24 et désignées par
MM 0-31, pour les appliquer à l'entrée du processeur cen-
tral 12, par le bus 28. Le bus de données 40 applique des données au processeur central 12 après la détermination de présence de données dans l'antémémoire, sous l'effet d'une demande de lecture du processeur central, comme on le
décrira de façon plus détaillée par la suite.
La mémoire centrale 16 reçoit les lignes d'adres-
se BMAR 3-20 à partir de l'antémémoire 24, par le bus 36, comme décrit précédemment, en compagnie de signaux de sélection de module de mémoire qui ne sont pas représentés il sur les figures et qui sont étrangers à l'invention. La mémoire centrale 16 comporte un bus de données d'entrée à
64 bits, 42, connecté au contrôleur de mémoire 18, qui ache-
mine les lignes de données désignées par "MMWD 0-63" (données d'écriture en mémoire centrale). Toutes les données écrites dans la mémoire centrale 16 sont appliquées en entrée par le bus 42. La mémoire centrale 16 comporte un bus de données de sortie à 64 bits, 44, qui est connecté au contrôleur de mémoire 18 et qui achemine les lignes de données désignées par "MMRD 0-63" (données de lecture en mémoire centrale). Toutes les données lues dans la mémoire
centrale 16 sont présentées en sortie sur le bus 44.
L'adaptateur de bus 22 émet des bits d'adresse vers l'antémémoire 24 par le bus 32, décrit précédemment, sous l'effet de demandes d'accès en mémoire de processeurs
périphériques, d'une manière étrangère à l'invention.
L'adaptateur de bus 22 comporte un bus de données de sortie à 64 bits, 46, qui est connecté au contrôleur de mémoire 18 et qui achemine les lignes de données désignées par "BARD 0-63" (données de lecture d'adaptateur de bus), et un bus de données d'entrée à 64 bits, 48, qui est connecté par une mémoire tampon 50 au bus 38 et qui achemine les lignes de données désignées par "BAWD 0-63" (données d'écriture d'adaptateur de bus). On notera que l'expression "données de lecture d'adaptateur de bus" se rapporte aux données lues dans le processeur périphérique et acheminées vers la mémoire centrale 16, tandis que l'expression "données d'écriture d'adaptateur de bus" se rapporte aux données
lues dans la mémoire centrale 16 et écrites dans un proces-
seur périphérique.
De plus, l'adaptateur de bus 22 émet certains signaux de commande vers l'antémémoire 24. Il s'agit des signaux MRBA (signal de demande d'accès en mémoire pour l'adaptateur de bus), et BAC 0-2 (signaux de commande d'adaptateur de bus). Les signaux BAC 0-2 sont enregistrés dans un verrouillage, pratiquement, un réseau de bascules qui
fait partie de l'antémémoire, pour la commodité d'utilisation.
Sous leurs formes enregistrées dans le réseau de bascules, ilà
sont désignés par BBAC 0-2.
Comme il a été décrit, le contrôleur de mémoire 18 reçoit des données par le bus 44, à partir de la mémoire centrale 16, par le bus 46 à partir de l'adaptateur de bus 22, ou par le bus 30 à partir du processeur central 12. Le contrôleur de mémoire 18 reçoit des données d'adresse par le
bus 34 à partir de l'antémémoire 24. Le contrôleur de mémoi-
re 18 émet des données par le bus 38 vers l'antémémoire 24 et vers le réseau de bascules de données 50, en vue de leur émission vers l'adaptateur de bus 22. Le contrôleur de mémoire 18 émet en outre des données vers le processeur central 12 (par le réseau de bascules 54) sur le bus 52 qui achemine les lignes de données désignées par "DIRD 0-31"
(données de lecture ou de diagnostic). Comme on l'explique-
ra plus complètement par la suite, à l'occasion d'une lec-
ture en mémoire centrale faisant suite à une absence de données dans l'antémémoire, un signal d'indication d'absence, MISS EXT, produit sous l'effet d'une condition d'absence de données dans l'antémémoire, d'une manière qu'on décrira ultérieurement, permet aux données provenant du bus 52 de traverser le réseau de bascules 54 vers le bus
28, et donc vers le processeur central.
On voit sur la figure 3 les deux seuls éléments appartenant au processeur central 12 qui interviennent dans l'invention. Ce sont le registre de données de mémoire 56, qui reçoit des données par les lignes acheminées par le bus 28 (MM 0-31), et le registre d'adresse de mémoire 58, dans lequel est chargé (d'une manière étrangère à l'invention) l'adresse destinée à être émise vers l'antémémoire par le
bus 26 (MA 0-23).
Si le processeur central n'est pas arrêté (c'est-
à-dire en présence de l'état haut du signal STCP dont on décrira ultérieurement l'élaboration), les signaux d'adresse
provenant du registre d'adresse de mémoire 58 sont transfé-
rés vers l'antémémoire 24 à l'instant LO; les signaux d'hor-
loge comprenant le signal LO seront décrits en relation
avec la figure 12.
On va maintenant considérer les figures 4 à 9 qui
montrent divers formats de données et d'adresses qui inter-
viennent dans le fonctionnement de la machine informatique.
La figure 4 représente un multiplet de données qui est défini comme étant formé par 8 bits, et qu'on appellera un octet. La figure 5 représente un mot de données qui est défini comme étant formé par quatre octets,soit trente-deux bits. La figure 6 représente un double mot défini comme étant formé par un mot pair et un mot impair, de trente-deux bits chacun. Les données sont enregistrées dans la mémoire
centrale en éléments consistant en un double mot.
On va maintenant considérer la figure 7 qui mon-
tre l'adresse physique à 24 bits telle que la voit la mémoire centrale. L'adresse comprend un numéro de cadre de
page à 12 bits (extensible dans un rapport deux si la mémoi-
re est agrandie), et un décalage à 11 bits qui localise
l'octet à l'intérieur de la page.
La figure 8 montre la même adresse physique à
24 bits telle qu'elle est interprétée par l'antémémoire.
L'adresse comprend une étiquette à 9 bits et un index à 12 bits. Les deuxbits de rang inférieur sont ignorés du fait qu'ils sont utilisés pour sélectionner un octet à
l'intérieur d'un mot, alors que l'antémémoire transmet tou-
jours un mot vers le processeur central qui doit ensuite
sélectionner l'octet particulier qui est désiré. Le troi-
sième bit à partir de la droite sélectionne le mot pair ou impair d'une paire consistant en un double mot. La figure 9 montre le format des données qui sont enregistrées dans
l'antémémoire. Les mots pair et impair d'une paire consis-
tant en un double mot sont enregistrés en compagnie de l'étiquette à 9 bits pour chacun d'eux. L'ensemble de cet élément à 72 bits est adressé par l'index à 12 bits de
l'adresse physique.
L'utilisation d'un index et d'une étiquette pour adresser une antémémoire à correspondance directe est bien
connue dans le domaine de la conception des machines infor-
matiques. Les aspects généraux de la gestion des antémémoi-
res sont décrits, par exemple, dans l'ouvrage intitulé Computer Engineering, par Bell, Mudge et McNamara (Digital
Press, 1978).
On va maintenant considérer la figure 10 qui montre
que la mémoire de contrôle 14 contient des signaux de comman-
de auxquels on accède par groupes de quarante-huit signaux qui sont présentés en sortie sur quarante-huit lignes parallèles. Le signal présent sur chaque ligne peut être à l'état haut (1) ou bas (O) et il est appliqué directement aux circuits constituant le matériel du processeur central
* 12 pour commander le fonctionnement de celui-ci.
Parmi les quarante-huit signaux présents sur les lignes, qui constituent une micro-instruction, certains seulement interviennent dans l'invention. Ce sont les signaux 0-6 (appelés"micro-code d'opération"), qui sont décodés en groupe pour fournir un signal parmi un certain nombre de signaux qui indiquent l'opération à accomplir
(comme par exemple addition, transfert, comparaison, déca-
lage) et les signaux 22 à 29, qui sont décodés en groupe pour fournir un signal parmi un certain nombre de signaux indiquant une opération de mémoire (lecture ou écriture,
avec des détails concernant la sélection du registre d'adres-
se de mémoire, la sélection du registre de données de mémoi-
re et d'autres sujets étrangers à l'invention). Ces signaux sont désignés sur la figure 2 par "signaux de commande de mémoire". Des signaux particuliers parmi les signaux de
commande auxquels accède le processeur central sont appli-
qués directement par le processeur central à l'antémémoire et au contrôleur de mémoire, comme on l'envisagera de façon plus détaillée par la suite. L'accès et le décodage de tels
groupes de signaux de commande (micro-instructions) pen-
dant le fonctionnement d'une machine informatique sont bien
connus et ne seront pas décrits ici.
On va maintenant considérer la figure 11 qui représente les parties de l'horloge mère du système, 20, qui interviennent dans l'invention. L'horloge mère pour la machine informatique est attaquée par un oscillateur à quartz à 50 MHz dont le signal de sortie est appliqué à l'entrée de circuits de génération de signaux d'horloge 60
qui, d'une manière bien connue, génèrent des signaux d'hor-
loge appropriés pour le système. Le signal d'horloge de base (CLCK) a une période de 40 ns et une largeur d'impulsion de ns. Les signaux TA, TO, TI, T2; LA, LO, Ll, L2; CLCK et CLCK sont représentés dans lé diagramme séquentiel de la figure 12. Ces impulsions sont appliquées au processeur
central 12.
Les signaux LA, LO, L1, L2 existent en permanence,
tandis que les signaux TA, TO, Tl, T2 dépendent de condi-
tions de fonctionnement dans le processeur central et ailleurs. Des impulsions L et T supplémentaires peuvent être générées, dans des conditions qu'on décrira, mais elles ne sont pas représentées sur la figure 11 et n'entrent
pas dans le cadre de l'invention.
Deux signaux de transmission sélective, GT1 et
GT2, sont générés d'une manière qu'on décrira plus parti-
culièrement par la suite. Le signal GT1 transmet sélective-
ment (c'est-à-dire qu'il valide ou invalide) les signaux d'horloge du processeur central TA et TO; le signal GT2 transmet sélectivement les signaux d'horloge Tl et T2. On considère par définition que le cycle du processeur central
commence avec une impulsion TA. Le fonctionnement du pro-
cesseur central peut ainsi être arrêté après TO ou après T2. Le signal GT2 est normalement asservi au signal GT1, mais à l'apparition d'un signal d'absence de données MIS, d'une manière qu'on décrira par la suite, le signal GT2 est
invalidé, ce qui fait que les impulsions Tl et T2 n'appa-
raissent pas, bien que les impulsions TA et TO soient apparues.
La longueur du cycle de micro-instruction du pro-
cesseur central varie en fonction de la nature de la micro-
instruction. Le cycle du processeur central (de n'importe quelle longueur) commence par définition à TA. La plupart des micro-instructions, parmi lesquelles celles qui font intervenir des opérations de mémoire et qui entrent dans le
cadre de l'invention, nécessitent 160 ns pour l'exécution.
Pour ces micro-instructions, le cycle est formé par les impulsions TA, TO, Tl et T2, comme on le voit sur la figure 12. D'autres instructions peuvent nécessiter plus de 160 ns
pour l'exécution. Pour de telles instructions, des impul-
sions T supplémentaires doivent être générées (T5 à T8, non représentées). Pour déterminer le nombre d'impulsions T à
générer, les signaux de commande 0-6 (le "micro-code d'opéra-
tion") de la micro-instruction courante qui commande le
processeur central 12 sont appliqués par le processeur cen-
tral 12 à un décodeur/compteur 62, en compagnie du signal
CLCK qui provient des circuits 60. Le compteur est position-
né conformément à la nature de l'opération, déterminée par le décodeur, et à l'instant approprié le signal "COB" (fin
de cycle) est généré pour marquer la fin du cycle d'ins-
truction. Ce signal restaure les circuits 60 et fait
commencer le cycle suivant avec une impulsion TA.
Le signal CLCK est appliqué directement à l'anté-
mémoire 24 et au contrôleur de mémoire 18, dans lequel il existe des circuits d'horloge similaires destinés à générer des impulsions L et T synchrones. Cependant, à moins que les signaux de transmission sélective GT1 et GT2 soient
spécifiquement représentés, les impulsions T dans l'anté-
mémoire et le contrôleur de mémoire ne s'arrêtent pas
lorsque le processeur central s'arrête.
Le cycle de l'antémémoire a la même longueur que le cycle de lecture ou d'écriture du processeur central, c'est-à-dire 160 ns. Cependant, il commence par définition avec l'impulsion Ll et il comprend les impulsions Ll, L2, LA, LO, ce qui signifie, comme le montre la figure 12, que le cycle de l'antémémoire est décalé de 60 ns par rapport au cycle du processeur central. Le cycle du contrôleur de mémoire est décalé de 40ns parrapport au cycle du processeur
central et il comprend les impulsions TO, Tl, T2, TA.
De plus, certaines impulsions d'horloge provenant
du processeur central sont appliquées directement à l'anté-
mémoire 24 pour produire des événements synchronisés avec des événements particuliers du processeur central. De tels événements de l'antémémoire ne peuvent pas avoir lieu
lorsque le processeur central est arrêté, bien que l'anté-
mémoire ne soit pas arrêtée.
En considérant les figures 13, 14, 15, 17, 18 et , on voit que l'antémémoire 24 comprend de façon générale une partie d'adressage (figure 13), une partie de circuits d'enregistrement de données et de comparaison d'étiquettes (figure 14), et divers circuits de décodage de signaux de commande (figures 15, 17, 18 et 20). Les circuits de la figure 16, et certaines parties des circuits de la figure , sont situés physiquement dans l'antémémoire mais font théoriquement partie du contrôleur de mémoire, du fait que
leurs fonctions concernent la gestion de la mémoire centra-
le. En considérant tout d'abord la figure 18, on note que l'adresse du processeur central (non représentée sur cette figure) atteint l'antémémoire 24 en compagnie des signaux de commande CM 22-29 du groupe de 48 signaux qui
commande les opérations courantes du processeur central.
Comme décrit précédemment, les signaux de commande 22-29
sont des signaux de commande d'accès en mémoire qui comman-
dent la nature de l'opération de mémoire à effectuer à l'adresse spécifiée par le processeur central. Pour la commodité d'utilisation dans l'antémémoire 24, certains de ces signaux sont retardés en étant enregistrés dans un réseau de bascules ou une mémoire tampon, et les signaux retardés sont désignés par "CCM", "'BCM", "LCM" ou "MCM",
conformément à leurs retards, comme le montre la figure.
En considérant maintenant la figure 16, on voit que le contrôleur de mémoire 18 comporte un circuit de
détermination de priorité d'accès en mémoire centrale, 140.
Ce circuit est conçu de façon à donner la priorité d'accès en mémoire centrale à toute demande d'adaptateur de bus
(pour le compte d'un processeur périphérique). C'est seule-
ment lorsque aucune demande de mémoire émise par un adapta-
teur de bus n'est en attente que le processeur central 12 accède à la mémoire centrale, pour effectuer une écriture
ou une lecture après une absence de données dans l'antémé-
moire. Le signal d'entrée LC (dernier cycle) provient de-
circuits d'horloge du contrôleur de mémoire de la figure , qu'on décrira ultérieurement, et il est généré à la fin d'une opération d'accès en mémoire. A l'achèvement de toute opl)ratUion de mémoire eourante, si aucure deimande de m6mnoire émise par un adaptateur de bus n'est en attenrto, le signal BA pasr.e à l'état bas par défaut, et l'adresse en attente qui est émise par le processeur central est transmrnise vers la mémoi.re centrale 16. Ainsi, aptès une absence de dlcnnées dan:; 1'antémémoire, il peut y avoir un retard d(e quelqiues cycles avant qlue] la mémoire centrale soit rdisponible pour
le processeur central. Pendant ce temps, le processeur cen-
tral demeure arrêté, comme on le décrira.
C'.ette affectation de prilori té pour l'a,-eo:s er"
memoire central e entre le processeur central et 1' adapta-
teur d(e bus, cordi L i rmh6e par la présence ou l ' absence de demandes de mémoire é.mises par] 'adaptateur de bus, doit
être clairement di.:tinguée ie la divi,.oin du cycle de l'an-
témémoire entre les lectures en mémoire par je processeur central et d'autres opérations, qu'on décrira de façon plus détaillée par la suite. Le circuit relatif à la division du
cycle de]'antémémoire fonctiornre en permanence et il tra-
vaille de la manière décrite,indépendam.ment de la présence
ou de l'absence d'une demande en attente quelcne prove-
nant du process.eur central ou d'un adaptateur de bus.
En considérant la figure 17, on voit qu'un signal "BA ENBLE" (va]lidation d'adaptateur de bus) eSat généré par une bascule ar)ppartenant à un circuit de àalidatior 142, à l'instant TA, sous l'effet de n'importce qele lemande de mémoire émrise par un adaptateur de bus (MàBA), à condition que le circuit de commande de mémoire Soit prat (P/B). Le signal BA EMBLE est appliqué aux circuitJS re la figure 13 de façon à intrcdfluire l'adresse de l'opratiorn, de mémoire
de I 'adaptateur de bus, en vue d'une proceédure d'invaljda-
tli(,n ou de contr6le d'antémémoire, qiu'on -Jécrira ultérieu-
rement. Les sigraux d'horloge pour la mémoire centrale 16 ornt génrérés dans une large mesure par lea circuits. de la 3l figure 15, dont la majeure partie appartient, au point de -ue forctionnel, au contrleur de mémoire 18. LeQ procédés
pour définir l: caractéristiques temporelles du fonctlinne-
ment d'une memoire centrale et pour faire: fonctionner ure telle mémoire, pour une machine informatique du type décrit
ici, sont de façon générale bien connus et ne font pas par-
tie de l'invention. De ce fait, on ne décrira pas en détail
la génération de ces signaux d'horloge. On indiquera seule-
ment les parties qui interviennent dans le fonctionnement
de l'invention.
En considérant maintenant la figure 15, on voit
que les signaux de commande CCM 22-29 (provenant de la figu-
re 18) sont décodés dans des circuits de décodage 138 pour déterminer si l'opération de mémoire du processeur central est une écriture ou une lecture. Si l'opération est une lecture, le décodage des signaux de commande conduit à la
génération d'un signal de lecture REA, indiquant que l'opé-
ration de mémoire du processeur central est une lecture, qui doit être traitée dans l'antémémoire. Ce signal est
nécessaire dans l'antémémoire 24 pour permettre la généra-
tion d'un signal d'absence de données dans l'antémémoire,
comme on l'expliquera.
Si l'opération de mémoire du processeur central est une écriture (dans la mémoire centrale), le décodage des signaux de commande CCM 22-29 fait apparaître les signaux d'écriture WRTE 8 (c'est-à-dire écriture de 8 bits) , WRTE 32 et WRTE 64, qui spécifient les opérations d'écriture d'un octet, d'un mot ou d'un double mot. Contrairement aux processeurs'périphériques, le processeur central n'écrit pas un demi-mot; le signal WRTE 16 n'est donc pas généré par les signaux de commande du processeur central. Les signaux BAC 0-2 (signaux de commande d'accès en mémoire) provenant de l'adaptateur de bus 22 sont décodés de façon similaire au cours du fonctionnement du décodeur 139 pour
générer des signaux de lecture ou d'écriture qui sont appli-
qués aux circuits 138. Les signaux d'écriture de l'adapta-
teur de bus peuvent être WRTE 8, WRTE 16, WRTE 32 et WRTE
64. Le signal MRBA (demande de mémoire émise par un adapta-
teur de bus) est également appliqué à partir de l'adapta-
teur de bus 22.
Le signal d'entrée CP/BA (provenant de la figure 16) représente l'affectation de priorité pour l'accès en
mémoire centrale. CP est à l'état haut lorsque le proces-
seur central a la priorité; BA est à l'état haut lorsqu'un processeur périphérique a la priorité. Le signal CLR MISS est généré dans l'antémémoire 24 d'une manière qu'on décrira, lorsque l'absence de données dans l'antémémoire a été trai-
tée par une opération faisant intervenir la mémoire cen-
trale et lorsque les données demandées ont été placées dans le registre de données de mémoire du processeur central, 56 (figure 3). Comme on le voit sur la figure, le signal "MOP" (opération de mémoire) représente soit une opération de mémoire pour un adaptateur de bus (BBAC1, BBAC2 et priorité à un adapteur de bus (PA)), soit une opération de mémoire pour le processeur central (MCM 24 et 25, et priorité au
processeur central (CP)).
Les circuits 138 génèrent des signaux appropriés de commande de mémoire et d'horloge, à partir des signaux d'entrée décrits. On a décrit la génération des signaux de commande "WRTE 8", I"WRTE 16", "WRTE 32", et "WRTE 64"; et le signal "REA 64 B" spécifie l'opération de lecture d'un double mot. Le signal R/W (signal de lecture/écriture; R est à l'état haut pour la lecture, W est à l'état haut pour
l'écriture) et l'impulsion d'écriture sont des signaux d'en-
trée classiques dirigés vers la mémoire centrale 16. Les signaux d'horloge de mémoire comprennent les signaux CAS (validation d'adresse de colonne), CEN (validation de colonne) et RAS (validation d'adresse de ligne) qui sont tous classiques et sont appliqués à la mémoire centrale 16
pour l'adresser d'une manière connue.
Les signaux CI, C2 et C3 sont destinés à être utilisés de façon interne dans l'antémémoire et à suivre le déroulement des trois cycles d'instruction (de 160 ns
chacun) qui sont nécessaires pour une opération de la mémoi-
re centrale. On expliquera leur utilisation par la suite. Le signal LC (dernier cycle) a une durée de 160 ns et il est
généralement synchronisé avec le dernier cycle de l'opéra-
tion de mémoire. Le signal LC est appliqué de façon à res-
taurer une bascule 141, qui retarde le signal de priorité CP (provenant de la figure 16), pour donner un signal CP
mémorisé (LCP) dont on expliquera ultérieurement l'utilisa-
tion. On utilise une bascule 137 pour retarder le signal
d'absence de données dans l'antémémoire pendant une opéra-
tion de lecture du processeur central, ce qui donne un signal de sortie "MISS EXT", dont on décrira ultérieurement l'utilisation. Le signal d'absence de données dans l'antémémoire
inversé est normalement à l'état haut et il maintient nor-
malement à l'état haut le signal STCP (arrêt du processeur central), qui est émis par une bascule 135. Le signal STCP
est appliqué à l'horloge mère (figure 11) et il est égale-
ment appliqué au registre d'adresse de mémoire du proces-
seur central, 58 (figure 3). Aussi longtemps que le signal STCP demeure à l'état haut, le processeur central n'est pas
arrêté; les impulsions d'horloge TA, TO, Tl, T2 sont géné-
rées; et les adresses de mémoire du processeur central sont transmises sélectivement à partir de la sortie du
registre d'adresse de mémoire 58. Lorsqu'un signal d'absen-
ce de données dans l'antémémoire est généré, d'une manière qu'on décrira en relation avec la figure 14, la version
inversée (MISS) du signal d'absence de données dans l'anté-
mémoire passe à l'état bas, et à l'impulsion d'horloge Ll suivante (L0 est à l'état bas), le signal de sortie STCP passe à l'état bas. Ce signal arrête la génération des
impulsions T pour le processeur central et il empêche éga-
lement que l'adresse de mémoire suivante soit émise vers l'antémémoire, à partir du réseau de bascules dans lequel
elle est enregistrée.
On va maintenant considérer la figure 13 qui représente la partie de l'antémémoire 24 qui concerne plus
particulièrement l'adressage de l'antémémoire et l'adressa-
ge de la mémoire centrale. Ces circuits divisent le cycle de l'antémémoire et affectent des sous-cycles alternés de l'antémémoire à des fonctions particulières. Le premier sous-cycle de l'antémémoire est consacré au traitement d'une adresse de lecture du processeur central, le second sous-cycle de l'antémémoire est consacré soit au traitement
d'une adresse de lecture d'un adaptateur de bus, pour effec-
tuer un contrôle de l'antémémoire, soit à l'écriture dans l'antémémoire. L'écriture dans l'antémémoire peut impliquer
soit l'écriture du bit d'état invalide d'une rubrique par-
ticulière de l'antémémoire, après qu'un contrôle de l'anté-
mémoire (accompli au cours d'un cycle précédent) a déterminé qu'il existe une condition de correspondance d'étiquettes,
soit l'écriture dans la mémoire de donnéesde!'antmnmoioe et l'ei-
ture de l'étiquette, pour mettre à jour l'antémémoire après qu'une absence de données dans l'antémémoire a été traitée à partir de la mémoire centrale 16, ou après une écriture
en mémoire centrale par le processeur central.
Les circuits de la figure 13 reçoivent des adres-
ses à partir de deux sources. Une adresse (MA 0-23) est reçue à partir du processeur central 12 pour une opération de mémoire (lecture ou écriture), et l'autre adresse (BMA 0-23) est reçue à partir de l'adaptateur de bus 22 pour une opération d'invalidation ou de contrôle de l'antémémoire (à la suite d'une opération d'écriture en mémoire centrale par un adaptateur de bus). Les circuits de la figure 13 déterminent quelle adresse doit aller vers les circuits de
comparaison de la figure 14 pour être comparée, et égale-
ment quelle adresse doit aller vers la mémoire centrale 16
pour l'opération de mémoire. Ces circuits comprennent géné-
ralement des multiplexeurs 102 et 104 destinés à sélection-
ner l'index et l'étiquette à appliquer à la mémoire de données de l'antémémoire et au comparateur de la figure 14; des réseaux de bascules 110 et 108 destinés à conserver l'adresse d'entrée du processeur central pour l'appliquer à la mémoire centrale 16 en cas d'une absence de données dans l'antémémoire; et un multiplexeur 112 destiné à sélectionner l'adresse à émettre vers la mémoire centrale
16 pour une opération de mémoire.
On notera que les circuits de la figure 13 fonc-
tionnent sans se préoccuper si l'opéra-
tion de mémoire du processeur central est une lecture ou ure écriture. Le signal de lecture REA provenant de la figure est appliqué aux circuits de la figure 14, dans lesquels le signal d'absence de données dans l'antémémoire ne sera généré que pour une opération de lecture. Pour une opération d'écriture du processeur central, toutes les opérations jusqu'à la génération du signal d'absence de données dans l'antémémoire sont accomplies, mais aucun signal d'absence de données n'est généré. Du fait que, conformément à l'in- vention, ce sous-cycle est consacré au traitement d'une adresse d'opération de mémoire du processeur central, aucune
autre opération n'aurait pu être effectuée pendant ce sous-
cycle et, par conséquent, ces opérations "gaspillées" ne
font pas perdre de temps.
En considérant toujours la figure 13, on voit que le bus 26 achemine les lignes d'adresse MA 0-23 à partir du
registre d'adresse de mémoire 58 du processeur central 12(fi-
gure 3),dont l'information est enregistrée dans un verrouillage
(réseau de bascules) à l'instant LO, à condition que le pro-
cesseur central ne soit pas arrêté (signal STCP à l'état haut). Le bus 32 achemine des lignes d'adresse BMA 0-23 à partir de l'adaptateur de bus 22. L'adresse provenant de l'adaptateur de bus 22 est enregistrée dans le réseau de bascules 100, qui est validé (à l'instant TA) par le signal de validation d'adaptateur de bus BA ENBLE, provenant de la
figure 17.
P-armi les lignes du bus entrant 26 qui correspond à l'adresse du processeur central, les lignes 9-20 (qui acheminent les signaux qui constituent l'index, voir la figure 8) sont appliquées au multiplexeur de sélection
d'index 102, tandis que les lignes 0-8 (c'est-à-dire l'éti-
quette, voir la figure 8) sont appliquées au multiplexeur
de sélection d'étiquette 104. Le bus entrant 32 qui corres-
pond à l'adresse d'adaptateur de bus entre en passant par une mémoire tampon 106, validée par un signal d'écriture d'adaptateur de bus (BBAC 1) qui provient de l'adaptateur de bus 22, et ce bus est divisé de façon similaire: les lignes 0-8 (l'étiquette) sont appliquées au multiplexeur de sélection d'étiquette 104, tandis que les lignes 9-20
sont appliquées au multiplexeur de sélection d'index 102.
Les signaux d'entrée appliqués au multiplexeur 102 sont sélectionnés par le signal d'horloge T12, tandis
que les signaux appliqués au multiplexeur 104 sont sélec-
tionnés par le signal d'horloge T12. Ainsi, les multiple-
xeurs 102 et 104 sont connectés au même instant mais dans
des sens opposés; l'index du processeur central est trans-
mis par le multiplexeur 102 lorsque l'étiquette de l'adap- tateur de bus est transmise par le multiplexeur 104. En considérant le diagramme séquentiel de la figure 12, on
voit que T12 est à l'état haut pendant Tl et T2; par con-
séquent T12 est une impulsion de 80 ns de largeur.
Les multiplexeurs 102 et 104 sont ainsi commutés deux fois au cours de chaque cycle (160 ns>. Pendant la première moitié du cycle, les signaux d'entrée A (index du
processeur central) dirigés vers le multiplexeur de sélec-
tion d'index 102 sont transmis vers le réseau de bascules d'adresse d'antémémoire, 114; pendant la seconde moitié
du cycle, ce sont les signaux d'entrée B qui sont transmis.
Les signaux d'entrée B peuvent être soit l'adresse d'adap-
tateur de bus provenant de la mémoire tampon 106, pour un contr8le de l'antémémoire (dans le cas de la priorité à
l'adaptateur de bus, pendant une écriture en mémoire cen-
trale par un processeur périphérique); la même adresse d'adaptateur de bus (conservée dans la mémoire tampon 106)
pour l'écriture d'un bit d'état invalide (après qu'un con-
tr8le précédent de l'antémémoire ait donné une condition
de correspondance d'étiquettes); ou une adresse du proces-
seur central appliquée précédemment (à partir du réseau de bascules 108). L'adresse du processeur central appliquée précédemment est soit une adresse pour une opération de lecture en mémoire qui a fait apparaître une absence de
données dans l'antémémoire, soit une adresse pour une opé-
ration d'écriture en mémoire par le processeur central dans un cas comme dans l'autre, l'adresse va maintenant
être utilisée en tant qu'adresse pour une opération d'écri-
ture de mise à jour de l'antémémoire.
Pendant la première moitié du cycle, les signaux
d'entrée B appliqués au multiplexeur de sélection d'éti-
quette 104 sont transmis au réseau de bascules de sélection
d'étiquette 116, pour être appliqués à l'entrée du compara-
teur d'étiquettes (figure 14); pendant la seconde moitié du cycle, les signaux d'entrée A appliqués au multiplexeur 104 sont transmis au réseau de bascules 116. Le but de cette
configuration temporelle sera expliqué par la suite.
*Le réseau de bascules d'adresse d'antémémoire 114 est chargé par le signal "d'horloge d'adresse" ADDR CLK (LI, LA); et le réseau de bascules de sélection d'étiquette
116 est chargé par le signal "d'horloge de chargement d'éti-
quette" IN TG CLCK(L1, LA).
Pour chaque opération de la mémoire centrale (y compris une mise à jour de l'antémémoire après une condition d'absence de données), il faut sélectionner une adresse qui
doit être appliquée à la mémoire centrale 16 pour l'opéra-
tion de mémoire. Pour chaque opération du processeur cen-
tral, qu'il s'agisse d'une opération de mémoire ou de tout autre genre d'opération, l'adresse du processeur central
(MA 0-23) est transmise sélectivement par le réseau de bas-
cules 110, sous l'action du signal d'horloge T2 (à condition que le processeur central 12 ne soit pas arrêté; signal GT2 à l'état haut), et elle est appliquée au multiplexeur
d'adresse de la mémoire centrale, 112, et au réseau de bas-
cules 108. Si l'opération n'est pas une opération de mémoi-
re, ou si c'est une lecture en mémoire alors qu'il y a une condition de présence de données dans l'antémémoire, le
contenu du réseau de bascules 108 n'est jamais utilisé.
S'il y a une condition d'absence de données dans l'antémé-
moire, les signaux CP (cycle d'accès en mémoire du proces-
seur central, provenant de la figure 16), Tl et Cl (prove-
nant de la figure 15; cycle 1,c'est-à-dire le premier cycle de l'opération de mémoire pour traiter la condition d'absen-
ce de données) transmettent l'adresse vers le multiplexeur
102, par le réseau de bascules 108, pour indexer la posi-
tion considérée dans la mémoire de données 124 de l'antémé-
moire, pour l'écriture de mise à jour après l'achèvement du cycle de mémoire. La partie d'étiquette de l'adresse est émise sous la forme TWO-8 pour écriture dans l'antémémoire,
comme on le décrira ultérieurement.
Du fait que sous l'effet d'une condition d'absence de données dans l'antémémoire, le processeur central est arrêté après l'intervalle d'horloge TO de son cycle, il peut déjà (pendant les intervalles TA, TO) avoir émis une
autre adresse vers l'antémémoire pour une lecture en mémoi-
re, avant d'être arrêté par le signal d'absence de données dans l'antémémoire (comme on le décrira). Cette adresse ne sera pas perdue, du fait qu'elle sera conservée dans le réseau de bascules 110, dont le contenu ne sera pas transmis avant le signal d'horloge T2 suivant, après que le signal d'absence de données dans l'antémémoire a été effacé. Par conséquent, pendant une opération de la mémoire centrale destinée à traiter une absence de données dans l'antémémoire,
le réseau de bascules 110 conserve l'adresse pour l'opéra-
tion de mémoire suivante, tandis que le réseau de bascules 108 conserve l'adresse qui a fait apparaître la condition d'absence de données et qui vient juste d'être dirigée vers la mémoire centrale pour l'opération courante. Lorsque l'opération de mémoire a été achevée et que les données doivent être écrites dans l'antémémoire, l'index pour l'écriture dans l'antémémoire est fourni par le réseau de bascules d'adresse d'antémémoire 108. L'étiquette est émise sous la forme du signal TWO-8 (écriture d'étiquette) qui est destiné à être écrit simultanément dans la mémoire
d'étiquette 120 de l'antémémoire.
Les signaux d'entrée alternés appliqués au multi-
plexeur d'adresse de la mémoire centrale 112 sont sélection-
nés par le signal BA (à l'état haut ou bas), provenant des circuits de priorité de la figure 16. Les signaux d'adresse sélectionnés (BMAR 3-20, avec des signaux de sélection de module qui sont étrangers à l'invention) sont émis de façon à adresser la mémoire centrale 16 (figure 19) et vers le
contrôleur de mémoire 18 (CMA 0-23). Le contrôleur de mémoi-
re emploie les signaux d'adresse pour conserver un enregis-
trement chronologique des transactions sur les bus et pour
d'autres buts, qui sont tous étrangers à l'invention.
* On va maintenant considérer la figure 14 qui représente la partie d'enregistrement de l'antémémoire. On a simplifié ce schéma en ne montrant pas la division réelle
de l'antémémoire en parties paire et impaire, qui est étran-
gère au fonctionnement relatif à l'invention. En fait, une
moitié seulement de la partie d'enregistrement est représen-
tée. Pour se représenter la configuration partie paire/par-
tie impaire de l'antémémoire, on peut considérer que la par- tie de la figure 14 allant jusqu'à la bascule 130 représente soit la partie paire, soit la partie impaire de l'antémémoire; et la partie restante est alors représentée par une autre structure similaire, qui n'est pas montrée, dont le signal de sortie est également appliqué à la bascule à un bit 130,
pour donner un seul signal d'absence de données dans l'anté-
mémoire. La mémoire de données 124 est une mémoire vive qui enregistre les rubriques de l'antémémoire, tandis que la mémoire d'étiquette 120 enregistre les étiquettes à 9 bits associées, et la mémoire de bit d'invalidité 122 enregistre les bits d'invalidité associés. Les éléments 124, 122 et 120 sont tous adressés par l'index à 12 bits provenant du réseau
de bascules d'adresse d'antémémoire 114 (figure 13), intro-
duit par le signal d'horloge d'adresse "ADDR CLK" (Ll, LA)
(figure 13). La partie d'étiquette de la rubrique d'antémé-
moire est lue et appliquée au réseau de bascules d'étiquette
134. Simultanément, la partie de mot de la rubrique d'anté-
mémoire est lue et appliquée au réseau de bascules de
données 126.
Le réseau de bascules d'étiquette 134 est commandé
par le signal de validation de réseau de bascules d'étiquet-
te "TG LTCH ENBLE" (signaux d'horloge LO + L2, le front arrière de l'impulsion étant actif) de façon à émettre
l'étiquette enregistrée vers le comparateur d'étiquette 132.
La partie d'étiquette d'adresse sélectionnée par le multi-
plexeur 104, représentée par CWA 0-8, est appliquée au compa-
rateur d'étiquettes 132 à partir du réseau de bascules 116 (figure 13), par le signal d'horloge d'étiquette "IN TG CLCK" (L1, LA) pour la comparaison. Le signal de sortie "absence/présence" du comparateur est à l'état bas si les
étiquettes sont égales, ou à l'état haut si elles sont dif-
férentes. Ce signal de sortie est appliqué à une bascule à 1 bit 130 qui est échantillonnéepar le signal d'horloge d'absence de données "MIS CLCK" (LA) pour une opération de lecture en mémoire du processeur central, seulement, sous la
commande du signal de lecture "REA" qui provient de la figu-
re 15. Dans le cas d'une opération d'écriture en mémoire par
le processeur central, ou d'un sous-cycle d'adresse d'adapta-
teur de bus, aucun signal MISS ou MISS n'est généré. Le bit d'absence/présence MISS/HI provenant du comparateur 132 est
combiné par une porte OU avec le bit d'invalidité enregis-
tré qui provient de la mémoire 122, avant d'être appliqué à
la bascule 130. Ainsi, pour une lecture du processeur cen-
tral, une condition d'absence de correspondance d'étiquettes ou un bit d'invalidité entraine une condition d'absence de données dans l'antémémoire, ce qui est représenté par le
signal MISS (signal de condition).
Le signal d'absence/présence MISS/HI est appliqué
à la bascule 137 de la figure 15, comme décrit précédem-
ment, qui génère un signal d'absence prolongé "MISS EXT"
(pendant une opération de lecture seulement).
Les données provenant de la mémoire de données 124 sont émises par le réseau de bascules de données 126 sous l'effet du signal de validation de réseau de bascules de données "DTA LTCH ENBLE" (Ll, L2) et sont dirigées vers la mémoire tampon 128. Si les étiquettes sont égales et si le bit provenant de la mémoire 122 indique que la rubrique est valide, les données provenant de la mémoire tampon 128 passent directement sur le bus 40 vers le registre de données de mémoire 56 du processeur central 12 (figure 13); et le signal MISS EXT provenant de la bascule 137 valide le réseau de bascules 54 (figure 2) et invalide la mémoire
tampon 128.
Le bit d'absence/présence MISS/HI provenant du comparateur d'étiquettes 132 est également appliqué de façon à positionner la bascule 146. Pendant un cycle d'antémémoire suivant, comme on le décrira de façon plus détaillée en
relation avec la figure 22, le signal de sortie d'invalidi-
té est appliqué à l'accès d'entrée de données de la mémoire
d'invalidité 122 de l'antémémoire, pour être écrit à l'adres-
se courante qui est appliquée à la mémoire à partir du
réseau de bascules d'adresse d'antémémoire 108.
Du fait que le signal de validation du réseau de bascules de données "DTA LTCH ENBLE" n'est à l'état haut que pendant le premier sous-cycle du cycle de fonctionnement de l'antémémoire, le réseau de bascules n'émet pas de données vers le processeur central 12 pendant le second sous-cycle, pour une opération de contrôle d'antémémoire, d'écriture
d'invalidation ou d'écriture de données dans l'antémémoire.
En retournant à la figure 11, on note que, comme décrit précédemment, le signal d'absence de données dans
l'antémémoire, MISS, arrête le processeur central en inver-
sant le signal GT2, ce qui invalide les impulsions d'horloge
T1 et T2. Le processeur central est donc arrêté après l'im-
pulsion d'horloge TO. Si aucun adaptateur de bus ne demande l'accès à la mémoire centrale, le circuit de priorité de la figure 16 génère le signal CP/BA. La condition d'absence
de données dans l'antémémoire peut être immédiatement trai-
tée.
Pour satisfaire la demande de lecture du proces-
seur central dans le cas d'une absence de données dans
l'antémémoire, les bits de sélection de module (non repré-
sentés) et les signaux d'adresse BMAR 3-20 (provenant de la figure 13) sont émis vers la mémoire centrale 16 (figure 19), en compagnie de signaux d'horloge et de commande qui proviennent de la figure 15, pour sélectionner le double mot adressé. Trois cycles d'instruction sont nécessaires pour exécuter entièrement l'accès en mémoire centrale. Le double mot est acheminé par le contrôleur de mémoire 18 sur le bus 44, après quoi il est émis sur le bus 52 vers le réseau de bascules de données du processeur central, 54 (figure 2); et le signal MISS EXT charge les données dans
le registre de données de mémoire 56 (figure 13).
Le signal d'absence de données dans l'antémémoire, MISS, est effacé (figure 14) à l'instant LO, lorsque les circuits d'horloge de mémoire de la figure 15 ont déterminé que le dernier cycle des trois cycles de fonctionnement nécessaires de la mémoire centrale a été atteint, pour une opération de lecture en mémoire concernant le processeur
central (LC, LCM 24, et LCP; LCM 24 est le signal de comman-
de de mémoire CM 24 provenant de la figure 18 qui a été enregistré dans une bascule et qui est toujours à l'état haut pour une opération de lecture). Ces signaux d'entrée sont appelés conjointement signal d'effacement d'absence de données "CLR MISS", et ce signal est également appliqué aux circuits de la figure 15, dans lesquels il efface le signal
de lecture REA.
Sous l'effet de l'effacement du signal d'absence de données dans l'antémémoire (le signal MISS passe à l'état
haut), le signal "STCP" (arrêt du processeur central) s'in-
verse à l'instant LO (bascule 135, figure 15). En retour-
nant à la figure 11, on voit que lorsque le signal MISS passe à l'état haut, le signal GT2 autorise l'émission des impulsions Tl, T2 vers le processeur central, ce qui fait redémarrer le processeur en milieu de cycle. Le signal GT1
autorise alors l'émission des impulsions TA, TO. Le proces-
seur central continue alors à fonctionner jusqu'à ce qu'une autre condition d'absence de données dans l'antémémoire survienne (à moins qu'une opération d'écriture en mémoire
centrale ait lieu, ce qui ne concerne pas l'invention).
De façon plus détaillée, et en considérant mainte-
nant le diagramme séquentiel de la figure 23, on voit que le signal STCP est normalement à l'état haut. Il passe à l'état bas soit dans le cas ou le processeur central écrit dans la mémoire centrale, ce qui n'est pas décrit ici, soit sous l'effet du signal MISS provenant de la bascule 130 (figure 14), comme le montre la figure 15. Le signal STCP passe à l'état bas à l'instant Ll. Comme le montre la figure 11, le signal STCP est appliqué à l'entrée de restauration C de la bascule 61 relative au signal GT1. Lorsque le signal STCP passe à l'état bas, le signal GT1 est porté à l'état
bas, ce qui invalide les impulsions TA, TO suivantes diri-
gées vers le processeur central 12, et le signal GT1 est
forcé à l'état haut.
En l'absence du signal d'absence de données dans
l'antémémoire, MISS, (c'est-à-dire dans le cas d'une opéra-
tion d'écriture en mémoire centrale par le processeur cen-
tral), le signal GT1 est appliqué sur l'entrée D de la bas-
cule 63, relative au signal GT2; ensuite, au moment de l'impulsion LO suivante, le signal GT2 passe à l'état bas, ce qui invalide les impulsions Tl, T2 suivantes dirigées vers le processeur central 12. Lorsque le signal STCP passe à nouveau à l'état haut (après que l'opération d'écriture a été déclenchée), au moment de l'impulsion Ll, le signal GT1
passe à l'état haut au moment de l'impulsion L2 (les impul-
sions d'horloge TA, TO sont validées), et le signal GT2 passe à l'état haut au moment de l'impulsion LO suivante (les impulsions d'horloge Tl, T2 sont validées). Ainsi,
dans le cas de l'écriture en mémoire centrale, le proces-
seur central 12 est arrêté à l'impulsion TA et il reprend
son fonctionnement à cette impulsion.
Dans le cas de l'arrêt du processeur central à
cause d'une condition d'absence de données dans l'antémé-
moire, lesignal d'absence de données dans l'antémémoire n'est pas généré avant l'apparition de l'impulsion LO, à la moitié de l'impulsion TA. On doit donc établir dans ce cas un temps d'arrêt différent (et une séquence temporelle différente pour la reprise des opérations). Dans ce but, le signal MISS est combiné dans une porte ET avec le signal GT1 pour être appliqué sur l'entrée D de la bascule 63, relative au signal GT2, et le signal MISS est également combiné dans une porte ET avec le signal de sortie GT2 qui est issu de la bascule 63. Par conséquent, le signal de validation GT2 est forcé à l'état haut lorsque le signal MISS passe à l'état bas ce qui invalide les impulsions Tl, T2 et arrête le processeur central au milieu du cycle d'instruction. Le signal GT1 est ensuite forcé à l'état
bas (au moment de l'impulsion Ll) par le signal STCP.
Une fois que la mise à jour de l'antémémoire a été achevée, avec écriture dans la mémoire de données de l'antémémoire (comme on le décrira ultérieurement) pendant
le temps TA du second sous-cycle d'antémémoire dans le'der-
nier cycle de la mémoire centrale, le signal MISS provenant de la bascule 130 est effacé (figure 14). Le signal MISS passe à l'état haut au moment de l'impulsion LO; et le signal STCP passe à l'état haut au moment de l'impulsion Li (figure 15). La transition du signal MISS force le signal
GT2 à l'état bas à LO, ce qui permet l'émission des impul-
sions d'horloge Tl, T2 vers le processeur central 12 ensuite-, au moment de l'impulsion L2, le signal GT1 passe à l'état haut et valide les impulsions TA, TO. Le cycle d'instruction du processeur central reprend donc en milieu
de cycle, au point auquel il avait été suspendu.
La mémoire de données de l'antémémoire est mise à
jour après une condition d'absence de données dans l'anté-
mémoire, ou pendant une opération d'écriture en mémoire cen-
trale par le processeur central, sous l'effet d'une opéra-
tion d'écriture dans l'antémémoire.
On va maintenant considérer la figure 20 sur laquelle on voit les circuits d'écriture dans l'antémémoire, , qui commandent l'écriture du contenu de l'antémémoire après une condition d'absence de données dans l'antémémoire, et qui commandent également l'écriture du bit d'invalidité de l'antémémoire après une correspondance d'étiquettes à la suite d'une comparaison d'adresse d'adaptateur de bus. Pour écrire le bit d'invalidité, désigné par INV, le bit INV
(provenant de la bascule 146 de la figure 14), est appli-
qué aux circuits 150. Pour effectuer une opération d'écri-
ture dans la mémoire de données de l'antémémoire, les signaux de commande LCM-24 et MCM 24, et les signaux de commande d'écriture WRTE 8, WRTE 16, WRTE 32 ou WRTE 64
(provenant de la figure 15) sont appliqués en entrée.
L'écriture dans la mémoire de données de l'anté-
mémoire s'effectue à des instants différents pour une opé-
ration d'écriture et une opération de lecture en mémoire
centrale, comme il ressortira de l'examen de la figure 23.
Toutes les opérations d'écriture ont lieu à l'instant TA,
c'est-à-dire pendant le sous-cycie B du cycle de fonction-
nement de l'antémémoire. Pour une opération d'écriture en mémoire centrale, les impulsions d'écriture sont émises à l'instant TA des cycles de mémoire Cl et C2 (figure 15),
tandis que pour une opération de lecture en mémoire centra-
le (mise à jour de l'antémémoire), l'impulsion d'écriture est émise à l'instant TA du cycle de mémoire 3 (LC, dernier cycle).. Des opérations d'écriture du bit d'invalidité ont également lieu à l'instant TA, pendant n'importe quel cycle de la mémoire centrale. Du fait que toutes les opérations d'écriture ont lieu pendant le second sous-cycle du cycle
de fonctionnement de l'antémémoire, les opérations d'écri-
ture dans l'antémémoire ne peuvent pas gêner l'acceptation
d'une demande de lecture en mémoire par le processeur cen-
tral pendant le premier sous-cycle de l'antémémoire.
Les impulsions d'écriture dans l'antémémoire (WCP) sont appliquées à l'entrée de la mémoire d'étiquette , de la mémoire d'invalidité 122 et de la mémoire de
données 124 (figure 14), de manière appropriée.
Le fait de consacrer les sous-cycles de l'anté-
mémoire à des fonctions particulières, de la manière décri-
te, et en particulier le fait de consacrer exclusivement le premier souscycle à l'acceptation d'une demande de lecture
en mémoire par le processeur central, entraîne qu'une adres-
se du processeur central pour une opération de lecture en
mémoire est toujours acceptée, une fois par cycle d'antémé-
moire, dans le but de comparer son étiquette avec le conte-
nu de l'antémémoire. S'il y a une condition de présence de données dans l'antémémoire, les données demandées sont retournées vers le processeur central au cours de la période
TA du cycle de micro-instruction suivant du processeur cen-
tral. Le processeur central est ainsi capable de poursuivre
son fonctionnement sans pause.
S'il y a une condition d'absence de données dans l.'antémémoire, le processeur central est arrêté et il peut être obligé d'attendre pendant plusieurs cycles jusqu'à ce
qu'il obtienne l'accès en mémoire centrale, ce qui ne se pro-
duit que lorsque aucun adaptateur de bus ne réclame l'accès.
Lorsque les données sont obtenues à partir de la mémoire centrale, elles sont appliquées immédiatement au proce'sseur
central, pendant le second sous-cycle du cycle de l'antémé-
moire, et lorsque le processeur central redémarre sous l'effet du passage à l'état haut du signal MISS (signal ti,
d'absence de données dans l'antémémoire inversé), le pro-
cesseur central commence une phase de fonctionnement comme s'il y avait eu une condition de présence de données dans l'antémémoire. La mémoire de données de l'antémémoire fait l'objet d'une opération d'écriture pendant le second sous- cycle de l'antémémoire, après le redémarrage du processeur central.
L'antémémoire neit1l'objet de contrôles de cor-
respondance d'étiquettes d'adaptateur de bus que pendant
un second sous-cycle du cycle de fonctionnement de l'anté-
mémoire. En cas de condition de correspondance d'étiquettes,
la bascule 146 est positionnée et, au moment du second sous-
cycle suivant (après que le processeur central a- eu
l'opportunité d'introduire une demande de lecture en mémoi-
re), le bit d'invalidité correspondant à l'adresse qui a donné lieu à une correspondance est écrit par le circuit
logique d'écriture dans l'antémémoire 150 (figure 20).
Toute tentative ultérieure faite par le processeur central
pour lire à cette position dans l'antémémoire fera appa-
raitre un signal d'absence de données dans l'antémémoire
(MISS) et l'antémémoire sera mise à jour de la manière décri-
te. Du fait de cette spécialisation des sous-cycles
de fonctionnement de l'antémémoire, l'écriture dans l'anté-
mémoire (pour écrire un bit d'invalidité, pour mettre à jour un double mot sous l'effet d'une condition d'absence de
données dans l'antémémoire, ou pour mettre à jour l'antémé-
moire après une opération d'écriture en mémoire centrale par
le processeur central), est "transparente" pour les opéra-
tions de lecture en mémoire qu'effectue le processeur cen-
tral. Le processeur central ne doit jamais attendre pendant
l'accomplissement d'une telle opération d'écriture. En par-
ticulier, contrairement à la configuration de nombreuses machines informatiques qui emploient une antémémoire, il n'est pas nécessaire qu'il y ait un cycle d'antémémoire
"spécialisé" pour mettre à jour l'antémémoire après une con-
dition d'absence de données dans l'antémémoire, avant que le processeur central puisse reprendre son fonctionnement. De plus, le processeur central peut lire immédiatement (pendant son cycle de micro-instruction suivant) une position qui vient d'être mise à jour après une condition d'absence de données dans l'antémémoire. Lorsque le processeur central tente de lire une position qui vient juste d'être la posi- tion d'une opération d'écriture en mémoire centrale, des anomalies peuvent apparaître, mais on évite aisément cette situation en prenant des précautions appropriées dans la
micro-programmation du processeur central.
On va maintenant décrire le fonctionnement de la machine de l'invention en considérant les diagrammes
séquentiels des figures 21, 22 et 23.
On va tout d'abord considérer la figure 21 qui représente les événements correspondant à une opération de
lecture en mémoire par le processeur central.
La micro-instruction de lecture en mémoire par le processeur central commence à l'instant TA et se poursuit pendant l'impulsion T2. Au niveau du front positif du signal LA, l'adresse est appliquée à l'antémémoire 24 à
partir du registre d'adresse de mémoire 58 (figure 3). Pen-
dant que T12 est à l'état bas, les signaux d'entrée A du multiplexeur d'index 102 (figure 13) sont sélectionnés, de façon à transmettre l'index du processeur central au réseau
de bascules d'adresse d'antémémoire 114. Le signal d'horlo-
ge d'adresse "ADDR CLK" (Ll, LA) passe à l'état haut à Ll et il transmet l'index du processeur central du réseau de
bascules 114 vers l'antémémoire (figure 14). Dans ces con-
ditions, la mémoire de données 124 émet les données qui apparaissent en sortie du réseau de bascules de données 126
pendant le temps Ll, L2 (80 ns). Ces données sont enregis-
trées dans le registre de données de mémoire du processeur central, 56 (figure 3), à l'instant TA. Dans le cas d'une condition de présence de données dans l'antémémoire, le processeur central continue sans faire de pause et passe à
son cycle de micro-instruction suivant.
Lorsque T12 passe à l'état haut, T12 passe à
l'état bas, et les signaux d'entrée A (étiquette du proces-
seur central) dirigés vers le multiplexeur de sélection d'étiquette 104 sont sélectionnés et transmis au réseau de bascules de sélection d'étiquette 116. Le signal d'horloge
d'étiquette "IN TG CLCK" (hi, LA) fait apparaître l'étiquet-
te en sortie du réseau de bascules pour l'appliquer au com-
parateur 132 (figure 14). L'étiquette enregistrée est émise par la mémoire d'étiquette 120 en même temps que les données enregistrées, sous l'effet de l'index d'entrée provenant-du réseau de bascules 114; et le front de sens négatif du signal de validation de réseau de bascules d'étiquette "TG LTCH ENBLE" (LO, L2) transmet l'étiquette enregistrée au comparateur 132. Le signal de sortie d'absence/présence du comparateur 132 est appliqué à l'entrée de la bascule qui est échantillonnée au moment du signal LA (horloge
d'absence de données, "MISS CLCK"). Dans le cas d'une con-
dition d'absence de données dans l'antémémoire, le signal
correspondant MISS qui est appliqué à la bascule 135 (figu-
re 15) provoque l'inversion du signal STCP au moment de
l'impulsion LO.
Comme le montre la figure 21, le signal d'absence de données dans l'antémémoire n'est généré qu'après que les données de l'antémémoire ont déjà été transférées vers le
registre de données de mémoire du processeur central 12.
S'il n'y a pas de condition d'absence de données, le pro-
cesseur central continue à fonctionner avec ces données.
S'il y a une condition d'absence, le processeur central est - arrêté après TO (comme on le décrira en relation avec la figure 23); et les données sont remplacées par celles résultant de l'opération de lecture en mémoire centrale,
avant que le processeur central recommence à fonctionner.
On va maintenant considérer la figure 22 qui représente les opérations de contrôle et d'invalidation de l'antémémoire. Ces opérations ne sont déclenchées qu'en présence d'une opération d'écriture d'adaptateur de bus (processeur périphérique) dans la mémoire centrale. Pour une telle opération, l'adaptateur de bus émet le signal MRBA vers les circuits des figures 16 et 17, qui génèrent le signal de priorité d'adaptateur de bus BA et le signal de validation d'adaptateur de bus BA ENBLE. Le signal BA ENBLE passe à l'état haut au moment de l'impulsion TA. Les circuits de la figure 15 déclenchent une opération de
mémoire centrale, en commençant par le cycle 1 (Cl) à TO.
Le signal de commande d'accès en mémoire BAC 1 est chargé dans une bascule pour donner le signal BBAC1, lorsque l'opé- ration de mémoire commence. Lorsque Tl, T2 est à l'état haut, les signaux d'entrée B du multiplexeur 102 (index d'adaptateur de bus) sont sélectionnés et sont émis vers le réseau de bascules d'adresse d'antémémoire 114. Le signal
d'horloge d'adresse "ADDR CLCK" (Ll, LA) émet l'index d'a-
daptateur de bus vers l'antémémoire (figure 14). Aucune
donnée n'est émise vers le processeur central.
Les signaux d'entrée B du multiplexeur 104 (éti-
quette d'adaptateur de bus) sont sélectionnés lorsque T1, T2 passe à l'état haut; et l'étiquette d'adaptateur de bus
est émise vers le réseau de bascules de sélection d'étiquet-
te 116. Le signal d'horloge d'étiquette "IN TG CLCK" (1,
LA) fait apparaître l'étiquette en sortie du réseau de bas-
cules pour l'appliquer au comparateur 132. L'étiquette enregistrée est présentée en sortie du réseau de bascules d'étiquette 134 par le signal de validation de réseau de bascules d'étiquette "TG LTCH ENBLE" (LO, L2) pour être appliquée au comparateur 134. Le bit d'absence/présence est appliqué à l'entrée de la bascule d'invalidité 146 (figure 14), qui est échantillonnée par le signal d'horloge d'invalidité "INV CLK" au moment du signal L2. Dans le cas d'une condition de correspondance d'étiquettes, le signal de sortie T1N-V (qui est normalement à l'état haut) passe à
l'état bas.
Le signal INV est appliqué à l'entrée des cir-
cuits d'écriture d'antémémoire de la figure 20, dans
lesquels il fait apparaître en sortie une impulsion d'écri-
ture dans l'antémémoire WCP, au moment de l'impulsion TA.
Le signal de sortie INV de la bascule 146 constitue le
signal d'entrée de données de la mémoire de bit d'invalidi-
té 122 (figure 14) lorsque l'impulsion d'écriture dans l'antémémoire, WCPest appliquée en entrée. L'adresse à laquelle le signal INV est écrit est la même que celle à laquelle la condition de correspondance d'étiuettes a été trouvée, du fait que l'adresse est conservée dans la mémoire tampon 106 pendant toute l'opération d'écriture en mémoire centrale pour un adaptateur de bus (aucune autre adresse d'adaptateur de bus ne peut être introduite jusqu'à ce que
l'opération de mémoire soit terminée, ce qui peut se produi-
re après plusieurs cycles de fonctionnement de l'antémémoi-
re). L'opération d'écriture d'invalidité peut en fait être répétée au cours de chaque cycle de l'antémémoire, pendant toute l'opération de la mémoire centrale; ceci ne crée aucune difficulté. On notera que pendant toute l'opération de mémoire centrale pour un adaptateur de bus, y compris
les opérations d'écriture d'invalidité, le processeur cen-
tral conserve la possibilité de lire dans l'antémémoire, à chaque cycle de l'antémémoire. Si l'une des opérations de lecture du processeur central conduit à une condition
d'absence de données dans l'antémémoire, le processeur cen-
tral doit être arrêté jusqu'à ce que l'opération de mémoire centrale pour un adaptateur de bus soit achevée. Si aucune autre opération de mémoire pour un adaptateur de bus n'est
en attente, les circuits de la figure 16 donneront la prio-
rité au processeur central pour l'accès en mémoire, et les opérations de lecture en mémoire centrale et de mise à jour
de l'antémémoire pourront avoir lieu.
On va maintenant considérer la figure 23 qui mon-
tre les événements concernant une condition d'absence de données et de mise à jour de l'antémémoire. Le signal MISS passe à l'état bas à LO (figure 14); et le signal STCP passe à l'état bas à Ll (figure 15). Le processeur central 12 est arrêté après TO. L'opération de mémoire centrale est
déclenchée avec le cycle 1 (Cl) à TO. L'opération de mémoi-
re centrale comprend trois cycles; l'écriture en mémoire
s'effectue pendant les cycles 1 et 2 et la lecture s'effec-
tue pendant le cycle 3. L'impulsion d'écriture dans l'anté-
mémoire destinée à la mise à jour de l'antémémoire après une condition d'absence de données est générée pendant le
dernier cycle (C3), du fait que la lecture en mémoire cen-
trale doit être effectuée avant que l'écriture dans l'anté-
mémoire puisse avoir lieu. Le signal MISS passe à nouveau à
l'état haut à LO pendant le dernier cycle de la mémoire cen-
trale; et le signal STCP passe à l'état haut à Ll. Le pro-
cesseur central redémarre au moment de l'impulsion Tl.
Pour une opération d'écriture en mémoire par le
processeur central, les impulsions d'écriture dans l'antémé-
moire sont émises au moment de l'impulsion TA pendant les.
cycles 1 et 2; et le processeur central redémarre après que l'opération de mémoire a commencé. Le processeur. central 12 peut donc lire dans l'antémémoire pendant chaque sous-cycle A tandis que l'opération d'écriture dans l'antémémoire se poursuit pendant le sous-cycle B. Il va de soi que de nombreuses modifications peuvent être apportées au dispositif décrit et représenté,
sans sortir du cadre de l'invention.
REVEIJDICATIO..S
1. Machine informatique, comprenant un processeur central (12) comportant un registre d'adresse de mémoire (58) destiné à fournir des sigraux d'adresse de mémoire et un registre de données de mémcire (56) destiné à recevoir et à fournir des signaux de données une mémoire de contrôle (14) connectée au processeur central et fournissant à ce dernier des signaux de commande qui - représentent des micro-instructions, des signaux de commande
* particuliers à l'intérieur d'une micro-instruction représen-
tant des opérations d'accès en mémoire pour la lecture ou l'écriture, et le processeur central réagissant à ces signaux de commande d'accès en mémoire en générant des signaux d'adresse de mémoire et en les plaçant dans le registre d'adresse de mémoire; une mémoire physique qui peut être adressée par les signaux d'adresse de mémoire et qui est capable d'enregistrer des signaux de données, cette mémoire comprenant une mémoire centrale (16) à accès relativement lent, et une antémémoire (24) à accès relativement rapide, le registre d'adresse de mémoire (58) du processeur central étant connecté à cette mémoire physique de façon à lui appliquer des signaux d'adresse de mémoire et le processeur central appliquant en outre les signaux de commande d'accès en mémoire à la mémoire physique; une horloge mère (20) qui est connectée au processeur central et à la mémoire physique et qui leur applique des impulsions d'horloge, des impulsions particulières parmi ces impulsions d'horloge
définissant un cycle de fonctionnement du processeur cen-
tral et ce cycle de fonctionnement du processeur central ayant une longueur fixe pour des opérations comprenant un accès en mémoire; et au moins un processeur périphérique connecté à la mémoire physique pour effectuer des accès de lecture et d'écriture dans cette mémoire, ce processeur périphérique appliquant à la mémoire physique des signaux d'adresse de mémoire, des signaux de commande d'accès en mémoire et des signaux de données, tandis qu'il reçoit des
signaux de données à partir de la mémoire physique; carac-
térisée en ce que l'antémémoire (24) comporte une horloge d'antémémoire qui fonctionne sous la dépendance de l'horloge mère et quai produit un ensemble d'impulsions d'horloge définissant un cycle de fonctionnement de l'antémémoire; l'antémémoire comporte des moyens d'enregistrement de signaux de données (124) destinés à enregistrer des signaux de données, des
moyens d'adressage destinés à appliquer les signaux d'adres-
se de mémoire reçus à partir de la mémoire physique, pour adresser les moyens d'enregistrement de signaux de données, des moyens de comparaison (132) qui réagissent aux signaux d'adresse appliqués et aux signaux de données enregistrés de façon à générer un signal de sortie représentatif de la présence ou de l'absence de données particulières dans l'antémémoire, et des moyens de génération de signaux qui réagissent au signal de sortie des moyens de comparaison en générant un signal de condition ayant un état parmi deux états représentatifs de la présence ou de l'absence des
données particulières; les moyens d'adressage de l'anté-
mémoire fonctionnent sous la dépendance de l'horloge'd'an-
témémoire de façon à consacrer une première partie du cycle
de fonctionnement de l'antémémoire à l'application exclusi-
ve des signaux d'adresse reçus à partir du processeur cen-
tral aux moyens d'enregistrement de signaux de données et aux moyens de comparaison de l'antémémoire; et les moyens
d'adressage de l'antémémoire fonctionnent sous la dépendan-
ce de l'horloge d'antémémoire de façon à consacrer une seconde partie du cycle de fonctionnement de l'antémémoire à une opération parmi plusieurs comprenant l'application
des signaux d'adresse reçus à partir d'un processeur péri-.
phérique aux moyens d'enregistrement de signaux de données
et aux moyens de comparaison de l'antémémoire.
2. Machine informatique selon la revendication 1,
caractérisée en ce que l'horloge mère (20) réagit à un pre-
mier état du signal de condition, représentatif de l'absen-
ce d'es données particulières dans les moyens d'enregistre-
ment de données de l'antémémoire, en invalidant les impul-
sions d'horloge du processeur central et en arrêtant ainsi le processeur central (12); la mémoire physique réagit au premier état du signal de condition, ainsi qu'aux signaux
de commande d'accès en mémoire reçus à partir du proces-
seur central, en accomplissant une opération d'accès en
mémoire centrale qui comprend l'application à la mémoire cen-
trale (16) des signaux d'adresse de mémoire reçus à partir
du processeur central, pour adresser les données particu-
lières, et l'application de ces données particulières au processeur central; les moyens de génération de signaux de l'antémémoire réagissent à l'achèvement de l'opération
d'accès en mémoire centrale en générant le signal de con-
dition ayant le second état; et l'horloge mère (20) réagit au second état du signal de condition en validant les impulsions d'horloge du processeur central et en faisant
ainsi redémarrer le processeur central.
3. Machine informatique selon la revendication 2, caractérisé en ce que la mémoire physique comprend en outre
des moyens d'écriture dans l'antémémoire (150); l'antémé-
moire comprend en outre des moyens d'enregistrement d'in-
formation de validité (122) qui sont associés aux moyens d'enregistrement de données (124) et qui comprennent un ensemble de bits de validité, chacun d'eux ayant deux états
et pouvant être adressé par les signaux d'adresse de mémoi-
re; les moyens d'écriture dans l'antémémoire (150) réa-
gissent au signal de sortie des moyens de comparaison, généré sous l'effet de l'application des signaux d'adresse
de mémoire de processeur périphérique aux moyens d'enre-
gistrement de données de l'antémémoire et aux moyens de
comparaison, en effectuant une première opération d'écri-
ture qui comprend l'application des signaux d'adresse de mémoire de processeur périphérique de façon à adresser une position dans les moyens d'enregistrement d'information de validité, et le positionnement du bit de validité se trouvant à cette position, à un premier état représentatif
de l'invalidité; et les moyens d'écriture dans l'antémé-
moire fonctionnent sous la dépendance de l'horloge d'anté-
mémoire en effectuant la première opération d'écriture pen-
dant la seconde partie d'un cycle de fonctionnement suivant
de l'antémémoire.
4. Machine informatique selon la revendication 3, caractérisée en ce que les moyens de génération de signaux de l'antémémoire réagissent également au premier état du bit
de validité en générant le signal de condition avec le pre-
mier état. 5. Machine informatique selon la revendication 4,
caractérisée en ce que les moyens d'écriture dans l'antémé-
moire (150) réagissent à l'achèvement de l'opération d'accès en mémoire centrale, et aux signaux d'adresse de mémoire ainsi qu'aux signaux de commande d'accès en mémoire reçus à partir du processeur central, en effectuant une seconde opération d'écriture qui-comprend l'application des signaux d'adresse de mémoire de façon à adresser une position dans
les moyens d'enregistrement de données (124) de l'antémé-
moire, et l'écriture à cette position des données particu-
lières obtenues, et les moyens d'écriture dans l'antémémoi-
re fonctionnent sous la dépendance de l'horloge d'antémé-
moire de façon à effectuer la seconde opération d'écriture - pendant la seconde partie d'un cycle de fonctionnement de
l'antémémoire.
FR828200156A 1981-01-07 1982-01-07 Machine informatique comportant une antememoire Expired FR2497596B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US22315481A 1981-01-07 1981-01-07

Publications (2)

Publication Number Publication Date
FR2497596A1 true FR2497596A1 (fr) 1982-07-09
FR2497596B1 FR2497596B1 (fr) 1989-03-03

Family

ID=22835271

Family Applications (1)

Application Number Title Priority Date Filing Date
FR828200156A Expired FR2497596B1 (fr) 1981-01-07 1982-01-07 Machine informatique comportant une antememoire

Country Status (10)

Country Link
JP (1) JPS57169990A (fr)
BE (1) BE891723A (fr)
CA (1) CA1175581A (fr)
CH (1) CH656470A5 (fr)
DE (1) DE3200042A1 (fr)
FR (1) FR2497596B1 (fr)
GB (1) GB2090681B (fr)
IT (1) IT1154407B (fr)
NL (1) NL8200043A (fr)
SE (1) SE445270B (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617967A (ja) * 1984-06-15 1986-01-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション I/oコントロ−ラ
AU5634086A (en) * 1985-05-06 1986-11-13 Wang Laboratories, Inc. Information processing system with enhanced instruction execution and support control
US4814981A (en) * 1986-09-18 1989-03-21 Digital Equipment Corporation Cache invalidate protocol for digital data processing system
DE3920883A1 (de) * 1989-06-26 1991-01-03 Siemens Ag Verfahren und anordnung zur erhoehung der verarbeitungsgeschwindigkeit der zentraleinheit einer datenverarbeitungsanlage
JPH03189845A (ja) * 1989-12-13 1991-08-19 Internatl Business Mach Corp <Ibm> 階層メモリ・システムおよびキヤツシユ・メモリ・サブシステム
JPH0756815A (ja) * 1993-07-28 1995-03-03 Internatl Business Mach Corp <Ibm> キャッシュ動作方法及びキャッシュ
EP2400516B1 (fr) 2009-02-20 2016-06-08 Asahi Glass Company, Limited Procédé de production d'électret, et élément de conversion du type à induction électrostatique

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
GB2015216A (en) * 1978-03-07 1979-09-05 Ibm Data processing apparatus
GB2037039A (en) * 1978-12-11 1980-07-02 Honeywell Inf Systems Cache memory system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51148334A (en) * 1975-06-16 1976-12-20 Hitachi Ltd Buffer memory control method
JPS5441291A (en) * 1977-09-09 1979-04-02 Sagami Chem Res Center Cluster fixed substance, production thereof and catalyst
US4208716A (en) * 1978-12-11 1980-06-17 Honeywell Information Systems Inc. Cache arrangement for performing simultaneous read/write operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
GB2015216A (en) * 1978-03-07 1979-09-05 Ibm Data processing apparatus
GB2037039A (en) * 1978-12-11 1980-07-02 Honeywell Inf Systems Cache memory system

Also Published As

Publication number Publication date
GB2090681A (en) 1982-07-14
IT1154407B (it) 1987-01-21
SE8107832L (sv) 1982-07-08
JPS57169990A (en) 1982-10-19
JPH0353657B2 (fr) 1991-08-15
CA1175581A (fr) 1984-10-02
BE891723A (fr) 1982-04-30
NL8200043A (nl) 1982-08-02
CH656470A5 (de) 1986-06-30
FR2497596B1 (fr) 1989-03-03
SE445270B (sv) 1986-06-09
DE3200042A1 (de) 1982-08-19
GB2090681B (en) 1985-11-20
IT8267010A0 (it) 1982-01-06
DE3200042C2 (fr) 1991-03-07

Similar Documents

Publication Publication Date Title
US6223228B1 (en) Apparatus for synchronizing multiple processors in a data processing system
US5434818A (en) Four port RAM cell
FR2497374A1 (fr) Machine informatique pour traitement multitache
US5325508A (en) Processor that performs memory access in parallel with cache access
EP0622737B1 (fr) Système de mémoire à haute performance
US5239639A (en) Efficient memory controller with an independent clock
EP0375121B1 (fr) Méthode et appareil de commande efficace d&#39;une mémoire DRAM
FR2677472A1 (fr) Unite de controle pour memoire cache de second niveau.
FR2481487A1 (fr) Systeme de traitement de l&#39;information utilisant des techniques de regeneration et de detection et correction d&#39;erreurs
FR2602070A1 (fr) Systeme et procede d&#39;acces a une memoire d&#39;ordinateur.
FR2513410A1 (fr) Microprocesseur et procede pour imbriquer les acces en memoire de ce microprocesseur
JP3334589B2 (ja) 信号遅延装置及び半導体記憶装置
US5987578A (en) Pipelining to improve the interface of memory devices
EP0392932B1 (fr) Procédé et dispositif pour accélérer les accès mémoire, utilisant un algorithme LRU modifié
JPH01503011A (ja) キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット
FR2497596A1 (fr) Machine informatique comportant une antememoire
EP0575229B1 (fr) Procédé pour partager une mémoire à accès direct entre deux processeurs asynchrones et circuit électronique pour la mise en oeuvre de ce procédé
US4700330A (en) Memory for a digital data processing system including circuit for controlling refresh operations during power-up and power-down conditions
FR2632092A1 (fr) Circuit de conditionnement d&#39;ecriture d&#39;antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2849228A1 (fr) Dispositif de transfert de donnees entre deux sous-systemes asynchrones disposant d&#39;une memoire tampon
JP2716350B2 (ja) 電子データ記憶システム
EP0394115B1 (fr) Dispositif d&#39;accélération des accès mémoire dans un système informatique
FR2586118A1 (fr) Procede d&#39;echange de donnees entre un microprocesseur et une memoire et dispositif permettant la mise en oeuvre du procede
US6230263B1 (en) Data processing system processor delay instruction
JP3765547B2 (ja) Fifo状態インジケータ

Legal Events

Date Code Title Description
AM Act modifying the rights related to an application or a patent
GC Lien (pledge) constituted
TP Transmission of property
TP Transmission of property
TP Transmission of property

Free format text: CORRECTION