CS214207B1 - Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí - Google Patents

Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí Download PDF

Info

Publication number
CS214207B1
CS214207B1 CS367080A CS367080A CS214207B1 CS 214207 B1 CS214207 B1 CS 214207B1 CS 367080 A CS367080 A CS 367080A CS 367080 A CS367080 A CS 367080A CS 214207 B1 CS214207 B1 CS 214207B1
Authority
CS
Czechoslovakia
Prior art keywords
virtual
input
circuit
addresses
memory
Prior art date
Application number
CS367080A
Other languages
English (en)
Inventor
Josef Gabriel
Jaroslav Tvrdik
Vaclav Trojan
Original Assignee
Josef Gabriel
Jaroslav Tvrdik
Vaclav Trojan
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 Josef Gabriel, Jaroslav Tvrdik, Vaclav Trojan filed Critical Josef Gabriel
Priority to CS367080A priority Critical patent/CS214207B1/cs
Publication of CS214207B1 publication Critical patent/CS214207B1/cs

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Obvod pro zmenšení četnosti převodů virtuálních adres na adresy reálné v systémech s virtuální pamětí pro obor výpočetní techniky. Vynález řeší problém snížení ztrátových časů počítače, vznikajících při překladu virtuálních adres. Tohoto snížení dosahuje tím, že obsahuje kombinační obvod, navržený na základě znalosti umístění rezidentní oblasti používaného operačního systému v hlavní paměti, který rozhoduje o tom, které virtuální adresy lze považovat za reálné a použít je přímo k adresování hlavni paměti. Vynález je možno použít v oboru výpočetní techniky. Vynález je charakterizován předmětem vynálezu s připojeným obrázkem.

Description

(54)
Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí
Obvod pro zmenšení četnosti převodů virtuálních adres na adresy reálné v systémech s virtuální pamětí pro obor výpočetní techniky. Vynález řeší problém snížení ztrátových časů počítače, vznikajících při překladu virtuálních adres. Tohoto snížení dosahuje tím, že obsahuje kombinační obvod, navržený na základě znalosti umístění rezidentní oblasti používaného operačního systému v hlavní paměti, který rozhoduje o tom, které virtuální adresy lze považovat za reálné a použít je přímo k adresování hlavni paměti. Vynález je možno použít v oboru výpočetní techniky. Vynález je charakterizován předmětem vynálezu s připojeným obrázkem.
Vynález se týká obvodu pro zmenšení četnosti převodů virtuálních adres na adresy reálné v systémech s virtuální pamětí.
Efektivnost práce a řada dalších vlastnosti počítače je omezena velikosti paměti, kterou má počítač k dispozici. Proto moderní počítače nepracují pouze se skutečnou (reálnou) pamětí, která je u konkrétního počítače k dispozici, ale vytvářejí takzvanou virtuální pamět, jejíž rozsah je mnohokrát větší než rozsah reálné paměti a jejíž obraz je uložen ve vnější, nej častěji diskové paměti. Do reálné (hlavni) paměti se pak prostřednictvím řídícího programu, takzvaného operačního systému přenášejí pouze ty části virtuální paměti, které jsou v daném okamžiku zpracovávány. Tento přenos se uskutečňuje po celcích jednotné velikosti, takzvaných stránkách. Přenášené stránky se umistují do volných stránek reálné paměti bez ohledu na jejich umístění ve virtuální paměti. Jejich umístění je zapamatováno v tabulkách, které jsou také uloženy v reálné paměti. Při použití některé virtuální adresy je proto nutno nejdříve prohlédnout tyto tabulky, abychom zjistili, zda příslušná stránka má svůj obraz v reálné paměti a pokud ano, jaká reálná adresa jí odpovídá.
Tento postup zpracováni virtuální adresy, který se zpravidla provádí mikroprogramem, budeme dále nazývat překladem. Překlad je poměrně složitá činnost a potřebuje ke svému provedení delší čas. Nutnost přístupu do tabulek v hlavní paměti znemožňuje jeho podstatné zkrácení. Aby se omezily ztráty, vzniklé prováděním překladů, lze zjištěnou reálnou adresu spolu s příslušnou adresou virtuální zapsat do zvláštní, k tomu účelu realisované rychlé paměti přeložených adres. Při příštím použiti virtuální adresy v téže stránce lze převod na adresu reálnou omezit jen na výběr z této rychlé paměti a vlastní překlady provádět jen pro plnění této paměti přeložených adres. I přesto překlady spotřebují značnou část prováděcí doby procesoru.
Současné operační systémy se vyznačuji tím, že část virtuální paměti tvoří takzvaná rezidentní oblast, která je trvale přítomna v reálné paměti na identických adresách, to znamená, ,že virtuální a jim odpovídající reálné adresy uvnitř rezidentní oblasti jsou si rovny. Z vlastností rezidentní části paměti tedy vyplývá, že překlady pro tuto oblast není nutno provádět a virtuálních adres jc mcřro použít přímo jako adres reálných. Protože se však tato rezidentní část paměti řídí stejnými pravidly jako zbytek virtuální paměti, provádějí se i, pro tyto adresy překlady a tím dochází ke zbytečným časovým ztrátám a ke vzájemné konkurenci operačního systému a uživatelských programů při obsazování položek v paměti přeložených adres, čímž dále vzrůstá počet překladů.
Jsou známy způsoby jak lze na základě uvedených vlastností četnost překladů snížit.
Jedno ze známých řešení zabraňuje přepisování ostatních položek v paměti přeložených adres položkami zapisovanými při práci s rezidentní částí paměti realizací ještě jedné paměti přeložených adres, přes kterou lze adresovat jen tu část reálné paměti, ve které je umístěna rezidentní část užívaného operačního systému. Další známé řešení odstraňuje nutnost provádět překlady pro rezidentní část paměti a tím i přepisování ostatních položek v paměti přeložených adres. Využívá skutečností, že rezidentní oblast bývá umístěna od nulové adresy spojitě až po určitou maximální adresu, pro jejíž zapamatování je realizován takzvaný registr rozhraní. Pro naplnění registru rozhraní maximální identickou adresou je třeba tuto adresu zjistit. Tuto činnost provádí zpravidla mikroprogram, který prohlíží tabulky v hlavni paměti, sloužící pro překlad virtuálních adres na adresy reálné a na základě jejich obsahu zjištuje maximální identickou adresu, kterou nahraje do registru rozhraní. Při dostupu do virtuální paměti se provede srovnání virtuální adresy s adresou, zapsanou v registru rozhraní a zjistí - li se, že požadovaná virtuální adresa je menši než adresa zapsaná v registru rozhraní, použije se pro adresaci reálné paměti přímo virtuální adresa.
Nevýhodou dosavadních řešení je jejich složitost a materiálová náročnost. Tyto nevýhody se týkají zejména řešení se dvěma pamětmi přeložených adres. Další nevýhodou tohoto řešení je, že vyžaduje provádění překladů pro rezidentní oblast, úspora prováděcí doby procesoru je tedy menší.
Řešení s registrem rozhraní vyžaduje speciální mikroprogram pro naplnění registru roz214207 hraní maximální identickou adresou.
Uvedené nevýhody odstraňuje obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí podle vynálezu, který využívá skutečnosti, že při použití konkrétního operačního systému je předem známo umístění jeho rezidentní oblasti (nebo alespoň její části) v paměti. Podstatou tohoto vynálezu je, že obsahuje kombinační obvod, jehož první vstup je spojen se vstupem virtuální adresy, druhý vstup kombinačního obvodu je spojen se vstupem identifikace operačního systému a jehož výstup je spojen s prvním vstupem součtového obvodu, jehož druhý vstup je spojen se vstupem příznaku reálné adresy a jehož výstup je spojen s ovládacím vstupem hradla pro přímé adresování hlavní paměti a s ovládacím vstupem obvodu pro převod virtuálních adres na adresy reálné, přičemž jejich vstup hradla pro přímé adresování hlavní paměti a vstup obvodu pro převod virtuálních adres na adresy reálné jsou spojeny se vstupem virtuální adresy a jejich výstupy jsou spojeny se vstupem hlavní paměti.
Řešení podle tohoto vynálezu zachovává výhody dosud známých řešení, přičemž stejného nebo lepšího účinku dosahuje jednoduššími prostředky s podstatně nižšími materiálovými nároky. Novou vlastností tohoto řešení je to, že nevyžaduje umístění rezidentní oblasti operačního systému za začátek paměti, ale dovoluje její umístění na libovolné stránky reálné paměti a to i nespojitě.
Princip řešení je znázorněn na připojeném obrázku.
Obvod pro zmenšení četnosti převodů virtuálních adres na adresy reálné absahuje kombinační obvod _1, jehož první vstup 11 je spojen se vstupem 01 virtuální adresy a druhý vstup kombinačního obvodu JI je spojen se vstupem 02 identifikace operačního systému. Výstup kombinačního obvodu 1 je spojen s prvním vstupem 21 součtového obvodu 2, jehož druhý vstup 22 je spojen se vstupem 03 příznaku reálné adresy. Výstup 23 součtového obvodu 2 je spojen s ovládacím vstupem 32 hradla 3 pro přímé adresování hlavní paměti a s ovládacím vstupem 42 obvodu 4 pro převod virtuálních adres na adresy reálné. Vstupy 31 hradla 3 pro přímé adresování hlavní paměti a vstup 41 obvodu 4 pro převod virtuálních adres na adresy reálné jsou spojeny s adresovým vstupem 01 a výstupy 33 a 43 jsou spojeny se vstupem 51 hlavni paměti 5.
Kombinační obvod 1 na základě několika bitů vstupu 01 virtuální adresy a vstupu 02 identifikace operačního systému rozhoduje, zda použitá virtuální adresa ukazuje do rezidentní oblasti operačního systému, pro který byl kombinační obvod JL sestroj e. Výstup _13 kombinačního obvodu 1^ se v součtovém obvodu 2 sečte se vstupem 03 příznaku reálné adresy určujícím, zda program pracuje přímo s reálnými adresami. Je - li alespoň jedna z těchto dvou podmínek splněna, způsobí výstup 23 součtového obvodu 2 propuštěni adresy ze vstupu 01 virtuální adresy přes hradlo 3 pro přímé adresování hlavní paměti za vstup 51 hlavní paměti 5. Současně výstup 23 součtového obvodu 2 zablokuje činnost obvodu 4 pro převod virtuálních adres na adresy reálné a tím zabrání i případnému překladu pro rezidentní oblast operačního systému. Není - li splněna ani jedna z podmínek na vstupech součtového obvodu J2, musí být adresa ze vstupu 01 virtuální adresy nejprve zpracována v obvodu 4 pro převod virtuálních adres na adresy reálné a teprve potom použita pro adresování hlavní paměti £.
Obvod pro zmenšení četnosti převodů virtuálních adres na adresy reálné je možno použít v počítačích, které umožňují práci s virtuální pamětí.

Claims (1)

  1. PŘEDMĚT VYNÁLEZU
    Obvoč. pro zmenšení četnosti převodů virtuálních adres na adresy reálné v systémec-h s virtuální pamětí vyznačující se tím, že obsahuje kombinační obvod (1), jehož první vstup (11) je spojen se vstupem (01) .virtuální adresy, druhý (12) .kombinačního obvodu (1) je spojen se vstupem (02) identifikace operačního systému a jehož výstup (13) je spojen s prvním vstupem (21) součtového obvodu (2), jehož druhý vstup (22} spojen se . vstupem (03) příznaku reálné adresy a jehož výstup (23) je spojen s ovládací» Wrfcupem (32) hradla (3) pro přímé adresování hlavní paměti a s ovládacím vstupem (42) obvodu (4) pro převod virtuálních adres na adresy reálné, přičemž jejich vstup (31) hradla (3) pro přímé adresování hlavní paměti a vstup (41) obvodu (4) pro převod virtuálních adres na adresy reálné jsou spojeny se vstupem (01) virtuální adresy a jejich výstupy (33, 43) jsou spojeny se vstupem (51) hlavní paměti (5),
CS367080A 1980-05-26 1980-05-26 Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí CS214207B1 (cs)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CS367080A CS214207B1 (cs) 1980-05-26 1980-05-26 Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CS367080A CS214207B1 (cs) 1980-05-26 1980-05-26 Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí

Publications (1)

Publication Number Publication Date
CS214207B1 true CS214207B1 (cs) 1982-04-09

Family

ID=5377440

Family Applications (1)

Application Number Title Priority Date Filing Date
CS367080A CS214207B1 (cs) 1980-05-26 1980-05-26 Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí

Country Status (1)

Country Link
CS (1) CS214207B1 (cs)

Similar Documents

Publication Publication Date Title
US4386402A (en) Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4769770A (en) Address conversion for a multiprocessor system having scalar and vector processors
CA1134052A (en) Address control system for software simulation
US4868740A (en) System for processing data with multiple virtual address and data word lengths
CA1229424A (en) Fast two-level dynamic address translation method and means
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
EP0011442B1 (en) Data processing system having an integrated stack and register machine architecture
US4218743A (en) Address translation apparatus
CA1195010A (en) Address translation buffer control system
DE3650602T2 (de) Datenverarbeitungssystem
US3593306A (en) Apparatus for reducing memory fetches in program loops
JPH04172533A (ja) 電子計算機
KR840008069A (ko) 디지탈 콘트로울러
CA1083727A (en) Address converter in a data processing apparatus
US4217657A (en) Floating point arithmetic control
CS214207B1 (cs) Obvod pro zmenšení četnosti převodu virtuálních adres na adresy reálné v systémech s virtuální pamětí
US4768146A (en) Vector data refer circuit with a preceding paging control for a vector processor apparatus therefor
JPH0319572B2 (cs)
CA1286422C (en) Segment descriptor unit
US4791559A (en) High-speed instruction control for vector processors with remapping
JP2503702B2 (ja) アドレス変換装置
US4464716A (en) Digital data processing system using unique formatting techniques for performing arithmetic ALU operations
US4493023A (en) Digital data processing system having unique addressing means and means for identifying and accessing operands
GB2115963A (en) Binding memory contents into machine registers
KR920008959B1 (ko) 가상 컴퓨터 시스템의 정보 이송 방법