JP4143907B2 - 情報処理装置および方法、並びにプログラム - Google Patents

情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP4143907B2
JP4143907B2 JP2002286524A JP2002286524A JP4143907B2 JP 4143907 B2 JP4143907 B2 JP 4143907B2 JP 2002286524 A JP2002286524 A JP 2002286524A JP 2002286524 A JP2002286524 A JP 2002286524A JP 4143907 B2 JP4143907 B2 JP 4143907B2
Authority
JP
Japan
Prior art keywords
data
output
frequency
unit
holding
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.)
Expired - Fee Related
Application number
JP2002286524A
Other languages
English (en)
Other versions
JP2004126714A (ja
Inventor
健 下山
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2002286524A priority Critical patent/JP4143907B2/ja
Priority to PCT/JP2003/009634 priority patent/WO2004031939A1/ja
Priority to EP03799074A priority patent/EP1548574A4/en
Priority to US10/527,063 priority patent/US7493508B2/en
Publication of JP2004126714A publication Critical patent/JP2004126714A/ja
Application granted granted Critical
Publication of JP4143907B2 publication Critical patent/JP4143907B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、同期クロック信号の周波数が可変である場合、低周波数とされても、処理能力の低下を防止するとともに、電力消費を抑制することができるようにした情報処理装置および方法、並びにプログラムに関する。
【0002】
【従来の技術】
CPU(Central Processing Unit)、DSP(Digital Signal Processor)、および、フィルタ等に代表されるデータ処理装置、並びに、データのやり取りを行うバス、およびデータパス等の情報処理装置は、同期クロック(システムクロック)に同期して様々な処理を実行している。このような情報処理装置の中で、複数クロックかけて1つの処理を実行するものは、その処理の途中の状態を記憶するために、フリップフロップ回路などの記憶素子が搭載され、その記憶素子が、その処理の途中の状態を記憶する(例えば、特許文献1)。
【0003】
このような処理は、一般的に、パイプライン動作と称されている。従って、以下、上述したフリップフロップ回路のような処理の途中の状態を記憶するものを、パイプラインと称し、また、パイプラインの配置場所を、パイプラインの切れ目と称する。
【0004】
パイプラインの切れ目は、状態が少ないところ、または、その切れ目前後に存在する回路のそれぞれの遷移時間(データが回路に入力され、所定の処理が施されて、回路から出力されるまでの時間)が同期クロックの周期を超えないところ等とされることが多い。
【0005】
【特許文献1】
特開2002−204224号公報
【0006】
【発明が解決しようとする課題】
しかしながら、従来、同期クロックの周波数が可変の場合、最も周波数が高いときにあわせて、パイプラインが構成される(パイプラインの切れ目が決定される)ことが多い。このため、周波数が低いときには、回路の遷移時間が同期クロックの周期より遥かに短くなり、たとえ最高周波数のときに、最適なパイプラインの構成となっていたとしても、周波数が低いときには、必ずしも最適なパイプラインの構成となっているとは限らないという課題があった。
【0007】
即ち、従来、同期クロックの周波数が可変の場合、最も周波数が高いときにあわせてパイプラインが構成されると、周波数が低くなるに従い、全体の処理能力が低下するとともに、消費電力が無駄に使用されるシステムアーキテクチャになってしまうことが多々あるという課題があった。
【0008】
例えば、図1は、パイプライン動作を行う従来の情報処理装置の構成例を表している。
【0009】
図1に示されるように、情報処理装置1には、所定の周波数情報Infqに基づいて、同期クロック信号CLKの周波数を可変し、変更した周波数の同期クロック信号CLKを出力する周波数制御部11、並びに、周波数制御部11より出力された同期クロック信号CLKのうちの所定のクロックの立ち上がり、若しくは立ち下りを検知して、所定のデータを入力、かつ保持し、次のクロックの立ち上がり、若しくは立ち下りを検知して、保持したデータを出力する保持部12−1乃至12−4が設けられている。
【0010】
情報処理装置1にはまた、保持部12−1と保持部12−2の間に、入力した信号(データ)に、第1の処理を施して、それを出力する信号処理部13−1が、保持部12−2と保持部12−3の間に、入力した信号(データ)に、第2の処理を施して、それを出力する信号処理部13−2が、保持部12−3と保持部12−4の間に、入力した信号(データ)に、第3の処理を施して、それを出力する信号処理部13−3が、それぞれ設けられている。
【0011】
換言すると、情報処理装置1には、パイプラインとして、4つの保持部12−1乃至12−4が設けられており、パイプラインの切れ目は、信号処理部13−1乃至13−3のそれぞれの入力の直前、および、出力の直後とされている。
【0012】
次に、図2と図3を参照して、情報処理装置1の動作を説明する。
【0013】
はじめに、図2を参照して、同期クロック信号CLKの周波数が最高周波数の場合の情報処理装置1の動作を説明する。
【0014】
この例においては、例えば、情報処理装置1に入力される信号、即ち、保持部12−1に入力される信号は、(A0,B0,C0,D0)のデータ列であり、データ列(A0,B0,C0,D0)の各データのそれぞれは、その順番で、1クロック毎に順次入力されるとする。
【0015】
この場合、図2に示されるように、1クロック目に、データA0が保持部12−1に入力され、かつ保持される。
【0016】
2クロック目に、保持部12−1において、データA0が出力されるとともに、データB0が入力され、かつ保持される。データA0は、信号処理部13−1により第1の処理が施されてデータA1となり、3クロック目が出力されるまでに、保持部12−2に入力され、かつ保持される。
【0017】
3クロック目に、保持部12−1において、データB0が出力されるとともに、データC0が入力され、かつ、保持される。保持部12−2において、データA1が出力されるとともに、次の4クロック目が出力されるまでに、保持部12−1より出力されたデータB0が、信号処理部13−1によりデータB1とされて入力され、そのデータB1が保持される。データA1は、信号処理部13−2により第2の処理が施されてデータA2となり、4クロック目が出力されるまでに、保持部12−3に入力され、かつ保持される。
【0018】
4クロック目に、保持部12−1において、データC0が出力されるとともに、データD0が入力され、かつ、保持される。保持部12−2において、データB1が出力されるとともに、次の5クロック目が出力されるまでに、保持部12−1より出力されたデータC0が、信号処理部13−1によりデータC1とされて入力され、データC1が保持される。保持部12−3において、データA2が出力されるとともに、次の5クロック目が出力されるまでに、保持部12−2より出力されたデータB1が、信号処理部13−2によりデータB2とされて入力され、そのデータB2が保持される。データA2は、信号処理部13−3により第3の処理が施されてデータA3となり、5クロック目が出力されるまでに、保持部12−4に入力され、かつ保持される。
【0019】
5クロック目以降、保持部12−1乃至12−4のそれぞれ、および、信号処理部13−1乃至13−3のそれぞれは、上述した処理を繰り返し、その結果、5クロック目にデータA3が、6クロック目にデータB3が、7クロック目にデータC3が、8クロック目にデータD3が、それぞれ外部に出力される。
【0020】
即ち、同期クロック信号CLKの周波数が最高周波数の場合、情報処理装置1は、1クロック目に、データA0を入力し、5クロック目に、信号処理部13−1乃至13−3のそれぞれにより処理されたデータA3を外部に出力する。この場合、図2に示されるように、1つのデータ(データA0乃至D0のうちのいずれか)が、情報処理装置1に入力され、所定の処理が施されて外部に出力される(データA3乃至D3のうちのいずれかとして外部に出力される)までの時間は、時間T1とされる。
【0021】
次に、周波数制御部11が、新たに入力された周波数情報Infqに基づいて、同期クロック信号CLKの周波数を上述した最高周波数(図2に示される周波数)の1/2に変更し、変更した周波数で同期クロック信号CLKを出力したとする。
【0022】
この場合、同期クロック信号CLKは、図2に対して、図3に示されるようになる。
【0023】
この場合も、情報処理装置1自身の動作は、上述した同期クロック信号CLKの周波数が最高周波数(図2に示される周波数)の場合のそれと、基本的に同様とされる。即ち、図3に示されるように、情報処理装置1は、1クロック目に、データA0を入力し、5クロック目に、信号処理部13−1乃至13−3のそれぞれにより処理されたデータA3を外部に出力する。
【0024】
しかしながら、同期クロック信号CLKのクロックの出力周期が2倍とされたので、この場合、図3に示されるように、1つのデータ(データA0乃至D0のうちのいずれか)が、情報処理装置1に入力され、所定の処理が施されて外部に出力される(データA3乃至D3のうちのいずれかとして外部に出力される)までの時間は、最高周波数のときの時間T1(図2)の2倍の時間T2となってしまう。
【0025】
即ち、情報処理装置1の処理時間(絶対時間)は、最高周波数の場合のそれに比較して、2倍に増加ししまう。換言すると、情報処理装置1の処理能力は、最高周波数の場合のそれに比較して、1/2に低下してしまう。
【0026】
同じクロックでの処理能力をあげることなどにより、この低下を1/2以上に抑えることができれば、消費電力あたりの性能が上がる分だけ消費電力を抑えることが可能になるが、そのような手法として有効的な手法がいまだ実現されていない。
【0027】
本発明は、このような状況に鑑みてなされたものであり、同期クロック信号の周波数が可変である場合、低周波数とされても、処理能力の低下を防止するとともに、電力消費を抑制することができるようにするものである。
【0028】
【課題を解決するための手段】
本発明の情報処理装置は、所定の周波数の同期クロックに同期して動作する情報処理装置であって、同期クロックの周波数を変更して、変更した周波数の同期クロックを出力するクロック出力手段と、クロック出力手段より所定の第1のクロックが出力された場合、所定のデータを入力、かつ、保持し、クロック出力手段より第1のクロックの次の第2のクロックが出力されたとき、保持したデータを出力する保持手段と、同期クロック出力手段より出力される同期クロックの周波数に基づいて、保持手段をバイパスしてデータを伝送させるか否かを指令する選択指令を生成する選択指令生成手段と、選択指令生成手段により生成された選択指令が、保持手段をバイパスしてデータを伝送させるという内容であった場合、データを保持手段を介さずにそのまま出力し、選択指令が、保持手段をバイパスしないでデータを伝送させるという内容であった場合、保持手段より出力されたデータを出力するバイパス手段と、選択指令生成手段により生成された選択指令が、保持手段をバイパスしてデータを伝送させるという内容であった場合、保持手段への同期クロックの供給を停止させる停止制御手段とを備えることを特徴とする。
【0029】
保持手段、および、バイパス手段がその順番に接続された組が複数組設けられ、複数の組のそれぞれがカスケード接続されているようにすることができる。
【0030】
データに所定の処理を施すデータ処理手段をさらに設け、保持手段は、データ処理手段により処理が施されたデータを入力、かつ保持した後、出力し、バイパス手段は、選択指令が、保持手段をバイパスしてデータを伝送させるという内容であった場合、データ処理手段により処理が施されたデータを保持手段を介さずにそのまま出力し、選択指令が、保持手段をバイパスしないでデータを伝送させるという内容であった場合、データ処理手段により処理が施されて、保持手段により入力、かつ保持された後、その保持手段より出力されたデータを出力するようにすることができる。
【0032】
選択指令生成手段は、同期クロック出力手段より出力される同期クロックの周波数に対応する周波数情報をさらに生成し、生成した周波数情報に基づいて選択指令を生成するようにすることができる。
【0033】
選択指令生成手段は、外部より供給される、同期クロック出力手段より出力される同期クロックの周波数に対応する周波数情報をさらに受信し、受信した周波数情報に基づいて選択指令を生成するようにすることができる。
【0034】
本発明の情報処理方法は、所定の周波数の同期クロックに同期して動作し、同期クロックの周波数を変更して、変更した周波数の同期クロックを出力するクロック出力装置と、クロック出力装置より所定の第1のクロックが出力された場合、所定のデータを入力、かつ、保持し、クロック出力装置より第1のクロックの次の第2のクロックが出力されたとき、保持したデータを出力する保持装置と、データを保持装置を介さずにそのまま入力する第1の入力部、保持装置より出力されるデータを入力する第2の入力部、および、第1の入力部と第2の入力部のうちのいずれか一方に入力されたデータを出力する出力部を有するバイパス装置とを備える情報処理装置の情報処理方法であって、同期クロック出力装置より出力される同期クロックの周波数に基づいて、保持装置をバイパスしてデータを伝送させるか否かを指令する選択指令を生成する選択指令生成ステップと、バイパス装置に対して、選択指令生成ステップの処理により生成された選択指令が、保持装置をバイパスしてデータを伝送させるという内容であった場合、第1の入力部に入力されたデータを出力部より出力させるように制御し、選択指令が、保持装置をバイパスしないで伝送させるという内容であった場合、第2の入力部に入力されたデータを出力部より出力させるように制御するバイパス制御ステップと、選択指令生成ステップの処理により生成された選択指令が、保持装置をバイパスしてデータを伝送させるという内容であった場合、保持装置への同期クロックの供給を停止させる停止制御ステップとを含むことを特徴とする。
【0035】
本発明のプログラムは、所定の周波数の同期クロックに同期して動作し、同期クロックの周波数を変更して、変更した周波数の同期クロックを出力するクロック出力装置と、クロック出力装置より所定の第1のクロックが出力された場合、所定のデータを入力、かつ、保持し、クロック出力装置より第1のクロックの次の第2のクロックが出力されたとき、保持したデータを出力する保持装置と、データを保持装置を介さずにそのまま入力する第1の入力部、保持装置より出力されるデータを入力する第2の入力部、および、第1の入力部と第2の入力部のうちのいずれか一方に入力されたデータを出力する出力部を有するバイパス装置とを備える情報処理装置を制御するコンピュータに、同期クロック出力装置より出力される同期クロックの周波数に基づいて、保持装置をバイパスしてデータを伝送させるか否かを指令する選択指令を生成する選択指令生成ステップと、バイパス装置に対して、選択指令生成ステップの処理により生成された選択指令が、保持装置をバイパスしてデータを伝送させるという内容であった場合、第1の入力部に入力されたデータを出力部より出力させるように制御し、選択指令が、保持装置をバイパスしないで伝送させるという内容であった場合、第2の入力部に入力されたデータを出力部より出力させるように制御するバイパス制御ステップと、選択指令生成ステップの処理により生成された選択指令が、保持装置をバイパスしてデータを伝送させるという内容であった場合、保持装置への同期クロックの供給を停止させる停止制御ステップとを実行させることを特徴とする。
【0036】
本発明の情報処理装置および方法、並びにプログラムにおいては、同期クロックの周波数に基づいて、保持装置をバイパスしてデータを伝送させるか否かを指令する選択指令が生成され、生成された選択指令が、保持装置をバイパスしてデータを伝送させるという内容であった場合、所定の第1のクロックが出力されると、入力されたデータが保持装置を介さずにそのまま出力され、生成された選択指令が、保持装置をバイパスしないでデータを伝送させるという内容であった場合、第1のクロックが出力されると、入力されたデータが、保持装置により保持され、第1のクロックの次の第2のクロックが出力されると、保持装置に保持されたデータが出力される。生成された選択指令が、保持装置をバイパスしてデータを伝送させるという内容であった場合、保持装置への同期クロックの供給が停止される。
【0037】
本発明の情報処理装置は、入力データとして、自分自身で生成したものを使用してもよいし、外部から入力したものを使用してもよい。さらに、本発明の情報処理装置は、自分自身で生成したもの、および、外部から入力したもののいずれも使用可能な装置であってもよい。
【0038】
また、本発明の情報処理装置は、出力データを、外部に出力してもよいし、情報処理装置自身に搭載された所定の他の装置に出力してもよい。さらに、本発明の情報処理装置は、出力データを、外部、および、情報処理装置自身に搭載された所定の他の装置に同時に出力してもよい。さらにまた、他の装置は複数であってもよい。
【0039】
【発明の実施の形態】
図4は、本発明が適用される情報処理装置の構成例を表している。
【0040】
図4に示されるように、情報処理装置21のパイプライン、および、その切れ目については、上述した従来の情報処理装置1(図1)のそれらと、基本的に同様の構成とされている。即ち、情報処理装置21には、図1と同様の構成の信号処理部13−1乃至13−3のそれぞれが、その順番で処理が実行されるように設けられており、信号処理部13−1乃至13−3のそれぞれの入力前と出力後(信号処理部13−1の入力前と、信号処理部13−1乃至13−3のそれぞれの間、信号処理部13−3の出力後)には、パイプラインとして、図1と同様の構成の保持部12−1乃至12−4のうちの対応するものが設けられている。
【0041】
なお、保持部12−1乃至12−4、および、信号処理部13−1乃至13−3は、上述した処理を実行可能なものであれば、特に限定されない。例えば、この例においては、保持部12−1乃至12−4のそれぞれは、フリップフロップ回路とされるが、その他、例えば、同期型RAM等とされてもよい。
【0042】
また、保持部、および、信号処理部の個数は、図4の例では、従来と比較するために、従来の情報処理装置1の例(図1の例)と同様とされているが、図4の例(4個の保持部12−1乃至12−4と、3個の信号処理部13−1乃至13−3)に限定されず、保持部は1個以上あればよいし、また、信号処理部は0個も含めて任意の個数でよい。
【0043】
従って、情報処理装置21は、様々な実施の形態を取ることが可能である。例えば、情報処理装置21は、CPU、DSP、または、フィルタのようなデータ処理装置として構成されることが可能である。また、信号処理部13−1乃至13−3が省略された場合、情報処理装置21は、データのやり取りを行うバス、または、データパスとして構成されることが可能である。
【0044】
情報処理装置21には、さらに、次のような、従来の情報処理装置1が有していないブロック(部)が設けられている。
【0045】
即ち、情報処理装置21にはまた、保持部12−1と信号処理部13−1の間に、保持部12−1に入力されるのと同一の信号(データ)を入力する第1の入力部(図中「0」と記述されている側の入力部)と、保持部12−1より出力される信号(データ)を入力する第2の入力部(図中「1」と記述されている側の入力部)を有し、後述するセレクタ制御部42より出力される選択指令selectAの内容に基づいて、第1の入力部と、第2の入力部のうちのいずれか一方を選択し、選択した入力部に入力されたデータを、信号処理部13−1に対して出力するセレクタ部31−1が設けられている。
【0046】
セレクタ制御部42より出力される選択指令selectAは、保持部12−1をバイパスしてデータを伝送させるか否かの指令を表す信号であれば、特に限定されないが、この例においては、保持部12−1をバイパスしてデータを伝送させる指令を表す「0」、または、保持部12−1を通過させた後(バイパスさせないで)データを伝送させる指令を表す「1」のうちのいずれか一方の値に対応する信号とされる。なお、後述する選択指令selectB乃至selectDのそれぞれも同様とされる。
【0047】
即ち、セレクタ部31−1は、選択指令selectAとして「1」を取得した場合、同期クロック信号CLKのうちの所定の第1のクロックが出力されたとき、保持部12−1に入力され、かつ保持され、第1のクロックの次の第2のクロックが出力されたとき、保持部12−1より出力されたデータ(図4中「1」と記述されている側の第2の入力部に入力されたデータ)を、信号処理部13−1に対して出力する。
【0048】
これに対して、セレクタ部31−1は、選択指令selectAとして「0」を取得した場合、同期クロック信号CLKのうちの所定の第1のクロックが出力されたとき、保持部12−1に入力されるデータと同一のデータ(図4中「0」と記述されている側の第1の入力部に入力されたデータ)を、信号処理部13−1に対してそのまま出力する。即ち、セレクタ部31−1は、選択指令selectAとして「0」を取得した場合、保持部12−1をバイパスしてデータを信号処理部13−1に伝送する。
【0049】
情報処理装置21にはまた、このようなセレクタ31−1と同様の構成のセレクタ31−2乃至31−4のそれぞれが、保持部12−2乃至12−4のうちの対応するものの出力の後に設けられている。
【0050】
即ち、セレクタ31−2は、保持部12−2と信号処理部13−2の間に設けられ、選択指令selectBとして「0」を後述するセレクタ制御部42より取得した場合、保持部12−2をバイパスしてデータを信号処理部13−2に伝送する。これに対して、セレクタ31−2は、選択指令selectBとして「1」を後述するセレクタ制御部42より取得した場合、保持部12−2から出力されたデータを信号処理部13−2に伝送する。
【0051】
同様に、セレクタ31−3は、保持部12−3と信号処理部13−3の間に設けられ、選択指令selectCとして「0」を後述するセレクタ制御部42より取得した場合、保持部12−3をバイパスしてデータを信号処理部13−3に伝送する。これに対して、セレクタ31−3は、選択指令selectCとして「1」を後述するセレクタ制御部42より取得した場合、保持部12−3から出力されたデータを信号処理部13−3に伝送する。
【0052】
セレクタ31−4は、保持部12−4の後に設けられ、選択指令selectDとして「0」を後述するセレクタ制御部42より取得した場合、保持部12−4をバイパスしてデータを外部に出力する。これに対して、セレクタ31−4は、選択指令selectDとして「1」を後述するセレクタ制御部42より取得した場合、保持部12−4から出力されたデータを外部に出力する。
【0053】
ところで、このように、セレクタ31−1乃至31−4のうちのいずれかにより、保持部12−1乃至12−4のうちの対応する保持部がバイパスされた場合、バイパスされた保持部は、その処理を行う必要はない。
【0054】
従って、情報処理装置21にはさらに、保持部12−1乃至12−4のそれぞれに対して、必要に応じて同期クロック信号CLKの供給を停止するCLKマスク部32−1乃至32−4のそれぞれが設けられている。
【0055】
即ち、CLKマスク部32−1乃至32−4のそれぞれは、後述する同期クロック信号CLKを出力するCLK制御部41と、保持部12−1乃至12−4のうちの対応するものの間に設けられている。CLKマスク部32−1乃至32−4のそれぞれは、後述するCLKマスク制御部43より出力されるマスク可否指令maskA乃至maskDのうちの対応するものの内容に基づいて、保持部12−1乃至12−4のうちの対応するものに対して、CLK制御部41より出力される同期クロック信号CLKを供給するか否かの制御を実行する。
【0056】
CLKマスク制御部43より出力されるマスク可否指令maskAは、同期クロック信号CLKを保持部12−1に供給するか否かを指令する指令を表す信号であれば、特に限定されないが、この例においては、同期クロック信号CLKの保持部12−1への供給の指令を表す「1」、または、同期クロック信号CLKの保持部12−1への供給の禁止の指令(マスク指令)を表す「0」のうちのいずれかの値に対応する信号とされる。マスク可否指令maskB乃至maskDのそれぞれも同様とされる。
【0057】
このように、情報処理装置21は、CLKマスク部32−1乃至32−4を有しているので、保持部12−1乃至12−4のうちの処理の不要なものの動作を停止させることが可能である。従って、保持部12−1乃至12−4のうちの処理の不要なものは、電力を消費しない(または、その消費量が抑制される)ので、情報処理装置21全体の消費電力の抑制が可能になる。
【0058】
なお、CLKマスク部32−1乃至32−4のそれぞれは、上述したように、保持部12−1乃至12−4のうちの対応するものの処理が不要な場合、即ち、対応する保持部がバイパスされる場合、その保持部に対して、同期クロック信号CLKの供給を停止する。従って、選択指令selectA乃至selectDのそれぞれの内容と、マスク可否指令maskA乃至maskDのそれぞれの内容は対応する。この例においては、例えば、選択指令が「1」であれば、それに対応するマスク可否指令は「1」となり、選択指令が「0」であれば、それに対応するマスク可否指令は「0」となる。
【0059】
従って、この例においては、マスク可否指令maskA乃至maskDのそれぞれは、CLKマスク制御部43より出力されたが、この例に限定されず、例えば、セレクタ制御部42が、選択指令selectA乃至selectDのそれぞれを出力する場合、さらに、マスク可否指令maskA乃至maskDのそれぞれも出力するようにしてもよい。換言すると、セレクタ制御部42は、選択指令selectA乃至selectDのそれぞれを、セレクタ部31−1乃至31−4のうちの対応するものに供給するとともに、マスク可否指令maskA乃至maskDのそれぞれとみなして、CLKマスク部32−1乃至32−4のうちの対応するものに供給してもよい。
【0060】
情報処理装置21にまた、周波数制御部33が設けられている。周波数制御部33には、外部からの周波数情報Infqに基づいて、周波数を可変し、変更した周波数の同期クロック信号CLKを出力するCLK制御部41(従来の周波数制御部11(図1)に対応するCLK制御部41)、周波数情報Infqに含まれるCLK制御部41が出力する同期クロック信号CLKの周波数に基づいて、上述した選択指令selectA乃至selectDのそれぞれを生成し、セレクタ部31−1乃至31−4のうちの対応するものに供給するセレクタ制御部42、および、上述したマスク可否指令maskA乃至maskDのそれぞれを生成し、CLKマスク部32−1乃至32−4のうちの対応するものに供給するCLKマスク制御部43が設けられている。
【0061】
周波数制御部33に入力される周波数情報Infqは、CLK制御部41が出力する同期クロック信号CLKの周波数を指標するものであれば限定されず、例えば、同期クロック信号CLKの周波数を指標するデータビットとして表すことが可能である。周波数情報Infqは、現在の同期クロック信号CLKの周波数を表すものであってもよく、或いは、同期クロック信号CLKの周波数の変化に先行して次のクロックの周波数を表すものでもよい。また、周波数情報Infqは、周波数の変化点だけを指標する信号であってもよく、さらに、未来の同期クロック信号CLKとして次のクロックのものに限定されず、所定数の複数クロック後の周波数を指標するようにしてもよい。
【0062】
同期クロック信号CLKの周波数を指標する方法としては、様々な方法が考えられ、特に限定されるものではないが、この例においては、例えば、周波数情報Infqとしてコード化された情報を用い、それをデコードして利用する方法とされる。
【0063】
図5と図6は、そのようなエンコード方法のうちの、2種類のエンコード方法のそれぞれをテーブル形式で表している。勿論、エンコード方法はこれらのものに限定されず他の符号化方法を用いてもよい。
【0064】
図5に示されるエンコード方法は、可変な同期クロック信号CLKの周波数に合わせてそれぞれ2ビットのデータが割り当てられる方法の例である。図5の例では、クロック信号CLKの周波数が10MHzのときに「00」が、周波数が33MHzのときに「01」が、周波数が50MHzのときに「10」が、周波数が100MHzの時に「11」が、それぞれ割り当てられる。この方式では、周波数が10倍に変化した場合、例えば、同期クロック信号CLKの周波数が10MHzから100MHzに変化した場合でも、データ長は2ビットのままであり、デコード処理や回路構成が複雑化されずに処理が可能となる。
【0065】
図6に示されるエンコード方法は、可変な同期クロック信号CLKの周波数の逆数にあわせたデータが割り当てられる方法の例である。同期クロック信号CLKの周波数の逆数は、各周波数における1クロック分の周期に対応する。図6の例では、同期クロック信号CLKの周波数が10MHzのときに「10」が、周波数が33MHzのときに「3」が、周波数が50MHzのときに「2」が、周波数が100MHzのときに「1」が、それぞれ割り当てられる。これらのデータは、データの表す値そのものが1クロック分の周期に対応することから、単純な乗算によって待ち時間などを形成することが可能である。即ち、同期クロック信号CLKの周波数が10MHz、33MHz、50MHz、および、100MHzのそれぞれのときには、クロック周期は100ns、30ns、20ns、および、10nsのそれぞれであり、これらは上述したデータ値に10ns分を乗算することで容易に算出が可能である。
【0066】
なお、図4の例では、周波数情報Infqは、情報処理装置21の外部から供給されているが、図4の例に限定されず、例えば、周波数制御部33自身が周波数情報Infqを生成してもよい。
【0067】
また、図4の例では、セレクタ制御部42、および、CLKマスク制御部43のそれぞれは、周波数情報Infqに基づいて、選択指令selectA乃至selectDのそれぞれ、若しくは、マスク可否指令maskA乃至maskDのそれぞれを生成しているが、図4の例に限定されず、例えば、周波数情報Infqとは異なる情報が外部から入力され、その情報に基づいて、選択指令selectA乃至selectDのそれぞれ、および、マスク可否指令maskA乃至maskDのそれぞれが生成されてもよい。
【0068】
次に、図7のフローチャートを参照して、図4の周波数制御部33の処理について説明する。
【0069】
はじめに、ステップS1において、周波数制御部33のCLK制御部41は、所定の周波数の同期クロック信号CLKを出力する。
【0070】
ステップS2において、周波数制御部33は、周波数情報Infqが入力されたか否かを判定する。
【0071】
ステップS2において、周波数情報Infqが入力されていないと判定した場合、周波数制御部31は、その処理をステップS1に戻し、それ以降の処理を繰り返す。即ち、周波数情報Infqが入力されるまで、周波数制御部31のCLK制御部41は、所定の周波数の同期クロック信号CLKを出力し続ける。
【0072】
これに対して、ステップS2において、周波数情報Infqが入力されたと判定した場合、周波数制御部31は、ステップS3において、周波数UPの指令であるか否かを判定する。
【0073】
即ち、周波数情報Infqに含まれる周波数(この例においては、例えば、上述した図5または図6に示されるような周波数情報Infqがデコードされて得られる周波数)が、その時点で実際に出力されている同期クロック信号CLKの周波数より高い場合、ステップS3において、周波数UPの指令であると判定される。
【0074】
これに対して、周波数情報Infqに含まれる周波数が、その時点で実際に出力されている同期クロック信号CLKの周波数と同じか、または、それより低い場合、ステップS3において、周波数UPの指令ではないと判定される。
【0075】
ステップS3において、周波数UPの指令であると判定した場合、周波数制御部33は、ステップS4において、情報処理装置21のパスを停止する。即ち、周波数制御部33は、保持部12−1乃至保持部12−4に保持されているデータの全てを、外部に出力させた後(セレクタ部31−4より出力させた後)、保持部12−1乃至セレクタ部31−4の間のデータの伝送を一時停止する。
【0076】
ステップS5において、周波数制御部33のセレクタ制御部42は、ステップS2の処理で入力された周波数情報Infqに対応する周波数(周波数情報Infqがデコードされて得られる周波数)に基づいて、選択指令selectA乃至selectDのそれぞれを生成する。
【0077】
そして、ステップS6において、セレクタ制御部42は、ステップS5の処理で生成した選択指令selectA乃至selectDのそれぞれに基づいて、各セレクタ部31−1乃至31−4のそれぞれの入力を適切に切り換える。
【0078】
具体的には、例えば、いま、ステップS2の処理で入力された周波数情報Infqに対応する周波数が最高周波数とされ、ステップS3の処理で周波数UPの指令であると判定した場合、周波数制御部33は、図8に示されるように、保持部12−1乃至12−4のうちのいずれもバイパスさせない(データを、全ての保持部12−1乃至12−4のそれぞれに通過させる)と判断する。
【0079】
なお、図8、並びに、後述する図9および図10において、「○」は、保持部12−1乃至12−4のうちの図中その上方に示されている保持部をバイパスさせない(その保持部にデータを通過させる)ことを表している。これに対して、「×」は、保持部12−1乃至12−4のうちの図中その上方に示されている保持部をバイパスさせる(その保持部にデータを通過させない)ことを表している。
【0080】
そして、図8に示されるように、セレクタ制御部42は、ステップS5の処理で、選択指令selectA乃至selectDのそれぞれの設定を、全て「1」とし(「1」を生成し)、ステップS6の処理で、セレクタ部31−1乃至31−4のそれぞれに送信する。
【0081】
上述したように、セレクタ部31−1乃至31−4のそれぞれは、選択指令selectA乃至selectDのうちの対応するものを受信し、いまの場合、受信した選択指令がいずれも「1」であるので、保持部12−1乃至12−4のうちのその直前に配置されている保持部の出力を入力とする(図4中「1」と記述されている側の第2の入力部を入力とする)ようにその設定を切り換える。
【0082】
このとき、図8に示されるように、CLKマスク制御部43は、選択指令selectA乃至selectDのそれぞれに対応させて、マスク可否指令maskA乃至maskDのそれぞれの設定を、全て「1」とし(「1」を生成し)、CLKマスク部32−1乃至32−4のうちの対応するものに供給する。
【0083】
上述したように、CLKマスク部32−1乃至32−4のそれぞれは、マスク可否指令maskA乃至maskDのうちの対応するものを受信し、いまの場合、受信したマスク可否指令がいずれも「1」であるので、CLK制御部41からの同期クロック信号CLKを、保持部12−1乃至12−4のうちの対応する保持部へ供給するように制御する。
【0084】
図7に戻り、周波数制御部33は、ステップS7において、情報処理装置21のパスを再開し、ステップS8において、同期クロック信号CLKの周波数を、ステップS2の処理で入力した周波数情報Infqに対応する周波数(周波数情報Infqがデコードされて得られた周波数)まで上げる。
【0085】
ステップS15において、周波数制御部33は、処理の終了が指示されたか否かを判定する。
【0086】
ステップS15において、処理の終了が指示されたと判定した場合、周波数制御部33は、その処理を終了する。
【0087】
これに対して、ステップS15において、処理の終了がまだ指示されていないと判定した場合、周波数制御部33は、その処理をステップS1に戻し、それ以降の処理を繰り返す。
【0088】
即ち、CLK制御部41は、次の周波数情報Infqが入力されるまで、直前のステップS8の処理で設定の変更をした(値を上げた)周波数(いまの場合、最高周波数)の同期クロック信号CLKを出力し続ける。
【0089】
この状態で、例えば、最高周波数がエンコードされた周波数情報Infqが、周波数制御部33に新たに入力されたとする。
【0090】
この場合、既にCLK制御部41より最高周波数の同期クロック信号CLKが出力されているので、周波数制御部33は、ステップS2の処理で、周波数情報Infqが入力されたと判定し、ステップS3の処理で、周波数UPの指令ではないと判定する。さらに、ステップS9において、周波数制御部33は、周波数DOWNの指令ではないと判定し、その処理をステップS1に戻し、それ以降の処理を繰り返す。即ち、CLK制御部41は、次の周波数情報Infqが入力されるまで、最高周波数の同期クロック信号CLKを出力し続ける。
【0091】
この状態で、例えば、さらに、最高周波数の1/2の周波数がエンコードされた周波数情報Infqが、周波数制御部33に新たに入力されたとする。
【0092】
この場合、周波数制御部33は、ステップS2の処理で、周波数情報Infqが入力されたと判定し、ステップS3の処理で、周波数UPの指令ではないと判定し、さらに、ステップS9の処理で、今度は、周波数DOWNの指令であると判定する。
【0093】
そして、ステップS10において、周波数制御部33は、上述したステップS4の処理と同様に、情報処理装置21のパスを停止する。
【0094】
ステップS11において、周波数制御部33のセレクタ制御部42は、上述したステップS5の処理と同様に、ステップS2の処理で入力された周波数情報Infqに対応する周波数(いまの場合、周波数情報Infqがデコードされて得られる最高周波数の1/2の周波数)に基づいて、選択指令selectA乃至selectDのそれぞれを生成する。
【0095】
そして、ステップS12において、セレクタ制御部42は、上述したステップS6の処理と同様に、ステップS11の処理で生成した選択指令selectA乃至selectDのそれぞれに基づいて、各セレクタ部31−1乃至31−4のそれぞれの入力を適切に切り換える。
【0096】
具体的には、例えば、いま、周波数制御部33は、図9に示されるように、1つの保持部12−2をバイパスさせ(データを保持部12−2に通過させず)、その他の保持部12−1、保持部12−3、および、保持部12−4のそれぞれをバイパスさせない(データを、保持部12−1、保持部12−3、および保持部12−4のそれぞれに通過させる)と判断したとする。
【0097】
この場合、図9に示されるように、ステップS11の処理で、セレクタ制御部42は、選択指令selectBの設定を、「0」とし(「0」を生成し)、ステップS12の処理で、セレクタ部31−2に送信する。セレクタ部31−2は、上述したように、選択指令selectB(0)を受信すると、信号処理部13−1からの出力を入力とするように(保持部12−2をバイパスするように)その設定を変更する。即ち、セレクタ部31−2は、図4中「0」と記述されている側の第1の入力部を入力とするようにその設定を変更する。
【0098】
これに対して、セレクタ制御部42は、ステップS11の処理で、選択指令selectA、selectC、およびselectDのそれぞれの設定を、いずれも「1」とし(「1」を生成し)、ステップS12の処理で、セレクタ部31−1、セレクタ部31−3、およびセレクタ部31−4のそれぞれに送信する。
【0099】
上述したように、セレクタ部31−1、セレクタ部31−3、および、セレクタ部31−4のそれぞれは、選択指令selectA(1)、selectC(1)、および、selectD(1)のそれぞれを受信すると、保持部12−1、保持部12−3、および、保持部12−4のそれぞれの出力を入力とする(図4中「1」と記述されている側の第2の入力部を入力とする)ようにそれぞれの設定を切り換える。
【0100】
このとき、図9に示されるように、CLKマスク制御部43は、選択指令selectA乃至selectDのそれぞれに対応して、マスク可否指令maskAを「1」に、マスク可否指令maskBを「0」に、マスク可否指令maskCを「1」に、マスク可否指令maskDを「1」に、それぞれ設定し(生成し)、CLKマスク部32−1乃至32−4のうちの対応するものに送信する。
【0101】
上述したように、CLKマスク部32−2は、マスク可否指令maskB(0)を受信すると、CLK制御部41からの同期クロック信号CLKを、保持部12−2へ供給することを停止するように制御する。
【0102】
これに対して、CLKマスク部32−1、CLKマスク部32−3、およびCLKマスク部32−4のそれぞれは、マスク可否指令maskA(1)、maskC(1)、およびmaskD(1)のそれぞれを受信すると、CLK制御部41からの同期クロック信号CLKを、保持部12−1、保持部12−3、および保持部12−4のそれぞれへ供給するように制御する。
【0103】
或いは、例えば、いま、周波数制御部33が、図10に示されるように、2つの保持部12−2と保持部12−3のそれぞれをバイパスさせ(データを保持部12−2と保持部12−3のそれぞれに通過させず)、その他の保持部12−1、および、保持部12−4のそれぞれをバイパスさせない(データを、保持部12−1、および保持部12−4のそれぞれに通過させる)と判断したとする。
【0104】
この場合、図10に示されるように、セレクタ制御部42は、ステップS11の処理で、選択指令selectB、および、selectCのそれぞれの設定を、いずれも「0」とし(「0」を生成し)、ステップS12の処理で、セレクタ部31−2、および、セレクタ部31−3のそれぞれに送信する。セレクタ部31−2、および、セレクタ部31−3のそれぞれは、上述したように、選択指令selectB(0)、および、selectC(0)のそれぞれを受信すると、信号処理部13−1からの出力、および、信号処理部13−2からの出力のそれぞれを入力とするように(保持部12−1、および保持部12−2のそれぞれをバイパスするように)その設定を変更する。即ち、セレクタ部31−2、および、セレクタ部31−3のそれぞれは、図4中「0」と記述されている側の第1の入力部を入力とするようにその設定を変更する。
【0105】
これに対して、セレクタ制御部42は、選択指令selectA、およびselectDのそれぞれの設定を、「1」とし(「1」を生成し)、セレクタ部31−1、およびセレクタ部31−4のそれぞれに送信する。
【0106】
上述したように、セレクタ部31−1、および、セレクタ部31−4のそれぞれは、選択指令selectA(1)、および、selectD(1)のそれぞれを受信すると、保持部12−1、および、保持部12−4のそれぞれの出力を入力とする(図4中「1」と記述されている側の第2の入力部を入力とする)ようにそれぞれの設定を切り換える。
【0107】
このとき、図10に示されるように、CLKマスク制御部43は、選択指令selectA乃至selectDのそれぞれに対応して、マスク可否指令maskAを「1」に、マスク可否指令maskBを「0」に、マスク可否指令maskCを「0」に、マスク可否指令maskDを「1」に、それぞれ設定し(生成し)、CLKマスク部32−1乃至32−4のうちの対応するものに供給する。
【0108】
上述したように、CLKマスク部32−2、および、CLKマスク部32−3のそれぞれは、マスク可否指令maskB(0)、および、マスク可否指令maskC(0)のそれぞれを受信すると、CLK制御部41からの同期クロック信号CLKを、保持部12−2、および、保持部12−3のそれぞれへ供給することを停止するように制御する。
【0109】
これに対して、CLKマスク部32−1、およびCLKマスク部32−4のそれぞれは、マスク可否指令maskA(1)、およびmaskD(1)のそれぞれを受信すると、CLK制御部41からの同期クロック信号CLKを、保持部12−1、および保持部12−4のそれぞれへ供給するように制御する。
【0110】
図7に戻り、周波数制御部33は、ステップS13において、上述したステップS7の処理と同様に、情報処理装置21のパスを再開し、ステップS14において、同期クロック信号の周波数を、ステップS2の処理で入力された周波数情報Infqに対応する周波数(周波数情報Infqがデコードされて得られた周波数)まで下げる。
【0111】
ステップS15において、上述したように、周波数制御部33は、処理の終了が指示されたか否かを判定する。
【0112】
ステップS15において、処理の終了がまだ指示されていないと判定した場合、周波数制御部33は、その処理をステップS1に戻し、それ以降の処理を繰り返す。
【0113】
即ち、CLK制御部41は、次の周波数情報Infqが入力されるまで、直前のステップS14の処理で設定の変更をした(値を下げた)周波数(今の場合、最高周波数の1/2の周波数)の同期クロック信号CLKを出力し続ける。
【0114】
これに対して、ステップS15において、処理の終了が指示されたと判定した場合、上述したように、周波数制御部33は、その処理を終了する。
【0115】
なお、上述した一連の処理のうちの、周波数UPの指令である場合(ステップS3の処理でYESと判定された場合)のそれ以降の処理、即ち、上述したステップS4乃至S8の処理は、その順番で実行される必要がある。これに対して、周波数DOWNの指令である場合(ステップS9の処理でYESと判定された場合)のそれ以降の処理は、即ち、上述したステップS10乃至S14の処理は、必ずしもその順番で実行される必要はない。具体的には、ステップS10乃至S13の処理と、ステップS14の処理のそれぞれは、相互に独立した処理として順序関係なく実行可能である。
【0116】
次に、図11乃至図14を参照して、図4の情報処理装置21の全体の動作を説明する。
【0117】
なお、この例においては、例えば、上述した従来の情報処理装置1(図1)の動作と対応させ、即ち、上述した図2と図3にあわせて、情報処理装置1に入力される信号(保持部12−1に入力される信号)は、(A0,B0,C0,D0)のデータ列であり、データ列(A0,B0,C0,D0)の各データのそれぞれは、その順番で、1クロック毎に順次入力されるとする。
【0118】
例えば、いま、周波数制御部33が、上述した図7のステップS1乃至S15の処理を実行し、最高周波数の同期クロック信号CLKを出力しているとする。
【0119】
この場合、この例においては、上述したように(図8に示されるように)、保持部12−1乃至12−4のうちのいずれもバイパスされない(データは、全ての保持部12−1乃至12−4のそれぞれを通過する)ので、情報処理装置21の動作は、図11に示されるようになる。図11と、上述した図2を比較すると明らかなように、最高周波数の同期クロック信号CLKが出力されている場合の情報処理装置21の動作(図11)は、最高周波数の同期クロック信号CLKが出力されている場合の情報処理装置1の動作(図2)と基本的に同様とされる。従って、最高周波数の同期クロック信号CLKが出力されている場合の情報処理装置21の動作の説明は省略する。
【0120】
この状態で、例えば、最高周波数の1/2の周波数がエンコードされた周波数情報Infqが、周波数制御部33に新たに入力され、上述した図7のステップS1乃至S15の処理が実行されて、最高周波数の1/2の同期クロック信号CLKが出力されたとする。ただし、ここでは、図9に示されるように、1つの保持部12−2のみがバイパスされる(データが保持部12−2を通過しない)ように設定されたとする。
【0121】
この場合、情報処理装置21の動作は、例えば、図12に示されるようになる。
【0122】
即ち、1クロック目に、データA0が保持部12−1に入力され、かつ保持される。
【0123】
2クロック目に、保持部12−1において、データA0が出力されるとともに、データB0が入力され、かつ保持される。データA0は、セレクタ部31−1を通過して、信号処理部13−1により第1の処理が施されてデータA1となり、保持部12−2をバイパスして(通過しないで)そのままセレクタ部31−2を通過し、さらに、信号処理部13−2により第2の処理が施されてデータA2となり、3クロック目が出力されるまでに、保持部12−3に入力され、かつ保持される。なお、保持部12−2は、同期クロック信号CLKが供給されないので(CLKマスク部32−2により供給の停止が制御されているので)、データA1を保持しない。
【0124】
3クロック目に、保持部12−1において、データB0が出力されるとともに、データC0が入力され、かつ、保持される。保持部12−3において、データA2が出力されるとともに、次の4クロック目が出力されるまでに、保持部12−1より出力されたデータB0が、セレクタ部31−1を通過して信号処理部13−1によりデータB1とされ、さらに、保持部12−2をバイパスして(通過しないで)セレクタ部31−2をそのまま通過し、信号処理部13−2によりデータB2とされた後、入力され、そのデータB2が保持される。データA2は、セレクタ部31−3を通過し、信号処理部13−3により第3の処理が施されてデータA3となり、4クロック目が出力されるまでに、保持部12−4に入力され、かつ保持される。
【0125】
4クロック目以降、保持部12−1、保持部12−3、および、保持部12−4のそれぞれ、並びに、信号処理部13−1乃至13−3のそれぞれが、上述した処理を繰り返し、その結果、4クロック目にデータA3が外部に出力され、さらに、図示はしないが、5クロック目にデータB3が、6クロック目にデータC3が、7クロック目にデータD3が、それぞれ外部に出力される。
【0126】
即ち、同期クロック信号CLKの周波数が最高周波数の1/2であり、かつ、1つの保持部12−2がバイパスされている場合、情報処理装置21は、1クロック目に、データA0を入力し、4クロック目に、信号処理部13−1乃至13−3のそれぞれにより処理されたデータA3を外部に出力する。
【0127】
このように、同期クロック信号CLKの周波数が最高周波数の1/2の場合の従来の情報処理装置1は、上述したように(図3に示されるように)、保持部12−1乃至12−4のうちのいずれもバイパスしないので(データを、全ての保持部12−1乃至12−4に通過させるので)、1クロック目に入力されたデータA0が、データA3に変換されて外部に出力されるタイミングは、5クロック目である。
【0128】
これに対して、同期クロック信号CLKの周波数が最高周波数の1/2の場合の情報処理装置21は、上述したように(図12に示されるように)、いまの場合、1つの保持部12−2をバイパスするので、1クロック目に入力されたデータA0が、データA3に変換されて外部に出力されるタイミングは、従来の情報処理装置1のそれと比較して1クロック少ない4クロック目となる。
【0129】
従って、その処理時間は、従来の情報処理装置1(図1)においては、上述したように(図3に示されるように)、最高周波数時の処理時間T1の2倍のT2(=2T1)となるのに対して、1つの保持部12−2をバイパスする情報処理装置21(図4)においては、図12に示されるように、最高周波数時の処理時間T1の1.5倍のT3(=1.5T1)となり、処理時間の短縮が可能になる。
【0130】
即ち、本発明の情報処理装置21は、同期クロック信号CLKの周波数が下がっても、従来の情報処理装置1に比較して、その処理能力の低下が抑制され、一定以上の処理能力を維持することが可能になる。換言すると、低周波数の同期クロック信号CLKで動作する本発明の情報処理装置21の処理能力は、従来の情報処理装置1のそれに比較して高くなる。
【0131】
また、バイパスされる保持部12−2には、同期クロック信号CLKが供給されないので(CLKマスク部32−2がその供給を停止するように制御するので)、保持部12−2の動作は停止し、保持部12−2の電力の消費は抑制される。換言すると、低周波数の同期クロック信号CLKで動作する本発明の情報処理装置21の消費電力は、従来の情報処理装置1のそれに比較して抑制される(低下する)。
【0132】
上述したように、選択信号selectA乃至selectDのそれぞれは、他とは独立した信号とされているので、保持部12−1乃至12−4のそれぞれに対して、バイパスを行うか否かの設定も他とは独立して実行可能である。即ち、情報処理装置21において、保持部12−1乃至12−4のうちのバイパスされる保持部の種類および個数は、1クロック内に処理が可能な範囲で特に限定されず、任意の個数、かつ、任意のものが選択可能とされる。
【0133】
従って、情報処理装置21の処理能力をさらに高くし、かつ、その消費電力を抑制するためには、保持部12−1乃至12−4のうちのバイパスされる保持部の個数を、1クロックの間に処理可能な範囲で、単に増加させればよい。
【0134】
例えば、上述した例では、最高周波数の1/2の同期クロック信号CLKが出力され、かつ、1つの保持部12−2のみがバイパスされる(データが保持部12−2を通過しない)場合の情報処理装置21の動作を説明した。
【0135】
これに対して、情報処理装置21の処理能力のさらなる向上、および、消費電力のさらなる抑制のために、上述したように(図10に示されるように)、最高周波数の1/2の同期クロック信号CLKが出力されている場合、情報処理装置21は、2つの保持部12−2、および、保持部12−3のそれぞれをバイパスさせる(データを保持部12−2、および、保持部12−3のそれぞれに通過させない)ようにすることも可能である。
【0136】
図14は、そのような、最高周波数の1/2の同期クロック信号CLKが出力され、かつ、2つの保持部12−2、および、保持部12−3がバイパスされる場合の情報処理装置21の動作を表している。なお、図13は、図14との比較のために、最高周波数の同期クロックCLKが出力されている場合の情報処理装置21の動作を表したものであり、上述した図11(図2)と同一の図とされている。
【0137】
図14に示されるように、1クロック目に、データA0が保持部12−1に入力され、かつ保持される。
【0138】
2クロック目に、保持部12−1において、データA0が出力されるとともに、データB0が入力され、かつ保持される。
【0139】
データA0は、セレクタ部31−1を通過して、信号処理部13−1により第1の処理が施されてデータA1となり、保持部12−2をバイパスして(通過しないで)そのままセレクタ部31−2を通過する。さらに、データA1は、信号処理部13−2により第2の処理が施されてデータA2となり、保持部12−3をバイパスして(通過しないで)そのままセレクタ部31−3を通過する。そして、データA2は、信号処理部13−3により第3の処理が施されてデータA3となり、3クロック目が出力されるまでに、保持部12−4に入力され、かつ保持される。
【0140】
なお、保持部12−2、および保持部12−3のそれぞれは、同期クロック信号CLKが供給されないので(CLKマスク部32−2、および、CLKマスク部32−3のそれぞれによりその供給の禁止が制御されているので)、データA1、および、データA2のそれぞれを保持しない。
【0141】
3クロック目以降、保持部12−1、および、保持部12−4のそれぞれ、並びに、信号処理部13−1乃至13−3のそれぞれが、上述した処理を繰り返し、その結果、3クロック目にデータA3が外部に出力され、さらに、図示はしないが、4クロック目にデータB3が、5クロック目にデータC3が、6クロック目にデータD3が、それぞれ外部に出力される。
【0142】
即ち、同期クロック信号CLKの周波数が最高周波数の1/2であり、かつ、2つの保持部12−2、および、保持部12−3がバイパスされる場合、情報処理装置21は、1クロック目に、データA0を入力し、3クロック目に、信号処理部13−1乃至13−3のそれぞれにより処理されたデータA3を外部に出力する。
【0143】
このように、同期クロック信号CLKの周波数が最高周波数の1/2であり、かつ、1つの保持部12−2のみがバイパスされた場合、上述したように(図12に示されるように)、1クロック目に入力されたデータA0が、データA3に変換されて外部に出力されるタイミングは、4クロック目となる。
【0144】
これに対して、同期クロック信号CLKの周波数が最高周波数の1/2であり、かつ、2つの保持部12−2、および、保持部12−3がバイパスされる場合、上述したように(図14に示されるように)、1クロック目に入力されたデータA0が、データA3に変換されて外部に出力されるタイミングは、1つの保持部12−2のみがバイパスされた場合のそれと比較して1クロック少ない3クロック目となる。
【0145】
従って、その処理時間は、1つの保持部12−2のみがバイパスされた場合においては、上述したように(図12に示されるように)、最高周波数時の処理時間T1の1.5倍のT1(=1.5T1)となるのに対して、2つの保持部12−2、および保持部12−3がバイパスされた場合においては、図14に示されるように、最高周波数時の処理時間T1と同一のT4(=T1)となり、処理時間のさらなる短縮が可能になる。
【0146】
また、保持部12−2に加えてさらに、保持部12−3の動作も停止するので、保持部12−2のみならず保持部12−3の電力の消費も抑制される。換言すると、情報処理装置21の消費電力はさらに抑制される(低下する)。
【0147】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることも可能である。
【0148】
この場合、図4の情報処理装置21のうちの保持部12−1乃至12−4、セレクタ部31−1乃至31−4、および、信号処理部13−1乃至13−3は、例えば、図15に示されるパーソナルコンピュータ51のCPU(Central Processing Unit)61として構成可能である。或いは、信号処理部13−1乃至13−3が省略された場合、図4の情報処理装置21のうちの保持部12−1乃至保持部12−4、および、セレクタ部31−1乃至31−4は、例えば、パーソナルコンピュータ51のバス64、若しくは入出力インタフェース65として構成可能である。
【0149】
図15において、CPU61は、ROM(Read Only Memory)62に記憶されているプログラム、または記憶部68からRAM(Random Access Memory)63にロードされたプログラムに従って各種の処理を実行する。RAM63にはまた、CPU61が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0150】
なお、この例においては、例えば、そのようなプログラムとして、図4の周波数制御部33、および、CLKマスク部32−1乃至32−4のそれぞれに対応するモジュールが構成される。これらの各モジュールのそれぞれは、1つの独立したアルゴリズムを持ち、かつ、そのアルゴリズムに従って固有の動作を実行する。即ち、各モジュールのそれぞれは、CPU61により適宜読み出され、実行される。
【0151】
CPU61、ROM62、およびRAM63は、バス64を介して相互に接続されている。このバス64にはまた、入出力インタフェース65も接続されている。
【0152】
入出力インタフェース65には、キーボードなどよりなる入力部66、ディスプレイなどよりなる出力部67、ハードディスクなどより構成される記憶部68、および、インターネットを含むネットワーク(図示せず)を介しての他の装置(図示せず)との通信処理を実行する通信部69が接続されている。
【0153】
入出力インタフェース65にはまた、必要に応じてドライブ70が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体71が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部68にインストールされる。
【0154】
上述した一連の処理を実行させるプログラムは、ネットワークや記録媒体からインストールされる。この記録媒体は、図15に示されるように、装置本体とは別に、所有者等にプログラムを提供するために配布され、ドライブ70に装着される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどのリムーバブル記録媒体(パッケージメディア)71により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM62や、記憶部68に含まれるハードディスクなどで構成される。
【0155】
なお、本明細書において、上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0156】
【発明の効果】
以上のごとく、本発明によれば、同期クロック信号の周波数を可変とすることができる。特に、同期クロック信号の周波数が低周波数とされても、処理能力の低下を防止するとともに、電力消費を抑制することができる。
【図面の簡単な説明】
【図1】従来の情報処理装置の構成例を示す図である。
【図2】最高周波数の同期クロック信号が出力されている場合の図1の情報処理装置の動作例を説明するタイミングチャートである。
【図3】最高周波数の1/2の同期クロック信号が出力されている場合の図1の情報処理装置の動作例を説明するタイミングチャートである。
【図4】本発明が適用される情報処理装置の構成例を示す図である。
【図5】図4の情報処理装置の周波数制御部に入力される周波数情報のエンコード方法の例を説明する図である。
【図6】図4の情報処理装置の周波数制御部に入力される周波数情報のエンコード方法の他の例を説明する図である。
【図7】図4の情報処理装置の周波数制御部の処理を説明するフローチャートである。
【図8】図4の情報処理装置の周波数制御部のうちの、セレクタ制御部が生成する選択信号、および、CLKマスク制御部が生成するマスク可否指令の例を説明する図である。
【図9】図4の情報処理装置の周波数制御部のうちの、セレクタ制御部が生成する選択信号、および、CLKマスク制御部が生成するマスク可否指令の他の例を説明する図である。
【図10】図4の情報処理装置の周波数制御部のうちの、セレクタ制御部が生成する選択信号、および、CLKマスク制御部が生成するマスク可否指令のさらに他の例を説明する図である。
【図11】最高周波数の同期クロック信号が出力されている場合の図4の情報処理装置の動作例を説明するタイミングチャートである。
【図12】最高周波数の1/2の同期クロック信号が出力されている場合の図4の情報処理装置の動作例を説明するタイミングチャートである。
【図13】最高周波数の同期クロック信号が出力されている場合の図4の情報処理装置の動作例を説明するタイミングチャートである。
【図14】最高周波数の1/2の同期クロック信号が出力されている場合の図4の情報処理装置の他の動作例を説明するタイミングチャートである。
【図15】図4の情報処理装置が搭載されるパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
12−1乃至12−4 保持部, 13−1乃至13−3 信号処理部, 21 情報処理装置, 31−1乃至31−4 セレクタ部, 32−1乃至32−4 CLKマスク部, 33 周波数制御部, 41 CLK制御部, 42 セレクタ制御部42, 43 CLKマスク制御部, CLK 同期クロック信号, Infq周波数情報, maskA乃至maskD マスク可否指令, selectA乃至selectD 選択指令

Claims (7)

  1. 所定の周波数の同期クロックに同期して動作する情報処理装置において、
    前記同期クロックの前記周波数を変更して、変更した前記周波数の前記同期クロックを出力するクロック出力手段と、
    前記クロック出力手段より所定の第1のクロックが出力された場合、所定のデータを入力、かつ、保持し、前記クロック出力手段より前記第1のクロックの次の第2のクロックが出力されたとき、保持した前記データを出力する保持手段と、
    前記同期クロック出力手段より出力される前記同期クロックの前記周波数に基づいて、前記保持手段をバイパスして前記データを伝送させるか否かを指令する選択指令を生成する選択指令生成手段と、
    前記選択指令生成手段により生成された前記選択指令が、前記保持手段をバイパスして前記データを伝送させるという内容であった場合、前記データを前記保持手段を介さずにそのまま出力し、前記選択指令が、前記保持手段をバイパスしないで前記データを伝送させるという内容であった場合、前記保持手段より出力された前記データを出力するバイパス手段と
    前記選択指令生成手段により生成された前記選択指令が、前記保持手段をバイパスして前記データを伝送させるという内容であった場合、前記保持手段への前記同期クロックの供給を停止させる停止制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記保持手段、および、前記バイパス手段がその順番に接続された組が複数組設けられ、複数の前記組のそれぞれがカスケード接続されている
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記データに所定の処理を施すデータ処理手段をさらに備え、
    前記保持手段は、前記データ処理手段により前記処理が施された前記データを入力、かつ保持した後、出力し、
    前記バイパス手段は、前記選択指令が、前記保持手段をバイパスして前記データを伝送させるという内容であった場合、前記データ処理手段により前記処理が施された前記データを前記保持手段を介さずにそのまま出力し、前記選択指令が、前記保持手段をバイパスしないで前記データを伝送させるという内容であった場合、前記データ処理手段により前記処理が施されて、前記保持手段に入力、かつ、保持された後、前記保持手段より出力された前記データを出力する
    ことを特徴とする請求項1に記載の情報処理装置。
  4. 前記選択指令生成手段は、前記同期クロック出力手段より出力される前記同期クロックの前記周波数に対応する周波数情報をさらに生成し、生成した前記周波数情報に基づいて前記選択指令を生成する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記選択指令生成手段は、外部より供給される、前記同期クロック出力手段より出力される前記同期クロックの前記周波数に対応する周波数情報をさらに受信し、受信した前記周波数情報に基づいて前記選択指令を生成する
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 所定の周波数の同期クロックに同期して動作し、
    前記同期クロックの前記周波数を変更して、変更した前記周波数の前記同期クロックを出力するクロック出力装置と、
    前記クロック出力装置より所定の第1のクロックが出力された場合、所定のデータを入力、かつ、保持し、前記クロック出力装置より前記第1のクロックの次の第2のクロックが出力されたとき、保持した前記データを出力する保持装置と、
    前記データを前記保持装置を介さずにそのまま入力する第1の入力部、前記保持装置より出力された前記データを入力する第2の入力部、および、前記第1の入力部と前記第2の入力部のうちのいずれか一方に入力された前記データを出力する出力部を有するバイパス装置と
    を備える情報処理装置の情報処理方法であって、
    前記同期クロック出力装置より出力される前記同期クロックの前記周波数に基づいて、前記保持装置をバイパスして前記データを伝送させるか否かを指令する選択指令を生成する選択指令生成ステップと、
    前記バイパス装置に対して、前記選択指令生成ステップの処理により生成された前記選択指令が、前記保持装置をバイパスして前記データを伝送させるという内容であった場合、前記第1の入力部に入力された前記データを前記出力部より出力させるように制御し、前記選択指令が、前記保持装置をバイパスしないで前記データを伝送させるという内容であった場合、前記第2の入力部に入力された前記データを前記出力部より出力させるように制御するバイパス制御ステップと
    前記選択指令生成ステップの処理により生成された前記選択指令が、前記保持装置をバイパスして前記データを伝送させるという内容であった場合、前記保持装置への前記同期クロックの供給を停止させる停止制御ステップと
    を含むことを特徴とする情報処理方法。
  7. 所定の周波数の同期クロックに同期して動作し、
    前記同期クロックの前記周波数を変更して、変更した前記周波数の前記同期クロックを出力するクロック出力装置と、
    前記クロック出力装置より所定の第1のクロックが出力された場合、所定のデータを入力、かつ、保持し、前記クロック出力装置より前記第1のクロックの次の第2のクロックが出力されたとき、保持した前記データを出力する保持装置と、
    前記データを前記保持装置を介さずにそのまま入力する第1の入力部、前記保持装置より出力された前記データを入力する第2の入力部、および、前記第1の入力部と前記第2の入力部のうちのいずれか一方に入力された前記データを出力する出力部を有するバイパス装置と
    を備える情報処理装置を制御するコンピュータに、
    前記同期クロック出力装置より出力される前記同期クロックの前記周波数に基づいて、前記保持装置をバイパスして前記データを伝送させるか否かを指令する選択指令を生成する選択指令生成ステップと、
    前記バイパス装置に対して、前記選択指令生成ステップの処理により生成された前記選択指令が、前記保持装置をバイパスして前記データを伝送させるという内容であった場合、前記第1の入力部に入力された前記データを前記出力部より出力させるように制御し、前記選択指令が、前記保持装置をバイパスしないで前記データを伝送させるという内容であった場合、前記第2の入力部に入力された前記データを前記出力部より出力させるように制御するバイパス制御ステップと
    前記選択指令生成ステップの処理により生成された前記選択指令が、前記保持装置をバイパスして前記データを伝送させるという内容であった場合、前記保持装置への前記同期クロックの供給を停止させる停止制御ステップと
    を実行させることを特徴とするプログラム。
JP2002286524A 2002-09-30 2002-09-30 情報処理装置および方法、並びにプログラム Expired - Fee Related JP4143907B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2002286524A JP4143907B2 (ja) 2002-09-30 2002-09-30 情報処理装置および方法、並びにプログラム
PCT/JP2003/009634 WO2004031939A1 (ja) 2002-09-30 2003-07-30 情報処理装置および方法、並びにプログラム
EP03799074A EP1548574A4 (en) 2002-09-30 2003-07-30 INFORMATION PROCESSING DEVICE, METHOD AND PROGRAM
US10/527,063 US7493508B2 (en) 2002-09-30 2003-07-30 Information processing device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002286524A JP4143907B2 (ja) 2002-09-30 2002-09-30 情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004126714A JP2004126714A (ja) 2004-04-22
JP4143907B2 true JP4143907B2 (ja) 2008-09-03

Family

ID=32063575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002286524A Expired - Fee Related JP4143907B2 (ja) 2002-09-30 2002-09-30 情報処理装置および方法、並びにプログラム

Country Status (4)

Country Link
US (1) US7493508B2 (ja)
EP (1) EP1548574A4 (ja)
JP (1) JP4143907B2 (ja)
WO (1) WO2004031939A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117474B2 (en) * 2007-12-13 2012-02-14 Panasonic Corporation CPU clock control during cache memory stall
JP4998519B2 (ja) * 2009-05-29 2012-08-15 富士通株式会社 非同期インタフェース回路及び非同期データ転送方法
US9467410B2 (en) 2012-12-20 2016-10-11 Mcafee, Inc. Just-in-time, email embedded URL reputation determination
JP2019053413A (ja) * 2017-09-13 2019-04-04 カシオ計算機株式会社 データ処理装置及びデータ処理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2001A (en) * 1841-03-12 Sawmill
GB2288957B (en) 1994-03-24 1998-09-23 Discovision Ass Start code detector
JPH05313854A (ja) 1992-05-08 1993-11-26 Fujitsu Ltd レジスタファイル
JPH06295243A (ja) 1993-04-08 1994-10-21 Mitsubishi Electric Corp データ処理装置
JPH08147163A (ja) * 1994-11-24 1996-06-07 Toshiba Corp 演算処理装置及び方法
JP2738351B2 (ja) * 1995-06-23 1998-04-08 日本電気株式会社 半導体集積論理回路
JPH09270677A (ja) * 1995-09-05 1997-10-14 Mitsubishi Electric Corp フリップフロップ回路及びスキャンパス並びに記憶回路
US6247134B1 (en) * 1999-03-31 2001-06-12 Synopsys, Inc. Method and system for pipe stage gating within an operating pipelined circuit for power savings
WO2001033351A1 (fr) 1999-10-29 2001-05-10 Fujitsu Limited Architecture de processeur
US6829716B2 (en) * 2000-06-16 2004-12-07 International Business Machines Corporation Latch structure for interlocked pipelined CMOS (IPCMOS) circuits
JP2002297260A (ja) * 2001-03-30 2002-10-11 Matsushita Electric Ind Co Ltd 半導体集積回路
US7131017B2 (en) * 2002-08-16 2006-10-31 Carnegie Mellon University Programmable pipeline fabric having mechanism to terminate signal propagation
US7058830B2 (en) * 2003-03-19 2006-06-06 International Business Machines Corporation Power saving in a floating point unit using a multiplier and aligner bypass
US6972998B1 (en) * 2004-02-09 2005-12-06 Integrated Device Technology, Inc. Double data rate memory devices including clock domain alignment circuits and methods of operation thereof

Also Published As

Publication number Publication date
EP1548574A1 (en) 2005-06-29
JP2004126714A (ja) 2004-04-22
EP1548574A4 (en) 2007-09-26
US7493508B2 (en) 2009-02-17
WO2004031939A1 (ja) 2004-04-15
US20060010334A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
JPH06348492A (ja) データパイプライン装置及びデータエンコーディング方法
KR20160102077A (ko) 파티셔닝된 데이터 버스에 대한 인코딩
JP3880310B2 (ja) 半導体集積回路
JP6594652B2 (ja) Dsdデコーダ、オーディオシステム
JP4143907B2 (ja) 情報処理装置および方法、並びにプログラム
JP2006011704A (ja) クロック切り替え回路
US7512190B2 (en) Data transmission apparatus using asynchronous dual-rail bus and method therefor
JP4612139B2 (ja) 入力回路及びその入力回路を利用する半導体装置
JP2003196149A (ja) メモリ制御装置
JP4892852B2 (ja) シリアルインターフェースの制御方法
JP2599999B2 (ja) 変復調装置
JP5447511B2 (ja) 通信回路および通信方法
JPH08340259A (ja) 並直列変換回路
US8139615B2 (en) Data processing apparatus
JP3921407B2 (ja) データ転送におけるデータ監視システムおよびデータ監視方法
JP3677788B2 (ja) 信号処理装置および処理方法
KR20160100363A (ko) 오직 수신기 클록에 의한 CCIe 수신기 로직 레지스터 기입
JP4941470B2 (ja) 半導体集積装置及び半導体集積装置の消費電力平準化方法
WO2010055706A1 (ja) データ処理装置、データ処理方法及びプログラム
JPH11289590A (ja) オーディオデータ処理装置
JP2005242408A (ja) 共有メモリアクセス制御方法
KR100635190B1 (ko) 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러
JP4290818B2 (ja) ビット演算付加データの高速転送回路
JP2008177947A (ja) 可変レイテンシ回路及び可変レイテンシ回路のレイテンシ制御方法
JPS61171210A (ja) 遅延回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

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: 20080522

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080604

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees