JP2000347981A - チャネルマイクロプログラム処理装置 - Google Patents

チャネルマイクロプログラム処理装置

Info

Publication number
JP2000347981A
JP2000347981A JP11156006A JP15600699A JP2000347981A JP 2000347981 A JP2000347981 A JP 2000347981A JP 11156006 A JP11156006 A JP 11156006A JP 15600699 A JP15600699 A JP 15600699A JP 2000347981 A JP2000347981 A JP 2000347981A
Authority
JP
Japan
Prior art keywords
channel
memory
microprogram
lsi
external memory
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
JP11156006A
Other languages
English (en)
Inventor
Norio Furuishi
憲男 古石
Takeyoshi Shigeno
丈至 茂野
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 JP11156006A priority Critical patent/JP2000347981A/ja
Publication of JP2000347981A publication Critical patent/JP2000347981A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 LSI内部の高速なメモリの使用効率の向上
と、LSI外部の中低速なメモリに格納されたチャネル
マイクロプログラム処理の高速化を図る。 【解決手段】 チャネルマイクロプログラムをそれぞれ
格納する外部メモリ1と内部メモリ2、チャネルマイク
ロプログラムのアドレスを示すプログラムカウンタ4が
メモリ1を示しているかメモリ2を示しているかを検出
する検出手段5、該検出手段の検出結果に従いメモリ1
とメモリ2を切り替え、プログラムカウンタに従いチャ
ネルマイクロプログラムを読み出す手段6、前記検出手
段の検出結果に従いパイプライン制御のマシンサイクル
を切り替える手段11を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムにおいて、入出力処理を司どるチャネル装置のチャ
ネルマイクロプログラム処理装置に係り、特にLSI内
部の高速なメモリとLSI外部の中低速なメモリに分か
れて格納されているチャネルマイクロプログラムを直接
パイプライン制御することにより、LSI内部の高速な
メモリの使用効率の向上と、LSI外部の中低速なメモ
リに格納されたチャネルマイクロプログラム処理の高速
化を実現する構成に関する。
【0002】
【従来の技術】メインコンピュータシステムに接続され
るチャネル数は、256チャネル、512チャネル、あ
るいはそれ以上のチャネル数にまで増加してきており、
チャネル装置単体のコストがシステム全体のコストに与
える影響は大きい。このため、通常、チャネル装置単体
のコストを抑えるために様々な手法が用いられる。その
一手法が、メモリの階層化である。一般的に、LSI内
部の高速なメモリは小容量でコストが高く、LSI外部
の低速なメモリほど大容量でコストが低い。コストの高
いLSI内部の高速なメモリの容量を抑え、コストの安
いLSI外部の中低速のメモリの容量を増やすことで全
体のコストを抑えることができる。しかし、その結果、
LSI内部の高速なメモリのみでは、全てのチャネルマ
イクロプログラムを格納することができず、一部のチャ
ネルマイクロプログラムをLSI外部の中低速なメモリ
に格納しなければならなくなることがある。
【0003】チャネルマイクロプログラムにおいては、
高速性を必要とする処理と、高速性を必要としない異常
処理等に分けることができる。従来のチャネルマイクロ
プログラム処理装置では、全てのチャネルマイクロプロ
グラムをLSI内部の高速なメモリに格納できない場
合、高速性を必要とする処理を記述したチャネルマイク
ロプログラムは、LSI内部の高速なメモリに格納し、
高速性を必要としない異常処理等を記述したチャネルマ
イクロプログラムはLSI外部の中低速なメモリに格納
することが多かった。そしてLSI内部の高速なメモリ
に格納されているチャネルマイクロプログラム処理のみ
をパイプライン制御を用いて高速に処理し、LSI外部
のメモリに格納されているチャネルマイクロプログラム
は、LSI内部のメモリに移動させるオーバレイ方式を
用いるのが一般的であった。
【0004】図2は従来のオーバレイ方式を採用したチ
ャネルマイクロプログラム処理装置を含むチャネル装置
の構成例を示すブロック図である。図2において、チャ
ネル装置は主記憶インタフェース制御装置20とチャネ
ルマイクロプログラム処理装置30と外部インタフェー
スプロトコル制御装置40に大別され、後述の外部メモ
リ1以外はLSIを用いて構成される。チャネル装置の
中心のマイクロプログラムプログラム処理装置30は、
チャネルマイクロプログラムが格納されているLSI外
部のメモリ1、チャネルマイクロプログラムが格納され
ているLSI内部のメモリ2、DMA(Direct Memory
Access)機能付き外部メモリインタフェース90、チ
ャネルマイクロプログラムのアドレスを示すプログラム
カウンタ4、内部メモリ2からチャネルマイクロプログ
ラムを読み出す命令読み出し回路6、読み出されたチャ
ネルマイクロプログラムを解読する命令解読回路7、解
読されたチャネルマイクロプログラムにしたがってデー
タを読み出すデータ読み出し回路8、読み出されたデー
タを、解読されたチャネルマイクロプログラムにしたが
って演算する演算回路9、演算結果を解読されたチャネ
ルマイクロプログラムにしたがって格納するデータ書き
込み回路10、回路6〜10の動作をパイプライン制御
するパイプライン制御回路11、チャネルマイクロプロ
グラム用リードバス13、リードデータバス14、ライ
トデータバス15、演算結果等を格納するワークストレ
ージ(WS)16、演算等に使用するレジスタ群17な
どからなる。18はチャネルマイクロプログラムリード
アドレス(ADR)を示す。DMA機能とは、異なる2
つのメモリ間でマイクロプログラムを介在せずにメモリ
内のデータを高速に転送することができる機能である。
【0005】ここで、オーバレイ方式によって外部メモ
リ1に格納されているチャネルマイクロプログラムの処
理を行う場合について、簡単に説明する。チャネルマイ
クロプログラムは実行アドレスが外部メモリ1のアドレ
スであることを認識し、そのアドレスがオーバレイ領域
に無いことを検出した場合、DMA機能付き外部メモリ
インタフェース90に対して、外部メモリ1に格納され
ているチャネルマイクロプログラムの処理であることを
知らせる。DMA機能付き外部メモリインタフェース9
0に知らせる方式としては、ある特定のレジスタに決め
られた値を書き込むレジスタライト方式などがある。チ
ャネルマイクロプログラムによって起動されたDMA機
能付き外部メモリインタフェース90は、実行アドレス
を含む外部メモリ1の内容を数キロワードの単位で内部
メモリ2に転送する。このとき内部メモリ2には、外部
メモリ1の内容を書き込むための領域(オーバレイ領
域)を確保する必要がある。また、チャネルマイクロプ
ログラムは、DMA機能付き外部メモリインタフェース
90が外部メモリ1の内容を内部メモリ2に転送し終わ
るのを待つ必要がある。チャネルマイクロプログラム
は、DMA機能付き外部メモリインタフェース90の転
送が終了したことを認識した後、分岐命令で内部メモリ
2のオーバレイ領域内の前記アドレスに該当するアドレ
スに分岐する。以後、命令読み出し回路6は、プログラ
ムカウンタ4に従い内部メモリ2のオーバレイ領域から
チャネルマイクロプログラムを読み出す。なお、チャネ
ルマイクロプログラムがDMA機能付き外部メモリイン
タフェース90の転送が終了したことを認識する方法と
しては、DMA機能付き外部メモリインタフェース90
からの割り込み方式や、チャネルマイクロプログラムに
よるポーリング方式などがある。
【0006】
【発明が解決しようとする課題】上記従来技術のオーバ
レイ方式を採用したチャネルマイクロプログラム処理装
置において、LSI外部のメモリに、高速性を必要とし
ない異常処理等を記述したチャネルマイクロプログラム
を格納する限り、チャネルマイクロプログラムをLSI
外部のメモリからLSI内部のメモリに移動させるため
のオーバヘッド時間は、左程問題ではない。
【0007】ところで近年、ANSI(American Nat
ional Standards Institute)X3.230−199
X「FIBRE CHANNEL PHYSICAL A
NDSIGNALING INTERFACE(FC−
PH)」 にて規定されているファイバチャネルのよう
に、1つのチャネル装置と入出力制御装置間で複数の入
出力命令を同時に実行できる新しいプロトコルが注目さ
れ、仕様の標準化が進められている。ファイバチャネル
のように現在、仕様の標準化が進められているプロトコ
ルで、チャネル装置が行う処理の大部分をチャネルマイ
クロプログラムが介在させずハードウェアのみで行う処
理にした場合、仕様が変更されるごとにハードウェアを
作り直す必要があり膨大なコストが発生する。極力少な
いコストで仕様変更に対応するために、仕様変更に対し
てはチャネルマイクロプログラムの変更で対応できるよ
うに、チャネル装置が行う処理の内、仕様が流動的な処
理についてはチャネルマイクロプログラム処理装置で処
理することが望ましい。また、ファイバチャネルに限ら
ずチャネル装置に対して様々な機能が要求される現在、
機能エンハンスに対して柔軟にかつ短日程で対応するた
めにも、処理の大半をチャネルマイクロプログラム処理
装置で処理することが望ましい。
【0008】このように、チャネルマイクロプログラム
処理装置が行う処理の増加に伴いチャネルマイクロプロ
グラムの容量も増加するため、LSI内部の高速なメモ
リのみでは全てのチャネルマイクロプログラムを格納で
きなくなってしまう。その結果、異常処理以外の通常処
理の一部のチャネルマイクロプログラムもLSI外部の
中低速なメモリに格納する場合がでてくる。このような
場合、チャネルマイクロプログラム処理装置には、LS
I内部に格納されたチャネルマイクロプログラムの処理
だけではなく、LSI外部に格納されたチャネルマイク
ロプログラムの処理に対しても高速性が要求される。
【0009】前述のファイバチャネルの様に、同時に複
数の入出力命令を処理する必要があるマイクロプログラ
ム処理装置に対して従来のオーバレイ方式を採用した場
合、1つのチャネル装置で同時に実行される入出力命令
の内、LSI外部のメモリに格納されたチャネルマイク
ロプログラムを実行するためにオーバレイをおこなった
時に発生する一つの入出力命令のオーバヘッド時間は、
他の同時に実行される入出力命令の処理時間に影響する
という問題がある。また、チャネルマイクロプログラム
の構造に依存するため一概には言えないが、チャネルマ
イクロプログラム処理装置が行う処理は、入出力インタ
フェース動作に従って逐次処理されるためループ処理が
少なく、オーバレイ方式が効果を発揮するのは難しい。
しかも、常にLSI内部のメモリにオーバレイを行うた
めの領域を確保しておく必要があり、実質的にLSI内
部のメモリに格納されるチャネルマイクロプログラムの
容量が少なくなってしまう。
【0010】本発明の目的は、LSI外部のメモリに格
納されたチャネルマイクロプログラムを実行する際に発
生するオーバヘッド時間を軽減することができるチャネ
ルマイクロプログラム処理装置を提供することにある。
【0011】また、本発明の目的は、オーバレイを行う
ための領域をLSI内部のメモリに確保する必要がな
く、LSI内部のメモリの全領域を有効に使用できるチ
ャネルマイクロプログラム処理装置を提供することにあ
る。
【0012】
【課題を解決するための手段】本発明のチャネルマイク
ロプログラム処理装置においては、LSI外部の中低速
なメモリとLSI内部の高速なメモリとを合せて論理的
に一つのメモリと見做し、両方のメモリに連続したアド
レスを割り付ける。そして、LSI外部のメモリに格納
されたチャネルマイクロプログラムとLSI内部のメモ
リに格納されたチャネルマイクロプログラムを、このL
SI外部のメモリとLSI内部のメモリに論理的に共通
のアドレス空間で管理する。
【0013】チャネルマイクロプログラム処理装置は、
チャネルマイクロプログラムの実行アドレスを示すプロ
グラムカウンタがLSI内部のメモリを示しているかL
SI外部のメモリを示しているかを検出する手段と、該
検出結果をもとにLSI内部のメモリとLSI外部のメ
モリを切り替えて、プログラムカウンタに従いチャネル
マイクロプログラムを読み出す手段と、チャネルマイク
ロプログラムがLSI内部のメモリから読み出されてい
るかLSI外部のメモリから読み出されているかによっ
て、パイプライン制御の動作マシンサイクルを切り替え
る手段を具備する。
【0014】これにより、従来のオーバレイ方式のよう
に、LSI外部のメモリに格納されているチャネルマイ
クロプログラムを実行する際に、そのチャネルマイクロ
プログラムをLSI内部のメモリに移動させる必要がな
いため、高速なチャネルマイクロプログラム処理を実現
でき、また、LSI内部のメモリにオーバレイのための
領域を確保しておく必要がないため、LSI内部のメモ
リを有効に利用できる。
【0015】
【発明の実施の形態】以下、本発明によるチャネルマイ
クロプログラム処理装置の実施形態を図面により詳細に
説明する。図1は本発明の一実施形態によるチャネルマ
イクロプログラム処理装置を含むチャネル装置の構成例
を示すブロック図である。先の図2と同様に、チャネル
装置は主記憶インタフェース制御装置20とチャネルマ
イクロプログラム処理装置30と外部インタフェースプ
ロトコル制御装置40に大別され、外部メモリ1以外は
LSIを用いて構成される。
【0016】図1において、チャネルマイクロプログラ
ム処理装置30は、チャネルマイクロプログラムが格納
されているLSI外部のメモリ1、同じくチャネルマイ
クロプログラムが格納されているLSI内部のメモリ
2、外部メモリインタフェース3、チャネルマイクロプ
ログラムのアドレスを示すプログラムカウンタ4、プロ
グラムカウンタ4がLSI内部のメモリ2のアドレスを
示しているかLSI外部のメモリ1のアドレスを示して
いるかを検出する検出回路5、外部メモリ1あるいは内
部メモリ2からチャネルマイクロプログラムを読み出す
命令読み出し回路6、読み出されたチャネルマイクロプ
ログラムを解読する命令解読回路7、解読されたチャネ
ルマイクロプログラムにしたがってデータを読み出すデ
ータ読み出し回路、読み出されたデータを、解読された
チャネルマイクロプログラムにしたがって演算する演算
回路9、演算結果を、解読されたチャネルマイクロプロ
グラムにしたがって格納するデータ書き込み回路10、
回路6〜10の動作をパイプライン制御するパイプライ
ン制御回路11、チャネルマイクロプログラム用リード
バス12、13、リードデータバス14、ライトデータ
バス15、演算結果等を格納するワークストレージ(W
S)16、演算等に使用するレジスタ群17などからな
る。18、181、182はチャネルマイクロプログラ
ムリードアドレス(ADR)、19はメモリ/マシンサ
イクル切り替えを示す制御信号(SELELS)、70
はチャネルマイクロプログラム処理のスタートを要求す
る制御信号(MPSTART)、71は同ストップを要
求する制御信号(MPSTOP)、72は外部メモリ1
からチャネルマイクロプログラムの読み出しが終了した
ことを示す制御信号(ELSRDEND)、73はプロ
グラムカウンタ4の更新のイネーブル信号(ADRE
N)、74〜78は回路6〜10に動作許可を与える制
御信号(EXEC)、79は外部メモリ1に格納されて
いるチャネルマイクロプログラムの読み出し要求を示す
制御信号(ELSRDREQ)である。
【0017】図3は、本発明の一実施形態による外部メ
モリ1と内部メモリ2のアドレス空間の概念図である。
図3において、物理アドレス(実アドレス)は、もとも
と外部メモリ1及び内部メモリ2に対して個別に付けら
れたアドレスである。この物理アドレスは、外部メモリ
1及び内部メモリ2ともに、それぞれ0番地からはじま
る。これに対し、論理アドレスは、外部メモリ1と内部
メモリ2を論理的に一つのアドレス空間と見做して、両
方のメモリを通して連続したアドレスを割り当てたもの
である。ここでは、論理アドレスは、内部メモリ1は0
〜M番地、外部メモリ1は(M+1)〜N番地とする。
【0018】外部メモリ1と内部メモリ2のチャネルマ
イクロプログラムは、論理アドレスを用いて管理する。
これに伴い、プログラムカウンタ4の出力のチャネルマ
イクロプログラムリードアドレス(ADR)18は論理
アドレスを示す。命令読み出し回路6はアドレス変換機
構を備え、論理アドレスのADR18を物理アドレスの
ADR181、182に変換する。なお、外部メモリ1
については、外部メモリインタフェース3がアドレス変
換機構を備えて論理アドレスを物理アドレスに変換する
ことでもよい。
【0019】図4は、本発明の一実施形態によるパイプ
ライン制御回路11の論理構成図である。図4におい
て、60はMPSTART70でセットされ、MPST
OP71でリセットされるSRフリップフロップ、61
〜64はパイプラインステージ制御用のDフリップフロ
ップ、65はSELELS19の状態でフリップフロッ
プ60の出力あるいはELSRDEND72を選択する
セレクタ素子、66はSELELS19とSRフリップ
フロップ60の出力のANDをとるAND素子である。
前述したように、70はチャネルマイクロプログラム処
理のスタートを要求する制御信号(MPSTART)、
71はチャネルマイクロプログラム処理のストップを要
求する制御信号(MPSTOP)で、本チャネル装置内
で生成される。72は外部メモリ1からのチャネルマイ
クロプログラムの読み出しが終了したことを示す制御信
号(ELSRDEND)で、外部メモリインタフェース
3から与えられる。19はメモリ/マシンサイクル切り
替え制御信号(SELELS)で、検出回路5から与え
られる。73はプログラムカウンタ4の更新イネーブル
信号(ADREN)、74は命令読み出し回路6に動作
許可を与える制御信号(EXEC0)、75は命令解読
回路7に動作許可を与える制御信号(EXEC1)、7
6はデータ読み出し回路8に動作許可を与える制御信号
(EXEC2)、77は演算回路9に動作許可を与える
制御信号(EXEC3)、78はデータ書き込み回路1
0に動作許可を与える制御信号(EXEC4)、79は
外部メモリ1に格納されているチャネルマイクロプログ
ラムの読み出し要求を示す制御信号(ELSRDRE
Q)である。
【0020】図5は、本発明の一実施形態によるプログ
ラムカウンタ4と検出回路5の論理構成図である。プロ
グラムカウンタ4は、ADREN73が“1”のとき更
新されるイネーブル付きDフリップフロップ80と、該
Dフリップフロップ80の出力で示されるチャネルマイ
クロプログラムリードアドレス(ADR)18を1つ加
算する+1インクリメンタ81からなる。また、図5で
は省略したが、分岐の場合には、チャネルマイクロプロ
グラムの分岐アドレスがDフリップフロップ80に設定
される。いずれにしても、前述したようにADR18は
論理アドレスを示す。検出回路5は、基本的にADR1
8をデコードしてメモリ/マシンサイクル切り替え制御
信号(SELELS)19を生成するデコーダ(DE
C)82で構成される。DEC82のデコード論理は、
プログラムカウンタ4の出力であるADR18が外部メ
モリ1のアドレスを示している間、SELELS19が
“1”になる様に作られる。例えば、図3の場合、AD
R18が(M+1)〜Nの時、SELELS19は
“1”、0〜Mの時、SELELS19は“0”であ
る。
【0021】図4、図5で用いられるSRフリップフロ
ップ60、Dフリップフロップ61〜64、イネーブル
付きDフリップフロップ80には、単一のクロックが入
力されているものとする。以下の文章中の“サイクル”
という単語は、このクロックの周期を示している。
【0022】図6はパイプライン制御のタイムチャート
であり、S0〜S11は、便宜上付けられた各サイクル
の名称である。外部メモリインタフェース3に対してE
LSRDREQ79が発行されてから、外部メモリイン
タフェース3からELSRDEND72が戻ってくるま
での時間は、外部メモリ1のアクセス時間に依存する
が、ここではELSRDREQ79が“1”になった次
のサイクルでELSRDEND72が“1”になって戻
ってくる場合について示している。
【0023】内部メモリ2に格納されているチャネルマ
イクロプログラムを処理する場合は従来と基本的に同じ
であるため、以下では、外部メモリ1に格納されている
マイクロプログラムを処理する場合について説明する。
【0024】まず、本発明の一実施形態のチャネルマイ
クロプログラム処理装置において、外部メモリ1に格納
されているチャネルマイクロプログラムの実行時の動作
概要を、図1を用いて説明する。
【0025】外部メモリ1に格納されているマイクロプ
ログラムの処理の場合、プログラムカウンタ4からの出
力であるADR18の値(論理アドレス)は外部メモリ
1のアドレスを示している。検出回路5は、ADR18
の値をデコードすることにより外部メモリ1に格納され
ているチャネルマイクロプログラムの処理であることを
検出し、パイプライン制御回路11と命令読み出し回路
6に対し、外部メモリ1に格納されているチャネルマイ
クロプログラムの処理であることをSELELS19を
用いて知らせる。これを受けて、パイプライン制御回路
11は、外部メモリインタフェース3に対して、外部メ
モリ1に格納されているチャネルマイクロプログラムの
読み出し信号であるELSRDREQ79を発行する。
また、命令読み出し回路6は、外部メモリ1のチャネル
マイクロプログラム用リードバス12を選択し、外部メ
モリインタフェース3に対して、論理アドレスのADR
18をアドレス変換して得られる物理アドレスのADR
180を与える。なお、命令読み出し回路6は論理アド
レスのADR18をそのまま外部メモリインタフェース
3に与え、外部メモリインタフェース3内で物理アドレ
スに変換することでもよい。
【0026】チャネルマイクロプログラムは、外部メモ
リ1から外部メモリインタフェース3、チャネルマイク
ロプログラム用リードバス12を通って読み出され、命
令読み出し回路6に格納される。この外部メモリ1に格
納されているチャネルマイクロプログラムの読み出しが
終了すると、外部メモリインタフェース3からパイプラ
イン制御回路11に対して、ELSRDEND72が発
行される。これにより、パイプライン制御回路11から
プログラムカウンタ4のイネーブル信号(ADREN)
73が出力されて、プログラムカウンタ4が更新され、
次のチャネルマイクロプログラムの読み出し要求が発行
される。
【0027】一方、命令読み出し回路6に格納されたチ
ャネルマイクロプログラムは、パイプライン制御回路1
1から順次出力される制御信号75〜79により、命令
解読回路7データ読み出し回路8、演算回路9、データ
書き込み回路10を経由して処理される。
【0028】次に、外部メモリ1に格納されているマイ
クロプログラムの実行時のマシンサイクルの決定につい
て、図4、図5を用いて説明する。
【0029】チャネルマイクロプログラム処理のスター
トを要求する制御信号であるMPSTART70によっ
てSRフリップフロップ60がセットされると、命令読
み出し回路6に動作許可を与える制御信号であるEXE
C074が“1”になる。プログラムカウンタ4の出力
であるADR18の値が外部メモリ1のアドレスを示し
ている場合、検出回路5は、ADR18をデコードする
ことにより、外部メモリ1に格納されているチャネルマ
イクロプログラムの処理であることを示すSELELS
19を“1”にする。SELELS19が“1”のと
き、EXEC074が“1”であると、アンドゲート6
6により、外部メモリインタフェース3に対して外部メ
モリ1に格納されているチャネルマイクロプログラムの
読み出しを要求する制御信号であるELSRDREQ7
9が“1”になる。また、SELELS19が“1”の
とき、セレクタ素子65は、ELSRDEND72側を
セレクトしており、ELSRDEND72は“0”であ
るため、ADREN73は“0”のままである。したが
って、ADR18は更新されない。ADREN73が
“1”になるのは、外部メモリインタフェース3から、
外部メモリ1からのチャネルマイクロプログラムの読み
出しが終了したことを示す制御信号であるELSRDE
ND72が“1”になるのと同じサイクルである。この
ため、命令解読回路7に動作許可を与える制御信号であ
るEXEC175は、EXEC074が“1”になった
次のサイクルでは“1”にならない。EXEC175が
“1”になるのは、ELSRDEND72が“1”にな
った次のサイクルである。すなわち、次のチャネルマイ
クロプログラム処理の実行は、ELSRDEND72が
“1”になるまで抑止される。ただし、SELELS1
9が“0”、すなわち、内部メモリ2に格納されている
チャネルマイクロプログラムの処理の場合、EXEC1
75は、EXEC074が“1”になった次のサイクル
で“1”になる。SELELS19の値に関わらず、デ
ータ読み出し回路8に動作許可を与える制御信号である
EXEC2 76が“1”になるのは、EXEC1 7
5、が“1”になった次のサイクル、演算回路9に動作
許可を与える制御信号であるEXEC3 77が“1”
になるのは、EXEC2 76が“1”になった次のサ
イクル、データ書き込み回路10に動作許可を与える制
御信号であるEXEC4 78が“1”になるのはEX
EC3 77が“1”になった次のサイクルである。
【0030】以上のことから、外部メモリ1に格納され
たチャネルマイクロプログラムを実行するのに必要な最
小時間間隔、すなわち外部メモリ1に格納されたチャネ
ルマイクロプログラム実行時のマシンサイクルは、外部
メモリインタフェース3に対してELSRDREQ79
を発行してから、外部メモリインタフェース3からEL
SRDEND72が戻ってくるまでの時間に依存して決
定され、その後、パイプライン制御されることがわか
る。
【0031】次に、チャネルマイクロプログラムが外部
メモリ1と内部メモリ2のどちらに格納されている場合
でもパイプライン制御可能であることを、図6のタイム
チャートを用いて説明する。
【0032】図6は、内部メモリ2に格納されているチ
ャネルマイクロプログラム(命令1)の処理、同じく内
部メモリ2に格納されているチャネルマイクロプログラ
ム(命令2)の処理、外部メモリ1に格納されているチ
ャネルマイクロプログラム(命令3)の処理、同じく外
部メモリ1に格納されているマイクロプログラム(命令
4)の処理の順番で実行される場合の各信号のタイムチ
ャートを示している。
【0033】まず、S0のサイクルでは、チャネルマイ
クロプログラム処理のスタートの要求を示す制御信号で
あるMPSTART70が“1”になる。また、1番目
の処理は内部メモリ2に格納されているチャネルマイク
ロプログラム(命令1)の処理であるため、ADR18
は内部メモリ2のアドレスを示している。
【0034】次に、S1のサイクルでは、MPSTAR
T70が“1”になったことを受けて、EXEC0 7
4が“1”になる。ADR18の値は内部メモリ2のア
ドレスを示しているため、SELELS19は“0”の
ままであり、ADREN73が“1”になる。
【0035】S2のサイクルでは、S1のサイクルでA
DREN73が“1”になったことを受けて、ADR1
8が更新され、また、EXEC1 75が“1”にな
る。2番目の処理は内部メモリ2に格納されているチャ
ネルマイクロプログラム(命令2)の処理であるため、
更新されたADR18の値は内部メモリ2のアドレスを
示している。このため、SELELS19は“0”のま
まであり、ADREN73が“1”になる。EXEC1
75が“1”になった後のEXEC2 76、EXE
C3 77、EXEC4 78、の更新は、図4の説明
からも明らかであり、以下の説明では省略する。
【0036】S3のサイクルでは、S2のサイクルと同
様にADREN73が“1”になったことを受けて、A
DR18が更新され、また、EXEC1 75が“1”
になる。3番目の処理は外部メモリ1に格納されている
チャネルマイクロプログラム(命令3)の処理であるた
め、更新されたADR18の値が外部メモリ1のアドレ
スを示している。ADR18の値が外部メモリ1のアド
レスを示しているため、SELELS19は“1”にな
り、ELSRDREQ79も“1”になる。ADREN
73は、ELSRDEND72が“0”のままであるた
め“0”になる。
【0037】S4のサイクルでは、本サイクルで外部メ
モリインタフェース3からELSRDEND72が
“1”で戻ってきたと仮定する。S3のサイクルでAD
REN73が“0”になったことを受けて、EXEC1
75が“0”になる。ADREN73は、SELEL
S19が“1”で、かつ、外部メモリインタフェース3
からELSRDEND72が“1”で戻ってきたため
“1”になる。
【0038】S5のサイクルでは、S4のサイクルでA
DREN73が“1”になったことを受けて、ADR1
8が更新され、また、EXEC1 75が“1”にな
る。4番目の処理は外部メモリ1に格納されているチャ
ネルマイクロプログラム(命令4)の処理であるため、
更新されたADR18の値が外部メモリ1のアドレスを
示している。ADR18の値が外部メモリ1のアドレス
を示しているため、SELELS19は“1”になり、
ELSRDREQ79も“1”のままである。ADRE
N73は、ELSRDEND72が“0”であるため
“0”になる。
【0039】S6のサイクルでは、本サイクルでチャネ
ルマイクロプログラム処理のストップ要求を示す制御信
号であるMPSTOP71が“1”になったと仮定す
る。S5のサイクルでADREN73が“0”になった
ことを受けて、EXEC1 75が“0”になる。AD
REN73は、SELELS19が“1”で、かつ、外
部メモリインタフェース3からELSRDEND72が
“1”で戻ってくるため“1”になる。
【0040】S7のサイクルでは、S6のサイクルでA
DREN73が“1”になったことを受けて、ADR1
8が更新され、また、EXEC1 75が“1”にな
る。S6のサイクルでMPSTOP71が“1”になっ
たことを受け、EXEC0 74が“0”になる。EX
EC0 74が“0”であるため、ADR18の値に関
わらずADREN73SELELS19は“0”にな
る。
【0041】図6よりチャネルマイクロプログラムが外
部メモリ1と内部メモリ2のどちらに格納されている場
合でも、パイプライン制御回路のマシンサイクルが切り
替わるだけで、パイプライン制御を行うことが可能であ
ることがわかる。また、内部メモリ2に格納されている
チャネルマイクロプログラムの実行と外部メモリ1に格
納されているチャネルマイクロプログラムの実行との間
にオーバヘッド時間が発生していないことがわかる。
【0042】次に、本発明と従来のオーバレイ方式にお
けるパイプライン制御の違いを、図7と図8を用いて簡
単に説明する。図7および図8において、命令51と命
令52および命令55は内部メモリ2に格納されている
チャネルマイクロプログラム、命令53と命令54は外
部メモリ1に格納されているチャネルマイクロプログラ
ムである。また、命令51〜54は任意の命令である
が、命令55は、外部メモリ1から内部メモリ2にチャ
ネルマイクロプログラムを転送するためにDMA機能付
き外部メモリインタフェース90を起動させる命令、命
令56は、内部メモリ2のオーバレイ領域に転送された
命令53が格納されているアドレスに分岐するための分
岐命令である。
【0043】図7に示すように、従来のオーバレイ方式
の場合、命令53を実行する前に、命令55によって起
動されたDMA付き外部メモリインタフェース90が、
外部メモリ1に格納されているチャネルマイクロプログ
ラムを内部メモリ2に移動するための時間が必要があ
る。その間、次の命令である命令53の処理が開始でき
ないため、命令53の処理時間が大幅に遅れてしまうこ
とがわかる。これに対し、本発明の場合、命令53、命
令54の実行は、命令51、命令52、に比べて1つず
つの命令の処理時間は長くなるが、パイプライン制御が
行われているため、命令の解読、データの読み出し、演
算、データの書き込みに必要な処理時間は隠蔽されてい
る。
【0044】
【発明の効果】以上説明したように、本発明によれば、
LSI内部の高速なメモリとLSI外部の中低速なメモ
リに分かれて格納されているチャネルマイクロプログラ
ムを直接パイプライン制御することにより、LSI外部
のメモリに格納されているチャネルマイクロプログラム
を実行するときに発生するオーバヘッド時間を削減する
ことができ、高速なチャネルマイクロプログラム処理を
実現することができる。また、従来のオーバレイ方式の
ようにLSI外部のメモリに格納されているチャネルマ
イクロプログラムを実行するときにLSI外部のメモリ
に格納されているチャネルマイクロプログラムをLSI
内部のメモリに移動させる必要がないため、チャネルマ
イクロプログラムの移動に必要な領域を常にLSI内部
のメモリに確保しておく必要がなく、LSI内部のメモ
リを有効に利用できる。
【図面の簡単な説明】
【図1】本発明の一実施形態によるチャネルマイクロプ
ログラム処理装置の構成を示すブロック図である。
【図2】従来のオーバレイ方式によるチャネルマイクロ
プログラム処理装置の構成例を示すブロック図である。
【図3】本発明による内部メモリと外部メモリの論理的
アドレス空間を示す図である。
【図4】本発明によるパイプライン制御回路の構成例を
示す図である。
【図5】本発明によるプログラムカウンタと検出回路の
構成例を示す図である。
【図6】本発明によるパイプライン制御のタイムチャー
トを示す図である。
【図7】従来のオーバレイ方式におけるパイプライン制
御を示す図である。
【図8】本発明によるパイプライン制御を示す図であ
る。
【符号の説明】 1 外部メモリ 2 内部メモリ 3 外部メモリインタフェース 4 プログラムカウンタ 5 検出回路 6 命令読み出し回路 7 命令解読回路 8 データ読み出し回路 9 演算回路 10 データ書き込み回路 11 パイプライン制御回路 12、13 チャネルマイクロプログラム用リードバス 14 リードデータバス 15 ライトデータバス 16 ワークストレージ 17 レジスタ群 18 チャネルマイクロプログラムリード論理アドレス 180、181 チャネルマイクロプログラムリード物
理アドレス 19 メモリ/マシンサイクル切り替えを示す制御信号 20 主記憶装置インタフェース制御装置 30 チャネルマイクロプログラム処理装置 40 外部インタフェースプロトコル制御装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B013 AA11 5B014 GB02 5B105 AA08 AB11 AC01 BA01 FD01 HA03

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 チャネルマイクロプログラムをパイプラ
    イン制御により実行するチャネルマイクロプログラム処
    理装置において、 チャネルマイクロプログラムを格納する第1メモリと、
    チャネルマイクロプログラムを格納する第2メモリと、
    前記チャネルマイクロプログラムのアドレスを示すプロ
    グラムカウンタと、前記プログラムカウンタが前記第1
    メモリを示しているか前記第2メモリを示しているかを
    検出する検出手段と、前記検出手段の検出結果に従い第
    1メモリと第2メモリを切り替え、前記プログラムカウ
    ンタに従いチャネルマイクロプログラムを読み出す手段
    と、前記検出手段の検出結果に従いパイプライン制御の
    マシンサイクルを切り替える手段とを備えることを特徴
    とするチャネルマイクロプログラム処理装置。
  2. 【請求項2】 第1メモリと第2メモリは、LSI外部
    の中低速なメモリとLSI内部の高速なメモリとで構成
    されることを特徴とする請求項1記載のチャネルマイク
    ロプログラム処理装置。
  3. 【請求項3】 第1メモリと第2メモリには、論理的に
    連続したアドレスが割り当てられていることを特徴とす
    る請求項1もしくは2記載のチャネルマイクロプログラ
    ム処理装置。
JP11156006A 1999-06-03 1999-06-03 チャネルマイクロプログラム処理装置 Pending JP2000347981A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11156006A JP2000347981A (ja) 1999-06-03 1999-06-03 チャネルマイクロプログラム処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11156006A JP2000347981A (ja) 1999-06-03 1999-06-03 チャネルマイクロプログラム処理装置

Publications (1)

Publication Number Publication Date
JP2000347981A true JP2000347981A (ja) 2000-12-15

Family

ID=15618278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11156006A Pending JP2000347981A (ja) 1999-06-03 1999-06-03 チャネルマイクロプログラム処理装置

Country Status (1)

Country Link
JP (1) JP2000347981A (ja)

Similar Documents

Publication Publication Date Title
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
JP2810068B2 (ja) プロセッサシステム、コンピュータシステム及び命令処理方法
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US20110231616A1 (en) Data processing method and system
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
US4348724A (en) Address pairing apparatus for a control store of a data processing system
JP2010244238A (ja) リコンフィギュラブル回路及びリコンフィギュラブル回路システム
US5930520A (en) Pipelining device in a parallel processing apparatus and an instruction supplying method therefor
US4360869A (en) Control store organization for a data processing system
JP2000347981A (ja) チャネルマイクロプログラム処理装置
WO2021061626A1 (en) Instruction executing method and apparatus
TWI766891B (zh) 半導體裝置的處理器與其操作方法
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JPH0916468A (ja) メモリアクセス方式
WO2018138975A1 (ja) 演算処理装置および情報処理システム
US4348723A (en) Control store test selection logic for a data processing system
US6446194B1 (en) Virtual register renamed instruction issue for execution upon virtual/physical rename buffer wrap around detection signaling available physical register
JP3077807B2 (ja) マイクロコンピュータシステム
JP3102399B2 (ja) データ処理装置及び方法
JP2636821B2 (ja) 並列処理装置
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JP3147884B2 (ja) 記憶装置及び情報処理装置
JP2742245B2 (ja) 並列計算機
JP2621793B2 (ja) バスサイクルのマルチプレクス方式
JPH0512110A (ja) 情報処理装置