KR100875836B1 - 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 - Google Patents
병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 Download PDFInfo
- Publication number
- KR100875836B1 KR100875836B1 KR1020070028813A KR20070028813A KR100875836B1 KR 100875836 B1 KR100875836 B1 KR 100875836B1 KR 1020070028813 A KR1020070028813 A KR 1020070028813A KR 20070028813 A KR20070028813 A KR 20070028813A KR 100875836 B1 KR100875836 B1 KR 100875836B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- instructions
- valid
- index code
- code
- Prior art date
Links
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, 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, 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, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
Abstract
Description
Claims (21)
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어의 개수와 관련된 인덱스 코드를 순차적으로 생성하는 인덱스 코드 생성부 - 상기 유효 인스트럭션 명령어는 상기 무연산 인스트럭션 명령어가 아닌 인스트럭션 명령어 - ;상기 명령어 그룹들 각각에 대하여 상기 인덱스 코드에 상응하는 상기 무연산 인스트럭션 명령어를 순차적으로 삭제하는 명령어 압축부; 및상기 삭제된 상기 무연산 인스트럭션 명령어의 이전 또는 다음에 위치하는 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 명령어 변환부를 포함하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 인덱스 코드와 관련된 상기 무연산 인스트럭션 명령어의 개수는 상기 인덱스 코드의 크기에 의해 제한되는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 명령어 압축부는상기 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어 중 상기 인덱스 코드의 크기에 의해 제한되는 개수만큼의 무연산 인스트럭션 명령어를 삭제하고,상기 명령어 변환부는상기 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어 중 상기 제한되는 개수만큼의 무연산 인스트럭션 명령어가 삭제된 후에 남은 무연산 인스트럭션 명령어에 인스트럭션 명령어 구조에 기초하여 미리 정해진 인덱스 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 명령어 변환부는 상기 삭제된 상기 무연산 인스트럭션 명령어의 앞에 위치한 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 인스트럭션 명령어 그룹은 상기 컴퓨터에서 동시에 수행될 수 있는 최대의 인스트럭션 명령어의 개수만큼의 크기를 가지는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제5항에 있어서,상기 인덱스 코드는 상기 인스트럭션 명령어 그룹의 남은 인스트럭션 명령어가 모두 무연산 인스트럭션 명령어인 경우에 상응하는 미리 정해진 코드를 포함하는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 인덱스 코드의 크기는 인스트럭션 명령어의 구조 및 컴퓨터의 연산 환경 가운데 적어도 어느 하나에 기초하여 미리 정해지는 것을 특징으로 하는 인스 트럭션 명령어 압축 장치.
- 제1항에 있어서,상기 명령어 변환부는 상기 유효 인스트럭션 명령어의 일부를 상기 인덱스 코드로 치환하는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 복수의 인스트럭션 명령어들을 동시에 수행하기 위한 복수의 병렬적인 연산 유닛들의 각각에 대응하는 지시 코드를 순차적으로 생성하는 지시 코드 생성부;상기 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어 - 상기 유효 인스트럭션 명령어는 무연산 인스트럭션 명령어가 아닌 인스트럭션 명령어 - 만을 포함하는 명령어 집합을 순차적으로 생성하는 명령어 압축부; 및상기 명령어 집합의 상기 유효 인스트럭션 명령어에 순차적으로 상기 지시 코드를 포함시키는 명령어 변환부를 포함하는 인스트럭션 명령어 압축 장치.
- 제9항에 있어서,상기 명령어 변환부는 상기 지시 코드의 각각에 대응하는 연산 유닛의 연산 수행 능력 및 상기 유효 인스트럭션 명령어의 종류를 고려하여 상기 지시 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 장치.
- 매우 긴 명령어(very long instruction word, VLIW) 컴퓨터에서 수행되기 위한 인스트럭션 명령어 그룹들 각각에 대하여 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어의 개수와 관련된 인덱스 코드를 순차적으로 생성하는 단계 - 상기 유효 인스트럭션 명령어는 상기 무연산 인스트럭션 명령어가 아닌 인스트럭션 명령어 - ;상기 명령어 그룹들 각각에 대하여 상기 인덱스 코드에 상응하는 상기 무연산 인스트럭션 명령어를 순차적으로 삭제하는 단계; 및상기 삭제된 상기 무연산 인스트럭션 명령어의 이전 또는 다음에 위치하는 상기 유효 인스트럭션 명령어에 상기 인덱스 코드를 포함시키는 단계를 포함하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인덱스 코드와 관련된 상기 무연산 인스트럭션 명령어의 개수는 상기 인덱스 코드의 크기에 의해 제한되는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제11항에 있어서,상기 인덱스 코드에 상응하는 상기 무연산 인스트럭션 명령어를 순차적으로 삭제하는 단계는상기 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어 중 상기 인덱스 코드의 크기에 제한되는 개수만큼의 무연산 인스트럭션 명령어를 삭제하고,상기 인덱스 코드를 포함시키는 단계는상기 유효 인스트럭션 명령어 사이의 무연산 인스트럭션 명령어 중 상기 제한되는 개수만큼의 무연산 인스트럭션 명령어가 삭제된 후에 남은 무연산 인스트럭션 명령어에 인스트럭션 명령어 구조에 기초하여 미리 정해진 인덱스 코드를 포함시키는 것을 특징으로 하는 인스트럭션 명령어 압축 방법.
- 제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 KR20080086739A (ko) | 2008-09-26 |
KR100875836B1 true 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) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101118593B1 (ko) * | 2008-12-03 | 2012-02-27 | 한국전자통신연구원 | Vliw 명령어 처리 장치 및 방법 |
KR101645001B1 (ko) * | 2009-02-18 | 2016-08-02 | 삼성전자주식회사 | Vliw 명령어 생성 장치 및 그 방법과 vliw 명령어를 처리하는 vliw 프로세서 및 그 방법 |
KR101603751B1 (ko) | 2010-02-18 | 2016-03-16 | 삼성전자주식회사 | 명령어 병렬 처리 컴퓨터를 위한 명령어 압축 장치 및 방법 |
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 |
KR101738938B1 (ko) | 2011-09-08 | 2017-05-23 | 삼성전자주식회사 | 명령어 압축 장치, 명령어 압축 방법 및 컴퓨터로 읽을 수 있는 저장 매체 |
CN102508690B (zh) * | 2011-11-11 | 2014-09-17 | 瑞斯康达科技发展股份有限公司 | 一种嵌入式设备的命令行的保存方法和解码方法 |
US9348792B2 (en) | 2012-05-11 | 2016-05-24 | Samsung Electronics Co., Ltd. | Coarse-grained reconfigurable processor and code decompression method thereof |
US20120317421A1 (en) * | 2012-06-19 | 2012-12-13 | Concurix Corporation | Fingerprinting Executable Code |
KR102056730B1 (ko) * | 2013-04-22 | 2019-12-17 | 삼성전자주식회사 | Vliw 프로세서를 위한 명령어 압축 장치 및 방법과, 명령어 인출 장치 및 방법 |
KR102210997B1 (ko) * | 2014-03-12 | 2021-02-02 | 삼성전자주식회사 | Vliw 명령어를 처리하는 방법 및 장치와 vliw 명령어를 처리하기 위한 명령어를 생성하는 방법 및 장치 |
KR102149509B1 (ko) * | 2014-03-27 | 2020-08-28 | 삼성전자주식회사 | 구성 데이터를 압축 및 복원하는 방법 |
KR20180031266A (ko) * | 2016-09-19 | 2018-03-28 | 삼성전자주식회사 | 전자 장치, 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
Also Published As
Publication number | Publication date |
---|---|
US7774581B2 (en) | 2010-08-10 |
US20080235492A1 (en) | 2008-09-25 |
KR20080086739A (ko) | 2008-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100875836B1 (ko) | 병렬 처리 vliw 컴퓨터를 위한 인스트럭션 명령어 압축장치 및 그 방법 | |
US10942716B1 (en) | Dynamic computational acceleration using a heterogeneous hardware infrastructure | |
KR101081090B1 (ko) | 명령어 스트림의 효율적인 에뮬레이션을 가능하게 하기 위한 레지스터 기반의 명령어 최적화 | |
CN110825436B (zh) | 应用于人工智能芯片的计算方法和人工智能芯片 | |
US20130262824A1 (en) | Code generation method, and information processing apparatus | |
JP2013512511A (ja) | 複数メモリ特定用途向けデジタル信号プロセッサ | |
CN102207904A (zh) | 用于对可重构处理器进行仿真的设备和方法 | |
CN111752987B (zh) | 一种数据库访问方法、装置、存储介质和计算机设备 | |
CN117435855B (zh) | 用于进行卷积运算的方法、电子设备和存储介质 | |
US8856762B2 (en) | Loop detection apparatus, loop detection method, and loop detection program | |
US20130151485A1 (en) | Apparatus and method for storing trace data | |
CN111176663A (zh) | 应用程序的数据处理方法、装置、设备及存储介质 | |
CN114518841A (zh) | 存储器中处理器和使用存储器中处理器输出指令的方法 | |
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) | エミュレーションシステム及びエミュレーション方法 | |
US8661329B1 (en) | Generation of readable hierarchical path identifiers | |
WO2014064798A1 (ja) | 実行制御方法及び情報処理装置 | |
CN116804915B (zh) | 基于存储器的数据交互方法、处理器、设备以及介质 | |
US11144238B1 (en) | Background processing during remote memory access | |
JP4788902B2 (ja) | コンパイル最適化方法およびコンパイラ | |
KR101191530B1 (ko) | 복수의 이종 코어를 포함하는 멀티코어 프로세서 시스템 및 그 제어 방법 | |
CN110825438B (zh) | 用于模拟人工智能芯片的数据处理的方法和装置 | |
JP3323147B2 (ja) | コンパイル装置、コンパイル方法およびコンパイラプログラムを記録した記録媒体 | |
CN116301874A (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 |