NO171336B - Fremgangsmaate og apparat for i en datamaskin aa bestemme hvilke av en flerhet av programmer som skal faa utnytte et raskt aksesslager - Google Patents

Fremgangsmaate og apparat for i en datamaskin aa bestemme hvilke av en flerhet av programmer som skal faa utnytte et raskt aksesslager Download PDF

Info

Publication number
NO171336B
NO171336B NO872387A NO872387A NO171336B NO 171336 B NO171336 B NO 171336B NO 872387 A NO872387 A NO 872387A NO 872387 A NO872387 A NO 872387A NO 171336 B NO171336 B NO 171336B
Authority
NO
Norway
Prior art keywords
storage
program
fast
quotient
store
Prior art date
Application number
NO872387A
Other languages
English (en)
Other versions
NO171336C (no
NO872387D0 (no
NO872387L (no
Inventor
Hans Enar Sundell
Terje Egeland
Sten Edvar Johnson
Erik Bertil Friman
Original Assignee
Ericsson Telefon Ab L M
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 Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of NO872387D0 publication Critical patent/NO872387D0/no
Publication of NO872387L publication Critical patent/NO872387L/no
Publication of NO171336B publication Critical patent/NO171336B/no
Publication of NO171336C publication Critical patent/NO171336C/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Complex Calculations (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

TEKNISK OMRÅDE.
Den foreliggende oppfinnelse vedrører en fremgangsmåte for
å bestemme hvilket program som skal utnytte et raskt aksess lager i en datamaskin som arbeider med en flerhet av programmer og har et vanlig langsomt aksesslager og et raskt aksesslager, idet sistnevnte på grunn av kostnadsforhold ba-re tillates brukt av databehandlingsinstruksjoner som krever rask aksess. Oppfinnelsen vedrører også et apparat for utførelse av fremgangsmåten.
TEKNIKKENS STILLING.
I forbindelse med datamaskiner finner aksess sted oftere mot noen få bestemte lageradresser i forhold til de øvrige lageradresser. Dersom aksesstiden for disse gitte lageradresser blir gjort så kort som mulig, blir betydningen av aksesstiden for de øvrige lageradresser redusert. Fordi denne informasjon som er tilgjengelig ved hjelp av disse ofte brukte adresser, er lagret i et høyhastighets-buffer-lager, eller såkalt "cache"-lager, vil betydningen av lag-eraksesstiden bli redusert. En forutsetning for dette er imidlertid at det foreligger en stor sannsynlighet for at den søkte informasjon befinner seg i lageret med kort aksesstid.
For hver aksess som ikke påtreffer noen informasjon i cache-minnet, vil den tilhørende datamengde skrives inn i cache-lageret ved de vanlige løsninger. Denne kjente fremgangsmåte kan benyttes dersom de fleste aksesser retter seg mot noen få lageradresser eller det foreligger repetert aksess til et begrenset antall adresser, idet begrens-ningen er bestemt av størrelsen av cache-lageret. Dersom de nevnte begrensninger ikke gjelder, vil cache-lageret ofte være foruten den ettersøkte informasjon, fordi ny informasjon allerede er blitt skrevet inn i cache-lageret. Når således aksess blir søkt mot en eller annen tidligere innskrevet informasjon, er denne allerede fjernet, og cache-lageret inneholder for det meste feil informasjon. Bruken av vanlige cache-lagre er f.eks. omtalt i Motorola "MC-680 20 32-biter Mikroprosessor Brukermanual.
REDEGJØRELSE FOR OPPFINNELSEN.
De ovennevnte ulemper blir ryddet av veien ved den foreliggende oppfinnelse på en slik måte at der føres statistikk over aksessene med hensyn til hyppighetsfrekvensen av adres-sene, og det raske aksesslager blir lastet med den foregående måleperiodes oftest ettersøkte informasjon, slik at lageret med rask aksess kan utnyttes optimalt.
KORT OMTALE AV TEGNINGSFIGUREN.
Oppfinnelsen vil nå bli beskrevet i detalj ved hjelp av en utførelsesform og under henvisning til vedføyde tegningsfi-gur som anskueliggjør et apparat for kontinuerlig statistisk styring av aksessene som opptrer hyppigst.
FORETRUKKEN UTFØRELSESFORM FOR OPPFINNELSEN.
Figuren illustrerer i form av et blokkdiagram et apparat for statistisk behandling av de programmer som inneholder den største andel av instruksjoner som krever rask aksess, slik at man kan selektere de programmer som motiverer bruken av et lager med kort aksesstid.
Instruksjonene er i sin operasjonsdel merket på en slik måte at man kan skille mellom en første kategori, kategori A som utfører aksess mot et normallager NM og der man ønsk-er å redusere aksesstiden ved hjelp av et hurtiglager CM, samt en annen kategori, kategori B, som ikke utfører aksess mot normallageret NM, men innbefatter andre funksjoner.
Når instruksjonene i et program begynner å bli utført,
vil et nummer som identifiserer programmet, bli skrevet inn i et første register PR samtidig som et instruksjonsregister IR suksessivt blir lastet på en vanlig måte med
de instruksjoner som er innlemmet i programmet. Instruk-sjonenes operasjonsdel OP blir dekodet i en dekoder AVK, og dersom instruksjonene er av kategori A, vil dekoderens utgang bli aktivisert. Programmet i registeret PR aktivi-serer en første teller RF1, RF2 osv., på en slik måte at en velger Sl leder utgangssignalet fra AVK som et tellersignal til en teller, f.eks. telleren RFl, slik at denne blir satt et trinn forover for hver instruksjon av kategori A. Dette tellersignal kan imidlertid bare finne sted når en port G blir påvirket av et måleperiodesignal MS som opptrer under en måleperiode.
For neste programnummer stilles velgeren Sl til den mot programnummeret svarende første teller, f.eks. RF2. Når måleperioden er avsluttet, kan evalueringen starte. Evalueringen finner sted slik at programnummerne blir skrevet inn i tur og orden i et annet register RI oa med det innskrevne proaramnummer som adresse utleses respektive tel-leres RF innhold, såvel som et plasslager SM som inneholder verdien av lagerområdestørrelsen tilknyttet det respektive program. Disse to verdier, dvs. tellerinnstillingen og den til programmet hørende normallagerets størrelse føres til en kvotientregner KB, der den førstnevnte verdi divideres med den sistnevnte. Resultatet av kvotientbe-regningen tilføres en første sammenligningskrets Jl, hvor det sammenlignes med en verdi som fremskaffes fra et sam-menligningsregister JK, som angir resultatet av en tidligere kvotientberegning. Dessuten føres resultatet av kvo-tientberegningen til sammenligningsregisteret JK, der den tidligere innskrevne verdi erstattes med den nye verdi, dersom sammenligningen i sammenligningskretsen Jl har vist at det nye resultat er større enn den foregående verdi. Dersom resultatet er mindre enn eller likt med den foregående verdi, økes det andre registerets verdi med én for måling av verdiene av det neste påfølgende program. Dersom økningen av verdien har funnet sted i sammenligningsregisteret JK, overføres innholdet i det annet register RI til et tredje register R2, hvoretter registeret RI får sin verdi øket med én for måling av verdiene for det neste påfølgende program.
Forløpet repeteres til samtlige programmer er blitt behand-let på denne måte, hvoretter nummeret på det program som har den største kvotient, og således den største berettig-else for bruken av hurtig aksesslageret CM, vil bli skrevet inn i registeret R2. Informasjonen til programmet som motsvarer nummeret i registeret R2, blir kopiert fra det langsomme lager NM til hurtiglageret CM. Dette skal imidlertid finne sted først når samtlige programmer er behand-let. For dette formål er der anordnet et fjerde register R3 som inneholder det høyeste programnummer som skal be-handles. Når innholdet i registrene RI og R3 er blitt sammenlignet i en annen sammenligningskrets J2, og er funnet å være like, kan innholdet i registeret R2 via en første styrekrets SRI adressere begynnelsesadressen til et programs informasjon i normallageret NM over et adresselager AM, som er indikert ved en forbindelse mellom kolonne 2 i adresselageret AM og normallageret NM. Deretter blir det i adresselageret AM markert at informasjonen finnes i hurtiglageret CM og ved hvilken adresse. Adresselageret AM inneholder i utgangspunktet bare informasjonens startadresse i lageret NM, hvor all informasjon opprinne-lig er skrevet inn. Dessuten finnes der i adresselageret AM plass for markering av hvorvidt hurtiglageret CM blir brukt, samt plass for i dette tilfelle å angi informasjonens startadresse i lageret CM. Når det mest berettigede programs startadresse er blitt adressert via adresselageret AM, blir informasjonen overført til den første ledige adresse i hurtiglageret CM som utpekes av en annen teller RN. Telleren RN rykker frem et trinn av den andre styrekrets SRN, som blir påvirket hver gang en overføring av informasjon finner sted fra normallageret NM til hurtiglageret CM.
I henhold til eksempelet var det program som har informasjon lagret fra og med adresse nr. 2 i normallageret NM, det første som var berettiget til å utnytte hurtiglageret CM, og den andre teller RN har utpekt adressen 0 i hurtiglageret CM, samtidig som den har skrevet inn adressen i tredje kolonne i adresselageret AM. Nå skal der også mar-keres i lageret AM at hurtiglageret skal anvendes istedenfor det langsomme lager, hvilket er angitt ved at den førs-te kolonne "NO" endres til "YES", hvilket i praksis vil skje ved at f.eks. en "0" erstattes med en "1". For dette formål anvendes der en styrelogikk SR2 som utfører nevnte andring fra "0" til "1" når den får begge adresser fra den første styrekrets SRI og signalet fra den annen teller RN som tegn på at adressen i hurtiglageret CM er blitt skrevet inn i adresselageret AM.
Når informasjonen i det mest berettigede program er skrevet inn i hurtiglageret CM og adressen og markeringen er ført inn i adresselageret AM, blir det annet register Ri tilbakestilt til null, og. det mest berettigede programs teller RF blir via en velger S3 tilbakestilt til null, hvoretter kvotientsammenligningen blir gjentatt for frem-skaffelse av den nest høyeste kvotient.
Deretter gjentas forløpet med kopiering til hurtiglageret CM og lagring av adresse og markering i adresselageret AM etc. Når informasjonen i programmet med den høyeste kvotient er blitt skrevet inn i hurtiglageret CM og adressen og markeringen er ført inn i adresselageret AM, blir det annet register RI og dette programs teller RF tilbakestilt til null via velgeren S3. Deretter repeteres kvotientsammenligningen, kopieringen til hurtiglageret, etc. inntil hurtiglageret er fylt. Ved at måleperiodene blir repetert suksessivt med en motsvarende omgruppering, vil lageret med kort aksesstid bli utnyttet optimalt.

Claims (2)

1. Fremgangsmåte for i en datamaskin som arbeider med en flerhet av programmer og omfatter et vanlig forholdsvis langsomt arbeidende lager og et hurtiglager som av kost-nadsmessige grunner bare skal utnyttes av instruksjoner som krever rask aksess, å bestemme hvilke av programmene som skal få utnytte hurtiglageret, karakterisert ved at under en testperiode registreres for hvert program antallet av instruksjoner i programmet som krever aksess til lageret, dette antall divideres med he-le plassen som et program krever, de på denne måte etter hverandre fremskaffede kvotienter sammenlignes med hverandre og for programmet med den høyeste kvotient blir lagerinnholdet overført fra det langsomme lager til hurtiglageret, hvoretter kvotientsammenligningen og lager-innholdsoverføringen suksessivt repeteres for å fremskaffe den nest høyeste kvotient frem til hele hurtiglageret er fylt med data fra det langsomme lager.
2. Anordning for utførelse av fremgangsmåten som.angitt i krav 1,karakterisert ved at den omfatter et instruksjonsregister (IR) og en dekoder (AVK) for å indikere om en innskrevet instruksjon utnytter lageret, telleranordninger ( RF1, RF2 etc.) som beregner antallet av til respektive programmer hørende instruksjoner som utnytter lageret, og et lagerområde (SM) som inneholder opplysning om den for respektive programmer nødvendige lagerplass, idet en målekrets (RI, R2, JR, KB, Jl) er anordnet for ved avslutning av en måleperiode suksessivt å lese ut det for de respektive proqrammer fremskaffede resultat i telleranordningen (RF1, RF2 etc.) oq tilhør-ende lagerområde for lagerfeltet (SM) og velger ut nummeret på det program som har kvotient med høyest verdi, og at det er anordnet et adresselager (AM) i hvilket overføringen av informasjonen som tilhører programmet med nevnte høyeste kvotient medfører markering av at hurtiglageret (CM) blir brukt istedenfor det langsomme lager (NM) og registrering av startadressen i hurtiglageret (CM) for programmets informasjon.
NO872387A 1986-06-26 1987-06-05 Fremgangsmaate og apparat for i en datamaskin aa bestemme hvilke av en flerhet av programmer som skal faa utnytte et raskt aksesslager NO171336C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE8602858A SE453617B (sv) 1986-06-26 1986-06-26 Sett och anordning for att i en dator bestemma vilka av programmen som far utnyttja ett snabbt minne

Publications (4)

Publication Number Publication Date
NO872387D0 NO872387D0 (no) 1987-06-05
NO872387L NO872387L (no) 1987-12-28
NO171336B true NO171336B (no) 1992-11-16
NO171336C NO171336C (no) 1993-02-24

Family

ID=20364943

Family Applications (1)

Application Number Title Priority Date Filing Date
NO872387A NO171336C (no) 1986-06-26 1987-06-05 Fremgangsmaate og apparat for i en datamaskin aa bestemme hvilke av en flerhet av programmer som skal faa utnytte et raskt aksesslager

Country Status (18)

Country Link
US (1) US4858118A (no)
EP (1) EP0252042B1 (no)
KR (1) KR910008919B1 (no)
CN (1) CN1008482B (no)
AU (1) AU594475B2 (no)
BR (1) BR8703191A (no)
CA (1) CA1283487C (no)
DE (1) DE3764414D1 (no)
DK (1) DK166238C (no)
DZ (1) DZ1101A1 (no)
ES (1) ES2016994B3 (no)
FI (1) FI89985C (no)
GR (1) GR3000766T3 (no)
HK (1) HK7591A (no)
IE (1) IE60660B1 (no)
MX (1) MX169065B (no)
NO (1) NO171336C (no)
SE (1) SE453617B (no)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB979632A (en) * 1960-04-20 1965-01-06 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3292153A (en) * 1962-10-01 1966-12-13 Burroughs Corp Memory system
US3588839A (en) * 1969-01-15 1971-06-28 Ibm Hierarchical memory updating system
GB1354827A (en) * 1971-08-25 1974-06-05 Ibm Data processing systems
US3949378A (en) * 1974-12-09 1976-04-06 The United States Of America As Represented By The Secretary Of The Navy Computer memory addressing employing base and index registers
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
US4035778A (en) * 1975-11-17 1977-07-12 International Business Machines Corporation Apparatus for assigning space in a working memory as a function of the history of usage
US4453230A (en) * 1977-12-29 1984-06-05 Tokyo Shibaura Electric Co., Ltd. Address conversion system
JPS58203558A (ja) * 1982-05-21 1983-11-28 Hitachi Ltd 計算機・記憶装置へのフアイル割り当て方式
JPS5952487A (ja) * 1982-09-16 1984-03-27 Hitachi Ltd 磁気バブル記憶素子の高速アクセス方法
US4638427A (en) * 1984-04-16 1987-01-20 International Business Machines Corporation Performance evaluation for an asymmetric multiprocessor system

Also Published As

Publication number Publication date
FI89985C (sv) 1993-12-10
EP0252042B1 (en) 1990-08-22
DK325187D0 (da) 1987-06-25
CA1283487C (en) 1991-04-23
DK166238C (da) 1993-08-16
GR3000766T3 (en) 1991-10-10
DZ1101A1 (fr) 2004-09-13
CN1008482B (zh) 1990-06-20
FI89985B (fi) 1993-08-31
US4858118A (en) 1989-08-15
ES2016994B3 (es) 1990-12-16
AU7468987A (en) 1988-01-07
IE60660B1 (en) 1994-08-10
AU594475B2 (en) 1990-03-08
DK325187A (da) 1987-12-27
CN87104515A (zh) 1988-01-06
NO171336C (no) 1993-02-24
FI872342A0 (fi) 1987-05-27
DE3764414D1 (de) 1990-09-27
KR910008919B1 (ko) 1991-10-24
MX169065B (es) 1993-06-21
KR890000971A (ko) 1989-03-17
SE8602858L (sv) 1987-12-27
NO872387D0 (no) 1987-06-05
BR8703191A (pt) 1988-03-08
HK7591A (en) 1991-02-01
IE871573L (en) 1987-12-26
NO872387L (no) 1987-12-28
DK166238B (da) 1993-03-22
EP0252042A1 (en) 1988-01-07
SE453617B (sv) 1988-02-15
SE8602858D0 (sv) 1986-06-26
FI872342A (fi) 1987-12-27

Similar Documents

Publication Publication Date Title
US4471429A (en) Apparatus for cache clearing
US4882701A (en) Lookahead program loop controller with register and memory for storing number of loop times for branch on count instructions
US4520441A (en) Data processing system
US4167779A (en) Diagnostic apparatus in a data processing system
EP0690385A1 (en) Method and apparatus for managing memory in a computer system
KR870006471A (ko) 고속 캐쉬 시스템
JPS60151761A (ja) 10進演算用に連続したデ−タ装置をアクセスするためのニブルおよびワ−ド・アドレス指定可能なメモリ−
EP0348495A1 (en) METHOD AND DIGITAL COMPUTER FOR Fetching VECTOR DATA FROM THE STORAGE IN A STORAGE SYSTEM DESIGNED FOR SCALE PROCESSING.
US5671231A (en) Method and apparatus for performing cache snoop testing on a cache system
US6298411B1 (en) Method and apparatus to share instruction images in a virtual cache
NO174943B (no) Databehandlingsapparat
GB1448866A (en) Microprogrammed data processing systems
US4491908A (en) Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit
EP0779581A2 (en) CPU with cache memory
DK166237B (da) Apparat til selv-afproevning af flydende kommaberegningsenheder
GB1446569A (no)
US5274776A (en) Information processing system having mode signal holding means and selecting operand access mode based on mode signal indicating type of currently executed instruction
NO171336B (no) Fremgangsmaate og apparat for i en datamaskin aa bestemme hvilke av en flerhet av programmer som skal faa utnytte et raskt aksesslager
GB1494750A (en) Data processing system with hash instruction
ES348591A1 (es) Un metodo de multiplicar el control, por medio de instruc- ciones procedentes de un medio de entrada-salida, de una pluralidad de dispositivos de almacenaje de datos.
EP0187713A2 (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
AU602239B2 (en) Microprocessor vectored interrupts
JPS62501526A (ja) 変数を含まない関数型言語コードを用いる2進有向グラフとしてストアされたプログラムを評価する縮少プロセッサのためのシステムアロケータ
JP2794782B2 (ja) 命令取出装置
Cooper Emulation on the DG Eclipse S/130

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees

Free format text: LAPSED IN DECEMBER 2003