JP4404373B2 - 半導体集積回路 - Google Patents
半導体集積回路 Download PDFInfo
- Publication number
- JP4404373B2 JP4404373B2 JP2007187978A JP2007187978A JP4404373B2 JP 4404373 B2 JP4404373 B2 JP 4404373B2 JP 2007187978 A JP2007187978 A JP 2007187978A JP 2007187978 A JP2007187978 A JP 2007187978A JP 4404373 B2 JP4404373 B2 JP 4404373B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- execution
- circuit
- decoding
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
Description
そこで、本発明者らは上記のアドレス変換バッファとVLIW方式のプロセッサにおける消費電力を低減できないか検討した。
これらのうち特開平11−134256号に開示の技術は、アドレス変換を行う前に論理アドレスの上位ビットが前回のものと同一か比較して、同一である場合にアドレス変換バッファでアドレス変換を行わずに、前回の変換結果を使ってアドレス変換を行うようにすることで低消費電力化を図るものである。
特開2000−148589号に開示の技術は、メモリ管理ユニットに設けられた複数のアドレス変換バッファのうち、常に1つのアドレス変換バッファしか動作しないように制御することで低消費電力化を図るものである。
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
すなわち、仮想記憶へのアクセスがない物理記憶アクセスモードのときや、キャッシュでミスヒットとなってキャッシュデータを更新している間、或いは、同じ論理ページアドレスで且つこのアドレス範囲の境界以外にアクセスがあったときに、少なくともアドレス変換バッファのタグ記憶部とエントリ記憶部とを例えば動作クロックを断つなどして非アクティブにするものである。このような手段により、アドレス変換バッファの速度性能を劣化させることなくアドレス変換バッファの低消費電力化を図ることが出来る。
また、本発明に係る半導体集積回路は、圧縮命令を復元して実行する機能を有したVLIW方式のプロセッサコアにおいて、圧縮命令を復元する処理ステージに命令位置情報に基づきNOP命令が挿入されていた箇所を検出して、その箇所に対応するデコード回路と実行回路とを例えば動作クロックを断つなどして非アクティブにするものである。このような手段によれば、プロセッサの処理速度を低下させることなくプロセッサコアの低消費電力化を図ることが出来る。
すなわち、本発明に従うと、処理スピードに影響を与えることなく、アドレス変換テーブルにおける消費電力の低減が図れるという効果がある。
また、本発明に従うと、VLIW方式のプロセッサにおいて処理スピードに影響を与えることなくNOP命令に係る処理について消費電力の低減が図れるという効果がある。
[第1実施例]
図1は、本発明の実施例のプロセッサコアを搭載したシステムLSIの全体構成を示すブロック図である。
この実施形態のシステムLSIは、特に制限されるものではないが、例えば携帯型の電子機器に搭載されてシステム全体の制御や動画像のデータ処理等を行うものもある。このシステムLSIには、プログラムを実行するプロセッサコア20、外部接続されるSDRAM(Synchronous DRAM)等の主記憶に対してデータアクセス制御を行うメモリインターフェース10、動画像データのエンコードやデコードに必要な演算処理を行うコプロセッサ30、動画像の大きさの伸縮に必要なデータ処理を行うビデオスケーラ40、外部接続される入出力機器とのデータのやり取りを行うIOユニット50、プロセッサコア20にデータを介さず直接的に周辺モジュール・主記憶間のデータアクセスを可能にするDMA(Direct Memory Access)コントローラ60、各モジュール間のデータ転送に使われる内部バス70、通信モジュールや大容量記憶装置などの周辺機器が接続される外部バスと内部バス70との間でデータの受渡しを行う外部バスインタフェース80などが設けられている。
アドレス変換バッファ100は、仮想記憶上の論理アドレスを上位所定数ビット(論理ページアドレスと呼ぶ)と残りの下位ビット(ページ内アドレスと呼ぶ)とに分け、この論理ページアドレスを対応する物理アドレスのページアドレス(物理ページアドレスと呼ぶ)に変換し、この物理ページアドレスと残りのページ内アドレスとを合わせたものを変換後の物理アドレスとして主記憶にアクセスさせるものである。なお、このアドレス変換バッファ100は、仮想アドレス空間を多重化して扱うことが可能なものであり、別途設定される空間識別子ASIDに基づいて多重化された仮想アドレス空間のうち何れか1つが選択されて、該仮想アドレス空間を用いた仮想記憶へのアクセスが行われるように構成されている。この多重化技術は公知のものである。
この実施例のタグ記憶部111およびデータ記憶部112は、図3にその一部を示すように、SSRAM(Synchronous Static Random Access Memory)により構成されたものである。SSRAMは、4個の素子から構成されるメモリセルMCや、メモリセルMCを選択するワード線WL、メモリセルMCから記憶データを読み出す1対のビット線BL,/BL、Yアドレスに従って出力データを選択するカラムスイッチSWc、メモリセルMCから1対のビット線BL,/BLに出力された電位を増幅出力するセンスアンプSA、ビット線BL,/BLやセンスアンプSAをプリチャージしてデータ読出し可能な状態にするプリチャージ用MOSFET(以下、プリチャージMOSと略す)QPなどを備えている。そして、内部クロックφi(外部から供給されたクロック信号φ0をゲーテッドクロック回路113を介して内部に導いたクロック)がロウレベルのときにプリチャージMOS QPがオン状態となってプリチャージが行われ、内部クロックφiがハイレベルになったときに選択されたメモリセルMCからデータが読み出され、その後、センスアンプSAの出力が確定したら、内部クロックφiがロウレベルにリセットされるように構成されている。内部クロックφiをリセットするタイミングは論理ゲートG1〜G4により決定され、センスアンプSAの出力は内部クロックφiがリセットされる前に出力先のラッチ回路に保持される。
図2のクロックイネーブル生成回路140には、入力された論理ページアドレスが前回のアドレス変換のものと同じで、且つ、ページ内アドレスが論理ページアドレスにより示されるアドレス範囲の境界部分に含まれない場合に、クロックイネーブル信号CEを無効にする無効信号を生成する回路が含まれている。この回路は、図4に示すように、前回入力された論理ページアドレスを格納するレジスタ143と、該レジスタ143の出力と今回入力された論理ページアドレスを比較する比較器145と、今回アクセス要求があったページ内アドレスが境界アドレス(例えば全ビット「0」か全ビット「1」)か否かを比較する比較器146A,146Bと、これら比較器145,146A,146Bの出力が上記の条件を示すものとなった場合にクロックイネーブルCEを無効にする信号を生成する論理ゲート147とから構成されるものである。
この実施例のアドレス変換バッファ100においては、クロックイネーブル生成回路140から出力されるクロックイネーブルCEが無効(ロウレベル)とされるのは次の3つの条件(A)〜(C)の場合がある。
また、論理ページアドレスが前回と同一のときに内部クロックφiを停止する場合には、ページ内アドレスがアドレス範囲の境界部分にある場合を除外して制御されるので、この境界部分を含んで2つの論理ページアドレスにまたがる連続アクセスが行われた場合に、アドレス変換バッファ100が停止されないので、メモリアクセス処理が一次的に停止してシステムの処理スピードに影響を与えるといったことが回避される。
例えば、上記実施例においては、キャッシュメモリへのアクセスが行われない期間にTLB主要部110の内部クロックφiを停止させるために、キャッシュストール信号を用いて内部クロックφiを停止させる制御を行っているが、キャッシュストール信号を用いず、種々の状態検出によりメモリアクセスの要求がないことを検出してその検出信号に基づき内部クロックφiを停止させるようにしても良い。
次に、図1のプロセッサコア20の命令デコーダ22および実行ユニット23の部分の消費電力を低減する構成について説明する。
先にも述べたが、この実施例のプロセッサコア20は、VLIW形式の命令からNOP命令を省きその代わりに位置情報が付加された圧縮命令を入力して伸長および実行を行うように構成されたものである。
プロセッサコア20の実行ユニット23には、VLIW命令の1命令中に含まれる複数の命令コードを同時に並列処理するため、複数の実行回路230〜233が設けられている。各実行回路230〜233は例えばメモリアクセス命令や演算命令など異種の命令処理を行うものが混在しているため、1命令中に含まれる複数の命令コードは予め定めされた配置でセットしなければならない。
命令デコーダ22の前段には命令伸長回路210と命令バッファ211等を有した命令ユニット21が設けられて、該ユニット21において圧縮命令が伸長されるようになっている。
上記複数のデコード回路220〜223には、ゲーテッドクロック回路225〜228を介して動作クロックφpが入力されるように構成されている。各ゲーテッドクロック回路225〜228の一方の入力端子には、命令位置情報デコーダ213からの制御信号V0〜V3が入力され、これらの信号によりデコード回路220〜223の動作クロックφpをそれぞれ別個に停止させることが可能になっている。
図6の圧縮前命令COMに示されるように、VLIW命令は圧縮前において同時に実行される複数個(例えば4個)の命令コードを複数のフィールドに配列したものが1命令として扱われる。1つの命令コードの長さは、例えば32ビットである。同時実行される命令コードが所定個数に満たない場合には、命令コードのないフィールドに有効的な処理が行われないNOP命令が挿入されて命令長が合わせられる。
圧縮命令は、上記NOP命令を省いて有効な命令コードを配列順に詰めてまとめるとともに、同時処理される同一グループの命令コードの境界と各命令コードの配置が示された命令位置情報を1個の圧縮命令の最後に付加したデータ構成を有する。命令位置情報は、「フィールド0〜フィールド3」を表わす2ビットの位置情報と1命令の最後か否かを表わす1ビットのEND情報とからなる3ビットデータを、1個の圧縮命令中に含まれる4個の命令コードのそれぞれに対応させて配列した12ビットのデータである。このような圧縮方式では、VLIW命令の1個の命令コード長が長くなったり、1命令中に含まれる命令コードの数が多くなってNOP命令の挿入される割合が大きくなればなるほど、その圧縮率も大きくなる。
圧縮命令がIキャッシュ24にロードされると、次に、命令ユニット21において圧縮命令を伸長する処理が行われる。伸長処理は、先ず、Iキャッシュ24から命令バッファ211に2個の圧縮命令を配列順に読み込み、次に、これら2個の圧縮命令の命令位置情報を命令位置情報デコーダ213によりデコードして、そのデコード信号により同時処理される同一グループの複数の命令コードをその位置情報に従った配置で展開バッファ214の各領域に格納することで達成される。ここで、圧縮前にNOP命令が挿入されていた箇所は、前回の命令コードが格納されたままとされる。
実行処理がなされたら、その結果をDキャッシュ25又は所定のレジスタに書き込む処理を行って1命令の実行処理が完了する。
同図に示すように、上述した命令バッファ211への命令フェッチ「IF0」、圧縮命令を伸長して展開バッファ214に展開する処理「IF1」、命令デコーダ22による命令デコード(実行に必要なデータの読み出しを含む)「RD」、命令実行「EX」、並びに、結果の書込み処理「WB」は、それぞれがパイプライン処理の1つの処理ステージとなっている。従って、命令位置情報デコーダ213とゲーテッドクロック回路225〜228とフリップフロップ235〜238により行われる動作クロックφpの停止制御は、NOP命令が挿入されていた箇所の検出された命令が、デコード回路220〜223と実行回路230〜233へ移行されてそれぞれ処理されるサイクルに行われるようにタイミング制御されている。
図9は、NOP命令のデコードと実行を停止することで得られる消費電力の削減割合を表わしたグラフである。
同図において、「LSI−A」のグラフはVLIW方式のプロセッサコア20の他に周辺モジュールや周辺論理を多数含んだシステムLSIにおける消費電力削減割合、「VLIWコアロジック」のグラフはプロセッサコア20のみで見たときの消費電力削減割合を示している。また、「4整数演算VLIW」は整数演算を4並列で行うVLIW方式のプロセッサコアの場合、「8整数演算VLIW」は整数演算を8並列で行うVLIW方式のプロセッサコアの場合の消費電力削減割合を示している。
プロセッサコア20の各動作ステージでクリティカルなパスを有する部分は、一般にデコードステージ(RD)および実行ステージ(EX)であり、命令伸長ステージ(IF1)の処理には時間的な余裕が少し生じる。
例えば、上記実施例では、NOP命令が挿入されていたフィールドに対してNOP命令を復元しないように構成したが、展開バッファ214にNOP命令の命令コードを発生させる回路を設け、命令位置情報デコーダ213からのデコード信号によってNOP命令の挿入位置にNOP命令を復元するように構成しても良い。
更に、圧縮命令においてNOP命令が挿入されていた箇所は、前回の命令コードが格納されたままに限らず、任意の値を挿入可能となるような構成としても良い。
また、特に限定されないが、ゲーテッドクロック回路225〜228とフリップフロップ235〜238はプロセッサコア20内に配される。
21 命令ユニット
22 命令デコーダ
23 実行ユニット
24 Iキャッシュ
25 Dキャッシュ
60 DMAコントローラ
100 アドレス変換バッファ
110 TLB主要部
111 タグ記憶部
112 データ記憶部
113 ゲーテッドクロック回路
120 出力レジスタ
130 バイパス回路
140 クロックイネーブル生成回路
143 レジスタ
145,146A,146B 比較器
147 論理ゲート
150 ステータスレジスタ
210 命令伸長回路
211 命令バッファ
213 命令位置情報デコーダ
214 展開バッファ
220〜223 デコード回路
225〜228 ゲーテッドクロック回路
230〜233 実行回路
235〜238 フリップフロップ
Claims (6)
- 命令コードをデコードするデコード回路および該命令コードを実行する実行回路とが複数組設けられ、複数の命令コードと、同時処理される命令コードのグループの情報および複数組のデコード回路および実行回路のうち各命令コードをどの組で処理するか配置の情報を示す命令位置情報とが合わされた圧縮命令を受けて、該圧縮命令の各命令コードを上記命令位置情報に従ったグループおよび配置でデコード処理と実行処理とを行うプロセッサを備えた半導体集積回路であって、
上記命令位置情報に従って同時処理される同一グループの命令コードを指定の配置にセットする伸長回路と、
同時処理される1つのグループにおいて命令コードの数が少なく有効的な命令コードがセットされない配置が生じる場合に上記命令位置情報に基づき当該配置を検出する検出回路と、
該検出回路の検出結果に基づき有効的な命令コードがセットされない配置に対応する実行回路を当該グループの実行期間に非アクティブにする制御回路とを備えるとともに、
上記伸長回路における処理と、この処理でセットされるグループに対する上記検出回路の検出処理とが同一の処理サイクルに行われるように構成されていることを特徴とする半導体集積回路。 - 上記制御回路は、上記検出回路の検出結果に基づき有効的な命令コードがセットされない配置に対応するデコード回路を当該グループのデコード期間に非アクティブにするように構成されていることを特徴とする請求項1記載の半導体集積回路。
- 上記伸長回路は、
上記複数組のデコード回路および実行回路にそれぞれ対応して複数個の命令コードを格納可能な複数の領域を有するバッファメモリを有し、
上記命令位置情報に基づき同一グループの命令コードを指定された配置に対応する上記バッファメモリの領域に格納するように構成されていることを特徴とする請求項1又は2に記載の半導体集積回路。 - 上記プロセッサはコード長が大きな超長形式機械命令を処理可能であることを特徴とする請求項1〜3の何れかに記載の半導体集積回路。
- 上記圧縮命令は、同時実行される命令コードの数が少ない場合に挿入される有効的な処理のない無実行命令のコードを省く代わりに上記命令位置情報が付加された命令であることを特徴とする請求項4記載の半導体集積回路。
- 命令コードをデコードするデコード回路と該命令コードを実行する実行回路とが複数組設けられ、同時処理される同一グループの命令コードが1つにまとめられた命令を受けて、該命令に従って各命令コードのデコード処理と実行処理とを行うプロセッサを備えた半導体集積回路であって、
上記デコード処理より前の処理ステージにおいて上記命令をバッファメモリに読み込むとともに当該命令の中に有効的な処理のない無実行命令のコードが含まれないか検出を行う検出回路と、
該検出回路の結果に基づき上記無実行命令のコードが送られる組の実行回路を同一グループの命令コードの実行期間に非アクティブにする制御回路とを備えていることを特徴とする半導体集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007187978A JP4404373B2 (ja) | 2007-07-19 | 2007-07-19 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007187978A JP4404373B2 (ja) | 2007-07-19 | 2007-07-19 | 半導体集積回路 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002216258A Division JP4026753B2 (ja) | 2002-07-25 | 2002-07-25 | 半導体集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007310905A JP2007310905A (ja) | 2007-11-29 |
JP4404373B2 true JP4404373B2 (ja) | 2010-01-27 |
Family
ID=38843643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007187978A Expired - Fee Related JP4404373B2 (ja) | 2007-07-19 | 2007-07-19 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4404373B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101545701B1 (ko) | 2008-10-07 | 2015-08-19 | 삼성전자 주식회사 | 프로세서 및 그 명령어 번들 복원 방법 |
JP4829370B1 (ja) | 2010-07-09 | 2011-12-07 | 株式会社東芝 | メモリ制御装置、メモリ装置および停止制御方法 |
-
2007
- 2007-07-19 JP JP2007187978A patent/JP4404373B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007310905A (ja) | 2007-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4026753B2 (ja) | 半導体集積回路 | |
US7657708B2 (en) | Methods for reducing data cache access power in a processor using way selection bits | |
US7594131B2 (en) | Processing apparatus | |
TWI454909B (zh) | 減少記憶體裝置之功率消耗之記憶體裝置、方法及系統 | |
US7117290B2 (en) | MicroTLB and micro tag for reducing power in a processor | |
TWI335512B (en) | Technique for using memory attributes | |
US6356990B1 (en) | Set-associative cache memory having a built-in set prediction array | |
US9244837B2 (en) | Zero cycle clock invalidate operation | |
US7650465B2 (en) | Micro tag array having way selection bits for reducing data cache access power | |
US11436146B2 (en) | Storage control apparatus, processing apparatus, computer system, and storage control method | |
US6240489B1 (en) | Method for implementing a pseudo least recent used (LRU) mechanism in a four-way cache memory within a data processing system | |
US20120047311A1 (en) | Method and system of handling non-aligned memory accesses | |
JP4404373B2 (ja) | 半導体集積回路 | |
US11080188B1 (en) | Method to ensure forward progress of a processor in the presence of persistent external cache/TLB maintenance requests | |
TWI517040B (zh) | 保護二進制轉譯碼的完整性 | |
KR100398954B1 (ko) | 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법 | |
US7076635B1 (en) | Method and apparatus for reducing instruction TLB accesses | |
JP2011107888A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US6862242B2 (en) | SRAM control circuit with a power saving function | |
US20030126345A1 (en) | Method and apparatus for converting an external memory access into a local memory access in a processor core | |
JP2001202239A (ja) | マイクロプロセッサのための低電力インストラクションデコーディング方法 | |
JP2000285019A (ja) | キャッシュ制御回路 | |
KR100196522B1 (ko) | 고속 및 고집적 마이크로프로세서를 위한 캐쉬 메모리 장치 | |
US8793469B2 (en) | Programmable logic array and read-only memory area reduction using context-sensitive logic for data space manipulation | |
JPH09114660A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090901 |
|
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: 20091029 |
|
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: 20091030 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |