JPH0243626A - コンピュータ・プロセッサの実行速度を制御する装置 - Google Patents

コンピュータ・プロセッサの実行速度を制御する装置

Info

Publication number
JPH0243626A
JPH0243626A JP1137306A JP13730689A JPH0243626A JP H0243626 A JPH0243626 A JP H0243626A JP 1137306 A JP1137306 A JP 1137306A JP 13730689 A JP13730689 A JP 13730689A JP H0243626 A JPH0243626 A JP H0243626A
Authority
JP
Japan
Prior art keywords
speed
bit
software instructions
computer processor
value
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
JP1137306A
Other languages
English (en)
Inventor
William M Kaupinis
ウィリアム・エム・コーピニス
Kai Y Yuen
カイ・ワイ・ユエン
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.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of JPH0243626A publication Critical patent/JPH0243626A/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/30181Instruction operation extension or modification
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータのプロセッサに関し、特にコン
ピュータのプロセッサの処理能力を制御する装置に関す
る。
〔従来の技術および解決しようとする課題〕コンピュー
タ技術が進化するに伴い、特定のコンピュータ・システ
ムが最初に構築された時に存在したプログラムよりも更
に早くソフトウェア命令を実行する改善されたコンピュ
ータのプロセッサを作ることが実際に即したものとなっ
た。次いで、現在あるシステムのコンピュータ・プロセ
ッサの改善されたプログラムが最も効率的に動作し得る
コンピュータ・プロセッサで置換することにより、現在
あるシステムを更新することが望ましくなる。
しかし、同時に、どのコンピュータ・プロセッサでも、
このようなソフトウェアの費用および労力を回避できる
ように最初に開発されたソフトウェアを・イ吏用するよ
うにすることも望ましい。
改善されたプロセッサに対する1つの要件は、このよう
なプロセッサが置換されるコンピュータ・プロセッサと
同じソフトウェア命令を実行することができることであ
る。改善されたプロセッサに対するこのような要件は、
−群の命令の実行速度が重要である時に起生ずる。例え
ば、誘導ミサイルの如き複雑な軍事装備においては、あ
る特定の状態の検出とこのようなミサイルの軌道を変更
する制御信号の生成との間に規定された時間間隔が要求
されよう。この間隔は、長さが実行に要する時間がこの
規定の時間間隔と等しいようなプログラムの実行によっ
て満たすことができよう。もし類似のプログラムが改善
されたプロセッサにおいて実行されたとすれば、命令の
実行に必要な遅延時間は減少し、規定の時間間隔は満た
されないことが判る。
〔課題を解決するための手段〕
上記の背景を念頭に置いて、本発明の目的は、コンピュ
ータ・ソフトウェア命令が少なくともある第1の速度お
よび第2の速度で実行できる改善されたコンピュータ・
プロセッサの提供にある。
本発明の別の目的は、現在あるソフトウェア命令が現存
するコンピュータ・プロセッサにおける同じ速度で実行
することができるが、ソフトウェア命令を更に早い速度
で実行するようにできる改善されたコンピュータ・プロ
セッサの提供にある。
本発明の上記および他の目的は、マイクロシーケンサを
備えたコンピュータ・プロセッサによって達成される。
このマイクロシーケンサは、2組のマイクロ命令、即ち
、第1の速度でソフトウェア命令を実行するための第1
の組のマイクロ命令と、第2の速度でソフトウェア命令
を実行するための第2の組のマイクロ命令を有する。本
マイクロシーケンサは、ある速度が保持されるビット・
ラッチからの制御信号(第1および第2の組のマイクロ
命令のいずれが実行されるかを示す)に応答する。
この速度ビットは、第1の速度で動作させるよう意図さ
れたソフトウェアのブロック内に含まれたソフトウェア
命令によって第1の状態にセットすることができる。各
サブルーチン呼出しおよび割込みと同時に、速度ビット
の状態がサブルーチン・スタックに記憶され、この記憶
されたビットは、このビットを第1の状態にセットする
命令がサブルーチン即ち割込みハンドラーに含まれてい
なければ、サブルーチン即ち割込みハンドラが第2の速
度で実行するような第2の状態にセットされる。サブル
ーチン即ち割込みから戻ると同時に、第1のビットの状
態はこのサブルーチン・スタックから復元される。
本発明をより完全に理解するため、図面の以降の記述を
参照されたい。
(実施例) 図面は、実行されるべき特定のプログラムに従って第1
の速度あるいは第2の速度でソフトウェア命令を実行す
ることができるコンピュータ・プロセッサ(参照番号は
付さない)を示している。当業者は、図示された多くの
要素がコンピュータ・プロセッサ技術において周知のも
のであることが判るであろうので、このような要素につ
いては詳細に記述しない。当業者はまた、コンピュータ
・プロセッサの電源、タイミングおよび制御ワイヤの如
きいくつかの標準的な要素は示されていないことに気が
つくであろうが、本発明に従って構成されたコンピュー
タ・プロセッサがこのような要素を含むことは理解され
よう。また、蜘奔暗−−コンピュータ・プロセッサは1
つの集積回路チップあるいはまた集積回路チップの集合
として構成することができるが、本文に述べる発明は、
コンピュータ・プロセッサの構成のどんな仕方にも適用
し得ることも認識されよう。
コンピュータ・プロセッサは、プログラム・メモリーl
Oに記憶されたソフトウェア命令によって制御される。
プログラム・カウンタ12は、次に実行されるべきソフ
トウェア命令を選択するため1つのアドレス・バス上の
プログラム・メモリー10に対し1つのアドレスを与え
る。
この選択された命令は、バスls上のマイクロシーケン
サ16に対して与えられる。次いでマイクロシーケンサ
16は、訟士丑益;コンピュータ・プロセッサの全ての
図示された要素に対して作動する制御回線20上に既知
の制御信号を生成する。明瞭にするため、図示された各
要素に対する接続は示されない。周知のように、バス1
8上の命令は通常、マイクロシーケンサ16内のマイク
ロコード・メモリー(図示せず)に対する1つのアドレ
スとして働く。コンピュータ・プロセッサをして選択さ
れた命令を実行させるため制御回線20上になければな
らない制御信号を表わすマイクロ命令は、マイクロコー
ド・メモリーに記憶される。ここで、更に、マイクロシ
ーケンサ16に対して与えられるアドレスは、回線42
上に与えられる2ビットのラッチ40からの制御信号と
共に、バス18上の命令からなる。そのビットの目的に
ついては、以下において更に詳細に述べることにする0
周知のように、制御回線20上の値は、1つのソフトウ
ェア命令を実行するため数回変更しなければならない(
即ち、いくつかのマイクロ命令が1つのスイッチ命令の
実行のため実行される)。各マイクロ命令は、1つのク
ロック(図示せず)が1つのタイミング・パルスを生じ
る毎に順次装置回線20に対して印加される。
制御回線20は、コンピュータ・プロセッサの他の要素
に接続されている。例えば、制御回線20のいくつかは
、データ・メモリー・アドレス・ゼネレータ22および
データ・メモリー24まで伸びて、データ・ワードの読
出しあるいは書込みのためデータ・メモリー24におけ
る記憶場所を選択する。データ・メモリー24は、最も
あり得る形態のランダム・アクセス・メモリー(RAM
)である。
データ・ワードは、データ・バス26を介してデータ・
メモリー24から読出されあるいはこれに書込まれる。
データ・バス26は、コンピュータ・プロセッサ全体に
わたり作動し、コンピュータ・プロセッサの構成要素間
にデータをバスすることを許容する。特に、データ・バ
ス26は、演算論理装置(ALLI)28に伸び、この
装置がデータについて算術演算および論理演算を行なう
。データ・バス26はまた入出力装置100にも伸びて
いる。
入出力装置+00はどんな公知の装置でもよく、この装
置の正確な特性は、コンピュータ・プロセッサが使用さ
れるシステムによって決定存される。例えば、コンピュ
ータ・プロセッサがミサイルにおいて用いられる場合は
、入出力装置100は、誘導指令を送るための公知の装
置でよい。
周知の通り、コンピュータ・ソフトウェア命令は、これ
らがプログラム・メモリー10に記憶される順序で実行
することができる。このような場合、プログラム・カウ
ンタ12は、新しいソフトウェア命令が実行される毎に
、アドレス・バス14上のプログラム・メモリーlOに
対して与えられるアドレスの値を増分(インクリメント
)する。
しかし、もしソフトウェア命令が実行される順序がこの
ような命令がメモリーに記憶される順序とは関連してい
なければ、より多くの利用度が得られる。このような目
的を達成するための2つの公知の技術がサブプログラム
呼出しと割込みである。このような手法は、サブルーチ
ン呼出しが特定のソフトウェア命令の実行により生じ、
また割込みが割込みロジック30により検出されるある
外部の事象によって生じる点を除いて類似している。マ
イクロシーケンサ16はいずれの事象にも応答するが、
これは制御回線32が割込みの信号を送り、またサブル
ーチンを呼出すソフトウェア命令がバス18上のマイク
ロシーケンサに送られる故である。
サブルーチン呼出しまたは割込みのいずれかに応答して
マイクロシーケンサ16は新しいアドレスをプログラム
・カウンタ12に対してロードさせる。このアドレスは
、(サブプログラム呼出しに応答して)実行されるサブ
プログラム、あるいは(ある割込みに応答して)実行さ
れる割込みハンドラーにおける最初の命令のプログラム
・メモリーlOにおけるアドレスである。ここでは、サ
ブプログラムおよび割込みハンドラは共にソフトウェア
命令の「ブロック」と呼ぶことにする。
サブプログラムおよび割込みの利用度は、サブプログラ
ム呼出しまたは割込みが生じる時実行される命令のシー
ケンスにコンピュータ・プロセッサが「戻る」ようにな
っていなければ、完全に実現されない。このような戻り
をできるようにするため、新しいアドレスがプログラム
・カウンタ12にロードされる前に、プログラム・カウ
ンタ12におけるアドレスがサブルーチン・スタック3
4に記憶される。
ある命令がサブルーチン呼出しまたは割込みに応答して
実行されるコードのブロックが終ることを示す時、この
戻りはサブルーチン・スタック34からアドレスを取フ
てこれをバス38を介してプログラム・カウンタ12に
置くことにより行なわれる。プログラム・カウンタ12
からのアドレスを記憶するためスタックを使用すること
により、別のブロックにより1つのブロックが割込まれ
またこのブロックが後で更に別のブロックによって割込
みされることを可能にし、一般にブロックの「ネスティ
ング」と呼ばれるところのものを許容する。
ここで、このコンピュータ・プロセッサとは、公知の技
術的な改善の応用により、同じクロック周波数を有する
既存のプロセッサよりも早くソフトウェア命令を実行す
るための改善されたプロセッサである。この改善は、既
存のコンピュータ・プロセッサよりも少ないクロック・
サイクルで各ソフトウェア命令が実行されることを可能
にする。換言すれば、この改善されたコンピユータ・プ
ロセッサは、既存のコンピュータ・プロセッサがソフト
ウェアを実行するある第2の速度よりも早い第1の速度
でソフトウェアを実行する。
先に述べた理由により、1つのソフトウェアを第2の速
度で実行する必要がある場合、以下「速度ビット」と呼
ばれるラッチ40の1ビットを第2の状態にセットする
ことができる。先に述べたように、回線42はこの速度
ビットに接続され、マイクロシーケンサ16により使用
されるアドレスの1ビットを提供しであるソフトウェア
命令を実行するため必要なマイクロ命令の位置を指定す
る。このアドレスのビットの残りは、バス18を介して
プログラム・メモリーlOにおける命令によって与えら
れる。少し考えると、速度ビット40が第1の状態にあ
るときには、マイクロシーケンサ16に与えられる各命
令が前記速度ビットが第2の状態にある時とは異なるマ
イクロ命令の実行を生じることが判るであろう。
ここで、この速度ビットが第1の状態にある時実行され
るマイクロ命令とは、第1の速度で実行するようコンピ
ュータ・プロセッサを制御するマイクロ命令である。こ
の速度ビットが第2の状態にある時実行されるマイクロ
命令は、命令を第2の遅い速度で実行するようコンピュ
ータ・プロセッサを制御するマイクロ命令である。
例えば、特定の命令が8つのクロック・パルスで既存の
プロセッサにおいて実行され、また2進コード1100
1100で表わすされるものとしよう。更に、同じ命令
が改善されたプロセッサにおいて4つのマイクロ命令(
即ち、4クロツク・パルス)で実行することができるも
のとしよう。また、速度ビットにおける「1」の数値が
コンピュータ・プロセッサを第1の早い速度で実行させ
、「0」の値がコンピュータ・プロセッサを第2の比較
的遅い速度で実行させるものとしよう。マイクロシーケ
ンサ16のマイクロコード、・メモリー(図示せず)の
アドレス110011001に、4つのマイクロ命令が
記憶されることになろう。これらの同じ4つの命令は、
マイクロコード・メモリーのアドレス11001100
0に記憶されることになろう。
更に、これらの命令と関連しているのは、コンピュータ
・プロセッサに動作を生じさせない更に4つのマイクロ
命令であろう。このような命令は、rNOPJ命令なる
単語で一般に周知である。このため、速度ビットが「1
」の値を持つ時、4つのマイクロコード命令が4クロツ
ク・サイクルで、即ち既存のコンピュータ・プロセッサ
におけるよりも早く実行されることが判る。しかし、速
度ビットが「0」の値を持つ時は、4マイクロコード命
令プラス4つのNOPは8クロツク・サイクル、即ち既
存のコンピュータ・プロセッサにおけると同じ時間量で
実行されることになる。このように、この速度ビットの
状態はソフトウェア命令の実行速度を制御する。
ラッチ40は、マルチプレクサ(MUX)44を介して
データ・バス26と接続されている。この接続は、速度
ビットが「0」または「1」にセットされることを許容
する。ここで、マイクロシーケンサ16は、ソフトウェ
ア命令に応答して適当な制御信号20を生成してラッチ
40の速度ビットを「0」または「1」にセットする。
このように、より早い速度で実行されるべき1ブロツク
のソフトウェア命令は、その第1の命令として、速度ビ
ットを「1」にセットする命令を含むことになる。
既存のソフトウェアは時により遅い速度で作動されねば
ならないがビットを「0」にセットする命令は含まない
ため、1ブロツクのコードが実行される毎に速度ビット
は「0」にセットされなければならない。マイクロシー
ケンサ16が割込みかあるいはサブルーチン呼出しのい
ずれかに応答する時、新しいブロックのソフトウェアが
実行を開始することを思い出すべきである。これらの事
象に応答してマイクロシーケンサ16により実行される
マイクロ命令は、ラッチ40の速度ビットに「0」をロ
ードさせる。
このように、新しいブロックのコードが入る時は常に、
速度ビットは常に「0」にセットされ、このブロックに
おける命令が「1」へのセットを要求しなければ「0」
にセットされた状態を維持することになる。換言すれば
、各ブロックのソフトウェアは、速度ビットを「1」に
セット命令を含まなければより遅い速度で実行する。既
存のソフトウェアのブロックはこのような命令を含まな
いため、既存のソフトウェアはより遅い速度で実行し、
これにより既存のコンピュータ・プロセッサにおいて特
定の間隔で実行するよう設計された全てのソフトウェア
が改善されたプロセッサにおける同じ時間間隔で実行す
ること保証する。
ここで、各ブロックのソフトウェアの初めにおいて、速
度ビットは「省略時ビット」と呼ばれるラッチ40に対
するその数値を第2のビットから得る。あるサブルーチ
ン呼出または割込みに応答する時実行されるマイクロ命
令(即ち、新しいバッファのソフトウェアが入る時実行
されるマイクロ命令)は、回線52を介してMUX44
に送られる省略時ビットの値を速度ビットに記憶させる
。この省略時ビットが「0」の値を与えられる場合、新
しい各ブロックは必要に応じて速度ビットを「0」にセ
ットした状態で実行を開始する。ここで、省略時ビット
はラッチ40の一部であり、その値は速度ビットが変更
できると丁度同じ方法でソフトウェア命令によって「0
」にセットすることができる。
各ブロックのソフトウェアが適正な速度で実行すること
を保証するため、速度ビットは各ブロックの初めにセッ
トされる。しかし、この速度ビットを単に各ブロックの
初めにセットすることは充分ではない。速度ビットはま
た、あるサブルーチンまたは割込みの後実行が1つのブ
ロックに戻る時にもセットされなければならない。戻り
と同時に速度ビットをセットすることは、サブルーチン
または割込みハンドラーの一部として実行されたコード
のブロックが速度ビットのセットを変更するかも知れな
い故に必要である。しかし、あるブロックのソフトウェ
ア命令に戻ると同時に、省略時ビットの値に速度ビット
をセットするだけでは不充分である。速度ビットは、サ
ブルーチン呼出しの割込み前に戻りつつあるブロックが
実行されつつあった時の値にセットされねばならない。
このように、新しいブロックのソフトウェアが入る前に
、速度ビットの値は保管されねばならない。
速度ビットの値は、プログラム・カウンタ12の値と同
じ方法でサブルーチン・スタック34に保管される。こ
のように、サブルーチン・スタック34における各記憶
場所は、プログラム・カウンタ12におけるワードより
も少なくとも1つ多いビットを持つディジタル・ワード
を記憶しなければならない。省略時ビットの値はまた、
同じようにサブルーチン・スタック34にも記憶するこ
とができる。新しいブロックのソフトウェアが入る時(
即ち、サブルーチン呼出しまたは割込み時に)、速度ビ
ットの値は回線46を介してサブルーチン・スタブ);
!34へ送られる。この速度ビットは、プログラム・カ
ウンタ12の値と同時に記憶される。戻りと同時に、サ
ブルーチン・スタック34に記憶された速度ビットの値
は、回線48およびマルチプレクサ44を介してラッチ
40へ送られる。このように、1つのブロックのソフト
ウェアの初めに速度ビットを1にセットすることは、こ
のブロックがより早い速度で実行されることを意味する
。反対に、速度ビットをブロックの初めにセットしない
ことは、このブロック全体が既存のプロセッサに比較し
得る遅い速度で実行されることを意味する。
本発明の1つの実施態様について記述したが、当業者に
は多くの変更が明らかであろう。例えば、ラッチ40は
、コンピュータ・プロセッサが2つの速度より多くの速
度で命令を実行することを可能にする複数の速度ビット
を持ち得る。更に、省略時ビットに「1」の値を与え、
各ブロックのソフトウェア命令が速度ビットを「0」に
セットするソフトウェア命令を含まなければより早い速
度で実行されるようにすることもできよう。他の変更例
においては、ソフトウェアのブロックは、単にサブルー
チン呼出しおよび割込みにのみ限定される代りにファン
クション・コールあるいは他のソフトウェア命令に応答
して実行することもできる。
従って、本発明は、頭書の特許請求の範囲および主旨に
よってのみ限定されることを理解すべきである。
【図面の簡単な説明】
図面は、本発明により構成されたコンピュータプロセッ
サのごく概略なブロック図で ある。 10−・・プログラム・メモリー、12−・・プログラ
ム・カウンタ、14・・・アドレス・バス、16−・・
マイクロシーケンサ、18.38−・・バス、20−・
・制御回線、24・・・データ・メモリー 26−・・
データ・バス、28−・・演算論理装置(ALU)、3
0−・・割込みロジック、32・・・制御回線、34−
・・サブルーチン・スタック、40−2ビット・ラッチ
、42.46.48・−回線、44・・・マルチプレク
サ(MUX)。

Claims (1)

  1. 【特許請求の範囲】 1、第1の速度でソフトウェア命令を実行し得るコンピ
    ュータ・プロセッサであって、 ソフトウェア命令のブロックを順次実行し、かつ第2の
    ブロックにおけるコンピュータ・ソフトウェア命令を実
    行することにより第1のブロックにおけるソフトウェア
    命令の順次の実行を中断するようになっており、また 前記第2のブロックにおける命令の実行後 に前記第1のブロックにおけるコンピュータ・ソフトウ
    ェア命令の順次の実行に戻るよう なっているコンピュータ・プロセッサにおいて、 (a)第1の値と第2の値とを有する制御信号に応答し
    て、前記制御信号が第1の値を有する時はソフトウェア
    命令を第1の速度で実行し、また前記制御信号が第2の
    値を有する時は ソフトウェア命令を第2の速度で実行する手段と、 (b)第1のブロックのソフトウェア命令の順次の実行
    が第2のブロックのソフトウェア命令におけるソフトウ
    ェア命令の実行により中断 される時、前記制御信号の値を記憶し、かつ該制御信号
    を前記第2の値にセットする手段と、 (c)前記第2のブロックにおける命令の 実行の後、前記コンピュータ・プロセッサが前記第1の
    ブロックにおけるコンピュータ・ソフトウェア命令の順
    次の実行に戻る時、前記制御信号を前記の記憶された値
    にセットする手段と、 を設けてなるコンピュータ・プロセッサ。 2、コンピュータ・ソフトウェア命令の実行により前記
    制御信号が前記第1の値を有する請求項1記載のコンピ
    ュータ・プロセッサ。 3、コンピュータ・ソフトウェア命令を記憶し、プログ
    ラム・カウンタにおける値に応答してマイクロシーケン
    サにコンピュータ・ソフトウェア命令を与えるプログラ
    ム・メモリーを備え、該マイクロシーケンサが与えられ
    たコンピュータ・ソフトウェア命令に応答して、第1の
    グループのマイクロ命令を第1の時間間隔において実行
    するコンピュータ・プロセッサにおいて、 (a)1ビットを記憶するラッチを備え、 該ラッチは前記マイクロシーケンサと接続 され、 (b)前記ビットが第2の値を有する時、 前記コンピュータ・ソフトウェア命令に応答して、前記
    マイクロシーケンサにより第2の時間間隔で実行される
    第2のグループのマイクロ命令、 を備えるコンピュータ・プロセッサ。
JP1137306A 1988-05-31 1989-05-30 コンピュータ・プロセッサの実行速度を制御する装置 Pending JPH0243626A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US200279 1980-10-24
US20027988A 1988-05-31 1988-05-31

Publications (1)

Publication Number Publication Date
JPH0243626A true JPH0243626A (ja) 1990-02-14

Family

ID=22741043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1137306A Pending JPH0243626A (ja) 1988-05-31 1989-05-30 コンピュータ・プロセッサの実行速度を制御する装置

Country Status (2)

Country Link
EP (1) EP0344951A3 (ja)
JP (1) JPH0243626A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324191A1 (en) * 2001-12-27 2003-07-02 STMicroelectronics S.r.l. Processor architecture, related system and method of operation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4236204A (en) * 1978-03-13 1980-11-25 Motorola, Inc. Instruction set modifier register
JPS6188337A (ja) * 1984-10-08 1986-05-06 Fuji Xerox Co Ltd マイクロプログラム制御装置
GB8507610D0 (en) * 1985-03-23 1985-05-01 Int Computers Ltd Data processing apparatus
JPS6222128A (ja) * 1985-07-22 1987-01-30 Sharp Corp デ−タ処理装置

Also Published As

Publication number Publication date
EP0344951A2 (en) 1989-12-06
EP0344951A3 (en) 1991-09-18

Similar Documents

Publication Publication Date Title
US3736567A (en) Program sequence control
US5235686A (en) Computer system having mixed macrocode and microcode
US4016545A (en) Plural memory controller apparatus
US4144562A (en) System and method for increasing microprocessor output data rate
US4166289A (en) Storage controller for a digital signal processing system
US4276595A (en) Microinstruction storage units employing partial address generators
US4323963A (en) Hardware interpretive mode microprocessor
JPS589457B2 (ja) リンク・レジスタ・システム
US4780819A (en) Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory
US5557764A (en) Interrupt vector method and apparatus
WO1990014629A2 (en) Parallel multithreaded data processing system
EP0025087B1 (en) Pipeline control apparatus for generating instructions in a digital computer
US4279016A (en) Instruction pre-fetch microprocessor interrupt system
US4287561A (en) Address formulation interlock mechanism
US4047245A (en) Indirect memory addressing
EP0010197B1 (en) Data processing system for interfacing a main store with a control sectron and a data processing section
EP0010196B1 (en) Control circuit and process for digital storage devices
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
US4093983A (en) Fast and normal rate instruction fetching
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
US5526500A (en) System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions
WO1982004148A1 (en) Digital computer for executing instructions in three time-multiplexed portions
JPH0243626A (ja) コンピュータ・プロセッサの実行速度を制御する装置
GB2069733A (en) Conditional instruction execution in a pipelined processor
JPS62245439A (ja) シンボリツク処理システムおよび方法