KR20080086739A - 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 - Google Patents
병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 Download PDFInfo
- Publication number
- KR20080086739A KR20080086739A KR1020070028813A KR20070028813A KR20080086739A KR 20080086739 A KR20080086739 A KR 20080086739A KR 1020070028813 A KR1020070028813 A KR 1020070028813A KR 20070028813 A KR20070028813 A KR 20070028813A KR 20080086739 A KR20080086739 A KR 20080086739A
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- instructions
- index code
- code
- valid
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 title claims abstract description 9
- 230000006835 compression Effects 0.000 claims description 39
- 238000007906 compression Methods 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 13
- 238000011022 operating instruction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research 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/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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
-
- 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/30156—Special purpose encoding of instructions, e.g. Gray coding
-
- 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
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (21)
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어의 개수와 관련된 인덱스 코드를 순차적으로 생성하는 인덱스 코드 생성부;상기 명령어 그룹들 각각에 대하여 상기 인덱스 코드에 상응하는 상기 무연산 인스트럭션 명령어를 순차적으로 삭제하는 명령어 압축부; 및상기 삭제된 상기 무연산 인스트럭션 명령어에 상응하는 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 명령어 변환부를 포함하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 인덱스 코드와 관련된 상기 무연산 인스트럭션 명령어의 개수는 상기 인덱스 코드의 크기에 의해 제한되는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제2항에 있어서,상기 명령어 변환부는 상기 순차적으로 삭제된 후에 남은 무연산 인스트럭션 명령어에 미리 정해진 인덱스 코드를 포함시키는 잔존 무연산 처리부를 포함하 는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 명령어 변환부는 상기 삭제된 상기 무연산 인스트럭션 명령어의 앞에 위치한 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 인스트럭션 명령어 그룹은 상기 컴퓨터에서 동시에 수행될 수 있는 최대의 인스트럭션 명령어의 개수만큼의 크기를 가지는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제5항에 있어서,상기 인덱스 코드는 상기 인스트럭션 명령어 그룹의 남은 인스트럭션 명령어가 모두 무연산 인스트럭션 명령어인 경우에 상응하는 미리 정해진 코드를 포함하는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 인덱스 코드의 크기는 인스트럭션 명령어의 구조 및 컴퓨터의 연산 환경 가운데 적어도 어느 하나에 기초하여 미리 정해지는 것을 특징으로 하는 인스 트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 명령어 변환부는 상기 유효 인스트럭션 명령어의 일부를 상기 인덱스 코드로 치환하는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 복수의 인스트럭션 명령어들을 동시에 수행하기 위한 복수의 병렬적인 연산 유닛들의 각각에 대응하는 지시 코드를 순차적으로 생성하는 지시 코드 생성부;상기 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어만을 포함하는 명령어 집합을 순차적으로 생성하는 명령어 압축부; 및상기 명령어 집합의 상기 유효 인스트럭션 명령어에 순차적으로 상기 지시 코드를 포함시키는 명령어 변환부를 포함하는 인스트럭션 명령어 압축 장치.
- 제9항에 있어서,상기 명령어 변환부는 상기 지시 코드의 각각에 대응하는 연산 유닛의 연산 수행 능력 및 상기 유효 인스트럭션 명령어의 종류를 고려하여 상기 지시 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어의 개수와 관련된 인덱스 코드를 순차적으로 생성하는 단계;상기 명령어 그룹들 각각에 대하여 상기 인덱스 코드에 상응하는 상기 무연산 인스트럭션 명령어를 순차적으로 삭제하는 단계; 및상기 삭제된 상기 무연산 인스트럭션 명령어에 상응하는 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 단계를 포함하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인덱스 코드와 관련된 상기 무연산 인스트럭션 명령어의 개수는 상기 인덱스 코드의 크기에 의해 제한되는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제12항에 있어서,상기 인덱스 코드를 포함시키는 단계는 상기 순차적으로 삭제된 후에 남은 무연산 인스트럭션 명령어에 미리 정해진 인덱스 코드를 포함시키는 단계를 포함하는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인덱스 코드를 포함시키는 단계는 상기 삭제된 상기 무연산 인스트럭션 명령어의 앞에 위치한 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인스트럭션 명령어 그룹은 상기 컴퓨터에서 동시에 수행될 수 있는 최대의 인스트럭션 명령어의 개수만큼의 크기를 가지는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제15항에 있어서,상기 인덱스 코드는 상기 인스트럭션 명령어 그룹의 남은 인스트럭션 명령어가 모두 무연산 인스트럭션 명령어인 경우에 상응하는 미리 정해진 코드를 포함하는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인덱스 코드의 크기는 인스트럭션 명령어의 구조 및 컴퓨터의 연산 환경 가운데 적어도 어느 하나에 기초하여 미리 정해지는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인덱스 코드를 포함시키는 단계는 상기 유효 인스트럭션 명령어의 일부를 상기 인덱스 코드로 치환하는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 복수의 인스트럭션 명령어들을 동시에 수행하기 위한 복수의 병렬적인 연산 유닛들의 각각에 대응하는 지시 코드를 순차적으로 생성하는 단계;상기 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어만을 포함하는 명령어 집합을 순차적으로 생성하는 단계; 및상기 명령어 집합의 상기 유효 인스트럭션 명령어에 순차적으로 상기 지시 코드를 포함시키는 단계를 포함하는 인스트럭션 명령어 압축 방법.
- 제19항에 있어서,상기 순차적으로 상기 지시 코드를 포함시키는 단계는 상기 지시 코드의 각각에 대응하는 연산 유닛의 연산 수행 능력 및 상기 유효 인스트럭션 명령어의 종류를 고려하여 상기 지시 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명 령어 압축 방법.
- 제11항 내지 제20항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070028813A KR100875836B1 (ko) | 2007-03-23 | 2007-03-23 | 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 |
US11/838,511 US7774581B2 (en) | 2007-03-23 | 2007-08-14 | Apparatus for compressing instruction word for parallel processing VLIW computer and method for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070028813A KR100875836B1 (ko) | 2007-03-23 | 2007-03-23 | 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080086739A true KR20080086739A (ko) | 2008-09-26 |
KR100875836B1 KR100875836B1 (ko) | 2008-12-24 |
Family
ID=39775900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070028813A KR100875836B1 (ko) | 2007-03-23 | 2007-03-23 | 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7774581B2 (ko) |
KR (1) | KR100875836B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100094214A (ko) * | 2009-02-18 | 2010-08-26 | 삼성전자주식회사 | Vliw 명령어 생성 장치 및 그 방법과 vliw 명령어를 처리하는 vliw 프로세서 및 그 방법 |
KR101118593B1 (ko) * | 2008-12-03 | 2012-02-27 | 한국전자통신연구원 | Vliw 명령어 처리 장치 및 방법 |
US9135009B2 (en) | 2011-09-08 | 2015-09-15 | Samsung Electronics Co., Ltd. | Apparatus and method for compressing instructions and a computer-readable storage media therefor |
US9286074B2 (en) | 2010-02-18 | 2016-03-15 | Samsung Electronics Co., Ltd. | NOP instruction compressing apparatus and method in a VLIW machine |
US9348792B2 (en) | 2012-05-11 | 2016-05-24 | Samsung Electronics Co., Ltd. | Coarse-grained reconfigurable processor and code decompression method thereof |
US9804853B2 (en) | 2013-04-22 | 2017-10-31 | Samsung Electronics Co., Ltd. | Apparatus and method for compressing instruction for VLIW processor, and apparatus and method for fetching instruction |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201652B2 (en) | 2011-05-03 | 2015-12-01 | Qualcomm Incorporated | Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy |
US10120692B2 (en) * | 2011-07-28 | 2018-11-06 | Qualcomm Incorporated | Methods and apparatus for storage and translation of an entropy encoded instruction sequence to executable form |
CN102508690B (zh) * | 2011-11-11 | 2014-09-17 | 瑞斯康达科技发展股份有限公司 | 一种嵌入式设备的命令行的保存方法和解码方法 |
US20120317421A1 (en) * | 2012-06-19 | 2012-12-13 | Concurix Corporation | Fingerprinting Executable Code |
KR102210997B1 (ko) * | 2014-03-12 | 2021-02-02 | 삼성전자주식회사 | Vliw 명령어를 처리하는 방법 및 장치와 vliw 명령어를 처리하기 위한 명령어를 생성하는 방법 및 장치 |
KR102149509B1 (ko) * | 2014-03-27 | 2020-08-28 | 삼성전자주식회사 | 구성 데이터를 압축 및 복원하는 방법 |
KR102688577B1 (ko) * | 2016-09-19 | 2024-07-26 | 삼성전자주식회사 | 전자 장치, vliw 프로세서 및 그 제어 방법들 |
CN109753307B (zh) * | 2017-11-03 | 2020-08-11 | 北京思朗科技有限责任公司 | 指令存储方法 |
KR102600283B1 (ko) * | 2017-12-05 | 2023-11-08 | 삼성전자주식회사 | 전자 장치 및 이를 이용한 명령어 처리 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55116141A (en) | 1979-02-28 | 1980-09-06 | Toshiba Corp | Logical operation controller |
JPH0281228A (ja) | 1988-09-19 | 1990-03-22 | Fujitsu Ltd | アセンブラにおける分岐命令のアドレス決定方式 |
JP3598589B2 (ja) * | 1995-06-28 | 2004-12-08 | 株式会社日立製作所 | プロセッサ |
JPH09265397A (ja) * | 1996-03-29 | 1997-10-07 | Hitachi Ltd | Vliw命令用プロセッサ |
US5819058A (en) * | 1997-02-28 | 1998-10-06 | Vm Labs, Inc. | Instruction compression and decompression system and method for a processor |
JPH1185512A (ja) | 1997-09-03 | 1999-03-30 | Fujitsu Ltd | 命令圧縮格納および命令復元機能を有するデータ処理装置 |
US6321318B1 (en) * | 1997-12-31 | 2001-11-20 | Texas Instruments Incorporated | User-configurable on-chip program memory system |
JP3692793B2 (ja) | 1998-09-04 | 2005-09-07 | 松下電器産業株式会社 | コンパイラ、プロセッサおよび記録媒体 |
US6275929B1 (en) | 1999-05-26 | 2001-08-14 | Infineon Technologies Ag L. Gr. | Delay-slot control mechanism for microprocessors |
JP3730455B2 (ja) | 1999-10-01 | 2006-01-05 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
US6859870B1 (en) * | 2000-03-07 | 2005-02-22 | University Of Washington | Method and apparatus for compressing VLIW instruction and sharing subinstructions |
GB2366643B (en) * | 2000-05-25 | 2002-05-01 | Siroyan Ltd | Methods of compressing instructions for processors |
JP4026753B2 (ja) * | 2002-07-25 | 2007-12-26 | 株式会社日立製作所 | 半導体集積回路 |
US7290122B2 (en) * | 2003-08-29 | 2007-10-30 | Motorola, Inc. | Dataflow graph compression for power reduction in a vector processor |
-
2007
- 2007-03-23 KR KR1020070028813A patent/KR100875836B1/ko active IP Right Grant
- 2007-08-14 US US11/838,511 patent/US7774581B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101118593B1 (ko) * | 2008-12-03 | 2012-02-27 | 한국전자통신연구원 | Vliw 명령어 처리 장치 및 방법 |
KR20100094214A (ko) * | 2009-02-18 | 2010-08-26 | 삼성전자주식회사 | Vliw 명령어 생성 장치 및 그 방법과 vliw 명령어를 처리하는 vliw 프로세서 및 그 방법 |
US9286074B2 (en) | 2010-02-18 | 2016-03-15 | Samsung Electronics Co., Ltd. | NOP instruction compressing apparatus and method in a VLIW machine |
US9135009B2 (en) | 2011-09-08 | 2015-09-15 | Samsung Electronics Co., Ltd. | Apparatus and method for compressing instructions and a computer-readable storage media therefor |
US9348792B2 (en) | 2012-05-11 | 2016-05-24 | Samsung Electronics Co., Ltd. | Coarse-grained reconfigurable processor and code decompression method thereof |
US9804853B2 (en) | 2013-04-22 | 2017-10-31 | Samsung Electronics Co., Ltd. | Apparatus and method for compressing instruction for VLIW processor, and apparatus and method for fetching instruction |
Also Published As
Publication number | Publication date |
---|---|
US20080235492A1 (en) | 2008-09-25 |
US7774581B2 (en) | 2010-08-10 |
KR100875836B1 (ko) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100875836B1 (ko) | 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 | |
US10942716B1 (en) | Dynamic computational acceleration using a heterogeneous hardware infrastructure | |
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
US7140010B2 (en) | Method and apparatus for simultaneous optimization of code targeting multiple machines | |
US8713549B2 (en) | Vectorization of program code | |
KR20090064397A (ko) | 명령어 스트림의 효율적인 에뮬레이션을 용이하게 하기 위한 레지스터 기반의 명령어 최적화 | |
US9256437B2 (en) | Code generation method, and information processing apparatus | |
US20150046684A1 (en) | Technique for grouping instructions into independent strands | |
US8291397B2 (en) | Compiler optimized function variants for use when return codes are ignored | |
JP2013186770A (ja) | データ処理装置 | |
JP2013512511A (ja) | 複数メモリ特定用途向けデジタル信号プロセッサ | |
CN102207904A (zh) | 用于对可重构处理器进行仿真的设备和方法 | |
CN111752987B (zh) | 一种数据库访问方法、装置、存储介质和计算机设备 | |
CN114518841A (zh) | 存储器中处理器和使用存储器中处理器输出指令的方法 | |
US20120017070A1 (en) | Compile system, compile method, and storage medium storing compile program | |
US8856762B2 (en) | Loop detection apparatus, loop detection method, and loop detection program | |
JP5632651B2 (ja) | 半導体回路及び設計装置 | |
CN111176663A (zh) | 应用程序的数据处理方法、装置、设备及存储介质 | |
CN114924792A (zh) | 指令译码单元、指令执行单元及相关装置和方法 | |
JP2008250838A (ja) | ソフトウェア生成装置、方法、およびプログラム | |
US10452368B2 (en) | Recording medium having compiling program recorded therein, information processing apparatus, and compiling method | |
US20180232205A1 (en) | Apparatus and method for recursive processing | |
JP2010140233A (ja) | エミュレーションシステム及びエミュレーション方法 | |
CN113031952A (zh) | 深度学习模型的执行代码的确定方法、装置及存储介质 | |
CN116804915B (zh) | 基于存储器的数据交互方法、处理器、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121115 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131122 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141119 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20151118 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20161121 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20171121 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20181119 Year of fee payment: 11 |