JP2016081239A - 情報処理装置、タイマ、タイマの制御方法、プログラム - Google Patents

情報処理装置、タイマ、タイマの制御方法、プログラム Download PDF

Info

Publication number
JP2016081239A
JP2016081239A JP2014210838A JP2014210838A JP2016081239A JP 2016081239 A JP2016081239 A JP 2016081239A JP 2014210838 A JP2014210838 A JP 2014210838A JP 2014210838 A JP2014210838 A JP 2014210838A JP 2016081239 A JP2016081239 A JP 2016081239A
Authority
JP
Japan
Prior art keywords
memory
timer
value
predetermined
bits
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
JP2014210838A
Other languages
English (en)
Inventor
浩二 中禮
Koji Churei
浩二 中禮
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2014210838A priority Critical patent/JP2016081239A/ja
Publication of JP2016081239A publication Critical patent/JP2016081239A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 タイマ処理を行う際に必要となる高速アクセス可能なメモリの必要量が増えてしまうと、製品コストが増加するという課題があった。
【解決手段】 タイマに用いられるカウントの上位ビットを記憶する第1のメモリと、前記カウント値の下位ビットを記憶し、前記第1のメモリによりも高速にアクセス可能な第2のメモリと、前記第2のメモリに記憶された前記下位ビットに対し、所定の周期で第1の所定の演算を行う第1の演算手段と、前記第2のメモリに記憶された前記下位ビットが所定の値になったことに応じて前記第1のメモリに記憶された前記上位ビットに対して第2の所定の演算を行う第2の演算手段と、を有する。
【選択図】 図3

Description

メモリを使用したタイマ回路、およびその制御方法に関する。
TCP(Transmission Control Protocol)/IP(Internet Protocol)プロトコル処理では、多くのタイマが利用されている。
複数のタイマを管理するために、複数のタイマの各々のカウント値をメモリに格納し、メモリに格納されたカウント値を所定時間毎に加算もしくは減算することで、タイマ機能を達成する技術がある(特許文献1)。
TCP/IPで用いられるタイマでは、例えば、10μs(マイクロ秒)毎にカウント値を加算もしくは減算している。このような短周期でカウント値を加算もしくは減算できるようにするために、カウント値を格納するメモリは高速にアクセス可能なメモリ(高速メモリ)が用いられている。
特開平2−219118
しかしながら、タイマの数が増加した場合、タイマに用いられるカウンタのビット数が多くなってしまう。また、タイマに要求される時間レンジが長くなった場合も、タイマに用いられるカウンタのビット数が多くなってしまう。また、タイマに要求される精度が更に高くなった場合にも、タイマに用いられるカウンタのビット数が多くなってしまう。
このように、タイマ処理を行う際に必要となる高速アクセス可能なメモリの必要量が増えてしまうと、製品コストが増加するという課題があった。
上記課題を鑑み、本発明は、複数のメモリを用いてタイマを構成する際に、高速にアクセス可能なメモリの容量を削減することを目的とする。
上記課題を鑑み、本発明の情報処理装置は、所定の時間を計測するために用いられるカウント値の上位ビットを記憶する第1のメモリと、前記カウント値の下位ビットを記憶し、前記第1のメモリよりも高速にアクセス可能な第2のメモリと、前記第2のメモリに記憶された前記下位ビットに対し、所定の周期で第1の所定の演算を行う第1の演算手段と、前記第2のメモリに記憶された前記下位ビットが所定の値になったことに応じて前記第1のメモリに記憶された前記上位ビットに対して第2の所定の演算を行う第2の演算手段と、記第1のメモリに記憶された前記上位ビットの値と、前記第2のメモリに記憶された前記下位ビットの値と、に基づいて所定の時間が経過したことを判定する判定手段と、を有する。
本発明によれば、複数のメモリを用いてタイマを構成する際に、高速にアクセス可能なメモリの容量を削減することができる。
情報処理装置101のブロック構成図 タイマ装置139のレジスタ構成図 タイマモジュール143が実現するフローチャート タイマ装置139の動作を示すシーケンスチャート
図1に本実施形態の情報処理装置101のハードウェア構成を示す。情報処理装置101は、主処理部(メインシステム)111と通信処理部(サブシステム)112とを有する。
主処理部111は、情報処理装置101に特有の機能を制御する。情報処理装置101に特有の機能とは、例えば、情報処理装置101がプリンタであれば印刷機能、情報処理装置101がカメラであれば撮像機能である。
主処理部111には、メインメモリ121、および、メインCPU122が含まる。メインメモリ121、および、メインCPU122は、メインバス123を介して接続されている。主処理部111に、更に不図示の機能部が含まれるようにしてもよい。機能部とは、例えば、情報処理装置101がプリンタであれば印刷部、情報処理装置101がカメラであれば撮像部である。
メインメモリ121には、メインCPU122および後述するサブCPU131〜135、タイマモジュール143が実行するプログラム等が格納されている。また、メインメモリ121は各種プログラム実行時のバッファメモリとしても利用される。更に、メインメモリ121はタイマカウント値の格納場所としても利用される。
通信処理部112は、TCP/IP処理を実行するTOE(TCP/IPオフロードエンジン)として機能する。通信処理部112には、サブCPU131〜135、データ転送部136、通信インターフェイス(以下、通信IF)137、タイマ装置139、および、周期生成部138が含まれる。更に、通信処理部112には、サブCPU131〜135、データ転送部136、および、タイマ装置139を接続するローカルバス140が含まれる。
サブCPU131は、サブCPU132〜135を制御する。サブCPU131はTCPにおける送信処理を行う。具体的には、サブCPU131はTCPに準拠したヘッダを生成し、TCPパケットを生成する。サブCPU132はIPにおける送信処理を行う。具体的には、サブCPU132はIPに準拠したヘッダを生成し、IPパケットを生成する。サブCPU133はIPにおける受信処理を行う。また、サブCPU134はTCPにおける受信処理を行う。これらのサブCPUは、メインメモリ121に記憶されたプログラムを読み出して実行することで上述の処理を実現する。
データ転送部136は、通信IF137と主処理部111との間、および、通信IF137とサブCPU131〜135との間でデータを転送する。通信IF137は、不図示の外部装置と有線通信や無線通信を行う。有線通信としてはIEEE802.3に準拠した通信を行うことが可能である。また、無線通信としてはIEEE802.11シリーズに準拠した通信を行うことが可能である。
周期生成部138は、所定の周期でパルス信号(周期信号)を生成する。ここでは、周期生成部138は10μs(マイクロ秒)毎にパルス信号を生成する。このパルス信号の生成周期によって、タイマの精度が決定される。生成されたパルス信号は、後述するタイマ装置139に入力される。なお、パルス信号の生成周期を変更することも可能である。例えば、求められるタイマ精度が高い場合には、パルス信号の生成周期を短くし、タイマ精度が低い場合にはパルス信号の生成周期を長くする。
タイマ装置139は、サブCPU131〜135から発行されるリクエスト(要求)に従って、指定された時間を計測する。更に、タイマ装置139は、指定された所定の時間が経過すると(タイムアウトすると)、その旨をリクエスト発行元などのサブCPUに通知する。
タイマ装置139には、レジスタ部141、タイマ制御部142、タイマモジュール143、および、内部メモリ144が含まれる。タイマモジュール143には、更に、外部メモリアクセス部151、上位フラグ152、および、内部メモリアクセス部153が含まれる。
図2に、レジスタ部141の内部構成を示す。レジスタ部141には、タイマリクエストレジスタ201とタイムアウトレジスタ202とが含まれる。各サブCPUは、タイマリクエストレジスタ201のいずれかの領域にタイマリクエストを書き込むことで、タイマを起動させることができる。タイマリクエストの書き込みにより、各タイマユニット内で指定されたタイマID(後述)を持つタイマにカウント値がセットされタイマがスタートする。
タイマリクエストレジスタ201の各々は、タイマID(識別子)211とカウント値212とから構成される。タイマID211は、タイマを識別するための識別番号である。カウント値212は、タイマがタイムアウトするまでの時間を示す値である。
タイムアウトレジスタ202の各々には、タイムアウトしたタイマのタイマIDが書き込まれる。各サブCPUは、タイムアウトレジスタ202を読み出すことにより、自身がセットしたタイマがタイムアウトしたことを確認することができる。
なお、これに代えて、タイマ装置139が各サブCPUにタイムアウトしたことをプッシュ通知するように構成してもよい。このようにしても、各サブCPUは自身がセットしたタイマがタイムアウトしたことを確認することができる。
タイマ制御部142は、サブCPUによりタイマリクエストレジスタ201へタイマリクエストが書き込みされたことに応じて、タイマモジュール143へ、タイマの起動通知を行う。ここで、起動通知にはタイマIDとカウント値の情報が含まれる。
また、タイマ制御部142は、タイマモジュール143からタイムアウト通知(タイマがタイムアウトしたことを示す通知)を受信した場合、タイムアウトレジスタ202にタイムアウトしたタイマIDの書き込みを行う。
タイマモジュール143は、タイマ制御部142からタイマの起動通知を受信すると、該起動通知に従ってタイマIDに対応するメモリ領域にカウント値をセットし、タイマ処理を開始する。
本実施形態では、カウント値は24ビット(bit)で構成されるものとし、カウント値の上位16ビットはメインメモリ121に格納され、下位8ビットについては内部メモリ144に格納される。また、各々のメモリにおける格納場所(メモリ領域)は、タイマID毎に予め定められているものとする。
しかし、これに限らず、各々のメモリにおける格納場所(メモリ領域)を動的に確保し、タイマIDと共にカウント値を格納するようにしてもよい。この場合、タイマがタイムアウトしたことに応じて確保した格納場所(メモリ領域)を解放する。これにより、起動しているタイマの数に応じた格納場所(メモリ領域)だけが確保されるので、メモリの利用効率を上げることができる。
タイマモジュール143には、メインメモリ121にアクセスするための外部メモリアクセス部151と、内部メモリ144にアクセスするための内部メモリアクセス部153を含む。なお、内部メモリアクセス部153による内部メモリ144へのアクセス速度よりも、外部メモリアクセス部151によるメインメモリ121へのアクセス速度の方が遅い。即ち、内部メモリ144へのアクセス速度の方が、メインメモリ121へのアクセス速よりも早い。
更に、タイマモジュール143にはタイマID毎にカウント値の上位16ビット(メインメモリ121に格納されるビット)の値が0(全てのビットが0)である否かを示す上位フラグ152が含まれる。ここでは、上位16ビットの値が0である場合には上位フラグを0とし、上位16ビットの値が0でない場合には上位フラグを1とする。
タイマモジュール143は、周期生成部138からパルス信号が入力される度に、所定の演算を行う。ここでは、タイマモジュール143は、周期生成部138からパルス信号が入力される度にメモリ領域からカウント値を読み出し、読み出した値をデクリメントして書き戻す。デクリメントした結果、カウント値が0になった場合、タイマモジュール143は、0になったカウント値に対応するタイマIDのタイマがタイムアウトしたと判定する。タイマモジュール143の動作について、図3を用いて詳細に説明する。
図3に、タイマ処理が開始される際に、タイマモジュール143がメインメモリ121からプログラムを読み出して実行することにより実現されるフローチャートを示す。
タイマモジュール143は、タイマ制御部142からタイマの起動通知を受信すると、タイマ処理を開始する(S300)。ここではカウント値は24ビットで指定されるものとし、以後、上位16ビットを上位ビット、下位8ビットを下位ビットと称する。
タイマ処理が開始されると、タイマモジュール143は起動通知に含まれるカウント値の上位ビットが0であるか否かを判定する(S301)。ここで、上位ビットが0であるとは、カウント値の上位16ビットが全て0である場合である。
上位ビットが0である場合(S301のYes)、タイマモジュール143は当該タイマIDに対応する上位フラグ152に、上位ビットの値が0であることを示す0を格納する(S302)。
一方、上位ビットが0でない場合(S301のNo)、外部メモリアクセス部151は上位ビットの値をメインメモリ121に格納する(S303)。この際、外部メモリアクセス部151は、メインメモリ121において、起動通知に含まれるタイマIDに対応するメモリ領域に、上位ビットの値を格納する。そして、タイマモジュール143は当該タイマIDに対応する上位フラグ152に、上位ビットの値が0でないことを示す1を格納する(S304)。
上述のようにして上位フラグ152への値の格納が完了すると、内部メモリアクセス部153は下位ビットの値を内部メモリ144に格納する(S305)。この際、内部メモリアクセス部153は、内部メモリ144において、起動通知に含まれるタイマIDに対応するメモリ領域に、下位ビットの値を格納する。
その後、タイマモジュール143は周期生成部138からのパルス信号が入力を待ち受ける(S306)。なお、当該待ち受けに並行して、タイマモジュール143は他のタイマの起動通知の待ち受けも行う。これにより、複数のタイマを並行して起動させることができる。また、当該待ち受けに並行して、タイマモジュール143は既に起動されているタイマIDを指定してリセットを要求するリセット要求の待ち受けも行う。リセット要求を受信すると、タイマモジュール143は、リセット要求により指定されたタイマIDに対応するタイマ処理を停止する。これにより、不要なタイマ処理を削減することができる。
S306において、周期生成部138からパルス信号を受信すると(S306のYes)、内部メモリアクセス部153は、起動中のタイマIDに対応するメモリ領域に格納された下位ビットの値をデクリメントする(S307)。ここで、下位ビットの値が0(全てのビットで0)であった場合には、デクリメントの結果、下位ビットにおける全てのビットは1となるものとする。例えば、下位ビットが3ビットであり、デクリメント前の下位ビットの値が「000」であった場合、S307におけるデクリメントの結果、下位ビットの値は「111」となる。
デクリメント処理が完了すると、タイマモジュール143は、デクリメント処理後の下位ビットの値が0(全てのビットで0)であるか否かを判定する(S308)。デクリメント処理後の下位ビットの値が0でない場合(S308のNo)、ステップS306に戻り、タイマ処理を継続する。
一方、デクリメント処理後の下位ビットの値が0である場合(S308のYes)、タイマモジュール143は、タイマIDに対応する上位フラグ152の値が1であるか否かを判定する(S309)。即ち、上位ビットの値が0であるか否かを判定する。
上位フラグの値が1でない(即ち、0である)場合(S309のNo)、タイマモジュール143は、カウント値が0となったタイマIDについて、タイマ制御部142に対してタイムアウトを通知する(S310)。なお、カウント値が0となったタイマIDとは、下位ビットも上位ビットも0となったタイマIDである。その後、図3に示す処理を完了する。
一方、上位フラグの値が1である場合(S309のYes)、外部メモリアクセス部151はタイマIDに対応する上位ビットの値をデクリメントする(S311)。そして、上位ビットへのデクリメントの結果、上位ビットの値が0であるか否かをタイマモジュール143が判定する(S312)。
上位ビットの値が0でない場合(S312のNo)、ステップS306に戻り、タイマ処理を継続する。一方、上位ビットの値が0となった場合(S312のYes)、タイマモジュール143は当該タイマIDに対応する上位フラグ152に、上位ビットの値が0であることを示す0を格納する(S313)。その後、ステップS306に戻り、タイマ処理を継続する。
図3のフローの結果、タイマ値がどのように変化するかを簡単に述べる。ここでは、下位ビットは3ビットであるものとする。例としてタイマ値が2進数で「1001」である状態から開始する。この時、上位フラグは「1」である。ここで、パルス信号を受信すると(S306)、タイマ値はデクリメントされ「1000」となる(S307)。その結果、下位ビットの値は「000」となり、S307から、S308、S309、S311と順に進む。S311の結果、上位ビットがデクリメントされるので、タイマ値は「0000」となって、S306に戻る。この時、上位ビットは「0」となる(S312)。その後、パルス信号を受信すると(S306)、タイマ値はデクリメントされ「0111」となる(S307)。その後は、パルス信号を受信する度にS307において下位ビットがデクリメントされ、デクリメントの結果、タイマ値が「0000」となると、タイムアウト通知が行われる(S310)。
このように、タイマ処理で用いられるカウント値を上位ビットと下位ビットとに分割し、上位ビットの値をメインメモリ121に格納し、下位ビットの値を内部メモリ144に格納する。これにより、高速にアクセス可能な内部メモリにおいてタイマ処理のために用いられるメモリ領域を削減させることができる。
また、パルス信号を受信する度にS307において下位ビットがデクリメントされる際には、高速にアクセス可能な内部メモリのみが操作され、メインメモリ121は操作されないので処理を高速に行うことができる。
次に、図4を用いて、サブCPU131とサブCPU134とがタイマ装置139を利用してタイマ処理を実行させる場合について説明する。この時、タイマ装置139のタイマモジュール143は、図3に示すフローチャートに示す処理を実行する。
サブCPU131はTCPに関する送信処理を実行し、サブCPU134はTCPに関する受信処理を実行する。TCP通信では、受信側が受信したパケットに対するAck(確認応答)を送信側へ送信しなければならない。この時、パケットを受信する度にAckを送信するのではなく、複数のパケット受信に対し1つのAckを送信する遅延Ackが知られている。遅延Ack処理では、所定数のパケットを受信する前に所定時間が経過すると、その時点でAckを送信する必要がある。ここでは、遅延Ack処理を行う際に必要となるタイマ処理を例に説明する。
通信IF137を介してTCP/IPパケットを受信すると、データ転送部136はサブCPU134に対して受信通知を行う(F401)。サブCPU134は、受信通知を受けると、遅延Ack処理に必要な所定時間を計測するために、タイマリクエストレジスタ201に該所定時間に対応するカウント値を書き込む(F402)。タイマ装置139は、タイマリクエストレジスタ201にカウント値が書き込まれたことに応じて、タイマ処理を開始する(F403)。
サブCPU134は、更に、カウント値を書き込んだタイマIDをサブCPU131に通知する(F404)。サブCPU131は、当該通知を受けて、タイムアウトレジスタ202を定期的に確認するポーリング処理を開始する(F405)。その後、次のTCP/IPパケットを受信することなく遅延Ack処理に必要な所定時間が経過すると、タイムアウトが発生する(F406)。タイムアウトが発生すると、サブCPU131はこれを検出し(F407)、遅延Ackの送信処理を行う(F408)。なお、遅延Ackの送信処理に必要な情報は別途、サブCPU134からサブCPU131に通知されているものとする。
次に、連続してTCP/IPパケットを受信する場合について説明する。なお、ここでは、2つのTCP/IPパケットを受信すると1つのAckを送信するものとして説明する。また、F409〜413は各々、F401〜405と同様なので、ここでは説明を省略する。
F413の後、遅延Ack処理に必要な所定時間が経過するより前に、通信IF137は次のTCP/IPパケットを受信する。すると、データ転送部136はサブCPU134に対して受信通知を行う(F414)。
この場合、2つ目のTCP/IPパケットを受信したことにより、すぐにAckを送信する状態となったため、遅延Ack処理に必要な所定時間を計測する必要が無くなる。従って、サブCPU134は、タイマ装置139に対してリセット要求を送信する(F415)。これにより、タイマ装置139による無駄なタイマ処理を少なくすることができる。
その後、サブCPU134はサブCPU131に対してAckの送信を要求する(F416)。サブCPU131はAck送信の要求を受けると、F413により開始したポーリング処理を停止し(F417)、遅延Ackの送信処理を行う(F418)。
このようにタイマIDをサブCPU間で通知することで、タイマのセットを実行するマスタとタイマのタイムアウトを確認するCPUが異なる場合でも、本タイマ装置は適用可能である。
なお、図4の説明において、タイマIDに代えて、受信したTCP/IPパケットのコネクション情報を示す番号であるソケットIDを利用するようにしてもよい。この場合、タイマIDに代えてソケットIDが通知されるため、CPU131は、いずれのコネクションについて遅延Ackの送信を行うべきかを即座に判断することができる。
また、本実施形態において、24ビット長のカウント値に対し、下位8ビットを内部メモリ144に、上位16ビットをメインメモリ121にそれぞれ格納しているが、ビット長の分割を動的に変更しても良い。
ただし、上位ビットへのアクセス周期が、メインメモリ121へのアクセスレイテンシよりも短くなると、カウント値のデクリメントが遅れるためタイマの誤差が発生してしまう。そこで、メインメモリ121へのアクセスレイテンシを考慮して、ビット長の分割を動的に変更することが望ましい。
また、メインバス123やローカルバス140のバスクロックが動的に変化するシステムであった場合、バスクロックに基づいて、下位ビット数を必要最小限のビット数に変更するようにしてもよい。
また、上述の実施形態では、カウント値をデクリメントした。しかしこれに限らず、カウント値をインクリメントしていき、カウント値が所定の値と等しくなったことをもってタイムアウトしたと判定するようにしてもよい。この場合、上位フラグは、カウント値の上位ビットと所定の値の上位ビットが等しくなった時に、1にセットするようにする。このような構成によっても、同様の効果を得ることができる。
また、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、図3のフローチャートに示す処理をタイマ制御部142がハードウェアとして実行するようにしてもよい。この際、ハードウェア回路としては図3のフローチャートに示す処理を実行するASICを利用すればよい。
このように、タイマ処理で用いられるカウント値を上位ビットと下位ビットとに分割し、上位ビットの値をメインメモリ121に格納し、下位ビットの値を内部メモリ144に格納する。これにより、高速にアクセス可能な内部メモリにおいてタイマ処理のために用いられるメモリ領域を削減させることができる。
本実施形態は、上述した1つ乃至複数のうちのいくつかの効果を有する。
101 情報処理装置
111 主処理部
112 通信処理部
121 メインメモリ
138 周期生成部
139 タイマ装置
144 内部メモリ

Claims (13)

  1. 所定の時間を計測するために用いられるカウント値の上位ビットを記憶する第1のメモリと、
    前記カウント値の下位ビットを記憶し、前記第1のメモリよりも高速にアクセス可能な第2のメモリと、
    前記第2のメモリに記憶された前記下位ビットに対し、所定の周期で第1の所定の演算を行う第1の演算手段と、
    前記第2のメモリに記憶された前記下位ビットが所定の値になったことに応じて前記第1のメモリに記憶された前記上位ビットに対して第2の所定の演算を行う第2の演算手段と、
    前記第1のメモリに記憶された前記上位ビットの値と、前記第2のメモリに記憶された前記下位ビットの値と、に基づいて所定の時間が経過したことを判定する判定手段と、
    を有することを特徴とする情報処理装置。
  2. 前記第1の所定の演算は、前記下位ビットに対するデクリメントであり、
    前記第2の所定の演算は、前記上位ビットに対するデクリメントであることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1の所定の演算は、前記下位ビットに対するインクリメントであり、
    前記第2の所定の演算は、前記下位ビットに対するインクリメントであることを特徴とする請求項1に記載の情報処理装置。
  4. 前記下位ビットが0になったことに応じて、前記第2の演算手段は、前記上位ビットに対して前記第2の所定の演算を行うことを特徴とする請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記判定手段は、前記上位ビットおよび前記下位ビットの値が0になった場合にタイムアウトを判定することを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。
  6. 前記第2のメモリは、前記上位ビットの状態を示すフラグを記憶することを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
  7. 前記フラグは、前記上位ビットの値が0であるか否かを示すフラグであることを特徴とする請求項6に記載の情報処理装置。
  8. 前記判定手段は、前記下位ビットの値と前記フラグとに基づいて前記所定の時間が経過したことを判定することを特徴とする請求項6または7に記載の情報処理装置。
  9. 前記所定の時間を計測するために用いられるカウントを前記上位ビットと前記下位ビットに分割する分割手段を更に有することを特徴とする請求項1から8のいずれか1項に記載の情報処理装置。
  10. 前記分割手段は、前記所定の周期の長さに基づいて、前記所定の時間を計測するために用いられるカウントを前記上位ビットと前記下位ビットに分割することを特徴とする請求項9に記載の情報処理装置。
  11. 所定の時間を計測するために用いられるカウント値の上位ビットを記憶する第1のメモリと、
    前記カウント値の下位ビットを記憶し、前記第1のメモリよりも高速にアクセス可能な第2のメモリと、
    前記第2のメモリに記憶された前記下位ビットに対し、所定の周期で第1の所定の演算を行う第1の演算手段と、
    前記第2のメモリに記憶された前記下位ビットが所定の値になったことに応じて前記第1のメモリに記憶された前記上位ビットに対して第2の所定の演算を行う第2の演算手段と、
    前記第1のメモリに記憶された前記上位ビットの値と、前記第2のメモリに記憶された前記下位ビットの値と、に基づいて所定の時間が経過したことを判定する判定手段と、
    を有することを特徴とするタイマ。
  12. 第1のメモリと前記第1のメモリよりも高速にアクセス可能な第2のメモリとを有する情報処理装置を制御する制御方法であって、
    所定の時間を計測するために用いられるカウントの上位ビットを前記第1のメモリに記憶させる第1の記憶工程と、
    前記カウントの下位ビットを前記第2のメモリに記憶させる第2の記憶工程と、
    前記第2のメモリに記憶された前記下位ビットに対し、所定の周期で第1の所定の演算を行う第1の演算工程と、
    前記第2のメモリに記憶された前記下位ビットが所定の値になったことに応じて前記第1のメモリに記憶された前記上位ビットに対して第2の所定の演算を行う第2の演算工程と、
    前記第1のメモリに記憶された前記上位ビットの値と、前記第2のメモリに記憶された前記下位ビットの値と、に基づいて所定の時間が経過したことを判定する判定工程と、
    を有することを特徴とする制御方法。
  13. コンピュータに請求項12に記載の制御方法を実行させるためのプログラム。
JP2014210838A 2014-10-15 2014-10-15 情報処理装置、タイマ、タイマの制御方法、プログラム Pending JP2016081239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014210838A JP2016081239A (ja) 2014-10-15 2014-10-15 情報処理装置、タイマ、タイマの制御方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014210838A JP2016081239A (ja) 2014-10-15 2014-10-15 情報処理装置、タイマ、タイマの制御方法、プログラム

Publications (1)

Publication Number Publication Date
JP2016081239A true JP2016081239A (ja) 2016-05-16

Family

ID=55958696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014210838A Pending JP2016081239A (ja) 2014-10-15 2014-10-15 情報処理装置、タイマ、タイマの制御方法、プログラム

Country Status (1)

Country Link
JP (1) JP2016081239A (ja)

Similar Documents

Publication Publication Date Title
JP5829890B2 (ja) 半導体データ処理装置、タイムトリガ通信システム及び通信システム
JP2011150397A (ja) バス調停装置
TWI476596B (zh) 節流整合鏈路的方法與系統及其積體電路裝置
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
CN113590512A (zh) 可直连外设设备的自启动dma装置及应用
US10530562B2 (en) Correlating local time counts of first and second integrated circuits
JP5443586B2 (ja) 回路構成におけるデータ交換を制御するための回路構成、および方法
JP4902640B2 (ja) 集積回路、及び集積回路システム
US10581997B2 (en) Techniques for storing or accessing a key-value item
WO2017091963A1 (zh) 一种信息处理方法及装置
JP6331944B2 (ja) 情報処理装置、メモリ制御装置及び情報処理装置の制御方法
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP6740600B2 (ja) プログラム実行システム、プログラム実行方法、および、プログラム
JP2018160180A (ja) 情報処理システム、情報処理装置および情報処理システムの制御方法
US9176554B2 (en) Power management in a bridge based on a second derivative value derived from a mathematical derivative of plurality of values corresponding to the received packets
JP2016081239A (ja) 情報処理装置、タイマ、タイマの制御方法、プログラム
JP2005085079A (ja) データ転送制御装置
US20180173657A1 (en) Automatic transmission of dummy bits in bus master
JP7226084B2 (ja) 情報処理装置
JP6381270B2 (ja) 情報処理装置、情報処理方法、システム
CN111078598A (zh) 存储模块数据访问控制方法、数据访问装置和芯片
CN113711191B (zh) 信息处理装置
JP5621747B2 (ja) マルチタスクシステム
TWI722343B (zh) 用於多種虛擬貨幣挖礦的計算機與中央處理器
JP6822670B2 (ja) コンピュータ装置、データ転送制御装置、及び方法