JP4013972B2 - プロセッサ、プロセッサでのプログラム実行方法 - Google Patents
プロセッサ、プロセッサでのプログラム実行方法 Download PDFInfo
- Publication number
- JP4013972B2 JP4013972B2 JP2005275529A JP2005275529A JP4013972B2 JP 4013972 B2 JP4013972 B2 JP 4013972B2 JP 2005275529 A JP2005275529 A JP 2005275529A JP 2005275529 A JP2005275529 A JP 2005275529A JP 4013972 B2 JP4013972 B2 JP 4013972B2
- Authority
- JP
- Japan
- Prior art keywords
- basic block
- execution
- execution calculation
- block
- processor
- 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
- 238000000034 method Methods 0.000 title claims description 14
- 238000010586 diagram Methods 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 11
- 238000005457 optimization Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000020169 heat generation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
基本ブロック境界を特定する情報と、各基本ブロックについて、制御フローグラフ上で次に位置する基本ブロックである次位基本ブロックを特定する情報とを含む実行可能プログラムを実行するプロセッサであって、ロードされる基本ブロックを実行する、1つ以上の実行計算手段と、実行計算手段に対応して設けられる保存手段と、基本ブロックを単位とした、実行可能プログラムの実行計算手段へのロード制御を行うと共に、ロードした基本ブロックの次位基本ブロックを特定する情報を、ロード先の実行計算手段に対応する保存手段に保存するローディング手段とを有することを特徴とする。
実行計算手段は、基本ブロックの実行を終了したときに処理結果情報を含むロード指示を出力し、ローディング手段は、処理結果情報に基づき、保存手段を参照して次に実行する基本ブロックを判定し、判定した基本ブロックが実行計算手段にロードされていない場合には、判定した基本ブロックの実行計算手段へのロード制御を行うことも好ましい。
保存手段は、それぞれが1つの次位基本ブロックを特定する情報を保存する複数のフィールドから構成され、前記処理結果情報には、保存手段のフィールドを指定する情報が含まれており、ローディング手段は、ロード指示を出力した実行計算手段に対応する保存手段の、処理結果情報で指定されたフィールドを参照することにより、次に実行する基本ブロックを判定することも好ましい。
前記実行計算手段は、データ駆動型であることも好ましい。
基本ブロック境界を特定する情報と、各基本ブロックについて、制御フローグラフ上で次に位置する基本ブロックである次位基本ブロックを特定する情報を含む実行可能プログラムの、プロセッサにおける実行方法であって、基本ブロックをロードするステップと、基本ブロックを実行するステップと、実行した基本ブロックの処理結果に基づき、実行した基本ブロックの次位基本ブロックから次に実行する基本ブロックを判定するステップとを有することを特徴とする。
2 主記憶装置
3 コンパイラ装置
4 ソースプログラム
5 実行可能プログラム
6 基本ブロック
11 実行計算部
12 ブロックポインタ
13、14 ローディング部
15 バンク
31 構文解析部
32 制御フローグラフ生成部
33 最適化部
34 コード生成部
61 VLIW命令語
111 演算器
112−1〜112−N バッファ
113 VLIW演算器
Claims (5)
- 基本ブロック境界を特定する情報と、各基本ブロックについて、制御フローグラフ上で次に位置する基本ブロックである次位基本ブロックを特定する情報とを含む実行可能プログラムを実行するプロセッサであって、
ロードされる基本ブロックを実行する、1つ以上の実行計算手段と、
実行計算手段に対応して設けられる保存手段と、
基本ブロックを単位とした、実行可能プログラムの実行計算手段へのロード制御を行うと共に、ロードした基本ブロックの次位基本ブロックを特定する情報を、ロード先の実行計算手段に対応する保存手段に保存するローディング手段と、
を有することを特徴とするプロセッサ。 - 実行計算手段は、基本ブロックの実行を終了したときに処理結果情報を含むロード指示を出力し、
ローディング手段は、処理結果情報に基づき、保存手段を参照して次に実行する基本ブロックを判定し、判定した基本ブロックが実行計算手段にロードされていない場合には、判定した基本ブロックの実行計算手段へのロード制御を行うこと、
を特徴とする請求項1に記載のプロセッサ。 - 保存手段は、それぞれが1つの次位基本ブロックを特定する情報を保存する複数のフィールドから構成され、
前記処理結果情報には、保存手段のフィールドを指定する情報が含まれており、
ローディング手段は、ロード指示を出力した実行計算手段に対応する保存手段の、処理結果情報で指定されたフィールドを参照することにより、次に実行する基本ブロックを判定すること、
を特徴とする請求項2に記載のプロセッサ。 - 前記実行計算手段は、データ駆動型であることを特徴とする請求項1から3のいずれか1項に記載のプロセッサ。
- 基本ブロック境界を特定する情報と、各基本ブロックについて、制御フローグラフ上で次に位置する基本ブロックである次位基本ブロックを特定する情報を含む実行可能プログラムの、プロセッサにおける実行方法であって、
基本ブロックをロードするステップと、
基本ブロックを実行するステップと、
実行した基本ブロックの処理結果に基づき、実行した基本ブロックの次位基本ブロックから次に実行する基本ブロックを判定するステップと、
を有することを特徴とする方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005275529A JP4013972B2 (ja) | 2005-09-22 | 2005-09-22 | プロセッサ、プロセッサでのプログラム実行方法 |
PCT/JP2006/318715 WO2007034862A1 (ja) | 2005-09-22 | 2006-09-21 | プロセッサ、プロセッサでのプログラム実行方法、コンパイラ装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005275529A JP4013972B2 (ja) | 2005-09-22 | 2005-09-22 | プロセッサ、プロセッサでのプログラム実行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007087132A JP2007087132A (ja) | 2007-04-05 |
JP4013972B2 true JP4013972B2 (ja) | 2007-11-28 |
Family
ID=37888905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005275529A Expired - Fee Related JP4013972B2 (ja) | 2005-09-22 | 2005-09-22 | プロセッサ、プロセッサでのプログラム実行方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4013972B2 (ja) |
WO (1) | WO2007034862A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764939A (ja) * | 1993-08-24 | 1995-03-10 | Sony Corp | 信号処理装置 |
US7024538B2 (en) * | 2001-12-21 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | Processor multiple function units executing cycle specifying variable length instruction block and using common target block address updated pointers |
JP3851228B2 (ja) * | 2002-06-14 | 2006-11-29 | 松下電器産業株式会社 | プロセッサ、プログラム変換装置及びプログラム変換方法、並びにコンピュータプログラム |
-
2005
- 2005-09-22 JP JP2005275529A patent/JP4013972B2/ja not_active Expired - Fee Related
-
2006
- 2006-09-21 WO PCT/JP2006/318715 patent/WO2007034862A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2007087132A (ja) | 2007-04-05 |
WO2007034862A1 (ja) | 2007-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5681473B2 (ja) | プログラムの最適化装置、最適化方法および最適化プログラム | |
US9513922B2 (en) | Computer system and a method for generating an optimized program code | |
JP3377419B2 (ja) | 命令列生成方法及び装置、変換方法、及びコンピュータ | |
US9696966B2 (en) | Software development tool to automatically generate an optimized executable | |
US10860300B2 (en) | Direct function call substitution using preprocessor | |
US20120066668A1 (en) | C/c++ language extensions for general-purpose graphics processing unit | |
KR20180021812A (ko) | 연속하는 블록을 병렬 실행하는 블록 기반의 아키텍쳐 | |
JP4751510B2 (ja) | メモリアクセス最適化方法 | |
JP2002532775A (ja) | インタープリタプログラム実行方法 | |
US6301652B1 (en) | Instruction cache alignment mechanism for branch targets based on predicted execution frequencies | |
JP2009059246A (ja) | マイクロプロセッサ | |
KR20210156860A (ko) | True/false 벡터 인덱스 레지스터 | |
US10338926B2 (en) | Processor with conditional instructions | |
US9361109B2 (en) | System and method to evaluate a data value as an instruction | |
US20230315471A1 (en) | Method and system for hardware-assisted pre-execution | |
WO2021036173A1 (zh) | 解释执行字节码指令流的方法及装置 | |
JP4013972B2 (ja) | プロセッサ、プロセッサでのプログラム実行方法 | |
CN113791770B (zh) | 代码编译器、代码编译方法、代码编译***和计算机介质 | |
JP2004240953A (ja) | コンピュータシステム、その同時多重スレッディング方法およびキャッシュコントローラシステム。 | |
JPH11242599A (ja) | コンピュータプログラム製品 | |
US7886133B2 (en) | Information processing apparatus and method for accelerating information processing | |
US11740906B2 (en) | Methods and systems for nested stream prefetching for general purpose central processing units | |
CN111752614A (zh) | 一种处理器、指令执行设备及方法 | |
US10606602B2 (en) | Electronic apparatus, processor and control method including a compiler scheduling instructions to reduce unused input ports | |
WO2022130883A1 (ja) | コンパイル装置、コンパイル方法、及びコンパイルプログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070619 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070725 |
|
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: 20070821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070903 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 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 |