JP2008065377A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2008065377A JP2008065377A JP2006239279A JP2006239279A JP2008065377A JP 2008065377 A JP2008065377 A JP 2008065377A JP 2006239279 A JP2006239279 A JP 2006239279A JP 2006239279 A JP2006239279 A JP 2006239279A JP 2008065377 A JP2008065377 A JP 2008065377A
- Authority
- JP
- Japan
- Prior art keywords
- microcomputer
- controller
- address
- register
- signal
- 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
Links
Images
Abstract
【課題】 マイクロコンピュータからI/Oコントローラへアクセスする周期の短縮化を図る。
【解決手段】 マイクロコンピュータ100は、I/Oコントローラ300の固有のアドレスを持つレジスタにアクセスする時は、マイクロコンピュータの出力する固有のアドレスをインターフェース回路200を介してI/Oコントローラに入力し、同一のアドレスを持つレジスタにアクセスする時は、マイクロコンピュータから出力する複数のアドレスをインターフェース回路200によって同一のアドレスに変換してI/Oコントローラに入力する。
【選択図】 図1
【解決手段】 マイクロコンピュータ100は、I/Oコントローラ300の固有のアドレスを持つレジスタにアクセスする時は、マイクロコンピュータの出力する固有のアドレスをインターフェース回路200を介してI/Oコントローラに入力し、同一のアドレスを持つレジスタにアクセスする時は、マイクロコンピュータから出力する複数のアドレスをインターフェース回路200によって同一のアドレスに変換してI/Oコントローラに入力する。
【選択図】 図1
Description
本発明は、情報処理装置に関し、特にマイクロコンピュータとI/Oコントローラのインターフェースに関する。
近年、CDやDVDドライブなどの読出し/書込み速度が年々増加している。結果として、たとえば読出し時には、CDやDVDフォーマットの解読処理と誤り訂正信号処理などを行うシステムLSIの処理能力の向上が求められている。また、読出し/書込み速度の高速化を実現するためには、信号処理回路などのI/Oコントローラの高速化に加えて、システムLSIの中核部であって全体の制御を行うマイクロコンピュータの処理速度の向上が必要とされている。
マイクロコンピュータの処理速度の向上は、クロックの高速化とともにマイクロコンピュータが処理するデータビットを長くすることで実現される。しかし、このようなマイクロコンピュータは、使用される組込みシステムのコスト制約が厳しいため、レジスタや演算回路や内部バスで取り扱われるデータビットを長くして処理性能の向上を図る場合でも、従来のマイクロコンピュータとの互換性を維持することを考慮して、命令セットの上位互換性を実現したアーキテクチャとすることが多い。その結果、従来のマイクロコンピュータで開発されたプログラムを継続して利用することができて、設計資産の活用が図られ、これによりシステム開発期間の短縮や開発コストの削減が実現される。
更に、このようなマイクロコンピュータは、I/Oポートに接続されるバス構成においても、ダイナミックバスサイジング機能をバスインターフェース部に設けて、メモリなどを含む周辺回路へのアクセスを多ビット幅で行ってデータ転送能力の向上を図るとともに、従来から使用している周辺回路のインターフェース部を改造することのないバスアクセスを可能としている(例えば、非特許文献1を参照。)。その結果、従来のシステムで開発した周辺回路を継続して利用することができて、設計資産の活用が図られ、これによりシステム開発期間の短縮や開発コストの削減が実現される。
一方、CDやDVDドライブでも読出し/書込みするデータ量が増加し、またCDやDVDドライブを制御するI/Oコントローラのデータ量が増加している。そのため、その読出し/書込みするデータの位置指定情報のアドレス長を大きくする必要がある。しかしながら、I/Oインターフェースの拡張仕様の設計にあたっては、互換性を維持するため、同一I/Oアドレスを用いて複数回の読出し/書込みを行うようにすることが行われている(例えば、非特許文献2を参照。)。
また非特許文献2では、拡張したI/Oインターフェース仕様に対応したI/Oコントローラ内のマイクロコンピュータによってアクセスされるレジスタは、スタック動作してデータの送受信を行なう。そして、I/OコントローラがCDやDVDドライブなどを制御する場合は、スタック構造のレジスタを連結してビットの長いコマンドレジスタやステータスレジスタとして使用している。
このように、CDやDVDドライブなどのシステム処理能力の向上や処理対象データ量の拡大に対応するための開発設計では、組込みシステムに求められるコスト制約が厳しいため、従来との互換性を維持するようにして、システム開発期間の短縮や開発コストの削減が実現される。
更にまた、このような組込みシステムのコスト制約を解決するため、マイクロコンピュータのバッファメモリの管理制御では、バッファメモリコントローラ内にアドレス変換回路を設けて、必要なアドレスをハードウェア的に生成するようにして、マイクロコンピュータの負荷を軽減する技術が提案されている(例えば、特許文献1参照。)。
以上説明したように、CDやDVDドライブの高倍速化の発展に従いデータレートが高くなっても、開発コストの増加や開発効率の低下を最小限にするようにしながら、マイクロコンピュータやI/Oコントローラの処理能力向上が図られて来た。しかしながら、DVDドライブの機構制御やデータ処理機能にあっては、一定データ単位ごとにマイクロコンピュータがI/Oコントローラからのステータスを元に実行内容を決定して、コマンド設定により指示するために、マイクロコンピュータからI/Oコントローラへのアクセス周期を短くする必要がある。アクセス周期を短縮する方法として、マイクロコンピュータに内蔵または外付けされたDMA回路によってI/Oコントローラをアクセスする方法があるが、この場合、従来の制御プログラムの修正を行なう必要があり、開発期間が長くなる問題があった。
特開2001−325077号公報 (第3頁、図1)
"TLCS−900/L1シリーズ共通マニュアル 第3章 TLCS−900/L1 CPU"、[online]、平成14年2月6日、東芝セミコンダクター社、[平成17年11月21日検索]、インターネット<URL:http://www.semicon.toshiba.co.jp/prd/micro/td/900family/900l1/kyoutu/pdf/900l1_chap3_cpu.pdf>、32ページ
インターフェース編集部編「ATA(IDE)/ATAPIの徹底研究」CQ出版株式会社、2001年10月1日発行、46頁
本発明は、上記問題を解決するためになされたもので、マイクロコンピュータからI/Oコントローラへアクセスする時、個別のI/OポートをアクセスしてI/Oコントローラを制御することを可能としながら、少ない付加回路でマイクロコンピュータからI/Oコントローラへのアクセス周期の短縮化を実現するインターフェース回路を有する情報処理装置を提供することを目的とする。
上記目的を達成するために、本発明の情報処理装置は、マイクロコンピュータと、固有のアドレスをそれぞれ持つ複数のNビットレジスタおよび同一アドレスを持つ2個以上のNビットレジスタを有するI/Oコントローラと、前記マイクロコンピュータと前記I/Oコントローラ間を接続するNビットのデータラインと、前記マイクロコンピュータから前記I/Oコントローラの前記レジスタをアクセスするために出力されたアドレスを変換して前記I/Oコントローラに出力するインターフェース回路と、を備え、前記Nビットレジスタをアクセスするとき、前記マイクロコンピュータから出力された前記Nビットレジスタが持つ固有のアドレスを前記インターフェース回路を介して前記I/Oコントローラへ出力し、前記2個以上のNビットレジスタをアクセスするとき、前記マイクロコンピュータから出力された複数アドレスを前記インターフェース回路によって前記同一アドレスに変換して前記I/Oコントローラに出力することを特徴とする。
本発明によれば、マイクロコンピュータからI/Oコントローラへアクセスする時、個別のI/OポートをアクセスしてI/Oコントローラを制御することを可能としながら、少ない付加回路でマイクロコンピュータからI/Oコントローラへのアクセス周期の短縮化を実現することができる。
以下、本発明の実施例を説明する。
本発明の実施例に係る情報処理装置を、図1乃至図9を参照して説明する。
図1は、本発明の実施例に係るインターフェース回路を有する情報処理装置のシステム構成を示すブロック図である。図2は、本発明の実施例に係るインターフェース回路の構成を示すブロック図である。図3は、実施例のI/Oコントローラのレジスタ構成を示す構成図である。図4は、実施例のI/Oコントローラのレジスタ1にアクセスする命令列とアクセス動作を示す図である。図5は、図4に示す命令列を実行した時のアクセス動作を示す動作波形図である。図6は、実施例のI/Oコントローラのレジスタ2、3、4、5にアクセスする命令とアクセス動作を示す図である。図7は、図6に示す命令を実行した時のアクセス動作を示す動作波形図である。図8は、実施例のインターフェース回路でアドレス変換を行ってI/Oコントローラのレジスタ1にアクセスする命令とアクセス動作を示す図である。図9は、図8に示す命令を実行した時のアクセス動作を示す動作波形図である。
図1に示す本発明の実施例に係る情報処理装置1は、プログラムを実行するマイクロコンピュータ100と、マイクロコンピュータ100から出力されるアドレスADRをチップイネーブル信号CE1/CE2に従ってアドレス変換するインターフェース回路200と、図示されないI/O制御ブロックをコントロールするI/Oコントローラ300から構成される。
マイクロコンピュータ100から出力される例えば下位10ビットのアドレス信号A[0:9](アドレス信号のビット位置情報を含めてA[0:9]と示す)とチップイネーブル信号CE1およびチップイネーブル信号CE2は、インターフェース回路200に入力される。また、インターフェース回路200から出力される例えば8ビットの変換後のアドレス信号A[0:7]とチップイネーブル信号CEは、I/Oコントローラ300に入力される。例えば8ビットのデータ信号D[0:7]、リード信号R、ライト信号W、ビジー信号BSYは、マイクロコンピュータ100とI/Oコントローラ300にとの間に接続されて、マイクロコンピュータ100とI/Oコントローラとの間のコマンドやステータスデータのデータ転送に使用される。以下の説明では、ビジー信号BSYがアクティブとなって、データ入出力動作が待たされる例は省略している。
この実施例では、マイクロコンピュータ100は、例えば32ビットアーキテクチャのマイクロコンピュータで、内部バスおよび内部レジスタが32ビットで構成される高性能なマイクロコンピュータである。またマイクロコンピュータ100は、外部バス幅に柔軟に対応できるダイナミックバスサイジング機能を持っている。また、I/Oコントローラ300は、後述するレジスタR11乃至R51を内蔵し、8ビットのデータバスで入出力を行うマイクロコンピュータに対応したインターフェース構成となっている。なお、本発明の構成はこれに限定されるものではなく、例えば64ビットのマイクロコンピュータと16ビットのI/Oコントローラの構成であっても良い。
図2は、インターフェース回路200の内部構成を示す。インターフェース回路200は、アドレス信号A[0:9]が分岐して入力され、2入力1出力のセレクタからなる選択回路210と、チップイネーブル信号CE1、CE2が入力されるOR回路220から構成される。
すなわち、マイクロコンピュータ100から出力される下位10ビットのアドレス信号A[0:9]のうち、下位8ビットA[0:7]が選択回路210の一方のデータ入力に入力され、A[2:9]で示される8ビットが選択回路210の他方のデータ入力に入力される。
選択回路210は、入力されたアドレス信号A[0:7]とアドレス信号A[2:9]のいずれか一方をマイクロコンピュータ100からのチップイネーブル信号CE2により選択して、8ビット幅の変換後のアドレス信号A[0:7]としてI/Oコントローラ300に出力する。ここでは、選択回路210は、チップイネーブル信号CE2がhighの時はアドレス信号A[0:7]を選択し、Lowの時はアドレス信号A[2:9]を選択するように動作する。
OR回路220は、マイクロコントローラ100からのチップイネーブル信号CE1とチップイネーブル信号CE2をORして、チップイネーブル信号CEとしてI/Oコントローラ300に出力する。
図3は、I/Oコントローラ300に内蔵するレジスタの構成を示す。図3(A)は、マイクロコンピュータ100がI/OコントローラのレジスタR11乃至R51にデータ書込みをする時に転送されるアドレスと、レジスタR11乃至R51にセットされるデータの深さ方向の関係を示す。また、図3(B)は、I/Oコントローラが図示しないI/O制御ブロックにデータ転送する時のデータを記憶するレジスタR11乃至R51の構成を示す。なお、ここでI/O制御ブロックとは、例えばDVDシステムのピックアップやモータなどの機構制御ICや、ピックアップを介して入出力する信号処理制御ICや、バッファ管理ICなどがある。それらのI/O制御ブロックとI/Oコントローラ300の間は、ローカル仕様のバスで接続されている。
図3のレジスタ構成を、更に詳しく説明する。レジスタR11乃至R14、R21、R31、R41、R51は、それぞれ8ビットのレジスタである。そして、レジスタR11乃至R14は、共通した同一アドレスでアクセスされるが、レジスタR21,R31,R41,R51は、それぞれ固有のアドレスでアクセスされる。
例えば、マイクロコンピュータ100からI/Oコントローラ300へのデータ転送(書き込み)において、アドレス0x30(0xは16進表示であることを示す)によってレジスタR11乃至R14に各8ビットのデータが4段のスタック動作でセットされる。また、アドレス0x40によってレジスタR21にデータがセットされる。また、アドレス0x41によってレジスタR31にデータがセットされる。また、アドレス0x42によってレジスタR41にデータがセットされる。更に、0x43によってレジスタR51にデータがセットされる。
レジスタR11乃至R14のスタック動作とは、マイクロコンピュータ100からI/Oコントローラ300へのアドレス0x30と共に転送されるデータ転送において、第1データの転送ではレジスタR11にセットされ、第2データの転送ではレジスタR12にセットされ、第3データの転送ではレジスタR13にセットされ、第4データの転送ではレジスタR14にセットされる。
そして、図3(B)に示す通り、I/O制御ブロックにおける制御動作では、レジスタR11乃至R14によって32ビット長のデータが構成されて出力され、他のレジスタR21、R31、R41、R51からはそれぞれ8ビット長のデータが出力される。
次に、図4乃至図9を参照しながら、マイクロコンピュータ100が命令を実行してI/Oコントローラ300の各レジスタからデータを読み出す時のインターフェース回路200の動作の詳細を説明する。
図4は、マイクロコンピュータ100がI/Oコントローラ300のレジスタR11乃至R14から32ビット長のデータを読出し、マイクロコンピュータ100のレジスタに読み込む動作((41)〜(51))の11個の命令(ニーモニック)列と、I/Oコントローラ300の動作を示したものである。
まず、マイクロコンピュータ100は、I/Oコントローラ300のレジスタR11乃至R14を読み出すためにアドレス0x30を出力すると共に、チップイネーブル信号CE1をアクティブ(Low)にする。
図5は、11の命令列に対応する各信号のタイミング図である。第1サイクルで、マイクロコンピュータ100がニーモニック命令41を実行すると、第2サイクルで、マイクロコンピュータ100は、チップイネーブル信号CE1とリード信号Rをアクティブ(Low)として出力し、アドレス信号ADRに0x030を出力する。インターフェース回路200のOR回路220は、チップイネーブル信号CE1がLowであるので、チップイネーブル信号CEをLowとしてI/Oコントローラ300に出力する。同時に、チップイネーブル信号CE2がHighであるので、選択回路210は下位8ビットのアドレス信号A[0:7](即ち、アドレス信号0x30)を選択し、I/Oコントローラ300に出力する。
その結果、I/Oコントローラ300は、アドレス0x30であるレジスタR11の内容を読み出し、データ信号Dを介してマイクロコンピュータ100に出力する。マイクロコンピュータ100は、第2サイクルの終了時には、データ信号Dに出力されたレジスタR11の内容を内部レジスタ1に読み込み、その後チップイネーブル信号CE1とリード信号RをHighにするとともに、アドレス信号0x030の出力を停止する。I/Oコントローラ300もチップイネーブル信号CEがHighとなるため、データ信号Dのドライブを停止する。
第3サイクルでは、ニーモニック命令42が実行され、内部レジスタ1に読み込んだレジスタR11の内容をマイクロコンピュータ100の内部レジスタ2に保存する処理が行われる。
続いて、第4サイクルでは、ニーモニック命令43が実行される。ニーモニック命令43は、上記ニーモニック命令41と同一処理が実行される。そして、続く第5サイクルでI/Oコントローラ300のレジスタR12の内容が読み出され、マイクロコンピュータ100の内部レジスタ1に読み込まれる。
続く第6サイクルでは、ニーモニック命令44が実行される。この命令によりマイクロコンピュータ100の内部レジスタ1の内容が左に8ビットシフトされる。
続く第7のサイクルでは、第3サイクルと同じニーモニック実行45が行われて、内部レジスタ1に読み込んだレジスタR12の内容がマイクロコンピュータ100の内部レジスタ2に保存される。この結果、内部レジスタ2には、レジスタR12とR11の内容が保存されることになる。
以下、第8サイクル〜第11サイクルの動作、および第12サイクル〜第15サイクルの動作は、上述した第4サイクル〜第7サイクルまでの動作と同じ動作が実行される。各動作間で異なるのは、I/Oコントローラ300から読み出される内容がレジスタR13、R14であり、先に読み込んだデータを左シフトする量が16ビット、24ビットである点である。このようにしてマイクロコンピュータ100の内部レジスタ2にI/Oコントローラ300のレジスタR14、R13、R12、R11の内容が読み出されたことになる。
図6は、マイクロコンピュータ100がI/Oコントローラ300の8ビット長のレジスタR21、R31、R41、R51の内容を読出し、マイクロコンピュータ100の内部レジスタに読み込む動作を1つの命令61で実行する場合の命令と、マイクロコンピュータ100とI/Oコントローラ300の動作を示したものである。
この1つの命令61でアクセスする場合、I/Oコントローラ300の各レジスタR21乃至R51のアドレスが0x40、0x41、0x42、0x43であるため、マイクロコンピュータ100は、アドレス信号A[0:9]に0x040、0x041、0x042、0x043を出力すると共に、チップイネーブル信号CE1をアクティブ(Low)にする。また、命令61が32ビット長であるのに対しI/Oコントローラ300からの読み出しが8ビット単位であるので、マイクロコンピュータ100のダイナミックバスサイジング機能がバスインターフェース部101で動作する。
図7は、命令61を実行する場合の各信号のタイミング図を示す。第1サイクルで、マイクロコンピュータ100がニーモニック命令61を実行すると、第2サイクルで、マイクロコンピュータ100は、チップイネーブル信号CE1とリード信号Rをアクティブ(Low)とし、アドレス信号に0x040を出力する。
インターフェース回路200のOR回路220は、チップイネーブル信号CE1がLowであるので、チップイネーブル信号CEをLowとしてI/Oコントローラ300に出力する。また同時に、チップイネーブル信号CE2がHighであるので、選択回路210から下位8ビットのアドレス信号A[0:7]が選択され、そのアドレス信号0x40をI/Oコントローラ300に出力する。その結果、I/Oコントローラ300は、アドレス0x40のレジスタR21の内容を読み出し、データ信号Dを介してマイクロコンピュータ100に出力する。
マイクロコンピュータ100は、第2サイクルの終了時には、データ信号Dに出力されたレジスタR21の内容をマイクロコンピュータ100内のダイナミックバスサイジング機能を実現するバスインターフェース部101に読み込み保存する。その後、マイクロコンピュータ100は、チップイネーブル信号CE1やリード信号をHighにするとともに、アドレス信号A[0:9]の出力が停止する。また、I/Oコントローラ300もチップイネーブル信号CEがHighとなるため、データ信号Dの出力を停止する。
続く第3サイクルでは、マイクロコンピュータ100のバスインターフェース部101でダイナミックバスサイジング動作が行われる。同時に、マイクロコンピュータ100は、チップイネーブル信号CE1とリード信号Rをアクティブ(Low)とすると共に、アドレスを+1増加させてアドレス信号0x041を出力する。
インターフェース回路200のOR回路220は、チップイネーブル信号CE1がLowであるので、チップイネーブル信号CEをLowとしてI/Oコントローラ300に出力し、また選択回路210からはチップイネーブル信号CE2がHighであるので、下位8ビットのアドレス信号A[0:7]が選択され、そのアドレス信号0x41がI/Oコントローラ300に出力される。その結果、I/Oコントローラ300は、アドレス0x41のレジスタR31の内容を読み出し、データ信号Dを介してマイクロコンピュータ100に出力する。
マイクロコンピュータ100は、第3サイクルの終了時には、データ信号Dに出力されたレジスタR31の内容を内部のダイナミックバスサイジング機能を実現するバスインターフェース部101に読み込み保存する。同時にチップイネーブル信号CE1とリード信号をHighにすると共に、アドレス信号A[0:9]の出力を停止する。また、I/Oコントローラ300も、チップイネーブル信号CEがHighとなるためデータ信号Dへの出力を停止する。
続く第4および第5サイクルにおいても第3サイクルと同様にI/Oコントローラ300へのアクセスが行われて、アドレス0x42、0x43を持つレジスタR41、レジスタR51の内容がそれぞれ読み取られ、マイクロコンピュータ100内のバスインターフェース部101に読み込まれる。そして、第5サイクルにおいては、バスインターフェース部101に保存された内容がマイクロコンピュータ100の内部レジスタ102(この命令61の場合は内部レジスタ1)へと転送される。
図8は、マイクロコンピュータ100がI/Oコントローラ300のレジスタR11乃至R14に記憶された32ビット長の内容を読出してマイクロコンピュータに読み込むための1命令81とI/Oコントローラ300の動作を示したものである。
この命令81でアクセスする場合、I/Oコントローラ300のレジスタR11乃至R14のアドレスが0xC0、0xC1、0xC2、0xC3であるため、マイクロコンピュータ100は、アドレス信号A[0:9]に0x0C0、0x0C1、0x0C2、0x0C3を出力すると共に、チップイネーブル信号CE2をアクティブ(Low)にする。また、命令81が32ビット長であり、I/Oコントローラ300からの読み出しが8ビット単位であるので、マイクロコンピュータ100はダイナミックバスサイジング機能による動作をバスインターフェース部101で行う。
図9は、命令81を実行する場合の各信号のタイミング図を示す。第1サイクルでマイクロコンピュータ100がニーモニック命令81を実行すると、第2サイクルで、マイクロコンピュータ100は、チップイネーブル信号CE2とリード信号Rをアクティブ(Low)として出力し、またアドレス信号0x0C0をI/Oコントローラ300に出力する。
インターフェース回路200のOR回路220は、チップイネーブル信号CE2がLowであるので、Lowのチップイネーブル信号CEを出力すると共に、選択回路210からはチップイネーブル信号CE2がLowであるのでアドレス信号A[2:9]が選択され、アドレス0x0C0を下位方向に2ビットシフトしたアドレス0x30を出力する。即ち、アドレス0x0C0=”0011000000”を下位方向に2ビットシフトすると、”00110000”=0x30に変換されたことになる。
その結果、I/Oコントローラ300は、アドレス0x30を持つ第1のレジスタR11の内容を読み出し、データ信号Dを介してマイクロコンピュータ100に出力する。マイクロコンピュータ100は、第2サイクルの終了時には、データ信号Dに出力されたレジスタR11の内容を内部のダイナミックバスサイジング機能を実現するバスインターフェース部に読み込み保存する。同時に、チップイネーブル信号CE2とリード信号RをHighにすると共に、アドレス信号Aの出力を停止する。また、I/Oコントローラ300もチップイネーブル信号CEがHighとなるため、データ信号Dの出力を停止する。
続く第3サイクルでは、マイクロコンピュータ100は、ダイナミックバスサイジング機能によってチップイネーブル信号CE2とリード信号Rをアクティブ(Low)とすると共に、アドレスを+1増加したアドレス信号0x0C1をI/Oコントローラ300に出力する。
インターフェース回路200のOR回路220は、チップイネーブル信号CE2がLowであるので、Lowのチップイネーブル信号CEを出力すると共に、選択回路210からはアドレス0x0C1(二進数”0011000001”)を下位に2ビットシフトしたアドレス0x30(二進数”00110000”を出力する。その結果、I/Oコントローラ300は、アドレス0x30を持つ第2のレジスタR12の内容を読み出し、データ信号Dを介してマイクロコンピュータ100に出力する。
マイクロコンピュータ100は、第3サイクルの終了時には、データ信号Dに出力されたレジスタR11の内容を内部のダイナミックバスサイジング機能を実現するバスインターフェース部101に読み込み保存する。また同時に、チップイネーブル信号CE2とリード信号RをHighにすると共に、アドレス信号Dの出力を停止する。また、I/Oコントローラ300もチップイネーブル信号CEがHighとなるため、データ信号Dへの出力を停止する。
続く第4および第5のサイクルにおいても第3のサイクルと同様の動作にて、I/Oコントローラ300のレジスタR13、R14に対する読み取りアクセスが行われる。そして、この2つのサイクルではアドレス0xC2、0xC3がそれぞれ出力されるが、インターフェース回路200の選択回路210による選択出力で同じアドレス0x30が生成されてI/Oコントローラ300に出力される。I/Oコントローラ300はアドレス0x30を持つ第3のレジスタR13、第4のレジスタR14の内容が順次読み出されて、データ信号Dを介してマイクロコンピュータ100に出力される。そして、マイクロコンピュータ100内のバスインターフェース部に読み込まれる。なお、第5サイクルにおいては、マイクロコンピュータ100内でバスインターフェース部101に保存された内容が内部レジスタ102(この命令81の場合は内部レジスタ1)に転送される。
このようにして、マイクロコンピュータ100は、インターフェース回路200を設けることでI/Oコントローラ300のレジスタとマイクロコンピュータ100のレジスタの間で32ビット長のデータの入出力を図8に示したような命令で行えるようになり高速なアクセスが可能となる。
図4で示した命令列でI/Oコントローラ300のレジスタR11乃至R14をスタック動作させて4回の8ビット単位でのアクセスが行えるので、マイクロコンピュータ100が実行するI/Oコントローラ300の制御プログラムにおいて、I/Oコントローラ300のレジスタR11乃至R14へのアクセス頻度の短縮が必要な箇所のみ命令列を書き換えることで、I/Oコントローラ300の制御対象のI/O制御ブロックの動作の高速化に対応可能となるとともに過去の設計資産を利用することができるのでプログラムの開発効率も向上する。
本発明は、上記実施例に限定されるものではなく、発明の要旨を逸脱しない範囲で、種々、変形して実施できることは勿論である。
例えば、図2のインターフェース回路200にI/Oコントローラ300のスタック構造のレジスタのアドレスを生成する回路を選択回路210のデータ入力側に設け、チップイネーブル信号CE2がアクティブの時は、その生成回路からのアドレスを変換後のアドレス信号として出力するようにしてもよい。この場合は、インターフェース回路200に入力するアドレス信号本数を減らすことができ、また、チップイネーブル信号CE2をアクティブにするアドレスを未使用の任意のアドレスから選ぶことができてプログラムの開発が容易になる。
1 情報処理装置
100 マイクロコンピュータ
101 バスインターフェース
102 内部レジスタ
200 インターフェース回路
210 選択回路
220 OR回路
300 I/Oコントローラ
100 マイクロコンピュータ
101 バスインターフェース
102 内部レジスタ
200 インターフェース回路
210 選択回路
220 OR回路
300 I/Oコントローラ
Claims (3)
- マイクロコンピュータと、
固有のアドレスをそれぞれ持つ複数のNビットレジスタおよび同一アドレスを持つ2個以上のNビットレジスタを有するI/Oコントローラと、
前記マイクロコンピュータと前記I/Oコントローラ間を接続するNビットのデータラインと、
前記マイクロコンピュータから前記I/Oコントローラの前記レジスタをアクセスするために出力されたアドレスを変換して前記I/Oコントローラに出力するインターフェース回路と、を備え、
前記Nビットレジスタをアクセスするとき、前記マイクロコンピュータから出力された前記Nビットレジスタが持つ固有のアドレスを前記インターフェース回路を介して前記I/Oコントローラへ出力し、
前記2個以上のNビットレジスタをアクセスするとき、前記マイクロコンピュータから出力された複数アドレスを前記インターフェース回路によって前記同一アドレスに変換して前記I/Oコントローラに出力する
ことを特徴とする情報処理装置。 - 前記マイクロコンピュータから1命令で前記I/Oコントローラの前記2個以上のNビットレジスタを連続してアクセスすることを可能とした請求項1に記載の情報処理装置。
- 前記インターフェース回路は、前記マイクロコンピュータから出力された前記複数アドレスを少なくとも1ビット以上を下位シフトして前記同一アドレスに変換することを特徴とする請求項1に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006239279A JP2008065377A (ja) | 2006-09-04 | 2006-09-04 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006239279A JP2008065377A (ja) | 2006-09-04 | 2006-09-04 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008065377A true JP2008065377A (ja) | 2008-03-21 |
Family
ID=39288077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006239279A Pending JP2008065377A (ja) | 2006-09-04 | 2006-09-04 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008065377A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6037029B2 (ja) * | 2013-09-20 | 2016-11-30 | 富士通株式会社 | データ転送装置、情報処理装置及びio制御方法 |
-
2006
- 2006-09-04 JP JP2006239279A patent/JP2008065377A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6037029B2 (ja) * | 2013-09-20 | 2016-11-30 | 富士通株式会社 | データ転送装置、情報処理装置及びio制御方法 |
JPWO2015040750A1 (ja) * | 2013-09-20 | 2017-03-02 | 富士通株式会社 | データ転送装置、情報処理装置及びio制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5431003B2 (ja) | リコンフィギュラブル回路及びリコンフィギュラブル回路システム | |
JP4836488B2 (ja) | データ転送装置及び半導体集積回路装置 | |
WO2009057955A2 (en) | Apparatus for controlling nand flash memory | |
US20110283042A1 (en) | Transaction splitting apparatus and method | |
JP2008090419A (ja) | 集積回路装置 | |
US20080034132A1 (en) | Memory interface for controlling burst memory access, and method for controlling the same | |
JP2011060162A (ja) | メモリ制御装置 | |
CN101313290B (zh) | 对仅m×n位外围设备执行n位写入访问的系统和方法 | |
JP5856434B2 (ja) | バス接続回路、半導体装置及びバス接続回路の動作方法 | |
JP2008033721A (ja) | Dma転送制御装置 | |
JP6378775B2 (ja) | 再構成可能デバイス | |
JP2008065377A (ja) | 情報処理装置 | |
CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
JPH0844560A (ja) | メモリ制御回路とその回路を内蔵した集積回路素子 | |
JP2010061498A (ja) | メモリ制御装置、半導体試験装置およびメモリ制御方法 | |
JP2012014436A (ja) | ダイレクトメモリアクセス制御装置及び方法 | |
JP5132612B2 (ja) | データ転送方法および装置 | |
JP5025521B2 (ja) | 半導体装置 | |
JPWO2010029682A1 (ja) | 情報処理装置 | |
JP2008003867A (ja) | マイクロコンピュータ | |
JP2007034404A (ja) | 情報処理システム及びメモリ制御装置 | |
JP2011103025A (ja) | データ入出力装置およびそれを用いたデータ処理装置 | |
JP2010092342A (ja) | インターフェース回路 | |
US9274794B2 (en) | Processor and instruction processing method in processor | |
JP3717813B2 (ja) | データ処理装置 |