KR20150127608A - 데이터 처리 장치 및 그 제어 방법 - Google Patents

데이터 처리 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20150127608A
KR20150127608A KR1020157024247A KR20157024247A KR20150127608A KR 20150127608 A KR20150127608 A KR 20150127608A KR 1020157024247 A KR1020157024247 A KR 1020157024247A KR 20157024247 A KR20157024247 A KR 20157024247A KR 20150127608 A KR20150127608 A KR 20150127608A
Authority
KR
South Korea
Prior art keywords
unit
channel
cycle
wiring
post
Prior art date
Application number
KR1020157024247A
Other languages
English (en)
Inventor
토모요시 사토
Original Assignee
아토나프 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아토나프 가부시키가이샤 filed Critical 아토나프 가부시키가이샤
Publication of KR20150127608A publication Critical patent/KR20150127608A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)

Abstract

데이터 처리 장치는, 복수의 엘리먼트와, 복수의 엘리먼트를 접속하는 배선군(群)을 포함하는 데이터 처리부를 가지며, 복수의 엘리먼트의 각각은, 논리 엘리먼트와, 논리 엘리먼트의 입력측을 배선군 중 어느 배선에 대해 사이클 단위로 온오프하여, 입력 데이터를 래치(latch)하는 취득 유닛과, 논리 엘리먼트의 출력측을 배선군 중 어느 배선에 대해 사이클 단위로 온오프하는 포스트 유닛을 포함하며, 데이터 처리부는, 논리 엘리먼트에 있어서 실행하는 논리, 취득 유닛 및 포스트 유닛의 기능을 사이클 단위로 제어하는 타이밍 제어 유닛을 더 가진다.

Description

데이터 처리 장치 및 그 제어 방법{DATA PROCESSING DEVICE AND CONTROL METHOD THEREFOR}
본 발명은, 처리 내용을 변경 가능한 데이터 처리 장치 및 그 제어 방법에 관한 것이다.
국제 공개 공보 WO2005/022380호에는, 어플리케이션을 실행하기 위한 회로의 적어도 일부인 오브젝트 회로를 동적으로 재구성 가능한 논리 회로의 일부에 매핑(mapping)하기 위한 오브젝트 회로 정보와, 오브젝트 회로에 접하는 인터페이스 회로를 논리 회로에 매핑하기 위한 인터페이스 회로 정보와, 인터페이스 회로에 있어서 실현되는 경계 조건을 포함하는 아키텍쳐(architecture) 코드를 사용하는 데이터 처리 장치가 기재되어 있다.
국제 공개 공보 WO2005/022380호
사이클 단위로 회로를 동적으로 재구성함으로써 하드웨어의 이용 효율은 높아지고, 알고리즘을 하드웨어에 의해 플렉시블(flexible)하게 실장(實裝)할 수 있으므로 처리 속도도 향상시키기가 용이하다. 그러나, 전자 부품을 배선으로 접속하여 목적하는 동작을 행하게 하는 전기 회로를 구성하는 것에는 변함이 없으며, 다양한 알고리즘을, 동적으로 회로를 재구성하면서 실행시키기 위해서는 많은 배선 자원이 필요하다.
본 발명의 하나의 양태는, 복수의 엘리먼트와, 복수의 엘리먼트 사이에서 데이터를 전송하는 채널을 포함하는 데이터 처리부를 가지는 장치의 제어 방법이다. 데이터 처리부의 복수의 엘리먼트의 각각은, 논리 엘리먼트와, 논리 엘리먼트의 입력측과 채널 간의 접속을 사이클 단위로 온오프하여, 데이터 취득의 필요 여부를 제어하는 취득 유닛과, 논리 엘리먼트의 출력측과 채널 간의 접속을 사이클 단위로 온오프하는 포스트 유닛(포스팅 유닛)을 포함하며, 데이터 처리부는, 취득 유닛의 온오프 및 포스트 유닛의 온오프를 제어하는 제어 유닛을 더 포함한다.
상기 제어 방법은 이하의 단계를 포함한다.
1. 제어 유닛이 취득 유닛의 온오프 또는 포스트 유닛의 온오프를 사이클 단위로 제어하여, 복수의 엘리먼트의 채널에 대한 취득 및 포스트를 사이클 단위로 변경하는 단계.
사이클 단위로 변경하는 단계는, 채널의 구성을 사이클 단위로 변경하는 단계를 포함하고 있어도 된다. 또한, 사이클 단위로 변경하는 단계는, 논리 엘리먼트의 처리 내용을 변경하는 단계를 포함하고 있어도 된다.
또한, 사이클 단위로 변경하는 단계는, 이하의 단계를 포함하고 있어도 된다.
· 제어 유닛이 자율적으로 논리 엘리먼트의 처리 내용, 취득 유닛의 온오프 또는 포스트 유닛의 온오프를 사이클 단위로 제어하는 단계.
· 외부로부터의 로딩에 의해 논리 엘리먼트의 처리 내용, 취득 유닛의 온오프 및 포스트 유닛의 온오프를 사이클 단위로 제어하는 단계.
본 발명의 다른 양태의 하나는, 복수의 엘리먼트와, 복수의 엘리먼트 사이에서 데이터를 전송하는 채널을 포함하는 데이터 처리부를 가지는 장치이다. 복수의 엘리먼트의 각각은, 논리 엘리먼트와, 논리 엘리먼트의 입력측과 채널 간의 접속을 사이클 단위로 온오프하여, 데이터 취득의 필요 여부를 제어하는 취득 유닛과, 논리 엘리먼트의 출력측과 채널 간의 접속을 사이클 단위로 온오프하는 포스트 유닛을 포함한다. 데이터 처리부는, 취득 유닛의 온오프 및 포스트 유닛의 온오프를 사이클 단위로 제어하는 타이밍 제어 유닛을 더 포함한다. 복수의 엘리먼트의 각각이 타이밍 제어 유닛을 포함하고 있어도 된다. 타이밍 제어 유닛은 논리 엘리먼트의 처리 내용을 사이클 단위로 변경하는 유닛을 포함하고 있어도 된다.
상기 장치는, 데이터 처리부에 어플리케이션, 알고리즘 또는 논리를 실장하는 정보를 격납(格納)하는 메모리를 가지는 것이 바람직하다. 실장하는 정보는, 복수의 엘리먼트 중 어느 것을 선택하는 정보와, 취득 유닛의 온오프 및 포스트 유닛의 온오프 중 적어도 어느 하나를 사이클 단위로 제어하는 타이밍 정보를 포함한다. 타이밍 정보는, 사이클 단위로 논리 엘리먼트의 처리 내용을 선택하는 정보를 포함하고 있어도 된다. 상기 장치는, 메모리로부터 실장하는 정보의 적어도 일부를, 채널을 통해 복수의 엘리먼트의 각각에 공급하는 유닛을 더 가지고 있어도 된다.
채널은 배선군(群)을 포함하고 있어도 되고, 취득 유닛은, 배선군 중 어느 배선과의 접속을 사이클 단위로 온오프하는 유닛을 포함하며, 포스트 유닛은, 배선군 중 어느 배선과의 접속을 사이클 단위로 온오프하는 유닛을 포함하고 있어도 된다. 채널은, 제 1 방향을 따라 배치된 제 1 배선 채널과 제 1 방향과 상이한 제 2 방향을 따라 배치된 제 2 배선 채널을 포함하며, 데이터 처리부는, 제 1 배선 채널 및 제 2 배선 채널에 시분할(時分割)로 접속되는 배선 박스를 포함하고 있어도 된다. 배선 박스는, 입력측 박스와, 출력측 박스를 포함하고 있어도 된다.
엘리먼트는, 특정한 처리를 행하는 기능이 고정된 블록을 포함하고 있어도 된다. 타이밍 제어 유닛은, 자율적으로 취득 유닛의 온오프 및 포스트 유닛의 온오프를 사이클 단위로 제어하는 기능과, 외부로부터의 로딩에 의해 취득 유닛의 온오프 및 포스트 유닛의 온오프를 사이클 단위로 제어하는 기능을 포함하고 있어도 된다. 이들 기능은, 논리 엘리먼트의 처리 내용을 사이클 단위로 제어하는 기능을 포함하고 있어도 된다.
포스트 유닛은, 부가 정보를 포함하는 확장 비트를 출력하는 유닛을 포함하는 것이 바람직하다. 포스트 유닛은, 동기(同期) 기능을 실현하는 다(多)채널 대응의 출력 스위치를 포함하는 것이 바람직하다.
도 1은, 데이터 처리 장치의 개요를 나타낸 도면이다.
도 2는, 데이터 처리부의 개요를 나타낸 도면이다.
도 3은, 데이터 처리부의 구성을 확대하여 나타낸 도면이다.
도 4는, 엘리먼트의 개요를 나타낸 도면이다.
도 5는, 배선 박스의 일례를 나타낸 도면이다.
도 6은, 입력측의 모듈의 일례를 나타낸 도면이다.
도 7은, 출력측의 모듈의 일례를 나타낸 도면이다.
도 8은, 엘리먼트의 제어 방법을 나타낸 플로우차트이다.
도 9의 (a)는, 배선 채널의 사용 상황을 나타낸 도면이고, 도 9의 (b)는 배선 채널의 사용 상황을 나타낸 타이밍 차트이다.
도 10은, 데이터 처리 장치를 포함하는 시스템의 일례를 나타낸 도면이다.
프로그램 작동이 가능한(programmable) 데이터 처리 장치로서, 회로를 동적으로 재구성 가능한 논리 회로를 포함하는 장치가 있다. 회로는, 「전기가 흐르는, 고리(輪)와 같이 닫혀 있는 길」, 그리고, 전자 회로는 「전기 부품을 전기 전도체로 접속하여 전류의 통로를 만들어, 목적하는 동작을 행하게 하는 전기 회로」 등으로 정의된다. 이에 대해, 전자 회로에 의해 실장되는 목적하는 동작(처리, 산술 연산, 논리 연산)을 단속(斷續)적으로, 예컨대, 클록(clock)의 타이밍으로, 단속적으로 행하는 것을 고려하면, 닫혀 있는 길을 형성할 필요는 없다. 따라서, 목적하는 동작을 행하게 하기 위한 전자 회로를 형성할 필요는 없다. 회로를 형성하지 않고 처리를 진행시킬 수 있는 데이터 처리부, 즉, 비(非)회로형의 데이터 처리부에 의해, 논리 회로를 거친 결과와 동등한 결과를 얻는 것이 가능하다.
본 명세서에서는, 복수의 엘리먼트(노드, 처리 엘리먼트, 처리 유닛)와, 복수의 엘리먼트 사이에서 데이터를 전송하는 채널을 포함하는 데이터 처리부를 가지는 장치(데이터 처리 장치)를 설명한다. 채널의 대표적인 예는, 배선 채널, 배선군, 배선 매트릭스라고 불리는 전자 및/또는 광(光)의 통로이다. 채널은 2차원으로 배치되어 있어도 되며, 3차원으로 배치되어 있어도 된다. 채널은, 배선 채널과 같이 미리 적당한 룰에 따라 배치되어 있어도 되며, 가시광 통신과 같이 지향성(指向性)을 가진 통신 수단에 의해 공간에 적절히 형성되어도 된다.
광이나, 전파를 이용한 지향성이 그다지 높지 않은 통신 수단이라면, 적당한 프로토콜을 채용함으로써 소정의 엘리먼트 사이에서 데이터를 전송 또는 교환하는 채널을 형성할 수 있다. 그러나, 프로토콜의 처리에 소요되는 시간을 고려하면 하드웨어적으로 접속을 온오프할 수 있는 것이 바람직하다.
복수의 엘리먼트의 각각은, 논리 엘리먼트(코어)와, 논리 엘리먼트의 입력측과 채널 간의 접속을 사이클 단위로 온오프하여, 데이터(신호를 포함하는 개념) 취득의 필요 여부를 제어하는 취득 유닛(취득 디바이스, 입력 유닛, 겟(get) 유닛, 리드 유닛, 어콰이어(acquire) 유닛)과, 논리 엘리먼트의 출력측과 채널 간의 접속을 사이클 단위로 온오프하는 포스트 유닛(포스팅 유닛, 포스트 디바이스, 투고(投稿) 유닛, 데이터 또는 신호를 채널에 싣는 디바이스)을 포함한다. 데이터 처리부는, 논리 엘리먼트의 처리 내용, 취득 유닛의 온오프 및 포스트 유닛의 온오프를 사이클 단위로 제어하는 타이밍 제어 유닛을 더 포함한다.
취득 유닛은 수동적(受動的)으로 입력 데이터가 흘러 들어오는 것을 기다리는 것이 아니라, 채널에 실린 데이터 또는 신호를 채널에 대한 접속을 온오프하여 취득하여, 엘리먼트에 포함시킨다. 취득 유닛은, 예컨대, 채널과의 접속을 온오프하여 엘리먼트에 대한 데이터의 유입을 온오프해도 되고, 채널에 포스트된 데이터를 래치할지의 여부로 채널에 대한 접속을 온오프하여 취득의 필요 여부를 제어해도 된다. 포스트 유닛은, 데이터를 채널에 방류하는 것이 아니라, 채널에 대한 접속을 온오프하여, 채널을 드라이브하는 권한을 취득하거나, 포기(해방)하거나 한다.
상기 데이터 처리부는, 복수의 엘리먼트의 접속 관계를 채널, 예컨대 배선군에 의해 형성하여, 복수의 엘리먼트가 접속된 회로를 구성하는 것, 즉 사이클 단위라 하더라도, 목적하는 동작을 행하게 하는 회로를 생성 또는 고정시킴으로써 어플리케이션 또는 알고리즘을 실현해도 된다.
한편, 목적하는 동작을 행하게 하는 회로를 고정 또는 생성하지 않고, 논리 엘리먼트(코어)와, 취득 유닛과, 포스트 유닛 간의 처리 타이밍을 사이클 단위(클록 단위)로 제어하여, 복수의 엘리먼트의 채널에 대한 취득 및 포스트(취득과 투고 간의 관계, 겟·포스트의 관계)를 사이클 단위로 변경해도 된다.
상기 데이터 처리부에 있어서, 채널만으로는 엘리먼트의 접속 관계(접속)는 규정되지 않는다. 채널은, 포스트된 데이터를 배포(配信)하는데, 취득하는 것은 엘리먼트이며, 채널은 그것을 규정 또는 제한하는 것은 아니다. 채널이 멀티 루트이고, 각각의 루트에 액세스할 수 있는 엘리먼트가 한정되어 있는 경우는, 그 범위에서 포스트된 데이터에 액세스할 수 있는 엘리먼트가 한정되어도 된다. 각 엘리먼트는 자율적으로 채널로부터 데이터를 입수하여, 채널에 데이터를 포스트한다. 채널은 엘리먼트 간의 접속 관계를 규정하지 않으며, 더욱이 채널에 대한 엘리먼트의 겟·포스트(겟·풋(put), 입출력)는 1사이클로 바뀐다. 이 때문에, 데이터 처리부에 사이클 단위로 실장되는 접속의 온오프로부터 목적하는 동작을 판독할 수 있을 필요는 없다.
엘리먼트의 채널에 대한 겟·포스트를 사이클 단위로 변경함으로써, 소정의 사이클이 경과한 후에, 목적하는 동작을 행하게 하는 회로와 동일한 결과를 얻을 수 있도록, 채널에 대한 겟·포스트를 규정하는 정보(타이밍 정보, 펑션(function) 정보)를 준비할 수 있다. 상기 펑션 정보는, 엘리먼트가 속하거나, 혹은 엘리먼트가 액세스할 수 있는 채널에 대한 취득의 타이밍, 채널의 선택, 포스트의 타이밍, 포스트할 채널의 선택을 포함하지만, 회로 혹은 접속 관계의 구성(재구성)을 나타내는 것은 아니다. 사이클 단위의 데이터의 교환(입출력, 포스트-겟)은, 엘리먼트 마다의 취득 유닛과 포스트 유닛이, 각각 채널에 액세스(온오프)하는지의 여부로 결정할 수 있다.
복수의 엘리먼트의 채널에 대한 겟(어콰이어) 및 포스트를 반복적으로 변경함으로써 목적하는 동작(처리, 연산)을 행하게 하는 경우, 채널은, 채널에 액세스할 수 있는 다른 엘리먼트에 대해, 상대를 특정하지 않고 1사이클로 데이터를 제공하는 방송망으로서 기능하면 된다. 채널이 배선군과 같이 멀티 루트인 것은 병렬로 복수 종류의 데이터를 확장시킬 수 있으므로 바람직하다. 배선군은, 어느 배선에 액세스한 엘리먼트로부터, 그 배선에 액세스 가능한 다른 엘리먼트에 대해, 상대를 특정하지 않고 1사이클 단위로 데이터를 제공하는 방송망으로서 기능한다.
채널에 대한 포스트 및 취득을 엘리먼트 단위로 독립적으로 제어함으로써, 채널이 특정의 엘리먼트에 점유되는 것을 방지할 수 있으며, 채널 자원(배선 자원)의 이용 효율을 대폭적으로 향상시킬 수 있다. 또한, 1사이클로도 신호(데이터)가 실리지 않는, 즉, 어느 엘리먼트에 의해 드라이브되지 않는 채널은 배제할 수 있어, 이 점에서도 채널 자원의 이용 효율을 대폭적으로 향상시킬 수 있다. 즉, 상기 데이터 처리부에 실장 가능한 기술은, 엘리먼트끼리의 접속을 규정해도 되지만, 엘리먼트끼리의 접속을 규정하지 않아도 되며, 엘리먼트끼리의 접속을 규정하지 않음으로써 채널은 점유되지 않아, 사용 범위가 넓어져서 하드웨어의 이용 효율이 현격히 향상된다.
사이클 단위로, 채널의 이용자(이용 엘리먼트, 송신자와 수신자)는 달라지며, 채널을 통해 목적하는 동작을 행하게 하기 위한 회로는 형성되지 않는다. 한편, 채널에 대한 액세스(접속의 온오프)는, 취득 유닛 및 포스트 유닛이 접속을 온오프함에 의해, 즉, 접속/비접속에 의해 제어된다. 이 때문에, 채널, 예컨대, 배선 자원은, 거기에 접속되어 있는 엘리먼트와의 사이에서, 사이클 단위로, 통신 프로토콜의 확립도 불필요한 방송 매체로서 사용된다. 즉, 채널(배선 자원)은, 비동기(非同期)의 요소로서가 아니라, 송신측 및/또는 수신측과 동기된 범위에서 정보를 전달하는 매체(요소)로서 기능한다.
이 때문에, 사이클 단위로 상이한 논리 혹은 알고리즘에 관련된 정보를, 엘리먼트는 채널에 포스트(출력)할 수 있으며, 다른 엘리먼트(1개에 한정되지 않음)는 취득할 수 있다. 따라서, 배선 등의 채널 자원을 저감시킬 수 있어, 실장 밀도가 높고, 하드웨어의 이용 효율도 높은 데이터 처리 장치를 제공할 수 있다. 또한, 채널을 사이클 단위의 논리 연산의 요소로서 사용해도 된다. 즉, 채널에 대한 접속/비접속을 취득 유닛 및 포스트 유닛에 의해 스케줄 관리함으로써 와이어드 로직(wired logic)의 일부를 구성하는 것이 가능하다. 또한, 채널은 양자(量子) 조작을 반영할 수 있는 것이어도 되고, 양자 컴퓨팅의 일부를 구성하는 것이어도 된다.
상기 데이터 처리부를 가지는 장치에 있어서는, 어플리케이션, 알고리즘 또는 논리를 포함하며, 고위 언어로 기술(記述)될 수 있는 수속을 실행 또는 실장하는 정보(고위 레벨의 정보, 펑션 정보)는, 엘리먼트의 선택(특정)과, 채널에 대해 취득 또는 포스트하는 타이밍의 정보로 변환된다. 펑션 정보는, 취득 또는 포스트할 채널의 선택을 포함하고 있어도 된다. 엘리먼트를 특정하는 정보는 예컨대 위치이며, 2차원 또는 3차원의 위치 정보로서 변환되어도 된다. 처리의 타이밍(시간의 경과)을 고려하면, 펑션 정보(고위 레벨의 정보)는, 엘리먼트의 배치가 입체이면 4차원의 정보로 변환될 수 있고, 엘리먼트의 배치가 평면이면 3차원의 정보로 변환될 수 있다. 엘리먼트를 선택(특정)하는 정보는 일차원이어도 되고, 고위 레벨의 정보는 2차원의 정보로 변환될 수 있다. 고위 레벨의 정보는 5차원 이상의 다차원의 정보로 변환되어도 된다.
엘리먼트를 선택하는 정보는, 엘리먼트에 용장성(冗長性, redundancy)이 있으면 특정의 엘리먼트나 특정의 장소 등을 나타내는 정보가 아니어도 되며, 대체성(代替性)이 높은 정보로 변환될 수 있다. 또한, 타이밍을 나타내는 정보도, 채널의 용장성 또는 시간적인 허용도(tolerance), 예컨대, 배선의 점유 시간을 확보할 수 있거나, 데이터를 지연시키거나, 데이터를 퇴피(退避)시키거나 할 수 있으면, 대체성이 높은 정보로 변환될 수 있다. 따라서, 데이터 처리부에 있어서 목적하는 처리를 행하게 하기 위한 펑션 정보(고위 레벨의 정보)는, 매우 대체성이 높은 정보로서 제공할 수 있으며, 데이터 처리 장치의 하드웨어를 고속 처리, 저(低)소비전력, 초병렬성(超竝列性)을 포함하는 다종 다양한 목적으로 사용할 수 있다.
배선군은 고정된 것이어도 되고, 재구성 가능한 것이어도 된다. 또한, 엘리먼트에 의해 실현되는 처리 내용(논리 연산, 산술 연산)도, 고정된 것이어도 되고, 재구성 또는 변경 가능한 것이어도 된다. 엘리먼트의 용장성을 향상시키기 위해서는, 엘리먼트에 의해 실현되는 논리는 변경 가능한 것이 바람직하다.
타이밍 제어 유닛은, 미리 설정된 순서 혹은 정보에 근거하여 자율적으로 논리 엘리먼트의 처리 내용, 취득 유닛의 온오프 또는 포스트 유닛의 온오프를 사이클 단위로 제어해도 된다. 타이밍 제어 유닛은, 외부로부터의 로딩에 의해 논리 엘리먼트의 처리 내용, 취득 유닛의 온오프 및 포스트 유닛의 온오프를 사이클 단위로 제어해도 된다. 타이밍 제어 유닛은, 외부로부터의 로딩에 의해서만 엘리먼트를 사이클 단위로 제어해도 되는데, 데이터 처리부는, 외부로부터 그것을 위한 정보, 즉, 상술한 펑션 정보를 로딩하기 위한 채널 자원을 포함한다. 한편, 외부로부터의 로딩이 없다면, 타이밍 제어 유닛으로 제어 가능한 내용이 한정될 가능성이 있다. 따라서, 상기의 2가지 제어를 조합하는 것이 바람직하다.
데이터 처리 장치는, 데이터 처리부에, 어플리케이션, 알고리즘 또는 논리를 실장하는 정보(펑션 정보)를 격납하는 메모리를 가지며, 메모리로부터 실장하는 정보의 적어도 일부를, 채널을 통해 복수의 엘리먼트의 각각에 공급하는 유닛을 가지고 있어도 된다. 채널은 엘리먼트끼리의 처리에 점유되는 것이 아니며, 시분할 혹은 병렬로 채널을, 펑션 정보를 엘리먼트에 공급하기 위해 공용(共用)할 수 있다.
채널(배선 자원)은 고정되어도 되고, 재구성 가능해도 되고, 가시광 통신과 같이 그때마다 형성되어도 된다. 채널은 배선 채널과 같이 멀티 루트인 것이 바람직하며, 적당한 범위에서 복수의 엘리먼트의 액세스를 로컬라이즈(localize)하거나 그룹핑(grouping)하거나 할 수 있는 것은 유효하다. 또한, 채널은 다중화(多重化) 또는 다층화(多層化)되어 있어도 되며, 2차원, 3차원, 나아가서는 메모리나 지연 소자 등을 통해 시간 방향으로 데이터를 전송할 수 있는 것이어도 된다.
채널의 일례는, 제 1 방향을 따라 배치된 제 1 배선 채널과 제 1 방향과 상이한 제 2 방향을 따라 배치된 제 2 배선 채널을 포함하는 것이다. 제 1 배선 채널과 제 2 배선 채널은 가로세로(縱橫) 등, 격자(grid) 형상 혹은 매트릭스 형상으로 복수의 엘리먼트가 배치된 영역 혹은 공간을 커버하는 것임이 바람직하다. 제 1 배선 채널과 제 2 배선 채널은 직교하고 있어도 되고 직교하고 있지 않아도 되며, 제 3 배선 채널 등의 더 많은 데이터의 전달 방향이 상이한 배선 채널을 포함해도 된다. 상술한 바와 같이 배선 채널은 2차원일 필요는 없으며, 3차원 및 시간을 포함한 4차원 이상의 고차원으로 배치된 것이어도 된다.
데이터 처리부는, 제 1 배선 채널 및 제 2 배선 채널에 시분할로 접속하는 배선 박스를 포함한다. 배선 채널끼리를 동적으로 접속함으로써, 배선 채널을 재구성할 수 있고, 배선 채널에 의해 데이터에 대한 액세스가 로컬라이즈되는 엘리먼트를 재구성할 수 있다. 취득 유닛 및 포스트 유닛은, 제 1 및 제 2 배선 채널에 대해 각각 독립적으로 액세스할 수 있는 것이 바람직하다. 취득 유닛 및 포스트 유닛은 직접 제 1 및 제 2 배선 채널에 액세스할 수 있는 것이어도 되고, 시분할(time shared) 타입의 배선 박스를 통해 액세스할 수 있는 것이어도 된다.
엘리먼트의 일례는, 코어인 논리 엘리먼트에 대해, 데이터의 흐름으로서, 취득 유닛인 입력측 박스와, 포스트 유닛인 출력측 박스가 코어를 사이에 끼우는 듯한 형태로 접속되는 것이다. 논리 엘리먼트는, 고정 기능 블록과, 기능 재기록(rewrite)이 가능한 블록을 포함하는 것이며, 이들 블록에 대해 독립적으로 복수, 예컨대, 4개의 배선 채널이 접속될 수 있는 것이다. 논리 엘리먼트는, 적어도 1개의 기능 재기록 가능 블록을 포함하며, 외부로부터의 로딩 없이, 필요에 따라 이것을 내부 갱신하는 것이 바람직하다. 논리 엘리먼트(코어)의 기능을 변경(재기록)하기 위해 소요되는 배선 비용을 더욱 저감시킬 수 있다. 즉, 사용 빈도가 높은 기능(연산 외)은, 내부에 실장되어 있는 압축된 기능 선택 정보로부터, 출력측의 메모리 스위치에 전용의 고정된 기능 선택 정보가 카피된다. 이에 따라, 상시 외부로부터 갱신해야 할 기능 선택 정보를 받아들일 필요가 없어진다.
논리 엘리먼트(코어)는, 출력측, 즉 포스트 유닛으로부터, 연산 기능이나 기타의 부가 정보를 포함하는 확장 비트를 포스트하는 기능을 더 포함하는 것이 바람직하다. 오버플로우(overflow), 제로 플래그(zero flag), 패리티(parity), 캐리 비트(carry bit), 다(多)비트 연산 대응 캐리, 시프트 정보, 예외 이벤트 출력 등에 대응 가능한 구조를 가진 데이터를 채널에 포스트할 수 있다.
논리 엘리먼트는, 포스트 유닛의, 동기 기능을 실현하는 다채널 대응의 출력 스위치를 제어하는 기능을 더 포함하는 것이 바람직하다. 예컨대, 갑자기 이벤트가 발생하였을 경우에, 이벤트 대응의 처리 영역을 생성하려면, 배선 자원 및 엘리먼트 자원의 할당을 변경하여, 하드웨어에 비어 있는 처리 영역을 순식간에 생성할 필요가 있다. 이러한 자원의 할당 변경의 대응이나 입력 채널·출력 채널의 타이밍을 제어하여, 모순 없이 이벤트 대응의 처리가 실행되는 영역이 실현될 필요가 있으며, 이를 위한 제어 요소가 엘리먼트 내에 실장되어 있어도 되고, 외부에 설치되어 있어도 된다.
단, 배선과의 접속은, 미리 짜여진 패턴으로 대응하거나, 이벤트 정보를 수취하여 갱신된 정보로 대응하는 2계통의 대응뿐이며, 그 정합성이나 일치성을 확인하는 기능은 실장되어 있지 않다. 상기 기능은, 필요가 있다면, 인접하는 코어에 그 기능을 추가로, 일시적으로 실장하고, 기능이 완료되면 소멸(갱신)되는 구조로 하고 있다.
배선 채널은, 타임 슬롯의 암묵적인 할당을 이용하여 동작하는 구조를 채용할 수 있다. 취득 유닛(취득 디바이스)의 일례는, 시프트 레지스터(shift register)형의 플립플롭(flip-flop)과 간단한 마스크 기능을 가진 AND 게이트를 이용하여, 유효 데이터를 받아들일지의 여부를 결정하는 것이다. 4비트를 단위로 하여 제어하는 예라면, 4사이클 분을 받아들일 필요가 있는지에 관한 정보(펑션 정보)를 플립플롭에 기억시킨다. 5사이클째부터는, 펑션 정보를 메모리로부터 받아들일지 처음으로 돌아가 동일한 4사이클을 반복할지를 결정하여 동작시킨다. 패턴이 긴 경우는, 5사이클째, 9사이클째, 13사이클째를 각각 메모리로부터 로딩하여 반복함으로써, 메모리의 엑세스 타임에 여유를 갖게 하는 동시에, 장기 패턴에도 대응 가능한 구조로 할 수 있다.
배선 박스에 실장되는 배선 채널 스위치는, 기본적으로는, 복수의 세로측 채널로부터 다음의 세로측 채널의 지정되는 채널에 스위칭할지, 횡측 채널의 지정되는 채널에 스위칭할지를 결정하는 기능을 포함한다. 스위치가 정상적으로 동작하였는지의 여부는, 기본적으로, 어플리케이션측이 책임을 지는 방식이다. 즉, 배선 채널의 구성이 엘리먼트끼리의 접속을 결정하지 않으므로, 엘리먼트측이 액세스할지의 여부를 타이밍과 함께 제어함으로써 엘리먼트 간의 수수(授受)가 결정된다. 따라서, 물리적으로 배선의 접속을 검증하는 것은 의미가 없으며, 에러 체크를 하는 처리를 엘리먼트의 선택 정보와 타이밍의 정보로 추가하는 것이 가능하다.
비용 삭감을 우선하는 경우, 정상적으로 배선 채널이 스위칭되는 것을 전제로 하여, 엘리먼트를 동작시킨다. 데이터를 받아들이는 것은, 엘리먼트측에서 제어되며, 배선 채널 스위치는, 배선 간의 스위치(받아들임과 출력)의 기능만을 가지고 있다. 받아들임의 경우는, 지정된 타이밍으로, 데이터의 스위칭만을 행한다. 혹은, 출력시킬 배선 채널을 선택하여 데이터를 유효하게 할 만한 기능을 완수한다.
도 1은, 회로를 형성하지 않고 처리를 행할 수 있는 데이터 처리부(10)를 포함하는 데이터 처리 장치(1)의 일례를 부분적으로 확대하면서 도시하고 있다. 상기 데이터 처리 장치(1)는, 고정된 회로 또는 재구성 가능한 회로를 이용하여 디지털 처리를 행하는 디지털 처리부(3)와, CPU(2)와, 메모리(5)와, 타이밍 제어에 의해 처리를 행하는 데이터 처리부(10)를 포함한다. 비(非)회로인 데이터 처리부(10)는, 복수의 엘리먼트(셀)(20)와, 가로세로로 매트릭스 형상으로 배치된 배선 채널(50)과, 배선 박스(58)를 포함한다.
도 2는, 비회로인 데이터 처리부(10)의 구성을, 일부 확대하여 도시하고 있다. 상기 데이터 처리부(10)는, 복수, 본 예에서는 64×64개, 즉, 4096개의 엘리먼트(셀)(20)와, 이들 엘리먼트(20)가 접속 가능하도록 가로세로로 배치된 배선 채널(50)을 포함한다. 배선 채널(50)은, 도 2의 가로 방향(제 1 방향)으로 배치된 가로 배선(제 1 배선 채널)(51)과, 가로 배선(51)과 직교하는 제 2 방향으로 배치된 세로 배선(제 2 배선 채널)(52)을 포함한다.
도 3은, 비회로인 데이터 처리부(10)의 구성을 부분적으로 더욱 확대하여 도시하고 있다. 엘리먼트(20)는, 중심의 코어(31)와, 그 주위에 배치된 4방향의 접속 제어 유닛(35a, 35b, 35c 및 35d)을 포함한다. 접속 제어 유닛(35a∼35d)은, 후술하는 취득 유닛(21a∼21d)과, 포스트 유닛(28a∼28d)을 각각 포함한다. 배선 채널(50)은, 가로세로의 배선 채널(51 및 52)에 더하여, 배선 박스(58)와 엘리먼트(20)를 접속하는 로컬(local) 배선 채널(55)을 포함한다. 각 엘리먼트(20)는, 가로세로의 글로벌(global)한 배선 채널(51 및 52)에 배선 박스(58)를 통해 접속 가능하다.
각 엘리먼트(20)는, 더욱이, 배선 박스(58)를 통해 로컬 배선 채널(55)에 의해, 글로벌한 배선 채널(51 및 52)을 경유하지 않고, 인접하는 엘리먼트(20)에 접속할 수 있다. 로컬로 접속 가능한 엘리먼트(20)의 범위는, 4방으로 한정해도 되고, 8방향으로 한정해도 되며, 나아가, 그 외측까지 연장해도 된다. 배선 박스(58)를 통하지 않고, 엘리먼트(20)끼리 로컬로 접속 가능하도록 해도 된다. 로컬한 배선은 엘리먼트(20)에 점유될 가능성이 높기 때문에, 배선의 이용 효율은 낮아질 가능성이 있다. 한편, 글로벌한 배선 채널(51 및 52)을, 로컬한 엘리먼트(20)끼리의 데이터 교환으로부터 해방할 수 있으므로 채널(51 및 52)의 이용 효율이 향상된다.
배선 박스(58)는, 시분할(time share)로, 사이클 단위로 가로세로의 배선 채널(51 및 52)에 포함되는 배선의 접속을 재구성한다. 배선 박스(58)는, 입력측 박스(59a) 및 출력측 박스(59b)를 포함하며, 배선 채널(51 및 52)에 대한 엘리먼트(20)로부터의 출력 및 입력 방향을 제어할 수 있다. 본 예에서는, 엘리먼트(셀)(20)가 독립적으로, 엘리먼트(20)의 상하에 배치된 2개의 배선 채널(51) 및 좌우에 배치된 세로 방향의 배선 채널(52)의 4개(4방향)의 배선 채널(50)에 대해 접속을 온오프할 수 있는 구조로 되어 있다. 접속을 온오프할 수 있는 배선 채널의 수는 4방향에 한정되지 않는다. 3차원으로 엘리먼트(20)가 배치되어 있는 경우는 8방향(8배선 채널)이어도 된다. 배선 채널이 교차하는 각도는 90도로 한정되지 않기 때문에, 더 많은 방향으로 연장된 배선 채널을 배치하는 것도 가능하며, 이들에 대해 접속을 제어할 수 있는 엘리먼트(20)를 배치해도 된다.
배선 박스(접속 제어 유닛, 배선 채널 스위치)(58)는, 복수의 세로측 채널(52)로부터 다음의 세로측 채널(52)의 지정되는 채널에 스위칭할지, 가로측 채널(51)의 지정되는 채널에 스위칭할지를 사이클 단위로 결정하는 기능을 포함한다. 배선 박스(58)의 스위칭이 정상인지의 여부는, 기본적으로, 어플리케이션측이 책임을 지는 방식이며, 만약, 걱정이 된다면, 그 에러 체크를 하는 기능이 배선 박스(59)의 접속 제어 유닛에 부가된다. 비용 삭감을 우선하는 경우, 정상적으로 스위칭되는 것을 전제로 하여 동작시킨다. 데이터를 받아들일 필요가 있는지의 여부는, 엘리먼트(20)측에서 선택된다. 따라서, 배선 박스(58)는, 배선 간의 스위칭(받아들임과 출력)의 기능만을 가지며, 받아들이는 측의 엘리먼트(20)가 지정된 타이밍에 데이터를 받아들이는 스위칭만을 행한다. 혹은, 엘리먼트(20)가 출력할 배선 채널을 선택하여 데이터를 유효하게 할만한 처리를 행한다.
데이터 처리부(10)는, 버스(8)를 통해 디지털 처리부(3), CPU(2), 및 메모리(5)와 접속된다. 메모리(5)에는, 데이터 처리부(10)에, 어플리케이션 등을 실장하는 펑션 정보(5a)가 격납되어 있다. 펑션 정보(5a)는, 상술한 타이밍 정보(5b)와, 엘리먼트를 선택(특정)하는 정보(5c)를 포함한다. 펑션 정보(5a)는 배선 박스(58)를 사이클 단위로 제어하는 정보(5d) 등을 더 포함하고 있어도 된다.
CPU(2)는, 메모리(5)로부터 펑션 정보(5a)를, 배선 채널(50)을 통해 각 엘리먼트(20)에 공급하는 기능(공급 유닛)(2a)을 포함한다. 공급 유닛(2a)은, 장치(1)의 리셋 시나, 특정 처리의 개시 시 등의 타이밍에 펑션 정보(5a)를 각 엘리먼트(20)에 배선 채널(50)을 통해 공급한다. 또한, 공급 유닛(2a)은, 처리의 도중에, 펑션 정보(5a)를 배선 채널(50)에 포스트하여, 소정의 엘리먼트(20)를 로딩할 수 있도록 해도 된다. 데이터 처리부(10)에 있어서는, 배선 채널(50)이 사이클 베이스로 해방되므로, 배선 채널(50)을 엘리먼트(20) 사이에서 데이터의 교환, 펑션 정보(5a)의 공급 등에 공용할 수 있다.
도 4는, 엘리먼트(20)의 개략적인 구성을 확대하여 도시하고 있다. 엘리먼트(20)는, 데이터 처리부(AxionNipeR)(10)의 기본 셀이며, 독립된 4CH의 취득 유닛(입력부)(21a∼21d)과, 독립된 4CH의 포스트 유닛(출력부, 2CHx2는 공통)(28a∼28d)과, 코어인 논리 엘리먼트(25)를 포함한다. 논리 엘리먼트(25)는, 이용 빈도가 높을 것으로 예상되는 4비트의 가산·감산·비교·논리 연산과 8비트, 12비트, 16비트 확장까지의 대응을 논리 엘리먼트(25)의 기본 회로로서 내부에 압축하고, 다른 엘리먼트(20)와 공통 회로로서 유지하여, 외부로부터의 정보 입력이 불필요하도록 하고 있다. 논리 엘리먼트(25)가 대응하고 있지 않은 새로운 회로 구성 정보는, 펑션 정보(5a)를 통해 외부로부터 도입하여 갱신하는 방식이 된다.
취득 유닛(취득 모듈, MUX-INA, -INB, -INC, -IND)(21a∼21d)은, 배선 채널(50)로부터의 데이터를 취득하는 4개의 독립된 멀티플렉서이다. 입력 데이터 신호는, 인접되어 있는 배선 채널(50)로부터 공급된다. 취득 유닛(21a∼21d)은, 배선 채널(50)과의 접속을 사이클 단위로 온오프한다. 배선 채널(50)에 대한 접속을 온오프하여, 배선 채널(50)에 포스트된 데이터를, 취득 유닛(21a∼21d)을 통해 입력 제어 유닛(22)에 래치할지의 여부는, 모두 이하에 설명하는 타이밍·컨트롤러(타이밍 제어 유닛, CTL-TMNG)(26)에서 사이클 단위로 확정한다.
입력 제어 유닛(입력 제어 모듈, 래치 유닛, MUX-4×4)(22)은, 타이밍·컨트롤러(26)로부터 공급되는 제어 패턴 정보에 따라, 4CH의 독립된 입력 신호를 래치하여, 레지스터(23a 및 23b)에 격납 완료된 입력 신호의 교체나 교환, 펑션·래치·블록(24a∼24d) 중 어느 것에 입력 데이터를 접속할지를 결정한다. 입력 제어 유닛(22)은, 데이터 신호의 스위치 기능을 실현하고 있다. 입력 제어 유닛(22)은, 특수한 제어 코드 정보에 의한 자기 진단, 배선 채널(50)을 통해 외부, 예컨대, CPU(2)의 공급 유닛(2a)으로부터의 펑션 정보(5a)의 로딩 지시를 해독하는 기능을 가지고 있다. 이들 기능은, 타이밍·컨트롤러(26)와 연동하여 실현되고 있다.
펑션·래치·블록(펑션 래치 모듈, FNC-LA, -LB, -LC, -LD)(24a∼24d)은, 펑션 메모리(논리 엘리먼트)(25)로부터 내부 디코드(해독)된 펑션을 기억하는 래치 모듈이다. 펑션·래치·블록(24a∼24d)은, 각각, 도면 상의 가로 방향으로 4사이클 분의 펑션을 래치하여 격납하고, 입력 데이터를 4CH의 독립된 논리로 처리(산술 연산, 논리 연산을 포함함)하여 출력한다.
펑션·래치·블록(24a∼24d)은, 펑션 정보(5a) 등의 특수 제어 코드가 엘리먼트(20)에 도달하여, 래치되면, 그 제어 코드에 포함되어 있는 외부 정보를 받아들이되, 내부 디코드를 무시하고, 그것을 받아들이는 기능을 포함한다. 내부 디코드의 래치는, 원칙적으로, 1사이클로 완료된다. 외부 정보를 받아들일 경우는, 1∼4 클록·사이클을 소비해도 된다.
펑션 메모리(LST-FXP)(25)는, 엘리먼트(20)의 코어인 논리 엘리먼트(31)의 중심이 되는 내부 논리가 격납되어 있는 메모리이다. 펑션 메모리(25)는, 4비트 단위로의 처리나 8비트, 12비트, 16비트로의 확장 데이터 처리, 가산·감산·비교, 논리 연산, 기타의 엘리먼트(20)로서 사용 빈도가 높은 패턴을 압축하여 엘리먼트(20)의 내부에 유지시키고 있다. 펑션 메모리(25)는, 외부로부터 취득 유닛(21a∼21d)을 통해, 또는, 내부의 타이밍·컨트롤러(26)로부터 특수 로딩 코드를 받으면, 그 제어 정보에 따라, 미리 격납되어 있는 것 중에서 필요한 펑션 정보(5a)를 선택하여, 이것을 내부의 래치(24a∼24d)에 격납한다.
타이밍·컨트롤러(타이밍 제어 유닛, CTL-TMNG)(26)는, 외부로부터 타이밍 제어 정보를 받아, 내부에 준비된, 또는 내부에서 디코드되어, 레지스터(27a 및 27b)에 세트된 4세트의 펑션 정보(5a)에 근거하여 4개의 독립된 펑션·블록을 사이클 단위(클록 단위)로 제어한다. 즉, 타이밍·컨트롤러(26)는, 취득 모듈(21a∼21d), 펑션·래치·블록(24a∼24d), 및 이하에서 설명하는 포스트 유닛(28a∼28d)을 각각 필요에 따라서 타이밍 제어하는 모듈이다.
타이밍·컨트롤러(26)의 주요 기능 중 하나는, 배선 채널(50)로부터 입력 데이터를 받아들이는 타이밍의 제어이다. 타이밍·컨트롤러(26)의 주요 기능 중 다른 하나는, 배선 채널(50)의 소정의 채널에 출력 데이터를 송신(포스트, 배포)하는 타이밍의 제어이다. 출력할 필요가 없는 경우, 출력 신호는, 모두 "0" 또는 "1"로 고정된다. 배선 채널(50)에 접속 가능한 엘리먼트(20) 사이에서 음논리(negative logic)가 처리되고 있는지, 양논리(positive logic)가 처리되고 있는지에 의존한다.
상기 타이밍·컨트롤러 모듈(26)은, 전원 투입 후(파워 온 리셋), 특수 패턴이 입력되면, 자기 진단 기능이나 외부로부터의 제어 정보나 새로운 펑션을 자동적으로 받아들이는 기능을 가지고 있어도 된다. 또한, 타이밍·컨트롤러(26)는, 엘리먼트(20)의 각 기능을 제어할 뿐만 아니라, 엘리먼트(20)에 속해 있는 배선 박스(58)의 제어를 사이클 단위로 행해도 된다. 또한, 타이밍·컨트롤러(26)는, 기본적으로는, 내부 디코드하여 레지스터(27a 및 27b)에 격납된 펑션 정보(5a)에 근거하여 반복적으로, 또는 소정의 패턴으로 엘리먼트(20)를 자율적으로(독립적으로) 제어한다. 한편, 배선 채널(50)을 통해, 외부로부터 특수 코드와 함께 펑션 정보(5a)가 공급되면, 그것을 펑션·래치·블록(24a∼24d)으로 직접 출력하여 엘리먼트(20)의 기능(처리 내용)을 일시적으로 바꾸거나, 펑션 메모리(25)의 내용을 갱신하여 엘리먼트(20)의 기본적인 기능을 바꾸거나 할 수 있다.
포스트 유닛(MUX-OUTA, -OUTB, -OUTC, OUTD)(28a∼28d)은, 엘리먼트(20)로부터 배선 채널(50)에 대해 출력을 결정하는 4개의 독립된 출력 채널이다. 출력 신호를 액티브하게 할지의 여부는, 모두 타이밍·컨트롤러(26)가 확정한다. 포스트 유닛(28a∼28d)은, 사이클 단위로 배선 채널(50)에 대한 접속을 온오프한다. 포스트 유닛(28a∼28d)은, 각각 상이한 배선 채널(50)에 출력 데이터를 포스트(투고, 싣기)해도 되고, 버스 형식의 배선 채널(50)에 소정의 비트 길이의 데이터를 포스트해도 된다. 포스트 유닛(28a∼28d)은, 동기 기능을 실현하는 다채널 대응의 출력 스위치를 포함하는 것이 바람직하다.
포스트 유닛(포스팅 유닛)(28a∼28d)은, 배선 채널(50)에 데이터를 출력(포스트)하지 않을 때는, 배선 채널(50)과 엘리먼트(20)의 출력측 간의 접속을 오프로 한다. 이에 따라, 배선 채널(50)은 포스트 유닛(28a∼28d)에 드라이브되지 않고, 출력하지 않는 엘리먼트(20)로부터 해방되며, 배선 채널(50)은 다른 데이터 출력을 하는 타이밍이 되어 있는 엘리먼트(20)에 의해 드라이브된다.
포스트 유닛(28a∼28d)은, 출력 데이터에 더하여, 부가 정보를 출력한다. 부가 정보는, 오버플로우, 제로 플래그, 패리티, 캐리 비트, 다(多)비트 연산 대응 캐리, 시프트 정보, 예외 이벤트 출력 등을, 배선 채널(50)을 통해 배포하기 위해 이용된다. 취득 유닛(21a∼21d)은, 배선 채널(50)로부터 부가 정보를 포함하여 데이터를 입수해도 되고, 부가 정보를 제외하고 데이터를 입수해도 된다.
엘리먼트(20)의 코어(31)는, 상기 복수의 기능 재기록 가능 블록(가변(可變) 기능 블록)에 더하여, 고정 기능 블록을 포함하고 있어도 된다. 엘리먼트(20)의 코어(31)의 가변 기능 블록은, 펑션 메모리(25)를 구비하고 있으며, 외부로부터의 로딩없이, 필요에 따라서 이것을 내부의 데이터(정보)만으로 각각의 기능을 갱신하는 것이 가능하다. 사용 빈도가 더 높은 기능(연산 외)은, 고정 기능 블록으로 대응해도 되며, 펑션 메모리(25)에 압축된 펑션 정보의 양을 삭감할 수 있을 가능성이 있다.
참고로, 상기의 엘리먼트(20)는 4비트로 구성된 예를 나타내고 있으나, 2비트여도 되고, 8비트 이상을 기본으로 하는 엘리먼트여도 된다. 또한, 상기의 엘리먼트(20)는 4사이클 분의 펑션 정보를 미리 플립플롭 또는 레지스터(27a, 27b, 24a∼24d)에 기억시켜 내부에서 자율적으로 제어할 수 있는 예를 나타내고 있다. 5사이클 분 이상의 펑션 구성 정보를 내부에 전개하여 반복적으로 처리하는 것이어도 된다. 4사이클 분의 펑션 정보가 종료되면, 5사이클째부터는, 외부 또는 다른 메모리로부터 받아들여도 되고, 펑션 메모리(25)로부터 새롭게 디코드해도 되며, 이미 디코드가 완료된 펑션 정보를 반복적으로 사용해도 된다.
엘리먼트(20)에 있어서 실행하는 처리의 반복 패턴이 긴 경우에는, 5사이클째, 9사이클째, 13사이클째를 각각 외부 메모리(5)로부터 로딩하여, 이것을 반복해도 된다. 메모리(5)의 엑세스 타임에 여유를 부여하는 동시에, 장기 패턴에도 대응이 가능해진다.
도 5는, 배선 박스(58)의 내부 구성의 일례를 도시하고 있다. 배선 박스(58)도 사이클 단위로 글로벌한 배선 채널(51 및 52)의 접속을 바꾸거나, 배선 채널(51 또는 52)로부터 로컬인 배선 채널(55)을 통해 엘리먼트(20)와의 접속을 바꾸거나 하는 기능을 구비하고 있다. 도 5에 나타낸 예는, 시프트 레지스터형의 플립플롭과 간단한 마스크 기능을 가진 AND 게이트를 이용하여, 유효 데이터를 받아들일지의 여부를 결정하는 것이다.
도 6은, 취득 유닛(21a∼21d), 배선 박스(58)에 있어서, 배선 채널(50) 중의 지정된 버스와의 접속을 온오프하는 모듈(61)의 일례를 도시하고 있다. 상기 모듈(61)은, MUX가 불필요한 단순한 구조를 채용한 예이다.
도 7은, 포스트 유닛(28a∼28d), 배선 박스(58)에 있어서, 배선 채널(50) 중의 지정된 버스와의 접속을 온오프하는 모듈(62)의 일례를 도시하고 있다. 배선 채널(50)은, 타임 슬롯의 암묵적인 할당을 이용하여 동작하는 구조이며, 출력측의 모듈(62)은, 배선 채널(50) 중의 프로그램된 버스만을 드라이브하고, 불필요한 버스를 해방하는 구성이 채용되고 있다.
도 8은, 데이터 처리부(10)의 각 엘리먼트(20)의 타이밍 제어를 플로우차트에 의해 도시하고 있다. 상기 제어 방법은, 논리(논리 회로)로서 엘리먼트(20), 타이밍·컨트롤러(26) 등에 실장되어 있어도 되며, 펌웨어(firmware), 마이크로 프로그램(프로그램 제품)으로서 제공되어, 메모리 등의 적당한 기록 매체에 격납되어 있어도 된다.
단계 71에서, 타이밍·컨트롤러(26)가 엘리먼트(20)의 입력측을 배선 채널(50)에 접속하는 타이밍(사이클)이라고 판단하면, 단계 72에서 취득 유닛(21a∼21d) 중 어느 것을 온으로 하고, 단계 73에서 배선 채널(50)에 포스트되어 있는 데이터를 래치한다. 취득 유닛(21a∼21d)을 온으로 할 때, 단계 85에서 배선 채널(50)의 가로세로의 배선 채널(51 및 52)의 접속은 재구성되어 있으며, 그 재구성된 배선 채널(50)에 의해 로컬라이즈된 엘리먼트(20)가 포스트한 데이터를 래치한다. 이후, 단계 74에서, 취득 유닛(21a∼21d)을 오프로 하여, 배선 채널(50)을 해방한다.
단계 75에서 래치된 데이터가 연산용인지, 펑션 정보의 갱신용인지를 판단한다. 펑션 정보이면, 단계 81에서 펑션 메모리(25)를 갱신하거나, 펑션·래치·블록(24a∼24d)에서 래치하여, 엘리먼트(20)의 처리 내용을 변경한다.
단계 75에서 래치된 데이터가 연산용이면, 단계 76에서, 엘리먼트(20)의 내부에서, 그 타이밍(사이클)으로 지정된 처리(연산)가 행해진다. 단계 77에서, 타이밍·컨트롤러(26)가 출력측을 배선 채널(50)에 접속하는 타이밍(사이클)이라고 판단하면, 단계 78에서 포스트 유닛(28a∼28d) 중 어느 것이 온이 되고, 단계 79에서 배선 채널(50)에 출력 데이터가 포스트된다. 포스트 유닛(28a∼28d)을 온으로 할 때, 단계 85에서 배선 채널(50)의 가로세로의 배선 채널(51 및 52)의 접속은 재구성되어 있으며, 그 재구성된 배선 채널(50)에 의해 로컬라이즈된 엘리먼트(20)가 포스트된 데이터를 취득할 수 있다. 이후, 단계 80에서, 포스트 유닛(28a∼28d)을 오프로 하여, 배선 채널(50)을 해방한다.
이후, 단계 82에서, 타이밍·컨트롤러(26)가 다음의 펑션 정보를 인식하고, 그 펑션 정보에 따라 엘리먼트(20)의 제어를 반복한다.
도 9는, 배선 채널(50)의 점유 상황이 변화하는 모습을 모식적으로 도시하고 있다. 도 9의 (a)는, 엘리먼트(C33)와 엘리먼트(C11) 사이에서 데이터 교환이 행해지는 처리(논리 연산)와, 엘리먼트(C32)와 엘리먼트(C21) 사이에서 데이터 교환이 행해지는 처리를 시분할로 물리적으로 동일한 배선 채널(50), 구체적으로는, 배선 채널(X6 및 Y2)에 대해 온오프함으로써 행하는 것을 나타내고 있다. 도 9의 (b)는 배선 채널(X6 및 Y2)의 점유를 나타내는 타이밍 차트이다.
펑션 정보(CD1)에서는 엘리먼트(C33 및 C11)가 배선 채널(X6 및 Y2)에 대해 온이 되고, 이들 사이에서 데이터 교환이 행해진다. 펑션 정보(CD2)에서는 엘리먼트(C32 및 C21)가 배선 채널(X6 및 Y2)에 대해 온이 되고, 이들 사이에서 데이터 교환이 행해진다. 펑션 정보(CD3 및 CD4)에서는, 엘리먼트(C11, C21, C32 및 C33)는, 배선 채널(X6 및 Y2)에 대해 오프이며, 이들 배선에 다른 엘리먼트(20)가 액세스하여 데이터의 포스트 및 취득이 행해진다. 배선 채널(X6 및 Y2)은, 사이클 단위로 이용자가 바뀌며, 배선 채널은 시분할로 점유된다. 배선 채널의 이용자를 고정시키는 것도 물론 가능하다.
데이터 처리부(10)의 배선 채널(50)은, 사이클 단위로 송신자와 수신자가 바뀌며, 배선 채널(50)을 통해 목적하는 동작을 행하게 하기 위한 회로는 형성되지 않는다. 배선 채널(50)은, 배선 채널(50)에 접속되어 있는 엘리먼트(셀)(20) 사이에서, 사이클 단위로, 통신 프로토콜의 확립도 불필요한 방송 매체로서 사용되며, 이용자는 사이클 단위로 배선 채널에 액세스할 수 있다.
배선 채널(50)은, 신호가 전달되는 비동기의 요소로서가 아니라, 송신측 및/또는 수신측과 동기된 범위에서 정보를 전달하는 매체(요소)로서 기능한다. 이 때문에, 엘리먼트(20)는, 사이클 단위로 상이한 논리 혹은 알고리즘에 관련된 정보를, 시분할로 배선 자원에 출력(포스트)할 수 있으며, 다른 셀(20)은 시분할로 정보(데이터, 신호)를 취득할 수 있다. 따라서, 배선 자원을 저감시킬 수 있으며, 실장 밀도가 높고, 하드웨어의 이용 효율도 높은 데이터 처리 장치를 제공할 수 있다. 더욱이, 배선 자원을 사이클 단위로 논리 연산을 행하는 요소로서도 사용할 수 있다.
논리 연산 엘리먼트인 코어(31)는, 덧셈, 곱셈 등의 비교적 게이트 수가 큰 논리 연산을 행하는 것(코스 그레인(coarse grain))이어도 되고, 4입력 이하의 AND, NAND, OR, NOR, EXOR 등의 비교적 게이트 수가 작은 논리 연산을 행하는 것(파인 그레인(fine grain))이어도 된다. 본 예에서는, 파인 그레인인 코어(31)를 채용하고 있다. 논리 연산은 룩업 테이블(look-up table)을 이용하는 것이어도 되고, 셀렉터(selector) 타입의 것이어도 되며, 메모리 타입의 것이어도 된다.
도 10은, 데이터 처리 장치(1)를 포함하는 시스템(OLP)(100)의 일례를 도시하고 있다. 상기 시스템(100)은, FAIMS 등의 센서로부터 얻어진 데이터(101)를 해석(解析)하는 시스템이며, 비(非)회로형의 데이터 처리부(10)에 다양한 기능을 시분할 또는 병렬로 실장하는 것이 가능하다. 상기 시스템(100)은, 다양한 어플리케이션의 플랫폼으로서 사용할 수 있다. 어플리케이션의 몇 가지의 예는, 헬스케어 모니터링(100a), 프로세스 모니터링(100b), 시큐리티 모니터링(100c), 소비자(consumer)용의 냄새 비지니스 어플리케이션(100d)이다. 장치(1)에는, FAIMS(이온 이동도 센서), MS(질량 센서) 등의 센서로부터 얻어지는 데이터(101) 외에, 온도, 습도, 압력, 주변 화상, GPS 등의 보조 센서 데이터(102)와, 샘플링 시스템의 데이터, 예컨대, 샘플링 타임, 샘플링 대상에 관한 데이터(103)가 입력된다.
데이터 처리부(10)에는, 예컨대, 측정 대상물의 카테고리 등을 판단하여 해석 조건을 설정하는 파서(parser; 110)와, 베이스 라인(baseline) 보정 등의 데이터 보정을 행하는 유닛(111)과, 피크를 규격화하거나, 노이즈를 저감하는 유닛(113)과, 센서 데이터(101)에 포함되는 피크를 검출하거나 분리하는 유닛(114)과, 분리된 피크로부터 종류(성질, 속성) 및 양을 판단하는 분석 엔진(115)과, SOM(자기조직화 사상(寫像)), 뉴럴 네트워크(neural network) 등의 수법을 이용하여 분석 엔진(115)에 있어서 얻어진 정보로부터 측정원(測定元)의 화학물질을 유추 또는 분류하는 엔진(116)과, 장치 내부의 데이터베이스 또는 네트워크를 경유해서 데이터베이스를 서치하여, 측정 대상의 화학물질을 판단하는 유닛(기능)(117)이 실장된다. 이들 기능은, 원칙적으로, 엘리먼트(20)를 선택하는 정보와, 배선 채널에 액세스하는 타이밍의 정보에 의해 데이터 처리부(10)에 실장된다.
CPU(2)는, 데이터 처리부(10)에 있어서의 처리를 지원하기 위한 기능을 실현한다. 예컨대, CPU(2)는, 참조 데이터베이스에 액세스하는 기능(124), 클라우드(LAN)에 액세스하는 기능(123), 사용자 인터페이스 기능(122), 데이터 취득 제어 기능(121)을 제공한다. 이들 기능은, 데이터 처리부(10)의 빈 공간이나 빈 시간을 이용하여 데이터 처리부(10)에 실장하는 것도 가능하다.
실시간으로 화학물질을 검출 및 분석하기 위해서는 대규모의 병렬 데이터 처리 엔진이 요망된다. 실시간으로 화학물질을 검출 및 분석함으로써, 질환 검출의 바이오 마커(bio-marker)의 동정(同定)이나 정량화(定量化), 건강 상태 혹은 생체 기능의 모니터링, 원격 모니터링 기술에 의한 관리 의료(managed care)의 제공과 같은 획기적인 서비스를 사용자에게 제공하는 것이 가능해진다. 이를 위한 플랫폼은, 지적(知的)이며, 확장 가능하고, 다양한 어플리케이션이나 퍼포먼스에 대한 요구에 부응할 수 있을 필요가 있다. 비회로형의 정보 처리 섹터인 데이터 처리부(10)를 포함하는 장치(1)는, 배선 채널에 복수의 엘리먼트가 자유롭게 액세스할 수 있다는 병렬 처리 하드웨어로서의 기능에 더하여, 타이밍 제어에 의해 동적으로 프로그램 가능하여, 상기의 요구에 맞는 하드웨어이다.
센서 중 하나는, FAIMS(Field Asymmetric ion mobility spectrometer)이다. FAIMS는, 공기 등에 포함되는 미량의 화학 성분의 검출에 적합하며, 경비, 환경 모니터링, 헬스케어, 산업 프로세스, 에너지 등의 광범위에 걸친 어플리케이션에 적용되려 하고 있다. FAIMS 및 MS(질량 센서)는 칩 레벨의 소형 경량인 것이 시장에 제공되기 시작하고 있으며, 칩 레벨로 실현 가능한 장치(1)를 해석용의 플랫폼으로서 채용함으로써, 소형, 경량, 기계적 및 열적으로 견고하여, 낮은 파워의, 칩 레벨에서의 실시간 화학물질 분석 장치를 제공할 수 있다.

Claims (15)

  1. 복수의 엘리먼트와, 상기 복수의 엘리먼트 사이에서 데이터를 전송(轉送)하는 채널을 포함하는 데이터 처리부를 가지는 장치의 제어 방법으로서,
    상기 복수의 엘리먼트의 각각은, 논리 엘리먼트와,
    상기 논리 엘리먼트의 입력측과 채널 간의 접속을 사이클 단위로 온오프(on and off)하여, 데이터를 받아들일 필요가 있는지의 여부를 제어하는 취득 유닛과,
    상기 논리 엘리먼트의 출력측과 상기 채널 간의 접속을 사이클 단위로 온오프하는 포스트 유닛을 포함하며,
    상기 데이터 처리부는, 상기 취득 유닛의 상기 온오프 및 상기 포스트 유닛의 상기 온오프를 제어하는 제어 유닛을 더 포함하며,
    상기 제어 방법은,
    상기 제어 유닛이 상기 취득 유닛의 상기 온오프 또는 상기 포스트 유닛의 상기 온오프를 사이클 단위로 제어하여, 상기 복수의 엘리먼트의 상기 채널에 대한 취득 및 포스트를 사이클 단위로 변경하는 단계를 포함하는, 제어 방법.
  2. 제 1항에 있어서,
    상기 사이클 단위로 변경하는 단계는, 상기 채널의 구성을 사이클 단위로 변경하는 단계를 포함하는, 제어 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 사이클 단위로 변경하는 단계는, 상기 논리 엘리먼트의 처리 내용을 변경하는 단계를 포함하는, 제어 방법.
  4. 제 3항에 있어서,
    상기 사이클 단위로 변경하는 단계는, 상기 제어 유닛이 자율적으로 상기 논리 엘리먼트의 처리 내용, 상기 취득 유닛의 상기 온오프 또는 상기 포스트 유닛의 상기 온오프를 사이클 단위로 제어하는 단계와,
    외부로부터의 로딩에 의해 상기 논리 엘리먼트의 처리 내용, 상기 취득 유닛의 상기 온오프 및 상기 포스트 유닛의 상기 온오프를 사이클 단위로 제어하는 단계를 포함하는, 제어 방법.
  5. 복수의 엘리먼트와, 상기 복수의 엘리먼트 사이에서 데이터를 전송하는 채널을 포함하는 데이터 처리부를 가지며,
    상기 복수의 엘리먼트의 각각은, 논리 엘리먼트와,
    상기 논리 엘리먼트의 입력측과 상기 채널 간의 접속을 사이클 단위로 온오프하여, 데이터 취득의 필요 여부를 제어하는 취득 유닛과,
    상기 논리 엘리먼트의 출력측과 상기 채널 간의 접속을 사이클 단위로 온오프하는 포스트 유닛을 포함하며,
    상기 데이터 처리부는, 상기 취득 유닛의 상기 온오프 및 상기 포스트 유닛의 상기 온오프를 사이클 단위로 제어하는 타이밍 제어 유닛을 더 포함하는 장치.
  6. 제 5항에 있어서,
    상기 복수의 엘리먼트의 각각이 상기 타이밍 제어 유닛을 포함하는, 장치.
  7. 제 5항 또는 제 6항에 있어서,
    상기 타이밍 제어 유닛은, 상기 논리 엘리먼트의 처리 내용을 사이클 단위로 변경하는 유닛을 포함하는, 장치.
  8. 제 5항 내지 제 7항 중 어느 한 항에 있어서,
    상기 데이터 처리부에, 어플리케이션, 알고리즘 또는 논리를 실장(實裝)하는 정보를 격납(格納)하는 메모리를 가지며,
    상기 실장하는 정보는, 상기 복수의 엘리먼트 중 어느 것을 선택하는 정보와,
    상기 취득 유닛의 상기 온오프 및 상기 포스트 유닛의 상기 온오프 중 적어도 어느 하나를 사이클 단위로 제어하는 타이밍 정보를 포함하는, 장치.
  9. 제 8항에 있어서,
    상기 메모리로부터 상기 실장하는 정보의 적어도 일부를, 상기 채널을 통해 상기 복수의 엘리먼트의 각각에 공급하는 유닛을 가지는, 장치.
  10. 제 5항 내지 제 9항 중 어느 한 항에 있어서,
    상기 채널은 배선군(群)을 포함하며,
    상기 취득 유닛은, 상기 배선군 중 어느 배선과의 접속을 사이클 단위로 온오프하는 유닛을 포함하며,
    상기 포스트 유닛은, 상기 배선군 중 어느 배선과의 접속을 사이클 단위로 온오프하는 유닛을 포함하는, 장치.
  11. 제 5항 내지 제 10항 중 어느 한 항에 있어서,
    상기 채널은, 제 1 방향을 따라 배치된 제 1 배선 채널과,
    상기 제 1 방향과 상이한 제 2 방향을 따라 배치된 제 2 배선 채널을 포함하며,
    상기 데이터 처리부는, 상기 제 1 배선 채널 및 상기 제 2 배선 채널에 시분할로 접속하는 배선 박스를 포함하는, 장치.
  12. 제 11항에 있어서,
    상기 배선 박스는, 입력측 박스와, 출력측 박스를 포함하는, 장치.
  13. 제 5항 내지 제 12항 중 어느 한 항에 있어서,
    상기 타이밍 제어 유닛은, 자율적으로 상기 취득 유닛의 상기 온오프 및 상기 포스트 유닛의 상기 온오프를 사이클 단위로 제어하는 기능과,
    외부로부터의 로딩에 의해 상기 취득 유닛의 상기 온오프 및 상기 포스트 유닛의 상기 온오프를 사이클 단위로 제어하는 기능을 포함하는, 장치.
  14. 제 5항 내지 제 13항 중 어느 한 항에 있어서,
    상기 포스트 유닛은, 부가 정보를 포함하는 확장 비트를 출력하는 유닛을 포함하는, 장치.
  15. 제 5항 내지 제 14항 중 어느 한 항에 있어서,
    상기 포스트 유닛은, 동기(同期) 기능을 실현하는 다(多)채널 대응의 출력 스위치를 포함하는, 장치.
KR1020157024247A 2013-03-01 2014-03-03 데이터 처리 장치 및 그 제어 방법 KR20150127608A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2013-040536 2013-03-01
JP2013040536 2013-03-01
PCT/JP2014/001129 WO2014132669A1 (ja) 2013-03-01 2014-03-03 データ処理装置およびその制御方法

Publications (1)

Publication Number Publication Date
KR20150127608A true KR20150127608A (ko) 2015-11-17

Family

ID=51427943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157024247A KR20150127608A (ko) 2013-03-01 2014-03-03 데이터 처리 장치 및 그 제어 방법

Country Status (11)

Country Link
US (3) US9667256B2 (ko)
EP (1) EP2963824B1 (ko)
JP (2) JP6290855B2 (ko)
KR (1) KR20150127608A (ko)
CN (1) CN105027446B (ko)
AU (1) AU2014222148A1 (ko)
CA (1) CA2901062A1 (ko)
EA (1) EA201591613A1 (ko)
IL (1) IL240911A0 (ko)
SG (1) SG11201506674RA (ko)
WO (1) WO2014132669A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107478710A (zh) * 2017-09-14 2017-12-15 安徽理工大学 一种消除Hadamard离子迁移谱基线漂移失真方法
US11360930B2 (en) * 2017-12-19 2022-06-14 Samsung Electronics Co., Ltd. Neural processing accelerator
JP7080065B2 (ja) * 2018-02-08 2022-06-03 株式会社Screenホールディングス データ処理方法、データ処理装置、データ処理システム、およびデータ処理プログラム
WO2021090711A1 (ja) * 2019-11-06 2021-05-14 太陽誘電株式会社 データ処理装置および情報処理装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850564A (en) * 1995-05-03 1998-12-15 Btr, Inc, Scalable multiple level tab oriented interconnect architecture
GB2305759A (en) * 1995-09-30 1997-04-16 Pilkington Micro Electronics Semi-conductor integrated circuit
US5963050A (en) * 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US6020760A (en) 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US6678646B1 (en) * 1999-12-14 2004-01-13 Atmel Corporation Method for implementing a physical design for a dynamically reconfigurable logic circuit
TWI234737B (en) * 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device
EP1416388A4 (en) * 2001-07-12 2006-02-08 Ip Flex Inc INTEGRATED CIRCUIT DEVICE
WO2003023602A1 (fr) * 2001-09-07 2003-03-20 Ip Flex Inc. Systeme de traitement de donnees et procede de commande
EP1659486B1 (en) 2003-08-29 2019-04-17 Fuji Xerox Co., Ltd. Data processing device
WO2006011232A1 (ja) * 2004-07-30 2006-02-02 Fujitsu Limited リコンフィギュラブル回路およびリコンフィギュラブル回路の制御方法
EP1806847B1 (en) 2004-10-28 2010-02-17 IP Flex Inc. Data processing device having reconfigurable logic circuit
US7493426B2 (en) * 2005-01-31 2009-02-17 International Business Machines Corporation Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control
US7268581B1 (en) 2005-04-21 2007-09-11 Xilinx, Inc. FPGA with time-multiplexed interconnect
JP2007041796A (ja) * 2005-08-02 2007-02-15 Mitsubishi Electric Corp コード生成装置
US7486111B2 (en) * 2006-03-08 2009-02-03 Tier Logic, Inc. Programmable logic devices comprising time multiplexed programmable interconnect
JP5420401B2 (ja) 2006-06-21 2014-02-19 エレメント シーエックスアイ,エルエルシー フォールト・トレランスを有する集積回路アーキテクチャ
DE102006032650B3 (de) * 2006-07-13 2007-09-06 Technotrans Ag Farbversorgungsvorrichtung für eine Druckmaschine
EP2063366A4 (en) * 2006-08-31 2012-08-15 Fuji Xerox Co Ltd METHOD AND SYSTEM FOR MOUNTING A CIRCUIT MODEL ON A RECONFIGURABLE DEVICE
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
JP5014899B2 (ja) * 2007-07-02 2012-08-29 ルネサスエレクトロニクス株式会社 再構成可能デバイス
JP5251171B2 (ja) 2008-03-06 2013-07-31 富士通セミコンダクター株式会社 論理回路装置
DE102011121159A1 (de) * 2011-12-15 2013-06-20 Olympus Winter & Ibe Gmbh Resektoskop mit einem Schaft

Also Published As

Publication number Publication date
IL240911A0 (en) 2015-10-29
EA201591613A1 (ru) 2016-05-31
JP6290855B2 (ja) 2018-03-07
EP2963824B1 (en) 2020-08-19
CN105027446A (zh) 2015-11-04
JP6656217B2 (ja) 2020-03-04
JP2018029377A (ja) 2018-02-22
CN105027446B (zh) 2019-06-21
US9667256B2 (en) 2017-05-30
US10009031B2 (en) 2018-06-26
EP2963824A1 (en) 2016-01-06
WO2014132669A1 (ja) 2014-09-04
JPWO2014132669A1 (ja) 2017-02-02
US20180294814A1 (en) 2018-10-11
EP2963824A4 (en) 2016-10-19
CA2901062A1 (en) 2014-09-04
SG11201506674RA (en) 2015-09-29
AU2014222148A1 (en) 2015-09-17
US20170257102A1 (en) 2017-09-07
US20160020771A1 (en) 2016-01-21

Similar Documents

Publication Publication Date Title
JP7379779B2 (ja) 行列処理装置
Bertozzi et al. NoC synthesis flow for customized domain specific multiprocessor systems-on-chip
Mei et al. Architecture exploration for a reconfigurable architecture template
JP6656217B2 (ja) データ処理装置およびその制御方法
CN103019744A (zh) 基于计算中间件的雷达信号处理模块库的构建方法及应用
JP2008537268A (ja) 可変精度相互接続を具えたデータ処理エレメントの配列
JP2010171994A (ja) データ処理装置
US9946551B2 (en) System and method that generate reconfiguration information
TWI644253B (zh) Data processing device and control method thereof
Lari et al. Invasive tightly coupled processor arrays
Galanis et al. A reconfigurable coarse-grain data-path for accelerating computational intensive kernels
CN109828948B (zh) 一种集成人工智能模块的系统芯片
Meisel et al. Design flow for reconfiguration based on the overlaying concept
Baddar EXPLORING THE SIMULATION OF DYNAMIC PARTIAL RECONFIGURATION FOR NETWORK ON CHIP (NOC)-BASED FPGA
Salem et al. FPGA prototyping and design evaluation of a NoC-based MPSoC
Castells-Rufas et al. 128-core Many-Soft-Core Processor with MPI support
Zhang et al. The Reconfigurable Cell Array
Tunbunheng et al. A retargetable compiler based on graph representation for dynamically reconfigurable processor arrays
Duvvuri Design, Development, and Simulation/Experimental Validation of a Crossbar Interconnection Network for a Single–Chip Shared Memory Multiprocessor Architecture
Koch et al. A lightweight framework for runtime reconfigurable system prototyping
Lemaire et al. A semi-distributed control system for application management in a NoC-based architecture
Dally et al. Structured Application-Specific Integrated Circuit (ASIC) Study
Shih et al. Reconfigurable platform for content science research
Ge Distributed Memory Architecture with Hardware Graph Array for Configuring the Network Interconnections.
Yang BENCHMARK OF TRIGGERED INSTRUCTION BASED COARSE GRAINED RECONFIGURABLE ARCHITECTURE FOR RADIO BASE STATION

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid