JP2006502490A - アドレス範囲に依存した命令並行処理を行うデータ処理装置 - Google Patents
アドレス範囲に依存した命令並行処理を行うデータ処理装置 Download PDFInfo
- Publication number
- JP2006502490A JP2006502490A JP2004542722A JP2004542722A JP2006502490A JP 2006502490 A JP2006502490 A JP 2006502490A JP 2004542722 A JP2004542722 A JP 2004542722A JP 2004542722 A JP2004542722 A JP 2004542722A JP 2006502490 A JP2006502490 A JP 2006502490A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- memory
- unit
- range
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 37
- 230000015654 memory Effects 0.000 claims abstract description 165
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 238000004148 unit process Methods 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012360 testing 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/30003—Arrangements for executing specific machine instructions
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/30149—Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
-
- 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
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (17)
- 命令アドレスを出力するための命令アドレス生成回路と、
前記命令アドレスによってアドレス指定された命令ワードを出力する命令メモリシステムと、
前記命令ワードからの複数の命令を並行して処理する命令実行ユニットと、
複数の範囲のうちのどの範囲に前記命令アドレスが存在するかを検出する検出ユニットであって、前記命令実行ユニットおよび/または前記命令メモリシステムに結合され、検出された範囲に応じて前記命令ワードからの複数の命令を前記命令実行ユニットが並行して処理する方法を制御する検出ユニットと、
を備えた、データ処理装置。 - 前記命令実行ユニットおよび/または前記命令メモリシステムは、前記検出された範囲に応じて、並行に処理される前記命令ワードからの命令の数を決定する命令ワードの幅を調整する、請求項1に記載のデータ処理装置。
- 前記命令実行ユニットが複数の機能ユニットを備え、前記命令実行ユニットは、前記検出された範囲に応じて、前記命令を処理するために利用できる機能ユニットの一部を選択する、請求項1に記載のデータ処理装置。
- 前記命令実行ユニットが複数の機能ユニットを備え、前記命令実行ユニットは、前記検出された範囲に応じて、複数の機能ユニットまたは機能ユニットのセットから成る複数の機能ユニット群がそれぞれ前記命令ワードからの対応する命令を受けたかどうか、或いは前記命令ワードからの共有の命令を受けたかどうかを選択する、請求項1に記載のデータ処理装置。
- 前記命令メモリシステムは第1のメモリユニットおよび第2のメモリユニットを備え、これらのメモリユニットは、長さが異なる命令ワードのために第1および第2の幅単位のアドレス可能な記憶場所を有する記憶域に、第1および第2の範囲におけるアドレスをそれぞれ与え、前記第1および第2の幅単位が互いに異なっている、請求項2に記載のデータ処理装置。
- プログラムを実行するようにプログラミングされ、前記第1のメモリユニット内には前記プログラムの内側ループからの比較的長い命令ワードが記憶され、前記第2のメモリユニット内には前記内側ループの外側にある前記プログラムの大部分からの比較的短い命令ワードが記憶され、前記第1の幅単位が前記第2の幅単位よりも長い、請求項5に記載のデータ処理装置。
- 前記検出された範囲に応じて前記命令アドレスを前記第1のメモリユニット上または前記第2のメモリユニット上にマッピングするメモリマッピングユニットを備えている、請求項5に記載のデータ処理装置。
- 前記命令メモリシステムは、前記第2の範囲にあるアドレスが検出されると、前記第1のメモリユニットに対するクロック信号の供給を無効にする、請求項5に記載のデータ処理装置。
- 前記命令メモリシステムは、アドレス範囲からアドレスが検出されるメモリユニットを除く全てのメモリユニットに対するクロック信号の供給を無効にする、請求項5に記載のデータ処理装置。
- 前記命令メモリシステムが複数のメモリユニットを備え、各メモリユニットは対応する範囲の命令アドレスに応答し、前記命令メモリシステムが各範囲の部分的な重なり合いを許容し、前記命令メモリシステムは、対応する範囲内に命令アドレスが存在するメモリユニットの命令ワードからの命令の組み合わせとして命令ワードを供給する、請求項2に記載のデータ処理装置。
- 前記命令メモリシステムは、前記命令アドレスが前記メモリユニットのうちの少なくとも1つの対応する範囲内にない場合には、当該少なくとも1つのメモリユニットへのクロック信号の供給を無効にする、請求項10に記載のデータ処理装置。
- 前記命令実行ユニットが1または複数の機能ユニットから成る複数のグループを備え、各グループは、対応する所定のメモリユニットに結合されることにより、当該グループが結合される対応する所定のメモリユニットの対応する範囲内に命令アドレスがある時に前記命令ワードから命令を受ける、請求項10に記載のデータ処理装置。
- 前記命令実行ユニットは、第1の長さを有する命令または第1の長さと異なる第2の長さを有する命令を選択的に処理することができ、前記第1および第2の命令は少なくとも部分的に命令ワードの同じ場所から得られ、前記第1または第2の命令の実行は、前記命令ワードがフェッチされる命令アドレスの検出された範囲に応じて選択される、請求項3に記載のデータ処理装置。
- 請求項1に記載のデータ処理装置をプログラミングする方法であって、
− 前記装置のための機械語命令から成るプログラムを形成し、
− 前記プログラムの内側ループを特定し、
− 前記命令メモリシステム内に前記プログラムをロードすることにより、前記内側ループからの命令を、前記装置が他のアドレス範囲よりも高い並行度を与えるアドレス範囲にある命令アドレスをもつ記憶場所にロードする、方法。 - データ処理装置を用いてプログラムを実行する方法であって、
命令アドレスを使用して命令ワードをフェッチし、
フェッチされた命令ワードからの命令を実行し、
複数ある範囲のうちのどの範囲内に前記命令アドレスが存在しているかを検出し、
命令の実行が並行して成される方法を、検出された範囲に応じて制御する、方法。 - 前記フェッチされた命令ワードの幅を前記検出された範囲に応じて適合させることを含む、請求項15に記載の方法。
- 前記命令を実行するために使用される装置の機能ユニットの選択を前記検出された範囲に応じて変更することを含む、請求項15に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02079219 | 2002-10-11 | ||
PCT/IB2003/004327 WO2004034253A2 (en) | 2002-10-11 | 2003-10-01 | Vliw processor with variable, address range dependent issue-width |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006502490A true JP2006502490A (ja) | 2006-01-19 |
JP4283226B2 JP4283226B2 (ja) | 2009-06-24 |
Family
ID=32088027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004542722A Expired - Fee Related JP4283226B2 (ja) | 2002-10-11 | 2003-10-01 | アドレス範囲に依存した命令並行処理を行うデータ処理装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8364935B2 (ja) |
EP (1) | EP1554649A2 (ja) |
JP (1) | JP4283226B2 (ja) |
CN (1) | CN1703670B (ja) |
AU (1) | AU2003263548A1 (ja) |
WO (1) | WO2004034253A2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10296464B2 (en) | 2016-12-09 | 2019-05-21 | Intel Corporation | System, apparatus and method for dynamic profiling in a processor |
US10713750B2 (en) * | 2017-04-01 | 2020-07-14 | Intel Corporation | Cache replacement mechanism |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2845433B2 (ja) * | 1987-09-07 | 1999-01-13 | 日本電気株式会社 | 集積回路装置 |
US5115500A (en) | 1988-01-11 | 1992-05-19 | International Business Machines Corporation | Plural incompatible instruction format decode method and apparatus |
JP2974577B2 (ja) * | 1994-02-28 | 1999-11-10 | 株式会社東芝 | コンピュータシステム |
US5774737A (en) * | 1995-10-13 | 1998-06-30 | Matsushita Electric Industrial Co., Ltd. | Variable word length very long instruction word instruction processor with word length register or instruction number register |
US5963739A (en) * | 1996-04-26 | 1999-10-05 | Peter V. Homeier | Method for verifying the total correctness of a program with mutually recursive procedures |
US6026486A (en) * | 1996-05-23 | 2000-02-15 | Matsushita Electric Industrial Co., Ltd. | General purpose processor having a variable bitwidth |
US5941980A (en) * | 1996-08-05 | 1999-08-24 | Industrial Technology Research Institute | Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system |
US5937193A (en) * | 1996-11-27 | 1999-08-10 | Vlsi Technology, Inc. | Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof |
JP3790607B2 (ja) * | 1997-06-16 | 2006-06-28 | 松下電器産業株式会社 | Vliwプロセッサ |
US6026479A (en) * | 1998-04-22 | 2000-02-15 | Hewlett-Packard Company | Apparatus and method for efficient switching of CPU mode between regions of high instruction level parallism and low instruction level parallism in computer programs |
US6735690B1 (en) * | 1999-06-21 | 2004-05-11 | Pts Corporation | Specifying different type generalized event and action pair in a processor |
WO2000079400A1 (en) * | 1999-06-21 | 2000-12-28 | Bops Incorporated | Methods and apparatus for generalized event detection and action specification in a processor |
FR2812417A1 (fr) * | 2000-07-27 | 2002-02-01 | St Microelectronics Sa | Processeur dsp a architecture parallele |
US7149878B1 (en) * | 2000-10-30 | 2006-12-12 | Mips Technologies, Inc. | Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values |
US6845432B2 (en) * | 2000-12-28 | 2005-01-18 | Intel Corporation | Low power cache architecture |
JP2002229779A (ja) * | 2001-02-02 | 2002-08-16 | Mitsubishi Electric Corp | 情報処理装置 |
JP3656587B2 (ja) * | 2001-10-01 | 2005-06-08 | 日本電気株式会社 | 並列演算プロセッサ、その演算制御方法及びプログラム |
-
2003
- 2003-10-01 CN CN200380101196.3A patent/CN1703670B/zh not_active Expired - Fee Related
- 2003-10-01 EP EP03807932A patent/EP1554649A2/en not_active Withdrawn
- 2003-10-01 AU AU2003263548A patent/AU2003263548A1/en not_active Abandoned
- 2003-10-01 JP JP2004542722A patent/JP4283226B2/ja not_active Expired - Fee Related
- 2003-10-01 WO PCT/IB2003/004327 patent/WO2004034253A2/en active Application Filing
- 2003-10-01 US US10/530,495 patent/US8364935B2/en active Active
-
2013
- 2013-01-28 US US13/751,324 patent/US20130138927A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN1703670A (zh) | 2005-11-30 |
CN1703670B (zh) | 2010-12-08 |
JP4283226B2 (ja) | 2009-06-24 |
WO2004034253A3 (en) | 2004-10-28 |
US20060004986A1 (en) | 2006-01-05 |
EP1554649A2 (en) | 2005-07-20 |
US8364935B2 (en) | 2013-01-29 |
US20130138927A1 (en) | 2013-05-30 |
AU2003263548A8 (en) | 2004-05-04 |
AU2003263548A1 (en) | 2004-05-04 |
WO2004034253A2 (en) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5638108B2 (ja) | 処理スケジューリング方法、コンピュータおよびコンピュータプログラム | |
US5461722A (en) | Parallel processing apparatus suitable for executing in parallel a plurality of instructions including at least two branch instructions | |
US7457970B2 (en) | VLIW processor with power saving | |
JP2005182825A5 (ja) | ||
KR100266424B1 (ko) | 롬(rom)용량을 저감한 데이타 프로세서 | |
US7620804B2 (en) | Central processing unit architecture with multiple pipelines which decodes but does not execute both branch paths | |
KR101849110B1 (ko) | 다음-명령-타입 필드 | |
US5335330A (en) | Information processing apparatus with optimization programming | |
US5951678A (en) | Method and apparatus for controlling conditional branch execution in a data processor | |
JP2005182659A (ja) | Vliw型dsp,及びその動作方法 | |
JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
JP2006522398A (ja) | パイプライン型命令プロセッサにおけるバイパスの使用 | |
US20060095746A1 (en) | Branch predictor, processor and branch prediction method | |
US5274776A (en) | Information processing system having mode signal holding means and selecting operand access mode based on mode signal indicating type of currently executed instruction | |
US20050149931A1 (en) | Multithread processor architecture for triggered thread switching without any cycle time loss, and without any switching program command | |
US20230359385A1 (en) | Quick clearing of registers | |
US10437598B2 (en) | Method and apparatus for selecting among a plurality of instruction sets to a microprocessor | |
GB2540944A (en) | Vector operand bitsize control | |
KR20200090103A (ko) | 분기 예측기 | |
JP4283226B2 (ja) | アドレス範囲に依存した命令並行処理を行うデータ処理装置 | |
JP2005038203A (ja) | メモリ制御方法及び装置 | |
JP4151497B2 (ja) | パイプライン処理装置 | |
KR100515039B1 (ko) | 조건부 명령어를 고려한 파이프라인 상태 표시 회로 | |
KR100240590B1 (ko) | 슈퍼스칼라 마이크로프로세서를 위한 명령어 디코딩 장치 및 그 방법 | |
JP2629479B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061002 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080507 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080619 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080807 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081105 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081110 |
|
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: 20090217 |
|
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: 20090318 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140327 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |