JP3099889B2 - 電子計算機、プログラマブル論理回路及びプログラム処理方法 - Google Patents

電子計算機、プログラマブル論理回路及びプログラム処理方法

Info

Publication number
JP3099889B2
JP3099889B2 JP02170209A JP17020990A JP3099889B2 JP 3099889 B2 JP3099889 B2 JP 3099889B2 JP 02170209 A JP02170209 A JP 02170209A JP 17020990 A JP17020990 A JP 17020990A JP 3099889 B2 JP3099889 B2 JP 3099889B2
Authority
JP
Japan
Prior art keywords
instruction
processing unit
instruction processing
logic circuit
special
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 - Fee Related
Application number
JP02170209A
Other languages
English (en)
Other versions
JPH0460719A (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.)
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 JP02170209A priority Critical patent/JP3099889B2/ja
Publication of JPH0460719A publication Critical patent/JPH0460719A/ja
Application granted granted Critical
Publication of JP3099889B2 publication Critical patent/JP3099889B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、汎用命令中の高速処理を希望する任意の
命令を、特殊命令に置き換えることによってプログラム
実行の高速化を図る電子計算機に関する。
(従来の技術) 近年、パーソナルコンピュータ、ワークステーション
などのアプリケーションプログラムを実行する汎用計算
機が普及している。この様な汎用計算機で、アプリケー
ションプログラムを高速に実行させる方法として、数値
演算プロセッサなどのコプロセッサをメインプロセッサ
に付加する方法がある。コプロセッサは特定の処理をメ
インプロセッサよりも数倍〜数十倍の速度で実行できる
装置である。通常の処理はメインプロセッサで行なう
が、特定の命令が来たときには、コプロセッサに制御を
渡し、コプロセッサで高速に処理を行なう。この方法で
は、予め定められた特定の処理については高速処理が可
能であるが、通常の処理については依然として高速化さ
れない。また、数値演算命令のように、ほとんどのアプ
リケーションプログラムを高速処理する命令が用いられ
ているものについては、専用処理装置が開発することも
可能である。しかしながら、ほんの一部の応用分野でし
か現れない様な処理に対して専用処理装置を開発するこ
とは、コストや開発時間を考えるとメリットがない。
また、PLA,PGAなどのフィールドプログラマブルな論
理回路は、システム設計者の手元でプログラムすること
が可能であるため、早期にシステムを実現する際に使わ
れている。さらに、これらの論理回路を用いて、目的に
応じた処理内容に変更させることができるシステムもあ
る。この方法では、第9図のステップ201〜ステップ205
に示すようなソフトウェアの開発のステップが必要であ
る。すなわち、処理内容が決定してから、プログラマブ
ル論理部の論理を決定し、書き込み、さらにその論理を
有効に利用して汎用部分を動作させるソフトウェアを開
発する、といった煩わしい作業が要される。このため、
各種応用処理にそのまま柔軟に対応できる汎用システム
とはいえない。
さらに、マイクロプログラム方式のプロセッサを用い
る方法がある。これは、PROMまたはRAMに格納されるマ
イクロコードのみを変更し、回路構成は変えずにプロセ
ッサの命令および処理内容を変更させる方法である。こ
の方法では、処理を行なう部分が汎用回路であるため、
頻繁に使われる処理を1つの特殊命令としても、この1
つの特殊命令を実行する実行サイクル数は十〜数十サイ
クル必要となり、十分な高速化は達成できない。
(発明が解決しようとする課題) このように、アプリケーションプログラムを高速に実
行させる方法は、従来いくつか考えられているが、いず
れの方法もそれぞれ欠点があった。コプロセッサをメイ
ンプロセッサに付加する方法では、特定の処理について
は高速処理が可能であるが、通常の処理については高速
化されなかった。プログラマブル論理回路を使う方法で
は、煩わしいソフトウェア開発のステップが必要であ
り、汎用システムとはいえない。また、マイクロプログ
ラム方式のプロセッサを用いる方法においても、十分満
足のいく高速化が望めなかった。
そこでこの発明は、このような従来の事情を鑑みてな
されたものであり、その目的とするところは、特定のア
プリケーションプログラムに依存した特殊なハードウェ
アを用いず、汎用プログラム中の高速に実行したい任意
の処理に対応した理論回路をプログラマブルに構成し、
高速処理を実行できる電子計算機を提供することにあ
る。
[発明の構成] (課題を解決するための手段) 上記目的を達成するため、この発明は、与えられたプ
ログラム中の高速処理を希望する一部の処理を、特殊命
令に指定する指定手段と、指定された前記特殊命令をプ
ログラマブル処理回路として構成し、特殊命令を高速処
理する特殊命令処理部と、前記特殊命令に応じたプログ
ラマブル論理回路を構成させる書き込みデータを、特殊
命令に基づいて生成するデータ生成手段と、前記特殊命
令に指定された以外の処理を汎用命令として通常処理す
る汎用命令処理部とから構成されている。
(作用) 上記構成において、この発明は、プログラムのコンパ
イル時に、特にプログラムの中で高速実行を必要とする
処理を指定する。これにより、指定された処理は、1つ
または複数の特殊命令で置換される。また、コンパイル
時には、特殊命令を実現するプログラマブル論理回路を
構成させるための回路データが生成される。
特殊命令処理部では、特殊命令を実現するプログラマ
ブル論理回路を回路データに基づいて構成する。そし
て、高速実行を必要とする処理のみ特殊命令処理部で処
理し、その他の高速実行を必要としない一般の処理は、
汎用命令として汎用命令処理部で処理するようにしてい
る。
(実施例) 以下、図面を参照してこの発明の実施例を説明する。
第1図は、この発明の電子計算機のプログラム実行部
の構成を示すブロック図である。
同図に示すプログラム実行部1は、命令制御部3、汎
用命令処理部5、特殊命令処理部7、およびプログラム
書き込み制御回路9が、同一チップ内に備えられてい
る。
命令制御部3は、図示しない外部メモリからコンパイ
ルされた命令をロードし、この命令を汎用命令と特殊命
令とに振り分けるところである。また、命令制御部3
は、それぞれの命令に応じて汎用命令処理部5あるいは
特殊命令処理部7で処理するように制御し、プログラム
を実行させるところである。
汎用命令処理部5は、汎用命令を実行するところであ
る。
特殊命令処理部7は、特殊命令を高速実行するところ
である。この特殊命令処理部7は、プログラム書き込み
制御回路9から与えられた書き込みデータに従い、特殊
命令をプログラマブル論理回路によって実現する。
第2図は、プログラマブル論理回路の一例を示すプロ
グラマブルゲートアレイ(PGA)である。このプログラ
マブルゲートアレイは、論理ブロック11(CLB/Configur
able Logic Block)が内部に複数個配置されており、そ
の周囲には各種の可変接続線が配線されている。さら
に、複数の入出力ブロック13(IOB)が、チップを取り
囲むように配置されている。
論理ブロック11は、例えば、第3図のように構成され
ており、外部回路(図示せず)からプログラムすること
によって所望の論理回路を実現する。また、可変接続線
も同様にプログラム可能となっており、この可変接続線
によって論理ブロック11相互間を自在に可変接続する。
これら2つの機能によって任意の論理回路を実現する。
なお、特殊命令処理部7は、全てがプログラマブルで
なくてもよいのである。例えば、一部の回路が高速化、
チップ面積削減などのために乗算器,加算器,レジスタ
ファイルなど特定の機能をもっている回路になっていて
もよい。
プログラム書き込み制御回路9は、プログラマブル処
理回路を構成させるための書き込きデータを、外部のコ
ンパイラから発生される回路データを基に作成し、特殊
命令処理部7に与えるものである。なお、回路データ
は、アプリケーションプログラムの高級言語(またはア
センブリ言語)から機械語へのコンパイル(アセンブ
ル)時に作成される。
汎用命令処理部5と特殊命令処理部7との間では、デ
ータのやりとりが可能になっている。これにより、汎用
命令処理部5内のレジスタ、バスなどに直接書き込み/
読み出しを行なうことができる。また、汎用命令処理部
5と特殊命令処理部7とのデータ転送命令を用意するこ
とも可能である。
このように、この発明の実施例は構成されており、次
にこの発明の作用を説明する。
第4図は、この発明の作用を説明するためのフローチ
ャートである。
まず、外部のコンパイラにより、第5図に示すような
C言語のアプリケーションプログラムがコンパイル(ア
センブリ)される(ステップ101、103)。このとき、ア
プリケーションプログラムの高速処理を希望する一部の
処理が、高速化処理部として指定される(ステップ10
5)。指定方法としては、特定の命令文を自動的に指定
する方法、あるいは1度プログラムを実行してから処理
時間のかかる部分を自動的に抽出する方法などが考えら
れる。ここでは、forループとその中の処理が指定され
ている。
コンパイル結果の機械語を第6図に示す。高速化処理
部として指定された処理は、xで示す1ステップの特殊
命令とされて生成されている。なお、この部分を高速化
しなかった場合のコンパイル結果の機械語を第7図に示
す。この場合には、yで示す5ステップの汎用命令が生
成される。
このコンパイルによってコンパイラからは、汎用命令
を表すオブジェクトコード、および特殊命令を表すオブ
ジェクトコードが発生(ソフトウェア・コンパイル)さ
れる。これと同時に、特殊命令処理部7においてプログ
ラマブル論理回路を構成させるための、回路データが生
成(ハードウェア・コンパイル)される(ステップ10
7、109)。
生成された回路はデータプログラム書き込み制御回路
9に与えられ、さらにデータプログラム書き込み制御回
路9により、プログラマブル論理回路を構成させるため
の書き込みデータが作成される。この書き込みデータに
従って特殊命令処理部7では、特殊命令を実現する論理
回路が構成される(ステップ111、113)。
第8図は、特殊命令処理部7において構成された、特
殊命令を実現する論理回路のブロック図である。
同図において、汎用命令処理部5内のO0〜O5,g1は、
変数レジスタであり、第6図あるいは第7図で示した%
O0〜%O5,%g1にそれぞれ対応している。iccも同様に変
数レジスタであり、第6図あるいは第7図において%O2
と%O5との値が一致した場合に、フラグが立てられるレ
ジスタである。また、特殊命令処理部7内のinc4,incは
インクリメント回路、cmpはコンパレータ、subは減算器
を表し、第7図中のinc,cmp,subにそれぞれ対応してい
る。これらの変数レジスタ、インクリメント回路、コン
パレータ、および減算器は、第7図中yで示した汎用命
令群と等価な機能を実現するような接続がなされてい
る。
この論理回路は、第7図中yで示される5ステップの
プログラムを1サイクルで実行する機能を持っている。
コンパイラから発生されたオブジェクトコードと、特
殊命令処理部7において構成された論理回路とにより、
特殊命令として実現された処理が高速に実行される。ま
た、特殊命令として実現された処理以外の汎用命令とし
て実現された部分は通常速度で実行される(ステップ11
5)。
1つの命令が1マシンサイクルで実行されるとする
と、forループ内の命令群を1回実行するには、特殊命
令を用いない場合は、第7図のyおよびその前後2ステ
ップづつの合計9ステップあるため、9サイクルかか
る。一方、特殊命令を用いた場合は、第6図のxおよび
その前後2ステップづつの合計5ステップから5サイク
ルで済む。これにより、特殊命令を用いた場合は用いな
い場合に比べ、1.8倍の高速化が達成されたことにな
る。
このように、高速処理したい命令をプログラマブル論
理回路によって実現させることにより、一般のアプリケ
ーションプログラムについても高速に実行させることが
できる。
なお、今回の実施例では、命令を汎用命令と特殊命令
に分けて説明したが、汎用命令と特殊命令を混合した命
令でも実施可能である。このような命令であれば、汎用
命令処理部5と特殊命令処理部7とを同時に並列動作さ
せることができ、より高速処理が可能となる。
[発明の効果] 以上説明したように、この発明の電子計算機によれ
ば、高速に実行したいアプリケーションプログラムを特
殊命令とし、この命令に応じたプログラマブル処理回路
を構成するようにした。これにより、それぞれの特殊命
令に応じた最適な論理回路を構成することができ、任意
のプログラムに対して柔軟な高速処理が実現可能となっ
た。また、汎用命令処理部を備えたことにより、特に高
速化を必要としない一般のアプリケーションプログラム
も実行できる。
【図面の簡単な説明】
第1図はこの発明の電子計算機の一実施例の構成を示す
ブロック図、第2図および第3図は第1図で示した特殊
命令処理部の一例の構成図およびその内部論理ブロック
図、第4図はこの発明の作用を説明するためのフローチ
ャート、第5図乃至第7図はアプリケーションプログラ
ムの一例およびそのコンパイル結果、第8図はプログラ
マブル論理回路の構成例、第9図は従来のソフトウェア
開発のステップを示すフローチャートである。 1……プログラム実行部 3……命令制御部 5……汎用命令処理部 7……特殊命令処理部 9……プログラム書き込み制御部 11……論理ブロック(CLB) 13……入出力ブロック O0〜O5,g1,icc……変数レジスタ inc4,inc……インクリメント回路 cmp……コンパレータ sub……減算器
フロントページの続き (56)参考文献 特開 平2−122364(JP,A) 特開 平1−162971(JP,A) 特開 平1−243165(JP,A) 特開 平1−243166(JP,A) 特開 平2−1084(JP,A) 特開 平1−300536(JP,A) 特開 平2−83678(JP,A) 特開 平2−83676(JP,A) 特開 平2−287604(JP,A) 特開 平3−214370(JP,A) 特開 平2−230480(JP,A) 特開 平3−166625(JP,A) 特開 平1−180045(JP,A) 特開 昭64−65634(JP,A) 特開 昭63−106833(JP,A) 特開 昭63−61333(JP,A) 特開 昭62−95635(JP,A) 特開 平2−42534(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/38 G06F 9/30 G06F 15/78

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の命令からなるアプリケーションプロ
    グラムを入力し、この複数の命令を所定の基準に従っ
    て、第1の命令と第2の命令に振り分ける命令制御部
    と、 この命令制御部から前記第1の命令を入力し、これを処
    理する汎用命令処理部と、 前記アプリケーションプログラムに対応して生成された
    書込みデータに応じて所望の論理回路を実現可能なプロ
    グラマブル論理回路で少なくとも一部が構成され、前記
    命令制御部から前記第2の命令を入力し、これを処理す
    る特殊命令処理部と、 前記書込みデータを前記特殊命令処理部に供給するプロ
    グラム書込み制御部とを有することを特徴とする電子計
    算機。
  2. 【請求項2】前記命令制御部、前記汎用命令処理部、前
    記特殊命令処理部及び前記プログラム書込み制御部が同
    一チップ内に設けられていることを特徴とする特許請求
    の範囲第1項記載の電子計算機。
  3. 【請求項3】前記汎用命令処理部はレジスタまたはバス
    を有し、このレジスタまたはバスと前記特殊命令処理部
    との間でデータの直接授受が可能であることを特徴とす
    る特許請求の範囲第1項または第2項記載の電子計算
    機。
  4. 【請求項4】前記特殊命令処理部が乗算器、加算器及び
    レジスタファイルの少なくとも一つを有することを特徴
    とする特許請求の範囲第1項乃至第3項のいずれか1項
    に記載の電子計算機。
  5. 【請求項5】前記汎用処理部と前記特殊命令処理部とが
    同時に並列動作可能であることを特徴とする特許請求の
    範囲第1項乃至第4項記載のいずれか1項に記載の電子
    計算機。
  6. 【請求項6】第1の命令処理部と、書込みデータに応じ
    て所望の論理回路を実現可能なプログラマプル論理回路
    で少なくとも一部が構成された第2の命令処理部とを備
    えた電子計算機のプログラム処理方法であって、 複数の命令文からなるアプリケーションプログラムをコ
    ンパイルし、所定の基準に従って第1及び第2のオブジ
    ェクトコードを生成するステップと、 前記プログラマブル論理回路を前記第2のオブジェクト
    コードに対応した機能に構成するための前記アプリケー
    ションプログラムに対応して生成された書込みデータを
    生成するステップと、 前記書込みデータを前記プログラマプル論理回路に供給
    し、前記第2の命令処理部をプログラムするステップ
    と、 前記第1のオプジェクトコードに応じた処理を前記第1
    の命令処理部で実行するステップと、 前記第2のオブジェクトコードに応じた処理を前記第2
    の命令処理部で実行するステップと を有ることを特徴とするプログラム処理方法。
  7. 【請求項7】前記基準は、前記アプリケーションプログ
    ラムを実行して、前記アプリケーションプログラムの中
    で処理時間の大きな部分を抽出した結果に対応して定め
    られることを特徴とする特許請求の範囲第6項記載のプ
    ログラム処理方法。
JP02170209A 1990-06-29 1990-06-29 電子計算機、プログラマブル論理回路及びプログラム処理方法 Expired - Fee Related JP3099889B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02170209A JP3099889B2 (ja) 1990-06-29 1990-06-29 電子計算機、プログラマブル論理回路及びプログラム処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02170209A JP3099889B2 (ja) 1990-06-29 1990-06-29 電子計算機、プログラマブル論理回路及びプログラム処理方法

Publications (2)

Publication Number Publication Date
JPH0460719A JPH0460719A (ja) 1992-02-26
JP3099889B2 true JP3099889B2 (ja) 2000-10-16

Family

ID=15900693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02170209A Expired - Fee Related JP3099889B2 (ja) 1990-06-29 1990-06-29 電子計算機、プログラマブル論理回路及びプログラム処理方法

Country Status (1)

Country Link
JP (1) JP3099889B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603542B2 (en) 2003-06-25 2009-10-13 Nec Corporation Reconfigurable electric computer, semiconductor integrated circuit and control method, program generation method, and program for creating a logic circuit from an application program

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913955B2 (ja) * 2000-05-29 2012-04-11 株式会社ガイア・システム・ソリューション データ処理装置
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603542B2 (en) 2003-06-25 2009-10-13 Nec Corporation Reconfigurable electric computer, semiconductor integrated circuit and control method, program generation method, and program for creating a logic circuit from an application program

Also Published As

Publication number Publication date
JPH0460719A (ja) 1992-02-26

Similar Documents

Publication Publication Date Title
Van Praet et al. Instruction set definition and instruction selection for ASIPs
US5968161A (en) FPGA based configurable CPU additionally including second programmable section for implementation of custom hardware support
US5819097A (en) Industrial controller compiler with expandable instruction set
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
Davis STARAN parallel processor system software
Xiao et al. HiPR: High-level partial reconfiguration for fast incremental FPGA compilation
JP3099889B2 (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
Bernhard More hardware means less software
Leupers et al. Instruction set extraction from programmable structures
US4866608A (en) Microprocessor with improved execution of instructions
Korn A Propsed Method for Simpliofied Microcomputer Programming
Clapp The application of microprogramming technology
US5677996A (en) Fuzzy computer
Penny et al. Use of multiprogramming in the design of a low cost digital computer
JPH07175664A (ja) コンパイラ装置
JPH07175631A (ja) 演算処理装置
Lloyd et al. Design considerations for microprogramming languages
Kumar et al. Automatic synthesis of microprogrammed control units from behavioral descriptions
JPH05181673A (ja) マイクロプロセッサ
Hamlet et al. Transportable image-processing software
Reyling Considerations in choosing a microprogramable bit-sliced architecture
Abraham Modular microcontroller design
KR100224857B1 (ko) 편집 설계장치
JP2714015B2 (ja) 論理回路合成装置
Leventhal Microprogrammable microprocessors

Legal Events

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