KR101949382B1 - 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법 - Google Patents

서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법 Download PDF

Info

Publication number
KR101949382B1
KR101949382B1 KR1020120034760A KR20120034760A KR101949382B1 KR 101949382 B1 KR101949382 B1 KR 101949382B1 KR 1020120034760 A KR1020120034760 A KR 1020120034760A KR 20120034760 A KR20120034760 A KR 20120034760A KR 101949382 B1 KR101949382 B1 KR 101949382B1
Authority
KR
South Korea
Prior art keywords
signal
intelligent
slave
master
master intelligent
Prior art date
Application number
KR1020120034760A
Other languages
English (en)
Other versions
KR20130112404A (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 KR1020120034760A priority Critical patent/KR101949382B1/ko
Priority to US13/790,104 priority patent/US9367499B2/en
Publication of KR20130112404A publication Critical patent/KR20130112404A/ko
Application granted granted Critical
Publication of KR101949382B1 publication Critical patent/KR101949382B1/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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/16Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different main groups of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. forming hybrid circuits
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Power Engineering (AREA)
  • Bus Control (AREA)

Abstract

시스템 온 칩은 적어도 하나의 슬레이브 지능 소자, 복수의 마스터 지능 소자들, 복수의 서비스 제어기들 및 상호접속 장치를 포함한다. 상기 서비스 제어기들은 상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생한다. 상기 상호접속 장치는 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어한다.

Description

서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법{System on chip of enhancing quality of service and method of controlling a system on chip}
본 발명은 반도체 집적 회로에 관한 것으로서, 더욱 상세하게는 복수의 마스터 지능 소자들의 서비스 품질 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법에 관한 것이다.
시스템 온 칩(SOC: system on chip)은 여러 가지 반도체 부품들이 하나로 집적되는 하나의 칩 또는 그 칩에 집적된 시스템을 말한다. 컴퓨터, 통신, 방송 등이 점차 통합(Convergence)됨에 따라서 기존의 주문형 반도체(ASIC: application specific integrated circuit)와 특정용도 표준제품(ASSP: application specific standard product)의 수요가 점차 시스템 온 칩으로 전환되어 가고 있는 추세이다. 또한 전자 기기의 경박단소화 및 고기능화 추세도 시스템 온 칩 산업을 촉진시키는 요인이 되고 있다.
시스템 온 칩의 집적도 향상에 따라서 더 많은 부품들이 하나의 칩에 집적되고 시스템 온 칩의 동작 속도도 점진적으로 증가하고 있다. 특히 칩 내에 내재되어 있는 여러 지능 소자(IP: intellectual property)들을 연결하는 방안이 매우 중요한 사항으로 대두되고 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 트래픽 상황 및 지능 소자들의 동작 특성에 따라서 효율적으로 리퀘스트 플로우를 조절할 수 있는 상호접속 장치 및 이를 포함하는 시스템 온 칩을 제공하는 것이다.
본 발명의 다른 목적은, 시스템의 트래픽 상황 및 지능 소자들의 동작 특성에 따라서 효율적으로 리퀘스트 플로우를 조절할 수 있는 시스템 온 칩의 제어 방법을 제공하는 것이다.
본 발명의 또 다른 목적은, 시스템의 트래픽 상황 및 지능 소자들의 동작 특성에 따라서 효율적으로 리퀘스트 플로우를 조절할 수 있는 다중 계층 상호접속 장치를 포함하는 시스템 온 칩을 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 시스템 온 칩은 적어도 하나의 슬레이브 지능 소자, 복수의 마스터 지능 소자들, 복수의 서비스 제어기들 및 상호접속 장치를 포함한다.
상기 마스터 지능 소자들은 상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생한다. 상기 서비스 제어기들은 상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생한다.
상기 상호접속 장치는 각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어한다.
상기 상호접속 장치는 상기 긴급 정보들 중에서 적어도 하나에 기초하여 제한 신호를 발생하는 제한 신호 발생기를 포함할 수 있고, 상기 서비스 제어기들 중에서 적어도 하나의 서비스 제어기는 상기 제한 신호에 기초하여 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 리퀘스트 플로우를 제한하는 제한기를 포함할 수 있다.
상기 제한 신호 발생기는 상기 제한 신호를 수신하는 상기 서비스 제어기를 제외한 다른 서비스 제어기들로부터 발생된 상기 긴급 정보들에 기초하여 상기 제한 신호를 발생할 수 있다.
상기 적어도 하나의 서비스 제어기는 동기화기 및 마스크부를 포함할 수 있다. 상기 동기화기는 상기 상호접속 장치로부터의 상기 제한 신호에 기초하여 동기 제한 신호를 발생할 수 있다. 상기 마스크부는 상기 동기 제한 신호에 응답하여 상기 상응하는 마스터 지능 소자로부터의 상기 리퀘스트를 제한할 수 있다.
상기 동기화기는 상기 상호접속 장치의 글로벌 클록 신호의 하강 에지들에 응답하여 상기 제한 신호를 샘플링하여 상기 동기 제한 신호를 발생하는 플립플롭을 포함할 수 있다.
상기 마스크부는, 제1 논리 게이트 및 제2 논리 게이트를 포함할 수 있다. 상기 제1 논리 게이트는 상기 동기 제한 신호 및 상기 상응하는 마스터 지능 소자로부터의 밸리드 신호를 논리 연산하여 마스크 밸리드 신호를 출력할 수 있다. 상기 제2 논리 게이트는 상기 동기 제한 신호 및 상기 상호접속 장치로부터의 레디 신호를 논리 연산하여 마스크 레디 신호를 출력할 수 있다.
상기 서비스 제어기들의 각각은, 상기 상응하는 마스터 지능 소자의 요구수준을 실시간으로 검출하여 현재 요구수준을 발생하는 모니터 및 기준값 및 상기 현재 요구수준에 기초하여 상기 긴급 정보 및 상기 우선순위 정보를 발생하는 정보 발생기를 포함할 수 있다.
상기 모니터는, 상기 상응하는 마스터 지능 소자의 대역폭을 실시간으로 검출하여 현재 대역폭 레벨을 발생하는 대역폭 모니터, 및 상기 상응하는 마스터 지능 소자의 레이턴시를 실시간으로 검출하여 현재 레이턴시 레벨을 발생하는 레이턴시 모니터 중에서 적어도 하나를 포함할 수 있다.
상기 대역폭 모니터는, 상기 상응하는 마스터 지능 소자의 동작 클록 신호 및 단위 데이터 소비량에 기초하여 레벨 감소 신호를 발생하는 소비 데이터 검출기, 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 채널 신호에 기초하여 레벨 증가 신호를 발생하는 서비스 데이터 검출기, 및 상기 레벨 감소 신호 및 상기 레벨 증가 신호에 기초하여 상기 현재 대역폭 레벨을 발생하는 가상 버퍼를 포함할 수 있다.
상기 레이턴시 모니터는, 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 채널 신호에 기초하여 현재 레이턴시를 발생하는 레이턴시 검출기, 상기 현재 레이턴시 및 기준 레이턴시의 차이를 계산하여 레이턴시 변화값을 출력하는 감산기, 및 상기 레이턴시 변화값을 누산하여 상기 현재 레이턴시 레벨을 발생하는 축적기를 포함할 수 있다.
상기 레이턴시 검출기는 상기 채널 신호 중에서 상기 상응하는 마스터 지능 소자로부터 제공되는 리퀘스트 요청 신호 및 상기 상호접속 장치로부터 제공되는 리퀘스트 완료 신호에 기초하여 상기 현재 레이턴시를 발생할 수 있다.
상기 상호접속 장치는 상기 우선정보 신호들에 기초하여 상기 마스터 지능 소자들의 상기 리퀘스트들 중에서 하나의 선택된 리퀘스트를 출력하는 중재 회로, 상기 긴급 정보들에 기초하여 복수의 차단 제어 신호들을 발생하는 차단 제어 신호 발생기, 및 상기 차단 제어 신호들에 응답하여 상기 리퀘스트들의 상기 중재 회로로의 입력을 차단하는 차단부를 포함할 수 있다.
상기 차단 제어 신호 발생기는 상기 마스터 지능 소자들의 동작 특성에 따른 서로 다른 조건들을 만족할 때 상기 차단 제어 신호들을 각각 활성화할 수 있다.
상기 차단부는 상기 차단 제어 신호들에 응답하여 상기 중재 회로로 입력되는 밸리드 신호들을 차단할 수 있다.
상기 상호접속 장치는 상기 마스터 지능 소자들에 직접 연결된 제1 버스 및 상기 제1 버스와 상기 슬레이브 지능 소자 사이에 케스케이드 결합된 적어도 하나의 제2 버스를 포함하는 다중 계층 상호접속 장치일 수 있다.
상기 마스터 지능 소자들로부터의 상기 긴급 정보들 및 상기 우선순위 정보들은 상기 제1 버스를 통하여 상기 제2 버스로 전달되어 상기 제2 버스에서의 중재 동작 및 상기 제2 버스와 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우의 제어에 제공될 수 있다.
상기 제1 버스는 상기 마스터 지능 소자들로부터의 상기 긴급 정보들에 기초하여 조합 긴급 정보를 발생하고, 상기 제2 버스는 상기 조합 긴급 정보에 기초하여 상기 제1 버스를 경유하지 않고 상기 제2 버스에 연결된 마스터 지능 소자와 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어할 수 있다.
상기 제1 버스 및 상기 제2 버스의 각각은 다중 아웃스탠딩 리퀘스트들을 저장하기 위한 각각의 리퀘스트 큐들을 포함할 수 있다.
상기 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따라서, 적어도 하나의 슬레이브 지능 소자 및 상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들이 상호접속 장치에 연결된 시스템 온 칩의 제어 방법이 제공된다.
상기 마스터 지능 소자들의 동작 특성에 기초하여 상기 마스터 지능 소자들의 각각의 대역폭 및 레이턴시 중에서 적어도 하나를 검출한다. 상기 대역폭 및 레이턴시 중에서 적어도 하나에 기초하여 긴급 정보들 및 우선순위 정보들을 실시간으로 발생한다. 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행한다. 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어한다.
상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 단계는, 상기 긴급 정보들 중에서 적어도 하나에 기초하여 제한 신호를 발생하는 단계, 및 상기 제한 신호에 기초하여 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 리퀘스트 플로우를 제한하는 단계를 포함할 수 있다.
상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 단계는, 상기 긴급 정보들에 기초하여 복수의 차단 제어 신호들을 발생하는 단계, 및 상기 차단 제어 신호들에 응답하여, 상기 마스터 지능 소자들이 직접 연결된 제1 버스의 중재 회로로 상기 리퀘스트들이 입력되는 것을 차단하는 단계를 포함할 수 있다.
상기 복수의 차단 제어 신호들을 발생하는 단계는, 상기 마스터 지능 소자들의 동작 특성에 따른 서로 다른 조건들을 만족할 때 상기 차단 제어 신호들을 각각 활성화하는 단계를 포함할 수 있다.
상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 단계는, 상기 긴급 정보들에 기초하여 조합 긴급 정보를 발생하는 단계, 상기 조합 긴급 정보를 상기 제1 버스에 케스케이드 결합된 적어도 하나의 제2 버스에 전달하는 단계, 및 상기 조합 긴급 정보에 기초하여, 상기 제1 버스를 경유하지 않고 상기 제2 버스에 연결된 마스터 지능 소자와 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 단계를 더 포함할 수 있다.
상기 대역폭 및 레이턴시 중에서 적어도 하나를 검출하는 단계는, 상기 상응하는 마스터 지능 소자에 포함된 데이터 버퍼의 점유율을 추출하는 단계, 및 상기 상응하는 마스터 지능 소자로부터의 현재 레이턴시 및 기준 레이턴시의 차이들을 누적하는 단계 중에서 적어도 하나를 포함할 수 있다.
상기 리퀘스트들은 밸리드 신호 및 레디 신호를 이용하는 핸드쉐이크 방식에 따라서 전송될 수 있고, 이 경우, 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 단계는, 상기 밸리드 신호 및 상기 레디 신호 중에서 적어도 하나를 비활성화하는 단계를 포함할 수 있다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템 온 칩의 상호접속 장치는 중재 회로, 차단 제어 신호 발생기 및 차단부를 포함한다. 상기 중재 회로는 복수의 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 우선정보 신호들에 기초하여 상기 마스터 지능 소자들의 상기 리퀘스트들 중에서 하나의 선택된 리퀘스트를 출력한다. 상기 차단 제어 신호 발생기는 상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들에 기초하여 복수의 차단 제어 신호들을 발생한다. 상기 차단부는 상기 차단 제어 신호들에 응답하여 상기 리퀘스트들의 상기 중재 회로로의 입력을 차단한다.
상기 또 다른 목적을 달성하기 위해, 본 발명의 실시예들에 따른 시스템 온 칩은 적어도 하나의 슬레이브 지능 소자, 상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들, 복수의 서비스 제어기들 및 다중 계층 상호접속 장치를 포함한다.
상기 서비스 제어기들은 상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생한다. 상기 다중 계층 상호접속 장치는 상기 마스터 지능 소자들에 직접 연결된 제1 버스 및 상기 제1 버스와 상기 슬레이브 지능 소자 사이에 케스케이드 결합된 적어도 하나의 제2 버스를 포함한다. 상기 다중 계층 상호접속 장치는 각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어한다.
본 발명의 실시예들에 따른 시스템 온 칩 및 시스템 온 칩의 제어 방법은 마스터 지능 소자들의 동작 특성에 따라서 결정된 서비스 제어기들을 이용하여 긴급 정보 및 우선순위 정보를 제공함으로써 각 마스터 지능 소자들의 동작 특성에 따라서 중재 동작 및 리퀘스트 플로우(request flow)를 적응적으로 제어하여 서비스 품질(QOS: quality of service)을 향상시킬 수 있다.
본 발명의 실시예들에 따른 시스템 온 칩 및 시스템 온 칩의 제어 방법은 원활한 트래픽(light traffic) 상황에서는 상기 우선순위 정보에 기초하여 경합된 리퀘스트들의 효율적인 중재 동작을 수행할 수 있고 정체된 트래픽(heavy traffic) 상황에서는 상기 긴급 정보에 기초하여 상대적으로 낮은 요구수준(requirement level)을 갖는 마스터 지능 소자의 리퀘스트 플로우를 제한하여 상대적으로 높은 요구수준을 갖는 마스터 지능 소자의 동작을 보장함으로써 서비스 품질을 향상시킬 수 있다.
본 발명의 실시예들에 따른 다중 계층 상호접속 구조(multilayer interconnect structure)의 시스템 온 칩 및 시스템 온 칩의 제어 방법은 상기 긴급 정보 및 상기 우선순위 정보의 계층간 전송을 통하여 전체 시스템의 리퀘스트 플로우를 효율적으로 제어함으로써 서비스 품질을 더욱 향상시킬 수 있다.
도 1은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 시스템 제어 방법을 나타내는 순서도이다.
도 3은 본 발명의 실시예들에 따른 서비스 제어기를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 대역폭 검출을 위한 버퍼 모델을 나타내는 도면이다.
도 5는 도 4의 버퍼 모델을 이용하는 서비스 제어기의 일 예를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 레이턴시 검출을 위한 축적기 모델을 나타내는 도면이다.
도 7은 도 6의 축적기 모델을 이용하는 서비스 제어기의 일 예를 나타내는 블록도이다.
도 8은 도 7의 서비스 제어기에 포함되는 레이턴시 검출기의 일 예를 나타내는 블록도이다.
도 9는 본 발명의 실시예들에 따른 시스템에 의해 수행되는 트랜잭션의 일 예 및 도 8의 레이턴시 검출기에 의해 검출되는 현재 레이턴시를 설명하기 위한 타이밍도이다.
도 10은 본 발명의 일 실시예에 따른 서비스 제어기를 나타내는 블록도이다.
도 11은 본 발명의 실시예들에 따른 정보 발생 방법을 나타내는 순서도이다.
도 12는 도 3에 포함되는 제한기를 나타내는 블록도이다.
도 13a는 도 3에 포함되는 제한기의 일 예를 나타내는 회로도이다.
도 13b는 도 13a의 제한기의 동작을 나타내는 타이밍도이다.
도 14a는 도 3에 포함되는 제한기의 다른 예를 나타내는 회로도이다.
도 14b는 도 14a의 제한기의 동작을 나타내는 타이밍도이다.
도 15는 도 1의 시스템에 포함되는 상호접속 장치의 일 예를 나타내는 블록도이다.
도 16은 도 15의 상호접속 장치에 포함되는 플로우 제어 신호 발생기의 일 예를 나타내는 블록도이다.
도 17은 도 16의 플로우 제어 신호 발생기에서 발생되는 차단 제어 신호들의 활성화 조건들의 일 예를 나타내는 도면이다.
도 18, 19 및 20은 도 16의 플로우 제어 신호 발생기에 포함되는 차단 제어 신호 발생기의 일 예를 나타내는 회로도들이다.
도 21 및 22는 도 16의 플로우 제어 신호 발생기에 포함되는 제한 신호 발생기의 일 예를 나타내는 회로도들이다.
도 23은 본 발명의 실시예들에 따른 다중 계층 구조의 시스템을 나타내는 블록도이다.
도 24는 도 23의 시스템에 포함되는 제2 버스의 제한 신호 발생기의 일 예를 나타내는 회로도이다.
도 25는 도 23의 버스 내에 저장되는 리퀘스트의 구조의 일 예를 나타내는 도면이다.
도 26은 도 23의 버스들 사이에 전달되는 우선순위 정보의 일 예를 나타내는 도면이다.
도 27은 도 23의 시스템에 포함되는 상호접속 장치의 일 예를 나타내는 블록도이다.
도 28은 도 27의 상호접속 장치의 동작을 나타내는 타이밍도이다.
도 29는 본 발명의 실시예들에 따른 리퀘스트 플로우의 제어 방법을 나타내는 순서도이다.
도 30은 본 발명의 실시예들에 따른 시스템 온 칩을 전자 기기에 응용한 예를 나타내는 블록도이다.
도 31은 도 30의 전자 기기에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
100, 101, 102, 103, 104: 마스터 지능 소자
10, 10a, 10b, 10c: 상호 접속 장치
301, 302, 303: 슬레이브 지능 소자
500, 501, 502, 503, 504: 서비스 제어기
PRT: 우선순위 정보
UGNT: 긴급 정보
LMT: 제한 신호
BKCTR: 차단 제어 신호
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다. 이하, 언급되는 시스템은 여러 가지 반도체 부품들이 하나의 칩에 집적된 시스템 온 칩(SOC)을 포함할 수 있다.
도 1을 참조하면, 시스템(1000)은 슬레이브(slave) 지능 소자(IP, intellectual property)들(SLAVE1, SLAVE2, SLAVE3)(301, 302, 303), 마스터(master) 지능 소자들(MASTER1, MASTER2, MASTER3, MASTER4)(101, 102, 103, 104), 서비스 제어기(service controller)들(QC1, QC2, QC3, QC4)(501, 502, 503, 504) 및 상호접속 장치(interconnect device)(10)를 포함한다.
복수의 마스터 지능 소자들(101, 102, 103, 104)은 적어도 하나의 슬레이브 지능 소자(301, 302, 303)에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생한다.
복수의 서비스 제어기들(501, 502, 503, 504)은 마스터 지능 소자들(301, 302, 303, 304)의 각각의 서비스 요구수준들을 나타내는 긴급 정보들(UGNT1, UGNT2, UGNT3, UGNT4) 및 우선순위 정보들(PRT1, PRT2, PRT3, PRT4)을 실시간으로 발생한다.
슬레이브 지능 소자들(301, 302, 303) 및 마스터 지능 소자들(101, 102, 103, 104)은 각각의 채널(channel)을 통하여 상호접속 장치(10)에 연결된다. 상호접속 장치(10)는 우선순위 정보들(PRT1, PRT2, PRT3, PRT4)에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 긴급 정보들(UGNT1, UGNT2, UGNT3, UGNT4)에 기초하여 마스터 지능 소자들(101, 102, 103, 104)과 슬레이브 지능 소자들(301, 302, 303) 사이의 리퀘스트 플로우를 제어한다.
서비스 제어기들(501, 502, 503, 504) 중에서 적어도 하나의 서비스 제어기는 제한기(L)를 포함할 수 있다. 도 1에는 제1 서비스 제어기(501) 및 제4 서비스 제어기(504)가 제한기(L)를 포함하는 예가 도시되어 있다. 제한기(L)는 제한 신호(LMT1, LMT2)에 기초하여 상응하는 마스터 지능 소자(101, 104)와 상호접속 장치(10) 사이의 리퀘스트 플로우를 제한한다.
상호접속 장치(10)는 긴급 정보들(UGNT1, UGNT2, UGNT3, UGNT4) 중 적어도 하나에 기초하여 제한 신호(LMT1, LMT2)를 발생한다.
도 1에 도시된 마스터 지능 소자들 및 슬레이브 지능 소자들의 개수는 다양하게 변경될 수 있고, 마스터 지능 소자의 동작 특성에 따라서, 서비스 제어기들은 서로 다른 구성을 가질 수 있으며, 일부 서비스 제어기는 생략될 수도 있다.
도 2는 본 발명의 실시예들에 따른 시스템 제어 방법을 나타내는 순서도이다.
도 2에는 적어도 하나의 슬레이브 지능 소자 및 상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들이 상호접속 장치에 연결된 시스템의 제어 방법이 도시되어 있다.
도 1 및 도 2를 참조하면, 상기 마스터 지능 소자들의 동작 특성에 기초하여 상기 마스터 지능 소자들의 각각의 대역폭 및 레이턴시 중에서 적어도 하나를 검출한다(단계 S200). 상기 대역폭 및 레이턴시 중에서 적어도 하나에 기초하여 긴급 정보들 및 우선순위 정보들을 실시간으로 발생한다(단계 S400). 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행한다(단계 S600). 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어한다(단계 S800).
이하, 도 3 내지 도 29를 참조하여 도 1의 시스템 및 도 2의 시스템 제어 방법의 다양한 실시예들을 설명한다. 도 3 내지 도 29에서 편의상 실시예들의 설명에 필요한 구성요소들만이 도시될 수 있고 중복되는 설명은 생략될 수 있다.
도 3은 본 발명의 실시예들에 따른 서비스 제어기를 나타내는 블록도이다.
도 3을 참조하면, 서비스 제어기(500)는 제한기(limiter)(510), 모니터(monitor)(530), 정보 발생기(information generator)(INFGEN)(550)를 포함할 수 있다.
제한기(510)는 상호접속 장치(10)로부터 제공되는 제한 신호(LMT)에 기초하여 상응하는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 리퀘스트 플로우를 제한한다. 마스터 지능 소자(100)는 도 1의 복수의 마스터 지능 소자들(101, 102, 103, 104) 중 하나일 수 있다. 상응하는 마스터 지능 소자의 동작 특성에 따라서, 일부의 서비스 제어기는 제한기(510)를 포함하지 않을 수도 있다. 예를 들어, 도 1에 도시된 바와 같이, 제1 및 제4 마스터 지능 소자들(101, 104)은 제한기(L)를 포함하고, 제2 및 제3 마스터 지능 소자들(102, 103)은 제한기(L)를 포함하지 않을 수 있다.
모니터(530)는 상응하는 마스터 지능 소자(100)의 요구수준을 실시간으로 검출하여 현재 요구수준을 발생한다. 도 4 내지 10을 참조하여 후술하는 바와 같이, 모니터(530)는 대역폭 모니터, 레이턴시 모니터 또는 이들의 조합일 수 있다.
정보 발생기(550)는 미리 정해진 기준값 및 모니터(530)로부터 제공되는 상기 현재 요구수준에 기초하여 긴급 정보(UGNT) 및 우선순위 정보(PRT)를 발생한다.
도 4는 본 발명의 일 실시예에 따른 대역폭 검출을 위한 버퍼 모델을 나타내는 도면이다.
마스터 지능 소자의 동작 특성에 따라서 마스터 지능 소자의 요구수준(requirement level)은 대역폭(bandwidth)으로 표현될 수 있다. 대역폭은 일정한 시간에 전송되거나 서비스되는 데이터의 양을 나타낸다. 예를 들어, 마스터 지능 소자는 상호접속 장치를 통하여 연결된 메모리 콘트롤러와 같은 슬레이브 지능 소자로부터 데이터를 서비스 받아서 데이터 버퍼(data buffer)에 저장하고 저장된 데이터를 소비하면서 고유의 기능을 수행할 수 있다.
도 4에는 상기 마스터 지능 소자에 포함되는 데이터 버퍼의 점유 상태가 빗금으로 도시되어 있다. 데이터의 점유 상태는 현재 대역폭 레벨(BCL)로 표현될 수 있고, 슬레이브 지능 소자로부터 데이터가 서비스되면(DATA IN) 현재 대역폭 레벨(BCL)이 증가하고 마스터 지능 소자가 데이터를 소비하면(DATA OUT) 현재 대역폭 레벨(BCL)이 감소한다. 현재 대역폭 레벨(BCL)이 증가할수록 낮은 우선순위(low priority)가 부여되고 현재 대역폭 레벨(BCL)이 감소할수록 높은 우선순위(high priority)가 부여될 수 있다.
한편, 시스템의 전체적인 시나리오(scenario)에 따라서 대역폭 긴급 레벨(BUL) 및 대역폭 초긴급 레벨(BVUL)과 같은 기준값이 결정될 수 있고, 이러한 기준값(BUL, BVUL) 및 현재 대역폭 레벨(BCL)에 기초하여 전술한 긴급 정보(UGNT)를 발생할 수 있다. 현재 대역폭 레벨(BCL)이 대역폭 긴급 레벨(BUL)보다 크면 통상적인(normal) 동작 상태에 해당하고 긴급 정보(UGNT)는 비활성화될 수 있다.
긴급 정보(UGNT)는 긴급한 정도를 표현하는 복수 비트들 또는 복수의 신호들로 표현될 수 있다. 예를 들어, 후술하는 바와 같이, 현재 대역폭 레벨(BCL)이 대역폭 긴급 레벨(BUL)보다 작아지면 긴급 플래그 신호(UG)를 발생하고 현재 대역폭 레벨(BCL)이 대역폭 초긴급 레벨(BVUL)보다 작아지면 초긴급 플래그 신호(VUG)를 발생할 수 있다.
도 5는 도 4의 버퍼 모델을 이용하는 서비스 제어기의 일 예를 나타내는 블록도이다.
도 5를 참조하면, 서비스 제어기(500a)는 대역폭 모니터(530a) 및 정보 발생기(550a)를 포함할 수 있다.
대역폭 모니터(bandwidth monitor)(530a)는 상응하는 마스터 지능 소자의 대역폭을 실시간으로 검출하여 현재 대역폭 레벨(BCL)을 발생한다. 대역폭 모니터(530a)는 소비 데이터 검출기(consumed data detector)(CDET)(531), 서비스 데이터 검출기(serviced data detector)(SDET)(532) 및 가상 버퍼(virtual buffer)(VBUFF)(533)를 포함할 수 있다.
예를 들어, 소비 데이터 검출기(531)는 상응하는 마스터 지능 소자(100)의 동작 클록 신호(CLKm) 및 단위 데이터 소비량(UDA)에 기초하여 레벨 감소 신호(LDEC)를 발생할 수 있다.
서비스 데이터 검출기(532)는 상응하는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 채널 신호(CHN)에 기초하여 레벨 증가 신호(LINC)를 발생할 수 있다.
가상 버퍼(533)는 레벨 감소 신호(LDEC) 및 레벨 증가 신호(LINC)에 기초하여 현재 대역폭 레벨(BCL)을 발생한다.
정보 발생기(550a)는 기준값(BUL, BVUL) 및 현재 대역폭 레벨(BCL)에 기초하여 긴급 정보(UGNT) 및 우선순위 정보(PRT)를 발생한다. 정보 발생기(550a)는 현재 대역폭 레벨(BCL)이 증가할수록 낮은 우선순위를 나타내고 현재 대역폭 레벨(BCL)이 감소할수록 높은 우선순위를 나타내도록 우선순위 정보(PRT)를 발생할 수 있다.
시스템의 전체적인 시나리오에 따라서 대역폭 긴급 레벨(BUL) 및 대역폭 초긴급 레벨(BVUL)과 같은 기준값이 결정될 수 있다. 예를 들어, 기준값(BUL, BVUL)은 시스템(10)의 초기화 과정에서 제공되어 정보 발생기(550a)에 저장될 수 있다. 정보 발생기(550a)는 이러한 기준값(BUL, BVUL) 및 현재 대역폭 레벨(BCL)에 기초하여 긴급 정보(UGNT)를 발생할 수 있다. 예를 들어, 정보 발생기(550a)는 현재 대역폭 레벨(BCL)이 대역폭 긴급 레벨(BUL)보다 작아지면 긴급 플래그 신호(UG)를 발생하고 현재 대역폭 레벨(BCL)이 대역폭 초긴급 레벨(BVUL)보다 작아지면 초긴급 플래그 신호(VUG)를 발생할 수 있다. 정보 발생기(550a)는 저장된 값들 및 입력되는 값들에 응답하여 미리 정해진 프로세스 시퀀스를 수행하는 구성을 갖는 특수 기능 레지스터(special function register)(SFR)로 구현될 수 있다.
도 6은 본 발명의 일 실시예에 따른 레이턴시 검출을 위한 축적기 모델을 나타내는 도면이다.
마스터 지능 소자의 동작 특성에 따라서 마스터 지능 소자의 요구수준은 레이턴시(latency)로 표현될 수 있다. 레이턴시는 마스터 지능 소자가 슬레이브 마스터 지능 소자에 대하여 서비스를 요청한 시점부터 상기 요청한 서비스가 완료되는 시점까지의 시간을 나타내며, 예를 들어, 레이턴시는 클록 신호의 사이클 횟수 등으로 표현될 수도 있다.
도 6에는 상기 마스터 지능 소자의 레이턴시 상태가 빗금으로 표시되는 레이턴시 축적기(latency accumulator)가 도시되어 있다. 레이턴시 상태는 현재 레이턴시 레벨(LCL)로 표현될 수 있고, 레이턴시가 증가하면 현재 대역폭 레벨(LCL)이 증가하고 레이턴시가 감소하면 현재 레이턴시 레벨(LCL)이 감소한다. 현재 레이턴시 레벨(LCL)이 증가할수록 높은 우선순위(low priority)가 부여되고 현재 레이턴시 레벨(LCL)이 감소할수록 낮은 우선순위(high priority)가 부여될 수 있다.
한편, 시스템의 전체적인 시나리오(scenario)에 따라서 레이턴시 긴급 레벨(LUL) 및 레이턴시 초긴급 레벨(LVUL)과 같은 기준값이 결정될 수 있고, 이러한 기준값(LUL, LVUL) 및 현재 레이턴시 레벨(LCL)에 기초하여 전술한 긴급 정보(UGNT)를 발생할 수 있다. 현재 레이턴시 레벨(LCL)이 레이턴시 긴급 레벨(LCL)보다 작으면 통상적인(normal) 동작 상태에 해당하고 긴급 정보(UGNT)는 비활성화될 수 있다.
긴급 정보(UGNT)는 긴급한 정도를 표현하는 복수 비트들 또는 복수의 신호들로 표현될 수 있다. 예를 들어, 후술하는 바와 같이, 현재 레이턴시 레벨(LCL)이 레이턴시 긴급 레벨(LUL)보다 커지면 긴급 플래그 신호(UG)를 발생하고 현재 레이턴시 레벨(LCL)이 레이턴시 초긴급 레벨(LVUL)보다 커지면 초긴급 플래그 신호(VUG)를 발생할 수 있다.
도 7은 도 6의 축적기 모델을 이용하는 서비스 제어기의 일 예를 나타내는 블록도이다.
도 7을 참조하면, 서비스 제어기(500b)는 레이턴시 모니터(530b) 및 정보 발생기(550b)를 포함할 수 있다.
레이턴시 모니터(latency monitor)(530b)는 상응하는 마스터 지능 소자의 레이턴시를 실시간으로 검출하여 현재 레이턴시 레벨(LCL)을 발생한다. 레이턴시 모니터(530b)는 감산기(subtractor)(SUB)(535), 축적기(accumulator)(ACC)(537) 및 레이턴시 검출기(latency detector)(LATDET)(540)를 포함할 수 있다.
레이턴시 검출기(540)는 상응하는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 채널 신호(CHN)에 기초하여 현재 레이턴시(CLAT)를 발생할 수 있다 감산기(535)는 현재 레이턴시(LCL) 및 기준 레이턴시(RLAT)의 차이를 계산하여 레이턴시 변화값(dLAT)을 출력할 수 있다. 축적기(537)는 레이턴시 변화값(dLAT)을 누산하여 현재 레이턴시 레벨(LCL)을 발생할 수 있다.
정보 발생기(550b)는 기준값(LUL, LVUL) 및 현재 레이턴시 레벨(LCL)에 기초하여 긴급 정보(UGNT) 및 우선순위 정보(PRT)를 발생한다. 정보 발생기(550b)는 현재 레이턴시 레벨(LCL)이 증가할수록 높은 우선순위를 나타내고 현재 레이턴시 레벨(LCL)이 감소할수록 낮은 우선순위를 나타내도록 우선순위 정보(PRT)를 발생할 수 있다.
시스템의 전체적인 시나리오에 따라서 레이턴시 긴급 레벨(LUL) 및 레이턴시 초긴급 레벨(LVUL)과 같은 기준값이 결정될 수 있다. 예를 들어, 기준값(LUL, LVUL)은 시스템(10)의 초기화 과정에서 제공되어 정보 발생기(550b)에 저장될 수 있다. 정보 발생기(550b)는 이러한 기준값(LUL, LVUL) 및 현재 레이턴시 레벨(LCL)에 기초하여 긴급 정보(UGNT)를 발생할 수 있다.
예를 들어, 정보 발생기(550b)는 현재 대역폭 레벨(LCL)이 레이턴시 긴급 레벨(LUL)보다 커지면 긴급 플래그 신호(UG)를 발생하고 현재 레이턴시 레벨(LCL)이 레이턴시 초긴급 레벨(LVUL)보다 커지면 초긴급 플래그 신호(VUG)를 발생할 수 있다. 정보 발생기(550b)는 저장된 값들 및 입력되는 값들에 응답하여 미리 정해진 프로세스 시퀀스를 수행하는 구성을 갖는 특수 기능 레지스터(special function register)(SFR)로 구현될 수 있다.
도 8은 도 7의 서비스 제어기에 포함되는 레이턴시 검출기의 일 예를 나타내는 블록도이다.
도 8을 참조하면, 레이턴시 검출기(540)는 제1 플립플롭(flip-flop)(FF1)(541), 제2 플립플롭(FF2)(542), 카운터(counter)(543), 제1 래치(LATCH1)(544), 제2 래치(LATCH2)(545), 계산기(546), 제1 논리 게이트(548) 및 제2 논리 게이트(549)를 포함할 수 있다.
예를 들어, 제1 논리 게이트(548)는 논리곱 게이트(AND 게이트)로 구현될 수 있으며, 제1 논리 게이트(548)는 리퀘스트 밸리드 신호(ARVALID) 및 리퀘스트 레디 신호(ARREADY)를 논리곱 연산한 결과를 출력한다. 제1 플립플롭(541)의 데이터 단자(D)에는 제1 논리 게이트(548)의 출력 신호가 입력되고 클록 단자(C)에는 글로벌 클록 신호(ACLK)가 입력된다. 제1 플립플롭(541)은 글로벌 클록 신호(ACLK)의 상승 에지에 응답하여 제1 논리 게이트(548)의 출력 신호를 샘플링하여 글로벌 클록 신호(ACLK)의 상승 에지에 동기된 신호(SS1)를 출력 단자(Q)를 통하여 출력한다.
예를 들어, 제2 논리 게이트(549)는 논리곱 게이트(AND 게이트)로 구현될 수 있으며, 제2 논리 게이트(549)는 서비스 밸리드 신호(RVALID), 서비스 레디 신호(RREADY) 및 서비스 완료 신호(RLAST)를 논리곱 연산한 결과를 출력한다. 제2 플립플롭(542)의 데이터 단자(D)에는 제2 논리 게이트(549)의 출력 신호가 입력되고 클록 단자(C)에는 글로벌 클록 신호(ACLK)가 입력된다. 제2 플립플롭(542)은 글로벌 클록 신호(ACLK)의 상승 에지에 응답하여 제2 논리 게이트(549)의 출력 신호를 샘플링하여 글로벌 클록 신호(ACLK)의 상승 에지에 동기된 신호(SS2)를 출력 단자(Q)를 통하여 출력한다.
카운터(543)는 글로벌 클록 신호(ACLK)의 사이클 횟수를 카운팅하여 카운트 신호(CNT)를 제공한다.
제1 래치(544)는 제1 플립플롭(541)의 출력 신호(SS1)의 상승 에지에 응답하여 카운트 신호(CNT)를 래치하고 시작 카운트 신호(CNT1)를 제공한다. 또한 제1 래치(544)는 리퀘스트 신호들(ARVALID, ARREADY)과 연계된 제1 식별 신호(ARID)를 수신하여 제1 식별 코드(ID1)를 제공한다.
제2 래치(545)는 제2 플립플롭(542)의 출력 신호(SS2)의 상승 에지에 응답하여 카운트 신호(CNT)를 래치하고 완료 카운트 신호(CNT2)를 제공한다. 또한 제2 래치(545)는 서비스 신호들(RVALID, RREADY, RLAST)과 연계된 제2 식별 신호(BID)를 수신하여 제2 식별 코드(ID2)를 제공한다.
계산기(546)는 시작 카운트 신호(CNT1) 및 완료 카운트 신호(CNT2)에 기초하여 현재 레이턴시(CLAT)를 발생한다. 시스템(1000)이 마스터 지능 소자들, 상호접속 장치 및 슬레이브 지능 소자들 사이의 다중 아웃스탠딩 트랜잭션(multiple outstanding transactions)을 지원하는 프로토콜을 채용하는 경우, 동일한 트랜잭션에 상응하는 리퀘스트 신호들(ARVALID, ARREADY)과 서비스 신호들(RVALID, RREADY, RLAST)을 구별하기 위하여 식별 신호들(ARID, BID)이 이용될 수 있다.
계산기(546)는 제1 카운트 신호(CNT1) 및 제1 식별 코드(ID1)가 입력될 때마다 매핑 테이블(547)을 갱신하여 제1 식별 신호(ARID)에 상응하는 제1 식별 코드(ID1)의 값(ID11, ID12, ID13)과 이에 상응하는 제1 카운트 신호(CNT1)의 값들(C1, C2, C3)을 저장한다. 계산기(546)는 제2 카운트 신호(CNT2) 및 제2 식별 코드(ID2)가 입력되면 매핑 테이블(547)로부터 입력된 제2 카운트 신호(CNT2)에 상응하는 리퀘스트 요청 시점을 나타내는 카운트 값(C1, C2 또는 C3)을 추출한다.
계산기(546)는 입력되는 제2 카운트 신호(CNT2)의 리퀘스트 완료 시점을 나타내는 카운트 값과 상기 추출된 카운트 값의 차이를 계산하여 현재 레이턴시(CLAT)를 발생할 수 있다.
도 9는 본 발명의 실시예들에 따른 시스템에 의해 수행되는 트랜잭션의 일 예 및 도 8의 레이턴시 검출기에 의해 검출되는 현재 레이턴시를 설명하기 위한 타이밍도이다.
도 9에는 설명의 편의를 위하여 AXI(advanced extensible interface) 프로토콜에 따른 독출 트랜잭션의 예가 도시되어 있다. AXI 프로토콜은 밸리드 신호(ARVALID, RVALID) 및 레디 신호(ARREADY, RREADY)를 이용하는 핸드쉐이크 방식(handshake mechanism)을 채택하고 있다.
핸드쉐이크 방식에 따르면, 마스터 인터페이스 및 슬레이브 인터페이스의 일측에서는 신호 전송시 밸리드 신호를 활성화하고 타측에서는 수신 준비가 되었을 때 레디 신호를 활성화한다. 마스터 인터페이스 및 슬레이브 인터페이스의 양자 모두에서 글로벌 클록 신호(ACLK)의 상승 에지에 동기하여 전송 신호의 샘플링이 수행된다. 따라서 밸리드 신호 및 상응하는 레디 신호가 글로벌 클록 신호(ACLK)의 상승 에지에서 모두 활성화될 때만 유효한 신호 전송이 이루어진다.
도 9에 도시된 바와 같이, 마스터 인터페이스에 상응하는 마스터 지능 소자(100)는 신호 전송시 리퀘스트 밸리드 신호(ARVALID)를 활성화하고 슬레이브 인터페이스에 상응하는 상호접속 장치(10)는 수신 준비가 되었을 때 리퀘스트 레디 신호(ARREADY)를 활성화한다. 마찬가지로 상호접속 장치(10)는 신호 전송시 서비스 밸리드 신호(RVALID)를 활성화하고 마스터 지능 소자(100)는 수신 준비가 되었을 때 서비스 레디 신호(RREADY)를 활성화한다.
도 9에는 글로벌 클록 신호(ACLK)의 상승 에지를 나타내는 시점들이 T0~T13 으로 표시되어 있다. 마스터 인터페이스, 예를 들어, 마스터 지능 소자(100)는 독출 리퀘스트 신호(ARADDR)를 슬레이브 인터페이스, 예를 들어, 상호접속 장치(10)로 전송하는 것과 함께 리퀘스트 요청 신호에 상응하는 독출 밸리드 신호(ARVALID)를 활성화한다. 시간 T2에서 밸리드 신호(ARVALID) 및 레디 신호(RREADY)가 모두 활성화되어 독출 리퀘스트 신호(ARADDR)의 전송이 실제로 수행된다. 그러나 마스터 인터페이스의 관점에서는 슬레이브 인터페이스의 레디 신호(RREADY)의 활성화 여부에 관계없이, 즉 실제 신호 전송의 성공 여부와 관계없이 시간 T1을 리퀘스트 요청 시점으로 결정할 수 있다.
상기 독출 리퀘스트에 대한 응신으로서 데이터(D(A0), D(A1), D(A2), D(A3))가 버스트 전송 방식에 의해 상호접속 장치(10)로부터 마스터 지능 소자(100)로 전송된다. 상호접속 장치(10)는 마지막 데이터(D(A3))의 전송과 함께 서비스 완료 신호에 상응하는 RLAST 신호를 활성화하고, 시간 T13이 리퀘스트 완료 시점으로 결정된다.
이와 같이, 도 8의 레이턴시 검출기(540)는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 채널 신호(CHN) 중에서 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 리퀘스트 신호들(ARVALID, ARREADY) 및 서비스 신호들(RVALID, RREADY, RLAST)에 기초하여 현재 레이턴시(CLAT)를 발생할 수 있다.
도 10은 본 발명의 일 실시예에 따른 서비스 제어기를 나타내는 블록도이다.
도 10을 참조하면, 서비스 제어기(500c)는 대역폭 모니터(530a) 및 레이턴시 모니터(530b) 및 정보 발생기(550c)를 포함할 수 있다. 대역폭 모니터(530a)는 도 5를 참조하여 설명한 것과 동일 또는 유사한 구성을 가질 수 있고, 레이턴시 모니터(530b)는 도 7을 참조하여 설명한 것과 동일 또는 유사한 구성을 가질 수 있다.
대역폭 모니터(530a)는 제1 인에이블 신호(EN1)에 응답하여 인에이블될 수 있고 레이턴시 모니터(530b)는 제2 인에이블 신호(EN2)에 응답하여 인에이블 될 수 있다. 대역폭 모니터(530a)가 인에이블되고 레이턴시 모니터(530b)가 디스에이블된 경우에는 서비스 제어기(500c)는 도 5를 참조하여 설명한 서비스 제어기(500a)와 실질적으로 동일한 동작을 수행한다. 대역폭 모니터(530a)가 디스에이블되고 레이턴시 모니터(530b)가 인에이블된 경우에는 서비스 제어기(500c)는 도 7을 참조하여 설명한 서비스 제어기(500b)와 실질적으로 동일한 동작을 수행한다.
대역폭 모니터(530a)와 레이턴시 모니터(530b)가 모두 인에이블된 경우에, 정보 발생기(550c)는 현재 대역폭 레벨(BCL) 및 현재 레이턴시 레벨(LCL)을 모두 수신하고, 양자에 기초하여 긴급 정보(UGNT) 및 우선순위 정보(PRT)를 발생한다.
예를 들어, 정보 발생기(550c)는 현재 대역폭 레벨(BCL) 및 현재 레이턴시 레벨(LCL)의 평균적인 레벨을 계산하고 이에 기초하여 긴급 정보(UGNT) 및 우선순위 정보(PRT)를 발생할 수 있다. 다른 실시예에서, 정보 발생기(550c)는 현재 대역폭 레벨(BCL) 및 현재 레이턴시 레벨(LCL)에 서로 다른 가중치를 부여하여 가중 평균값을 계산하고 이에 기초하여 긴급 정보(UGNT) 및 우선순위 정보(PRT)를 발생할 수 있다. 정보 발생기(550c)는 저장된 값들 및 입력되는 값들에 응답하여 미리 정해진 프로세스 시퀀스를 수행하는 구성을 갖는 특수 기능 레지스터(special function register)(SRF)로 구현될 수 있다.
도 11은 본 발명의 실시예들에 따른 정보 발생 방법을 나타내는 순서도이다.
도 3 내지 도 10을 참조하여 설명한 정보 발생 방법들이 도 11에 도시되어 있다. 도 11을 참조하면, 먼저 마스터 지능 소자의 특성에 기초하여 요구수준의 유형을 결정한다(단계 S210).
전술한 대역폭 모니터는 소비 데이터량을 검출(단계 S220)하고 서비스 데이터량을 검출(단계 S230)한다. 대역폭 모니터는 검출된 소비 데이터량 및 서비스 데이터량에 기초하여 현재 대역폭 레벨을 결정(단계 S410)한다.
전술한 레이턴시 모니터는 서비스 요청 시점을 검출(단계 S240)하고 서비스 완료 시점을 검출(단계 S250)한다. 레이턴시 모니터는 검출된 서비스 요청 시점 및 서비스 완료 시점에 기초하여 현재 레이턴시 레벨을 결정(단계 S420)한다.
전술한 정보 발생기는 현재 대역폭 레벨 및 현재 레이턴시 레벨 중에서 적어도 하나에 기초하여 긴급 정보 및 우선순위 정보를 발생(단계 S430)한다.
이와 같이, 마스터 지능 소자의 특성에 따라서 적절한 요구수준의 결정 방식을 선택하여 긴급 정보 및 우선순위 정보를 발생함으로써, 시스템 의 전체적인 리퀘스트 플로우를 촉진하고 서비스 품질을 향상 시킬 수 있다.
도 12는 도 3에 포함되는 제한기를 나타내는 블록도이다.
도 12를 참조하면, 제한기(limiter)(510)는 동기화기(synchronizer)(SYNC)(512) 및 마스크부(mask unit)(MASK)(515)를 포함할 수 있다.
동기화기(512)는 상호접속 장치(10)로부터의 제한 신호(LMT)에 기초하여 동기 제한 신호(synchronized limit signal)(SMSK)를 발생한다. 마스크부(515)는 동기 제한 신호(SMSK)에 응답하여 상응하는 마스터 지능 소자(10)로부터의 리퀘스트를 제한한다.
동기화기(512)는 마스터 지능 소자(100)와 상호접속 장치(10) 사이의 핸드쉐이크 방식의 신호 전송의 오류를 방지하기 위하여 제한 신호(LMT)의 천이 시점을 제어하는 역할을 수행한다.
도 13a는 도 3에 포함되는 제한기의 일 예를 나타내는 회로도이다.
도 13a를 참조하면, 제한기(510a)는 동기화기에 해당하는 플립플롭(FF)(512a) 및 마스크부(515a)를 포함할 수 있다.
플립플롭(512a)은 상호접속 장치(10)로부터의 제한 신호(LMT) 및 반전 글로벌 클록 신호(ACLKb)에 기초하여 동기 제한 신호(SMSK)를 발생한다. 플립플롭(512a)은 반전 글로벌 클록 신호(ACLKb)의 상승 에지에 응답하여 제한 신호(LMT)를 샘플링하여 동기 제한 신호(SMSK)를 발생한다. 반전 글로벌 클록 신호(ACLKb)의 상승 에지는 글로벌 클록 신호(ACLK)의 하강 에지에 해당하며, 결과적으로 동기 제한 신호(SMSK)의 천이 시점은 글로벌 클록 신호(ACLK)의 하강 에지에 동기화된다.
마스크부(515a)는 동기 제한 신호(SMSK)에 응답하여 상응하는 마스터 지능 소자(100)로부터의 리퀘스트를 제한한다. 마스크부(515a)는 제1 논리 게이트(516) 및 제2 논리 게이트(517)를 포함할 수 있다. 제1 논리 게이트(516)는 동기 제한 신호(SMSK) 및 상응하는 마스터 지능 소자(100)로부터의 밸리드 신호(VALID)를 논리 연산하여 마스크 밸리드 신호(masked valid)(MVALID)를 출력한다. 제2 논리 게이트(517)는 동기 제한 신호(SMSK) 및 상호접속 장치(10)로부터의 레디 신호(READY)를 논리 연산하여 마스크 레디 신호(masked ready signal)(MREADY)를 출력한다.
예를 들어, 동기 제한 신호(SMSK)가 논리 로우 레벨로 비활성화된 경우에는 마스크부(515a)는 밸리드 신호(VALID) 및 레디 신호(READY)와 각각 동일한 논리 레벨의 마스크 밸리드 신호(MVALID) 및 마스크 레디 신호(MREADY)를 출력한다. 동기 제한 신호(SMSK)가 논리 하이 레벨로 활성화된 경우에는 마스크부(515a)는 밸리드 신호(VALID) 및 레디 신호(READY)의 논리 레벨에 관계없이 논리 로우 레벨로 비활성화된 마스크 밸리드 신호(MVALID) 및 마스크 레디 신호(MREADY)를 출력한다.
도 13b는 도 13a의 제한기의 동작을 나타내는 타이밍도이다.
도 9를 참조하여 설명한 바와 같이, 마스터에 상응하는 마스터 지능 소자(100)는 리퀘스트 신호의 전송시 밸리드 신호(VALID)를 활성화하고 슬레이브에 상응하는 상호접속 장치(10)는 수신 준비가 되었을 때 레디 신호(READ)를 활성화한다. 도 13a의 마스크부(515a)에 의해 상호접속 장치(10)는 마스크 밸리드 신호(MVALID)를 수신하고 마스터 지능 소자(100)는 마스크 레디 신호(MREADY)를 수신한다. 다시 말해, 마스터 지능 소자(100)는 밸리드 신호(VALID) 및 마스크 레디 신호(MREADY)가 글로벌 클록 신호(ACLK)의 상승 에지에서 모두 활성화되었을 때 유효한 신호 전송이 이루어진 것으로 판단하고, 상호접속 장치(10)는 마스크 밸리드 신호(MVALID) 및 레디 신호(READY)가 글로벌 클록 신호(ACLK)의 상승 에지에서 모두 활성화되었을 때 유효한 신호 전송이 이루어진 것으로 판단한다.
이러한 판단 기준의 불일치로 인하여 실제로 유효한 신호 전송이 이루어지지 않았음에도, 마스터 지능 소자(100) 및 상호접속 장치(10) 중 하나만이 유효한 신호 전송이 이루어진 것으로 판단하여 인터페이싱 오류가 발생할 수 있다.
이러한 오류를 방지하기 위하여 도 13a의 제한기(510a)는 마스크 구간(masked interval)(tMSK)의 시작 시점과 종료 시점을 글로벌 클록 신호(ACLK)의 하강 에지에 동기화시키는 기능을 수행한다. 즉 제한 신호(LMT)의 천이 시점에 관계없이 동기 제한 신호(SMSK)의 천이 시점을 글로벌 클록 신호(ACLK)의 하강 에지에 동기화시킨다. 따라서 마스킹의 시작 및 종료 시점이 마스터 지능 소자(100)와 상호접속 장치(10)의 샘플링 시점, 즉 글로벌 클록 신호(ACLK)의 상승 에지와 명확히 분리될 수 있다.
마스크 구간에 속하지 않은 샘플링 시점들(SP1, SP3)에서는 마스크 밸리드 신호(MVALID) 및 마스크 레디 신호(MREADY)는 각각 밸리드 신호(VALID) 및 레디 신호(READY)와 동일한 논리 레벨을 가지므로 일반적인 핸드쉐이크가 수행되고, 샘플링 시점들(SP1, SP3)에서 유효한 신호 전송이 이루어진다. 반면에 마스크 구간에 속하는 샘플링 시점(SP2)에서는 밸리드 신호(VALID) 및 레디 신호(READY)가 모두 활성화되었음에도 불구하고 마스터 지능 소자(100)와 상호접속 장치(10)는 각각 비활성화된 마스크 레디 신호(MREADY) 및 마스크 밸리드 신호(MVALID)에 기초하여 유효한 신호 전송이 이루어지지 않은 것으로 판단한다.
도 14a는 도 3에 포함되는 제한기의 다른 예를 나타내는 회로도이다.
도 14a를 참조하면, 제한기(510b)는 동기화기(512b) 및 마스크부(515b)를 포함할 수 있다.
동기화기(512b)는 상호접속 장치(10)로부터의 제한 신호(LMT), 글로벌 클록 신호(ACLK), 밸리드 신호(VALID) 및 마스크 레디 신호(MREADY)에 기초하여 동기 제한 신호(SMSKb)를 발생한다. 도 13a의 실시예와는 반대로 동기 제한 신호(SMSKb)는 논리 로우 레벨이 활성화 레벨에 해당할 수 있다. 동기화기(512b)의 동작은 도 14b를 참조하여 후술한다.
마스크부(515b)는 동기 제한 신호(SMSKb)에 응답하여 상응하는 마스터 지능 소자(100)로부터의 리퀘스트를 제한한다. 마스크부(515b)는 제1 논리 게이트(518) 및 제2 논리 게이트(519)를 포함할 수 있다. 제1 논리 게이트(518)는 동기 제한 신호(SMSKb) 및 상응하는 마스터 지능 소자(100)로부터의 밸리드 신호(VALID)를 논리 연산하여 마스크 밸리드 신호(masked valid signla)(MVALID)를 출력한다. 제2 논리 게이트(519)는 동기 제한 신호(SMSKb) 및 상호접속 장치(10)로부터의 레디 신호(READY)를 논리 연산하여 마스크 레디 신호(masked ready signal)(MREADY)를 출력한다.
예를 들어, 동기 제한 신호(SMSKb)가 논리 하이 레벨로 비활성화된 경우에는 마스크부(515b)는 밸리드 신호(VALID) 및 레디 신호(READY)와 각각 동일한 논리 레벨의 마스크 밸리드 신호(MVALID) 및 마스크 레디 신호(MREADY)를 출력한다. 동기 제한 신호(SMSKb)가 논리 로우 레벨로 활성화된 경우에는 마스크부(515b)는 밸리드 신호(VALID) 및 레디 신호(READY)의 논리 레벨에 관계없이 논리 로우 레벨로 비활성화된 마스크 밸리드 신호(MVALID) 및 마스크 레디 신호(MREADY)를 출력한다.
도 14b는 도 14a의 제한기의 동작을 나타내는 타이밍도이다.
도 9를 참조하여 설명한 바와 같이, 마스터에 상응하는 마스터 지능 소자(100)는 리퀘스트 신호의 전송시 밸리드 신호(VALID)를 활성화하고 슬레이브에 상응하는 상호접속 장치(10)는 수신 준비가 되었을 때 레디 신호(READ)를 활성화한다. 도 14a의 마스크부(515b)에 의해 상호접속 장치(10)는 마스크 밸리드 신호(MVALID)를 수신하고 마스터 지능 소자(100)는 마스크 레디 신호(MREADY)를 수신한다. 다시 말해, 마스터 지능 소자(100)는 밸리드 신호(VALID) 및 마스크 레디 신호(MREADY)가 글로벌 클록 신호(ACLK)의 상승 에지에서 모두 활성화되었을 때 유효한 신호 전송이 이루어진 것으로 판단하고, 상호접속 장치(10)는 마스크 밸리드 신호(MVALID) 및 레디 신호(READY)가 글로벌 클록 신호(ACLK)의 상승 에지에서 모두 활성화되었을 때 유효한 신호 전송이 이루어진 것으로 판단한다.
이러한 판단 기준의 불일치로 인하여 실제로 유효한 신호 전송이 이루어지지 않았음에도, 마스터 지능 소자(100) 및 상호접속 장치(10) 중 하나만이 유효한 신호 전송이 이루어진 것으로 판단하여 인터페이싱 오류가 발생할 수 있다.
이러한 오류를 방지하기 위하여 도 14a의 동기화기(512b)는 마스크 구간(masked interval)(tMSK)의 시작 시점을 하나의 유효한 전송이 이루어진 직후로 동기화시키는 기능을 수행한다. 즉 제한 신호(LMT)가 활성화 되고 유효한 전송이 이루어진 샘플링 시점(SP1)의 직후에 동기 제한 신호(SMSKb)를 논리 로우 레벨로 활성화한다. 한편 동기화기(512b)는 마스크 구간(tMSK)의 종료 시점을 제한 신호(LMT)의 비활성화 타이밍에 동기화시킨다.
마스크 구간에 속하지 않은 샘플링 시점(SP1, SP5)에서는 마스크 밸리드 신호(MVALID) 및 마스크 레디 신호(MREADY)는 각각 밸리드 신호(VALID) 및 레디 신호(READY)와 동일한 논리 레벨을 가지므로 일반적인 핸드쉐이크가 수행되고, 샘플링 시점(SP1, SP5)에서 유효한 신호 전송이 이루어진다. 반면에 마스크 구간에 속하는 샘플링 시점(SP2, SP3, SP4)에서는 밸리드 신호(VALID) 및 레디 신호(READY)가 모두 활성화되었음에도 불구하고 마스터 지능 소자(100)와 상호접속 장치(10)는 각각 비활성화된 마스크 레디 신호(MREADY) 및 마스크 밸리드 신호(MVALID)에 기초하여 유효한 신호 전송이 이루어지지 않은 것으로 판단한다.
도 15는 도 1의 시스템에 포함되는 상호접속 장치의 일 예를 나타내는 블록도이다.
도 15를 참조하면, 상호접속 장치(10a)는 중재 회로(400), 플로우 제어 신호 발생기(200) 및 차단부(20)를 포함할 수 있다.
중재 회로(400)는 우선정보 신호들(PRT1, PRT2, PRT3)에 기초하여 마스터 지능 소자들(101, 102, 103)의 리퀘스트들(REQ1, REQ2, REQ3) 중에서 하나의 선택된 리퀘스트(SREQ)를 출력한다.
플로우 제어 신호 발생기(200)는 도 16을 참조하여 후술하는 바와 같이 차단 제어 신호 발생기(201)를 포함할 수 있고, 차단 제어 신호 발생기(201)는 긴급 정보들(UGNT1, UGNT2, UGNT3)에 기초하여 복수의 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)을 발생한다.
차단부(20)는 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)에 응답하여 리퀘스트들(REQ1, REQ2, REQ3)이 중재 회로(400)로 입력되는 것을 차단한다. 차단부(20)는 리퀘스트들(REQ1, REQ2, REQ3)의 입력을 각각 독립적으로 차단하기 위한 복수의 차단 유닛들(BLK1, BLK2, BLK3)을 포함할 수 있다.
도 16은 도 15의 상호접속 장치에 포함되는 플로우 제어 신호 발생기의 일 예를 나타내는 블록도이다.
도 16을 참조하면, 플로우 제어 신호 발생기(200)는 차단 제어 신호 발생기(201) 및 제한 신호 발생기(202)를 포함할 수 있다.
차단 제어 신호 발생기(201)는 긴급 정보들(UGNT1, UGNT2, UGNT3)에 기초하여 도 15의 차단부(20)로 제공되는 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)을 각각 발생하기 위한 복수의 발생기들(GEN1, GEN2, GEN3)(210, 220, 230)을 포함할 수 있다. 차단 제어 신호 발생기(201)는, 도 17 내지 20을 참조하여 후술하는 바와 같이, 마스터 지능 소자들의 동작 특성에 따른 서로 다른 조건들(CONDITION1, CONDITION2, CONDITION3)을 만족할 때 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)을 각각 활성화할 수 있다.
제1 발생기(210)는 제1 조건(CONDITION1)이 만족될 때 제1 차단 제어 신호(BKCTR1)를 활성화하여 제1 마스터 지능 소자(101)로부터 발생된 제1 리퀘스트(REQ1)의 플로우를 차단하고, 제2 발생기(220)는 제2 조건(CONDITION2)이 만족될 때 제2 차단 제어 신호(BKCTR2)를 활성화하여 제2 마스터 지능 소자(102)로부터 발생된 제2 리퀘스트(REQ2)의 플로우를 차단하고, 제3 발생기(230)는 제3 조건(CONDITION3)이 만족될 때 제3 차단 제어 신호(BKCTR3)를 활성화하여 제3 마스터 지능 소자(103)로부터 발생된 제3 리퀘스트(REQ3)의 흐름을 차단할 수 있다.
이와 같이, 서로 다른 조건들을 설정하여 마스터 지능 소자의 특성을 고려하여 각 마스터 지능 소자들로부터의 리퀘스트 플로우들을 독립적으로 그리고 효율적으로 제어할 수 있다.
도 17은 도 16의 플로우 제어 신호 발생기에서 발생되는 차단 제어 신호들의 활성화 조건들의 일 예를 나타내는 도면이다.
도 17을 참조하면, 도 16에서 설명한 제1 내지 제3 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)을 각각 활성화하기 위한 조건들은 제1 경우(CASE 1)에 가장 엄격한 조건이 설정되고, 제2 경우(CASE2)는 제1 경우(CASE2) 보다 완화된 조건이 설정되고, 제3 경우(CASE3)는 제2 경우(CASE2)보다 더 완화된 조건이 설정될 수 있다.
예를 들어, 제1 경우(CASE1)의 조건은 도 15의 중재 회로(400)가 더 이상 선택된 리퀘스트(SREQ)를 후단의 슬레이브로 전송할 수 없는 이슈 풀(issue full) 상황이 발생될 때로 한정될 수 있다. 여기서 후단의 슬레이브는 중재 회로(400)를 포함하는 버스에 케스케이드 결합된 후단의 버스일 수도 있고, 중재 회로(400)의 출력에 직접 연결된 슬레이브 지능 소자일 수도 있다.
다중 아웃스탠딩 트랜잭션(multiple outstanding transactions) 또는 다중 아웃스탠딩 리퀘스트(multiple outstanding requests)를 지원하는 프로토콜이 채용되는 경우, 상호접속 장치(10) 및 타겟 슬레이브 지능 소자 사이의 경로상에는 적어도 하나의 리퀘스트 큐가 포함될 수 있다. 리퀘스트 큐는 마스터 지능 소자들로부터 이미 발행되었으나(issued) 아직 완료되지 않은 복수의 리퀘스트들을 저장한다. 중재 회로(400)의 출력에 연결된 리퀘스트 큐에 현재 저장된 리퀘스트들의 개수를 아웃스탠딩 카운트(outstanding count)(OSCNT)라고 하면, 아웃스탠딩 카운트(OSCNT)가 상기 리퀘스트 큐가 저장할 수 있는 리퀘스트들의 최대 개수(MXN)와 같을 때 이슈 풀 상황이 발생한다.
제2 경우(CASE2)의 조건은 상기 이슈 풀 상황이 발생할 때 또는 초긴급(very urgent) 상황이 발생될 때로 확장될 수 있다. 초긴급 상황이더라도 아웃스탠딩 카운트(OSCNT)가 제1 개수(SVUN)보다 크거나 같아야 한다는 조건이 가중될 수도 있다. 제1 개수(SVUN)는 최대 개수(MXN) 보다 작은 값으로 설정될 수 있다.
제3 경우(CASE3)의 조건은 상기 이슈 풀 상황이 발생할 때 또는 초긴급(very urgent) 상황이 발생될 때 또는 긴급 상황(urgent)이 발생될 때로 더욱 확장될 수 있다. 초긴급 상황이더라도 아웃스탠딩 카운트(OSCNT)가 제2 개수(BVUN)보다 크거나 같아야 한다는 조건이 가중될 수 있고, 긴급 상황이더라도 아웃스탠딩 카운트(OSCNT)가 제3 개수(BUN)보다 크거나 같아야 한다는 조건이 가중될 수도 있다. 제3 개수(BUN)는 최대 개수(MXN)보다 작은 값으로 설정되고 제2 개수(BVUN)는 제3 개수(BUN) 보다 작은 값으로 설정될 수 있다.
마스터 지능 소자는 그 유형(type)에 따라서 하드 리얼타임 지능 소자(hard realtime IP), 소프트 리얼타임 지능 소자(soft realtime IP), 베스트 에포트 지능 소자(best effort IP) 등으로 구분될 수 있다.
하드 리얼타임 지능소자는 디스플레이 지능 소자와 같이 일정한 대역폭의 데이터를 꾸준히 사용하고 필요한 대역폭을 보장 받지 못하면, 데이터 버퍼의 언더런(underrun)이 발생하는 지능 소자이다. 이러한 지능 소자는 일정한 대역폭을 보장해주면 데이터 버퍼가 충분히 채워지고, 데이터를 소비하는 만큼만 리퀘스트를 발생시키면서 리퀘스트 플로우를 자체적으로 제어할 수 있다.
한편, 시스템의 제조비용을 줄이기 위해, 외부 모뎀 칩(external modem chip)이 시스템 온 칩의 메모리를 공유하는 방식을 사용될 수 있다. 이러한 외부 모뎀 칩은 평균 레이턴시 요구수준(average latency requirement level)을 만족하지 못하면 오류가 생기는 특성을 가진다. 모뎀 칩의 경우에는 통신이 일어날 때에만 리퀘스트가 시스템 온 칩으로 들어오고, 모뎀 칩 종류도 다양하므로 모뎀 칩의 대역폭 요구수준을 파악하기는 곤란하다.
소프트 리얼타임 지능 소자는 비디오 코덱(CODEC)과 같이 프레임율(frame rate, 예를 들어, 30, 60 per sec)이 정해져 있고 프레임의 특성에 따라서 대역폭 요구량이 조금씩 다르면서 여러 개의 프레임 버퍼를 가지고 있어서 평균 디코드/인코드 시간을 보장 받아야 하는 지능 소자이다. 이러한 지능 소자는 리퀘스트 플로우를 제어해주지 않으면 되도록 빠른 시간에 디코드/인코드를 다음 프레임으로 넘어가려는 특성을 가지고 있지만 데이터 간에 의존성(dependency)이 있어서 한꺼번에 많은 리퀘스트를 내지 못하는 특성을 가지고 있다. 그래서 일정한 대역폭 및/또는 레이턴시를 보장받는 동안에는 동작 속도가 프레임율을 만족하지만 레이턴시가 임계치를 넘어가면 급격히 디코드/인코드 시간이 증가하여 동작 속도가 감소하는 특성을 가진다.
베스트 에포트 지능 소자는 2D, 3D 그래픽 엔진 (two-dimensional and/or three dimensional graphics engine) 또는 DMAC(direct memory access controller)와 같이 리퀘스트 플로우를 제어해주지 않으면 끊임없이 리퀘스트를 발생하는 지능 소자이다. 이러한 지능 소자는 플로우 제어를 반드시 해주어야만 한다. 높은 우선순위(high priority)의 지능 소자들이 긴급한 상황이 아니라면 되도록 리퀘스트 플로우를 제한하지 않고 메모리 콘트롤러와 같은 슬레이브 지능 소자가 감당 할 수 있는 만큼 최대한 서비스 해주는 것이 바람직하다. 그러나, 높은 우선순위의 지능 소자에서 긴급한 상황이 발생하면 슬레이브 지능 소자에 여유를 만들어 주는 수준까지 베스트 에포트 지능 소자의 리퀘스트를 제한해 주어야 높은 우선순위의 지능 소자가 긴급 상황에서 빠져 나올 수 있다.
한편, CPU와 같은 레이턴시 지향 지능 소자(latency oriented IP)는 요구하는 대역폭이 있는 것이 아니고 상황에 따라 대역폭 요구량은 많이 변하지만 평균 레이턴시에 따라서 성능에 직접적인 영향을 받는다. 이러한 지능 소자는 대역폭 요구량을 규정하기 힘들기 때문에 평균 레이턴시에 따라서 시스템의 서비스 우선권을 받아야 한다.
예를 들어, 제1 경우(CASE1)의 가장 엄격한 조건은 하드 리얼타임 지능 소자의 리퀘스트 플로우를 차단하는데 적용될 수 있다. 즉 도 15의 제1 리퀘스트(REQ1)가 하드 리얼타임 지능 소자로부터 발행된 경우, 제1 경우(CASE1)의 가장 엄격한 조건이 만족될 때에 제1 차단 제어 신호(BKCTR1)가 활성화되어 제1 리퀘스트(REQ1)가 중재 회로(400)로 입력되는 것을 차단할 수 있다.
예를 들어, 제2 경우(CASE2)의 다소 완화된 조건은 소프트 리얼타임 지능 소자의 리퀘스트 플로우를 차단하는데 적용될 수 있다. 즉 도 15의 제2 리퀘스트(REQ2)가 소프트 리얼타임 지능 소자로부터 발행된 경우, 제2 경우(CASE2)의 완화된 조건이 만족될 때에 제2 차단 제어 신호(BKCTR2)가 활성화되어 제2 리퀘스트(REQ2)가 중재 회로(400)로 입력되는 것을 차단할 수 있다.
예를 들어, 제3 경우(CASE3)의 더욱 완화된 조건은 베스트 에포트 지능 소자의 리퀘스트 플로우를 차단하는데 적용될 수 있다. 즉 도 15의 제3 리퀘스트(REQ3)가 베스트 에포트 지능 소자로부터 발행된 경우, 제3 경우(CASE3)의 더욱 완화된 조건이 만족될 때에 제3 차단 제어 신호(BKCTR3)가 활성화되어 제3 리퀘스트(REQ3)가 중재 회로(400)로 입력되는 것을 차단할 수 있다.
도 18, 19 및 20은 도 16의 플로우 제어 신호 발생기에 포함되는 차단 제어 신호 발생기의 일 예를 나타내는 회로도들이다.
예를 들어, 차단 제어 신호 발생기(201)는 제1 조건이 적용되는 제1 발생기(210), 제2 조건이 적용되는 제2 발생기(220) 및 제3 조건이 적용되는 제3 발생기(230)를 포함할 수 있다.
도 18을 참조하면, 제1 발생기(210)는 아웃스탠딩 카운트(OSCNT)와 최대 개수(MXN)에 기초하여 제1 차단 제어 신호(BKCTR1)를 발생하는 비교기(comparator)(COM)(211)를 포함할 수 있다.
비교기(211)는 아웃스탠딩 카운트(OSCNT)와 최대 개수(MXN)가 동일할 때 제1 차단 제어 신호(BKCTR1)를 활성화할 수 있다. 결과적으로 제1 발생기(210)는 도 17에 예시된 제1 경우(CASE1)의 조건이 만족될 때 활성화되는 제1 차단 제어 신호(BKCTR1)를 발생할 수 있다.
결과적으로 제1 발생기(210)는 도 17에 예시된 제1 경우(CASE1)의 조건이 만족될 때 활성화되는 제1 차단 제어 신호(BKCTR1)를 발생할 수 있다. 제1 차단 제어 신호(BKCTR1)는 제1 마스터 지능 소자로부터 발행된 제1 리퀘스트(REQ1)의 플로우를 차단하는데 이용된다.
도 19를 참조하면, 제2 발생기(220)는 제1 비교기(221), 제1 논리합 게이트(OR gate)(222), 제2 비교기(223), 제1 논리곱 게이트(AND gate)(224) 및 제2 논리합 게이트(225)를 포함할 수 있다.
제1 비교기(221)는 아웃스탠딩 카운트(OSCNT)와 최대 개수(MXN)가 동일할 때 그 출력 신호를 활성화할 수 있다. 제1 논리합 게이트(222)는 초긴급 플래그 신호들(VUG1, VUG3) 중에서 적어도 하나가 활성화될 때 그 출력 신호를 활성화할 수 있다. 제2 비교기(223)는 아웃스탠딩 카운트(OSCNT)가 제1 개수(SVUN) 보다 크거나 같을 때 그 출력 신호를 활성화할 수 있다. 제1 논리곱 게이트(224)는 제1 논리합 게이트(222)의 출력과 제2 비교기(223)의 출력이 모두 활성화될 때 그 출력 신호를 활성화할 수 있다. 제2 논리합 게이트(225)는 제1 비교기(221)의 출력 신호와 제1 논리곱 게이트(224)의 출력 신호 중 적어도 하나가 활성화될 때 제2 차단 제어 신호(BKCTR2)를 활성화할 수 있다.
결과적으로 제2 발생기(220)는 도 17에 예시된 제2 경우(CASE2)의 조건이 만족될 때 활성화되는 제2 차단 제어 신호(BKCTR2)를 발생할 수 있다. 제2 차단 제어 신호(BKCTR2)는 제2 마스터 지능 소자로부터 발행된 제2 리퀘스트(REQ2)의 플로우를 차단하는데 이용된다. 따라서, 도 19에 도시된 바와 같이, 제2 마스터 지능 소자 자신의 긴급 상황을 나타내는 제2 초긴급 플래그 신호(VUG2)는 제2 차단 제어 신호(BKCTR2)의 발생에 관여하지 않음을 알 수 있다.
도 20을 참조하면, 제3 발생기(230)는 제1 비교기(231), 제1 논리합 게이트(232), 제2 비교기(233), 제2 논리합 게이트(234), 제3 비교기(235), 제1 논리곱 게이트(236), 제2 논리곱 게이트(237) 및 제3 논리합 게이트(238)를 포함할 수 있다.
제1 비교기(231)는 아웃스탠딩 카운트(OSCNT)와 최대 개수(MXN)가 동일할 때 그 출력 신호를 활성화할 수 있다. 제1 논리합 게이트(232)는 초긴급 플래그 신호들(VUG1, VUG2) 중에서 적어도 하나가 활성화될 때 그 출력 신호를 활성화할 수 있다. 제2 비교기(233)는 아웃스탠딩 카운트(OSCNT)가 제2 개수(BVUN) 보다 크거나 같을 때 그 출력 신호를 활성화할 수 있다. 제2 논리합 게이트(234)는 긴급 플래그 신호들(UG1, UG2) 중에서 적어도 하나가 활성화될 때 그 출력 신호를 활성화할 수 있다. 제3 비교기(235)는 아웃스탠딩 카운트(OSCNT)가 제3 개수(BUN) 보다 크거나 같을 때 그 출력 신호를 활성화할 수 있다.
제1 논리곱 게이트(236)는 제1 논리합 게이트(232)의 출력 신호와 제2 비교기(233)의 출력 신호가 모두 활성화될 때 그 출력 신호를 활성화할 수 있다. 제2 논리곱 게이트(237)는 제2 논리합 게이트(234)의 출력 신호와 제3 비교기(235)의 출력 신호가 모두 활성화될 때 그 출력 신호를 활성화할 수 있다. 제3 논리합 게이트(238)는 제1 비교기(231)의 출력 신호, 제1 논리곱 게이트(236)의 출력 신호 및 제2 논리곱 게이트(237)의 출력 신호 중에서 적어도 하나가 활성화될 때 제3 차단 제어 신호(BKCTR3)를 활성화할 수 있다.
결과적으로 제3 발생기(230)는 도 17에 예시된 제3 경우(CASE3)의 조건이 만족될 때 활성화되는 제3 차단 제어 신호(BKCTR3)를 발생할 수 있다. 제3 차단 제어 신호(BKCTR3)는 제3 마스터 지능 소자로부터 발행된 제3 리퀘스트(REQ3)의 플로우를 차단하는데 이용된다. 따라서, 도 20에 도시된 바와 같이, 제3 마스터 지능 소자 자신의 긴급 상황을 나타내는 제3 초긴급 플래그 신호(VUG3) 및 제3 긴급 플래그 신호(UG3)는 제3 차단 제어 신호(BKCTR3)의 발생에 관여하지 않음을 알 수 있다.
이와 같이, 차단 제어 신호 발생기(201)는 마스터 지능 소자들의 동작 특성에 따른 서로 다른 조건들을 만족할 때 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)을 각각 활성화할 수 있다. 따라서, 마스터 지능 소자들의 동작 특성을 고려하여 각각의 리퀘스트 플로우들을 독립적으로 그리고 효율적으로 제어할 수 있다.
도 21 및 22는 도 16의 플로우 제어 신호 발생기에 포함되는 제한 신호 발생기의 일 예를 나타내는 회로도들이다.
예를 들어, 제한 신호 발생기(202)는 도 1의 제1 마스터 지능 소자(101)와 상호접속 장치(10) 사이의 리퀘스트 플로우를 제한하기 위한 제한 신호(LMT)를 발생하는 제4 발생기(240) 및 마스터 지능 소자들(101, 102, 103)의 긴급 상황을 후단의 슬레이브로 전달하기 위한 조합 긴급 신호(UGNTn)를 발생하는 제5 발생기(250)를 포함할 수 있다.
도 21을 참조하면, 제4 발생기(240)는 제2 긴급 정보(UGNT2) 및 제3 긴급 정보(UGNT3)를 논리합 연산하여 제한 신호(LMT)를 발생하는 논리합 게이트(241)를 포함할 수 있다. 예를 들어, 논리합 게이트(241)는 긴급 플래그 신호들(UG2, UG3)을 논리합 연산하거나 초긴급 플래그 신호들(VUG2, VUG3)을 논리합 연산하여 제한 신호(LMT)를 발생할 수 있다.
이와 같이, 제한 신호 발생기(202)에 포함되는 제4 발생기(240)는 제한 신호(LMT)를 수신하는 서비스 제어기(QC1)를 제외한 다른 서비스 제어기들(QC2, QC3)로부터 발생된 긴급 정보들(UGNT2, UGNT3)에 기초하여 제한 신호(LMT)를 발생할 수 있다. 이는 자신에서 발생한 긴급 상황이 자신의 리퀘스트 플로우를 제한하지 않도록 하기 위함이다.
도 22를 참조하면, 제 5 발생기(250)는 제1 긴급 정보(UGNT1), 제2 긴급 정보(UGNT2) 및 제3 긴급 정보(UGNT3)를 논리합 연산하여 조합 긴급 정보(UGNTn)를 발생하는 논리합 게이트(251)를 포함할 수 있다. 예를 들어, 논리합 게이트(251)는 긴급 플래그 신호들(UG1, UG2, UG3)을 논리합 연산하여 조합 긴급 플래그 신호(UGn)를 발생하고 초긴급 플래그 신호들(VUG1, VUG2, VUG3)을 논리합 연산하여 조합 초긴급 플래그 신호(VUGn)를 발생할 수 있다.
이와 같이, 제한 신호 발생기(202)에 포함되는 제5 발생기(250)는 도 15에서 예시한 바와 같이 동일한 중재 회로(400)를 통하여 전달되는 모든 리퀘스트들(REQ1, REQ2, REQ3)과 관련된 긴급 상황을 나타내는 조합 긴급 정보(UGNTn)를 발생할 수 있다. 도 23 및 24를 참조하여 후술하는 바와 같이, 조합 긴급 정보(UGNTn)는 후단의 슬레이브로 전달되어 다른 마스터 지능 소자와 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는데 이용될 수 있다.
도 23은 본 발명의 실시예들에 따른 다중 계층 구조의 시스템을 나타내는 블록도이다.
도 23을 참조하면, 시스템(1000a)은 적어도 하나의 슬레이브 지능 소자(SLAVE)(301), 마스터 지능 소자들(MASTER1, MASTER2, MASTER3, MASTER4)(101, 102, 103, 104), 서비스 제어기들(QC1, QC2, QC3, QC4)(501, 502, 503, 504) 및 상호접속 장치(10)를 포함한다.
상호접속 장치(10)는 제1 내지 제3 마스터 지능 소자들(101, 102, 103)에 직접 연결된 제1 버스(BUS1) 및 제1 버스(BUS1)와 슬레이브 지능 소자(301) 사이에 케스케이드 결합된 적어도 하나의 제2 버스(BUS2)를 포함하는 다중 계층 상호접속 장치일 수 있다. 제4 마스터 지능 소자(104)는 제1 버스(BUS1)에 직접 연결되지 않고 제2 버스(BUS2)에 직접 연결될 수 있다.
복수의 마스터 지능 소자들(101, 102, 103, 104)은 공통 자원(common resource)으로 이용되는 슬레이브 지능 소자(301, 302, 303)에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생한다. 상기 리퀘스트들은 각각의 채널 신호들(CHN11, CHN12, CHN13, CHN21, CHN22)에 포함되어 상호접속 장치(10)에 전송된다. 상호 접속 장치(10)는 인터페이스들(SI11, SI12, SI13, MI12, SI21, SI22, MI21)을 통하여 순차적으로 타겟 슬레이브 지능 소자(301)로 리퀘스트를 전달한다.
복수의 리퀘스트들이 경합되는 경우 상호 접속 장치(10)에 포함되는 중재 회로들은 한번에 하나의 리퀘스트를 선택하여 후단으로 전송한다. 예를 들어, 마스터 인터페이스들(MI12, MI21)은 도 15를 참조하여 전술한 바와 같은 중재 회로(400)를 각각 포함할 수 있고, 슬레이브 인터페이스들(SI11, SI12, SI13, SI21, SI22) 중에서 적어도 하나는 도 27을 참조하여 후술하는 바와 같이 다중 아웃스탠딩 리퀘스트를 지원하기 위한 리퀘스트 큐를 포함할 수 있다.
복수의 서비스 제어기들(501, 502, 503, 504)은 마스터 지능 소자(101, 102, 103, 104)의 각각의 서비스 요구수준들을 나타내는 긴급 정보들(UGNT11, UGNT12, UGNT13, UGNT22) 및 우선순위 정보들(PRT11, PRT12, PRT13, PRT22)을 실시간으로 발생한다.
제1 내지 제3 마스터 지능 소자들(101, 102, 103)로부터의 긴급 정보들(UGNT11, UGNT12, UGNT13) 및 우선순위 정보들(PRT11, PRT12, PRT13)은 제1 버스(BUS1)를 통하여 제2 버스(BUS2)로 전달되어 제2 버스(BUS2)에서의 중재 동작 및 제2 버스(BUS2)와 슬레이브 지능 소자(301) 사이의 리퀘스트 플로우의 제어에 제공될 수 있다.
예를 들어, 제1 내지 제3 마스터 지능 소자들(101, 102, 103)로부터의 우선순위 정보들(PRT11, PRT12, PRT13)은 제1 버스(BUS2)의 마스터 인터페이스(MI12)에서 출력되는 우선순위 정보(PRT21)로서 제2 버스(BUS2)로 전달되어 제2 버스(BUS2)에서의 중재 동작에 제공될 수 있다. 일 실시예에서, 제1 버스(BUS1)로부터 제2 버스(BUS2)로 전달되는 우선순위 정보(PRT21)는 플래그 신호의 형태로 전달되어 제2 버스(BUS2)의 중재 동작에 이용될 수 있다. 다른 실시예에서, 우선순위 정보(PRT21)는 리퀘스트 큐에 저장된 우선순위를 갱신하는 방식으로 전달될 수 있다.
도 27을 참조하여 후술하는 바와 같이, 제1 버스(BUS1) 및 제2 버스(BUS2)의 각각은 다중 아웃스탠딩 리퀘스트들을 저장하기 위한 각각의 리퀘스트 큐들을 포함하고, 마스터 지능 소자들(101, 102, 103)로부터의 우선순위 정보들(PRT11, PRT12, PRT13)에 기초하여 상기 저장된 다중 아웃스탠딩 리퀘스트들에 포함된 우선순위들이 제1 버스(BUS1) 및 제2 버스(BUS2)의 중재 동작과 관계없이 실시간으로 갱신될 수 있다.
도 23에는 제1 제한 신호(LMT1) 및 제2 제한 신호(LMT2)가 각각 제1 서비스 제어기(501) 및 제4 서비스 제어기(504) 내의 제한기(L)로 제공되는 실시예가 도시되어 있다. 제1 제한 신호(LMT1)가 활성화되면 제1 마스터 지능 소자(101)와 제1 버스(BUS1) 사이의 리퀘스트 플로우가 제한되고 제4 제한 신호(LMT2)가 활성화되면 제4 마스터 지능 소자(104)와 제2 버스(BUS2) 사이의 리퀘스트 플로우가 제한된다.
도 24는 도 23의 시스템에 포함되는 제2 버스의 제한 신호 발생기의 일 예를 나타내는 회로도이다.
도 24를 참조하면 제2 버스(BUS2)에 포함되는 제한 신호 발생기(240a)는 제1 버스(BUS)로부터 전달되는 조합 긴급 정보(UGNT21) 및 제2 버스(BUS2) 상의 다른 슬레이브 인터페이스(SI)를 통하여 전달되는 긴급 정보들을 논리합 연산하여 제한 신호(LMT2)를 발생하는 논리합 게이트(241a)를 포함할 수 있다.
도 23에 도시된 제2 버스(BUS2)와 같은 후단의 슬레이브는 전단의 제1 버스(BUS1)로부터 제공되는 조합 긴급 정보(UGNT21)에 기초하여 제1 버스(BUS1)를 경유하지 않고 상기 제2 버스(BUS2)에 연결된 제4 마스터 지능 소자(104)와 슬레이브 지능 소자(301) 사이의 리퀘스트 플로우를 제어할 수 있다. 조합 긴급 정보(UGNT21)는 도 22를 참조하여 설명한 바와 같이 제1 버스(BUS1)에서 제1 내지 제3 마스터 지능 소자들(101, 102, 103)로부터의 긴급 정보들(UGNT11, UGNT12, UGNT13)에 기초하여 발생될 수 있다. 도 24에 도시된 제2 버스(BUS2)에 포함되는 제한 신호 발생기(240a)는 제1 버스(BUS1)로부터 전달되는 조합 긴급 정보(UGNT21)에 기초하여 제2 제한 신호(LMT2)를 발생할 수 있고, 제2 제한 신호(LMT2)는 제4 마스터 지능 소자(104)와 제2 버스(BUS2) 사이의 리퀘스트 플로우의 제어에 이용될 수 있다.
결과적으로 제1 버스에 직접 연결된 제1 내지 제3 마스터 지능 소자들(101, 102, 103)의 서비스 제어기들(501, 502, 503)에서 발생된 긴급 정보들(UGNT1, UGNT2, UGNT3)이 다른 버스, 즉 제2 버스(BUS2)에 연결된 제4 마스터 지능 소자(104)의 리퀘스트 플로우를 제한하는데 이용될 수 있다. 마찬가지로 도면에 도시하지는 않았으나, 제4 마스터(104)의 서비스 제어기(504)에 발생된 긴급 정보(UGNT22)가 제2 버스(BUS2)를 경유하여 제1 버스(BUS1)로 제공될 수 있다. 이 경우 제1 버스(BUS1)에 제공되는 긴급 정보(UGNT22)는 도 21의 발생기(240)의 입력의 하나로 제공되어, 결과적으로 제4 마스터(104)의 긴급 상황이 제1 마스터 지능 소자(101)의 리퀘스트 플로우의 제어에 이용될 수 있다.
도 25는 도 23의 버스 내에 저장되는 리퀘스트의 구조의 일 예를 나타내는 도면이고, 도 26은 도 23의 버스들 사이에 전달되는 우선순위 정보의 일 예를 나타내는 도면이다.
도 25를 참조하면, 버스 내에 저장되는 리퀘스트들(REQ)은 리퀘스트(REQ)를 발생한 마스터 지능 소자를 나타내는 마스터 식별자(MID), 복수의 리퀘스트들을 구별하기 위한 리퀘스트 식별자(AxID), 리퀘스트(REQ)의 내용을 나타내는 어드레스-코맨드(ADD-COM) 및 리퀘스트(REQ)의 우선순위(AxQ)를 포함할 수 있다. 예를 들어, 리퀘스트들(REQ)은 도 27의 레지스터 회로들(610, 620, 630, 710)에 저장될 수 있다.
도 26을 참조하면, 레지스터 회로들(610, 620, 630, 710) 사이에서 전달되는 우선순위 정보(PRT21)는 제1 레지스터 회로(610)로부터 전달되는 제1 코디드(coded) 우선순위 정보(CPRT11), 제2 레지스터 회로(620)로부터 전달되는 제2 코디드 우선순위 정보(CPRT12) 및 제3 레지스터 회로(630)로부터 전달되는 제3 코디드 우선순위 정보(CPRT13)를 포함할 수 있다. 각각의 코디드 우선순위 정보들(CPRT11, CPRT12, CPRT13)은 각각의 마스터 지능 소자들을 나타내는 마스터 식별자(MID11, MID12, MID13) 및 상기 마스터 지능 소자들에 각각 상응하는 우선순위들(AxQ11, AxQ12, AxQ13)을 포함할 수 있다.
이와 같이, 우선순위 정보들이 버스들 사이에서 전달되어 전단의 버스 내에서 뿐만 아니라 후단의 버스 내에서 리퀘스트들의 중재를 위한 정보로서 이용될 수 있다.
도 27은 도 23의 시스템에 포함되는 상호접속 장치의 일 예를 나타내는 블록도이다.
도 27을 참조하면, 상호접속 장치(10c)는 제1 레지스터 회로(610), 제2 레지스터 회로(620), 제3 레지스터 회로(630), 제4 레지스터 회로(710) 및 중재 회로(420)를 포함할 수 있다.
제1 레지스터 회로(610), 제2 레지스터 회로(620), 제3 레지스터 회로(630)는 제1 레지스터 노드(RN1)(60)에 해당하고 제4 레지스터 회로(710)는 제2 레지스터 노드(RN2)(70)에 해당할 수 있다. 일 실시예에서 제1 레지스터 노드(60)와 중재 회로(420)는 전단의 버스에 포함되고 제2 레지스터 노드(70)는 후단의 버스에 포함될 수 있다. 다른 실시예에서, 제1 레지스터 노드(60), 중재 회로(420)와 제2 레지스터 노드(70)가 하나의 버스에 포함될 수도 있다.
제1 내지 제3 레지스터 회로들(610, 620, 630)은 전단의 제1 레지스터 노드(60)에 포함되어 제1 내지 제3 리퀘스트들(REQ11, REQ12, REQ13)을 중재 회로(410)로 출력하고, 제4 레지스터 회로(710)는 후단의 제2 레지스터 노드(70)에 포함되어 중재 회로(420)에서 순차적으로 선택되는 리퀘스트(SREQ)를 수신한다.
전술한 바와 같이, 제1 내지 제3 리퀘스트들(REQ11, REQ12, REQ13)은 밸리드 신호들(VAL11, VAL12, VAL13) 및 레디 신호들(RDY11, RDY12, RDY13) 이용하는 핸드쉐이크 방식에 따라서 전송될 수 있다.
이 경우, 도 15의 차단부(20)는 도 27에 도시된 바와 같이 차단 제어 신호들(BKCTR11, BKCTR12, BKCTR13)에 응답하여 밸리드 신호들(VAL11, VAL12, VAL13)을 차단하고 차단 밸리드 신호들(BVAL11, BVAL12, BVAL13)을 각각 출력하는 논리 게이트들(21, 22, 23)로 구현될 수 있다.
중재 회로(420)에는 차단 밸리드 신호들(BVAL11, BVAL12, BVAL13)이 입력되고, 중재 회로(420)는 밸리드 신호가 차단된 리퀘스트를 제외한 나머지 리퀘스트들에 대해서 중재 동작을 수행하여 레디 신호들(RDY11, RDY12, RDY13) 중에서 선택된 리퀘스트에 상응하는 하나의 레디 신호를 활성화함으로써 핸드쉐이크 방식의 신호 전송이 수행될 수 있다. 이와 동시에 중재 회로(420)는 제2 레지스터 노드(70)로 입력되는 밸리드 신호(BVAL) 및 레디 신호(RDY)를 활성화하여 제2 레지스터 노드(70)에서 유효한 신호 수신이 이루어지도록 할 수 있다.
이와 같이, 차단부(21, 22, 23)는 차단 제어 신호들(BKCTR11, BKCTR12, BKCTR13)에 응답하여 중재 회로(420)로 입력되는 밸리드 신호들(VAL11, VAL12, VAL13)을 차단하여 인터페이스 회로들(60, 70) 사이의 리퀘스트 플로우를 제어할 수 있다.
도 28은 도 27의 상호접속 장치의 동작을 나타내는 타이밍도이다.
도 28에는 시간 T4와 T5 사이에서 제1 차단 제어 신호(BKCTR11)가 활성화되는 예가 도시되어 있다. 도 28를 참조하면, 제1 차단 제어 신호(BKCTR11)가 활성화되기 전에는 제1 차단 밸리드 신호(BVAL11)와 제1 밸리드 신호(VAL11)가 동일한 논리 레벨을 갖고, 제1 차단 제어 신호(BKCTR11)가 활성화되면, 제1 밸리드 신호(VAL11)에 관계없이 제1 차단 밸리드 신호(BVAL11)는 비활성화된다. 제2 및 제3 차단 제어 신호들은 활성화되지 않으므로 제2 및 제3 차단 밸리드 신호들(BVAL12, BVAL13)은 제2 및 제3 밸리드 신호들(VAL12, VAL13)과 각각 동일하다.
중재 회로(420)는 각각의 샘플링 시점(SP1 내지 SP8)마다 하나의 리퀘스트를 선택하여 선택된 리퀘스트(SREQ)를 출력한다. 예를 들어, 제1 차단 제어 신호(BKCTR11)가 활성화되기 전의 제1 내지 제4 샘플링 시점(SP1, SP2, SP3, SP4)에서는 상대적으로 우선순위가 높은 제1 리퀘스트(REQ11)가 중재 회로(420)에 의해 선택되고, 제1 레디 신호(RDY11)를 활성화하여 제1 리퀘스트(REQ11)의 유효한 전송이 이루어졌음을 인터페이스들(60, 70)에게 알린다. 선택되지 않은 제2 리퀘스트(REQ12)의 제2 밸리드 신호(VAL12)는 활성화된 상태를 계속 유지한다. 제1 차단 제어 신호(BKCTR11)가 활성화되면, 제1 밸리드 신호(VAL11)는 활성화되어 있지만 차단 밸리드 신호(BVAL11)는 비활성화되어 있으므로 중재 회로(420)는 제1 리퀘스트(REQ11) 배제하고 제2 및 제3 리퀘스트들(REQ12, REQ13)에 대해서만 중재 동작을 수행한다.
제5 내지 제7 타이밍 시점(SP5, SP6, SP7)에서는 제1 리퀘스트(REQ11)의 우선순위가 가장 높더라도 제1 차단 밸리드 신호(BVAL11)에 의해 배제되고, 중재 회로(420)는 다음 우선순위의 제2 리퀘스트(REQ12)를 선택하고, 제2 레디 신호(RDY12)를 활성화하여 제2 리퀘스트(REQ12)의 유효한 전송이 이루어졌음을 인터페이스들(60, 70)에게 알린다. 제8 타이밍 시점(SP8)에서, 중재 회로(420)는 제3 리퀘스트(REQ13)만이 입력되는 것으로 판단하여 제3 리퀘스트(REQ13)를 선택하고, 제3 레디 신호(RDY13)를 활성화하여 제3 리퀘스트(REQ12)의 유효한 전송이 이루어졌음을 인터페이스들(60, 70)에게 알린다.
이와 같이, 도 27의 차단부(21, 22, 23)는 차단 제어 신호들(BKCTR11, BKCTR12, BKCTR13)에 응답하여 중재 회로(420)로 입력되는 밸리드 신호들(VAL11, VAL12, VAL13)을 차단하여 인터페이스 회로들(60, 70) 사이의 리퀘스트 플로우를 제어할 수 있다.
도 29는 본 발명의 실시예들에 따른 리퀘스트 플로우의 제어 방법을 나타내는 순서도이다.
도 29를 참조하면, 본 발명의 실시예들에 따른 리퀘스트 플로우 제어 방법은 크게 세 가지로 구분될 수 있다.
첫 번째로, 긴급 정보들 중 적어도 하나에 기초하여 제한 신호를 발생(단계 S810)하고, 상기 제한 신호에 기초하여 마스터 지능 소자와 상호접속 장치 사이의 리퀘스트 플로우를 제한(단계 S820)할 수 있다.
예를 들어, 도 21의 신호 발생기(240)를 이용하여 제2 마스터 지능 소자(102)와 제3 마스터 지능 소자(103)에 대한 긴급 정보들(UGNT2, UGNT3)에 기초하여 제한 신호(LMT)를 발생할 수 있다. 이와 같이 발생된 제한 신호(LMT)를 도 23에 도시된 바와 같이 제1 마스터 지능 소자(101)에 대한 제1 서비스 제어기(501) 내의 제한기(L), 예를 들어, 도 13a에 도시된 바와 같은 제한기(510a)로 제공하여 제1 마스터 지능 소자(101)와 상호접속 장치(10) 사이의 리퀘스트 플로우를 제한할 수 있다.
두 번째로, 긴급 정보들에 기초하여 복수의 차단 제어 신호들을 발생(단계 S830)하고, 상기 차단 제어 신호들에 응답하여, 마스터 지능 소자들이 직접 연결된 제1 버스의 중재 회로로 리퀘스트들이 입력되는 것을 차단(단계 S840)할 수 있다.
예를 들어, 도 18 내지 20의 신호 발생기들(210, 220, 230)을 이용하여 서로 다른 조건들 및 제1 버스에 직접 연결된 마스터 지능 소자들(101, 102, 103)에 대한 긴급 정보들(UGNT1, UGNT2, UGNT3)에 기초하여 활성화되는 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)을 발생할 수 있다. 도 15 및 도 27을 참조하여 설명한 바와 같이, 차단 제어 신호들(BKCTR1, BKCTR2, BKCTR3)은 차단부(21, 22, 23)로 제공되어 중재 회로(400, 420)로 리퀘스트들이 입력되는 것을 차단할 수 있다.
세 번째로, 긴급 정보들에 기초하여 조합 긴급 정보를 발생(단계 S850)하고, 상기 조합 긴급 정보를 제1 버스에 케스케이드 결합된 적어도 하나의 제2 버스에 전달(단계 S860)하고, 상기 조합 긴급 정보에 기초하여, 제1 버스를 경유하지 않고 제2 버스에 연결된 마스터 지능 소자와 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어(단계 S870)할 수 있다.
예를 들어, 도 22의 신호 발생기(250)를 이용하여, 제1 버스에 직접 연결된 마스터 지능 소자들(101, 102, 103)에 대한 긴급 정보들(UGNT1, UGNT2, UGNT3)에 기초하여 활성화되는 조합 긴급 정보(UGNTn)를 발생할 수 있다. 이러한 조합 긴급 정보(UGNTn)는 도 23에 도시된 바와 같이 제1 버스(BUS1)에 케스케이드 결합된 제2 버스(BUS2)에 버스 사이의 긴급 정보(UGNT21)로서 전달될 수 있다. 제2 버스에 포함되는 도 24의 신호 발생기(240a)는 이러한 조합 긴급 정보(UGNT21)에 기초하여 활성화되는 제한 신호(LMT2)를 발생할 수 있다. 제한 신호(LMT2)는 도 23에 도시된 바와 같이 제1 버스(BUS2)를 경유하지 않고 제2 버스(BUS2)에 연결된 제4 마스터 지능 소자(104)에 대한 서비스 제어기(504) 내의 제한기(L)로 제공되어 제4 마스터 지능 소자(104)와 슬레이브 지능 소자(301) 사이의 리퀘스트 플로우를 제어할 수 있다.
이와 같이, 긴급 정보의 계층간 또는 버스간 전달을 통하여 다양한 측면에서 시스템 전체의 리퀘스트 플로우를 효율적으로 제어함으로써 시스템의 서비스 품질을 더욱 향상시킬 수 있다.
도 30은 본 발명의 실시예들에 따른 시스템 온 칩을 전자 기기에 응용한 예를 나타내는 블록도이다.
도 30을 참조하면, 전자 기기(2000)는 시스템 온 칩(1010), 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040), 파워 서플라이(1050) 및 이미지 센서(1060)를 포함할 수 있다. 한편, 도 30에는 도시되지 않았지만, 전자 기기(2000)는 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
시스템 온 칩(1010)은 도 1 내지 도 29를 참조하여 설명한 본 발명의 실시예들에 따른 애플리케이션 프로세서 시스템 온 칩(AP SOC)으로서 상호접속 장치(INT)와 이에 연결된 복수의 지능 소자들(또는 기능 블록들)을 포함할 수 있다. 예를 들어, 상기 지능 소자들은 메모리 콘트롤러(memory controller)(MC), 중앙 처리부(central processing unit), 디스플레이 콘트롤러(display controller)(DIS), 파일 시스템 블록(file system block)(FSYS), 그래픽 처리부(graphic processing unit)(GPU), 이미지 신호 프로세서(image signal processor)(ISP), 멀티 포맷 코덱 블록(multi-format codec block)(MFC) 등을 포함할 수 있다. 메모리 콘트롤러(MC)는 전술한 슬레이브 지능 소자들 중 하나에 해당하고 다른 지능 소자들 중 복수의 지능 소자들은 메모리 콘트롤러(MC)를 공통 자원으로 이용하는 마스터 지능 소자들에 해당한다. 도 30에 도시하지는 않았으나, 전술한 바와 같이 시스템 온 칩(1010)는 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생하는 서비스 제어기들을 포함하고, 서비스 제어기들 중에서 적어도 하나의 서비스 제어기는 리퀘스트 플로우를 제어하기 위한 제한기를 포함할 수 있다.
시스템 온 칩(1010)은 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040) 및 이미지 센서(2060)와 통신을 수행할 수 있다. 실시예에 따라, 시스템 온 칩(1010)은 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 장치(1020)는 전자 기기(2000)의 동작에 필요한 데이터 및 프로그램 코드를 저장할 수 있다. 예를 들어, 메모리 장치(1020)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 저장 장치(1030)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(1040)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(1050)는 전자 기기(2000)의 동작에 필요한 동작 전압을 공급할 수 있다.
이미지 센서(1060)는 상기 버스들 또는 다른 통신 링크를 통해서 시스템 온 칩(1010)과 연결되어 통신을 수행할 수 있다. 이미지 센서(1060)는 시스템 온 칩(1010)과 함께 하나의 칩에 집적될 수도 있고, 서로 다른 칩에 각각 집적될 수도 있다.
도 30에 도시된 전자 기기(2000)의 구성 요소들의 적어도 일부는 다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 적어도 일부의 구성들은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 전자 기기(2000)는 적어도 하나의 시스템 온 칩을 포함하는 모든 장치 및 시스템으로 해석되어야 할 것이다. 예를 들어, 전자 기기(2000)는 디지털 카메라, 이동 전화기, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 스마트폰 등을 포함할 수 있다.
도 31은 도 30의 전자 기기에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 31을 참조하면, 전자 기기(1100)는 MIPI 인터페이스를 사용 또는 지원할 수 있는 데이터 처리 장치로 구현될 수 있고, 애플리케이션 프로세서 칩 형태의 시스템 온 칩(AP SOC)(1110), 이미지 센서(1140) 및 디스플레이(1150) 등을 포함할 수 있다.
시스템 온 칩(1110)의 CSI 호스트(1112)는 카메라 시리얼 인터페이스(Camera Serial Interface; CSI)를 통하여 이미지 센서(1140)의 CSI 장치(1141)와 시리얼 통신을 수행할 수 있다. 일 실시예에서, CSI 호스트(1112)는 디시리얼라이저(DES)를 포함할 수 있고, CSI 장치(1141)는 시리얼라이저(SER)를 포함할 수 있다. 시스템 온 칩(1110)의 DSI 호스트(1111)는 디스플레이 시리얼 인터페이스(Display Serial Interface; DSI)를 통하여 디스플레이(1150)의 DSI 장치(1151)와 시리얼 통신을 수행할 수 있다.
일 실시예에서, DSI 호스트(1111)는 시리얼라이저(SER)를 포함할 수 있고, DSI 장치(1151)는 디시리얼라이저(DES)를 포함할 수 있다. 나아가, 전자 기기(1100)는 시스템 온 칩(1110)과 통신을 수행할 수 있는 알에프(Radio Frequency; RF) 칩(1160)을 더 포함할 수 있다. 전자 기기(1100)의 PHY(1113)와RF 칩(1160)의 PHY(1161)는 MIPI(Mobile Industry Processor Interface) DigRF에 따라 데이터 송수신을 수행할 수 있다. 또한, 시스템 온 칩(1110)은 PHY(1161)의 MIPI DigRF에 따른 데이터 송수신을 제어하는 DigRF MASTER(1114)를 더 포함할 수 있다.
한편, 전자 기기(1100)는 지피에스(Global Positioning System; GPS)(1120), 스토리지(1170), 마이크(1180), 디램(Dynamic Random Access Memory; DRAM)(1185) 및 스피커(1190)를 포함할 수 있다. 또한, 전자 기기(1100)는 초광대역(Ultra WideBand; UWB)(1210), 무선 랜(Wireless Local Area Network; WLAN)(1220) 및 와이맥스(Worldwide Interoperability for Microwave Access; WIMAX)(1230) 등을 이용하여 통신을 수행할 수 있다. 도 31에 도시된 전자 기기(1100)의 구조 및 인터페이스는 하나의 예시로서 이에 한정되는 것이 아니다.
본 발명의 실시예들에 따른 시스템 및 시스템 제어 방법은 복수의 마스터 지능 소자들과 상기 마스터 지능 소자들에 의해 공통으로 액세스되는 적어도 하나의 슬레이브 소자의 상호접속에 유용하게 이용될 수 있다. 특히 본 발명은 여러 가지 반도체 부품들이 하나의 칩에 집적되는 시스템 온 칩에 유용하게 이용될 수 있으며, 소형화, 고성능 및 고속의 동작이 요구되는 디지털 카메라, 이동 전화기, 피디에이(PDA), 피엠피(PMP), 스마트폰 등의 휴대 기기에 더욱 유용하게 이용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (26)

  1. 적어도 하나의 슬레이브 지능 소자;
    상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들;
    상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생하는 복수의 서비스 제어기들: 및
    각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 상호접속 장치를 포함하고,
    상기 상호접속 장치는 상기 긴급 정보들 중에서 적어도 하나에 기초하여 제한 신호를 발생하는 제한 신호 발생기를 포함하고,
    상기 서비스 제어기들 중에서 적어도 하나의 서비스 제어기는 상기 제한 신호에 기초하여 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 리퀘스트 플로우를 제한하는 제한기를 포함하고,
    상기 제한기는,
    상기 상호접속 장치로부터의 상기 제한 신호에 기초하여 동기 제한 신호를 발생하는 동기화기; 및
    상기 동기 제한 신호에 응답하여 상기 상응하는 마스터 지능 소자로부터의 상기 리퀘스트를 제한하는 마스크부를 포함하는 시스템 온 칩(SOC: system on chip).
  2. 삭제
  3. 제1 항에 있어서,
    상기 제한 신호 발생기는 상기 제한 신호를 수신하는 상기 서비스 제어기를 제외한 다른 서비스 제어기들로부터 발생된 상기 긴급 정보들에 기초하여 상기 제한 신호를 발생하는 것을 특징으로 하는 시스템 온 칩.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 적어도 하나의 슬레이브 지능 소자;
    상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들;
    상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생하는 복수의 서비스 제어기들: 및
    각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 상호접속 장치를 포함하고,
    상기 서비스 제어기들의 각각은,
    상기 상응하는 마스터 지능 소자의 요구수준을 실시간으로 검출하여 현재 요구수준을 발생하는 모니터; 및
    기준값 및 상기 현재 요구수준에 기초하여 상기 긴급 정보 및 상기 우선순위 정보를 발생하는 정보 발생기를 포함하고,
    상기 모니터는, 상기 상응하는 마스터 지능 소자의 대역폭을 실시간으로 검출하여 현재 대역폭 레벨을 발생하는 대역폭 모니터를 포함하고,
    상기 대역폭 모니터는,
    상기 상응하는 마스터 지능 소자의 동작 클록 신호 및 단위 데이터 소비량에 기초하여 레벨 감소 신호를 발생하는 소비 데이터 검출기;
    상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 채널 신호에 기초하여 레벨 증가 신호를 발생하는 서비스 데이터 검출기; 및
    상기 레벨 감소 신호 및 상기 레벨 증가 신호에 기초하여 상기 현재 대역폭 레벨을 발생하는 가상 버퍼를 포함하는 것을 특징으로 하는 시스템 온 칩.
  10. 적어도 하나의 슬레이브 지능 소자;
    상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들;
    상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생하는 복수의 서비스 제어기들: 및
    각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 상호접속 장치를 포함하고,
    상기 서비스 제어기들의 각각은,
    상기 상응하는 마스터 지능 소자의 요구수준을 실시간으로 검출하여 현재 요구수준을 발생하는 모니터; 및
    기준값 및 상기 현재 요구수준에 기초하여 상기 긴급 정보 및 상기 우선순위 정보를 발생하는 정보 발생기를 포함하고,
    상기 모니터는, 상기 상응하는 마스터 지능 소자의 레이턴시를 실시간으로 검출하여 현재 레이턴시 레벨을 발생하는 레이턴시 모니터를 포함하고,
    상기 레이턴시 모니터는,
    상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 채널 신호에 기초하여 현재 레이턴시를 발생하는 레이턴시 검출기;
    상기 현재 레이턴시 및 기준 레이턴시의 차이를 계산하여 레이턴시 변화값을 출력하는 감산기; 및
    상기 레이턴시 변화값을 누산하여 상기 현재 레이턴시 레벨을 발생하는 축적기를 포함하는 것을 특징으로 하는 시스템 온 칩.
  11. 삭제
  12. 적어도 하나의 슬레이브 지능 소자;
    상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들;
    상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생하는 복수의 서비스 제어기들: 및
    각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 상호접속 장치를 포함하고,
    상기 상호접속 장치는 상기 긴급 정보들 중에서 적어도 하나에 기초하여 제한 신호를 발생하는 제한 신호 발생기를 포함하고,
    상기 서비스 제어기들 중에서 적어도 하나의 서비스 제어기는 상기 제한 신호에 기초하여 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 리퀘스트 플로우를 제한하는 제한기를 포함하고,
    상기 제한기는,
    상기 상호접속 장치로부터의 상기 제한 신호에 기초하여 동기 제한 신호를 발생하는 동기화기; 및
    상기 동기 제한 신호에 응답하여 상기 상응하는 마스터 지능 소자로부터의 상기 리퀘스트를 제한하는 마스크부를 포함하고,
    상기 상호접속 장치는
    상기 우선 순위 정보들에 기초하여 상기 마스터 지능 소자들의 상기 리퀘스트들 중에서 하나의 선택된 리퀘스트를 출력하는 중재 회로;
    상기 긴급 정보들에 기초하여 복수의 차단 제어 신호들을 발생하는 차단 제어 신호 발생기; 및
    상기 차단 제어 신호들에 응답하여 상기 리퀘스트들의 상기 중재 회로로의 입력을 차단하는 차단부를 포함하는 것을 특징으로 하는 시스템 온 칩.
  13. 삭제
  14. 삭제
  15. 적어도 하나의 슬레이브 지능 소자;
    상기 슬레이브 지능 소자에게 서비스를 요구하기 위한 리퀘스트들을 각각 발생하는 복수의 마스터 지능 소자들;
    상기 마스터 지능 소자들의 각각의 서비스 요구수준들을 나타내는 긴급 정보들 및 우선순위 정보들을 실시간으로 발생하는 복수의 서비스 제어기들: 및
    각각의 채널들을 통하여 상기 슬레이브 지능 소자 및 상기 마스터 지능 소자들에 연결되고, 상기 우선순위 정보들에 기초하여 상기 리퀘스트들의 중재 동작을 수행하고 상기 긴급 정보들에 기초하여 상기 마스터 지능 소자들과 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우를 제어하는 상호접속 장치를 포함하고,
    상기 상호접속 장치는 상기 긴급 정보들 중에서 적어도 하나에 기초하여 제한 신호를 발생하는 제한 신호 발생기를 포함하고,
    상기 서비스 제어기들 중에서 적어도 하나의 서비스 제어기는 상기 제한 신호에 기초하여 상기 상응하는 마스터 지능 소자와 상기 상호접속 장치 사이의 리퀘스트 플로우를 제한하는 제한기를 포함하고,
    상기 제한기는,
    상기 상호접속 장치로부터의 상기 제한 신호에 기초하여 동기 제한 신호를 발생하는 동기화기; 및
    상기 동기 제한 신호에 응답하여 상기 상응하는 마스터 지능 소자로부터의 상기 리퀘스트를 제한하는 마스크부를 포함하고,
    상기 상호접속 장치는 상기 마스터 지능 소자들에 직접 연결된 제1 버스 및 상기 제1 버스와 상기 슬레이브 지능 소자 사이에 케스케이드 결합된 적어도 하나의 제2 버스를 포함하는 다중 계층 상호접속 장치이고,
    상기 마스터 지능 소자들로부터의 상기 긴급 정보들 및 상기 우선순위 정보들은 상기 제1 버스를 통하여 상기 제2 버스로 전달되어 상기 제2 버스에서의 중재 동작 및 상기 제2 버스와 상기 슬레이브 지능 소자 사이의 리퀘스트 플로우의 제어에 제공되는 것을 특징으로 하는 시스템 온 칩.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020120034760A 2012-04-04 2012-04-04 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법 KR101949382B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120034760A KR101949382B1 (ko) 2012-04-04 2012-04-04 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법
US13/790,104 US9367499B2 (en) 2012-04-04 2013-03-08 System on chip for enhancing quality of service and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120034760A KR101949382B1 (ko) 2012-04-04 2012-04-04 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법

Publications (2)

Publication Number Publication Date
KR20130112404A KR20130112404A (ko) 2013-10-14
KR101949382B1 true KR101949382B1 (ko) 2019-02-18

Family

ID=49293227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120034760A KR101949382B1 (ko) 2012-04-04 2012-04-04 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법

Country Status (2)

Country Link
US (1) US9367499B2 (ko)
KR (1) KR101949382B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101855399B1 (ko) * 2011-03-24 2018-05-09 삼성전자주식회사 데이터 트래픽을 개선한 SoC 및 이의 동작 방법
KR102280734B1 (ko) 2014-12-09 2021-07-21 삼성전자주식회사 시스템 온 칩과 이를 포함하는 모바일 전자 기기
US10394731B2 (en) 2014-12-19 2019-08-27 Amazon Technologies, Inc. System on a chip comprising reconfigurable resources for multiple compute sub-systems
US10523585B2 (en) 2014-12-19 2019-12-31 Amazon Technologies, Inc. System on a chip comprising multiple compute sub-systems
US11200192B2 (en) * 2015-02-13 2021-12-14 Amazon Technologies. lac. Multi-mode system on a chip
US9588921B2 (en) 2015-02-17 2017-03-07 Amazon Technologies, Inc. System on a chip comprising an I/O steering engine
US10353747B2 (en) 2015-07-13 2019-07-16 Futurewei Technologies, Inc. Shared memory controller and method of using same
KR102396309B1 (ko) * 2015-11-06 2022-05-10 삼성전자주식회사 데이터 요청을 제어하기 위한 장치 및 방법
KR102440948B1 (ko) * 2016-02-11 2022-09-05 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
EP3472806A4 (en) 2016-06-17 2020-02-26 Immersive Robotics Pty Ltd IMAGE COMPRESSION METHOD AND DEVICE
US11150857B2 (en) 2017-02-08 2021-10-19 Immersive Robotics Pty Ltd Antenna control for mobile device communication
AU2018372561B2 (en) 2017-11-21 2023-01-05 Immersive Robotics Pty Ltd Image compression for digital reality
EP3714598A4 (en) 2017-11-21 2021-03-31 Immersive Robotics Pty Ltd SELECTING A FREQUENCY COMPONENT FOR IMAGE COMPRESSION
KR20210012439A (ko) * 2019-07-25 2021-02-03 삼성전자주식회사 마스터 지능 소자 및 이의 제어 방법
CN113515477B (zh) * 2020-04-09 2024-05-03 珠海全志科技股份有限公司 一种总线网络中优先级动态调整方法、装置和存储介质
CN112039959A (zh) * 2020-08-14 2020-12-04 深圳市欧瑞博科技股份有限公司 智能设备的控制方法、装置、智能控制面板及存储介质
KR20220051750A (ko) * 2020-10-19 2022-04-26 삼성전자주식회사 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법
WO2022252085A1 (zh) * 2021-05-31 2022-12-08 华为技术有限公司 计算机***及总线流量控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209093A1 (en) * 2007-02-28 2008-08-28 National Chiao Tung University Fine-grained bandwidth control arbiter and the method thereof
US20110072178A1 (en) * 2009-09-15 2011-03-24 Arm Limited Data processing apparatus and a method for setting priority levels for transactions

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956493A (en) * 1996-03-08 1999-09-21 Advanced Micro Devices, Inc. Bus arbiter including programmable request latency counters for varying arbitration priority
US6385678B2 (en) * 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation
US6160812A (en) * 1998-05-04 2000-12-12 Cabletron Systems, Inc. Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch
US6442550B1 (en) * 1999-12-14 2002-08-27 International Business Machines Corporation System and method in a collaborative data processing environment for customizing the quality of service on a per-client basis
JP2001175588A (ja) 1999-12-15 2001-06-29 Matsushita Electric Ind Co Ltd バス制御装置
US7788354B2 (en) 2000-07-28 2010-08-31 Siddhartha Nag End-to-end service quality in a voice over Internet Protocol (VoIP) Network
JP2003006146A (ja) 2001-06-20 2003-01-10 Kyocera Corp バス調停回路
US6785793B2 (en) 2001-09-27 2004-08-31 Intel Corporation Method and apparatus for memory access scheduling to reduce memory access latency
US6804738B2 (en) 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US7406124B1 (en) * 2002-05-30 2008-07-29 Intervideo, Inc. Systems and methods for allocating bits to macroblocks within a picture depending on the motion activity of macroblocks as calculated by an L1 norm of the residual signals of the macroblocks
US7062582B1 (en) * 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
JP4480427B2 (ja) 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置
JP4222251B2 (ja) 2004-04-27 2009-02-12 ソニー株式会社 バス調停装置およびバス調停方法
US7263566B2 (en) * 2004-12-30 2007-08-28 Qualcomm Incorporated Method and apparatus of reducing transfer latency in an SOC interconnect
JP2008027245A (ja) 2006-07-21 2008-02-07 Matsushita Electric Ind Co Ltd メモリアクセス制御装置およびメモリアクセス制御方法
US8028257B2 (en) 2007-03-01 2011-09-27 International Business Machines Corporation Structure for data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode
US7660952B2 (en) 2007-03-01 2010-02-09 International Business Machines Corporation Data bus bandwidth scheduling in an FBDIMM memory system operating in variable latency mode
US8452907B2 (en) * 2007-03-27 2013-05-28 Arm Limited Data processing apparatus and method for arbitrating access to a shared resource
US8266389B2 (en) * 2009-04-29 2012-09-11 Advanced Micro Devices, Inc. Hierarchical memory arbitration technique for disparate sources
US8261121B2 (en) 2009-12-24 2012-09-04 Nvidia Corporation Command latency reduction and command bandwidth maintenance in a memory circuit
GB2482149B (en) * 2010-07-21 2017-09-06 Cray Uk Ltd Network switch adaptive routing
JP5591022B2 (ja) * 2010-08-16 2014-09-17 オリンパス株式会社 バス帯域モニタ装置およびバス帯域モニタ方法
US8775754B2 (en) * 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
US8856459B1 (en) * 2011-12-07 2014-10-07 Apple Inc. Matrix for numerical comparison
US8930601B2 (en) * 2012-02-27 2015-01-06 Arm Limited Transaction routing device and method for routing transactions in an integrated circuit
US9684633B2 (en) * 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080209093A1 (en) * 2007-02-28 2008-08-28 National Chiao Tung University Fine-grained bandwidth control arbiter and the method thereof
US20110072178A1 (en) * 2009-09-15 2011-03-24 Arm Limited Data processing apparatus and a method for setting priority levels for transactions

Also Published As

Publication number Publication date
KR20130112404A (ko) 2013-10-14
US9367499B2 (en) 2016-06-14
US20130268706A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
KR101949382B1 (ko) 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법
US9684633B2 (en) Adaptive service controller, system on chip and method of controlling the same
JP4222251B2 (ja) バス調停装置およびバス調停方法
US9367498B2 (en) Resource request arbitration device, resource request arbitration system, resource request arbitration method, integrated circuit, and program
US11748284B2 (en) Systems and methods for arbitrating traffic in a bus
US10423558B1 (en) Systems and methods for controlling data on a bus using latency
US20140281081A1 (en) Proactive quality of service in multi-matrix system bus
US10649922B2 (en) Systems and methods for scheduling different types of memory requests with varying data sizes
US8527684B2 (en) Closed loop dynamic interconnect bus allocation method and architecture for a multi layer SoC
WO2006024193A1 (fr) Procede et systeme pour transfert de donnees
US20080049758A1 (en) Method of scheduling and accessing requests and system using the same
CN101819562A (zh) 集线器链路读取返回流动
CN114328350A (zh) 一种基于axi总线的通讯方法、装置以及介质
KR101420290B1 (ko) 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템
JP2005316609A (ja) バス調停装置およびバス調停方法
CN112286335B (zh) 主设备以及控制其的***和方法
US7028116B2 (en) Enhancement of transaction order queue
KR20170024876A (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
KR102326892B1 (ko) 적응형 트랜잭션 처리 방법 및 이를 위한 장치
KR102021795B1 (ko) 적응적 서비스 제어기, 시스템 온 칩 및 시스템 온 칩의 제어 방법
US10417148B2 (en) Bus system and bus traffic control apparatus for controlling the same
US20070198730A1 (en) Embedded system with a bus and arbitration method for same
US9690730B2 (en) Register slicing circuit and system on chip including the same
KR101013769B1 (ko) 버스 중재방법 및 장치
TWI244001B (en) An arbiter and the method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant