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

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

Info

Publication number
JPH0460719A
JPH0460719A JP17020990A JP17020990A JPH0460719A JP H0460719 A JPH0460719 A JP H0460719A JP 17020990 A JP17020990 A JP 17020990A JP 17020990 A JP17020990 A JP 17020990A JP H0460719 A JPH0460719 A JP H0460719A
Authority
JP
Japan
Prior art keywords
processing
special instruction
special
instruction
general
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
JP17020990A
Other languages
English (en)
Other versions
JP3099889B2 (ja
Inventor
Hiroshige Fujii
藤井 洋重
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

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

Abstract

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

Description

【発明の詳細な説明】 [発明の目的〕 (産業上の利用分野) この発明は、汎用命令中の高速処理を希望する任意の命
令を、特殊命令に置き換えることによってプログラム実
行の高速化を図る電子計算機に関する。
(従来の技術) 近年、パーソナルコンピュータ、ワークステジョンなど
のアプリケーションプログラムを実行する汎用計算機が
普及している。この様な汎用計算機で、アプリケーショ
ンプログラムを高速に実行させる方法として、数値演算
プロセッサなどのコプロセッサをメインプロセッサに付
加する方法がある。コプロセッサは特定の処理をメイン
プロセッサよりも数倍〜数十倍の速度で実行できる装置
である。通常の処理はメインプロセッサで行なうが、特
定の命令が来たときには、コプロセッサに制御を渡し、
コプロセッサで高速に処理を行なう。この方法では、予
め定められた特定の処理については高速処理が可能であ
るが、通常の処理については依然として高速化されない
。また、数値演算命令のように、はとんどのアプリケー
ションプログラムを高速処理する命令が用いられている
ものについては、専用処理装置を開発することも可能で
ある。しかしながら、はんの一部の応用分野でしか現れ
ない様な処理に対して専用処理装置を開発することは、
コストや開発時間を考えるとメリットがない。
また、PLA、PGAなとのフィールドプログラマブル
な論理回路は、システム設計者の手元でプログラムする
ことが可能であるため、早期にシステムを実現する際に
使われている。さらに、これらの論理回路を用いて、目
的に応じた処理内容に変更させることができるシステム
もある。この方法では、第9図のステップ201〜ステ
ツプ205に示すようなソフトウェアの開発のステップ
が必要である。すなわち、処理内容が決定してから、プ
ログラマブル論理部の論理を決定し、書き込み、さらに
その論理を有効に利用して汎用部分を動作させるソフト
ウェアを開発する、といった煩わしい作業が要される。
このため、各種応用処理にそのまま柔軟に対応できる汎
用システムとはいえない。
さらに、マイクロプログラム方式のプロセッサを用いる
方法がある。これは、FROMまたはRAMに格納され
るマイクロコードのみを変更し、回路構成は変えずにプ
ロセッサの命令および処理内容を変更させる方法である
。この方法では、処理を行なう部分が汎用回路であるた
め、頻繁に使われる処理を1つの特殊命令としても、こ
の1つの特殊命令を実行する実行サイクル数は十〜数士
サイクル必要となり、十分な高速化は達成できない。
(発明が解決しようとする課題) このように、アプリケーションプログラムを高速に実行
させる方法は、従来いくつか考えられているが、いずれ
の方法もそれぞれ欠点があった。
コプロセッサをメインプロセッサに付加する方法では、
特定の処理については高速処理が可能であるが、通常の
処理については高速化されなかった。
プログラマブル論理回路を使う方法では、煩わしいソフ
トウェア開発のステップが必要であり、汎用システムと
はいえない。また、マイクロプログラム方式のプロセッ
サを用いる方法においても、十分満足のいく高速化が望
めなかった。
そこでこの発明は、このような従来の事情を鑑みてなさ
れたものであり、その目的とするところは、特定のアプ
リケーションプログラムに依存した特殊なハードウェア
を用いず、汎用プログラム中の高速に実行したい任意の
処理に対応した論理回路をプログラマブルに構成し、高
速処理を実行できる電子計算機を提供することにある。
[発明の構成] (課題を解決するための手段) 上記目的を達成するため、この発明は、与えられたプロ
グラム中の高速処理を希望する一部の処理を、特殊命令
に指定する指定手段と、指定された前記特殊命令をプロ
グラマブル論理回路として構成し、特殊命令を高速処理
する特殊命令処理部と、前記特殊命令に応じたプログラ
マブル論理回路を構成させる書き込みデータを、特殊命
令に基づいて生成するデータ生成手段と、前記特殊命令
に指定された以外の処理を汎用命令として通常処理する
汎用命令処理部とから構成されている。
(作用) 上記構成において、この発明は、プログラムのコンパイ
ル時に、特にプログラムの中で高速実行を必要とする処
理を指定する。これにより、指定された処理は、1つま
たは複数の特殊命令で置換される。また、コンパイル時
には、特殊命令を実現するプログラマブル論理回路を構
成させるための回路データが生成される。
特殊命令処理部では、特殊命令を実現するプログラマブ
ル論理回路を回路データに基づいて構成する。そして、
高速実行を必要とする処理のみ特殊命令処理部で処理し
、その他の高速実行を必要としない一般の処理は、汎用
命令として汎用命令処理部で処理するようにしている。
(実施例) 以下、図面を参照してこの発明の詳細な説明する。
第1図は、この発明の電子計算機のプログラム実行部の
構成を示すブロック図である。
同図に示すプログラム実行部1は、命令制御部3、汎用
命令処理部5、特殊命令処理部7、およびプログラム書
き込み制御回路9が、同一チップ内に備えられている。
命令制御部3は、図示しない外部メモリからコンパイル
された命令をロードし、この命令を汎用命令と特殊命令
とに振り分けるところである。また、命令制御部3は、
それぞれの命令に応じて汎用命令処理部5あるいは特殊
命令処理部7て処理するように制御し、プログラムを実
行させるところである。
汎用命令処理部5は、汎用命令を実行するところである
特殊命令処理部7は、特殊命令を高速実行するところで
ある。この特殊命令処理部7は、プログラム書き込み制
御回路9から与えられた書き込みデータに従い、特殊命
令をプログラマブル論理回路によって実現する。
第2図は、プログラマブル論理回路の一例を示すプログ
ラマブルゲートアレイ(PGA)である。
二のプログラマブルゲートアレイは、論理ブロック11
 (CL B / Conrigurable Log
ic Block)が内部に複数個配置されており、そ
の周囲には各種の可変接続線が配線されている。さらに
、複数の入出カブロック13 (IOB)が、チップを
取り囲むように配置されている。
論理ブロック11は、例えば、第3図のように構成され
ており、外部回路(図示せず)からプログラムすること
によって所望の論理回路を実現する。また、可変接続線
も同様にプログラム可能となっており、この可変接続線
によって論理ブロック11相互間を自在に可変接続する
。これら2つの機能によって任意の論理回路を実現する
なお、特殊命令処理部7は、全てがプログラマブルでな
くてもよいものである。例えば、一部の回路が高速化、
チップ面積削減などのために乗算器、加算器、レジスタ
ファイルなど特定の機能をもっている回路になっていて
もよい。
プログラム書き込み制御回路9は、プログラマブル論理
回路を構成させるための書き込みデータを、外部のコン
パイラから発生される回路データを基に作成し、特殊命
令処理部7に与えるものである。なお、回路データは、
アプリケーションプログラムの高級言語(またはアセン
ブリ言語)から機械語へのコンパイル(アセンブル)時
に作成される。
汎用命令処理部5と特殊命令処理部7との間では、デー
タのやりとりが可能になっている。これにより、汎用命
令処理部5内のレジスタ、バスなどに直接書き込み/読
み出しを行なうことができる。また、汎用命令処理部5
と特殊命令処理部7とのデータ転送命令を用意すること
も可能である。
このように、この発明の実施例は構成されており、次に
この発明の詳細な説明する。
第4図は、この発明の詳細な説明するためのフローチャ
ートである。
まず、外部のコンパイラにより、第5図に示すようなC
言語のアプリケーションプログラムがコンパイル(アセ
ンブリ)される(ステップ101.103)。このとき
、アプリケーションプログラムの高速処理を希望する一
部の処理が、高速化処理部として指定される(ステップ
105)。指定方法としては、特定の命令文を自動的に
指定する方法、あるいは1度プログラムを実行してから
処理時間のかかる部分を自動的に抽出する方法などが考
えられる。ここでは、forループとその中の処理が指
定されている。
コンパイル結果の機械語を第6図に示す。高速化処理部
として指定された処理は、Xて示す1ステツプの特殊命
令とされて生成されている。なお、この部分を高速化し
なかった場合のコンパイル結果の機械語を第7図に示す
。この場合には、yで示す5ステツプの汎用命令が生成
される。
このコンパイルによってコンパイラからは、汎用命令を
表すオブジェクトコード、および特殊命令を表すオブジ
ェクトコードが発生(ソフトウェア・コンパイル)され
る。これと同時に、特殊命令処理部7においてプログラ
マブル論理回路を構成させるための、回路データが生成
(ハードウェア・コンパイル)される(ステップ107
.109)。
生成された回路はデータプログラム書き込み制御回路9
に与えられ、さらにデータプログラム書き込み制御回路
9により、プログラマブル論理回路を構成させるための
書き込みデータが作成される。この書き込みデータに従
って特殊命令処理部7では、特殊命令を実現する論理回
路が構成される(ステップ111.113)。
第8図は、特殊命令処理部7において構成された、特殊
命令を実現する論理回路のブロック図である。
同図において、汎用命令処理部5内のOO〜05、gl
は、変数レジスタであり、第6図あるいは第7図で示し
た%00〜%051%g1にそれぞれ対応している。i
ceも同様に変数レジスタであり、第6図あるいは第7
図において%02と%05との値が一致した場合に、フ
ラグが立てられるレジスタである。また、特殊命令処理
部7内の1nc4.jncはインクリメント回路、cm
pはコンパレータ、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・・・論理ブロック(CL B) 13・・・入出カプロ・ツク 00〜05.gl、icc・・変数レジスタ1nc4.
inc・・・インクリメント回路cmp・・・コンパレ
ータ sub・・・減算器 代私弁理士三好秀和 槙2図 @3図 1図 第4図

Claims (1)

  1. 【特許請求の範囲】 与えられたプログラム中の高速処理を希望する処理部分
    を、特殊命令として生成するよう指定する指定手段と、 生成された前記特殊命令をプログラマブル論理回路とし
    て構成し、特殊命令を高速処理する特殊命令処理部と、 前記特殊命令に応じたプログラマブル論理回路を構成さ
    せる書き込みデータを、特殊命令に基づいて生成するデ
    ータ生成手段と、 高速化が指定されなかった処理を汎用命令として通常処
    理する汎用命令処理部と を有したことを特徴とする電子計算機。
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 true JPH0460719A (ja) 1992-02-26
JP3099889B2 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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055813A (ja) * 2000-05-29 2002-02-20 Pacific Design Kk データ処理装置
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4665760B2 (ja) 2003-06-25 2011-04-06 日本電気株式会社 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055813A (ja) * 2000-05-29 2002-02-20 Pacific Design Kk データ処理装置
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units

Also Published As

Publication number Publication date
JP3099889B2 (ja) 2000-10-16

Similar Documents

Publication Publication Date Title
US10970245B2 (en) Processor with reconfigurable pipelined core and algorithmic compiler
CA1119731A (en) Multibus processor for increasing execution speed using a pipeline effect
JPH05143332A (ja) 命令スケジユーラを備えたコンピユータ・システム及び入力命令シーケンスを再スケジユールする方法
US4539635A (en) Pipelined digital processor arranged for conditional operation
CN106125664A (zh) 一种嵌入式plc控制系统
Davis STARAN parallel processor system software
Bernhard More hardware means less software
US5390306A (en) Pipeline processing system and microprocessor using the system
JP3099889B2 (ja) 電子計算機、プログラマブル論理回路及びプログラム処理方法
Hartenstein et al. Generation of design suggestions for coarse-grain reconfigurable architectures
CA1155231A (en) Pipelined digital processor arranged for conditional operation
Penny et al. Use of multiprogramming in the design of a low cost digital computer
Lloyd et al. Design considerations for microprogramming languages
Kawamoto et al. An FPGA implementation for a flexible-length-arithmetic processor employing the FDFM processor core approach
Kumar et al. Automatic synthesis of microprogrammed control units from behavioral descriptions
JPH07175664A (ja) コンパイラ装置
Clapp The application of microprogramming technology
KR20250173282A (ko) Mba 난독화를 강화하기 위한 mba 수식에 대한 의미 합성 장치 및 방법
Milutinovic et al. A high-level language architecture for time-critical dedicated microprocessing
Koseki et al. A global code scheduling technique using guarded PDG
JPH05150943A (ja) コンピユータ装置
Leventhal Microprogrammable microprocessors
Halverson Jr The functional memory approach to the design of custom computing machines
Koopman Microcoded vs. hard-wired control
EA044257B1 (ru) Системы, устройство и способы конвейерной обработки

Legal Events

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