JP2005332361A5 - - Google Patents

Download PDF

Info

Publication number
JP2005332361A5
JP2005332361A5 JP2004343921A JP2004343921A JP2005332361A5 JP 2005332361 A5 JP2005332361 A5 JP 2005332361A5 JP 2004343921 A JP2004343921 A JP 2004343921A JP 2004343921 A JP2004343921 A JP 2004343921A JP 2005332361 A5 JP2005332361 A5 JP 2005332361A5
Authority
JP
Japan
Prior art keywords
instruction
program
program instructions
data path
data 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.)
Pending
Application number
JP2004343921A
Other languages
English (en)
Other versions
JP2005332361A (ja
Filing date
Publication date
Priority claimed from GB0410986A external-priority patent/GB2414308B/en
Application filed filed Critical
Publication of JP2005332361A publication Critical patent/JP2005332361A/ja
Publication of JP2005332361A5 publication Critical patent/JP2005332361A5/ja
Pending legal-status Critical Current

Links

Claims (49)

  1. プログラム命令の中の1つまたは複数の命令フィールドを復号して少なくともいくつかの制御信号を発生するように動作可能な命令復号器と、
    前記制御信号に応答し、前記プログラム命令によって指定されたそれぞれのデータ処理オペレーションを独立して並列に実行する複数のデータ経路構成要素であって、前記命令復号器によって復号された少なくともいくつかのプログラム命令は、それぞれのデータ経路構成要素のための制御命令が独立に指定されることを可能にする前記複数のデータ経路構成要素と
    を含み、
    前記命令復号器は、データ経路構成要素によって実行されるべき所与のデータ処理オペレーションが、異なるプログラム命令において異なって符号化された命令フィールドを使用して指定されうるように動作可能であるデータ処理装置。
  2. 請求項1に記載の装置において、前記データ処理オペレーションを表す前記異なって符号化された命令フィールドは、前記異なるプログラム命令の中に異なるビット長を有する前記装置。
  3. 請求項1に記載の装置において、前記データ処理オペレーションを表す前記異なって符号化された命令フィールドは、前記異なるプログラム命令の中に異なるビット位置を有する前記装置。
  4. 請求項1に記載の装置において、前記プログラム命令は複数の命令セットに分割され、前記命令復号器は、プログラム命令の中の少なくとも命令セット識別フィールドに応答して、前記プログラム命令の中のどのビットが、どのデータ経路構成要素に対する命令フィールドに対応するかを制御する前記装置。
  5. 請求項1に記載の装置において、前記プログラム命令は、可変プログラム命令長を有し、前記命令復号器は、前記命令セット識別子に応答してプログラム命令のプログラム命令長を決定する前記装置。
  6. 請求項1に記載の装置において、前記異なって符号化された命令フィールドは、前記データ経路構成要素によって実行されうるデータ処理オペレーションの異なるセットを表すように動作可能である前記装置。
  7. 請求項6に記載の装置において、プログラム命令の中の前記異なって符号化された命令フィールドの少なくとも1つは、異なるプログラム命令の中の前記異なって符号化された命令フィールドの異なる1つによって表されうるデータ処理オペレーションのサブセットを表すように動作可能である前記装置。
  8. 請求項7に記載の装置において、前記サブセットは、データ処理オペレーションの前記最大のセットと比較して減少したオペランド範囲を有する前記装置。
  9. 請求項8に記載の装置において、前記オペランド範囲は、
    レジスタ指定子と、
    プログラムの中の実行点におけるジャンプを表すジャンプアドレス指定子と、
    アラインメント指定子と、
    即値と、
    の中の1つである前記装置。
  10. 請求項1に記載の装置において、プログラム命令自身の中の少なくとも1つの命令フィールドが、前記複数のデータ経路構成要素のうちのどれが前記少なくとも1つの命令フィールドによって制御されるかを指定する前記装置。
  11. 請求項1に記載の装置において、異なるプログラム命令に応答して、前記複数のデータ経路構成要素の可変個数のデータ経路構成要素が、アクティブであるかまたは非アクティブである前記装置。
  12. 請求項11に記載の装置において、所与のデータ経路構成要素に対して、データ処理オペレーションが指定されていないかまたはペンディングになっている場合、前記所与のデータ経路構成要素は非アクティブであり、Nopオペレーションを行なう前記装置。
  13. 請求項5に記載の装置であって、前記プログラム命令を格納するように動作可能であるとともに固定長メモリアクセスで可読な命令メモリを含む前記装置。
  14. 請求項13に記載の装置において、固定長メモリアクセスは、複数のプログラム命令の少なくともいくつかの部分を含む前記装置。
  15. 請求項14に記載の装置であって、前記命令復号器に供給するための所定位置に前記メモリアクセスの中のプログラム命令を揃えるように動作可能なローテータとプログラムカウンタ増分器(incrementer)とを含む前記装置。
  16. 請求項5に記載の装置であって、前記命令復号器に供給するための所定位置に前記メモリアクセスの中のプログラム命令を揃えるように動作可能なローテータとプログラムカウンタ増分器とを含み、前記ローテータは、前記命令セット識別子に応答して、前記プログラム命令を揃えるためにいかなる回転を与えるべきかを決定する前記装置。
  17. プログラム命令の中の1つまたは複数の命令フィールドを復号して少なくともいくつかの制御信号を発生するステップと、
    前記制御信号に応答して複数のデータ経路構成要素を制御し、前記プログラム命令によって指定されたそれぞれのデータ処理オペレーションを並列に独立して実行し、少なくともいくつかのプログラム命令はそれぞれの各データ経路構成要素に対する制御信号が独立して指定されることを可能にするステップと
    を含み、
    データ経路構成要素によって行なわれる所与のデータ処理オペレーションは、異なるプログラム命令の中で異なって符号化された命令フィールドを使用して指定されうる方法。
  18. 請求項17に記載の方法において、前記データ処理オペレーションを表す前記異なって符号化された命令フィールドは、前記異なるプログラム命令の中に異なるビット長を有する前記方法。
  19. 請求項17に記載の方法において、前記データ処理オペレーションを表す前記異なって符号化された命令フィールドは、前記異なるプログラム命令の中に異なるビット位置を有する前記方法。
  20. 請求項17に記載の方法において、前記プログラム命令は複数の命令セットに分割され、前記命令復号器は、プログラム命令の中の少なくとも命令セット識別フィールドに応答して、前記プログラム命令の中のどのビットが、どのデータ経路構成要素に対する命令フィールドに対応するかを制御する前記方法。
  21. 請求項17に記載の方法において、前記プログラム命令は可変プログラム命令長を有し、前記命令復号器は、前記命令セット識別子に応答してプログラム命令のプログラム命令長を決定する前記方法。
  22. 請求項17に記載の方法において、前記異なって符号化された命令フィールドは、前記データ経路構成要素によって実行されうるデータ処理オペレーションの異なるセットを表すように動作可能である前記方法。
  23. 請求項22に記載の方法において、プログラム命令の中の少なくとも1つの前記異なって符号化された命令フィールドは、異なるプログラム命令の中の前記異なって符号化された命令フィールドの異なる1つによって表されうるデータ処理オペレーションのサブセットを表すように動作可能である前記方法。
  24. 請求項23に記載の方法において、前記サブセットは、データ処理オペレーションの前記最大のセットと比較して減少したオペランド範囲を有する前記方法。
  25. 請求項24に記載の方法において、前記オペランド範囲は、
    レジスタ指定子と、
    プログラムの中の実行点におけるジャンプを表すジャンプアドレス指定子と、
    アラインメント指定子と、
    即値と、
    の中の1つである前記方法。
  26. 請求項17に記載の方法において、プログラム命令自身の中の少なくとも1つの命令フィールドが、前記複数のデータ経路構成要素のうちのどれが前記少なくとも1つの命令フィールドによって制御されるかを指定する前記方法。
  27. 請求項17に記載の方法において、異なるプログラム命令に応答して、前記複数のデータ経路構成要素の可変個数のデータ経路構成要素が、アクティブであるかまたは非アクティブである前記方法。
  28. 請求項27に記載の方法において、所与のデータ経路構成要素に対してデータ処理オペレーションが指定されていないかまたはペンディングになっている場合、前記所与のデータ経路構成要素は非アクティブでありNopオペレーションを実行する前記方法。
  29. 請求項21に記載の方法において、命令メモリは、前記プログラム命令を格納するように動作可能であるとともに固定長メモリアクセスで可読である前記方法。
  30. 請求項29に記載の方法において、固定長メモリアクセスは、複数のプログラム命令の少なくともいくつかの部分を含む前記方法。
  31. 請求項30に記載の方法において、ローテータとプログラムカウンタ増分器とは、前記命令復号器に供給するための所定位置に前記メモリアクセスの中のプログラム命令を揃えるように動作可能である前記方法。
  32. 請求項21に記載の方法において、ローテータとプログラムカウンタ増分器とは、前記命令復号器に供給するための所定位置に前記メモリアクセスの中のプログラム命令を揃えるように動作可能であり、前記ローテータは、前記命令セット識別子に応答して、前記プログラム命令を揃えるためにいかなる回転を与えるべきかを決定する前記方法。
  33. プログラム命令の中の1つまたは複数の命令フィールドを復号して、少なくともいくつかの制御信号を発生するように動作可能な命令復号器と、前記制御信号に応答して前記プログラム命令によって指定されたそれぞれのデータ処理オペレーションを独立して並列に実行する複数のデータ経路構成要素とを有するデータ処理装置を制御するコンピュータプログラム製品であって、
    第1の符号化が、データ経路構成要素によって行なわれる所与のデータ処理オペレーションを指定する、符号化された命令フィールドを含む少なくとも1つのプログラム命令と、
    前記第1の符号化とは異なる第2の符号化が、前記データ経路構成要素によって行なわれる前記所与のデータ処理オペレーションを指定する、異なって符号化された命令フィールドを含む少なくとも1つの異なるプログラム命令と
    を含むコンピュータプログラム製品。
  34. 請求項33に記載のコンピュータプログラム製品において、前記データ処理オペレーションを表す前記異なって符号化された命令フィールドは、前記異なるプログラム命令の中の異なるビット長を有する前記コンピュータプログラム製品。
  35. 請求項33に記載のコンピュータプログラム製品において、前記データ処理オペレーションを表す前記異なって符号化された命令フィールドは、前記異なるプログラム命令の中に異なるビット位置を有する前記コンピュータプログラム製品。
  36. 請求項33に記載のコンピュータプログラム製品において、前記プログラム命令は複数の命令セットに分割され、前記命令復号器は、プログラム命令の中の少なくとも命令セット識別フィールドに応答して、前記プログラム命令の中のどのビットが、どのデータ経路構成要素に対する命令フィールドに対応するかを制御する前記コンピュータプログラム製品。
  37. 請求項33に記載のコンピュータプログラム製品において、前記プログラム命令は、可変プログラム命令長を有し、前記命令復号器は、前記命令セット識別子に応答してプログラム命令のプログラム命令長を決定する前記コンピュータプログラム製品。
  38. 請求項33に記載のコンピュータプログラム製品において、前記異なって符号化された命令フィールドは、前記データ経路構成要素によって実行されうるデータ処理オペレーションの異なるセットを表すように動作可能である前記コンピュータプログラム製品。
  39. 請求項38に記載のコンピュータプログラム製品において、プログラム命令の中の前記異なって符号化された命令フィールドの少なくとも1つは、異なるプログラム命令の中の前記異なって符号化された命令フィールドの異なる1つによって表されうるデータ処理オペレーションのサブセットを表すように動作可能である前記コンピュータプログラム製品。
  40. 請求項39に記載のコンピュータプログラム製品において、前記サブセットは、データ処理オペレーションの前記最大のセットと比較して減少したオペランド範囲を有する前記コンピュータプログラム製品。
  41. 請求項40に記載のコンピュータプログラム製品において、前記オペランド範囲は、
    レジスタ指定子と、
    プログラムの中の実行点におけるジャンプを表すジャンプアドレス指定子と、
    アラインメント指定子と、
    即値と、
    の中の1つである前記コンピュータプログラム製品。
  42. 請求項33に記載のコンピュータプログラム製品において、プログラム命令自身の中の少なくとも1つの命令フィールドが、前記複数のデータ経路構成要素のうち、どれが前記少なくとも1つの命令フィールドによって制御されるかを指定する前記コンピュータプログラム製品。
  43. 請求項33に記載のコンピュータプログラム製品において、異なるプログラム命令に応答して、前記複数のデータ経路構成要素のうちの可変個数のデータ経路構成要素が、アクティブであるかまたは非アクティブである前記コンピュータプログラム製品。
  44. 請求項43に記載のコンピュータプログラム製品において、所定のデータ経路構成要素に対してデータ処理オペレーションが指定されていないかまたはペンディングになっている場合、前記所与のデータ経路構成要素は非アクティブでありヌルオペレーションを実行する前記コンピュータプログラム製品。
  45. 請求項37に記載のコンピュータプログラム製品において、命令メモリは、前記プログラム命令を格納するように動作可能であるとともに固定長メモリアクセスで可読である前記コンピュータプログラム製品。
  46. 請求項45に記載のコンピュータプログラム製品において、固定長メモリアクセスは、複数のプログラム命令の少なくともいくつかの部分を含む前記コンピュータプログラム製品。
  47. 請求項46に記載のコンピュータプログラム製品において、ローテータとプログラムカウンタ増分器とは、前記命令復号器に供給するための所定位置に前記メモリアクセスの中のプログラム命令を揃えるように動作可能である前記コンピュータプログラム製品。
  48. 請求項37に記載のコンピュータプログラム製品において、
    ローテータとプログラムカウンタ増分器とは、前記命令復号器に供給するための所定位置に前記メモリアクセスの中のプログラム命令を揃えるように動作可能であり、前記ローテータは、前記命令セット識別子に応答して、前記プログラム命令を揃えるためにいかなる回転を与えるべきかを決定する前記コンピュータプログラム製品。
  49. 請求項33に記載のコンピュータプログラムを発生するように動作可能なコンピュータプログラムコンパイラ。
JP2004343921A 2004-05-17 2004-11-29 プログラム命令圧縮装置および方法 Pending JP2005332361A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0410986A GB2414308B (en) 2004-05-17 2004-05-17 Program instruction compression

Publications (2)

Publication Number Publication Date
JP2005332361A JP2005332361A (ja) 2005-12-02
JP2005332361A5 true JP2005332361A5 (ja) 2007-02-22

Family

ID=32527186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004343921A Pending JP2005332361A (ja) 2004-05-17 2004-11-29 プログラム命令圧縮装置および方法

Country Status (3)

Country Link
US (1) US7302552B2 (ja)
JP (1) JP2005332361A (ja)
GB (1) GB2414308B (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
GB2420884B (en) * 2004-12-03 2009-04-15 Picochip Designs Ltd Processor architecture
US7581082B2 (en) * 2005-05-13 2009-08-25 Texas Instruments Incorporated Software source transfer selects instruction word sizes
GB2430773A (en) * 2005-10-03 2007-04-04 Advanced Risc Mach Ltd Alignment of variable length program instructions
US20080077772A1 (en) * 2006-09-22 2008-03-27 Ronen Zohar Method and apparatus for performing select operations
US9069547B2 (en) * 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings
US7624251B2 (en) * 2006-11-01 2009-11-24 Apple Inc. Instructions for efficiently accessing unaligned partial vectors
US7620797B2 (en) * 2006-11-01 2009-11-17 Apple Inc. Instructions for efficiently accessing unaligned vectors
CN101398752B (zh) * 2007-09-29 2011-08-31 国际商业机器公司 重叠指令存取单元和重叠指令存取方法
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
CN102077195A (zh) * 2008-05-08 2011-05-25 Mips技术公司 具有紧凑指令集架构的微处理器
US20100312991A1 (en) * 2008-05-08 2010-12-09 Mips Technologies, Inc. Microprocessor with Compact Instruction Set Architecture
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
GB2484489A (en) 2010-10-12 2012-04-18 Advanced Risc Mach Ltd Instruction decoder using an instruction set identifier to determine the decode rules to use.
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
US20160179542A1 (en) * 2014-12-23 2016-06-23 Patrick P. Lai Instruction and logic to perform a fused single cycle increment-compare-jump
JP6907487B2 (ja) 2016-09-09 2021-07-21 富士通株式会社 並列処理装置、並列処理装置の制御方法、及び並列処理装置に用いられる制御装置
KR20180031266A (ko) * 2016-09-19 2018-03-28 삼성전자주식회사 전자 장치, vliw 프로세서 및 그 제어 방법들

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5057837A (en) * 1987-04-20 1991-10-15 Digital Equipment Corporation Instruction storage method with a compressed format using a mask word
GB2289354B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Multiple instruction set mapping
JP2931890B2 (ja) * 1995-07-12 1999-08-09 三菱電機株式会社 データ処理装置
US5826054A (en) * 1996-05-15 1998-10-20 Philips Electronics North America Corporation Compressed Instruction format for use in a VLIW processor
US5922065A (en) * 1997-10-13 1999-07-13 Institute For The Development Of Emerging Architectures, L.L.C. Processor utilizing a template field for encoding instruction sequences in a wide-word format
US6101592A (en) * 1998-12-18 2000-08-08 Billions Of Operations Per Second, Inc. Methods and apparatus for scalable instruction set architecture with dynamic compact instructions
JP4502532B2 (ja) * 2001-02-23 2010-07-14 株式会社ルネサステクノロジ データ処理装置
KR100991700B1 (ko) * 2002-08-16 2010-11-04 코닌클리케 필립스 일렉트로닉스 엔.브이. 처리 장치, 처리 방법 및 컴퓨터로 판독가능한 기록 매체
CN1685310A (zh) * 2002-09-24 2005-10-19 皇家飞利浦电子股份有限公司 在一个超长指令字处理器中启动加载立即指令的处理的装置、方法和编译器

Similar Documents

Publication Publication Date Title
JP2005332361A5 (ja)
JP6227621B2 (ja) 複数の試験ソースに対するor試験及びand試験機能を提供するために命令をフュージングする方法及び装置
KR101016713B1 (ko) 데이터 처리 시스템 내의 예측 명령
US9804851B2 (en) Operand size control
KR101706496B1 (ko) 비인가 스택 피봇팅을 방지하기 위한 시스템들 및 방법들
KR20130016246A (ko) 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑
JP2005332361A (ja) プログラム命令圧縮装置および方法
JP2004054585A5 (ja)
JP2014510351A5 (ja)
US9977675B2 (en) Next-instruction-type-field
WO2018007782A1 (en) An apparatus and method for performing a rearrangement operation
US9424042B2 (en) System, apparatus and method for translating vector instructions
US11314514B2 (en) Vector length querying instruction
US10437598B2 (en) Method and apparatus for selecting among a plurality of instruction sets to a microprocessor
DE112011104552T5 (de) System, Vorrichtung und Verfahren zum Lesen und Schreiben von Segmentregistern unabhängig von Privilegierungsstufe
US7234043B2 (en) Decoding predication instructions within a superscaler data processing system
JP6874262B2 (ja) ベクトル被演算子ビットサイズの制御
JP2007065999A (ja) 命令コードの符号化方式及びcpu
JP2008129667A (ja) プログラマブルコントローラ
JP2000298588A (ja) プログラム実行制御システム及びその方法
Wang et al. A Control Path Design of Communications Processor
KR20070092093A (ko) 다중 마이크로컨트롤러 시스템, 명령어, 및 그의 명령어실행 방법
JP2002073326A (ja) プログラム実行装置及びプログラム実行方法
JPH04177428A (ja) オペランドアドレス受渡し用レジスタを備えたデータ処理装置