JP2012014397A - 入出力制御装置、及び情報処理装置 - Google Patents

入出力制御装置、及び情報処理装置 Download PDF

Info

Publication number
JP2012014397A
JP2012014397A JP2010149872A JP2010149872A JP2012014397A JP 2012014397 A JP2012014397 A JP 2012014397A JP 2010149872 A JP2010149872 A JP 2010149872A JP 2010149872 A JP2010149872 A JP 2010149872A JP 2012014397 A JP2012014397 A JP 2012014397A
Authority
JP
Japan
Prior art keywords
data
address
output
storage device
arithmetic processing
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
JP2010149872A
Other languages
English (en)
Inventor
Kiyoshi Miyazaki
清志 宮▲崎▼
Osamu Watanabe
修 渡辺
Masao Iseki
正夫 井跡
Manabu Takahashi
学 高橋
Takanobu Akiba
孝信 秋庭
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010149872A priority Critical patent/JP2012014397A/ja
Priority to US13/159,235 priority patent/US20120005438A1/en
Publication of JP2012014397A publication Critical patent/JP2012014397A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

【課題】未使用の記憶領域の生成を防ぐ
【解決手段】第1処理装置、第2処理装置、第1記憶装置、及び第2記憶装置に対してデータを入出力する入出力制御装置であって、第1処理装置が出力する第1データを分割するデータ分割部と、分割した第1データを、第1記憶装置及び第2記憶装置にそれぞれ格納するとともに、第2処理装置が出力し且つ第1データよりビット数が少ない第2データを、第1記憶装置及び第2記憶装置の何れか1つに格納する格納制御部と、を備える入出力制御装置が提供される。
【選択図】図2

Description

この出願で言及する実施例は、入出力制御装置、及び情報処理装置に関する。
CPU(Central Processing Unit)と主記憶装置との間のデータの入出力を制御するメモリアクセス制御装置が知られている。メモリアクセス制御装置は、CPU及び主記憶装置と共に、情報処理装置に含まれる。
情報処理装置には、主記憶装置への出力データのビット数が互いに異なる2つのCPUを備えるものがある。
特開平4−359335号公報
ビット数が異なるCPUの出力データを主記憶装置に格納する場合、主記憶装置は、大きなビット数に合わせて構成されるか、又は、小さなビット数に合わせて構成される。大きなビット数に合わせて構成される主記憶装置が、小さなビット数のデータを格納する場合、主記憶装置に未使用の記憶領域が生じる。
また、ビット数の小さなデータを格納するように構成される主記憶装置は、大きなビット数のデータの一部を格納できない。そのため、大きなビット数を出力するCPUは、主記憶装置に格納されるビット範囲に演算結果を含むようにデータを生成するので、CPUの機能を最大限に使用することができない。
一実施形態によれば、演算処理を実行して、第1データを出力する第1処理装置、演算処理を実行して、前記第1データよりビット数が少ない第2データを出力する第2処理装置、第1記憶装置、及び第2記憶装置に対してデータを入出力する入出力制御装置であって、データ分割部と、格納制御部と、を備える入出力制御装置が提供される。前記データ分割部は、前記第1処理装置が出力する第1データを分割する。前記格納制御部は、前記分割した第1データを、前記第1記憶装置及び前記第2記憶装置にそれぞれ格納するとともに、前記第2処理装置が出力する第2データを、前記第1記憶装置及び前記第2記憶装置の何れか1つに格納する。
開示の入出力制御装置は、出力ビット数が互いに異なる複数の演算処理装置から出力されるデータを全て主記憶装置に格納するとともに、未使用の記憶領域の生成を防ぐことができるという効果を奏する。
情報処理装置の一例を示す図である。 入出力制御装置の一例を示す図である。 演算処理装置出力アドレスのデータフォーマットの一例を示す図である。 演算処理装置出力アドレスと、主記憶装置のアドレスとの関係の一例を示す図である。 変換アドレスにより特定される主記憶装置の記憶領域の一例を示す図である。 演算処理装置のアドレスにより特定される主記憶装置の記憶領域の一例を示す図である。
以下、図面を参照して、情報処理装置と、入出力制御装置について説明する。まず、図1を用いて、情報処理装置について説明する。
<1.情報処理装置の詳細>
図1は、情報処理装置の一例を示す図である。図1において、参照符号10は情報処理装置を示す。図1に示すように、情報処理装置10は、演算処理装置40A、演算処理装置40B、入出力制御装置50、及び主記憶装置70A、70Bを有する。情報処理装置10はさらに、通信部33、音声出力部35、画像表示部37、及び入力部38を有する。演算処理装置40A及び40Bは、入出力制御装置50を介して、主記憶装置70A及び70Bに対するデータの入出力を行う。情報処理装置10は、例えば、サーバ、パーソナルコンピュータ、又は、無線通信を送受信可能な携帯端末である。
<1.1 演算処理装置>
演算処理装置40Aは、命令実行部41A、レジスタ42A、キャッシュメモリ43A、及びコントローラ44Aを含む。演算処理装置40Bは、命令実行部41B、レジスタ42B、キャッシュメモリ43B、及びコントローラ44Bを含む。演算処理装置40A及び40Bは、例えば、CPUである。
演算処理装置40Aが主記憶装置70A及び70Bに対して入出力するデータのビット数である外部データバス幅は、演算処理装置40Bの外部データバス幅より広い。例えば、演算処理装置40Aの外部データバス幅は、64ビットであり、演算処理装置40Bの外部データバス幅は、32ビットである。なお、以下において、演算処理装置40Aの外部データバス幅を64ビット、演算処理装置40Bの外部データバス幅を32ビットとして説明するが、外部データバス幅は、これらのビット数に限定されない。
演算処理装置40A及び演算処理装置40Bは、主記憶装置70A及び70Bにおいてそれぞれ異なるアドレス空間にアクセスする。そのため、演算処理装置40A及び40Bの一方は、出力するデータのアドレスを、演算処理装置40A及び40Bのうち他方の演算処理装置と相違するように生成する。なお、図4を用いて後述するように、演算処理装置40A及び40Bが出力するアドレスは、主記憶装置70A及び70Bにおいて未使用の記憶領域の生成を回避するために、入出力制御装置50によって、主記憶装置70A及び70Bの物理アドレスに変換される。
演算処理装置40A又は40Bの命令実行部41A又は41Bは、主記憶装置70A又は70Bに格納されるプログラムを実行することで、所定の機能を実現する。
レジスタ42A又は42Bは、命令実行部41A又は41Bの計算結果としてのデータ、主記憶装置70A又は70Bに読み書きする際のアドレス、命令実行部41A又は41Bの動作状態などを記憶する記憶装置である。
データを格納するレジスタのデータバス幅は、演算処理装置40A又は40Bのデータ信号線c11、c21の外部データバス幅に関連する。例えば、演算処理装置40A又は40Bのレジスタのデータバス幅は、外部データバス幅と同じである。
キャッシュメモリ43A、43Bは、主記憶装置70A又は70Bに格納されるデータ又は命令のうち、命令実行部41A、41Bにより頻繁に使用されるデータ又は命令を記憶する記憶装置である。
コントローラ44A、44Bは、主記憶装置70A又は70Bからキャッシュメモリ43A、43Bへの命令又はデータのロード、キャッシュメモリ43A、43Bから主記憶装置70A又は70Bへのデータのストアを制御するユニットである。コントローラ44A、44Bはさらに、命令実行部41A、41Bと、他のユニットとの接続を制御する。他のユニットは、命令実行部41Aの場合、画像表示部37、入力部38、音声出力部35である。他のユニットは、命令実行部41Bの場合、通信部33である。コントローラ44A、44Bは、例えば、PCI Express(Peripheral Component Interconnect Express)等の規格に従って他のユニットとの接続動作を行う。
演算処理装置40Aは、入力部38から受け取った入力信号に対して演算処理を行い、その結果を、画像表示部37から画像表示し、又は、音声出力部35から音声出力する。画像表示部37は、例えば、液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイである。入力部38は、例えば、キーパッドである。音声出力部35は、例えば、スピーカである。
演算処理装置40Aは、例えば、PCM形式のデジタル信号の音声信号を、アナログ信号に変換して、音声出力部35にアナログ信号を出力する。演算処理装置40Aはさらに、例えば、YUVやRGB形式の画像信号に基づき、画像表示部37を駆動するための表示駆動信号を生成して、画像表示部37に表示駆動信号を供給する。演算処理装置40Aはさらに、情報処理装置10のユーザが入力部38を操作することで生じる操作信号を受け取り、操作信号に基づいて演算処理を実行する。
演算処理装置40Bは、図1に示されるように、通信部33と接続する。通信部33は、映像又は音声データを含む無線信号を受信して、受信した無線信号から、デジタル信号である映像又は音声データを取得する。通信部33は、図示されない受信アンテナにより受信された電波から、A/D(アナログ/デジタル)変換や、フーリエ変換、逆拡散などのベースバンド処理を行った後に、特定の周波数帯域の電波を抽出する。演算処理装置40Bは、通信部33が外部から受け取った電波に対して、例えば、WCDMA(Wideband Code Division Multiple Access)等の無線アクセス方式に従って所定の符号化又は復号化処理を実行する。
<1.2 入出力制御装置>
入出力制御装置50は、データ信号線c11、c21を介して演算処理装置40A又は40Bに対してデータを入出力する。入出力制御装置50はさらに、アドレス信号線c12、c22を介して演算処理装置40A又は40Bから読出又は書込データのアドレスを受け取る。
一実施例において、主記憶装置70A又は70Bは、演算処理装置40Aが出力するデータを、1ラインのビット幅で格納することが出来ない。例えば、演算処理装置40Aの出力データのデータバス幅は64ビットで、主記憶装置70A及び70Bのキャッシュラインに記憶されるデータのビット幅は、32ビットである。そのため、入出力制御装置50は、演算処理装置40Aが出力する64ビットのデータを32ビットのデータに分割するとともに、一方の32ビットデータを、主記憶装置70Aに格納し、他方の32ビットデータを主記憶装置70Bに格納する。また、主記憶装置70A及び70Bは、演算処理装置40Bが出力する32ビットのデータをそれぞれ1ラインで格納することが出来る。そのため、入出力制御装置50は、演算処理装置40Bが出力する32ビットのデータを、主記憶装置70A及び主記憶装置70Bの何れか1つに格納する。
入出力制御装置50は、データバス信号線c31、c41を介してデータを、アドレスバス信号線c32、c42を介してアドレスを、主記憶装置70A又は70Bに対して入出力する。
なお、入出力制御装置50は、演算処理装置40Aの出力データを2つに分割して、一方のデータを主記憶装置70Aに、他方のデータを主記憶装置70Bに格納するとともに、演算処理装置40Bの出力データを、主記憶装置70A又は70Bに格納する。
<1.3 主記憶装置>
主記憶装置70A及び70Bは、半導体素子を利用して電気的にデータを記憶する装置であり、例えば、DRAM(Dynamic Random Access Memory)である。上記のように、主記憶装置70A又は70Bは、キャッシュメモリ43A又は43Bに格納されるデータ又は命令を包含する。
次に、図2〜図5Bを用いて、入出力制御装置50の詳細例について説明する。
<2 入出力制御装置の詳細>
図2は、入出力制御装置の一例を示す図である。入出力制御装置50は、入出力部51、データ分割部53、アドレス判別部54、切替アドレスレジスタ55、アドレスマスクレジスタ56、切替回路57、ゲート回路58、及び格納制御部59を有する。
<2.1 入出力部>
入出力部51は、演算処理装置40A及び40Bの何れかを指定して、データ及びアドレスの転送を許可するバス調停回路として動作する。入出力部51は、データ及びアドレスの転送を許可したデータ信号線c11、c21の何れか及びアドレス信号線c12、c22の何れかから、それぞれデータ及びアドレスを受け取る。
入出力部51は、演算処理装置40Aのデータバス幅で、演算処理装置40A及び演算処理装置40Bに対してデータの入出力を行う。演算処理装置40Aのデータバス幅が64ビット、及び演算処理装置40Bのデータバス幅が32ビットである場合、演算処理装置40Bは、64ビットの下位32ビットを用いて入出力部51に対してデータを入出力する。入出力部51は、演算処理装置40A又は40Bから受け取ったデータを、データ分割部53に出力する。なお、演算処理装置40Bの出力データは、64ビットの下位ビットとしたが、上位ビットとしてもよい。
このように、32ビットのデータを、64ビットのデータとして送信することで、演算処理装置40A及び40Bは、各々別々のデータ線を用意することなく、64ビットの共通データ線を用いて入出力制御装置50とのデータ入出力を行うことができる。
入出力部51は、受け取ったアドレスを、アドレス判別部54及び格納制御部59に出力する。演算処理装置40A及び演算処理装置40Bのアドレスのビット幅は、同じである。
図3は、アドレスの一例を示す図である。アドレス100は、演算処理装置40A及び演算処理装置40Bが出力するアドレスデータの共通フォーマットである。演算処理装置40A及び40Bがアクセスする主記憶装置70A及び70Bの記憶領域は互いに異なるので、演算処理装置40A及び40Bが出力するアドレスは、互いに異なる。
アドレスは、ビット番号0から31で示される32ビット(以下、「0:31」で表す)のビット列である。アドレスのビット番号0から27までの28ビット(0:27)は、主記憶装置のアドレスを特定するアドレスビット120である。アドレスのビット番号27から23までのビット(27:23)は、切替アドレス設定ビット110である。切替アドレス設定ビット110は、アドレスの出力元を識別するビット列であり、アドレスビット120の上位5ビットのビット列である。
<2.2 データ分割部>
図2に示すデータ分割部53は、受け取ったデータを、上位ビット部分と下位ビット部分とに分割する。演算処理装置40Aの出力データは64ビットであるので、データ分割部53は、分割した上位32ビットを切替回路57に、分割した下位32ビットをゲート回路58に出力する。また、上記のように、演算処理装置40Bの出力データは、64ビットのうち下位32ビットが演算処理装置40Bの出力データである。そのため、下位32ビットだけが切替回路57で受け取られ、主記憶装置70A又は70Bに記憶される。したがって、入出力部51から受け取った演算処理装置40Bの64ビットデータのうち、上位32ビットは使用されない。
<2.3 切替アドレスレジスタ及びアドレスマスクレジスタ>
切替アドレスレジスタ55は、切替アドレスを記憶する記憶回路である。切替アドレスは、演算処理装置40A又は40Bが出力したアドレスの一部のビット列と比較され、演算処理装置40Aから出力されたデータと、演算処理装置40Bから出力されたデータとを識別するために使用される。図3に示すように、切替アドレス130は、例えば、「00010」のビット列である。
アドレスマスクレジスタ56は、マスクビットを記憶する記憶回路である。マスクビットは、演算処理装置40A又は40Bが出力したアドレスの一部をマスクすることで、主記憶装置70A又は70Bのアドレスを生成するために使用されるビット列である。図3に示すように、マスクビット140は、例えば、「00000」のビット列である。後述の格納制御部59は、マスクビット140で、演算処理装置40Bのアドレスの切替アドレス設定ビット110をAND演算し、主記憶装置70A又は70B用の物理アドレスを生成する。
<2.4 アドレス判別部>
(1)出力元である演算処理装置の判別
アドレス判別部54は、入出力部51からアドレスを受け取ると、アドレスを出力した演算処理装置を判別するCPU判別信号Cと、演算処理装置40Bの出力データの格納先になる主記憶装置及び記憶領域を判別する主記憶判別信号Dを出力する。アドレス判別部54は、図3に示す切替アドレス設定ビット110と図3に示す切替アドレス130とを比較して、切替アドレス設定ビット110が、切替アドレス130以上であれば、データ及びアドレスの出力元は演算処理装置40Aと判断する。また、アドレス判別部54は、切替アドレス設定ビット110と切替アドレスとを比較して、切替アドレス設定ビット110が、切替アドレス130より小さければ、データ及びアドレスの出力元は演算処理装置40Bと判断する。
図4は、演算処理装置出力アドレスと、主記憶装置アドレスとの対応関係の一例を示す図である。対応関係を示す表150は、出力元演算処理装置と、アドレスビットと、切替アドレス設定ビットと、主記憶装置70Aのアドレスと、主記憶装置70Bのアドレスとの対応関係を示す。アドレスビットを示す列152に示すように、アドレスの出力元を示す列151が演算処理装置40Aである場合、アドレスビットは、「0x1000000」〜「0xFFFFFFF」である。また、アドレスの出力元演算処理装置が演算処理装置40Bである場合、アドレスビットは、「0x0000000」〜「0x07FFFFF」である。
列152に示すように、演算処理装置40Aから出力されるアドレスビットが、下限値「0x1000000」である場合、列153に示すように、アドレスビットの上位5ビットを示す切替アドレス設定ビットは、「00010」になる。また、演算処理装置40Aから出力されるアドレスが上限値「0xFFFFFFF」である場合、アドレスビットの上位5ビットを示す切替アドレス設定ビットは、「11111」になる。このように、演算処理装置40Aから出力されるデータの切替アドレス設定ビットは、「00010」〜「11111」になる。一方、切替アドレス130は、「00010」であるので、演算処理装置40Aから出力されるデータの切替アドレス設定ビットは、切替アドレス130以上である。よって、アドレス判別部54は、切替アドレス設定ビット110と切替アドレス130とを比較して、切替アドレス設定ビット110が切替アドレス130以上であれば、アドレスの出力元は演算処理装置40Aと判断することができる。
さらに、列152に示すように、演算処理装置40Bから出力されるアドレスが下限値「0x0000000」である場合、列153に示すように、アドレスの上位5ビットを示す切替アドレス設定ビットは、「00000」になる。また、列152に示すように、演算処理装置40Bから出力されるアドレスが上限値「0x0800000」である場合、列153に示すように、アドレスビットの上位5ビットを示す切替アドレス設定ビットは、「00001」になる。このように、演算処理装置40Bから出力されるデータの切替アドレス設定ビットは、「00000」〜「00001」になる。一方、切替アドレス130は、「00010」であるので、演算処理装置40Bから出力されるデータの切替アドレス設定ビットは、切替アドレス130より小さい。よって、アドレス判別部54は、切替アドレス設定ビット110と切替アドレス130とを比較して、切替アドレス設定ビット110が、切替アドレス130より小さければ、アドレスの出力元は演算処理装置40Bと判断することができる。
(2)出力先である主記憶装置の判別
演算処理装置40Bの出力データは、主記憶装置70A及び70Bの何れか1つに格納される。そのため、演算処理装置40Bの出力データのアドレスは後述の格納制御部59によって、主記憶装置70A及び主記憶装置70Bの何れか1つの記憶領域を特定する物理アドレスに変換される。アドレス判別部54は、受け取ったアドレスにより、格納する主記憶装置及び記憶領域を特定する主記憶判別信号Dを出力し、格納制御部59は主記憶判別信号Dに従って、演算処理装置40A又は40Bの出力アドレスを、主記憶装置70A又は70Bの物理アドレスに変換する。
図4を用いて、アドレス判別部54が、演算処理装置40A又は40Bの出力アドレスから、格納対象となる主記憶装置を識別する方法の一例を説明する。図4に示すように、出力元が演算処理装置40Bである「0x0800000」〜「0x0FFFFFF」の切替アドレス設定ビットは、「00001」である。また、出力元が演算処理装置40Aである「0x1000000」〜「0xFFFFFFF」のアドレス設定ビットは、「00010」〜「11111」である。切替アドレス設定ビットが切替アドレス「00010」を2で除算した「00001」以上であり、且つ「00010」より小さい場合、アドレス判別部54は、出力元は「0x0800000」〜「0x0FFFFFF」の範囲のアドレスを特定していると判別する。主記憶判別信号Dは、例えば、2ビットのビット幅を有するデータである。アドレス判別部54は、主記憶装置70A及び70B、及び物理アドレス「0x0000000」〜「0x07FFFFF」を特定する主記憶判別信号Dを格納制御部59に出力する。
切替アドレス設定ビットが切替アドレス「00010」を2で除算した「00001」以上であり、且つ「00010」以上の場合、アドレス判別部54は、主記憶装置70Aの物理アドレスを特定する主記憶判別信号Dを格納制御部59に出力する。それ以外のアドレスの場合、切替アドレス設定ビットが切替アドレス「00010」を2で除算した「00001」より小さい場合、アドレス判別部54は、主記憶装置70Bの物理アドレスを特定する主記憶判別信号Dを格納制御部59に出力する。
このように、主記憶判別信号Dは、出力先の主記憶装置と、記憶領域を示す。後述するように、格納制御部59は、主記憶判別信号Dに従って、演算処理装置40A又は40Bの出力アドレスを、主記憶装置70A又は70Bの物理アドレスに変換することができる。
<2.5 切替回路とゲート回路>
切替回路57は、CPU判別信号Cの信号レベルが「1」のとき、データ分割部53から出力されるデータ上位ビットを、格納制御部59に出力する。切替回路57は、CPU判別信号Cの信号レベルが「0」のとき、データ分割部53から出力されるデータ下位ビットを、格納制御部59に出力する。
ゲート回路58は、CPU判別信号Cの信号レベルが「1」のとき、データ分割部53から出力されるデータ下位ビットを、格納制御部59に出力する。ゲート回路58は、CPU判別信号Cの信号レベルが「0」のとき、データ分割部53から出力されるデータ下位ビットを、格納制御部59に出力しない。
図2の切替回路57及びゲート回路58に示す例は、CPU判別信号Cの信号レベル「0」が、切替回路57及びゲート回路58に与えられた場合である。演算処理装置40Bの出力データは、データ下位ビットとしてデータ分割部53から与えられているので、CPU判別信号Cの信号レベル「0」のとき、演算処理装置40Bの出力データは、切替回路57を介して、格納制御部59に出力されることになる。一方、演算処理装置40Aの出力データは、データ分割部53で上位ビットと下位ビットに分割されて、切替回路57とゲート回路とを介して格納制御部59に与えられる。このように、演算処理装置40A又は40Bの出力データは、データの欠損を生じることなく格納制御部59に与えられる。
<2.6 格納制御部>
格納制御部59は、切替回路57又はゲート回路58から受け取ったアドレスを、論理演算して、主記憶装置70A又は70Bのアドレスに変換する。
格納制御部59は、主記憶装置70A及び70Bを特定する主記憶判別信号Dを受け取ると、演算処理装置40Aのアドレスを、論理シフト演算の右シフトで「0x1000000〜0xFFFFFFF」から「0x0800000〜0x7FFFFFF」にする。
格納制御部59は、主記憶装置70Aを特定する主記憶判別信号Dを受け取ると、当該アドレスは、アドレスビット「0x0800000〜0x0FFFFFF」であると判断して、切替アドレス設定ビットを、アドレスマスク「00000」でAND演算する。このようにすることで、格納制御部59は、図4に示す表の第3行のアドレスビット「0x0800000〜0x0FFFFFF」を、列154に示す物理アドレス「0x0000000〜0x07FFFFF」にする。
また、格納制御部59は、主記憶装置70Bを特定する主記憶判別信号Dを受け取ると、当該アドレスは、アドレスビット「0x0000000〜0x07FFFFF」であると判断して、切替アドレス設定ビットを、アドレスマスク「00000」でAND演算する。このようにすることで、格納制御部59は、図4に示す表の第4行のアドレスビット「0x0000000〜0x07FFFFF」を、列154に示す物理アドレス「0x0000000〜0x07FFFFF」にする。アドレス変換により、主記憶装置の記憶領域において未使用領域の生成が防がれるが、この点については、図5A及び図5Bを用いて後述する。
主記憶装置70A及び70Bを特定する主記憶判別信号Dを受け取る場合、格納制御部59は、切替回路57から受け取ったデータ上位ビット、及びゲート回路58から受け取ったデータ下位ビットと、物理アドレスとを、主記憶装置70A及び70Bに出力する。
主記憶装置70Aを特定する主記憶判別信号Dを受け取る場合、格納制御部59は、切替回路57から出力されたデータと、物理アドレスとを、主記憶装置70Aに出力する。
主記憶装置70Bを特定する主記憶判別信号Dを受け取る場合、格納制御部59は、切替回路57から出力されたデータと、物理アドレスとを、主記憶装置70Bに出力する。
図5Aは、変換アドレスにより特定される主記憶装置の記憶領域の一例を説明する図である。図5Aには、主記憶装置70A及び70Bの記憶領域が示される。図5Aにおいて、記憶領域210は、アドレス「0x0800000〜0x7FFFFFF」により特定される主記憶装置70A及び70Bの記憶領域である。演算処理装置40Aの64ビットの出力データは、上位32ビットが、アドレス「0x0800000〜0x7FFFFFF」により特定される主記憶装置70Aに記憶され、下位32ビットが同じアドレスにより特定される主記憶装置70Bに記憶される。
記憶領域220は、アドレス「0x0000000〜0x07FFFFF」により特定される主記憶装置70A又は70Bの記憶領域である。アドレスビット「0x0800000〜0x0FFFFFF」の演算処理装置40Bの32ビットの出力データは、「0x0000000〜0x07FFFFF」のアドレスで特定される主記憶装置70Aの記憶領域に格納される。また、アドレスビット「0x0000000〜0x07FFFFF」の演算処理装置40Bの32ビットの出力データは、同じアドレスで特定される主記憶装置70Aの記憶領域に格納される。
図5Bは、演算処理装置のアドレスにより特定される主記憶装置の記憶領域の一例を示す図である。図5Bには、主記憶装置70A及び70Bの記憶領域が示される。主記憶装置70A又は70Bの記憶領域は、図4のアドレスビットの列152に示すアドレスにより特定される。ハッチング部分である主記憶装置70Aのアドレス空間「0x0800000〜0x0FFFFFF」と、主記憶装置70Bのアドレス空間「0x0000000〜0x07FFFFF」の記憶領域は、未使用となる。
図5Aに示すように、1ラインに32ビット幅のデータを格納する32ビットの主記憶装置は、未使用の記憶領域を生成することがない。さらに、32ビットの主記憶装置を2つ用いることで、64ビットのデータについても欠損無く格納することができる。
さらに、アドレス変換しないで、主記憶装置70A又は70Bに格納した場合、主記憶装置70A又は70Bに未使用領域が生じるが、図5Aに示すように、アドレス変換により、主記憶装置に70A及び70Bにおいて未使用の記憶領域の生成を防ぐことが出来る。
10 情報処理装置
33 通信部
35 音声出力部
37 画像表示部
38 入力部
40A、40B 演算処理装置
50 入出力制御装置
51 入出力部
53 データ分割部
54 アドレス判別部
55 切替アドレスレジスタ
56 アドレスマスクレジスタ
57 切替回路
58 ゲート回路
59 格納制御部
70A、70B 主記憶装置
100 アドレス
110 切替アドレス設定ビット
120 アドレスビット
130 切替アドレス
140 マスクビット
210 記憶領域
220 記憶領域

Claims (8)

  1. 演算処理を実行して、第1データを出力する第1処理装置、演算処理を実行して、前記第1データよりビット数が少ない第2データを出力する第2処理装置、第1記憶装置、及び第2記憶装置に対してデータを入出力する入出力制御装置であって、
    前記第1処理装置が出力する第1データを分割するデータ分割部と、
    前記分割した第1データを、前記第1記憶装置及び前記第2記憶装置にそれぞれ格納するとともに、前記第2処理装置が出力する第2データを、前記第1記憶装置及び前記第2記憶装置の何れか1つに格納する格納制御部と、を備えることを特徴とする入出力制御装置。
  2. 前記格納制御部は、前記第2データのアドレスを、前記第1記憶装置又は前記第2記憶装置のアドレスに変換することを特徴とする請求項1に記載の入出力制御装置。
  3. 前記格納制御部は、前記第1データのアドレス及び前記第2のデータのアドレスに含まれるビットを用いて、前記第1データ又は前記第2データの出力先を認識することを特徴とする請求項1又は2に記載の入出力制御装置。
  4. 前記データ分割部は、受け取ったデータのうち、上位ビット部分又は下位ビット部分を前記第2データと判別して、前記判別した第2データを前記格納制御部に出力することを特徴とする請求項1〜3の何れか1項に記載の入出力制御装置。
  5. 演算処理を実行して、第1データ及び前記第1データのアドレスを出力する第1処理装置と、
    演算処理を実行して、前記第1データよりビット数が少ない第2データ及び前記第2データのアドレスを出力する第2処理装置と、
    前記第1データ及び前記第2データを記憶する第1記憶装置及び第2記憶装置と、
    前記第1処理装置が出力する第1データを分割するデータ分割部と、前記分割した第1データを、前記第1記憶装置及び前記第2記憶装置にそれぞれ格納するとともに、第2処理装置が出力する第2データを前記第1記憶装置及び前記第2記憶装置の何れか1つに格納する格納制御部と、を備える入出力制御装置と、を備えることを特徴とする情報処理装置。
  6. 前記格納制御部は、前記第2データのアドレスを、前記第1記憶装置又は前記第2記憶装置のアドレスに変換することを特徴とする請求項5に記載の情報処理装置。
  7. 前記格納制御部は、前記第1データのアドレス及び前記第2のデータのアドレスに含まれるビットを用いて、前記第1データ又は前記第2データの出力先を認識することを特徴とする請求項5又は6に記載の情報処理装置。
  8. 前記データ分割部は、受け取ったデータのうち、上位ビット部分又は下位ビット部分を前記第2データと判別して、前記判別した第2データを前記格納制御部に出力することを特徴とする請求項5〜7の何れか1項に記載の情報処理装置。
JP2010149872A 2010-06-30 2010-06-30 入出力制御装置、及び情報処理装置 Pending JP2012014397A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010149872A JP2012014397A (ja) 2010-06-30 2010-06-30 入出力制御装置、及び情報処理装置
US13/159,235 US20120005438A1 (en) 2010-06-30 2011-06-13 Input/output control apparatus and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010149872A JP2012014397A (ja) 2010-06-30 2010-06-30 入出力制御装置、及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2012014397A true JP2012014397A (ja) 2012-01-19

Family

ID=45400623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010149872A Pending JP2012014397A (ja) 2010-06-30 2010-06-30 入出力制御装置、及び情報処理装置

Country Status (2)

Country Link
US (1) US20120005438A1 (ja)
JP (1) JP2012014397A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201908666VA (en) * 2017-03-21 2019-10-30 Tora Holdings Inc Secure order matching by distributing data and processing across multiple segregated computation nodes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062900A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
JP2006155220A (ja) * 2004-11-29 2006-06-15 Canon Inc 半導体集積回路及びそのアクセス制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2900359B2 (ja) * 1986-10-30 1999-06-02 株式会社日立製作所 マルチプロセッサシステム
US6076143A (en) * 1997-09-02 2000-06-13 Emc Corporation Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6889309B1 (en) * 2002-04-15 2005-05-03 Emc Corporation Method and apparatus for implementing an enterprise virtual storage system
JP4336625B2 (ja) * 2004-06-17 2009-09-30 株式会社日立製作所 パケット転送装置
CN101263465B (zh) * 2005-09-14 2011-11-09 皇家飞利浦电子股份有限公司 用于总线仲裁的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004062900A (ja) * 2002-07-29 2004-02-26 Samsung Electronics Co Ltd バス帯域幅を増加させるためのメモリコントローラ、これを利用したデータ伝送方法及びこれを備えるコンピュータシステム
JP2006155220A (ja) * 2004-11-29 2006-06-15 Canon Inc 半導体集積回路及びそのアクセス制御方法

Also Published As

Publication number Publication date
US20120005438A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
US11704031B2 (en) Memory system and SOC including linear address remapping logic
US8966227B2 (en) Semiconductor device and data processing system selectively operating as one of a big endian or little endian system
US9632781B2 (en) Vector register addressing and functions based on a scalar register data value
US10133497B1 (en) SPI command censoring method and apparatus
JP2019512794A (ja) プロセッサベースシステムにおけるメモリ内の圧縮メモリラインの優先度ベースのアクセス
US20170024162A1 (en) Computing system and data transferring method thereof
US20170177477A1 (en) System address reconstruction
US11710213B2 (en) Application processor including reconfigurable scaler and devices including the processor
KR20160052938A (ko) 선형 리맵퍼 및 액세스 윈도우를 포함하는 메모리 시스템 및 시스템 온 칩
JP2004030015A (ja) 情報処理装置及び電子機器
JP2006252695A (ja) 半導体集積回路装置
US8127110B2 (en) Method, system, and medium for providing interprocessor data communication
JP2012014397A (ja) 入出力制御装置、及び情報処理装置
KR20150116720A (ko) 메모리 시스템 및 이를 포함하는 전자 장치
JP5839632B2 (ja) シリアル不揮発性メモリに対する向上されたアドレス能力
KR20120105150A (ko) 이미지 디스플레이 시스템 및 이미지 데이터 처리 방법
US20090228612A1 (en) Flexible Bus Interface and Method for Operating the Same
US20180129603A1 (en) Electronic device and method for accessing memory
KR20050035567A (ko) 마스크 비트 전송방법 및 장치
JP2008065549A (ja) マイクロコンピュータ、情報処理システム、電子機器及びマイクロコンピュータの起動制御方法
JP3928730B2 (ja) 半導体装置、マイクロコンピュータ及び電子機器
US20080263328A1 (en) Orthogonal register access
JP5662567B2 (ja) 圧縮コードの高速実行のための装置、方法、コンピューティングシステム、プログラム
US9424181B2 (en) Address mapping for solid state devices
CN117621665A (zh) 一种单mcu通讯的芯片校验方法、耗材芯片和可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140318