KR100516214B1 - A digital signal processor for parallel processing of instructions and its process method - Google Patents
A digital signal processor for parallel processing of instructions and its process method Download PDFInfo
- Publication number
- KR100516214B1 KR100516214B1 KR10-2003-0015336A KR20030015336A KR100516214B1 KR 100516214 B1 KR100516214 B1 KR 100516214B1 KR 20030015336 A KR20030015336 A KR 20030015336A KR 100516214 B1 KR100516214 B1 KR 100516214B1
- Authority
- KR
- South Korea
- Prior art keywords
- instructions
- instruction
- digital signal
- signal processor
- tag
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000003672 processing method Methods 0.000 claims abstract description 6
- 235000019227 E-number Nutrition 0.000 claims 1
- 239000004243 E-number Substances 0.000 claims 1
- 238000004364 calculation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- 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
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string 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/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)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
본 발명은 명령어 병렬처리를 위한 디지털 신호처리기 및 그 처리방법에 관한 것으로, 특히 슈퍼스칼라(Superscalar) 구조와 VLIW(Very Long Instruction Word) 구조의 장점을 수용한 고성능 신호처리 시스템에 적용 가능한 디지털 신호처리기(Digital Signal Processor, 이하 DSP)에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor for instruction parallel processing and a processing method thereof, and in particular, a digital signal processor applicable to a high performance signal processing system that accommodates the advantages of a superscalar structure and a VLIW (Very Long Instruction Word) structure. (Digital Signal Processor, hereinafter referred to as DSP).
본 발명의 명령어 병렬처리를 위한 디지털 신호처리기 및 그 처리방법은 동시에 수행 가능한 다음 명령어들의 수(M)를 계산하는 제1단계, 제1단계에서 계산한 M중에서 최대값 하나를 선택하는 제2단계, 제2단계에서 선택한 값에 대응하는 명령어들을 그룹으로 만드는 제3단계, 모든 명령어들이 그룹으로 만들어졌다면 제5단계를 수행하고, 그렇지 않으면 제1단계를 수행하는 제4단계, 각각의 그룹에 있는 명령어 들을 해당 명령어를 수행할 연산 블록에 따라 재배치하고, 태그(Tag)값을 할당하는 제5단계로 하는 처리로 알고리즘이 수행됨에 기술적 특징이 있다.The digital signal processor and the processing method thereof for parallel processing of instructions of the present invention include a first step of calculating the number of next instructions M that can be executed simultaneously, and a second step of selecting one maximum value from M calculated in the first step. A third step of grouping the instructions corresponding to the value selected in the second step; a fifth step if all instructions are grouped; otherwise a fourth step of performing the first step; There is a technical feature in that the algorithm is performed by the fifth step of rearranging the instructions according to the operation block to execute the corresponding instruction and assigning a tag value.
따라서, 본 발명의 명령어 병렬처리를 위한 디지털 신호처리기 및 그 처리방법은 슈퍼스칼라 구조와 VLIW 구조의 장점을 수용한 고성능 신호처리 시스템에 적용이 가능한 DSP 구조를 제공하는데, 간단한 플래그(Flag)를 이용하여 무연산(No OPeration) 명령을 DSP가 생성하도록 함으로써 프로그램 사이즈를 줄이고, 병렬로 처리할 수 있는 명령어들을 소프트웨어(컴파일러, 어셈블러)가 구성하도록 함으로써 DSP 구조를 간단하게 할 수 있는 장점이 있다.Accordingly, the digital signal processor and the processing method thereof for parallel processing of instructions of the present invention provide a DSP structure that can be applied to a high-performance signal processing system that adopts the advantages of a superscalar structure and a VLIW structure, using a simple flag. This allows the DSP to generate no operation instructions, reducing the program size, and simplifying the DSP structure by allowing the software (compiler and assembler) to construct instructions that can be processed in parallel.
Description
본 발명은 명령어 병렬처리를 위한 디지털 신호처리기 및 그 처리방법에 관한 것으로, 특히 슈퍼스칼라(Superscalar) 구조와 VLIW(Very Long Instruction Word) 구조의 장점을 수용한 고성능 신호처리 시스템에 적용이 가능한 디지털 신호처리기(Digital Signal Processor, 이하 DSP)에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor for parallel processing of instructions and a method of processing the same, and in particular, a digital signal applicable to a high performance signal processing system that accommodates the advantages of a superscalar structure and a VLIW (Very Long Instruction Word) structure. The present invention relates to a digital signal processor (DSP).
SDR(Software Defined Radio) 기술이 대두됨에 따라 통신을 비롯한 이미지, 비디오 등의 신호처리 시스템을 소프트웨어로 처리하기 위한 고성능 DSP가 요구된다. 신호처리용 소프트웨어를 고속으로 처리하기 위하여 현재 일반적으로 사용되는 방식은 ILP(Instruction Level Parallelism)를 사용하는 것이다. 상기 ILP를 구현하기 위하여 상업적으로 제품화되고 있는 기술은 크게 두 가지로 분류할 수 있다.With the rise of SDR (Software Defined Radio) technology, high performance DSPs are required for software to process signal processing systems such as communication, images, and video. In order to process the signal processing software at high speed, the currently used method is to use ILP (Instruction Level Parallelism). Commercially commercialized technologies for implementing the ILP can be classified into two categories.
종래에는 DSP 구조로서 슈퍼스칼라 구조와 VLIW 구조의 두 가지 구조가 있었는데, 대한민국 공개특허공보 제1993-0016896호, 제1999-0062575호, 제1992-0020340호 등에서 자세히 소개하고 있는데, 다음과 같다.Conventionally, there are two structures, a superscalar structure and a VLIW structure, as DSP structures, which are described in detail in Korean Patent Laid-Open Publication Nos. 193-0016896, 1999-0062575, 1992-0020340, and the like.
슈퍼스칼라 구조는 ILP구현을 위하여 DSP에 의존한다. 즉, 명령어가 저장된 메모리로부터 정해진 수의 명령어를 읽어온 후에 DSP가 동시에 처리할 수 있는 명령어들을 판단하여 그 명령어들을 병렬로 처리한다. 만약, 읽어온 명령어 중에서 동시에 처리할 수 없는 명령어의 경우에 다음에 읽어온 명령어들과 함께 병렬처리가 가능한 명령어들을 다시 판단하여 처리하게 된다. 즉, 슈퍼스칼라 구조의 경우에 명령어 병렬 처리를 DSP가 하드웨어적으로 처리하기 때문에 DSP 구조가 복잡하고, 읽어온 명령어 중 병렬로 처리할 수 없는 명령어들을 저장할 명령어 버퍼가 필요하다. Superscalar structure depends on DSP for ILP implementation. That is, after reading a predetermined number of instructions from the memory where the instructions are stored, the DSP determines the instructions that can be processed simultaneously and processes them in parallel. If a command that cannot be processed at the same time among the read commands is determined again, the commands that can be processed in parallel with the next read commands are processed again. That is, in the case of the superscalar structure, since DSP executes the parallelism of instructions in hardware, the DSP structure is complicated, and an instruction buffer is required to store instructions that cannot be processed in parallel among the read instructions.
VLIW 구조는 ILP 구현을 위하여 소프트웨어(컴파일러 또는 어셈블러)에 의존한다. 즉, 명령어 자체에 DSP에 있는 각각의 연산 모듈에서 수행할 명령들을 포함시켜 하나의 긴 명령어를 만든다. 이 때, DSP는 명령어가 저장된 메모리로부터 정해진 수의 명령어를 읽어온 후에 각각의 연산 모듈에서 수행할 연산 모듈을 위한 명령들을 해당하는 연산 모듈로 전달하여 처리하게 된다. 그러므로, 한 번 읽어온 명령어는 바로 처리를 하기 때문에 명령어 버퍼가 필요없고, 명령어 중에서 동시에 처리할 수 있는 명령어를 판단할 필요가 없기 때문에 슈퍼스칼라 구조보다 하드웨어가 간단하다.The VLIW architecture relies on software (compiler or assembler) for implementing ILP. That is, the instruction itself contains instructions to be executed by each operation module in the DSP to make one long instruction. At this time, the DSP reads a predetermined number of instructions from the memory in which the instructions are stored and delivers the instructions for the operation module to be performed in each operation module to the corresponding operation module for processing. Therefore, once read instructions are processed immediately, hardware is simpler than superscalar structure because there is no need for instruction buffer and no need to decide which instructions can be processed simultaneously.
그러나, 상기와 같은 종래기술의 프로세서 구조는 모든 연산 블록이 동시에 수행될 수 없을 경우에 무연산(No OPeration) 명령이 많아지게 된다. 이것은 DSP가 아무 동작도 하지 않는 명령인데, 결과적으로 프로그램 사이즈가 커지게 된다. 특히, 상기 대한민국 공개특허공보 제1993-0016896호에서는 상기 슈퍼스칼라 구조와 VLIW 구조의 방식을 혼재시켜서 두 구조의 장점을 이용한 병렬 연산 기능을 수행할 수 있는 계산기를 소개하고 있는데, 본 발명에서와 같이 그 알고리즘을 제시하지는 못하고 있다.However, such a prior art processor structure has a large number of no operation instructions when all the operation blocks cannot be executed at the same time. This is a command that the DSP does nothing, resulting in a larger program size. In particular, the Republic of Korea Patent Publication No. 199-0016896 introduces a calculator that can perform a parallel operation function using the advantages of the two structures by mixing the superscalar structure and the VLIW structure, as in the present invention, It does not present the algorithm.
따라서, 본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위한 것으로, 상기 슈퍼스칼라 구조와 VLIW 구조는 각각 장단점을 가지고 있기 때문에 현재 상용 제품을 판매하는 기업의 경우에 상기 두 구조의 장점을 이용하여 종래의 제품보다 효율적인 DSP 구조를 제안하고 있다. 본 발명에서는 이러한 신호처리 시스템을 구현할 수 있는 고성능 DSP 구조를 제안하며, 상기의 제안 방식은 슈퍼스칼라 구조와 VLIW 구조의 장점을 수용하여 고성능 신호처리 시스템에 적용 가능한 DSP 구조를 제안함에 본 발명의 목적이 있다.Accordingly, the present invention is to solve the problems of the prior art as described above, because the superscalar structure and VLIW structure has advantages and disadvantages, respectively, in the case of companies currently selling commercial products, It proposes a more efficient DSP structure than conventional products. The present invention proposes a high-performance DSP structure capable of implementing such a signal processing system, and the proposed scheme proposes a DSP structure applicable to a high-performance signal processing system by accommodating the advantages of the superscalar structure and the VLIW structure. There is this.
본 발명의 상기 목적은 슈퍼스칼라 구조와 VLIW 구조의 장점을 수용한 고성능 신호처리 시스템에 적용 가능한 DSP 구조를 제공함에 의해서 달성된다.The above object of the present invention is achieved by providing a DSP structure applicable to a high performance signal processing system that accommodates the advantages of a superscalar structure and a VLIW structure.
본 발명의 상기 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 바람직한 실시예를 도시하고 있는 도면을 통하여 상세히 설명하고자 한다.Details of the above object, technical configuration and effects according to the present invention will be described in detail with reference to the drawings showing preferred embodiments of the present invention.
먼저 본 발명의 프로그램 작성 알고리즘을 위한 4가지의 기본적인 사항을 살펴보도록 한다. First, let us look at four basic matters for the programming algorithm of the present invention.
첫째, 명령어 및 태그(이하 Tag)이다. 본 발명에서는 모든 명령어들은 고정된 비트수(예: 32비트)로 정의된다. 즉, RISC(Reduced Instruction Set Computer) 프로세서와 같이 모든 명령어가 같은 비트의 수로 구성되도록 한다. 그리고, DSP에 동시에 처리할 수 있는 연산 블록의 수가 e개이면 각 명령어에 e비트의 Tag를 포함시킨다. 포함되는 e비트의 Tag는 다음에 수행될 명령어 집합에 대한 정보를 가지게 된다. 즉, 도 1과 같이 각 명령어는 실제 명령과 e비트의 Tag로 구성된다. 도 2는 DSP의 간략한 블록도를 나타낸 것으로 명령어를 읽어서 처리하는 디코드(Decode) 블록과 e개의 연산 블록으로 구성된다. 태그는 e비트의 플래그(이하 Flag)들로 구성되는데, 각 Flag는 연산 블록을 지시한다. 도 3은 Tag를 자세히 나타낸 것이다. 각 Flag의 의미는 수학식 1로 정의된다.
삭제delete
여기서, Flag(i) = 0 일 때는 연산 블록 i는 다음 연산 수행 시 수행이 가능하지 않으나, Flag(i) = 1 일 때는 연산 블록 i는 다음 연산 수행 시 수행이 가능하다. Here, when Flag (i) = 0, the operation block i may not be performed when performing the next operation. However, when Flag (i) = 1, the operation block i may be performed when the next operation is performed.
그러므로, 다음에 처리할 명령어 수(Num)는 수학식 2로 계산된다.
삭제delete
예를 들어, 도 4와 같이 명령어와 Tag가 구성되는 경우, 명령 1을 수행한 후 DSP는 다음에 있는 3개의 명령어를 읽어와서 처리한다. 왜냐하면, Flag(2), Flag(3), 그리고, Flag(6)이 1이고 나머지 Flag가 0이기 때문이다. 이 때, Flag(1) 이 0이기 때문에 다음 연산 수행시 연산 블록 1은 아무런 연산도 수행하지 않으며, Flag(2)가 1이기 때문에 명령 2는 연산 블록 2에서 처리하도록 한다. 상기와 같은 방법으로 Flag(3)이 1이기 때문에 명령 3은 연산 블록 3에서 처리하도록 하고, Flag(6)이 1이기 때문에 명령 4는 연산 블록 6에서 처리하도록 하고, 다른 연산 블록들은 아무 연산도 처리하지 않게된다. 즉, 연산 블록 1, 연산 블록 4, 연산 블록 5, 연산 블록 7, 그리고 연산 블록 8에는 무연산 명령을 전달하게 된다. 이는 명령어에는 존재하지 않는 무연산 명령을 DSP가 생성하는 것이다. 즉, 본 발명에서는 간단한 Flag를 이용하여 무연산 명령을 DSP가 생성하도록 함으로써 프로그램 사이즈를 줄이고, 병렬로 처리할 수 있는 명령어들을 소프트웨어(컴파일러, 어셈블러)가 구성하도록 하게함으로써 DSP 구조를 간단하게 할 수 있다.For example, when an instruction and a tag are configured as shown in FIG. 4, after performing instruction 1, the DSP reads and processes the next three instructions. This is because Flag (2), Flag (3), and Flag (6) are 1 and the remaining Flags are 0. In this case, since Flag (1) is 0, the operation block 1 does not perform any operation when performing the next operation, and since the Flag (2) is 1, the instruction 2 is processed in the operation block 2. In the same way as above, Flag (3) is 1, so instruction 3 is processed in operation block 3. Since Flag (6) is 1, instruction 4 is processed in operation block 6. Will not process. That is, arithmetic instructions are transmitted to arithmetic block 1, arithmetic block 4, arithmetic block 5, arithmetic block 7, and arithmetic block 8. This is a DSP-generated instruction that does not exist in the instruction. That is, in the present invention, the DSP structure can be reduced by using a simple flag to reduce the program size and allow the software (compiler and assembler) to configure instructions that can be processed in parallel to simplify the DSP structure. have.
둘째, 프로그램의 첫 번째 명령이다. 프로그램의 첫 번째 명령은 반드시 무연산 명령이고, Tag는 다음에 처리할 명령어에 대한 정보를 포함한다. 그리고, DSP가 리셋된 후에 첫 번째 명령을 수행할 때는 한 개의 명령어만 읽어와서 Tag에 포함되어 있는 플래그들을 분석하여 다음에 수행할 명령어들을 읽어온다. 이것은 DSP가 리셋된 후에 명령을 수행하기 시작할 때 Tag 정보가 없기 때문에 몇 개의 명령어를 읽어와야 할 것인지와 어느 연산 블록에서 처리할 지를 판단할 수 없기 때문이다.Second is the first command of the program. The first instruction in the program is necessarily an instruction, and the tag contains information about the instruction to be processed next. When the first command is executed after the DSP is reset, only one command is read and the flags included in the tag are analyzed to read the next command. This is because there is no tag information when the DSP starts executing instructions after it is reset, and it is impossible to determine how many instructions to read and in which operation block to process them.
셋째, 무조건 분기(Unconditional Branch) 명령이다. 무조건 분기 명령의 경우 목적지 주소가 미리 결정되기 때문에 Tag가 미리 결정될 수 있다. 이 때, Tag는 목적지 명령어 바로 전 명령어의 Tag가 된다. 즉, 도 5의 경우에 무조건 분기 명령의 Tag인 Tag(B)는 수학식 3으로 구해진다.
삭제delete
삭제delete
상기 네 가지의 기본적인 사항으로 본 발명에서 제안하는 DSP 구조를 위한 프로그램 작성(명령어 배치)은 알고리즘 1에 따라 작성된다.With the above four basic matters, the program creation (command placement) for the DSP structure proposed by the present invention is prepared according to Algorithm 1.
[알고리즘 1]Algorithm 1
1단계: 각 명령에 대하여 동시에 수행 가능한 다음 명령어들의 수(M)를 계산한다.Step 1: Calculate the number of next instructions (M) that can be executed simultaneously for each instruction.
2단계: 1단계에서 계산한 M중에서 최대값 하나를 선택한다.Step 2: Choose the maximum value from M calculated in step 1.
3단계: 2단계에서 선택한 값에 대응하는 명령어들을 그룹으로 만든다.Step 3: Group the commands that correspond to the values you selected in Step 2.
4단계: 모든 명령어들이 그룹으로 만들어졌다면 5단계를 수행하고, 그렇지 않으면 1단계를 수행한다.Step 4: If all the commands are grouped, go to step 5; otherwise, go to step 1.
5단계: 각각의 그룹에 있는 명령어들을 해당 명령어를 수행할 연산 블록에 따라 재배치하고, Tag값을 해당하는 명령에 할당한다. Step 5: Relocate the instructions in each group according to the operation block to execute the instruction, and assign the tag value to the instruction.
알고리즘 1에 의하여 명령어를 배치하면 한 그룹 내에서 명령어들은 그 명령어가 수행될 연산 블록의 순서에따라 배치된다. 즉,
를 연산 블록
에서 수행 가능한 명령어라고 하면 하나의 그룹 내에서 수학식 4를 만족한다. 여기서, AddressOf(X)는 X 명령어가 저장되어 있는 메모리의 주소를 나타낸다.
삭제delete
그러면, 프로그램 작성(명령어 배치) 방법을 예를 들어서 설명하기로 한다.Next, a program creation (command placement) method will be described by way of example.
수행할 명령어로 무연산,,,,,,과 같은 명령어가 수행된다고 가정하면 알고리즘 1의 1단계에서 동시에 수행 가능한 다음 명령어들의 수(M)를 계산 하면 표 1과 같다.No operation as the command to perform, , , , , , Assuming that the same instruction is executed, Table 1 shows the number (M) of the next instructions that can be executed simultaneously in the first step of Algorithm 1.
알고리즘 1의 2단계로부터 무연산 다음의 4개의 명령어들을 하나의 그룹으로 형성한다. 그러면, 제일 마지막의 와 이 하나의 그룹이 된다.From step 2 of Algorithm 1, the following four instructions are formed into one group. Then, the last Wow This is a group.
알고리즘 1의 5단계로부터 각 그룹에 있는 명령어들을 재배치하면 무연산, ,,,,,와 같이 명령어들이 배치되고, 각 명령어에 대한 Tag값을 계산하면, 표 2와 같이 된다.If you rearrange the instructions in each group from step 5 of Algorithm 1, , , , , , Instructions are arranged as shown in Table 2, and the Tag value for each instruction is calculated.
DSP는 첫 번째 무연산 명령과 Tag 1을 읽어와서 Tag 1을 분석한다. Tag 1을 분석하면 다음에 수행할 명령어가 4개라는 것을 알 수 있기 때문에 DSP는 프로그램 메모리로부터 4개의 명령어를 읽어온다. 그리고, Flag(1)이 1이기 때문에 첫 번째 명령어를 연산 블록 1로 전달한다. 상기와 같은 방법으로 두 번째 명령어를 연산 블록 2로 전달하고, 세 번째 명령어를 연산블록 3으로 전달한다. 그리고, Flag(4)가 0이기 때문에 연산블록 4에 무연산을 전달하고, 네 번째 명령어를 연산블록 5로 전달한다. 그리고, Tag 5를 분석하여 다음에 읽어올 명령어를 결정한다. 다음에 읽어올 명령어의 수는 2개이고, 첫 번째 명령어를 연산 블록 1로 전달하고, 두 번째 명령어를 연산 블록 2로 전달한다. The DSP analyzes Tag 1 by reading the first no-operation instruction and Tag 1. Analyzing Tag 1 reveals that there are four instructions to perform next, so the DSP reads four instructions from the program memory. And since Flag (1) is 1, the first instruction is transferred to operation block 1. In the same manner as above, the second instruction is transferred to the operation block 2, and the third instruction is transferred to the operation block 3. Since Flag (4) is 0, no operation is transmitted to operation block 4, and the fourth instruction is transferred to operation block 5. Then, it analyzes Tag 5 and decides the next command to be read. The next number of instructions to read is two, passing the first instruction to operation block 1, and passing the second instruction to operation block 2.
그룹 내에 마지막 명령어의 Tag값은 다음에 수행할 명령어 그룹에 대한 정보를 가지고 있게 된다. 그리고, 다른 명령어들에 대한 Tag값은 그 그룹에서 그 명령어 다음에 남아 있는 명령어들에 대응하는 Tag값으로 결정된다.The tag value of the last command in the group contains information about the next command group to be executed. The tag value for other instructions is determined as a tag value corresponding to the instructions remaining after the instruction in the group.
따라서, 본 발명의 명령어 병렬처리를 위한 디지털 신호처리기 및 그 처리방법은 슈퍼스칼라 구조와 VLIW 구조의 장점을 수용한 고성능 신호처리 시스템에 적용이 가능한 DSP 구조를 제공하는데, 간단한 Flag를 이용하여 무연산 명령을 DSP가 생성하도록 함으로써 프로그램 사이즈를 줄이고, 병렬로 처리할 수 있는 명령어들을 소프트웨어(컴파일러, 어셈블러)가 구성하도록 함으로써 DSP 구조를 간단하게 할 수 있는 장점이 있다.Accordingly, the digital signal processor and the processing method thereof for parallel processing of instructions of the present invention provide a DSP structure that can be applied to a high performance signal processing system that accommodates the advantages of a superscalar structure and a VLIW structure. The advantage of simplifying the DSP structure is that the DSP generates the instructions, reducing the program size and allowing the software (compiler, assembler) to construct instructions that can be processed in parallel.
도 1은 본 발명의 간략한 명령어 구성도이다.1 is a simplified command diagram of the present invention.
도 2는 본 발명의 디지털 신호처리기의 간략한 블록도이다.2 is a simplified block diagram of a digital signal processor of the present invention.
도 3은 본 발명의 태그의 구성도이다.3 is a block diagram of a tag of the present invention.
도 4는 본 발명의 재배치 전의 명령어 구성도이다.4 is a block diagram of the instruction before relocation of the present invention.
도 5는 본 발명의 무조건 분기 명령의 예이다.5 is an example of an unconditional branch instruction of the present invention.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0015336A KR100516214B1 (en) | 2003-03-12 | 2003-03-12 | A digital signal processor for parallel processing of instructions and its process method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0015336A KR100516214B1 (en) | 2003-03-12 | 2003-03-12 | A digital signal processor for parallel processing of instructions and its process method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040080520A KR20040080520A (en) | 2004-09-20 |
KR100516214B1 true KR100516214B1 (en) | 2005-09-23 |
Family
ID=37365156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0015336A KR100516214B1 (en) | 2003-03-12 | 2003-03-12 | A digital signal processor for parallel processing of instructions and its process method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100516214B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100735552B1 (en) | 2005-09-23 | 2007-07-04 | 삼성전자주식회사 | Method for reducing program code size on code memory |
KR100829167B1 (en) * | 2006-11-10 | 2008-05-13 | 재단법인서울대학교산학협력재단 | Method of reducing data dependence for software pipelining |
KR100940362B1 (en) * | 2007-09-28 | 2010-02-04 | 고려대학교 산학협력단 | Method for mode set optimization in instruction processor using mode sets |
-
2003
- 2003-03-12 KR KR10-2003-0015336A patent/KR100516214B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20040080520A (en) | 2004-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5333280A (en) | Parallel pipelined instruction processing system for very long instruction word | |
US6269439B1 (en) | Signal processor having pipeline processing that supresses the deterioration of processing efficiency and method of the same | |
JP2003510682A5 (en) | ||
US7552313B2 (en) | VLIW digital signal processor for achieving improved binary translation | |
JP4864840B2 (en) | Microprocessor | |
US9436466B2 (en) | Blank bit and processor instructions employing the blank bit | |
KR100972160B1 (en) | Data access program instruction encoding | |
KR100516214B1 (en) | A digital signal processor for parallel processing of instructions and its process method | |
WO2008043287A1 (en) | Configurable single instruction multiple data unit | |
US20080282071A1 (en) | Microprocessor and register saving method | |
US20070011440A1 (en) | Processor and processing method | |
KR19980024622A (en) | Program execution method and device using the method | |
US6735689B1 (en) | Method and system for reducing taken branch penalty | |
US8392893B2 (en) | Emulation method and computer system | |
US20070283333A1 (en) | Medium for recording compiler program, compile method, and information processing apparatus therewith | |
US20060015704A1 (en) | Operation apparatus and instruction code executing method | |
US6757813B1 (en) | Processor | |
JP3705263B2 (en) | Sequencer | |
KR100246327B1 (en) | Data access circuit for central processing unit | |
JP2522564B2 (en) | Programmable controller | |
CN118096490A (en) | Method for expanding 64-bit operation of register pair, graphic processor and electronic equipment | |
JP3428253B2 (en) | Sequencer | |
JP2522562B2 (en) | Programmable controller | |
JPS63276126A (en) | Instruction decoding circuit | |
JPH05334074A (en) | Microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
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: 20111229 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |