JP 2019-219753 (US 2019-0384574)
1. 명칭
반도체 장치 및 그 제어 방법
2. 기술 분야
【0001】본 발명은 반도체 장치 및 그 제어 방법에 관한 것으로 예를 들면 효율이 좋은 연산 처리를 실현하는데 적합한 반도체 장치 및 그 제어 방법에 관한다.
3. 요약
【과제】효율이 좋은 연산 처리를 실현할 수 있는 반도체 장치 및 그 제어 방법을 제공하는 것.
【해결 수단】일실시의 형태에 의하면 반도체 장치 1은 순차 입력되는 입력 데이터에 대해서 데이터 처리를 함과 동시에, 데이터 처리 결과를 출력 데이터로서 순차 출력하는 동적 재구성 프로세서 11과 동적 재구성 프로세서 11에서 순차 출력되는 출력 데이터와 복수의 소정 데이터의 각각과의 사이에서 병렬로 연산 처리를 하는 병렬 연산기 및 이들의 연산 처리 결과를 지지하는 지지 회로를 가지는 가속기 12와 가속기 12에 의해 지지된 복수의 연산 처리 결과를 순서대로 선택해 동적 재구성 프로세서 11을 향해서 출력하는 데이터 전송부 14를 구비한다.
4. 배경기술 및 그것의 문제점(해결해야하는 과제)
【0002】
연산 처리를 수행하는 장치에는 CPU(Central Processing Unit) 이외에도 처리성 능력이 높은 동적 재구성 프로세서(DRP(Dynamically Reconfigurable Processor), 어레이형 프로세서라고도 한다)가 있다.
동적 재구성 프로세서는 순차 주어지는 동작 명령에 따라 복수의 프로세서 엘리먼트의 각각의 연산 내용 및 복수의 프로세서 엘리먼트 간의 접속 관계를 동적으로 바꿈으로써, 회로를 동적으로 재구성할 수 있는 프로세서이다. 동적 재구성 프로세서에 관한 기술은 예를 들면 특허문헌 1에 어레이형 프로세서로서 개시되어 있다.
【0004】
【특허문헌1】 특허 제 3674515호 공보
【0005】
【비특허문헌1】 "SIMD", [online], [헤세이 30년 1월 26일 검색], 인터넷 URL:https://ja.wikipedia.org/wiki/SIMD
【비특허문헌2】 "Google의 Tensor Processing Unit(TPU)로 기계 학습이 30 배속구 이루어진 메커니즘", [online], [헤세이 30년 1월 26일 검색], 인터넷 URL:https://cloudplatform-jp.googleblog.com/2017/05/an-in-depth-look-at-googles-first-tensor-processing-unit-tpu.html>
【발명이 해결하려고 하는 과제】
【0006】
그러나 특허문헌 1에 개시된 DRP에서는 예를 들면 딥 러닝 처리 등의 대규모 연산 처리를 하려면 처리성 능력이 불충분하다고 하는 문제가 있었다. 기타 과제와 신규한 특징은 본 명세서의 기술 및 첨부 도면에서 밝혀질 것이다.
실시 형태1
【도1】실시 형태 1에 대한 반도체 장치가 탑재된 반도체 시스템 구성 예를 나타내는 블록도이다.
【0013】
<실시 형태 1>도 1은 실시 형태 1에 대한 반도체 장치 1이 탑재된 반도체 시스템 SYS1의 구성 예를 나타내는 블록도이다.
본 실시의 형태에 대한 반도체 장치 1은 병렬로 연산 처리를 하는 병렬 연산기(121)를 가지는 가속기(12)와 데이터 주고받음을 순차 수행하는 동적 재구성 프로세서 등의 데이터 처리부와 가속기에 의한 복수의 연산 처리 결과를 순서대로 선택해 데이터 처리부에 대해서 순차 출력하는 데이터 전송부(14)를 구비한다.
그것에 의해, 본 실시의 형태에 걸리는 반도체 장치 1 및 그것을 구비한 반도체 시스템 SYS1는 대량이 규칙적인 데이터 처리에 대해서는 가속기를 이용하여 수행해 또한 그 이외의 데이터 처리에 대해서는 데이터 처리부를 이용하여 수행할 수 있기 때문에, 효율이 좋은 연산 처리를 실현할 수 있다. 이하, 구체적으로 설명한다.
【0014】
도 1에 나타난 바와 같이, 반도체 시스템 SYS1는 반도체 장치 1과 CPU2와 외부 메모리 3를 구비한다. 반도체 장치 1은 동적 재구성 프로세서(이하, DRP라 한다) 11과 가속기 12와 데이터 전송부 13과 데이터 전송부 14와 DMA(Direct Memory Access) 15를 구비한다.
【0015】
DRP11는 예를 들면 외부 메모리 3에서 순차 입력되는 데이터에 대해서 연산 처리를 실행하여 그 연산 처리 결과를 데이터 DQout로서 순차 출력한다. 이와 같이 DRP11는 매사이클의 데이터 주고받음이 가능한 것이다.
여기서 DRP11는 DRP11 내에 구비되어 있는 구성 정보 메모리에서 읽어내지는 동작 명령에 따라 복수의 프로세서 엘리먼트의 각각의 연산 내용 및 복수의 프로세서 엘리먼트 간의 접속 관계를 동적으로 바꿈으로써, 회로를 동적으로 재구성할 수 있는 데이터 처리부이다.
【0016】
예를 들면 DRP11는 어레이형으로 마련된 복수의 프로세서 엘리먼트와 복수의 프로세서 엘리먼트에 대응해서 마련된 복수의 스위치 엘리먼트와 상태 관리부를 구비한다. ~~~~
【0017】
또한 본 실시의 형태에서는 반도체 장치 1에 DRP11가 마련된 경우를 예에 설명하고 있나, 이에 한정되지 않는다. 순차 입력되는 데이터에 대해서 연산 처리를 실행하는 것이면 예를 들면 DRP11 대신에 CPU가 마련되어 있어도 좋다.
【0019】
가속기 12는 데이터 전송부 13에서 순차 출력되는 데이터 DPin와 n(n는 2 이상의 정수) 개의 소정 데이터 D_0~D_(n-1)의 각각과의 사이에서 병렬로 연산 처리를 한다. 또한 이하에서는 소정 데이터 D_0~D_(n-1)를 구별하지 않고 단지 소정 데이터 D라고도 할 경우가 있다.
【0020】
구체적으로는 가속기 12는 병렬 연산부 121과 로컬 메모리 122를 구비한다. 로컬 메모리 122에는 예를 들면 외부 메모리 3에서 읽어내진 복수의 소정 데이터 D_0~D_(n-1) 및 바이어스 값 b 등의 초기설정 정보가 저장되어 있다.
【0021】
예를 들면 k행×m 열의 행렬 데이터를 구성하는 k×m개의 요소가 데이터 DPin로서 가속기 12에 순차 입력될 경우, 1행분의 데이터인 m개의 데이터가 k행분 , 즉 k×m개의 데이터가 가속기 12에 순차 입력되게 된다. 그러나 가속기 12에서는 k 값에 관계없이 1행분의 입력 데이터인 m개의 데이터 각각에 대해서 소정 데이터 D_0~D_(n-1)가 연산 처리에 이용된다. 따라서 로컬 메모리 122에는 입력 데이터 1행분의 데이터인 m개의 데이터 각각에 대응하는 n개의 소정 데이터 D_0~D_(n-1), 즉 m×n개의 데이터가 저장되어 있게 된다. 병렬 연산부 121은 병렬로 연산 처리를 하는 복수의 연산기에 의해 구성되고 데이터 DPin와 복수의 소정 데이터 D_0~D_(n-1)의 각각과의 사이에서 병렬로 연산 처리를 하고, n개의 연산 처리 결과를 데이터 DPout로서 출력한다.
【0022】
데이터 전송부 14는 가속기 12에서 병렬로 출력된 n개의 데이터 DPout를 순서대로 선택하여 데이터 DQin로서 순차적으로 출력한다.
【0023】
DRP11는 데이터 전송부 14에서 순차 출력되는 데이터 DQin에 대해서 연산 처리를 실행하고 그 연산 처리 결과를 예를 들면 외부 메모리 3을 향해서 순차 출력한다.
【0024】
CPU2는 예를 들면 외부 메모리 3에서 읽어내진 제어 명령에 따라 반도체 장치 1의 동작을 제어한다. 구체적으로는 CPU2는 가속기 12 및 데이터 전송부 13,14의 각 동작을 상세하게 지시하는 데이터열(디스크립터)을 준비하여 외부 메모리 3에 저장한다.
【0025】
DMA15는 디스크립터를 외부 메모리 3에서 읽어내 내용을 해석하고 가속기 12 및 데이터 전송부 13,14에 대해서 동작의 지시를 내린다. 예를 들면 DMA15는 디스크립터에 기재된 지시에 따라 외부 메모리 3에 저장된 초기설정 정보를 로컬 메모리 122로 전송한다. 또한 DMA15는 데이터 전송부 13에 대해서 병렬 연산부 121에 의한 연산 처리의 병렬도 등에 따라 데이터 DPin를 분배시키거나 순차화시키거나 하도록 지시한다. 또한 DMA15는 데이터 전송부 14에 대해서 병렬 연산부 121에 의한 연산 처리의 병렬도 등에 따라 병렬로 출력된 n개의 데이터 DPout를 합성시키거나 순차화시키거나 하도록 지시한다.
【0026】
하나의 디크스리프타로 지정된 동작이 완료되면, DMA15는 다음 디스크립터를 외부 메모리 3에서 읽어내, 다시 가속기 12 및 데이터 전송부 13,14에 대해서 동작의 지시를 내린다. 또한 디스크립터는 한 개 앞으로 읽어내진 디스크립터에 의한 동작의 완료전에 선행해 읽어내지는 것이 바람직하다. 그것에 의해, 처리 지연을 은폐할 수 있다.
【0027】
또한 상기한 디스크립터는 CPU2에 의해 준비되는 대신에 DRP11에 있어서 동작하고 있는 프로그램에서 출력되어도 좋고 미리 생성되어 둔 것을 사용하여도 좋다.
'4차 산업과 특허' 카테고리의 다른 글
Articial Intelligence 중요특허 3(2) (0) | 2021.09.29 |
---|---|
Articial Intelligence 중요특허 2(4) - Renesas (0) | 2021.09.25 |
Articial Intelligence 중요특허 1(4) - Renesas (0) | 2021.09.15 |
Articial Intelligence 중요특허 1(3) - Renesas (0) | 2021.09.13 |
Articial Intelligence 중요특허 1(2) - Renesas (0) | 2021.09.12 |
댓글