KR100382018B1 - 프로세서 장치 - Google Patents
프로세서 장치 Download PDFInfo
- Publication number
- KR100382018B1 KR100382018B1 KR10-2000-0027968A KR20000027968A KR100382018B1 KR 100382018 B1 KR100382018 B1 KR 100382018B1 KR 20000027968 A KR20000027968 A KR 20000027968A KR 100382018 B1 KR100382018 B1 KR 100382018B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- signal
- unit
- register
- value
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 230000007704 transition Effects 0.000 claims description 42
- 238000000034 method Methods 0.000 claims description 6
- 238000005314 correlation function Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
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)
- Record Information Processing For Printing (AREA)
Abstract
고속 처리가 가능함과 동시에 전체 점유 면적을 가급적 작게 하는 것을 가능하게 한다.
명령을 복호화하는 디코더(7)와, 데이터가 저장되고, 복호화된 명령에 포함되는 어드레스에 저장된 데이터를 출력하는 레지스터부(8)와, 데이터가 기억되는 제1 메모리(12)와, 복호화된 명령에 기초하여 레지스터부로부터 출력되는 데이터를 이용하여 연산하고, 연산 결과를 레지스터부 또는 제1 메모리에 저장하는 연산부(10)를 갖는 메인 프로세서부(1)와; 제어신호의 값이 저장되는 제어 레지스터(21)와, 어드레스 생성부(23, 24, 27)와, 어드레스 생성부에 대응하여 설치된 메모리부(25, 26, 28)와, 제어 레지스터에 저장된 제어 신호값에 기초하여 지령 신호를 어드레스 생성부로 보내서 어드레스를 생성시키고, 이 생성된 어드레스에 저장되어 있는 데이터를 메모리부로부터 출력시켜, 이 출력된 데이터를 메인 프로세서부의 연산부로 보내서 연산시키는 메인 컨트롤러(22)를 갖는 코프로세서부(20)를 구비하고 있다.
Description
본 발명은 RISC(Reduced Instruction Set Computer)부와 코프로세서부를 갖춘 프로세서 장치에 관한 것이다.
일반적으로, RISC에서 음성 처리의 콘볼루션과 같은 단순한 루프 처리를 행하게 하면, 메모리의 어드레스 생성이나 루프의 판정도 RISC의 ALU(Arithmetic and Logic Unit)를 이용하여 행해야 되기 때문에, 상기 처리에 시간이 걸렸었다. 이점을 해소하기 위해, 종래 RISC부와 DSP(Digital Signal Processor)부를 합한 구성의 프로세서 장치가 고려되어 있다.
이러한 종래의 프로세서 장치의 구성을 도 7에 도시한다. 종래의 프로세서 장치는 RISC부(1)와 DSP부(60)를 구비하고 있다.
RISC부(1)는 명령 메모리(3)와, 명령 독입부(4)와, 레지스터(5)와, 명령 디코드부(6)와, 레지스터(9)와, ALU(10)와, 레지스터(11)와, 메모리(12)를 구비하고 있다. 명령 디코드부(6)는 디코더(7)와 범용 레지스터(8)를 갖고 있다.
또한, DSP부(60)는 레지스터(61)와, 명령 디코드부(62)와, 메모리(651, 652, 653)와, ALU(67)를 갖고 있다. 명령 디코드부(62)는 디코더(63)와 어드레스 생성기(641, 642, 643)를 갖고 있다. 또, 메모리(65i)(i=1, …3)는 어드레스 생성기(64i)에 대응하여 설치되어 있다.
RISC부(1)의 명령 메모리(3)에 저장되어 있는 명령은 명령 독입부(4)에 의해 독입된다. 그리고, 이 독입된 명령이 RISC부(1)에서 처리하는 것이면 레지스터(5)에 보내고, DSP부(60)에서 처리하는 것이면 레지스터(61)에 보낸다.
레지스터(5)에 보내진 명령은 디코더(7)에 의해 복호화된다. 이 복호화된 명령의 어드레스 부분이 범용 레지스터(8)에 보내진다. 그러면, 상기 어드레스 부분 내의 어드레스에 대응하는 범용 레지스터(8)의 어드레스에 기억되어 있는 데이터가 출력되어 레지스터(9)에 보내진다.
또한, 상기 복호화된 명령의 어드레스 부분 이외의 부분, 예를 들면 오퍼레이션 코드가 디코더(7)로부터 ALU(10)에 보내지고, 상기 레지스터(9)에 보내진 데이터를 이용하여 산술 연산 또는 논리 연산이 행해진다. 이 연산 결과는 레지스터(11)를 통해 메모리(2)에 기억된 후, 범용 레지스터(8) 내에 송출되거나, 또는 직접 범용 레지스터(8)에 송출되어, 범용 레지스터(8)의 소정의 어드레스에 저장된다.
한편, DSP부(60)의 레지스터(61)에 보내진 명령은 디코더(63)에 의해 복호화된다. 그리고, 이 복호화된 명령에 기초하여 3개의 어드레스 생성기(641, 642, 643) 중의 2개의 어드레스 생성기로부터 어드레스가 각각 생성되어 대응하는 메모리로부터 데이터가 출력된다. 이들 데이터를 이용하여, 상기 디코더(63)로부터 보내 오는 복호화된 명령에 따른 연산이 ALU(67)에 의해 행해진다. 그리고, 이 연산 결과는 상기 메모리(651, 652, 653) 중의 적어도 하나의 메모리에 저장된다.
이와 같이 종래의 프로세서 장치에 있어서는, DSP부(60)는 메모리의 어드레스 생성을 어드레스 생성기(641, 642, 643)를 사용하여 행하고 있으므로 ALU에서 연산할 필요가 없고, DSP부가 없이 RISC부만 있는 경우에 비해 고속 처리가 가능해진다.
그러나, 종래의 프로세서 장치는 RISC부(1)와, DSP부(60)의 양쪽에 각각 ALU를 갖고 있는 구성으로 되므로 전체의 면적이 커진다고 하는 문제가 있다. 또한, RISC부(1)와 DSP부(60)의 사이에서 프로그램 제어나, 메모리에 기억되어 있는 데이터의 교환이 복잡해진다고 하는 문제가 있다.
본 발명은 상기 사정을 고려하여 이루어진 것으로, 고속 처리가 가능함과 동시에 전체의 점유 면적이 가급적 작은 프로세서 장치를 제공하는 것을 목적으로 한다.
본 발명에 따른 프로세서 장치는 입력된 명령을 복호화하는 디코더와, 데이터가 저장되고, 상기 복호화된 명령에 포함되는 어드레스에 저장된 데이터를 출력하는 레지스터부와, 데이터가 기억되는 제1 메모리와, 상기 복호화된 명령에 기초하여 상기 레지스터부로부터 출력되는 데이터를 이용하여 연산하고, 연산 결과를 상기 레지스터부 또는 상기 제1 메모리에 저장하는 연산부를 갖는 메인 프로세서부와; 상기 복호화된 명령에 따라 상기 레지스터로부터 보내 오는 제어 신호의 값이 저장되는 제어 레지스터와, 어드레스를 생성하는 어드레스 생성부와, 상기 어드레스 생성부에 대응하여 설치된 메모리부와, 상기 제어 레지스터에 저장된 제어 신호값에 기초하여 지령 신호를 상기 어드레스 생성부로 보내서 어드레스를 생성시키고, 이 생성된 어드레스에 저장되어 있는 데이터를 상기 메모리부로부터 출력시켜, 이 출력된 데이터를 상기 메인 프로세서부의 연산부로 보내서 연산시키는 메인 컨트롤러를 갖는 코프로세서부를 구비한 것을 특징으로 한다.
또, 상기 메인 프로세서부의 상기 연산부는 복수의 연산 요소를 갖고 있고, 상기 복수의 연산 요소는 상기 코프로세서부의 메인 컨트롤러에 의해 직렬 접속되도록 구성되어 있는 것이 바람직하다.
또, 상기 메인 프로세서부는 RISC부이고, 상기 메인 컨트롤러는 상기 디코더로부터 보내오는 개시 신호에 기초하여 동작을 개시하도록 구성해도 좋다.
또, 상기 어드레스 생성부는 제1 및 제2 어드레스 생성기를 갖고 있고, 상기 메모리부는 상기 제1 및 제2 어드레스 생성기에 각각 대응한 제2 및 제3 메모리를 갖고 있도록 구성해도 좋다.
또, 상기 지령 신호는 SET 신호, 증분 신호 및 가감산 신호를 포함하고, 상기 제1 및 제2 어드레스 생성기는 현재의 어드레스를 보유하는 어드레스 레지스터와, 상기 SET 신호 및 가감산 신호의 값에 따라, 상기 어드레스 레지스터에 보유되어 있는 어드레스와 증분 신호의 값으로부터 다음 어드레스 신호를 연산하는 어드레스 연산기를 각각 구비하도록 구성해도 좋다.
또, 상기 어드레스 연산기는 상기 SET 신호의 값이 「1」일 때에는 다음 어드레스 신호로서 상기 증분 신호를 출력하고, 상기 SET 신호의 값이 「0」일 때에는 상기 가감산 신호의 값에 따라 상기 현재의 어드레스와 증분 신호의 합 또는 차를 다음 어드레스 신호로 하도록 구성해도 좋다.
또, 상기 메인 컨트롤러는 레지스터와, 타이밍 신호에 기초하여 상기 레지스터에 보유되어 있는 값에 1을 더하여 상기 레지스터에 보유시키는 카운터와, 상기 제어 레지스터에 보유되어 있는, 입력 데이터의 길이를 나타내는 제어 신호 DATA LENGTH와, 상기 레지스터에 보유되어 있는 값을 상기 타이밍 신호에 기초하여 비교하는 비교기와, 상기 비교기의 비교 결과 및 상기 제2 어드레스 생성기로부터 출력되는 다음 어드레스 신호의 값에 기초하여, 상태를 천이하고, 상기 제1 및 제2 어드레스 생성기에 상기 SET 신호, 증분 신호 및 가감 신호를 출력함과 동시에 상기 메인 프로세서부의 연산부에 제어 신호를 보내는 상태 천이 회로를 구비하도록 구성해도 좋다.
또, 상기 상태 천이 회로는 리셋 상태와, 개시 신호를 수신하여 상기 제1 및 제2 어드레스 생성기의 초기 어드레스를 설정하는 개시 상태와, 상기 초기 어드레스의 설정 후에 상기 연산부에 제어 신호를 보냄과 동시에 순차 상기 제1 및 제2 어드레스 생성기의 어드레스를 설정하여 상기 연산부에 계산을 행하게 하고, 이 계산을 상기 제2 어드레스 생성기로부터의 어드레스 신호가 소정값과 동일해질 때까지 반복하는 계산 상태와, 상기 계산 상태가 종료된 후에 상기 비교기의 비교 결과에 기초하여 계산이 완료되었는 지의 여부를 검사하여, 완료되지 않은 경우에는 상기 개시 상태로 돌아가고, 완료되어 있는 경우에는 상기 리셋 상태로 돌아가는 완료 검사 상태를 갖고 있도록 구성해도 좋다.
또, 상기 연산부는 승산 및 가산 연산기를 구비하도록 구성해도 좋다.
또, 상기 코프로세서부는 상기 메인 컨트롤러부터의 지령 신호에 기초하여 어드레스를 생성하는 제3 어드레스 생성기와, 이 제3 어드레스 생성기로부터 출력되는 어드레스에 상기 연산부로부터 출력되는 연산 결과를 저장하는 제4 메모리를 더 구비하도록 구성해도 좋다.
또, 상기 메인 프로세서부의 메모리와 상기 코프로세서부의 메모리부의 데이터 교환을 행하는 DMA 제어 장치를 더 구비하도록 구성해도 좋다.
또한, 본 발명에 따른 프로세서 장치는 입력된 명령을 복호화하는 디코더와, 상기 복호화된 명령에 기초하여, 입력된 데이터를 이용하여 연산하는 연산부를 갖는 메인 프로세서부와,
상기 복호화된 명령에 따라 보내 오는 제어 신호의 값에 기초하여 데이터를 상기 메인 프로세서부의 연산부로 보내서 연산시키는 메인 컨트롤러를 갖는 코프로세서부를 구비한 것을 특징으로 한다.
도 1은 본 발명에 따른 프로세서 장치의 제1 실시형태의 구성을 도시한 블록도.
도 2는 본 발명에 따른 프로세서 장치의 제2 실시형태의 구성을 도시한 블록도.
도 3은 본 발명의 프로세서 장치에 관련된 어드레스 생성기의 구성을 도시한 블록도.
도 4는 본 발명의 프로세서 장치에 관련된 메인 컨트롤러의 구성을 도시한 블록도.
도 5는 콘볼루션(convolution) 연산의 데이터 저장을 도시한 모식도.
도 6은 상관 함수를 구하는 연산의 데이터 저장을 도시한 모식도.
도 7은 종래의 프로세서 장치의 구성을 도시한 블록도.
도 8은 종래의 프로세서 장치의 ALU 구성을 도시한 블록도.
도 9는 본 발명에 따른 프로세서 장치의 다른 실시형태의 구성을 도시한 블록도.
<도면의 주요 부분에 대한 부호의 설명>
1 : RISC부
3 : 명령 메모리
4 : 명령 독입부
5, 9, 11, 52 : 레지스터
6 : 명령 디코드부
7 : 디코더
8 : 범용 레지스터
10 : ALU
10A : 연산부
10a : MAC
10b : 시프트 회로
10c : 라운딩 회로
12, 25, 26, 28 : 메모리
20 : 코프로세서부
21 : 제어 레지스터
22 : 메인 컨트롤러
23, 24, 27 : 어드레스 생성기
30 : DMA 제어 장치
41 : 어드레스 레지스터
42 : 셀렉터
43 : 가감산기
51 : 카운터
53 : 비교기
54 : 상태 천이 회로
60 : DSP부
본 발명에 따른 프로세서 장치의 제1 실시형태의 구성을 도 1에 도시한다.이 실시형태의 프로세서 장치는 RISC부(1)와, 코프로세서부(20)와, DMA(Direct Memory Access) 제어 회로(30)를 구비하고 있다.
RISC부(1)는 명령 메모리(3)와, 명령 독입부(4)와, 레지스터(5)와, 명령 디코드부(6)와, 레지스터(9)와, ALU(10)와, 레지스터(11)와, 메모리(12)를 구비하고 있다. 명령 디코드부(6)는 디코더(7)와 범용 레지스터(8)를 구비하고 있다.
또한, 코프로세서부(20)는 제어 레지스터(21)와, 메인 컨트롤러(22)와, 어드레스 생성기(23, 24)와, 메모리(25, 26)와, 어드레스 생성기(27)와, 메모리(28)를 구비하고 있다.
RISC부(1)의 명령 메모리(3)에 저장되어 있는 명령은 명령 독입부(4)에 의해 독입되고, 레지스터(5)를 통해 디코더(7)에 보내진다. 디코더(7)에 보내진 명령은 디코더(7)에 의해 복호화된다. 그리고, 이 복호화된 명령이 RISC부(1)에서 처리하는 것이면, 이 복호화된 명령의 어드레스 부분이 범용 레지스터(8)에 보내진다.
상기 복호화된 명령의 어드레스 부분이 범용 레지스터(8)에 보내지면, 상기 어드레스 부분 내의 어드레스에 대응하는 범용 레지스터(8)의 어드레스에 기억되어 있는 데이터가 출력되어 레지스터(9)에 보내진다.
또한, 상기 복호화된 명령의 어드레스 부분 이외의 부분, 예를 들면 오퍼레이션 코드가 디코더(7)로부터 ALU(10)에 보내지고, 상기 레지스터(9)에 보내진 데이터를 이용하여 산술 연산 또는 논리 연산이 행해진다. 이 연산 결과는 레지스터(11)를 통해 메모리(12)에 기억된 후, 범용 레지스터(8)에 송출되거나, 또는 직접 범용 레지스터(8)에 송출되어, 범용 레지스터(8)의 소정의 어드레스에 저장된다.
한편, 상기 복호화된 명령이 코프로세서부(20)에서 처리하는 것이면, 디코더(7)로부터 코프로세서부(20)의 제어 레지스터(21)에 세트 신호가 보내지고, 범용 레지스터(8)로부터 제어 레지스터(21)에 각종 제어값이 보내져서 세트된다. 각종 제어값이 제어 레지스터(21)에 세트된 후, 디코더(7)로부터 메인 컨트롤러(22)에 개시 신호가 보내진다. 그러면, 메인 컨트롤러(22)는 제어 레지스터(21)에 세트된 제어값에 기초하여 어드레스 생성기(23, 24, 27)에 지령 신호를 보내서 어드레스 생성기(23, 24, 27)로부터 어드레스를 발생시킨다. 그러면, 어드레스 생성기(23, 24)로부터 각각 어드레스가 생성되고, 이들 어드레스에 기억되어 있는 데이터가 메모리(25, 26)로부터 각각 송출되어 ALU(10)에 보내진다. 또한, 동시에 메인 컨트롤러(22)로부터 ALU(10)에도 지령 신호를 보내고, 상기 메모리(25, 26)로부터 독출된 데이터에 기초하여 연산을 행하게 한다. 그리고, 이 연산 결과는 메인 컨트롤러(22)로부터의 지령 신호에 기초하여 어드레스 생성기(27)로부터 생성된, 메모리(28)의 어드레스에 저장된다.
이들 메모리(25, 26, 28)와 RISC부(1)의 메모리(12)는 DMA 제어 장치(30)에 의해 데이터의 교환이 행해진다.
본 실시형태에 있어서는 코프로세서부(20) 내의 메모리 어드레스는 어드레스 생성기에 의해 생성되어 있기 때문에, 단순한 반복 명령을 코프로세서부(20)에서 처리하게 하면, 고속 처리가 가능해짐과 동시에, 연산은 RISC부(1)의 ALU(10)에서 행하고 있기 때문에, 연산 정밀도는 RISC부(1)에서 행하는 정밀도의 것이 얻어진다. 또한, ALU(10)가 RISC부(1)와 코프로세서부(20)에서 공유되어 있기 때문에, 전체 점유 면적을 작게 할 수 있다.
또한, ALU(10)를 사용하지 않는 명령의 코프로세서부(20)에 있어서의 처리는 RISC부(1)에서의 다른 처리와 병렬 처리가 가능해진다.
또한, RISC부(1)의 메모리(12)와 코프로세서(20)의 메모리(25, 26, 28) 사이의 데이터 전송은 DMA 제어 장치를 통해 행해지므로, 종래의 프로세서 장치에 비해 간단해진다.
다음에, 본 발명에 따른 프로세서 장치의 제2 실시형태의 구성을 도 2에 도시한다. 제2 실시형태의 프로세서 장치는 제1 실시형태의 프로세서 장치의 RISC부(1)의 ALU(10)를 연산부(10A)로 치환함과 동시에 코프로세서부(20)를 코프로세서부(20A)로 치환한 구성으로 되어 있고, 예를 들면 음성 처리용 콘볼루션 상관 처리에 이용된다. 또, 도 2에 있어서는, RISC부(1)는 연산부(10A)밖에 도시하지 않고, 다른 요소는 생략되어 있다.
연산부(10A)는 승산 및 가산 연산부(이하, MAC(Multiple and Accumulate)라고 함)(10a)와, 시프트 회로(10b)와, 라운딩(rounding) 회로(10)를 갖고 있다.
코프로세서부(20A)는 제1 실시형태의 코프로세서부(20)에 레지스터(31, 32, 33, 34, 35, 36, 37)를 부가한 구성으로 되어 있다. 레지스터(31, 32)는 메인 컨트롤러(22)와, 어드레스 생성기(27)의 사이에 설치되고, 레지스터(33, 34)는 메인 컨트롤러(22)와 시프트 회로(10b)의 사이에 설치되며, 레지스터(35)는 메모리(25)와 MAC(10a) 사이에 설치되고, 레지스터(36)는 메모리(26)와 MAC(10a) 사이에 설치되며, 레지스터(37)는 MAC(10a)와 시프트 회로(10b) 사이에 설치되어 있다.
또한, 제어 레지스터(21)는 5개의 입력 제어 신호 ROUND ENABLE, RSHIFT ENABLE, SHIFT LENGTH, DATA LENGTH, CONTR과, 1개의 출력 제어 신호 BUSY를 기억한다. 제어 신호 CONTR은 상관 함수 연산 처리와 콘볼루션 연산 처리의 선택에 이용되고, 제어 신호 DATA LENGTH는 입력 데이터의 길이를 설정하는 데에 이용되며, 제어 신호 SHIFT LENGTH는 승산 및 가산 후의 시프트 길이를 설정하는 데에 이용된다. 또한, 제어 신호 RSHIFT ENABLE은 우측으로 시프트하는 데에 이용되고, 제어 신호 ROUND ENABLE은 연산 처리의 최후에 라운딩 처리를 행할 것 인지의 여부를 설정하는 데에 이용된다. 또한, 제어 신호 BUSY는 코프로세서부(20A)가 실행 중인 지의 여부를 나타내는 데에 이용된다. 또, 상기 5개의 입력 제어 신호는 범용 레지스터(8)로부터, 세트 신호는 디코더(7)로부터 제어 레지스터(21)에 보내 온다.
본 실시형태의 프로세서 장치에 이용되는 어드레스 생성기(23, 24, 27) 각각은 도 3에 도시한 구성을 갖고 있다. 즉, 각 어드레스 생성기는 어드레스 레지스터(41)와, 셀렉터(42)와, 가감산기(43)를 갖추고 있고, 메인 컨트롤러(22)로부터 보내 오는 증분 신호, SET 신호 및 가감산 신호에 기초하여 다음 어드레스 신호를 생성한다. 어드레스 레지스터(41)에는 현재의 어드레스가 저장되어 있다.
다음에, 어드레스 생성기의 동작을 설명한다. SET 신호의 값이 「1」인 경우에는 셀렉터(42)에 의해 증분 신호가 선택되어 가감산기(43)에 보내지고, 이 증분 신호가 그대로 가감산기(43)로부터 출력되어 다음 어드레스 신호로 된다. 한편, SET 신호의 값이 「0」인 경우에는 셀렉터(42)에 의해 어드레스 레지스터(41)에 저장되어 있는 현재 어드레스와, 증분 신호가 선택되어 가감산기(43)에 보내진다. 이때 가감산 신호의 값이 「0」인 경우에는 현재 어드레스와 증분 신호의 값이 가산되어, 이 가산 결과가 가감산기(43)로부터 다음 어드레스 신호로서 출력된다. 한편, 가감산 신호의 값이 「1」인 경우에는 현재 어드레스와 증분 신호의 차가 가감산기(43)에서 연산되어, 그 연산 결과가 가감산기(43)로부터 다음 어드레스 신호로서 출력된다. 어드레스 레지스터(41)는 상기 다음 어드레스 신호를 받았을 때 어드레스를 갱신한다.
또한, 본 실시형태의 프로세서 장치에 이용되는 메인 컨트롤러(22)는 도 4에 도시한 구성을 갖고 있다. 즉, 메인 컨트롤러(22)는 카운터(51)와, 레지스터(52)와, 비교기(53)와, 상태 천이 회로(54)를 구비하고 있다.
다음에, 도 4에 도시한 메인 컨트롤러(22)의 동작을 설명한다. 먼저, 예를 들면 도 1에 도시한 RISC부(1)의 디코더(7)로부터 개시 신호가 상태 천이 회로(54)에 보내wu 오면, 제어 레지스터(21)에 저장되어 있는 제어 신호값이 입력되고, 상태 천이 회로(54)가 리셋 상태에서 개시 상태로 이행한다. 이때 상태 천이 회로(54)로부터 값이 「1」인 BUSY 신호가 출력된다. 그러면, 메모리(25, 26)의 초기 어드레스를 설정하기 위해, 상태 천이 회로(54)로부터 값이 「1」인 SET 신호와, 각 메모리(25, 26)의 초기 어드레스로 되는 증분 신호가 어드레스 생성기(23, 24)에 보내져서, 어드레스 생성기(23, 24)로부터 각각 초기 어드레스로 되는 다음 어드레스 신호가 출력된다. 또, 메모리(28)의 초기 어드레스를 설정하기 위한 SET 신호 및 증분 신호는 레지스터(31, 32)를 통해 어드레스 생성기(27)에 보내진다.이것은 원하는 타이밍에서 어드레스를 생성하기 위해서이다.
이와 같이 하여 어드레스 생성기(23, 24)에 초기 어드레스가 설정되면, 상태 천이 회로(54)는 개시 상태에서 계산 상태로 이행한다. 그리고, 상태 천이 회로(54)로부터 연산부(10A)로 제어 신호가 보내진다. 이때, 어드레스 생성기(23, 24)에 설정된 메모리(25, 26)의 각 초기 어드레스에 저장되어 있는 데이터가 레지스터(35, 36)에 각각 보내지고 있다. 연산부(10A)에 제어 신호가 보내지면, MAC(10a)는 레지스터(35, 36)에 저장되어 있는 데이터의 승산(승산 및 가산)을 연산한다.
한편, 상태 천이 회로(54)는 소정 값으로 설정된 값이 저장되어 있는 레지스터(도시하지 않음)를 내부에 갖고 있고, 어드레스 생성기(24)로부터 보내져 오는 다음 어드레스 신호가 상기 소정값과 동일하지 않은 경우에는 어드레스 생성기(23, 24)에 값이 「0」인 SET 신호를 보냄과 동시에, 각각에 가감산 신호 및 증분 신호를 보내서 어드레스를 증감시킨다. 그러면, 증감된 어드레스에 저장되어 있는 데이터가 메모리(25, 26)로부터 레지스터(35, 36)에 각각 보내지고, MAC(10a)에 의해 상기 데이터의 승산이 연산된다. 그리고, 이 승산과 앞에 구한 승산 및 가산과의 합이 MAC(10a)에서 연산된다. 이와 같은 승산 및 가산 연산은 상태 천이 회로(54)에 어드레스 생성기(24)로부터 보내 오는 다음 어드레스 신호가 상기 소정 값과 동일해 질 때까지 반복된다.
어드레스 생성기(24)로부터 보내 오는 다음 어드레스 신호가 상기 소정 값 이하로 되면, 상태 천이 회로(54)는 계산 상태에서 완료 검사 상태로 이행하고, 비교기(53)에 타이밍 신호를 보냄과 동시에 카운터(51)에도 타이밍 신호를 보낸다. 그러면, 비교기(53)는 레지스터(52)에 저장되어 있는 값과, 제어 레지스터(21)로부터 보내온 값 DATA LENGTH를 비교하여, 비교 결과를 상태 천이 회로(54)에 송출한다. 또한, 카운터(51)에 타이밍 신호가 보내져 오면, 카운터는 레지스터(52)에 저장되어 있는 값에 1을 더한 값을 출력하여 레지스터(52)에 저장한다.
레지스터(52)에 저장되어 있는 값이 값 DATA LENGTH 이하인 경우에는, 상태 천이 회로(54)는 개시 상태로 돌아가서 상술한 것이 반복된다. 이때, 상태 천이 회로(54)는 MAC(10a)에 제어 신호를 보내서, 연산한 승산 및 가산을 레지스터(37), 시프트 회로(10b), 라운딩 회로(10c)를 통해 메모리(28)에 송출하도록 지령함과 동시에, 상기 승산 및 가산을 메모리(28)에 저장하기 위한 어드레스 설정을 행하여, 상기 승산 및 가산을 메모리(28)에 저장한다. 또, 어드레스 생성기(24)에 초기 설정되는 어드레스는 일반적으로 이전과는 다르게 되어 있다. 또한, 레지스터(52)에 저장되어 있는 값이 값 DATA LENGTH보다도 클 때에는, 상태 천이 회로(54)는 리셋 상태로 되고, 레지스터(52)의 값이 0으로 리셋됨과 동시에, 값이 「0」인 BUSY 신호를 출력한다.
본 실시형태의 프로세서 장치의 동작을 콘볼루션을 연산하는 경우를 예로 들어 설명한다.
N+1개의 데이터 a0, …aN과, N+1개의 데이터 b0, …bN의 콘볼루션 Yj(j=0, …N)는 다음 식으로 표현된다.
이들 콘볼루션 Yj(j=0, …N)를 연산하는 경우, 먼저 콘볼루션을 연산하는 제어 신호 CONTR 및 데이터 길이를 설정하는 제어 신호 DATA LENGTH 등이 RISC부(1)의 디코더(7)로부터 제어 레지스터(21)에 보내져 설정된다. 예를 들면, 명령 CONTR의 값이 「0」일 때에는 콘볼루션을 연산하고, 「1」일 때에는 상관 함수를 연산하는 것으로 한다. 또한, DATA LENGTH의 값은 「N」으로 설정된다.
이 상태에서 개시 신호가 디코더(7)로부터 보내지면, 메인 컨트롤러(22)의 상태 천이 회로(54)로부터 값이 「1」인 BUSY 신호가 출력됨과 동시에, 메모리(25, 26)의 초기 어드레스를 설정하기 위해, 값이 「1」인 SET 신호와, 값이 「0」인 증분 신호가 어드레스 생성 회로(23, 24)에 보내진다. 이에 따라, 어드레스 생성 회로(23, 24)로부터 값이 「0」인 어드레스 신호가 출력되고, 대응하는 메모리(25, 26)로부터 어드레스가 「0」인 장소에 저장되어 있는 데이터 a0, b0이 레지스터(35, 36)에 각각 보내진다.
어드레스 생성 회로(24)로부터 다음 어드레스 신호를 수취하기 전에 상태 천이 회로(54)로부터 연산부(10A)의 MAC(10a)에 제어 신호가 보내지고, 레지스터(35, 36)에 저장되어 있는 데이터 a0, b0의 승산 a0·b0(승산 및 가산)이 MAC(10a)에 의해 연산된다.
한편, 상태 천이 회로(54)에는 값이 「0」인 소정 값이 도시하지 않은 레지스터에 저장되어 있고, 이 소정 값과 어드레스 생성기(24)로부터 보내 오는 다음 어드레스 신호가 비교된다. 이때 다음 어드레스 신호 값과 상기 소정 값이 일치하고 있으므로, 상태 천이 회로(54)로부터 MAC(10a)에 레지스터(33)를 통해 제어 신호가 보내지고, MAC(10a)가 연산한 승산 및 가산 Y0(=a0·b0)가 레지스터(37), 시프트 회로(10b), 라운딩 회로(10c)를 통해 메모리(28)에 보내진다. 이때, 상태 천이 회로(54)에 의해 어드레스 생성 회로(27)에 초기 설정된 값이 「0」인 다음 어드레스 신호가 메모리(28)에 출력된다. 이에 따라, 메모리(28)의 어드레스 「0」인 장소에 상기 승산 및 가산 Y0가 저장된다(도 5 참조).
또한, 어드레스 생성기(24)로부터의 다음 어드레스 신호의 값과 상기 소정 값이 동일하기 때문에, 상태 천이 회로(54)는 계산 상태에서 완료 검사 상태로 이행한다. 이때 도 4에 도시한 메인 컨트롤러(22)의 레지스터(52)에 저장되어 있는 값이 「0」이기 때문에, 신호 DATA LENGTH의 값 「N」보다도 작다고 비교기(53)에 의해 판정되어, 상태 천이 회로(54)가 개시 상태로 이행한다. 그러면, 메인 컨트롤러(22)의 카운터가 레지스터(52)에 저장되어 있는 값에 1을 더하는 연산을 행하여 연산 결과가 레지스터(52)에 저장된다.
또한, 상태 천이 회로(54)가 개시 상태로 이행한 것에 의해, 상태 천이 회로(54)에 의해 어드레스 생성기(23, 24)의 초기 어드레스가 각각 「0」, 「1」로 설정된다. 그러면, 메모리(25)의 어드레스가 「0」으로 저장되어 있는 데이터 a0가레지스터(35)에 보내짐과 동시에, 메모리(26)의 어드레스가 「1」로 저장되어 있는 데이터 b1이 레지스터(36)에 보내진다. 이어서, 상태 천이 회로(54)가 계산 상태로 이행하여, 상태 천이 회로(54)로부터 MAC(10a)로 제어 신호가 보내져서 승산 a0·b1이 연산된다. 이때, 어드레스 생성 회로(24)로부터 보내 오는 다음 어드레스 신호의 값은 「1」이기 때문에, 어드레스 생성기(23)로부터 출력되는 다음 어드레스 신호의 값이 「1」만큼 증가함과 동시에 어드레스 생성기(24)로부터 출력되는 다음 어드레스 신호의 값이 「1」만큼 감소하는, SET 신호, 증분 신호, 가감산 신호가 상태 천이 회로(54)로부터 출력된다. 그러면, 메모리(25)의 어드레스가 「1」인 장소에 저장되어 있는 데이터 a1이 레지스터(35)에 저장됨과 동시에, 메모리(26)의 어드레스가 「0」인 장소에 저장되어 있는 데이터 b0이 레지스터(36)에 저장된다.
이어서, 상태 천이 회로(54)로부터 MAC(10a)에 제어 신호가 보내지고, MAC(10a)에서 승산 a1·b0이 연산됨과 동시에 이 승산 a1·b0과 앞에 연산한 승산 a0·b1과의 가산(=a0·b1+a1·b0)이 연산된다.
또한, 상태 천이 회로(54)는 어드레스 생성기(24)로부터 보내 오는 다음 어드레스 신호의 값이 소정 값「0」과 같아졌으므로 상태 천이 회로(54)로부터 MAC(10a)에 제어 신호가 보내지고, 연산된 승산 및 가산 Y1(=a0·b1+a1·b0)이 레지스터(37), 시프트 회로(10b), 라운딩 회로(10c)를 통해 메모리(28)에 보내진다. 이때, 상태 천이 회로(54)가 레지스터(33, 34)를 통해 어드레스 생성 회로(27)를제어함으로써, 어드레스 생성 회로(27)로부터 값이 「1」인 다음 어드레스 신호가 출력되고, 상기 승산 및 가산 Y1은 메모리(28)의 어드레스 「1」인 장소에 저장된다(도 5 참조).
또한, 어드레스 생성기(24)로부터의 다음 어드레스 신호의 값과 상기 소정 값이 같기 때문에, 상태 천이 회로(54)는 계산 상태에서 완료 검사 상태로 이행한다. 이때, 도 4에 도시한 메인 컨트롤러(22)의 레지스터(52)에 저장되어 있는 값이 「1」이기 때문에 이 값이 신호 DATA LENGTH의 값「N」보다도 작다고 비교기(53)에 의해 판정된다. 이에 따라 상태 천이 회로(54)는 개시 상태로 이행하여, 상술한 바와 같이 순차, 콘볼루션 Y2, …YN이 구해지고, 각각 메모리(28)의 어드레스 「2」, …「N」인 장소에 격납된다. 또, 콘볼루션 Yj(j=0, …N)을 연산하는 경우, 어드레스 생성기(23, 24)에 초기 설정되는 어드레스는 각각 「0」, 「j」이다.
또, 메모리(25)에는 데이터 a0, …aN이, 메모리(26)에는 데이터 b0, …bN이 DMA 제어 장치(30)에 의해 상기 콘볼루션 연산을 행하기 전에 미리 저장해 둔다.
이상 설명한 바와 같이 하여 콘볼루션 Yj(j=0, …N)가 구해진다.
다음에 상관 함수를 구하는 경우에도 동일하게 가능하고, 이하 이것을 간단하게 설명한다. 상관 함수 Zj(j=0, …N)는 다음 식으로 표현된다.
이들 상관 함수 Zj(j=0, …N)를 연산하는 경우, 값이 「1」인 신호 CONTR 및 값이 N인 신호 DATA LENGTH가 RISC부(1)의 디코더(7)로부터 제어 레지스터(21)로 보내져서 설정된다.
이 상태에서 개시 신호가 디코더(7)로부터 보내지고, 상관 함수 Zj(j=0, …N)를 연산시키도록 메인 컨트롤러(22)가 동작한다. 이 동작은 콘볼루션을 연산시키는 경우와 기본적으로 동일한 동작을 하지만, 이하의 점만이 다르다.
(a) 상태 천이 회로(54) 내의 도시하지 않은 레지스터에 저장되는 소정 값이 「N」이다.
(b) 상관 함수 Zj를 구할 때에 어드레스 생성기(23, 24, 27)에 초기 설정되는 어드레스는 각각 「0」,「j」,「j」이고, 어느 어드레스 생성기나 어드레스가 「1」만큼 증가하도록 상태 천이 회로(54)에 의해 구동 제어된다.
이와 같이 하여 구해진 상관 함수 Zj(j=0, …N)는 메모리(28)의 어드레스가 「j」인 경우에 저장된다(도 6 참조).
콘볼루션 연산과 상관 함수를 구하는 연산을 포함하고 있는, G723. 1(ITU-T(International Telecommunication Union-Telecommunication standard sector(국제 전기통신 연합-전기통신 표준화부문))의 음성 부호화 알고리즘)의 고 레이트 인코드의 처리를 본 실시형태의 프로세서 장치를 이용하여 처리한 경우와, RISC만을 이용하여 처리한 경우의 비교를 이하의 표에 나타낸다.
관수명 | 하드웨어 명령 | 호출회수 | 1명령당 스텝수 | mips값 | ||
RISC만 | 본 발명 | RISC만 | 본 발명 | |||
적응 코드북 탐색 | 콘볼루션 | 14 | 26661 | 2000 | 12.32 | 0.92 |
고정 코드북 탐색 | 콘볼루션자기상관상호상관 | 6488 | 247432415525326 | 200020002000 | 52.266.386.69 | 4.220.530.53 |
계 | 77.65 | 6.20 |
(b)
RISC만 | 본 발명 | |
인코더 | 133.3mips | 61.9mips |
디코더 | 6.1mips | |
계 | 139.4mips | 68.0mips |
여기에서, 스텝 수의 합계는 1 프레임 당의 값이고, 1 프레임은 27 msec이다.
상술한 표 1로부터 알 수 있는 바와 같이 본 실시형태의 프로세서 장치를 이용하면 연산량을 68.0 mips(milion instruction per second)로 할 수 있고, RISC만을 이용하여 행한 경우의 연산량 139.4 mips에 비해 대폭 삭감할 수 있다. 또한 이때의 본 실시형태의 프로세서 장치의 면적은 RISC만의 경우에 비해 수K 게이트의 증가에 불과했다.
상기 실시형태의 프로세서 장치에 있어서는 코프로세서부가 동작하고 있을 때는, RISC부(1)는 코프로세서부가 사용하고 있는 연산기(예를 들면, 도 2에서는 MAC(10a), 시프트 회로, 라운딩 회로)를 이용할 수 없다. 그러나, 코프로세서부가사용하고 있지 않은 연산기(도시하지 않았지만, 예를 들어 가산기나 비교기)를 사용하는 명령에 관해서는 RISC부(1)는 통상대로의 동작을 하여 코프로세서부가 사용하고 있는 연산기를 사용하는 명령이 온 시점에서 RISC부(1)는 동작이 정지하고, 코프로세서부가 처리를 종료한 시점에서 RISC부(1)가 동작을 재개하도록 하면, RISC부(1)와 코프로세서부에서 병령 처리가 가능해진다.
또한, 종래의 프로세서 장치에 있어서는 RISC부(1)의 ALU(10)는 도 8에 도시한 바와 같이 입력된 2개의 입력 신호 IN1, IN2를 지령 신호에 기초하여 셀렉트 회로(102)를 통해 선택된 연산기, 예를 들면 MAC(104a), 가산기(104b), 시프트 회로(104c), 라운딩 회로(104d) 중의 1개의 연산기에 보내서, 연산 결과를 셀렉트 회로(106)를 통해 출력하고, 필요하면 상기 출력을 입력 신호 IN1, IN2 중의 하나로서 다시 입력하도록 구성되어 있다. 이것에 대해 본 실시형태에 있어서는, 도 2에 도시한 바와 같이 ALU(10A) 내의 연산기, 예를 들면 MAC(10a), 시프트 회로(10b), 라운딩 회로(10c)는 코프로세서부(20A)에 의해 직렬 접속되도록 구성되어 있다. 이 때문에, 종래의 경우에 비해 고속 처리가 가능해진다.
또한, 상기 실시형태에 있어서는, 연산기(MAC)는 메인 프로세서 측에만 설치되어 있지만, 처리해야 할 연산에 대해 RISC부에 있는 연산기만으로는 충분하지 않은 경우에는 도 9에 도시한 바와 같이 코프로세서 측에서 준비하도록 구성해도 좋다. 도 9에 도시한 코프로세서(20B)는 도 2에 도시한 코프로세서(20A)에 있어서, MAC(38) 및 가산기(39)를 설치한 구성으로 되어 있다. MAC(38)는 레지스터(35, 36)에 저장되어 있는 값에 기초하여 승산 및 가산 연산을 행하여, 연산 결과를 가산기(39)에 송출한다. 또한, 가산기(39)는 MAC(10a)의 출력과 MAC(38)의 출력을 가산하여, 가산 결과를 레지스터(37)에 송출한다.
또, 상기 실시형태에 있어서는 콘볼루션 연산 처리와, 상관 함수의 연산 처리를 예로 들어 설명했지만, 메인 컨트롤러의 기능을 변화시킴과 동시에 RISC부(1)의 연산기(10)의 기능을 변화시킴으로써, 필터 처리나 FFT(Fast Fourier Transformation) 등의 신호 처리를 행할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면 고속 처리가 가능함과 동시에, 전체의 점유 면적을 가급적 작게 할 수 있다.
Claims (13)
- 프로세서 장치에 있어서,입력된 명령을 복호화하는 디코더와, 데이터가 저장되고, 상기 복호화된 명령에 포함되는 어드레스에 저장된 데이터를 출력하는 레지스터부와, 데이터가 기억되는 제1 메모리와, 상기 복호화된 명령에 기초하여 상기 레지스터부로부터 출력되는 데이터를 이용하여 연산하고, 연산 결과를 상기 레지스터부 또는 상기 제1 메모리에 저장하는 연산부를 갖는 메인 프로세서부와,상기 복호화된 명령에 따라 상기 레지스터로부터 보내오는 제어 신호의 값이 저장되는 제어 레지스터와, 어드레스를 생성하는 어드레스 생성부와, 상기 어드레스 생성부에 대응하여 설치된 메모리부와, 상기 제어 레지스터에 저장된 제어 신호값에 기초하여 지령 신호를 상기 어드레스 생성부로 보내서 어드레스를 생성시키고, 상기 생성된 어드레스에 저장되어 있는 데이터를 상기 메모리부로부터 출력시켜, 이 출력된 데이터를 상기 메인 프로세서부의 연산부로 보내 연산시키는 메인 컨트롤러를 갖는 코프로세서부를 구비한 것을 특징으로 하는 프로세서 장치.
- 제1항에 있어서, 상기 메인 프로세서부의 상기 연산부는 복수의 연산 요소를 갖고 있고, 상기 복수의 연산 요소는 상기 코프로세서부의 메인 컨트롤러에 의해 직렬 접속되도록 구성되어 있는 것을 특징으로 하는 프로세서 장치.
- 제1항 또는 제2항에 있어서, 상기 메인 프로세서부는 RISC부이고, 상기 메인 컨트롤러는 상기 디코더로부터 보내오는 개시 신호에 기초하여 동작을 개시하는 것을 특징으로 하는 프로세서 장치.
- 제1항 또는 제2항에 있어서, 상기 어드레스 생성부는 제1 및 제2 어드레스 생성기를 갖고 있고, 상기 메모리부는 상기 제1 및 제2 어드레스 생성기에 각각 대응한 제2 및 제3 메모리를 갖고 있는 것을 특징으로 하는 프로세서 장치.
- 제4항에 있어서,상기 지령 신호는 SET 신호, 증분 신호 및 가감산 신호를 포함하고,상기 제1 및 제2 어드레스 생성기는 현재의 어드레스를 보유하는 어드레스 레지스터와, 상기 SET 신호 및 가감산 신호의 값에 따라, 상기 어드레스 레지스터에 보유되어 있는 어드레스와 증분 신호의 값으로부터 다음 어드레스 신호를 연산하는 어드레스 연산기를 각각 구비한 것을 특징으로 하는 프로세서 장치.
- 제5항에 있어서, 상기 어드레스 연산기는 상기 SET 신호의 값이 「1」일 때에는 다음 어드레스 신호로서 상기 증분 신호를 출력하고, 상기 SET 신호의 값이 「0」일 때에는 상기 가감산 신호의 값에 따라 상기 현재의 어드레스와 증분 신호의 합 또는 차를 다음 어드레스 신호로 하는 것을 특징으로 하는 프로세서 장치.
- 제5항에 있어서, 상기 메인 컨트롤러는 레지스터와, 타이밍 신호에 기초하여 상기 레지스터에 보유되어 있는 값에 1을 더하여 상기 레지스터에 보유시키는 카운터와, 상기 제어 레지스터에 보유되어 있는, 입력 데이터의 길이를 나타내는 제어 신호 DATA LENGTH와, 상기 레지스터에 보유되어 있는 값을 상기 타이밍 신호에 기초하여 비교하는 비교기와, 상기 비교기의 비교 결과 및 상기 제2 어드레스 생성기로부터 출력되는 다음 어드레스 신호의 값에 기초하여, 상태를 천이하고, 상기 제1 및 제2 어드레스 생성기에 상기 SET 신호, 증분 신호 및 가감 신호를 출력함과 동시에 상기 메인 프로세서부의 연산부에 제어 신호를 보내는 상태 천이 회로를 구비한 것을 특징으로 하는 프로세서 장치.
- 제7항에 있어서, 상기 상태 천이 회로는 리셋 상태와, 개시 신호를 수신하여 상기 제1 및 제2 어드레스 생성기의 초기 어드레스를 설정하는 개시 상태와, 상기 초기 어드레스의 설정 후에 상기 연산부 제어 신호를 보냄과 동시에 순차 상기 제1 및 제2 어드레스 생성기의 어드레스를 설정하여 상기 연산부에 계산을 행하게 하고, 이 계산을 상기 제2 어드레스 생성기로부터의 다음 어드레스 신호가 소정 값과 동일해질 때까지 반복하는 계산 상태와, 상기 계산 상태가 종료된 후에 상기 비교기의 비교 결과에 기초하여 계산이 완료되었는 지의 여부를 검사해서, 완료되지 않은 경우에는 상기 개시 상태로 돌아가고, 완료되어 있는 경우에는 상기 리셋 상태로 돌아가는 완료 검사 상태를 갖고 있는 것을 특징으로 하는 프로세서 장치.
- 제7항에 있어서, 상기 연산부는 승산 및 가산 연산기(MAC)를 구비한 것을 특징으로 하는 프로세서 장치.
- 제4항에 있어서, 상기 코프로세서부는 상기 메인 컨트롤러부터의 지령 신호에 기초하여 어드레스를 생성하는 제3 어드레스 생성기와, 상기 제3 어드레스 생성기로부터 출력되는 어드레스에 상기 연산부로부터 출력되는 연산 결과를 저장하는 제4 메모리를 더 구비한 것을 특징으로 하는 프로세서 장치.
- 제1항 또는 제2항에 있어서, 상기 메인 프로세서부의 메모리와 상기 코프로세서부의 메모리부의 데이터 교환을 행하는 DMA 제어 장치를 더 구비한 것을 특징으로 하는 프로세서 장치.
- 프로세서 장치에 있어서,입력된 명령을 복호화하는 디코더와, 상기 복호화된 명령에 기초하여, 입력된 데이터를 이용하여 연산하는 연산부를 갖는 메인 프로세서부와,상기 복호화된 명령에 따라 보내 오는 제어 신호의 값에 기초하여 데이터를 상기 메인 프로세서부의 연산부로 보내서 연산시키는 메인 컨트롤러를 갖는 코프로세서부를 구비한 것을 특징으로 하는 프로세서 장치.
- 제12항에 있어서, 상기 메인 프로세서부의 상기 연산부는 복수의 연산 요소를 갖고 있고, 상기 복수의 연산 요소는 상기 코프로세서부의 메인 컨트롤러에 의해 직렬 접속되도록 구성되어 있는 것을 특징으로 하는 프로세서 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1999-143606 | 1999-05-24 | ||
JP14360699 | 1999-05-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010014964A KR20010014964A (ko) | 2001-02-26 |
KR100382018B1 true KR100382018B1 (ko) | 2003-05-01 |
Family
ID=15342649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0027968A KR100382018B1 (ko) | 1999-05-24 | 2000-05-24 | 프로세서 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100382018B1 (ko) |
TW (1) | TW498275B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100732438B1 (ko) * | 2004-06-30 | 2007-06-27 | 후지쯔 가부시끼가이샤 | 연산 장치 및 연산 장치의 제어 방법 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010079326A (ko) * | 2001-07-06 | 2001-08-22 | 한제섭 | 리스크 코아의 집적회로 |
KR100418437B1 (ko) * | 2001-12-24 | 2004-02-14 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
US8539206B2 (en) * | 2010-09-24 | 2013-09-17 | Intel Corporation | Method and apparatus for universal logical operations utilizing value indexing |
CN111008040B (zh) * | 2019-11-27 | 2022-06-14 | 星宸科技股份有限公司 | 缓存装置及缓存方法、计算装置及计算方法 |
TWI835178B (zh) * | 2022-06-24 | 2024-03-11 | 新唐科技股份有限公司 | 連續記憶體存取加速電路、位址移位電路與位址產生方法 |
-
2000
- 2000-05-23 TW TW089109959A patent/TW498275B/zh not_active IP Right Cessation
- 2000-05-24 KR KR10-2000-0027968A patent/KR100382018B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100732438B1 (ko) * | 2004-06-30 | 2007-06-27 | 후지쯔 가부시끼가이샤 | 연산 장치 및 연산 장치의 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
TW498275B (en) | 2002-08-11 |
KR20010014964A (ko) | 2001-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920006283B1 (ko) | 디지탈신호 처리방식 | |
JP3070744B2 (ja) | ベクトル処理装置 | |
KR100382018B1 (ko) | 프로세서 장치 | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
EP0173040B1 (en) | Vector processing system | |
JPH08340263A (ja) | イン・プレイス現状態/次状態レジスタ | |
EP0260837B1 (en) | Microprocessor with selective cache memory | |
CN115129297B (zh) | 多点乘运算系统、方法、图形处理器、电子装置及设备 | |
US5142630A (en) | System for calculating branch destination address based upon address mode bit in operand before executing an instruction which changes the address mode and branching | |
US5386521A (en) | Instruction prefetching circuit with a next physical address precalculating circuit | |
EP1055999A2 (en) | Processor system with address coprocessor | |
EP1417768B1 (en) | High performance turbo and viterbi channel decoding in digital signal processors | |
EP0677928A1 (en) | Process and device for the implementation of the Viterbi algorithm using a metric memory with reduced bandwidth (longer cycle access time) | |
US20050010628A1 (en) | In-place memory management for FFT | |
US5432726A (en) | Arithmetic unit for quantization/inverse quantigation | |
EP1785862A2 (en) | Method and apparatus for pipeline processing | |
US5313600A (en) | System for controlling the number of data pieces in a queue memory | |
KR19990076528A (ko) | 비터비 알고리즘 처리를 위한 가산 비교 선택 고속화 장치 및방법 | |
KR920010993B1 (ko) | 고차 다항식 연산장치 | |
JP3193830B2 (ja) | 演算回路 | |
US4141077A (en) | Method for dividing two numbers and device for effecting same | |
JP2530916B2 (ja) | 演算回路 | |
CN115495868A (zh) | 一种自回归模型参数的确定方法、计算设备和电子设备 | |
JP3541498B2 (ja) | データ処理装置 | |
JP3693873B2 (ja) | マスクビット数演算装置、ベクトル処理装置、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20090410 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |