KR101946455B1 - 시스템 온-칩 및 이의 동작 방법 - Google Patents

시스템 온-칩 및 이의 동작 방법 Download PDF

Info

Publication number
KR101946455B1
KR101946455B1 KR1020130027486A KR20130027486A KR101946455B1 KR 101946455 B1 KR101946455 B1 KR 101946455B1 KR 1020130027486 A KR1020130027486 A KR 1020130027486A KR 20130027486 A KR20130027486 A KR 20130027486A KR 101946455 B1 KR101946455 B1 KR 101946455B1
Authority
KR
South Korea
Prior art keywords
update
control information
control unit
slave
information stored
Prior art date
Application number
KR1020130027486A
Other languages
English (en)
Other versions
KR20140112860A (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 KR1020130027486A priority Critical patent/KR101946455B1/ko
Priority to US14/161,838 priority patent/US9519487B2/en
Priority to TW103106163A priority patent/TWI611346B/zh
Priority to DE102014103272.1A priority patent/DE102014103272A1/de
Priority to JP2014051608A priority patent/JP2014179100A/ja
Priority to CN201410093832.2A priority patent/CN104050131B/zh
Publication of KR20140112860A publication Critical patent/KR20140112860A/ko
Application granted granted Critical
Publication of KR101946455B1 publication Critical patent/KR101946455B1/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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
    • 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/14Handling requests for interconnection or transfer
    • 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/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)
  • Memory System (AREA)

Abstract

시스템 온-칩 및 이의 동작 방법이 개시된다. 일 실시예에 따른 시스템 온-칩은 포함되는 제1 저장 수단에 저장된 제1 제어 정보에 근거하여 데이터에 대한 제1 처리를 수행하는 슬레이브 IP(Intellectual Property); 포함되는 제2 저장 수단에 저장된 제2 제어 정보에 근거하여, 상기 데이터를 제1 처리한 결과를 입력 받아 제2 처리를 수행하는 마스터 IP; 및 상기 데이터에 대한 제1 처리 또는 제2 처리에 따른, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 시점 또는 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신 시점을 결정하는 갱신 제어부를 포함한다.

Description

시스템 온-칩 및 이의 동작 방법 {System on-Chip and operating method of the same}
본 개시는 시스템 온-칩 및 이의 동작 방법에 관한 것으로, 특히 외부의 요청에 빠르고 정확한 응답을 제공하는데 최적화될 수 있는 시스템 온-칩 및 이의 동작 방법에 관한 것이다.
생활 전반에 사용되는 전자 장치 등에 시스템 온-칩이 포함됨에 따라, 시스템 온-칩에 요구된 동작이 빠르고 정확하게 처리되는 것이 요구되고 있다.
본 개시는 요구된 동작이 빠르고 정확하게 처리될 수 있는 시스템 온-칩 및 이의 동작 방법을 제공한다.
일 실시예에 따른 시스템 온-칩은 포함되는 제1 저장 수단에 저장된 제1 제어 정보에 근거하여 데이터에 대한 제1 처리를 수행하는 슬레이브 IP(Intellectual Property); 포함되는 제2 저장 수단에 저장된 제2 제어 정보에 근거하여, 상기 데이터를 제1 처리한 결과를 입력 받아 제2 처리를 수행하는 마스터 IP; 및 상기 데이터에 대한 제1 처리 또는 제2 처리에 따른, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 시점 또는 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신 시점을 결정하는 갱신 제어부를 포함한다.
일 실시예에 따른 전자 시스템은, 버스에 연결되는 다수의 기능 블록을 포함하는 전자 시스템으로, 상기 다수의 기능 블록 중 제1 저장 수단에 저장된 제1 제어 정보에 근거하여 제1 데이터를 제1 처리한 결과에 따라, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보를 갱신하는 제1 갱신 제어부를 포함하는 제1 기능 블록; 및 상기 다수의 기능 블록 중 제2 저장 수단에 저장된 제2 제어 정보에 근거하여 제2 데이터를 제2 처리한 결과에 따라, 상기 제2 저장 수단에 저장된 상기 제2 제어 정보를 갱신하는 제2 갱신 제어부를 포함하는 제2 기능 블록을 포함하고, 상기 제1 갱신 제어부 및 상기 제2 갱신 제어부는 각각, 상기 제1 데이터를 상기 제1 처리한 결과 및 상기 제2 데이터를 상기 제2 처리한 결과의 연관성에 따라, 상기 제1 제어 정보 및 상기 제2 제어 정보의 갱신 시점을 결정한다.
일 실시예에 따른 시스템 온-칩의 동작 방법은 임의의 기능 블록이, 포함하는 저장 수단에 저장된 제어 정보에 근거하여 데이터를 처리하는 단계; 및 상기 임의의 기능 블록이 상기 데이터를 처리한 결과에 따라 상기 제어 정보를 갱신하는 단계를 포함하고, 상기 제어 정보를 갱신하는 단계는, 상기 임의의 기능 블록에서 데이터를 처리한 결과가 다른 기능 블록에서의 데이터 처리와 연관되는지를 판단하는 단계; 및 상기 임의의 기능 블록에서 데이터를 처리한 결과가 상기 다른 기능 블록에서의 데이터 처리와 연관되는 경우, 상기 임의의 기능 블록에서의 제어 정보의 갱신을 상기 다른 기능 블록에서의 제어 정보의 갱신과 동기시키는 단계를 포함한다.
일 실시예에 따른 기록 매체는 상기의 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체이다.
본 개시의 실시예에 따른 시스템 온-칩 및 이의 동작 방법에 의하면, 서로 다른 IP 사이의 연관된 처리에 대응되는, 각 IP의 동작을 제어하는 제어 정보의 갱신의 동기화를 이룰 수 있어, 사용자에게 끊김 없는 동작 결과를 제공할 수 있는 장점이 있다.
도 1은 일 실시예에 따른 시스템 온-칩을 나타내는 블록도이다.
도 2는 도 1의 갱신 제어부가 구비되는 일 예를 나타내는 도면이다.
도 3은 도 1의 시스템 온-칩에 제3 기능 블록이 더 포함되는 예를 나타내는 도면이다.
도 4는 도 1의 시스템 온-칩이 멀티미디어 장치인 예를 나타내는 도면이다.
도 5는 도 4의 SFR(Special Function Registers)의 일 예를 나타내는 도면이다.
도 6은 도 1의 시스템 온-칩을 포함하는 전자 시스템의 일 예를 나타내는 도면이다.
도 7은 도 1의 시스템 온-칩에서 제어 정보의 갱신을 제어하기 위해 사용되는 신호들의 예를 나타내는 도면이다.
도 8 및 도 9는 각각, 도 7의 신호들의 흐름의 예를 나타내는 도면이다.
도 10은 도 1의 시스템 온-칩에서 제어 정보의 갱신을 제어하기 위해 제1 기능 블록 및 제2 기능 블록 사이에 통신되는 신호의 다른 예를 나타내는 도면이다.
도 11은 도 10의 시스템 온-칩에서 제어 정보의 갱신을 위한 신호의 흐름을 나타내는 도면이다.
도 12는 도 3의 시스템 온-칩에서 제어 정보의 갱신을 제어하기 위해 사용되는 신호들의 예를 나타내는 도면이다.
도 13 및 도 14는 각각, 도 12의 신호들의 흐름의 예를 나타내는 도면이다.
도 15는 도 14와 같이 신호들의 흐름이 수행되는 경우에 대한 일 예를 나타내는 도면이다.
도 16은 도 12의 신호들의 흐름의 다른 예를 나타내는 도면이다.
도 17은 도 16과 같이 신호들의 흐름이 수행되는 경우에 대한 일 예를 나타내는 도면이다.
도 18은 도 1의 시스템 온-칩의 기능 블록이 트리 형태로 구현되는 예를 나타내는 도면이다.
도 19는 도 1의 시스템 온-칩에서의 프레임 단위로 제어 정보에 대한 갱신이 수행되는 때에, 제어 정보의 갱신을 수행하기 위한 신호들의 흐름에 대한 일 예를 나타내는 도면이다.
도 20은 일 실시예에 따른 시스템 온-칩의 동작 방법을 나타내는 순서도이다.
도 21은 도 20의 제어 정보를 갱신하는 단계를 좀더 자세히 나타내는 순서도이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시 예에 대해 상세히 설명한다. 본 개시의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 개시를 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 개시는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 개시를 특정한 형태에 대해 한정하려는 것이 아니며, 특허청구범위의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 개시의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일 실시예에 따른 시스템 온-칩을 개념적으로 나타내는 블록도이이다.
도 1을 참조하면, 일 실시예에 따른 시스템 온-칩(SOC)은 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)를 포함한다. 제1 갱신 제어부(UCTL1)는 제1 기능 블록(FB1)에서의 제1 제어 정보(Inf_cf1)의 갱신을 제어한다. 제2 갱신 제어부(UCTL2)는 제2 기능 블록(FB2)에서의 제2 제어 정보(Inf_cf2)의 갱신을 제어한다. 예를 들어, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 각각, 제1 데이터(DTA1)를 처리한 결과(RST1) 및 제2 데이터(DTA2)를 처리한 결과(RST2)의 연관성에 따라, 제1 제어 정보(Inf_cf1) 및 제2 제어 정보(Inf_cf2)의 갱신 시점을 결정한다. 이에 대한 좀더 자세한 설명은 후술된다.
제1 기능 블록(FB1)은 제1 제어 정보(Inf_cf1)를 저장하는 제1 저장 수단(ST1)을 포함한다. 제1 기능 블록(FB1)은 외부로부터의 요청에 의한 제1 데이터(DTA1)를 처리함에 있어, 제1 저장 수단(ST1)에 저장된 제1 제어 정보(Inf_cf1)에 근거한다. 예를 들어, 제1 기능 블록(FB1)으로 요청된 동작이 영상 데이터인 제1 데이터(DTA1)에 대한 색보정이라 한다면, 제1 기능 블록(FB1)은 색보정에 대한 파라미터(parameter)들을 포함하는 제1 제어 정보(Inf_cf1)에 근거하여, 이를 처리하여 할 수 있다. 이하에서는, 설명의 편의를 위해, 제1 기능 블록(FB1)에서의 동작, 예를 들어, 제1 데이터(DTA1)의 처리를 제1 처리로 명명한다.
제1 기능 블록(FB1)에서의 제1 처리는 제1 기능 블록(FB1)에 포함된 제1 기능 로직(FL1)에서 수행될 수 있다. 제1 기능 로직(FL1)은 제1 데이터(DTA1)를 처리한 결과(RST1)를 생성하고, 제1 기능 블록(FB1)은 이를 출력할 수 있다. 다만, 후술되는 바와 같이, 제1 데이터(DTA1)를 처리한 결과(RST1)가 제1 기능 블록(FB1)에 한하여 영향을 미치는 경우, 제1 데이터(DTA1)를 처리한 결과(RST1)는 제1 기능 블록(FB1)의 외부로 출력되지 아니하거나, 제1 데이터(DTA1)의 처리를 요청한 외부(예를 들어, 후술되는 도 6의 프로세서)에 처리 완료 여부에 대한 정보만을 제공할 수 있다. 후술되는 다른 기능 블록의 경우도 마찬가지이다.
마찬가지로, 제2 기능 블록(FB2)은 제2 제어 정보(Inf_cf2)를 저장하는 제2 저장 수단(ST2)을 포함한다. 제2 기능 블록(FB2)은 외부로부터의 요청에 의한 제2 데이터(DTA2)를 처리함에 있어, 제2 저장 수단(ST2)에 저장된 제2 제어 정보(Inf_cf2)에 근거한다. 제2 제어 정보(Inf_cf2)에 근거한 제2 데이터(DTA2)의 처리는 전술된 제1 기능 블록(FB1)에서의 동작과 유사할 수 있다.
이하에서는, 설명의 편의를 위해, 제2 기능 블록(FB2)에서의 동작, 예를 들어, 제2 데이터(DTA2)의 처리를 제2 처리로 명명한다. 제2 기능 블록(FB2)에서의 제2 처리는 제2 기능 블록(FB2)에 포함된 제2 기능 로직(FL2)에서 수행될 수 있다. 제2 기능 로직(FL2)은 제2 데이터(DTA2)를 제2 처리한 결과(RST2)를 생성하고, 제2 기능 블록(FB2)은 이를 출력할 수 있다.
제1 처리한 결과(RST1)가 생성되면 제1 갱신 제어부(UCTL1)에 제1 데이터(DTA1)에 대한 제1 처리의 완료에 대한 제1 완료 신호(XDON1)가 제공될 수 있다. 제2 처리한 결과(RST2)가 생성되면 제2 갱신 제어부(UCTL2)에 제2 데이터(DTA2)에 대한 제2 처리의 완료에 대한 제2 완료 신호(XDON2)가 제공될 수 있다.
제1 갱신 제어부(UCTL1)는 제1 완료 신호(XDON1)가 입력되면, 제1 제어 정보(Inf_cf1)의 갱신 시점을 제어할 수 있다. 또는, 제2 갱신 제어부(UCTL2)는 제2 완료 신호(XDON2)가 입력되면, 제2 제어 정보(Inf_cf2)의 갱신 시점을 제어할 수 있다. 그리고, 제1 갱신 제어부(UCTL1)는 제1 제어 정보(Inf_cf1)에 대한 갱신 시점이 결정되면 제1 갱신 실행 신호(XUD1)를 이용하여 제1 제어 정보(Inf_cf1)의 갱신을 지시할 수 있다. 제2 갱신 제어부(UCTL2)는 제2 제어 정보(Inf_cf2)에 대한 갱신 시점이 결정되면 제2 갱신 실행 신호(XUD2)를 이용하여 제2 제어 정보(Inf_cf2)의 갱신을 지시할 수 있다.
전술한 바와 같이, 제1 데이터(DTA1)를 처리한 결과(RST1) 및 제2 데이터(DTA2)를 처리한 결과(RST2)의 연관성에 따라, 제1 제어 정보(Inf_cf1) 및 제2 제어 정보(Inf_cf2)의 갱신 시점이 결정될 수 있다. 예를 들어, 제1 처리한 결과(RST1)가 제1 기능 블록(FB1)에만 영향을 미치는 경우, 예를 들어, 제1 기능 블록에서만 사용하는 프레임 버퍼(frame buffer)에 대한 주소의 변경처럼 다른 기능 블록(예를 들어, 제2 기능 블록(FB2))에 영향을 미치지 아니하는 경우, 제1 데이터(DTA1)를 처리한 결과(RST1)는 및 제2 데이터(DTA2)를 제2 처리한 결과(RST2)는 연관성이 없다.
반면, 제1 처리한 결과(RST1)가 제1 데이터(DTA1)에 대한 크기를 축소한 결과이고, 제2 처리한 결과(RST2)가 제1 처리한 결과(RST1)를 제2 데이터(DTA2)로 입력 받아, 제2 데이터(DTA2)에 대한 색보정 처리하는 경우, 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)는 연관성을 갖는다. 구체적으로, 제2 기능 블록(FB2)은 제1 처리한 결과(RST1)를 입력 받아 색보정을 수행하는 경우, 제2 데이터(DTA2)의 크기의 축소도 동반되어야 한다.
제1 데이터(DTA1)를 처리한 결과(RST1)에 대응되어 제1 저장 수단(ST1)에 저장된 제1 제어 정보(Inf_cf1)가 갱신되어야 한다. 그리고, 제2 데이터(DTA2)를 제2 처리한 결과(RST2)에 대응되어 제2 저장 수단(ST2)에 저장된 제2 제어 정보(Inf_cf2)가 갱신되어야 하는데, 전술된 서로 다른 기능 블록 사이의 처리에 연관 관계가 있는 경우, 제1 제어 정보(Inf_cf1)와 제2 제어 정보(Inf_cf2)의 갱신이 동기되어야 한다.
이를 위해, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 제1 제어 정보(Inf_cf1)와 제2 제어 정보(Inf_cf2)의 갱신 시점을 제어하기 위해 통신할 수 있다. 도 1은, 제1 갱신 제어부(UCTL1)가 제2 갱신 제어부(UCTL2)로 갱신 지시 요청(REQ_ud)을 전송하고, 제2 갱신 제어부(UCTL2)가 갱신 지시 요청(REQ_ud)에 응답하여 제1 제어 정보(Inf_cf1)에 대한 갱신 시점을 제어할 수 있는 갱신 지시 응답(RES_ud)을 제1 갱신 제어부(UCTL1)로 전송하는 예를 도시한다.
도 1에서, 제1 기능 블록(FB1)로부터 제1 처리한 결과(RST1)와, 제1 기능 블록(FB1) 및 제2 기능 블록(FB2) 사이의 갱신 지시 요청(REQ_ud) 및 갱신 지시 응답(RES_ud)이 서로 다른 선을 통해 송수신 되는 것으로 도시되었으나, 이는 각자의 구분을 명확히 하기 위한 것에 불과하고, 서로 동일한 선을 통해 송신 또는 수신될 수 있다.
본 개시는 서로 다른 기능 블록 사이의 처리에 연관 관계가 있는 경우에 각 제어 정보의 갱신의 동기화에 최적화된 구조 및 동작을 제공한다. 서로 다른 기능 블록 사이의 처리에 연관 관계가 있는 경우에 각 제어 정보의 갱신의 동기화를 위한 일 실시예의 시스템 온-칩에서의 구체적인 동작 설명에 앞서, 도 1의 시스템 온-칩에 대한 다양한 구현 예를 설명한다.
다시 도 1을 참조하면, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 각각, 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)의 외부에 구비될 수 있다. 다만, 이에 한정되는 것은 아니다. 도 2에 도시되는 바와 같이, 제1 갱신 제어부(UCTL1)는 제1 기능 블록(FB1)에 포함되어 구비될 수 있다. 예를 들어, 제1 갱신 제어부(UCTL1)는 후술되는 도 5에 도시되는, 제1 기능 블록(FB1)의 제1 저장 수단(ST1)에 구비되는, 업데이트 로직(UL)에 포함될 수 있다. 마찬가지로, 제2 갱신 제어부(UCTL2)도 제2 기능 블록(FB2)에 포함되어 구비될 수 있다. 다만, 이하의 도면에서 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)을 좀더 명확하게 설명하기 위해, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)를 각각, 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)과 분리하여 도시함을 알려 둔다.
다시 도 1을 참조하면, 도 1의 시스템 온-칩(SOC)은 두 개의 기능 블록을 포함하는 것으로 도시되었다. 다만, 이에 한정되는 것은 아니다. 도 3에 도시되는 바와 같이, 일 실시예에 따른 시스템 온-칩(SOC)은 제3 기능 블록(FB3)을 더 구비할 수 있다.
제3 기능 블록(FB3)은 제3 제어 정보(Inf_cf3)를 저장하는 제3 저장 수단(ST3)을 포함한다. 제3 기능 블록(FB3)은 외부로부터의 요청에 의한 제3 데이터(DTA3)를 처리함에 있어, 제3 저장 수단(ST3)에 저장된 제3 제어 정보(Inf_cf3)에 근거한다. 제3 제어 정보(Inf_cf3)에 근거한 제3 데이터(DTA3)의 처리는 전술된 제1 기능 블록(FB1) 또는 제2 기능 블록(FB2)에서의 동작과 유사할 수 있다. 이하에서는, 설명의 편의를 위해, 제3 기능 블록(FB3)에서의 동작, 예를 들어, 제3 데이터(DTA3)의 처리를 제3 처리로 명명한다. 제3 기능 블록(FB3)에서의 제3 처리는 제3 기능 블록(FB3)에 포함된 제3 기능 로직(FL3)에서 수행될 수 있다. 제3 기능 로직(FL3)은 제3 데이터(DTA3)를 제3 처리한 결과(RST3)를 생성하고, 제3 기능 블록(FB3)은 이를 출력할 수 있다. 제3 갱신 제어부(UCTL3)는 제3 기능 블록(FB3)에서의 제3 처리의 근거가 되는 제3 제어 정보(Inf_cf3)의 갱신을 제어한다.
전술된 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)와 마찬가지로, 제3 갱신 제어부(UCTL3)는 제3 처리한 결과(RST3)가 제1 처리한 결과(RST1) 또는 제2 처리한 결과(RST2)와의 연관성에 따라, 제3 제어 정보(Inf_cf3)의 갱신 시점에 대한 제어를 달리할 수 있다. 제3 갱신 제어부(UCTL3)의 동작에 대한 좀더 구체적인 예는 후술된다.
도 4는 도 1의 시스템 온-칩이 멀티미디어 장치인 예를 나타내는 도면이다.
도 1 및 도 4를 참조하면, 도 1의 시스템 온-칩(SOC)은 도 4와 같은 멀티미디어(multimedia) 장치일 수 있다. 예를 들어, 도 4의 시스템 온-칩(SOC)은 데이터를 제1 처리 또는 제2 처리하여 3D (3-Dimensional) 영상으로 디스플레이하는 멀티미디어 장치일 수 있다. 예를 들어, 도 4의 시스템 온-칩(SOC)은 3D 영상을 생성하기 위해, 하나의 영상 데이터를 사용자의 왼쪽 눈의 각도로 제1 처리하고, 오른 쪽 눈의 각도로 제2 처리하는 멀티미디어 장치일 수 있다.
예를 들어, 도 1의 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)은 도 4의 제1 IP(Intellectual Property, IP1) 및 제2 IP(IP2)일 수 있다. IP는 시스템 온-칩(Soc)에 사용되는 회로 콤포넌트(component)로, 마이크로 프로세서(micro processor), 메모리(memory), PCI(Peripheral Component Interconnect), USB(Universal Serial Bus), MAC(Media Access Control) 등일 수 있다. 시스템 온-칩(Soc)은 다양한 기능을 지원하기 위해, 다수의 IP을 포함하고, 각 IP들은 다양한 방법으로 연결될 수 있다. 특히, 멀티미디어 장치의 경우, 데이터 처리가 다수의 IP에 의해 이루어지고, 다수의 IP들 사이의 데이터 흐름에 따라 긴밀하게 연결되어, 사용자에게 끊김 없는(seamless) 결과를 제공하여야 한다.
도 4의 제1 IP(IP1) 및 제2 IP(IP2)는 각각, 영상 데이터를 후처리하는 후처리 프로세서(post processor)일 수 있다. 후처리 프로세서는 전술된, 영상에 대한 색보정 및 크기 조절 등을 수행하는 프로세서일 수 있다. 도 4의 제1 IP(IP1) 및 제2 IP(IP2)는 각각, 디스플레이 컨트롤러(DCNT)의 제어에 의해, 도 1의 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)과 마찬가지로 제1 처리 및 제2 처리를 수행할 수 있다. 또는, 도 4의 제1 IP(IP1) 및 제2 IP(IP2)는 각각, 도 1의 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)과 마찬가지로 제1 처리 및 제2 처리를 수행한 결과를 디스플레이 컨트롤러(DCNT)로 전송할 수 있다. 디스플레이 컨트롤러(DCNT)는 도 4의 시스템 온-칩(SOC)의 제3 IP(IP3)일 수 있다. 제3 IP(IP3)는 전술된 도 3의 제3 기능 블록(FB3)일 수 있다.
따라서, 도 4의 제1 IP(IP1) 내지 제3 IP(IP3)는 각각, 도 3의 저장 수단(ST1, ST2, ST3)을 포함할 수 있다. 도 4의 제1 IP(IP1) 내지 제3 IP(IP3)는 각각, 저장 수단을 특수 기능 레지스터(Special Function Registers, SFR1~SFR3)로 구비하는 예를 도시한다.
도 5는 도 4의 SFR(Special Function Registers)의 일 예를 나타내는 도면이다.
도 5를 참조하면, 특수 기능 레지스터(SFR)는 제어 정보를 저장하는 SFR 저장부(ST), SFR 저장부(ST)로부터 제어 정보를 독출하는 독출 로직(RAL), SFR 저장부(ST)에 제어 정보를 기입하는 기입 로직(WAL), 제어 정보를 송수신하기 버스 인터페이스 로직(BIL), 및 SFR 저장부(ST)에 저장된 제어 정보를 이용하여 작업을 수행하는 내부 로직(IL)을 포함할 수 있다. 도 5에서 설명한 제어 정보는 전술된 제1 제어 정보(Inf_cf1) 내지 제3 제어 정보(Inf_cf3) 중 하나일 수 있다.
도 1 또는 도 4의 시스템 온-칩(SOC)은 도 6에 도시되는 바와 같이, 전자 시스템(ESYS)에 포함될 수 있다.
도 6의 전자 시스템(ESYS)은 버스에 연결되는 프로세서, 메모리, 다수의 기능 블록 및 SFR을 포함한다. 프로세서는 전자 시스템(ESYS)으로 입력된 사용자의 요청에 대응하여, 다수의 기능 블록들을 제어하고, 메모리는 다수의 기능 블록들에서의 처리가 요구되거나, 다수의 기능 블록들로부터 처리된 데이터가 저장될 수 있다. SFR은 전술된 바와 달리, 다수의 기능 블록과 독립하여 구비될 수도 있다. 또한, 다수의 기능 블록 중 임의의 기능 블록은 블록 내부(점선 표시)의 로컬 버스에 연결되는 다수의 서브 기능 블록을 포함할 수 있다. 서브 기능 블록들 또한, 본 개시의 실시예에 따른 기능 블록들과 마찬가지로, 서브 기능 블록들 상호간의 처리에 연관 관계가 있는 경우에 서브 기능 블록들의 제어 정보의 갱신의 동기화가 수행될 수 있다. 도 6에는 도시되지 아니하였으나, 각 기능 블록들 사이에는 버스 이외의 로컬 신호 라인이 구비되고, 로컬 신호 라인을 통해 갱신의 동기화에 관련된 각종 신호들의 전송이 수행될 수 있다.
이상에서 설명한 바와 같이, 일 실시예에 따른 시스템 온-칩은 다양한 형태로 구현될 수 있다. 이하에서는, 일 실시예에 따른 시스템 온-칩에서 전술된 제어 정보의 갱신 시점을 제어하기 위한 방법에 대하여, 제어 정보의 갱신을 제어하기 위해 사용되는 신호들의 예를 들어 설명한다.
도 7은 도 1의 시스템 온-칩에서 제어 정보의 갱신을 제어하기 위해 사용되는 신호들의 예를 나타내는 도면이다.
도 1 및 도 7을 참조하면, 도 7의 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)는 도 1의 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)일 수 있다. 이하에서 제1 슬레이브 IP 및 마스터 IP는 각각, 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)과 혼용되어 사용될 수 있다.
제1 슬레이브 IP(FB1)는 임의의 제1 데이터(DTA1)에 대해 제1 처리한 결과(RST1)를 마스터 IP(FB2)에 전송할 수 있다. 마스터 IP(FB2)는 제1 슬레이브 IP(FB1)로부터 제1 처리한 결과(RST1)를 제2 데이터(DTA2)로 입력 받아, 제2 처리할 수 있다. 다만, 제1 슬레이브 IP(FB1)에서의 제1 처리 및 마스터 IP(FB2)에서의 제2 처리는 비동기(asynchronism)로 수행될 수 있다. 이와 같이, 슬레이브 IP는 데이터(또는 처리 결과)를 제공하는 IP이고, 마스터 IP는 데이터(또는 처리 결과)를 공급받는 IP일 수 있다. 이하에서도 동일하다.
슬레이브 IP 및 마스터 IP의 관계는 전술된 도 6의 메모리에 로딩되는 소프트웨어(software) 또는 어플리케이션(application)에 의해 규정될 수 있고, 슬레이브 IP로부터 마스터 IP로의 데이터(또는 처리 결과) 흐름은 도 6의 프로세서에 의해 제어될 수 있다. 다만, 슬레이브 IP 및 마스터 IP가 항상 데이터(또는 처리 결과)의 제공 및 공급 관계에 있지 아니할 수 있다. 전술한 바와 같이, 슬레이브 IP에서 처리한 결과가 슬레이브 IP에만 영향을 미칠 수 있다. 이 경우, 해당 처리 결과는 마스터 IP로 전송되지 아니할 수 있다.
계속해서 도 1 및 도 7을 참조하면, 도 7의 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 각각, 도 1의 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)일 수 있다. 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 제1 슬레이브 IP(FB1)의 제1 제어 정보(Inf_cf1)와 마스터 IP(FB2)의 제2 제어 정보(Inf_cf2)의 갱신 시점을 제어하기 위해, 각각, 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)와 송신 또는 수신되는 제1 갱신 이슈 신호(Update_issue_1), 제2 갱신 이슈 신호(Update_issue_2) 및 갱신 실행 신호(Update_Commit)를 사용할 수 있다. 제1 갱신 제어부(UCTL1)와 통신하는 제1 갱신 이슈 신호(Update_issue_1) 및 제2 갱신 이슈 신호(Update_issue_2)는 도 1의 제1 완료 신호(XDON1)이고, 갱신 실행 신호(Update_Commit)는 도 1의 제1 갱신 실행 신호(XUD1)일 수 있다. 제2 갱신 제어부(UCTL2)와 통신하는 제1 갱신 이슈 신호(Update_issue_1) 및 제2 갱신 이슈 신호(Update_issue_2)는 도 1의 제2 완료 신호(XDON2)이고, 갱신 실행 신호(Update_Commit)는 도 1의 제2 갱신 실행 신호(XUD2)일 수 있다.
전술한 바와 같이, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 각각, 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)에 포함될 수 있다. 따라서, 상기에서 기술한 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)가 각각, 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)와 신호를 송신 또는 수신한다 함은, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 각각이 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)와 물리적으로 분리됨을 한정하는 것이 아니라, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 각각이 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)의 특정 로직(예를 들어, 도 1의 제1 기능 로직(FL1) 및 제2 기능 로직(FL2) 또는 도 5의 업데이트 로직(UL))과 신호를 송신 또는 수신함을 의미한다. 이하에서도 동일하다.
제1 슬레이브 IP(FB1)의 제1 제어 정보(Inf_cf1)와 마스터 IP(FB2)의 제2 제어 정보(Inf_cf2)의 갱신 시점을 제어하기 위해, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 사이에 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2) 및 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)를 송신 또는 수신할 수 있다. 제1 슬레이브 IP(FB1)로부터 마스터 IP(FB2)로 전송되는 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)는 도 1의 갱신 지시 요청(REQ_ud)일 수 있고, 마스터 IP(FB2)로부터 제1 슬레이브 IP(FB1)로 전송되는 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)는 도 1의 갱신 지시 응답(RES_ud)일 수 있다.
이하에서는 도 7의 각 신호들의 흐름에 대해 구체적인 예를 들어 설명한다.
도 8 및 도 9는 각각, 도 7의 신호들의 흐름의 예를 나타내는 도면이다.
먼저 도 1 및 도 8을 참조하면, 제1 슬레이브 IP(FB1)의 제1 데이터(DTA1)에 대한 제1 처리가 제1 슬레이브 IP(FB1)에만 영향을 미치고 마스터 IP(FB2)에는 영향을 미치지 아니하는 경우, 예를 들어, 제1 데이터(DTA1)에 대한 제1 처리가 제1 슬레이브 IP(FB1)에서만 사용하는 프레임 버퍼에 대한 주소의 변경인 경우, 제1 갱신 제어부(UCTL1)는 제2 갱신 제어부(UCTL2)와의 통신을 수행하지 아니하고, 제1 저장 수단(ST1)에 저장된 제1 제어 정보(Inf_cf1)의 갱신을 수행할 수 있다.
예를 들어, 제1 갱신 제어부(UCTL1)는 제1 슬레이브 IP(FB1)로부터 제1 갱신 이슈 신호(Update_issue_1)를 수신하면(①), 제1 제어 정보(Inf_cf1)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제1 슬레이브 IP(FB1)로 전송할 수 있다(②). 이때, 제1 갱신 이슈 신호(Update_issue_1)는 제1 슬레이브 IP(FB1)의 제1 기능 로직(FL1)이, 제1 슬레이브 IP(FB1)에만 영향을 미치는 제1 처리를 수행한 후, 제1 갱신 제어부(UCTL1)로 전송할 수 있다. 그리고, 갱신 실행 신호(Update_Commit)는 제1 갱신 제어부(UCTL1)가 제1 저장 수단(ST1), 예를 들어, 도 5의 SFR의 업데이트 로직(UL)으로 전송할 수 있다.
도 8에 도시되지는 아니하였으나, 제2 갱신 제어부(UCTL2)도 마찬자기로, 마스터 IP(FB2)에만 영향을 미치는 제2 처리가 수행되어 제1 갱신 이슈 신호(Update_issue_1)가 수신되는 경우, 독립적으로 제2 제어 정보(Inf_cf2)의 갱신 시점을 결정할 수 있다.
다음으로 도 1 및 도 9를 참조하면, 제1 슬레이브 IP(FB1)의 제1 데이터(DTA1)에 대한 제1 처리가 마스터 IP(FB2)의 제2 데이터(DTA2)에 대한 제2 처리에 영향을 미치는 경우, 예를 들어, 마스터 IP(FB2)가 슬레이브 IP(FB1)로부터, 프레임 데이터(frame data)인 제1 데이터(DTA1)를 크기를 감축한 제1 처리한 결과(RST1)를 제2 데이터(DTA2)로 입력 받아 제2 처리를 수행하는 경우, 제1 갱신 제어부(UCTL1)는 제2 갱신 제어부(UCTL2)의 제어에 의해 제1 저장 수단(ST1)에 저장된 제1 제어 정보(Inf_cf1)의 갱신을 수행하여, 제1 제어 정보(Inf_cf1)의 갱신 및 제2 제어 정보(Inf_cf2)의 갱신이 동기될 수 있다.
예를 들어, 제1 갱신 제어부(UCTL1)는 제1 슬레이브 IP(FB1)로부터 제2 갱신 이슈 신호(Update_issue_2)를 수신하면(①), 제2 갱신 제어부(UCTL2)로 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)를 전송하여(②) 제1 제어 정보(Inf_cf1)의 갱신에 대한 지시를 요청할 수 있다. 이때, 제2 갱신 이슈 신호(Update_issue_2)는 제1 슬레이브 IP(FB1)의 제1 기능 로직(FL1)이, 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)에 함께 영향을 미치는 제1 처리를 수행한 후, 제1 갱신 제어부(UCTL1)로 전송할 수 있다.
제1 처리가 다른 IP에도 영향을 미치는지 여부는 제1 데이터(DTA1)의 속성, 제1 데이터(DTA1)에 대응되는 외부로부터의 요청, 또는 제1 처리가 다른 IP에도 영향을 미치는지 여부에 대한 정보의 제공 등으로 파악될 수 있다. 제1 처리가 다른 IP에도 영향을 미치는지 여부에 대한 정보의 제공은 전술된 도 6의 프로세서 또는 SFR에 의해 수행될 수 있다. 이하에서도 동일하다.
제2 갱신 제어부(UCTL2)는 마스터 IP(FB2)로부터, 다른 IP, 예를 들어, 제1 슬레이브 IP(FB1)의 제1 처리와 연관되는 제2 처리가 완료됨을 나타내는 제2 갱신 이슈 신호(Update_issue_2)를 수신하고(①'), 제1 갱신 제어부(UCTL1)로부터 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)를 수신하면(②), 제2 제어 정보(Inf_cf2)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 마스터 IP(FB2)로 전송(③)함과 함께, 제1 갱신 제어부(UCTL1)로 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)를 전송(③)할 수 있다. 제1 갱신 제어부(UCTL1)는 제2 갱신 제어부(UCTL2)로부터 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)가 수신되어 제1 제어 정보(Inf_cf1)에 대한 갱신이 지시되면(③), 제1 제어 정보(Inf_cf1)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제1 슬레이브 IP(FB1)로 전송할 수 있다(④).
따라서, 일 실시예에 따른 시스템 온-칩(SOC)에 의하면, 제1 슬레이브 IP(FB1) 및 마스터 IP(FB2)가 비록 비동기로 동작하더라도, 연관된 제1 처리 및 제2 처리에 따른 제1 제어 정보(Inf_cf1) 및 제2 제어 정보(Inf_cf2)의 갱신의 동기화를 이룰 수 있어, 사용자에게 끊김 없는 동작 결과를 제공할 수 있다.
제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2) 및 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)는 마스터 IP(FB2) 및 제1 슬레이브 IP(FB1) 사이를 연결하는 로컬 신호 라인을 통해 전송될 수 있다. 후술되는 각 기능 블록 사이의 갱신 요청 및 갱신 지시에 관한 신호의 전송도 마찬가지일 수 있다.
도 10은 도 1의 시스템 온-칩에서 제어 정보의 갱신을 제어하기 위해 제1 기능 블록 및 제2 기능 블록 사이에 통신되는 신호의 다른 예를 나타내는 도면이다.
도 10을 참조하면, 도 10의 시스템 온-칩(SOC)은 도 1과 달리, 제1 갱신 제어부(UCTL1)도 갱신 지시 요청(REQ_ud)을 수신할 수 있고, 제2 갱신 제어부(UCTL2)로 갱신 지시 응답(RES_ud)을 수신할 수 있다. 다시 말해, 도 1의 시스템 온-칩(SOC)은 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 중 제2 갱신 제어부(UCTL2)만이 제1 갱신 제어부(UCTL1)의 갱신 동작을 제어할 수 있는 반면, 도 10의 시스템 온-칩(SOC)은 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 모두, 다른 갱신 제어부의 갱신 동작을 제어할 수 있다. 이에 대한 보다 구체적인 예가 다음의 도 11에 도시된다.
도 11은 도 10의 시스템 온-칩에서 제어 정보의 갱신을 위한 신호의 흐름을 나타내는 도면이다.
도 10 및 도 11을 참조하면, 도 11의 제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2)는 각각, 도 10의 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)일 수 있다. 이하에서 제1 슬레이브 IP 및 제2 슬레이브 IP는 각각, 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)과 혼용되어 사용될 수 있다.
제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2)는 각각, 임의의 제1 데이터(DTA1) 및 제2 데이터(DTA2)에 대해 제1 처리 및 제2 처리를 수행할 수 있다. 제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2)는 각각, 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)를 상호 송신 또는 수신하지 아니한다. 전술된 바와 같이, 슬레이브 IP는 처리 결과를 마스터 IP에 전송할 수 있다.
다만, 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)가 연관되는 경우, 예를 들어, 3D 영상 데이터의 처리함에 있어, 데이터를 사용자의 왼쪽 눈의 각도로 제1 처리(왼쪽 눈에 적응적인 처리)하고, 오른 쪽 눈의 각도로 제2 처리(오른쪽 눈에 적응적인 처리)하는 예와 같이, 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)가 쌍으로 처리되는 경우, 각각, 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)에 의한 제1 제어 정보(Inf_cf1)의 갱신 및 제2 제어 정보(Inf_cf2)의 갱신은 동기되어야 한다. 제1 제어 정보(Inf_cf1)의 갱신 및 제2 제어 정보(Inf_cf2)의 갱신이 동기 되지 아니할 경우, 전술된 예에서 사용자의 왼쪽 눈을 위한 데이터(제1 처리한 결과)와 오른쪽 눈을 위한 데이터(제2 처리한 결과)가 시간적 처리가 서로 달라, 정상적인 3D 데이터로 형성되지 못할 수 있다.
본 개시에서, 슬레이브 IP들 사이의 제1 제어 정보(Inf_cf1)의 갱신 및 제2 제어 정보(Inf_cf2)의 갱신의 동기를 위해, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 각각, 제2 갱신 이슈 신호(Update_issue_2)를 수신한 후(②), 상대에게 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2) 또는 제2 슬레이브 갱신 이슈 신호(Slave2_update_issue_2)를 전송할 수 있다(③). 그리고, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 중 선택된 갱신 제어부에 의해, 선택된 갱신 제어부가 포함된 슬레이브 IP의 제어 정보의 갱신을 지시함과 함께, 다른 갱신 제어부의 갱신을 지시할 수 있다. 다른 갱신 제어부는 선택된 갱신 제어부로부터 갱신 지시 신호를 수신하여 포함되는 슬레이브 IP의 제어 정보를 갱신할 수 있다. 예를 들어, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2) 중 갱신 이슈 신호에 대한 응답 속도가 빠르거나, 자원이 상대적으로 풍부한 슬레이브 IP에 대응되는 갱신 제어부가 선택될 수 있다.
도 11의 예에서는, 제1 갱신 제어부(UCTL1)가 선택되어, 제1 슬레이브 IP(FB1)에 갱신 실행 신호(Update_Commit)를 전송하여 제1 제어 정보(Inf_cf1)의 갱신을 지시함(③)과 함께, 제2 슬레이브 갱신 지시 신호(Slave2_Update_Commit)를 제2 갱신 제어부(UCTL2)로 전송(③)하는 예를 도시한다. 이 경우, 제2 갱신 제어부(UCTL2)는 제2 슬레이브 갱신 지시 신호(Slave2_Update_Commit)에 응답하여, 제2 슬레이브 IP(FB2)에 제2 제어 정보(Inf_cf2)의 갱신을 지시한다. 도 11에서, 제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2)는 각각, 자신이 갱신 지시를 다른 슬레이브 IP에 전송하고 다른 슬레이브 IP로부터 갱신 지시가 오는 때에 자신의 갱신 정보를 업데이트하도록 제어할 수 있다. 도 12는 도 3의 시스템 온-칩에서 제어 정보의 갱신을 제어하기 위해 사용되는 신호들의 예를 나타내는 도면이다.
도 3 및 도 12를 참조하면, 도 12의 제1 슬레이브 IP(FB1), 제2 슬레이브 IP(FB2) 및 마스터 IP(FB3)는 각각, 도 3의 제1 기능 블록(FB1), 제2 기능 블록(FB2) 및 제3 기능 블록(FB3)일 수 있다. 이하에서 제1 슬레이브 IP, 제2 슬레이브 IP 및 마스터 IP는 각각, 제1 기능 블록(FB1), 제2 기능 블록(FB2) 및 제3 기능 블록(FB3)과 혼용되어 사용될 수 있다.
제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2)는 각각, 제1 데이터(DTA1) 및 제2 데이터(DTA2)에 대해 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)를 마스터 IP(FB3)에 전송할 수 있다. 마스터 IP(FB3)는 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)를 제3 데이터(DTA3)로 입력 받아, 제3 처리할 수 있다.
계속해서 도 3 및 도 12를 참조하면, 도 12의 제1 갱신 제어부(UCTL1), 제2 갱신 제어부(UCTL2) 및 제3 갱신 제어부(UCTL3)는 각각, 도 3의 제1 갱신 제어부(UCTL1), 제2 갱신 제어부(UCTL2) 및 제3 갱신 제어부(UCTL3)일 수 있다.
제1 갱신 제어부(UCTL1), 제2 갱신 제어부(UCTL2) 및 제3 갱신 제어부(UCTL3)는 제1 슬레이브 IP(FB1)의 제1 제어 정보(Inf_cf1), 제2 슬레이브 IP(FB2)의 제2 제어 정보(Inf_cf2) 및 마스터 IP(FB3)의 제3 제어 정보(Inf_cf3)의 갱신 시점을 제어하기 위해, 각각, 제1 슬레이브 IP(FB1), 제2 슬레이브 IP(FB2) 및 마스터 IP(FB3)와 송신 또는 수신되는 제1 갱신 이슈 신호(Update_issue_1), 제2 갱신 이슈 신호(Update_issue_2), 제3 갱신 이슈 신호(Update_issue_3) 및 갱신 실행 신호(Update_Commit)를 사용할 수 있다. 제1 갱신 제어부(UCTL1)와 통신하는 제1 갱신 이슈 신호(Update_issue_1) 내지 제3 갱신 이슈 신호(Update_issue_3)는 도 3의 제1 완료 신호(XDON1)이고, 갱신 실행 신호(Update_Commit)는 도 3의 제1 갱신 실행 신호(XUD1)일 수 있다. 제2 갱신 제어부(UCTL2)와 통신하는 제1 갱신 이슈 신호(Update_issue_1) 내지 제3 갱신 이슈 신호(Update_issue_3)는 도 3의 제2 완료 신호(XDON2)이고, 갱신 실행 신호(Update_Commit)는 도 3의 제2 갱신 실행 신호(XUD2)일 수 있다. 마찬가지로, 제3 갱신 제어부(UCTL3)와 통신하는 제1 갱신 이슈 신호(Update_issue_1) 내지 제3 갱신 이슈 신호(Update_issue_3)는 도 3의 제3 완료 신호(XDON3)이고, 갱신 실행 신호(Update_Commit)는 도 3의 제3 갱신 실행 신호(XUD3)일 수 있다.
도 12의 제1 갱신 이슈 신호(Update_issue_1)는 각 IP에만 영향을 미치는 처리에 대한 완료를 나타내는 신호이고, 제2 갱신 이슈 신호(Update_issue_2)는 각 슬레이브 IP가 연관된 처리에 대한 완료를 나타내는 신호이며, 제3 갱신 이슈 신호(Update_issue_3)는 슬레이브 IP들과 마스터 IP 모두가 연관된 처리에 대한 완료를 나타내는 신호일 수 있다.
제1 슬레이브 IP(FB1)의 제1 제어 정보(Inf_cf1), 제2 슬레이브 IP(FB2)의 제2 제어 정보(Inf_cf2)와 마스터 IP(FB3)의 제3 제어 정보(Inf_cf3)의 갱신 시점을 제어하기 위해, 제1 갱신 제어부(UCTL1) 및 제3 갱신 제어부(UCTL3)사이에 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2) 및 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)가 송신 또는 수신되고, 제2 갱신 제어부(UCTL2) 및 제3 갱신 제어부(UCTL3)사이에 제2 슬레이브 갱신 이슈 신호(Slave2_update_issue_2) 및 제2 슬레이브 갱신 실행 신호(Slave2_Update_Commit)가 송신 또는 수신될 수 있다. 제1 슬레이브 IP(FB1)로부터 마스터 IP(FB3)로 전송되는 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)는 도 3의 제1 갱신 지시 요청(REQ_ud)일 수 있고, 마스터 IP(FB3)로부터 제1 슬레이브 IP(FB1)로 전송되는 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)는 도 3의 제1 갱신 지시 응답(RES_ud)일 수 있다. 제2 슬레이브 IP(FB2)로부터 마스터 IP(FB3)로 전송되는 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)는 도 3의 제2 갱신 지시 요청(REQ_ud)일 수 있고, 마스터 IP(FB3)로부터 제2 슬레이브 IP(FB2)로 전송되는 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)는 도 3의 제2 갱신 지시 응답(RES_ud)일 수 있다.
도 12는 이상에서 설명되는 각 IP 사이에 송신 또는 수신되는 신호가 별개의 선을 통해 송신 또는 수신되는 것으로 도시하였으나, 이에 한정되는 것은 아니다. 각 IP 사이의 단일의 선에 의해 송신 또는 수신될 수 있다. 이하 동일하다.
도 13 및 도 14는 각각, 도 12의 신호들의 흐름의 예를 나타내는 도면이다.
먼저 도 3 및 도 13을 참조하면, 제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2) 각각의 제1 데이터(DTA1)에 대한 제1 처리 및 제2 데이터(DTA2)에 대한 제2 처리가, 각각의 제1 슬레이브 IP(FB1) 및 제2 슬레이브 IP(FB2)에만 영향을 미치고 상대 슬레이브 IP 및 마스터 IP(FB3)에는 영향을 미치지 아니하는 경우, 도 8과 같이, 다른 갱신 제어부와 무관하게 대응되는 IP의 제어 정보를 갱신한다.
예를 들어, 도 13의 경우, 제1 갱신 제어부(UCTL1)는 제2 갱신 제어부(UCTL2) 및 제3 갱신 제어부(UCTL3)와의 통신을 수행하지 아니하고, 제1 저장 수단(ST1)에 저장된 제1 제어 정보(Inf_cf1)의 갱신을 수행할 수 있다. 제2 갱신 제어부(UCTL2)는 제1 갱신 제어부(UCTL1) 및 제3 갱신 제어부(UCTL3)와의 통신을 수행하지 아니하고, 제2 저장 수단(ST2)에 저장된 제2 제어 정보(Inf_cf2)의 갱신을 수행할 수 있다. 제3 갱신 제어부(UCTL3)는 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)와의 통신을 수행하지 아니하고, 제3 저장 수단(ST3)에 저장된 제3 제어 정보(Inf_cf3)의 갱신을 수행할 수 있다.
예를 들어, 제1 갱신 제어부(UCTL1)는 제1 슬레이브 IP(FB1)로부터 제1 갱신 이슈 신호(Update_issue_1)를 수신하면(①), 제1 제어 정보(Inf_cf1)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제1 슬레이브 IP(FB1)로 전송할 수 있다(②). 제2 갱신 제어부(UCTL2)는 제2 슬레이브 IP(FB2)로부터 제1 갱신 이슈 신호(Update_issue_1)를 수신하면(①'), 제2 제어 정보(Inf_cf2)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제2 슬레이브 IP(FB2)로 전송할 수 있다(②'). 제3 갱신 제어부(UCTL3)는 마스터 IP(FB3)로부터 제1 갱신 이슈 신호(Update_issue_1)를 수신하면(①'), 제3 제어 정보(Inf_cf3)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 마스터 IP(FB3)로 전송할 수 있다(②').
다음으로 도 3 및 도 14를 참조하면, 제1 슬레이브 IP(FB1)의 제1 데이터(DTA1)에 대한 제1 처리와 제2 슬레이브 IP(FB2)의 제2 데이터(DTA2)에 대한 제2 처리가 연관되는 경우, 예를 들어, 도 15에 도시되는 바와 같이, 하나의 영상 데이터를 사용자의 왼쪽 눈의 각도로 제1 처리되고(IMG1), 오른 쪽 눈의 각도로 제2 처리되는 경우(IMG2)와 같이 3D 영상(IMG3)의 생성을 위해 쌍으로 처리되는 경우, 제1 갱신 제어부(UCTL1) 및 제2 갱신 제어부(UCTL2)는 제3 갱신 제어부(UCTL3)의 제어에 의해 제1 저장 수단(ST1)에 저장된 제1 제어 정보(Inf_cf1) 및 제2 저장 수단(ST2)에 저장된 제2 제어 정보(Inf_cf2)의 갱신을 수행하여, 제1 제어 정보(Inf_cf1)의 갱신 및 제2 제어 정보(Inf_cf2)의 갱신이 동기될 수 있다.
예를 들어, 제1 갱신 제어부(UCTL1)는 제1 슬레이브 IP(FB1)로부터 제2 갱신 이슈 신호(Update_issue_2)를 수신하면(①), 제3 갱신 제어부(UCTL3)로 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)를 전송하여(②) 제1 제어 정보(Inf_cf1)의 갱신에 대한 지시를 요청할 수 있다. 마찬가지로, 제2 갱신 제어부(UCTL2)는 제2 슬레이브 IP(FB2)로부터 제2 갱신 이슈 신호(Update_issue_2)를 수신하면(①'), 제3 갱신 제어부(UCTL3)로 제2 슬레이브 갱신 이슈 신호(Slave2_update_issue_2)를 전송하여(②') 제2 제어 정보(Inf_cf2)의 갱신에 대한 지시를 요청할 수 있다.
제3 갱신 제어부(UCTL3)는 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2) 및 제2 슬레이브 갱신 이슈 신호(Slave2_update_issue_2)가 모두 수신되면, 제1 갱신 제어부(UCTL1)로 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)를 전송(③)하고, 제2 갱신 제어부(UCTL2)로 제2 슬레이브 갱신 실행 신호(Slave2_Update_Commit)를 전송(③)할 수 있다. 제1 갱신 제어부(UCTL1)는 제3 갱신 제어부(UCTL3)로부터 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)가 수신되어 제1 제어 정보(Inf_cf1)에 대한 갱신이 지시되면(③), 제1 제어 정보(Inf_cf1)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제1 슬레이브 IP(FB1)로 전송할 수 있다(④). 제2 갱신 제어부(UCTL2)는 제3 갱신 제어부(UCTL3)로부터 제2 슬레이브 갱신 실행 신호(Slave2_Update_Commit)가 수신되어 제2 제어 정보(Inf_cf2)에 대한 갱신이 지시되면(③), 제2 제어 정보(Inf_cf2)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제2 슬레이브 IP(FB2)로 전송할 수 있다(④).
도 16은 도 12의 신호들의 흐름의 다른 예를 나타내는 도면이다.
도 3 및 도 16을 참조하면, 제1 슬레이브 IP(FB1)의 제1 데이터(DTA1)에 대한 제1 처리, 제2 슬레이브 IP(FB2)의 제2 데이터(DTA2)에 대한 제2 처리 및 마스터 IP(FB3)의 제3 데이터(DTA3)에 대한 제3 처리가 연관된 경우, 예를 들어, 전술한 바와 같이 제1 처리 및 제2 처리가 연관되는 도 15의 제1 이미지(IMG1) 및 제2 이미지(IMG2)에 대해 크기를 감축한 제1 처리한 결과(RST1) 및 제2 처리한 결과(RST2)를 마스터 IP(FB3)가 제3 데이터(DTA3)로 입력 받아 제3 처리를 수행하는 경우, 제1 갱신 제어부(UCTL1) 내지 제3 갱신 제어부(UCTL3)는 제3 갱신 제어부(UCTL3)의 제어에 의해 대응되는 제어 정보의 갱신을 수행하여, 제1 제어 정보(Inf_cf1)의 갱신, 제2 제어 정보(Inf_cf2)의 갱신 및 제3 제어 정보(Inf_cf3)의 갱신이 동기될 수 있다.
예를 들어, 제1 갱신 제어부(UCTL1)는 제1 슬레이브 IP(FB1)로부터 제3 갱신 이슈 신호(Update_issue_3)를 수신하면(①), 제3 갱신 제어부(UCTL3)로 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)를 전송하여(②) 제1 제어 정보(Inf_cf1)의 갱신에 대한 지시를 요청할 수 있다. 그리고, 제2 갱신 제어부(UCTL2)는 제2 슬레이브 IP(FB2)로부터 제3 갱신 이슈 신호(Update_issue_3)를 수신하면(①'), 제3 갱신 제어부(UCTL3)로 제2 슬레이브 갱신 이슈 신호(Slave2_update_issue_2)를 전송하여(②') 제2 제어 정보(Inf_cf2)의 갱신에 대한 지시를 요청할 수 있다.
제3 갱신 제어부(UCTL3)는 마스터 IP(FB3)로부터 제3 처리가 완료됨을 나타내는 제3 갱신 이슈 신호(Update_issue_3)를 수신하고(①'), 제1 갱신 제어부(UCTL1)로부터 제1 슬레이브 갱신 이슈 신호(Slave1_update_issue_2)를 수신하고(②) 제2 갱신 제어부(UCTL2)로부터 제2 슬레이브 갱신 이슈 신호(Slave2_update_issue_2)를 수신하면(②'), 제3 제어 정보(Inf_cf3)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 마스터 IP(FB3)로 전송(③)함과 함께, 제1 갱신 제어부(UCTL1)로 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)를 전송(③)하고 제2 갱신 제어부(UCTL2)로 제2 슬레이브 갱신 실행 신호(Slave2_Update_Commit)를 전송(③)할 수 있다. 제1 갱신 제어부(UCTL1)는 제3 갱신 제어부(UCTL3)로부터 제1 슬레이브 갱신 실행 신호(Slave1_Update_Commit)가 수신되어 제1 제어 정보(Inf_cf1)에 대한 갱신이 지시되면(③), 제1 제어 정보(Inf_cf1)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제1 슬레이브 IP(FB1)로 전송할 수 있다(④). 마찬가지로, 제2 갱신 제어부(UCTL2)는 제3 갱신 제어부(UCTL3)로부터 제2 슬레이브 갱신 실행 신호(Slave2_Update_Commit)가 수신되어 제2 제어 정보(Inf_cf2)에 대한 갱신이 지시되면(③), 제2 제어 정보(Inf_cf2)의 갱신을 지시하는 갱신 실행 신호(Update_Commit)를 제2 슬레이브 IP(FB2)로 전송할 수 있다(④).
상기와 같은 동작에 의해, 일 실시예에 따른 시스템 온-칩은 도 17에 도시되는 예와 같이, 크기의 축소에 대한 각 IP의 저장 수단에 저장된 제어 정보의 갱신이 동기되지 아니하여 사용자에게 영상 변화를 실시간으로 제공하지 못하는 문제 등을 방지할 수 있다.
도 18은 도 1의 시스템 온-칩의 기능 블록이 트리 형태로 구현되는 예를 나타내는 도면이다.
도 18을 참조하면, 일 실시예에 따른 시스템 온-칩(SOC)은 다수의 슬레이브 IP들과 다수의 마스터 IP들을 포함할 수 있다. 다수의 슬레이브 IP들 중 일부는 동일한 마스터 IP를 공유할 수 있고, 다수의 마스터 IP들 중 일부는 상위의 마스터 IP에 대해 슬레이브 IP로 역할 할 수 있다. 예를 들어, 제1 슬레이브 IP 내지 제3 슬레이브 IP는 제1 마스터 IP에 데이터(또는 처리 결과)를 제공할 수 있고, 제1 마스터 IP는 제2 마스터 IP에 데이터(또는 처리 결과)를 제공할 수 있다.
제1 마스터 IP가 전술된 도 17의 마스터 IP(FB3)인 경우, 제1 마스터 IP는 슬레이브 IP들로부터의 갱신 지시 요청에 응답하여, 제2 마스터 IP에 갱신 지시 요청을 전송할 수 있다. 제2 마스터 IP는 제1 마스터 IP로부터 갱신 지시 요청을 수신하여 제2 마스터 IP의 갱신과 함께, 제1 마스터 IP에 갱신 지시 응답을 전송할 수 있다. 제2 마스터 IP로부터 갱신 지시 응답을 수신한 제1 마스터 IP는 슬레이브 IP들에 갱신 지시 응답을 전송하고, 이를 수신한 각 슬레이브 IP는 대응되는 제어 정보에 대한 갱신을 수행할 수 있다.
이상의 도 18에 대한 설명에서 갱신 제어부가 아닌 IP가 갱신을 제어하는 것으로 기술하였으나, 이는 설명의 편의를 위한 것에 불과하고, 각 IP 내부 또는 외부의 대응되는 갱신 제어부에 의해 제어 정보의 갱신이 제어된다.
도 19는 도 1의 시스템 온-칩에서의 프레임 단위로 제어 정보에 대한 갱신이 수행되는 때에, 제어 정보의 갱신을 수행하기 위한 신호들의 흐름에 대한 일 예를 나타내는 도면이다. 도 1 및 도 19를 참조하면, 도 19의 시스템 온-칩(SOC)은 전술된 바와 같이 영상 데이터를 처리하는 멀티미디어 장치일 수 있다. 이 경우, 제1 기능 블록(FB1) 및 제2 기능 블록(FB2)은 각각, 프레임 단위로 데이터를 제1 처리 및 제2 처리할 수 있다. 그리고, 프레임 단위로 제어 정보를 갱신할 수 있다.
따라서, 제1 처리 및 제2 처리가 연관되는 경우, 제1 갱신 제어부(UCTL1)가 제2 갱신 제어부(UCTL2)로 갱신 지시 요청을 전송함에 있어, 프레임 단위로 요청(Slave1_update_frID)할 수 있다. 다만, 사용자의 선택 또는 도 6의 프로세서의 제어 등에 의해, 프레임 단위의 갱신 지시 요청(REQ_ud) 및 데이터 단위의 갱신 지시 요청(REQ_ud)이 선택적으로 수행될 수도 있다.
도 20은 일 실시예에 따른 시스템 온-칩의 동작 방법을 나타내는 순서도이다.
도 20을 참조하면, 일 실시예에 따른 시스템 온-칩의 동작 방법은 임의의 기능 블록이, 포함하는 저장 수단에 저장된 제어 정보에 근거하여 데이터를 처리하는 단계(s2020) 및 임의의 기능 블록이 데이터를 처리한 결과에 따라 제어 정보를 갱신하는 단계(S2040)를 포함한다. 제어 정보를 갱신하는 단계(S2040)는, 임의의 기능 블록에서 데이터를 처리한 결과가 다른 기능 블록에서의 데이터 처리와 연관되는지를 판단하는 단계(S2042) 및 임의의 기능 블록에서 데이터를 처리한 결과가 다른 기능 블록에서의 데이터 처리와 연관되는 경우(S2042의 YES), 임의의 기능 블록에서의 제어 정보의 갱신을 다른 기능 블록에서의 제어 정보의 갱신과 동기시키는 단계(S2046)를 포함한다.
이때, 임의의 기능 블록에서의 제어 정보의 갱신을 다른 기능 블록에서의 제어 정보의 갱신과 동기시키는 단계(S2046)는, 도 21에 도시되는 바와 같이, 임의의 기능 블록이 데이터를 처리한 후, 다른 기능 블록에 갱신에 대한 제어를 요청하는 단계(S2046_1), 다른 기능 블록이 임의의 기능 블록으로부터의 요청에 응답하여 갱신에 대한 지시하고, 다른 기능 블록에 포함된 저장 수단에 저장된 제어 정보를 갱신하는 단계(S2046_2) 및 임의의 기능 블록이, 갱신에 대한 지시에 응답하여, 임의의 기능 블록에 대한 제어 정보의 갱신을 수행하는 단계(S2046_3)을 포함할 수 있다.
다시 도 20을 참조하면, 제어 정보를 갱신하는 단계(S2040)는, 임의의 기능 블록에서 데이터를 처리한 결과가 다른 기능 블록에서의 데이터 처리와 연관되지 아니하는 경우(S2042의 NO), 다른 기능 블록에서의 제어 정보의 갱신과 무관하게, 임의의 기능 블록에서 데이터를 처리한 후, 임의의 기능 블록에 대한 제어 정보의 갱신을 수행하는 단계(S2048)를 더 포함할 수 있다.
일 실시예에 따른 시스템 온-칩의 동작 방법은 전술된 시스템 온-칩의 동작에 대한 설명에서 자세히 기술되었으므로, 추가적인 설명은 생략한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 개시를 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 본 개시에 의한 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
SOC: 시스템 온-칩
UCTL1: 제1 갱신 제어부
UCTL2: 제2 갱신 제어부
FB1: 제1 기능 블록
FB2: 제2 기능 블록
Inf_cf1: 제1 제어 정보
Inf_cf2: 제2 제어 정보
DTA1: 제1 데이터
DTA2: 제2 데이터
RST1: 제1 데이터를 처리한 결과
RST2: 제 데이터를 처리한 결과

Claims (20)

  1. 포함되는 제1 저장 수단에 저장된 제1 제어 정보에 근거하여 데이터에 대한 제1 처리를 수행하는 슬레이브 IP(Intellectual Property);
    포함되는 제2 저장 수단에 저장된 제2 제어 정보에 근거하여, 상기 데이터를 제1 처리한 결과를 입력 받아 제2 처리를 수행하는 마스터 IP; 및
    상기 데이터에 대한 제1 처리 또는 제2 처리에 따른, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 시점 또는 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신 시점을 결정하는 갱신 제어부를 포함하는 것을 특징으로 하는 시스템 온-칩(SoC).
  2. 제1 항에 있어서,
    상기 갱신 제어부는,
    상기 슬레이브 IP의 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 시점을 결정하는 슬레이브 갱신 제어부; 및
    상기 마스터 IP의 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신 시점을 결정하는 마스터 갱신 제어부를 포함하는 것을 특징으로 하는 시스템 온-칩(SoC).
  3. 삭제
  4. 제2 항에 있어서,
    상기 마스터 갱신 제어부는,
    상기 데이터에 대한 제1 처리의 속성에 따라, 상기 슬레이브 갱신 제어부가 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 시점을 결정하는 동작에 대한 제어의 수행 여부를 달리하는 것을 특징으로 하는 시스템 온-칩(SoC).
  5. 제2 항에 있어서,
    상기 슬레이브 갱신 제어부는,
    상기 데이터를 제1 처리한 결과에 대해 상기 제2 처리가 요구되지 아니하는 때에, 상기 마스터 갱신 제어부의 제어를 받지 아니하고, 상기 데이터를 제1 처리한 후에, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신을 수행하는 것을 특징으로 하는 시스템 온-칩(SoC).
  6. 제2 항에 있어서,
    상기 슬레이브 IP가 적어도 둘 이상 구비되고, 상기 적어도 둘 이상의 슬레이브 IP는 각각, 상기 슬레이브 갱신 제어부를 구비하고,
    상기 적어도 둘 이상의 슬레이브 IP 중 각각의 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신의 동기화가 요구되는 슬레이브 IP들의 상기 슬레이브 갱신 제어부는, 각각
    상기 마스터 갱신 제어부에 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신에 대한 지시를 요청한 후 상기 마스터 갱신 제어부로부터 갱신이 지시되는 때에, 각각의 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신을 동시에 수행하는 것을 특징으로 하는 시스템 온-칩(SoC).
  7. 제2 항에 있어서,
    상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 및 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신의 동기화가 요구되는 때에,
    상기 슬레이브 갱신 제어부는 상기 제1 처리가 수행된 후에 상기 마스터 갱신 제어부에 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신에 대한 지시를 요청하고, 상기 마스터 갱신 제어부로부터 갱신이 지시되는 때에 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신을 수행하고,
    상기 마스터 갱신 제어부는 상기 제2 처리가 수행된 후, 상기 마스터 IP의 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신을 지시와 동시에, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신을 지시하는 것을 특징으로 하는 시스템 온-칩(SoC).
  8. 제2 항에 있어서,
    상기 슬레이브 IP가 적어도 둘 이상 구비되고, 상기 적어도 둘 이상의 슬레이브 IP는 각각, 상기 슬레이브 갱신 제어부를 구비하고,
    상기 적어도 둘 이상의 슬레이브 IP 각각의 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신 및 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신의 동기화가 요구되는 때에,
    상기 각각의 슬레이브 갱신 제어부는 상기 제1 처리가 수행된 후에 상기 마스터 갱신 제어부에 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신의 지시를 요청하고, 상기 마스터 갱신 제어부로부터 갱신이 지시되는 때에 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신을 동시에 수행하고,
    상기 마스터 갱신 제어부는 상기 제2 처리가 수행된 후, 상기 각각의 슬레이브 갱신 제어부의 요청에 응답하여 상기 각각의 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신을 지시함과 동시에 상기 마스터 IP의 상기 제2 저장 수단에 저장된 상기 제2 제어 정보의 갱신을 지시하는 것을 특징으로 하는 시스템 온-칩(SoC).
  9. 제2 항에 있어서,
    상기 슬레이브 갱신 제어부는 상기 데이터의 제1 처리에 대한 제2 처리가 요구되는 때에, 상기 마스터 갱신 제어부에 상기 제1 저장 수단에 저장된 상기 제1 제어 정보의 갱신의 지시를, 상기 데이터의 프레임 단위로 요청하는 것을 특징으로 하는 시스템 온-칩(SoC).
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 버스에 연결되는 다수의 기능 블록을 포함하는 전자 시스템에 있어서,
    상기 다수의 기능 블록 중 제1 저장 수단에 저장된 제1 제어 정보에 근거하여 제1 데이터를 제1 처리한 결과에 따라, 상기 제1 저장 수단에 저장된 상기 제1 제어 정보를 갱신하는 제1 갱신 제어부를 포함하는 제1 기능 블록; 및
    상기 다수의 기능 블록 중 제2 저장 수단에 저장된 제2 제어 정보에 근거하여 제2 데이터를 제2 처리한 결과에 따라, 상기 제2 저장 수단에 저장된 상기 제2 제어 정보를 갱신하는 제2 갱신 제어부를 포함하는 제2 기능 블록을 포함하고,
    상기 제1 갱신 제어부 및 상기 제2 갱신 제어부는 각각,
    상기 제1 데이터를 상기 제1 처리한 결과 및 상기 제2 데이터를 상기 제2 처리한 결과의 연관성에 따라, 상기 제1 제어 정보 및 상기 제2 제어 정보의 갱신 시점을 결정하는 것을 특징으로 하는 전자 시스템.
  15. 제14 항에 있어서,
    상기 제2 기능 블록이 상기 제1 처리한 결과를 상기 제2 데이터로 하여 상기 제2 처리를 수행하는 경우,
    상기 제1 갱신 제어부는,
    상기 제1 데이터에 대한 상기 제1 처리가 수행된 후 상기 제2 갱신 제어부에 상기 제1 제어 정보의 갱신에 대한 지시를 요청하고, 상기 제2 갱신 제어부로부터 상기 제1 제어 정보에 대한 갱신이 지시되는 때에 상기 제1 제어 정보를 갱신하고,
    상기 제2 갱신 제어부는,
    상기 제2 데이터에 대한 상기 제2 처리가 수행된 후, 상기 제1 갱신 제어부의 요청에 응답하여 상기 제1 제어 정보에 대한 갱신을 지시함과 함께, 상기 제2 제어 정보를 갱신하는 것을 특징으로 하는 전자 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020130027486A 2013-03-14 2013-03-14 시스템 온-칩 및 이의 동작 방법 KR101946455B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020130027486A KR101946455B1 (ko) 2013-03-14 2013-03-14 시스템 온-칩 및 이의 동작 방법
US14/161,838 US9519487B2 (en) 2013-03-14 2014-01-23 System-on-chip and method of operating the same
TW103106163A TWI611346B (zh) 2013-03-14 2014-02-25 系統晶片
DE102014103272.1A DE102014103272A1 (de) 2013-03-14 2014-03-12 Ein-Chip-System und Verfahren zum Betreiben desselben
JP2014051608A JP2014179100A (ja) 2013-03-14 2014-03-14 システムオンチップ及びその動作方法
CN201410093832.2A CN104050131B (zh) 2013-03-14 2014-03-14 片上***及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130027486A KR101946455B1 (ko) 2013-03-14 2013-03-14 시스템 온-칩 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20140112860A KR20140112860A (ko) 2014-09-24
KR101946455B1 true KR101946455B1 (ko) 2019-02-11

Family

ID=51419111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130027486A KR101946455B1 (ko) 2013-03-14 2013-03-14 시스템 온-칩 및 이의 동작 방법

Country Status (6)

Country Link
US (1) US9519487B2 (ko)
JP (1) JP2014179100A (ko)
KR (1) KR101946455B1 (ko)
CN (1) CN104050131B (ko)
DE (1) DE102014103272A1 (ko)
TW (1) TWI611346B (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229196B (zh) * 2016-12-09 2021-09-07 上海新微技术研发中心有限公司 一种具有存储单元物理保护机制的soc芯片及方法
JP6939665B2 (ja) * 2018-03-15 2021-09-22 オムロン株式会社 ネットワークシステム
KR20230163881A (ko) 2022-05-24 2023-12-01 삼성전자주식회사 입출력 메모리 관리 유닛과 이를 포함하는 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177176A1 (en) 2003-02-18 2004-09-09 Zhong-Hua Li Systems and methods optimizing data transfer throughput of a system on chip

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6118235A (ja) 1984-07-04 1986-01-27 Nec Corp デイジタル通信システムにおける同期方式
US7171542B1 (en) 2000-06-19 2007-01-30 Silicon Labs Cp, Inc. Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins
US6687769B2 (en) 2001-03-16 2004-02-03 Texas Instruments Incorporated Serial peripheral interface with high performance buffering scheme
WO2005073955A1 (en) 2004-01-28 2005-08-11 Koninklijke Philips Electronics N.V. Displaying on a matrix display
US20050198439A1 (en) * 2004-03-04 2005-09-08 Fredy Lange Cache memory prefetcher
KR20060064146A (ko) 2004-12-08 2006-06-13 어보브반도체 주식회사 저전력 마이크로 컨트롤러
US8065455B2 (en) 2005-06-23 2011-11-22 Hilscher Gesellschaft für Systemautomation mbH Method for data communication of bus users in an open automation system
US8984256B2 (en) * 2006-02-03 2015-03-17 Russell Fish Thread optimized multiprocessor architecture
US7622963B2 (en) 2007-10-01 2009-11-24 Silicon Laboratories Inc. General purpose comparator with multiplexer inputs
US8023557B2 (en) 2007-12-31 2011-09-20 Silicon Laboratories Inc. Hardware synchronizer for 802.15.4 radio to minimize processing power consumption
US7913012B2 (en) 2007-12-31 2011-03-22 Silicon Laboratories, Inc. System and method for connecting a master device with multiple groupings of slave devices via a LINBUS network
US8301013B2 (en) * 2008-11-18 2012-10-30 Panasonic Corporation Reproduction device, reproduction method, and program for stereoscopic reproduction
US8397049B2 (en) * 2009-07-13 2013-03-12 Apple Inc. TLB prefetching
EP2368863A1 (de) 2010-03-22 2011-09-28 Sika Technology AG Zusatzmittel für hydraulisch abbindende Systeme mit verbesserter Verarbeitbarkeit
KR101682116B1 (ko) 2010-03-30 2016-12-02 삼성전자주식회사 디스플레이 컨트롤러와 상기 디스플레이 컨트롤러를 포함하는 디스플레이 시스템
US20120054379A1 (en) 2010-08-30 2012-03-01 Kafai Leung Low power multi-touch scan control system
TWI455110B (zh) * 2011-08-25 2014-10-01 Mstar Semiconductor Inc 影像刷新方法以及相關影像處理裝置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177176A1 (en) 2003-02-18 2004-09-09 Zhong-Hua Li Systems and methods optimizing data transfer throughput of a system on chip

Also Published As

Publication number Publication date
CN104050131A (zh) 2014-09-17
CN104050131B (zh) 2018-05-29
DE102014103272A1 (de) 2014-09-18
JP2014179100A (ja) 2014-09-25
TWI611346B (zh) 2018-01-11
TW201439903A (zh) 2014-10-16
US20140281381A1 (en) 2014-09-18
KR20140112860A (ko) 2014-09-24
US9519487B2 (en) 2016-12-13

Similar Documents

Publication Publication Date Title
US11481346B2 (en) Method and apparatus for implementing data transmission, electronic device, and computer-readable storage medium
JP5330513B2 (ja) 調停装置、調停システム、調停方法、半導体集積回路、及び画像処理装置
US8661440B2 (en) Method and apparatus for performing related tasks on multi-core processor
JP5578713B2 (ja) 情報処理装置
KR101946455B1 (ko) 시스템 온-칩 및 이의 동작 방법
US20060236001A1 (en) Direct memory access controller
CN108062234B (zh) 一种通过mailbox协议实现服务器主机访问BMC FLASH的***及方法
US9172839B2 (en) Image forming apparatus, control method and storage medium
US9594705B2 (en) EMI mitigation on high-speed lanes using false stall
US10185676B2 (en) Direct memory access controller and system for accessing channel buffer
US20150177816A1 (en) Semiconductor integrated circuit apparatus
US20080281576A1 (en) Interface board, simulator, synchronization method, and synchronization program
JP5651622B2 (ja) データ伝送装置、データ伝送方法、及びプログラム
KR102416465B1 (ko) 공유 자원을 효율적으로 관리하는 데이터 처리 시스템
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
JP2009151599A (ja) マルチデバイスシステム
US20170126427A1 (en) Motor controller attaining both low latency and high throughput data communications
JP6416488B2 (ja) 半導体装置
US9854117B2 (en) Information processing system including device provided with circuit capable of configuring logic circuit according to circuit information and plurality of control units
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
JP5751819B2 (ja) データ処理装置、データ処理方法及びプログラム
JP2015034891A (ja) レジスタ設定制御装置
JP2012168773A (ja) バスシステムおよびアクセス制御方法
JP2010262431A (ja) デュアルポートメモリのアクセス方法及びアクセス制御装置
KR100657294B1 (ko) 멀터미디어 데이터의 고속전송을 위한 비동기 인터페이스장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant