KR100345009B1 - 비동기식 제어부의 생성 방법 - Google Patents

비동기식 제어부의 생성 방법 Download PDF

Info

Publication number
KR100345009B1
KR100345009B1 KR1020000046852A KR20000046852A KR100345009B1 KR 100345009 B1 KR100345009 B1 KR 100345009B1 KR 1020000046852 A KR1020000046852 A KR 1020000046852A KR 20000046852 A KR20000046852 A KR 20000046852A KR 100345009 B1 KR100345009 B1 KR 100345009B1
Authority
KR
South Korea
Prior art keywords
signal
performance
controller
request
transition
Prior art date
Application number
KR1020000046852A
Other languages
English (en)
Other versions
KR20020013648A (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 주식회사 에이디칩스
Priority to KR1020000046852A priority Critical patent/KR100345009B1/ko
Priority to US09/792,749 priority patent/US6594815B2/en
Publication of KR20020013648A publication Critical patent/KR20020013648A/ko
Application granted granted Critical
Publication of KR100345009B1 publication Critical patent/KR100345009B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30109Register structure having multiple operands in a single register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Programmable Controllers (AREA)

Abstract

본 발명의 비동기식 제어부의 생성 방법은 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위한 다수의 수행제어기들(PC1∼PC4)의 입력/출력 신호들의 변화 상태를 나타낸 신호전이그래프를 형성하는 수행제어기 형성단계(S100), 데이터흐름그래프로부터 수행제어기들(PC1∼PC4)의 수행 순서에 따라 수행순서 제어기(PSC)의 신호전이그래프를 형성하는 수행순서 제어기 형성단계(S400) 및 수행제어기 형성단계(S100)에서 형성된 수행제어기들(PC1∼PC4)의 신호전이그래프의 입력/출력 신호들의 변화 상태와 수행순서 제어기 형성단계(S400)에서 형성된 수행순서 제어기(PSC)의 신호전이그래프의 입력/출력 신호들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 자동으로 생성하는 논리합성단계(S500)로 구성된다.
비동기식 제어부를 수행제어기와 수행순서 제어기로 분할함으로써 면적, 성능 및 합성시간이 우수하다.

Description

비동기식 제어부의 생성 방법{Asynchronous control circuit generation method}
본 발명은 비동기식 제어부의 생성 방법에 관한 것으로, 특히 데이터흐름그래프의 노드에 대응하는 프로세스를 중심으로 비동기식 제어부를 수행제어기와 수행순서 제어기로 분할한 프로세스 중심적인 비동기식 제어부의 생성 방법에 관한 것이다.
초고속ㆍ저전력 시스템의 급속한 확산 및 필요성의 증가와 더불어 비동기식방식에 기반한 시스템 설계의 경향이 확산되고 있다. 특히 비동기식 시스템은 동기식 시스템에 비해 클럭왜곡(clock skew)이 없고, 저전력 소모, 고성능 및 낮은 전자파 간섭의 발생 등에 있어 유리하다.
종래의 경우 비동기식 제어부(asynchronous control circuit)의 생성 방법에는 중앙집중방식(centralized control circuit generation method)과 하드웨어 중심방식(hardware-oriented control circuit generation method)이 있다.
도 1은 종래의 중앙집중방식의 비동기식 제어부의 구성도를 도시한 도면이다.
도 1의 전체 시스템은 입력선택부(21), 레지스터(22) 및 출력선택부(23)로 구성된 입출력 처리부(20), 각종 연산을 수행하기 위한 가산기, 감산기 및 승산기 등으로 구성된 데이터 처리부(30) 및 제어부(10)로 구성된 것으로 종래의 중앙집중방식은 전체 시스템에 대하여 오직 하나의 통합된 제어부(10) 만을 가지고 있는 것으로 전역 클럭에 동기되어 동작하는 동기식 시스템에 대한 제어회로 설계에서 전형적으로 사용되는 방식이다. 중앙집중방식에 있어 모든 제어신호들은 제어부(10)로부터 발생되어야 하고, 제어부(10)의 크기는 일반적으로 크다. 따라서 이와 같은 제어부의 설계방식을 비동기식 제어부의 설계에 적용할 경우, 시스템이 수행할 작업 및 작업순서에 관한 많은 정보들이 하나의 제어부에 통합되어 사양이 복잡해지는 경우 전역클럭이 없는 중앙집중방식의 비동기식 제어부는 병행성의 감소, 회로면적의 증가, 현존하는 비동기식 논리합성기에 의한 합성시 합성시간의 증가 및 해저드(hazard) 없는 대규모의 비동기식 제어회로를 용이하게 구현할 수 없는 문제점이 있다.
도 2는 종래의 하드웨어 중심방식의 비동기식 제어부의 구성도를 도시한 도면이다.
도 2의 종래의 하드웨어 중심의 비동기식 제어부(40)는 중앙집중방식의 비동기식 제어부가 가지는 문제점을 해결하기 위하여 시스템을 구성하는 하드웨어를 기준으로 제어부(40)를 다수의 제어회로들(CP1∼CPn)로 분할 구성한 방식으로 비동기식 시스템을 위하여 고안된 제어부의 설계방식이다. 이 방식에서 설계자는 회로의 구성모듈을 중심으로 전체 제어회로를 분할 할 수 있으므로 소규모의 시스템의 설계시에 효과적이나, 회로면적과 관련하여 할당된 하드웨어의 개수에 제약이 있을 경우 중앙집중방식의 제어부와 동일하게 회로의 성능, 면적, 합성시간 등이 급속히 증가하는 문제점을 가지고 있다.
본 발명의 목적은 데이터흐름그래프로부터 비동기식 제어부를 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 생성하는 다수의 수행제어기들과 수행제어기들의 수행 순서를 제어하는 수행순서 제어기로 분할 및 유도함으로써 면적, 성능 및 합성시간이 우수한 프로세스 중심적인 비동기식 제어부의 생성 방법을 제공하는 데 있다.
도 1은 종래의 중앙집중방식의 비동기식 제어부의 구성도,
도 2는 종래의 하드웨어 중심의 비동기식 제어부의 구성도,
도 3은 본 발명의 프로세스 중심의 비동기식 제어부의 생성방법의 제1실시례인 순서도,
도 4는 본 발명의 수행제어기 형성단계의 순서도,
도 5는 본 발명의 수행제어기와 입출력신호들과의 관계도,
도 6a는 본 발명의 수행제어기에 대한 신호전이그래프의 제1실시례,
도 6b는 본 발명의 수행제어기에 대한 신호전이그래프의 제2실시례,
도 6c는 본 발명의 수행제어기에 대한 신호전이그래프의 제3실시례,
도 7은 본 발명의 수행순서 제어기를 위한 데이터흐름그래프,
도 8은 본 발명의 수행순서 제어기의 페트리 넷 형성단계의 순서도,
도 9는 본 발명의 수행순서 제어기의 생성을 위한 데이터흐름그래프로부터 페트리 넷의 유도과정도,
도 10은 본 발명의 수행순서 제어기의 신호전이그래프 형성단계의 순서도,
도 11은 페트리 넷으로부터 수행순서 제어기에 대한 신호전이그래프의 유도과정도,
도 12는 본 발명의 프로세스 중심의 비동기식 제어부의 생성방법의 제2실시례인 순서도,
도 13a는 본 발명의 수행제어기에 대한 유한상태기의 제1실시례,
도 13b는 본 발명의 수행제어기에 대한 유한상태기의 제2실시례,
도 13c는 본 발명의 수행제어기에 대한 유한상태기의 제3실시례,
도 14는 데이터흐름그래프로부터 본 발명의 수행순서 제어기에 대한 유한상태기의 순서도,
도 15는 데이터흐름그래프로부터 본 발명의 수행순서 제어기에 대한 유한상태기의 유도과정도,
도 16은 본 발명의 비동기식 제어부의 구성 및 동작도,
도 17은 본 발명의 수행제어기와 수행순서 제어기의 동작도 이다.
상기의 목적을 달성하기 위하여 본 발명의 비동기식 제어부의 생성 방법은 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프로부터 비동기식 제어부의 입력/출력 신호들의 변화 상태를 나타낸 신호전이그래프를 형성하고, 논리합성기에 의해 신호전이그래프로부터 데이터 처리부에서 연산을 수행하도록 제어하는 비동기식 제어부를 생성하는 비동기식 제어부의 생성 방법에 있어서, 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위한 다수의 수행제어기들의 신호전이그래프를 형성하는 수행제어기 형성단계; 데이터흐름그래프로부터 수행제어기들의 수행 순서에 따라 수행순서 제어기의 신호전이그래프를 형성하는 수행순서 제어기 형성단계; 및 수행제어기 형성단계에서 형성된 수행제어기들의 신호전이그래프의 입력/출력 신호들의 변화 상태와 수행순서 제어기 형성단계에서 형성된 수행순서 제어기의 신호전이그래프의 입력/출력 신호들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 생성하는 논리합성단계를 구비한 것을 특징으로 한다.
상기의 다른 목적을 달성하기 위하여 본 발명의 비동기식 제어부의 생성 방법은 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프로부터 비동기식 제어부의 입력신호들인 집합인 입력버스트와 입력신호들에 대응되는 출력신호들의 집합인 출력버스트로 이루어진 유한상태기를 형성하고, 논리합성기에 의해 유한상태기로부터 데이터 처리부에서 연산을 수행하도록 제어하는 비동기식 제어부를 생성하는 비동기식 제어부의 생성 방법에 있어서, 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위하여 수행제어기로 입력되는 입력신호들의 집합인 입력버스트와 수행제어기로부터 출력되는 출력신호들의 집합인 출력버스트로 구성된 유한상태기를 형성하는 수행제어기 형성단계; 데이터흐름그래프로부터 수행제어기들의 수행 순서에 따라 수행순서 제어기의 유한상태기를 형성하는 수행순서 제어기 형성단계; 및 수행제어기 형성단계에서 형성된 수행제어기들의 유한상태기의 입력버스트와 출력버스트들과 수행순서 제어기 형성단계에서 형성된 수행순서 제어기의 유한상태기의 입력버스트와 출력버스트들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 생성하는 논리합성단계를 구비한 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 비동기식 제어부의 생성 방법을 상세히 설명하고자 한다.
도 3은 본 발명의 프로세스 중심의 비동기식 제어부의 생성 방법의 제1실시례인 순서도 이다.
도 3에 도시된 바와 같이 본 발명의 비동기식 제어부의 생성 방법은 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프(Data Flow graph)로부터 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위한 다수의 수행제어기들(PC1∼PC4)의 입력/출력 신호들의 변화 상태를 나타낸 신호전이그래프(Signal Transition Graph)를 형성하는 수행제어기 형성단계(S100), 데이터흐름그래프로부터 수행제어기들(PC1∼PC4)의 수행 순서에 따라 수행순서 제어기(PSC)의 신호전이그래프를 형성하는 수행순서 제어기 형성단계(S400) 및 수행제어기 형성단계(S100)에서 형성된 수행제어기들(PC1∼PC4)의 신호전이그래프의 입력/출력 신호들의 변화 상태와 수행순서 제어기 형성단계(S400)에서 형성된 수행순서 제어기(PSC)의 신호전이그래프의 입력/출력 신호들의 변화 상태를 논리합성기(Logic Synthesis Program)에 의해 비동기식 제어부를 생성하는 논리합성단계(S500)로 구성된다.
수행순서 제어기 형성단계(S400)는 데이터흐름그래프로부터 수행제어기들(PC1∼PC4)의 수행 순서에 따라 동작을 나타내는 전이, 상태를 나타내는 장소 및 전이와 장소 간의 연결관계로 이루어진 수행순서 제어기(PSC)의 페트리 넷(Petri Net)을 형성하는 페트리 넷 형성단계(S200) 및 페트리 넷의 전이를 수행순서 제어기(PSC)의 입력/출력 신호들의 변화 상태를 갖는 신호전이그래프를 형성하는 신호전이그래프 형성단계(S300)로 구성된다.
도 4의 본 발명의 수행제어기 형성단계의 제1실시례의 순서도에 도시된 바와 같이 수행제어기 형성단계(S100)는 수행순서 제어기(PSC)로부터 출력되는 데이터 처리부(FU)에서 연산 동작을 개시하기 위한 요구시작 상승신호(ReqStart+)에 의해 수행제어기(PC)를 활성화시키는 수행제어기 활성화 단계(S110), 데이터 처리부(FU)에 의한 연산을 수행하기 위한 피연산자(OP1,OP2) 획득을 위해 수행제어기(PC)는 피연산자 요구 상승신호(ReqOP1+,ReqOP1+)를 출력하는 피연산자 획득단계(S120), 데이터 처리부(FU)에 의한 연산을 수행하기 위해 수행제어기(PC)는 데이터 처리부(FU)에 데이터처리 요구 상승신호(ReqFU+)를 출력하는 데이터처리 요구단계(S140), 데이터처리 요구단계(S130)에서의 데이터처리 요구상승신호(ReqFU+)에 응답하여 피연산자 획득단계(S120)에서의 피연산자에 의한 연산을 수행하고, 연산 수행 종료에 대한 데이터처리 응답 상승신호(AckFU+)를 수행제어기(PC)로 출력하는 데이터처리 단계(S150), 수행제어기(PC)는 데이터 처리부(FU)에서 수행된 연산 결과를 목적레지스터(R)에 저장하기 위해 목적레지스터(R)를 활성화시켜 주기 위해 저장요구 상승신호(ReqWDR+)를 목적레지스터(R)로 출력하는 저장요구단계(S160), 목적레지스터는 저장요구단계(S160)에서의 저장요구 상승신호(ReqWDR+)에 응답하여 연산 결과를 저장하고, 저장응답 상승신호(AckWDR+)를 수행제어기(PC)로 출력하는 데이터 저장단계(S170), 수행제어기(PC)는 수행순서 제어기(PSC)로 데이터 처리부(FU)에서의 연산 동작 완료를 나타내는 응답시작 상승신호(AckStart+)를 출력하는 종료단계(S180) 및 모든 상승신호들(ReqStart+,ReqOP1+,ReqOP1+,ReqFU+,AckFU+,ReqWDR+,AckWDR+,AckStart+)을 초기 상태로 복원하기 위해 모든 상승신호들에 대해 하강신호들(ReqStart-,ReqOP1-,ReqOP1-,ReqFU-,AckFU-,ReqWDR-,AckWDR-,AckStart-)을 출력하는 휴식단계(S190)로 구성된다.
도 4에서 데이터 처리부(FU)에서 다수의 연산들을 수행하는 경우 각각의 연산들을 구분하기 위하여 수행제어기(PC)는 연산코드 요구 상승신호(OPcode+)를 데이터 처리부(FU)로 출력하는 연산선택단계(S130)를 더 구비할 수 있다.
본 발명의 수행제어기 형성단계의 제2실시례는 도 4의 제1실시례에서 데이터 처리부(FU)에서 연산 동작을 하지 않고, 피연산자를 바로 목적레지스터에 저장하기 위한 신호전이그래프를 형성하는 것이다.
즉, 본 발명의 제2실시례의 수행제어기 형성단계는 수행순서 제어기(PSC)로부터 출력되는 요구시작 상승신호(ReqStart+)에 의해 수행제어기(PC)를 활성화시키는 수행제어기 활성화 단계(S110), 수행제어기(PC)는 피연산자(OP1) 획득을 위해 피연산자 요구 상승신호(ReqOP1+)를 출력하는 피연산자 획득단계(S120), 수행제어기(PC)는 피연산자 획득단계(S120)에서 획득한 피연산자(OP1)를 목적레지스터(R)에 저장하기 위해 목적레지스터(R)를 활성화시켜 주는 저장요구 상승신호(ReqWDR+)를 목적레지스터(R)로 출력하는 저장요구단계(S160), 목적레지스터(R)는 저장요구단계(S160)에서의 저장요구 상승신호(ReqWDR+)에 응답하여 피연산자(OP1)를 저장하고, 저장응답 상승신호(AckWDR+)를 수행제어기(PC)로 출력하는 데이터 저장단계(S170), 수행제어기(PC)는 수행순서 제어기(PSC)로 피연산자 저장 완료를 나타내는 응답시작 상승신호(AckStart+)를 출력하는 종료단계(S180) 및 모든 상승신호들(ReqStart+,ReqOP1+,ReqWDR+,AckWDR+,AckStart+)을 초기 상태로 복원하기 위해 모든 상승신호들에 대해 하강신호들(ReqStart-,ReqOP1-,ReqWDR-,AckWDR-,AckStart-)을 출력하는 휴식단계(S190)로 구성된다.
도 8은 본 발명의 페트리 넷 형성단계의 순서도이다.
도 8의 페트리 넷 형성단계는 페트리 넷의 시작과 종료를 나타내는 시작전이(START)와 종료전이(END)를 발생하는 시작/종료 발생단계(S210), 데이터흐름그래프로부터 데이터흐름그래프의 각 노드(OPN1∼OPN4)인 연산에 대하여 대응하는 수행제어전이들(PC1∼PC4)을 생성하고, 데이터흐름그래프의 각 노드 간에 순서적인 연결관계가 있으면 그 순서에 따라 수행제어전이들을 연결하고, 각 수행제어전이 연결 사이에 장소(P)를 설정하는 수행제어 형성단계(S220), 데이터흐름그래프에서 선행노드를 가지지 않은 노드(OPN1,OPN2)에 대응하는 수행제어전이(PC1,PC2)에 대하여 시작전이(START)로부터의 연결을 생성하고, 시작전이(START)와 수행제어전이(PC1,PC2) 연결 사이에 장소(P)를 설정하는 제1수행제어전이 형성단계(S230), 데이터흐름그래프에서 후행노드를 가지지 않은 노드(OPN3,OPN4)에 대응하는 수행제어전이(PC3,PC4)로부터 종료전이(END)로 연결을 생성하고, 수행제어전이(PC3,PC4)와 종료전이(END) 연결 사이에 장소(P)를 설정하는 제2수행제어전이 형성단계(S240) 및 시작/종료 발생단계(S210)에서 형성된 종료전이(END)로부터 시작전이(START)로의 연결을 생성하고, 종료전이(END)와 시작전이(START)의 연결 사이에 장소(P)를 설정하고, 설정된 장소에 시작위치를 나타내는 토큰을 형성하는 종료단계(S250)로 구성된다.
도 10은 본 발명의 수행순서 제어기에 대한 신호전이그래프 형성단계의 순서도이다.
도 10의 신호전이그래프 형성단계는 페트리 넷의 시작전이(START)는 요구 상승신호(Req+)로 변환하고, 종료전이(END)는 응답 상승신호(Ack+)와 요구 하강신호(Req-)로 분할하여 응답 상승신호(Ack+)로부터 요구 하강신호(Req-)로의 신호전이 상태를 형성하는 시작/종료 변환단계(S310), 페트리 넷의 각 수행제어전이(PC1∼PC4)에 대해 수행요구 상승신호(ReqPC1+,ReqPC2+,ReqPC3+,ReqPC4+)와 수행응답 상승신호(AckPC1+,AckPC2+,AckPC3+,AckPC4+)로 분할하고, 수행요구 상승신호(ReqPC1+,ReqPC2+,ReqPC3+,ReqPC4+)로부터 수행응답 상승신호(AckPC1+,AckPC2+,AckPC3+,AckPC4+)로의 신호전이 상태를 형성하는 제1수행제어 변환단계(S320), 페트리 넷으로부터 페트리 넷의 시작전이(START)와 장소(P)를 거쳐 연결된 모든 수행제어전이들(PC1,PC2) 각각에 대해서 시작/종료 변환단계(S310)에서 형성된 요구 상승신호(Req+)로부터 제1수행제어 변환단계(S320)에서 형성된 수행요구 상승신호(ReqPC1+,ReqPC2+)로의 신호전이 상태를 형성하는 제1신호전이 변환단계(S330), 페트리 넷으로부터 페트리 넷의 종료전이(END)와 장소(P)를 거쳐 연결된 종료전이(END)에 선행되는 모든 수행제어전이들(PC3,PC4) 각각에 대해서 제1수행제어 변환단계(S320)에서 형성된 수행응답상승신호(AckPC3+,AckPC4+)로부터 시작/종료 변환단계(S310)에서 형성된 응답 상승신호(Ack+)로의 신호전이 상태를 형성하는 제2신호전이 변환단계(S340), 페트리 넷으로부터 현재의 수행제어전이(PC1,PC2)와 다음의 수행제어전이(PC3,PC4)와 장소(P)를 거쳐 연결되어 있는 경우 현재의 수행제어전이(PC1,PC2)의 수행응답 상승신호(AckPC1+,AckPC2+)로부터 다음의 수행제어전이(PC3,PC4)의 수행요구 상승신호(ReqPC3+,ReqPC4+)로 신호전이 상태를 형성하는 제3신호전이 변환단계(S350), 페트리 넷의 각 수행제어전이(PC1,PC2,PC3,PC4)에 대해 수행요구 하강신호(ReqPC1-,ReqPC2-,ReqPC3-,ReqPC4-)와 수행응답 하강신호(AckPC1-,AckPC2-,AckPC3-,AckPC4-)로 분할하고, 수행요구 하강신호(ReqPC1-,ReqPC2-,ReqPC3-,ReqPC4-)로부터 수행응답 하강신호(AckPC1-,AckPC2-,AckPC3-,AckPC4-)로의 신호전이 상태를 형성하는 제2수행제어 변환단계(S360), 시작/종료 변환단계(S310)의 요구 상승신호(Req+)에 대응되는 응답 하강신호(Ack-)를 형성하는 응답하강신호 형성단계(S370), 시작/종료 변환단계(S310)의 요구 하강신호(Req-)로부터 제2수행제어 변환단계(S360)에서 발생된 모든 수행요구 하강신호(ReqPC1-,ReqPC2-,ReqPC3-,ReqPC1-)로의 신호전이 상태를 형성하고, 제2수행제어 변환단계(S360)에서 발생된모든 수행응답 하강신호(AckPC1-,AckPC2-,AckPC3-,AckPC4-)로부터 응답 하강신호(Ack-)로의 신호전이 상태를 형성하는 하강신호전이 변환단계(S380) 및 응답 하강신호(Ack-)로부터 요구 상승신호(Req+)로의 신호전이 상태를 형성하고, 신호전이그래프의 시작위치를 나타내는 토큰(T)을 형성하는 종료단계(S390)로 구성된다.
도 12에 도시된 바와 같이 본 발명의 제2실시례인 비동기식 제어부의 생성 방법은 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프로부터 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위하여 수행제어기(PC)로 입력되는 입력신호들의 집합인 입력버스트와 수행제어기(PC)로부터 출력되는 출력신호들의 집합인 출력버스트로 구성된 유한상태기(Finite State Machine)를 형성하는 수행제어기 형성단계(S600), 데이터흐름그래프로부터 수행제어기(PC)들의 수행 순서에 따라 수행순서 제어기(PSC)의 유한상태기를 형성하는 수행순서 제어기 형성단계(S700) 및 수행제어기 형성단계(S600)에서 형성된 수행제어기(PC)들의 유한상태기의 입력버스트와 출력버스트들과 수행순서 제어기 형성단계(S700)에서 형성된 수행순서 제어기(PSC)의 유한상태기의 입력버스트와 출력버스트들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 생성하는 논리합성단계(S900)로 구성된다.
도 13a에 도시된 바와 같이 본 발명의 수행제어기 형성단계(S600)의 제1실시례는 초기상태(0)로부터 첫번째 상태(1)로의 연결을 형성하고, 수행순서제어기(PSC)로부터 출력되어 수행제어기(PC)에 입력되는 요구시작 상승신호(ReqStart+)를 초기상태(0)로부터 첫번째 상태(1)에서의 입력버스트로 형성하고, 요구시작 상승신호(ReqStart+)에 따라 피연산자 요구 상승신호(ReqOP1+,ReqOP2+)와 데이터 처리부(FU)에 의한 연산을 수행하기 위한 데이터처리 요구 상승신호(ReqFU+)를 출력버스트로 형성하는 단계, 첫번째 상태(1)로부터 두번째 상태(2)로의 연결을 형성하고, 데이터처리 요구 상승신호(ReqFU+)에 응답하여 데이터 처리부(FU)에서 피연산자에 의한 연산을 수행하고, 데이터 처리부(FU)로부터 수행제어기(PC)로 입력되는 연산 수행 종료에 대한 데이터처리 응답 상승신호(AckFU+)를 입력버스트로 형성하고, 데이터처리 응답 상승신호(AckFU+)에 따라 데이터 처리부(FU)에서 수행된 연산 결과를 목적레지스터(R)에 저장하기 위해 목적레지스터(R)를 활성화시켜 주기 위한 저장요구 상승신호(ReqWDR+)를 출력버스트로 형성하는 단계, 두번째 상태(2)로부터 세번째 상태(3)로의 연결을 형성하고, 저장요구 상승신호(ReqWDR+)에 응답하여 목적레지스터(R)로부터 수행제어기(PC)로 입력되는 연산 결과 저장 완료에 대한 저장응답 상승신호(AckWDR+)를 입력버스트로 형성하고, 요구시작 상승신호(ReqStart+)에 응답하여 수행제어기(PC)로부터 수행순서 제어기(PSC)로 출력되는 응답시작 상승신호(AckStart+)와 수행제어기(PC)로부터 출력되는 피연산자 요구 상승신호(ReqOP1+,ReqOP2+), 데이터처리 요구 상승신호(ReqFU+) 및 저장요구 상승신호(ReqWDR+)를 초기상태로 복원시키기 위한 피연산자 요구 하강신호(ReqOP1-,ReqOP2-), 데이터처리 요구 하강신호(ReqFU-) 및 저장요구 하강신호(ReqWDR-)를 출력버스트로 형성하는 단계 및 세번째 상태(3)로부터 초기상태(0)로의 연결을 형성하고, 수행제어기(PC)로 입력되는 모든 데이터처리 응답 상승신호(AckFU+), 저장응답 상승신호(AckWDR+) 및 요구시작 상승신호(ReqStart+)를 초기상태로 복원시키기 위한 데이터처리 응답 하강신호(AckFU-), 저장응답 하강신호(AckWDR-) 및 요구시작 하강신호(ReqStart-)를 입력버스트로 형성하고, 수행제어기(PC)로부터 수행순서 제어기(PSC)로 출력되는 응답시작 상승신호(AckStart+)를 초기상태로 복원시키기 위한 응답시작 하강신호(AckStart-)를 출력버스트로 형성하는 단계로 구성된다.
도 13b에 도시된 본 발명의 수행제어기 형성단계(S600)의 제2실시례는 초기상태(0)로부터 첫번째 상태(1)로의 연결을 형성하고, 수행순서 제어기(PC)로부터 출력되어 수행제어기(PC)에 입력되는 요구시작 상승신호(ReqStart+)를 초기상태(0)로부터 첫번째 상태(1)에서의 입력버스트로 형성하고, 요구시작상승신호(ReqStart+)에 따라 피연산자 요구 상승신호(ReqOP1+)와 피연산자를 목적레지스터(R)에 저장하기 위해 목적레지스터(R)를 활성화시켜 주기 위한 저장요구 상승신호(ReqWDR+)를 출력버스트로 형성하는 단계, 첫번째 상태(1)로부터 두번째 상태(2)로의 연결을 형성하고, 저장요구 상승신호(ReqWDR+)에 응답하여 목적레지스터(R)로부터 수행제어기(PC)로 입력되는 피연산자(OP1) 저장 완료에 대한 저장응답 상승신호(AckWDR+)를 입력버스트로 형성하고, 요구시작 상승신호(ReqStart+)에 응답하여 수행제어기(PC)로부터 수행순서 제어기(PSC)로 출력되는 응답시작 상승신호(AckStart+)와 수행제어기(PC)로부터 출력되는 피연산자 요구 상승신호(ReqOP1+) 및 저장요구 상승신호(ReqWDR+)를 초기상태로 복원시키기 위한 피연산자 요구 하강신호(ReqOP1-) 및 저장요구 하강신호(ReqWDR-)를 출력버스트로 형성하는 단계 및 두번째 상태(2)로부터 초기상태(1)로의 연결을 형성하고, 수행제어기(PC)로 입력되는 모든 저장응답 상승신호(AckWDR+) 및 요구시작 상승신호(ReqStart+)를 초기상태로 복원시키기 위한 저장응답 하강신호(AckWDR-) 및 요구시작 하강신호(ReqStart-)를 입력버스트로 형성하고, 수행제어기(PC)로부터 수행순서 제어기(PSC)로 출력되는 응답시작 상승신호(AckStart+)를 초기상태로 복원시키기 위한 응답시작 하강신호(AckStart-)를 출력버스트로 형성하는 단계로 구성된다.
도 13c에 도시된 바와 같이 본 발명의 수행제어기 형성단계(S600)의 제3실시례는 도 13a의 수행제어기 형성단계(S600)의 제1실시례와 동일하다. 다만 도 13c의 수행제어기 형성단계(S600)의 제3실시례는 초기상태(0)로부터 첫번째 상태(1)로의 연결 형성 단계에서 데이터 처리부(FU)에서 다수의 연산들을 수행하는 경우 각각의 연산들을 구분하기 위한 연산코드 요구 상승신호(Opcode+)를 출력버스트에 더 형성하고, 두번째 상태(2)로부터 세번째 상태(3)로의 연결 형성 단계에서 연산코드 요구 상승신호(Opcode+)를 초기상태로 복원시키기 위한 연산코드 요구 하강신호(Opcode-)를 출력버스트에 더 형성한다.
도 14에 도시된 바와 같이 본 발명의 수행순서 제어기 형성단계(S700)는 초기상태(0)를 형성하고, 현재상태를 나타내는 현재상태변수(CUS)를 0으로 설정하는 초기상태 형성단계(S710), 현재상태변수(CUS)가 1씩 증가될 때 마다 다음 상태를 형성하고, 현재상태로부터 다음 상태로 각각 연결관계를 형성하는 연결형성단계(S720), 현재상태변수(CUS)가 0인지를 검출하는 검출단계(S730), 검출단계(S730)에서 현재상태변수(CUS)가 0이면 연결관계의 입력버스트는 요구시작 상승신호(Req+)를 형성하는 단계(S740), 검출단계(S730)에서 현재상태변수(CUS)가 0이 아니면 현재상태 이전의 전상태에서 현재상태로의 연결관계의 출력버스트를 구성하는 수행요구 상승신호들(ReqPC1+,ReqPC2+,ReqPC3+,ReqPC4+)에 대응하는 수행응답 상승신호들(AckPC1+,AckPC2+,AckPC3+,AckPC4+)을 입력버스트로 형성하는 입력버스트노드 형성단계(S750), 데이터흐름그래프로부터 선행노드를 가지지 않는 노드가 존재하는 지를 검출하는 선행노드유무 판단단계(S760), 선행노드유무 판단단계(S760)에서 선행노드를 가지지 않는 노드(OPN1,OPN2)가 있으면 그 노드(OPN1,OPN2)에 대응하는 수행요구 상승신호(ReqPC1+,ReqPC2+)를 출력버스트로 형성하고, 선행노드를 가지지 않는 노드(OPN1,OPN2)를 삭제한 후 현재상태변수(CUS)를 1을 증가시키고, 연결형성단계(S720)로 진행하는 출력버스트노드 형성단계(S770), 선행노드유무 판단단계(S760)에서 선행노드를 가지지 않는 노드가 없으면 요구시작 상승신호(Req+)에 대응되는 응답시작 상승신호(Ack+)를 출력버스트로 형성하는 단계(S780), 응답시작 상승신호(Ack+)를 출력버스트로 형성한 후 현재상태변수(CUS)를 1을 증가시켜 다음 상태를 형성하고, 현재상태에서 다음 상태로의 연결관계를 형성하고, 요구시작 상승신호(Req+)를 초기상태로 복원시키기 위한 요구시작 하강신호(Req-)를 해당 연결관계의 입력버스트로 형성하고, 모든 수행요구 상승신호들(ReqPC1+∼ReqPC4+)을 초기상태로 복원시키기 위한 수행요구 하강신호들(ReqPC1-∼ReqPC4-)을 해당 연결관계의 출력버스트로 형성하는 단계(S790) 및 현재상태변수(CUS)를 1을 증가시킨 후 현재상태로부터 초기상태(0)로 연결관계를 형성하고, 모든 수행응답 상승신호들(AckPC1+∼AckPC4+)을 초기상태로 복원시키기 위한 수행응답 하강신호들(AckPC1-∼AckPC4-)을 해당 연결관계의 입력버스트로 형성하고, 응답시작 상승신호(Ack+)를 초기상태로 복원시키기 위한 응답시작 하강신호(Ack-)를 출력버스트로 형성하는 단계(S800)로 구성된다.
상기의 구성에 따른 본 발명인 비동기식 제어부의 생성 방법의 동작은 다음과 같다.
도 3은 본 발명의 프로세스 중심의 비동기식 제어부의 생성방법의 제1실시례인 순서도에 도시된 바와 같이 본 발명의 비동기식 제어부의 생성 방법은 데이터흐름그래프로부터 수행제어기(PC)에 대한 신호전이그래프를 형성하는 수행제어기 형성단계(S100), 데이터흐름그래프로부터 수행제어기들(PC1∼PC4)의 수행 순서에 따라 수행순서 제어기(PSC)의 신호전이그래프를 형성하는 수행순서 제어기 형성단계(S400) 및 신호전이그래프의 입력/출력 신호들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 생성하는 논리합성단계(S500)로 구성된다.
수행순서 제어기 형성단계(S400)는 데이터흐름그래프로부터 수행제어기들(PC1∼PC4)의 수행 순서에 따라 동작을 나타내는 전이, 상태를 나타내는 장소 및 전이와 장소 간의 연결관계로 이루어진 수행순서 제어기(PSC)의 동작을 모델링한 페트리 넷(Petri Net)을 형성하는 페트리 넷 형성단계(S200) 및 페트리 넷의 전이를 수행순서 제어기(PSC)의 입력/출력 신호들의 변화 상태를 갖는 신호전이그래프를 형성하는 신호전이그래프 형성단계(S300)로 구성된다.
도 5는 본 발명의 수행제어기와 입출력신호들과의 관계도를 도시한 것으로 수행제어기(PC)는 데이터흐름그래프의 한 프로세스의 수행을 담당하는 부분으로 피연산자 획득(Operand Fetch), 가산기, 감산기 및 승산기 등의 연산 모듈로 구성된 데이처 처리부(FU)에 의한 연산 수행(Operand Execution) 및 연산결과의 저장을 제어한다.
도 4의 본 발명의 수행제어기 형성단계의 순서도, 및 도 6a의 본 발명의 수행제어기에 대한 신호전이그래프의 제1실시례를 참조하여 수행제어기(PC)의 동작에 따른 신호전이그래프를 기술하기 위한 수행제어기 형성단계(S100)는 다음과 같다.
수행제어기 활성화 단계(S110)에서 수행제어기(PC)는 수행순서 제어기(PSC)로부터 출력되는 요구시작 상승신호(ReqStart+)에 의해 활성화되어 데이터 처리부(FU)에서 특정 연산 동작을 개시한다. 피연산자 획득단계(S120)에서 수행제어기(PC)는 피연산자들(OP1,OP2)을 선택하기 위하여 선택부로 피연산자 요구 상승신호(ReqOP1+,ReqOP1+)를 출력하여 피연산자들(OP1,OP2)을 획득한다. 데이터처리 요구단계(S140)에서 수행제어기(PC)는 데이터 처리부(FU)에 데이터처리 요구 상승신호(ReqFU+)를 출력한다. 데이터처리 단계(S150)에서 데이터 처리부(FU)가 피연산자에 의한 특정의 연산을 수행할 수 있는 시간이 종료되면 데이터 처리부(FU)는 데이터처리 요구 상승신호(ReqFU+)에 응답하여 연산 수행 종료에 대한 데이터처리 응답 상승신호(AckFU+)를 수행제어기(PC)로 출력한다. 저장요구단계(S160)에서 수행제어기(PC)는 데이터 처리부(FU)에서 수행된 연산 결과를 목적레지스터(R)에 저장하기 위해 저장요구 상승신호(ReqWDR+)를 목적레지스터(R)로 출력하여 목적레지스터(R)를 활성화시켜 준다. 데이터 저장단계(S170)에서 목적레지스터(R)는 저장요구단계(S160)에서의 저장요구 상승신호(ReqWDR+)에 응답하여 연산 결과를 저장하고, 저장응답 상승신호(AckWDR+)를 수행제어기(PC)로 출력한다. 종료단계(S180)에서 수행제어기(PC)는 수행순서 제어기(PSC)로 데이터 처리부(FU)에서의 연산 동작 완료를 나타내는 응답시작 상승신호(AckStart+)를 출력하여 모든 동작이 완료함을 수행순서 제어기(PSC)로 통보한다. 휴식단계(S190)는 모든 상승신호들(ReqStart+,ReqOP1+,ReqOP1+,ReqFU+,AckFU+,ReqWDR+,AckWDR+,AckStart+)을 초기 상태로 복원하기 위해 모든 상승신호들에 대해 하강신호들(ReqStart-,ReqOP1-,ReqOP1-,ReqFU-,AckFU-,ReqWDR-,AckWDR-,AckStart-)를 출력한다.
도 6a의 본 발명의 수행제어기에 대한 신호전이그래프는 도 4의 수행제어기 형성단계의 순서도에 도시된 수행제어기(PC)의 입출력신호선의 수순에 따라 이를 신호전이의 순서로 도시한 것이다.
도 4 및 도 6c에서 도시된 바와 같이 데이터 처리부(FU)에서 다수의 연산들을 수행하는 경우 각각의 연산들을 구분하기 위하여 수행제어기(PC)는 연산코드 요구 상승신호(OPcode+)를 데이터 처리부(FU)로 출력하는 연산선택단계(S130)를 더 구비할 수 있다.
도 6b는 도 4의 본 발명의 수행제어기 형성단계에서 데이터 처리부(FU)에서 연산 동작을 하지 않고, 피연산자를 바로 목적레지스터에 저장하기 위한 신호전이그래프이다.
즉, 본 발명의 제2실시례의 수행제어기 형성단계의 동작은 다음과 같다.
수행제어기 활성화 단계(S110), 피연산자 획득단계(S120), 저장요구단계(S160), 저장단계(S170), 종료단계(S180) 및 휴식단계(S190)는 상기와 동일하고 다만, 저장요구단계(S160)에서 수행제어기(PC)는 피연산자 획득단계(S120)에서 획득한 피연산자(OP1)를 목적레지스터(R)에 저장하기 위해 목적레지스터(R)를 활성화시켜 주는 저장요구 상승신호(ReqWDR+)를 목적레지스터(R)로 출력한다.
도 7은 본 발명의 수행순서 제어기의 페트리 넷 형성을 위한 수행순서 제어기에 대한 데이터흐름그래프이다.
도 7의 데이터흐름그래프에서 각 노드(OPN1∼OPN4)는 데이터 처리부(FU)에서 수행할 연산들을 나타내며, R1∼R4는 레지스터를 나타내고, 화살표는 각 수행순서를 나타낸다.
도 8 및 도 9에 도시된 바와 같이 도 7의 데이터흐름그래프로부터 수행순서 제어기의 동작을 모델링하는 페트리 넷 형성단계의 동작은 다음과 같다.
시작/종료 발생단계(S210)는 페트리 넷의 시작과 종료를 나타내는 시작전이(START)와 종료전이(END)를 발생한다. 수행제어 형성단계(S220)는 데이터흐름그래프의 각 노드(OPN1∼OPN4)인 연산 동작에 대하여 대응하는 수행제어전이들(PC1∼PC4)을 생성하고, 데이터흐름그래프의 각 노드 간에 순서적인 연결관계에 따라 수행제어전이들(PC1∼PC4)을 연결하고, 각 수행제어전이 연결 사이에 장소(P)를 설정한다. 즉, 데이터흐름그래프의 노드(OPNi)에 대해서 페트리 넷의 수행제어전이들(PCi)을 생성하고, 각 수행제어전이들(PCi) 사이에 장소(P)를 생성한다. 데이터흐름그래프에서 노드(OPN1)에서 노드(OPN3)와 노드(OPN4)로의 연결관계가 있으므로 페트리 넷에서 수행제어전이(PC1)로부터 수행제어전이(PC3) 및 수행제어전이(PC4)로의 장소(P)를 거쳐 연결을 형성한다. 상기와 같은 방법에 의해 페트리 넷에서 수행제어전이(PC2)로부터 수행제어전이(PC3) 및 수행제어전이(PC4)로의 장소(P)를 거쳐 연결을 형성한다. 제1수행제어전이 형성단계(S230)에서 데이터흐름그래프에서 선행노드를 가지지 않은 노드(OPN1,OPN2)에 대응하는 수행제어전이(PC1,PC2)에 대하여 시작전이(START)로부터 각 수행제어전이들(PC1,PC2)로 장소(P)를 거쳐 연결을 생성한다. 제2수행제어전이 형성단계(S240)에서 데이터흐름그래프에서 후행노드를 가지지 않은 노드(OPN3,OPN4)에 대응하는 수행제어전이들(PC3,PC4)로부터 종료전이(END)로 장소(P)를 거쳐 연결을 생성한다. 종료단계(S250)에서 종료전이(END)로부터 시작전이(START)로의 연결을 생성하고, 종료전이(END)와 시작전이(START)의 연결 사이에 장소(P)를 설정하고, 설정된 장소에 시작위치를 나타내는 토큰(T)을 형성한다.
도 10 및 도 11에 도시된 바와 같이 도 9의 수행순서 제어기에 대한 페트리 넷으로부터 수행순서 제어기에 대한 신호전이그래프 형성단계의 동작은 다음과 같다.
시작/종료 변환단계(S310)에서 페트리 넷의 시작전이(START)는 요구 상승신호(Req+)로 변환하고, 종료전이(END)는 응답 상승신호(Ack+)와 요구 하강신호(Req-)로 분할하여 응답 상승신호(Ack+)로부터 요구 하강신호(Req-)로의 신호전이 상태, 즉 Ack+→Req-를 형성한다. 제1수행제어 변환단계(S320)에서 페트리 넷의 각 수행제어전이(PC1∼PC4)에 대해 수행요구 상승신호(ReqPC1+,ReqPC2+,ReqPC3+,ReqPC4+)와 수행응답 상승신호(AckPC1+,AckPC2+,AckPC3+,AckPC4+)로 분할하고, 각각의 수행요구 상승신호로부터 수행응답 상승신호로의 신호전이 상태, 즉 ReqPC1+→AckPC1+,ReqPC2+→AckPC2+,ReqPC3+→AckPC3+,ReqPC4+→AckPC4+를 형성한다. 제1신호전이 변환단계(S330)에서 페트리 넷으로부터 페트리 넷의 시작전이(START)와 장소(P)를 거쳐 연결된 모든 수행제어전이들(PC1,PC2) 각각에 대해서 시작/종료 변환단계(S310)에서 형성된 요구 상승신호(Req+)로부터 제1수행제어 변환단계(S320)에서 형성된 수행요구 상승신호(ReqPC1+,ReqPC2+)로의 신호전이 상태, 즉 Req+→ReqPC1+,Req+→ReqPC2+를 형성한다. 제2신호전이 변환단계(S340)에서 페트리넷의 종료전이(END)와 장소(P)를 거쳐 연결된 종료전이(END)에 선행되는 모든 수행제어전이들(PC3,PC4) 각각에 대해서 제1수행제어 변환단계(S320)에서 형성된 수행응답 상승신호(AckPC3+,AckPC4+)로부터 시작/종료 변환단계(S310)에서 형성된 응답 상승신호(Ack+)로의 신호전이 상태, 즉 AckPC3+→Ack+,AckPC4+→Ack+를 형성한다. 제3신호전이 변환단계(S350)에서 페트리 넷의 현재의 수행제어전이(PC1,PC2)와 다음의 수행제어전이(PC3,PC4)와 장소(P)를 거쳐 연결되어 있는 경우 현재의 수행제어전이(PC1,PC2)의 수행응답 상승신호(AckPC1+,AckPC2+)로부터 다음의 수행제어전이(PC3,PC4)의 수행요구 상승신호(ReqPC3+,ReqPC4+)로 신호전이 상태, 즉 AckPC1+→ReqPC3+,AckPC1+→ReqPC4+,AckPC2+→ReqPC3+,AckPC2+→ReqPC4+를 형성한다. 제2수행제어 변환단계(S360)에서 페트리 넷의 각 수행제어전이(PC1,PC2,PC3,PC4)에 대해 수행요구 하강신호(ReqPC1-,ReqPC2-,ReqPC3-,ReqPC4-)와 수행응답 하강신호(AckPC1-,AckPC2-,AckPC3-,AckPC4-)로 분할하고, 수행요구 하강신호(ReqPC1-,ReqPC2-,ReqPC3-,ReqPC4-)로부터 수행응답 하강신호(AckPC1-,AckPC2-,AckPC3-,AckPC4-)로의 신호전이 상태, 즉 ReqPC1-→AckPC1-,ReqPC2-→AckPC2-,ReqPC3-→AckPC3-,ReqPC4-→AckPC4-를 형성한다.응답하강신호 형성단계(S370)는 시작/종료 변환단계(S310)의 요구 상승신호(Req+)에 대응되는 응답 하강신호(Ack-)를 형성한다. 하강신호전이 변환단계(S380)는 시작/종료 변환단계(S310)의 요구 하강신호(Req-)로부터 제2수행제어 변환단계(S360)에서 발생된 모든 수행요구 하강신호(ReqPC1-,ReqPC2-,ReqPC3-,ReqPC4-)로의 신호전이 상태, 즉 Req-→ReqPC1-,Req-→ReqPC2-,Req-→ReqPC3-,Req-→ReqPC4-를 형성하고, 제2수행제어 변환단계(S360)에서 발생된 모든 수행응답 하강신호(AckPC1-,AckPC2-,AckPC3-,AckPC4-)로부터 응답 하강신호(Ack-)로의 신호전이 상태, 즉 AckPC1-→Ack-,AckPC2-→Ack-,AckPC3-→Ack-,AckPC4-→Ack-를 형성한다. 종료단계(S390)는 응답 하강신호(Ack-)로부터 요구 상승신호(Req+)로의 신호전이 상태, 즉 Ack-→Req+를 형성하고, 신호전이그래프의 시작위치를 나타내는 토큰(T)을 형성한다.
도 12는 본 발명의 프로세스 중심의 비동기식 제어부의 생성방법의 제2실시례인 순서도이다. 도 12에 도시된 바와 같이 본 발명의 제2실시례인 비동기식 제어부의 생성방법의 동작은 다음과 같다.
수행제어기 형성단계(S600)는 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프로부터 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위하여 수행제어기(PC)로 입력되는 입력신호들의 집합인 입력버스트와 수행제어기(PC)로 출력되는 출력신호들의 집합인 출력버스트로 구성된 유한상태기(Finite State Machine)를 형성한다. 수행순서 제어기 형성단계(S700)는 데이터흐름그래프로부터 수행제어기(PC)들의 수행 순서에 따라 수행순서 제어기(PSC)의 유한상태기를 형성한다. 논리합성단계(S900)는 수행제어기(PC)들과 수행순서 제어기(PSC)의 유한상태기의 입력버스트와 출력버스트들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 생성한다.
도 13a의 본 발명의 수행제어기에 대한 유한상태기의 제1실시례에 도시된 바와 같이 본 발명의 수행제어기 형성단계(S600)의 동작은 다음과 같다.
초기상태(0)로부터 첫번째 상태(1)로의 연결(0→1)을 형성하고, 수행순서 제어기(PSC)로부터 출력되어 수행제어기(PC)에 입력되는 요구시작 상승신호(ReqStart+)를 입력버스트로 형성하고, 요구시작 상승신호(ReqStart+)에 따라 피연산자 요구 상승신호(ReqOP1+,ReqOP2+)와 데이터 처리부(FU)에 의한 연산을 수행하기 위한 데이터처리 요구 상승신호(ReqFU+)를 출력버스트로 형성한다. 즉, ReqStart+/ReqOP1+,ReqOP2+,ReqFU+를 형성한다. 첫번째 상태(1)로부터 두번째 상태(2)로의 연결(1→2)을 형성하고, 데이터처리 요구 상승신호(ReqFU+)에 응답하여 데이터 처리부(FU)에서 피연산자에 의한 연산을 수행하고, 데이터 처리부(FU)로부터 수행제어기(PC)로 입력되는 연산 수행 종료에 대한 데이터처리 응답상승신호(AckFU+)를 입력버스트로 형성하고, 데이터처리 응답 상승신호(AckFU+)에 따라 데이터 처리부(FU)에서 수행된 연산 결과를 목적레지스터(R)에 저장하기 위해 목적레지스터(R)를 활성화시켜 주기 위한 저장요구 상승신호(ReqWDR+)를 출력버스트로 형성한다. 즉, AckFU+/ReqWDR+를 형성한다. 두번째 상태(2)로부터 세번째 상태(3)로의 연결(2→3)을 형성하고, 저장요구 상승신호(ReqWDR+)에 응답하여 목적레지스터(R)로부터 수행제어기(PC)로 입력되는 연산 결과 저장 완료에 대한 저장응답 상승신호(AckWDR+)를 입력버스트로 형성하고, 요구시작 상승신호(ReqStart+)에 응답하여 수행제어기(PC)로부터 수행순서 제어기(PSC)로 출력되는 응답시작 상승신호(AckStart+)와 수행제어기(PC)로부터 출력되는 피연산자 요구 상승신호(ReqOP1+,ReqOP2+), 데이터처리 요구 상승신호(ReqFU+) 및 저장요구 상승신호(ReqWDR+)를 초기상태로 복원시키기 위한 피연산자 요구 하강신호(ReqOP1-,ReqOP2-), 데이터처리 요구 하강신호(ReqFU-) 및 저장요구 하강신호(ReqWDR-)를 출력버스트로 형성한다. 즉 AckWDR+/AckStart+,ReqOP1-,ReqOP2-,ReqFU-,ReqWDR-를 형성한다. 세번째 상태(3)로부터 초기상태(0)로의 연결(3→0)을 형성하고, 수행제어기(PC)로 입력되는 모든 데이터처리 응답 상승신호(AckFU+), 저장응답 상승신호(AckWDR+) 및 요구시작 상승신호(ReqStart+)를 초기상태로 복원시키기 위한 데이터처리 응답 하강신호(AckFU-), 저장응답 하강신호(AckWDR-) 및 요구시작 하강신호(ReqStart-)를 입력버스트로 형성하고, 수행제어기(PC)로부터 수행순서 제어기(PSC)로 출력되는 응답시작 상승신호(AckStart+)를 초기상태로 복원시키기 위한 응답시작 하강신호(AckStart-)를 출력버스트로 형성한다. 즉 AckFU-,AckWDR-,ReqStart-/AckStart-를 형성한다.
도 13b는 피연산자 획득 후 피연산자를 이용하여 데이터 처리부(FU)에서 연산 동작을 수행하지 않고, 피연산자를 목적레지스터(R)에 바로 저장하는 동작을 위한 유한상태기를 나타낸 것으로, 도 13a의 수행제어기 형성단계(S600)의 동작과 동일하다.
도 13c는 본 발명의 수행제어기에 대한 유한상태기의 제3실시례로 도 13c에 도시된 바와 같이 본 발명의 제3실시례인 수행제어기 형성단계(S600)는 도 13a의 제1실시례인 수행제어기 형성단계(S600)와 동일하다. 다만 도 13c의 수행제어기 형성단계(S600)는 초기상태(0)로부터 첫번째 상태(1)로의 연결 형성 단계에서 데이터 처리부(FU)에서 다수의 연산들을 수행하는 경우 각각의 연산들을 구분하기 위한 연산코드 요구 상승신호(OPcode+)를 출력버스트에 더 형성하고, 두번째 상태(2)로부터 세번째 상태(3)로의 연결 형성 단계에서 연산코드 요구 상승신호(OPcode+)를 초기상태로 복원시키기 위한 연산코드 요구 하강신호(OPcode-)를 출력버스트에 더 형성한다.
도 14는 데이터흐름그래프로부터 본 발명의 수행순서 제어기에 대한 유한상태기의 순서도로 도 7의 데이터흐름그래프 및 도 15의 본 발명의 수행순서 제어기에 대한 유한상태기의 유도과정도를 참조하면 본 발명의 수행순서 제어기 형성단계(S700)의 동작은 다음과 같다.
초기상태 형성단계(S710)는 초기상태(0)를 형성하고, 현재상태를 나타내는 현재상태변수(CUS)를 0으로 설정한다. 연결형성단계(S720)는 현재상태변수(CUS)가 1씩 증가될 때 마다 다음 상태를 형성하고, 현재상태로부터 다음 상태로 각각 연결관계(0→1,1→2,2→3)를 형성한다. 검출단계(S730)는 현재상태변수(CUS)가 0인지를 검출한다. 검출단계(S730)에서 현재상태변수(CUS)가 0이면 연결관계의 입력버스트는 요구시작 상승신호(Req+)를 형성한다(S740). 입력버스트노드 형성단계(S750)는 검출단계(S730)에서 현재상태변수(CUS)가 0이 아니면 현재상태 이전의 전상태에서 현재상태로의 연결관계의 출력버스트를 구성하는 수행요구 상승신호들(ReqPC1+,ReqPC2+,ReqPC3+,ReqPC4+)에 대응하는 수행응답 상승신호들(AckPC1+,AckPC2+,AckPC3+,AckPC4+)을 입력버스트로 형성한다. 선행노드유무 판단단계(S760)는 데이터흐름그래프로부터 선행노드를 가지지 않는 노드가 존재하는 지를 검출한다. 출력버스트노드 형성단계(S770)는 선행노드유무판단단계(S760)에서 선행노드를 가지지 않는 노드(OPN1,OPN2)가 있으면 그 노드(OPN1,OPN2)에 대응하는 수행요구 상승신호(ReqPC1+,ReqPC2+)를 출력버스트로 형성하고, 선행노드를 가지지 않는 노드(OPN1,OPN2)를 삭제한 후 현재상태변수(CUS)를 1을 증가시키고, 연결형성단계(S720)로 진행한다. 즉, 초기상태(0)로부터 첫번째 상태(1)로 전이할 때의 입력버스트는 검출단계(S730) 및 S740 단계에 의해 요구시작 상승신호(Req+)이고, 출력버스트는 출력버스트노드 형성단계(S770)에 의해 수행요구 상승신호(ReqPC1+,ReqPC2+)이다. 첫번째 상태(1)에서 두번째 상태(2)로 전이할 때의 입력버스트는 입력버스트노드 형성단계(S750)에 의해 초기상태(0)에서의 출력버스트인 수행요구 상승신호(ReqPC1+,ReqPC2+)에 대응하는 수행응답 상승신호들(AckPC1+,AckPC2+)이고, 출력버스트는 출력버스트노드 형성단계(S770)에 의해 수행요구 상승신호(ReqPC3+,ReqPC4+)이다. 두번째 상태(2)에서 세번째 상태(3)로 전이할 때의 입력버스트는 입력버스트노드 형성단계(S750)에 의해 두번째 상태(2)의 출력버스트인 수행요구 상승신호(ReqPC3+,ReqPC4+)에 대응되는 수행응답 상승신호들(AckPC3+,AckPC4+)이고, 출력버스트는 선행노드유무 판단단계(S760)에서 선행노드를 가지지 않는 노드가 없으므로 요구시작 상승신호(Req+)에 대응되는 응답시작 상승신호(Ack+)이다. S790 단계에서 응답시작상승신호(Ack+)를 출력버스트로 형성한 후 현재상태변수(CUS)인 3에서 1을 증가시켜 네번째 상태(4)를 형성하고, 현재상태인 세번째 상태(3)에서 네번째 상태(4)로의 연결관계를 형성하고, 요구시작 상승신호(Req+)를 초기상태로 복원시키기 위한 요구시작 하강신호(Req-)를 입력버스트로 형성하고, 모든 수행요구 상승신호들(ReqPC1+∼ReqPC4+)을 초기상태로 복원시키기 위한 수행요구 하강신호들(ReqPC1-∼ReqPC4-)을 해당 연결관계의 출력버스트로 형성한다. S800 단계에서 현재상태인 네번째 상태(4)로부터 초기상태(0)로 연결관계를 형성하고, 모든 수행응답 상승신호들(AckPC1+∼AckPC4+)을 초기상태로 복원시키기 위한 수행응답 하강신호들(AckPC1-∼AckPC4-)을 해당 연결관계의 입력버스트로 형성하고, 응답시작 상승신호(Ack+)를 초기상태로 복원시키기 위한 응답시작 하강신호(Ack-)를 출력버스트로 형성한다.
도 16은 본 발명의 비동기식 제어부의 구조를 보여주는 것으로, 비동기식 제어부의 수행제어기는 입출력 처리부(20)를 구성하는 입력선택부(21), 레지스터(22), 출력선택부(23)와 데이터 처리부(30)를 제어한다. 비동기식 제어부의 수행순서 제어기는 비동기식 제어부의 수행제어기들을 데이터흐름그래프에서 주어진 순서에 따라 활성화 시켜주는 기능을 한다.
도 17은 본 발명의 비동기식 제어부를 구성하는 수행제어기들과 수행순서 제어기들간의 신호교환을 통한 연동모습을 보여주는 것으로, 도 7의 데이터흐름그래프에 대한 비동기식 제어부이다. 외부에서 비동기식 제어부를 활성화시키기 위한 활성화요구 상승신호(ReqActive+)가 수행순서 제어기(PSC)에 가해지면 수행순서 제어기(PC1∼PC4)는 데이터흐름그래프에서 주어진 순서에 의거하여 가장 먼저 수행되어야 할 프로세스들(OPN1, OPN2)을 수행할 수행제어기들(PC1, PC2)에 요구 상승신호들(ReqPC1+, ReqPC2+)을 가하여 활성화시킨다. 수행순서 제어기(PSC)에 의하여 동작을 시작한 수행제어기들(PC1, PC2)은 프로세스의 수행을 마친 후 응답 상승신호들(AckPC1+, AckPC2+)을 수행순서 제어기(PSC)로 출력하여 프로세스의 수행을 완료했음을 알려준다. 수행순서 제어기(PSC)는 수행제어기들(PC1, PC2)로부터 응답 상승신호들(AckPC1+, AckPC2+)을 받은 즉시 다음으로 수행할 프로세스들(OPN3, OPN4)을 수행할 수행제어기들(PC3, PC4)에게 요구 상승신호들(ReqPC3+, ReqPC4+)을 출력함으로써 수행제어기들(PC3, PC4)을 활성화 시켜주며, 수행제어기들(PC3, PC4)은 프로세스의 수행을 완료한 후 응답 상승신호들(AckPC3+, AckPC4+)을 수행순서 제어기(PSC)로 출력하여 프로세스의 수행을 완료했음을 알려준다. 모든 프로세스들의 수행을 완료한 후에 수행순서 제어기(PSC)는 활성화응답 상승신호(AckActive+)를 외부로 출력한다. 이후 외부에서 활성화요구 하강신호(ReqActive-)가 입력으로 수행순서 제어기(PSC)에 가해지면 수행순서 제어기(PSC)는 수행 제어기들(PC1∼PC4)에 대한 요구 상승신호들(ReqPC1+, ReqPC2+, ReqPC3+, ReqPC4+)을 초기상태로 복원시키기 위한 요구 하강신호들(ReqPC1-, ReqPC2-, ReqPC3-, ReqPC4-)을 수행제어기들(PC1∼PC4)에 출력하며, 요구 하강신호를 받은 수행제어기들(PC1∼PC4)은 응답 하강신호들(AckPC1-, AckPC2-, AckPC3-, AckPC4-)을 수행순서 제어기(PSC)로 출력한다. 모든 응답 하강신호들을 받은 후 수행순서 제어기(PSC)는 활성화응답 하강신호(AckActive-)를 외부로 출력한 후 모든 동작을 종료한다.
본 발명의 비동기식 제어부의 생성 방법은 데이터흐름그래프로부터 비동기식 제어부를 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 생성하는 다수의 신호전이그래프 또는 유한상태기로 기술된 수행제어기들과 수행제어기들의 수행 순서를 제어하는 신호전이그래프 또는 유한상태기로 기술된 수행순서 제어기로 분할 및 유도함으로써 면적, 성능 및 합성시간이 우수한 비동기식 제어부를 생성하다.

Claims (12)

  1. 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프로부터 비동기식 제어부의 입력/출력 신호들의 변화 상태를 나타낸 신호전이그래프를 형성하고, 논리합성기에 의해 신호전이그래프로부터 데이터 처리부에서 연산을 수행하도록 제어하는 비동기식 제어부를 생성하는 비동기식 제어부의 생성 방법에 있어서,
    상기 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위한 다수의 수행제어기들의 신호전이그래프를 형성하는 수행제어기 형성단계;
    상기 데이터흐름그래프로부터 상기 수행제어기들의 수행 순서에 따라 수행순서 제어기의 신호전이그래프를 형성하는 수행순서 제어기 형성단계; 및
    상기 수행제어기 형성단계에서 형성된 수행제어기들의 신호전이그래프의 입력/출력 신호들의 변화 상태와 상기 수행순서 제어기 형성단계에서 형성된 수행순서 제어기의 신호전이그래프의 입력/출력 신호들의 변화 상태를 논리합성기에 의해 비동기식 제어부를 생성하는 논리합성단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  2. 제1항에 있어서, 상기 수행순서 제어기 형성단계는
    상기 데이터흐름그래프로부터 상기 수행제어기들의 수행 순서에 따라 동작을나타내는 전이, 상태를 나타내는 장소 및 전이와 장소 간의 연결관계로 이루어진 수행순서 제어기의 페트리 넷을 형성하는 페트리 넷 형성단계; 및
    상기 페트리 넷의 전이를 수행순서 제어기의 입력/출력 신호들의 변화 상태를 갖는 신호전이그래프를 형성하는 신호전이그래프 형성단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  3. 제1항에 있어서, 상기 수행제어기 형성단계는
    상기 수행순서 제어기로부터 출력되는 상기 데이터 처리부에서 연산 동작을 개시하기 위한 요구시작 상승신호에 의해 상기 수행제어기를 활성화시키는 수행제어기 활성화 단계;
    상기 데이터 처리부에 의한 연산을 수행하기 위한 피연산자 획득을 위해 상기 수행제어기는 피연산자 요구 상승신호를 출력하는 피연산자 획득단계;
    상기 데이터 처리부에 의한 연산을 수행하기 위해 상기 수행제어기는 상기 데이터 처리부에 데이터처리 요구 상승신호를 출력하는 데이터처리 요구단계;
    상기 데이터처리 요구단계에서의 데이터처리 요구 상승신호에 응답하여 상기 피연산자 획득단계에서의 피연산자에 의한 연산을 수행하고, 연산 수행 종료에 대한 데이터처리 응답 상승신호를 상기 수행제어기로 출력하는 데이터처리 단계;
    상기 수행제어기는 상기 데이터 처리부에서 수행된 연산 결과를 목적레지스터에 저장하기 위해 상기의 목적레지스터를 활성화시켜 주기 위해 저장요구 상승신호를 목적레지스터로 출력하는 저장요구단계;
    상기 목적레지스터는 상기 저장요구단계에서의 저장요구 상승신호에 응답하여 연산 결과를 저장하고, 저장응답 상승신호를 상기 수행제어기로 출력하는 데이터 저장단계;
    상기 수행제어기는 상기 수행순서 제어기로 상기 데이터 처리부에서의 연산 동작 완료를 나타내는 응답시작 상승신호를 출력하는 종료단계; 및
    상기 모든 상승신호들을 초기 상태로 복원하기 위해 상기 모든 상승신호들에 대해 하강신호들을 출력하는 휴식단계를 구비한 것을 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  4. 제1항에 있어서, 상기 수행제어기 형성단계는
    상기 수행순서 제어기로부터 출력되는 요구시작 상승신호에 의해 상기 수행제어기를 활성화시키는 수행제어기 활성화 단계;
    상기 수행제어기는 피연산자 획득을 위해 피연산자 요구 상승신호를 출력하는 피연산자 획득단계;
    상기 수행제어기는 상기 피연산자 획득단계에서 획득한 피연산자를 목적레지스터에 저장하기 위해 상기 목적레지스터를 활성화시켜 주는 저장요구 상승신호를 목적레지스터로 출력하는 저장요구단계;
    상기 목적레지스터는 상기 저장요구단계에서의 저장요구 상승신호에 응답하여 피연산자를 저장하고, 저장응답 상승신호를 상기 수행제어기로 출력하는 데이터 저장단계;
    상기 수행제어기는 상기 수행순서 제어기로 상기 피연산자 저장 완료를 나타내는 응답시작 상승신호를 출력하는 종료단계; 및
    상기 모든 상승신호들을 초기 상태로 복원하기 위해 상기 모든 상승신호들에 대해 하강신호들을 출력하는 휴식단계를 구비한 것을 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  5. 제3항에 있어서, 상기 데이터처리 요구단계는 상기 수행제어기는 상기 데이터 처리부에서 다수의 연산들을 수행하는 경우 각각의 연산들을 구분하기 위한 연산코드 요구 상승신호를 상기 데이터 처리부로 출력하는 연산선택단계를 더 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  6. 제3항에 있어서, 상기 페트리 넷 형성단계는
    페트리 넷의 시작과 종료를 나타내는 시작전이와 종료전이를 발생하는 시작/종료 발생단계;
    상기 데이터흐름그래프로부터 상기 데이터흐름그래프의 각 노드인 연산에 대하여 대응하는 수행제어전이들을 생성하고, 상기 데이터흐름그래프의 각 노드 간에 순서적인 연결관계가 있으면 그 순서에 따라 수행제어전이들을 연결하고, 각 수행제어전이 연결 사이에 장소를 설정하는 수행제어 형성단계;
    상기 데이터흐름그래프에서 선행노드를 가지지 않은 노드에 대응하는 수행제어전이에 대하여 시작전이로부터의 연결을 생성하고, 시작전이와 수행제어전이 연결 사이에 장소를 설정하는 제1수행제어전이 형성단계;
    상기 데이터흐름그래프에서 후행노드를 가지지 않은 노드에 대응하는 수행제어전이로부터 종료전이로 연결을 생성하고, 수행제어전이와 종료전이 연결 사이에 장소를 설정하는 제2수행제어전이 형성단계; 및
    상기 시작/종료 발생단계에서 형성된 종료전이로부터 시작전이로의 연결을 생성하고, 종료전이와 시작전이의 연결 사이에 장소를 설정하고, 설정된 장소에 시작위치를 나타내는 토큰을 형성하는 종료단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  7. 제3항에 있어서, 상기 신호전이그래프 형성단계는
    상기 페트리 넷의 시작전이는 요구 상승신호로 변환하고, 종료전이는 응답 상승신호와 요구 하강신호로 분할하여 응답 상승신호로부터 요구 하강신호로의 신호전이 상태를 형성하는 시작/종료 변환단계;
    상기 페트리 넷의 각 수행제어전이에 대해 수행요구 상승신호와 수행응답 상승신호로 분할하고, 수행요구 상승신호로부터 수행응답 상승신호로의 신호전이 상태를 형성하는 제1수행제어 변환단계;
    상기 페트리 넷으로부터 페트리 넷의 시작전이와 장소를 거쳐 연결된 모든 수행제어전이들 각각에 대해서 상기 시작/종료 변환단계에서 형성된 요구 상승신호로부터 상기 제1수행제어 변환단계에서 형성된 수행요구 상승신호로의 신호전이 상태를 형성하는 제1신호전이 변환단계;
    상기 페트리 넷으로부터 페트리 넷의 종료전이와 장소를 거쳐 연결된 종료전이에 선행되는 모든 수행제어전이들 각각에 대해서 상기 제1수행제어 변환단계에서 형성된 수행응답 상승신호로부터 상기 시작/종료 변환단계에서 형성된 응답 상승신호로의 신호전이 상태를 형성하는 제2신호전이 변환단계;
    상기 페트리 넷으로부터 현재의 수행제어전이와 다음의 수행제어전이와 장소를 거쳐 연결되어 있는 경우 현재의 수행제어전이의 수행응답 상승신호로부터 다음의 수행제어전이의 수행요구 상승신호로 신호전이 상태를 형성하는 제3신호전이 변환단계;
    상기 페트리 넷의 각 수행제어전이에 대해 수행요구 하강신호와 수행응답 하강신호로 분할하고, 수행요구 하강신호로부터 수행응답 하강신호로의 신호전이 상태를 형성하는 제2수행제어 변환단계;
    상기의 시작/종료 변환단계의 요구 상승신호에 대응되는 응답 하강신호를 형성하는 응답하강신호 형성단계;
    상기 시작/종료 변환단계의 요구 하강신호로부터 상기 제2수행제어 변환단계에서 발생된 모든 수행요구 하강신호로의 신호전이 상태를 형성하고, 상기 제2수행제어 변환단계에서 발생된 모든 수행응답 하강신호로부터 상기 응답 하강신호로의 신호전이 상태를 형성하는 하강신호전이 변환단계; 및
    상기 응답 하강신호로부터 상기 요구 상승신호로의 신호전이 상태를 형성하고, 신호전이그래프의 시작위치를 나타내는 토큰을 형성하는 종료단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  8. 프로세스를 표현하는 노드와 프로세스 간에 수행순서를 나타낸 데이터흐름그래프로부터 비동기식 제어부의 입력신호들의 집합인 입력버스트와 입력신호들에 대응되는 출력신호들의 집합인 출력버스트로 이루어진 유한상태기를 형성하고, 논리합성기에 의해 유한상태기로부터 데이터 처리부에서 연산을 수행하도록 제어하는 비동기식 제어부를 생성하는 비동기식 제어부의 생성 방법에 있어서,
    상기 데이터흐름그래프의 노드에 대응하는 프로세스를 수행하는데 필요한 제어신호들을 출력하기 위하여 수행제어기로 입력되는 입력신호들의 집합인 입력버스트와 수행제어기에서 출력되는 출력신호들의 집합인 출력버스트로 구성된 유한상태기를 형성하는 수행제어기 형성단계;
    상기 데이터흐름그래프로부터 상기 수행제어기들의 수행 순서에 따라 수행순서 제어기의 유한상태기를 형성하는 수행순서 제어기 형성단계; 및
    상기 수행제어기 형성단계에서 형성된 수행제어기들의 유한상태기의 입력버스트와 출력버스트들과 상기 수행순서 제어기 형성단계에서 형성된 수행순서 제어기의 유한상태기의 입력버스트와 출력버스트들의 변화 상태에 의해 논리합성기에 의해 비동기식 제어부를 생성하는 논리합성단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  9. 제8항에 있어서, 상기 수행제어기 형성단계는
    초기상태로부터 첫번째 상태로의 연결을 형성하고, 수행순서 제어기로부터출력되어 수행제어기에 입력되는 요구시작 상승신호를 초기상태로부터 첫번째 상태에서의 입력버스트로 형성하고, 요구시작 상승신호에 따라 피연산자 요구 상승신호와 상기 데이터 처리부에 의한 연산을 수행하기 위한 데이터처리 요구 상승신호를 출력버스트로 형성하는 단계;
    첫번째 상태로부터 두번째 상태로의 연결을 형성하고, 데이터처리 요구 상승신호에 응답하여 상기 데이터 처리부에서 피연산자에 의한 연산을 수행하고, 상기 데이터 처리부로부터 수행제어기로 입력되는 연산 수행 종료에 대한 데이터처리 응답 상승신호를 입력버스트로 형성하고, 데이터처리 응답 상승신호에 따라 데이터 처리부에서 수행된 연산 결과를 목적레지스터에 저장하기 위해 상기 목적레지스터를 활성화시켜 주기 위한 저장요구 상승신호를 출력버스트로 형성하는 단계;
    두번째 상태로부터 세번째 상태로의 연결을 형성하고, 저장요구 상승신호에 응답하여 상기 목적레지스터로부터 수행제어기로 입력되는 연산 결과 저장 완료에 대한 저장응답 상승신호를 입력버스트로 형성하고, 요구시작 상승신호에 응답하여 수행제어기로부터 수행순서 제어기로 출력되는 응답시작 상승신호와 수행제어기로부터 출력되는 피연산자 요구 상승신호, 데이터처리 요구 상승신호 및 저장요구 상승신호를 초기상태로 복원시키기 위한 피연산자 요구 하강신호, 데이터처리 요구 하강신호 및 저장요구 하강신호를 출력버스트로 형성하는 단계; 및
    세번째 상태로부터 초기상태로의 연결을 형성하고, 수행제어기로 입력되는 모든 데이터처리 응답 상승신호, 저장응답 상승신호 및 요구시작 상승신호를 초기상태로 복원시키기 위한 데이터처리 응답 하강신호, 저장응답 하강신호 및 요구시작 하강신호를 입력버스트로 형성하고, 수행제어기로부터 수행순서 제어기로 출력되는 응답시작 상승신호를 초기상태로 복원시키기 위한 응답시작 하강신호를 출력버스트로 형성하는 단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  10. 제8항에 있어서, 상기 수행제어기 형성단계는
    초기상태로부터 첫번째 상태로의 연결을 형성하고, 수행순서 제어기로부터 출력되어 수행제어기에 입력되는 요구시작 상승신호를 초기상태로부터 첫번째 상태에서의 입력버스트로 형성하고, 요구시작 상승신호에 따라 피연산자 요구 상승신호와 피연산자를 목적레지스터에 저장하기 위해 상기 목적레지스터를 활성화시켜 주기 위한 저장요구 상승신호를 출력버스트로 형성하는 단계;
    첫번째 상태로부터 두번째 상태로의 연결을 형성하고, 저장요구 상승신호에 응답하여 상기 목적레지스터로부터 수행제어기로 입력되는 피연산자 저장 완료에 대한 저장응답 상승신호를 입력버스트로 형성하고, 요구시작 상승신호에 응답하여 수행제어기로부터 수행순서 제어기로 출력되는 응답시작 상승신호와 수행제어기로부터 출력되는 피연산자 요구 상승신호 및 저장요구 상승신호를 초기상태로 복원시키기 위한 피연산자 요구 하강신호 및 저장요구 하강신호를 출력버스트로 형성하는 단계; 및
    두번째 상태로부터 초기상태로의 연결을 형성하고, 수행제어기로 입력되는 모든 저장응답 상승신호 및 요구시작 상승신호를 초기상태로 복원시키기 위한 저장응답 하강신호 및 요구시작 하강신호를 입력버스트로 형성하고, 수행제어기로부터 수행순서 제어기로 출력되는 응답시작 상승신호를 초기상태로 복원시키기 위한 응답시작 하강신호를 출력버스트로 형성하는 단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  11. 제9항에 있어서, 상기 초기상태로부터 첫번째 상태로의 연결 형성 단계에서 상기 데이터 처리부에서 다수의 연산들을 수행하는 경우 각각의 연산들을 구분하기 위한 연산코드 요구 상승신호를 출력버스트에 더 형성하고, 상기 두번째 상태로부터 세번째 상태로의 연결 형성 단계에서 연산코드 요구 상승신호를 초기상태로 복원시키기 위한 연산코드 요구 하강신호를 출력버스트에 더 형성하는 것을 특징으로 하는 비동기식 제어부의 생성 방법.
  12. 제8항에 있어서, 상기 수행순서 제어기 형성단계는
    초기상태를 형성하고, 현재상태를 나타내는 현재상태변수를 0으로 설정하는 초기상태 형성단계;
    현재상태변수를 1씩 증가될 때 마다 다음 상태를 형성하고, 현재상태로부터 다음 상태로 각각 연결관계를 형성하는 연결형성단계;
    현재상태변수가 0인지를 검출하는 검출단계;
    검출단계에서 현재상태변수가 0이면 연결관계의 입력버스트는 요구시작 상승신호를 형성하는 단계;
    검출단계에서 현재상태변수가 0이 아니면 현재상태 이전의 전상태에서 현재상태로의 연결관계의 출력버스트를 구성하는 수행요구 상승신호들에 대응하는 수행응답 상승신호들을 입력버스트로 형성하는 입력버스트노드 형성단계;
    상기 데이터흐름그래프로부터 선행노드를 가지지 않는 노드가 존재하는 지를 검출하는 선행노드유무 판단단계;
    상기 선행노드유무 판단단계에서 선행노드를 가지지 않는 노드가 있으면 그 노드에 대응하는 수행요구 상승신호를 출력버스트로 형성하고, 선행노드를 가지지 않는 노드를 삭제한 후 현재상태변수를 1을 증가시키고, 상기의 연결형성단계로 진행하는 출력버스트노드 형성단계;
    상기 선행노드유무 판단단계에서 선행노드를 가지지 않는 노드가 없으면 요구시작 상승신호에 대응되는 응답시작 상승신호를 출력버스트로 형성하는 단계;
    상기 응답시작 상승신호를 출력버스트로 형성한 후 현재상태변수를 1을 증가시켜 다음 상태를 형성하고, 현재상태에서 다음 상태로의 연결관계를 형성하고, 요구시작 상승신호를 초기상태로 복원시키기 위한 요구시작 하강신호를 해당 연결관계의 입력버스트로 형성하고, 상기 모든 수행요구 상승신호들을 초기상태로 복원시키기 위한 수행요구 하강신호들을 해당 연결관계의 출력버스트로 형성하는 단계; 및
    상기 1이 증가된 현재상태변수에 의한 현재상태로부터 초기상태로 연결관계를 형성하고, 상기 모든 수행응답 상승신호들을 초기상태로 복원시키기 위한 수행응답 하강신호들을 해당 연결관계의 입력버스트로 형성하고, 응답시작 상승신호를초기상태로 복원시키기 위한 응답시작 하강신호를 출력버스트로 형성하는 단계를 구비한 것을 특징으로 하는 비동기식 제어부의 생성 방법.
KR1020000046852A 2000-08-14 2000-08-14 비동기식 제어부의 생성 방법 KR100345009B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020000046852A KR100345009B1 (ko) 2000-08-14 2000-08-14 비동기식 제어부의 생성 방법
US09/792,749 US6594815B2 (en) 2000-08-14 2001-02-23 Asynchronous controller generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000046852A KR100345009B1 (ko) 2000-08-14 2000-08-14 비동기식 제어부의 생성 방법

Publications (2)

Publication Number Publication Date
KR20020013648A KR20020013648A (ko) 2002-02-21
KR100345009B1 true KR100345009B1 (ko) 2002-07-20

Family

ID=19683027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000046852A KR100345009B1 (ko) 2000-08-14 2000-08-14 비동기식 제어부의 생성 방법

Country Status (2)

Country Link
US (1) US6594815B2 (ko)
KR (1) KR100345009B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0300742D0 (sv) * 2003-03-17 2003-03-17 Flow Computing Ab Data Flow Machine
US6906554B1 (en) * 2003-12-16 2005-06-14 Faraday Technology Corp. Pipeline-based circuit with a postponed clock-gating mechanism for reducing power consumption and related driving method thereof
US7761586B2 (en) * 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US7869363B2 (en) * 2008-02-29 2011-01-11 Alcatel-Lucent Usa Inc. Methods and apparatus for prioritizing message flows in a state machine execution environment
US20100250651A1 (en) * 2009-03-31 2010-09-30 Inventec Corporation Data access method for making asynchronous request to block device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063536A (en) * 1988-03-11 1991-11-05 Washington State University Research Foundation, Inc. Microprogrammable asynchronous controllers for digital electronic systems
US5493505A (en) * 1993-10-28 1996-02-20 Nec Usa, Inc. Initializable asynchronous circuit design
US5748487A (en) * 1995-01-31 1998-05-05 Imec System and method for generating a hazard-free asynchronous circuit
EP0931287B1 (en) * 1996-10-08 2001-08-01 ARM Limited Asynchronous data processing apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469367A (en) * 1994-06-06 1995-11-21 University Technologies International Inc. Methodology and apparatus for modular partitioning for the machine design of asynchronous circuits
US5612866A (en) * 1994-06-24 1997-03-18 Integrated Systems, Inc. Code generation system to construct an asynchronous real-time controller for a real-time system
US5870588A (en) * 1995-10-23 1999-02-09 Interuniversitair Micro-Elektronica Centrum(Imec Vzw) Design environment and a design method for hardware/software co-design
GB2310738B (en) * 1996-02-29 2000-02-16 Advanced Risc Mach Ltd Dynamic logic pipeline control
US6055620A (en) * 1997-09-18 2000-04-25 Lg Semicon Co., Ltd. Apparatus and method for system control using a self-timed asynchronous control structure
KR100308291B1 (ko) 1998-12-31 2002-01-12 구자홍 스크롤압축기의올담링구조

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063536A (en) * 1988-03-11 1991-11-05 Washington State University Research Foundation, Inc. Microprogrammable asynchronous controllers for digital electronic systems
US5493505A (en) * 1993-10-28 1996-02-20 Nec Usa, Inc. Initializable asynchronous circuit design
US5748487A (en) * 1995-01-31 1998-05-05 Imec System and method for generating a hazard-free asynchronous circuit
EP0931287B1 (en) * 1996-10-08 2001-08-01 ARM Limited Asynchronous data processing apparatus

Also Published As

Publication number Publication date
KR20020013648A (ko) 2002-02-21
US20020019671A1 (en) 2002-02-14
US6594815B2 (en) 2003-07-15

Similar Documents

Publication Publication Date Title
US7778814B2 (en) Method and device for simulating an automation system
EP0135879A2 (en) Interface circuit and method for connecting a memory controller with a synchronous or an asynchronous bus system
US20100306423A1 (en) Information processing system and data transfer method
US4757444A (en) Vector processor capable of performing iterative processing
KR100345009B1 (ko) 비동기식 제어부의 생성 방법
JP2003005957A (ja) データ処理装置およびその制御方法
US6115780A (en) Interrupt steering circuit for PCI bus
WO2021036421A1 (zh) 多核架构的同步信号产生电路、芯片和同步方法及装置
JP3716967B2 (ja) 高位合成装置および高位合成方法並びにそれに用いられる記録媒体
CN114995587A (zh) 时钟信号获得方法、装置、芯片及存储介质
JP2009505302A (ja) マイクロコントローラによる波形発生方法及び装置
JP2002006944A (ja) 制御機能付き表示器
JP5489871B2 (ja) 画像処理装置
JP4205525B2 (ja) 並列シミュレーション装置および並列シミュレーション方法
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JP3062168B2 (ja) 計算機システムの調速装置
JPH03148741A (ja) バス拡張機構の制御方式
JP5211776B2 (ja) 動作合成装置、動作合成方法及びプログラム
JPH0239376A (ja) 論理回路合成装置
JPH09212479A (ja) シングルチップマイクロコンピュータ
WO2006046272A1 (ja) メモリアクセス装置
JP2000187681A (ja) 高位合成方法及び装置並びに高位合成プログラムを記録した媒体
JPH11328003A (ja) メモリ制御システム
JP2003022247A (ja) 半導体装置
JPH08223247A (ja) 信号処理装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120627

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee