特許第6767269号(P6767269)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許6767269情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム
<>
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000002
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000003
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000004
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000005
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000006
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000007
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000008
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000009
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000010
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000011
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000012
  • 特許6767269-情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6767269
(24)【登録日】2020年9月23日
(45)【発行日】2020年10月14日
(54)【発明の名称】情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム
(51)【国際特許分類】
   G06F 13/14 20060101AFI20201005BHJP
   G06F 13/10 20060101ALI20201005BHJP
【FI】
   G06F13/14 310E
   G06F13/10 310B
【請求項の数】8
【全頁数】26
(21)【出願番号】特願2017-9986(P2017-9986)
(22)【出願日】2017年1月24日
(65)【公開番号】特開2018-120323(P2018-120323A)
(43)【公開日】2018年8月2日
【審査請求日】2019年12月16日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】大本 能久
【審査官】 桜井 茂行
(56)【参考文献】
【文献】 特開2008−102921(JP,A)
【文献】 米国特許出願公開第2008/0147891(US,A1)
【文献】 特開平04−364558(JP,A)
【文献】 特開2008−041099(JP,A)
【文献】 特開平07−168768(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/14
G06F 13/10
G06F 13/26
(57)【特許請求の範囲】
【請求項1】
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置と、データ分類手段、及び前記複数のプロセッサの台数以上の演算手段を含む周辺装置とを備えた情報処理システムであって、
各前記プロセッサは、転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した前記書き込み単位を前記共有パラレルポートへ前記共有パラレルポートにおける排他制御を行わずに順次書き込み、
前記データ分類手段は、
前記共有パラレルポートから前記書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力し、
前記演算手段は、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成する
情報処理システム。
【請求項2】
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
請求項1に記載の情報処理システム。
【請求項3】
前記周辺装置は、各前記プロセッサにおける割り込みのネストレベルを表すデータを保持する、前記プロセッサ識別子を表すデータに関連付けされたレベルカウンタを更に備え、
前記プロセッサは、前記転送対象データのうちのある転送対象データの転送開始を示す前記転送用符号であるスタート符号を、前記スタート符号を除く、該ある転送対象データを表現する前記一連の転送用符号の書き込み以前に前記共有パラレルポートへ書き込み、
前記データ分類手段は、
前記共有パラレルポートから前記書き込み単位を順次読み出し、
読み出した前記書き込み単位に前記スタート符号が含まれる場合に、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記レベルカウンタにおける前記割り込みのネストレベルを表すデータを1だけ増加させ、
読み出した前記書き込み単位に含まれる、前記スタート符号を除く前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータと、該プロセッサ識別子を表すデータに関連付けされた前記レベルカウンタにおける前記割り込みのネストレベルとから成るセットに関連付けされた前記演算手段へ順次出力し、
前記演算手段は、
前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成し、
該演算手段に関連付けされた前記プロセッサ識別子を表すデータに関連付けされた前記レベルカウンタにおける前記割り込みのネストレベルを表すデータを1だけ減少させる請求項1又は2に記載の情報処理システム。
【請求項4】
各前記演算手段は、互いに異なる出力先に接続され、前記再構成した前記転送対象データを、該演算手段に接続された前記出力先へ出力する
請求項1乃至3の何れか1項に記載の情報処理システム。
【請求項5】
前記転送対象データは、前記情報処理装置の電源が投入された際に実行される自己診断処理における状態を示すコードであり、
前記周辺装置は、各前記演算手段に接続された、該演算手段により再構成された前記コードを表示する表示手段を更に備える
請求項1乃至4の何れか1項に記載の情報処理システム。
【請求項6】
データ分類手段及び複数の演算手段を備えた周辺装置であって、
前記データ分類手段は、
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置が有する前記共有パラレルポートから、前記情報処理装置が転送する転送対象データを表すことが可能な一連の転送用符号のそれぞれに、前記情報処理装置が有する各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力し、
前記演算手段は、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成する
周辺装置。
【請求項7】
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置と、データ分類手段、及び前記複数のプロセッサの台数以上の演算手段を含む周辺装置とを備えた情報処理システムにおけるデータ転送方法であって、
各前記プロセッサにより、転送対象データを構成可能な一連の転送用符号のそれぞれに、各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した前記書き込み単位を前記共有パラレルポートへ前記共有パラレルポートにおける排他制御を行わずに順次書き込み、
前記データ分類手段により、
前記共有パラレルポートから前記書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力し、
前記演算手段により、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記1つの転送対象データを再構成する
データ転送方法。
【請求項8】
データ分類手段及び複数の演算手段を備えた周辺装置が備えるコンピュータに、
前記データ分類手段により、
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置が有する前記共有パラレルポートから、前記情報処理装置が転送する転送対象データを表すことが可能な一連の転送用符号のそれぞれに、前記情報処理装置が有する各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力する処理と、
前記演算手段により、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成する処理と
を実行させる周辺装置のデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを有する情報処理装置から周辺装置へのデータ転送技術に関する。
【背景技術】
【0002】
サーバ等のコンピュータが有するBIOS(Basic Input/Output System)は、コンピュータの電源投入時に、電源投入時自己診断(POST:Power On Self Test)を実行する。BIOSは、POSTにおいてエラー等のイベントが発生すると、例えば、特定のエラー又は状態を示す番号であるPOSTコードを出力する。BIOSは、例えば、あるアドレスに関連付けされたI/O(Input Output)ポートへPOSTコードを出力する。I/Oポートへ出力されたPOSTコードは、例えば、コンピュータにロジックアナライザやPOSTカードを接続することにより、取得可能である。
【0003】
近年のプロセッサにおける集積度の向上に伴い、複数のプロセッサ(マルチプロセッサ)が1台のサーバに実装される機会が増加した。マルチプロセッサを有するサーバにおいては、各プロセッサによる共有リソースに対する排他制御等に起因して、デッドロックが発生する可能性がある。本願において、「排他制御」とは、複数のプロセッサにより利用可能な共有リソースに対し、複数のプロセッサからの同時アクセスにより競合が発生する場合に、あるプロセッサに共有リソースを独占的に利用させている間には、他のプロセッサがその共有リソースを利用できないように制御する処理であることとする。又、本願において、「デッドロック」とは、複数のプロセッサのそれぞれにおける処理が、互いに他のプロセッサにおける処理を待つ結果、何れの処理も完了できないことであることとする。共有リソースに対する排他制御に関する状況の確認には、ICE(In-Circuit Emulator、登録商標)等のデバッグ装置が利用できる。しかしながら、コンピュータの製造コスト削減等のためにデバッグ用回路が用意されていない結果、デバッグ装置を利用できないことがある。
【0004】
マルチプロセッサを有するサーバにおいても、シングルプロセッサを有するサーバとの互換性を維持するために、POSTコードはI/Oポートへ出力されることが多い。ところが、プロセッサ毎にI/Oポートを設けると、コンピュータの製造コストが上昇する。そのため、マルチプロセッサを有するサーバにおいて、POSTコードは、各プロセッサにより共有されるI/Oポート(以下、「共有I/Oポート」と称する)へ出力されることがある。
【0005】
マルチプロセッサを有するサーバにおいても、各プロセッサが有するBIOSにより共有I/Oポートへ出力されたPOSTコードを取得できることが望ましい。ところが、共有I/Oポートも各プロセッサにより共有されるので、共有I/Oポートに対する排他制御自体がデッドロックの発生に影響する可能性がある。
【0006】
複数のメモリ管理手段が共有メモリにアクセスする技術の一例が、特許文献1に開示されている。特許文献1のデータストリーム解析システムは、データ記憶手段と、複数のメモリ管理手段と、1つ以上のメモリ格納手段と、対応関係記憶手段とを含む。
【0007】
メモリ管理手段は、共有メモリ管理手段と、専用メモリ管理手段とに分けられる。共有メモリ管理手段は、排他制御を行った後にメモリプールに対する手続きを行う。専用メモリ管理手段は、排他制御を行わずにメモリプールに対する手続きを行う。データ記憶手段では、解析用にデータを格納するためのメモリ領域が、複数のメモリプールとして割り当てられる。各メモリ管理手段は、複数のメモリプールのうちの何れか1つのメモリプールと1対1の対応関係を有する。各メモリ管理手段は、当該メモリ管理手段と対応関係を有する1つのメモリプールに対する手続きをとりまとめて行う。メモリ格納手段は、予め区分けされたデータの種類別に独立して動作し、解析対象であるデータが発生すると、メモリ領域に当該データを格納する。対応関係記憶手段は、メモリ格納手段とメモリ管理手段との対応関係を示す情報を記憶する。メモリ格納手段は、解析対象であるデータが発生すると、当該メモリ格納手段と対応関係を有するメモリ管理手段を用いて、複数のメモリプールの何れかから確保したメモリ領域に当該データを格納する。
【0008】
上記構成の結果、特許文献1のデータストリーム解析システムは、連続して発生する情報を逐次的に解析するデータストリーム解析システムにおいて、メモリの使用効率と実行速度とのバランスをとる。
【0009】
しかしながら、特許文献1のデータストリーム解析システムには、共有メモリ管理手段が排他制御を行った後にメモリプールに対する手続きを行う必要があるという問題点がある。
【0010】
複数のプロセッサが共通メモリ(共有メモリ)にアクセスする技術の一例が、特許文献2に開示されている。特許文献2のプロセッサ間におけるサービス要求制御方式は、共通バスに接続された主記憶装置(共有メモリ)と複数のCPU(Central Processing Unit)(2−1〜2−n,nは自然数)とを含む。
【0011】
主記憶装置には、CPU(2−k)からCPU(2−m)(k=1〜n,m=1〜n,k≠m:k,mはともに自然数)に転送するデータ(k→m)を格納するデータ領域(10−i:i=1〜n)が割り当てられる。各CPU(2−1〜2−n)は、割込み要求レジスタ(3−1〜3−n)を有する。CPU(2−k)は、送信データ(k→m)を主記憶装置におけるデータ領域(10−i)に格納した後、割込み要求レジスタ(3−m)のkビット目に1を書き込むことにより、CPU(2−m)に割込みを発生させてデータを送信したことを通知する。CPU(2−m)は、その割込み要求レジスタ(3−m)の内容を読み込んで、オンであるビットを調べる。そして、CPU(2−m)は、kビット目に対応する主記憶装置のデータ転送領域(10−i)のデータ(k→m)を読み込むことにより、CPU(2−k)からCPU(2−m)にデータ(k→m)を転送する。
【0012】
上記構成の結果、特許文献2のサービス要求制御方式では、共通メモリの排他制御を意識することなく、プロセッサ間におけるサービス要求の受渡しが行われる。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2009−87189号公報
【特許文献2】特開平5−216792号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、特許文献2のサービス要求制御方式では、CPU毎にnビットの割込み要求レジスタが必要である。つまり、特許文献2のサービス要求制御方式には、割込み要求レジスタが無い場合に比べて、製造コストが増加するという問題点がある。
【0015】
本発明は、上記の課題に鑑みてなされたもので、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを有する情報処理装置から周辺装置へのデータ転送において、安価な構成により、共有パラレルポートにおける排他制御に起因するデッドロックの発生を抑制することを主たる目的とする。
【課題を解決するための手段】
【0016】
本発明の一態様において、情報処理システムは、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置と、データ分類手段、及び複数のプロセッサの台数以上の演算手段を含む周辺装置とを備えた情報処理システムであって、各プロセッサは、転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した書き込み単位を共有パラレルポートへ共有パラレルポートにおける排他制御を行わずに順次書き込み、データ分類手段は、共有パラレルポートから書き込み単位を順次読み出し、読み出した書き込み単位に含まれる一連の転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータに関連付けされた演算手段へ順次出力し、演算手段は、データ分類手段により出力された一連の転送用符号に基づいて転送対象データを再構成する。
【0017】
本発明の一態様において、情報処理装置は、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを備えた情報処理装置であって、各プロセッサは、転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した書き込み単位を共有パラレルポートへ共有パラレルポートにおける排他制御を行わずに順次書き込む。
【0018】
本発明の一態様において、周辺装置は、データ分類手段及び複数の演算手段を備えた周辺装置であって、データ分類手段は、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置が有する共有パラレルポートから、情報処理装置が転送する転送対象データを表すことが可能な一連の転送用符号のそれぞれに、情報処理装置が有する各プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を順次読み出し、読み出した書き込み単位に含まれる一連の転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータに関連付けされた演算手段へ順次出力し、演算手段は、データ分類手段により出力された一連の転送用符号に基づいて転送対象データを再構成する。
【0019】
本発明の一態様において、データ転送方法は、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置と、データ分類手段、及び複数のプロセッサの台数以上の演算手段を含む周辺装置とを備えた情報処理システムにおけるデータ転送方法であって、各プロセッサにより、転送対象データを構成可能な一連の転送用符号のそれぞれに、各プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した書き込み単位を共有パラレルポートへ共有パラレルポートにおける排他制御を行わずに順次書き込み、データ分類手段により、共有パラレルポートから書き込み単位を順次読み出し、読み出した書き込み単位に含まれる一連の転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータに関連付けされた演算手段へ順次出力し、演算手段により、データ分類手段により出力された一連の転送用符号に基づいて1つの転送対象データを再構成する。
【0020】
本発明の一態様において、データ転送プログラム又は、係るデータ転送プログラムが格納された記録媒体は、情報処理装置が備えるコンピュータに、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを備えた情報処理装置が備えるコンピュータに、転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した書き込み単位を共有パラレルポートへ共有パラレルポートにおける排他制御を行わずに順次書き込む処理を実行させる。
【0021】
本発明の一態様において、データ転送プログラム又は、係るデータ転送プログラムが格納された記録媒体は、周辺装置が備えるコンピュータに、データ分類手段及び複数の演算手段を備えた周辺装置が備えるコンピュータに、データ分類手段により、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置が有する共有パラレルポートから、情報処理装置が転送する転送対象データを表すことが可能な一連の転送用符号のそれぞれに、情報処理装置が有する各プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を順次読み出し、読み出した書き込み単位に含まれる一連の転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータに関連付けされた演算手段へ順次出力する処理と、演算手段により、データ分類手段により出力された一連の転送用符号に基づいて転送対象データを再構成する処理とを実行させる。
【発明の効果】
【0022】
本発明によれば、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを有する情報処理装置から周辺装置へのデータ転送において、安価な構成により、共有パラレルポートにおける排他制御に起因するデッドロックの発生を抑制することができるという効果がある。
【図面の簡単な説明】
【0023】
図1】本発明の第1の実施形態における情報処理システムの構成の一例を示すブロック図である。
図2】本発明の第1の実施形態における情報処理装置の動作を示すフローチャートである。
図3】本発明の第1の実施形態における周辺装置の動作を示すフローチャートである。
図4】本発明の第1の実施形態における情報処理システムの動作例を説明する模式図である。
図5】本発明の第1の実施形態における情報処理システムの別の動作例を説明する模式図である。
図6】本発明の第2の実施形態における情報処理システムの構成の一例を示すブロック図である。
図7】本発明の第2の実施形態における情報処理システムの実施例を示すブロック図である。
図8】本発明の第2の実施形態における情報処理システムの動作例を説明する表である。
図9】本発明の第2の実施形態における情報処理システムの別の動作例を説明する表である。
図10】本発明の第3の実施形態における情報処理システムの構成の一例を示すブロック図である。
図11】本発明の第3の実施形態における情報処理システムが適用される対象の構成の一例を示すブロック図である。
図12】本発明の各実施形態における情報処理装置又は周辺装置を実現可能なハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、すべての図面において、同等な構成要素には同じ符号を付し、適宜説明を省略する。
(第1の実施形態)
本発明の各実施形態の基本である、本発明の第1の実施形態について説明する。
【0025】
本実施形態における構成について説明する。
【0026】
図1は、本発明の第1の実施形態における情報処理システムの構成の一例を示すブロック図である。
【0027】
本実施形態における情報処理システム100は、情報処理装置110と、周辺装置150とを含む。情報処理装置110と、周辺装置150とは、パラレルポート用のケーブルにより接続される。
【0028】
情報処理装置110は、共有パラレルポート130と、複数のプロセッサ120とを含む。
【0029】
共有パラレルポート130は、複数のデータ信号を互いに異なる通信線を経由して同時並行的に送受信する。共有パラレルポート130は、例えば、ISA(Industry Standard Architecture)又はIEEE(The Institute of Electrical and Electronics Engineers)1284に準拠する。共有パラレルポート130は、各プロセッサ120により共有される。
【0030】
各プロセッサ120は、転送対象であるデータ(以下、「転送対象データ」と称する)を、共有パラレルポート130を利用して、周辺装置150へ送信する。以下では、情報処理装置110に含まれるプロセッサ120の台数は、n(nは2以上の整数)台であることとする。そして、k(kは0乃至n−1の整数)番目のプロセッサ120を“プロセッサk”とも称す。
【0031】
各プロセッサ120は、一連の転送用符号のそれぞれに、プロセッサ識別子を表すデータを付加することにより、書き込み単位を生成する。ここで、転送用符号は、転送対象データを表すことが可能な、共有パラレルポート130を経由して送受信される符号である。又、プロセッサ識別子は、各プロセッサ120の識別子である。プロセッサ識別子は、Q(Qは1以上の整数)ビットで表現可能であることとする。又、書き込み単位は、共有パラレルポート130のバス幅において1回で書き込み可能なデータである。共有パラレルポート130のバス幅は、W(Wは2以上の整数)ビットであることとする。
【0032】
一連の転送用符号に含まれる各転送用符号は、所定の順序で送信される。一連の転送用符号に含まれる各転送用符号は、例えば、転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す。ここで、Lは、(W−Q)ビットの2進数表現で表現可能な最大の整数値以下である。
【0033】
各プロセッサ120は、生成した書き込み単位を共有パラレルポート130へ共有パラレルポート130における排他制御を行わずに順次書き込む。各プロセッサ120により共有パラレルポート130へ書き込まれた書き込み単位は、周辺装置150へ送信される。
【0034】
周辺装置150は、データ分類器160と、複数の演算器170とを含む。
【0035】
データ分類器160は、共有パラレルポート130からプロセッサ120により書き込まれた書き込み単位を順次読み出す。
【0036】
データ分類器160は、読み出した書き込み単位に含まれる転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータに関連付けされた演算器170へ順次出力する。ここで、各演算器170は、特定のプロセッサ識別子を表すデータに予め関連付けされることとする。又は、データ分類器160は、新規なプロセッサ識別子を表すデータを検出した際に、ある演算器170に、当該プロセッサ識別子を表すデータを動的に関連付けてもよい。ある演算器170とあるプロセッサ120との間の関連付けした状態を表すデータは、例えば、データ分類器160(図12のCPU903等)が不図示のメモリ(図12の記憶装置902等)に格納していることとする。以下では、周辺装置150に含まれる演算器170の台数は、m(mは2以上且つn以下の整数)台であることとする。そして、k(kは0乃至m−1の整数)番目の演算器170を“演算器k”とも称す。
【0037】
各演算器170は、データ分類器160により出力された一連の転送用符号に基づいて、転送対象データを再構成する。ここで、「再構成する」とは、送信側装置により書き込まれた、ある転送対象データを表す一連の転送用符号を、受信側装置により読み出し、読み出した一連の転送用符号に基づいて、当該受信側装置において当該転送対象データを生成することとする。各演算器170は、例えば、所定の順序で読み出された、転送対象データをL進数表現した場合における互いに異なる桁の値を表す各転送用符号に基づいて、転送対象データを算出する。
【0038】
本実施形態における動作について説明する。
【0039】
図2は、本発明の第1の実施形態における情報処理装置の動作を示すフローチャートである。尚、図2に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【0040】
まず、各プロセッサ120は、一連の転送用符号のそれぞれに、プロセッサ識別子を表すデータを付加することにより、書き込み単位を生成する(ステップS210)。
【0041】
次に、各プロセッサ120は、生成した書き込み単位を共有パラレルポート130へ共有パラレルポート130における排他制御を行わずに順次書き込む(ステップS220)。
【0042】
図3は、本発明の第1の実施形態における周辺装置の動作を示すフローチャートである。尚、図3に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【0043】
まず、データ分類器160は、共有パラレルポート130からプロセッサ120により書き込まれた書き込み単位を順次読み出す(ステップS310)。
【0044】
次に、データ分類器160は、読み出した書き込み単位に含まれる一連の転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータに関連付けされた演算器170へ順次出力する(ステップS320)。
【0045】
続いて、各演算器170は、データ分類器160により出力された一連の転送用符号に基づいて、転送対象データを再構成する(ステップS330)。
【0046】
本実施形態における動作の具体例について説明する。
【0047】
図4は、本発明の第1の実施形態における情報処理システムの動作例を説明する模式図である。図4において、括弧内はビット表現であることとする。又、記号“%”は剰余演算を、記号“/”は除算を、記号“×”は乗算を示す(図5においても同様)。又、転送対象データは、8ビットのデータ(D=b)であることとする。又、共有パラレルポート130のバス幅(W)は、8ビットであることとする。又、プロセッサ識別子は、6ビットのデータ(P=p)で表現されることとする(Q=6)。又、一連の転送用符号に含まれる各転送用符号は、転送対象データを4進数表現した場合における互いに異なる桁の値を表すこととする(L=(W−Q)ビットの2進数表現で表現可能な最大の整数値=4)。
【0048】
まず、各プロセッサ120は、一連の転送用符号D0(b)、D1(b)、D2(b)、D3(b)のそれぞれに、プロセッサ識別子P(p)を表すデータを付加することにより、書き込み単位を生成する(ステップS210)。ここで、転送用符号D0は、転送対象データDを4で除算した剰余である。又、転送用符号D1は、転送対象データDを4で除算した商である。又、転送用符号D2は、転送対象データDを4で除算した商である。又、転送用符号D3は、転送対象データDを4で除算した商である。但し、プロセッサ120は、除算を、シフト演算により実行してもよい。
【0049】
次に、各プロセッサ120は、生成した書き込み単位を共有パラレルポート130へ共有パラレルポート130における排他制御を行わずに順次書き込む(ステップS220)。
【0050】
続いて、データ分類器160は、共有パラレルポート130からプロセッサ120により書き込まれた書き込み単位を順次読み出す(ステップS310)。
【0051】
続いて、データ分類器160は、読み出した書き込み単位に含まれる一連の転送用符号D0(b)、D1(b)、D2(b)、D3(b)を、読み出した書き込み単位に含まれるプロセッサ識別子P(p)を表すデータに関連付けされた演算器170へ順次出力する(ステップS320)。
【0052】
続いて、各演算器170は、データ分類器160により出力された一連の転送用符号に基づいて、転送対象データを再構成する(ステップS330)。ここで、転送対象データDは、D0×4+D1×4+D2×4+D3×4を算出することにより再構成される。但し、積算は、シフト演算により実行されてもよい。
【0053】
本実施形態における動作の別の具体例について説明する。
【0054】
図5は、本発明の第1の実施形態における情報処理システムの別の動作例を説明する模式図である。図5において、括弧内はビット表現であることとする。又、転送対象データは、8ビットのデータ(D=b)であることとする。又、共有パラレルポート130のバス幅(W)は、8ビットであることとする。又、プロセッサ識別子は、6ビットのデータ(P=p)で表現されることとする(Q=6)。又、一連の転送用符号に含まれる各転送用符号は、転送対象データを3進数表現した場合における互いに異なる桁の値を表すこととする(L=(W−Q)ビットの2進数表現で表現可能な最大の整数値−1=3)。
【0055】
まず、各プロセッサ120は、一連の転送用符号D0(t)、D1(t)、D2(t)、D3(t)、D4(t)、D5(t1011)のそれぞれに、プロセッサ識別子P(p)を表すデータを付加することにより、書き込み単位を生成する(ステップS210)。ここで、転送用符号D0は、転送対象データDを3で除算した剰余である。又、転送用符号D1は、転送対象データDを3で除算した商である。又、転送用符号D2は、転送対象データDを3で除算した商である。又、転送用符号D3は、転送対象データDを3で除算した商である。又、転送用符号D4は、転送対象データDを3で除算した商である。又、転送用符号D5は、転送対象データDを3で除算した商である。但し、各プロセッサ120は、一連の転送用符号の先頭にスタート符号S(11)を付加する。スタート符号S(11)は、転送対象データのうちのある転送対象データDの転送開始を示す転送用符号である。転送用符号がスタート符号S(11)を含むので、1つの転送用符号で表現可能な値は、0以上且つ2以下である。
【0056】
次に、各プロセッサ120は、生成した書き込み単位を共有パラレルポート130へ共有パラレルポート130における排他制御を行わずに順次書き込む(ステップS220)。
【0057】
続いて、データ分類器160は、共有パラレルポート130からプロセッサ120により書き込まれた書き込み単位を順次読み出す(ステップS310)。
【0058】
続いて、データ分類器160は、読み出した書き込み単位に含まれる一連の転送用符号D0(t)、D1(t)、D2(t)、D3(t)、D4(t)、D5(t1011)を、読み出した書き込み単位に含まれるプロセッサ識別子P(p)を表すデータに関連付けされた演算器170へ順次出力する(ステップS320)。
【0059】
続いて、各演算器170は、データ分類器160により出力された一連の転送用符号に基づいて、転送対象データを再構成する(ステップS330)。ここで、転送対象データDは、D0×3+D1×3+D2×3+D3×3+D4×3+D5×3を算出することにより再構成される。但し、スタート符号S(11)は、転送対象データDの算出に使用されず、各演算器170が保持するデータを初期化する契機として使用される。
【0060】
以上説明したように、本実施形態の情報処理システム100では、情報処理装置110の各プロセッサ120は、転送対象データを表す一連の転送用符号における各転送用符号に、プロセッサ120の識別番号を表すデータを付加して、共有パラレルポート130へ書き込む。そして、周辺装置150のデータ分類器160は、共有パラレルポート130から読み出した一連の転送用符号を、共有パラレルポート130から読み出したプロセッサ識別子に基づいて、各プロセッサ120に関連付けされた演算器170へ出力する。そして、周辺装置150の演算器170は、プロセッサ120毎に転送対象データを再構成する。ここで、情報処理システム100において、プロセッサ120間で共有される割込み要求レジスタ等のような特別な構成要素は必要ない。従って、本実施形態の情報処理システム100では、複数のプロセッサ120と複数のプロセッサ120により共有される共有パラレルポート130とを有する情報処理装置110から周辺装置150へのデータ転送において、安価な構成により、共有パラレルポート130における排他制御に起因するデッドロックの発生を抑制することができるという効果がある。
(第2の実施形態)
次に、本発明の第1の実施形態を基本とする、本発明の第2の実施形態について説明する。本実施形態における情報処理システムでは、情報処理装置の各プロセッサにより出力された転送対象データが、周辺装置により表示される。又、本実施形態における情報処理システムでは、各プロセッサによるデータ転送において割り込みが許容される。本願において、「割り込み」とは、あるプロセッサ120が、共有パラレルポート130において、第1のデータ転送の途中で第2のデータ転送を開始し、第2のデータ転送の終了後に、第1のデータ転送を継続することとする。同様に、より多重な「割り込み」も定義される。例えば、第2のデータ転送の途中で、更に第3のデータ転送の「割り込み」が行われてもよい。又、あるプロセッサが、ある時点において、いくつのデータに関して割り込みを行っているかを「割り込みのネストレベル」又は単に「ネストレベル」と称することとする。
【0061】
本実施形態における構成について説明する。
【0062】
図6は、本発明の第2の実施形態における情報処理システムの構成の一例を示すブロック図である。
【0063】
本実施形態における情報処理システム105は、情報処理装置110と、周辺装置155とを含む。情報処理装置110と、周辺装置155とは、パラレルポート用のケーブルにより接続される。
【0064】
情報処理装置110は、共有パラレルポート130と、複数のプロセッサ120とを含む。ここで、転送対象データは、例えば、各プロセッサ120のBIOSが出力するPOSTコードである。但し、プロセッサ120は、データ転送において割り込みを行ってもよい。又、プロセッサ120は、共有パラレルポート130に、ある転送対象データを表す転送用符号を書き込む前に、スタート符号を書き込む。プロセッサ120は、データ転送において割り込みを行う際には、元のデータ転送の途中において新たなスタート符号を書き込み、新たなデータ転送の完了後に、元のデータ転送を継続する。
【0065】
周辺装置155は、データ分類器165と、複数の演算器175と、複数の表示器180と、複数のレベルカウンタ190とを含む。
【0066】
レベルカウンタ190は、当該レベルカウンタ190に関連付けされたプロセッサ120によるデータ転送におけるネストレベルを保持する。ここで、各レベルカウンタ190は、各プロセッサ120に関連付けされる。つまり、レベルカウンタ190の台数は、プロセッサ120の台数n以上である。あるレベルカウンタ190とあるプロセッサ120との間の関連付けした状態を表すデータは、例えば、データ分類器165(図12のCPU903等)が不図示のメモリ(図12の記憶装置902等)に格納していることとする。
【0067】
データ分類器165は、情報処理装置110により共有パラレルポート130へ書き込まれた書き込み単位を順次読み出す。データ分類器165は、読み出した書き込み単位に含まれる転送用符号を、読み出した書き込み単位に含まれるプロセッサ識別子を表すデータと、当該プロセッサ識別子が示すプロセッサ120のネストレベルの値とから成るセットに関連付けされた演算器175へ順次出力する。ある演算器175と、プロセッサ識別子及びネストレベルの値から成るあるセットとの間の関連付けした状態を表すデータは、例えば、データ分類器165(図12のCPU903等)が不図示のメモリ(図12の記憶装置902等)に格納していることとする。
【0068】
各演算器175は、データ分類器165により出力された一連の転送用符号に基づいて、転送対象データを再構成する。ここで、各演算器175は、各プロセッサ120と当該プロセッサ120のネストレベルのある値とから成るセットに関連付けされることとする。各演算器175は、例えば、あるプロセッサ120と当該プロセッサ120のネストレベルのある値とから成るセットに予め関連付けされてもよい。又は、データ分類器165は、プロセッサ識別子を表すデータと当該プロセッサ識別子に関するネストレベルのある値との新規なセットを検出した際に、ある演算器175に、当該セットを識別するデータを動的に関連付けてもよい。つまり、演算器175の台数は、プロセッサ120の台数nにネストレベルの取り得る値の数を乗じた数以上である。
【0069】
表示器180は、演算器175により再構成された転送対象データを表示する。表示器180は、例えば、各プロセッサ120のBIOSにより出力されたPOSTコードを表示する。ここで、各表示器180は、各演算器175に関連付けされることとする。つまり、表示器180の台数は、演算器175の台数以上である。
【0070】
本実施形態におけるその他の構成は、第1の実施形態における構成と同じである。
【0071】
図7は、本発明の第2の実施形態における情報処理システムの実施例を示すブロック図である。図7では、説明を簡単にするために、ネストレベルの取り得る値の数は2であることとする。又、プロセッサ120及びレベルカウンタ190それぞれの台数nは、64台であることとする。又、演算器175及び表示器180それぞれの台数mは、128台であることとする。又、レベルカウンタ“0”、“1”、・・・、“63”は順に、プロセッサ“0”、“1”、・・・、“63”に予め関連付けされていることとする。又、演算器“00”、“10”、・・・、“630”は順に、プロセッサ“0”、“1”、・・・、“63”とネストレベル“1”とから成るセットに予め関連付けされていることとする。又、演算器“01”、“11”、・・・、“631”は順に、プロセッサ“0”、“1”、・・・、“63”とネストレベル“2”とから成るセットに予め関連付けされていることとする。又、表示器“00”、“10”、・・・、“630”は順に、演算器“00”、“10”、・・・、“630”に予め関連付けされていることとする。又、表示器“01”、“11”、・・・、“631”は順に、演算器“01”、“11”、・・・、“631”に予め関連付けされていることとする。
【0072】
本実施形態における動作について説明する。但し、図7に示した情報処理システムの実施例における動作について説明する。
(動作例1)
まず、割り込みが発生しない場合の動作について説明する。
【0073】
図8は、本発明の第2の実施形態における情報処理システムの動作例を説明する表である。より具体的には、図8は、情報処理システム105における周辺装置155の動作例を示す。図8において、「タイミング」列は動作におけるタイミングを示す。又、「受信符号」列は、データ分類器165が受信した、プロセッサ識別子を表すデータと転送用符号とから成るセットを示す。ここで、“P0”はプロセッサ“0”の識別子を示し、“P1”はプロセッサ“1”の識別子を示す。“S”はスタート符号を示す。“D00”、“D01”、・・・、“D05”は、プロセッサ“0”の転送対象データ(転送対象データ“D0”)を表す一連の転送用符号を示す。“D10”、“D11”、・・・、“D15”は、プロセッサ“1”の転送対象データ(転送対象データ“D1”)を表す一連の転送用符号を示す。「カウンタ0」列は、レベルカウンタ“0”が保持するデータが表す値を示す。「カウンタ1」列は、レベルカウンタ“1”が保持するデータが表す値を示す。「演算器00」列は、演算器“00”が保持するデータが表す値を示す。「演算器10」列は、演算器“10”が保持するデータが表す値を示す。
【0074】
周辺装置155は、以下のように動作する。
【0075】
タイミング1:
データ分類器165は、“P0”,“S”を読み出し、レベルカウンタ“0”を1だけ増加させ、演算器“00”を初期化(図8では「−」にて表記、以下同様)する。以下の各タイミングを含めて、言及していない他方の演算器は、以前の状態を保持しているので、当該演算器については個々の説明を省略する。
【0076】
タイミング2:
データ分類器165は、“P1”,“S”を読み出し、レベルカウンタ“1”を1だけ増加させ、演算器“10”を初期化する。
【0077】
タイミング3:
データ分類器165は、“P1”,“D10”を読み出し、演算器“10”へ出力する。これに応じて、演算器“10”は、入力された値“D10”を保持する。
【0078】
タイミング4:
データ分類器165は、“P0”,“D00”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D00”を保持する。
【0079】
タイミング5:
データ分類器165は、“P1”,“D11”を読み出し、演算器“10”へ出力する。これに応じて、演算器“10”は、入力された値“D11”に3を乗じた値を、保持していた値“D10”に加算する。
【0080】
タイミング6:
データ分類器165は、“P0”,“D01”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D01”に3を乗じた値を、保持していた値“D00”に加算する。
【0081】
タイミング7:
データ分類器165は、“P0”,“D02”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D02”に3を乗じた値を、保持していた値“D00+D01×3”に加算する。
【0082】
タイミング8:
データ分類器165は、“P1”,“D12”を読み出し、演算器“10”へ出力する。これに応じて、演算器“10”は、入力された値“D12”に3を乗じた値を、保持していた値“D10+D11×3”に加算する。
・・・(中略)・・・
タイミング13:
データ分類器165は、“P0”,“D05”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D05”に3を乗じた値を、保持していた値“D00+D01×3+D02×3+D03×3+D04×3”に加算する。続いて、演算器“00”は、レベルカウンタ“0”を1だけ減少させる。本例においては、以上説明した動作により、演算器“00”は、転送対象データ“D0”の再構成を完了する。
【0083】
タイミング14:
データ分類器165は、“P1”,“D15”を読み出し、演算器“10”へ出力する。これに応じて、演算器“10”は、入力された値“D15”に3を乗じた値を、保持していた値“D10+D11×3+D12×3+D13×3+D14×3”に加算する。続いて、演算器“10”は、レベルカウンタ“1”を1だけ減少させる。本例においては、以上説明した動作により、演算器“10”は、転送対象データ“D1”の再構成を完了する。
(動作例2)
次に、割り込みが発生する場合の動作について説明する。
【0084】
図9は、本発明の第2の実施形態における情報処理システムの別の動作例を説明する表である。より具体的には、図9は、情報処理システム105における周辺装置155の動作例を示す。図9における記述方法は、図8における記述方法と同じである。但し、“D00”、“D01”、・・・、“D05”は、プロセッサ“0”の転送対象データ(転送対象データ“D0”)を表す一連の転送用符号を示す。又、“D10”、“D11”、・・・、“D15”は、プロセッサ“0”の別の転送対象データ(転送対象データ“D1”)を表す一連の転送用符号を示す。又、「演算器01」列は、演算器“01”が保持するデータが表す値を示す。
【0085】
周辺装置155は、以下のように動作する。
【0086】
タイミング1:
データ分類器165は、“P0”,“S”を読み出し、レベルカウンタ“0”を1だけ増加させ、演算器“00”を初期化(図9では「−」にて表記、以下同様)する。以下の各タイミングを含めて、言及していない他方の演算器は、以前の状態を保持しているので、当該演算器については個々の説明を省略する。
【0087】
タイミング2:
データ分類器165は、“P0”,“D00”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D00”を保持する。
【0088】
タイミング3:
データ分類器165は、“P0”,“D01”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D01”に3を乗じた値を、保持していた値“D00”に加算する。
【0089】
タイミング4:
データ分類器165は、“P0”,“D02”を読み出し、演算器“00”へ出力する。これに応じて、演算器“00”は、入力された値“D02”に3を乗じた値を、保持していた値“D00+D01×3”に加算する。
【0090】
タイミング5:
データ分類器165は、“P0”,“S”を読み出し、レベルカウンタ“0”を1だけ増加させ、演算器“01”を初期化する。
【0091】
タイミング6:
データ分類器165は、“P0”,“D10”を読み出し、演算器“01”へ出力する。これに応じて、演算器“01”は、入力された値“D10”を保持する。
【0092】
タイミング7:
データ分類器165は、“P0”,“D11”を読み出し、演算器“01”へ出力する。これに応じて、演算器“01”は、入力された値“D11”に3を乗じた値を、保持していた値“D10”に加算する。
【0093】
タイミング8:
データ分類器165は、“P0”,“D12”を読み出し、演算器“01”へ出力する。これに応じて、演算器“01”は、入力された値“D12”に3を乗じた値を、保持していた値“D10+D11×3”に加算する。
・・・(中略)・・・
タイミング11:
データ分類器165は、“P0”,“D15”を読み出し、演算器“01”へ出力する。これに応じて、演算器“01”は、入力された値“D15”に3を乗じた値を、保持していた値“D10+D11×3+D12×3+D13×3+D14×3”に加算する。続いて、演算器“01”は、レベルカウンタ“0”を1だけ減少させる。本例においては、以上説明した動作により、演算器“01”は、転送対象データ“D1”の再構成を完了する。
・・・(中略)・・・
タイミング14:
データ分類器165は、“P0”,“D05”を読み出し、演算器“00”へ出力する。
これに応じて、演算器“00”は、入力された値“D05”に3を乗じた値を、保持していた値“D00+D01×3+D02×3+D03×3+D04×3”に加算する。続いて、演算器“00”は、レベルカウンタ“0”を1だけ減少させる。本例においては、以上説明した動作により、演算器“00”は、転送対象データ“D0”の再構成を完了する。
【0094】
本実施形態におけるその他の動作は、第1の実施形態における動作と同じである。
【0095】
以上説明したように、本実施形態の情報処理システム105は、第1の実施形態の情報処理システム100の構成要素を含む。従って、本実施形態の情報処理システム105は、第1の実施形態の情報処理システム100と同じ効果を有する。
【0096】
又、本実施形態の情報処理システム105は、第1の実施形態の情報処理システム100の構成要素に加えて、レベルカウンタ190を含む。そして、本実施形態の情報処理システム105では、周辺装置155がレベルカウンタ190を有するので、データ転送の割り込みが可能である。従って、本実施形態の情報処理システム105は、第1の実施形態の情報処理システム100における効果に加えて、データ転送の割り込みが可能であるという効果を有する。
【0097】
又、本実施形態の情報処理システム105は、第1の実施形態の情報処理システム100の構成要素に加えて、表示器180を含む。そして、本実施形態の情報処理システム105では、周辺装置155が表示器180を有するので、転送対象データの表示が可能である。従って、本実施形態の情報処理システム105は、第1の実施形態の情報処理システム100における効果に加えて、転送対象データの表示が可能であるという効果を有する。
(第3の実施形態)
次に、本発明の第1の実施形態を基本とする、本発明の第3の実施形態について説明する。本実施形態における情報処理システムでは、情報処理装置の各プロセッサにより出力された転送対象データが、周辺装置に接続された外部の被制御装置へ中継される。
【0098】
本実施形態における構成について説明する。
【0099】
図10は、本発明の第3の実施形態における情報処理システムの構成の一例を示すブロック図である。
【0100】
本実施形態における情報処理システム106は、情報処理装置110と、周辺装置156と、複数の被制御装置210とを含む。情報処理装置110と、周辺装置156とは、パラレルポート用のケーブルにより接続される。周辺装置156と、各被制御装置210とは、それぞれ別のパラレルポート用のケーブルにより接続される。
【0101】
周辺装置156は、データ分類器160と、複数の演算器170と、複数の専用パラレルポート136とを含む。
【0102】
専用パラレルポート136は、演算器170により再構成された転送対象データを出力する。専用パラレルポート136は、例えば、各プロセッサ120により出力された被制御装置210に対する制御命令を出力する。ここで、各専用パラレルポート136は、各演算器170に関連付けされることとする。つまり、専用パラレルポート136の台数は、演算器170の台数以上である。
【0103】
被制御装置210は、周辺装置156により出力された転送対象データに基づいて動作する。被制御装置210は、例えば、専用パラレルポート136から受信した命令に基づいて動作する工作機械である。
【0104】
本実施形態におけるその他の構成は、第1の実施形態における構成と同じである。
【0105】
本実施形態における動作について説明する。
【0106】
図11は、本発明の第3の実施形態における情報処理システムが適用される対象の構成の一例を示すブロック図である。
【0107】
本実施形態の適用対象である情報処理システム109は、情報処理装置119と、複数の被制御装置210とを含む。
【0108】
情報処理装置119は、複数のプロセッサ129と、複数の専用パラレルポート139とを含む。プロセッサ129同士は、互いにデータ通信可能でなくてもよい。各専用パラレルポート139は、当該専用パラレルポート139に予め関連付けされた1台のプロセッサ129により占有される。
【0109】
被制御装置210は、情報処理装置119により出力された転送対象データに基づいて動作する。被制御装置210は、例えば、専用パラレルポート139から受信した命令に基づいて動作する工作機械である。ここで、専用パラレルポート139は、専用パラレルポート136と互換性のあるインタフェースを有することとする。例えば、専用パラレルポート139と専用パラレルポート136とは、同じバス幅を有し、同じ規格に準拠する。
【0110】
情報処理装置119の各プロセッサ129上で動作していたプログラムを、本実施形態における情報処理装置110へ移植する場合について説明する。但し、情報処理装置110は、プロセッサ120毎の専用パラレルポートを含まないこととする。
【0111】
情報処理装置119の各プロセッサ129上で動作していたプログラム(移植対象プログラム)は、専用パラレルポート139へ書き込んだ転送対象データに基づいて、被制御装置210を動作させる。一方、情報処理装置110の各プロセッサ120上で動作するプログラム(移植後プログラム)は、共有パラレルポート130へ書き込んだ転送対象データに基づいて、被制御装置210を動作させる。移植対象プログラムと移植後プログラムとの違いは、転送対象データを書き込むパラレルポートが、専用パラレルポート139であるか又は共有パラレルポート130であるかの違いのみである。そして、共有パラレルポート130における排他制御は不要であるから、移植対象プログラムから移植後プログラムへの移植は容易である。
【0112】
そして、周辺装置156は、共有パラレルポート130から読み出したデータをプロセッサ120毎に異なる被制御装置210へ転送する。被制御装置210に対する情報処理システム106における専用パラレルポート136のインタフェースは、情報処理システム109における専用パラレルポート139と互換性を有する。
【0113】
以上説明したように、本実施形態の情報処理システム106では、情報処理システム109上で動作していたプログラムを移植することは容易である。そして、周辺装置156は、被制御装置210に対して、情報処理システム109におけるインタフェースと互換性のあるインタフェースを提供する。従って、本実施形態の情報処理システム106には、情報処理システム109上で動作していたプログラムの移植に要するコストを抑制できるという効果がある。
【0114】
図12は、本発明の各実施形態における情報処理装置又は周辺装置を実現可能なハードウェア構成の一例を示すブロック図である。
【0115】
情報処理装置907又は周辺装置907は、記憶装置902と、CPU(Central Processing Unit)903と、I/O(Input/Output)装置908とを備え、これらが内部バス906によって接続されている。情報処理装置907では、CPU903は、マルチプロセッサを含む。情報処理装置907では、I/O装置908は、パラレルポートを含む。記憶装置902は、プロセッサ120、データ分類器160、演算器170等のCPU903の動作プログラムを格納する。CPU903は、情報処理装置907又は周辺装置907全体を制御し、記憶装置902に格納された動作プログラムを実行し、I/O装置908を介してプロセッサ120、データ分類器160、演算器170等のプログラムの実行やデータの送受信を行なう。なお、上記の情報処理装置907又は周辺装置907の内部構成は一例である。周辺装置907は、表示器等を更に接続した装置構成であってもよい。
【0116】
上述した本発明の各実施形態における情報処理装置又は周辺装置は、専用の装置によって実現してもよいが、I/O装置908が外部との通信を実行するハードウェアの動作以外は、コンピュータ(情報処理装置)によっても実現可能である。本発明の各実施形態において、I/O装置908は、例えば、プロセッサ120、データ分類器160、演算器170等との入出力部である。この場合、係るコンピュータは、記憶装置902に格納されたソフトウェア・プログラムをCPU903に読み出し、読み出したソフトウェア・プログラムをCPU903において実行する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図1図6、又は図10に示した情報処理装置又は周辺装置の各部の機能を実現可能な記述がなされていればよい。ただし、これらの各部には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム(コンピュータ・プログラム)は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
【0117】
以上、本発明を、上述した各実施形態及びその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態及びその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項により明らかである。
【0118】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置と、データ分類手段、及び前記複数のプロセッサの台数以上の演算手段を含む周辺装置とを備えた情報処理システムであって、
各前記プロセッサは、転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した前記書き込み単位を前記共有パラレルポートへ前記共有パラレルポートにおける排他制御を行わずに順次書き込み、
前記データ分類手段は、
前記共有パラレルポートから前記書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力し、
前記演算手段は、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成する
情報処理システム。
(付記2)
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
付記1に記載の情報処理システム。
(付記3)
前記周辺装置は、各前記プロセッサにおける割り込みのネストレベルを表すデータを保持する、前記プロセッサ識別子を表すデータに関連付けされたレベルカウンタを更に備え、
前記プロセッサは、前記転送対象データのうちのある転送対象データの転送開始を示す前記転送用符号であるスタート符号を、前記スタート符号を除く、該ある転送対象データを表現する前記一連の転送用符号の書き込み以前に前記共有パラレルポートへ書き込み、
前記データ分類手段は、
前記共有パラレルポートから前記書き込み単位を順次読み出し、
読み出した前記書き込み単位に前記スタート符号が含まれる場合に、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記レベルカウンタにおける前記割り込みのネストレベルを表すデータを1だけ増加させ、
読み出した前記書き込み単位に含まれる、前記スタート符号を除く前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータと、該プロセッサ識別子を表すデータに関連付けされた前記レベルカウンタにおける前記割り込みのネストレベルとから成るセットに関連付けされた前記演算手段へ順次出力し、
前記演算手段は、
前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成し、
該演算手段に関連付けされた前記プロセッサ識別子を表すデータに関連付けされた前記レベルカウンタにおける前記割り込みのネストレベルを表すデータを1だけ減少させる
付記1又は2に記載の情報処理システム。
(付記4)
各前記演算手段は、互いに異なる出力先に接続され、前記再構成した前記転送対象データを、該演算手段に接続された前記出力先へ出力する
付記1乃至3の何れか1項に記載の情報処理システム。
(付記5)
前記転送対象データは、前記情報処理装置の電源が投入された際に実行される自己診断処理における状態を示すコードであり、
前記周辺装置は、各前記演算手段に接続された、該演算手段により再構成された前記コードを表示する表示手段を更に備える
付記1乃至4の何れか1項に記載の情報処理システム。
(付記6)
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを備えた情報処理装置であって、
各前記プロセッサは、転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した前記書き込み単位を前記共有パラレルポートへ前記共有パラレルポートにおける排他制御を行わずに順次書き込む
情報処理装置。
(付記7)
データ分類手段及び複数の演算手段を備えた周辺装置であって、
前記データ分類手段は、
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置が有する前記共有パラレルポートから、前記情報処理装置が転送する転送対象データを表すことが可能な一連の転送用符号のそれぞれに、前記情報処理装置が有する各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力し、
前記演算手段は、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成する
周辺装置。
(付記8)
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置と、データ分類手段、及び前記複数のプロセッサの台数以上の演算手段を含む周辺装置とを備えた情報処理システムにおけるデータ転送方法であって、
各前記プロセッサにより、転送対象データを構成可能な一連の転送用符号のそれぞれに、各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した前記書き込み単位を前記共有パラレルポートへ前記共有パラレルポートにおける排他制御を行わずに順次書き込み、
前記データ分類手段により、
前記共有パラレルポートから前記書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力し、
前記演算手段により、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記1つの転送対象データを再構成する
データ転送方法。
(付記9)
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを備えた情報処理装置が備えるコンピュータに、
転送対象データを表すことが可能な一連の転送用符号のそれぞれに、各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を生成し、生成した前記書き込み単位を前記共有パラレルポートへ前記共有パラレルポートにおける排他制御を行わずに順次書き込む処理
を実行させる情報処理装置のデータ転送プログラム。
(付記10)
データ分類手段及び複数の演算手段を備えた周辺装置が備えるコンピュータに、
前記データ分類手段により、
複数のプロセッサと前記複数のプロセッサにより共有される共有パラレルポートとを含む情報処理装置が有する前記共有パラレルポートから、前記情報処理装置が転送する転送対象データを表すことが可能な一連の転送用符号のそれぞれに、前記情報処理装置が有する各前記プロセッサの識別子(以下、プロセッサ識別子)を表すデータを付加することにより、前記共有パラレルポートのバス幅において1回で書き込み可能な書き込み単位を順次読み出し、
読み出した前記書き込み単位に含まれる前記一連の転送用符号を、読み出した前記書き込み単位に含まれる前記プロセッサ識別子を表すデータに関連付けされた前記演算手段へ順次出力する処理と、
前記演算手段により、前記データ分類手段により出力された前記一連の転送用符号に基づいて前記転送対象データを再構成する処理と
を実行させる周辺装置のデータ転送プログラム。
(付記11)
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
付記6に記載の情報処理装置。
(付記12)
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
付記7に記載の周辺装置。
(付記13)
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
付記8に記載のデータ転送方法。
(付記14)
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
付記9に記載情報処理装置のデータ転送プログラム。
(付記15)
前記転送対象データを表す前記一連の転送用符号に含まれる各前記転送用符号は、所定の順序で送信される、前記転送対象データをL(Lは2以上の整数)進数表現した場合における互いに異なる桁の値を表す
付記10に記載の周辺装置のデータ転送プログラム。
【産業上の利用可能性】
【0119】
本発明は、複数のプロセッサと複数のプロセッサにより共有される共有パラレルポートとを有する情報処理装置において、情報処理装置内部の共有パラレルポート、及び情報処理装置と周辺装置とを接続する共有パラレルポート等を実装する用途において利用できる。又、本発明は、複数のプロセッサ及び複数のプロセッサにより共有される共有パラレルポートを有する情報処理装置と、パラレルポートにより制御される非制御装置との間において、データ転送を中継する周辺装置を実装する用途において利用できる。
【符号の説明】
【0120】
100、105、109 情報処理システム
110、119 情報処理装置
120、129 プロセッサ
130 共有パラレルポート
136、139 専用パラレルポート
150、155、156 周辺装置
160、165 データ分類器
170、175 演算器
180 表示器
190 レベルカウンタ
210 被制御装置
902 記憶装置
903 CPU
906 内部バス
907 情報処理装置
908 I/O装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12