JP2007066233A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2007066233A
JP2007066233A JP2005254618A JP2005254618A JP2007066233A JP 2007066233 A JP2007066233 A JP 2007066233A JP 2005254618 A JP2005254618 A JP 2005254618A JP 2005254618 A JP2005254618 A JP 2005254618A JP 2007066233 A JP2007066233 A JP 2007066233A
Authority
JP
Japan
Prior art keywords
memory
block address
instruction
storage register
access
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.)
Withdrawn
Application number
JP2005254618A
Other languages
English (en)
Inventor
Yoshiaki Hashimoto
良昭 橋本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005254618A priority Critical patent/JP2007066233A/ja
Publication of JP2007066233A publication Critical patent/JP2007066233A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

【課題】細切れの小さいサイズの連続したアドレス空間しかない場合でも多くのペリフェラルを使用することを可能にする。
【解決手段】周辺装置の処理を行う処理部130と、複数のブロックに分割されたメモリ140と、前記メモリへのアクセス信号に基づきアクセス対象となるメモリのブロックを特定して前記メモリに対するアクセス処理を行うメモリアクセス処理部とを含み、前記メモリアクセス処理部は、アクセス対象となるメモリのブロックアドレスを保持するブロックアドレス格納レジスタと170、172、アクセス対象となるブロックアドレスを特定してブロックアドレス格納レジスタに設定するブロックアドレス制御部120、150、160と、ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリに対するアクセス処理を行うように制御するアクセス制御部120、150、160とを含む。
【選択図】 図2

Description

本発明は、情報処理装置に関する。
情報処理装置において、小さいサイズの連続したアドレス空間ならば複数存在するが、ペリフェラル(周辺装置)に連続した大きなサイズのアドレス空間を提供できない場合がある。
アドレス空間を拡張するための技術としては、例えば特開平5−127984号にはCPU自体に空間拡張のためのセレクト信号を生成する回路を入れておき、このセレクト信号に対応したアドレス空間を持つ技術が開示されている。
また例えば特開平7−200329号には、ローカルアドレスの変換の際に、ホストからアドレスに対してローカルアドレスに対応させるための比較するアドレスや空間のサイズを保持するレジスタ・比較器等の制御回路を設ける技術が開示されている。
特開平5−127984号 特開平7−200329号
しかし特開平5−127984号では既存のCPUをそのまま使うことができないし、特開平7−200329号ではアドレス自体を対応させるため、トータルでのアドレス空間は広がらないという問題点があった。
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、細切れの小さいサイズの連続したアドレス空間しかない場合でも多くのペリフェラルを使用することを可能にする情報処理装置の提供を目的とする。
(1)本発明は、
ホスト装置と接続されて所与の情報処理を行う周辺装置を含む情報処理装置であって、
前記周辺装置は、
周辺装置の処理を行う処理部と、
複数のブロックに分割されたメモリと、
前記メモリへのアクセス信号に基づきアクセス対象となるメモリのブロックを特定して前記メモリに対するアクセス処理を行うメモリアクセス処理部とを含み、
前記メモリアクセス処理部は、
アクセス対象となるメモリのブロックアドレスを保持するブロックアドレス格納レジスタと、
アクセス対象となるブロックアドレスを特定してブロックアドレス格納レジスタに設定するブロックアドレス制御部と、
ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリに対するアクセス処理を行うように制御するアクセス制御部と、
を含むことを特徴とする。
本発明によえば、細切れの小さいサイズの連続したアドレス空間しかない場合でも多くのペリフェラルを使用することを可能にする情報処理装置を提供することができる。
(2)本発明の情報処理装置は、
前記ブロックアドレス格納レジスタは、
メモリに記憶された命令を読みだす際に使用する命令フェッチ用ブロックアドレス格納レジスタを含み、
前記ブロックアドレス制御部は、
メモリから読み出された命令の解読結果に基づきアクセス対象となるブロックアドレスを特定して命令フェッチ用ブロックアドレス格納レジスタに設定し、
前記アクセス制御部は、
メモリに記憶された命令を読みだす際に、命令フェッチ用ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリから命令を読み出すように制御することを特徴とする。
(3)本発明の情報処理装置は、
前記ブロックアドレス格納レジスタは、
メモリに記憶されたデータを読み出す際に使用するデータ用ブロックアドレス格納レジスタを含み、
前記ブロックアドレス制御部は、
アクセス対象となるブロックアドレスを特定してデータ用ブロックアドレス格納レジスタに設定し、
前記アクセス制御部は、
メモリに記憶されたデータを読みだす際に、データ用ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリからデータを読み出すように制御することを特徴とする。
(4)本発明の情報処理装置は、
アクセス対象となるブロックアドレスに関する情報をオペランドに含む所定の命令コードを解読する命令解読部を含み、
前記ブロックアドレス制御部は、
前記命令解読部による解読結果に基づきアクセス対象となるブロックアドレスを特定して命令フェッチ用ブロックアドレス格納レジスタに設定することを特徴とする。
(5)本発明の情報処理装置は、
前記周辺装置の処理をおこなう制御プログラムは、前記メモリに格納されていることを特徴とする。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
図1は、本実施の形態の情報処理装置について説明するための図である。
本実施の形態の情報処理システム1は、バス50を介して接続された情報処理装置20と1または複数の周辺装置100を含む。
本実施の形態の情報処理装置は、狭義にはCPU(ホスト装置)40と接続されて所与の情報処理を行う周辺装置100である(10参照)。
また本実施の形態の情報処理装置は、広義にはCPU(ホスト装置)40とCPU(ホスト装置)40に接続されて所与の情報処理を行う周辺装置100を含む(20参照)。
図2は本実施の形態の情報処理装置の一例である周辺装置の機能ブロック図の一例である。
周辺装置100は、システムバス50を介してCPU(ホスト装置)と接続されている。
周辺装置100は、ホストインターフェース110、制御部120、処理部130、メモリ140、命令解読部150、バンク制御回路160、ブロックアドレス格納レジスタ170、172を含む。
ホストインターフェース110は、システムバスとの接続部である。制御部120は内部ブロックへのセレクト信号生成、割込み制御等を行う。内部ステータスレジスタ等もここに存在する。
処理部130は、周辺装置100の処理を行う。
メモリ140は複数のブロックに分割され、周辺装置を制御するための制御プログラムの格納、作業領域に使用される。
命令解読部150は、拡張命令コードやジャンプ命令等を解読すると共にブロックアドレスを保持する。具体的にはexte命令とそれに続く命令の解読を行ったり、exte命令時はブロックアドレスを取り出しその値を保持し、ブロックアドレス格納レジスタに対して出力したり、後に続く命令がロード/ストア命令の場合には信号rを有効にし、無条件分岐命令の場合には信号l[1]を有効にしたり、条件分岐の場合は、信号l[0]を有効にし、制御部からの連続アドレス信号tが有効でない場合のみブロックアドレスを更新したりする。これにより、フェッチとデータアクセスでブロックアドレスが別々に制御され、誤動作はなくなる。
バンク制御回路160は、制御プログラム読出しバンク制御回路であり、ジャンプ命令等によるブロックアドレスの変化と命令読み出し時のブロック境界を越えた時のブロックアドレスのインクリメント等を行う。命令読出しが否かは、後述するアドレスのアドレス種別コードで判断する。
ブロックアドレス格納レジスタ170は、データアクセス時のブロックアドレスを格納するレジスタである。
ブロックアドレス格納レジスタ172は、命令フェッチ用ブロックアドレスを格納するレジスタである。
ここで命令解読部150、バンク制御回路160、ブロックアドレス格納レジスタ170、172が、メモリへのアクセス信号に基づきメモリに対するアクセス処理を行うメモリアクセス処理部として機能する。
命令解読部150は、メモリ140から読み出された命令コードを取り込み解読を行い、ブロックコードを抽出し保持し、信号mとしてブロックコードを出力する。命令コードとデータの識別は信号gにより行われる。
バンク制御回路160は、制御部からの信号tと命令解読部150からの出力信号lによりブロックアドレスの更新の仕方を判断してブロックアドレス収納レジスタ172にブロックアドレスを出力する。
aはアドレス信号、bはバス入力データ信号、cはリード/ライト識別信号、dはバスアクセス指示信号、eはバス出力データ、fはバス出力データ選択信号、gは命令フェッチ、データアクセス切替え信号、hはメモリアクセス指示信号、iはリード/ライト識別信号、jは処理部アクセス指示信号、kはリード/ライト識別信号、l[1:0]はブロックアドレス有効信号であり、l[1]は、無条件分岐を示し、l[0]は条件分岐を示す。mはブロックアドレス、nはメモリ部バス出力信号、oは処理部バス出力信号、pはインクリメント用ブロックアドレス信号、qは命令フェッチ用ブロックアドレス信号、rはブロックアドレス有効信号、sは処理部ステータス信号、tは連続アクセス信号であり、フェッチアドレスが、直前のアドレスに対して+2されている事を示す。
図3(A)〜(D)は、本実施の形態のCPU(ホスト装置)のレジスタについて説明するための図である。
CPU(ホスト装置)は図3(A)に示すようにR0〜R15の16個の汎用レジスタを有する。
またCPU(ホスト装置)は図3(B)に示すようなプログラムカウンタPCを含む。にR0〜R15の16個の汎用レジスタを有する。
CPU(ホスト装置)は図3(C)に示すようなプログラムステータスレジスタPSRを有する。Nは演算結果の符号を格納する。Zは演算結果、データ移動結果がゼロである事を示す。Vは演算結果でオーバーフロー/アンダーフローの発生を示す。Cは演算結果でキャリー/ボローの発生を示す。IEは割込み許可ビットを示す。DFは被除算負号フラグを示す。
またCPU(ホスト装置)は図3(D)に示すようなスタックポインタSPを含む。
図4は、システムのメモリマップを示す。本システムでは、メモリ領域は制御プログラム領域210、アプリケーションプログラム領域220、データ領域230、設定レジスタ240が割り当てられている。
図5(A)(B)は、制御プログラム領域のメモリマップである。図5(A)は従来システム(図1において周辺装置8〜11が存在しない構成のシステム)における制御プログラム領域のメモリマップであり、図5(B)は新規システム(図1)における制御プログラム領域(図4の210)のメモリマップである。
図6は周辺装置8のIO空間のメモリマップ(図5(B)の250)であり、制御プログラム領域310、作業領域1(320)、作業領域2(330)、作業領域3/設定レジスタ340が割り当てられている。
図7は、周辺装置8のIO空間のメモリブロックと相対アドレスの対応関係について説明するための図である。
本実施の形態では、図5で示した周辺装置8に割り当てられたメモリエリアサイズに合わせて、メモリ140を複数のブロックに分割して(図7では周辺装置のIO空間を0からFのブロックに分割している)、ブロックアドレス350を割り当てている。そして各ブロック内ではブロック内アドレス360が割り当てられている。
図6における制御プログラム領域310は6つのブロックであるブロック0からブロック5に分割されてメモリ領域のいずれかの実領域が割り当てられている。またブロック0からブロック5にはそれぞれ相対アドレス(370)0-000H〜0-3FFCH、〜1-400H〜1-7FFCHに対応付けられている。
このように周辺装置のメモリマップを複数のブロックに分割することにより、各ブロックに小さいサイズの連続したアドレス空間を割り当てることが可能になる。
図8(A)(B)は、本実施の形態のアドレス表示について説明するための図である。
本実施の形態では、28ビットのアドレス空間を有する。図8(A)に示すように32ビットのアドレス領域のうち1から27ビットに有効アドレス420が格納され、28から31ビットにはアドレス種別410が格納されている。
アドレス種別410には、図8(B)に示すような意味430に従ったコード440が格納されている。
アドレス種別コードはPC自体に持つのではなく、命令フェッチを示す制御信号から生成され、有効アドレスに付加される。
図9(A)(B)は本実施の形態の命令形式について説明するための図である。
本実施の形態では16ビット命令形式を採用しており、0から3ビットにオペランド2(510)が格納され、4から7ビットにオペランド1(520)が格納され、8から12ビットにオペコード530が格納され、13から15ビットに命令種別540オペコードが格納される。
命令種別440には、図9(B)に示すような意味550に従ったコード560が格納されている。
図10(A)〜(D)は本実施の形態の命令の例について説明するための図である。
図10(B)は、CPU汎用レジスタからメモリへのデータストア命令である。
図10(C)は、条件によりPC相対ジャンプを行うジャンプ命令である。
図10(D)は、即値データを定義する拡張命令である。
本実施の形態のニーモニック記述形式では、命令コードとオペランドの間は”,”で記述する。またレジスタの内容をアドレスとするメモリアクセスは[r7](r7を使用する場合)と記述する。記述では命令コードに位置を示すラベルをつけて記述する事ができる。ラベルのアドレスは、ラベル名をlabelとした時に、label@lでアドレスのビット31から19を、label@mでビット18からビット6を、label@rでビット5〜ビット0を示す。
具体的な記述に関しての説明を下記に示す。
ld.w,r10,[r7]ロードワード。汎用レジスタ7の内容がアドレスとなりメモリアクセスを行い、データを汎用レジスタ10に格納する。
st.w,r10,[r7]ストアワード。汎用レジスタr10の内容を汎用レジスタr7の内容がアドレスとなり、メモリに格納する。
ext,20H 16進(H)での即値指定。13ビットで表現できる値まで可能。
コンパイラに対しての指示として、下記のものを本例で使用する。
org,32000000H オリジン指定。プログラムのアドレスを直接指定する。この場合、32000000Hのアドレスに、次に記述した命令のオブジェクトコードが置かれる。これはコンパイラに対しての処理指定の記述で、CPUが実行する命令ではない。
area,4000H CPUから見たメモリ空間のサイズを示す。
拡張命令ext、exteは、必要とする命令の前に置かれる。
図11は本実施の形態のニーモニック記述例について説明するための図である。
ラベル600は、他のプログラムも含めグローバルに使用するものを大文字、この周辺装置内だけで使用するものを小文字で認識するものとする。周辺装置の制御プログラムはサブルーチンとして処理される事とする。周辺装置の制御は610に示すように必ずラベル:P8CINからスタートし、660に示すようにret命令で終わるものとする。
610は、周辺装置8の制御プログラムの入口である。まず初期設定が終了しているかどうか/を判断する為に、HWの識別フラグinitflgを確認する。
識別フラグinitflgは、パワーオンリセットで0Hとなり、初期設定終了後に制御/プログラムが0H以外の数値を書き込むことで、0Hの場合は初期設定がなされていないと判断できる。フラグのアドレスをr5に設定し、r8にフラグの内容を読み出す(620参照)。読み出したときにPSRにステータスが設定される。
640のjeqz-d,inipr@rではPSRのZフラグにより分岐が実行される。
そしてld.w,r8,[r5]から先は、具体的な処理となる。
650のext,RETURN@l;は、/周辺装置8の処理が終了し、一旦制御を返す為の分岐である。周辺装置8の処理は一つのサブルーチンとして処理される。
670のinipr:ext.0Hは初期設定の処理の先頭である。特にアドレスを指定する必要がないので、org命令/は使わない。(オブジェクトコードはメモリ上に詰まって置かれてよい。)
680のext,RETURN@l;において、初期設定終了後は一旦制御を返す。
690のconre:org,3C000HこのアドレスでHWのレジスタが見えるようにHWを作る。
また700のinitflg org,3CFFCHのアドレスでHWのレジスタが見えるようにHWを作る。
コンパイルの際には、エリアサイズ指定命令areaによってブロックアドレスが計算され、exte命令のim4が決定する。
次に図11を用いて本実施の形態の動作を説明する。
610においてexte命令が発行されたので、命令解読処理部はブロックアドレスをレジスタに保持する。
620において後続の命令がロード命令なので、信号rが有効になり、レジスタBにブロックアドレスが格納される。この命令が実行されると、信号gによりレジスタBが選択され、データが信号nを介してバスに出力される。
630においてexte命令が発行されたので、命令解読処理部はブロックアドレスをレジスタに保持する。
640において後続の命令が条件分岐命令なので信号l[0]が有効になる。条件が成立しない場合、フェッチアドレスは+2去れたものである為、信号tが有効になりレジスタCは更新されない。信号tが有効の場合は分岐成立なので、レジスタCが更新されブロックアドレスが変わる。これにより分岐が成立する。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
本実施の形態の情報処理装置について説明するための図。 本実施の形態の情報処理装置の一例である周辺装置の機能ブロック図。 本実施の形態のCPUのレジスタについて説明するための図。 システムのメモリマップを示す図。 制御プログラム領域のメモリマップ。 周辺装置のIO空間のメモリマップ。 周辺装置のIO空間のメモリブロックと相対アドレスの対応関係について説明するための図。 本実施の形態のアドレス表示について説明するための図。 本実施の形態の命令形式について説明するための図。 本実施の形態の命令の例について説明するための図。 本実施の形態のニーモニック記述例について説明するための図。
符号の説明
1 情報処理システム、10 狭義の情報処理装置、20 広義の情報処理装置、40 CPU、50 バス、100 周辺装置、110 ホストインターフェース、120 制御部、130 処理部、140 メモリ、150 命令解読部、160 バンク制御回路、170、172 ブロックアドレス格納レジスタ

Claims (5)

  1. ホスト装置と接続されて所与の情報処理を行う周辺装置を含む情報処理装置であって、
    前記周辺装置は、
    周辺装置の処理を行う処理部と、
    複数のブロックに分割されたメモリと、
    前記メモリへのアクセス信号に基づきアクセス対象となるメモリのブロックを特定して前記メモリに対するアクセス処理を行うメモリアクセス処理部とを含み、
    前記メモリアクセス処理部は、
    アクセス対象となるメモリのブロックアドレスを保持するブロックアドレス格納レジスタと、
    アクセス対象となるブロックアドレスを特定してブロックアドレス格納レジスタに設定するブロックアドレス制御部と、
    ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリに対するアクセス処理を行うように制御するアクセス制御部と、
    を含むことを特徴とする情報処理装置。
  2. 請求項1において、
    前記ブロックアドレス格納レジスタは、
    メモリに記憶された命令を読みだす際に使用する命令フェッチ用ブロックアドレス格納レジスタを含み、
    前記ブロックアドレス制御部は、
    メモリから読み出された命令の解読結果に基づきアクセス対象となるブロックアドレスを特定して命令フェッチ用ブロックアドレス格納レジスタに設定し、
    前記アクセス制御部は、
    メモリに記憶された命令を読みだす際に、命令フェッチ用ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリから命令を読み出すように制御することを特徴とする情報処理装置。
  3. 請求項1乃至2のいずれかにおいて、
    前記ブロックアドレス格納レジスタは、
    メモリに記憶されたデータを読み出す際に使用するデータ用ブロックアドレス格納レジスタを含み、
    前記ブロックアドレス制御部は、
    アクセス対象となるブロックアドレスを特定してデータ用ブロックアドレス格納レジスタに設定し、
    前記アクセス制御部は、
    メモリに記憶されたデータを読みだす際に、データ用ブロックアドレス格納レジスタの値に基づきアクセス対象となるメモリのブロックを特定して前記メモリからデータを読み出すように制御することを特徴とする情報処理装置。
  4. 請求項1乃至3のいずれかにおいて、
    アクセス対象となるブロックアドレスに関する情報をオペランドに含む所定の命令コードを解読する命令解読部を含み、
    前記ブロックアドレス制御部は、
    前記命令解読部による解読結果に基づきアクセス対象となるブロックアドレスを特定して命令フェッチ用ブロックアドレス格納レジスタに設定することを特徴とする情報処理装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記周辺装置の処理をおこなう制御プログラムは、前記メモリに格納されていることを特徴とする情報処理装置。
JP2005254618A 2005-09-02 2005-09-02 情報処理装置 Withdrawn JP2007066233A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005254618A JP2007066233A (ja) 2005-09-02 2005-09-02 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005254618A JP2007066233A (ja) 2005-09-02 2005-09-02 情報処理装置

Publications (1)

Publication Number Publication Date
JP2007066233A true JP2007066233A (ja) 2007-03-15

Family

ID=37928301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005254618A Withdrawn JP2007066233A (ja) 2005-09-02 2005-09-02 情報処理装置

Country Status (1)

Country Link
JP (1) JP2007066233A (ja)

Similar Documents

Publication Publication Date Title
US7594094B2 (en) Move data facility with optional specifications
TWI476597B (zh) 資料處理裝置及半導體積體電路裝置
KR100309615B1 (ko) 고속프로그램가능로직컨트롤러(plc)
CN103098020A (zh) 由多个指令集使用的寄存器间映射
GB2529777A (en) Processor with granular add immediates capability and methods
KR20010043826A (ko) 마이크로 컨트롤러 명령어 집합
JPS62197830A (ja) デ−タ処理システム
JPH02173823A (ja) データ処理装置
JP2970821B2 (ja) データ処理装置
JPH03158928A (ja) データ処理装置
CN108959180B (zh) 一种数据处理方法及系统
CN107851022B (zh) 向量长度查询指令
KR100861896B1 (ko) 데이터 프로세싱 장치 및 데이터 프로세싱 방법
EP3329361B1 (en) Vector operand bitsize control
JP2007066233A (ja) 情報処理装置
JP2005222519A (ja) メモリに記憶されたデータワード内のビット値へのアクセス
JP5753603B2 (ja) データ要素内のビットをゼロ化するためのシステム、装置、および方法
KR101538425B1 (ko) 프로세서 및 프로세서에서의 명령 처리방법
JP3474347B2 (ja) マイクロコンピュータの命令解読部
JP4553622B2 (ja) データ処理装置
JP2987281B2 (ja) プロセッサ
JPH02211561A (ja) プロセッサ及びストアバッファ制御方法
JP2012203664A (ja) 中央演算処理装置及びマイクロコンピュータ
JPS6298443A (ja) デ−タ処理装置
JP2006268487A (ja) エミュレーション装置及びエミュレーション方法、並びに、エミュレーションプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080627

A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081104