JP2003036248A - シングルチップマイクロプロセッサに用いる小規模プロセッサ - Google Patents

シングルチップマイクロプロセッサに用いる小規模プロセッサ

Info

Publication number
JP2003036248A
JP2003036248A JP2001225073A JP2001225073A JP2003036248A JP 2003036248 A JP2003036248 A JP 2003036248A JP 2001225073 A JP2001225073 A JP 2001225073A JP 2001225073 A JP2001225073 A JP 2001225073A JP 2003036248 A JP2003036248 A JP 2003036248A
Authority
JP
Japan
Prior art keywords
processor
packet
memory
small
bus
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
JP2001225073A
Other languages
English (en)
Inventor
Yoshio Yoshioka
良雄 吉岡
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Tohoku 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 NEC Software Tohoku Ltd filed Critical NEC Software Tohoku Ltd
Priority to JP2001225073A priority Critical patent/JP2003036248A/ja
Publication of JP2003036248A publication Critical patent/JP2003036248A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 シングルチップマイクロプロセッサに搭載し
て、多機能化と高速処理とを可能とする。 【解決手段】 処理、メモリ、管理それぞれの機能を分
担するもので、12バイト長のパケットを扱うシフトレ
ジスタ68で単方向にループ状に配置されており、パケ
ットを受取る受信パケット部62、パケットを送出する
送信パケット部63、16個のメモリブロックで構成さ
れる4キロバイトの仮想メモリ61、プログラムカウン
タ65、一部をスタックポインタとする16個の汎用レ
ジスタ66、および3キロバイトのスタックメモリ67
と、上記構成要素それぞれを制御して、外部からパケッ
トで受取る命令に基づく機能を処理する制御部64とを
仮想的に備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シングルチップマ
イクロプロセッサで用いる小規模プロセッサに関し、特
に、従来同等の大きさのICチップにも拘わらず一層の
高速処理を可能にするための小規模プロセッサに関す
る。
【0002】
【従来の技術】近年、マイクロプロセッサの高性能化に
あって、複雑な命令もできるだけ小さな命令セットに簡
素化して多数のレジスタを用い、その処理の高速化を図
るRISC(Reduced Instruction Set Computer)手法
によってブレークスルーが起きたことは、よく知られて
いる。現在、このRISC手法の面影が薄れ、再び複雑
な命令セットを有して以前に用いられていたCISC
(Complex Instruction Set Computer)手法の方向に向
かっていると言われている。そして、インターネットの
展開および情報通信技術の進展とともに、マイクロプロ
セッサの高性能化に対する要求はますます高まってい
る。
【0003】ここで、シングルチップマイクロプロセッ
サとして、例えば図8に示されるIC(集積回路)チッ
プ100について説明する。また、図8および図9を併
せ参照してICチップ100内部における信号およびデ
ータの伝達タイミングについて説明する。
【0004】ICチップ100の制御部101は、デー
タを保持するレジスタ102にゲート開信号を送出す
る。ゲート開信号は伝送遅延をもってレジスタ102に
到着する。レジスタ102は内部のゲートを開いて保持
するデータを内部バス103へ送出する。ゲートが開く
動作に時間を要し遅延が生じる。内部バス103へ送出
されたデータは、データを受けるレジスタ104のゲー
トに、内部バス103の長さ分による遅延をもって到着
する。レジスタ104は制御部101から送られるラッ
チ信号により到着したデータを取り込むこととなる。
【0005】すなわち、制御部101がゲート開信号を
送出した後ラッチ信号を送出するまでの時間が、50%
クロックパルスのほぼ中央となる。従って、レジスタ1
02とレジスタ104とがICチップ100内部の両端
に配置されていた場合、動作クロック周期の「1/4」
でなければならないことが分かる。この結果、100p
s周期のクロックで動作させる場合、一辺が5mm以下
のICチップでなければならない。
【0006】一方、高速演算を行なうために複数の演算
器を設けて演算を同時に行なう並列処理方式がある。す
なわち、一連のデータに同一種の演算を行なうために有
効である、演算を小ステップに分割し各ステップを1ク
ロックで行なう演算ステージを連結してパイプラインを
構成し処理するパイプライン処理である。
【0007】
【発明が解決しようとする課題】上述した従来のシング
ルチップマイクロプロセッサが高速化を図るためには、
次のような問題点がある。
【0008】第1は、プロセッサの構成要素を近接配置
して小形化し搭載するチップの大きさを小さくする必要
があるので、製造が困難であるということである。
【0009】第2は、パイプライン処理にはパイプのス
テージ数を増やす必要があり、制御が複雑になるので、
現実的に高性能化は困難であるということである。
【0010】本発明の課題は、このような問題点を解決
し、従来同等の大きさのICチップにも拘わらず一層の
高速処理を可能にするシングルチップマイクロプロセッ
サで用いる小規模プロセッサを提供することである。
【0011】
【課題を解決するための手段】高速化の上記問題点を解
決するために、RISC手法に戻って、シングルチップ
マイクロプロセッサに、小規模プロセッサによる機能分
散かつ並列処理を採用することとした。
【0012】本発明による小規模プロセッサは、一つの
チップ内で、単方向にループ状に複数のシフトレジスタ
を接続して形成する通信用伝送路に所定の固定長を有す
るパケットを転送し前記シフトレジスタそれぞれに接続
して前記固定長パケットを授受するものであって、前記
シフトレジスタを入出力部とすると共に、基本的なメモ
リおよびプロセッサユニットを備え、一つの小規模プロ
セッサは外部から割込み信号を受けると共に残りの小規
模プロセッサの状態を管理する割込み管理プロセッサと
して、他の一つは、外部の実メモリと接続して仮想メモ
リを形成することにより、シングルチップマイクロプロ
セッサを構成する小規模プロセッサのメモリ容量の拡張
に寄与するメモリ管理プロセッサとして、更に他の一つ
は共有するメモリを管理する共有メモリ管理プロセッサ
として、かつ残る小規模プロセッサが前記割込み管理プ
ロセッサに指示を受けて前記メモリから命令を取り出し
所定の処理を実行する処理プロセッサとして、それぞれ
が分担する機能を発揮することを特徴としている。
【0013】このような小規模プロセッサを複数個並列
に備えるシングルチップマイクロプロセッサは、複数の
小規模プロセッサそれぞれが分散的機能であるため小型
化され、かつループ状の通信用伝送路で連結して並列動
作し、更に固定長パケットによりデータが転送されるた
め、従来と同等の大きさのICチップにおいて一層の高
速動作を可能としている。
【0014】また、小規模プロセッサそれぞれはその並
列処理によって種々の処理プログラムを実行することが
できる。更に固定長パケットは、例えば12バイト長と
いう比較的短く適切な長さなので、データの転送および
処理の高速化に有効である。
【0015】また、小規模プロセッサの具体的な手段の
一つは、それぞれのプロセッサが、第1および第2の内
部バスとデータバスおよびアドレスバスとを有し、第1
の内部バスには、少なくとも二つの汎用レジスタ、プロ
セッサを制御する制御部と接続する命令レジスタ、演算
部、前記データバスとの間に備えられるバスゲート、並
びに第2の内部バスとの間に備えられるプログラムカウ
ンタ、スタックポインタ、およびプロセッサを制御する
制御部と接続する命令レジスタを接続し、第2の内部バ
スには更に前記アドレスバスとの間に備えられるアドレ
スバッファを接続し、前記データバスとアドレスバスと
の間には読取り専用メモリおよび読み書き自由なメモリ
並びに前記シフトレジスタ部を接続して構成されている
ことである。
【0016】上記演算部、第1の内部バス、およびデー
タバスそれぞれは8ビット、第2の内部バスおよびアド
レスバスそれぞれは16ビット、並びに読取り専用メモ
リおよび読み書き自由なメモリそれぞれは8キロバイ
ト、それぞれを処理すること、および制御部はワイヤー
ドロジックにより動作することが小規模プロセッサとし
て望ましい。
【0017】また、シフトレジスタ部の一つの具体的な
構成は、構成要素と接続して全体の動作を制御する制御
部と、前位の小規模プロセッサから一つのパケット分ず
つのデータを受ける受信用シフトレジスタと、前記デー
タバスに送出するデータを前記受信用シフトレジスタか
ら受けて格納する受信レジスタと、内部から後位へ送出
するデータを前記データバスから受けて格納する送信レ
ジスタと、内部に取り込まず中継転送するデータを前記
受信用シフトレジスタからゲートを介して直接受ける一
方、内部から送出するデータを前記送信レジスタから受
けて格納し前記制御部の制御を受けて後位へ送出する送
信用シフトレジスタとを備えることを特徴としている。
【0018】
【発明の実施の形態】次に、図面を参照して本発明の実
施の形態について説明する。図面は、画面の大きさに制
限があるため、本発明に係る主要部分のみが示され、基
本的に機能上で必要でも省略されているものがある。ま
た、図面上で記号のサフィックスは解読を容易にするた
め半角で示されている。
【0019】図1は本発明の小規模プロセッサを機能分
散型に用いたシングルチップマイクロプロセッサの実施
の一形態を示すブロック図である。以後、小規模プロセ
ッサをPE(Processor Element:プロセッサ素子)と呼
称する。
【0020】図1に示されたシングルチップマイクロプ
ロセッサでは、ICチップ10に本発明による複数のP
Eとして、N個の処理プロセッサ1−1〜1−N、共有
メモリ管理プロセッサ2、メモリ管理プロセッサ3、お
よび割込み管理プロセッサ4が搭載され、更にN個のシ
フトレジスタ5−1〜5−Nおよび3個のシフトレジス
タ6−2〜6−4、並びにこれらシフトレジスタをこの
順序でシリアルにかつループ状に接続する通信用伝送路
7が搭載されている。
【0021】k番目の処理プロセッサ1−kはシフトレ
ジスタ5−kと接続される。共有メモリ管理プロセッサ
2、メモリ管理プロセッサ3、および割込み管理プロセ
ッサ4それぞれは、シフトレジスタ6−2〜6−4それ
ぞれと接続される。通信用伝送路7では、シフトレジス
タ5−1〜5−Nに続いてシフトレジスタ6−2〜6−
4それぞれが順次シリアルにループ状に接続されてい
る。
【0022】図示されるシングルチップマイクロプロセ
ッサでは、シリコンICの技術面において、シフトレジ
スタを10GHz以上のクロックで動作させ、シリアル
転送を実施するものとする。しかし、バイトシリアル転
送でも、またはパケット長分のパラレル転送を行っても
よい。パラレル転送の場合には上述したより低速なクロ
ックを用いることができる。また、シフトレジスタと各
小規模プロセッサとの間のパケット交換部分は、シフト
レジスタによる転送の部分を含めて、基本的にハ−ドウ
エアで実現することとする。なお、このパケット交換部
分はパケット交換専用プロセッサで実現することも可能
である。
【0023】処理プロセッサ1は、内部にメモリを有し
て先取り実行を行なうと共にスタック領域も有してお
り、サブルーチンコールの戻り番地の格納、レジスタ内
容の一時退避、動的変数領域などに利用する。この処理
プロセッサ1は、割込みおよびプロセッサ管理を行なう
割込み管理プロセッサ4から起動パケットを受け取り、
そのパケットに入っている実行開始番地から取り出した
命令を実行するプロセッサである。処理プロセッサ1
は、メモリ管理プロセッサ3に対してメモリ読出しパケ
ットを送り、メモリ管理プロセッサ3のメモリに格納さ
れた命令を自己内部のメモリに読み込んでそのプログラ
ムを実行する。一連の処理が終れば、割込み管理プロセ
ッサ4に対して終了パケットを送る。また、子タスクを
実行する場合においても、割込み管理プロセッサにタス
ク実行要求パケットを送る。なお、リセット後の処理プ
ロセッサ1は休止状態となる。
【0024】共有メモリ管理プロセッサ2は、各プロセ
ッサから読み書き可能な配列領域および情報交換のため
の共有メモリを有している。
【0025】メモリ管理プロセッサ3は、メモリインタ
ーリーブ方式を採用して、外部の実メモリとアドレスバ
スおよびデータバスで形成されるバスにより接続されて
仮想メモリを形成しており、処理プロセッサ1から命令
読出しパケットを受けた際には、その指定番地から1ブ
ロック分の命令を順次読み出し、パケット発信元の処理
プロセッサ1に宛てて転送する。
【0026】割込み管理プロセッサ4は上述したように
割込みおよびプロセッサ管理のためのプロセッサであ
る。従って、割込み管理プロセッサ4は処理プロセッサ
1が処理中状態か休止状態であるかを状態テーブルによ
り管理している。すなわち、外部からの割込み信号、ま
たは処理プロセッサ1からのタスク実行要求パケットに
よって、休止状態の処理プロセッサ1を探して、選択し
決定した処理プロセッサ1に対して起動パケットを送
る。なお、リセット時には、割込み管理プロセッサ4は
各処理プロセッサ1の故障などを含む状況を把握して状
態テーブルに記録する。また、割込み処理は休止状態の
処理プロセッサに割り当てる。なお、休止状態の処理プ
ロセッサがない場合、割込み処理のための待ち行列を作
る。この構成により割込み処理に移るための複雑なハ−
ドウエアが不用である。
【0027】上述したように、機能分散された各PEは
機能が小さいのでハードウエア量も少ない。すなわちP
Eは、割込み機能も必要とせず後述するようにプロセッ
サユニット部分だけで約6000ゲート程度である。更
に、PEは、並列および非同期で動作できる。従って高
速化が実現できる。
【0028】次に、図2を参照してPEの一実施例につ
いて説明する。PEの構成要素は通常のコンピュータに
用いられるものであり、動作は命令によりメモリから取
り出されるプログラムを用いてPEそれぞれに分散され
た機能を実施するので、PEの内部構成についてのみ説
明する。
【0029】図示されるPEには、8ビット汎用レジス
タのAレジスタ11およびBレジスタ12、8ビットの
演算部13および内部バス14、16ビットのプログラ
ムカウンタ15およびスタックポインタ16、8ビット
の命令レジスタ17、並びに制御部18、16ビットの
内部バス19により構成されるCPU部20が備えられ
ている。8ビットの演算部13では、ゼロフラグ(Z)
と、負フラグ(M)と桁上げ(C)との3つの条件コー
ドが含まれている。更に、CPU部20は、このCPU
部20を外部に接続するバスゲート21およびアドレス
バッファ22を有している。
【0030】また、PEは、バスゲート21およびアド
レスバッファ22を介して接続するデータバス23およ
びアドレスバス24、8キロバイト程度のROM(読取
り専用メモリ)25およびRAM(読み書き自由なメモ
リ)26、並びにパケット転送のためのシフトレジスタ
部27を更に備え構成されている。
【0031】CPU部20において、Aレジスタ11、
Bレジスタ12、および演算部13は内部バス14と接
続してデータを授受する。プログラムカウンタ15およ
びスタックポインタ16は、一方で8ビットの内部バス
14とデータを授受し、他方で16ビットの内部バス1
9へデータを送出する。命令レジスタ17は制御部18
の制御を受け8ビットの内部バス14とデータを授受す
る。
【0032】バスゲート21は、一方で内部バス14と
また他方でデータバス23とそれぞれデータを授受す
る。アドレスバッファ22は16ビットの内部バス19
からデータを受けてアドレスバス24へ送出する。RO
M25、RAM26、およびシフトレジスタ部27それ
ぞれは、一方でアドレスバス24からデータを受け、他
方でデータバス23とデータを授受する。
【0033】上述したように、このCPU部20のハー
ドウエア量は、約6000ゲート程度であり、割込み機
能もなく、非常に単純な構成である。このようなCPU
部の例としては、初期の8ビットマイクロコンピュータ
から割込み機能およびインデックスレジスタを除いて形
成することができる。このように単純な構成ではハード
ウエア量が少ないので、制御部18はワイヤードロジッ
クで十分であり、高速なものが実現できる。また、初期
の8ビットマイクロコンピュータにおけるインデックス
レジスタの代わりとして、メモリを利用した間接アドレ
ッシングを可能にする必要がある。
【0034】図10に、このCPU部における機械語命
令コード一覧についての一例が示されている。
【0035】また、PEに含まれるシフトレジスタ部は
1パケット分、12バイト(96ビット)程度の大きさ
であり、受信用シフトレジスタおよび送信用シフトレジ
スタを有しており、外部同期信号SYNによって送信用
シフトレジスタ内の送信パケットの送信を開始する。こ
の送信動作では、送信パケットのシリアルデータと、シ
フトを行なうクロック信号SCKが次の順位のPEに送
られる。次の順位のPEでは、前の順位のPEからのク
ロック信号SCKに従って、受信用シフトレジスタにシ
リアルデータを取り込む。すなわち、各PEは、同期信
号SYNによって、個々に独立にパケット転送を開始す
る。
【0036】次に図3に図2を併せ参照してシフトレジ
スタ部の一形態について説明する。
【0037】図示されるシフトレジスタ部は、k番目の
PEにおけるものであって、受信用シフトレジスタ3
1、受信レジスタ32、データバス33、送信レジスタ
34、ゲート35、および送信用シフトレジスタ36、
並びに制御部30により構成されている。送受信用のシ
フトレジスタ31,36および送受信レジスタ32,3
4それぞれはゲート35と共に12バイト(96ビッ
ト)長のパケットデータを処理する。
【0038】受信用シフトレジスタ31は、前位「k−
1」番目のPEk−1から受けるデータDTk−1およ
び送信クロックSCKk−1を受けて、格納されていた
96ビット(8ビット×12)を受信レジスタ32、ゲ
ート35、および自己PE判定のため制御部30へ送出
する。また、受信用シフトレジスタ31に格納されてい
るパケットが自己PE宛てである場合、制御部30から
送られる受信パケット取込み信号RLを所定時間の遅
れをもって受ける。
【0039】受信レジスタ32は、制御部30から受信
パケット取込み信号RLを受けた際に、受信用シフト
レジスタ31から受けた96ビット(8ビット×12)
を8ビットずつ12個のゲート信号G0〜11によりデ
ータバス33へ送出する。
【0040】データバス33は、図2に示されるように
シフトレジスタ部をCPU部に接続しており、PE内部
に取り込むデータを受信レジスタ32から受け、制御部
30とデータの授受すると共に、PE内部から送信すべ
きデータを12個の取込み信号L0〜11により送信レ
ジスタ34へ送る。
【0041】送信レジスタ34は、制御部30から送信
パケット用ゲート開信号TGの反転信号を受けた際
に、データバス33から受けた96ビット(8ビット×
12)の1パケット分を送信用シフトレジスタ36へ送
る。
【0042】ゲート35は、受信用シフトレジスタ31
に格納されているパケットが自己PE宛てでない場合、
受信用シフトレジスタ31から受ける96ビット(8ビ
ット×12)を、制御部30から受ける送信パケット用
ゲート開信号TGにより通過させて、送信用シフトレ
ジスタ36へ送出する。
【0043】送信用シフトレジスタ36は、制御部30
の制御を受け、PEの内部から送出するデータを送信レ
ジスタ34から直接、または前位から後位へ通過して送
出するデータを受信用シフトレジスタ31からゲート3
5を介して、それぞれ受けた96ビット(8ビット×1
2)を制御部30から受ける送信パケット取込み信号T
および送信クロックSCKによりシリアルデータ
DTとして後位のPEk+1へ送出する。
【0044】また、制御部30は、外部からクロック信
号CLKおよび同期信号SYNを、また受信用シフトレ
ジスタ31からパケットのPE番号領域を受け、パケッ
トの送受信を制御すると共に、上述した受信パケット取
込み信号RLおよび送信パケット取込み信号TL
と、送信パケット用ゲート開信号TGおよび送信ク
ロックSCKとを生成して送出する。
【0045】図4は、制御部30から送出される信号の
時間関係を示すものである。図示されるように、送信パ
ケット取込み信号TLに続いて、送信用シフトレジス
タ36へ96ビット(8ビット×12)のシリアルデー
タDTを送出するための送信クロックSCKkが送出
される。また、受信用シフトレジスタ31に自己PE宛
てのパケットが格納されている場合には、次の送信パケ
ット取込み信号TLの送出前に受信パケット取込み信
号RLが受信レジスタ32へ送られる。
【0046】次に、図5を参照し図3の制御部30にお
けるアドレスデコーダ部の構成について補足説明する。
【0047】図示されるアドレスデコーダ部はデコーダ
41,42および否定的論理積回路43を有している。
すなわち、制御部では、デコーダ41がアドレス下位4
ビットA0〜A3を入力して16個のゲート開信号反転
G0〜G15を、またデコーダ42がラッチ(取込み)
信号反転L0〜L15をそれぞれ復号し、データバスへ
のパケット入出力を制御する。各デコーダ41,42の
入力ゲートG1には、アドレスバスの上位ビットをデコ
ードした、シフトレジスタ部へのアクセス信号(I/
O)が入力される。また、デコーダ41の入力ゲートG
2には、シフトレジスタ部に対する読み・書き(R/
W)反転信号が入力する。デコーダ42の入力ゲートG
2には、上記読み・書き(R/W)反転信号とCPU部
の実行を司るイネーブル信号Eとを入力に接続する否定
的論理積回路43の出力が接続されている。
【0048】次に図6に図3を併せ参照して制御部30
における送受信制御の回路構成について説明する。
【0049】図示される回路は、比較回路51、論理積
回路52,55,56、セットリセット型フリップフロ
ップ回路(以後、RS−FFと略称する)53,54、
およびゲート回路で形成される出力部57により構成さ
れる。
【0050】比較回路51は受信パケットのPE部分と
自己のPE番号とを比較しその一致を論理積回路52へ
接続する。論理積回路52は、比較回路51、受信パケ
ット取込み信号RLおよびRS−FF53のQバー出力
を入力しPEの受信パケット取込み信号RLを出力
する。
【0051】RS−FF53は、最後の順番の取込み信
号L15の反転信号をR入力に接続し、また遅延を加味
した論理積回路52の出力をS入力に接続する。Q出力
は出力部57の入力に接続される。RS−FF54は、
最初の順番における取り込み信号L0の反転信号をS入
力に接続し、論理積回路55の出力をR入力に接続す
る。Q出力は論理積回路56の入力に接続しQバー出力
は出力部57の入力に接続される。
【0052】論理積回路55は、PEの送信パケット
取込み信号TLおよび論理積回路56の出力を入力
に、出力をRS−FF54のR入力に接続する。論理積
回路56は、RS−FF54のQ出力と空きパケット信
号とを入力し、出力をPEの送信パケット用ゲート開
信号TGとして論理積回路55に入力する。この空き
パケット信号は、受信用シフトレジスタ31に格納され
ているパケットの先頭8ビットがゼロである場合に生成
される。
【0053】出力部57は、RS−FF53のQ出力お
よびRS−FF54のQバー出力を入力し、最後のゲー
ト開反転信号Gバー15により、D0出力に受信パケッ
トがあるか否かを、またD1出力に送信可能か否かを送
出する。
【0054】次に、図7に図2を併せ参照してk番目の
仮想PEについて説明する。仮想的なPEは、図2の
実質構成を有するPEに図10に示される機械語命令を
利用して実現される。
【0055】仮想PEは、メモリブロック1〜16を
有する仮想メモリ61、受信パケット部62、送信パケ
ット63、制御部64、プログラムカウンタ65、汎用
レジスタ0〜15を有するレジスタ66、およびスタッ
クメモリ67,並びにシフトレジスタ部69により構成
される。メモリブロック1〜16それぞれは256バイ
トの容量を、またスタックメモリは3キロバイトの容量
を有し、シフトレジスタ部68は上述したように12バ
イト長のパケットを処理できる。
【0056】仮想メモリ61は、一方でシフトレジスタ
部68からデータを受け、他方で制御部64とデータを
授受する。受信パケット部62は、シフトレジスタ部6
8から受ける受信パケットを制御部64へ送る。送信パ
ケット部63は制御部64からシフトレジスタ部68へ
送信パケットを送る。制御部64は全ての構成要素と接
続して動作を実行し、命令された機能を発揮する。プロ
グラムカウンタ65、汎用レジスタ66およびスタック
メモリ67それぞれは制御部64と接続してデータを授
受する。
【0057】すなわち、CPU部は、16個の16ビッ
ト汎用レジスタ0〜15、プログラムカウンタ、16ビ
ット演算器および32ビット演算器などからなる。そし
て、連続する2つの汎用レジスタで32ビットの数値を
表現でき、32ビットの整数演算および浮動小数点演算
を可能とする高級機械語命令を実現する。上記汎用レジ
スタ15はスタックポインタとして用いる。また、8キ
ロバイトのRAMのうち、3キロバイトはサブルーティ
ンコールおよびレジスタ退避などのスタック領域とし
て、4キロバイトは仮想メモリ領域として、残りの1キ
ロバイトはワーク領域として利用する。これによって、
同じ処理を行なうプログラムを実行する場合、このよう
な仮想プロセッサの構成によりプログラム量が減少する
ので、プログラムの転送オーバヘッドを減少させること
ができる。
【0058】図11および図12に仮想PEにおけるア
センブリ言語と機械語命令コードとを命令・コード・機
能に対応させて示す。
【0059】次に、図5および図11,12に示される
仮想PEを、図10に示される機械語命令を用いてエミ
ュレートする。図11,12はそのプロセッサの機械語
命令であり,この中には連続する2つの汎用レジスタに
よって32ビットの数値を表現でき、32ビットの整数
演算、浮動小数点演算などの機械語命令が含まれる。ま
た,仮想メモリも図10に示す機械語命令を利用してソ
フトウエア的に実現可能である。
【0060】次に、図2から図6までを併せ参照してシ
フトレジスタ部の動作機能について説明する。
【0061】シフトレジスタ部の構成は、図3,5およ
び図6に示されている。
【0062】シフトレジスタ部では、外部から受ける同
期信号SYNまたはPEで生成される送信パケット取
込み信号TLによって、受信パケットがこのPE
でない場合には受信用シフトレジスタ31からゲート3
5を介して、または受信用シフトレジスタ31が空の場
合には送信レジスタ34から直接、送信すべきパケット
を送信用シフトレジスタ36に取り込む。
【0063】その後、外部から受けるクロック信号CL
Kに基づいて1パケット分の96ビットに対応するシフ
ト信号となる送信クロックSCKを生成し、これを送
信用シフトレジスタ36に入れるとシリアルデータDT
が出力され、後の順位のPEk+1に送られる。更に
その後、このPEの受信用シフトレジスタ31に取り
込まれた受信パケットに含まれる宛先PE番号と自プロ
セッサ番号PEとが図6の比較回路51によって比較
される。PE番号が8ビットで表現されている場合、比
較回路51は、8個の排他的論理和回路と、8つの入力
を有する否定的論理和回路で構成される。
【0064】比較結果が等しければ、受信パケット取込
み信号RLによってそのパケットが受信レジスタ32
に取り込まれる。これと同時に、受信用シフトレジスタ
31がクリアされ空パケットとなる。これら送信・受信
それぞれのレジスタへの読み書きはメモリをアクセスす
る一つの方法であるメモリマップドI/Oで行なう。す
なわち、送信パケットはI/O番地の下位「0〜B」に
書き込み、受信パケットはI/O番地の下位「0〜B」
を読み出せばよい。すなわち、送信パケットでは取込み
信号L0,L1,〜L11が低レベルになり、受信パケ
ットではゲート開信号G0,G1,〜G11が低レベル
になる。なお、図示されるフリップフロップRS−FF
53,54とI/O番地の下位が「F」とによって、受
信パケットがあるか否かをD0出力により、また送信可
能か否かをD1出力により判断することができる。
【0065】また図13以降に、仮想プロセッサの機械
語命令実行部を除く具体的な処理プロセッサのプログラ
ムにおける一例を部分的に示す。このプログラムリスト
において「lda lshin+15」命令または「l
da lshot+15」命令を実行し、Aレジスタの
最下位ビットが「1」であれば受信パケットがあること
を意味し、下から2ビット目が「0」であればパケット
を送信できることを意味する。受信パケットは「lsh
in+0〜lshin+11」から読み出すこと、また
送信パケットは「lshot+0〜lshot+11」
へ書き込むことによってパケット処理を行うことができ
る。ただし、受信パケットを処理した場合は「sta
lshin+15」の命令を実行して受信可能状態にす
る必要がある。また、パケットを送信する場合、最後に
「sta lshot」を実行してパケットの最上位バ
イトを格納するとともに、パケット送信要求を出す必要
がある。
【0066】上記説明では、各小規模プロセッサが独立
し非同期状態でプログラム処理することのみ説明した
が、、データフロー処理方式を実装して種々の処理プロ
グラムを順次処理する並列コンピュータである所謂LS
C(Loop Structured Computer)等にも適用可能であ
る。
【0067】上記説明では、図示された機能ブロックを
参照しているが、機能の分離併合による配分などの変更
は上記機能を満たす限り自由であり、上記説明が本発明
を限定するものではない。
【0068】
【発明の効果】以上説明したように本発明によれば、C
PU部およびメモリを有する小規模のプロセッサが仮想
的にパケットの送受信部、仮想メモリ、プログラムカウ
ンタ、一部をスタックポインタとする汎用レジスタ、お
よびスタックメモリを備え、命令レジスタを有してこれ
らを制御する制御部が外部から受ける命令に基づいてこ
れを処理しその機能を発揮している。このように小規模
に形成されたプロセッサを機能的に分散し、シフトレジ
スタを用いて単方向にループ状に形成した構成とするこ
とにより、接近した配置が可能であり、転送データに比
較的短い12バイトによる固定長のパケットを用いてそ
れぞれが受取った命令のみを非同期で並列処理できる機
能分散された小規模プロセッサが得られる。従って、こ
の構成を有する小規模プロセッサを搭載するシングルチ
ップマイクロプロセッサは、データの短時間による内部
転送と、並列処理による多機能化とが可能となり、従来
同等の大きさのICチップにも拘わらず一層の高速処理
を可能にするという効果を得ることができる。
【図面の簡単な説明】
【図1】本発明の小規模プロセッサを用いたシングルチ
ップマイクロプロセッサの実施の一形態を示す機能ブロ
ック図である。
【図2】本発明による小規模プロセッサの実施の一形態
を示すブロック構成図である。
【図3】図2におけるシフトレジスタ部の実施の一形態
を示すブロック構成図である。
【図4】図3における主要信号の時間関係の一形態を示
すタイムチャートである。
【図5】図3の制御部における部分詳細(アドレスデコ
ーダ部)の実施の一形態を示すブロック構成図である。
【図6】図3の制御部における部分詳細(制御・ステー
タス部)の実施の一形態を示すブロック構成図である。
【図7】図2に対して仮想の機能ブロックによる一形態
を示す構成図である。
【図8】従来の一例を示す機能ブロック図である。
【図9】図8における信号およびデータの時間関係に係
る一例を示すタイムチャートである。
【図10】本発明におけるアセンブリ言語と機械語命令
コードとの対比の一形態を示す図である。
【図11】本発明における仮想プロセッサのアセンブリ
言語と機械語命令コードとを対比する一形態の一部分を
示す図である。
【図12】図11に対し残り部分を示す図である。
【図13】本発明による処理プロセッサのプログラムの
一形態における一部分を示す図である。
【図14】図13に続く一部分を示す図である。
【図15】図14に続く一部分を示す図である。
【図16】図15に続く一部分を示す図である。
【図17】図16に続く一部分を示す図である。
【図18】図17に続く一部分を示す図である。
【符号の説明】
1−1、1−2、1−N 処理プロセッサ 2 共有メモリ管理プロセッサ 3 メモリ管理プロセッサ 4 割込み管理プロセッサ 5−1、5−2、5−N,6−2、6−3、6−4
シフトレジスタ 7 通信用伝送路 10 ICチップ 11 Aレジスタ 12 Bレジスタ 13 演算部 14、19 内部バス、 15、65 プログラムカウンタ 16 スタックポインタ 17 命令レジスタ 18、30、64 制御部 20 CPU部 21 バスゲート 22 アドレスバッファ 23、33 データバス 24 アドレスバス 25 ROM 26 RAM 27、68 シフトレジスタ部 31 受信用シフトレジスタ 32 受信レジスタ 34 送信レジスタ 35 ゲート 36 送信用シフトレジスタ 41、42 デコーダ 51 比較回路 53、54 RS−FF 57 出力部 60 PE(プロセッサ・エレメント) 61 仮想メモリ 62 受信パケット部 63 送信パケット部 66 汎用レジスタ 67 スタックメモリ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 GG11 5B062 AA03 CC04 FF05 JJ01

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 シングルチップマイクロプロセッサ内
    で、単方向にループ状に複数のシフトレジスタを接続し
    て形成する通信用伝送路に所定の固定長を有するパケッ
    トを転送し前記シフトレジスタそれぞれに接続して前記
    固定長パケットを授受するものであって、前記シフトレ
    ジスタを入出力部とすると共に、基本的なメモリおよび
    プロセッサユニットを備え、一つは外部から割込み信号
    を受けると共に残りの小規模プロセッサの状態を管理す
    る割込み管理プロセッサとして、他の一つは、外部の実
    メモリと接続して仮想メモリを形成することにより、シ
    ングルチップマイクロプロセッサを構成する小規模プロ
    セッサのメモリ容量の拡張に寄与するメモリ管理プロセ
    ッサとして、更に他の一つは共有するメモリを管理する
    共有メモリ管理プロセッサとして、かつ残る小規模プロ
    セッサが前記割込み管理プロセッサに指示を受けて前記
    メモリから命令を取り出し所定の処理を実行する処理プ
    ロセッサとして、それぞれの機能を発揮することを特徴
    とする小規模プロセッサ。
  2. 【請求項2】 請求項1において、それぞれが並列処理
    を行なうことを特徴とする小規模プロセッサ。
  3. 【請求項3】 請求項1において、前記シフトレジスタ
    は、12バイトの大きさを固定長とするパケットを処理
    することを特徴とする小規模プロセッサ。
  4. 【請求項4】 請求項1において、各プロセッサが小規
    模プロセッサであって、第1および第2の内部バスとデ
    ータバスおよびアドレスバスとを有し、第1の内部バス
    には、少なくとも二つの汎用レジスタ、演算部、前記デ
    ータバスとの間に備えられるバスゲート、並びに第2の
    内部バスとの間に備えられるプログラムカウンタ、スタ
    ックポインタ、およびプロセッサを制御する制御部と接
    続する命令レジスタを接続し、第2の内部バスには更に
    前記アドレスバスとの間に備えられるアドレスバッファ
    を接続し、前記データバスとアドレスバスとの間には読
    取り専用メモリおよび読み書き自由なメモリ並びに前記
    シフトレジスタ部を接続して構成されることを特徴とす
    る小規模プロセッサ。
  5. 【請求項5】 請求項4において、演算部、第1の内部
    バス、およびデータバスそれぞれは8ビット、第2の内
    部バスおよびアドレスバスそれぞれは16ビット、並び
    に読取り専用メモリおよび読み書き自由なメモリそれぞ
    れは8キロバイト、それぞれを処理することを特徴とす
    る小規模プロセッサ。
  6. 【請求項6】 請求項4において、制御部はワイヤード
    ロジックにより動作することを特徴とする小規模プロセ
    ッサ。
  7. 【請求項7】 請求項4において、シフトレジスタ部
    は、構成要素と接続して全体の動作を制御する制御部
    と、前位の小規模プロセッサから一つのパケット分ずつ
    のデータを受ける受信用シフトレジスタと、前記データ
    バスに送出するデータを前記受信用シフトレジスタから
    受けて格納する受信レジスタと、内部から後位へ送出す
    るデータを前記データバスから受けて格納する送信レジ
    スタと、内部に取り込まず中継転送するデータを前記受
    信用シフトレジスタからゲートを介して直接受ける一
    方、内部から送出するデータを前記送信レジスタから受
    けて格納し前記制御部の制御を受けて後位へ送出する送
    信用シフトレジスタとを備えることを特徴とする小規模
    プロセッサ。
JP2001225073A 2001-07-25 2001-07-25 シングルチップマイクロプロセッサに用いる小規模プロセッサ Pending JP2003036248A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001225073A JP2003036248A (ja) 2001-07-25 2001-07-25 シングルチップマイクロプロセッサに用いる小規模プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001225073A JP2003036248A (ja) 2001-07-25 2001-07-25 シングルチップマイクロプロセッサに用いる小規模プロセッサ

Publications (1)

Publication Number Publication Date
JP2003036248A true JP2003036248A (ja) 2003-02-07

Family

ID=19058126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001225073A Pending JP2003036248A (ja) 2001-07-25 2001-07-25 シングルチップマイクロプロセッサに用いる小規模プロセッサ

Country Status (1)

Country Link
JP (1) JP2003036248A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012133A (ja) * 2004-05-28 2006-01-12 Intel Corp 双方向性リング相互接続路を有する多重プロセッサチップ
JP2008108055A (ja) * 2006-10-25 2008-05-08 Sony Corp 半導体チップ
WO2019093352A1 (ja) * 2017-11-10 2019-05-16 日本電気株式会社 データ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012133A (ja) * 2004-05-28 2006-01-12 Intel Corp 双方向性リング相互接続路を有する多重プロセッサチップ
JP2008108055A (ja) * 2006-10-25 2008-05-08 Sony Corp 半導体チップ
WO2019093352A1 (ja) * 2017-11-10 2019-05-16 日本電気株式会社 データ処理装置

Similar Documents

Publication Publication Date Title
US5608881A (en) Microcomputer system for accessing hierarchical buses
US5930523A (en) Microcomputer having multiple bus structure coupling CPU to other processing elements
US4181934A (en) Microprocessor architecture with integrated interrupts and cycle steals prioritized channel
US4112490A (en) Data transfer control apparatus and method
Garside et al. AMULET3i-an asynchronous system-on-chip
US4839797A (en) Microprocessor compatible with any software represented by different types of instruction formats
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US4378589A (en) Undirectional looped bus microcomputer architecture
CN1570907B (zh) 多处理器系统
JPH11338734A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
US6205536B1 (en) Combined Instruction and address caching system using independent buses
JPH045216B2 (ja)
JP2000010818A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
KR970003321B1 (ko) 코프로세서 지정 시스템
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
JP2000207247A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
US5696957A (en) Integrated circuit comprising a central processing unit for executing a plurality of programs
US6986028B2 (en) Repeat block with zero cycle overhead nesting
JP2003036248A (ja) シングルチップマイクロプロセッサに用いる小規模プロセッサ
JP2003036169A (ja) 複数の小規模プロセッサによって並列処理を行なうシングルチップマイクロプロセッサ
JP2000020488A (ja) コンピュ―タシステムおよびこのコンピュ―タシステムを動作させる方法
JP3096576B2 (ja) メモリ制御回路とその回路を内蔵した集積回路素子
JPH04104350A (ja) マイクロプロセッサ
US20070038435A1 (en) Emulation method, emulator, computer-attachable device, and emulator program
JP3202654B2 (ja) マイクロプロセッサシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041125

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20041130

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050408