KR100732438B1 - 연산 장치 및 연산 장치의 제어 방법 - Google Patents

연산 장치 및 연산 장치의 제어 방법 Download PDF

Info

Publication number
KR100732438B1
KR100732438B1 KR1020050010916A KR20050010916A KR100732438B1 KR 100732438 B1 KR100732438 B1 KR 100732438B1 KR 1020050010916 A KR1020050010916 A KR 1020050010916A KR 20050010916 A KR20050010916 A KR 20050010916A KR 100732438 B1 KR100732438 B1 KR 100732438B1
Authority
KR
South Korea
Prior art keywords
switching condition
transition destination
destination address
code
address
Prior art date
Application number
KR1020050010916A
Other languages
English (en)
Other versions
KR20060041779A (ko
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 KR20060041779A publication Critical patent/KR20060041779A/ko
Application granted granted Critical
Publication of KR100732438B1 publication Critical patent/KR100732438B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명은 간단한 구성으로 구성 정보의 어드레스를 고속으로 지정할 수 있는 구성을 제공하는 것을 목적으로 한다.
복수의 연산기 유닛(230), 설정 정보를 저장하는 구성 메모리(210), 구성 메모리에 저장된 구성 정보를 지정하는 천이 목적지 어드레스를 출력하는 시퀀서(100)로 이루어지고, 시퀀서는 연산기 유닛으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 천이 목적지 어드레스를 생성하는 구성이다.

Description

연산 장치 및 연산 장치의 제어 방법 {OPERATION APPARATUS AND OPERATION APPARATUS CONTROL METHOD}
도 1은 종래의 일례의 어레이형 프로세서의 블럭도이다.
도 2는 도 1에 나타내는 상태 관리부에 포함되는 상태 천이 테이블 메모리(CAM)의 설정 내용을 나타내는 도면이다.
도 3은 도 2에 나타내는 상태 천이 테이블 메모리로 설정되어 있는 상태 천이의 예를 나타내는 도면이다.
도 4는 본 발명의 실시예에 의한 연산 장치의 기본 구성을 나타내는 블럭도이다.
도 5는 도 4에 표시되어 있는 상태 천이 테이블의 구성을 설명하기 위한 도면이다.
도 6은 도 4에 표시되어 있는 천이 목적지 어드레스 생성부의 구성을 설명하기 위한 도면이다.
도 7은 본 발명의 제1 실시예에 의한 연산 장치의 개략 구성을 나타내는 블럭도이다.
도 8은 본 발명의 제1 실시예에서 적용되는 OP 코드의 기능에 관해서 설명하기 위한 도면이다.
도 9는 본 발명의 제2 실시예에 의한 연산 장치의 개략 구성을 나타내는 블럭도이다.
도 10은 본 발명의 제2 실시예에서 적용되는 OP 코드의 기능에 관해서 설명하기 위한 도면이다.
도 11은 본 발명의 실시예에 의한 어드레스 천이의 동작예를 설명하기 위한 도면이다.
도 12는 본 발명의 실시예에 의한 천이 목적지 어드레스 생성부의 동작 타임 챠트이다.
도 13은 본 발명의 제3 실시예에 의한 연산 장치의 개략 구성을 나타내는 블럭도이다.
도 14는 본 발명의 실시예에 있어서의 분기 조건 발생 검지 및 그것에 의한 전환 조건 코드 발생을 위해 적용되는 제1 구성을 설명하기 위한 도면이다.
도 15는 본 발명의 실시예에 있어서의 분기 조건 발생 검지 및 그것에 의한 전환 조건 코드 발생을 위해 적용되는 제2 구성을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 있어서의 분기 조건 발생 검지 및 그것에 의한 전환 조건 코드 발생을 위해 적용되는 제3 구성을 설명하기 위한 도면이다.
도 17은 본 발명의 실시예에 있어서의 분기 조건 발생 검지 및 그것에 의한 전환 조건 코드 발생을 위해 적용되는 제4 구성을 설명하기 위한 도면이다.
도 18은 본 발명의 실시예에 있어서의 분기 조건 발생 검지 및 그것에 의한 전환 조건 코드 발생을 위해 적용되는 제5 구성을 설명하기 위한 도면이다.
도 19는 도 14 내지 도 18에 나타내는 구성예의 동작을 나타내는 제1 플로우차트이다.
도 20은 도 14 내지 도 18에 나타내는 구성예의 동작을 나타내는 제2 플로우차트이다.
도 21은 도 14 내지 도 18에 나타내는 구성예의 동작을 나타내는 제3 플로우차트이다.
도 22는 도 14 내지 도 18에 나타내는 구성예의 동작을 나타내는 제4 플로우차트이다.
도 23a는 도 10에 나타내는 OP 코드에 의한 천이 목적지 어드레스 결정 처리 동작의 제1 플로우차트이다.
도 23b는 도 10에 나타내는 OP 코드에 의한 천이 목적지 어드레스 결정 처리 동작의 제2 플로우차트이다.
도 24a는 도 23a, 도 23b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제1 플로우차트이다.
도 24b는 도 23a, 도 23b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제2 플로우차트이다.
도 25는 도 23a, 도 23b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제3 플로우차트이다.
도 26은 본 발명의 제4 실시예에 의한 연산 장치의 블럭도이다.
도 27a는 본 발명의 제4 실시예에서 적용되는 OP 코드의 기능에 관해서 설명 하기 위한 제1 도면이다.
도 27b는 본 발명의 제4 실시예에서 적용되는 OP 코드의 기능에 관해서 설명하기 위한 제2 도면이다.
도 28a는 도 27a, 도 27b에 의한 천이 목적지 결정 동작의 제1 플로우차트이다.
도 28b는 도 27a, 도 27b에 의한 천이 목적지 결정 동작의 제2 플로우차트이다.
도 29a는 도 28a, 도 28b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제1 플로우차트이다.
도 29b는 도 28a, 도 28b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제2 플로우차트이다.
도 30은 도 28a, 도 28b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제3 플로우차트이다.
도 31a는 도 28a, 도 28b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제4 플로우차트이다.
도 31b는 도 28a, 도 28b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제5 플로우차트이다.
도 32는 도 28a, 도 28b에 부가하여, 결정된 천이 목적지 어드레스의 적용도 포함시킨 동작의 제6 플로우차트이다.
도 33은 본 발명에 의한 전환 조건 신호 생성부에 따른 구성을 설명하기 위 한 제1 도면이다.
도 34는 본 발명에 의한 전환 조건 신호 생성부에 따른 구성을 설명하기 위한 제2 도면이다.
도 35는 본 발명에 의한 전환 조건 신호 생성부에 따른 구성을 설명하기 위한 제3 도면이다.
도 36은 본 발명에 의한 전환 조건 신호 생성부에 따른 구성을 설명하기 위한 제4 도면이다.
도 37은 본 발명에 의한 전환 조건 신호 생성부에 따른 구성을 설명하기 위한 제5 도면이다.
도 38은 본 발명에 의한 전환 조건 신호 생성부에 따른 구성을 설명하기 위한 제6 도면이다.
도 39는 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제1 플로우차트이다.
도 40은 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제2 플로우차트이다.
도 41은 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제3 플로우차트이다.
도 42는 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제4 플로우차트이다.
도 43은 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제5 플로우차트이 다.
도 44는 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제6 플로우차트이다.
도 45는 도 33 내지 도 38에 나타내는 구성에 따른 동작의 제7 플로우차트이다.
도 46a는 본 발명의 각 실시예에 있어서의 구성 정보의 예에 관해서 설명하기 위한 제1 도면이다.
도 46b는 본 발명의 각 실시예에 있어서의 구성 정보의 예에 관해서 설명하기 위한 제2 도면이다.
도 47a는 본 발명의 각 실시예에 있어서의 구성 정보의 예에 관해서 설명하기 위한 제3 도면이다.
도 47b는 본 발명의 각 실시예에 있어서의 구성 정보의 예에 관해서 설명하기 위한 제4 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 시퀀서
110 : 상태 제어부
120 : 상태 테이블
130 : 천이 목적지 어드레스 생성부
140 : 상태 번호 레지스터
200 : 연산기부
210 : 구성 메모리
220 : 연산기 유닛간 네트워크
230 : 연산기 유닛군
230-1, …, 230-i, …, 230-n : 연산기 유닛
250 : 전환 조건 신호 생성부
본 발명은 연산 장치 및 연산 장치의 제어 방법에 관한 것으로서, 특히 시퀀서에 의해 연산기 유닛군의 상태를 임의로 제어함으로써 상기 연산기 유닛군이 실행하는 연산 처리 내용을 임의로 제어 가능하게 하는 소위 재구성 가능한 연산기 유닛군의 상태 천이 목적지 결정 방법 및 그 방법을 실현하는 구성을 갖는 재구성 가능한 연산기 유닛군으로 이루어진 연산 장치에 관한 것이다.
재구성 가능한 연산기 유닛군으로 이루어진 연산 장치로서, 예컨대 특허 문헌 1에 개시된 어레이형 프로세서가 제안되고 있다. 여기에 개시되고 있는 기술에 있어서는 연산기 유닛군의 다음 상태를 결정할 때, 소위 CAM(context address memory)을 이용하고 있고, CAM의 출력값에 의해 연산기 유닛군의 다음 상태가 결정된다.
도 1은 상기 공보에 개시된 연산 장치에 있어서 어레이형 프로세서를 나타내는 도면이다. 동 도면에 있어서, 어레이형 프로세서(1)는 연산 제어 버스(2103), 이벤트 통지 버스(2104) 및 외부 이벤트 버스(2107)가 전기적으로 접속된 상태 천이 관리부(2101)와, 이 상태 천이 관리부(2101)로부터의 제어에 따른 연산 처리를 행하는 복수의 프로세서 소자(PE)(2105) 및 전기적 접속을 행하는 복수의 프로그래머블 스위치 소자(PSE)(2106)를 이차원 어레이형으로 전기적으로 접속하여 구성된 데이터 경로부(2102)를 독립적으로 구비한 구성으로 되어 있다. 상태 천이 관리부(2101)는 연산 상태의 천이를 관리하는 상태 천이 수단으로서 동작한다.
도 3은 상기 어레이형 프로세서(1) 중 도 2에 나타내는 상태 천이 테이블 메모리(2202)에 기록된 상태 천이예를 나타내고 있다. 여기에 표시된 상태 천이예에 관하여 이하에 설명한다. 우선, 동 도면에 있어서, 현재 상태 번호(2204)가 ST-01인 경우(도 2 참조), 다음 상태 번호(2205)는 무조건으로 ST-02가 된다(도 2 참조). 이 동작을 상태 천이 테이블 메모리(2202)에 기술하기 위해서는 디폴트 상태 천이 테이블(1102)에 "현재 상태 번호(2204)를 ST-01, 다음 상태 번호(1107)을 ST-02"로 한 엔트리를 작성하는 것으로 실현된다.
계속해서, 동작시에는 현재 상태 번호(2204)가 ST-01이면 이벤트 상태 천이 테이블(1101)에 일치하는 엔트리가 존재하지 않기 때문에 이벤트 일치 신호(1104)는 출력되지 않고, 디폴트 상태 천이 테이블(1102)에 있어서 현재 상태 번호(2204)가 ST-01인 엔트리가 반드시 유효가 되어, 다음 상태 번호(1107)가 ST-02가 되어, 다음 상태 번호(2205)로서 출력된다.
다음에, 현재 상태 번호(2204)가 ST-02인 경우에는, 조건에 의해 다음 상태 번호(1106)가 ST-02, ST-03, ST-05, ST-11의 네 개 중 어느 하나가 된다(도 2 참조). 이벤트 EV-10이 입력된 경우에는 상태 ST-03으로 천이하기 때문에, 이벤트 상태 천이 테이블(1101)에 "현재 상태 번호(2204)를 ST-02, 이벤트 식별 코드(2206)를 EV-10, 다음 상태 번호(1106)를 ST-03"으로 한 엔트리를 작성한다.
이와 마찬가지로, 이벤트 EV-18이 입력된 경우에는 상태 ST-05로 천이하기 때문에, "현재 상태 번호(2204)를 ST-02, 이벤트 식별 코드(2206)를 EV-18, 다음 상태 번호(1106)를 ST-05"로 한 엔트리, 이벤트 EV-21이 입력된 경우에는 상태 ST-11로 천이하기 때문에, "현재 상태 번호(2204)를 ST-02, 이벤트 식별 코드(2206)를 EV-21, 다음 상태 번호(1106)를 ST-11"로 한 엔트리를 각각 이벤트 상태 천이 테이블(1101)에 작성한다.
그 이외의 경우에는 다음 상태 번호(2205)가 ST-02이기 때문에, 디폴트 상태 천이 테이블(1102)에, "현재 상태 번호(2204)를 ST-02, 다음 상태 번호(1107)를 ST-02"로 한 엔트리를 작성한다.
전술한 테이블의 기술에 의해, 예컨대, 현재 상태 번호(2204)가 ST-02인 경우에 이벤트 식별 코드(2206)에 EV-21이 입력되면, 이벤트 상태 천이 테이블(1101)에 있어서, 이 두 개의 조합에 일치하는 엔트리가 유효가 되어, ST-11이 다음 상태 번호(2205)로서 출력된다. 그 때, 이벤트 상태 천이 테이블(1101)에서 일치가 발생하고 있기 때문에 이벤트 일치 신호(1104)가 출력되고, 디폴트 상태 천이 테이블(1102)로부터 출력되는 현재 상태 번호(2204)의 ST-02에 대응한 다음 상태 번호(1107)의 ST-02는 파기된다.
다음에, 현재 상태 번호(2204)가 ST-02이고, 이벤트 식별 코드(2206)에 EV- 10, EV-18, EV-21의 어느 것도 입력되지 않은 경우, 이벤트 일치 신호(1104)가 출력되지 않고, 디폴트 상태 천이 테이블(1102)로부터 현재 상태 번호 ST-02에 대응한 ST-02가 다음 상태 번호(2205)로서 출력된다.
또한, 상기한 어느쪽의 경우에 있어서도 강제 이벤트 식별 코드(2210)에 IRQ-01이 입력된 경우, 강제 상태 천이 테이블(1103)에 있어서 IRQ-01에 대응한 ST-01이 다음 상태 번호(2205)로서 출력된다(도 2 참조). 이 경우에는 강제 이벤트 일치 신호(1105)가 출력되기 때문에, 이벤트 상태 천이 테이블(1101)의 출력 및 디폴트 상태 천이 테이블(1102)의 출력은 파기되고, 강제 상태 천이 테이블(1103)로부터의 다음 상태 번호(1109)의 ST-01이 유효가 된다.
(특허 문헌 1) 특허 공개 2001-312481호 공보
그러나, 전술한 종래예에 있어서는 프로세서 소자의 상태 천이 목적지의 결정을 위해, 도 2와 같이 전술한 바와 같은 구성을 갖는 CAM이 사용되고 있다. 일반적으로 CAM은 메모리로서는 매우 큰 크기를 가지고, 가격면의 문제점이 생각된다. 또한, 일반적으로 CAM의 메모리 액세스 속도는 ROM, RAM 등의 통상의 메모리보다도 느리고, 그 결과, 연산기 유닛군의 다음 상태를 결정하는 데 요구되는 레이턴시가 비교적 길어진다고 하는 문제점도 생각된다.
본 발명은 상기 과제를 감안하여 재구성 가능한 연산기 유닛군의 상태 천이 목적지 결정을 위해 CAM과 같이 일반적으로 크기가 크고 액세스 속도의 향상이 곤 란한 메모리를 적용하지 않고, 비교적 간단한 구성의 RAM, ROM 등의 통상의 메모리를 사용하는 동시에, 논리 연산으로 천이 목적지 어드레스를 결정하는 수법을 채용함으로써 비교적 구성이 간단하고 또한 상태 천이 목적지의 결정을 신속히 행하는 것이 가능한 재구성 가능한 연산기 유닛군의 상태 천이 목적지 결정 방법 및 그 방법을 실현하는 연산 장치를 제공하는 것을 목적으로 한다.
본 발명에 의하면, 연산기 유닛군의 상태 천이를 제어하는 시퀀서가 소정의 태스크를 실시하기 위한 연산기 유닛군의 상태를 지정하기 위한 정보이며, 연산기 유닛군의 소정의 상태마다 설치된 설정 정보로 이루어진 구성 정보 중 해당 정보를 지정하는 천이 목적지 어드레스를 출력하는 기능을 갖는다. 이 구성 정보는 미리 구성 메모리에 저장되어 있다. 즉, 시퀀서는 소정의 태스크를 실현하기 위해서 미리 등록된 정보(즉 상태 테이블에 저장된 OP 코드 등)와 연산기 유닛군으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하는 구성으로 이루어진다.
이 구성에 의해, 시퀀서는 소정의 태스크를 실현하기 위해서 미리 등록된 정보와 연산기 유닛군으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하기 때문에, CAM과 같은 크기가 큰 메모리를 적용할 필요가 없고, 상태 천이 목적지 어드레스를 신속히 결정 가능하며, 또한 시퀀서의 구성의 간소화가 가능하고, 연산 장치 전체의 크기를 축소 가능하며 또한 저가격화가 가능하다.
이하에, 도면과 같이 본 발명의 실시예에 관해서 설명한다.
도 4는 본 발명의 실시예에 의한 재구성 가능한 연산기 유닛군으로 이루어진 연산 장치의 블럭도이다. 동 도면에 나타낸 바와 같이, 동 연산 장치는 실제로 원하는 연산 처리 동작을 행하는 연산기 유닛군(230-1 내지 230-n)을 포함하는 연산 기초부(200)와, 동 연산기 유닛군의 상태, 즉 연산기 유닛마다 어떠한 연산 처리 동작을 실행할 수 있는 상태로 천이시킬 것인지에 관하여 제어하기 위한 시퀀서(100)로 이루어진다. 연산기부(200)에 포함되는 연산기 유닛군(230-1 내지 230-n)의 각각의 연산기 유닛(230-i)은 소위 재구성 가능한 구성을 가지고, 외부로부터의 명령 등(이하, 구성 정보라 칭한다)을 수신하여 그 상태가 천이 가능하고, 그 결과 하나의 연산기 유닛이 그 때마다 여러 가지 연산 처리 동작, 즉 가감산, 승제산 등을 선택적으로 실행 가능하다(도 46a 내지 도 47b와 함께 후술).
또한, 연산기부(200)는 상기 연산기 유닛군(230-1 내지 230-n) 이외에, 이들 사이의 전기적 접속을 선택적으로 제어 가능하게 실시하는 연산기 유닛간 네트워크(220)를 포함한다. 또한, 연산 기초부(200)는 구성 메모리(210)를 포함한다. 이 구성 메모리(210)는 상기 연산기 유닛군(230-1 내지 230-n)과 연산기 유닛간 네트워크(220)와의 상태를 포함하는 연산기부(200)의 상태를 제어하기 위한 구성 정보가 어드레스마다 미리 저장되어 있고, 시퀀서(100)로부터의 어드레스 지정, 즉 천이 목적지 어드레스의 지정에 의해 해당 어드레스에 저장된 구성 정보가 연산기 유닛군(230-1 내지 230-n) 및 연산기 유닛간 네트워크(220) 등에 대하여 공급됨으로써 실제로 적용된다.
각 연산기 유닛군(230-1 내지 230-n)에서는 상기 구성 정보에 의해 그 상태가 결정되어, 즉 어떠한 연산 처리 동작을 실행 가능한 상태로 할 것인지가 결정되거나, 또는 실제의 연산 처리 동작이 기동된다. 또 동시에 구성 정보에 의해, 연산기 유닛간 네트워크(220)에 의한 각 연산기 유닛(230-1 내지 230-n) 사이의 전기적 접속 상태가 결정된다. 그 결과, 연산기부(200)는 각 연산기 유닛(230-1 내지 230-n)이 협동하여 전체에서 원하는 태스크를 실행하기 위한 일련의 또는 복수의 프로세스에 의한 연산 처리 동작을 실행 가능한 상태가 되거나, 또는 더욱 그 실행이 기동된다. 실제의 해당 태스크를 실행하기 위한 연산 처리 동작의 실행은 상기 동일한 구성 정보에 의해 기동 및 진행되거나, 또는, 연산기부(200)에 대한 외부로부터의 데이터의 입력이 트리거가 되어 기동 및 진행된다.
시퀀서(100)는 미리 하나 또는 복수의 원하는 태스크마다의 정보가 저장되는 상태 테이블(120), 상태 테이블(120)로부터 판독된 태스크 정보에 기초하여 논리 연산으로 상기 구성 메모리 내의 천이 목적지 어드레스를 지정하는 구성 정보를 출력하는 천이 목적지 어드레스 생성부(130), 구성 메모리가 출력하는 구성 정보에 의한 연산기부(200)의 현재 적용중인 상태의 상태 번호를 기억하는 상태 번호 레지스터(140) 및 상태 테이블(120)로부터 소정의 조건 정보를 독출하여 천이 목적지 어드레스 생성부(130)에 공급하는 상태 제어부(110)를 갖는다. 상태 제어부(110)는 연산기부(200)에 의한 연산 처리 동작의 결과로서 발생하는 소정의 전환 조건 신호(상세한 것은 도 14 이후의 도면과 함께 후술)와 상기 상태 번호에 기초하여 상태 테이블(120)에 저장된 소정의 태스크에 관한 조건 정보를 독출, 이것을 천이 목적지 어드레스 생성부(130)에 공급한다.
이하, 각 부분의 동작에 관하여 더욱 구체적으로 설명한다. 도 5는 상태 테이블(120)의 구성을 설명하기 위한 도면이며, 도 6은 천이 목적지 어드레스 생성부(130)의 구성을 설명하기 위한 도면이다. 본 발명에서는 도 1 내지 도 3과 같이 설명한 종래 기술과 달리, 연산기 유닛군(230-1 내지 230-n)의 다음 상태를 결정할 때에 CAM을 이용하지 않고, 현재 상태를 나타내는 구성 메모리 내의 천이 목적지 어드레스, 즉 상태 번호 레지스터(140)의 출력을 상태 테이블(120)에 대한 입력 어드레스로서 사용한다. 그리고, 본 발명에서는 이 입력 어드레스에 대하여 상태 천이 목적지를 복수의 것 중에서 선택 가능하게 하기 때문에 천이 목적지 어드레스 생성부(130)에 의해 논리 회로에 의한 논리 연산에 의해 천이 목적지 어드레스를 생성하는 구성을 설치하고 있다.
도 5에 나타낸 바와 같이, 상태 테이블(120)의 각 엔트리는 OP 코드와 점프 어드레스 오프셋값을 갖는다. OP 코드란 천이 모드를 지정하기 위한 코드이다. 구체적으로는, 예컨대 (a) 인크리멘트, (b) 무조건 분기 및 (c) 조건 분기의 세 종류의 천이 모드 중 어느 하나를 지정 가능하게 하는 코드이다. 이 중 (a)의 인크리멘트는 축차 실시 모드에 해당하여, 단순히 현재 상태 번호를 1 증가하여, 직후의 천이 목적지 어드레스를 적용하는 모드이다. (b)의 무조건 분기는 무조건으로 점프 어드레스 오프셋값분의 어드레스를 증가하여, 해당 천이 목적지 어드레스를 적용하는 모드이다. (c)의 조건 분기의 경우, 소정의 조건 성립시에 상기 (b)의 모드의 경우와 마찬가지로 분기를 행하고(도 14 이후의 도면과 함께 후술), 비성립시에는 (a)와 마찬가지로 단순히 어드레스의 인크리멘트를 행한다.
점프 어드레스 오프셋값은 상기 조건 분기 발생[상기 (b), (c)의 모드]시의 천이 목적지 어드레스의 기본이 되는 베이스 어드레스 또는 무조건 분기 목적지의 어드레스를 나타낸다. 또한 상기 (c)의 조건 분기의 모드에 관계하고, 분기 조건 성립시의 분기 목적지의 어드레스는 상태 천이 테이블(120)이 해당하는 엔트리에 기재된 천이 목적지 어드레스의 기본이 되는 베이스 어드레스(점프 어드레스 오프셋값)와, 코드화된 분기 조건 신호값(예컨대 도 4에 나타내는 「전환 조건 신호」에 포함되는 전환 조건 코드)과의 합으로서 계산된다(상세한 것은 후술). 분기 조건이 성립하지 않는 경우에는 단순히 "상태 번호 + 1"의 연산을 행한다(축차 실행 모드).
이하, 이들의 상태 테이블(120) 및 천이 목적지 어드레스 생성부(130)의 동작에 관하여 도 6과 같이 상세히 설명한다.
상태 테이블(120)에는 상기한 바와 같이 OP 코드와 점프 어드레스 오프셋값이 각 엔트리로서 등록되어 있다. 이것에 대하여, 상태 제어부(110)로서의 어드레스 디코더는 상태 번호 레지스터(140)로부터 현재의 상태 번호(구성 메모리 어드레스)를 독출, 이것에 따라서 상태 테이블(120)중 해당하는 엔트리를 지정한다.
이것을 수신한 상태 테이블(120)은 해당 엔트리의 OP 코드와 점프 어드레스 오프셋값을 천이 목적지 어드레스 생성부(130)에 공급한다. 또한, 연산기부(200)로부터 공급되는 전환 조건 신호에 포함되는 전환 조건 코드 신호와 전환 조건 발생 신호가 또한 천이 목적지 어드레스 생성부(130)에 공급된다(도 6 참조). 그리고, 또한 상태 번호 레지스터(140)로부터 현재의 상태 번호(현재 상태 어드레스)가 천 이 목적지 어드레스 생성부(130)에 공급된다.
천이 목적지 어드레스 생성부(130)에서는 이들 데이터를 수신하여, 도 6에 나타내는 논리 회로(131)가 OP 코드에 따라서 상기 천이 모드 (a) 내지 (c)의 어느 하나를 판단한다. 그 결과, (a)의 축차 실행 모드의 경우, 현재 상태 어드레스에 대하여 가산기(132)로「1」이 가산된 것을, 그대로 다음 상태를 지정하는 천이 목적지 어드레스로서 구성 메모리(210)에 대하여 출력한다.
다른 한편, OP 코드에 지정이 상기 (b)의 무조건 분기 모드의 경우, 논리 회로(131)는 공급된 점프 어드레스 오프셋값을 다음 상태를 지정하는 천이 목적지 어드레스로서 구성 메모리(210)에 대하여 출력한다.
다른 한편, (c)의 조건부 분기 모드의 경우, 상기한 (b)의 경우와 같이 논리 회로(131)는 공급된 점프 어드레스 오프셋값과, 상기 전환 조건 신호에 포함되는 전환 조건 코드에 의해 표시되는 값을 가산기(133)에 부가하여, 그 결과를 다음 상태를 지정하는 천이 목적지 어드레스로서 구성 메모리(210)에 대하여 출력한다. 또한, 이 경우 상기 전환 조건 신호에 포함되는 전환 조건 발생 신호의 수신을 조건으로서 해당 천이 목적지 어드레스를 구성 메모리(210)에 대하여 출력한다. 이 전환 조건 발생 신호는 연산기부(200)에 있어서의 연산 처리의 과정에서 소정의 조건 성립시에 발생되는 것이다(후술).
또한, 상기 전환 조건 신호의 발생에 관해서는 나중에 도 14 이후의 도면과 함께 더욱 상세히 설명한다.
도 7은 본 발명의 제1 실시예에 의한 연산 장치의 구성을 나타낸다. 도면 중 , 이미 도 4와 함께 설명한 것과 같은 구성 요소에 관해서는 동일한 부호를 붙여, 그 설명을 생략한다. 이 예의 경우도 도 4의 경우와 같이 시퀀서(100), 연산기 유닛군(230-1 내지 230-n) 및 구성 메모리(210)가 설치되어 있다.
또한, 시퀀서(100)도 상기와 같이 상태 제어부(110), 상태 테이블(120), 상태 번호 레지스터(140), 천이 목적지 어드레스 생성부(130)로 구성된다. 또한, 상태 테이블(120)에는 외부에서 상태 테이블 정보(상기 태스크 정보)를 수신하는 입력 단자를 갖고 있고, 상태 테이블 정보는 소정의 상태 테이블 정보 로드부(150)에 의해 로드된다.
구성 메모리(210)에 대해서도 또한 소정의 구성 메모리 로드부(240) 경유로 구성 정보를 외부에서 로드 가능한 구성이 된다.
연산기부(200)는 또한 복수의 연산기 유닛(230-1 내지 230-n)과 이들 연산기 유닛 사이를 접속하는 네트워크(220)를 포함한다. 또한, 도시는 생략하지만, 그 이외에 데이터 메모리, 데이터 I/0 등 데이터 처리에 필요한 기본적인 구성 요소도 포함되어 있는 것으로 한다.
상기한 바와 같이, 각 연산기 유닛(230-1 내지 230-n)의 동작 모드나, 연산기 유닛 사이의 접속 상태는 구성 정보에 의해 설정된다. 이 구성 정보가 구성 메모리(210)로부터 판독되어, 각 연산기 유닛(230-1 내지 230-n) 및 네트워크(220)에 공급되는 것에 의해 각 연산기 유닛의 동작 모드, 연산기 사이의 접속 상태가 결정된다. 그 독출 타이밍과, 판독되는 구성 메모리 어드레스는 전술한 바와 같이(그리고 후술하는 바와 같이), 시퀀서(100)에 의해 생성된다.
또한, 이들 연산기 유닛군으로부터는 연산기 유닛군 내에서 생성된 상기 전환 조건 신호가 출력된다. 전환 조건 신호는 후술하는 바와 같이 연산기 유닛군 내에서의 분기 조건 발생시나, 루프 처리의 완료시에 출력된다. 상기 도 5에 나타내는 상태 테이블(120)의 구성은 또한 본 발명의 제1 실시예에 의한 상태 테이블의 구성예를 나타낸다. 또한, 도 8은 본 발명의 제1 실시예에 의한 상기 OP 코드에 의한 천이 목적지 어드레스 생성의 방법에 관해서 나타낸다. 또한, 상기 도 6에 나타내는 천이 목적지 어드레스 생성부(130)의 구성은 본 발명의 제1 실시예에 의한 천이 목적지 어드레스 생성부(130)의 구성예를 나타낸다.
도 7의 구성에 있어서, 상태 제어부(110)에 의해 상태 번호 레지스터(140)로부터 현재 적용되고 있는 구성 메모리 중 해당 천이 목적지 어드레스 판독되고, 이것에 따라서 도 5에 표시되는 상태 테이블(120)의 해당하는 어드레스에 등록되어 있는 OP 코드와 점프 어드레스 오프셋값이 판독된다. 그리고, 여기서 판독된 OP 코드와 점프 어드레스 오프셋값은 도 6에 표시되는 천이 목적지 어드레스 생성부(130)에 공급된다.
천이 목적지 어드레스 생성부(130)에서는 논리 회로(131)로 그 지시 내용에 따라서, 주어지는 정보, 즉 현재 적용되고 있는 구성 메모리 내의 천이 목적지 어드레스(현재 상태 어드레스), 상기 점프 어드레스 오프셋값, 및 전환 조건 신호를 논리 연산하여, 그 연산 결과를 다음 천이 목적지 어드레스로서 구성 메모리(210)에 대하여 출력한다. 구체적으로는, 도 8에 나타낸 바와 같이, OP 코드가 00인 경우, 현재 상태 어드레스에 대하여 +1한 결과, 즉 다음 어드레스를 출력한다. OP 코 드가 01인 경우, 무조건으로 점프 어드레스 오프셋값으로 하고 싶은 분기 목적지 어드레스의 값을 출력한다. OP 코드가 11인 경우, 전술한 바와 같이 소정의 분기 조건 성립시에는 점프 어드레스 오프셋값에 전환 조건 신호에 포함되는 전환 조건 코드값을 부가한 값으로 하고 싶은 분기 목적지 어드레스의 값을 출력한다. 다른 한편, 소정의 분기 조건의 비성립시에는 OP 코드 00인 경우와 같이 현재 상태 어드레스에 +1(축차 실행 모드 상당)하여, 거기서 얻어진 값을 출력한다.
도 9는 본 발명의 제2 실시예에 의한 구성을 나타낸다. 동 도면에서는 천이 목적지 어드레스 생성부(130)에 관하여 상세히 나타내고 있다. 제2 실시예에서는 상기 제1 실시예의 구성에 부가하여, 베이스 어드레스 레지스터(138-2), 점프 레지스터(138-3)를 부가하고 있다. 베이스 어드레스 레지스터(138-2)는 현재 실행되고 있는 애플리케이션에 관한 베이스 어드레스를 유지한다. 따라서, 만일 사용자의 지시 등에 의해 일시적으로 실행하여야 할 애플리케이션의 전환이 이루어짐으로써 원래의 애플리케이션의 실행이 중단된 경우라도 그것이 종료하여 재차 원래의 애플리케이션을 실행할 때, 여기서 베이스 어드레스 레지스터에 유지되고 있는 값을 적용 하는 것으로 중단시의 상태로부터 재개 가능하게 된다.
점프 레지스터(138-3)는 연산기 유닛군(230)으로부터 그 연산 처리의 결과가 기록되는 레지스터이며, 상기 연산 처리의 결과에 따라서 동적으로 점프 목적지를 지정하는 것을 가능하게 하기 위한 구성을 제공한다. 또한, 점프 레지스터(138-3)에는 상기 전환 조건 코드의 값도 입력될 수 있다.
도 10은 제2 실시예에 있어서의 OP 코드마다의 동작예를 나타낸다. OP 코드 가 000인 경우에는 천이 목적지 어드레스는 현재의 상태 번호에 +1한 것이 된다. 이 때에는 상태 테이블(120) 내의 점프 어드레스 오프셋 필드의 값은 무효이다. 즉, 동일한 값은 사용되지 않는다.
OP 코드가 001인 경우, 무조건 점프 모드(1)가 된다. 이 경우, 천이 목적지는 상태 테이블(120)내의 점프 어드레스 오프셋값에 상기 베이스 어드레스값, 즉 베이스 어드레스 레지스터의 값을 더한 것이 된다.
OP 코드 010인 경우에는 조건 분기 모드(1)가 되어, 연산기 유닛군 내의 처리로 소정의 분기 조건이 성립하면, 상기 전환 조건 신호 생성부(250)에 그 정보가 보내진다. 전환 조건 신호 생성부(250)는 후술하는 바와 같이 소정의 구성마다 그 동작이 설정되어 있고, 그 정보를 기초로 상기 전환 조건 코드 신호와 전환 조건 발생 신호를 생성한다. 그리고, 전환 조건 발생 신호를 상태 제어부(140)와 천이 목적지 어드레스 생성부(130)에 보내는 동시에, 전환 조건 코드를 천이 목적지 어드레스 생성부(130)에 보낸다. 천이 목적지 어드레스 생성부(130)에서는 "베이스 어드레스 + 점프 어드레스 오프셋 + 전환 조건 코드"의 연산으로 천이 목적지 어드레스를 계산한다. 분기 조건이 성립하지 않는 경우에는 OP 코드 000의 경우와 동일한 동작(축차 실행 모드 상당)이 된다.
OP 코드 011인 경우에는 조건 분기 모드(2)가 적용된다. 이 모드에서는 연산기 유닛군 내의 처리로 분기 조건이 성립하면, 전환 조건 신호 생성부(250)에 그 정보가 보내진다. 상기한 바와 같이, 전환 조건 신호 생성부(250)는 구성마다 그 동작 형태가 설정되어 있고, 그 정보를 기초로 전환 조건 발생 신호를 생성한다. 그리고, 전환 조건 발생 신호를 상태 제어부(140)와 천이 목적지 어드레스 생성부(130)로 보낸다. 천이 목적지 어드레스 생성부(130)에서는 "베이스 어드레스 + 점프 어드레스 오프셋 + 점프 레지스터값"의 연산으로 천이 목적지 어드레스를 계산한다. 점프 레지스터값은 분기 조건이 성립하기 이전에, 또는 분기 조건 성립시에 점프 레지스터(138-3)에 연산기 유닛측에서 기록된다. 분기 조건이 성립하지 않는 경우에는 OP 코드 000의 경우와 동일한 동작이 된다.
분기 조건(101)의 경우, 무조건 점프 모드(2)가 된다. 이 경우, 천이 목적지 어드레스는 상태 테이블(120) 내의 점프 어드레스 오프셋값에 베이스 어드레스와 점프 레지스터값을 더한 것이 적용된다.
도 11은 상기한 바와 같은 프로세스로 결정되는 천이 목적지 어드레스의 실제 천이의 예를 나타낸다. 이 예에서는 베이스 어드레스는 0 번지로 되어 있다. 동 도면 중, 최초의 3행까지는 모두 OP 코드가 000이기 때문에 축차 실행 모드가 적용되고, 구성 메모리 중 적용되는 어드레스는 순차적으로 하나씩 인크리멘트되어 간다(OxO0 내지 0x02).
4행째는 OP 코드가 010이기 때문에 조건 분기 실행 모드(1)가 되어, 이 경우에는 연산기 유닛군으로부터의 조건 성립의 유무는 「불성립」인 경우이며, 그 결과 축차 실행 모드가 되어, 점프 오프셋값 0x080은 무시되고, 구성 메모리 중 적용 어드레스는 0x03이 된다.
그 후, 5 내지 6행째는 OP 코드 000이기 때문에 축차 실행 모드가 되어, 구성 메모리의 적용 어드레스는 0x04 내지 0x05로 순차적으로 인크리멘트되어 간다. 다음에, 상태 테이블(120)로부터 OP 코드 010이 주어지고, 이 경우에는 연산기 유닛군으로부터의 조건 성립의 유무는 「성립」인 경우이며, 그 결과 천이 목적지 어드레스는 상기한 바와 같이 "베이스 어드레스 + 전환 조건 코드 + 점프 오프셋 어드레스"가 되고, "0 + 1 + 100" = 101이기 때문에 적용 어드레스는 Ox101이 된다(도 11 중, 화살표 「조건 점프」). 또한, 여기서는 「전환 조건 코드」에 의해 어드레스 0x100 내지 0x103 중 어느 하나가 선택될 수 있게 된다.
다음에, OP 코드 O01이 주어지고, 무조건 점프 모드가 되어, 적용 천이 목적지 어드레스는 "점프 오프셋 어드레스 + 베이스 어드레스"이기 때문에 0x140 + 0 = 0x140가 얻어지고, 어드레스 0x140으로 천이한다. 그리고, 다음 OP 코드는 000이기 때문에 순차 0x140 내지 0x143으로 축차 실행 모드로 천이해 가고, 그곳에서 OP 코드 O11이 주어진다.
즉, 조건 실행 모드(2)가 되어, 이 경우 천이 목적지 어드레스는 "점프 어드레스 오프셋 + 베이스 어드레스 + 점프 레지스터값"이며, 이 경우 연산기 유닛군측에서는 「분기 조건 성립」하고, 그 때의 상기 점프 레지스터(138-3)값은 0x180이었다고 하면, 0x000 + 0 + 0x180 = 0x180이 얻어진다. 그 결과, 어드레스 0x180으로 천이한다. 여기서는 OP 코드 000에 의한 축차 실행 모드가 적용되고, 순차 어드레스가 0x180 내지 0x181로 천이된다.
도 12에 상기 천이 목적지 어드레스 생성부(130)의 동작 타임 차트의 예를 나타낸다. 이것은 도 11의 예에 대응하고 있고, 상태 번호 레지스터(140)의 값, 즉 현재 상태 번호가 0x006으로부터 0x007로 천이하는 시점으로부터의 동작을 나타내 고 있다. 상태 제어부(110)는 이 번호를 독출, 이것에 의해 상태 테이블(120)로부터 해당 엔트리의 OP 코드 010과 점프 어드레스 오프셋값 0x100을 독출하여 천이 목적지 어드레스 생성부(130)에 공급한다. 천이 목적지 어드레스 생성부(130)에서는 이것을 수신하여 전술한 바와 같은 연산을 행하여 천이 목적지 어드레스 0x101을 얻는다. 이것이 구성 메모리(210)에 공급되고, 구성 메모리(210)로부터 상기 어드레스에 등록되어 있는 구성 정보가 연산기 유닛군(230)으로 공급되어, 그 결과 연산기 유닛군(230)이 해당 상태로 천이한다.
그 동안, 천이 목적지 어드레스 생성부(130)의 출력에 의해 상태 번호 레지스터(140)의 값은 0x101로 갱신된다. 그 결과, 상태 테이블의 해당 엔트리의 OP 코드 001과 점프 어드레스 오프셋 0x140이 천이 목적지 어드레스 생성부(130)에 공급된다. 그 결과, 상기한 바와 같이 연산에 의해 천이 목적지 어드레스 생성부(130)로부터 천이 목적지 어드레스로서 0x140이 출력된다.
또한, 본 실시예에서는 베이스 어드레스 레지스터(138-2)를 이용하고 있지만, 애플리케이션을 동시에 복수개 상태 테이블 및 구성 메모리에 두는 사용 방법을 행하지 않는 경우, 불필요하다. 또한, 점프 어드레스 오프셋값의 정의를 이 예에서는 베이스 어드레스에 부가하는 것으로 하고 있지만, 현재 상태의 어드레스에 점프 어드레스 오프셋값을 부가하는 것으로 천이 목적지 어드레스를 얻는 방식으로 하는 것도 또한 가능하다.
도 13은 본 발명의 제3 실시예를 나타낸다. 여기서는 도 9에 표시되는 제2 실시예의 경우와 달리, 상기한 바와 같이 전환 조건 코드가 점프 레지스터(138-3) 에 입력되는 구성으로 되어 있다. 이 때의 OP 코드에 의한 동작 모드는 OP 코드 010의 모드와 OP 코드 011의 모드가 조합된 것이 된다. 즉, 이 경우 천이 목적지 어드레스로서는 "베이스 어드레스 + 점프 어드레스 오프셋 + 점프 레지스터값"의 연산 결과가 적용되게 된다.
이하, 본 발명의 상기 각 실시예의 구성에 있어서의 전환 조건 신호 생성부(250)의 구체적 구성예에 관하여 도 14 내지 도 18과 같이 설명한다. 도 14는 본 발명의 상기 각 실시예의 구성에 있어서의 분기 조건 발생 검지 및 전환 조건 코드의 발생을 위한 제1 구성예를 나타낸다. 이 예에서는 특별히 분기 조건 발생 검지 및 전환 조건 코드의 발생을 위한 전용의 연산기 유닛을 설치하지 않고, 구성 메모리(210)에 저장하는 구성 정보의 설정에 의해 연산기 유닛군(230) 내의 소정의 연산기 유닛(230-a, 230-b, 230-c)과 스위치[연산기 유닛간 네트워크(220)에 포함되는 스위치를 이용 가능]를 이용한다. 이 예의 경우, 연산기 유닛군(230)에는 특별히 특수한 기능을 설치할 필요가 없다.
도 15는 본 발명의 상기 각 실시예의 구성에 있어서의 분기 조건 발생 검지 및 전환 조건 코드의 발생을 위한 제2 구성예를 나타낸다. 이 예에서는 소정의 연산기 유닛(동 도면 중, 230-a)에 조건 판정 기능을 설치하여, 이것을 이용하여 분기 조건 발생 검지와 전환 조건 코드의 생성을 행한다. 예컨대, 연산 결과가 제로가 되면, 조건 판정 출력이 나온다고 하는 구조를 연산기 유닛(230-a)에 갖게 한다.
도 16은 본 발명의 상기 각 실시예의 구성에 있어서의 분기 조건 발생 검지 및 전환 조건 코드의 발생을 위한 제3 구성예를 나타낸다. 이 예에서는 상기 제2 구성예와 같이 연산기 유닛(230-a, 230-b)에 조건 판정 기능을 설치하여, 이것을 이용하여 분기 조건 발생 검지와 전환 조건 코드의 생성을 행한다. 단, 이 경우에는, 복수의 연산기 유닛(230-a, 230-b)으로부터의 조건 판정 출력을 모니터하는 것으로 하여, 조건 판정 출력이 어디로부터 나왔는지에 따라 연산기 유닛(230-c)에서 상이한 전환 조건 코드를 선택적으로 생성한다.
도 17은 본 발명의 상기 각 실시예의 구성에 있어서의 분기 조건 발생 검지 및 전환 조건 코드의 발생을 위한 제4 구성예를 나타낸다. 이 예에서는 전용의 전환 조건 신호 생성부(250)를 설치한다. 이 경우, 전환 조건 신호 생성부(250)는 입력되는 조건 판정 출력 A 또는 B에 따라 구성 정보로 결정된 조건에 따른 형태로 전환 조건 코드를 발생한다.
도 18은 본 발명의 상기 각 실시예의 구성에 있어서의 분기 조건 발생 검지 및 전환 조건 코드의 발생을 위한 제5 구성예를 나타낸다. 이 예에서는 분기 조건 발생 검지를 위해 비교기 전용 유닛(230-k)을 적용하고 있다. 이 경우, 소요되는 연산기 유닛의 총 수를 줄이는 것이 가능하다.
이하, 도 14 내지 도 18과 함께 설명한 구성예에 있어서의 동작 플로우에 관하여 도면과 함께 설명한다. 도 19는 조건 판정 유닛이 단일인 경우, 즉 도 14, 도 15 또는 도 18의 경우의 동작 플로우차트를 나타내고, 도 20은 마찬가지로 조건 판정 유닛은 단일이지만, 해당 조건 판정 유닛이 시퀀서(100)에 대하여 전환 조건 코드를 출력하는 유닛을 겸하는 경우의 동작 플로우차트를 나타낸다.
도 19의 경우, 단계 S1에서 조건 판정 유닛으로서의 연산기 유닛 또는 비교기, 즉 도 14, 도 15 또는 도 18의 예의 경우 각각 연산기 유닛(230-b, 230-a) 또는 비교기(230-k)에 대하여 비교의 기준이 되는 값이 미리 구성 정보에 의해 설정된다. 단계 S2에서는 해당 연산기 유닛 또는 비교기는 다른 연산기 유닛으로부터 소정의 연산 처리의 결과를 수신한다. 단계 S3에서는 해당 연산기 유닛 또한 비교기는 해당 연산 처리 결과와 상기 비교 기준치와의 비교 연산을 행한다. 그리고, 그 결과가 「일치」인 경우 단계 S4에서 「일치 플래그」를 출력한다.
다른 연산기 유닛, 즉 도 14, 도 15 또는 도 18의 예의 경우 각각 연산기 유닛(230-c, 230-c 또는 230-c)은 상기 일치 플래그를 수신한다(단계 S5). 동시에 지연기(230-d)가 상기 일치 플래그를 수신한다(단계 S8). 단계 S6에서는 상기 다른 연산기 유닛은 소정의 전환 조건 코드를 생성하고, 단계 S7에서 이것을 시퀀서(100)에 대하여 출력한다. 또 단계 S9에서 해당 지연기는 상기 다른 연산기 유닛에 있어서의 전환 조건 코드 생성 처리에 요구되는 지연 시간분, 지연을 발생하여, 해당 지연후, 상기 전환 조건 발생 신호를 시퀀서(100)에 대하여 출력한다.
도 20의 플로우의 경우, 단계 S21 내지 S24의 동작은 상기 단계 S1 내지 S4와 마찬가지다. 그 후, 조건 판정 유닛으로서의 연산기 유닛은 다른 연산기 유닛 또는 지연기 등을 통과시키지 않고, 그대로 직접 시퀀서(100)에 대하여 상기 일치 플래그를 전환 조건 코드로서 출력하는 동시에, 시퀀서(100)에 대하여 전환 조건 발생 신호를 출력한다.
다음에, 도 21, 도 22는 각각 조건 판정 유닛이 두개인 경우, 즉 도 16 또는 도 17의 구성예의 경우의 동작 흐름을 나타낸다. 특히, 도 21은 두개의 조건 판정 유닛에 있어서의 전환 조건 성립 조건이 서로 독립하고 있는 경우의 예를 나타낸다. 즉,
If (x = A) {
‥‥
}
If (y = B) {
‥‥
}
등의 처리로 분기가 성립했을 때에 구성 전환 발생이 발생하는 경우이다.
다른 한편, 도 22는 한쪽이 다른쪽의 종속 관계에 있는 경우의 예를 나타낸다. 즉,
If (x = A) {
If (y = B) {}
else {}
·
·
}
else {
If (y = B) {}
else {}
·
·
}
등의 처리에 있어서, if∼else의 네스트의 내부의 상태에서 각각 별도의 구성 내용이 적용되는 경우의 예를 나타낸다.
동 도면에 있어서, 단계 S31 내지 S34, 단계 S35 내지 S38, 단계 S51 내지 S54, 단계 S55 내지 S58의 프로세스는 각각 도 19의 단계 SS1 내지 S4의 프로세스와 마찬가지다. 단계 S39에서는 전환 조건 코드를 생성하는 연산기 유닛이 단계 S34 또는 S38로부터 일치 플래그 A 또는 B를 수취, 단계 S40에서 전환 조건 코드를 생성하여, 단계 S41에서 이것을 시퀀서(100)에 공급한다. 다른 한편, 단계 S42에서는 전환 조건 발생 신호를 생성하는 연산기 유닛이 단계 S34 또는 S38로부터 일치 플래그 A 또는 B를 수신, 단계 S43에 "「일치 플래그 A」 또는 「일치 플래그 B」"의 연산을 행하여, 즉 일치 플래그 A 또는 B의 수신으로 참의 출력을 발생한다. 단계 S44에서는 이것을 수신하여, 실제 출력의 경우, 시퀀서(100)에 대하여 전환 조건 발생 신호가 공급된다.
도 22의 단계 S59 내지 S61, 단계 S62 내지 S64도 전술한 도 21의 단계 S39 내지 S41, 단계 S42 내지 S44와 기본적으로 마찬가지이다. 단지, 도 22의 경우, if분과 조건 판정후의 구성 내용의 전환 방법에 의해 전환 조건 코드 발생 연산기 유닛에 있어서의 전환 코드 생성 연산 방법이 상이하다. 즉, 상기한 바와 같이, if∼else의 네스트의 내부의 상태로 각각 별도의 구성이 적용되기 때문에 그 적용되는 구성에 의해 단계 S60에 있어서의 전환 조건 코드 생성 연산의 내용을 여러 가지로 설정할 수 있게 된다.
도 23a, 도 23b는 도 10에 나타내는 OP 코드에 의한 천이 목적지 어드레스 생성 처리 동작의 흐름을 나타낸다. 동 도면 중, 단계 S71에서는 OP 코드가 나타내는 모드가 축차 실행 모드인지 여부를 판정하여, Yes인 경우 단계 S72에서 현재 적용되고 있는 구성 메모리 어드레스에 1을 더하여 다음 천이 목적지 어드레스로 한다. No인 경우 단계 S73에서 OP 코드의 지정이 상기 무조건 점프 모드(1)인지 여부를 판정한다. Yes인 경우, 다음 천이 목적지 어드레스는 점프 어드레스 오프셋값 + 베이스 어드레스값에 의해 얻어진다(단계 S74). No인 경우, 상기 무조건 점프 모드(2)인지 여부를 판정한다(단계 S75).
그 결과가 Yes인 경우, 단계 S76에서 다음 천이 목적지 어드레스는 점프 어드레스 오프셋값 + 베이스 어드레스값 + 점프 레지스터값에 의해 얻어진다. No인 경우, 단계 S77에서 상기 조건 분기 실행 모드(1)인지 여부를 판정한다. 그 결과가 Yes인 경우, 단계 S78에서 분기 조건 발생의 유무를 판정하여, 그 결과가 Yes이면, 다음 천이 목적지 어드레스는 점프 어드레스 오프셋값 + 베이스 어드레스값 + 전환 조건 코드값에 의해 얻어진다(단계 S79). No이면, 다음 천이 목적지 어드레스는 현재의 어드레스 +1로 얻어진다(단계 S80).
단계 S77의 결과가 No인 경우, 단계 S81에서 상기 조건 분기 실행 모드(2)인지 여부를 판정한다. 그 결과가 Yes인 경우, 단계 S78에서 분기 조건 발생의 유무 를 판정하여, 그 결과가 Yes이면, 다음 천이 목적지 어드레스는 점프 어드레스 오프셋값 + 베이스 어드레스값 + 점프 레지스터값에 의해 얻어진다(단계 S82). No이면, 다음 천이 목적지 어드레스는 현재의 어드레스 +1로 얻어진다(단계 S83).
도 24a, 도 24b, 도 25는 도 23a, 도 23b의 동작 플로우에 부가하여, 도 9에 나타내는 상태 유지 카운터(136)의 동작을 포함한 동작 플로우를 나타낸다. 동 도면 중, 단계 S91, S92, S95, S96, S99, S100, S103, S104, S105, S108, S111, S112, S115의 각각은 도 23a, 도 23b의 단계 S71 내지 S83과 마찬가지다. 여기서는, 단계 S92에서 천이 목적지 어드레스가 얻어진 후, 단계 S93에서 상태 유지 카운터 체크 처리를 행한다. 즉, 도 25의 단계 S121에서 상태 유지 카운터(136)의 수치를 조사하여, 그 결과 0이 얻어지면 다음 단계로 진행하지만, 0 이외이면 동 카운터의 수치를 1 디크리먼트, 즉 마이너스 1 한다(단계 S122). 이 단계 S121, S122의 루프를 단계 S121의 결과가 0이 될 때까지 반복한다. 이 처리의 결과, 다음 천이 목적지 어드레스를 구성 메모리(210)에 대하여 공급하는 타이밍을 임의로 제어할 수 있게 된다.
단계 S93에 있어서의 상기 상태 유지 카운터 체크 처리를 거친 후, 단계 S94에서 상기 천이 목적지 어드레스가 구성 메모리(210)에 공급되고, 해당 구성 정보가 소정의 연산기 유닛(230-n)에 공급되는 것에 의해 해당 구성 내용이 실제로 적용되게 된다. 단계 S97에서도 동일한 상태 유지 카운터 체크 처리를 거쳐서, 해당 천이 목적지 어드레스가 실제로 적용되게 된다(단계 S98).
단계 S107, S110은 상기 단계 S121, S122와 마찬가지지만, 이 경우, 상태 유 지 카운터(136)의 수치를 디크리먼트할 때마다 단계 S104에 있어서 소정의 분기 조건 발생의 유무를 판정한다. 그리고, 동 카운터의 수치가 제로가 되기 전에 동 분기 조건 발생이 생긴 경우에는, 단계 S105, S106에 나타내는 소정 조건 발생시의 처리를 행한다. 마찬가지로, 단계 S114, S117의 경우에 있어서도 상태 유지 카운터(136)의 수치를 디크리먼트할 때마다 단계 S111에 있어서 소정의 분기 조건 발생의 유무를 판정한다. 그리고, 동 카운터의 수치가 제로가 되기 전에 동 분기 조건 발생이 생긴 경우에는, 단계 S112, S113에 나타내는 소정 조건 발생시의 처리를 행한다.
도 26은 본 발명의 제4 실시예에 의한 연산 장치의 구성을 나타낸다. 여기서는, 도 9에 나타내는 제3 실시예와 달리, 전환 조건 신호 생성부(250)로부터 소정의 루프 종료 신호가 시퀀서(100)의 천이 목적지 어드레스 생성부(130)에 공급된다. 도 27a, 도 27b는 제4 실시예에 있어서의 OP 코드에 의한 천이 목적지 어드레스 결정 형태를 설명하기 위한 도면이다. 도 27a 중 OP 코드 O000에서는 도 10에 나타내는 OP 코드 000인 경우의 축차 실행 모드가 되어, 상기한 바와 같이 상태 유지 카운터(136)의 제로 확인후, 실제로 다음 천이 목적지 어드레스가 적용된다. 그리고, OP 코드 0001, 0010, 0011, 0101에 의한 모드는 도 10에 나타내는 OP 코드 O01, 010, 011, 101에 의한 모드와 각각 마찬가지이다.
다른 한편, 도 27b에 나타내는 OP 코드 1000에서는 천이 목적지 어드레스 생성부(130)가 상기 소정의 루프 종료 신호를 수신한 경우에 실제로 천이 목적지 어드레스가 적용되는 점이 상기 OP 코드 0000의 경우와 상이하다. 마찬가지로, OP 코 드 1001, 1010, 1011, 1101의 각각의 경우에 상기 OP 코드 O001, 0010, O011, 0101의 경우와 상이한 점은 「상태 유지 카운터의 제로를 확인후」 대신에 「루프 종료 신호 수신후」 다음 천이 목적지 어드레스를 출력하게 되는 점이다.
도 28a, 도 28b, 도 29a, 도 29b, 도 30, 도 31a, 도 31b, 도 32는 상기 제4 실시예의 경우의 천이 목적지 어드레스 결정 및 그 적용에 관한 동작 플로우를 나타낸다. 도 28a, 도 28b 중 단계 S131 내지 S143은 각각 도 23a, 도 23b의 단계 S71 내지 S83과 마찬가지다. 단지, 단계 S138, S141은 단계 S78, S81과 달리, 「분기 조건 발생 유무」의 판정 대신에 「전환 조건이 발생 또한 루프 종료 신호를 수신하지 않는 것」의 조건의 성립 유무를 판정한다. 그리고, Yes인 경우에는 단계 S139 또는 S142에서 분기 조건 성립시의 처리를 행하고, No인 경우에는 축차 실행 모드의 처리를 행한다(단계 S140 또는 S143).
도 29a, 29b, 도 30, 도 31a, 도 31b, 도 32는 도 28a, 도 28b에 나타내는 천이 목적지 어드레스 결정 동작에 부가하여, 이것을 실제로 구성 메모리(210)에 공급하여 해당 구성 정보가 연산기 유닛(230-n)에 대하여 설정되어 적용되기 위한 동작을 포함한 처리 플로우를 나타낸다. 또한, 도 30은 도 25와 마찬가지고, 그 설명을 생략한다.
또한, 도 29a, 도 29b 중 단계 S151 내지 S170은 도 24a, 도 24b의 단계 S91 내지 S110과 각각 마찬가지이며, 단계 S172 내지 S178도 단계 S111 내지 S117과 각각 마찬가지이며, 그 설명을 생략한다.
단계 S163의 판정에서 OP 코드가 조건 분기 실행 모드(1)를 나타내고 있지 않는다고 판정된 경우, 즉 도 27a 중 OP 코드 0010이 아닌 것이 판단된 경우, 단계 S171을 실행한다. 여기서는, 추가로 OP 코드가 조건 분기 실행 모드(2)를 나타내고 있는지 여부, 즉 도 27a 중 OP 코드 0011인지 여부를 판단한다. 그 결과, Yes인 경우, 단계 S172 이후의 조건 분기 실행 모드(2)의 처리를 실행한다. No인 경우, 도 31a의 단계 S191을 실행한다.
도 31a, 도 31b의 처리는 도 27b에 나타내는 OP 코드가 1000 내지 1101인 경우 각각의 동작을 나타낸다. 도 31a, 도 31b의 단계 S191 내지 S215는 도 24a, 도 24b의 단계 S91 내지 S117의 동작에 각각 대응한다. 양자 사이의 상이점은 이하와 같다. 즉, 도 24a의 단계 S93에서 상태 유지 카운터를 체크하는 대신에 도 31a의 단계 S193에서 루프 종료 체크 처리를 실행한다. 이 처리는 도 32에 나타낸 바와 같이, 단계 S221에서 상기 소정의 루프 신호의 수신 유무를 판단하여, 수신되어 있는 경우에는 다음 단계, 즉 단계 S194를 실행하여, 다음 천이 목적지 어드레스에 의한 구성의 적용이 이루어지게 된다. 단계 S101에 대응하는 단계 S201의 경우도 마찬가지이다.
또한, 도 24b의 경우의 단계 S107에서 상태 유지 카운터가 제로인지 여부를 판정하는 대신에, 단계 S205에서 루프 종료 신호의 수신의 유무를 판정한다. 그 결과 「유」의 경우, 단계 S206, S207에 의한 조건 분기 성립(전환 조건 발생)시의 처리를 행하고, 「무」의 경우, 단계 S208, S209의 축차 실행 모드 상당의 처리를 행한다. 마찬가지로 단계 S211에서 루프 종료 신호의 수신의 유무를 판정하여, 그 결과 「유」의 경우, 단계 S212, S213에 의한 조건 분기 성립(전환 조건 발생)시의 처리를 행하고, 「무」의 경우, 단계 S214, S215의 축차 실행 모드 상당의 처리를 행한다.
이하, 도 33 내지 도 45와 같이 본 발명의 각 실시예에 대하여 적용 가능한 전환 조건 코드 신호 및 전환 조건 발생 신호 발생에 따른 구성에 관하여 상세히 설명한다. 도 33은 연산기 유닛군(230) 중 전환 조건 코드 신호, 전환 조건 발생 신호의 생성에 따른 구성을 나타내는 회로도를 나타내고, 도 34는 이것에 부가하여 후술하는 데이터 인에이블 신호 취득에 따른 구성을 나타낸다. 도 35, 도 36, 도 37, 도 38은 더욱 상세한 전환 조건 코드 신호 및 전환 조건 발생 신호의 생성에 따른 회로 구성을 나타낸다. 또한, 도 39 내지 도 45는 이들 회로 구성에 있어서 실행되는 처리의 흐름을 나타내는 플로우차트이다.
도 33 중, 연산기 유닛군(230)에 포함되는 연산기 유닛(230-0 내지 230-3) 중 연산기 유닛(230-2)으로부터 얻어지는 신호가 전환 조건 신호 생성부(250)에 공급된다. 전환 조건 신호 생성부(250)에서는 소정의 논리 연산을 실시하여, 그 결과로서 시퀀서(100)에 대하여 상기 전환 조건 코드 신호, 전환 조건 발생 신호, 루프 종료 신호 등을 공급한다.
또한, 도 34에 나타낸 바와 같이 연산기 유닛군(230)에는 데이터 인에이블 신호 선택 스위치(281)가 설치된다. 이 스위치(281)의 상태의 설정은 상기 구성 정보에 의해 실행되고, 그 설정 내용에 의해 상기 스위치(281)에 공급되는 다수의 데이터 인에이블 신호 중에서 전환 조건 발생 신호 생성부(250)에 공급하는 데이터 인에이블 신호를 선택한다. 동 스위치(281)에 공급되는 다수의 데이터 인에이블 신 호에는 외부 입력 데이터, RAM 어드레스 입력 신호에 부수되는 인에이블 신호 등이 포함된다.
도 35는 상기 전환 조건 발생 신호 생성부(250)의 내부를 나타내는 회로도이다. 동 도면에 나타낸 바와 같이, 동 생성부(250)는 루프 종료 판정부(250A)와 전환 조건 코드 생성 유닛(250B)을 포함한다. 예컨대, 연산기 유닛(230-i) 등에 있어서 ALU가 비교 연산을 행한 결과, 「일치」의 결과가 얻어진 경우에 「조건 성립 신호」를 출력하여, 이들이 전환 조건 신호 생성부(250)에 공급된다. 이들 입력 신호에 대하여 상기 전환 조건 신호 생성부(250)에서는 소정의 논리 연산이 이루어지고, 그 결과로서 시퀀서(100)에 대하여 전환 조건 발생 신호, 루프 종료 신호, 전환 조건 코드 신호 등이 공급된다.
도 36은 상기 루프 종료 판정부(250A)의 내부 회로도를 나타낸다. 여기서는, 상기 데이터 인에이블 신호를 수신하여 이것을 계수하는 데이터 인에이블 카운터(251), 연산기 유닛군(230)의 연산 처리 결과로서 소정의 설정, 상기 구성 정보의 설정 등에 의해 기준 루프 횟수가 설정되는 기대 루프 횟수 유지부(252), 양자(251, 252)의 값을 비교하는 비교기(253), 이 비교의 결과로서 「일치」를 수신한 후, 장치 내부 클록을 소정 갯수 계수하는 사이클 카운터(254), 상기 소정 갯수를 설정하는 루프 종료 오프셋 유지부(255), 양자(254, 255)의 값을 비교하는 비교기(256), 그 비교 결과(사전 전환 조건 발생 통지 신호 0)와 후술하는 사전 전환 조건 발생 통지 신호 1과의 OR 연산을 행하는 OR 소자(258) 및 상기 비교 결과(사전 전환 조건 발생 통지 신호 0)와 사전 전환 조건 발생 통지 신호 1의 반전치와의 AND 연산을 행하는 AND 소자(258)로 이루어진다. 이러한 구성으로 상기 연산 장치에 있어서 실행되는 데이터 처리 연산의 개개의 설정 조건에 합치하는 타이밍으로 루프 종료 신호 및 전환 조건 발생 신호를 생성하는 것을 가능하게 한다.
도 37은 상기 전환 조건 코드 생성 유닛(250B)의 내부 회로 구성을 나타낸다. 동 도면 중 동 생성 유닛(250B)은 연산기 유닛군(230)으로부터 공급되는 상기 조건 성립 신호를 수신하여, 구성 정보에 의한 설정에 의한 선택을 행하여 선택 결과를 전환 조건 코드 생성부(260 내지 263)에 대하여 출력하는 스위치(265 내지 268), 이들 스위치로부터의 출력에 따라서 고유의 전환 조건 코드를 출력하는 전환 조건 코드 생성부(260 내지 263), 여기서 출력되는 전환 조건 코드에 대하여 우선 순위를 붙여서 선택하여 최종적인 전환 조건 코드 신호로서 출력하는 우선 순위가 부여된 셀렉터(269), 상기 조건 성립 신호를 수신하여 OR 연산을 행하여 그 연산 결과를 상기 사전 전환 조건 발생 통지 신호 1로서 출력하는 OR 소자(269)를 포함한다.
도 38은 상기 각 전환 조건 코드 생성부의 내부 회로를 나타낸다. 동 도면에 나타낸 바와 같이, 각 전환 조건 코드 생성부는 ROM으로 이루어져서, 조건 성립 신호의 입력에 따라서 고유의 데이터가 전환 조건 코드로서 판독된다. 또한, 이 예에서는 4 입력의 조건 신호에 의해 2 비트의 전환 조건 코드를 생성하고 있지만, 이 크기의 구성에 한정되지 않고, 예컨대 5 내지 8 입력의 조건 성립 신호에 대하여 3비트의 전환 조건 코드를 생성하는 구성으로 해도 좋다. 또한, ROM 구성에 한정되지 않고, RAM 구성으로 하는 것도 가능하다.
이하, 전술한 구성에 의한 전환 조건 생성부(250)의 동작의 흐름을 도면과 함께 설명한다. 도 39 중 구성 정보에 의해 전환 조건 생성부(250)의 상태의 설정이 이루어진다(단계 S230). 단계 S231에서 연산기 유닛군(230)의 동작이 시작되면, 단계 S232에서 상기 설정이 루프 종료 판정부(250A)를 사용하는 것인지 여부를 판정한다. 그 결과 Yes인 경우, 다음에 단계 S233에서 전환 조건 코드 생성 유닛(250B)을 사용하는 것인지 여부를 판정한다. 그 결과 Yes인 경우, 단계 S234에서 후술하는 루프 종료 신호 및 전환 조건 발생 신호를 생성하는 처리를 행한다. 또한, 이 처리는 도 27a, 도 27b에 표시되는 조건 분기 모드(3), (4)에 해당한다.
또한, 단계 S233의 결과가 No인 경우, 단계 S235에서 후술하는 루프 종료 신호를 생성하는 처리를 행한다. 또한, 이 처리는 도 27a, 도 27b에 표시되는 축차 실행 모드(2), 무조건 분기 모드(3), (4)에 해당한다. 또한, 단계 S232의 결과가 No인 경우, 다음에 단계 S236에서 전환 조건 코드 생성 유닛(250B)을 사용하는 것인지 여부를 판정한다. 그 결과, Yes인 경우, 단계 S237에서 후술하는 루프 종료 신호 및 전환 조건 발생 신호를 생성하는 처리를 행한다. 또한, 이 처리는 도 27a, 도 27b에 표시되는 무조건 분기 모드(1), (2)에 해당한다. 또한, 단계 S236의 결과가 No인 경우, 단계 S238에서 전환 조건 신호 생성부(250)를 동작시키지 않는 처리가 이루어진다. 또한, 이 처리는 도 27a, 도 27b에 표시되는 축차 실행 모드(1), 무조건 분기 모드(1), (2)에 해당한다.
도 40은 구성 정보에 의한 전환 조건 생성부(250) 등에 대한 설정 동작을 나타낸다. 단계 S241에서는 설정된 구성 정보에 기초하여 루프 종료 판정부(250A)의 사용의 유무를 판정하여, 결과가 「유」인 경우, 단계 S243에서 루프 종료 판정부(250A)의 모드 설정, 즉 도 36에 나타내는 기대 루프 횟수의 설정, 루프 종료 오프셋값의 설정 등을 행한다. 단계 S243에서는 전환 코드 생성 유닛으로 전환 코드를 생성하는지 여부를 판정한다. 그 결과 「Yes」인 경우, 단계 S244에서 전환 코드 생성 유닛의 모드 설정을 행한다. 즉, 도 37에 나타내는 스위치(265 내지 268)의 설정 등을 행한다.
도 41은 상기 단계 S242의 루프 종료 판정부 모드 설정의 상세한 내용을 나타낸다. 단계 S251에서 구성 정보로 상기 데이터 인에이블 신호 선택 스위치(281)의 설정을 행하고, 단계 S252에서 상기 기대 루프 횟수의 설정을 행하며, 단계 S253에서 루프 종료 오프셋값의 설정을 행하고, 단계 S254에서 데이터 인에이블 카운터(251)의 리셋을 행하고, 단계 S255에서 사이클 카운터(254)의 리셋을 행한다.
도 42에 나타낸 바와 같이, 상기 단계 S244에 있어서의 전환 코드 생성 유닛의 설정은 단계 S261의 상기 스위치(265 내지 268)의 설정 및 단계 S262의 상기 우선 순위가 붙여진 셀렉터(264)의 설정을 포함한다.
도 43은 전환 조건 신호 생성부(250)에 있어서의 상기 루프 종료 신호 생성, 전환 조건 코드 생성 처리의 상세한 내용을 나타낸다. 동 도면 중, 단계 S271에서 전환 코드 생성 유닛에 대한 데이터 인에이블 신호의 입력의 유무를 판정하여, 「유」인 경우, 데이터 인에이블 카운터(251)를 1 인크리멘트하고(단계 S272), 단계 S273에서 기대 루프 횟수와 비교하여, 「일치」이면, 다음 클록에서 사이클 카운터(254)를 1 인크리멘트하여(단계 S274), 그 결과가 루프 종료 오프셋값과 일치하면( 단계 S275의 Yes), 상기 사전 전환 조건 발생 통지 신호 0을 생성한다(단계 S276).
그 후, 단계 S280에서 사전 전환 조건 발생 통지 신호 1의 발생의 유무를 판정하여, 「유」이면, 전환 조건 발생 신호를 생성하고(단계 S283), 단계 S284에서 전환 조건 코드 생성 유닛(250B)에서 생성된 전환 조건 코드 신호를 전환 조건 생성부(250)로부터 출력한다. 단계 S280의 결과가 No이면, 단계 S281에서 전환 조건 발생 신호를 출력하고, 단계 S282에서 루프 종료 신호를 출력한다.
또한, 단계 S277에서는 전환 조건 코드 생성 유닛(250B)에서 조건 성립 신호의 입력의 유무를 판정하여, 그 결과가 「유」이면, 단계 S278에서 전환 조건 코드를 생성하고, 단계 S279에서는 상기 사전 전환 조건 발생 통지 신호 1을 생성한다.
도 44는 루프 종료 신호 생성 처리 동작을 나타낸다. 동 도면 중, 단계 S291에서 전환 코드 생성 유닛에 대한 데이터 인에이블 신호의 입력의 유무를 판정하여, 「유」인 경우, 데이터 인에이블 카운터(251)를 1 인크리멘트하고(단계 S292), 단계 S293에서 기대 루프 횟수와 비교하여, 「일치」이면, 다음 클록에서 사이클 카운터(254)를 1 인크리멘트하여(단계 S294), 그 결과가 루프 종료 오프셋값과 일치하면(단계 S295의 Yes), 상기 사전 전환 조건 발생 통지 신호 0을 생성한다(단계 S296). 그리고 단계 S297에서 전환 조건 발생 신호를 출력하고, 단계 S298에서 루프 종료 신호를 출력한다.
도 45는 루프 종료 신호 및 전환 코드 생성 처리 동작을 나타낸다. 단계 S301에서 조건 성립 신호가 입력되면, 단계 S302에서 전환 조건 코드를 생성하고, 단계 S303에서 사전 전환 조건 발생 통지 신호 1을 생성하며, 단계 S304에서 전환 조건 발생 신호를 출력하고, 또한 단계 S305에서 전환 조건 코드 신호를 출력한다.
도 46a, 도 46b, 도 47a, 도 47b와 같이, 본 발명의 각 실시예에서 적용되는 상기 구성 정보의 예에 관해서 설명한다. 도 46a는 예컨대 도 46b에 표시되는 바와 같은 구성을 갖는 연산기 유닛(230-i)의 상태를 설정하기 위한 구성 정보의 예를 나타낸다. 도면 중, 「연산기 모드 A」는 도 46b에 표시되는 연산기 A[ALU(A)]에 대한 상태 설정의 지시 내용을 나타내고, 4 비트의 데이터에 의해 0000에서 동작하지 않는 취지, 0001에서 가산기로서 기능하는 취지, 0010에서 감산기로서 기능하는 취지, 0011에서 비교기로서 기능하는 취지, 0100에서 즉각 값(卽値)과의 비교를 행하는 취지, 0101에서 MUL로서 기능하는 취지, …1000에서 조건부 가산 기능을 행하는 취지, …등의 지시를 나타낸다.
「연산기 B」도 마찬가지로 연산기 B[ALU(B)]의 상태 설정을 나타낸다. 「연산기 C」는 연산기 C[ALU(C)]의 상태를 설정하기 위한 정보이며, 1 비트가 되어, 0에서 동작하지 않는 취지, 1에서 가산 동작을 행하는 취지의 설정을 나타낸다. 「입력 선택 정보」는 1 비트가 되어, 0에서 연산기 A, B로의 입력을 독립적으로 행하는 취지, 1에서 연산기 A, B의 각각으로 연산기 A의 연산 결과를 입력하는 취지를 나타낸다.
「출력 선택 정보」는 1 비트가 되어, 0에서 연산기 A, B의 연산 결과를 각각 독립적으로 출력하는 취지, 1로 연산기 C의 연산 결과를 출력하는 취지를 나타낸다. 「ACC 모드」는 어큐뮬레이터(도 46b 중, ACC)의 모드를 나타내고, 1 비트가 되어, 0으로 사용하지 않는 취지, 1로 사용하는 취지를 나타낸다.
「즉각 값 A」는 연산기 A에 대한 즉각 값 입력 데이터(16 비트)를 나타내고, 「즉각 값 B」는 마찬가지로 연산기 B에 대한 즉각 값 입력 데이터(16 비트)를 나타낸다. 「제어 정보」는 제어 플래그 모드를 나타내고, 2 비트가 되어, 00으로 사용하지 않는 취지, 01로 캐리, 10으로 프리디케이트(predicate)의 취지를 각각 나타낸다.
도 47a, 도 47b는 연산기 유닛간 접속 네트워크(220)에 포함되는 셀렉트 스위치(도 47b에 예시한다)에 대한 설정을 행하는 구성 정보의 예를 나타낸다. 도 47a 중, 「셀렉터 1 설정 비트」(4 비트), 「셀렉터 2 설정 비트」(3 비트), 「셀렉터 3 설정 비트」(1 비트)는 각각 도 47b에 표시되는 셀렉터(1, 2, 3)의 구성 유지부(각 셀렉터 중 흑 베타 부분)에 유지되는 구성 정보이다. 이러한 셀렉터 설정용 구성 정보는 2 입력 셀렉터에 관해서 1 비트, 3 내지 4 입력 셀렉터에 대하여 2 비트, 5 내지 8 입력 셀렉터에 대하여 3 비트, 16 입력 셀렉터에 대하여 4 비트의 정보를 유지하는 구성을 갖는다.
이와 같이, 본 발명에 의하면 CAM을 사용하지 않고, 단순한 싱글 포트 메모리(RAM 또는 ROM)로 구성되어, OP 코드와 점프 어드레스 오프셋값을 저장하는 상태 테이블(120)과, 이들 정보와 연산기 유닛군으로부터 피드백되는 전환 조건 신호 등에 대하여 연산 처리를 행하여 천이 목적지 어드레스를 구하는 천이 목적지 어드레스 생성부로 구성하기 때문에, 장치 전체를 수용하는 데 요구되는 칩 면적을 효과적으로 삭감할 수 있다.
또한, 분기 목적지 후보를 미리 어느 정도 계산해 두는 것이 가능하기 때문 에 상태 테이블을 구성하는 메모리의 액세스 레이턴시는 사실상 은폐되게 되고, 처리 효율을 향상시킬 수 있다. 즉, 전술한 바와 같이, 전환 조건 신호(전환 조건 발생 신호, 전환 조건 코드 신호, 루프 종료 신호 등)의 생성은 주로 전환 조건 신호 생성부(250)에서 구성 정보의 공급에 의한 설정에 의해 부가된 조건을 포함한 논리 연산에 의해 실현된다. 다른쪽 상태 테이블(120)에 등록된 OP 코드에 의해 이와 같이 생성된 전환 조건 신호의 구체적 적용 방법(적용 유무를 포함한다)이 결정되어, 그 결정된 방법에 따라서 천이 목적지 어드레스 생성부(130)에서 논리 연산에 의해 구성 메모리(210)에 공급하여야 할 다음 천이 목적지 어드레스가 결정된다. 따라서, 실제의 전환 조건 신호의 적용 시점, 즉 해당 전환 조건 신호에 의한 조건으로 하고 싶은 연산기 유닛군(230)의 상태 천이[분기(어드레스 점프)를 포함한다]의 적용 시점에 이르기 전에 전환 조건 신호 생성부(250) 및/또는 천이 목적지 어드레스 생성부(130)에서 상기 전환 조건 신호의 생성에 따른 연산 처리가 실행된다. 그 결과, 실제 적용시에는 신속한 상태 천이의 실현이 가능하게 되어, 연산기 유닛군(230)에 의한 연산 처리 진행의 원활화를 효과적으로 도모하는 것이 가능하게 된다.
또한 본 발명은 이하의 부기에 기재한 구성을 포함한다.
(부기 1)
복수의 연산기 유닛과,
복수의 연산기 유닛의 소정의 상태마다 설치된 설정 정보를 저장하는 구성 메모리와,
사전 로드된 태스크 정보에 따라서 구성 메모리에 저장된 연산기 유닛의 소정의 상태마다 설치된 설정 정보로 이루어진 구성 정보 중 해당 정보를 지정하는 천이 목적지 어드레스를 출력함으로써 복수의 연산기 유닛의 상태를 제어하는 시퀀서를 포함하고,
시퀀서는 사전 로드된 태스크 정보와, 복수의 연산기 유닛으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하는 구성으로 이루어진 연산 장치.
(부기 2)
복수의 연산기 유닛에 의한 연산의 결과로서 소정의 분기 조건이 검지되었을 때, 시퀀서에 대하여 출력하는 전환 조건 신호를 생성하는 전환 조건 신호 생성부로 이루어진 부기 1에 기재한 연산 장치.
(부기 3)
상기 전환 조건 신호 생성부는 복수의 연산기 유닛의 내부에 설치되어 이루어진 부기 2에 기재한 연산 장치.
(부기 4)
시퀀서는, 현재의 구성 메모리 내의 천이 목적지 어드레스가 입력되고, 소정의 천이 목적지 어드레스 생성 방법을 결정하기 위한 OP 코드와, 상기 OP 코드의 내용에 의해 점프 오프셋값을 출력하는 상태 테이블과,
상태 테이블로부터 출력된 OP 코드 및 점프 오프셋값, 및 전환 조건 신호에 기초하여 다음 천이 목적지 어드레스를 연산에 의해 결정하는 천이 목적지 어드레 스 생성부로 이루어진 부기 1에 기재한 연산 장치.
(부기 5)
구성 메모리에 대하여 외부에서 복수의 연산기 유닛의 소정의 상태마다 설치된 설정 정보를 수신하는 수단을 더 설치하여 이루어진 부기 1에 기재한 연산 장치.
(부기 6)
시퀀서에 대하여 출력되는 전환 조건 신호는 복수의 연산기 유닛 내부에서 발생한 소정의 전환 조건의 내용을 나타내는 전환 조건 코드와, 전환 조건 발생의 타이밍을 나타내는 전환 조건 발생 신호를 포함하는 구성으로 이루어진 부기 1에 기재한 연산 장치.
(부기 7)
구성 정보 중에서 천이 목적지 어드레스에 의해 지정되는 정보에 따라서 복수의 연산기 유닛 사이의 전기적 접속을 전환하는 네트워크부를 포함하는 부기 1에 기재한 연산 장치.
(부기 8)
상기 상태 테이블은 RAM 또는 ROM으로 이루어진 구성의 부기 4에 기재한 연산 장치.
(부기 9)
소정의 천이 목적지 어드레스 생성 방법을 결정하기 위한 OP 코드는 소정의 어드레스값에 1을 더하는 축차 모드, 해당 점프 오프셋값에 의해 무조건으로 어드 레스를 천이하는 무조건 점프 모드, 또는 전환 조건 신호 수신시 해당 점프 오프셋값에 의해 어드레스를 천이하지만 비수신시에는 소정의 어드레스값에 1을 더하는 조건 점프 모드 중 어느 하나를 지정하는 구성으로 이루어진 부기 4에 기재한 연산 장치.
(부기 10)
복수의 연산기 유닛에 의해 지정되는 점프 레지스터값에 점프 오프셋값을 부가하는 것에 의해 천이 목적지 어드레스를 생성하는 모드를 설치하여 이루어진 부기 4에 기재한 연산 장치.
(부기 11)
상태 테이블에 저장되는 점프 오프셋값은 소정의 베이스 어드레스 레지스터로 설정되는 값에 대한 오프셋값을 나타내어 이루어진 부기 4에 기재한 연산 장치.
(부기 12)
복수의 연산기 유닛과, 복수의 연산기 유닛의 소정의 상태마다 설치된 설정 정보를 저장하는 구성 메모리와, 사전 로드된 태스크 정보에 따라서 구성 메모리에 저장된 연산기 유닛의 소정의 상태마다 설치된 설정 정보로 이루어진 구성 정보 중 해당 정보를 지정하는 천이 목적지 어드레스를 출력함으로써 복수의 연산기 유닛의 상태를 제어하는 시퀀서를 포함하는 연산 장치의 제어 방법으로서,
시퀀서로 사전 로드된 태스크 정보와, 복수의 연산기 유닛으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하는 단계로 이루어진 연산 장치의 제어 방법.
(부기 13)
복수의 연산기 유닛에 의한 연산의 결과로서 소정의 분기 조건이 검지되었을 때, 시퀀서에 대하여 출력하는 전환 조건 신호를 생성하는 단계로 이루어진 부기 12에 기재한 연산 장치의 제어 방법.
(부기 14)
상기 전환 조건 신호 생성 단계는 복수의 연산기 유닛의 내부에서 실행되어 이루어진 부기 13에 기재한 연산 장치의 제어 방법.
(부기 15)
시퀀서에 의한 천이 목적지 어드레스 생성 단계는 현재의 구성 메모리 내의 천이 목적지 어드레스의 입력에 대하여 소정의 천이 목적지 어드레스 생성 방법을 결정하기 위한 OP 코드와, 상기 OP 코드의 내용에 의해 점프 오프셋값을 출력하는 단계와,
출력된 OP 코드 및 점프 오프셋값, 및 소정의 전환 조건 신호에 기초하여 다음 천이 목적지 어드레스를 연산에 의해 결정하는 단계로 이루어진 부기 12에 기재한 연산 장치의 제어 방법.
(부기 16)
구성 메모리에 대하여 외부에서 복수의 연산기 유닛의 소정의 상태마다 설치된 설정 정보를 수신하는 단계로 이루어진 부기 12에 기재한 연산 장치의 제어 방법.
(부기 17)
소정의 전환 조건 신호는 복수의 연산기 유닛 내부에서 발생한 소정의 전환 조건의 내용을 나타내는 전환 조건 코드와, 전환 조건 발생의 타이밍을 나타내는 전환 조건 발생 신호를 포함하는 구성으로 이루어진 부기 12에 기재한 연산 장치의 제어 방법.
(부기 18)
구성 정보 중에서 천이 목적지 어드레스에 의해 지정되는 정보에 따라서 복수의 연산기 유닛 사이의 전기적 접속을 전환하는 단계로 이루어진 부기 12에 기재한 연산 장치의 제어 방법.
(부기 19)
천이 목적지 어드레스 생성 단계는 OP 코드로 소정의 어드레스값에 1을 더하는 축차 모드, 해당 점프 오프셋값에 의해 무조건으로 어드레스를 천이하는 무조건 점프 모드, 또는 전환 조건 신호 수신시 해당 점프 오프셋값에 의해 어드레스를 천이하지만 비수신시에는 소정의 어드레스값에 1을 더하는 조건 점프 모드를 지정하는 단계로 이루어진 부기 15에 기재한 연산 장치의 제어 방법.
(부기 20)
복수의 연산기 유닛에 의해 지정되는 점프 레지스터값에 점프 오프셋값을 부가하는 것에 의해 천이 목적지 어드레스를 생성하는 단계를 더 설치하여 이루어진 부기 15에 기재한 연산 장치의 제어 방법.
(부기 21)
천이 목적지 어드레스 생성 단계에서 적용되는 점프 오프셋값은 소정의 베이 스 어드레스 레지스터로 설정되는 값에 대한 오프셋값을 나타내는 것으로 이루어진 부기 15에 기재한 연산 장치의 제어 방법.
이 구성에 의해, 시퀀서는 소정의 태스크를 실현하기 위해서 미리 등록된 정보와 연산기 유닛군으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하기 때문에, CAM과 같은 크기가 큰 메모리를 적용할 필요가 없고, 상태 천이 목적지 어드레스를 신속히 결정 가능하며, 또한 시퀀서의 구성의 간소화가 가능하고, 연산 장치 전체의 크기를 축소 가능하며 또한 그 저가격화가 가능하다.

Claims (10)

  1. 복수의 연산기 유닛과;
    상기 복수의 연산기 유닛의 소정의 상태마다 설치된 설정 정보를 저장하는 구성 메모리와;
    사전 로드된 태스크 정보에 따라서 상기 구성 메모리에 저장된 연산기 유닛의 소정의 상태마다 설치된 설정 정보로 이루어진 구성 정보 중 해당 정보를 지정하는 천이 목적지 어드레스를 출력함으로써 상기 복수의 연산기 유닛의 상태를 제어하는 시퀀서
    를 포함하고,
    상기 시퀀서는 사전 로드된 태스크 정보와, 상기 복수의 연산기 유닛으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 상기 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하는 구성으로 이루어진 연산 장치.
  2. 제1항에 있어서, 상기 복수의 연산기 유닛에 의한 연산 결과로서 소정의 분기 조건이 검지되었을 때, 상기 시퀀서에 대하여 출력하는 전환 조건 신호를 생성하는 전환 조건 신호 생성부를 포함하는 것인 연산 장치.
  3. 제1항에 있어서, 상기 시퀀서는,
    현재의 상기 구성 메모리 내의 천이 목적지 어드레스가 입력되고, 소정의 천이 목적지 어드레스 생성 방법을 결정하기 위한 OP 코드와, 상기 OP 코드의 내용에 의해 점프 오프셋값을 출력하는 상태 테이블과;
    상기 상태 테이블로부터 출력된 OP 코드 및 점프 오프셋값, 및 전환 조건 신호에 기초하여 다음의 천이 목적지 어드레스를 연산에 의해 결정하는 천이 목적지 어드레스 생성부를 포함하는 것인 연산 장치.
  4. 제1항에 있어서, 상기 시퀀서에 대하여 출력되는 전환 조건 신호는, 상기 복수의 연산기 유닛 내부에서 발생한 소정의 전환 조건의 내용을 나타내는 전환 조건 코드와, 전환 조건 발생의 타이밍을 나타내는 전환 조건 발생 신호를 포함하는 것인 연산 장치.
  5. 제3항에 있어서, 소정의 천이 목적지 어드레스 생성 방법을 결정하기 위한 OP 코드는, 소정의 어드레스값에 1을 더하는 축차 모드, 해당 점프 오프셋값에 의해 무조건으로 어드레스를 천이하는 무조건 점프 모드, 또는 전환 조건 신호의 수신시에는 해당 점프 오프셋값에 의해 어드레스를 천이하지만 상기 전환 조건 신호의 비수신시에는 소정의 어드레스값에 1을 더하는 조건 점프 모드 중 어느 하나를 지정하는 것인 연산 장치.
  6. 복수의 연산기 유닛과, 상기 복수의 연산기 유닛의 소정의 상태마다 설치된 설정 정보를 저장하는 구성 메모리와, 사전 로드된 태스크 정보에 따라서 상기 구성 메모리에 저장된 연산기 유닛의 소정의 상태마다 설치된 설정 정보로 이루어진 구성 정보 중 해당 정보를 지정하는 천이 목적지 어드레스를 출력함으로써 상기 복수의 연산기 유닛의 상태를 제어하는 시퀀서를 포함하는 연산 장치의 제어 방법으로서,
    상기 시퀀서로 사전 로드된 태스크 정보와, 상기 복수의 연산기 유닛으로부터 출력되는 전환 조건 신호에 기초한 연산에 의해 상기 구성 메모리에 대하여 출력하는 천이 목적지 어드레스를 생성하는 단계를 포함하는 연산 장치의 제어 방법.
  7. 제6항에 있어서, 상기 복수의 연산기 유닛에 의한 연산 결과로서 소정의 분기 조건이 검지되었을 때, 상기 시퀀서에 대하여 출력하는 전환 조건 신호를 생성하는 단계를 포함하는 연산 장치의 제어 방법.
  8. 제6항에 있어서, 시퀀서에 의한 천이 목적지 어드레스 생성 단계는 현재의 상기 구성 메모리 내의 천이 목적지 어드레스의 입력에 대하여 소정의 천이 목적지 어드레스 생성 방법을 결정하기 위한 OP 코드와, 상기 OP 코드의 내용에 의해 점프 오프셋값을 출력하는 단계와,
    출력된 OP 코드 및 점프 오프셋값, 및 소정의 전환 조건 신호에 기초하여 다음의 천이 목적지 어드레스를 연산에 의해 결정하는 단계를 포함하는 연산 장치의 제어 방법.
  9. 제6항에 있어서, 소정의 전환 조건 신호는, 상기 복수의 연산기 유닛 내부에서 발생한 소정의 전환 조건의 내용을 나타내는 전환 조건 코드와, 전환 조건 발생의 타이밍을 나타내는 전환 조건 발생 신호를 포함하는 것인 연산 장치의 제어 방법.
  10. 제8항에 있어서, 천이 목적지 어드레스 생성 단계는, OP 코드로 소정의 어드레스값에 1을 더하는 축차 모드, 해당 점프 오프셋값에 의해 무조건으로 어드레스를 천이하는 무조건 점프 모드, 또는 전환 조건 신호의 수신시에는 해당 점프 오프셋값에 의해 어드레스를 천이하지만 상기 전환 조건 신호의 비수신시에는 소정의 어드레스값에 1을 더하는 조건 점프 모드를 지정하는 단계를 포함하는 것인 연산 장치의 제어 방법.
KR1020050010916A 2004-06-30 2005-02-05 연산 장치 및 연산 장치의 제어 방법 KR100732438B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00194798 2004-06-30
JP2004194798A JP4364077B2 (ja) 2004-06-30 2004-06-30 演算装置及び演算装置の制御方法

Publications (2)

Publication Number Publication Date
KR20060041779A KR20060041779A (ko) 2006-05-12
KR100732438B1 true KR100732438B1 (ko) 2007-06-27

Family

ID=35515393

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050010916A KR100732438B1 (ko) 2004-06-30 2005-02-05 연산 장치 및 연산 장치의 제어 방법

Country Status (4)

Country Link
US (1) US7725698B2 (ko)
JP (1) JP4364077B2 (ko)
KR (1) KR100732438B1 (ko)
CN (1) CN100405353C (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4353052B2 (ja) 2004-10-04 2009-10-28 株式会社日立製作所 半導体集積回路
WO2007102218A1 (ja) * 2006-03-09 2007-09-13 Fujitsu Limited リコンフィギャラブル回路
JP5131188B2 (ja) * 2006-04-05 2013-01-30 日本電気株式会社 データ処理装置
JP5240200B2 (ja) * 2007-10-03 2013-07-17 日本電気株式会社 データ処理装置および方法
US8275975B2 (en) * 2008-01-25 2012-09-25 Mtekvision Co., Ltd. Sequencer controlled system and method for controlling timing of operations of functional units
WO2009096247A1 (ja) * 2008-02-01 2009-08-06 Nec Corporation 多分岐予測方法及び装置
JP5133169B2 (ja) * 2008-08-12 2013-01-30 ルネサスエレクトロニクス株式会社 状態遷移管理装置及びその状態遷移管理方法
WO2010087098A1 (ja) 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
JP5218453B2 (ja) * 2009-04-10 2013-06-26 オムロン株式会社 設備運転状態計測装置、設備運転状態計測方法、および制御プログラム
CN103353300A (zh) * 2013-01-06 2013-10-16 罗建刚 摄影中心位置或像姿态的测量方法及运算设备及编程法
CN103309645B (zh) * 2013-04-27 2015-09-16 李朝波 一种在计算机数据处理指令中附加跳转功能的方法及cpu模块
CN103389065B (zh) * 2013-08-01 2015-11-25 罗建刚 摄影中心到目标实物点的方位角的测量方法
CN106528047B (zh) * 2015-10-08 2019-04-09 上海兆芯集成电路有限公司 一种处理器、神经网络单元及其运作方法
CN111124497B (zh) * 2018-10-11 2022-03-29 上海寒武纪信息科技有限公司 运算方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100382018B1 (ko) * 1999-05-24 2003-05-01 가부시끼가이샤 도시바 프로세서 장치
KR100591444B1 (ko) * 2000-01-25 2006-06-22 닌텐도가부시키가이샤 반도체 기억장치와 프로그램 판별시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4338661A (en) * 1979-05-21 1982-07-06 Motorola, Inc. Conditional branch unit for microprogrammed data processor
US4370711A (en) * 1980-10-21 1983-01-25 Control Data Corporation Branch predictor using random access memory
JPH01271838A (ja) * 1988-04-22 1989-10-30 Fujitsu Ltd マイクロプログラム分岐方法
EP0463965B1 (en) * 1990-06-29 1998-09-09 Digital Equipment Corporation Branch prediction unit for high-performance processor
US5265213A (en) * 1990-12-10 1993-11-23 Intel Corporation Pipeline system for executing predicted branch target instruction in a cycle concurrently with the execution of branch instruction
US5454117A (en) * 1993-08-25 1995-09-26 Nexgen, Inc. Configurable branch prediction for a processor performing speculative execution
US5471597A (en) * 1993-12-23 1995-11-28 Unisys Corporation System and method for executing branch instructions wherein branch target addresses are dynamically selectable under programmer control from writable branch address tables
JP3599409B2 (ja) * 1994-06-14 2004-12-08 株式会社ルネサステクノロジ 分岐予測装置
JP3453938B2 (ja) 1995-07-24 2003-10-06 三菱電機株式会社 演算回路および演算方法
JP3674515B2 (ja) 2000-02-25 2005-07-20 日本電気株式会社 アレイ型プロセッサ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100382018B1 (ko) * 1999-05-24 2003-05-01 가부시끼가이샤 도시바 프로세서 장치
KR100591444B1 (ko) * 2000-01-25 2006-06-22 닌텐도가부시키가이샤 반도체 기억장치와 프로그램 판별시스템

Also Published As

Publication number Publication date
JP4364077B2 (ja) 2009-11-11
CN1716230A (zh) 2006-01-04
US7725698B2 (en) 2010-05-25
CN100405353C (zh) 2008-07-23
US20060004999A1 (en) 2006-01-05
JP2006018515A (ja) 2006-01-19
KR20060041779A (ko) 2006-05-12

Similar Documents

Publication Publication Date Title
KR100732438B1 (ko) 연산 장치 및 연산 장치의 제어 방법
JP5169486B2 (ja) Fpgaコンフィグレーション装置及びこれを有する回路基板、電子装置、及びfpgaコンフィグレーション方法
CN105912992B (zh) 使用层次结构分析数据
US8788991B2 (en) State grouping for element utilization
US7430678B2 (en) Low power operation control unit and program optimizing method
US7571335B2 (en) Processor with variable wake-up and sleep latency and method for managing power therein
US7743236B2 (en) Reconfigurable processor
GB2587032A (en) Method for designing accelerator hardware
US8429380B2 (en) Disabling redundant subfunctional units receiving same input value and outputting same output value for the disabled units in SIMD processor
US20100211747A1 (en) Processor with reconfigurable architecture
CN110458875B (zh) 异常点对的检测方法、图像拼接方法、相应装置及设备
KR100436805B1 (ko) 프로그래머블 메모리 bist 결합 마이크로코드 및 유한상태 머신 자체 테스트
US6604232B2 (en) High-level synthesis method and storage medium storing the same
CN101047380B (zh) 共用输入/输出端子控制电路
KR20230087888A (ko) 뉴럴 네트워크 기반의 집적회로 레이아웃 최적화 시스템 및 방법
US20120290992A1 (en) Logical circuit netlist reduction and model simplification using simulation results containing symbolic values
US20040098685A1 (en) Multi-cycle path analyzing method
CN113051854A (zh) 基于硬件结构感知的自适应学习式功率建模方法与系统
Sekanina et al. Toward uniform approach to design of evolvable hardware based systems
Babakov et al. A Matrix Method for Detecting Formal Solutions to the Problem of Algebraic Synthesis of a Finite-State Machine with a Datapath of Transitions
Dermott Cognitive Sensor Platform.
US6958625B1 (en) Programmable logic device with hardwired microsequencer
JP2002365337A (ja) テスト回路およびデジタル回路
KR20210131417A (ko) 데이터 처리 장치 및 인공 지능 칩
KR100899258B1 (ko) 디지털 신호 처리 장치

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: 20130531

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140603

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee