JP6207213B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP6207213B2 JP6207213B2 JP2013090790A JP2013090790A JP6207213B2 JP 6207213 B2 JP6207213 B2 JP 6207213B2 JP 2013090790 A JP2013090790 A JP 2013090790A JP 2013090790 A JP2013090790 A JP 2013090790A JP 6207213 B2 JP6207213 B2 JP 6207213B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- processing
- data
- processing data
- request
- 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.)
- Active
Links
Images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Description
本発明は、外部からの要求に応じて処理データを提供する、情報処理装置に関する。 The present invention relates to an information processing apparatus that provides processing data in response to an external request.
従来、コンピュータ分野では、或る処理を行うに当たり、その一部をハードウェア(以下、H/Wと表記)で実行し、CPUの処理効率や機器全体の処理速度を向上させるといったことがなされてきた。ここでいう或る処理とは、以下の3つのものが考えられる。 Conventionally, in the computer field, when performing certain processing, a part of the processing is executed by hardware (hereinafter referred to as H / W) to improve the processing efficiency of the CPU and the processing speed of the entire device. It was. The following three processes can be considered as a certain process here.
1つ目は、メモリ領域等、各種リソースの管理処理である。ここで、ID管理機能の具備されたH/Wを使用したメモリリソース管理例について説明する。論理的または物理的に分散されたメモリ領域の各々にIDを、H/WまたはCPUにより付与された状態において、H/Wは該当するID(に対応づけられたメモリ領域)が使用されているか否かを一元管理する。CPUがID(に対応づけられたメモリ領域)を使用したい場合は、H/WにIDの取得要求を送信する。取得要求を受信したH/Wは、H/WからCPUに対し、まだ使用されていないIDを送信することにより、CPUに対してID(に対応づけられたメモリ領域)の使用許可を与える。併せて、H/Wは、該当IDを他のCPUに対して使用禁止状態として保持しておく。また、CPUが使用しているメモリを開放したい場合は、該メモリに対応づけられたIDの解放要求をH/W対して送信する。受信したH/Wは、該IDを再び使用可能IDとして管理する。 The first is management processing of various resources such as a memory area. Here, an example of memory resource management using H / W having an ID management function will be described. Whether an ID is assigned to each of the logically or physically distributed memory areas by the H / W or CPU, and whether the corresponding ID (memory area corresponding to the H / W) is used Centrally manage whether or not. When the CPU wants to use the ID (memory area associated with the ID), it sends an ID acquisition request to the H / W. The H / W that has received the acquisition request transmits an ID that has not been used from the H / W to the CPU, thereby giving the CPU permission to use the ID (memory area associated with the CPU). At the same time, the H / W holds the corresponding ID as a use-prohibited state for other CPUs. Further, when it is desired to release the memory used by the CPU, an ID release request associated with the memory is transmitted to the H / W. The received H / W manages the ID again as an available ID.
2つ目は、乱数生成処理である。CPUは、乱数生成をH/Wに要求し、H/Wは、CPUより高速に、また、よりランダム性の高い乱数を生成し、結果をCPUに返すという処理がある。 The second is random number generation processing. The CPU requests the H / W to generate a random number, and the H / W generates a random number having a higher randomness than the CPU and returns the result to the CPU.
3つ目は、タイマー処理である。タイマーのスタートをH/Wに通知し、一定時間経過後にH/Wにスタートからどの程度時間が経過したか、問い合わせるとH/Wから経過時間が返信されるといった処理である。 The third is timer processing. This is a process in which the start of the timer is notified to the H / W, and when an inquiry is made as to how much time has elapsed from the start to the H / W after a certain time has elapsed, the elapsed time is returned from the H / W.
上記3つの例のいずれにも当てはまることは、CPUは一度H/Wに対して要求を送信し、その後H/Wから所望のデータを応答として受信するという点である。 What is applicable to any of the above three examples is that the CPU once transmits a request to the H / W and then receives desired data from the H / W as a response.
資源の管理をするH/Wとして、特許文献1では、資源の仮予約要求を受け付ける資源管理装置について開示されている。仮予約要求を受理した資源管理装置は、仮予約識別情報を仮予約要求に対して応答方法について開示している。
As H / W for managing resources,
また、特許文献2では資源管理方法について開示されている。具体的にはクライアント・サーバシステムに展開されたソフトウェア・アプリケーション用の資源管理方法である。ある要求に適応するために必要とされる資源グループが、クライアント・コンピュータ上のローカルに格納されているかを判断し、ローカルに格納されていない場合に、サーバシステムから取得するといった方法について記載されている。
また、特許文献3では、メモリリソースの管理方法について開示されている。データ処理装置において、使用するスペースの獲得要求に対応すべく、空スペースを確認し、該空スペースが充分に無い場合には、スペース獲得要求を待ち状態に置き、スペースが解放された時点で処理を行うようにする方法について記載されている。 Patent Document 3 discloses a memory resource management method. In the data processing device, in order to respond to the request for acquiring the space to be used, an empty space is confirmed. If there is not enough empty space, the space acquisition request is put in a wait state and processing is performed when the space is released. It describes how to do this.
H/Wで処理を実行し、結果をCPUが受け取るといった構成の場合、以下の課題がある。CPUが処理結果の取得要求をH/Wに送信した際、H/Wで処理結果が得られるまでに時間がかかる場合、CPUが待たされることにある。すると、CPUは次の処理に移行できない。たとえば、該処理結果が得られなくても他のすべき処理があるのであれば、CPUは速やかに次の処理に移行できることが望ましい。 In a configuration in which processing is executed by H / W and the result is received by the CPU, there are the following problems. When the CPU transmits a processing result acquisition request to the H / W, if it takes time until the processing result is obtained by the H / W, the CPU is waiting. Then, the CPU cannot shift to the next process. For example, it is desirable that the CPU can promptly move to the next process if there is another process to be performed even if the process result is not obtained.
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
情報処理装置であって、
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記メモリ部は、前記処理データの格納状態を制御部へ通知し、
前記制御部は、前記格納状態に基づいて、前記応答部に当該処理データを含む応答信号を前記要求部へ送信させるか、前記所定の値を含む応答信号を前記要求部へ送信させるかを制御することを特徴とする。
In order to solve this problem, for example, an information processing apparatus of the present invention has the following configuration. That is,
An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit ;
The memory unit notifies the control unit of a storage state of the processing data;
The control unit controls whether to cause the response unit to transmit a response signal including the processing data to the request unit or to transmit a response signal including the predetermined value to the request unit based on the storage state. It is characterized by doing .
本発明によれは、少なくともバスを介しての処理データ取得の要求があった場合には、その要求に対する処理結果の処理データが得られるまでは、予め設定された疑似データを、処理の応答結果として出力することで、要求元が次の処理に速やかに移行させることができる。複数の要求元から、処理データ取得の要求を実行する場合であっても、1つの要求元が本装置のアクセスのためのバスを占有しないため、他の要求元も速やかに本装置をアクセスができる。 According to the present invention, when there is a request for obtaining processing data via at least the bus, the preset pseudo data is used as the processing response result until the processing data of the processing result corresponding to the request is obtained. As a result, the request source can promptly move to the next process. Even when processing data acquisition requests are executed from a plurality of request sources, one request source does not occupy the bus for accessing the apparatus, so other request sources can quickly access the apparatus. it can.
以下、本発明を適用した好適な実施形態を説明する。まず、全ての実施形態において共通となる部分について説明し、差異となる部分については各実施形態にて説明する。図1は、本発明の適用が可能な情報処理装置101のブロック図である。情報処理装置は、処理部107が具備されており処理部107から出力された処理データを、要求元からの要求に応じて提供する機能を有している。以下詳細に説明する。
Hereinafter, preferred embodiments to which the present invention is applied will be described. First, a common part in all the embodiments will be described, and a different part will be described in each embodiment. FIG. 1 is a block diagram of an
102は、Clock信号(クロック信号)である。情報処理装置101の各機能部はこのClock信号102の供給を受け、その立ち上がりエッジの検出をトリガに動作を行う。103は、Request信号である。要求元(CPU121乃至123)から情報処理装置101に対し、処理データの取得を要求する場合に、要求元は該信号を出力(‘1’にアサート)する。104は、Response信号である。要求元からRequest信号103を受け取ると、その応答として、Response信号104を出力(‘1’にアサート)する。105は、Response Dataである。要求元に対し、Response信号104を出力する際、同時に出力するデータである。
106は、本装置全体の制御を司る制御部である。情報処理装置101の各種機能部の状態を管理し制御を行うものである。詳細は後述(図3,4にて説明)する。107は、処理部である。情報処理装置106の固有機能を有する部分であり、要求元より取得要求のある処理データは、処理部107で生成される。処理部107は、制御部106に対し、処理部107のステータス(Unit Status信号114)を出力する。本説明では、Unit Statusは、処理部107の内部に処理データを格納しているか否かのステータス(Empty or Not Empty)を出力するものとする。また、処理部107の外部に対し、処理データ(処理結果)を送信する(FIFO Input Data117)場合、併せて処理データ出力通知信号(FIFO Input Enable信号116)を送信する。また、処理部107は、処理データの生成を行うか否かの決定の指針に、外部のステータス信号(FIFO Status信号115)を受け付ける構成となっている。処理部107具体的な例については、各実施形態1〜3にて説明する。
108は、FIFO部である。処理部107からの処理データ(FIFO Input Data117)を受信する。また、制御部106からの指示(FIFO Output Enable)により、格納済み処理データを出力する(FIFO Output Data119)。また、FIFO部108は、FIFOの格納状態情報(FIFO Status信号115)を出力する機能を有する。具体的には、(1)Empty/(2)Not Empty(≠Full)/(3)Fullの3状態のいずれかを出力する。
109は、要求を受信する受信部並びに応答する応答部として機能するIF部である。要求元からの処理データ取得要求を受信し、要求元へ応答を返す機能を有する。応答(Response信号104)の制御は応答部110が担う。また、IF部111には、レジスタ部111が具備され、Response信号104が出力される時は、同時に、レジスタ部111に格納されたデータが出力される。IF部109は、レジスタ部111に格納されたデータ値(Reg Value112)を出力する機能を有する。また、IF部109は、IF部109の外部からレジスタ部111に入力すべきデータ(Reg In Data113)を受信する機能を有する。
IF部109の処理について、図4(b)を用いて詳細に説明する。図4(b)は、Response 信号104と、Response Data105の処理を示すフローチャートである。各々の信号/データは、Clock信号102の立ち上がり時に、所定の条件により状態変化を行う。Clock信号102の立ち上がりまでは、信号/データとも、前の状態を保持する(S409)。Clock信号102の立ち上がり時(S409でYes)、Request信号103の状態を確認する(S410)。このとき、Request信号103が、‘1’である場合には(S410でYes)、Response信号104を‘1’にし、応答を返す。同時に、Response Data105は、レジスタ部111で保持されているデータを出力する(S411)。Request信号103が‘1’で無い場合(S410でNo)、Response信号104を‘0’にし、同時にResponse Data105をHighインピーダンスにしておく(S412)。これは万が一にResponse Data105の接続先がデータを出力してきても、出力が衝突することによる機器破損を防ぐためである。以上が、図4の説明である。上記からも容易に理解できるように、I/F部109がRequest信号103が、‘1’である場合には、必ずS411の処理を行うので、処理データの有無とは無関係にResponse信号104を‘1’にし、応答を返すことになる。
The processing of the
図1の説明に戻る。110は、スイッチ部である。このスイッチ部110は、I/F部109内のレジスタ部111に出力するデータを、制御部106からの指示(Data Select信号120)を元に選択して、出力する機能を有する。選択は、処理部107より出力された処理データ、または、処理データではない疑似データから選択する。疑似データはスイッチ部110に格納されている。情報処理装置101では、処理部107が処理データの生成ができない状態で、かつ、FIFO部108にも処理データが入っていない場合に、Empty Code(エンプティコード)を疑似データとして出力するものとする。また、FIFO部108にデータはないが、処理部107にて処理中で有る場合には、Busy Code(ビジーコード)を疑似データとして出力するものとする。以上が、情報処理装置101の概要である。
Returning to the description of FIG.
次に、情報処理装置101に対する処理要求を行う要求元について説明する。121、122、123は、CPUである。本明細書では、3つのCPUが、情報処理装置101への要求元となる場合を例にして説明する。CPU121乃至123と、情報処理装置101は、Bus124で接続されるものとする。以上が、図1に関しての説明である。
Next, a request source that makes a processing request to the
次に、情報処理装置101に具備される制御部106について説明する。制御部106の主な処理は2つある。一つ目は、FIFOからのデータ出力指示、すなわちFIFO Output Enable信号118の制御である。二つ目は、レジスタ部111へ入力するデータの選択、すなわち、Data Select信号120の制御である。各々の制御は、レジスタ部111に格納されているデータと、処理部107と、FIFO部108の状態を監視することにより行われる。すなわち、Reg Value112と、Unit Status114と、FIFO Status115の監視である。二つの処理について、図3(a)、(b)を用いて説明する。
Next, the
まず、FIFO Output Enable信号118の制御について図3(a)を用いて説明する。同図は、FIFO Output Enable信号118の処理を示すフローチャートである。FIFO Output Enable信号118もClock信号102の立ち上がり時(S301でYes)、所定の条件により状態が変化するものである。Clock信号102が立ち上がっていることを条件に、以下に説明する(1)〜(3)の全ての条件がそろったときに、FIFO Output Enable信号118を‘1’にし、FIFO部108より処理データの出力を要求する(S305)。(1)〜(3)の条件のうち、いずれかの条件を満たさない時には、‘0’として、処理データの出力を促さない(S306)。以下に、条件(1)〜(3)について説明する。
(1)FIFO Status信号115がEmptyではない(S302でNo)。FIFO Status信号115がEmptyの時は、FIFO部108より処理データを取り出すことができない状態なので処理データの出力を要求しない。
(2)Reg Value信号112が、Emptyまたは、Busyである(S303でYes)。Reg Value112が、EmptyでもBusyでもない、処理データである場合は、既にデータを渡す準備ができているので、FIFO部108へデータの出力を促さない。ただし、レジスタ部111に、常に処理部107からの最新の処理データが入っていることが望ましいケース(実施形態3にて説明)に関しては、この限りではない。
(3)FIFO Output Enable信号118が‘0’である(S304)。前にFIFO Output Enable信号118が、‘1’である場合は、既にFIFO部108から処理データが出力されている状態なので、一度を停止する。ただし、FIFO部108がバーストリードを受け付ける場合は、レジスタ部111に最新処理データが格納されることが望ましい場合は、この限りではない。
First, the control of the FIFO Output Enable signal 118 will be described with reference to FIG. This figure is a flowchart showing the processing of the FIFO
(1) The FIFO Status signal 115 is not Empty (No in S302). When the FIFO Status signal 115 is Empty, the processing data cannot be taken out from the
(2) The
(3) The FIFO Output Enable signal 118 is “0” (S304). If the FIFO Output Enable signal 118 is “1” before, the processing data has already been output from the
以上が、FIFO Output Enable信号118の制御である。次に、Data Select信号120の制御ついて図3(b)を用いて説明する。図は、Data Select信号120の処理を示すフローチャートである。Data Select信号120もClock信号102の立ち上がり時(S311でYes)、所定の条件により状態が変化するものである。
The above is the control of the FIFO
まず、FIFO Output Enable信号118が‘1’である場合(S312でYesの時)について説明する。この時は、FIFO部108より処理データが出力されるので、レジスタ部111に該処理データを格納すべく、Data Select信号120を‘0’にセットする。
First, the case where the FIFO Output Enable signal 118 is “1” (Yes in S312) will be described. At this time, since the processing data is output from the
S312でNoの場合は、各種条件により、Data Select信号120は、複数の値をとり得る。現在のData Select信号120が‘0’であり、かつ、Request信号103が‘0’であるときは、レジスタ部111に処理データが格納されており、かつ、要求元へ出力されることがない。このことは、次の処理データ、または、疑似データを選択して格納する必要がないことを意味する。よって、Data Select信号120を切り換える必要が無い(結果として、Data Select信号120は‘0’を維持する)。S314でNoである場合は、FIFO Status信号115とUnit Status信号114の状態で、Data Select信号120の値が異なる。両方の状態がEmptyである場合は(S315でYes)、Data Select信号120を‘2’にする(S317)。どちらかが、Emptyではない場合は(S315でNo)、Data Select信号120を‘1’にする(S316)。以上が、Data Select信号120の制御方法である。
In the case of No in S312, the Data Select signal 120 can take a plurality of values depending on various conditions. When the current
以上、制御部106で実施される2つの信号、(1)FIFO Output Enable信号118/(2)Data Select信号120の制御方法について説明した。この制御により、レジスタ部111に格納されるデータがどのように変化させるかについて、図4(a)を用いて説明する。同図は、レジスタ部111格納されるデータであるReg Value112の処理を示すフローチャートである。Reg Value112もClock信号102の立ち上がり時(S401でYes)、所定の条件により状態が変化するものである。
The control method of the two signals, (1) FIFO Output Enable signal 118 / (2)
まず、Request信号103の状態により、処理が切り替わる。Request信号103が‘0’であり(S402でNo)、かつ、Reg Value112が、BusyでもEmptyでもない(S405でNo)の場合は、現在の処理データをそのまま保持する。Request信号103が‘1’、または、Reg Value112が疑似データ(Busy or Empty)である場合に、S403の条件へ移行する。S403以降は、DataSelect信号120の値により、Reg Value112が更新される。Data Select信号120が、‘0’である場合は、FIFO部108より、出力される処理データがあるので、Reg Value112をFIFO部108より出力された処理データに更新を行う(S404)。Data Select信号120が、‘1’、または‘2’である場合は、それぞれReg Value112をBusy(S407)、または、Emtpy(S408)に更新させる。以上がReg Value112の処理である。以上、処理部107を除く、図1の主要な部分における構成・処理について説明した。
First, processing is switched according to the state of the
次に、要求元から要求であるRequest信号103も含め、外部ないし内部の主要なデータ/信号のタイミングチャートを図5に示す。同図は、情報処理装置101の外部、内部それぞれにおける信号/データを時間的にどのように遷移するかを示したものである。符号501は、図1におけるClock信号102を示し、符号502はRequest信号103、符号503はResponse信号104、符号504はResponse Data105を示す。また、符号505は図1のReg Value112、符号506はData Select信号120、符号507はFIFO Output Data119、符号508はFIFO Output Enable信号118を示す。そして、符号509は図1のFIFO Status信号115、符号510はUnit Status信号114に対応している。Request信号103が、‘1’であることを検出すると、即座にResponse信号104とともに、Response Data105が出力されることが分かる。また、Reg Value112の状態は、Reg Value112の値により、Request信号103の状態に依らず、バックグラウンドで更新されることが分かる。Data Select信号120と、FIFO Output Enable信号118の制御により、FIFO Output Data119とReg Value112が更新されていくことが分かる。
Next, FIG. 5 shows a timing chart of main data / signals inside and outside including the
本説明では、レジスタ部111を具備し、また、FIFO部108は、1クロックサイクル出力したら、次のサイクルはリードしないFIFOを用いて説明した。しかし、FIFO部108がバーストリード、すなわち、FIFO Output Enable信号118が連続したクロックサイクルで‘1’になっても処理データの出力が可能であるものを用いても良い。その場合、Request信号103をそのまま、制御部106で必要によりゲートし、FIFO部108に直接、FIFO Output Enable信号として入力する仕組みにしてもよい。その様にすることにより、Response Data105より出力されるデータに、情報処理装置101の状態や処理結果に関して即応性を持たせることができる。
In this description, the
[第1の実施形態]
次に、第1の実施形態について説明する。本実施形態では、情報処理装置101をID管理装置に適用した場合について説明する。ID管理装置の動作の概要については、背景技術に記載したのでここでは割愛する。情報処理装置101をID管理装置に適用するには、処理部107がID管理処理の主要部分を担わせればよい。ID管理装置に適用したときの処理部107について詳細に説明する。図2は、処理部107の内部ブロック図である。なお、要求元から、IDの解放要求を受け付ける場合においては、本発明の主となる部分ではないため割愛する。
[First Embodiment]
Next, a first embodiment will be described. In the present embodiment, a case where the
201は、処理制御部である。FIFO Status信号115を監視し、具体的な指示を処理検索部204やID操作部206に対し行う。また、Unit Status信号114により、内部状態を外部に送信する。202は検索部である。処理制御部201からの指示により、メモリ部204に未使用IDがあるか否かを検索する。検索のために必要なメモリRead操作をメモリ管理部205に送信する。また、処理結果について、処理制御部201に送信する。なお、検索部202は、未使用IDの数を調べる機能を有していても良い。203は、ID操作部である。未使用IDを外部に出力し、未使用IDを使用済にする処理と、要求元より解放要求のあったIDに対して、処理制御部201からの情報により未使用状態に戻す処理を実行する。また、処理結果について、処理制御部201に送信する。ID操作のために必要なメモリRead/Write操作をメモリ管理部205に送信する。また、登録されているIDを処理データとして外部に出力する際、取得してきたメモリ値を変換部210に送信する。
201 is a processing control unit. The FIFO Status signal 115 is monitored, and specific instructions are given to the
204はメモリ部である。メモリ部204に各ビットに、システムが有するリソースである各メモリ領域に一意に割り当てたIDについて、そのIDで示されるメモリ領域が未使用(値が‘1’)、または使用済(値が‘0’)である情報が格納されている。1つのAddressには32ビットが割り当てられ、各ビット位置がID番号に対応する。従って、Address0x0000_0000の32ビットはID番号「0」乃至「31」を管理するためのものである。address“0x0000_0000”番地には0b01000100_00000000_00000000_00010001(先頭の0bは二進数を示す)が格納されている。従って、ID番号0乃至31のうち、4つのIDが未使用状態(1の数が4つ)となっていることを表す。また、Address0x0000_0004の32ビットは後続するID「32」乃至「63」を管理するためのものである。以下、同様である。このように各アドレスの各ビット毎にIDを対応づけることにより、ID番号をそのまま使用して管理するよりもメモリを削減できる効果がある。
205はメモリ管理部である。検索部202または、ID操作部203からの指示により、メモリ部204に対して、必要なメモリアクセス(Read/Write)を実行する。メモリ部204には、アクセスがReadまたはWriteの種別を表すR/W信号206、アクセスの発生を示すCS(Chip Select)信号207が具備されている。さらに、メモリ部204には、アクセス先アドレスを示すAddress208、Read/Writeされるデータが現れるMemory Data209が具備される。
210は、変換部である。先に説明したように、メモリ部204では、各IDを各アドレスのビットに割り当てて管理しているため、実際のID値とビットデータを双方に変換する処理を担う。また、外部にIDを処理データとして出力するインターフェイスを具備する。具体的には、FIFO Input Enable信号116とFIFO Input Data117である。以上が第1の実施形態における処理部107の処理概要である。このように処理部107をID管理処理機能部として適用することにより、情報処理装置101をID管理装置として適用可能であることについて説明した。
[第2の実施形態]
第1の実施形態では、情報処理装置101をID管理装置に適用した場合について説明した。また、第1の実施形態では、複数の要求元に対し要求元を特定せず、要求受信時に提供できるIDがあればその値を処理データとして提供し、IDがなければ、情報処理装置101のステータスを疑似データとして提供する。すなわち複数の要求元でも適用が可能である。ただし、処理部107の処理タイミングと、要求元からの要求受信タイミングにより、先に要求のあった要求先に、疑似データを提供し、後から要求のあった要求先に処理データを提供するといったことが起こり得る。そこで、先に取得要求のあった要求先に処理データを提供できない(つまり、疑似データを提供する)場合は、予約として受け付ける方法について説明する。
[Second Embodiment]
In the first embodiment, the case where the
図6の符号601は予約処理に対応した情報処理装置である。情報処理装置101との差分について記載する。
Reference numeral 601 in FIG. 6 denotes an information processing apparatus that supports reservation processing. A difference from the
まず、情報処理装置601は予約に対応するために、どの要求元に対して予約を行うかを決定するために要求元の特定を行う必要がある。そこで、要求元を特定するための信号である、Req ID602を使用する。各要求元(CPU121乃至123)からのRequest信号103発行時に、Req IDを付与されるように構成される。Req ID602の付与は、バス603または要求元(CPU121乃至123)のどちらでReq ID602を付与しても良い。なお、以後Req ID602を適用した場合の説明を続けるが、基本的に要求元を特定できればどのような方法でもよい。例えば、予め各要求元が、Request信号103を発行する際に、取得データのReadに指定するエリアのアドレスを要求元でそれぞれ異なるものを用いる等の交渉が成立していれば、アドレス情報を利用してもよい。
First, in order to deal with a reservation, the information processing apparatus 601 needs to specify a request source in order to determine which request source to make a reservation. Therefore,
604は、予約に対応したIF部である。予約に対応するためには、どの要求元からの取得要求化により返信するResponse Data105を切り換える必要があるため、そのためにレジスタを要求元毎に具備する。
608は、予約に対応した制御部である。予約に対応するためにReq ID602と各レジスタ部605乃至607に格納されたデータ値であるReg1 Value/Reg2 Value/Reg3 Valueを受け取る構成になる。また、レジスタ部605乃至607毎に、レジスタ部へ入力するデータを選択するためにData Select信号を3つ出力する(612、613、614)。制御部608の詳細は後述する。また、情報処理装置601は、各レジスタ部のそれぞれに対応するために、スイッチ部110を3つ具備する。各々のスイッチ部110は、制御部608から各々のスイッチ部110に割り当てられたData Select信号により動作する。以上が情報処理装置601の全体概要である。
次に、制御部608の詳細について、図7を用いて説明する。なお、制御部106との大きな差分である予約機能についてここでは説明を行う。他の部分については、制御部106のそのまま、もしくは、若干の変更で適用できるため割愛する。
Next, details of the
制御部608には、要求元の数だけタグを有している。図8では、TAG1(701)、TAG2(702)、TAG3(703)の3つが、それぞれCPU1(121)、CPU2(122)、CPU3(123)の予約処理の管理に使用される。以下、タグがどのように使用され予約処理がされるかについて、説明する。
The
704は、要求元プールである。予約処理の必要が無い場合には、全てのタグは、要求元プール704に格納(記録)される。予約処理の必要が生じた際、つまり、Reserve Request706を受信した場合、予約の必要な要求元に対応づけられたタグが、要求元プールからTo Do Tag707より、出力されて予約処理が開始される。なお、Reserve Request706より、要求されたタグが、すでに予約処理に入っており、要求元プール704に存在しない場合は、特に何もしない。予約処理の終了、または、予約の必要が無くなった場合には、Done Tag711より、要求元プールに該当タグは戻される。
705は予約発行部である。要求元プールに対して、予約要求であるReserve Request706を送信する。予約要求は、以下の条件のとき発行される。すなわち、Request信号103が‘1’であることを検知したときに、Req ID(602)に対応するレジスタ部の値が疑似データで有った場合に予約が成立する。具体的には、取得要求の検知時、要求元がReq ID602より、CPU1(121)とわかり、かつ、その時のレジスタ部1(605)のReg1 Value609が疑似データであった時は、TAG1(701)の予約が成立する。
この情報をReserve Request706へ送信する。
This information is transmitted to the
708は、予約元FIFOである。予約処理の決まったタグを最初に格納される場所である。すでに予約処理が処理中である場合のバッファとして使用され、(要求先の数−1)の段数分のFIFOが具備される。予約元レジスタ710のタグが抜けるタイミング、もしくは、予約元レジスタ710が空の時、Next Do Tag709より、予約元レジスタ703に格納しているタグから1つを送信する。
710は、予約元レジスタである。予約処理の実行を行うタグが格納される。図では、TAG3(703)が格納されている状態である。予約処理の実行は、予約制御部712で処理され、予約元レジスタ711に格納されたタグを参照して処理を行う。
Reference numeral 710 denotes a reservation source register. A tag for executing the reservation process is stored. In the figure, TAG3 (703) is stored. The reservation process is executed by the
712は、予約制御部である。予約元レジスタ703に格納されているタグを元に予約すべき要求元を確認する。そして、どの3つ具備されるスイッチ部110のどのスイッチ部110に対し、FIFO部108からの処理データをレジスタ部へ伝搬させるか特定するための信号(Switch Select信号715)をデータセレクト部716に出力する。また、レジスタ部1(605)〜レジスタ部3(607)を監視し、有効データの格納を確認した場合は、予約を取り下げる。また、FIFO Output Enable信号118とSwitch Select信号715を監視し、予約処理が完了したと判断した場合にも、予約を取り下げる。予約を取り下げる場合は、予約元レジスタ710に格納されているタグを要求元プールに戻す処理を行う。データセレクト部716は、基本的には図3の(b)の処理となるが、Data Select信号が3つになるため、処理が3つ動作することになる。また、Swich Select信号715の使用/未使用状況や、使用時の出力値(どの要求元への予約処理を行っているか)によって、S313のData Selectを‘0’にする処理への分岐の有無が変更される。以上が、第2の実施形態における予約方法の説明である。なお、第1の実施形態では、ID管理装置への適用を例にしたが、第2の実施形態で説明した予約方法は、特にID管理装置でなければ適用できないわけではないことはここまでの説明で明らかである。
[第3の実施の形態]
第1の実施形態、および、第2の実施形態では、ID管理装置に適用した場合について説明した。このとき、処理部107が出力する処理データ、および、処理部107からのデータではなく、スイッチ部110で生成される疑似データは、それぞれ、図8の符号801ようになる。図8では、ID管理装置が管理可能なID値は、0〜65535までの範囲で65535個の例であるが、ID値として許容しているデータと疑似データが重複しない限り、管理可能なID値の最大数は可変として適用可能である。
[Third Embodiment]
In the first embodiment and the second embodiment, the case where the present invention is applied to an ID management apparatus has been described. At this time, the processing data output from the
また、本発明はID管理装置以外にも適用が可能である。例えば、タイマー装置にも適用できる。ここでは、タイマー装置に、あるタイマー値がセットされてから、該タイマーにセットされた時刻になるまで、タイマー値を減算していくものを例に説明する。具体的には、図1における処理部107が、タイマー処理部となり、以下の機能を有するものとする。タイマー処理部は、予めセットされたタイマー値をカウンタにセットし、一定時間もしくは一定クロックサイクル経過ごとに、カウンタ値が零になるまで減算していく。また、タイマー処理部は、カウント値が更新されるたびに、カウント値を出力する。タイマー装置はその性質上、問い合わせを受信後、リアルタイマー値を出力必要があるため、FIFO部108は一段にする、あるいは、FIFOをなくし、スイッチ部110のデータ入力部に直接、処理部107の出力IFを接続する構成が望ましい。FIFO部108を実装しない場合は、FIFO Output Enable信号118を処理部107に入力し、処理部107より処理データの出力を促す構成にしてもよい。また、常に最新の処理データが入っていることが望ましいため、図3のS303の条件、Reg Value112に処理データが入っている場合は、FIFO Output Enableを‘0’にしない条件を削除してもよい。
Further, the present invention can be applied to devices other than the ID management device. For example, it can be applied to a timer device. Here, an example will be described in which a timer value is subtracted from a certain timer value set in the timer device until the time set in the timer is reached. Specifically, the
タイマーがセットされていない場合は、レジスタ部に、Null Codeを表すデータを出力するように、スイッチ部110を構成すればよい。図8の符号802にタイマー装置に適用させたときの処理データおよび、疑似データについて記載する。図8では、Timerクロックの周期が仮に1秒で有れば、タイマー装置は、最大65535秒の時間を計時することが可能であることを示している。疑似データと処理データが重複しないようにスイッチ部110と処理部107を設定することで、さらに大きなカウンタ値を扱うことができるのは、ID管理装置と同様である。
When the timer is not set, the
さらに、本発明は乱数発生処理を行う装置への適用も可能である。ここでは、処理部107を乱数発生器として、乱数を生成するたびにFIFO部108へ出力する機能を有するものとする。乱数発生器を、FIFO部108がFullになるまで、乱数の発生をする構成にすれば、要求元からの要求タイミングが連続しても、FIFO部108に処理データが残っている限り、データを切らすことなく乱数を提供することが可能である。図8の符号803に乱数発生装置に適用した場合の処理データ、疑似データについて記載する。図8の例では、この乱数発生装置は、0〜65535までの乱数の発生が可能であることを示している。また、乱数の計算中は、Busy Codeを出力することを表している。
Furthermore, the present invention can be applied to an apparatus that performs random number generation processing. Here, it is assumed that the
疑似データと処理データが重複しないようにスイッチ部110と処理部107を設定することで、さらに大きなカウンタ値を扱うことができるのは、ID管理装置と同様である。
Similar to the ID management apparatus, it is possible to handle a larger counter value by setting the
ここでは、ID管理装置以外に、タイマー装置、乱数発生装置に関して、本発明の適用例を示した。しかし、本発明は特にこれらに適用を限定するものではない。つまり、要求元からのデータ取得要求を元に処理部107からの処理データを提供するようなものであれば、どのような処理を情報処理装置が担っていても適用可能である。
Here, in addition to the ID management device, an application example of the present invention is shown with respect to a timer device and a random number generation device. However, the present invention is not particularly limited to these applications. In other words, any processing that the information processing apparatus is responsible for is applicable as long as it provides processing data from the
Claims (8)
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記メモリ部は、前記処理データの格納状態を制御部へ通知し、
前記制御部は、前記格納状態に基づいて、前記応答部に当該処理データを含む応答信号を前記要求部へ送信させるか、前記所定の値を含む応答信号を前記要求部へ送信させるかを制御する
ことを特徴とする情報処理装置。 An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit ;
The memory unit notifies the control unit of a storage state of the processing data;
The control unit controls whether to cause the response unit to transmit a response signal including the processing data to the request unit or to transmit a response signal including the predetermined value to the request unit based on the storage state. An information processing apparatus characterized by:
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記応答部は、前記処理部に出力すべき処理データが存在せず、かつ、前記メモリ部に処理データが格納されていない第1の場合と、前記処理部に出力すべき処理データが存在し、かつ、前記メモリ部に処理データが格納されていない第2の場合とで、異なる値を含む応答信号を前記要求部へ送信する
ことを特徴とする情報処理装置。 An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit;
In the first case where there is no processing data to be output to the processing unit and no processing data is stored in the memory unit, the response unit has processing data to be output to the processing unit. and, between the case where the second processing data in the memory unit is not stored, information processing apparatus a response signal including a different value and transmits to the requesting unit.
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記処理部は、前記メモリ部における処理データの格納状態に応じて、前記所定の処理を実行する
ことを特徴とする情報処理装置。 An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit;
Wherein the processing unit, in accordance with the storage state of processing data in the memory unit, information processing apparatus and executes the predetermined processing.
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記所定の処理は、タイマ処理、もしくは、乱数を発生させる処理である
ことを特徴とする情報処理装置。 An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit;
Wherein the predetermined processing, timer processing, or information processing device which is a process that generates random numbers.
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記処理部は、更に、複数のメモリ領域の各々に、使用中、もしくは、未使用であることを示すビットと、当該メモリ領域を示すIDとを対応付けて管理する
ことを特徴とする情報処理装置。 An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit;
Wherein the processing unit is further to each of the plurality of memory areas, in use, or, a bit indicating that it is not used, information which is characterized in that correspondingly manages the ID indicating the memory area Processing equipment.
所定の処理を実行する処理部と、
前記処理部と接続され、前記処理部による前記所定の処理によって得られた処理データを格納するメモリ部と、
クロック信号が供給されることで動作するバスと接続され、前記処理データを要求する要求部と、
前記バスと接続され、前記要求部により前記処理データが要求された際に、前記メモリ部に前記処理データが格納されている場合には当該処理データを含む応答信号を前記要求部へ送信し、前記メモリ部に前記処理データが格納されていない場合には当該処理データに代えて所定の値を含む応答信号を前記要求部へ送信する応答部とを有し、
前記要求部は、複数のCPUで構成される
ことを特徴とする情報処理装置。 An information processing apparatus,
A processing unit for executing a predetermined process;
A memory unit that is connected to the processing unit and stores processing data obtained by the predetermined processing by the processing unit;
Connected to a bus that operates when a clock signal is supplied, and a request unit that requests the processing data;
When the processing data is requested by the request unit when connected to the bus and the processing data is stored in the memory unit, a response signal including the processing data is transmitted to the request unit, A response unit that transmits a response signal including a predetermined value to the request unit instead of the process data when the processing data is not stored in the memory unit;
It said request unit, information processing apparatus characterized by including a plurality of CPU.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013090790A JP6207213B2 (en) | 2013-04-23 | 2013-04-23 | Information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013090790A JP6207213B2 (en) | 2013-04-23 | 2013-04-23 | Information processing device |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2014215724A JP2014215724A (en) | 2014-11-17 |
| JP2014215724A5 JP2014215724A5 (en) | 2016-05-26 |
| JP6207213B2 true JP6207213B2 (en) | 2017-10-04 |
Family
ID=51941453
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013090790A Active JP6207213B2 (en) | 2013-04-23 | 2013-04-23 | Information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6207213B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7318423B2 (en) | 2019-08-30 | 2023-08-01 | 富士通株式会社 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60221857A (en) * | 1984-04-18 | 1985-11-06 | Nec Corp | Microprocessor system |
| JPS6428766A (en) * | 1987-07-23 | 1989-01-31 | Nec Corp | Random number generation system |
| JPH0528106A (en) * | 1991-07-19 | 1993-02-05 | Nec Eng Ltd | Data transfer system |
| WO2011013350A1 (en) * | 2009-07-29 | 2011-02-03 | パナソニック株式会社 | Memory device, host device, and memory system |
-
2013
- 2013-04-23 JP JP2013090790A patent/JP6207213B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014215724A (en) | 2014-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10042640B2 (en) | Processing queue management | |
| JP6685323B2 (en) | Method, device and system for accessing extended memory | |
| CN115481058B (en) | Memory atomic operation instruction execution method, device, access module and system | |
| US9727497B2 (en) | Resolving contention between data bursts | |
| WO2015149673A1 (en) | Method, server, and system for sharing resource data | |
| US10310887B2 (en) | CPU overcommit with guest idle polling | |
| CN114153500B (en) | Instruction scheduling method, instruction scheduling device, processor and storage medium | |
| US10459771B2 (en) | Lightweight thread synchronization using shared memory state | |
| CN104346317A (en) | Shared resource access method and device | |
| WO2012132017A1 (en) | Exclusion control method and exclusion control program | |
| WO2012120654A1 (en) | Task scheduling method and multi-core system | |
| TW200925871A (en) | Dynamic logical data channel assignment using time-grouped allocations | |
| US8626799B2 (en) | Mapping data structures | |
| CN103999063A (en) | Memory sharing by processors | |
| US8230117B2 (en) | Techniques for write-after-write ordering in a coherency managed processor system that employs a command pipeline | |
| JP2012043031A (en) | Shared cache memory device | |
| JP6207213B2 (en) | Information processing device | |
| CN105528252A (en) | Computer system | |
| US8938588B2 (en) | Ensuring forward progress of token-required cache operations in a shared cache | |
| US8910125B2 (en) | Monitoring software performance | |
| US20200356485A1 (en) | Executing multiple data requests of multiple-core processors | |
| JP2018128756A (en) | Information processing device | |
| US6832300B2 (en) | Methods and apparatus for control of asynchronous cache | |
| JPWO2006001051A1 (en) | Multiprocessor device and control method thereof | |
| US11321146B2 (en) | Executing an atomic primitive in a multi-core processor system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160329 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160329 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170131 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170217 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170302 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170807 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170905 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6207213 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |