KR20110097447A - 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법 - Google Patents

인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법 Download PDF

Info

Publication number
KR20110097447A
KR20110097447A KR1020100017294A KR20100017294A KR20110097447A KR 20110097447 A KR20110097447 A KR 20110097447A KR 1020100017294 A KR1020100017294 A KR 1020100017294A KR 20100017294 A KR20100017294 A KR 20100017294A KR 20110097447 A KR20110097447 A KR 20110097447A
Authority
KR
South Korea
Prior art keywords
interrupt
ips
processor core
chip
processor
Prior art date
Application number
KR1020100017294A
Other languages
English (en)
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 KR1020100017294A priority Critical patent/KR20110097447A/ko
Priority to US12/951,161 priority patent/US8688882B2/en
Priority to JP2010279425A priority patent/JP2011175625A/ja
Priority to CN201010614361.7A priority patent/CN102169449B/zh
Publication of KR20110097447A publication Critical patent/KR20110097447A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

각종 아이피들에서 발생된 인터럽트 처리를 에러 없이 보다 신속하게 수행할 수 있는 시스템 온 칩이 개시된다. 그러한 시스템 온 칩은, 프로세서서 코어와 모듈화된 복수의 아이피(IP)들 이외에 별도의 인터럽트 프록시 처리부를 포함한다. 상기 인터럽트 프록시 처리부는 상기 프로세서 코어와 상기 복수의 아이피(IP)들에 연결되어, 상기 복수의 아이피(IP)들에 대한 인터럽트 관련 타스크 예를 들면 인터럽트 해제를 전용으로 처리한다. 본 발명의 실시 예의 구성에 따르면, 시스템 온 칩의 동작 퍼포먼스가 개선된다.

Description

인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법{System on chip having interrupt proxy and processing method thereof}
본 발명은 시스템 온 칩에 관한 것으로, 보다 상세하게는 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그 따른 인터럽트 프록시 처리방법에 관한 것이다.
디지털 통신이나 멀티미디어 시스템에 사용되는 다양한 정보기기들이 사용자의 요구에 부응하여 소형화, 경량화, 저가격화, 및 고성능화의 방향으로 발전함에 따라, 시스템 온 칩(System on Chip)이 더욱 중요한 기술요소로서 등장하고 있다.
그러한 시스템 온 칩은 프로세서, 메모리, 아날로그, 디지털신호 처리(DSP) 등과 같이 별도의 시장과 제품군을 형성했던 여러 반도체 제품을 하나의 칩에 통합한 반도체 집적회로이다. 그러므로 시스템 온 칩에는 모듈 형태로 된 복수의 아이피(IP:Intellectual Property)들이 탑재되며, 상기 아이피들에는 메모리, 외부 인터페이스, 아날로그 및 혼성 모드 블록, 내장 소프트웨어, OS 등 시스템을 구성하는 모든 하드웨어 및 소프트웨어 기능이 포함되어 있다. 상기 아이피는 VC (Virtual Component)와 같은 의미로서 본 분야에서 사용되고 있다.
시스템 온 칩의 각 IP에서 인터럽트(interrupt)가 발생될 경우에, 프로세서 코어는 각 IP에서 발생된 모든 인터럽트 신호를 수집하고 각 IP별로 상이한 사용자 소프트웨어를 이용하여 인터럽트 타스크를 처리한다.
그러한 경우에 각 IP별로 인터럽트 타스크의 처리에 걸리는 시간이 각기 다르게 되어 성능 저하 및 사용자 소프트웨어 오류에 기인한 시스템의 오동작 등이 발생될 수 있다. 또한, IP들의 수가 매우 많아져 시스템의 구성이 복잡해지는 경우에는 프로세서 코어가 각 IP에 접근하는데 걸리는 시간 등의 차이에 기인하여 대기 시간도 증가될 수 있다. 그리고, 인터럽트 타스크의 처리 시에 처리 지연이 발생되면 고속의 프로세서 코어가 사용자 소프트 웨어 중의 인터럽트 서비스 루틴(Interrupt Service Routine)을 다시 수행하게 되는 오류도 발생될 수 있다.
따라서, 시스템 온 칩의 각 IP에서 발생된 인터럽트를 보다 신속하고 원활히 처리할 수 있는 테크닉이 요망된다.
본 발명이 해결하고자 하는 기술적 과제는, 각 아이피에서 발생된 인터럽트를 오동작 없이 보다 신속하게 처리할 수 있는 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법을 제공함에 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 인터럽트 처리를 표준화된 방식으로 수행할 수 있는 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법을 제공함에 있다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 프로세서 코어가 인터럽트 서비스 루틴을 다시 수행하게 되는 오류를 막을 수 있는 개선된 방법을 제공함에 있다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 어느 IP에서 인터럽트가 발생되었는 지에 상관없이 동일한 인터럽트 타스크 처리시간을 확보하고, 사용자의 실수로 잘못된 사용자 소프트웨어가 존재하더라도 오류를 차단할 수 있는 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법을 제공함에 있다.
본 발명이 해결하고자 하는 또 다른 기술적 과제도, 시스템 온 칩의 전체 성능을 높이고 동작 안정성을 강화할 수 있는 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법을 제공함에 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 실시 예의 일 양상에 따른 시스템 온 칩은, 시스템 온 칩에서 요구되는 설정 타스크를 처리하기 위한 프로세서 코어와; 상기 시스템 온 칩에 모듈 형태로 탑재되며 시스템 버스를 통하여 상기 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들과; 상기 프로세서 코어와 상기 복수의 아이피(IP)들에 연결되며, 상기 프로세서 코어의 인터럽트 처리 부담을 줄이기 위해 상기 복수의 아이피(IP)들에 대한 인터럽트 관련 타스크를 전용으로 처리하기 위한 인터럽트 프록시 처리부를 구비한다.
본 발명의 실시 예에서, 상기 인터럽트 관련 타스크는 상기 복수의 아이피(IP)들에 대한 인터럽트 해제를 포함할 수 있다.
본 발명의 실시 예에서, 상기 인터럽트 프록시 처리부는,
상기 복수의 아이피(IP)들로부터 인가되는 인터럽트 상태 정보를 대응되는 아이피별로 저장하며 상기 인터럽트 해제 시에 상기 프로세서 코어로부터 인가되는 인터럽트 해제신호를 대응되는 아이피별로 저장하는 상태 레지스터와;
상기 인터럽트 해제신호를 상기 복수의 아이피(IP)들 중 대응되는 아이피로 제공하는 버스 인터페이스와;
상기 상태 레지스터와 상기 프로세서 코어간에 위치되며, 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보를 선택하여 상기 프로세서 코어에 제공하는 우선순위 결정부를 구비할 수 있다.
본 발명의 실시 예에서, 상기 상태 레지스터는,
상기 인터럽트 상태 정보를 저장하는 제1 저장영역과;
상기 인터럽트 해제신호를 저장하는 제2 저장영역과;
상기 인터럽트 상태 정보에 대한 전송 실행정보를 저장하는 제3 저장영역을 포함할 수 있다.
본 발명의 실시 예에서, 상기 버스 인터페이스는, 상기 프로세서 코어에 대한 버스 슬레이브 인터페이스 및 상기 아이피(IP)들에 대한 버스 마스터 인터페이스 기능을 수행할 수 있다.
본 발명의 실시 예의 다른 양상에 따른 시스템 온 칩은,
시스템 온 칩에서 요구되는 설정 타스크를 처리하기 위한 프로세서 코어와;
상기 시스템 온 칩에 모듈 형태로 탑재되며 시스템 버스를 통하여 상기 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들과;
상기 프로세서 코어와 상기 복수의 아이피(IP)들에 연결되며, 상기 복수의 아이피(IP)들로부터 인가되는 인터럽트 상태 정보를 저장하고, 상기 복수의 아이피(IP)들에 대한 인터럽트 해제 타스크를 전용으로 처리하기 위한 인터럽트 프록시 처리부를 구비한다.
본 발명의 실시 예에서, 상기 복수의 아이피(IP)들은 메모리, 로직, 아날로그 회로, 및 디지털 신호 프로세서(DSP)중의 하나 이상을 포함할 수 있다.
본 발명의 실시 예에서, 상기 인터럽트 프록시 처리부는,
상기 인터럽트 상태 정보를 대응되는 아이피별로 저장하며 상기 인터럽트 해제 시에 상기 프로세서 코어로부터 인가되는 인터럽트 해제신호를 대응되는 아이피별로 저장하는 상태 레지스터와;
상기 인터럽트 해제신호를 상기 복수의 아이피(IP)들 중 대응되는 아이피로 제공하는 버스 인터페이스와;
상기 상태 레지스터와 상기 프로세서 코어간에 위치되며, 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보를 선택하여 상기 프로세서 코어에 제공하는 우선순위 결정부를 구비할 수 있다.
본 발명의 실시 예의 또 다른 양상에 따라, 모듈 형태로 탑재되며 시스템 버스를 통하여 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들을 구비한 시스템 온 칩에서의 인터럽트 처리방법은,
상기 프로세서 코어에 대하여 슬레이브 인터페이스를 수행하는 인터럽트 프록시 처리부에 상기 복수의 아이피(IP)들로부터 발생되는 인터럽트 상태 정보를 저장하는 단계와;
상기 프로세서 코어가 인터럽트 처리동작 모드를 벗어날 때 해제체크 동작이 스킵될 수 있도록 하기 위해, 상기 인터럽트 프록시 처리부를 통해 인터럽트 해제가 이루어지도록 하는 단계를 가진다.
본 발명의 실시 예에서, 상기 인터럽트 프록시 처리부는 상기 인터럽트 해제의 실행 이전에 상기 프로세서 코어로부터 상기 복수의 아이피들 중 대응되는 아이피에 대한 인터럽트 클리어 명령을 수신할 수 있다.
본 발명의 실시 예에서, 상기 인터럽트 상태 정보와 상기 인터럽트 클리어 명령은 상기 인터럽트 프록시 처리부의 상태 레지스터에 저장될 수 있다.
본 발명의 실시 예에서, 상기 인터럽트 상태 정보는 상기 상태 레지스터의 제1 저장영역에 저장되고, 상기 인터럽트 클리어 명령은 상기 상태 레지스터의 제2 저장영역에 저장될 수 있다.
본 발명의 실시 예에서, 상기 인터럽트 상태 정보에 대한 전송 실행정보를 저장하는 제3 저장영역이 상기 상태 레지스터에 더 마련될 수 있으며, 상기 전송 실행정보는 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보로 선택될 경우에 저장될 수 있다.
본 발명의 실시 예의 또 다른 양상에 따른 시스템 온 칩은,
시스템 온 칩에서 요구되는 설정 타스크를 처리하기 위한 프로세서 코어와;
하드웨어, 주변장치, 및 인터페이스를 포함하며 시스템 버스를 통하여 상기 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들과;
상기 프로세서 코어와 상기 복수의 아이피(IP)들에 연결되고, 상기 프로세서 코어에 대하여 또 다른 아이피로서 기능하며, 상기 복수의 아이피(IP)들로부터 인가되는 인터럽트 상태 정보를 저장하고, 상기 프로세서 코어로부터 인가되는 인터럽트 클리어 명령의 수신 시 상기 복수의 아이피(IP)들에 대한 인터럽트 해제를 전용으로 수행하기 위한 인터럽트 프록시 처리부를 구비한다.
본 발명의 실시 예에서, 상기 하드웨어는 메모리, 로직, 아날로그 회로, 및 디지털 신호 프로세서(DSP)중의 하나 이상을 포함할 수 있다.
본 발명의 실시 예에서, 상기 인터럽트 프록시 처리부는,
상기 인터럽트 상태 정보를 대응되는 아이피별로 저장하며 상기 인터럽트 해제 시에 상기 인터럽트 클리어 명령을 대응되는 아이피별로 저장하는 상태 레지스터와;
상기 인터럽트 클리어 명령을 상기 복수의 아이피(IP)들 중 대응되는 아이피로 제공하는 버스 인터페이스와;
상기 상태 레지스터와 상기 프로세서 코어간에 위치되며, 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보를 선택하여 상기 프로세서 코어에 제공하는 우선순위 결정부를 구비할 수 있다.
본 발명의 실시 예에서, 상기 버스 인터페이스는, 상기 프로세서 코어에 대한 버스 슬레이브 인터페이스 및 상기 아이피(IP)들에 대한 버스 마스터 인터페이스 기능을 수행할 수 있으며, 상기 프로세서 코어의 동작 처리 속도는 상기 복수의 아이피들의 동작 처리 속도보다 빠를 수 있다.
본 발명의 실시 예에 따르면, 인터럽트 프록시 처리부의 동작에 의해, 프로세서 코어가 인터럽트 처리 루틴에서 대기하거나 인터럽트 서비스 루틴으로 재차로 진입하지 않으므로, 각종 아이피들에서 요청된 인터럽트 타스크가 신속히 수행되면서도 표준화된 방식으로 동일한 처리시간 내에 수행된다. 따라서, 프로세서 코어의 인터럽트 처리 부담이 경감되는 만큼 시스템 온 칩의 동작 퍼포먼스가 개선된다.
도 1은 본 발명의 실시 예에 따른 시스템 온 칩의 개략적 장치 블록도
도 2는 도 1중 인터럽트 프록시 처리부(20)의 구현 예를 보여주는 상세 블록도
도 3은 도 2에 관련된 상태 레지스터의 단위 저장 영역들을 보여주는 도면
위와 같은 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예를 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시 예들은, 이해의 편의를 제공할 의도 이외에는 다른 의도 없이, 개시된 내용이 보다 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 소자 또는 라인들이 대상 소자 블록에 연결된다 라고 언급된 경우에 그것은 직접적인 연결뿐만 아니라 어떤 다른 소자를 통해 대상 소자 블록에 간접적으로 연결된 의미까지도 포함한다.
또한, 각 도면에서 제시된 동일 또는 유사한 참조 부호는 동일 또는 유사한 구성 요소를 가급적 나타내고 있다. 일부 도면들에 있어서, 소자 및 라인들의 연결관계는 기술적 내용의 효과적인 설명을 위해 나타나 있을 뿐, 타의 소자나 회로 블록들이 더 구비될 수 있다.
여기에 설명되고 예시되는 각 실시 예는 그것의 상보적인 실시 예도 포함될 수 있음을 유의하라.
먼저, 도 1은 본 발명의 실시 예에 따른 시스템 온 칩의 개략적 장치 블록도이고, 도 2는 도 1중 인터럽트 프록시 처리부(20)의 구현 예를 보여주는 상세 블록도이다. 또한, 도 3은 도 2에 관련된 상태 레지스터의 단위 저장 영역들을 보여주는 도면이다.
도 1을 참조하면, 시스템 온 칩은, 프로세서 코어로서 기능 하는 마스터 프로세서(10), 인터럽트 프록시 처리부(20), 시스템 버스로서 역할을 행하는 버스(15), 및 상기 버스(15)에 연결된 제1 내지 제n IP들(30,31,33)을 포함한다.
상기 마스터 프로세서(10)는 프로세서 코어로서 기능하며 시스템 온 칩에서 요구되는 설정 타스크를 처리한다. 상기 마스터 프로세서(10)는 마이크로프로세서로서 구현될 수 있다.
상기 제1 내지 제n IP들(30,31,33)은 상기 시스템 온 칩에 모듈 형태로 탑재되며 상기 버스(15)를 통하여 상기 프로세서 코어에 동작적으로 연결된다. 상기 제1 내지 제n IP들(30,31,33)은 메모리, 로직, 아날로그 회로, 및 디지털 신호 프로세서(DSP)중의 하나 이상을 포함하여 이루어질 수 있다.
상기 인터럽트 프록시 처리부(20)는 상기 마스터 프로세서(10)와 상기 제1 내지 제n IP들(30,31,33)에 연결되며, 상기 제1 내지 제n IP들(30,31,33)로부터 인가되는 인터럽트 상태 정보를 저장하고, 상기 제1 내지 제n IP들(30,31,33)에 대한 인터럽트 해제 타스크를 전용으로 처리한다.
상기 인터럽트 프록시 처리부(20)의 세부 구성은 도 2에 도시된다. 도 2를 참조하면, 상기 인터럽트 프록시 처리부(20)는, 상태 레지스터(22), 버스 인터페이스(25), 및 우선순위 결정부(23)를 포함한다.
상기 상태 레지스터(22)는 상기 인터럽트 상태 정보를 대응되는 아이피(IP)별로 저장하며 상기 인터럽트 해제 시에 상기 마스터 프로세서(10)로부터 인가되는 인터럽트 해제신호를 대응되는 아이피별로 저장한다.
라인들(LU,LO)을 통해 상기 상태 레지스터(22)와 연결된 상기 버스 인터페이스(25)는 상기 상태 레지스터(22)에 저장된 상기 인터럽트 해제신호를 상기 복수의 아이피(IP)들 중 대응되는 아이피로 제공한다. 상기 버스 인터페이스(25)는 슬레이브 인터페이스부(25a)와 마스터 인터페이스부(25b)를 포함한다. 상기 버스 인터페이스(25)의 인터페이스는 VCI(Virtual Component Interface)가 적용될 수 있다. 상기 VCI는 VC(Virtual Component)들 사이의 통신을 위한 표준 인터페이스 및 프로토콜으로써, SoC 설계에서 VC와 시스템 버스 사이의 표준 인터페이스를 정의한다.
상기 상태 레지스터(22)와 연결 라인(LP)을 통해 연결된 상기 우선순위 결정부(23)는 상기 상태 레지스터(22)와 상기 마스터 프로세서(10)간에 위치되며, 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보를 선택하여 프로세서 코어인 상기 마스터 프로세서(10)에 제공한다.
상기 상태 레지스터(22)는 제1 내지 제n IP들(30,31,33)에 대응되는 상기 복수의 단위 저장영역들(22a,22b,..,22n)로 이루어져 있다. 상기 단위 저장영역들(22a,22b,..,22n)은 라인들(L1-Ln)을 통해 상기 도 1의 제1 내지 제n IP들(30,31,33)과 각기 대응적으로 연결되어 있다.
하나의 단위 저장영역(예;22x, 여기서 x는 a~n))은 도 3에서 보여지는 바와 같이, 제1 저장영역(240), 제2 저장영역(230), 및 제3 저장영역(220)을 포함할 수 있다.
도 3에서, R-I로서 표시된 상기 제1 저장영역(240)에는 상기 인터럽트 상태 정보가 저장될 수 있다.
C-C로서 표시된 상기 제2 저장영역(230)에는 상기 인터럽트 해제 신호가 저장될 수 있다.
C-I로서 표시된 상기 제3 저장영역(220)에는 상기 인터럽트 상태 정보에 대한 전송 실행정보가 저장될 수 있다.
시스템 온 칩의 성능과 안정성을 높이기 위해 도 2에서 보여지는 인터럽트 프록시 처리부(20)는, 상기 제1 내지 제n IP들(30,31,33)로부터 인가되는 인터럽트 상태 정보를 상기 상태 레지스터(22)에 저장한다. 결국, 상기 상태 레지스터(22)에는 상기 제1 내지 제n IP들(30,31,33)에서 발생된 인터럽트 상태 정보의 복사본(shadow copy)이 저장될 수 있다. 상기 인터럽트 프록시 처리부(20)는 발생된 인터럽트 중에서 우선순위가 가장 높은 인터럽트를 도 1의 라인(LTx)를 통해 마스터 프로세서(10)로 인가한다. 이에 따라, 마스터 프로세서(10)는 해당 IP에 대한 인터럽트 타스크를 처리한다. 이 경우에, 해당 IP에 대한 인터럽트 타스크에서 인터럽트 해제의 체크 동작은 제외된다. 결국, 마스터 프로세서(10)는 실행 오류나 대기를 줄이고 시스템 동작 퍼포먼스를 높이기 위해, 도 1의 라인(LRx)을 통해 인터럽트 해제 즉 인터럽트 클리어 명령을 인가한 다음에는, 해당 IP가 인터럽트 해제되었는 지를 확인함이 없이, 곧 바로 인터럽트 서비스 루틴을 빠져나온다. 즉, 마스터 프로세서(10)는 인터럽트 처리 동작에서 신속히 벗어나 노말 동작 상태로 복귀한다.
이에 따라, 인터럽트 클리어 명령을 받은 상기 인터럽트 프록시 처리부(20)는 해당 IP에 대한 인터럽트 해제 동작을 전담 처리한다.
상기 마스터 프로세서(10)가 해당 IP를 직접 억세스하지 않고서도 인터럽트 프록시 처리부(20)를 통해 해당 IP에 대한 인터럽트가 해제되도록 하면, 인터럽트 신호를 해제하기 위해 필요한 시간이 표준화되어 전체 시스템의 성능이 개선된다. 또한, 인터럽트 해제를 행하지 않는 시간 동안에 상기 마스터 프로세서(10)는 다른 IP를 억세스하여 요구되는 타스크를 처리할 수 있다. 또한, 상기 마스터 프로세서(10)와 특정 IP간의 동작 속도가 아주 크게 차이 날 경우에 상기 마스터 프로세서(10)가 인터럽트 서비스 루틴으로 재 진입하는 현상도 방지된다.
상기 인터럽트 프록시 처리부(20)도 또 다른 하나의 IP 형태로 구성되며, 시스템 버스(15)에 연결된 버스 마스터로서 동작한다. 또한, 상기 마스터 프로세서(10)가 억세스 가능하도록 시스템 버스(15)에 연결된 버스 슬레이브로서 동작한다.
인터럽트 프록시 처리부(20)는 상기 마스터 프로세서(10)가 시스템 버스(15)를 사용하지 않을 경우 DMA 콘트롤러와 같이 수시로 각 IP의 인터럽트 상태를 읽어와 복사본(shadow copy)를 저장할 수 있다. 한편, 인터럽트 프록시 처리부(20)는 시스템 버스(15)를 통함이 없이도 상기 도 1의 라인들(LTx,LRx)만을 통해 상기한 기능을 수행할 수 있다.
이하에서는 상기 제1 내지 제n IP들(30,31,33)중 제n IP(33)에서 인터럽트가 발생된 경우라 가정하고 인터럽트 타스크 처리동작이 도 1 내지 도 3을 참조로 설명될 것이다.
제n IP(33)에 인터럽트가 발생된 경우에, 인터럽트 프록시 처리부(20)는 라인(Ln)을 통해 인터럽트 상태 정보를 도 3의 제1 저장영역(240)에 저장한다. 우선순위 결정부(23)에 의해 제n IP(33)에서 발생된 인터럽트가 전송되도록 하는 것이 결정되면, 상기 인터럽트 프록시 처리부(20)는 상기 라인(LTx) 또는 상기 시스템 버스(15)를 통해 인터럽트 발생을 알리는 인터럽트 전송 실행 정보가 인가된다. 이 경우에 도 3의 제3 저장영역(220)에는 전송 실행의 완료를 알리는 전송 실행 정보가 저장된다.
따라서, 상기 마스터 프로세서(10)는 해당 IP에 대한 인터럽트 타스크를 처리하면서, 도 1의 라인(LRx)이나 상기 시스템 버스(15)를 통해 인터럽트 해제를 위한 인터럽트 클리어 명령을 인터럽트 프록시 처리부(20)로 인가한다. 상기 클리어 명령을 인가하자마자 상기 마스터 프로세서(10)는 해당 IP의 인터럽트가 해제되었는 지를 확인함이 없이 곧 바로 인터럽트 서비스 루틴에서 탈출한다.
이제부터는 상기 인터럽트 프록시 처리부(20)가 해당 IP에 대한 인터럽트 해제 동작을 전담한다. 상기 인터럽트 클리어 명령은 상기 인터럽트 프록시 처리부(20)의 제2 저장영역(230)에 저장된다. 상기 인터럽트 클리어 명령이 상기 제2 저장영역(230)에 저장되면, 상기 인터럽트 프록시 처리부(20)는 상기 해당 IP(33)의 전송 실행 정보를 상기 마스터 프로세서(10)로 더 이상 전송하지 않는다. 상기 제2 저장영역(230)에 저장된 인터럽트 클리어 명령에 따라, 도 2의 마스터 인터페이스부(25b)의 마스터 라인(ML1:시스템 버스에 속함)을 통해 상기 제n IP(33)에 인터럽트 클리어 명령이 인터럽트 해제신호로서 인가된다. 이 경우에, 상기 제n IP(33)로의 억세스는 상기 인터럽트 프록시 처리부(20)가 내부 어드레스(INT_ADD)를 이용함에 의해 달성될 수 있다.
상기 제n IP(33)에 대한 인터럽트가 해제되면, 상기 제1 저장영역(240)의 저장 정보는 초기 상태로 갱신되며, 이에 따라 상기 제3 저장영역(220)의 정보도 초기상태로 갱신된다. 또한, 상기 제1 저장영역(240)의 저장정보와 상기 제3 저장영역(220)의 저장정보가 같아지면, 상기 제2 저장영역(230)의 저장정보도 초기상태로 갱신된다. 이와 같은 제1,2,3 저장영역들(240,230,220)의 초기 상태는 해당 IP의 다음 인터럽트 발생 때까지 그대로 유지된다.
따라서, 마스터 프로세서인 프로세서 코어는 인터럽트 서비스 루틴에서 탈출할 때 해당 IP의 인터럽트가 정상적으로 해제되었는지의 유무를 확인하지 않고 바로 빠져나올 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따르면, 인터럽트 프록시 처리부의 고유한 동작에 의해, 인터럽트 처리 루틴에서 대기하거나 인터럽트 서비스 루틴으로 재차로 진입하는 동작이 방지되므로, 각종 아이피(IP)들에서 요청된 인터럽트 타스크가 신속히 수행되면서도 표준화된 방식으로 동일한 처리시간 내에 수행된다. 따라서, 프로세서 코어의 인터럽트 처리 부담이 경감되어 프로세서 코어는 다른 타스크를 더 수행할 수 있게 때문에 시스템 온 칩의 동작 퍼포먼스가 개선된다.
본 발명의 실시 예에서는 프로세서 코어를 가지는 시스템 온 칩에 관하여 주로 설명되었으나, 이에 한정됨이 없이 다른 임베디드 시스템의 경우에도 본 발명의 실시 예가 확장적으로 적용될 수 있음은 물론이다.
상기한 설명에서는 본 발명의 실시 예를 위주로 도면을 따라 예를 들어 설명하였지만, 본 발명의 기술적 사상의 범위 내에서 본 발명을 다양하게 변형 또는 변경할 수 있음은 본 발명이 속하는 분야의 당업자에게는 명백한 것이다. 예를 들어, 사안이 다른 경우에 본 발명의 기술적 사상을 벗어남이 없이, 인터럽트 프록시 처리부 내의 세부적 회로구성 또는 이와 연결되는 회로 블록들의 배치순서 및 세부 구성을 다양하게 변형 또는 변경할 수 있음은 물론이다.
*도면의 주요 부분에 대한 부호의 설명*
10 : 마스터 프로세서 20 : 인터럽트 프록시 처리부
15 : 버스 30 : 제1 IP

Claims (10)

  1. 시스템 온 칩에서 요구되는 설정 타스크를 처리하기 위한 프로세서 코어와;
    상기 시스템 온 칩에 모듈 형태로 탑재되며 시스템 버스를 통하여 상기 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들과;
    상기 프로세서 코어와 상기 복수의 아이피(IP)들에 연결되며, 상기 프로세서 코어의 인터럽트 처리 부담을 줄이기 위해 상기 복수의 아이피(IP)들에 대한 인터럽트 관련 타스크를 전용으로 처리하기 위한 인터럽트 프록시 처리부를 구비함을 특징으로 하는 시스템 온 칩.
  2. 제1항에 있어서, 상기 인터럽트 관련 타스크는 상기 복수의 아이피(IP)들에 대한 인터럽트 해제를 포함함을 특징으로 하는 시스템 온 칩.
  3. 제2항에 있어서, 상기 인터럽트 프록시 처리부는:
    상기 복수의 아이피(IP)들로부터 인가되는 인터럽트 상태 정보를 대응되는 아이피별로 저장하며 상기 인터럽트 해제 시에 상기 프로세서 코어로부터 인가되는 인터럽트 해제신호를 대응되는 아이피별로 저장하는 상태 레지스터와;
    상기 인터럽트 해제신호를 상기 복수의 아이피(IP)들 중 대응되는 아이피로 제공하는 버스 인터페이스와;
    상기 상태 레지스터와 상기 프로세서 코어간에 위치되며, 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보를 선택하여 상기 프로세서 코어에 제공하는 우선순위 결정부를 구비함을 특징으로 하는 시스템 온 칩.
  4. 제3항에 있어서, 상기 상태 레지스터는,
    상기 인터럽트 상태 정보를 저장하는 제1 저장영역과;
    상기 인터럽트 해제신호를 저장하는 제2 저장영역과;
    상기 인터럽트 상태 정보에 대한 전송 실행정보를 저장하는 제3 저장영역을 포함함을 특징으로 하는 시스템 온 칩.
  5. 제4항에 있어서, 상기 버스 인터페이스는, 상기 프로세서 코어에 대한 버스 슬레이브 인터페이스 및 상기 아이피(IP)들에 대한 버스 마스터 인터페이스 기능을 수행함을 특징으로 하는 시스템 온 칩.
  6. 시스템 온 칩에서 요구되는 설정 타스크를 처리하기 위한 프로세서 코어와;
    상기 시스템 온 칩에 모듈 형태로 탑재되며 시스템 버스를 통하여 상기 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들과;
    상기 프로세서 코어와 상기 복수의 아이피(IP)들에 연결되며, 상기 복수의 아이피(IP)들로부터 인가되는 인터럽트 상태 정보를 저장하고, 상기 복수의 아이피(IP)들에 대한 인터럽트 해제 타스크를 전용으로 처리하기 위한 인터럽트 프록시 처리부를 구비함을 특징으로 하는 시스템 온 칩.
  7. 제6항에 있어서, 상기 복수의 아이피(IP)들은 메모리, 로직, 아날로그 회로, 및 디지털 신호 프로세서(DSP)중의 하나 이상을 포함함을 특징으로 하는 시스템 온 칩.
  8. 제6항에 있어서, 상기 인터럽트 프록시 처리부는:
    상기 인터럽트 상태 정보를 대응되는 아이피별로 저장하며 상기 인터럽트 해제 시에 상기 프로세서 코어로부터 인가되는 인터럽트 해제신호를 대응되는 아이피별로 저장하는 상태 레지스터와;
    상기 인터럽트 해제신호를 상기 복수의 아이피(IP)들 중 대응되는 아이피로 제공하는 버스 인터페이스와;
    상기 상태 레지스터와 상기 프로세서 코어간에 위치되며, 상기 인터럽트 상태 정보 중에서 인터럽트 우선 순위가 가장 높은 정보를 선택하여 상기 프로세서 코어에 제공하는 우선순위 결정부를 구비함을 특징으로 하는 시스템 온 칩.
  9. 제6항에 있어서, 상기 상태 레지스터는,
    상기 인터럽트 상태 정보를 저장하는 제1 저장영역과;
    상기 인터럽트 해제신호를 저장하는 제2 저장영역과;
    상기 인터럽트 상태 정보에 대한 전송 실행정보를 저장하는 제3 저장영역을 포함함을 특징으로 하는 시스템 온 칩.
  10. 모듈 형태로 탑재되며 시스템 버스를 통하여 프로세서 코어에 동작적으로 연결된 복수의 아이피(IP)들을 구비한 시스템 온 칩에서의 인터럽트 처리방법에 있어서:
    상기 프로세서 코어에 대하여 슬레이브 인터페이스를 수행하는 인터럽트 프록시 처리부에 상기 복수의 아이피(IP)들로부터 발생되는 인터럽트 상태 정보를 저장하는 단계와;
    상기 프로세서 코어가 인터럽트 처리동작 모드를 벗어날 때 해제체크 동작이 스킵될 수 있도록 하기 위해, 상기 인터럽트 프록시 처리부를 통해 인터럽트 해제가 이루어지도록 하는 단계를 가짐을 특징으로 하는 방법.
KR1020100017294A 2010-02-25 2010-02-25 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법 KR20110097447A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100017294A KR20110097447A (ko) 2010-02-25 2010-02-25 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법
US12/951,161 US8688882B2 (en) 2010-02-25 2010-11-22 Systems on chips having interrupt proxy functions and interrupt processing methods thereof
JP2010279425A JP2011175625A (ja) 2010-02-25 2010-12-15 インターラプトプロキシ機能を具備したシステムオンチップ及びそのインターラプトプロキシ処理方法
CN201010614361.7A CN102169449B (zh) 2010-02-25 2010-12-30 具有中断代理功能的片上系统及其中断处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100017294A KR20110097447A (ko) 2010-02-25 2010-02-25 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법

Publications (1)

Publication Number Publication Date
KR20110097447A true KR20110097447A (ko) 2011-08-31

Family

ID=44477433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100017294A KR20110097447A (ko) 2010-02-25 2010-02-25 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법

Country Status (4)

Country Link
US (1) US8688882B2 (ko)
JP (1) JP2011175625A (ko)
KR (1) KR20110097447A (ko)
CN (1) CN102169449B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693193B (zh) * 2012-04-26 2015-05-27 重庆重邮信科通信技术有限公司 中断辅助处理装置、实时系统及中断处理方法
US9323312B2 (en) * 2012-09-21 2016-04-26 Atmel Corporation System and methods for delaying interrupts in a microcontroller system
US9213388B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Delaying reset signals in a microcontroller system
US9507406B2 (en) 2012-09-21 2016-11-29 Atmel Corporation Configuring power domains of a microcontroller system
US9213397B2 (en) 2012-09-21 2015-12-15 Atmel Corporation Changing power modes of a microcontroller system
US9383807B2 (en) 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
US9665509B2 (en) * 2014-08-20 2017-05-30 Xilinx, Inc. Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system
CN105183432B (zh) * 2015-08-26 2018-02-27 中国航天科工集团第三研究院第八三五七研究所 一种面向健康管理的SoC系统
CN110737616B (zh) * 2018-07-20 2021-03-16 瑞昱半导体股份有限公司 处理中断优先级的电路系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2831083B2 (ja) * 1990-03-08 1998-12-02 株式会社日立製作所 マルチプロセッサシステムおよび割り込み制御装置
JPH04318654A (ja) * 1991-02-13 1992-11-10 Hewlett Packard Co <Hp> マイクロプロセッサへの割り込みのリダイレクションシステム
JP2001005676A (ja) * 1999-06-18 2001-01-12 Mitsubishi Electric Corp 割り込み処理装置
JP2001325208A (ja) 2000-05-12 2001-11-22 Sony Corp データ処理装置及びデータ処理方法
US20010037426A1 (en) * 2000-05-31 2001-11-01 Pawlowski Chester W. Interrupt handling via a proxy processor
EP1278120A1 (de) * 2001-07-18 2003-01-22 Infineon Technologies AG Controller und Verfahren zum Ansteuern einer zentralen Verarbeitungseinheit für eine Speicheradressierung
JP2004537809A (ja) * 2001-07-30 2004-12-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ システムオンチップ設計用の効率的な割り込みシステム
KR100456630B1 (ko) 2001-12-11 2004-11-10 한국전자통신연구원 프로세서간 통신을 위한 인터럽트 중계 장치 및 방법
JP4051703B2 (ja) * 2003-03-31 2008-02-27 日本電気株式会社 シングルプロセッサ向けosによる並列処理システム、並列処理プログラム
US20050102457A1 (en) * 2003-11-12 2005-05-12 Dell Products L.P. System and method for interrupt processing in a multiple processor system
US7496706B2 (en) * 2004-06-30 2009-02-24 Intel Corporation Message signaled interrupt redirection table
JP4713901B2 (ja) * 2005-02-24 2011-06-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
WO2006090329A1 (en) 2005-02-28 2006-08-31 Koninklijke Philips Electronics N.V. Data processing system with interrupt controller and interrupt controlling method
US7434189B2 (en) * 2005-10-20 2008-10-07 Broadcom Corporation I/O driver power distribution method for reducing silicon area
JP4853951B2 (ja) * 2006-03-31 2012-01-11 ルネサスエレクトロニクス株式会社 データ処理装置
CN100464319C (zh) * 2006-06-23 2009-02-25 华为技术有限公司 实现处理器之间进行通讯的装置和方法
US20080082710A1 (en) * 2006-09-29 2008-04-03 Dell Products L.P. System and method for managing system management interrupts in a multiprocessor computer system
CN101178644B (zh) * 2006-11-10 2012-01-25 上海海尔集成电路有限公司 一种基于复杂指令集计算机结构的微处理器架构
JP2008176360A (ja) * 2007-01-16 2008-07-31 Renesas Technology Corp マルチプロセッサシステム
US8234624B2 (en) * 2007-01-25 2012-07-31 International Business Machines Corporation System and method for developing embedded software in-situ
US8255577B2 (en) * 2007-04-26 2012-08-28 Hewlett-Packard Development Company, L.P. I/O forwarding technique for multi-interrupt capable devices
US7962771B2 (en) * 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
JP5167844B2 (ja) * 2008-02-05 2013-03-21 日本電気株式会社 プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors

Also Published As

Publication number Publication date
CN102169449A (zh) 2011-08-31
US8688882B2 (en) 2014-04-01
CN102169449B (zh) 2015-09-16
JP2011175625A (ja) 2011-09-08
US20110208888A1 (en) 2011-08-25

Similar Documents

Publication Publication Date Title
KR20110097447A (ko) 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법
KR100610153B1 (ko) 다중 시스템 호스트간의 전환 방법
US20070074214A1 (en) Event processing method in a computer system
US8051234B2 (en) Multiprocessor system
JPH02267634A (ja) 割込み処理装置
US4218739A (en) Data processing interrupt apparatus having selective suppression control
US20040215929A1 (en) Cross-chip communication mechanism in distributed node topology
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
US10691527B2 (en) System interconnect and system on chip having the same
JPH077374B2 (ja) インタフェース回路
EP0775959B1 (en) Method and apparatus for optimizing PCI interrupt binding and associated latency in extended/bridged PCI busses
JPH056223B2 (ko)
CA2356179A1 (en) Apparatus and method for handling peripheral device interrupts
US20050273540A1 (en) Interrupt handling system
US20180039544A1 (en) Resource access management component and method therefor
JPH0282343A (ja) マルチプロセッサシステムの割込処理方式
CN116107697B (zh) 一种不同操作系统之间互相通信的方法及系统
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
US8996772B1 (en) Host communication device and method with data transfer scheduler
JP2002091900A (ja) 多重トランザクションバスシステム・バスブリッジ用のタイムアウトカウンタ
US5500946A (en) Integrated dual bus controller
JP3655648B2 (ja) プロセススイッチ制御装置およびプロセス制御方法
JP4984051B2 (ja) 動的縮退装置、方法
JPH08314850A (ja) 計算機システムのバスブリッジ
JP5087884B2 (ja) データ処理ユニット、およびこれを使用したデータ処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application