[go: up one dir, main page]

JP2009098819A - メモリシステム、メモリシステムの制御方法、及びコンピュータシステム - Google Patents

メモリシステム、メモリシステムの制御方法、及びコンピュータシステム Download PDF

Info

Publication number
JP2009098819A
JP2009098819A JP2007268419A JP2007268419A JP2009098819A JP 2009098819 A JP2009098819 A JP 2009098819A JP 2007268419 A JP2007268419 A JP 2007268419A JP 2007268419 A JP2007268419 A JP 2007268419A JP 2009098819 A JP2009098819 A JP 2009098819A
Authority
JP
Japan
Prior art keywords
cell array
memory cell
register
data
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.)
Abandoned
Application number
JP2007268419A
Other languages
English (en)
Inventor
Kazuhiko Kajitani
一彦 梶谷
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.)
Micron Memory Japan Ltd
Original Assignee
Elpida Memory Inc
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 Elpida Memory Inc filed Critical Elpida Memory Inc
Priority to JP2007268419A priority Critical patent/JP2009098819A/ja
Priority to US12/285,745 priority patent/US20090100220A1/en
Publication of JP2009098819A publication Critical patent/JP2009098819A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2209Concurrent read and write
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

Landscapes

  • Dram (AREA)
  • Memory System (AREA)

Abstract

【課題】メモリセルアレイとレジスタ部に同時にアクセスする場合であっても良好な処理効率で動作可能なメモリシステムを提供する。
【解決手段】本発明のメモリシステムは、データを書き換え可能に記憶するメモリセルアレイと、システム情報を書き換え可能に保持する一又は複数のレジスタからなるレジスタ部とを備え、命令コードCCに応じてメモリセルアレイとレジスタ部の同時アクセス動作を実行する。書き込み動作時は、共通のデータ入力バスを介してレジスタ部に対する書き込みデータDiを入力し(RWL=1)、続いてメモリセルアレイに対する書き込みデータDiを入力する(MWL=4)。一方、読み出し動作時は、共通のデータ出力バスを介してレジスタ部からの読み出しデータDoを出力し(RRL=2)、続いてメモリセルアレイからの読み出しデータDoを出力する(MRL=5)。
【選択図】図7

Description

本発明は、情報処理のためのデータを書き換え可能に記憶するメモリセルアレイを備えるメモリシステムに関し、特に、オペレーティングシステム等の制御に用いるシステム情報をメモリセルアレイとは別に設けたレジスタ部に保持する構成を有するメモリシステムに関するものである。
近年、コンピュータシステムにおける並列処理に対応するため、マルチスレッドやマルチコアを採用したオペレーティングシステム(Operating System)が広く普及している。このようなオペレーティングシステムにより制御されるコンピュータシステムでは、異なるスレッド間、あるいは異なるコア間で互いに送受信する制御情報や、プロセッサへのリソース割り当てにおける優先排他制御に用いるフラグ等が、共有情報として共有メモリの所定の記憶領域に記憶保持される。コンピュータシステムにおいて同時に処理するスレッド数や存在するコアの数が増加する場合、共有情報を頻繁にアクセスする状況が生じるので、上述の記憶領域に対するアクセス回数も急激に増加する。共有情報に対するアクセスは、本来の情報処理のためのメモリへのアクセスに優先することが一般的であるため、共有情報にアクセスする際のレイテンシを確保するために通常のデータをアクセスする際のレイテンシが増大することになるため、コンピュータシステム全体の処理効率を低下させる恐れがある。
一方、従来から並列処理に対応したコンピュータシステムにおける処理効率を向上させる種々の手法が提案されている。例えば、特許文献1には、マルチスレッド計算機システムにおいて、排他制御の際に発生する共有主記憶メモリに対するアクセスを無くし、マルチスレッド処理の効率を向上させる技術が開示されている。また例えば、特許文献2には、マルチプロセッサによる共有メモリのシステムにおいて、排他権を確保するために共有メモリのシステムを頻繁にアクセスすることによって生じるスピンループの空転によるプロセッサの効率低下を防ぐため、キャッシュメモリへのアクセスを監視する方策を採用した技術が開示されている。これ以外にも、並列処理に対応したコンピュータシステムの処理効率の向上を目的とした多くの提案がなされている。
特許第3546694号公報 特開2006−155204号公報
しかしながら、上記従来のコンピュータシステムに関して特許文献1、2に開示された技術は、ともに並列処理に伴う排他制御に限定した対策であり、その他の共有メモリに対するアクセスが必要となる制御には適用できないという問題がある。また、特許文献1に開示された技術では、プロセッサエレメントの個数が増加した場合、プロセッサエレメント間の通信頻度が増大し、これがボトルネックとなる可能性がある。さらに、プロセッサエレメントに追加すべき回路ブロックが必要になるため、プロセッサエレメントの個数が増加したときに面積ペナルティも増大が避けられない。一方。特許文献2に開示された技術では、例えば、組み込みシステム用のプロセッサなどのキャッシュメモリを設けないシステムに対しては適用できないという問題がある。
そこで、本発明は上記従来の課題を解決するためになされたものであり、メモリセルアレイとは別にレジスタ部を設け、共通のデータ入出力バスを介してメモリセルアレイとレジスタ部に同時にアクセス可能なメモリシステムを構築し、新たなバス構成を付加することなく並列処理に対応したコンピュータシステムの処理効率の向上を目的とする。
上記課題を解決するために、本発明のメモリシステムは、データを書き換え可能に記憶するメモリセルアレイと、システム情報を書き換え可能に保持する一又は複数のレジスタからなるレジスタ部とを備え、前記メモリセルアレイと前記レジスタ部の同時アクセス動作を要求された場合、書き込み動作時は共通のデータ入力バスを介して前記レジスタ部に対する書き込みデータを入力した後に前記メモリセルアレイに対する書き込みデータを入力し、読み出し動作時は共通のデータ出力バスを介して前記レジスタ部からの読み出しデータを出力した後に前記メモリセルアレイからの読み出しデータを出力することを特徴としている。
本発明のメモリシステムによれば、データを記憶するメモリセルアレイと、システム情報を保持するレジスタ部の両方にアクセスする場合、書き込み動作及び読み出し動作のいずれに際しても、共通のデータ入力(出力)バスを介して、レジスタ部のデータを先行して入出力し、続いてメモリセルアレイの入出力データを入出力するように制御される。よって、一般に小規模のレジスタ部のレイテンシは、大規模のメモリセルアレイのレイテンシに比べて短いので、データバスを共通化しても互いに支障なく効率的なデータ入出力を行うことができる。従って、並列処理に伴う共有情報等を頻繁にアクセスする場合であっても、そのために不要なメモリアクセスの増加を避けることができ、複雑なハードウェアを設けることなくシステム全体の処理能力を向上させることが可能となる。
本発明のメモリシステムにおいて、前記メモリセルアレイ及び前記レジスタ部のそれぞれの動作は、コマンドバスを介して入力される命令コードに基づいて制御してもよい。
本発明のメモリシステムにおいて、前記命令コードに付随する演算指定コードに基づいて前記レジスタ部に保持される制御情報を用いた所定の演算を実行する演算回路をさらに設けてもよい。
本発明のメモリシステムにおいて、前記メモリセルアレイのアクセス対象のメモリセルを、アドレスバスを介して入力されるアドレスに基づき指定し、前記レジスタ部のアクセス対象のレジスタを、前記アドレスバスを介して入力されるレジスタ指定情報に基づき指定してもよい。
また、上記課題を解決するために、本発明のメモリシステムの制御方法は、データを書き換え可能に記憶するメモリセルアレイと、システム情報を書き換え可能に保持する一又は複数のレジスタからなるレジスタ部とを備えるメモリシステムの制御方法であって、前記メモリセルアレイと前記レジスタ部を同時にアクセスする動作モードを設定した状態で、書き込み動作時は、共通のデータ入力バスを介して前記レジスタ部に対する書き込みデータを入力した後に前記メモリセルアレイに対する書き込みデータを入力し、読み出し動作時は共通のデータ出力バスを介して前記レジスタ部からの読み出しデータを出力した後に前記メモリセルアレイからの読み出しデータを出力する、ことを特徴としている。
本発明のメモリシステムの制御方法において、前記メモリセルアレイ及び前記レジスタ部を同時にアクセスする動作モードと、前記メモリセルアレイ及び前記レジスタ部のいずれかのみをアクセスする動作モードとを、選択的に設定可能としてもよい。
本発明のメモリシステムの制御方法において、前記各動作モードの設定に際し、命令コードに応じて前記メモリセルアレイ及び前記レジスタ部に対する読み出し動作又は書き込み動作を指定するとともに、前記命令コードに付随する演算指定コードに応じて前記レジスタ部に保持される制御情報を用いた所定の演算の実行を指定してもよい。
本発明のメモリシステムの制御方法において、前記演算指定コードに応じて指定される所定の演算に、選択されたレジスタの内容を全て0又は1にセットする演算を含めてもよい。
本発明のメモリシステムの制御方法において、前記演算指定コードに応じて指定される所定の演算に、選択されたレジスタの内容に1を加算又は減算する演算を含めてもよい。
本発明のメモリシステムの制御方法において、前記演算指定コードに応じて指定される所定の演算に、選択されたレジスタの内容を1ビット分左にシフト又は右にシフトする演算を含めてもよい。
さらに、上記課題を解決するために、本発明のコンピュータシステムは、メモリシステムと、複数のプロセッサコアと、バスを介して前記メモリセルアレイ及び前記レジスタ部に対するアクセスを制御する制御ブロックとを含むマルチコアプロセッサとを備えることを特徴としている。
本発明のコンピュータシステムにおいて、前記メモリシステム及び前記マルチコアプロセッサは、同一の半導体チップ上に構成してもよい。
本発明のコンピュータシステムにおいて、前記メモリシステム及び前記マルチコアプロセッサの各動作を制御するオペレーティングシステムを搭載してもよい。
本発明のコンピュータシステムにおいて、前記オペレーティングシステムは、複数のスレッドを同時に処理してもよい。
以上説明したように本発明によれば、例えば、マルチスレッドやマルチコアを採用したコンピュータシステムの一部としてメモリシステムを搭載する場合、データを記憶するメモリセルアレイと、共有情報等のシステム情報を保持するレジスタ部に対する同時アクセス動作を可能とすべく、共通のデータバスを介してメモリシステムのシステム情報を先行して入出力した後、メモリセルアレイのデータを入出力するように制御が行われる。このように、大規模のメモリセルアレイのレイテンシが小規模のレジスタ部のレイテンシより長いことを利用し、適正な順序でデータ入出力を行うことができるので、メモリアクセスがボトルネックとなって処理効率が低下することを防止可能となる。また、上記のアクセスに際し、レジスタ部に保持される共有情報等を用いて演算を実行する演算回路により、バックグランドで所定の演算を実行させることができるので、システムの処理効率を一層向上させることができる。このようなメモリシステムを構成する場合、従来のバス構成をそのまま用いることができるとともに、特別の制御回路を設けることが不要であるので、単純なハードウェアを用いてコストを増加させることなく、システム全体の処理効率を向上させることができる。
以下、本発明の実施形態について図面を参照しながら説明する。本実施形態では、オペレーティングシステムの並列処理に必要な共有情報等のシステム情報を保持する構成を備えたメモリシステムに対し本発明を適用する場合を説明する。
図1は、本実施形態のメモリシステム1の全体構成を示すブロック図である。図1に示すように、本実施形態のメモリシステム1は、メモリセルアレイ11、レジスタファイル12、演算回路13、命令バッファ14、デマルチプレクサ15、19、22、命令デコーダ16、演算指定デコーダ17、アドレスバッファ18、アドレスデコーダ20、レジスタ指定デコーダ21、データ入力バッファ23、マルチプレクサ24、データ出力バッファ25を含んで構成されている。
メモリセルアレイ11は、通常の情報処理に用いるデータを記憶する多数のメモリセルからなり、例えば、1Gワード×16ビット(2Gバイト)のメモリ空間を有している。レジスタファイル12は、オペレーティングシステムのシステム情報を書き換え可能に保持するレジスタ群であり、本発明のレジスタ部として機能する。レジスタファイル12は、例えば、16ワード×16ビットの構成(16個のレジスタ群)を有している。このように、メモリセルアレイ11とレジスタファイル12は、共通のビット幅(16ビット)で構成されている。一方、演算回路13は、レジスタファイル12のアクセス時に指定される演算を実行する回路である。なお、本実施形態のメモリシステム1に対しては、メモリセルアレイ11とレジスタファイル12を別々にアクセスする動作モードと、両者を同時にアクセスする動作モードを設定可能であるが、詳しくは後述する。
ここで、図2には、本実施形態のメモリシステム1のアドレス構成とデータ入出力構成を示している。図2(A)に示すアドレス構成については、メモリセルアレイ11のアドレス空間を指定するための32ビットのメモリセルアレイアドレスと、レジスタファイル12の特定のレジスタを選択するための4ビットのレジスタ指定情報(レジスタ番号)から構成される(計36ビット)。また、図2(B)に示すデータ入出力構成については、メモリセルアレイ11とレジスタファイル12がともに16ビットのビット幅であることを前提としているので、16ビットのメモリセルアレイデータと16ビットのレジスタデータから構成される(計32ビット)。
命令バッファ14は、4ビット幅のコマンドバスB1に接続される。メモリシステム1を制御するための所定の命令のうち、4ビットの命令コードと4ビットの演算指定コードがそれぞれコマンドバスB1を経由して時分割で命令バッファ14に順次入力される。命令バッファ14に保持される命令はデマルチプレクサ15に出力され、命令コードと演算指定コードがそれぞれ抽出された後、命令コードが命令デコーダ16に送出されるとともに、演算指定コードが演算指定デコーダ17に送出される。
一方、アドレスバッファ18は、32ビット幅のアドレスバスB2に接続される。メモリシステム1にアクセスするためのアドレスのうち、メモリセルアレイ11のメモリセルを指定する32ビットのメモリセルアレイアドレスと、レジスタファイル12のレジスタを特定する4ビットのレジスタ番号がそれぞれアドレスバスB2を経由して時分割でアドレスバッファ18に順次入力される。アドレスバッファ18に保持されるアドレスはデマルチプレクサ19に出力され、メモリセルアレイアドレスとレジスタ番号がそれぞれ抽出された後、メモリセルアレイアドレスがアドレスデコーダ20に送出されるとともに、レジスタ番号がレジスタ指定デコーダ21に送出される。
命令デコーダ16により判別された命令コードに応じて、メモリセルアレイ11の読み出し動作/書き込み動作が制御されるとともに、レジスタファイル12の読み出し動作/書き込み動作が制御される。この際、メモリセルアレイ11においてアクセスされるメモリセルは、アドレスデコーダ20に入力されたメモリセルアレイアドレスに基づき指定され、レジスタファイル12においてアクセスされるレジスタは、レジスタ指定デコーダ21に入力されたレジスタ番号に基づき指定される。また、レジスタファイル12の指定されたレジスタのデータは演算回路13に入力される。演算回路13は、演算指定デコーダ17に保持される演算指定コードに対応する所定の演算を実行し、その演算結果がレジスタファイル12の指定されたレジスタに出力される。
データ入力バッファ23は、16ビット幅のデータ入力バスB3に接続される。外部からの書き込みデータのうち、メモリセルアレイ11用の16ビットのデータとレジスタファイル12用の16ビットのデータが、データ入力バスB3を経由して時分割でデータ入力バッファ23に順次入力される。データ入力バッファ23に保持されるデータは、デマルチプレクサ22に送出される。デマルチプレクサ22に入力されたデータのうち、メモリセルアレイ11への1ワード分(16ビット)の書き込みデータが抽出されるとともに、レジスタファイル12への1ワード分(16ビット)の書き込みデータが抽出される。
マルチプレクサ24には、メモリセルアレイ11からの1ワード分(16ビット)の読み出しデータと、レジスタファイル12からの1ワード分(16ビット)の読み出しデータが、それぞれ入力される。マルチプレクサ24では、入力されたデータがシリーズ化され、32ビットのデータがデータ出力バッファ25に送出される。データ出力バッファ25は、16ビット幅のデータ出力バスB4に接続され、マルチプレクサ24からのデータが時分割でデータ出力バスB4を介して外部に出力される。
次に、メモリシステム1を制御するための各種命令を定義した命令セットについて、図3を参照して説明する。図3は、メモリシステム1に対する命令セットの一覧の例であり、4ビットの命令コードと3ビットの演算指定コードにより構成された複数の命令語が示されている。命令セットで定義される命令コードには、何も動作を行わない(NOP)場合の命令コード{0000}に加え、メモリセルアレイ11のみにアクセスする場合の命令コード{0001}、{0010}と、レジスタファイル12のみにアクセスする場合の命令コード{0011}〜{0111}と、メモリセルアレイ11とレジスタファイル12を同時にアクセスする場合の命令コード{1000}〜{1101}が含まれる。
また、上述の命令セットに含まれる演算指定コードについて、図4を参照して説明する。図4は、図3の各命令コードに付随する演算指定コードの一覧の例であり、4ビットの演算指定コードに対応する演算内容が示されている。図4で定義される演算指定コードには、何も動作を行わない(NOP)場合の演算指定コード{0000}に加え、選択したレジスタの内容に対する6種類の演算指定コードとして、全て0/1にセットする演算指定コード{0001}、{0010}、1を加算/減算する演算指定コード{0011}、{0100}、1ビット分左/右にシフトする演算指定コード{0101}{0110}が含まれる。図4の例では、{0111}以降の演算指定コードがNOP(予備)として定義されるので、実質的に演算指定コードの下位3ビットで演算内容が特定される。レジスタファイル12及び演算回路13においては、上記の演算指定コードを用いて、フラグ、カウンタ、ステイタスレジスタ等を構成することが可能である。
以下、本実施形態のメモリシステム1における書き込み動作/読み出し動作について、図5〜図8を参照して説明する。図5は、メモリシステム1においてメモリセルアレイ11をアクセスする際の動作波形を示している。図5の上部から、クロックCLK及び反転クロック/CLK、コマンドバスB1、アドレスバスB2、データ入力バスB3、データ出力バスB4のそれぞれの伝送データに関し、所定の時間範囲内の動作波形が示される。本実施形態のメモリシステム1においては、例えば、DDR−SDRAMと同様、所定周期のクロックCLK及び反転クロック/CLKに同期して動作が制御される。
まず、メモリセルアレイ11の書き込み動作時には、コマンドバスB1から所定の命令コードCCと演算指定コードNOPが時分割で入力され、それぞれデマルチプレクサ15を経由して命令デコーダ16と演算指定デコーダ17に送られる。また、アドレスバスB2からメモリセルアレイアドレスADRが入力され、デマルチプレクサ19を経由してアドレスデコーダ20に送られる。そして、タイミングT0を起点にメモリライトレイテンシMWLが経過した後に、データ入力バスB3からデータDiが入力され、メモリセルアレイ11の選択されたアドレスに対する書き込みが行われる。図5に示すように、データDiはタイミングT4を起点に出力されるので、MWL=4となる。
次に、メモリセルアレイ11の読み出し動作時には、書き込み動作時と同様の制御に従って、コマンドバスB1から所定の命令コードCCと演算指定コードNOPが時分割で入力され、アドレスバスB2からメモリセルアレイアドレスADRが入力される。そして、タイミングT0を起点にメモリリードレイテンシMRLが経過した後に、メモリセルアレイ11の選択されたアドレスからの読み出しが行われ、データDoがデータ出力バスB4から出力される。図5に示すように、データDoはタイミングT5を起点に出力されるので、MRL=5となる。
図6は、メモリシステム1においてレジスタファイル12をアクセスする際の動作波形を示している。図6の上部から、クロックCLK及び反転クロック/CLK、コマンドバスB1、アドレスバスB2、データ入力バスB3、データ出力バスB4のそれぞれの伝送データに関し、図5と同様の時間範囲内での動作波形が示される。
まず、レジスタファイル12の書き込み動作時には、コマンドバスB1から所定の命令コードCCと所定の演算指定コードOCが時分割で入力され、それぞれデマルチプレクサ15を経由して命令デコーダ16と演算指定デコーダ17に送られる。また、アドレスバスB2からレジスタ番号REG#が入力され、デマルチプレクサ19を経由してレジスタ指定デコーダ21に送られる。そして、タイミングT1を起点にレジスタライトレイテンシRWLが経過した後に、データ入力バスB3からデータDiが入力され、レジスタファイル12におけるレジスタ番号REG#のレジスタに対する書き込みが行われる。図6に示すように、データDiはタイミングT2を起点に出力されるので、RWL=1となる。
次に、レジスタファイル12の読み出し動作時には、書き込み動作時と同様の制御に従って、コマンドバスB1から所定の命令コードCCと所定の演算指定コードOCが時分割で入力され、アドレスバスB2からレジスタ番号REG#が入力される。そして、タイミングT1を起点にレジスタリードレイテンシRRLが経過した後に、レジスタファイル12におけるレジスタ番号REG#のレジスタに対する読み出しが行われ、データDoがデータ出力バスB4から出力される。図6に示すように、データDoはタイミングT3を起点に出力されるので、RRL=2となる。
図7は、メモリシステム1においてメモリセルアレイ11とレジスタファイル12を同時にアクセスする際の動作波形を示している。図7の上部から、クロックCLK及び反転クロック/CLK、コマンドバスB1、アドレスバスB2、データ入力バスB3、データ出力バスB4のそれぞれの伝送データに関し、図5及び図6と同様の時間範囲内での動作波形が示される。
まず、書き込み動作時には、コマンドバスB1から所定の命令コードCCと所定の演算指定コードOCが時分割で入力され、それぞれデマルチプレクサ15を経由して命令デコーダ16と演算指定デコーダ17に送られる。また、アドレスバスB2からメモリセルアレイアドレスADRとレジスタ番号REG#が時分割で入力され、それぞれデマルチプレクサ19を経由してアドレスデコーダ20とレジスタ指定デコーダ21に送られる。そして、図5と同様のメモリライトレイテンシMWLと図6と同様のレジスタライトレイテンシRWLがそれぞれ経過した後に、データ入力バスB3から時分割でデータDiが入力される。このデータDiはデマルチプレクサ22により抽出され、メモリセルアレイ11の選択されたアドレスと、レジスタファイル12におけるレジスタ番号REG#のレジスタに対し、それぞれ書き込みが行われる。図7に示すように、図5及び図6と同様、MWL=4、RWL=1となる。
次に、読み出し動作時には、書き込み動作時と同様の制御に従って、コマンドバスB1から所定の命令コードCCと所定の演算指定コードOCが時分割で入力され、アドレスバスB2からメモリセルアレイアドレスADRとレジスタ番号REG#が時分割で入力される。そして、図5と同様のメモリリードレイテンシMRLと図6と同様のレジスタリードレイテンシRRLが経過した後に、メモリセルアレイ11の選択されたアドレスと、レジスタファイル12におけるレジスタ番号REG#のレジスタのそれぞれに対する読み出しが行われる。読み出されたデータはマルチプレクサ24で統合され、データDoとしてデータ出力バスB4から時分割で出力される。図7に示すように、図5及び図6と同様、MRL=5、RRL=2となる。
図7において各々のレイテンシMWL、RWL、MRL、RRLを比較すると、レジスタファイル12中のレジスタをアクセスする時間は、メモリセルアレイ11のメモリセルをアクセスする時間に比べて短時間であることがわかる。このことは、メモリセルアレイ11が2Gバイトと大容量であるのに対し、レジスタファイル12は16ワード×16ビットと小容量であることを反映している。よって、レジスタファイル12に対するアクセスレイテンシ(RWL、RRL)は、メモリセルアレイ11に対するアクセスレイテンシ(MWL、MRL)よりも小さい値を設定可能となる。これにより、図7の上部に示すように、書き込み動作時にはデータ入力バスB3を経由して、メモリセルアレイ11に対する書き込みデータを入力するのに先立ち、レジスタファイル12に対する書き込みデータを入力することが可能となる。また、図7の下部に示すように、読み出し動作時にはデータ出力バスB4に、メモリセルアレイ11からの読み出しデータを出力するのに先立ち、レジスタファイル12からの読み出しデータを出力することが可能となる。
以上説明したように、本実施形態のメモリシステム1では、メモリセルアレイ11とレジスタファイル12のアクセスレイテンシの差を利用して、共通のバスを介して両者を同時にアクセスする場合に円滑な処理を行うことができる。よって、レジスタファイル12に必要な共有情報が保持される一方、メモリセルアレイ11に情報処理用のデータが記憶されている場合、それぞれに対し独立にアクセスすることなくデータをやり取りでき、不要なアクセス動作を防止することができる。また、本実施形態の構成を採用すれば、メモリシステム1の従来のバス構成をそのまま用いることができ、新たなバスの追加等は不要であり、かつ新たな付加回路等の面積増加も避けることができるので、低いコストで上記の効果を享受することができる。
ここで、図1に示したメモリシステム1の構成では、データ入力バスB3とデータ出力バスB4を別々に設ける場合を示したが、これらを一体化したデータ入出力バスを共用する構成を採用してもよい。このように構成すれば、チップ上に構成されるメモリシステム1のパッケージのピン数を削減でき、パッケージコストの低減が可能となる。なお、メモリシステム1をコンピュータシステムの構成要素として含める場合の構成については後述する。
次に、本実施形態のメモリシステム1を含むコンピュータシステムについて、図8及び図9を参照して説明する。図8は、本実施形態のメモリシステム1を含むコンピュータシステムの第1の実施例の構成を示すブロック図である。第1の実施例に係るコンピュータシステムは、インターフェース部31と、外部記憶装置制御ブロック32と、オンチップメモリ33と、コア(1)〜(N)と表記されるN個のプロセッサコア34と、これらの各構成要素を接続するバスB5を含むマルチコアプロセッサ2が1つのチップ上に構成され、それとは別チップ上に本実施形態のメモリシステム1が構成される。
図8のマルチコアプロセッサ2においては、外部記憶装置制御ブロック32によりメモリシステム1に対するアクセスが制御される。外部記憶装置制御ブロック32とメモリシステム1の間は、上述のコマンドバスB1、アドレスバスB2、データ入力バスB3及びデータ出力バスB4により接続されている。このように、第1の実施例に係るコンピュータシステムでは、メモリシステム1が外部記憶装置として機能する。
また、図9は、本実施形態のメモリシステム1を含むコンピュータシステムの第2の実施例の構成を示すブロック図である。第2の実施例に係るコンピュータシステムは、インターフェース部31と、オンチップメモリ制御ブロック35と、本実施形態のメモリシステム1からなるオンチップメモリ1aと、コア(1)〜(N)と表記されるN個のプロセッサコア34と、これらの各構成要素を接続する上記の各バスB1〜B5を含むシステムオンチップ3が1つのチップ上に構成されている。
図9のシステムオンチップ3においては、図8のオンチップメモリ33がメモリシステム1としてのオンチップメモリ1aに置き換えられ、オンチップメモリ制御ブロック35によりオンチップメモリ1aに対するアクセスが制御される。オンチップメモリ制御ブロック35とオンチップメモリ1aの間は、上述のコマンドバスB1、アドレスバスB2、データ入力バスB3及びデータ出力バスB4により接続されている。このように、第2の実施例に係るコンピュータシステムでは、メモリシステム1がオンチップの記憶装置として機能し、システム全体が同一チップに構成される。
なお、図8又は図9の構成を有するコンピュータシステムには、複数のスレッドを同時に処理できるオペレーティングシステムを搭載することが望ましい。このようなオペレーティングシステムの並列処理に必要な共有情報は、上述した動作に従ってメモリシステム1のレジスタファイル12に保持されるので、共有情報へのアクセスに伴う処理効率の低下を有効に防止することができる。
本実施形態のメモリシステム1の全体構成を示すブロック図である。 本実施形態のメモリシステム1のアドレス構成とデータ入出力構成を示す図である。 本実施形態のメモリシステム1に対する命令セットの一覧の例を示す図である。 図3の各命令コードに付随する演算指定コードの一覧の例を示す図である。 本実施形態のメモリシステム1においてメモリセルアレイ11をアクセスする際の動作波形を示す図である。 本実施形態のメモリシステム1においてレジスタファイル12をアクセスする際の動作波形を示す図である。 本実施形態のメモリシステム1においてメモリセルアレイ11とレジスタファイル12を同時にアクセスする際の動作波形を示す図である。 本実施形態のメモリシステム1を含むコンピュータシステムの第1の実施例の構成を示す図である。 本実施形態のメモリシステム1を含むコンピュータシステムの第2の実施例の構成を示す図である。
符号の説明
1…メモリシステム
2…マルチコアプロセッサ
3…システムオンチップ
11…メモリセルアレイ
12…レジスタファイル
13…演算回路
14…命令バッファ
15、19、22…デマルチプレクサ
16…命令デコーダ
17…演算指定デコーダ
18…アドレスバッファ
20…アドレスデコーダ
21…レジスタ指定デコーダ
23…データ入力バッファ
24…マルチプレクサ
25…データ出力バッファ
31…インターフェース部
32…外部記憶装置制御ブロック
33、1a…オンチップメモリ
34…プロセッサコア
35…オンチップメモリ制御ブロック
B1…コマンドバス
B2…アドレスバス
B3…データ入力バス
B4…データ出力バス
B5…バス

Claims (14)

  1. データを書き換え可能に記憶するメモリセルアレイと、
    システム情報を書き換え可能に保持する一又は複数のレジスタからなるレジスタ部と、
    を備え、
    前記メモリセルアレイと前記レジスタ部の同時アクセス動作を要求された場合、書き込み動作時は共通のデータ入力バスを介して前記レジスタ部に対する書き込みデータを入力した後に前記メモリセルアレイに対する書き込みデータを入力し、読み出し動作時は共通のデータ出力バスを介して前記レジスタ部からの読み出しデータを出力した後に前記メモリセルアレイからの読み出しデータを出力する、ことを特徴とするメモリシステム。
  2. 前記メモリセルアレイ及び前記レジスタ部のそれぞれの動作は、コマンドバスを介して入力される命令コードに基づいて制御されることを特徴とする請求項1に記載のメモリシステム。
  3. 前記命令コードに付随する演算指定コードに基づいて前記レジスタ部に保持される情報を用いた所定の演算を実行する演算回路、をさらに備えることを特徴とする請求項2に記載のメモリシステム。
  4. 前記メモリセルアレイのアクセス対象のメモリセルは、アドレスバスを介して入力されるアドレスに基づき指定され、前記レジスタ部のアクセス対象のレジスタは、前記アドレスバスを介して入力されるレジスタ指定情報に基づき指定されることを特徴とする請求項1に記載のメモリシステム。
  5. データを書き換え可能に記憶するメモリセルアレイと、システム情報を書き換え可能に保持する一又は複数のレジスタからなるレジスタ部とを備えるメモリシステムの制御方法であって、
    前記メモリセルアレイと前記レジスタ部を同時にアクセスする動作モードを設定した状態で、書き込み動作時は、共通のデータ入力バスを介して前記レジスタ部に対する書き込みデータを入力した後に前記メモリセルアレイに対する書き込みデータを入力し、読み出し動作時は共通のデータ出力バスを介して前記レジスタ部からの読み出しデータを出力した後に前記メモリセルアレイからの読み出しデータを出力する、ことを特徴とするメモリシステムの制御方法。
  6. 前記メモリセルアレイ及び前記レジスタ部を同時にアクセスする動作モードと、前記メモリセルアレイ及び前記レジスタ部のいずれかのみをアクセスする動作モードとが、選択的に設定可能であることを特徴とする請求項5に記載のメモリシステムの制御方法。
  7. 前記各動作モードの設定に際し、命令コードに応じて前記メモリセルアレイ及び前記レジスタ部に対する読み出し動作又は書き込み動作が指定されるとともに、前記命令コードに付随する演算指定コードに応じて前記レジスタ部に保持される情報を用いた所定の演算の実行が指定されることを特徴とする請求項6に記載のメモリシステムの制御方法。
  8. 前記演算指定コードに応じて指定される所定の演算には、選択されたレジスタの内容を全て0又は1にセットする演算が含まれることを特徴とする請求項7に記載のメモリシステムの制御方法。
  9. 前記演算指定コードに応じて指定される所定の演算には、選択されたレジスタの内容に1を加算又は減算する演算が含まれることを特徴とする請求項7に記載のメモリシステムの制御方法。
  10. 前記演算指定コードに応じて指定される所定の演算には、選択されたレジスタの内容を1ビット分左にシフト又は右にシフトする演算が含まれる請求項7に記載のメモリシステムの制御方法。
  11. 請求項1から4のいずれかに記載のメモリシステムと、
    複数のプロセッサコアと、バスを介して前記メモリセルアレイ及び前記レジスタ部に対するアクセスを制御する制御ブロックとを含むマルチコアプロセッサと、
    を備えることを特徴とするコンピュータシステム。
  12. 前記メモリシステム及び前記マルチコアプロセッサは、同一の半導体チップ上に構成されることを特徴とする請求項11に記載のコンピュータシステム。
  13. 前記メモリシステム及び前記マルチコアプロセッサの各動作を制御するオペレーティングシステムが搭載されていることを特徴とする請求項11又は12に記載のコンピュータシステム
  14. 前記オペレーティングシステムは、複数のスレッドを同時に処理することを特徴とする請求項13に記載のコンピュータシステム。
JP2007268419A 2007-10-15 2007-10-15 メモリシステム、メモリシステムの制御方法、及びコンピュータシステム Abandoned JP2009098819A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007268419A JP2009098819A (ja) 2007-10-15 2007-10-15 メモリシステム、メモリシステムの制御方法、及びコンピュータシステム
US12/285,745 US20090100220A1 (en) 2007-10-15 2008-10-14 Memory system, control method thereof and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007268419A JP2009098819A (ja) 2007-10-15 2007-10-15 メモリシステム、メモリシステムの制御方法、及びコンピュータシステム

Publications (1)

Publication Number Publication Date
JP2009098819A true JP2009098819A (ja) 2009-05-07

Family

ID=40535322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007268419A Abandoned JP2009098819A (ja) 2007-10-15 2007-10-15 メモリシステム、メモリシステムの制御方法、及びコンピュータシステム

Country Status (2)

Country Link
US (1) US20090100220A1 (ja)
JP (1) JP2009098819A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101636377B1 (ko) * 2009-10-23 2016-07-06 삼성전자주식회사 재구성 프로세서, 재구성 제어 장치 및 방법, 그리고, 스레드 모델링 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220070A (ja) * 2003-01-09 2004-08-05 Japan Science & Technology Agency コンテキスト切り替え方法及び装置、中央演算装置、コンテキスト切り替えプログラム及びそれを記憶したコンピュータ読み取り可能な記憶媒体
JP4487744B2 (ja) * 2004-11-29 2010-06-23 富士通株式会社 マルチスレッド制御装置及び制御方法
US7380038B2 (en) * 2005-02-04 2008-05-27 Microsoft Corporation Priority registers for biasing access to shared resources

Also Published As

Publication number Publication date
US20090100220A1 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
US11682445B2 (en) Memory context restore, reduction of boot time of a system on a chip by reducing double data rate memory training
CN109564556B (zh) 具有条纹和读取/写入事务管理的存储器控制器仲裁器
Lee et al. Decoupled direct memory access: Isolating CPU and IO traffic by leveraging a dual-data-port DRAM
CN109154918B (zh) 自刷新状态机mop阵列
KR101039782B1 (ko) 능동 메모리 프로세서를 포함하는 네트워크-온-칩 시스템
KR102370477B1 (ko) 가상 컨트롤러 모드를 가진 메모리 컨트롤러
JP4859616B2 (ja) 縮小命令セット・コンピュータ・マイクロプロセッサーの構造
US5608881A (en) Microcomputer system for accessing hierarchical buses
JP4764360B2 (ja) メモリ属性を用いるための技術
KR20210011451A (ko) 하드웨어 가속을 위한 하드웨어 리소스들의 임베디드 스케줄링
KR102205899B1 (ko) 메모리의 뱅크 충돌을 방지하기 위한 방법 및 장치
JP6005392B2 (ja) ルーティングのための方法及び装置
JP4931828B2 (ja) ライン・アクセスおよびワード・アクセスの結合を用いてメモリをアクセスするためのシステムおよび方法
EP1760580A1 (en) Processing operation information transfer control system and method
JP2009098819A (ja) メモリシステム、メモリシステムの制御方法、及びコンピュータシステム
JP5289688B2 (ja) プロセッサシステム及びプロセッサシステムを動作させるオペレーティングシステムプログラムの処理方法
JP2010003151A (ja) データ処理装置
US20070220331A1 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
Jing et al. Bank stealing for a compact and efficient register file architecture in GPGPU
TW201220044A (en) Method for setting memory address space
JP2011118744A (ja) 情報処理装置
JP5967646B2 (ja) レジスタレスアーキテクチャによるキャッシュレスマルチプロセッサ
JP3299663B2 (ja) 演算装置
CN117492843A (zh) 一种基于npu的指令数据读取方法、装置及相关设备
Fang Architecture support for emerging memory technologies

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100914

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20111117