KR102280734B1 - 시스템 온 칩과 이를 포함하는 모바일 전자 기기 - Google Patents

시스템 온 칩과 이를 포함하는 모바일 전자 기기 Download PDF

Info

Publication number
KR102280734B1
KR102280734B1 KR1020140175966A KR20140175966A KR102280734B1 KR 102280734 B1 KR102280734 B1 KR 102280734B1 KR 1020140175966 A KR1020140175966 A KR 1020140175966A KR 20140175966 A KR20140175966 A KR 20140175966A KR 102280734 B1 KR102280734 B1 KR 102280734B1
Authority
KR
South Korea
Prior art keywords
interface
master
slave
components
request
Prior art date
Application number
KR1020140175966A
Other languages
English (en)
Other versions
KR20160069841A (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 KR1020140175966A priority Critical patent/KR102280734B1/ko
Priority to US14/962,373 priority patent/US9984019B2/en
Publication of KR20160069841A publication Critical patent/KR20160069841A/ko
Priority to US15/989,539 priority patent/US10229079B2/en
Priority to US16/273,621 priority patent/US10579564B2/en
Application granted granted Critical
Publication of KR102280734B1 publication Critical patent/KR102280734B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1621Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명의 실시 예에 따른 시스템 온 칩(system on chip(SoC))은 복수의 마스터 인터페이스들(master interfaces), 복수의 슬레이브 인터페이스들(slave interfaces), 및 상기 복수의 마스터 인터페이스들과 상기 복수의 슬레이브 인터페이스들 사이에 접속되고, 복수의 컴포넌트들을 포함하는 인터페이스 회로를 포함하고, 상기 복수의 마스터 인터페이스들 중에서 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제1슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제1슬레이브 인터페이스 사이에 제1신호 경로를 형성하기 위한 제1그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블된다.

Description

시스템 온 칩과 이를 포함하는 모바일 전자 기기{SYSTEM ON CHIP(SoC) AND MOBILE ELECTRONIC DEVICE INCLUDING THE SAME}
본 발명의 개념에 따른 실시 예는 시스템 온 칩(system on chip(SoC))에 관한 것으로, 특히 상기 SoC에 포함되는 마스터 인터페이스가, 상기 마스터 인터페이스와 복수의 슬레이브 인터페이스들 각각과의 사이에 형성되는 복수의 신호 경로들 중에서 적어도 하나의 경로를 선택적으로 활성화할 수 있는 SoC와 이를 포함하는 모바일 전자 기기에 관한 것이다.
시스템 온 칩(system on chip(SoC))은 컴퓨터 시스템 또는 다른 전자 시스템을 구현하기 위해 CPU(central processing unit), 메모리, 인터페이스(interface), 디지털 신호 처리 회로, 및 아날로그 신호 처리 회로 등 다양한 기능 블록들을 하나의 반도체 집적 회로에 집적하는 기술 또는 상기 기술에 따라 집적된 하나의 집적 회로(integrated circuit(IC))를 의미한다.
SoC는 프로세서, 멀티미디어(multimedia), 그래픽(graphic), 인터페이스, 및 보안 등 다양한 기능들을 포함하는 더욱 복잡한 시스템으로 발전하고 있다.
SoC에 집적된 상기 다양한 기능 블록들은 서로 마스터-슬레이브(master-slave) 형태로 접속될 수 있다. 마스터는 슬레이브로 요청을 전송하고, 상기 슬레이브는 상기 요청에 따른 응답을 상기 마스터로 전송한다.
즉, 상기 기능 블록들은 서로 쌍을 이룰 수 있고, 각각의 기능 블록 쌍 마다 신호 경로가 형성될 수 있다.
SoC의 집적도 및 사이즈가 커지고, 포함되는 기능 블록들의 수가 많아짐에 따라, 형성되는 신호 경로의 수가 증가하고, 전력 소모 또한 증가한다.
각 신호 경로는 신호(요청 또는 응답)를 전송하는지와 관계없이 항상 활성화되어 있으므로, 전력이 불필요하게 소모된다.
본 발명이 이루고자 하는 기술적인 과제는, 마스터 인터페이스와 복수의 슬레이브 인터페이스들 각각과의 사이에 형성되는 복수의 신호 경로들 중에서 적어도 하나의 경로를 선택적으로 활성화할 수 있는 SoC와 이를 포함하는 모바일 전자 기기를 제공하는 것이다.
본 발명의 실시 예에 따른 시스템 온 칩(system on chip(SoC))은 복수의 마스터 인터페이스들(master interfaces), 복수의 슬레이브 인터페이스들(slave interfaces), 및 상기 복수의 마스터 인터페이스들과 상기 복수의 슬레이브 인터페이스들 사이에 접속되고, 복수의 컴포넌트들을 포함하는 인터페이스 회로를 포함하고, 상기 복수의 마스터 인터페이스들 중에서 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제1슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제1슬레이브 인터페이스 사이에 제1신호 경로를 형성하기 위한 제1그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블된다.
상기 제1마스터 인터페이스는, 제1마스터로부터 전송된 제1요청에 따라, 상기 제1슬레이브 인터페이스를 선택할 수 있다.
상기 제1그룹의 컴포넌트들은, 상기 제1요청이 상기 제1슬레이브 인터페이스로 전송되기 전에, 상기 제1마스터 인터페이스의 제어에 따라 인에이블될 수 있다.
상기 제1슬레이브 인터페이스는, 상기 제1요청에 의해 제1슬레이브로부터 전송된 제1응답을 상기 제1신호 경로를 통해 상기 제1마스터 인터페이스로 전송할 수 있다.
인에이블된 상기 제1그룹의 컴포넌트들은, 상기 제1응답이 상기 제1마스터 인터페이스로 전송된 후에, 상기 제1마스터 인터페이스의 제어에 따라 디스에이블될 수 있다.
실시 예에 따라, 상기 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제2슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제2슬레이브 인터페이스 사이에 제2신호 경로를 형성하기 위한 제2그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블될 수 있다.
상기 제1마스터 인터페이스는, 제1마스터로부터 전송된 제2요청에 따라, 상기 제2슬레이브 인터페이스를 선택할 수 있다.
상기 제1그룹의 컴포넌트들 중의 일부는 상기 제1신호 경로와 상기 제2신호 경로에 의해 공유될 수 있다.
상기 SoC는, 상기 제1그룹의 컴포넌트들 각각으로 대응되는 클럭 신호를 공급하는 클럭 신호 생성기를 더 포함할 수 있다..
상기 제1마스터 인터페이스는, 상기 제1그룹의 컴포넌트들 각각을 인에이블시키기 위한 인에이블 신호들 각각을 생성하는 인에이블 신호 생성기를 포함할 수 있다.
실시 예에 따라, 상기 제1마스터 인터페이스는 메모리를 더 포함하고, 상기 제1마스터 인터페이스는 제1마스터로부터 전송된 제1요청을 디코드하고, 디코드 결과에 따라 상기 제1신호 경로를 형성하는 상기 제1그룹의 컴포넌트들에 대한 정보를 생성하고, 생성된 정보를 상기 메모리에 저장하고, 상기 인에이블 신호 생성기는 상기 메모리에 저장된 상기 정보에 따라 상기 인에이블 신호들을 생성할 수 있다.
상기 복수의 컴포넌트들 각각은, M-to-1 스위치 회로, 1-to-N 스위치 회로, 및 브릿지 회로 중에서 어느 하나이고, M과 N은 1보다 큰 자연수일 수 있다.
본 발명의 실시 예에 따른 모바일 전자 기기는, 시스템 온 칩(system on chip(SoC)), 및 상기 SoC의 제어에 따라 작동하는 디스플레이를 포함할 수 있다. 상기 SoC는, 복수의 마스터 인터페이스들(master interfaces), 복수의 슬레이브 인터페이스들(slave interfaces), 및 상기 복수의 마스터 인터페이스들과 상기 복수의 슬레이브 인터페이스들 사이에 접속되고, 복수의 컴포넌트들을 포함하는 인터페이스 회로를 포함할 수 있다. 상기 복수의 마스터 인터페이스들 중에서 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제1슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제1슬레이브 인터페이스 사이에 제1신호 경로를 형성하기 위한 제1그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블될 수 있다.
본 발명의 실시 예에 따른 SoC는, 상기 마스터 인터페이스와 복수의 슬레이브 인터페이스들 각각과의 사이에 형성되는 복수의 신호 경로들 중에서 적어도 하나의 신호 경로만을 선택적으로 활성화하고, 나머지 신호 경로들은 활성화하지 않을 수 있으므로, SoC에서 소모되는 전력을 감소할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 시스템 온 칩(SoC)의 블록도이다.
도 2는 도 1에 도시된 SoC의 작동을 설명하기 위한 일 실시 예를 나타낸 블록도이다.
도 3은 도 1에 도시된 SoC의 작동을 설명하기 위한 다른 실시 예를 나타낸 블록도이다.
도 4는 도 2와 도 3에 도시된 마스터 인터페이스의 일 실시 예를 나타내는 블록도이다.
도 5는 도 2와 도 3에 도시된 마스터 인터페이스의 다른 실시 예를 나타내는 블록도이다.
도 6은 도 5에 도시된 요청 테이블의 개략적인 일 실시 예를 나타낸다.
도 7은 도 2와 도 3에 도시된 인터페이스 회로에 포함된 컴포넌트의 일 실시 예를 나타낸 블록도이다.
도 8은 도 2와 도 3에 도시된 인터페이스 회로에 포함된 컴포넌트의 다른 실시 예를 나타낸 블록도이다.
도 9는 도 8에 도시된 컴포넌트의 작동을 나타낸 타이밍도이다.
도 10은 본 발명의 실시 예에 따른 SoC의 작동 방법을 나타낸 플로우차트이다.
도 11은 본 발명의 다른 실시 예에 따른 SoC의 작동 방법을 나타낸 흐름도이다.
도 12는 본 발명의 또 다른 실시 예에 따른 SoC의 작동 방법을 나타낸 흐름도이다.
도 13은 본 발명의 실시 예에 따른 전자 시스템의 실시 예를 나타내는 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 시스템 온 칩(SoC)의 블록도이다. 도 1을 참조하면, SoC(10)는 복수의 마스터들(200-1~200-m; m은 1보다 큰 자연수), 복수의 슬레이브들(300-1~300-n; n은 1보다 큰 자연수), 및 인터커넥터(100)를 포함할 수 있다.
실시 예에 따라, SoC(10)는 집적 회로, 애플리케이션 프로세서(application processor(AP)) 또는 모바일 AP로 구현될 수 있다.
복수의 마스터들(200-1~200-m) 각각은, 해당하는 요청을 복수의 슬레이브들 (300-1~300-n) 중에서 어느 하나로 전송할 수 있다. 상기 어느 하나의 슬레이브는, 수신된 요청을 처리하고, 처리 결과에 따른 응답(response)을 상기 요청을 전송한 마스터로 전송할 수 있다.
실시 예에 따라, 복수의 마스터들(200-1~200-m)과 복수의 슬레이브들(300-1~300-n) 각각은 CPU(central processing unit), GPU(graphic processing unit), DMA(direct memory access) 컨트롤러, 이미지 신호 프로세서(image signal processor(ISP)), 및 다양한 인터페이스 컨트롤러들 중에서 어느 하나일 수 있다.
복수의 마스터들(200-1~200-m) 각각은 마스터로 작동할 수 있고, 실시 예에 따라 슬레이브로 작동할 수도 있다. 복수의 슬레이브들(300-1~300-n) 각각은 슬레이브로 작동할 수 있고, 실시 예에 따라 마스터로 작동할 수도 있다.
인터커넥터(100)는 복수의 마스터들(200-1~200-m)과 복수의 슬레이브들(300-1~300-n) 사이에 접속될 수 있다.
인터커넥터(100)는 복수의 마스터들(200-1~200-m) 중에서 어느 하나의 마스터(예컨대, 200-1)와, 복수의 슬레이브들(300-1~300-n) 중에서 어느 하나의 슬레이브(예컨대, 300-1) 사이에 신호 경로를 형성할 수 있다. 어느 하나의 마스터(200-1)는 상기 신호 경로를 통해 슬레이브(300-1)로 요청을 전송하고, 슬레이브(300-1)로부터 상기 요청에 따른 응답을 수신할 수 있다. 인터커넥터(100)의 구조와 작동은 도 2를 참조하여 설명될 것이다.
실시 예에 따라, SoC(10)는 클럭 생성기(clock generator; 400)를 더 포함할 수 있다. 클럭 생성기(400)는 외부로부터 기준 클럭(REF_CLK)을 수신할 수 있다. 클럭 생성기(400)는 기준 클럭(REF_CLK) 또는 기준 클럭(REF_CLK)을 이용하여 생성된 클럭(CLK)을 복수의 마스터들(200-1~200-m), 복수의 슬레이브들(300-1~300-n), 및 인터커넥터(100)로 제공할 수 있다.
도 1에서는 클럭 생성기(400)가 동일한 클럭(CLK)을 복수의 마스터들(200-1~200-m), 복수의 슬레이브들(300-1~300-n), 및 인터커넥터(100)로 제공하는 것으로 도시되어 있으나, 실시 예에 따라, 클럭 생성기(400)는 복수의 마스터들(200-1~200-m), 복수의 슬레이브들(300-1~300-n), 및 인터커넥터(100) 각각으로 서로 다른 주파수를 갖는 클럭들 각각을 제공할 수 있다.
도 2는 도 1에 도시된 SoC의 작동을 설명하기 위한 일 실시 예를 나타낸 블록도이다. 도 1과 도 2를 참조하면, 인터커넥터(100-1)는 복수의 마스터 인터페이스들(MI_1~MI_m), 복수의 슬레이브 인터페이스들(SI_1~SI_n), 및 인터페이스 회로(130-1)를 포함할 수 있다.
복수의 마스터 인터페이스들(MI_1~MI_m) 각각은 복수의 마스터들(200-1~200-m) 중에서 어느 하나에 접속될 수 있다.
복수의 마스터 인터페이스들(MI_1~MI_m) 각각은, 각각에 상응하는 마스터로부터 요청이 수신될 때, 수신된 요청을 복수의 슬레이브 인터페이스들(SI_1~SI_n) 중에서 어느 하나로 전송할 수 있다. 복수의 마스터 인터페이스들(MI_1~MI_m)의 구조와 작동은 도 4와 도 5를 참조하여 설명될 것이다.
복수의 슬레이브 인터페이스들(SI_1~SI_n) 각각은 복수의 슬레이브들(300-1~300-n) 중에서 어느 하나에 접속될 수 있다. 복수의 슬레이브 인터페이스들 (SI_1~SI_n) 각각은, 복수의 마스터 인터페이스들(MI_1~MI_m) 중에서 어느 하나로부터 요청을 수신하고, 수신된 요청을 상응하는 슬레이브로 전송할 수 있다.
복수의 슬레이브 인터페이스들(SI_1~SI_n) 각각은, 상응하는 슬레이브로부터 수신된 응답을 어느 하나의 마스터 인터페이스로 전송할 수 있다.
실시 예에 따라, 복수의 마스터 인터페이스들(MI_1~MI_m) 각각은 슬레이브 인터페이스로 사용될 수 있고, 복수의 슬레이브 인터페이스들(SI_1~SI_n) 각각은 마스터 인터페이스로 사용될 수 있다.
인터페이스 회로(130-1)는, 복수의 마스터 인터페이스들(MI_1~MI_m)과 복수의 슬레이브 인터페이스들(SI_1~SI_n) 사이에 접속될 수 있다. 인터페이스 회로(130-1)는, 복수의 마스터 인터페이스들(MI_1~MI_m) 중에서 어느 하나(예컨대, MI_1)와, 복수의 슬레이브 인터페이스들(SI_1~SI_n) 중에서 어느 하나(예컨대, SI_1)가 쌍을 이룰 수 있는 복수의 신호 경로들을 포함할 수 있다.
인터페이스 회로(130-1)는, 복수의 컴포넌트들(131-1~131-k; k는 1보다 큰 자연수)을 포함할 수 있다. 복수의 신호 경로들 각각은, 복수의 컴포넌트들(131-1~131-k) 중에서 적어도 하나를 포함할 수 있다.
실시 예에 따라, 복수의 컴포넌트들(131-1~131-k) 각각은, M-to-1 스위치(M은 1보다 큰 자연수), 1-to-N 스위치(N은 1보다 큰 자연수), 및 브리지 중에서 어느 하나일 수 있으나 이에 한정되는 것은 아니다.
도 2에는 복수의 M-to-1 스위치들(131-1, 131-4, 131-5, 131-8, 131-k-3, 및 131-k), 복수의 브리지들(131-2, 131-6, 및 131-k-2), 및 복수의 1-to-N 스위치들 (131-3, 131-7, 및 131-k-1)이 배열된 인터페이스 회로(130-1)가 도시되어 있으나, 본 발명의 개념에 따른 인터페이스 회로(130-1)의 형태는 이에 한정되는 것은 아니고, 실시 예에 따라 인터페이스 회로(130-1)에 포함되는 컴포넌트의 개수와 배열은 다양하게 변형될 수 있다.
도 2를 참조하여 인터커넥터(100-1)의 작동이 설명된다. 제1마스터(200-1)가 제1슬레이브(300-1)로 제1요청을 전송할 때, 제1마스터 인터페이스(MI_1)는 제1마스터 인터페이스(MI_1)와 제1슬레이브 인터페이스(SI_1) 사이에 제1신호 경로(PATH1)를 형성하는 제1그룹의 컴포넌트들(131-1~131-4)만을 인에이블시킬 수 있다. 따라서, 제1신호 경로(PATH1)는 활성화될 수 있다.
제1그룹의 컴포넌트들(131-1~131-4)이 인에이블된 후, 제1마스터 인터페이스 (MI_1)는 활성화된 제1신호 경로(PATH1)를 통해 제1요청을 제1슬레이브 인터페이스 (SI_1)로 전송할 수 있다.
실시 예에 따라, 제1슬레이브 인터페이스(SI_1)는 제1마스터 인터페이스(MI_1)에 의해 인에이블될 수 있다.
제3마스터(200-3)가 제2슬레이브(300-2)로 제2요청을 전송할 때, 제3마스터 인터페이스(MI_3)는 제3마스터 인터페이스(MI_3)와 제2슬레이브 인터페이스(SI_2) 사이에 제2신호 경로(PATH2)를 형성하는 제2그룹의 컴포넌트들(131-5~131-8)만을 인에이블시킬 수 있다. 따라서, 제2신호 경로(PATH2)는 활성화될 수 있다.
제2그룹의 컴포넌트들(131-5~131-8)이 인에이블된 후, 제3마스터 인터페이스 (MI_3)는 활성화된 제2신호 경로(PATH2)를 통해 제2요청을 제2슬레이브 인터페이스 (SI_2)로 전송할 수 있다.
실시 예에 따라, 제2슬레이브 인터페이스(SI_2)는 제3마스터 인터페이스(MI_3)에 의해 인에이블될 수 있다.
제3마스터(200-3)가 제n슬레이브(300-n)로 제3요청을 전송할 때, 제3마스터 인터페이스(MI_3)는 제3마스터 인터페이스(MI_3)와 제n슬레이브 인터페이스(SI_n) 사이에 제3신호 경로(PATH3)를 형성하는 제3그룹의 컴포넌트들(131-5~131-7, 및 131-k)만을 인에이블시킬 수 있다. 따라서, 제3신호 경로(PATH3)는 활성화될 수 있다.
제3그룹의 컴포넌트들(131-5~131-7, 및 131-k)이 인에이블되면, 제3마스터 인터페이스(MI_3)는 활성화된 제3신호 경로(PATH3)를 통해 제3요청을 제n슬레이브 인터페이스(SI_n)로 전송할 수 있다.
실시 예에 따라, 제n슬레이브 인터페이스(SI_n)는 제3마스터 인터페이스(MI_3)에 의해 인에이블될 수 있다.
도 2에 도시된 바와 같이, 제2그룹의 컴포넌트들(131-5~131-8) 중에서 일부 컴포넌트들(131-5~131-7)은 제2신호 경로(PATH2)와 제3신호 경로(PATH3)에 의해 공유될 수 있다. 즉, 복수의 컴포넌트들(131-1~131-k) 각각은 서로 다른 경로들 각각에 의해 공유될 수 있다.
실시 예에 따라, 제2요청과 제3요청이 연속적으로 처리되는 경우, 제3마스터 인터페이스(MI_3)가 상기 제3요청에 따라 제3그룹의 컴포넌트들(131-5~131-7, 및 131-k)을 인에이블시킬 때, 일부 컴포넌트들(131-5~131-7)은 상기 제2요청에 따라 이미 인에이블되어 있을 수 있다. 따라서, 제3마스터 인터페이스(MI_3)는 제k컴포넌트(131-k)만을 인에이블시킴으로써, 제3신호 경로(PATH3)를 활성화시킬 수 있다.
도 3은 도 1에 도시된 SoC의 작동을 설명하기 위한 다른 실시 예를 나타낸 블록도이다.
도 1부터 도 3을 참조하면, 복수의 컴포넌트들(132-1~132-k) 각각은 도 2에 도시된 복수의 컴포넌트들(131-1~131-k) 각각과 실질적으로 동일 또는 유사하다.
제3마스터(200-3)는 복수의 슬레이브들(300-1~300-n) 중에서 제1슬레이브 (300-1), 제2슬레이브(300-2), 및 제n슬레이브(300-n)와 접속될 수 있으므로, 제1슬레이브(300-1), 제2슬레이브(300-2), 및 제n슬레이브(300-n) 중에서 어느 하나로 요청을 전송할 수 있다.
실시 예에 따라, 제3마스터(200-3)가 제2슬레이브(300-2)로 요청을 전송할 때, 제3마스터 인터페이스(MI_3)는, 제3마스터 인터페이스(MI_3)와 제2슬레이브 인터페이스(SI_2) 사이에 신호 경로(PATH)를 형성하는 컴포넌트들(132-5~132-8)을 인에이블시킴으로써, 신호 경로(PATH)를 활성화시킬 수 있다. 제3마스터 인터페이스 (MI_3)는 컴포넌트들(132-4, 132-k)을 추가로 인에이블시킬 수 있다.
따라서, 제3마스터 인터페이스(MI_3)는 다른 신호 경로들, 예컨대 제3마스터 인터페이스(MI_3)와 제1슬레이브 인터페이스(SI_1) 사이의 신호 경로와, 제3마스터 인터페이스(MI_3)와 제n슬레이브 인터페이스(SI_n) 사이의 신호 경로까지도 활성화시킬 수 있다. 컴포넌트들(132-4~132-8, 및 132-n)이 인에이블되면, 제3마스터 인터페이스(MI_3)는 활성화된 신호 경로(PATH)를 통해 상기 요청을 제2슬레이브 인터페이스(SI_2)로 전송할 수 있다.
실시 예에 따라, 제3마스터 인터페이스(MI_3)는 제1슬레이브 인터페이스 (SI_1), 제2슬레이브 인터페이스(SI_2), 및 제n슬레이브 인터페이스(SI_n)를 인에이블시킬 수 있다.
즉, 제3마스터 인터페이스(MI_3)가 제3마스터(200-3)로부터 요청을 수신하면, 상기 요청이 전송될 신호 경로에 관계없이, 제3마스터 인터페이스(MI_3)는 제3마스터 인터페이스(MI_3)에 의해 제어되는 모든 컴포넌트들(132-4~132-8, 및 132-k)을 인에이블시킬 수 있다.
제3마스터 인터페이스(MI_3)는, 제3마스터(200-3)로부터 수신되는 요청이 더 이상 존재하지 않을 때, 인에이블된 컴포넌트들(132-4~132-8, 및 132-k)을 디스에이블시킬 수 있다. 실시 예에 따라, 제3마스터 인터페이스(MI_3)는, 인에이블된 슬레이브 인터페이스들(SI_1,SI_2, 및 SI_n)을 디스에이블시킬 수 있다.
도 4는 도 2와 도 3에 도시된 마스터 인터페이스의 일 실시 예를 나타내는 블록도이다.
도 1부터 도 4를 참조하면, 마스터 인터페이스(예컨대, 제1마스터 인터페이스(MI_1A))는 디코딩 블록(decoding block; 112), 경로 테이블(routing table; 114), 흐름 제어 관리 블록(flow control management block; 116A), 및 인터페이스 인에이블 신호 생성기(interface enable signal(IFEN) generator; 120A)를 포함할 수 있다.
디코딩 블록(112)은, 마스터(예컨대, 제1마스터(200-1))로부터 수신되는 요청(REQ)을 디코드할 수 있다. 디코딩 블록(112)은, 디코드 결과에 따라 요청(REQ)에 해당하는 목표 슬레이브 인터페이스(또는 목표 슬레이브)를 판단할 수 있다.
경로 테이블(114)은, 제1마스터 인터페이스(MI_1A)와 접속될 수 있는 슬레이브 인터페이스들(예컨대, 제1슬레이브 인터페이스(SI_1)와 제2슬레이브 인터페이스(SI_2)) 각각과 제1마스터 인터페이스(MI_1A) 사이의 경로들 각각에 대한 정보를 포함할 수 있다.
경로 테이블(114)은 메모리에 저장될 수 있고, 정보는 경로 테이블(114)에 저장될 수 있다.
디코딩 블록(112)은, 목표 슬레이브가 판단되면, 경로 테이블(114)로부터 상기 목표 슬레이브와 제1마스터 인터페이스(MI_1A) 사이의 신호 경로에 대한 제1정보를 리드할 수 있다. 디코딩 블록(112)은, 요청(REQ)과 리드된 제1정보를 출력할 수 있다. 상기 제1정보는 상기 신호 경로에 존재하는 컴포넌트들에 대한 정보일 수 있다.
흐름 제어 관리 블록(116A)은, 디코딩 블록(112)으로부터 출력된 요청(REQ)과 상기 제1정보를 수신할 수 있다. 흐름 제어 관리 블록(116A)은, 요청(REQ)을 전송할 수 있는지 여부를 판단하고, 요청(REQ)과 상기 제1정보를 출력할 수 있다.
실시 예에 따라, 복수의 요청들이 존재하는 경우, 흐름 제어 관리 블록 (116A)은, 상기 복수의 요청들 각각에 대한 우선 순위를 판단하고, 판단된 우선 순위에 따라 상기 복수의 요청들을 순차적으로 출력할 수 있다. 예컨대, 흐름 제어 관리 블록(116A)은, 제1마스터 인터페이스(MI_1A)가 현재 요청에 대한 응답을 수신하면, 다음 요청을 출력할 수 있다.
IFEN 생성기(120A)는, 흐름 제어 관리 블록(116A)으로부터 출력된 상기 제1정보를 수신할 수 있다. IFEN 생성기(120A)는, 수신된 상기 제1정보에 포함된, 상기 신호 경로에 존재하는 상기 컴포넌트들 각각을 인에이블시키기 위해, 활성화된 복수의 인터페이스 인에이블 신호들(IFENs) 각각을 상기 컴포넌트들 각각으로 출력할 수 있다.
실시 예에 따라, IFEN 생성기(120A)는, 인에이블된 컴포넌트들 각각을 디스에이블시키기 위해, 비활성화된 복수의 인터페이스 인에이블 신호들(IFENs) 각각을 상기 인에이블된 컴포넌트들 각각으로 출력할 수 있다.
여기서, 활성화된 복수의 인터페이스 인에이블 신호들(IFENs)은 복수의 인터페이스 인에이블 신호들(IFENs)이 출력된다는 의미로 이해될 수 있고, 비활성화된 복수의 인터페이스 인에이블 신호들(IFENs)은 복수의 인터페이스 인에이블 신호들 (IFENs)이 출력되지 않는다는 의미로 이해될 수 있다.
실시 예에 따라, IFEN 생성기(120A)는, 요청(REQ)에 해당하는 목표 슬레이브 인터페이스까지도 인에이블/디스에이블시킬 수 있다.
도 5는 도 2와 도 3에 도시된 마스터 인터페이스의 다른 실시 예를 나타내는 블록도이다.
도 2부터 도 5를 참조하면, 도 5에 도시된 디코딩 블록(112)과 경로 테이블 (114) 각각은 도 4에 도시된 디코딩 블록(112)과 경로 테이블(114) 각각과 실질적으로 동일하다.
마스터 인터페이스(예컨대, 제1마스터 인터페이스(MI_1B))는 요청 테이블 (118)을 포함할 수 있다.
요청 테이블(118)은, 흐름 제어 관리 블록(116B)으로부터 출력되는 요청 (REQ)과 요청(REQ)에 대한 정보를 저장할 수 있다.
요청(REQ)에 대한 상기 정보는, 요청(REQ)에 해당하는 목표 슬레이브 인터페이스(예컨대, SI_1)와 제1마스터 인터페이스(MI_1)의 쌍 사이에 신호 경로(예컨대, 제1신호 경로(PATH1))를 형성하는 적어도 하나의 컴포넌트(예컨대, 제1그룹의 컴포넌트들(131-1~131-4))에 대한 정보일 수 있다. 실시 예에 따라, 상기 정보는 목표 슬레이브 인터페이스(SI_1)에 대한 정보를 더 포함할 수 있다.
요청 테이블(118)은 메모리에 저장될 수 있고, 상기 정보는 요청 테이블 (118)에 저장될 수 있다.
제1마스터 인터페이스(MI_1B)가 요청(REQ)에 대한 응답(RESP)을 수신하면, 요청 테이블(118)은 저장된 상기 정보를 삭제할 수 있다. 응답(RESP)이 수신된 후, 흐름 제어 관리 블록(116B)은 다음 요청을 출력할 수 있다.
IFEN 신호 생성기(120B)는, 요청 테이블(118)에 저장된 상기 정보에 포함된 복수의 컴포넌트들 각각을 인에이블시키기 위해, 활성화된 복수의 인터페이스 인에이블 신호들(IFENs) 각각을 상기 복수의 컴포넌트들 각각으로 출력할 수 있다.
실시 예에 따라, IFEN 생성기(120B)는, 요청 테이블(118)에 저장된 상기 정보가 삭제됨에 따라, 인에이블된 복수의 컴포넌트들 각각을 디스에이블시키기 위해, 비활성화된 복수의 인터페이스 인에이블 신호들(IFENs) 각각을 상기 인에이블된 복수의 컴포넌트들 각각으로 출력할 수 있다.
도 6은 도 5에 도시된 요청 테이블의 개략적인 일 실시 예를 나타낸다.
도 6의 (a)와 (b)에 도시된 요청 테이블(118)은 일 실시 예에 불과하므로, 요청 테이블(118)의 구성과 형태가 이에 한정되는 것은 아니다.
도 2, 도 5, 및 도 6의 (a)를 참조하면, 요청 테이블(118)은 흐름 제어 관리 블록(116B)으로부터 출력되는 요청의 경로에 대한 정보를 포함할 수 있다.
요청 테이블(118)은 복수의 엔트리들을 포함할 수 있고, 상기 복수의 엔트리들 각각은 상기 요청의 경로에 대한 정보를 포함할 수 있다.
상기 요청의 경로에 대한 정보는, 상기 요청에 대한 목표 슬레이브 인터페이스와 마스터 인터페이스의 쌍 사이에 신호 경로를 형성하는 적어도 하나의 컴포넌트에 대한 정보일 수 있다.
요청 테이블(118)은, 상기 적어도 하나의 컴포넌트에 대한 정보를 포함하는 컴포넌트 필드(119B)를 포함할 수 있다.
실시 예에 따라, 요청 테이블(118)은 요청 (REQ)의 인덱스를 나타내는 요청 필드(119A)를 더 포함할 수 있으나, 요청 필드(119A)는 존재하지 않을 수도 있다.
예컨대, 요청(REQ)이 제1마스터 인터페이스(MI_1)로부터 제1슬레이브 인터페이스(SI_1)로 전송되고, 다음 요청(REQ1)이 제1마스터 인터페이스(MI_1)로부터 제2슬레이브 인터페이스(SI_2)로 전송된다고 가정한다. 요청 테이블(118)은, 요청(REQ)에 대한 제1엔트리와, 다음 요청(REQ1)에 대한 제2엔트리를 포함할 수 있다.
상기 제1엔트리에 대한 요청 필드(119A)에는 요청(REQ)의 인덱스가 저장될 수 있고, 컴포넌트 필드(119B)에는 요청(REQ)의 경로상에 존재하는 컴포넌트들(131-1~131-4)에 대한 정보가 저장될 수 있다. 상기 제2엔트리에 대한 요청 필드(119A)에는 다음 요청 (REQ1)의 인덱스가 저장될 수 있고, 컴포넌트 필드(119B)에는 다음 요청(REQ1)의 경로상에 존재하는 컴포넌트들(131-1~131-3, 및 131-8)에 대한 정보가 저장될 수 있다.
IFEN 생성기(120B)는, 요청 테이블(118)의 컴포넌트 필드(119B)에 저장된 컴포넌트들(131-1~131-4, 및 131-8)에 대한 정보를 이용하여, 활성화된 복수의 인터페이스 인에이블 신호들(IFENs) 각각을 컴포넌트들(131-1~131-4, 및 131-8) 각각으로 출력할 수 있다.
실시 예에 따라, 요청 테이블(118)은 요청(REQ)에 대한 목표 슬레이브 인터페이스의 정보를 저장하기 위한 슬레이브 인터페이스 필드(119C)를 더 포함할 수 있다. IFEN 생성기(120B)는, 슬레이브 인터페이스 필드(119C)에 저장된 슬레이브 인터페이스들(SI_1과 SI_2)의 정보를 이용하여, 활성화된 복수의 인터페이스 인에이블 신호들(IFENs) 각각을 슬레이브 인터페이스들(SI_1과 SI_2) 각각으로 출력할 수 있다.
도 6에서는 컴포넌트 필드(119B)와 슬레이브 인터페이스 필드(119C) 각각을 별도로 도시하였으나, 실시 예에 따라 컴포넌트 필드(119B)와 슬레이브 인터페이스 필드(119C)는 하나의 필드 내에 구현될 수 있다. 다른 실시 예에 따라, 컴포넌트 필드(119B) 대신 슬레이브 인터페이스 필드(119C)만이 구현될 수도 있다.도 5와 도 6의 (b)를 참조하면, 요청(REQ)에 대한 응답(RESP)이 수신되면, 요청 테이블(118)에 저장된 요청(REQ)에 대한 제1엔트리가 삭제될 수 있다.
IFEN 생성기(120B)는, 상기 제1엔트리가 삭제됨에 따라, 요청 테이블(118)의 컴포넌트 필드(119B)에 존재하지 않는 컴포넌트(131-4)를 디스에이블할 수 있다.
실시 예에 따라, IFEN 생성기(120B)는, 상기 제1엔트리가 삭제됨에 따라, 요청 테이블(118)의 슬레이브 인터페이스 필드(119C)에 존재하지 않는 제1슬레이브 인터페이스(SI_1)를 디스에이블할 수 있다.
도 7은 도 2에 도시된 인터페이스 회로에 포함된 컴포넌트의 일 실시 예를 나타낸 블록도이다. 도 7에 도시된 컴포넌트(131-1)는 2-to-1 스위치의 일 실시 예를 나타낸다.
도 4에 도시된 요청(REQ)은, 도 7에 도시된 바와 같이 요청 유효 신호 (REQ_VALID), 요청 준비 신호(REQ_READY), 및 요청 페이로드(REQ_PAYLOAD)를 포함할 수 있다.
현재 컴포넌트(또는 마스터 인터페이스)는, 전송할 요청 페이로드 (REQ_PAYLOAD)가 존재함을 다음 컴포넌트(또는 슬레이브 인터페이스)로 알리기 위해 요청 유효 신호(REQ_VALID)를 출력할 수 있다.
상기 다음 컴포넌트(또는 상기 슬레이브 인터페이스)는, 요청 유효 신호 (REQ_VALID)를 수신하고, 요청 페이로드(REQ_PAYLOAD)를 수신할 준비가 되었음을 현재 컴포넌트(또는 마스터 인터페이스)로 알리기 위해 요청 준비 신호(REQ_READY)를 출력할 수 있다.
도 4에 도시된 응답(RESP)은, 도 7에 도시된 바와 같이 응답 유효 신호 (RESP_VALID), 응답 준비 신호(RESP_READY), 및 응답 페이로드 (RESP_PAYLOAD)를 포함할 수 있다.
현재 컴포넌트(또는 슬레이브 인터페이스)는, 전송할 응답 페이로드 (RESP_PAYLOAD)가 존재함을 이전 컴포넌트(또는 마스터 인터페이스)로 알리기 위해 응답 유효 신호(RESP_VALID)를 출력할 수 있다.
상기 이전 컴포넌트(또는 상기 마스터 인터페이스)는, 응답 유효 신호 (RESP_VALID)를 수신하고, 응답 페이로드(RESP_PAYLOAD)를 수신할 준비가 되었음을 현재 컴포넌트(또는 슬레이브 인터페이스)로 알리기 위해 응답 준비 신호 (RESP_READY)를 출력할 수 있다.
도 2, 도 4, 및 도 7을 참조하면, 인터페이스 회로(130-1)에 포함된 컴포넌트(131-1)는 요청 아비터(request arbiter; 133-1), 응답 라우터(response router; 134-1), 및 클럭 게이팅 블록(clock gating block; 135-1)을 포함할 수 있다.
요청 아비터(133-1)는 요청(REQ)의 전송을 관리할 수 있고, 응답 라우터 (134-1)는 응답(RESP)의 전송을 관리할 수 있다.
요청 아비터(133-1)는, 제1마스터 인터페이스(MI_1)로부터 제1요청 유효 신호 (REQ_VALID0)를 수신하고, 컴포넌트(131-1)가 내부 클럭(INT_CLK)을 수신함에 따라 인에이블된 경우 제1요청 준비 신호(REQ_READY0)를 제1마스터 인터페이스(MI_1)로 출력할 수 있다. 제1마스터 인터페이스(MI_1)는 제1요청 준비 신호(REQ_READY0)에 응답하여 제1요청 페이로드(REQ_PAYLOAD0)를 컴포넌트(131-1)로 전송할 수 있다.
요청 아비터(133-1)는, 제2마스터 인터페이스(MI_2)로부터 제2요청 유효 신호 (REQ_VALID1)를 수신하고, 컴포넌트(131-1)가 내부 클럭(INT_CLK)을 수신함에 따라 인에이블된 경우 제2요청 준비 신호(REQ_READY1)를 제2마스터 인터페이스(MI_2)로 출력할 수 있다. 제2마스터 인터페이스(MI_2)는 제2요청 준비 신호(REQ_READY1)에 응답하여 제2요청 페이로드(REQ_PAYLOAD1)를 컴포넌트(131-1)로 전송할 수 있다.
실시 예에 따라, 요청 아비터(133-1)가 제1요청 유효 신호(REQ_VALID0)와 제2요청 유효 신호(REQ_VALID1)를 동시에 수신한 때, 요청 아비터(133-1)는 제1요청과 제2요청 중에서 우선 순위가 높은 요청을 판단할 수 있다. 예컨대, 상기 제1요청의 우선 순위가 상기 제2요청의 우선 순위보다 높을 때, 요청 아비터(133-1)는 제1요청 준비 신호(REQ_READY0)를 제1마스터 인터페이스(MI_1)로 출력할 수 있다.
요청 아비터(133-1)는, 컴포넌트(131-1)의 다음 컴포넌트(131-2)로 요청 유효 신호(REQ_VALID)를 출력하고, 다음 컴포넌트(131-2)로부터 요청 준비 신호 (REQ_READY)를 수신함에 따라 요청 페이로드(REQ_PAYLOAD)를 다음 컴포넌트(131-2)로 출력할 수 있다. 요청 페이로드(REQ_PAYLOAD)는 제1요청 페이로드 (REQ_PAYLOAD0) 또는 제2요청 페이로드(REQ_PAYLOAD1)일 수 있다.
응답 라우터(134-1)는, 다음 컴포넌트(131-2)로부터 응답 유효 신호 (RESP_VALID)를 수신하고, 응답 준비 신호(RESP_READY)를 제1마스터 인터페이스 (MI_1)로 출력할 수 있다. 다음 컴포넌트(131-2)는 응답 준비 신호(RESP_READY)에 응답하여 응답 페이로드(RESP_PAYLOAD)를 컴포넌트(131-1)로 전송할 수 있다.
응답 라우터(134-1)는, 응답(RESP)에 대한 목표 마스터 인터페이스(예컨대, 제1마스터 인터페이스(MI_1))로 제1응답 유효 신호(RESP_VALID0)를 출력하고, 제1마스터 인터페이스(MI_1)로부터 제1응답 준비 신호(RESP_READY0)를 수신함에 따라 제1응답 페이로드(RESP_PAYLOAD0)를 제1마스터 인터페이스(MI_1)로 출력할 수 있다. 제1응답 페이로드(RESP_PAYLOAD0)는 다음 컴포넌트(131-2)로부터 컴포넌트(131-1)로 전송된 응답 페이로드(RESP_PAYLOAD)일 수 있다.
요청 아비터(133-1)와 응답 라우터(134-1)는 클럭 게이팅 블록(135-1)으로부터 내부 클럭(INT_CLK)에 응답하여 작동할 수 있다. 즉, 컴포넌트(131-1)가 인에이블되었다 함은, 요청 아비터(133-1)와 응답 라우터(134-1)가 내부 클럭(INT_CLK)에 기초하여 작동할 수 있게 됨을 의미한다.
클럭 게이팅 블록(135-1)은 클럭 생성기(400)로부터 클럭(CLK)을 수신하고, 컴포넌트(131-1)로 입력되는 활성화된 컴포넌트 인에이블 신호(O_IFEN)에 응답하여 내부 클럭(INT_CLK)을 요청 아비터(133-1)와 응답 라우터(134-1)로 제공할 수 있다. 클럭(CLK)과 내부 클럭(INT_CLK)은 실질적으로 동일할 수 있다.
클럭 게이팅 블록(135-1)은 클럭 FSM(finite state machine) 블록(136-1)과 클럭 게이트(137-1)를 포함할 수 있다.
클럭 FSM 블록(136-1)은 활성화된 컴포넌트 인에이블 신호(O_IFEN)에 응답하여 클럭 게이트(137-1)를 활성화할 수 있다. 클럭 게이트(137-1)가 활성화됨에 따라, 내부 클럭(INT_CLK)이 요청 아비터(133-1)와 응답 라우터(134-1)로 공급될 수 있다. 내부 클럭(INT_CLK)이 공급될 때, 컴포넌트(131-1)는 인에이블된다.
클럭 FSM 블록(136-1)은 비활성화된 컴포넌트 인에이블 신호(O_IFEN)에 응답하여, 요청 아비터(133-1)로 가드 인에이블 신호(GUARD_EN)를 출력할 수 있다. 요청 아비터(133-1)는 가드 인에이블 신호(GUARD_EN)에 응답하여, 더 이상 요청을 수신하지 않을 수 있다.
클럭 FSM 블록(136-1)은, 비활성화된 컴포넌트 인에이블 신호(O_IFEN)에 응답하여, 클럭 게이트(137-1)를 비활성화할 수 있다. 클럭 게이트(137-1)가 비활성화됨에 따라, 내부 클럭(INT_CLK)이 요청 아비터(133-1)와 응답 라우터(134-1)로 공급되지 않을 수 있다. 내부 클럭(INT_CLK)이 공급되지 않을 때, 컴포넌트(131-1)는 디스에이블될 수 있다.
컴포넌트 인에이블 신호(O_IFEN)는, 컴포넌트(131-1)를 제어할 수 있는 적어도 하나의 마스터 인터페이스로부터 출력되는 적어도 하나의 인터페이스 인에이블 신호에 대해 OR 연산을 수행함에 따라 생성될 수 있다.
상기 OR 연산은 OR 연산 블록(138-1)에 의해 수행될 수 있다. OR 연산 블록 (138-1)은 적어도 하나의 OR 게이트로 구현될 수 있으나, 이에 한정되는 것은 아니다. 도 7에서는 OR 연산 블록(138-1)이 컴포넌트(131-1) 외부에 구현된 형태로 도시되었으나, 실시 예에 따라 OR 연산 블록(138-1)은 컴포넌트(131-1)에 포함된 형태로 구현될 수 있다.
도 2와 도 7을 참조하면, 컴포넌트(131-1)는 제1마스터 인터페이스(MI_1)와 제2마스터 인터페이스(MI_2)에 의해 제어될 수 있다. 따라서, OR 연산 블록(138-1)은 제1마스터 인터페이스(MI_1)로부터 출력된 인터페이스 인에이블 신호(IFEN)와, 제2마스터 인터페이스(MI_2)로부터 출력된 인터페이스 인에이블 신호(IFEN)를 수신할 수 있다.
제1마스터 인터페이스(MI_1) 및/또는 제2마스터 인터페이스(MI_2)로부터 활성화된 인터페이스 인에이블 신호(IFEN)가 출력되면, OR 연산 블록(138-1)은 활성화된 컴포넌트 인에이블 신호(O_IFEN)를 출력할 수 있다. 제1마스터 인터페이스(MI_1)와 제2마스터 인터페이스(MI_2) 각각으로부터 비활성화된 인터페이스 인에이블 신호 (IFEN)가 출력되면, OR 연산 블록(138-1)은 비활성화된 컴포넌트 인에이블 신호 (O_IFEN)를 출력할 수 있다.
도 7에 도시된 클럭 게이팅 블록(135-1)과 OR 연산 블록(138-1)은, 인터페이스 회로(130-1)에 포함된 복수의 컴포넌트들(131-1~131-k) 각각에 맞추어 변형될 수 있다.
도 8은 도 2와 도 3에 도시된 인터페이스 회로에 포함된 컴포넌트의 다른 실시 예를 나타낸 블록도이다.
도 8에 도시된 컴포넌트(131-3)는 1-to-2 스위치의 일 실시 예를 나타낸다.
도 2, 도 7, 및 도 8을 참조하면, 클럭 게이팅 블록(135-3)과 OR 연산 블록 (138-3)은 도 7에 도시된 클럭 게이팅 블록(135-1)과 OR 연산 블록(138-1)과 실질적으로 동일 또는 유사하다.
도 8에 도시된 요청 아비터(133-3)와 응답 라우터(134-3)의 기능은 도 7에 도시된 요청 아비터(133-1)와 응답 라우터(134-1)와 실질적으로 동일 또는 유사하다.
요청 아비터(133-3)는, 요청(REQ)에 대한 목표 슬레이브 인터페이스(예컨대, 제1슬레이브 인터페이스(SI_1))에 따라, 다음 컴포넌트들(131-4와 131-8) 중에서 제1다음 컴포넌트(예컨대, 131-4)로 제1요청 유효 신호(REQ_VALID0)를 출력하고, 제1다음 컴포넌트(131-4)로부터 제1요청 준비 신호(REQ_READY0)를 수신함에 따라 제1요청 페이로드(REQ_PAYLOAD0)를 제1다음 컴포넌트(131-4)로 출력할 수 있다. 제1요청 페이로드(REQ_PAYLOAD0)는 이전 컴포넌트(131-2)로부터 컴포넌트(131-3)로 전송된 요청 페이로드(REQ_PAYLOAD)일 수 있다.
응답 라우터(134-3)는, 제1다음 컴포넌트(131-4)로부터 제1응답 유효 신호 (RESP_VALID0)를 수신하고, 제1응답 준비 신호(RESP_READY0)를 제1다음 컴포넌트 (131-4)로 출력할 수 있다. 제1다음 컴포넌트(131-4)는 제1응답 준비 신호 (RESP_READY0)에 응답하여 제1응답 페이로드(RESP_PAYLOAD0)를 컴포넌트(131-3)로 전송할 수 있다.
응답 라우터(134-3)는, 제2다음 컴포넌트(131-8)로부터 제2응답 유효 신호 (RESP_VALID1)를 수신하고, 제2응답 준비 신호(RESP_READY1)를 제2다음 컴포넌트 (131-8)로 출력할 수 있다. 제2다음 컴포넌트(131-8)는 제2응답 준비 신호 (RESP_READY1)에 응답하여 제2응답 페이로드(RESP_PAYLOAD1)를 컴포넌트(131-3)로 전송할 수 있다.
응답 라우터(134-3)는, 컴포넌트(131-3)의 이전 컴포넌트(131-2)로 응답 유효 신호(RESP_VALID)를 출력하고, 이전 컴포넌트(131-2)로부터 응답 준비 신호 (RESP_READY)를 수신함에 따라 응답 페이로드(RESP_PAYLOAD)를 이전 컴포넌트(131-2)로 출력할 수 있다. 응답 페이로드(RESP_PAYLOAD)는 제1응답 페이로드 (RESP_PAYLOAD0) 또는 제2응답 페이로드(RESP_PAYLOAD1)일 수 있다.
도 9는 도 8에 도시된 컴포넌트의 작동을 나타낸 타이밍도이다.
도 2, 도 8, 및 도 9를 참조하면, 제1시점(T1)에서 요청이 존재하지 않으므로, 비활성화된 컴포넌트 인에이블 신호(O_IFEN)가 출력될 수 있다. 따라서, 내부 클럭(INT_CLK)이 공급되지 않고, 컴포넌트(131-3)는 디스에이블 상태를 유지할 수 있다.
제2시점(T2)에서, OR 연산 블록(138-3)은, 제1마스터 인터페이스(MI_1)로부터 출력된 활성화된 인터페이스 인에이블 신호(IFEN)에 응답하여, 활성화된 컴포넌트 인에이블 신호(O_IFEN)를 출력할 수 있다.
제3시점(T3)에서, 컴포넌트(131-3)는 제1신호 경로(PATH1) 상의 이전 컴포넌트(131-2)로부터 활성화된 요청 유효 신호(REQ_VALID)를 수신할 수 있다.
제4시점(T4)에서, 컴포넌트(131-3)는 활성화된 컴포넌트 인에이블 신호 (O_IFEN)에 응답하여 내부 클럭(INT_CLK)을 제공받을 수 있다. 내부 클럭(INT_CLK)이 제공됨에 따라, 컴포넌트(131-3)는 인에이블될 수 있다.
제5시점(T5)에서, 컴포넌트(131-3)는 인에이블됨에 따라 요청 페이로드 (REQ_PAYLOAD)를 수신할 수 있으므로, 활성화된 요청 준비 신호(REQ_READY)를 이전 컴포넌트(131-2)로 출력할 수 있다. 활성화된 요청 준비 신호(REQ_READY)를 수신한 이전 컴포넌트(131-2)는 요청 페이로드(REQ_PAYLOAD)를 컴포넌트(131-3)로 전송할 수 있다.
제6시점(T6)에서, 요청 페이로드(REQ_PAYLOAD)에 따른 응답 페이로드 (RESP_PAYLOAD)가 제1마스터 인터페이스(MI_1)로 전송되면, 이전 컴포넌트(131-2)는 비활성화된 요청 유효 신호(REQ_VALID)를 출력할 수 있다.
제7시점(T7)에서, 비활성화된 요청 유효 신호(REQ_VALID)가 출력될 때, 제1마스터 인터페이스(MI_1)는 컴포넌트(131-3)를 디스에이블시키기 위해, 비활성화된 인터페이스 인에이블 신호(IFEN)를 출력할 수 있다. OR 연산 블록(138-3)은, 비활성화된 인터페이스 인에이블 신호(IFEN)에 응답하여 비활성화된 컴포넌트 인에이블 신호(O_IFEN)를 출력할 수 있다.
제8시점(T8)에서, 컴포넌트(131-3)가 디스에이블되기 전에, 컴포넌트(131-3)는 비활성화된 컴포넌트 인에이블 신호(O_IFEN)에 응답하여 비활성화된 요청 준비 신호(REQ_READY)를 출력할 수 있다.
제9시점(T9)에서, 내부 클럭(INT_CLK)이 차단됨에 따라, 컴포넌트(131-3)는 디스에이블될 수 있다.
도 9에 도시된 컴포넌트(131-3)의 작동에 대한 실시 예는, 다른 컴포넌트들(131-1~131-2, 및 131-4~131-k)에도 실질적으로 동일하게 적용될 수 있다.
도 10은 본 발명의 실시 예에 따른 SoC의 작동 방법을 나타낸 플로우 차트이다.
도 1, 도 2, 도 4, 도 5, 및 도 10을 참조하면, 마스터 인터페이스(예컨대, 제1마스터 인터페이스(MI_1))가 마스터(예컨대, 제1마스터(200-1))로부터 수신된 요청(REQ)을 디코드하고, 디코드 결과에 따라 제1마스터 인터페이스(MI_1)와 접속가능한 복수의 슬레이브 인터페이스들(예컨대, 제1 및 제2슬레이브 인터페이스 (SI_1~SI_2)) 중에서 목표 슬레이브 인터페이스(예컨대, 제1슬레이브 인터페이스 (SI_1))를 선택할 수 있다(S900).
제1마스터 인터페이스(MI_1)와 목표 슬레이브 인터페이스(SI_1)의 쌍 사이에 형성되는 제1신호 경로(예컨대, PATH1)에 존재하는 제1그룹의 컴포넌트들(예컨대, 131-1~131-4)은, 제1마스터 인터페이스(MI_1)의 제어에 따라 인에이블될 수 있다 (S920).
제1마스터 인터페이스(MI_1)에 포함된 인터페이스 인에이블 신호 생성기 (120A)는, 제1그룹의 컴포넌트들(131-1~131-4)을 인에이블시키기 위해, 활성화된 복수의 인터페이스 인에이블 신호들(IFENs)을 출력할 수 있다. 제1그룹의 컴포넌트들(131-1~131-4) 각각에 포함된 클럭 게이팅 블록(135)은 상기 활성화된 복수의 인터페이스 인에이블 신호들 중에서 해당하는 어느 하나에 응답하여 내부 클럭 (INT_CLK)을 각 컴포넌트로 제공할 수 있다. 제1그룹의 컴포넌트들(131-1~131-4) 각각은 제공된 내부 클럭(INT_CLK)에 따라 인에이블될 수 있다.
제1그룹의 컴포넌트들(131-1~131-4)이 인에이블됨으로써 제1신호 경로 (PATH1)는 활성화되고, 요청(REQ)이 활성화된 제1신호 경로(PATH1)를 통해 목표 슬레이브 인터페이스(SI_1)로 전송될 수 있다(S940). 목표 슬레이브 인터페이스(SI_1)는 요청(REQ)을 목표 슬레이브(300-1)로 전송할 수 있다.
요청(REQ)을 수신한 목표 슬레이브(300-1)는 요청(REQ)에 대한 응답(RESP)을 목표 슬레이브 인터페이스(SI_1)로 전송하고, 목표 슬레이브 인터페이스(SI_1)는 응답(RESP)을 활성화된 제1신호 경로(PATH1)를 통해 제1마스터 인터페이스(MI_1)로 전송할 수 있다(S960).
제1마스터 인터페이스(MI_1)는, 수신된 응답(RESP)을 제1마스터(200-1)로 전송하고, 인에이블된 제1그룹의 컴포넌트들(131-1~131-4)을 디스에이블시킬 수 있다 (S980). 제1그룹의 컴포넌트들(131-1~131-4)이 디스에이블됨에 따라, 제1신호 경로 (PATH1)는 비활성화될 수 있다.
실시 예에 따라, 제1그룹의 컴포넌트들(131-1~131-4) 중에서 일부 컴포넌트들은 제1신호 경로(PATH1)와 다른 신호 경로들 중 적어도 어느 하나와 공유될 수 있다. 제1마스터 인터페이스(MI_1)가 제1그룹의 컴포넌트들(131-1~131-4)을 디스에이블시킬 때, 상기 일부 컴포넌트들을 공유하는 상기 적어도 어느 하나의 신호 경로가 활성화 상태인 경우, 상기 일부 컴포넌트들은 디스에이블되지 않을 수 있다.
도 11은 본 발명의 다른 실시 예에 따른 SoC의 작동 방법을 나타낸 흐름도이다.
도 1, 도 2, 도 4, 및 도 11을 참조하면, 제1마스터(200-1)는 요청(REQ)을 제1마스터 인터페이스(MI_1)로 전송할 수 있다(S1000). 제1마스터 인터페이스(MI_1)의 디코딩 블록(112)은 요청(REQ)을 디코드하고(S1005), 디코드 결과에 따라 목표 슬레이브(예컨대, 300-1)가 판단(또는 결정)되면, 경로 테이블(114)을 이용하여 요청(REQ)에 대한 정보를 생성할 수 있다. 상기 정보는, 요청(REQ)에 대한 목표 슬레이브 인터페이스(예컨대, SI_1)와 제1마스터 인터페이스(MI_1)의 쌍 사이에 제1신호 경로(PATH1)를 형성하는 제1그룹의 컴포넌트들(131-1~131-4)에 대한 정보일 수 있다.
IFEN 생성기(120A)는, 상기 정보를 이용하여, 활성화된 인터페이스 인에이블 신호들(IFENs) 각각을 제1그룹의 컴포넌트들(131-1~131-4) 각각으로 출력할 수 있다(S1010).
제1신호 경로(PATH1)는, 제1그룹의 컴포넌트들(131-1~131-4) 각각이 활성화된 인터페이스 인에이블 신호들(IFENs) 중 상응하는 어느 하나에 응답하여 인에이블됨에 따라 활성화되고(S1015), 제1마스터 인터페이스(MI_1)는 요청(REQ)을 활성화된 제1신호 경로(PATH1)를 통해 목표 슬레이브 인터페이스(SI_1) 또는 목표 슬레이브(300-1)로 전송할 수 있다(S1020~S1025).
목표 슬레이브(300-1)는 수신된 요청(REQ)을 처리하고(S1030), 처리 결과에 따라 생성된 응답(RESP)을 활성화된 제1신호 경로(PATH1)를 통해 제1마스터 인터페이스(MI_1)로 전송할 수 있다(S1035~S1040).
제1마스터 인터페이스(MI_1)는, 수신된 응답(RESP)을 제1마스터(200-1)로 전송할 수 있다(S1045).
IFEN 생성기(120B)는, 인에이블된 제1그룹의 컴포넌트들(131-1~131-4)을 디스에이블시키기 위해, 비활성화된 인터페이스 인에이블 신호들(IFENs)을 제1그룹의 컴포넌트들(131-1~131-4)로 출력할 수 있다(S1050).
인에이블된 제1그룹의 컴포넌트들(131-1~131-4)은, 비활성화된 인터페이스 인에이블 신호들(IFENs) 중 상응하는 어느 하나에 응답하여 디스에이블되고, 제1신호 경로(PATH1)는 비활성화될 수 있다(S1055).
도 12는 본 발명의 또 다른 실시 예에 따른 SoC의 작동 방법을 나타낸 흐름도이다.
도 1, 도 2, 도 5, 및 도 12를 참조하면, 제1마스터(200-1)는 요청(REQ)을 제1마스터 인터페이스(MI_1)로 전송할 수 있다(S1100). 제1마스터 인터페이스(MI_1)의 디코딩 블록(112)은 요청(REQ)을 디코드하고(S1105), 디코드 결과에 따라 목표 슬레이브(예컨대, 300-1)가 판단되면, 경로 테이블(114)을 이용하여 요청(REQ)에 관한 정보를 생성하고, 생성된 정보를 요청 테이블(118)에 저장할 수 있다(S1110). 상기 정보는, 요청(REQ)에 대한 목표 슬레이브 인터페이스(예컨대, SI_1)와 제1마스터 인터페이스(MI_1)의 쌍 사이에 제1신호 경로(PATH1)를 형성하는 제1그룹의 컴포넌트들(131-1~131-4)의 정보일 수 있다.
인터페이스 인에이블 신호 생성기(120B)는, 요청 테이블(118)에 저장된 정보를 이용하여, 활성화된 인터페이스 인에이블 신호들(IFENs)을 제1그룹의 컴포넌트들(131-1~131-4)로 출력할 수 있다(S1115).
제1그룹의 컴포넌트들(131-1~131-4)이 활성화된 인터페이스 인에이블 신호들 (IFENs) 중에서 상응하는 어느 하나에 응답하여 인에이블됨에 따라 제1신호 경로 (PATH1)가 활성화되면(S1120), 제1마스터 인터페이스(MI_1)는 요청(REQ)을 활성화된 제1신호 경로(PATH1)를 통해 목표 슬레이브(300-1)로 전송할 수 있다 (S1125~S1130).
목표 슬레이브(300-1)는 수신된 요청(REQ)을 처리하고(S1135), 처리 결과에 따라 생성된 응답(RESP)을 활성화된 제1신호 경로(PATH1)를 통해 제1마스터 인터페이스(MI_1)로 전송할 수 있다(S1140~S1145).
제1마스터 인터페이스(MI_1)는, 수신된 응답(RESP)을 제1마스터(200-1)로 전송하고(S1150), 요청 테이블(118)에 저장된 요청(REQ)에 관한 상기 정보를 삭제할 수 있다(S1155).
인터페이스 인에이블 신호 생성기(120B)는, 상기 정보가 삭제됨에 따라, 인에이블된 제1그룹의 컴포넌트들(131-1~131-4)을 디스에이블시키기 위해, 비활성화된 인터페이스 인에이블 신호들(IFENs)을 제1그룹의 컴포넌트들(131-1~131-4)로 출력할 수 있다(S1160).
인에이블된 제1그룹의 컴포넌트들(131-1~131-4)은, 비활성화된 인터페이스 인에이블 신호들(IFENs) 중 상응하는 어느 하나에 응답하여 디스에이블되고, 제1신호 경로(PATH1)는 비활성화될 수 있다(S1165).
도 10부터 도 12에서는 설명의 편의를 위해 하나의 요청(REQ)을 처리하는 단계만을 도시하였으나, 일반적으로 SoC(10) 내에서는 수많은 요청들이 병렬적으로 수행되므로, 도 10부터 도 12에 도시된 단계들 각각은 요청들 각각에 대응하여 병렬적으로 수행될 수 있다.
도 13은 본 발명의 실시 예에 따른 전자 시스템의 실시 예를 나타내는 블록도이다.
도 1과 도 13을 참조하면, 전자 시스템(1200, 1300, 1400, 또는 1500)은 PC(personal computer), 데이터 서버, 또는 휴대용(또는 모바일) 전자 기기로 구현될 수 있다.
휴대용(또는 모바일) 전자 기기는 이동 전화기, 스마트폰(smart phone), 태블릿(tablet) PC, 랩탑 컴퓨터, PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 웨어러블 기기(wearable device)로 구현될 수 있다.
전자 시스템(1200, 1300, 1400, 또는 1500)은 프로세서(1210), 파워 소스(1220), 저장 장치(1230), 메모리(1240), 입출력 포트들(1250), 확장 카드(1260), 네트워크 장치(1270), 및 디스플레이(1280)를 포함한다. 실시 예에 따라. 전자 시스템(1200, 1300, 1400, 또는 1500)은 카메라 모듈(1290)을 더 포함할 수 있다.
프로세서(1210)는 도 1에 도시된 SoC(10)를 의미한다. 프로세서(1210)는 멀티-코어 프로세서일 수 있다. 프로세서(1210)는 구성 요소들(elements; 1210~1280) 각각의 동작을 제어하는 복수의 컨트롤러들을 포함할 수 있다. 상기 복수의 컨트롤러들 각각은 도 1에 도시된 복수의 마스터들(200-1~200-m) 중에서 어느 하나이거나, 복수의 슬레이브들(300-1~300-n) 중에서 어느 하나일 수 있다.
파워 소스(1220)는 구성 요소들(1210~1280) 중에서 적어도 하나로 동작 전압을 공급할 수 있다.
저장 장치(1230)는 하드디스크 드라이브(hard disk drive) 또는 SSD(solid state drive)로 구현될 수 있다.
메모리(1240)는 휘발성 메모리 또는 불휘발성 메모리로 구현될 수 있다. 실시 예에 따라, 메모리(1240)에 대한 데이터 액세스 동작, 예컨대, 리드 동작, 라이트 동작(또는 프로그램 동작), 또는 이레이즈 동작을 제어할 수 있는 메모리 컨트롤러는 프로세서(1210)에 집적 또는 내장될 수 있다. 다른 실시 예에 따라, 상기 메모리 컨트롤러는 프로세서(1210)와 메모리(1240) 사이에 구현될 수 있다.
입출력 포트들(1250)은 전자 시스템(1200, 1300, 1400, 또는 1500)으로 데이터를 전송하거나 또는 전자 시스템(1200, 1300, 1400, 또는 1500)으로부터 출력된 데이터를 외부 장치로 전송할 수 있는 포트들을 의미한다. 예컨대, 입출력 포트들(1250)은 컴퓨터 마우스와 같은 포인팅 장치(pointing device)를 접속하기 위한 포트, 프린터를 접속하기 위한 포트, 또는 USB 드라이브를 접속하기 위한 포트일 수 있다.
확장 카드(1260)는 SD(secure digital) 카드 또는 MMC(multimedia card)로 구현될 수 있다. 실시 예에 따라, 확장 카드(1260)는 SIM(subscriber identification module) 카드 또는 USIM(universal subscriber identity Module) 카드일 수 있다.
네트워크 장치(1270)는 전자 시스템(1200, 1300, 1400, 또는 1500)을 유선 네트워크 또는 무선 네트워크에 접속시킬 수 있는 장치를 의미한다.
디스플레이(1280)는 저장 장치(1230), 메모리(1240), 입출력 포트들(1250), 확장 카드(1260), 또는 네트워크 장치(1270)로부터 출력된 데이터를 디스플레이할 수 있다.
카메라 모듈(1290)은 광학 이미지를 전기적인 이미지로 변환할 수 있는 모듈을 의미한다. 따라서, 카메라 모듈(1290)로부터 출력된 전기적인 이미지는 저장 장치(1230), 메모리(1240), 또는 확장 카드(1260)에 저장될 수 있다. 또한, 카메라 모듈(1290)로부터 출력된 전기적인 이미지는 디스플레이(1280)를 통하여 디스플레이될 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 시스템 온 칩(system on chip(SoC))
100: 인터커넥터(interconnector)
MI_1~MI_m: 마스터 인터페이스
SI_1~SI_n: 슬레이브 인터페이스
118: 요청 테이블
120A, 120B: 인터페이스 인에이블 신호(interface enable signal(IFEN)) 생성기
130-1, 130-2: 인터페이스 회로
131-1~131-k, 132-1~132-k: 컴포넌트
135-1, 135-3: 클럭 게이팅 블록
138-1, 138-3: OR 연산 블록
200-1~200-m: 마스터
300-1~300-n: 슬레이브
400: 클럭 생성기
1200, 1300, 1400, 1500: 전자 시스템

Claims (20)

  1. 복수의 마스터 인터페이스들(master interfaces);
    복수의 슬레이브 인터페이스들(slave interfaces); 및
    상기 복수의 마스터 인터페이스들과 상기 복수의 슬레이브 인터페이스들 사이에 접속되고, 복수의 컴포넌트들을 포함하는 인터페이스 회로를 포함하고,
    상기 복수의 마스터 인터페이스들 중에서 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제1슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제1슬레이브 인터페이스 사이에 제1신호 경로를 형성하기 위한 제1그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블되고,
    상기 제1마스터 인터페이스는, 제1마스터로부터 전송된 제1요청에 따라, 상기 제1슬레이브 인터페이스를 선택하고,
    상기 제1그룹의 컴포넌트들은, 상기 제1요청이 상기 제1슬레이브 인터페이스로 전송되기 전에, 상기 제1마스터 인터페이스의 제어에 따라 인에이블되는 시스템 온 칩(system on chip(SoC)).
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 제1슬레이브 인터페이스는, 상기 제1요청에 의해 제1슬레이브로부터 전송된 제1응답을 상기 제1신호 경로를 통해 상기 제1마스터 인터페이스로 전송하는 SoC.
  5. 제4항에 있어서,
    인에이블된 상기 제1그룹의 컴포넌트들은, 상기 제1응답이 상기 제1마스터 인터페이스로 전송된 후에, 상기 제1마스터 인터페이스의 제어에 따라 디스에이블되는 SoC.
  6. 제1항에 있어서,
    상기 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제2슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제2슬레이브 인터페이스 사이에 제2신호 경로를 형성하기 위한 제2그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블되는 SoC.
  7. 제6항에 있어서,
    상기 제1마스터 인터페이스는, 제1마스터로부터 전송된 제2요청에 따라, 상기 제2슬레이브 인터페이스를 선택하는 SoC.
  8. 제6항에 있어서,
    상기 제1그룹의 컴포넌트들 중의 일부는 상기 제1신호 경로와 상기 제2신호 경로에 의해 공유되는 SoC.
  9. 제1항에 있어서,
    상기 제1그룹의 컴포넌트들 각각으로 대응되는 클럭 신호를 공급하는 클럭 신호 생성기를 더 포함하는 SoC.
  10. 제1항에 있어서,
    상기 제1마스터 인터페이스는,
    상기 제1그룹의 컴포넌트들 각각을 인에이블시키기 위한 인에이블 신호들 각각을 생성하는 인에이블 신호 생성기를 포함하는 SoC.
  11. 제10항에 있어서,
    상기 제1마스터 인터페이스는 메모리를 더 포함하고,
    상기 제1마스터 인터페이스는 제1마스터로부터 전송된 제1요청을 디코드하고, 디코드 결과에 따라 상기 제1신호 경로를 형성하는 상기 제1그룹의 컴포넌트들에 대한 정보를 생성하고, 생성된 정보를 상기 메모리에 저장하고,
    상기 인에이블 신호 생성기는 상기 메모리에 저장된 상기 정보에 따라 상기 인에이블 신호들을 생성하는 SoC.
  12. 제1항에 있어서,
    상기 복수의 컴포넌트들 각각은,
    M-to-1 스위치 회로, 1-to-N 스위치 회로, 및 브릿지 회로 중에서 어느 하나이고,
    M과 N은 1보다 큰 자연수인 SoC.
  13. 시스템 온 칩(system on chip(SoC)); 및
    상기 SoC의 제어에 따라 작동하는 디스플레이를 포함하고,
    상기 SoC는,
    복수의 마스터 인터페이스들(master interfaces);
    복수의 슬레이브 인터페이스들(slave interfaces); 및
    상기 복수의 마스터 인터페이스들과 상기 복수의 슬레이브 인터페이스들 사이에 접속되고, 복수의 컴포넌트들을 포함하는 인터페이스 회로를 포함하고,
    상기 복수의 마스터 인터페이스들 중에서 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제1슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제1슬레이브 인터페이스 사이에 제1신호 경로를 형성하기 위한 제1그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블되고,
    상기 제1마스터 인터페이스는, 제1마스터로부터 전송된 제1요청에 따라, 상기 제1슬레이브 인터페이스를 선택하고,
    상기 제1그룹의 컴포넌트들은, 상기 제1요청이 상기 제1슬레이브 인터페이스로 전송되기 전에, 상기 제1마스터 인터페이스의 제어에 따라 인에이블되는 모바일 전자 기기.
  14. 삭제
  15. 제13항에 있어서,
    상기 제1슬레이브 인터페이스는, 상기 제1요청에 의해 제1슬레이브로부터 전송된 제1응답을 상기 제1신호 경로를 통해 상기 제1마스터 인터페이스로 전송하는 모바일 전자 기기.
  16. 제15항에 있어서,
    인에이블된 상기 제1그룹의 컴포넌트들은, 상기 제1응답이 상기 제1마스터 인터페이스로 전송된 후에, 상기 제1마스터 인터페이스의 제어에 따라 디스에이블되는 모바일 전자 기기.
  17. 제13항에 있어서,
    상기 제1마스터 인터페이스와 상기 복수의 슬레이브 인터페이스들 중에서 제2슬레이브 인터페이스가 쌍을 이룰 때, 상기 복수의 컴포넌트들 중에서, 상기 제1마스터 인터페이스와 상기 제2슬레이브 인터페이스 사이에 제2신호 경로를 형성하기 위한 제2그룹의 컴포넌트들이 상기 제1마스터 인터페이스의 제어에 따라 인에이블되는 모바일 전자 기기.
  18. 제17항에 있어서,
    상기 제1그룹의 컴포넌트들 중의 일부는 상기 제1신호 경로와 상기 제2신호 경로에 의해 공유되는 모바일 전자 기기.
  19. 제13항에 있어서,
    상기 SoC는,
    상기 제1그룹의 컴포넌트들 각각으로 대응되는 클럭 신호를 공급하는 클럭 신호 생성기를 더 포함하는 모바일 전자 기기.
  20. 제13항에 있어서,
    상기 제1마스터 인터페이스는,
    상기 제1그룹의 컴포넌트들 각각을 인에이블시키기 위한 인에이블 신호들 각각을 생성하는 인에이블 신호 생성기를 포함하는 모바일 전자 기기.
KR1020140175966A 2014-12-09 2014-12-09 시스템 온 칩과 이를 포함하는 모바일 전자 기기 KR102280734B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140175966A KR102280734B1 (ko) 2014-12-09 2014-12-09 시스템 온 칩과 이를 포함하는 모바일 전자 기기
US14/962,373 US9984019B2 (en) 2014-12-09 2015-12-08 System on chip (SoC), mobile electronic device including the same, and method of operating the SoC
US15/989,539 US10229079B2 (en) 2014-12-09 2018-05-25 System on chip (SoC), mobile electronic device including the same, and method of operating the SoC
US16/273,621 US10579564B2 (en) 2014-12-09 2019-02-12 System on chip (SoC), mobile electronic device including the same, and method of operating the SoC

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140175966A KR102280734B1 (ko) 2014-12-09 2014-12-09 시스템 온 칩과 이를 포함하는 모바일 전자 기기

Publications (2)

Publication Number Publication Date
KR20160069841A KR20160069841A (ko) 2016-06-17
KR102280734B1 true KR102280734B1 (ko) 2021-07-21

Family

ID=56286610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140175966A KR102280734B1 (ko) 2014-12-09 2014-12-09 시스템 온 칩과 이를 포함하는 모바일 전자 기기

Country Status (2)

Country Link
US (3) US9984019B2 (ko)
KR (1) KR102280734B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102280734B1 (ko) 2014-12-09 2021-07-21 삼성전자주식회사 시스템 온 칩과 이를 포함하는 모바일 전자 기기
JP7199885B2 (ja) * 2018-09-14 2023-01-06 キヤノン株式会社 メモリ制御装置
EP3796128B1 (en) * 2019-09-23 2023-08-30 NXP USA, Inc. Power mode transition management for power supply
US11592889B2 (en) 2021-05-12 2023-02-28 Apple Inc. Die-to-die dynamic clock and power gating

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100591524B1 (ko) 2004-05-14 2006-06-19 삼성전자주식회사 버스 구조하에서 다이나믹 클록 게이팅이 가능한 슬레이브장치 및 그 동작방법
US20070162642A1 (en) 2005-12-19 2007-07-12 Ivo Tousek A dma controller with multiple intra-channel software request support
US20080028226A1 (en) * 2006-07-31 2008-01-31 Brocker Matthew W System-on-a-chip and method for securely transferring data on a system-on-a-chip
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
JP2008305215A (ja) 2007-06-08 2008-12-18 Panasonic Corp バスシステム
JP2010021793A (ja) 2008-07-10 2010-01-28 Toshiba Corp 半導体集積回路装置および消費電力制御方法
US20110202788A1 (en) 2010-02-12 2011-08-18 Blue Wonder Communications Gmbh Method and device for clock gate controlling
US9285860B2 (en) 2010-05-03 2016-03-15 Qualcomm Incorporated Apparatus and methods employing variable clock gating hysteresis for a communications port
US8402295B2 (en) 2010-07-09 2013-03-19 Qualcomm Incorporated Techniques employing flits for clock gating
KR101842245B1 (ko) 2011-07-25 2018-03-26 삼성전자주식회사 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법
US20130117593A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Low Latency Clock Gating Scheme for Power Reduction in Bus Interconnects
JP2013106166A (ja) 2011-11-14 2013-05-30 Sony Corp クロックゲーティング回路およびバスシステム
KR101949382B1 (ko) * 2012-04-04 2019-02-18 삼성전자주식회사 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법
US9323315B2 (en) 2012-08-15 2016-04-26 Nvidia Corporation Method and system for automatic clock-gating of a clock grid at a clock source
US8873576B2 (en) 2012-09-14 2014-10-28 Broadcom Corporation Dynamic clock gating in a network device
CN104571294A (zh) * 2013-10-22 2015-04-29 英业达科技有限公司 服务器系统
KR102206313B1 (ko) * 2014-02-07 2021-01-22 삼성전자주식회사 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
KR102280734B1 (ko) 2014-12-09 2021-07-21 삼성전자주식회사 시스템 온 칩과 이를 포함하는 모바일 전자 기기

Also Published As

Publication number Publication date
US20180276160A1 (en) 2018-09-27
US10229079B2 (en) 2019-03-12
US10579564B2 (en) 2020-03-03
US20160196227A1 (en) 2016-07-07
US20190171597A1 (en) 2019-06-06
KR20160069841A (ko) 2016-06-17
US9984019B2 (en) 2018-05-29

Similar Documents

Publication Publication Date Title
US11694066B2 (en) Machine learning runtime library for neural network acceleration
US10579564B2 (en) System on chip (SoC), mobile electronic device including the same, and method of operating the SoC
EP3274853B1 (en) Direct memory access descriptor processing
US9569398B2 (en) Routing data communications packets in a parallel computer
US7953957B2 (en) Mapping and distributing parallel algorithms to compute nodes in a parallel computer based on temperatures of the compute nodes in a hardware profile and a hardware independent application profile describing thermal characteristics of each parallel algorithm
US20170323045A1 (en) Method and system for designing fpga based on hardware requirements defined in source code
US9223505B2 (en) Administering inter-core communication via shared memory
US8756360B1 (en) PCI-E compatible chassis having multi-host capability
US20120266029A1 (en) Arrangement for processing trace data information, integrated circuits and a method for processing trace data information
US20150193269A1 (en) Executing an all-to-allv operation on a parallel computer that includes a plurality of compute nodes
KR102352756B1 (ko) 애플리케이션 프로세서, 시스템 온 칩, 및 이를 포함하는 컴퓨팅 장치
CN111782580B (zh) 复杂计算装置、方法、人工智能芯片和电子设备
CN107301151B (zh) 一种主板以及服务器
US9459932B2 (en) Administering a lock for resources in a distributed computing environment
US20190305599A1 (en) Near field communication integrated circuit and wireless communication device including the same
US9571329B2 (en) Collective operation management in a parallel computer
KR20110115983A (ko) 데이터 프로세서 및 데이터 처리 시스템
US20190171488A1 (en) Data token management in distributed arbitration systems
US9141183B2 (en) Collective operation management in a parallel computer
US8140889B2 (en) Dynamically reassigning a connected node to a block of compute nodes for re-launching a failed job
JP5129040B2 (ja) 共有メモリを用いたバス通信装置
US9513611B2 (en) Adjusting environmental variables in an adaptive parameter adjustment runtime environment
US9473545B2 (en) Administering group identifiers of processes in a parallel computer
US10789206B2 (en) System and method for parallel storage transformation
US20150193283A1 (en) Executing a gather operation on a parallel computer that includes a plurality of compute nodes

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