JPH01255036A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH01255036A
JPH01255036A JP63081191A JP8119188A JPH01255036A JP H01255036 A JPH01255036 A JP H01255036A JP 63081191 A JP63081191 A JP 63081191A JP 8119188 A JP8119188 A JP 8119188A JP H01255036 A JPH01255036 A JP H01255036A
Authority
JP
Japan
Prior art keywords
instruction
processing
decode
decoding
instructions
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.)
Granted
Application number
JP63081191A
Other languages
English (en)
Other versions
JPH0524537B2 (ja
Inventor
Takashi Miyamori
高 宮森
Misao Miyata
宮田 操
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63081191A priority Critical patent/JPH01255036A/ja
Priority to EP19890102960 priority patent/EP0336091A3/en
Priority to KR1019890004444A priority patent/KR920003182B1/ko
Publication of JPH01255036A publication Critical patent/JPH01255036A/ja
Publication of JPH0524537B2 publication Critical patent/JPH0524537B2/ja
Granted 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
    • 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/382Pipelined decoding, e.g. using predecoding
    • 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/3017Runtime instruction translation, e.g. macros
    • 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
    • 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/3875Pipelining a single stage, e.g. superpipelining

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、命令をパイプライン方式にJ、って処理す
るマイクロプロセッサに関し、特に高性能化を達成しJ
:うとJるマイクロプロセッサに使用される。
(従来の技術) 近年、マイクロプログラム制御方式により命令を実行処
理するマイクロプロセッサでは、命令をパイプライン処
理方式により実行処理して性能の向上を図っている。パ
イプライン処理力式において、例えばパイプラインの構
成としては、[命令フェッチ→命令デコード→実効アド
レス削算→アドレス変換→Aペランドリード→命令実行
→オペランドライ1−」で示−りようなステージに分割
されたものがある。
このようなパイプライン方式のマイクロプロセッサの構
成を第4図に示づ。
第4図にJ3いて、マイクロプロセッサ1は命令が命令
)1ツチ部(IFU)3によってフェッチされる。フェ
ッチされた命令は、命令バッファ部(IBU)5に与え
られて保持され、保持された命令は、命令デニ】−ド部
(IDU)7によってデ]−ドされる。
命令がデコードされると、デコード結果にしたがってオ
ペランドデータをアクセスするための実効アドレスが、
アドレス生成部(AGLJ>9で算出される。算出され
た実効アドレスは、メモリ管理部(MMU)11でオペ
ランドデータを実際に読み出す際の物理アドレスとなる
実アドレスにアドレス変換される。
このようにして求められた実アドレスは、命令のフェッ
チ及びオペランドデータの読出し、占込み動作時に外部
メモリ(図示せず)や周辺装首(図示せず)どのデータ
転送を制御づ−るバス制御部(BCU)13を介して外
部メモリに与えられ、オペランドデータが読み出される
。読み出されたAペラン・ドデータは、バス制御部13
を介して実行部(EXLJ)1Eiに与えられ、デコー
ド結果にしたがって実行される。実行結果は、オペラン
ドデータどしで、バス制御部13を介しで例えは外部メ
モリに書込まれ、命令の実効処理が終了覆る。
(発明がM決しようどする課題) 複着な命令レッ1〜を処理するCI S C(Comp
lex  In5truction 3et  Com
putcr )型のマイクロブEルッ」ノは、命令のデ
コードに要J゛るデコード時U月が命令の種類によつ−
C巽なっている。
第5図は、このように命令のデコード時間が眉なる場合
のパイプラインの流れを示しlJ図である。
第5図にi15いて、命令■1ど命令■3はデコード時
間に1サイクルを要し、命令I2ど命令I4はデコード
114間に2リイクルを要している。このような場合に
は、バイブラインにおする実効アドレス計算、アドレス
変換、Aベランド読出し、実行、オペランド前述みのぞ
れぞれのステージにおいて、命令11ど命令I2どの間
及び命令I3ど命令I4どの間に、第5図中のX印で承
りス−7−ジの休止状態が発生する。これにより、各ス
テージでの稼働ヰ′及びスルーブツトが低下するととも
に、パイプライン処理の流れに乱れが生じ、性能が低下
するという問題があった。
そこで、上記した不具合の解決策として、命令のデコー
ド処理のパイプライン化が考えられる。
例えば、命令のデコード処理を2つのステージにj:っ
て行い、デコード処理を2段階に分割°4−ることが考
えられる1、このように、命令のデコード処理を2段階
に分割した場合のパイプライン処理の流れを第6図に示
す。
第6図において、デコード処理に2ザイクルを要した命
令I2と命令I4のデコード処理を、命令デコード1及
び命令デーコード2で示すス□デージにd3いで、それ
ぞれ1ザイクルで行うJ、うにしている。これにJ、す
、第5図に示したバイブラインの乱れを防止することか
できるJ、うになる。
しかしながら、デコード処理に要する時間が3リイクル
以上の命令がある場合には、デコード処理を2段階に分
割Jる方法では、デ゛=1−ド時間のバラツキを吸収す
ることはでさない。このため、第2図に示したと同様な
バイブラインの乱れが生じることになる。
したがって、デコード処理を行うバイブラインのステー
ジの段数をさらに増加さぜるにうにずればにいが、1ザ
イクルや2サイクルでデコード処理が終了覆る命令に対
しては、無駄なバイブラインのステージとなる。さらに
、これは構成の大型化を招くとともに、バイブラインの
段数の増加により、分岐が発生した場合には実行効率が
悪化するという不具合が生じる。
そこで、この発明は、上記に鑑みてなされたしのであり
、その目的とするところは、パイプライン処理にa34
プる乱れを防止しで、各ステージでの稼働率及びスルー
ブッ1〜の向−1を達成し、高性能化を図ったマイクロ
プロセツサを提供することにある。
[発明の構成1 (課題を解決Jるための手段) 上記目的を達成Jるために、この発明は、命令をパイプ
ライン方式にj、って実行処理J−るマイクロプロセツ
サであって、フェッチされた命令を所定の時間でデコー
ド処理が完了する中間命令に変換するデコード前処理手
段と、前記デコード前処理手段にJ、って生成された中
間命令を格納保持する格納保持手段と、前記格納保持手
段に格納保持された中間命令を入力して、この中間命令
を所定の時間で実行可能な形」(にデー」−ド処即する
ア゛コード処理手段とから構成される。
(作用) 上記構成において、この発明は命令をパイプライン方式
によって実行処理覆る過程にあって、フェッチされた命
令を所定の1.1間でデ」−ド処理が完了して実行可能
な形式となる中間命令に変換し、この中間命令をデコー
ド処理り−ることで、命令のデコード処理を2段階に分
割するにうにし−Cいる。
(実施例) 以下図面を用いてこの発明の詳細な説明りる。
第1図はこの発明の一実施例に係るマイク1」10レツ
ザの構成を示J図である。同図に示覆マイク[二1ブ°
ロレッ曇すは、パイプライン方式にJ、り命令を処理す
るものであり、命令のデ」−ド処理を2段階に分割して
、第2段階[]の]デ]−ド処がJべての命令に対して
所定の時間内に終了できるように、第1段階目のデコー
ド処理を行うにうにしたものである。なお、第1図にお
いて、第4図と同符号のものは同一機能を右するもので
あり、その説明は省略づ−る1、 第1図にc13いて、マイクロブ1コセツサ21は、デ
コート1)n処理部(PDU)23、テ1.:I −ト
2N Q令バッファ部(1)IB)25及びデコード処
理部(IDU)27を備えている。
デコード前処理部23は、命令フェッチ部3によってツ
ー1ツヂされて命令バッファ部5に格納保持された命令
のデコード前処理を行うものである。
すなわち、デコード前処理部27は、デコード処理部2
7がマイクロプロセッサ21で実行されるJ゛べての命
令を所定の時間内でデコード処理することが可能とるに
うに、フェッチされた命令を中間命令形式の中間命令に
変換Jるものである。
このような中間命令形式の中間命令の一例を第2図に示
J0中間命令は第2図に示ずように、例えば命令の処理
内容を指定するAぺ(Aベレーション)コード領域と、
Δペランドデータの情報を示す第1オペランド情報領域
及び第2Aベランド情報領域で構成される。すなわち、
中間命令形式とは、構成が比較的に簡単で、短時間例え
ば1リ−イクルでデコード処理が可能となる命令形式で
ある。このような中間命令形式に変換された中間命令は
、デコード済命令バッファ部25に〜えられる。
デコード演命令バッファ部25は、デコード前処理部2
3から与えられる中間命令を複数格納保持するバッファ
である。格納保持された命令は、デコード処理部27に
与えられる。
デコード処理部27は、デー1−ド前処理部23の前処
理ににって得られ、デコード湾命令バッファ25に格納
保持された中間命令を、所定の時間で実行可能な形式に
デコードするものである。デコードされた命令は、実行
部15が実行可能な状態になると、デコード処理部27
から発行される。
このデコード処理部27でのデコード処理以降は、従来
と同様にしてそれぞれのステージを経てパイプライン処
理がなされる。
ここで、中間命令は、中間命令が常にデコード処理部2
7に入ツノされるように、デコード済命令バッファ部2
5に格納保持される。これは、デ」−ド処理された命令
が、アドレス変換以降の処理で発生するハリ゛−ドにJ
、る実行待ちや実行に長い時間を要覆る命令の実行等に
より、デコード処理部27からの発行を持っている間に
、中間命令がデコード済バッファ部25に格納されるこ
とによって可能となる。
このJ:うな構成にd3いて、マイクロプロセッサ21
におけるパイプライン処理は、デコード済命令バッファ
部25によって、[命令フェッチ→命令デコード前処理
」と、[命令デ]−ド→実効アドレス計専→アドレス変
換→オペランド読出し→命令実行→オペランド書込み」
との2つの流れに大ぎく分りられる。
このようなパイプライン処理にお(プる命令デコード以
降の後半の処理の流れを第3図に示す。
第3図において、中間命令は、Jべて1ザイクルでデー
】−ド処理部27によってデコード処理されるものとす
る。したがって、第5図に示した命令11〜命令I4は
、第3図に示づように、デコード処理以降のパイプライ
ンのそれぞれのステージにおいて1サイクルで処理され
ることになる。
これにより、ハプードがアドレス変換以降で発生しなり
れば、各々の処理部での休止状態は解消されて、デコー
ド時間のバラツキによる命令デコード以降にお(プるパ
イプラインの乱れを防止Jることができる。この結果、
それぞれの処理部の稼働率及びスルーブツトを向上させ
ることができるようになる。
また、命令のデコード処理を2段階に分割するようにし
たため、それぞれの段階でのデコード処理は比較的簡単
なものとなり、デコード前処理部23及びデコード処理
部27の設計を容易に行うことができる。
なお、デコード前処理部23において命令のデコードを
完全に行い、命令を完全にデコードした形式でデコード
済命令バッファ部25に格納して、デコード処理部27
を取り除いた構成としてもよい。このにうな場合には、
パイプライン処理はデコード済命令バッファ部25によ
って、[命令フェッヂー〉命令デコード」と、「実効ア
ドレス計算→アドレス変換→オペランド読出し−)命令
実行→Aペランド書込み」に分(ブられる。したがって
、後半のパイプライン処理における乱れが防止され、後
半のパイプライン処理におするステージの段数が命令の
デコード処理の分だけ削減される。
また、デコード済命令バッファ部25をループバッファ
どして構成し、ループ内の命令をループバッファ・とじ
で構成されたデコード湾命令バツフフ7部25に保持し
ておくようにしてもよい。
[発明の効果] 以上説明したように、この発明によれば、命令のパイプ
ライン処理にお【プるデコード処理を2段階に分割し、
間にバッファを設(すたので命令のデコード時間のバラ
ツギにJζるパイプラインの乱れを防止することかでき
る。これにより、それぞれのパイプラインの処理過程で
の稼働率及びスループツトが向上し、高性能化を図るこ
とができる。
ざらに、デコード処理を行う構成を容易に設計すること
ができる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係るマイクロプロセッサ
の構成を示す図、第2図は第1図に示ずマイクロプロセ
ッサで用いられる命令の形式を示す図、第3図は第1図
に示すマイクロプロセッサの動作説明図、第4図は従来
のパイプライン方式のマイクロプロセッサの構成を示す
図、第5図及び第6図は従来のパイプライン処理の流れ
を承り図である。 21・・・マイクロプロセッサ 23・・・デ:1−ド11t1処理部 25・・・デコード湾命令バッフ戸部 27・・・デ」−ド処理部

Claims (1)

  1. 【特許請求の範囲】 命令をパイプライン方式によって実行処理するマイクロ
    プロセッサであつて、 フェッチされた命令を所定の時間でデコード処理が完了
    する中間命令に変換するデコード前処理手段と、 前記デコード前処理手段によって生成された中間命令を
    格納保持する格納保持手段と、 前記格納保持手段に格納保持された中間命令を入力して
    、この中間命令を所定の時間で実行可能な形式にデコー
    ド処理するデコード処理手段とを有することを特徴とす
    るマイクロプロセッサ。
JP63081191A 1988-04-04 1988-04-04 マイクロプロセッサ Granted JPH01255036A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP63081191A JPH01255036A (ja) 1988-04-04 1988-04-04 マイクロプロセッサ
EP19890102960 EP0336091A3 (en) 1988-04-04 1989-02-21 Pipeline type microprocessor
KR1019890004444A KR920003182B1 (ko) 1988-04-04 1989-04-04 마이크로프로세서

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63081191A JPH01255036A (ja) 1988-04-04 1988-04-04 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH01255036A true JPH01255036A (ja) 1989-10-11
JPH0524537B2 JPH0524537B2 (ja) 1993-04-08

Family

ID=13739577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63081191A Granted JPH01255036A (ja) 1988-04-04 1988-04-04 マイクロプロセッサ

Country Status (3)

Country Link
EP (1) EP0336091A3 (ja)
JP (1) JPH01255036A (ja)
KR (1) KR920003182B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10509166A (ja) * 1994-11-17 1998-09-08 インペリアル カレッジ オブ サイエンス,テクノロジー アンド メディシン ポリ−l−リシン及びインテグリンレセプターリガンドの複合体を用いた、dnaのインターナリゼーション
JP2007514244A (ja) * 2003-12-22 2007-05-31 インテル・コーポレーション 命令プリデコーダ付きダイレクトメモリアクセスユニット

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2725450B2 (ja) * 1989-08-28 1998-03-11 日本電気株式会社 マイクロプロセッサ
JPH03211613A (ja) * 1990-01-17 1991-09-17 Toshiba Corp ディジタル信号処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6124729A (ja) * 1984-07-13 1986-02-03 Asahi Concrete Kogyo Kk マンホ−ルの構築方法
JPS62226231A (ja) * 1986-03-27 1987-10-05 Toshiba Corp プロセツサ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4437149A (en) * 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
US4873629A (en) * 1984-06-20 1989-10-10 Convex Computer Corporation Instruction processing unit for computer
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置
JPH06100968B2 (ja) * 1986-03-25 1994-12-12 日本電気株式会社 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6124729A (ja) * 1984-07-13 1986-02-03 Asahi Concrete Kogyo Kk マンホ−ルの構築方法
JPS62226231A (ja) * 1986-03-27 1987-10-05 Toshiba Corp プロセツサ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10509166A (ja) * 1994-11-17 1998-09-08 インペリアル カレッジ オブ サイエンス,テクノロジー アンド メディシン ポリ−l−リシン及びインテグリンレセプターリガンドの複合体を用いた、dnaのインターナリゼーション
JP2007514244A (ja) * 2003-12-22 2007-05-31 インテル・コーポレーション 命令プリデコーダ付きダイレクトメモリアクセスユニット

Also Published As

Publication number Publication date
EP0336091A2 (en) 1989-10-11
EP0336091A3 (en) 1992-02-26
KR920003182B1 (ko) 1992-04-23
JPH0524537B2 (ja) 1993-04-08
KR890016465A (ko) 1989-11-29

Similar Documents

Publication Publication Date Title
US10901748B2 (en) Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
JP6143872B2 (ja) 装置、方法、およびシステム
JP5985526B2 (ja) システムコールのためのロバスト且つ高性能な命令
WO2022134729A1 (zh) 一种基于risc-v的人工智能推理方法和系统
US20210089305A1 (en) Instruction executing method and apparatus
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
CN111752533A (zh) 用于矩阵运算的加速器系统和方法
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US7051146B2 (en) Data processing systems including high performance buses and interfaces, and associated communication methods
JPH03233630A (ja) 情報処理装置
JP6094356B2 (ja) 演算処理装置
JPH01255036A (ja) マイクロプロセッサ
JPS63197232A (ja) マイクロプロセツサ
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JP6292324B2 (ja) 演算処理装置
JP5100030B2 (ja) データプロセッサ、データ処理方法
JPH03158929A (ja) データ処理装置
CN114579264A (zh) 处理装置、处理系统和处理方法
JPH0363822A (ja) 計算機制御方式
JP2522564B2 (ja) プログラマブルコントロ―ラ
TW200300903A (en) Data processor
JPH0462637A (ja) マイクロプロセッサ
JPH05250156A (ja) Riscプロセッサ
JPH05150978A (ja) プロセツサ
JP2001100991A (ja) ディジタル信号処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees