JPH05324314A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH05324314A
JPH05324314A JP12712692A JP12712692A JPH05324314A JP H05324314 A JPH05324314 A JP H05324314A JP 12712692 A JP12712692 A JP 12712692A JP 12712692 A JP12712692 A JP 12712692A JP H05324314 A JPH05324314 A JP H05324314A
Authority
JP
Japan
Prior art keywords
instruction
compressed
sequence
cache
microprocessor
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
JP12712692A
Other languages
English (en)
Inventor
Akira Ito
明 伊藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP12712692A priority Critical patent/JPH05324314A/ja
Publication of JPH05324314A publication Critical patent/JPH05324314A/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/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions

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)【要約】 【目的】 プロセッサを含むシステムにおいて、外部の
記憶装置からの命令読み込みを実効的に高速化して、シ
ステムの高速化を図るとともに、ダイナミックRAMの
ような安価なメモリを使用して高速なプロセッサ・シス
テムを実現できるようにする。 【構成】 プロセッサに外部記憶装置上に圧縮された形
式で格納された命令コード列を読み込み展開して実行す
る機能を持たせるとともに、圧縮された命令の展開は、
命令のデコーダや実行に先行し、並列に実行し、展開さ
れた命令列は命令キャッシュまたは命令キューに蓄積し
ておくようにする。 【効果】 主記憶装置からプロセッサへ圧縮された形式
で命令列を転送するため、同一の転送速度及び同一バス
幅であれば従来に比べて単位時間内により多くの命令列
を転送できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム制御方式の
プロセッサを含むデータ処理装置に適用して特に有効な
技術に関するものであり、例えば命令をプロセッサの外
部の記憶装置から読み込む方式のマイクロプロセッサに
利用して効果のある技術に関するものである。
【0002】
【従来の技術】マイクロプロセッサは、主記憶装置に記
憶されたプログラムの命令コードを順次バスを介して読
み込んで解読し、実行している。従来のマイクロプロセ
ッサ・システムにおいては、マイクロプロセッサが解読
する命令コードはそのままの形で主記憶装置内に記憶さ
れていた(例えば、日立製作所、1988年1月発行、
「日立H32/200ハードウェアマニュアル」または
「MOTROLA MC68030 Enhanced
32−bit Microprocessoruse
r’s manual」参照)。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た技術には、次のような問題のあることが本発明者らに
よってあきらかとされた。すなわち、プログラムを記憶
する主記憶装置としては大容量のダイナミックRAMが
通常用いられており、プロセッサの動作速度に比べ一般
に低速である。一方、プロセッサの動作速度に匹敵する
高速メモリは高価である。また、高速メモリを採用すれ
ばメモリとプロセッサ間のバスやプロセッサの入出力バ
ッファを高速に作動させる必要があり、ノイズが増加す
る等の問題があるためその対策のための設計が困難にな
る。更に、最近のプロセッサは命令実行の所要サイクル
数がますます減少する傾向があるため、命令読み出し時
間を低減することがプロセッサの高速化にとっての課題
となりつつある。
【0004】本発明は、上記のような課題に着目してな
されたもので、命令読み出し時間を実効的に短縮するこ
とにより、システムの高速化を図るとともに、安価なメ
モリを使用して高速なマイクロプロセッサ・システム等
を実現できるようにすることを目的とする。この発明の
前記ならびにそのほかの目的と新規な特徴については、
本明細書の記述および添附図面から明らかになるであろ
う。
【0005】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。すなわち、主記憶装置に圧縮した命令コー
ドを格納し、プロセッサには圧縮された形式で格納され
た命令コード列を読み込み展開して実行する機能を持た
せる。圧縮された命令の展開は、命令のデコーダや実行
に先行し、並列に実行し、展開された命令列は命令キャ
ッシュまたは命令キューに蓄積しておくようにする。
【0006】
【作用】上記した手段によれば、主記憶装置からプロセ
ッサへ圧縮された形式で命令列を転送するため、同一の
転送速度及び同一バス幅であれば単位時間内により多く
の命令列を転送でき主記憶装置からの命令読込みを実効
的に速くして、システムのスループットの向上を図るこ
とができる。しかも、圧縮された命令列の展開は、命令
デコードや命令実行に先行して行なうため、命令展開時
間が命令の実行を遅延させることはない。そのため、ダ
イナミックRAMのような安価なメモリを使用して高速
なマイクロプロセッサ・システム等を実現することがで
きる。
【0007】
【実施例】以下、本発明の好適な実施例を図面に基づい
て説明する。図1に本発明をマイクロプロセッサ・シス
テムに適用した場合の一実施例を示す。図1において、
1は本発明に係るマイクロプロセッサ、2はプログラム
が格納された主記憶装置、3はマイクロプロセッサ1と
主記憶装置2とを接続するバスで、上記マイクロプロセ
ッサ1は、入出力バッファ11、圧縮された命令列を展
開する機能を有するプリフェッチユニット12、プリフ
ェッチされた命令を保持する命令キャシュまたは命令キ
ュー13、命令デコーダ14及び演算ユニット15等か
らなる。特に制限されないが、マイクロプロセッサ1は
単結晶シリコン基板のような一個の半導体チップ上にお
いて形成されている。この実施例では、上記主記憶装置
2内にプログラムを構成する命令が、ハフマンの方法
( Huffman,D.A.: A method for the construction o
f minimumredundancy codes,Proc.IRE 40 pp.1098-1101
Knuth,D.E.:Dynamic HuffmanCoding,J.Algorithms,
6:163-180,1985 参照)のような予め公知のデータ圧縮
アルゴリズムにより圧縮された命令コードとして格納さ
れている。そして、マイクロプロセッサ1内の上記プリ
フェッチユニット12は圧縮された命令コードを元のコ
ードに展開する機能を備えている。
【0008】次に上記実施例のシステムの動作を説明す
る。上記プリフェッチユニット12は、命令デコーダ1
4や演算ユニット15とは独立(並行)して動作し、次
に実行される命令列を常に命令キャッシュまたは命令キ
ュー13に保持しているようにプリフェッチを行う。こ
こで次に実行される命令列とは、プログラムカウンタの
指すアドレス以降の連続したアドレスに格納された命令
列を、あるいは分岐命令を検出した場合は分岐先のアド
レス以降のアドレスに格納された命令列を意味する。プ
リフェッチユニット12は、次にプリフェッチするアド
レスをバス3に出力し、主記憶装置2から圧縮された形
式で命令列をバス3を通して読み込み、それを展開して
命令キャシュまたは命令キュー13に格納する機能を有
する。命令キャッシュまたは命令キュー13から取り出
された命令は、命令レジスタ12aに保持されて命令デ
コーダ14でデコードされ、形成された制御信号で演算
ユニット15を制御することで命令が実行される。
【0009】例えば、プロセッサのサイクルタイムを2
0ns、主記憶装置を構成するダイナミックRAMのア
クセスタイムを80ns、バースト転送の所要タイムを
40ns、命令圧縮率を2/3、命令展開時間を20n
sとする。また、キャッシュミス発生時に4命令をバー
スト転送するものとすると、圧縮のされていない命令の
場合には、(80ns/20ns+3×40ns/20
ns)サイクル/4命令=2.5サイクル/命令である
のに対し、本実施例のマイクロプロセッサでは、同じ転
送量で6命令分となるため、(10サイクル(バースト
転送)+20ns/20ns(展開))/6命令=1.
8サイクル/命令となり、1命令あたりのフェッチ時間
が短縮される。
【0010】以上説明したように上記実施例は、外部記
憶装置に圧縮された命令コードを格納し、プロセッサに
は圧縮された形式で格納された命令コード列を読み込ん
で展開して実行する機能を持たせるとともに、圧縮され
た命令の展開は、命令のデコーダや実行に先行し、並列
に実行し、展開された命令列は命令キャッシュまたは命
令キューに蓄積しておくようにしたので、次のような効
果が得られる。 (1)主記憶装置に圧縮した形式で命令を格納するた
め、主記憶の使用量が削減できる。 (2)主記憶装置からマイクロプロセッサへ命令列を圧
縮した形式で転送するため、同じ動作速度及びバス幅で
より多くの命令列を転送できる。 (3)同じ命令転送速度を得るためには、より低速のメ
モリを使用でき、システムの低価格化を図れるととも
に、バスや入出力バッファを高速で動作させる必要がな
いため低ノイズ化を実現できる。 (4)分岐命令などでキャシュミスが生じた後の命令フ
ェッチ時においても圧縮形式で転送するため一度に多く
の命令列を転送でき、総合的には1命令あたりのフェッ
チ時間が短縮される。
【0011】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば上記
実施例では、プリフェッチユニット12が圧縮された命
令コードを元のコードに展開して命令キャシュまたは命
令キュー13に格納するようにしているが、命令キャシ
ュまたは命令キュー13にはプリフェッチされた命令を
そのまま入れておいて命令実行時に元のコードに展開す
るように構成しても良い。あるいは、入出力バッファ1
1をFIFO等で構成してプリフェッチされた命令を保
持させるようにしても良い。その場合、命令キャシュま
たは命令キュー13を省略することも可能である。
【0012】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるマイク
ロプロセッサに適用した場合について説明したが、この
発明はそれに限定されるものでなく、プログラムを解読
して実行するプロセッサを備えたデータ処理装置一般に
利用することができる。
【0013】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、 (1)主記憶から圧縮された形式で命令を転送するた
め、同じ転送速度及びバス幅でより多くの命令を転送で
きる。 (2)プリフェッチ時間が短縮されるため、システムを
高速化できる。
【図面の簡単な説明】
【図1】図1は、本発明をマイクロプロセッサ・システ
ムに適用した場合の一実施例を示すブロック図である。
【符号の説明】
1 マイクロプロセッサ 2 主記憶装置 11 入出力バッファ 12 プリフェッチユニット 13 命令キャシュ,命令キュー 14 命令デコーダ 15 演算ユニット

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 圧縮された命令列を読み込み、元の命令
    列に展開する機能を有するプロセッサを備えていること
    を特徴とするデータ処理装置。
  2. 【請求項2】 圧縮された命令を、命令のデコードや実
    行に先行しかつ並行して展開する命令コード変換手段
    と、展開された命令列を蓄積しておく命令キャッシュま
    たは命令キューを備えていることを特徴とする請求項1
    記載のデータ処理装置。
JP12712692A 1992-05-20 1992-05-20 データ処理装置 Pending JPH05324314A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12712692A JPH05324314A (ja) 1992-05-20 1992-05-20 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12712692A JPH05324314A (ja) 1992-05-20 1992-05-20 データ処理装置

Publications (1)

Publication Number Publication Date
JPH05324314A true JPH05324314A (ja) 1993-12-07

Family

ID=14952257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12712692A Pending JPH05324314A (ja) 1992-05-20 1992-05-20 データ処理装置

Country Status (1)

Country Link
JP (1) JPH05324314A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995027244A1 (en) * 1994-04-05 1995-10-12 Communicate Ltd. Computer system
EP0689128A1 (en) * 1994-06-21 1995-12-27 STMicroelectronics Limited Computer instruction compression
EP0945786A1 (en) * 1998-03-27 1999-09-29 Motorola, Inc. Apparatus and method for executing encrypted instructions
JP2013529813A (ja) * 2010-06-22 2013-07-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 帯域幅適応型メモリ圧縮
JP2015512546A (ja) * 2012-04-06 2015-04-27 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 インストールパッケージのウイルスチェック・除去方法および装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995027244A1 (en) * 1994-04-05 1995-10-12 Communicate Ltd. Computer system
AU686358B2 (en) * 1994-04-05 1998-02-05 Communicate Ltd Computer system
US5784585A (en) * 1994-04-05 1998-07-21 Motorola, Inc. Computer system for executing instruction stream containing mixed compressed and uncompressed instructions by automatically detecting and expanding compressed instructions
EP0689128A1 (en) * 1994-06-21 1995-12-27 STMicroelectronics Limited Computer instruction compression
US6564314B1 (en) 1994-06-21 2003-05-13 Sgs-Thomson Microelectronics Limited Computer instruction compression
EP0945786A1 (en) * 1998-03-27 1999-09-29 Motorola, Inc. Apparatus and method for executing encrypted instructions
US6243802B1 (en) 1998-03-27 2001-06-05 Motorola Inc. Apparatus and method for encrypted instructions
JP2013529813A (ja) * 2010-06-22 2013-07-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 帯域幅適応型メモリ圧縮
JP2015512546A (ja) * 2012-04-06 2015-04-27 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 インストールパッケージのウイルスチェック・除去方法および装置

Similar Documents

Publication Publication Date Title
US5918045A (en) Data processor and data processing system
US6832305B2 (en) Method and apparatus for executing coprocessor instructions
JP2773471B2 (ja) 情報処理装置
JP2002041284A (ja) 拡張命令語縮約装置
JP3683248B2 (ja) 情報処理装置及び情報処理方法
JPH05324314A (ja) データ処理装置
JP2004192021A (ja) マイクロプロセッサ
JP2723238B2 (ja) 情報処理装置
JP2004510248A (ja) ソフトウェアおよびハードウェアのループ圧縮を有するfifo書込み/lifo読取り追跡バッファ
JP2689914B2 (ja) 情報処理装置
JP3739556B2 (ja) 情報処理装置
JP2667864B2 (ja) データ処理装置
JP2005275735A (ja) Cpuと記憶装置の間に配置される制御装置及びチップセット
KR100300875B1 (ko) 캐쉬 미스 시 처리 방법
JP3753368B2 (ja) データプロセッサ及びデータ処理システム
JPH04255995A (ja) 命令キャッシュ
US6546479B1 (en) Reduced instruction fetch latency in a system including a pipelined processor
JP2806690B2 (ja) マイクロプロセッサ
JPH02242337A (ja) 命令プリフェッチ装置
JP3435252B2 (ja) 情報処理装置
JPH08286914A (ja) メモリ制御装置
JPH05150978A (ja) プロセツサ
JPH0472253B2 (ja)
JPH1124930A (ja) 情報処理装置
JPH08110901A (ja) マイクロプロセッサ