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 PDFInfo
- 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
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)
- PŘEDMĚT VYNÁLEZUObvoč. 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),
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) |
-
1980
- 1980-05-26 CS CS367080A patent/CS214207B1/cs unknown
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) | 가상 컴퓨터 시스템의 정보 이송 방법 |