KR100744862B1 - 데이터 처리 장치 제어 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

데이터 처리 장치 제어 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR100744862B1
KR100744862B1 KR1020007013473A KR20007013473A KR100744862B1 KR 100744862 B1 KR100744862 B1 KR 100744862B1 KR 1020007013473 A KR1020007013473 A KR 1020007013473A KR 20007013473 A KR20007013473 A KR 20007013473A KR 100744862 B1 KR100744862 B1 KR 100744862B1
Authority
KR
South Korea
Prior art keywords
data
processing
processor
configuration
data processor
Prior art date
Application number
KR1020007013473A
Other languages
English (en)
Other versions
KR20010052448A (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 KR20010052448A publication Critical patent/KR20010052448A/ko
Application granted granted Critical
Publication of KR100744862B1 publication Critical patent/KR100744862B1/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

데이터 처리 장치는 다양한 데이터 프로세서(P) 및 입력 데이터(Di)를 상기 데이터 프로세서에 제공하는 동시에 그 데이터 프로세서(P)로부터 출력 데이터(Do)를 저장하는 메모리 장치(MA)를 포함한다. 그 다음, 구성 단계(CS) 및 처리 단계(PS)가 교번적으로 수행된다. 구성 단계(CS)에서, 상기 데이터 처리 장치는 상이한 각각의 데이터 프로세서(P)가 상기 메모리 장치(MA)에 포함된 상이한 데이터 블록(B)을 처리하도록 구성된다. 처리 단계(PS)에 있어서, 상기 데이터(B) 블록이 실제로 처리되고, 데이터 프로세서(P)가 그 데이터 블록(B)을 처리했을 때 중지한다. 그러한 데이터 처리 장치는 많은 다양성을 제공하는데, 그 이유는 상이한 데이터 처리 체인이 상당히 복잡한 소프트웨어가 없이도 실현될 수 있기 때문이다.

Description

데이터 처리 장치 제어 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 기록 매체{DATA PROCESSING USING VARIOUS DATA PROCESSORS}
본 발명은 다양한 데이터 프로세서 및 입력 데이터를 그 데이터 프로세서에 제공하고 그 데이터 프로세서에서 제공된 출력 데이터를 저장하는 메모리 장치를 포함하는 데이터 처리 장치에 관한 것이다. 이러한 데이터 처리 장치는, 예를 들면, 멀티미디어(multimedia) 제품에서 이용될 수 있을 것이다.
유럽 특허 출원 제0,373,714호에는 복수의 병렬 동작 프로세서 소자를 갖는 데이터 프로세서를 개시하고 있다. 결합 네트워크는 그 입력에 상기 데이터 프로세서의 출력을 결합한다. 상기 결합 네트워크는 한 개 이상의 크로스바 스위치(cross-bar switch) 및 한 개 이상의 사일로(silos) 어레이를 포함한다. 이러한 소자들 중 최소한 3개의 소자들이 연속적으로 교번 배열되어 직렬 접속을 형성한다.
본 발명의 목적은 서두에 정의된 데이터 처리 장치의 매우 다양한 변화를 허용하는 것이다.
본 발명은 다음과 같은 특징을 고려한다. 상기 데이터 처리 장치는 다음과 같은 방법으로 데이터를 처리한다고 가정한다. 제 1 데이터 프로세서는 상기 데이터를 처리하여 상기 메모리 장치에 기록되는 1회 처리된 데이터를 얻는다. 그 다음, 제 2 데이터 프로세서는 1회 처리된 데이터를 판독하고, 그 데이터를 처리하여 상기 메모리 장치에 기록되는 2회 처리 데이터를 얻는다. 즉, 상기 데이터 프로세서는 데이터 처리 체인을 형성한다. 상기 메모리 장치는 상기 데이터 처리 체인에서 2개의 연속 데이터 프로세서 사이에 버퍼 저장 용량을 제공한다.
전술한 데이터 처리는 잠재적으로 동기화 문제가 남는다. 데이터 프로세서는 상기 메모리 장치로부터 데이터를 요청할 수 있지만, 이 데이터는 상기 데이터 처리 체인에서 이전 데이터 프로세서에 의해 메모리 장치에 기록되지 않는다. 이러한 동기화 문제는 다양한 데이터 프로세서의 처리 지연 또는 상이한 처리 속도 때문이거나 양자 모두 때문이다.
종래의 기술에 있어서 동기화 문제는 다음과 같은 방법으로 해결된다. 각 데이터 프로세서는 상기 처리 지연 및 이전 데이터 프로세서의 처리 속도를 고려하여 프로그래밍된다. 즉, 데이터 프로세서의 프로그래밍은 이전의 데이터 프로세서의 데이터를 처리에 대하여 상기 데이터 프로세서의 정확한 데이터 처리 시간을 포함한다.
이전에 기술된 동기화 문제의 해법은 다음과 같은 단점을 갖고 있다. 다른 데이터 처리 체인이 바람직하다고 가정해 보자. 이것은 상기 데이터 프로세서가 데이터를 처리하는 순서가 변경될 필요가 있거나, 한 개 이상의 데이터 프로세서가 다른 타입의 처리를 수행할 필요가 있거나, 양자 모두를 암시한다. 이러한 경우에, 한 개 이상의 데이터 프로세서의 처리 지연이 변하거나, 한 개 이상의 데이터 프로세서의 처리 속도가 변하거나, 양자 모두가 변할 것이다. 결과적으로, 거의 모든 데이터 프로세서를 재프로그래밍하여 동기화 문제를 회피하는 것이 필요할 것이다. 이러한 재프로그래밍은 일반적으로 복잡할 것인데, 그 이유는 데이터 프로세서가 다양한 상이한 데이터 프로세서의 처리 지연 및 처리 속도를 고려해야 하기 때문이다. 이것은 상이한 데이터 처리를 수행한 한 개의 데이터 프로세서의 경우에도 마찬가지이다. 따라서, 종래 기술의 데이터 처리 장치는 상대적으로 복잡한 소프트웨어를 필요로 하기 때문에 상이한 데이터 처리 체인을 구현하는데 부적합하다.
본 발명에 따르면, 서두에 정의된 데이터 처리 장치는 다음과 같은 방법으로 제어된다. 구성 단계 및 처리 단계는 교번적으로 수행된다. 상기 구성 단계에 있어서, 상기 데이터 처리 장치는 상이한 각각의 데이터 프로세서가 상기 메모리 장치에 포함된 상이한 블록의 데이터를 처리하도록 구성된다. 처리 단계에서, 그 블록 데이터가 실제로 처리되지만, 데이터 프로세서는 그 블록의 데이터를 처리했을 때 중지한다.
따라서, 본 발명에 따르면, 상기 데이터 프로세서가 데이터를 처리하는 동안, 데이터 프로세서는 상이한 데이터 프로세서가 상기 메모리 장치에 아직 기록하지 않은 메모리 장치로부터 데이터를 요청하는 것을 차단할 수 있다. 따라서, 상기 동기화 문제는 해결된다. 더욱이, 상기 데이터 프로세서가 데이터를 처리하는 동안, 데이터 프로세서는 상이한 데이터 프로세서의 처리 지연 및 처리 속도를 알 필요가 없다. 결과적으로, 상기 데이터 프로세서가 데이터를 처리하는 순서가 변경되면, 동기화 문제 때문에 거의 모든 데이터 프로세서를 재프로그래밍할 필요가 없을 것이다. 또한, 데이터 프로세서가 상이한 타입의 처리를 수행하기 위하여 재프로그래밍되는 경우, 다양한 상이한 데이터 프로세서를 재프로그래밍할 필요가 없을 것이다. 결과적으로, 본 발명에 따른 데이터 처리 장치는 상대적으로 복잡한 소프트웨어를 요구하지 않고서 상이한 데이터 처리 체인을 구현할 수 있다. 따라서, 본 발명은 매우 다양하게 변경할 수 있다. 본 발명과 선택적으로 이용되어 본 발명을 바람직하게 구현할 수 있는 부가적인 특징이 도면을 참조하여 후술될 것이다.
도 1은 청구항 제 1 항에 청구된 본 발명의 기본 특징으로 도시하는 개념도,
도 2 및 3은 청구항 제 2 항 및 3항에 청구된 부가적인 특징을 도시하는 개념도,
도 4는 본 발명에 따른 데이터 처리 장치의 일례를 도시하는 블록도,
도 5는 도 3에 도시된 데이터 처리 장치에서의 데이터 흐름의 예를 도시하는 표,
도 6은 도 4에 도시된 데이터 처리 장치의 제어 레지스터에 대한 일례를 도시하는 블록도,
도 7은 도 4에 도시된 데이터 처리 장치의 동작 방법을 도시하는 흐름도,
도 8은 도 7에 도시된 방법과 관련된 신호를 도시하는 타이밍(timing)도,
도 9는 도 4에 도시된 데이터 처리 장치에서의 메모리 블록의 일례를 도시하는 블록도,
도 10은 도 9에 도시된 메모리 블록에 대한 메모리 판독 제어 워드를 도시하는 2진 워드(binary-word)도.
먼저 참조 기호의 이용에 관하여 언급될 것이다. 도면에서 유사한 요소는 동일한 문자 부호에 의해서 표시된다. 다양한 유사 요소가 하나의 도면에 나타날 수도 있다. 이 경우, 유사한 요소를 서로 구분하기 위해 문자 부호에 번호가 첨가되어 있다. 유사 요소의 번호가 변수인 경우에는 번호가 괄호 사이에 있다. 명세서 및 청구항에서 참조 기호의 번호는 적당한 경우에는 생략될 수 있다.
도 1은 본 발명의 기본 특징을 도시한다. 데이터 처리 장치는 다양한 데이터 프로세서(P) 및 상기 데이터 프로세서(P)에 입력 데이터(Di)를 인가하고 상기 데이터 프로세서(P)로부터 출력 데이터(Do)를 저장하는 메모리 장치(MA)를 포함한다. 그 다음 단계는 구성 단계(CS) 및 처리 단계(PS)가 교번적으로 수행된다. 구성 단계(CS)에서, 상기 데이터 처리 장치는 상이한 각각의 데이터 프로세서(P)가 상기 메모리 장치(MA)에 포함된 상이한 데이터 블록(B)을 처리하도록 구성된다. 처리 단계(PS)에서, 상기 데이터의 블록(B)이 실제로 처리되고, 상기 데이터 프로세서(P)가 그 데이터 블록을 처리했을 때 중지한다. 도 1은 각 데이터 프로세서(P)가 그 데이터 블록(B)을 처리했을 때 후속하는 구성 단계(CS)가 일반적으로 수행되도록 부가적으로 도시한다(∀P:B=PROC ⇒CS).
도 1에 도시된 특징을 바람직하게 실행하기 위하여, 다음과 같은 특징이 고려된다. 각 데이터 프로세서(P)가 그 데이터를 처리했을 때에만 구성 단계(CS)를 수행하는 다양한 방법이 있다. 기본적인 방법은 다음과 같다. 구성 단계는 이전의 구성 단계 후에 일정한 갯수의 클럭 싸이클동안 수행된다. 즉, 이러한 구성 단계사이에 상기 처리 단계를 위한 고정 타임 슬롯이 존재한다. 상기 데이터 처리 장치는 각 데이터 프로세서(P)가 고정 타임 슬롯내에서 확실하게 데이터 처리를 할 수 있도록 구성될 수 있다.
신뢰도를 높이기 위하여, 상기 기술된 고정 타임 슬롯은 바람직하게 소정의 마진(margin)을 포함하여야 한다. 이것은 마지막 데이터 프로세서가 새로운 구성 단계가 수행되기 전에 그 처리를 확실하게 종료하기 위한 것이다. 이러한 마진은 몇몇의 처리 단계동안 상대적으로 클 것이다. 즉, 상기 구성 단계를 수행하기 전에 각 데이터 프로세서는 그 처리를 종료할 것이다. 이러한 경우에, 상기 데이터 처리 장치는 사실상 소정의 클럭 싸이클동안 휴지 상태로 될 것이다. 말하자면, 클럭 싸이클이 낭비된다. 따라서, 이전에 기술된 방법은 처리 속도에 있어 결점이 있다.
도 2는 도 1을 참조로 논의된 특징에 선택적으로 부가될 다음과 같은 특징을 도시한다. 상기 처리 단계(PS)에 있어서, 데이터 프로세서(P)는 상기 데이터 프로 세서(P)가 데이터 블록(B=PROC)을 처리했을 때 처리 종료 지시(PEI)를 제공한다. 데이터 블록을 처리한 각 데이터 프로세서(P)가 처리 종료 지시(PEI)(∀P:PEI?)를 제공하였는지 여부가 감시된다. 만약에 그렇다면(∀P:PEI), 새로운 구성 단계(CS)가 수행된다.
도 2에 도시된 특징은 다음과 같은 장점을 제공한다. 구성 단계는 각 데이터 프로세서(P)가 그 데이터 처리를 종료한 후에 즉시 수행될 수 있다. 예를 들면, 상기 구성 단계는 각 데이터 프로세서가 처리 종료 지시(PEI)를 제공한 순간 이후에 제 1 클럭 싸이클에서 수행될 수 있을 것이다. 도 2의 설명 전에 기술된 방법의 마진을 생성할 필요가 없다. 따라서, 도 2는 클럭 싸이클의 보다 많은 부분을 데이터 처리에 효율적으로 이용할 수 있도록 하는 것을 특징으로 한다. 결과적으로, 도 2에 도시된 특징들은 만족스런 처리 속도에 기여한다.
도 1에 도시된 특징을 바람직하게 구현하기 위하여, 다음과 같은 측면들 또한 고려된다. 실제에서, 상기 데이터 처리 장치는 상기 데이터 프로세서를 포함하는 제어가능한 회로의 어셈블리를 포함할 것이다. 제어가능한 회로는 통상적으로 그 제어가능한 회로의 동작을 정의하는 제어 레지스터를 포함한다. 구성 단계에 있어서, 구성 데이터를 다양한 제어 레지스터에 직렬로 기록하여 그 다음 처리 단계에 대한 바람직한 구성을 얻을 수 있다. 그러나, 이것은 상대적으로 많은 제어가능한 회로가 있고 나아가서 잠재적으로 많은 제어 레지스터가 기록되는 경우에 많은 시간이 소비될 수 있다. 이러한 경우에, 상기 구성 단계는 상대적으로 길어질 것이다. 결과적으로, 상기 데이터 처리 장치가 데이터를 효율적으로 처리하는 시간의 부분은 상대적으로 적어질 것인데, 그 이유는 상기 데이터 처리 장치가 구성 단계동안 데이터를 처리하지 않기 때문이다. 따라서, 상기 데이터 처리 장치는 상대적으로 처리 속도가 느릴 수 있다.
도 3은 도 1을 참조로 논의되는 특징에 선택적으로 부가될 수 있는 다음과 같은 특징을 도시한다. 처리 단계(PS)에서, 구성 데이터(CD)는 제어가능한 회로 (CC)와 관련된 전방 레지스터(FREG)에 기록된다. 구성 단계(CS)에 있어서, 상기 구성 데이터(CD)는 상기 전방 레지스터(FREG)로부터 쉐도우 레지스터(SREG)로 전송되는데, 그 쉐도우 레지스터(SREG)의 내용은 상기 제어가능한 회로(CC)의 동작을 정의한다.
도 3에 도시된 특징은 다음과 같은 장점을 제공한다. 전방 레지스터(FREG)의 구성 데이터(CD)는 그 전방 레지스터와 관련되는 제어가능한 회로(CC)의 동작에 즉각적으로 영향을 받지 않는다. 따라서, 처리 단계(PS[i])동안, 그 다음 처리 단계 (PS [i+1])용 구성 데이터는 다양한 제어가능한 회로의 전방 레지스터(FREG)로 향하여 전송될 수 있다. 이러한 구성 데이터(CD)의 전송은 버스 시스템을 경유하여 직렬로 행해짐으로써 회로의 복잡도에 장점이 있다. 상기 데이터 처리 장치는 상기 전방 레지스터(FREG)에 포함된 구성 데이터(CD)를 쉐도우 레지스터(SREG)로 전송함으로써 그 다음 처리 단계(PS[i+1])에 배치될 수 있다. 이러한 전송은 병렬로, 예를 들면, 한 개의 클럭 싸이클내에서 행하여진다. 따라서, 도 3에 도시된 특징은 상당히 고속으로 구성 단계를 수행하여 상당히 많은 시간 비율을 데이터 처리에 효율적으로 이용할 수 있다. 결과적으로, 도 3에 도시된 특징은 만족스러운 처리 속 도에 기여한다.
도 4는 도 1, 2 및 3에 도시된 특징을 포함하는 데이터 처리 장치의 일례를 도시한다. 상기 데이터 처리 장치는 양방향 버스(HGHWY)를 경유하여 처리될 데이터를 수신하여 동일한 버스를 경유하여 처리된 데이터를 출력한다. 상기 데이터 처리 장치는 마스터 제어 프로세서(MCP) 및 기능 장치의 어셈블리, 즉, 버스 인터페이스 (IF), 메모리 블록(MB), 기록 크로스바(XB/W), 판독 크로스바(XB/R) 및 데이터 프로세서(P)를 포함한다. 상기 판독 크로스바(XB/W) 및 기록 크로스바(XB/R)는 한편에 버스 인터페이스(IF)와 데이터 프로세서(P)사이의 접속을 형성하고, 다른 한편에는 상기 메모리 블록(MB)의 접속을 형성한다.
도 5는 도 4에 도시된 데이터 처리 장치의 작동 방법에 대한 일례를 도시한다. 도 5에 있어서, 각 열은 처리 단계(PS)를 나타내고, 각 행은 처리될 데이터 블록(B)을 나타낸다. 처리 단계(PS[i])에 있어서, 상기 버스 인터페이스 (IF)는 양방향 버스(HGHWY)로부터 처리될 데이터 블록을 인출하고, 상기 메모리 블록(MB) 중 한 개, 예를 들면, 메모리 블록(MB1)에 상기 데이터를 기록한다(PS[1] /B[j]: HGHWY→IF→MB1). 상기 처리 단계(PS[i+2])에서, 상기 데이터 블록은 상기 데이터 프로세서(P) 중 한 개, 예를 들면, 데이터 프로세서(P1)에 의해 판독되는 동시에, 이러한 데이터 프로세서에 의해 처리된다. 따라서, 한 번 처리된 데이터의 블록은 상기 메모리 블록(MB) 중 한 개, 예를 들면, 메모리 블록(MB2) (PS[i+1]/B[j]: MB1→P1→MB3)에 기록되는 것이 얻어진다. 이러한 처리 단계(PS[i+2])에서, 상기 한번 처리된 데이터는 상이한 데이터 프로세서(P), 예를 들면, 데이터 프로세서(P2)에 의해 판독되는 동시에 이러한 데이터 프로세서에 의해 처리된다. 따라서, 두 번 처리된 데이터의 블록은 상기 메모리 블록 중 한 개, 예를 들면, 메모리 블록(MP3)(PS[i+2]/ B[j]:MB2→P2→MB3)에 기록된다. 이러한 처리는 상기 데이터 블록(B[j])이 N번(N은 정수) 처리될 때까지 동일한 방법으로 지속할 수 있다. 상기 버스 인터페이스(IF)는 상기 양방향 버스(HGHWY)에 N번 처리된 데이터 블록을 위치시킬 수 있다.
상기 처리 단계(PS[i+1])에서, 상기 버스 인터페이스(IF)는 상기 양방향 버스(HGHWY)로부터 새로운 데이터 블록(B[j+1])을 인출하는 동시에 그 메모리 블록 중 한 개, 예를 들면, 메모리 블록(MB1)(PS[i=1]/B[j+1]:HGHWY→IF→MB1)에 상기 데이터를 기록한다. 상기 처리 단계(PS[i+2])에서, 상기 데이터 블록은 상기 데이터 프로세서(P) 중 한 개, 예를 들면, 데이터 프로세서(P1)에 의해 판독되는 동시에, 이러한 데이터 프로세서에 의해 처리된다. 따라서, 한 번 처리된 데이터의 블록은 상기 메모리 블록(MB) 중 한 개, 예를 들면, 메모리 블록(MB1) (PS[i+2]/B[j+2]: MB1→P1→MB2)에 기록되는 것이 얻어진다. 따라서, 상기 데이터 블록(B[j])에 제공된 동일한 데이터 처리 체인은 상기 데이터 블록(B[j+1])에 제공될 수 있다. 그러나, 도 1에 도시된 데이터 처리 장치에서는 상이한 데이터 처리 체인이 상기 데이터 블록(B[j+1])에 제공될 수 있다.
상기 마스터 제어 프로세서(MCP)는 어떤 데이터 처리 체인이 상기 양방향 버스(HGHWY)에서 인출되는 데이터 블록에 제공되는지를 결정한다. 또한, 마스터 제어 프로세서(MCP)는 처리 단계(PS)동안 프로세서(P)가 처리할 수 있는 데이터량을 결정한다. 그 끝에서, 상기 마스터 제어 프로세서(MCP)는 구성 데이터(CD)를 다양한 기능 장치에 제공한다. 예를 들면, 상기 마스터 제어 프로세서(MCP)가 상기 판독 크로스바(XB/P)에 제공하는 구성 데이터(CD)는 한쪽의 메모리 블록(MB)의 출력과 다른쪽의 버스 인터페이스 사이에 접속을 형성한다.
상기 마스터 제어 프로세서(MCP)가 프로세서(P)에 제공하는 구성 데이터(CD)는 상기 프로세서(P)에 의해 수행될 데이터 처리 타입을 정의한다. 예를 들면, 상기 프로세서(P)가 콘벌루션 필터(convolution filter)라고 가정하자. 이 경우에, 상기 구성 데이터(CD)는 필터 특성을 정의하고, 즉 필터 커넬(kernel) 및 필터 계수의 크기를 정의한다. 또한, 상기 구성 데이터(CD)는 데이터 소자, 예를 들면, 처리 단계(PS)동안 프로세서(P)가 처리하는 화소의 개수를 정의한다.
도 6은 상기 마스터 제어 프로세서(MCP)가 구성 데이터(CD)를 기록할 수 있는 제어 레지스터를 도시한다. 각 기능 장치는 한 개 이상의 상기 제어 레지스터를 갖는다. 그 제어 레지스터는 내부 제어 데이터 버스(ICB) 및 내부 어드레스 버스(IAB)를 경유하여 상기 마스터 제어 프로세서(MCP)에 결합된다. 상기 제어 레지스터는 어드레스 디코더(ADEC), 전방 레지스터(FREG) 및 쉐도우 레지스터(SREG)를 포함한다. 상기 제어 레지스터는 파선으로 도시되는 선택기(SEL)를 선택적으로 포함할 수 있다. 상기 전방 레지스터(FREG)는 상기 내부 제어 데이터 버스(ICB)에 결합되는 입력(I) 및 상기 쉐도우 레지스터(SREG)의 입력에 결합되는 출력(O)을 갖는다. 상기 쉐도우 레지스터(SREG)의 출력(O)은 그 제어 레지스터를 가속하는 기능 장치의 한 개 이상의 제어가능한 소자에 결합되고, 따라서, 쉐도우 레지스터(SREG) 의 내용은 그 기능 장치의 동작을 결정한다.
상기 마스터 제어 프로세서(MCP)는 다음과 같은 방법으로 제어 레지스터에 구성 데이터(CD)를 기록한다. 상기 마스터 제어 프로세서(MCP)는 상기 내부 제어 데이터 버스(ICB)상에 제어 레지스터용 구성 데이터(CD)를 위치시킨다. 또한, 내부 어드레스 버스(IAB)상에 어드레스 데이터(AD)를 위치시킨다. 상기 어드레스 데이터(AD)를 토대로 상기 제어 레지스터의 어드레스 디코더(ADEC)는 그 구성 데이터(CD)가 제어 레지스터용인지 여부를 결정한다. 그렇다면, 그 어드레스 디코더(ADEC)는 인에이블 신호(EN)를 상기 전방 레지스터(FREG)에 제공한다. 이에 응답하여, 상기 전방 레지스터(FREG)는 내부 제어 데이터 버스(ICB)상에 존재하는 구성 데이터(CD)를 로드한다. 그 구성 데이터(CD)는 로드 구성 명령(LC)에 의해 상기 쉐도우 레지스터(SREG)에 전송된다. 그 로드 구성 명령(LC)이 쉐도우 레지스터 (SREG)에 제공되면, 이 레지스터는 상기 전방 레지스터(FREG)에 이전에 저장되는 구성 데이터(CD)를 취한다.
파선으로 도시된 선택기(SEL)는 상기 쉐도우 레지스터(SREG)의 내용을 상기 전방 레지스터(FREG)에 역으로 전송하는 것에 주목해야 한다. 즉, 스웹 명령(SWP)이 선택기(SEL)에 제공되면, 그 전방 레지스터(FREG)는 상기 쉐도우 레지스터(SREG)의 내용을 취하고 그 반대로 취한다. 이러한 특징은 그 기능 장치가 각각의 변경하여 구성 데이터(CD)를 내부 제어 데이터 버스(ICB)를 경유하여 전송할 필요없이 변경한 방법으로 두 가지 상이한 타입의 동작을 수행할 수 있다.
도 7은 도 4에 도시된 데이터 처리 장치의 동작 방법을 도시한다. 구성 단계(CS) 및 처리 단계(PS)를 교번적으로 수행할 수 있는 두 가지 단계가 있다. 양방향 버스(HGHWY)로부터 인출되는 데이터는 처리 단계(PS)동안에만 처리되지만, 구성 단계(CS)동안에는 처리되지 않는다. 다양한 기능 장치에 속하는 쉐도우 레지스터(SREG)의 내용은 구성 단계(CS)동안에만 수정되지만, 처리 단계(PS)동안에는 수정되지 않는다.
구성 단계(CS)에 있어서, 상기 마스터 제어 프로세서(MCP)는 로드 구성 명령(LC)을 상기 기능 장치의 제어 레지스터(CREG)에 제공한다. 도 6을 참조로 설명된 바와 같이, 상기 전방 레지스터(FREG)에 포함된 구성 데이터(CD)는 상기 쉐도우 레지스터(SREG)(CD:FREG→SREG)에 전송될 것이다. 결과적으로, 각 기능 장치는 상기 마스터 제어 프로세서가 상기 기능 장치의 제어 레지스터(CREG)에 전송하는 구성 데이터(CD)에 따라 구성될 것이다.
처리 단계(PS)에서, 상기 기능 장치는 양방향 버스(HGHWY)에서 인출되는 데이터를 처리한다. 통상적으로, 메모리 블록(MB)에 포함된 데이터 블록(B)은 상기 판독 크로스바(XB/R)를 경유하여 데이터 프로세서(P)에 전송된다. 상기 데이터 프로세서(P)는 그 데이터를 처리하고, 그 처리된 데이터는 상기 기록 크로스바(XB/W)를 경유하여 메모리 블록(MB)(B:MB→XB/R→P→XB/W→MB)의 일부분에 전송된다. 그 동안, 상기 마스터 제어 프로세서(MCP)는 구성 데이터(CD)를 한 개 이상의 기능 장치(CD:MCP→FREG)의 전방 레지스터(FREG)에 기록한다. 즉, 처리 단계(PS)동안, 상기 마스터 제어 프로세서(MCP)는 그 다음 처리 단계(PS)에 대한 새로운 구성을 준비한다.
도 8은 구성 단계(CS[i]) 및 새로운 처리 단계(PS[i])에 의해 처리 단계(PS[i-1])를 지속하는 방법을 도시한다. 도 8에 있어서, 4 개의 2진 신호는 개신 신호(STS), 구성 신호(CDS), 로드 구성 신호(LCS) 및 동작 신호의 종료(EOS)를 나타낸다. 상기 개시 신호(STS)는 상기 마스터 제어 프로세서(MCP)에서 개시하여 상기 데이터 프로세서(P)(MCP→P:STS)에 제공된다. 상기 구성 신호(CDS)는 기능 장치, 예를 들면, 프로세서(P)에서 개시한다. 제어 레지스터를 구비한 각 기능 장치는 구성 신호(CDS)를 발생하여 이 신호를 상기 마스터 제어 프로세서(MCP) (P,XB,MB,IF→MCP:CDS)에 제공한다. 상기 로드 구성 신호(LCS)는 상기 마스터 제어 프로세서 (MCP)에서 개시하여 다양한 기능 장치(MCP→P,XB,MP,IF:LCS)에 제공된다. 상기 동작 종료 신호(EOS)는 데이터 프로세서(P)에서 개시한다. 각 데이터 프로세서(P)는 동작 종료 신호(EOS)를 개시하여 이 신호를 상기 마스터 제어 프로세서(MCP)(P→ MCP:EOS)에 제공한다. 도 8은 상승 에지(1-8)를 갖는 클럭 신호(CLK)를 도시한다. 각 상승 에지를 갖는 데이터 처리 배열의 클럭 제어 소자는 그 상태를 변경할 수 있다.
도 8에 도시된 신호들이 상기 마스터 제어 프로세서(MCP)와 데이터 프로세서 (P1)사이에 교환된다고 가정하자. 상기 클럭 신호(CLK)의 상승 에지(1)에서, 상기 데이터 프로세서(P1)는 그 임무를 종료한다. 상기 마스터 프로세서(MCP)에 이것을 알리기 위하여, 상기 데이터 프로세서(P1)는 그 동작 종료 신호(EOS)가 0에서 1까지 변하게 한다. 데이터 프로세서(P)는 구성 단계로 로드되어 처리 단계에서 처리된 데이터 소자를 한 단위로 카운트하는 카운터에 의해 그 임무를 종료하는 것으로 알려져 있다. 그 카운터가 제로에 도달할 때, 상기 데이터 프로세서(P)는 필요한 데이터 소자 개수를 처리했고, 결과적으로, 그것은 처리를 중지하여 동작 종료 신호(EOS)가 0에서 1로 변하게 한다.
모든 동작 종료 신호(EOS)가 상기 클럭 신호(CLK)의 상승 에지(3)에서 1이라고 가정해보자. 상기 마스터 제어 프로세서(MCP)는 이것으로 유도하고, 말하자면, 모든 데이터 프로세서(P)는 그 임무를 종료한다. 이것에 응답하여, 상기 마스터 제어 프로세서(MCP)는 로드 구성 신호(LCS)가 상기 클럭 신호(CLK)의 상승 에지(4)에서 0에서 1로 변하게 한다. 1이 되는 로드 구성 신호(LCS)에 응답하여, 전방 레지스터 (FREG)에 구성 데이터(CD)는 상기 쉐도우 레지스터(SREG)로 전달된다. 이것은 도 5 및 도 6을 참조로 설명된다.
상기 데이터 프로세서(P1)는 그 구성 신호(CDS)가 상기 상승 에지(5)에서 0에서 1로 변하게 한다. 그렇게 행함으로써, 상기 데이터 프로세서(P1)은 그 구성 데이터(CD)가 전송되는 동시에 그 새로운 임무를 수행하는 마스터 제어 프로세서 (MCp)에 확인한다. 모든 구성 신호(CDS)가 상승 에지(5)에서 0에서 1로 변경된다고 가정해 보자.
상기 마스터 프로세서(MCP)는 상승 에지(5)에서 상기 로드 구성 신호(LCS)가 1에서 0으로 변하게 한다. 0으로 되는 상기 로드 구성 신호(LCS)에 응답하여, 각 데이터 프로세서(P)는 그 동작 종료 신호(EOS)가 상승 에지(6)에서 1에서 0으로 변경한다. 즉, 상기 로드 구성 신호(LCS)의 리셋은 상기 클럭 신호(CLK)의 상이한 상승 에지에서 동작 종료 신호(EOS)의 리셋을 트리거한다.
모든 구성 신호(CDS)가 상승 에지(6)에서 1이라고 가정한다. 상기 마스터 제어 프로세서(MCP)는 이것을 유도하고, 즉, 상기 모든 기능 장치는 새로운 처리 단계를 수행하기 위하여 준비된다. 따라서, 상기 마스터 제어 프로세서(MCP)는 상승 에지(6)에서 개시 신호(STS)를 0에서 1로 변하게 한다. 다르게 말하면, 상기 마스터 제어 프로세서(MCP)는 개시 신호를 상승 에지(6)에서 새로운 처리 단계에 제공한다. 1이 되는 개시 회로(STS)에 응답하여, 상기 기능 장치는 상기 구성 데이터(CD)에 의해 할당되는 임무를 개시할 것이다.
상기 마스터 제어 프로세서(MCP)는 상승 에지(7)에서 개시 신호(STS)를 1에서 0으로 변경한다. 0으로 되는 신호에 응답하여, 각 기능 장치는 상승 에지(8)에서 구성 신호(CDS)가 1에서 0으로 변하게 한다. 즉, 개시 신호(STS)의 리셋은 클럭 신호(CLK)의 다음 상승 에지에서 구성 신호(CDS)의 리셋을 트리거한다.
도 9는 도 4에 도시된 데이터 처리 배열의 메모리 블록(MB)을 도시한다. 상기 메모리 블록(MB)은 5개의 스태틱 랜덤 액세스 메모리(SRAM1-SRAM5)로 구성된 멀티 메모리 배열(MMA) 및 메모리 제어기(MCTRL)를 포함한다. 상기 멀티 메모리 장치(MMA)는 상기 기록 크로스바(XB/W)를 경유하여 데이터 프로세서(P[i])로부터 출력 데이터(Do)를 수신하는 입력부를 갖는다. 상기 멀티 메모리 장치는 입력 데이터(Di)를 상기 판독 크로스바(XB/R)를 경유하여 데이터 프로세서(P[j])에 제공하는 출력부를 갖는다.
상기 메모리 블록(MB)은 기본적으로 다음과 같이 동작한다. 상기 메모리 제어기(MCTRL)는 출력 데이터(Do)가 기록되는 어떤 SRAM 및 어떤 어드레스에 상기 멀 티 메모리 장치(MMA)에 지시한다. 기록 페이지 선택 신호(PG/W) 및 기록 어드레스(AD/W)에 의해 행하여진다. 상기 메모리 제어기(MCRTL)는 상기 멀티 메모리 장치(MMA)에 기록하여 입력 데이터(Di)가 판독되는 어떤 SRAM 및 어떤 어드레스를 형성한다. 그것은 판독 페이지 선택 신호(PG/R) 및 판독 어드레스(AD/R)에 의해 행하여진다. 스태틱 SRAM 메모리는 주어진 순간에 기록되거나 판독될 수 있다. 따라서, 기록 및 판독은 스태틱 SRAM에서 동시에 수행될 수 있다. 상기 메모리 제어기(MCTRL)는 기록용으로 선택된 SRAM이 판독용으로 선택된 SRAM과 동일하지 않다는 것을 확인한다.
구성 단계동안, 상기 마스터 제어 프로세서(MCP)는 구성 데이터(CD)를 상기 메모리 제어기(MCTRL)에 제공한다. 상기 메모리 제어기(MCTRL)용 구성 데이터는 다음과 같은 처리 단계동안 신호(PG/W,AD/,PG/R 및 AD/R)를 동시에 발생할 수 있는 초기 명령 세트로 보여질 수 있다. 따라서, 상기 메모리 제어기(MCTRL)용 구성 데이터(CD)는 판독을 개시하는 장소, 어떤 SRAM 및 어드레스, 및 판독을 계속하는 방법을 기록한다. 상기 구성 데이터(CD)는 기록을 개시하는 장소, 소정의 SRAM, 어드레스 및 기록을 지속하는 방법을 지시한다.
처리 단계동안, 상기 데이터 프로세서(P[i])는 다음 기록 명령(NXT/W)을 상기 메모리 제어기(MCTRL)에 제공한다. 다음 기록 명령(NXT/W)은 상기 데이터 프로세서(P[i])가 데이터 성분을 멀티 메모리 장치(MMA)에 기록할 준비를 지시한다. 상기 데이터 프로세서(P[j])는 다음 판독 명령(NXT/R)을 상기 메모리 제어기(MCTRL)에 제공한다. 다음 판독 명령(NXT/W)은 데이터 프로세서(P[j])가 상기 멀티 메모리 장치(MMA)로부터 데이터 성분을 판독할 준비를 지시한다. 상기 메모리 제어기 (MCTRL)는 다음 기록 명령(NXT/W) 및 다음 판독 명령(NXT/R)에 응답하여 기록 어드레스(AD/W) 및 판독 어드레스(AD/R)를 증가시킨다. 그 끝에, 상기 메모리 제어기(MCTRL)는 두 개의 로드가능한 카운터, 즉, 기록 어드레스(AD/W)용 카운터 및 판독 어드레스(AD/R)용 카운터를 포함하는데, 그 카운터는 명령이 증가함으로써 다음 기록 명령(NXT/W) 및 다음 판독 명령(NXT/R)을 수신한다.
도 10은 도 9에 도시된 메모리 블록용 구성 데이터(CD)의 일부분을 형성할 수 있는 메모리 판독 제어 워드(MRCW)를 도시한다. 상기 메모리 제어기(MCTRL)가 판독 어드레스 카운터를 포함한다고 가정한다. 상기 메모리 판독 제어 워드(MRCW)는 8 비트, 즉 b[7]-b[0]를 포함한다. 이러한 비트의 기능은 이제 설명될 것이다.
비트(b[7])는 판독 유지 페이지 프래그(KPF)이다. 이러한 프래그가 0으로 설정될 때, 상기 판독 페이지 선택(PG/R)은 자동으로 판독 어드레스 카운터가 오버플로우할 때 증가된다. 상기 판독 페이지 선택(PG/R)이 그 최대치를 갖는 동안 판독 어드레스 카운터가 오버플로우할 때, 그 판독 페이지 선택(PG/R)은 최대치로 설정된다. 이것은 웹 어라운드(wrap around)로 간주될 수 있다. 상기 판독 유지 페이지 프레그(KPF)가 1로 설정될 때, 상기 판독 페이지 선택(PG/R)이 처리 단계동안 변경되지 않는다.
비트 b[6]는 특정한 기능을 갖지 않는다.
비트 b[5]-[3]은 3비트 페이지 판독 값(PRV)을 구성한다. 이 페이지 판독 값(PRV)은 판독 페이지 선택(PG/R)용 개시값을 지시하는 동시에 데이터 판독을 개 시하는 어떤 SRAM 데이터를 지시한다.
비트 b[2]-[1]은 3비트 판독 모드 값(RMV)을 구성한다. 이 판독 모드 값(RMV)은 어떤 판독 모드가 적용되는지를 결정한다. 4개의 판독 모드가 있다. 제 1 판독 모드에서, 상기 판독 어드레스 카운터의 내용은 로드 구성 명령(LC)에 응답하여 리셋된다. 제 2 판독 모드에서, 그 판독은 상기 메모리 제어기(MCTRL)에 마스터 제어 프로세서(MCP)를 제공하는 어드레스에서 개시한다. 제 3 판독 모드에서, 상기 판독은 상기 판독 어드레스 카운터에 포함된 어드레스에서 개시한다. 상기 판독 페이지 선택(PG/R)은 그 현재 값에서 유지된다. 즉, 상기 페이지 판독 값은 무시된다. 제 4 판독 모드에서, 상기 판독은 상기 판독 어드레스 카운터에 포함된 어드레스에서 개시하는 한편, 그 판독 페이지 선택은 페이지 판독 값(PRV)에 따라 설정된다.
비트 b[0]는 판독 인에이블 프래그(ENF)이다. 이러한 프래그가 0으로 설정될 때, 판독은 허용된다. 그 판독 인에이블 프래그(ENF)가 1로 설정될 때, 상기 8비트 카운터는 메모리 제어기(MCTRL)가 다음 판독 명령(NXT/R)을 수신하지 않는 경우에도 증가되지 않는다. 또한, 상기 메모리 판독 제어 워드(MRCW)의 다른 비트, 즉 비트 b[7]-b[1]는 무시된다.
도 9에 도시된 메모리 블록(MB)용 구성 데이터(CD)는 도 10에 도시된 메모리 판독 제어 워드(MRCW)와 비슷한 메모리 기록 제어 워드를 당연히 포함한다.
요약하면, 도 4에 도시된 처리 장치는 다음과 같이 동작한다. 구성 단계에서, 상기 마스터 제어 프로세서(MCP)는 각 데이터 프로세서(P)를 구성하여 특정 타입의 처리를 수행한다. 예를 들면, 비디오 처리 애플리케이션에 있어서, 데이터 프로세서(P)는 필터 탭 및 필터 계수의 개수와 같은 특성이 상기 구성 데이터(CD)에 의해 정의되는 수평 필터 또는 수직 필터가 될 수 있다. 더욱이, 상기 마스터 제어 프로세서(MCP)는 각 데이터 프로세서(P)를 구성하여 소정의 데이터 성분, 예를 들면, 소정의 화소를 처리한다. 따라서, 상기 마스터 제어 프로세서(MCP)는 상기 데이터 프로세서(P)를 구성하여 필요한 개수의 다음 판독 및 기록 명령(NXT/R,NXT/W)를 제공한다.
상기 마스터 제어 프로세서(MCP)는 상기 기록 크로스바(XB/W) 및 판독 크로스바(XB/R)를 배치한다. 따라서, 각 데이터 프로세서(P)에 대하여, 상기 데이터 프로세서(P)가 입력 데이터(Di)를 판독할 메모리 블록(MB) 및 상기 데이터 프로세서 (P)가 출력 데이터(Do)를 기록할 메모리 블록(MB)이 정의된다. 또한, 상기 마스터 제어 프로세서(MCP)는 각 메모리 블록(MB)을 배치한다. 따라서, 상기 메모리 블록(MB)으로부터 입력 데이터(Di)를 판독하는 데이터 프로세서(P)에 대하여, 상기마스터 제어 프로세서(MCP)는 상기 SRAM 및 판독을 개시하는 어드레스를 정의한다. 즉, 상기 마스터 제어 프로세서(MCP)는 상기 메모리 블록(MB)에 포함된 데이터의 일부분이 상기 메모리 블록(MB)에 출력 데이터(Do)를 기록하는 데이터 프로세서(P)로 처리되는 것을 정의하고, 상기 마스터 제어 프로세서(MCP)는 기록을 개시할 SRAM 및 어드레스를 정의한다. 즉, 상기 마스터 제어 프로세서(MCP)는 데이터가 처리되는 메모리 블록(MB)의 일부분이 기록되는 것을 정의한다.
상기 마스터 제어 프로세서(MCP)가 상기 기능 소자를 배치할 때, 이전에 기 술된 바와 같이, 처리 단계의 초기를 표시하는 개시 명령을 제공한다. 상기 처리 단계에서, 상기 기능 소자들은 자동으로 동작한다. 상기 구성 단계에 정의되는 구성들은 유지관리된다. 그 마스터 제어 프로세서(MCP)는 각 데이터 프로세서(P)가 처리 명령이 제공되는 데이터량을 처리할 때까지 대기한다. 각 데이터 프로세서 (P)가 그 처리 단계의 종료를 표시하는 그 임무를 종료할 때, 그 마스터 제어 프로세서(MCP)는 새로운 구성 단계를 수행할 수 있다.
따라서, 상기 마스터 제어 프로세서(MCP)는 다양한 기능 장치에 임무를 할당하고, 그 기능 장치에 그들의 임무를 수행시키고, 임의의 새로운 임무를 할당하기 전에 그 임무를 종료할 때까지 대기하는 오케스트라처럼 보여질 수 있다. 상기 마스터 제어 프로세서(MCP)는 상기 양방향 버스(HGHWY)로부터 인출되는 데이터 블록의 트랙을 유지한다. 즉, 각 구성 단계에서, 상기 마스터 제어 프로세서(MCP)는 상기 데이터 블록이 이미 경험한 어떤 처리, 처리된 데이터 블록이 저장되는 장소 및 상기 데이터 블록이 양방향 버스를 경유하여 출력되기 전에 처리가 수행될 필요성이 있는 것을 알고 있다.
상기 도면 및 그 상세한 설명은 본 발명에 국한하여 기술되는 것은 아니다. 본 발명의 범위내에서 다양한 변경이 이루어질 수 있다. 이러한 관점에서 다음과 같이 귀결될 수 있다.
도 1을 참조로 데이터 프로세서가 그 데이터 블록을 처리할 때를 중지하는 것을 개시하고 있다. 그러나, 이것은 새로운 처리 단계를 개시하기까지 완전히 휴지 상태로 되는 것을 의미하지 않는다. 예를 들면, 상기 데이터 프로세서가 그 데이터 블록을 처리하기 위하여 상이한 데이터 처리기를 기다리는 동안, 상기 메모리 장치에 포함되어 처리될 데이터에 속하지 않는 내부 데이터 또는 상이한 데이터를 처리할 수 있다.
본 발명에 따른 데이터 처리 장치를 구성하는 많은 방법이 있다. 구성 단계에서, 다음과 같은 처리 단계에서 데이터 블록을 모든 데이터 프로세서가 처리하도록 데이터 처리 장치를 배치할 수 있다. 그러나, 상기 데이터 처리 장치를 구성하여 몇 개의 데이터 프로세서가 데이터의 블록을 처리하는 반면 그 나머지 데이터 프로세서는 처리하지 않도록 할 수 있다. 따라서, 구성 단계에 있어서, 다음과 같은 처리 단계에서 활성인 데이터 프로세서의 그룹을 정의할 수 있다. 그 활성 데이터 프로세서의 그룹은 한 개의 처리 단계에서 다른 처리 단계로 변할 수 있다. 예를 들면, 데이터 처리 장치가 데이터 프로세서(A,B,C)를 포함한다고 가정해 보자. 처리 단계에서 모든 3개의 데이터 프로세서가 활성인 반면, 다음 처리 단계에서 데이터 프로세서(A,B)가 활성이고 다음 처리 단계에서 데이터 프로세서(B,C)가 활성이다.
메모리 장치를 구현할 수 있는 많은 방법이 있다. 도 4는 복수의 메모리 블록에 의해 메모리 장치를 형성하는 한 개의 실행을 도시한다. 이것은 상기 메모리 장치가 한 개의 물리적인 메모리 회로에 의해 형성되는 실행 등의 다른 가능한 실행을 결코 배제하는 것이 아니다.
도 1에 도시된 기본 원리에 따라 데이터 프로세서 장치를 동작시키는 많은 방법이 있다. 예를 들면, 도 4에 도시된 실행을 참조로, 디스크 등의 컴퓨터 기록 매체에 기록된 명령의 세트는 마스터 제어 프로세서(MCP)의 프로그램 메모리에 로드될 수 있다. 상기 명령 세트는 상기 마스터 제어 프로세서(MCP)가 도 5 내지 10을 참조로 기술된 동작을 수행할 수 있다.
다양한 장치에 걸쳐 다양한 물리적인 확산 기능 또는 기능적인 소자들이 있다. 이러한 관점에서, 상기 도면은 매우 도식적이고, 본 발명의 실시예만을 각각 나타낸다. 따라서, 도면이 상이한 기능 소자를 상이한 블록으로 도시할지라도, 이것은 몇 개의 기능 소자 또는 모든 기능 소자가 한 개의 물리적인 장치로 실행될 수 있다는 것을 결코 배제할 수 없다.
청구항내에서의 어떠한 참조 기호도 청구항을 제한하도록 구성되어서는 않된다.

Claims (7)

  1. 다양한 데이터 프로세서(P) 및 입력 데이터(Di)를 상기 데이터 프로세서에 제공하고 상기 데이터 프로세서(P)로부터의 출력 데이터(Do)를 저장하는 메모리 장치(MA)를 포함하는 데이터 처리 장치를 제어하는 방법에 있어서,
    상이한 각각의 데이터 프로세서(P)가 상기 메모리 장치(MA)에 포함된 상이한 데이터 블록(B)을 처리하도록 상기 데이터 처리 장치를 구성하는 구성 단계(CS)와,
    상기 데이터 블록(B)을 실제로 처리하고, 데이터 프로세서(P)가 그 데이터 블록을 처리했을 때 중지하는 처리 단계(PS)를 교번적으로 수행하되,
    상기 처리 단계(PS)는 제어가능한 회로(CC)와 관련된 전방 레지스터(FREG)에 구성 데이터(CD)를 기록하는 단계―상기 구성 데이터는 후속하는 처리 단계에서의 상기 제어가능한 회로의 동작을 정의함―를 포함하고,
    상기 구성 단계(CS)는 상기 전방 레지스터(FREG)로부터 쉐도우 레지스터(SREG)로 상기 구성 데이터(CD)를 전송하는 단계―상기 쉐도우 레지스터(SREG)의 내용은 상기 제어가능한 회로(CC)의 동작을 정의함―를 포함하는 것을 특징으로 하는
    데이터 처리 장치 제어 방법.
  2. 제 1 항에 있어서,
    상기 처리 단계(PS)는,
    데이터 프로세서(P)가 데이터 블록(B)을 처리했을 때 처리 종료 지시(PEI)를 제공하는 단계와,
    상기 상이한 각각의 데이터 프로세서(P)가 처리 종료 지시(PEI)를 모두 제공하였는지를 감시하여, 모두 제공한 경우에 새로운 구성 단계(CS)로 진행하는 단계를 포함하는
    데이터 처리 장치 제어 방법.
  3. 삭제
  4. 다양한 데이터 프로세서(P) 및 입력 데이터(Di)를 상기 데이터 프로세서에 제공하고 상기 데이터 프로세서(P)로부터의 출력 데이터(Do)를 저장하는 메모리 장치(MA)를 포함하는 데이터 처리 장치에 있어서,
    상이한 각각의 데이터 프로세서(P)가 상기 메모리 장치(MA)에 포함된 상이한 데이터 블록(B)을 처리하도록 상기 데이터 처리 장치를 구성하는 구성 단계(CS)와, 상기 상이한 각각의 데이터 프로세서가 상기 상이한 데이터 블록(B)을 처리하기 시작하는 개시 단계(INIT)를 교번적으로 수행하는 제어기(MCP)를 포함하되,
    상기 데이터 처리 장치는 전방 레지스터(FREG) 및 쉐도우 레지스터(SGEG)를 갖는 복수의 제어가능한 회로(CC)를 포함하며, 상기 쉐도우 레지스터(SREG)의 내용은 상기 제어가능한 회로(CC)의 동작을 정의하고, 상기 제어기(MCP)는 상기 데이터 블록(B)의 처리 동안 상기 전방 레지스터(FREG)에 구성 데이터(CD)를 기록하고 구성 단계(CS)동안 상기 구성 데이터(CD)를 상기 전방 레지스터(FREG)로부터 상기 쉐도우 레지스터(SREG)로 전송시키도록 구성되는 것을 특징으로 하는
    데이터 처리 장치.
  5. 제 4 항에 있어서,
    상기 상이한 각각의 데이터 프로세서(P)는 상기 데이터 프로세서(P)가 그 데이터 블록(B)을 처리했을 때 처리 종료 지시(PEI)를 제공하도록 구성되며, 상기 제어기(MCP)는 상기 상이한 각각의 데이터 프로세서(P)가 처리 종료 지시(PEI)를 모두 제공했을 때 새로운 구성 단계(CS)로 진행하도록 구성되는
    데이터 처리 장치.
  6. 삭제
  7. 다양한 데이터 프로세서(P) 및 입력 데이터(Di)를 상기 데이터 프로세서에 제공하고 상기 데이터 프로세서(P)로부터의 출력 데이터(Do)를 저장하는 메모리 장치(MA)를 포함하는 데이터 처리 장치를 제어하는 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 컴퓨터 프로그램은, 상기 데이터 처리 장치에 로드될 때 상기 데이터 처리 장치가 제 1 항에 청구된 방법을 수행하도록 하는 인스트럭션 세트를 포함하는 것을 특징으로 하는
    컴퓨터 판독 가능한 기록 매체.
KR1020007013473A 1999-03-31 2000-03-09 데이터 처리 장치 제어 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 기록 매체 KR100744862B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/282,325 1999-03-31
US09/282,325 US6349378B1 (en) 1999-03-31 1999-03-31 Data processing using various data processors

Publications (2)

Publication Number Publication Date
KR20010052448A KR20010052448A (ko) 2001-06-25
KR100744862B1 true KR100744862B1 (ko) 2007-08-01

Family

ID=23080992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007013473A KR100744862B1 (ko) 1999-03-31 2000-03-09 데이터 처리 장치 제어 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 기록 매체

Country Status (7)

Country Link
US (1) US6349378B1 (ko)
EP (1) EP1082659A1 (ko)
JP (1) JP2002541547A (ko)
KR (1) KR100744862B1 (ko)
CN (1) CN1262922C (ko)
TW (1) TW459198B (ko)
WO (1) WO2000060461A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681341B1 (en) * 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
KR20050113194A (ko) * 2003-02-27 2005-12-01 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 시스템 및 그 제어 방법
JP4904154B2 (ja) * 2003-07-14 2012-03-28 フルクラム・マイクロシステムズ・インコーポレーテッド 非同期スタティックランダムアクセスメモリ
US7757073B2 (en) * 2006-10-25 2010-07-13 Nvidia Corporation System configuration data sharing between multiple integrated circuits
US8370557B2 (en) * 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory
CN102043755B (zh) * 2009-10-22 2012-12-05 财团法人工业技术研究院 可重组态处理装置及其系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765009A (en) * 1994-02-22 1998-06-09 Fujitsu Limited Barrier synchronization system in parallel data processing
US5887182A (en) * 1989-06-13 1999-03-23 Nec Corporation Multiprocessor system with vector pipelines

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
NL8803079A (nl) 1988-12-16 1990-07-16 Philips Nv Koppelnetwerk voor een dataprocessor, voorzien van een serie-schakeling met ten minste een herconfigureerbare schakelmatrix en ten minste een batterij silo's alsmede dataprocessor voorzien van zo een koppelnetwerk.
US5280620A (en) 1988-12-16 1994-01-18 U.S. Philips Corporation Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos
US5127092A (en) * 1989-06-15 1992-06-30 North American Philips Corp. Apparatus and method for collective branching in a multiple instruction stream multiprocessor where any of the parallel processors is scheduled to evaluate the branching condition
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5361367A (en) * 1991-06-10 1994-11-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors
JPH05324583A (ja) * 1992-05-26 1993-12-07 Dainippon Screen Mfg Co Ltd 画像データ処理装置
DE4416881C2 (de) * 1993-05-13 1998-03-19 Pact Inf Tech Gmbh Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
EP0693737A3 (en) * 1994-07-21 1997-01-08 Ibm Method and apparatus for managing tasks in a multiprocessor system
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5721921A (en) * 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors
US5956518A (en) * 1996-04-11 1999-09-21 Massachusetts Institute Of Technology Intermediate-grain reconfigurable processing device
US5768538A (en) * 1996-04-30 1998-06-16 International Business Machines Corporation Barrier synchronization method wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each new phase
JP3532037B2 (ja) * 1996-07-31 2004-05-31 富士通株式会社 並列計算機
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887182A (en) * 1989-06-13 1999-03-23 Nec Corporation Multiprocessor system with vector pipelines
US5765009A (en) * 1994-02-22 1998-06-09 Fujitsu Limited Barrier synchronization system in parallel data processing

Also Published As

Publication number Publication date
TW459198B (en) 2001-10-11
CN1306643A (zh) 2001-08-01
CN1262922C (zh) 2006-07-05
WO2000060461A1 (en) 2000-10-12
KR20010052448A (ko) 2001-06-25
US6349378B1 (en) 2002-02-19
EP1082659A1 (en) 2001-03-14
JP2002541547A (ja) 2002-12-03

Similar Documents

Publication Publication Date Title
EP0199134B1 (en) High performance memory system
JP5261803B2 (ja) 不揮発性メモリ用の高速ファンアウトシステムアーキテクチャおよび入出力回路
JP4077874B2 (ja) ダイナミック・ランダム・アクセス・メモリ・システム
JP2740097B2 (ja) クロック同期型半導体記憶装置およびそのアクセス方法
WO2000020978A1 (en) Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
JP3577119B2 (ja) 半導体記憶装置
KR100744862B1 (ko) 데이터 처리 장치 제어 방법, 데이터 처리 장치 및 컴퓨터 판독 가능한 기록 매체
US6728799B1 (en) Hybrid data I/O for memory applications
JPS5953630B2 (ja) メモリ−のアドレス指定装置
JPH0433029A (ja) メモリ装置とその駆動方法
WO2004068362A1 (en) Processor array
JPH02177190A (ja) メモリ装置
JP4723334B2 (ja) Dma転送システム
JPS63303431A (ja) 指令語中間記憶回路
US5706424A (en) System for fast read and verification of microcode RAM
JP7199493B2 (ja) 非順次的ページ連続リード
JP2798485B2 (ja) 書き込み可能不揮発性メモリ
JP3222647B2 (ja) メモリバンク自動切替システム
JPH04167039A (ja) データ書き込み方式
KR0177989B1 (ko) 분할 쓰기 기능을 가지는 메모리 제어 장치
JPS6336021B2 (ko)
JP2005209224A (ja) ダイレクトメモリアクセス装置
JPH0520165A (ja) システムバス制御装置
EP0288479A1 (en) METHOD AND APPARATUS FOR DECENTRALIZED CONTROL IN THE CENTRAL MEMORY UNIT OF A DATA PROCESSING SYSTEM.
JPS63271552A (ja) タイミング制御方式

Legal Events

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

Payment date: 20120716

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee