JP4771079B2 - Vliw型プロセッサ - Google Patents
Vliw型プロセッサ Download PDFInfo
- Publication number
- JP4771079B2 JP4771079B2 JP2006183204A JP2006183204A JP4771079B2 JP 4771079 B2 JP4771079 B2 JP 4771079B2 JP 2006183204 A JP2006183204 A JP 2006183204A JP 2006183204 A JP2006183204 A JP 2006183204A JP 4771079 B2 JP4771079 B2 JP 4771079B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- delay
- unit
- small
- store
- 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
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
それぞれが独立して処理を行う並列に配置された複数の実行ユニットと、
前記複数の実行ユニットに一連の処理を実行させるための複数の小命令が所定の順番で配列された命令列を入力とし、該命令列に含まれる前記複数の小命令を、前記所定の順番に従って前記複数の実行ユニットにそれぞれ振り分けて送出する命令ディスパッチャと、
前記命令ディスパッチャから送出された前記複数の小命令の前記複数の実行ユニットへの供給タイミングを調整するためのディレイ発生手段と、を有し、
前記ディレイ発生手段が、前記複数の小命令について、他の小命令で処理されたデータを用いる小命令を、前記他の小命令の実行完了後に送出先の実行ユニットへ供給する、VLIW型プロセッサであって、
前記複数の実行ユニットは、
ロード命令に従って、主記憶部から演算に必要なデータをロードする少なくとも1つのロードユニットと、
演算命令に従って、前記主記憶部からロードされたデータを使用して演算する少なくとも1つの演算ユニットと、
ストア命令に従って、前記演算ユニットでの演算結果を前記主記憶部に格納する少なくとも1つのストアユニットと、を有し、
前記ディレイ発生手段は、
前記演算命令の前記演算ユニットへの供給タイミングを第1の遅延量だけ遅延させる第1のディレイ発生部と、
前記ストア命令の前記ストアユニットへの供給タイミングを前記第1の遅延量より大きな第2の遅延量に基づいて遅延させる第2のディレイ発生部と、を有し、
前記命令列は、前記ロード命令として、命令の実行完了に要するサイクル数が異なるロード命令の設定が可能とされ、
前記第1のディレイ発生部は、前記命令ディスパッチャから送出された前記ロード命令および演算命令を入力としており、
入力された前記演算命令を、設定された遅延量で遅延させるディレイレジスタと、
入力された前記ロード命令の実行完了に要するサイクル数から該ロード命令の実行完了タイミングを検出するサイクル検出部と、
前記サイクル検出部で検出された前記ロード命令の実行完了タイミングの値と前記ディレイレジスタに設定されている現在の遅延量とを比較する比較部と、
入力された前記演算命令の前のサイクルで前記命令ディスパッチャから前記演算ユニットへ送出された前回の小命令が空きかどうかを判断する空き命令判別部と、
前記比較部における比較結果および前記空き命令判別部における判断結果に基づいて、入力された前記演算命令に対する遅延量を決定して、該遅延量を前記ディレイレジスタに設定する遅延量決定部と、を有し、
前記遅延量決定部は、前記現在の遅延量が前記ロード命令の実行完了タイミングの値以下の場合は、該実行完了タイミングに対応する遅延量を前記ディレイレジスタに設定し、前記現在の遅延量が前記ロード命令の実行完了タイミングの値より大きく、かつ、前記前回の小命令が空きである場合は、該実行完了タイミングの値から1サイクル分の時間を差し引いた値に対応する遅延量を前記ディレイレジスタに設定し、前記現在の遅延量が前記ロード命令の実行完了タイミングの値より大きく、かつ、前記前回の小命令が空きでない場合は、前記現在の遅延量を前記ディレイレジスタに設定することを特徴とする。
別の本発明は、
それぞれが独立して処理を行う並列に配置された複数の実行ユニットと、
前記複数の実行ユニットに一連の処理を実行させるための複数の小命令が所定の順番で配列された命令列を入力とし、該命令列に含まれる前記複数の小命令を、前記所定の順番に従って前記複数の実行ユニットにそれぞれ振り分けて送出する命令ディスパッチャと、
前記命令ディスパッチャから送出された前記複数の小命令の前記複数の実行ユニットへの供給タイミングを調整するためのディレイ発生手段と、を有し、
前記ディレイ発生手段は、前記複数の小命令について、他の小命令で処理されたデータを用いる小命令を、前記他の小命令の実行完了後に送出先の実行ユニットへ供給する、VLIW型プロセッサであって、
前記複数の実行ユニットは、
ロード命令に従って、主記憶部から演算に必要なデータをロードする少なくとも1つのロードユニットと、
演算命令に従って、前記主記憶部からロードされたデータを使用して演算する少なくとも1つの演算ユニットと、
ストア命令に従って、前記演算ユニットでの演算結果を前記主記憶部に格納する少なくとも1つのストアユニットと、を有し、
前記ディレイ発生手段は、
前記演算命令の前記演算ユニットへの供給タイミングを第1の遅延量だけ遅延させる第1のディレイ発生部と、
前記ストア命令の前記ストアユニットへの供給タイミングを前記第1の遅延量より大きな第2の遅延量に基づいて遅延させる第2のディレイ発生部と、を有し、
前記命令列は、前記演算命令として、命令の実行完了に要するサイクル数が異なる演算命令の設定が可能とされ、
前記第2のディレイ発生部は、前記命令ディスパッチャから送出された前記演算命令およびストア命令を入力としており、
入力された前記ストア命令を、設定された遅延量で遅延させるディレイレジスタと、
入力された前記演算命令の実行完了に要するサイクル数から該演算命令の実行完了タイミングを検出するサイクル検出部と、
前記サイクル検出部で検出された前記演算命令の実行完了タイミングの値と予め与えられている前記第1の遅延量との和である遅延加算値と前記ディレイレジスタに設定されている現在の遅延量とを比較する比較部と、
入力された前記ストア命令の前のサイクルで前記命令ディスパッチャから前記ストアユニットへ送出された前回の小命令が空きかどうかを判断する空き命令判別部と、
前記比較部における比較結果および前記空き命令判別部における判断結果に基づいて、入力された前記ストア命令に対する遅延量を決定して、該遅延量を前記ディレイレジスタに設定する遅延量決定部と、を有し、
前記遅延量決定部は、前記現在の遅延量が前記遅延加算値以下の場合は、該遅延加算値を前記ディレイレジスタに設定し、前記現在の遅延量が前記遅延加算値より大きく、かつ、前記前回の小命令が空きである場合は、前記演算命令の実行完了タイミングの値から1サイクル分の時間を差し引いた値に対応する遅延時間を前記ディレイレジスタに設定し、前記現在の遅延量が前記遅延加算値より大きく、かつ、前記前回の小命令が空きでない場合は、前記現在の遅延量を前記ディレイレジスタに設定することを特徴とする。
図1は、本発明の第1の実施形態であるVLIW型プロセッサの概略構成を示すブロック図である。図1を参照すると、VLIW型プロセッサの主要部は、プログラムカウンタ10、命令メモリ11、命令ディスパッチャ12、ディレイ発生部13、14、ALU15、ロードユニット16、ストアユニット17、主記憶部18、および汎用レジスタ19からなる。
図5は、本発明の第2の実施形態であるVLIW型プロセッサの概略構成を示すブロック図である。図5を参照すると、VLIW型プロセッサの主要部は、プログラムカウンタ70、命令メモリ71、命令ディスパッチャ72、ディレイ発生部73、74、専用演算器75、ロードユニット76、ストアユニット77、主記憶部78、および汎用レジスタ79からなる。
図7は、本発明の第3の実施形態であるVLIW型プロセッサの概略構成を示すブロック図である。図7を参照すると、VLIW型プロセッサの主要部は、プログラムカウンタ90、命令メモリ91、命令ディスパッチャ92、ディレイ発生部93、94、ALU95a、95b、ロードユニット96a、96b、ストアユニット97a、97b、主記憶部98、および汎用レジスタ99からなる。
ストアユニット97a、97bは、小命令としてストア命令が供給されると、該ストア命令に従って、主記憶部78へ汎用レジスタ79のデータを転送する。
本発明の第4の実施形態であるVLIW型プロセッサの構成について説明する。本実施形態のVLIW型プロセッサは、第1の実施形態のVLIW型プロセッサの構成と基本的に同じであるが、ALU命令がALUに発行されてからそのALUでの演算結果を対象としたストア命令が発行できるようになるまでの時間(T1_ALU)がALU命令の種類によって異なるために、ストアユニットと接続されるディレイ発生部の構成が第1の実施形態のVLIW型プロセッサと異なる。なお、ロード命令がロードユニットに発行されてからそのロード対象となっているデータを入力データとして使用するALU命令が発行できるようになるまでの時間(T1_load)は、AUL命令によらず一定である。
本発明の第5の実施形態であるVLIW型プロセッサの構成について説明する。本実施形態のVLIW型プロセッサは、第1の実施形態のVLIW型プロセッサの構成と基本的に同じであるが、ロード命令がロードユニットに発行されてからそのロード対象となっているデータを入力データとして使用するALU命令が発行できるようになるまでの時間(T1_load)がロード命令の種類によって異なるために、ALUと接続されるディレイ発生部の構成が第1の実施形態のVLIW型プロセッサと異なる。なお、ALU命令がALUに発行されてからそのALUでの演算結果を対象としたストア命令が発行できるようになるまでの時間(T1_ALU)は一定とする。
第4および第5の実施形態を組み合わせることで、T1_loadの値およびT1_ALUの値がともに命令によって変化する構成に適用することができる。ただし、この場合は、第4の構成のディレイ発生部において、ディレイコントローラは、命令ディスパッチャから供給されるロード命令およびALU命令からT1_loadおよびT1_ALUを検出することになる。これ以外の動作は、第4および第5の実施形態の場合と同様に行われる。
11 命令メモリ
12 命令ディスパッチャ
13、14 ディレイ発生部
15 ALU
16 ロードユニット
17 ストアユニット
18 主記憶部
19 汎用レジスタ
Claims (2)
- それぞれが独立して処理を行う並列に配置された複数の実行ユニットと、
前記複数の実行ユニットに一連の処理を実行させるための複数の小命令が所定の順番で配列された命令列を入力とし、該命令列に含まれる前記複数の小命令を、前記所定の順番に従って前記複数の実行ユニットにそれぞれ振り分けて送出する命令ディスパッチャと、
前記命令ディスパッチャから送出された前記複数の小命令の前記複数の実行ユニットへの供給タイミングを調整するためのディレイ発生手段と、を有し、
前記ディレイ発生手段は、前記複数の小命令について、他の小命令で処理されたデータを用いる小命令を、前記他の小命令の実行完了後に送出先の実行ユニットへ供給する、VLIW型プロセッサであって、
前記複数の実行ユニットは、
ロード命令に従って、主記憶部から演算に必要なデータをロードする少なくとも1つのロードユニットと、
演算命令に従って、前記主記憶部からロードされたデータを使用して演算する少なくとも1つの演算ユニットと、
ストア命令に従って、前記演算ユニットでの演算結果を前記主記憶部に格納する少なくとも1つのストアユニットと、を有し、
前記ディレイ発生手段は、
前記演算命令の前記演算ユニットへの供給タイミングを第1の遅延量だけ遅延させる第1のディレイ発生部と、
前記ストア命令の前記ストアユニットへの供給タイミングを前記第1の遅延量より大きな第2の遅延量に基づいて遅延させる第2のディレイ発生部と、を有し、
前記命令列は、前記ロード命令として、命令の実行完了に要するサイクル数が異なるロード命令の設定が可能とされ、
前記第1のディレイ発生部は、前記命令ディスパッチャから送出された前記ロード命令および演算命令を入力としており、
入力された前記演算命令を、設定された遅延量で遅延させるディレイレジスタと、
入力された前記ロード命令の実行完了に要するサイクル数から該ロード命令の実行完了タイミングを検出するサイクル検出部と、
前記サイクル検出部で検出された前記ロード命令の実行完了タイミングの値と前記ディレイレジスタに設定されている現在の遅延量とを比較する比較部と、
入力された前記演算命令の前のサイクルで前記命令ディスパッチャから前記演算ユニットへ送出された前回の小命令が空きかどうかを判断する空き命令判別部と、
前記比較部における比較結果および前記空き命令判別部における判断結果に基づいて、入力された前記演算命令に対する遅延量を決定して、該遅延量を前記ディレイレジスタに設定する遅延量決定部と、を有し、
前記遅延量決定部は、前記現在の遅延量が前記ロード命令の実行完了タイミングの値以下の場合は、該実行完了タイミングに対応する遅延量を前記ディレイレジスタに設定し、前記現在の遅延量が前記ロード命令の実行完了タイミングの値より大きく、かつ、前記前回の小命令が空きである場合は、該実行完了タイミングの値から1サイクル分の時間を差し引いた値に対応する遅延量を前記ディレイレジスタに設定し、前記現在の遅延量が前記ロード命令の実行完了タイミングの値より大きく、かつ、前記前回の小命令が空きでない場合は、前記現在の遅延量を前記ディレイレジスタに設定する、VLIW型プロセッサ。 - それぞれが独立して処理を行う並列に配置された複数の実行ユニットと、
前記複数の実行ユニットに一連の処理を実行させるための複数の小命令が所定の順番で配列された命令列を入力とし、該命令列に含まれる前記複数の小命令を、前記所定の順番に従って前記複数の実行ユニットにそれぞれ振り分けて送出する命令ディスパッチャと、
前記命令ディスパッチャから送出された前記複数の小命令の前記複数の実行ユニットへの供給タイミングを調整するためのディレイ発生手段と、を有し、
前記ディレイ発生手段は、前記複数の小命令について、他の小命令で処理されたデータを用いる小命令を、前記他の小命令の実行完了後に送出先の実行ユニットへ供給する、VLIW型プロセッサであって、
前記複数の実行ユニットは、
ロード命令に従って、主記憶部から演算に必要なデータをロードする少なくとも1つのロードユニットと、
演算命令に従って、前記主記憶部からロードされたデータを使用して演算する少なくとも1つの演算ユニットと、
ストア命令に従って、前記演算ユニットでの演算結果を前記主記憶部に格納する少なくとも1つのストアユニットと、を有し、
前記ディレイ発生手段は、
前記演算命令の前記演算ユニットへの供給タイミングを第1の遅延量だけ遅延させる第1のディレイ発生部と、
前記ストア命令の前記ストアユニットへの供給タイミングを前記第1の遅延量より大きな第2の遅延量に基づいて遅延させる第2のディレイ発生部と、を有し、
前記命令列は、前記演算命令として、命令の実行完了に要するサイクル数が異なる演算命令の設定が可能とされ、
前記第2のディレイ発生部は、前記命令ディスパッチャから送出された前記演算命令およびストア命令を入力としており、
入力された前記ストア命令を、設定された遅延量で遅延させるディレイレジスタと、
入力された前記演算命令の実行完了に要するサイクル数から該演算命令の実行完了タイミングを検出するサイクル検出部と、
前記サイクル検出部で検出された前記演算命令の実行完了タイミングの値と予め与えられている前記第1の遅延量との和である遅延加算値と前記ディレイレジスタに設定されている現在の遅延量とを比較する比較部と、
入力された前記ストア命令の前のサイクルで前記命令ディスパッチャから前記ストアユニットへ送出された前回の小命令が空きかどうかを判断する空き命令判別部と、
前記比較部における比較結果および前記空き命令判別部における判断結果に基づいて、入力された前記ストア命令に対する遅延量を決定して、該遅延量を前記ディレイレジスタに設定する遅延量決定部と、を有し、
前記遅延量決定部は、前記現在の遅延量が前記遅延加算値以下の場合は、該遅延加算値を前記ディレイレジスタに設定し、前記現在の遅延量が前記遅延加算値より大きく、かつ、前記前回の小命令が空きである場合は、前記演算命令の実行完了タイミングの値から1サイクル分の時間を差し引いた値に対応する遅延時間を前記ディレイレジスタに設定し、前記現在の遅延量が前記遅延加算値より大きく、かつ、前記前回の小命令が空きでない場合は、前記現在の遅延量を前記ディレイレジスタに設定する、VLIW型プロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006183204A JP4771079B2 (ja) | 2006-07-03 | 2006-07-03 | Vliw型プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006183204A JP4771079B2 (ja) | 2006-07-03 | 2006-07-03 | Vliw型プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008015589A JP2008015589A (ja) | 2008-01-24 |
JP4771079B2 true JP4771079B2 (ja) | 2011-09-14 |
Family
ID=39072566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006183204A Expired - Fee Related JP4771079B2 (ja) | 2006-07-03 | 2006-07-03 | Vliw型プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4771079B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8135941B2 (en) * | 2008-09-19 | 2012-03-13 | International Business Machines Corporation | Vector morphing mechanism for multiple processor cores |
JP2011145886A (ja) * | 2010-01-14 | 2011-07-28 | Nec Corp | 情報処理装置 |
EP3005078A2 (en) | 2013-05-24 | 2016-04-13 | Coherent Logix Incorporated | Memory-network processor with programmable optimizations |
US11561792B2 (en) | 2015-06-08 | 2023-01-24 | Qualcomm Incorporated | System, apparatus, and method for a transient load instruction within a VLIW operation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954693A (ja) * | 1995-08-11 | 1997-02-25 | Toshiba Corp | Vliwプロセッサ |
JPH1185513A (ja) * | 1997-09-03 | 1999-03-30 | Hitachi Ltd | プロセッサ |
JP2002333978A (ja) * | 2001-05-08 | 2002-11-22 | Nec Corp | Vliw型プロセッサ |
JP3705367B2 (ja) * | 2004-05-24 | 2005-10-12 | 株式会社日立製作所 | 命令処理方法 |
-
2006
- 2006-07-03 JP JP2006183204A patent/JP4771079B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008015589A (ja) | 2008-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102413832B1 (ko) | 벡터 곱셈 덧셈 명령 | |
JP5699554B2 (ja) | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム | |
US9965275B2 (en) | Element size increasing instruction | |
JP2004234642A (ja) | 命令実行ユニットのための統合化構造のレイアウト | |
CN108319559B (zh) | 用于控制矢量内存存取的数据处理装置及方法 | |
WO2015114305A1 (en) | A data processing apparatus and method for executing a vector scan instruction | |
US20140317388A1 (en) | Apparatus and method for supporting multi-modes of processor | |
KR20140131472A (ko) | 상수 저장 레지스터를 구비하는 재구성 가능 프로세서 | |
KR101016257B1 (ko) | 프로세서 및 정보 처리 장치 | |
JP5720243B2 (ja) | プロセッサ検証プログラム | |
JP4771079B2 (ja) | Vliw型プロセッサ | |
KR102458467B1 (ko) | 벡터 생성 명령 | |
US8055883B2 (en) | Pipe scheduling for pipelines based on destination register number | |
JPH1185513A (ja) | プロセッサ | |
JP2874351B2 (ja) | 並列パイプライン命令処理装置 | |
KR19980034436A (ko) | 듀얼 파이프라인 프로세서에서 로드 명령의 병렬 수행 장치 | |
JP5871298B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
KR101118593B1 (ko) | Vliw 명령어 처리 장치 및 방법 | |
CN112579168B (zh) | 指令执行单元、处理器以及信号处理方法 | |
JP2861234B2 (ja) | 命令処理装置 | |
JP2013140472A (ja) | ベクトルプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090519 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110525 |
|
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: 20110607 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140701 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 |