JPH061441B2 - 先取り確認装置 - Google Patents

先取り確認装置

Info

Publication number
JPH061441B2
JPH061441B2 JP59502916A JP50291684A JPH061441B2 JP H061441 B2 JPH061441 B2 JP H061441B2 JP 59502916 A JP59502916 A JP 59502916A JP 50291684 A JP50291684 A JP 50291684A JP H061441 B2 JPH061441 B2 JP H061441B2
Authority
JP
Japan
Prior art keywords
instruction
word
pipeline
latch
stage
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.)
Expired - Lifetime
Application number
JP59502916A
Other languages
English (en)
Other versions
JPS60502230A (ja
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPS60502230A publication Critical patent/JPS60502230A/ja
Publication of JPH061441B2 publication Critical patent/JPH061441B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、データプロセッサにおける先取り確認装置に
関するものであり、より詳細には、キャッシュ方向性プ
ロセッサや仮想記憶装置のような、階層記憶装置を有す
るデータプロセッサにおける先取り確認装置に関する。
背景技術 現代データ処理システムの多くは、データや命令の多重
レベル記憶を使用する。キャッシュメモリは、大容量で
低速の主メモリと中央処理装置(CPU)との中間に置
かれた小容量で高速のメモリである。キャッシュメモリ
は主メモリからロードされ、CPUによつて必要とされ
るデータがキャッシュメモリ内に存在(resident)する場
合には、そこへの非常に高速なアクセスが可能である。
もしも特定の必要とされる情報が、キャッシュメモリ内
に存在しない場合には、それは主メモリ内に配置され、
他の必要となりそうな情報とともに、キャッシュメモリ
に転送されなければならない。
仮想記憶装置も概念的には同様であるが、一般的には、
他の目的に使用される。仮想記憶装置には、主メモリは
設けられているが、CPUアクセス経路(path)への主メ
モリに関連するキャッシュメモリは、存在していてもよ
く存在しなくてもよい。典型的な仮想記憶装置において
1つのCPUによつて、直接的にアドレス可能な記憶
(メモリ)量は限定されているため、非常に大きいプロ
グラムやデータベースを収容するためには、しばしば磁
気ディスクメモリの形式のような極めて大容量の付加的
なメモリが必要とされる。
キャッシュメモリの場合も同様に、データはディスクか
ら主メモリにロードされるので、データはCPUに対し
て高速にアクセス可能である。もしも必要なデータが主
メモリ内に存在しない場合には、データのブロックを主
メモリ内へ移動するために、ディスクアクセス(disk ac
cess)が行なわれる。
データ処理装置の特定のアーキテクチヤや、特にそのデ
ータ処理装置によつて実行されるべき各々の命令の長さ
に依存して、データのブロックが、仮想マシンのディス
クからその主メモリに転送され、或いは、主メモリから
キャッシュベースのマシンのキャッシュメモリへ転送さ
れる時には、特定の命令は、転送されたデータのブロッ
クの境界をこえて拡がり(extend)、実際には命令の一部
分のみが、キャッシュメモリまたは主メモリ内に存在す
るようになるかもしれない。例えば、もしも特定の処理
装置のデータ語サイズ(data word size)が、16ビットで
あり、各種の形式の命令が、16ビットから、例えば、48
ビット即ち3ワード(語)までの各種の長さの命令を有
するならば、仮想マシン(記憶装置)のディスクから主
メモリへのデータのブロックの特定の転送は、48ビット
長さ、または、32ビットの長さの命令を、不完全に転送
することになるであろう。従つて、CPUがこの不完全
な命令を実行しようとすれば、エラー条件が検出され、
このエラーを回復するため、マシンは例外処理(excepti
on handling)ルーチンの実行を強要されるであろう。
ある中央処理装置の構成においては、すべての命令は命
令実行ユニット(装置)または命令デコーダにロードさ
れ、命令の無効性は直ちに識別可能である。しかしなが
ら、パイプライン命令アクセス方式(pipelined instruc
tion accessing system)を利用するCPUでは、不完全
転送は、命令を取出すことによって、いつでも即座に検
出可能というわけではない。このようなパイプライン方
式においては、CPUの命令実行装置によって命令を実
際に実行中に、実行される次の命令が同時に、主メモリ
から取り出されている。主メモリと命令実行装置(ユニ
ット)との間のデータ経路(パス)が、可能な最大長さ
の命令ほど長くない(即ち、16ビットデータ経路(パ
ス)と48ビット命令)場合には、不完全命令の第1の16
ビット語(ワード)が取り出され、パイプラインの上部
(top)に配置され、引き続いて不完全命令の第2の16ビ
ット語が取り出される間にパイプラインの中に進み、抜
けている第3番目の16ビット語の命令に対して取り出し
が試みられると同時に、ついに実行は、命令の第1の16
ビット語において開始されるであろう。
不完全命令語の実行の開始を避けるというこの問題に対
する1つの解決は、第1の16ビット語の取出しにおい
て、取り出されるべき命令のサイズを識別することであ
る。もしも命令が多重語長命令(multiple-word length
instruction)であるならば、直ちに全部の必要語の取出
しが行なわれ、全命令がメモリ内に存在することを保証
する。このようなシステム(装置)では、命令が不完全
であるならば、フォールト、即ちエラー条件が、直ちに
発生される。しかしながら、ある場合には、無効命令(i
nvalid instruction)の第1の語がパイプラインの最上
部(head)にロードされる時よりもむしろ、それが実際に
実行するばかりになるまで、フォールト(fault)の実行
を延ばすことが望ましい。例えば、もしもすぐ前の命令
(即ち、いま実行中の命令)がプログラムの別の部分へ
分岐(branch)を発生する場合には、プログラムはむしろ
異なった命令の流れ(stream)に分岐することから、同時
に先取りされた無効命令は、この系列の動作ではあまり
必要とされないであろう。従って、通常無効命令の実行
が準備されるか、または、実行が開始される時点まで出
来る限り長くフォールトメカニズム(fault mechanism)
の開始を遅らせることが望ましい。
従って、本発明の目的の1つは、無効命令の場合に、命
令実行装置(ユニット)が、命令順序の実行中の出来る
限り遅い時点でフォールトを実行するように、先取り命
令を確認するための、先取り確認装置を提供することで
ある。
本発明の更に別の目的の1つは、パイプライン方式のC
PUにおけるより効率的な命令の実行のための先取り確
認装置を提供することである。
発明の簡単な要約 本発明のこれら及び他の目的は、命令実行装置(ユニッ
ト)と、メモリから命令実行ユニットへの命令語を表わ
すデータセグメント(data segment)を与えるn−段パイ
プラインと、現在実行中の命令に引き続いて実行される
べき命令語を先取りし、命令実行装置(ユニット)によ
る実行の前に、先取りした命令語の有効性を確認する手
段と、及び、無効命令の実行が開始される時にのみに、
命令実行装置(ユニット)をフォールト条件に遅らせる
手段とからなるデータプロセッサによつて本発明におい
て達成される。
発明の構成 本発明の構成は下記に示す通りである。即ち、本発明は
メモリ(6)内に記憶されたプログラムを含む所定の順序
の命令を実行するデータプロセッサ(2)において、各々
の命令は、mが1よりも大きい整数において、m個の命
令語よりも多くはないが少なくとも1個の命令語を含
み、前記データプロセッサ(2)は、 nは1よりも大きい整数であり、命令パイプラインは語
の長さが異なっている命令を受信する、各段において、
1個の命令語を記憶するn段の命令パイプライン(14,1
6)と、 命令パイプライン(14,16)に結合され、かつその出力段
(16)において始まり命令パイプライン(14,16)内に記憶
された命令語に応答し、命令語を実行しかつその実行期
間中に1つの先取り命令信号を供給する命令実行手段(1
7,18,19)と、 命令実行手段(17,18,19)に結合されかつ先取り命令信号
に応答して、前記メモリ(6)からの前記所定の順序の命
令における次の命令を先取りする先取り命令手段(8,19)
と、及び 先取り命令手段(8,19)に結合されしかも命令パイプライ
ン(14,16)に結合され、次に実行されるべき命令の第1
の命令語が命令パイプライン(14,16)の出力段(16)の中
に記憶されるまで、次のより高次の段中へ命令パイプラ
インの各段の中に記憶された命令語を前進させた後、命
令パイプラインの入力段(14)中へ先取り命令手段によっ
て先取りされた各々の命令語を記憶させる命令パイプラ
イン制御手段(19)とから構成され、 それぞれが命令パイプラインの各段に対応し、しかも各
段と同期して順次前進し、各々のラッチ(20,22)は命令
パイプライン(14,16)の対応する段内に記憶された命令
語の無効を表示する確認ビットを記憶するn段のシリア
ルに接続された確認ラッチ(20,22)と、 先取り命令手段に結合されかつ命令パイプラインの入力
段(14)に対応する確認ラッチ(20)に結合され、各々の命
令語の取出し期間中に発生するエラーを検出し、かつ前
記無効命令語が記憶される命令パイプライン(14,16)の
入力段(14)に対応する確認ラッチ(20)をセットする先取
りエラー検出手段(30,46)と、及び 命令パイプライン(14,16)及び確認ラッチ(20,22)へ結合
され、 セットされた入力段(14)に対応する確認ラッチ(20,22)
内の確認ビットに応答して、1つ、あるいはそれ以上の
一語命令、もしくは1つの多重語命令の実行をいつ開始
するべきか、あるいは継続を許可されるべきかの時期を
決定し、現在実行中の命令が多重語か否かを表示する信
号(MR1-MR5)を受信し、多重語命令が実行できない場合
に限り先取り命令手段によつて先取りされた語を用いて
直ちに違法命令信号を発生する命令確認手段(52,54,60)
と、から構成される先取り確認装置としての構成を有す
る。
上記構成においては、その構成要素において命令の単位
即ち語(数)の無効性を表示する確認ラッチと異なる単
語の長さを有する命令の取り扱いとの関係を明確にし
た。特に、命令パイプラインは異なる単語の長さを有す
る命令を受信することによって特徴づけられる。確認ラ
ッチの引用(参照)番号はパイプライン段の数に対応す
る。命令確認手段は、セット(設定)された入力段に対
応する確認ラッチ内の確認ビットに応答して1つあるい
はそれ以上の一語命令もしくは1つの多重語命令の実行
を(止められることに対して)いつ開始されるべきなの
か、あるいはいつ継続を許可されるべきなのかの時期を
決定するために機能する。
従って、確認ラッチと異なる語の長さを有する命令との
緊密な関係を直接的に結びつけることが明確になってい
る。
命令パイプラインの入力段は構成要素14、即ち、命令取
出しバツフアである。命令パイプラインの出力段もまた
上記構成より明らかである。本明細書に記載されている
命令パイプラインはほんの2ステージ(段)分の長さで
あったため、該パイプラインの出力段は構成要素16、即
ち、命令デコードバッファである。
また、引用された手段は命令語の取出し中に起きるエラ
ーを検出するということと、検出されたエラーは、該エ
ラーが検出された時に取出された命令語を結果的に無効
にするものであるということも明らかである。
パイプラインの入力段に対応するラッチの確認ビットは
エラーの検出を表示するためにセット(設定)される点
も明らかである。
本明細書では、「確認ビットは、命令語が先に取出され
た時、エラーによつて起こった無効の命令語を表示す
る」と述べている。この部分について上記発明の構成中
では、確認ビットの機能、及び命令の先取りが進行中に
起きるエラーと確認ビットとの関係をより明瞭に記して
いる。
多重語命令の任意の語が無効ビットによって無効となっ
た場合における本発明の作用(動作)を説明する。
即ち、多重語命令の命令実行が停止される時、たとえそ
れが最後の語であっても、即ち、(n+1)語命令の
(n+1)番目の語は無効とされる。この機能につい
て、違法命令信号は、多重語命令が実行できない場合に
限り、早急に発生される。一番最後の可能時間において
本発明にフォールト(fault)を行うことを許可するとい
う作用を行なう。
命令確認回路(手段)によって発生される違法命令信号
は、もしも同一の命令で続く語の中に1つでも無効のも
のがあれば、第1番目の命令実行の進行を許可しないこ
とによつて、多重語命令の第1番目の語の実行を最小限
化するように機能する。
図面の簡単な説明 第1図は仮想記憶用プロセッサに用いられる本発明の構
成要素を表わすブロック図である。
第2図A,B,C及びDは物理的なアドレス空間の境界
においてメモリ内に存在する命令語を表わす。
第3図A,B及びCは様々な長さの命令に対する先取り
及び確認パターン(fetch and verification patterns)
を図示する。
第4図は本発明の命令実行装置(ユニット)の確認及び
フォールトメカニズム(機構)の実施に使用される回路
を表現する論理図である。
発明の概要 先取り命令の確認のためのデータ処理方法及びデータ処
理装置が提供されている。
本装置は1つの命令ユニットとn段のパイプラインを含
む。ここでn段のパイプラインはメモリから命令ユニッ
トへの命令語を表示するデータセグメントを提供する。
本装置は更に、現在実行中の命令に対して引き続いて実
行されるべき命令語を先取りするための回路を含んでい
る。そしてこの回路は実行ユニットによる命令の実行の
以前に先取りされた命令語の有効性を確認するための回
路である。またこの回路は無効命令の実行が開始された
ときにのみ命令ユニットをフォールト条件にするという
回路である。
実施例 第1図は仮想記憶用データプロセッサにおいて、本発明
において使用される構成要素を表わすブロック図であ
る。
中央処理装置(CPU)2は、CPU(23本のアドレス
線を有する)の16メガバイトの論理アドレス範囲を、よ
り小さな主メモリ6内の物理的なメモリアドレスに変換
するための、マッピング機能やアドレス変換を提供する
メモリ管理装置(memory management unit,MMU)4
に接続された多数のアドレス線A1-23を有する。第1図
の特定の構成においては、汎用CPU2は、例えば、現
在Motorola社で製造されているMC68000マイクロプロセ
ッサ装置に類似のマイクロプロセッサであってもよい。
本発明を実現するためには、後で説明される特定の論理
回路(logic)が、このようなプロセッサに組み込まれる
であろう。メモリ管理装置(MMU)4はまた、Motoro
la社で製造されるMC68451メモリ管理装置(ユニット)
であってもよい。
一般に、CPU2はMMU4へ論理アドレスを供給する
ためのプログラムカウンタ8を含む。論理アドレスの受
信に応答して、MMU4はそこに記憶された一組のセグ
メント記述語(segment descriptors)を調べ、この要求
された論理アドレスは、主メモリ6中の物理アドレス
に、現在マップされているかどうかを決定する。論理ア
ドレスがそのようにマップされている場合には、主メモ
リ6へ出力するためにMMU4は論理アドレスを対応す
る物理的なアドレスへ変換する。CPU2によつてMM
U4に対して提出された論理アドレスが、主メモリ6の
物理的アドレス空間にマップされないときには、MMU
4はCPU2にフオールト信号を発生し、バスエラー(b
us error)が起きていることを表示する。一般に、CP
U2は、初めにCPU2によってMMU4に対して提出
され、要求された論理アドレスにおける情報を主メモリ
6へロードするために、ディスク10や他の適当な2次的
なメモリシステムから、時にはダイレクトメモリアクセ
ス装置(DMAC)を介して、主メモリ6へのデータ転
送を開始することによって、フォールト信号に応答する
であろう。
本発明においては、CPU2の命令実行装置(ユニッ
ト)は16ビット長のデータ語で動作する。本実施例にお
ける命令は、1語、2語、または3語からなり、データ
語は主メモリ6からパイプライン方式で取り出される。
即ち、命令語はすべて最初に主メモリ6から命令取出し
バッファ(Instruction Fetch Buffer)14に対してロード
される。シーケンサ(sequencer)は信号を発生し、次の
事象を起こし続ける。シーケンサからの1つの出力信号
は、命令取出しバッファ14内の語(word)を命令デコード
バッファ(Instruction Decode Buffer)16に対してロー
ドし、第2命令、或いは第1命令の第2語である、主メ
モリ6内の次の連続語は、この命令取出しバッファ14に
ロードされる。シーケンサからの次の信号において、命
令デコードバッファ16における語は部分的にデコードさ
れて、実行を開始し、主メモリ6からの3語命令の第3
語である、次の連続語の取り出しが開始される。命令デ
コードバッファ内の語はまた、命令レジスタ17に対して
転送され、そこでは、先取りされた語(prefetched wor
d)が命令取出しバッファ14内に配置され、前にそこにあ
った語が命令取出しバッファ16内に入った後で、実行を
続ける。このようにして、命令は、前の命令の実行中に
主メモリ6から取り出され、CPU2の作動効率を改善
する。本実施例では、2段のパイプラインが使用されて
いる。他の実施例では、パイプラインは他の段数である
ことも可能である。違法命令デコードレジスタ(Illegal
Instruction Decode Register)18は違法命令を検出す
るために、命令レジスタ17に接続される。これは後でさ
らに説明されるであろう。命令レジスタはまた、上記の
シーケンサ(sequencer)の一部分であるマイクロコード
ROMアドレス発生器(Microcode ROM Address Generat
or)19に接続される。MMU4には命令取出しバッファ
有効ラッチ(Instruction Fetch Buffer Valid Latch)20
が接続され、これは次に命令デコードバッファ有効ラッ
チ(Instruction Decode Buffer Valid Latch)22に結合
される。これらは後で説明されるであろう。
第2図A、B、C及びDは命令語を表わしており、主メ
モリ6内に存在するコードの部分と現在ディスク10内に
残されているものとの間の境界線に対して、命令語は整
合化して配列(align)されている。例えば、第2図Aに
おいては、各ブロックは16ビットの命令語の1個を表わ
している。各ブロックにおける分数の分母は、ある特定
の命令の語数を示し、また分子は、命令のどの語がその
特定のブロック内に含まれているかを示している。初め
の2ブロックと第3ブロック及び第4ブロックとの間の
垂直の破線は、主メモリ6と、物理的には主メモリ6内
に存在しない仮想メモリ或いはディスク内在データとの
間の境界を表わす。第2図Aに図示された例では、ディ
スク10から主メモリ6へ転送されたデータのブロックや
或いは、“ページ(page)”は3語命令の内の初めの2語
のみを含んでいる。第1ブロック(第2図の最左端)の
内容が命令デコードバッファ16にロードされた後には、
第2ブロックの内容は命令取出しバッファ14内に存在す
ることになるであろう。この時点で、命令の第1語は実
行を開始する用意が整い、同時に、命令の第3語の取出
しが発生する。
第2図Bでは物理的なメモリの中の2語は、主メモリ6
内に全部存在している2語命令を示す。第2図Cは、境
界に接して位置する2個の連続する1語命令を図示し、
このような命令は2個とも、完全に主メモリ6の中にあ
る。第2図Dは、3語命令の第1語が続いている1語命
令を図示する。
どの場合でも、プロセッサの命令の流れ(stream)が、実
際に主メモリ6内に記憶された命令語とそのように記憶
されていない命令語との間の境界を横切ろうとする時に
は、次の先取りのために、ページフォールト表示(page
fault indication)が復帰(return)される。第2図Aに
示す場合以外ではすべて、現在の命令は全部実行され、
この命令が実行されるまで、フォールトの取得は延期さ
れるであろう。例えば、第2図Bにおいて、2語命令の
内の第1語は実行を開始するばかりであり(即ち、それ
は命令デコードバッファ(Instruction Decode Buffer)1
6内にあり)、第2語は首尾よく取り出されている(即
ち、後述されるべき特定の論理回路(logic)は、別な方
法で表示されていない)。この命令の実行は、その後、
進行するであろう。なぜならばこれは、次の先取りが有
効かどうかに無関係であるからである 第2図Cでは、命令実行バッファ(Instruction Executi
on Buffer)16内の現在の命令は1語命令であるから、そ
の実行は進行するであろう。引き続いて、第2の1語命
令もまた実行されるであろう。なぜならば、次にあとに
続く先取りの成功が第2の1語命令の実行に無関係だか
らである。
第2図Dの場合には、命令デコードバッファ(Instructi
on Decode Buffer)16内の命令は実行されるであろう。
しかし後続する次の命令は、命令の第2語の取り出しに
おいてエラーが指示されることがあるから、実行されな
いであろう。これは、第3の命令語がその命令が実行を
開始する前に、実際に首尾よく取り出されたということ
をプロセッサが確認しなければならない第2図Aの場合
とは著しく違っている。
第3図A、B及びCは、様々な長さの命令の取出し及び
確認のパターンを図示している。第3図Aの1語命令の
場合には、命令語の有効性はその命令の実行の開始にお
いてチェックされ、しかもその命令はたんに、別の語を
取り出し、その成功の跡(track)をたどらなければなら
ない。第3図Bに示すように、2語命令の場合には、命
令語の有効性は、第2語がすでに取り出され命令取出し
バッファ14内に存在していることから、命令の実行の開
始時においてチェックされている。命令の第2語が使用
される以前に、マイクロコントロール(microcontrol)語
(word)は、CPU2に対して、成功取出しフラグ(succe
ssful fetch flag)或いは第2命令語が記憶されている
命令パイプラインの段に付随した命令取出しバッファ有
効フラグ(Instruction Fetch Buffer Valid flag)20を
検査させる。もしもその語が首尾よく取り出されたなら
ば、命令の実行は継続し、次の2つの命令語の先取りも
含まれる。もしもその語がうまく取り出されない場合に
は、論理回路(logic)は命令の実行を停止し(abort)、第
2語を首尾よく取り出せないためのページフォールト(p
age fault)が、その後とられる。第3図Cは2語の場合
の延長であるが、上記の場合と同様に命令取出しバッフ
ァ(Instruction Fetch Buffer)内に存在する命令語の有
効性チェックを含み、また、第3の命令語が命令の第1
語により先取りされる間の、その有効性チェックも含
む、3語命令の場合を図示している。
第4図は本発明の命令実行装置(ユニット)の確認及び
フォールトメカニズム(機構)を実施するのに用いられ
る回路を表現する論理回路図である。この開示の目的に
対する論理回路(logic)はMC68000MPUや他の同様のデ
バイスによつて発生された信号を利用しており、第4図
の特定の論理回路(logic)またはその変形はさらに現在M
C68000において使用される論理回路である。MC68000の
機能信号(即ち、ピン(pin)機能)の記述は、このデバ
イス用に発行されたデータシート、または、Motorola社
から入手できる“16ビットマイクロプロセッサ使用者マ
ニアル”において見い出される。MC68000のマイクロコ
ード機能の記述は、本発明の特許譲受人に譲渡された米
国特許第4,342,078号明細書において見い出されるであ
ろう。この特許、及び、特にその中の第4図と第5図の
説明はまた、本発明で使用するのに適切なシーケンサ(s
equencer)の構造と動作の説明を提供する。
前に述べたように、不成功の取出し(unsuccessful fetc
h)の結果であるフォールト(fault)は、出来るだけ遅く
行なわれるべきであるという要求のために長さの異なっ
た命令は、本発明において異なったように処理される。
即ち、無効の取出しを行なう試みが次の命令において行
なわれるために、正常に実行する1語命令は割り込まれ
ることがない(中断されることはない)。
ある特定の機能コードは、現在実行中のサイクルタイプ
(cycle type)を表示する中央処理装置(ユニット)の中
で供給されるかもしれない。前に述べたMC68000は、こ
のような機能コードを組み込んでいる。第4図において
は、MC68000の出力ピンへの提出のために発生される機
能信号(IFC0,IFC1,IFC2)は検知され、使用者プログラム
が実行されていることを示す、ある特定の信号の組合せ
の存在によって第4図のブロック30内において図示され
る論理回路(logic)における程度まで、その趣旨の信号
を発生するため使用される。機能信号は、現在実行され
ている命令が使用者(user)命令であることを示すために
利用される。
機能信号がCPU2によつてどのようにして実際に発生
されるのかについての詳細な説明は以下の理由によりこ
こでは詳述しない。即ち、プロセッサの出力ピンにおい
て機能信号を供給するMC68000のような数多くの市販の
プロセッサが存在する。前述したように、出版物として
入手可能なMC68000のデータシートを参照すれば、機能
信号の更に詳細な事項が与えられている。使用者プログ
ラムはCPU2によって実行されているという表示を機
能信号が供給するということは明らかである。使用者プ
ログラムの表示は、プロセッサのある所定の出力ピンに
おける機能信号の組合わせを出力として発生することに
よって与えられる。
従って、本明細書においてはこの既知のプロセッサの特
徴について詳しく述べることはせず、第4図において、
先取りされた命令の確認(命令自体が有効か否かの決
定)について説明されているように機能信号は使用のた
めに入力として論理回路30に接続されることのみを説明
した。信号TSENは外部メモリアクセスが実行され、その
アクセスが内部レジスタアクセスではないことを示す内
部信号である。もしもこれらの条件が両方ともに真であ
るならば、ブロック30からの結果としての信号は、トラ
ンジスタ46に加えられ、第1図において以前に図示した
ように、バスエラー信号は命令取出しバッファ有効ラッ
チ(Instruction Fetch Buffer Valid latch)20にゲート
制御(gate,通過)される。このラッチは、端子44におけ
るCPUのバスエラー信号入力ピン上に能動低入力(act
ive low input)が発生したときにのみ、高(high)の位置
でラッチされるであろう。トランジスタ42は保持(susta
ining)用トランジスタであり、特定のタイミング或いは
クロック位相の発生に基づき使用される。
従ってもしも現在実行されている命令が使用者(user)命
令であって、外部メモリアクセスが実行され、さらに加
えて、MMU4からバスエラー信号が受信されてフォー
ルト条件を表示する場合には、ラッチIFBV20は取り出さ
れ命令取出しバッファ14に導入されたデータが無効デー
タであるということを表示するようにセットされるであ
ろう。このラッチの出力は簡素化のためANDゲートで表
わされた回路50に加えられ、この回路はIFBVセット信号
と実行命令語によって発生されたADV信号とをAND(乗
算)し、次の命令語をパイプライン内に進める。「ADV」
信号は、次の命令語がパイプライン内で移動されるか(m
ove)進行されるかのタイミングを制御するように機能す
る進行(advance)信号である。本明細書中において記載
されているように、この信号は1語の命令(an instruct
ion word)の実行に関係してCPUによつて供給もしく
は発生される。この作用(動作)については後述する
が、特に、1語の命令語が実行を開始するために命令レ
ジスタ17に読み込まれる時、それは解読(デコーダ)さ
れて、マイクロコードROM及びナノコードROM(マ
イクロコードROMアドレス発生器19)からの第1のマ
イクロコード命令を選択するために、ほかの条件と共
に、前記解読(デコード)された命令の一部分が使用さ
れる。
第1のマイクロコード命令は次の命令語を先取りさせ、
且つパイプラインを進行させる。(即ち、ADV信号を発
生する)。この条件の発生に基づいて、命令取出しバッ
ファ(Instruction Fetch Buffer)14内の語が命令デコー
ドバッファ16に進められると、IFBVフラグ(flag)はIDBV
ラッチ22に進められる。IDBVラッチ22は次に、AND機能5
2に結合され、命令デコードバッファ16内に存在する語
の実行開始において、内部割込みが発生し、プロセッサ
のマイクロコードの中でジヤンプ(jump)を強制し、プロ
セッサが違法条件(illegal condition)を処理するよう
に、特別のルーチンに入らせるであろう。ラッチ20の設
定(setting)と命令取出しバッファ(Instruction Fetch
Buffer)14への無効命令語のローディング(loading)の発
生によって、回路50は命令デコードバッファ内に存在す
る現在の命令の完全な実行においてのみフォールト(fau
lt)を強制するであろう。なぜならば内部割込みは、パ
イプラインが前進した後に発生されるからである。しか
しながら、もしも命令デコードバッファ16の中の命令が
2語または3語命令であるならば、命令の第1語は明ら
かに有効であるが、この場合には、多重語(multi-word)
命令の第2語または第3語が無効のために、全命令の実
行は不可能である。この場合には、ラッチ20の出力はま
たANDゲート54を含む追加の回路に印加される。ここでA
NDゲート54はIFBVラッチ20のセット(設定)状態と現在
実行中の命令は多重語命令でありプロセッサは命令の後
方部の語を使用するということを示すマイクロコードR
OM(MR1〜MR5)からの特定の出力とを、AND(乗算)す
る。IFBVラッチの設定とプロセッサは多重語命令の後方
部の語を使用しているということの表示によって、ブロ
ック60のラッチがセットされ、これによって出力が強制
されしかも現在のマイクロコード順序の即時停止(immed
iate abortion)が行なわれ、エラーから回復するために
バスエラー順序にジャンプされる。
論理回路(logic)52によって検知されたマイクロコード
ROM出力は命令語の実行の開始において実行された第
1番のマイクロコード命令によって発生される。従っ
て、フォールト(fault)は多重語命令の場合においてさ
えも、CPU内のデータのいかなる破壊的な転送にも先
立って行なわれる。
第4図の論理回路の動作を、上記第3図の各例を利用し
て説明しよう。
前述のごとく第3図における破線の右のブロックは、定
義されていない命令語、即ち、現在主メモリ6内で利用
できない語を表わしている。第4図の論理回路は命令の
流れによる破線の横断(crossing)はどの点で起こるか、
プロセッサにより、それは何時検出され、また、いつ作
用されるかを決定するために設けられている。
1語命令である第3図Aの場合には、1語命令自体の最
初の1語の実行によって、それが取り出している命令語
(即ち、境界線のすぐ右の命令語、前に取り出された第
2の1語命令)が有効であるかどうかを決定することは
しない。これは、有効と知られている第1の1語命令の
実行が、いかなる他の命令語が有効であるかどうかには
依存しないからである。本発明の特徴はフォールト(fau
lt)が命令の流れ(ストリーム)の実行において可能な
限り遅く行なわれるということにあることが思い出され
るだろう。もちろん、各命令語はその中に後続する命令
語を取り出すための準備を有し、取出しは、境界のすぐ
右のブロック内にある語を試みるであろう。そしてその
取出しが不成功であったことを表示する適当なフラグが
セットされるだろう。しかしこれは、最初の1語命令自
体の実行には無関係であるから、実際にフラグがセット
されたかどうかを調べるためのいかなるチェックも行な
われない。この場合には、使用者プログラムが実行さ
れ、外部メモリアクセスも行なわれているので、IFBVラ
ッチ20は不成功の取出しが試みられたということを表示
するバスエラー(Bus Error)信号が端子44上に存在する
ことに基づいて、セットされる。命令デコードバッファ
16内に第1の1語命令が配置され、命令取出しバッファ
14内に第2の1語命令が配置されることで、第1の命令
の実行は命令自体が有効か否かを決定するために、IDBV
ラッチ22を検査することによつて開始され、その後、次
の命令語(境界のすぐ右)の取り出しが開始され、そし
てパイプラインが進行する。第1の命令は命令レジスタ
(Instruction Register)17に部分的に転写される。命令
レジスタ17はCPU内のデータ転送或いは動作を開始す
る命令の部分を含んでいる。順序付け(sequencing)が開
始されたことから、命令デコードバッファ16の内容はも
はや不必要となり、また、第2の1語命令は先廻り命令
(アドバンスコマンド)によってバッファに読み込まれ
る。同時に第3の命令語が取り出され、取出しが不成功
であるためバスエラーが生ずる。使用者プログラムが実
行され、外部アクセスが行なわれているため、それに関
連してバスエラーはIFBVラッチ20に命令取出しバッファ
14の(取り出されたばかりの)内容は無効であるという
ことを表示させる。第1の1語命令は命令取出しバッフ
ァ14の内容に関係なく適切に実行されうるため、フォー
ルト(fault)を行う必要は、なおまったくないことに注
意すべきである。
上記バスエラーがIFBVラッチ20に無効であることを表示
させる点について更に詳述する。上記記載内容は第3図
Aに提示されているように第3の一語命令の先取りに関
連している。そこでは、第3の命令は主メモリ6内にあ
るのではなく、仮想メモリ(ディスク10)内にある。こ
の説明では、論理回路30に入力される機能コードが使用
者プログラムが実行されていることを示すのは真である
と記している。
命令語はCPU2に対して外部からアクセスされなけれ
ばならないので、1つの外部アクセスが行なわれ、そし
てTSEN信号がアクテイブとなる。従って、論理回路30は
トランジスタ46に対してアクテイブ出力を供給する。前
述したように、第3番目の命令は主メモリ6内には存在
しないという理由で、メモリ管理装置(MMU)4はC
PU2に対して、バスエラー信号(BUS ERROR)を供給し
ている。
論理回路30の能動(アクテイブ)出力及び、バスエラー
信号(BUS ERROR)が命令取出しバッファ有効ラッチIFBV2
0をセット(設定)する。命令取出しバッファ有効ラッ
チIFBV20がセット(設定)される時それは、取り出され
たばかりの命令取出しバッファ14の内容が無効であると
いうことを表示する。
第1の1語命令の実行が完了すれば、いま命令デコード
バッファ16内に存在する第2の1語命令は、次の語(第
4語)の取出しの開始と、実行の完了のために命令レジ
スタ(バッファ)17に第2の1語命令が転写されること
によるパイプラインの前進の開始とによって、実行を始
めることができ、命令取出しバッファ(Instruction Fet
ch Buffer)14中の無効語は命令デコードバッファ16に進
められ、しかも別の不成功の取出しが試みられる。
IFBVラッチ20は以前にセット(設定)されていたので、
パイプライン前進信号はIDBVラッチ22をセット(設定)
する。もちろん、違法取出し(illegal fetch)は、IFBV
ラッチ20がセット(設定)を保持することを確実にす
る。現在実行中の命令は実行のために、さらに別の命令
語を必要としないため、再びフォールトが行なわれるこ
とはない。しかしながら、IDBVラッチ22が設定されてい
ることから、第2の1語命令が実行を完了し命令デコー
ドバッファ16内の語が実行を開始すると、新サイクルNC
Eのスタートを表示する信号が発生される。IDBVラッチ2
2がセット(設定)されていることから、内部割込みが
発生されエラー処理ルーチン(error handling routine)
にマイクロコードをジャンプさせる。
実際のマイクロ命令順序に関しては、その実行を開始す
るために命令語が命令レジスタ17へ読み込まれる時、そ
れはデコードされ、デコードされた命令の一部分は他の
条件とともに、マイクロROM及びナノROMから第1
のマイクロ命令を選択するために用いられる。第1のマ
イクロ命令は次の命令語が取り出されるようにし、パイ
プラインを進める。実行命令は1語命令であることか
ら、マイクロ命令は命令デコードバッファ16、或いは命
令取出しバッファ14中の命令語の有効性を確認すること
はない。シーケンサ(sequencer)は同時に命令により特
定された動作の残りの部分、例えばレジスタからレジス
タへのデータ転送を行なう。最後に、シーケンサは命令
デコードバッファ16中の命令を、命令レジスタ17中へ前
進するようにする。
第3図Bの場合には、2語命令の内の第1語は命令デコ
ードバッファ16へ転送され、第2語は取り出されて命令
取出しバッファ14へロードされる。第1語が実行を開始
すると、これは2語命令であることから、IFBVラッチ20
を検査する。IFBVラッチ20は設定されていないことか
ら、第1語は次の取出しを開始し、パイプラインの前進
を開始する。第1語は命令レジスタ17へ入り、第2語は
命令デコードバッファ16へ転送され第3語の取出しが試
みられるが、この試みは失敗する。IFBVラッチ20はセッ
ト(set)され、無効データは命令取出しバッファ14に転
送される。第2語が実行を開始すると、それはパイプラ
インの前進を開始し、命令レジスタ17へロードされ、別
の取出しを開始するが、この試みもまた失敗である。パ
イプラインの前進はIDBVラッチ22をセットし、第1の無
効語は命令デコードバッファ16に転送される。無効命令
の実行開始の準備が出来ると、NCE信号が発生され、上
記の内部割込みを生ずる。
マイクロ命令順序から見て、2語命令の内の第1語が命
令レジスタ17へ読み込まれる時、第1の選択されたマイ
クロ命令は次の命令語を命令取出しバッファ14に取り出
されるようにし、パイプラインを進めさせる。実行命令
は2語命令であることから、後続のマイクロ命令は、命
令デコードバッファ有効ラッチ22を検査することによっ
て、シーケンサ(sequencer)に次の命令語、即ち、命令
デコードバッファ16内に存在する語の有効性を検査させ
る。もしもこのラッチが設定されている場合には、フォ
ールトが行なわれる。もしもラッチがセット(設定)さ
れていない場合には、シーケンサ(sequencer)は実行命
令によつて特定された動作の残りの部分を次に行ない、
その後命令デコードバッファ16内の語が命令レジスタ17
に進められるようにする。
第3図Cは3語命令の場合を示し、取出しと確認が同時
に発生しなければならない。3語命令の内の第1語は命
令デコードバッファ16内にあり、第2語は命令取出しバ
ッファ14内にある。両者ともに首尾よく取り出された場
合には、IFBVラッチ20もIDBVラッチ22も設定(set)され
ることはない。
第1語が実行を開始すれば、それは第3語の取出しとパ
イプラインの前進を始動する。取出しは不成功であるこ
とから、IFBVラッチ20は設定され、第1語は命令レジス
タ17へ転送される。パイプラインの前進に引き続いて、
第2語は命令デコードバッファ16内にあり、無効の第3
語はIFBVラッチ22のセット(設定)とともに命令取出し
バッファ14の中にある。
最初の順序付けが始まると、マイクロコードROMのビ
ットMR1−MR5が検査される。前述したように、ビットMR
1−MR5はマイクロコードROMの出力であって、現在実
行中の命令は多重語命令であり、かつプロセッサは命令
の後方の語を使用しているかどうかということの表示を
する。上記記載はビットMR1−MR5が検査される最初の順
序付けに関連している。しかし、ビットMR1−MR5の何が
対応するのかについては、本明細書第35頁第10行乃至第
17行において記載されているように、命令の解読(デコ
ード)についての説明が記載されている。解読(デコー
ド)された命令の一部分はマイクロROMからのひとつ
のマイクロ命令を選択するために使用される。
前述したように、ビットMR1−MR5はまたROMからも発
生し、これは命令の解読(デコード)にも関係してい
る。ビットMR1−MR5は違法命令が発生される時期及び命
令の実行が止められる時期を決定するラッチ60を制御す
るために機能する。MR1−MR5ビットは一度、ラッチ20が
セット(設定)され、エラーを表示すると、多重語命令
の実行の継続に関係する情報を供給する。これらビット
の存在は論理回路52の中の3語命令を示し、ANDゲート5
4を介してラッチ60がセット(設定)され、これは直ち
に、命令レジスタ17の内容(第1命令語)の制御下のい
かなるレジスタデータの転送に先立ち、ROMアドレス
発生回路(米国特許第4,342,078号明細書を参照)の例
外処理論理回路に供給される違法命令信号(Illegal Ins
truction signal)を発生する。
このようにして各々の場合において、取出し不成功によ
るフォールトは出来る限り遅く行なわれ、即ち、実行可
能ないかなる命令も、たとえ後続する取出しが誤ってい
ると解っていても、実行される。
発明は好ましい実施例に基づいて説明されたが、当業技
術者には、ここに添付された請求の範囲によつて限定さ
れた本発明の展望の範囲内にある様々な変更が可能であ
ることを容易に理解できるであろう。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭56−127248(JP,A) 特開 昭57−60441(JP,A) 特開 昭55−166744(JP,A) 特公 昭54−34583(JP,B2)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】メモリ(6)内に記憶されたプログラムを含
    む所定の順序の命令を実行するデータプロセッサ(2)に
    おいて、各々の命令は、mが1よりも大きい整数におい
    て、m個の命令語よりも多くはないが少なくとも1個の
    命令語を含み、前記データプロセッサ(2)は、 nは1よりも大きい整数であり、命令パイプラインは語
    の長さが異なっている命令を受信する、各段において、
    1個の命令語を記憶するn段の命令パイプライン(14,1
    6)と、 命令パイプライン(14,16)に結合され、かつその出力段
    (16)において始まり命令パイプライン(14,16)内に記憶
    された命令語に応答し、命令語を実行しかつその実行期
    間中に1つの先取り命令信号を供給する命令実行手段(1
    7,18,19)と、 命令実行手段(17,18,19)に結合されかつ先取り命令信号
    に応答して、前記メモリ(6)からの前記所定の順序の命
    令における次の命令を先取りする先取り命令手段(8,19)
    と、及び 先取り命令手段(8,19)に結合されしかも命令パイプライ
    ン(14,16)に結合され、次に実行されるべき命令の第1
    の命令語が命令パイプライン(14,16)の出力段(16)の中
    に記憶されるまで、次のより高次の段中へ命令パイプラ
    インの各段の中に記憶された命令語を前進させた後、命
    令パイプラインの入力段(14)中へ先取り命令手段によっ
    て先取りされた各々の命令語を記憶させる命令パイプラ
    イン制御手段(19)とから構成され、 それぞれが命令パイプラインの各段に対応し、しかも各
    段と同期して順次前進し、各々のラッチ(20,22)は命令
    パイプライン(14,16)の対応する段内に記憶された命令
    語の無効を表示する確認ビットを記憶するn段のシリア
    ルに接続された確認ラッチ(20,22)と、 先取り命令手段に結合されかつ命令パイプラインの入力
    段(14)に対応する確認ラッチ(20)に結合され、各々の命
    令語の取出し期間中に発生するエラーを検出し、かつ前
    記無効命令語が記憶される命令パイプライン(14,16)の
    入力段(14)に対応する確認ラッチ(20)をセットする先取
    りエラー検出手段(30,46)と、及び 命令パイプライン(14,16)及び確認ラッチ(20,22)へ結合
    され、 セットされた入力段(14)に対応する確認ラッチ(20,22)
    内の確認ビットに応答して、1つ、あるいはそれ以上の
    一語命令、もしくは1つの多重語命令の実行をいつ開始
    するべきか、あるいは継続を許可されるべきかの時期を
    決定し、現在実行中の命令が多重語か否かを表示する信
    号(MR1-MR5)を受信し、多重語命令が実行できない場合
    に限り先取り命令手段によって先取りされた語を用いて
    直ちに違法命令信号を発生する命令確認手段(52,54,60)
    と、から構成される先取り確認装置。
JP59502916A 1983-09-12 1984-07-16 先取り確認装置 Expired - Lifetime JPH061441B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53082083A 1983-09-12 1983-09-12
US530.820 1983-09-12

Publications (2)

Publication Number Publication Date
JPS60502230A JPS60502230A (ja) 1985-12-19
JPH061441B2 true JPH061441B2 (ja) 1994-01-05

Family

ID=24115123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59502916A Expired - Lifetime JPH061441B2 (ja) 1983-09-12 1984-07-16 先取り確認装置

Country Status (6)

Country Link
EP (1) EP0155275B1 (ja)
JP (1) JPH061441B2 (ja)
KR (1) KR920004433B1 (ja)
DE (1) DE3477616D1 (ja)
SG (1) SG54691G (ja)
WO (1) WO1985001368A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3785897T2 (de) * 1986-02-28 1993-09-30 Nippon Electric Co Steuervorrichtung zum vorabruf von befehlen.
US8249140B2 (en) 2005-12-30 2012-08-21 Intel Corporation Direct macroblock mode techniques for high performance hardware motion compensation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5434583A (en) * 1977-08-24 1979-03-14 Bunji Hagiwara Electrode for measuring percutaneous oxygen
JPS55166744A (en) * 1979-06-13 1980-12-26 Fujitsu Ltd Data processor
JPS56127248A (en) * 1980-03-11 1981-10-05 Toshiba Corp Operation controller
JPS5760441A (en) * 1980-09-30 1982-04-12 Fujitsu Ltd Information processing equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
GB1515376A (en) * 1975-07-09 1978-06-21 Int Computers Ltd Data storage systems
DE2557787C2 (de) * 1975-12-22 1982-09-09 Siemens AG, 1000 Berlin und 8000 München Vorausladeeinrichtung zum mikroprogrammierten und verdeckten Bereitstellen von Maschinenbefehlen unterschiedlichen Formats in einem Prozessor eines datenverarbeitenden Systems
US4181934A (en) * 1976-12-27 1980-01-01 International Business Machines Corporation Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4298927A (en) * 1978-10-23 1981-11-03 International Business Machines Corporation Computer instruction prefetch circuit
US4253147A (en) * 1979-04-09 1981-02-24 Rockwell International Corporation Memory unit with pipelined cycle of operations
JPS57185545A (en) * 1981-05-11 1982-11-15 Hitachi Ltd Information processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5434583A (en) * 1977-08-24 1979-03-14 Bunji Hagiwara Electrode for measuring percutaneous oxygen
JPS55166744A (en) * 1979-06-13 1980-12-26 Fujitsu Ltd Data processor
JPS56127248A (en) * 1980-03-11 1981-10-05 Toshiba Corp Operation controller
JPS5760441A (en) * 1980-09-30 1982-04-12 Fujitsu Ltd Information processing equipment

Also Published As

Publication number Publication date
KR920004433B1 (ko) 1992-06-05
DE3477616D1 (en) 1989-05-11
EP0155275A4 (en) 1986-04-15
JPS60502230A (ja) 1985-12-19
WO1985001368A1 (en) 1985-03-28
SG54691G (en) 1991-08-23
KR850002910A (ko) 1985-05-20
EP0155275B1 (en) 1989-04-05
EP0155275A1 (en) 1985-09-25

Similar Documents

Publication Publication Date Title
US4710866A (en) Method and apparatus for validating prefetched instruction
EP0628184B1 (en) Cpu having pipelined instruction unit and effective address calculation unit with retained virtual address capability
JP4216182B2 (ja) 複数の命令セットを用いるデータ処理
EP0380858A2 (en) Method and apparatus for detecting and correcting errors in a pipelined computer system
KR100335785B1 (ko) 데이타처리명령의실행
KR100309615B1 (ko) 고속프로그램가능로직컨트롤러(plc)
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US4757445A (en) Method and apparatus for validating prefetched instruction
US5581774A (en) Data processor decoding and executing a train of instructions of variable length at increased speed
JPH07129413A (ja) 割込み処理装置
JPS6125169B2 (ja)
US5390305A (en) Information processing apparatus capable of executing exception at high speed
JPS63193239A (ja) 命令順序監視装置と方法
JPH09330221A (ja) マイクロプロセッサにおける早期例外を追跡するシステム及び方法
KR100263262B1 (ko) 마이크로프로세서
JPH061441B2 (ja) 先取り確認装置
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JP3715057B2 (ja) パニック・トラップ・システム
JP2572821B2 (ja) 命令再実行による演算処理方式
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JP3739556B2 (ja) 情報処理装置
JPH0728669A (ja) マイクロプロセッサ
JPS59172044A (ja) 命令制御方式
JPS5924347A (ja) マイクロ命令実行制御方法
JPH0752402B2 (ja) データ処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371