JPH0371337A - マイクロプロセツサ回路 - Google Patents

マイクロプロセツサ回路

Info

Publication number
JPH0371337A
JPH0371337A JP2196445A JP19644590A JPH0371337A JP H0371337 A JPH0371337 A JP H0371337A JP 2196445 A JP2196445 A JP 2196445A JP 19644590 A JP19644590 A JP 19644590A JP H0371337 A JPH0371337 A JP H0371337A
Authority
JP
Japan
Prior art keywords
address
clock period
adder
during
linear
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
JP2196445A
Other languages
English (en)
Inventor
Ashish Dixit
アシシ・デイクシツト
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH0371337A publication Critical patent/JPH0371337A/ja
Pending legal-status Critical Current

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータシステムに関し、特に、コンピュ
ータシステム内部にかいて高いクロックレートでアドレ
スを発生するための構成に関する。
〔従来の技術及び発明が解決しようとする問題点〕
カリ7オル二ア州サンタクララにあるIntelCor
porationが製造している80386−rイクロ
プロセツサは、16メガヘルツ以上のシステムクロック
速度で動作することができると共に、4ギガバイトの物
理メモリと、64テラバイトの仮想メモリという非常に
大きなアドレスペースを7ドレツシングすることができ
る32ビットマイクロプロセッサである。このマイクロ
プロセッサは、Intelがパーソナルコンピュータ用
に設計したシリーズのマイクロプロセッサに使用されて
いる従来のプロセッサと比較して、非常な高速で動作し
且つきわめて大量の情報を処理することができる。
Intel 80386マイクロプロセツサは大きな成
果をあげたが、その動作速度と情報処理能力を増すこと
は依然として要望されている。従って。
このマイクロプロセッサが動作する速度を改善しようと
する試みは継続してなされている。たとえば、Inte
l 80386マイクロプロセツサにおいては、メモリ
のアクセスを要求する1つのアドレスの発生は、実行段
階で少なくとも2つのクロック周期を必要とする。その
ため、メモリ参照を伴なう命令、すなわち、動作中にメ
モリを1度アクセスすることを要求する命令は、処理の
ための実行段階で少女くとも2つのクロック周期をそれ
ぞれ必要とするのである。アドレス発生のたびに2つの
システムクロック周期を使用しなければならないという
この条件は、Intel 80386マイクロプロセツ
サの動作を著しく遅くしていた。
〔問題点を解決するための手段〕
従って、本発明の目的は、コンピュータシステム、特に
マイクロプロセッサの動作をスピードアップすることで
ある。
本発明の別の目的は、コンピュータシステムに基づくマ
イクロプロセッサにかいてアドレスを発生するために必
要とされる時間を短縮することである。
本発明の上記の目的及びその他の目的は、実行クロック
周期ごとに1つのアドレスを形成するマイクロプロセッ
サ回路であって、3入力加算器と、2入力加算器と、第
1のクロック周期の間に仮想アドレスの構成要素を第1
及び第2の加算器に供給する手段と、第1のクロック周
期の間にセグメント基底アドレスを第1の加算器に供給
する手段と、第2のクロック周期の間に加算器により発
生されたアドレスの種類を確定する手段と、第2のクロ
ック周期の間に出力アドレスを発生する手段とを具備す
るものによって達成される。
本発明のこれらの目的と特徴並びにその他の目的と特徴
は、添付の図面と関連させながら以下の説明を読むこと
によう明白になるであろう。尚、いくつかの図を通して
、同じ図中符号は同じ要素を指示している。
〔表記法及び用語〕
以下の詳細な説明の中には、コンピュータメモリにかけ
るデータビットの操作をアルゴリズム及び記号表示によ
って表わしている部分がある。そのようなアルゴリズム
による説明や表示は、データ処理技術の分野に熟達した
人がその作業の内容を他の当業者に最も有効に伝達する
ために利用する手段である。
ここでは、また、一般的にも、アルゴリズムは所望の1
つの結果に至る首尾一貫した一連のステップであると理
解されている。ステップは、物理的な量の物理的操作を
必要とするステップである。
通常、それらの量は記憶、転送、組合せ、比較及びその
他の方法による操作が可能である電気的信号又は磁気的
信号の形態をとるが、必ずしもそうである必要はない。
主として一般に共通する用語であるという理由によう1
時によっては、それらの信号をビット、値、要素、記号
、文字、項、数などと呼ぶと便利であることがわかって
いる。ただし、これらの用語及びそれに類する用語は、
全て、適切な物理的な量と関連させるべきものであって
、そのような量に便宜上付されたラベルであるにすぎi
いということを忘れてはならない。
さらに、実行される知的な動作と一般に関連している加
算又は比較などの用語で呼ぶことが多いが、ここで説明
するような、本発明の一部を成す動作のどれをとっても
、そのようなオペレータの能力は、多くの場合、不要で
あるか又は望ましくない。すなわち、動作は機械の動作
である。本発明の動作を実行するのに有用な機械には、
汎用デジタルコンピュータ又はその他の同様な装置があ
る。いずれの場合にも、コンピュータを動作させる際の
方法動作と、計算それ自体の方法との区別に留意すべき
である。本発明は、電気的信号又はその他の(たとえば
、機槻的、化学的)物理的信号を処理して、別の所望の
物理的信号を発生させるときにコンビエータを動作させ
る装置及び方法ステップに関する。
〔実施例〕
Intelの80386マイクロプロセツサは、メモリ
のセグメンテーションアドレッシングと、要求時ベージ
ングによるアドレッシングの双方が可能であるように編
成されたメモリ管理システムを利用する。このような編
成には数多くの利点がある。
セグメンテーションアドレッシングを使用した場合、1
つのグログツムの複数の論理上関連する部分は、クンダ
ムアクセスメモリにおいて、2ンダムアクセスメモリの
その特定のセグメントの開始アドレス、すなわち基底ア
ドレスから始t、b、そのセグメントの終端筐で順次連
続するようにまとめられる。そのようなセグメントはク
ンダムアクセスメモリで利用できる任意の長さを有して
いて良い。この順次情報グループ化によう、グログ2ゴ
ーは、プログラムを、全てが同じ特性を有している複数
の論理部分に分割することが可能になる。たとえば、プ
ログラムを、「読取シ専用」と指定される複数の命令を
含む1つのセグメントと、変更されるべきではなく、同
様に「読取シ専用」と指定されるデータを含む別のセグ
メントと、「読取ジ」と「書込み」の双方とも指定され
、特定の所望の特性を選択された各セグメントと関連づ
けるさらに別のセグメントとに分割しても良い。
セグメンテーションアドレッシングは、それぞれ個々の
セグメントに、そのセグメントの全ての部分が同じよう
に処理されるように特定の制御とアクセス限界を与え且
つその他の方法による指定を与えることができるという
点で有用である。これは、各セグメントと関連する記述
子の利用によって可能である。記述子は、セグメントの
基底アドレスと、2ンダムアクセスメモリにかいてセグ
メントが到達しても良い限界と、アクセス及び制御の制
限と、セグメントが先に書込筐れているか否かを表わす
情報とを含む64ビツトの情報である。
Intel 80386マイクロプロセツサで実現すれ
る要求時ページアドレッシング方式は、物理メモリをペ
ージと呼ばれる同じ大きさの複数の部分に分割する。各
ページは4キロバイト分の記憶容量を有する。二次メモ
リからランダムアクセスメモリJ (RAM)へ情報が
転送されるとき、ページサイスの1つの部分がランダム
アクセスメモリ内の1つの物理メモリブロックへ転送さ
れる。プロセスのためにさらに多くの情報が必要であれ
ば、その追加情報もランダムアクセスメモリの他のペー
ジサイズ部分へ転送される。ランダムアクセスメモリの
物理ページにある情報には、中央処理装置(CPU)に
より仮想アドレスが割当てられる。CPUは、仮想アド
レスと物理アドレスとを関連づけbページテーブルを作
成する。仮想アドレスは、該当する情報をアクセスする
ことが必要になったときに、ページテーブル変換プロセ
スを使用して、その情報の物理アドレスに変換される。
要求時ページアドレッシングシステムでは、特定01つ
のプロセス又はアプリケーションと関連するページをメ
モリ内で互いに物理的に関連づける必要はfkいので、
メモリをよシ経済的に利用することができる。さらに、
2ンダムアクセスメモリ内部に物理メモリが存在してい
ないにもかかわらず、仮想アドレスによって大量のメモ
リをアドレッシングできる。ただ、二次メモリをアクセ
スし、その情報をページマツプテーブルの変換プロセス
を経てランダムアクセスメモリに導入するだけで良い。
セグメンテーションアドレッシングと、要求時ページア
ドレッシングのいずれか一方を使用するにせよ、双方を
使用するにせよ、Intel 80386マイクロプロ
セツサで何れかの情報をアドレスするためには、筐ず、
線形アドレスを発生させなければならない。この線形ア
ドレスは、セグメンテーションアドレッシングのみがイ
ネーブルされたときに、ランダムアクセスメモリから情
報を取出すためにメモリ管理装置のセグメンテーション
装置により使用される物理アドレスである。Intel
80386マイクロプロセツサのセグメンテーションア
ドレッシングとベージアドレッシングの2つの動作モー
ドがイネーブルされたときには、この線形アドレスはペ
ージマツプテーブルへ転送され、そこで、変換プロセス
を経て、メモリ(二次メモリのランダムアクセス)中の
特定のページの物理アドレスが取出される。いずれの場
合にも、開始アドレスとして線形アドレスを発生しなけ
ればならない。
Intel 80386マイクロプロセツサにかいては
、1つのプロセスにより指定される何れかの特定のセグ
メントの始t、bを指定する基底アドレスを含むいくつ
かの部分から線形アドレスが発生される。以下、この基
底アドレスを「セグメント基底アドレス」という。アク
セスすべき情報の特定のアドレスを得るために、このセ
グメント基底アドレスにオフセットが追加される。この
オフセット(「実効アドレス」又は仮想アドレスと呼ば
れる)は、いくつかの構成要素から成ると考えられる。
それらの構成l!索のうち第1のものも基底アドレスと
呼ばれるが、これは、実際には、セグメント基底アドレ
スで始する特定のセグメントの内部における相対アドレ
スである。このいわゆる基底アドレスを、以下では、「
相対基底アドレス」という。
セグメント基底アドレスと相対基底アドレスとの組合せ
が完全な線形アドレスを構成することは多いのであるが
、線形アドレス愕到達するために、いくつかの異なる係
数(0,1,2及び4)と乗算しても良いインデックス
をセグメント基底アドレスに加算しても良い。インデッ
クスは、メモリの中で情報の大きな部分を移動させるの
に有用である。たとえば、特定のプログラムにおいて、
ランダムアクセスメモリ内の情報のプレイ又はストリン
グを1つの場所から別の場所へ移動させることが望まれ
る場合は多いであろう。インデックスはこの移動を容易
に得るための手段である。さらに、実効アドレス、すな
わちオフセットの一部として、変位をセグメント基底ア
ドレスに加算しても良い。変位は、たとえば、特定の数
のメモリ位置だけ移動することが望筐れる飛越し命令の
場合に有用である。
実効アドレスハ、システムのセグメンテーション装置の
制御の下に、相対基底と、インデックスと、利用可能に
なった変位とを互いに加算することにより発生される。
次に、実効アドレスをセグメント基底アドレスに加算す
ることにより、実際の線形アドレスを発生する。Int
el 80386マイクロプロセツサにおいて、これを
実現するためには、実行段階の間に最小限で2のクロッ
ク周期が必要である。本発明は、実行段階で線形アドレ
スを発生するために必要とされる時間を2つのクロック
周期から1つのクロック周期に短縮し、従って、システ
ムの動作を相当にスピードアップする。
第1図は、マイクロプロセッサのセグメンテーション装
置にしいて本発明に従って実効アドレスと、線形アドレ
スの双方の形成を並行して実行する回路をブロック線図
の形辷゛で示す。アドレス形成装置10は1対の加算器
12及び14を含む。
加算器12は線形アドレス加算器と呼ばれる3入力加算
器でToシ、加算器14は実効アドレス加算器と呼ばれ
る2入力加算器である。これらの加算器は、従来の技術
で良く知られているIIC理に従って構成されれば良い
。詳細にいえば、線形アドレスの形成を有効に実行する
のに適する3入力加算器は、1985牢12月24日出
願、1988年11月8日発行の米国特許第4,783
,757号に示されている。
線形アドレス加算器12に対する入力は3つのラッチレ
ジスタ15.16及び1Tから供給される。これらのレ
ジスタは3つのマルチプレクサ20.21及び22から
それぞれ入力を受信する。
マルチプレクサ20に対する入力は実効アドレス(EA
)/<スト、命令ポインタ(■p)バスと、システムr
IJバスとを含む。実効アドレスバスは、実効アドレス
加算器14の動作の結果得られた実効アドレスを搬送す
る。IPババス、ポインタの位置から特定のアドレスを
形成すべき場合に使用して良い命令ポインタのアドレス
を搬送する。Iバスは、形成すべき特定のアドレスに応
じて、インデックスと相対基底アドレスの双方を搬送し
ても良い。制御線C3LA及びl5LAの制御信号に従
ってマルチプレクサ20により選択された情報はレジス
タ15へ転送されてそこにラッチされ、線形アドレスの
形成に備える。
IバスはrIJ装置による制御の下でrDJ装置からの
情報を転送する。D装置(データ装置)は、ユーザーが
視認できるデータを記憶するために使用される全てのレ
ジスタを含む。!装置は、コンピュータシステムの様々
な動作を実行するために、命令のコード流れをコンピュ
ータの他の部分により使用されるべき復号命令語に変換
する働きをする。さらに、工装置は、マイクロコードが
制御を引継ぐ前に1つの命令について実行される動作を
指示するために、様々な早期スタートマイクロ命令を順
序付けする。■パスに現われる情報は、システム命令復
号装置により供給される制御信号に応答して提供される
マルチプレクサ21は実効アドレスバス25゜rn」バ
ス及びKZQ線から入力を受信する。実効アドレスはE
Aパスに現われ、KZQ線には変位が現われ、また、B
バスには相対基底アドレスが現われると考えられる。シ
ステム制御装置からの制御線C8L^ 及びl5LAの
制御信号に従ってマルチプレクサ21により選択される
情報はレジスタ16へ転送されてそこに2ツチされ、線
形アドレスの形成に備える。同様にして、マルチプレク
サ22はセグメンテーション装置の記述子キャッシュか
らセグメント基底アドレスを受信し、その情報を制御線
C3LA及びl5LAの制御信号の制御の下にレジスタ
1Tへ転送する。情報はレジスタ17にラッチされて、
線形アドレスの形成に備える。
レジスタ15及び16の情報は線形アドレス加算器12
と実効アドレス加算器14の双方に供給される。この情
報は完全な形の実効アドレスと、完全な形の線形アドレ
スを形成するのに十分である。このように、先に挙げた
相対基底アドレスを保持するためにはレジスタ15又は
18のいずれか一方を要求すれば良く、筐た、レジスタ
15がインデックスを保持し、レジスタ16は変位アド
レスを保持すれば良い。実効アドレス加算器14はレジ
スタ15及び16の3種類の情報を組合わせて、最終的
には実効アドレスバス25を介して出力として提供され
る実効アドレスを形成する。
さらに、線形アドレス加算器12は、レジスタ15に記
憶されているセグメント基底アドレスを、実効アドレス
を構成するレジスタ15及び1603ff!類の情報に
加算して、線形アドレスを形成する。線形アドレス加算
器12は特定のアドレスに必要なそれらの要素に関する
3つの入力を加算して、線形アドレスバス27に出力を
発生する。
尚、実効アドレスを形成するために、相対アドレスと、
インデックスと、変位とがそれぞれ要求されるというこ
とは通常あう得ない。従って、実効アドレス加算器14
に供給される入力は2つだけである。実効アドレスの形
状に3つの要素の全てが必要となることはほとんどない
が、そのような場合には、実効アドレスの形成に2ステ
ツププロセスを使用する。この状況では、実効アドレス
加算器14にかいて中間実効アドレスを形成し、マルチ
プレクサ20又は21を介してそれをレジスタ15又は
16へ戻す。その後、次のクロック周期の間に、この中
間実効アドレスを実効アドレスの残シの要素と組合せる
。同様に、実効アドレスの3つの要素全てが必要である
場合には、選択されたレジスタに保持されている中間実
効アドレスを、線形アドレス加算器12により、線形ア
ドレスのその他の4!!素と組合せる。
また、限界違反又はアクセス権利違反が起こっているか
否かを判定するために、セグメンテーション装置により
実効アドレスバスをサンプリングすることに注意すべき
である。そのような違反のいずれかが起こっていた場合
には、違反に対応するために、システム割込みが発生さ
れる。
第2図は、第1図に示すブロック線図の動作にかける信
号のシーケンスを示すタイミング図である。第2図は本
発明の動作を理解する上で助けになるはずである。第2
図のタイミング図の最上部にはいくつかのクロック周期
が示されている。各クロック周期は正に向かう段階と、
それに続く負に向かう段階とに分割されている。タイミ
ング図の左側に沿って、動作が実行されているパイプラ
インの特定の段階が示されている。パイプ2インのD−
1段階は2つの実行前段階のうちの1つであシ、D−2
段階は第2の実行前段階であシ、E−段階はパイプライ
ンの実行段階であp、wB−段階はパイプラインの戻し
書込み段階である。それぞれのクロック周期において、
段階ごとに、信号は関連する特定の命令を示す番号によ
υ表わされている。そのため、それぞれの信号が適用さ
れる命令を容易に確定できる。
第1のクロック周期の第2の段階の間に、第1の命令に
関する線形アドレスの形成を開始するために、信号IS
L入〔1〕がrIJ装置からI St、A制御線によっ
て送信される。l5LA(11信号は早期スタートアド
レス形成制御信号であう1本質的には、レジスタ15.
16及び1Tにラッチされるべきパスと、それらのバス
がレジスタにラッチされるべき時点とを規定する復号命
令である。
第1のクロック周期の同じ第2の段階で、別の制御信号
IESSEG[X3 がrIJ装置によりセグメンテー
ション装置に供給される。l装置から供給されるこの制
御信号IESSEC[:1)は、セグメント基底アドレ
スのうち使用すべき特定の1つを表わす。
以上説明したシステムにおいてメモリ管理のセグメンテ
ーションプロセスを実現する場合、各セグメントは、そ
の特定のセグメントのセグメント基底アドレスと、その
限界と、セグメントに関連する全てのアクセス権利と、
セグメントが先に書込まれているか否かに関する情報と
を含むセグメントの64ビツト記述子を提供しているこ
とは先に述べた通シである。特定の1つのセグメントを
処理するに当たbl ロードセレクタ命命は該当するセ
グメントに関する記述子をセグメンテーション装置内の
記述子キャッシュにロードする。その結果、セグメンテ
ーション装置は、その記述子キャッシュの中に、処理す
べきセグメントのセグメント基底アドレスと、限界と、
アクセス権利とを保持していることになる。
第1の線形アドレスに関する信号IESSEG[1〕は
、第1の線形アドレスの形成に必要であるセグメント基
底アドレス及びその他の情報を求めて、記述子キャッシ
ュをアクセスする。従って、第2のクロック周期の第1
の段階では、線形アドレス及び実効アドレスの形成に必
要な情報がセグメンテーション装置のレジスタ15.1
6及び17にラッチされる。
第2のクロック周期の第2の段階に入ると、線形アドレ
ス加算器12は必要な加算を実行する。
第2のクロック周期の第2の段階では、信号GSBR(
11が線形アドレスバス2Tに線形アドレスを発生させ
る。信号GSBR(1)は、発生されるアドレスの種類
を表示するために使用される。
すなわち、動作の第1の実行前段階Dlと、aIzの実
行前段階D2とにしいては、線形アドレス加算器12の
入力端子に線形アドレスの構成要素が2ツチされ、さら
に、線形アドレスバス2Tを介して出力端子まで供給さ
れていることがわかるであろう。
同じクロック周期の間に、これらの制御信号は、実効ア
ドレス加算器14により、レジスタ15及び16に記憶
されている同じ情報を使用して、実効アドレスを発生さ
せると共に、実効アドレス加算器14の出力を実効アド
レスバス25を介して供給させる。パイプラインの実行
段階である第3のクロック周期に入ると、セグメンテー
ション装置は、アクセス違反又は限界違反が起こってい
るか否かを判定するために、発生後、実効アドレスバス
25に現われた実効アドレスについて違反検査を実行す
る。第3のクロック周期において、違反検査は、セグメ
ンテーション装置の違反検査装置により、何らかの違反
が発生した場合には割込み信号を発生できるような形で
実行される。
第2のクロック周期の第2の段階で、D−2段階にかい
て第1の命令に対し線形アドレスが計算されている時点
で、システムのl装置から供給された信号l5LA[2
)及び信号IESSEG [2)により、第2の命令が
開始されてbる。第1の線形アドレスを形成させた第1
の命令のときに供給された信号と同様に、l5LA(2
)信号は、データをレジスタ15.18及び1Tに供給
すべきバスと、供給の時点とを規定する早期スタートア
ドレス情報信号である。信号IESSEG(2)は、ア
ドレスを形成するに際して使用されるべきセグメント基
底アドレスを表わす。従って、第1の線形アドレスが形
成され、線形アドレスバス2Tに出力として供給されて
いる間に、第2のアドレスの要素はレジスタ15.16
及び11にラッチされていることになる。
次に、第3のクロック周期の第1の段階の間には、第1
の線形アドレスについての違反検査が実行されているの
であるが、第2の段階に入ると、第2の命令の第1の部
分に関するバスサイクルの種類を表わす信号GSBR(
2−1:lが供給される。
ここで説明する第2の命令は、完全に実行するのに4つ
のクロックパルスを必要とする命令である。
そのような命令は、たとえば、特定のセグメントの64
ビツト記述子をレジスタにロードする前述のようなロー
ドDS命令であっても良いであろう。
このような命令は、それが処理しなければならない情報
の長さの関係上、アクセスするのにいくつかのアドレス
を必要とし、従って、実行するためにいくつかのクロッ
クパルスを必要とする。
第3のクロック周期の第2の段階では、先の命令アドレ
スについてセグメンテーション違反検査が実行されてい
る一方で、線形アドレス加算器12は第2の命令の第1
の線形アドレスを発生し、線形アドレスバス2Tを介し
て供給する。第4のクロック周期に入ると、パイプライ
ンの実行段階で、第2の命令の第1のアドレスについて
違反検査が実行される。第4のクロック周期の第1の段
階では、システムの制御装置と、システムのD装置とに
より信号C3LA [2−2)及び信号DCIMD[:
2−21が供給される。信号C3LAは、第2の命令に
よ多発生されるべき第2のアドレスについて、レジスタ
15,16及び1Tにラップすべき特定のバスと、それ
らのバスをラッチすべき時点とを規定する←信号IgL
A K類似する)信号である。従って、第2の命令に関
して発生された第1の線形アドレスについてセグメンテ
ーション違反検査が実行されている第4のクロック周期
の間には、線形アドレス加算器12による第2の命令の
第2の線形アドレスと、実効アドレス加算器14による
第2の実効アドレスの発生に先立って、レジスタにかい
ては次の線形アドレスの構成要素がセットアツプされて
いる。
第5のクロック周期の第1の段階の間には、第2の命令
の第2のアドレスに関して利用すべ!特定のバスを指定
するために、GSBRC2−2)信号が供給される。こ
の後、第5のクロック周期の第2の段階では、第2の線
形アドレスを実際に発生する。また、第5のクロック周
期の第1の段階の間に、該当するセグメントにおける特
定のアドレス形成情報を指定するために、第2の命令に
よ多発生されるべき第3の線形アドレスに関するアドレ
ス情報制御信号C3LA[2−3)ε、第2の命令の同
じ線形アドレスに関する信号DCIMD(2−3〕 も
発生される。
第6のクロック周期の第1の段階では、信号GSBRC
2−3)によりバス仕様を指定し、第6のクロック周期
の第2の段階では、第2の命令のM30線形アドレスを
発生する。第6のクロック周期の第1の段階にかいては
、第2の線形アドレスに関する検査も実行される。
最後に、第7のクロック周期の第1の段階では、第2の
命令の第3の線形アドレスに関するセグメンテーション
違反検査が実行される。
このシステムは第3のクロック周期の実行段階で発生さ
れた第1の線形アドレスに関するセグメンテーション違
反検査を実行し、第4のクロック周期では第2の線形ア
ドレスを完成する第2の線形アドレスのセグメンテーシ
ョン違反検査を実行し、第6のクロック周期では第2の
命令について第2の線形アドレスの実行を完成するセグ
メンテーション違反検査を実行し、第7のクロック周期
では第2の命令について第3の線形アドレスの実行を完
成するセグメンテーション違反検査を実行することが認
められるであろう。従って、本発明のシステムの動作中
、クロック時間ごとにシステムによう1つの線形アドレ
スが供給されるとしっても良い。このような構成により
、システムの動作をかなうスピードアップすることがで
きるので、特定の期間中に処理しうる命令の数は著しく
多くなる。
以上、好ましい一実施例により本発明を説明したが、本
発明の趣旨から逸脱せずに、説明した発明に対して数多
くの変形を実施できることは当業者には明白であろう。
従って、本発明は特許請求の範囲により詳細に規定され
るものと考慮されるべきであることが理解されるであろ
う。
【図面の簡単な説明】
第1図は、本発明に従って構成されたアドレス発生装置
を示すブロック線図、第2図は、本発明の動作を示す上
で有用なタイミング図である。 12・・・・線形アドレス加算器、14・・・・実効ア
ドレス加算器、15,16.17・・・・レジスタ、2
G、21.22・・・・マルチプレクサ。

Claims (2)

    【特許請求の範囲】
  1. (1)実行クロック周期ごとに1つのアドレスを形成す
    るマイクロプロセッサ回路において、3入力加算器と、
    2入力加算器と、第1のクロック周期の間に仮想アドレ
    スの要素を第1及び第2の加算器に供給する手段と、第
    1のクロック周期の間にセグメント基底アドレスを第1
    の加算器に供給する手段と、第2のクロック周期の間に
    第1及び第2の加算器により発生されたアドレスの種類
    を確定する手段と、第2のクロック周期の間に第1及び
    第2の回路に出力アドレスを発生させる手段とを具備す
    るマイクロプロセッサ回路。
  2. (2)実行クロック周期ごとに1つのアドレスを形成す
    るマイクロプロセッサ回路において、変位、相対基底ア
    ドレス及びインデックスを表わす信号を供給する手段と
    ;変位、相対基底アドレス及びインデックスを表わす信
    号を組合せて、実効アドレスを形成する手段と;セグメ
    ント基底アドレスを表わす信号を供給する手段と;変位
    、相対ベースアドレス、インデックス及びセグメント基
    底アドレスを表わす信号を組合せて、線形アドレスを形
    成する手段とを具備するマイクロプロセッサ回路。
JP2196445A 1989-08-04 1990-07-26 マイクロプロセツサ回路 Pending JPH0371337A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/389,749 US5204953A (en) 1989-08-04 1989-08-04 One clock address pipelining in segmentation unit
US389,749 1989-08-04

Publications (1)

Publication Number Publication Date
JPH0371337A true JPH0371337A (ja) 1991-03-27

Family

ID=23539570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2196445A Pending JPH0371337A (ja) 1989-08-04 1990-07-26 マイクロプロセツサ回路

Country Status (2)

Country Link
US (2) US5204953A (ja)
JP (1) JPH0371337A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8211529B2 (en) 2003-11-15 2012-07-03 Basf Aktiengesellschaft Substrate provided with a dressing

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386534A (en) * 1992-10-27 1995-01-31 Motorola, Inc. Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value
US5784713A (en) * 1993-03-05 1998-07-21 Cyrix Corporation Address calculation logic including limit checking using carry out to flag limit violation
US5740393A (en) * 1993-10-15 1998-04-14 Intel Corporation Instruction pointer limits in processor that performs speculative out-of-order instruction execution
US5590351A (en) * 1994-01-21 1996-12-31 Advanced Micro Devices, Inc. Superscalar execution unit for sequential instruction pointer updates and segment limit checks
US5418736A (en) * 1994-03-11 1995-05-23 Nexgen, Inc. Optimized binary adders and comparators for inputs having different widths
US5577219A (en) * 1994-05-02 1996-11-19 Intel Corporation Method and apparatus for preforming memory segment limit violation checks
US5790443A (en) * 1994-06-01 1998-08-04 S3 Incorporated Mixed-modulo address generation using shadow segment registers
US5860154A (en) * 1994-08-02 1999-01-12 Intel Corporation Method and apparatus for calculating effective memory addresses
US5583806A (en) * 1994-10-17 1996-12-10 Advanced Micro Devices, Inc. Optimized binary adder for concurrently generating effective and intermediate addresses
US5822786A (en) * 1994-11-14 1998-10-13 Advanced Micro Devices, Inc. Apparatus and method for determining if an operand lies within an expand up or expand down segment
EP0724212A3 (en) * 1995-01-26 1997-08-27 Ibm Circuit arrangement for calculating an address in one cycle
US5612911A (en) * 1995-05-18 1997-03-18 Intel Corporation Circuit and method for correction of a linear address during 16-bit addressing
US5815736A (en) * 1995-05-26 1998-09-29 National Semiconductor Corporation Area and time efficient extraction circuit
US5659712A (en) * 1995-05-26 1997-08-19 National Semiconductor Corporation Pipelined microprocessor that prevents the cache from being read when the contents of the cache are invalid
US5655139A (en) * 1995-05-26 1997-08-05 National Semiconductor Corporation Execution unit architecture to support X86 instruction set and X86 segmented addressing
US5696994A (en) * 1995-05-26 1997-12-09 National Semiconductor Corporation Serial interface having control circuits for enabling or disabling N-channel or P-channel transistors to allow for operation in two different transfer modes
US5546353A (en) * 1995-05-26 1996-08-13 National Semiconductor Corporation Partitioned decode circuit for low power operation
US5687102A (en) * 1995-05-26 1997-11-11 National Semiconductor Corp. Double precision (64 bit) shift operations using a 32 bit data path
US5731812A (en) * 1995-05-26 1998-03-24 National Semiconductor Corp. Liquid crystal display (LCD) protection circuit
US5583453A (en) * 1995-05-26 1996-12-10 National Semiconductor Corporation Incrementor/decrementor
US5541935A (en) * 1995-05-26 1996-07-30 National Semiconductor Corporation Integrated circuit with test signal buses and test control circuits
US5680564A (en) * 1995-05-26 1997-10-21 National Semiconductor Corporation Pipelined processor with two tier prefetch buffer structure and method with bypass
US5598112A (en) * 1995-05-26 1997-01-28 National Semiconductor Corporation Circuit for generating a demand-based gated clock
US5900886A (en) * 1995-05-26 1999-05-04 National Semiconductor Corporation Display controller capable of accessing an external memory for gray scale modulation data
US5710939A (en) * 1995-05-26 1998-01-20 National Semiconductor Corporation Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination
US5821910A (en) * 1995-05-26 1998-10-13 National Semiconductor Corporation Clock generation circuit for a display controller having a fine tuneable frame rate
US5682339A (en) * 1995-05-26 1997-10-28 National Semiconductor Corporation Method for performing rotate through carry using a 32 bit barrel shifter and counter
US5826106A (en) * 1995-05-26 1998-10-20 National Semiconductor Corporation High performance multifunction direct memory access (DMA) controller
DE69619623T2 (de) * 1995-05-26 2002-11-07 Nat Semiconductor Corp Integrierte primär- und sekundärbussteuereinheit mit einer reduzierten pinanzahl
DE69616718T4 (de) * 1995-05-26 2003-02-20 Nat Semiconductor Corp Vorrichtung und verfahren zur bestimmung von adressen fehlausgerichteter daten
US5692146A (en) * 1995-05-26 1997-11-25 National Semiconductor Corporation Method of implementing fast 486TM microprocessor compatible string operations
US5612637A (en) * 1995-05-26 1997-03-18 National Semiconductor Corporation Supply and interface configurable input/output buffer
US5617543A (en) * 1995-05-26 1997-04-01 National Semiconductor Corporation Non-arithmetical circular buffer cell availability status indicator circuit
US6237074B1 (en) 1995-05-26 2001-05-22 National Semiconductor Corp. Tagged prefetch and instruction decoder for variable length instruction set and method of operation
US5754460A (en) * 1995-05-26 1998-05-19 National Semiconductor Corporation Method for performing signed division
US5752269A (en) * 1995-05-26 1998-05-12 National Semiconductor Corporation Pipelined microprocessor that pipelines memory requests to an external memory
US5699506A (en) * 1995-05-26 1997-12-16 National Semiconductor Corporation Method and apparatus for fault testing a pipelined processor
US5649147A (en) * 1995-05-26 1997-07-15 National Semiconductor Corporation Circuit for designating instruction pointers for use by a processor decoder
US5831877A (en) * 1995-05-26 1998-11-03 National Semiconductor Corporation Bit searching through 8, 16, or 32 bit operands using a 32 bit data path
US5805923A (en) * 1995-05-26 1998-09-08 Sony Corporation Configurable power management system having a clock stabilization filter that can be enabled or bypassed depending upon whether a crystal or can oscillator is used
US5717909A (en) * 1995-05-26 1998-02-10 National Semiconductor Corporation Code breakpoint decoder
US5652718A (en) * 1995-05-26 1997-07-29 National Semiconductor Corporation Barrel shifter
EP0776504B1 (en) * 1995-05-26 2004-08-18 National Semiconductor Corporation Integrated circuit with multiple functions sharing multiple internal signal buses for distributing bus access control and arbitration control
FR2740578A1 (fr) * 1995-10-30 1997-04-30 Theis Bernard Microprocesseur ultrafiltre
US5787241A (en) * 1995-12-18 1998-07-28 Integrated Device Technology, Inc. Method and apparatus for locating exception correction routines
US5961580A (en) * 1996-02-20 1999-10-05 Advanced Micro Devices, Inc. Apparatus and method for efficiently calculating a linear address in a microprocessor
US6085302A (en) * 1996-04-17 2000-07-04 Advanced Micro Devices, Inc. Microprocessor having address generation units for efficient generation of memory operation addresses
US5835968A (en) * 1996-04-17 1998-11-10 Advanced Micro Devices, Inc. Apparatus for providing memory and register operands concurrently to functional units
EP0908827B8 (en) * 1997-10-03 2007-05-09 Matsushita Electric Industrial Co., Ltd. Memory interface device and memory address generation device
US6192459B1 (en) * 1998-03-23 2001-02-20 Intel Corporation Method and apparatus for retrieving data from a data storage device
US6363471B1 (en) 2000-01-03 2002-03-26 Advanced Micro Devices, Inc. Mechanism for handling 16-bit addressing in a processor
US6457115B1 (en) 2000-06-15 2002-09-24 Advanced Micro Devices, Inc. Apparatus and method for generating 64 bit addresses using a 32 bit adder
US7404064B2 (en) * 2004-04-07 2008-07-22 Stmicroelectronics S.A. Method and device for calculating addresses of a segmented program memory
GB2554074B (en) * 2016-09-14 2019-12-25 Advanced Risc Mach Ltd Comparator and memory region detection circuitry and methods

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
US4783757A (en) * 1985-12-24 1988-11-08 Intel Corporation Three input binary adder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8211529B2 (en) 2003-11-15 2012-07-03 Basf Aktiengesellschaft Substrate provided with a dressing

Also Published As

Publication number Publication date
US5408626A (en) 1995-04-18
US5204953A (en) 1993-04-20

Similar Documents

Publication Publication Date Title
JPH0371337A (ja) マイクロプロセツサ回路
US5606520A (en) Address generator with controllable modulo power of two addressing capability
US6260088B1 (en) Single integrated circuit embodying a risc processor and a digital signal processor
US5604915A (en) Data processing system having load dependent bus timing
US6061783A (en) Method and apparatus for manipulation of bit fields directly in a memory source
EP0068163A2 (en) Instruction address stack in the data memory of an instruction-pipelined processor
US5381360A (en) Modulo arithmetic addressing circuit
JPH0135366B2 (ja)
JPS63193230A (ja) 高性能マイクロプロセッサ集積回路とメモリ参照を行なう方法
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
EP0772819B1 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
KR910001314B1 (ko) 데이타 처리 시스템에서의 가상 메모리 사용방법
US6687808B2 (en) Data processor using indirect register addressing
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPS6014338A (ja) 計算機システムにおける分岐機構
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
Alsup Motorola's 88000 family architecture
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH04213135A (ja) 外部メモリアクセスシステム
KR19980018065A (ko) 스칼라/벡터 연산이 조합된 단일 명령 복수 데이터 처리
JPH027097B2 (ja)
Alpert et al. 32-bit processor chip integrates major system functions
JPH02293931A (ja) 制御装置
Burnley Architecture for realtime VME systems
GB2126384A (en) Branch instructions in digital computers