JPS62164148A - デ−タ処理システム - Google Patents

デ−タ処理システム

Info

Publication number
JPS62164148A
JPS62164148A JP61274257A JP27425786A JPS62164148A JP S62164148 A JPS62164148 A JP S62164148A JP 61274257 A JP61274257 A JP 61274257A JP 27425786 A JP27425786 A JP 27425786A JP S62164148 A JPS62164148 A JP S62164148A
Authority
JP
Japan
Prior art keywords
address
virtual
storage device
data processing
processing system
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.)
Pending
Application number
JP61274257A
Other languages
English (en)
Inventor
ウイリアム・マイケル・ジヨンソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS62164148A publication Critical patent/JPS62164148A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/10Address translation

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、仮想記憶装置を持つデータ処理システムに関
し、さらに詳しくは、重複された仮想アドレス変換およ
びアドレス計算を用いるシステムに関する。
B、従来技術 よく知られているように、データ処理システムでは、主
記憶装置のような、アクセス速度が高速で、かつ小容量
の記憶装置と、二次記憶装置のような、アクセス速度が
低速で、かつ大容量の記憶装置を使う階層的記憶システ
ムが用いられる。主記憶装置の目的は、処理モジュール
の入出力の適当な転送速度を与えることであり、データ
および他の情報は、必要に応じて二次記憶装置から主記
憶装置へ転送される。階層的記憶システムに対して、要
求時に該要求される情報が主記憶装置に常駐していなく
ても、二次記憶装置から主記憶装置へ自動的に該情報を
転送する能力を与えることによって、仮想記憶システム
は誕生した。このようなやり方によると、ユーザーは、
主記憶装置のサイズによる固有の制限を意識しなくてす
む。
仮想記憶を実現することの利点は、プログラムであれデ
ータであれ、計算の進行に必要なので記憶される情報の
すべてが同時に主記憶装置に記憶されることを要求され
るわけではなく、記憶される情報の一部が長時間に渡っ
て二次記憶装置に常駐していてもよいということである
。この利点は、一般的に、ユニット当りまたはビット当
りで、主記憶装置の方が二次記憶装置よりも高価である
という事実に基づく。
仮想記憶装置のアプリケーションのために、情報はいく
つかのセグメントに分割される。1つのセグメントの情
報は、計算が進行する際に、主記憶つまり一次記憶装置
直に全部が存在するか、または全く存在しないかの何れ
かである。セグメントのサイズが全部等しい場合、セグ
メントは一般にページと呼ばれる。その場合、−次記憶
装置は、正確に1ページを収容できる記憶の単位である
、いわゆるページ枠に細分される。
セグメントおよびページを主記憶装置にランダムに配置
するためには、アドレス変換テーブルのセットを使って
仮想アドレスを、現実のアドレス。
つまり実アドレスに変換する必要がある。アドレス変換
テーブルは、主記憶装置に配置されて、通常、ページ枠
テーブルと呼ばれている。大規模な仮想システムでは、
そのようなアドレス変換テーブルがたくさん使われ、様
々な風に編成されている。そのような編成の本質的な特
徴は、特定の仮想アドレスが、仮想アドレスに対応する
実アドレスを含むテーブル中のメモリ位置に論理的に写
像されなければならないということである。
機能的に言うと、そのようなアドレス変換テーブルの操
作は次のようなものである。特定の仮想アドレスの高位
ビットは、特定の枠またはセグメントに関係する変換テ
ーブルの特定のセクションをアクセスするのに用いられ
る。そして、該セクションで低位ビットに基づいて探索
が行われ、特定の仮想アドレスがそこに含まれているか
、もし含まれているならば、関連する実アドレスは何か
について、判断が下される。仮想枠アドレスにより指示
される各ページ・テーブルは、枠の1つの中の全ページ
の実位置を含む。したがって、特定の枠が例えば16ペ
ージに分割されるならば、枠のそれぞれにつき16個の
ページ・テーブルが存在するとともに1個々のページ・
テーブルの特定のセットを指すエントリを持つ独立した
枠テーブルが存在することになる。上記記述が現実に一
般化されること、および、CPU作成の仮想アドレスを
始めとする同一アドレスの指定手段の他にぺ−ジ・テー
ブルを用いるアドレス変換の編成の方法が多数あること
を理解しなければならない。
現実にアドレス変換を行う際、システム全体の編成の詳
細およびページ・テーブルの使用にかかわらず、ページ
枠テーブルへの適当な入力点が作られ、与えられた仮想
アドレスを引数として用いてページ・テーブルがアクセ
スされるとともに、通常記憶装置に複数回アクセスした
後、ページ・テーブル中の希望するエントリが見つかる
。仮想アドレスのバイト部つまりrバイト・オフセット
」は、本質的に相対アドレスであり、仮想ページの場合
も実ページの場合と同じである。その結果。
一旦希望する仮想アドレスの実ページ・アドレス部が変
換されると、バイト・オフセット部は実ページ・アドレ
ス位置に連結され、主記憶装置中の実バイト・アドレス
を与える。
現在の仮想記憶システムでよく知られているように、記
憶装置をアクセスする度に仮想アドレスを変換する必要
が生じるのを避けるため、最近値われた仮想アドレスを
実アドレスに変換したものが、ディレクトリ索引テーブ
ル(DLAT)または変換索引緩衝機構(TLB)と呼
ばれる高速でアクセスできるテーブルまたは高速の記憶
装置の特別なセットに保持される。通常、これらのテー
ブルまたは緩衝機構は、特別な高速でアクセス可能な記
憶装置であり、前述の′ページ枠テーブルよりもはるか
に高速でアクセス可能である。その結果、しばしば使わ
れる仮想アドレスはこのテーブルに記憶されて高速でア
クセスされるので、コンピュータ内の実行時間を大幅に
節約することができる。このようなTLBアドレス変換
システムの有効性は、与えられたプログラムを実行する
際、特定の仮想ページへのアクセスがまず行われると。
続いて同じページへのアクセスが数多く行われるという
事実に基づいている。上記のように、続くアクセスがペ
ージ内の異なるラインやバイトに対するものであっても
、仮想対案のページ・アドレス変換は、アドレス指定さ
れるラインやバイトに関係なく同じである。
仮想アドレス指定を用いるマイクロプロセッサ・システ
ムにおいて、仮想アドレス変換処理により生じる遅れは
、主記憶装置に対するロードおよび記憶のために使用可
能な時間を制限する。マイクロプロセッサがデータ・キ
ャッシュを含むならば、この影響は低減できる。なぜな
ら、仮想アドレスの変換と並行して、キャッシュにアク
セスすることができるからである。しかしながら、一般
的に、十分な大きさのデータ・キャッシュを超大規模集
積回路(VLSI)よりなるマイクロプロセッサに塔載
することは、経済的に不可能である。オペランドのため
に記憶装置にアクセスする時間は、重要な性能のパラメ
ータなので、たとえデータ・キャッシュを用いなくても
、記憶装置へのアクセス・パスからアドレス変換による
遅れを減らしたり、あるいはなくす何らかの方法を持つ
ことが望まれる。
D0問題点を解決するための手段 本発明は、仮想アドレスの高位ビットだけをアドレス変
換する一方、仮想アドレスの低位ビットをアドレス計算
処理に直接渡すことに関係する。
アドレス変換は、変換機構に与えられるアドレスの°高
位ビットだけに影響する。
低位ビットは、仮想および実の両方の記憶袋−のページ
の中への変位を形成し、変換処理において不変である。
また、アドレス生成に用いられる変位の大部分は、これ
らの低位ビットだけに影響する。したがって、アドレス
変換を開始し、かつこれをアドレス計算と並行させるこ
とが可能である。このようなアドレス変換は、高位ビッ
トについてのみ行われるが、通常、これらのビットは、
アドレス計算によって変化することはない。アドレス計
算の終りにおいて、低位アドレスはアドレス計算から使
用可能であるとともに、高位アドレスはアドレス変換か
ら使用可能である。アドレス計算が高位ビットに影響す
る場合は、記憶装置へのアクセスを1サイクルの間延ば
すことができるとともに、変換は現実のアドレスについ
て行われる。しかしながら、大部分の場合、アドレス変
換は記憶装置へのアクセス時間に全く影響を与えない。
E、実施例 図面は、典型的なVLSIマイクロコンピュータの高レ
ベルのデータの流れを示す。このマイクロプロセッサは
、普通、基底レジスタの内容を記憶装置アクセス命令に
含まれている変位とともに加えることにより、アドレス
を形成する。実行の間、基底レジスタの内容はAIクラ
ッチに入っており、変位はBIクラッチに入っている。
これらの址は、マルチプレクサ(MUX)/フォーマッ
ト素子8.9を経て演算論理機構(ALU)3に供給さ
れて加算され、ALU出力レジスタ4に置かれるオペラ
ンド・アドレスを形成する。このレジスタの出力は、ア
ドレス変換および記憶制御論理6に供給される。アドレ
ス変換および記憶制御論理6の出力は、実記憶装置のペ
ージ番号とページ索引を表わし、記憶装置アドレスとし
て回線7で供給される。加算が完了するには1プロセツ
サ・サイクルが必要である。そして、記憶装置へのアク
セスが開始可能となる前に、アドレス変換は付加的なサ
イクルを要する。
例えば32ビツトを含むと仮定する基底アドレスは、加
算によって記憶装置アクセス命令からの変位値と組み合
わされ、仮想アドレスを形成する。
仮想アドレスは、仮想ページ番号(VPN)部を表わす
21の高位ビットとページ索引部を表わす11の低位ビ
ットとからなる。VPNの21ビツトは、図面のアドレ
ス変換および記憶制御論理6へ送られ、そこでVPNは
実ページ番号(RP N)に変換される。仮想アドレス
のページ索引部の11の低位ビットは、加算器から直に
記憶制御論理素子6へ供給される。
本発明によれば、加算と変換の両方の並行操作が同じシ
ステム・サイクルで行われる。これは、AIクラッチか
らの出力を、ALU3とリード5により直にアドレス変
換および記憶制御6に与えることにより達成される。そ
の結果、与えられたサイクルの間でALU3にてアドレ
ス計算が進行する一方、AIラッチ2の内容は、変換回
路6にて変換も行われる。このようにアドレス計算とア
ドレス変換を重複させる結果、はとんどの場合にシステ
ムのスピードが増す。低位ビットからの繰上げの場合の
ようにアドレス計算が高位ビットに影響する場合は、繰
上げを反映した変換を、記憶装置へのアクセスが始まる
前に次のサイクルで実行することができる。この場合、
本システムは。
従来のシステムと同様に機能して、連続するサイクルで
続けて加算と変換を行う。しかしながら、はとんどの場
合、本発明の技術を用い、同じサイクルで並行して計算
と変換操作を実行することにより、操作効率を高めるこ
とができる。
なお、図面中のTフィールド・ジェネレータとは即値デ
ータ・フィールド・ジェネレータのことであり、一定の
値を生成するものである。
F1発明の効果 本発明によれば、仮想記憶装置を用いるデータ処理シス
テムにおいて、データ・キャッシュを用いなくても、ア
ドレス変換による遅れをほとんどなくすことができると
いう優れた効果が得られる。
【図面の簡単な説明】
図面は1本発明を用いるマイクロプロセッサ・システム
におけるデータの流れのブロック図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名)

Claims (8)

    【特許請求の範囲】
  1. (1)基底レジスタの値と変位の値とにより形成した仮
    想記憶装置のアドレスを、実記憶装置のアドレスに写像
    する仮想記憶装置を用いるデータ処理システムにおいて
    、 前記基底レジスタの値と前記変位の値を加算する手段と
    、 前記加算と同時に、前記基底レジスタの値の内容の変換
    を行い、前記基底レジスタの値に対応する仮想アドレス
    を生成する手段と、 前記変換された基底レジスタの値を前記加算による和の
    一部と組み合わせて、前記仮想記憶装置のアドレスに対
    応する実記憶装置のアドレスを生成する手段よりなる ことを特徴とするデータ処理システム。
  2. (2)前記仮想記憶装置のアドレスは複数個のビットを
    持つデジタル・アドレスであり、前記基底レジスタの値
    は前記仮想記憶装置のアドレスの高位ビットに対応する 特許請求の範囲第(1)項記載のデータ処理システム。
  3. (3)前記仮想記憶装置のアドレスは、仮想ページ番号
    部と仮想ページ索引部を含む 特許請求の範囲第(2)項記載のデータ処理システム。
  4. (4)前記仮想ページ番号部は、前記高位ビットにより
    表わされる 特許請求の範囲第(3)項記載のデータ処理システム。
  5. (5)前記仮想記憶装置のアドレスの前記仮想ページ索
    引部は、前記仮想記憶装置のアドレスの低位ビットによ
    り表わされる 特許請求の範囲第(3)項記載のデータ処理システム。
  6. (6)前記実記憶装置のアドレスは、実ページ番号部と
    実ページ索引部を含む 特許請求の範囲第(3)項記載のデータ処理システム。
  7. (7)前記実ページ番号部は、前記仮想記憶装置のアド
    レスの仮想ページ番号部に対応する 特許請求の範囲第(6)項記載のデータ処理システム。
  8. (8)前記実記憶装置のアドレスの前記実ページ索引部
    は、前記仮想記憶装置のアドレスの仮想ページ索引部に
    対応する 特許請求の範囲第(6)項記載のデータ処理システム。
JP61274257A 1986-01-16 1986-11-19 デ−タ処理システム Pending JPS62164148A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US819772 1986-01-16
US06/819,772 US4811206A (en) 1986-01-16 1986-01-16 Data processing system with overlapped address translation and address computation

Publications (1)

Publication Number Publication Date
JPS62164148A true JPS62164148A (ja) 1987-07-20

Family

ID=25229019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61274257A Pending JPS62164148A (ja) 1986-01-16 1986-11-19 デ−タ処理システム

Country Status (5)

Country Link
US (1) US4811206A (ja)
JP (1) JPS62164148A (ja)
KR (1) KR910001314B1 (ja)
CN (1) CN1003145B (ja)
BR (1) BR8700153A (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239635A (en) * 1988-06-06 1993-08-24 Digital Equipment Corporation Virtual address to physical address translation using page tables in virtual memory
US5150471A (en) * 1989-04-20 1992-09-22 Ncr Corporation Method and apparatus for offset register address accessing
EP0408799B1 (de) * 1989-07-21 1993-04-14 Dr. Johannes Heidenhain GmbH Verfahren zum Interpolieren von Positionsmesssignalen
US5420993A (en) * 1991-06-13 1995-05-30 Unisys Corporation Extended address translation system for pointer updating in paged memory systems
US5509131A (en) * 1991-10-22 1996-04-16 Unisys Corporation System for pointer updating across paged memory
US5423014A (en) * 1991-10-29 1995-06-06 Intel Corporation Instruction fetch unit with early instruction fetch mechanism
US5335333A (en) * 1991-10-29 1994-08-02 Intel Corporation Guess mechanism for faster address calculation in a pipelined microprocessor
US5463739A (en) * 1992-12-22 1995-10-31 International Business Machines Corporation Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold
CA2107056C (en) * 1993-01-08 1998-06-23 James Allan Kahle Method and system for increased system memory concurrency in a multiprocessor computer system
GB2339037B (en) * 1998-07-03 2002-11-20 Advanced Risc Mach Ltd Memory address translation in a data processing system
US7457676B1 (en) * 2000-06-14 2008-11-25 Marvell International Ltd. Vehicle for recording and reproducing digital data
CN100347686C (zh) * 2003-12-15 2007-11-07 上海奇码数字信息有限公司 循环缓冲地址产生装置和运算装置
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
CN106372004B (zh) * 2015-07-24 2020-08-11 爱思开海力士有限公司 用于ssd控制器的可编程协议独立bar存储器
CN113656331A (zh) * 2021-10-20 2021-11-16 北京微核芯科技有限公司 基于高低位的确定访问地址的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5436137A (en) * 1977-08-26 1979-03-16 Toshiba Corp Address conversion unit
JPS5693164A (en) * 1979-12-25 1981-07-28 Nippon Telegr & Teleph Corp <Ntt> Address converting system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4128875A (en) * 1976-12-16 1978-12-05 Sperry Rand Corporation Optional virtual memory system
JPS5734251A (en) * 1980-08-07 1982-02-24 Toshiba Corp Address conversion and generating system
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5436137A (en) * 1977-08-26 1979-03-16 Toshiba Corp Address conversion unit
JPS5693164A (en) * 1979-12-25 1981-07-28 Nippon Telegr & Teleph Corp <Ntt> Address converting system

Also Published As

Publication number Publication date
CN1003145B (zh) 1989-01-25
KR910001314B1 (ko) 1991-03-02
US4811206A (en) 1989-03-07
CN86108086A (zh) 1987-07-29
BR8700153A (pt) 1987-12-01
KR870007461A (ko) 1987-08-19

Similar Documents

Publication Publication Date Title
US12613807B2 (en) Method, system, and apparatus for page sizing extension
JP2635058B2 (ja) アドレス変換方式
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US4218743A (en) Address translation apparatus
US5412787A (en) Two-level TLB having the second level TLB implemented in cache tag RAMs
KR100705171B1 (ko) 어드레스 변환 장치 및 방법
JPH0371337A (ja) マイクロプロセツサ回路
JPS62184551A (ja) コンピユ−タア−キテクチヤ
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPH04319747A (ja) アドレス変換機構
JPH04320553A (ja) アドレス変換機構
JPS61117637A (ja) 動的アドレス変換装置
JPH02189659A (ja) 仮想記憶動的アドレス変換システム
JPS61141055A (ja) 情報処理装置のアドレス変換方式
US4811206A (en) Data processing system with overlapped address translation and address computation
US7269825B1 (en) Method and system for relative address translation
JP2575598B2 (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
JPH05210570A (ja) アドレス拡張をする方法及び手段
JP2000330867A (ja) 直接および仮想アドレス指定を備えたディジタル信号プロセッサー
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US5414821A (en) Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
JPS6273347A (ja) アドレス変換装置
US6226731B1 (en) Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
KR920005296B1 (ko) 정보처리장치
JPH04148352A (ja) 複数プロセッサを備える情報処理装置におけるアドレス変換方式