KR20020087387A - 프로세서 시스템 - Google Patents
프로세서 시스템 Download PDFInfo
- Publication number
- KR20020087387A KR20020087387A KR1020027006344A KR20027006344A KR20020087387A KR 20020087387 A KR20020087387 A KR 20020087387A KR 1020027006344 A KR1020027006344 A KR 1020027006344A KR 20027006344 A KR20027006344 A KR 20027006344A KR 20020087387 A KR20020087387 A KR 20020087387A
- Authority
- KR
- South Korea
- Prior art keywords
- task
- priority
- processor system
- interrupt
- interrupt event
- Prior art date
Links
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 7
- 230000000873 masking effect Effects 0.000 claims description 5
- 238000012806 monitoring device Methods 0.000 claims 4
- 238000001514 detection method Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Bus Control (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Abstract
프로세서 시스템에서, 각각의 경우에 인스트럭션 카운터를 위한 메모리 스택(9), 데이터를 일시적으로 저장하기 위한 레지스터(10) 및 상태 레지스터(11)를 구비하는 서로 다른 메모리 수단(8)이 다양한 작업을 위해 제공된다. 현재의 작업을 새로운 작업으로의 변경을 유발하는 인터럽트 이벤트(EV)가 발생하면, 제어기(21)는 구 작업에 할당된 메모리 수단에서 새로운 작업에 할당된 메모리 수단(8)으로 전환한다.
Description
예를 들어, 모뎀 또는 소위 라인 카드와 같은 원거리 통신 단말은 특정 소프트웨어 또는 하드웨어 이벤트에 응답할 수 있어야 한다. 만일 프로세서 시스템이 이와 같은 원거리 통신 단말기에서 제어 목적에 사용되면, 상기 설명된 이벤트에 응답할 수 있도록, 프로세서 시스템에 흔히 인터럽트 처리가 제공된다.
인터럽트 처리의 경우, 프로세서 시스템에서의 인터럽트를 트리거할 수 있는 개별적인 이벤트가 모니터된다. 인터럽트 이벤트의 발생이 검출되자 마자, 대응하는 인터럽트 요청 신호가 발생되어, 프로세서 시스템에서 인터럽트를 실행하기 위해 실행하도록 예정된 대응하는 인터럽트 루틴의 시작 주소를 결정하는 프로세서 시스템의 프로세서 단위로 전송된다. 만일 동시에 많은 인터럽트 이벤트가 발생하면, 대응하는 인터럽트를 실행하기 위한 선정된 스킴에 따라, 이들 인터럽트 이벤트중 단지 하나의 특정 인터럽트 이벤트만이 선택된다. 프로세서 시스템에서 인터럽트 이전에 실행하는 작업의 프로그램 카운트(PC)의 값이 메모리 스택에 저장되어, 인터럽트 루틴이 순차적으로 실행될 수 있게 된다. 인터럽트 루틴이 종료된 후에, 다시 저장된 프로그램 카운터를 액세스함으로서 본래의 작업이 계속될 수 있다.
인터럽트 루틴이 수행되기 전에, 이는 일반적으로 프로그램 카운터의 순간적인 값 뿐만아니라 프로세서 시스템의 상태에 대한 다른 정보이고 그리고 인터럽트 이벤트가 발생하기 전에 저장되어야 하는 작업이다. 특히, 이 상태 정보는 레지스터 또는 제로 및 캐리 플래그 등에 관련되어 있다. 따라서, 공지된 프로세서 시스템에서는, 상기 상태 정보를 저장하기 위한 인터럽트의 경우에 나타나고 달리 사용되지 않는 (예를 들어, "ARM System Architecture", Steve Furber (Addison-Wesley, 1996)와 비교) 부수적인 레지스터를 나타내는 인터럽트 처리를 가속시키기 위해 소위 새도우 레지스터가 사용된다. 이는 설명된 정보를 저장하기 위한 시간소비 레지스터 저장 명령어를 사용하여야만 하는 것을 피할 수 있게 한다.
그러나, 상기 방법은 프로세서 시스템에서 단지 하나의 작업만을 실행하도록 의도된다면 효과적인 조치를 나타낼 뿐이다. 소위 많은 작업들이 동시에 또는 가상적으로 동시에 실행할 수 있는 멀티태스킹 프로세서 시스템에서는, 이 경우에 개별적인 작업을 위해 서로 다른 프로그램 카운터들이 고려되어야 하기 때문에, 이와 같은 방법은 용이하게 사용될 수 없다. 또한, 상기 방법은 부수적인 새도우 레지스터의 사용으로 인해 비교적 값이 비싸다.
본 발명은 인터럽트를 처리할 수 있는 청구항 1항의 특징절에 따른 프로세서 시스템에 관한 것이다.
다음 문장에서, 본 발명은 바람직한 예시로서 첨부하는 도면을 참조하여 설명될 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 프로세서 시스템의 단순 블록도,
도 2는 도 1에 도시된 프로그램 제어 유닛의 가능한 구현도,
도 3은 도 2에 도시된 이벤트 평가 유닛의 가능한 구현도, 및
도 4는 도 3에 도시된 모니터링 유닛의 가능한 구현도.
따라서, 본 발명의 목적은 대응하는 인터럽트에 의해 유발된 작업의 변경이 적은 비용으로 수행될 수 있는 인터럽트 처리를 갖는 프로세스 시스템을 제공하는 것이다.
본 발명에 따르면, 이 목적은, 청구항 1항의 특징을 갖는 프로세서 시스템에 의해 달성된다. 종속항들은 본 발명의 바람직한 실시예를 정의한다.
본 발명에 따르면, 서로 다른 작업에 대해 서로 다른 저장 수단이 제공되고, 이 저장 수단은 특히 각각의 작업의 프로그램 카운터를 위한 메모리, 각각의 작업의 실행 동안 데이터를 일시적으로 저장하기 위한 레지스터, 및 예를 들어 캐리 또는 제로 플래그와 같은 상태 정보를 저장하기 위한 상태 레지스터를 구비한다. 만일 특정 인터럽트 이벤트의 발생시, 하나의 작업에서 다른 작업으로 전환하도록 의도되면, 이 목적을 위해 새로운 작업에 할당된 저장 수단으로 전환하는 것만이 필요하다. 서로 다른 작업에 대한 개별적인 하드웨어 면적의 제공은, 새로운 작업으로 전환할 때 많은 저장 프로세스를 수행할 필요없이 프로세서 시스템의 하드웨어-지원 멀티태스킹 연산을 제공한다.
바람직하게 우선순위 제어 하에 서로 다른 인터럽트들이 처리되고, 개별적인 우선순위들은 대응하는 인터럽트 이벤트 및 프로세스 시스템에서 실행하는 작업 모두에 할당되어 있다. 바람직하게, 작업의 변경을 유발할 수 있는 특정 우선순위 레벨이 정의된다. 작업의 변경을 유발할 수 있는 이 특정 우선순위 레벨을 갖는 이벤트뿐이다. 임의의 다른 이벤트의 결과는 대응하는 인터럽트 루틴에 대해 시작어드레스가 발생된다는 것이다.
본 발명은 예를 들어, 모뎀 또는 라인 카드와 같은 원거리 단말기에 사용되며, 특히 xDSL 단말기에 적용된다.
도 1에 도시된 프로세서 시스템은, 프로그램 제어기(12), 인스트럭션 디코더(5), 소위 분기 제어 유닛(BCU) (6) 및 적어도 하나의 산술 논리 유닛(ALU) (7)를 포함하는 프로세서 유닛(1)을 구비한다. 또한, 각각의 작업에 대해 프로세서 시스템 상에서 실행될 수 있고 각각의 경우에 메모리 스택(9), 및 하나 이상의 레지스터(10)와 하나 이상의 상태 레지스터(11)를 갖는 레지스터 뱅크를 구비하는 개별적인 또는 작업에 특정한 하드웨어 환경(8)이 제공된다. 메모리 스택(9)에서,대응하는 작업의 프로그램 카운터(PC)의 순간값이 각각의 경우에 저장된다. 레지스터(10)는 대응하는 작업의 처리 동안 일시적으로 데이터를 저장하는데 사용된다. 한편, 상태 레지스터(11)는, 각각의 경우에 상태 레지스터의 내용이 대응하는 작업의 현재 상태를 나타내도록, 예를 들어, 제로 또는 캐리 플래그와 같은 상태 정보 또는 상태 플래그를 저장하는데 사용된다.
프로그램 카운터(12)는 많은 인터럽트 이벤트 EV를 모니터한다. 특정 인터럽트 이벤트가 발생하면, 대응하는 인터럽트 루틴이 시작되거나 또는 작업의 변경이 수행된다. 프로그램 제어기(12)는 따라서 각각의 경우에 현재 작업 및 이 작업 내에서 실행될 인스트럭션, 및 이 작업의 프로그램 카운터의 값을 명시하고, 대응하는 정보를 출력한다.
프로그램 제어기(12)에 의해 출력된 프로그램 카운터 PC의 값을 사용하여, 프로그램 메모리(2)를 액세스하고, 대응하는 인스트럭션 INST를 판독하는 것이 가능하다. 이 인스트럭션 INST은 인스트럭션 디코더(5)에 의해 디코드되어, 실행을 위해 BLU(6) 및 ALU(7)에 공급되며, 상기 언급한 두 개의 유닛들은 또한 처리될 작업의 수를 알고 있다. 인스트럭션 디코더(5)와 함께, BLU(6)은, 정확한 하드웨어 환경(8), 즉 처리될 작업에 실제로 제공된 하드웨어 환경이 항상 액세스될 수 있게 한다. BLU(6)는 개별적인 프로그램 카운터 PC에 제공된 메모리 스택(9) 들 간의 하드웨어 전환을 담당하는 한편, 레지스터(10) 및 상태 레지스터(11)는 BLU(6)에 의한 하드웨어 전환에 의해 그리고 인스트럭션 디코더(5)에 의한 내부 인스트럭션에 의해 소프트웨어적으로 액세스된다. 마지막으로, ALU(7)는 대응하는 하드웨어환경(8)을 사용하여 인스트럭션 INST를 실행하고,이 목적을 위해 주소 신호 ADR이 저장되어 있는 데이터 메모리(3)를 어드레스할 필요가 있을 수 있고, 데이터 DATA가 메모리 메모리(3)로부터 판독되어야 하는지 또는 데이터 메모리(3)에 기록되어야 하는지에 따라 제어 신호 R/W의 도움으로 수립된다. 유사하게, 인스트럭션의 실행 결과로서, 데이터 DATA를 출력 포트(4)로부터 판독할 수 있거나 또는 데이터 DATA를 입력 포트(4)에 기록할 수 있도록 하기 위해, 주소 신호 ADR가 인가될 하나 이상의 입력/출력 포트(4)를 어드레스하는 것이 필요할 수 있다.
도 2는 프로그램 제어기(12)의 가능한 구현을 도시한다. 평가 유닛(13)은 개별적인 인터럽트 이벤트 EV의 발생을 모니터하고, 대응하는 인터럽트 루틴에 대한 시작 주소 VEC를 갖는 이들 인터럽트 요청 신호 IRQ 또는 전환되도록 의도된 작업에 대한 정보 TASK를 갖는 작업의 변경을 가리키는 전환 신호 SWITCH를 발생한다. 제어 유닛(21)은 평가 유닛(13)으로부터 이 정보를 수신하고, 상술된 바와 같이, 이에 따라, 각각의 경우에 정확한 하드웨어 환경(8)의 사용을 개시한다. 한편, 이 목적을 위해, 제어 유닛(21)은 프로그램 메모리 z를 어드레스하기 위해 이 작업 CTASK에 대응하여 인스트럭션 디코더(5) 및 BLU(6) 및 프로그램 카운터 PC에 대해 실행될 작업에 대한 정보 아이템 CTASK를 출력한다.
인터럽트 처리 우선순위는 우선순위 제어 하에 발생한다. 이 목적을 위해, 개별적인 우선순위가 각각의 작업 및 각각의 인터럽트 이벤트 EV에 할당된다. 현재 작업의 우선순위 PRIO는 제어 유닛(21)에 의해 평가 유닛(13)에 보고된다. 원칙적으로, 작업은 대응하는 인터럽트 이벤트가 작업보다 높은 우선순위를 가질 때 인터럽트에 의해 인터럽트될 수 있다. 따라서, 작업의 우선순위는, 보다 낮은 우선순위 레벨을 갖는 인터럽트 레벨에 의해 대응하는 작업은 인터럽트하는 것이 가능할 때에 다른 작업에 의해 또는 작업 자체에 의해 감소되어야 한다. 보다 높은 우선순위 레벨을 갖는 작업은 가장 높은 우선순위 레벨을 갖는 인터럽트 이벤트에 의해서만 인터럽트될 수 있다. 예를 들어, 이는 리셋 인터럽트에 적용될 수 있다.
다양한 우선순위 레벨 내에서, 독점적으로 작업의 변경에 이르는 특정 우선순위 레벨이 정의된다. 즉, 도 2에 도시된 정보 SWITCH 및 TASK가 생성되어 이들 인터럽트 이벤트가 발생할 때 제어 유닛(21)에 공급되도록, 개별적인 작업들 간의 변경을 유발할 수 있는 우선순위 레벨을 갖는 이벤트를 인터럽트할 수 있다. 임의의 다른 인터럽트 이벤트는 실행될 인터럽트 루틴에 대한 분기 또는 시작 주소를 포함하는 벡터 VEC를 갖는 평가 유닛(13)에 의해 출력되는 인터럽트 요청 IRQ의 결과가 된다. 따라서 제어 유닛(21)에는 SWITCH 및 TASK 신호 또는 IRQ 및 VEC 신호가 제공된다. 전자의 경우, 대응하는 인터럽트 루틴이 호출되는 반면에, 후자의 경우에, 작업의 변경이 발생한다. IRQ 신호 및 SWITH 신호는 동시에 발생할 수 없다.
도 3은 도 2에 도시된 평가 유닛(13)의 가능한 구현인데, 서로 다른 우선순위가 정의되고 우선순위 "2"는 작업의 변경을 위해 독점적으로 제공된 우선순위라고 가정한다. 동일한 우선순위를 갖는 인터럽트 이벤트 EV_1 ... EV3의 각 그룹의 경우, 그에 할당된 인터럽트 이벤트의 발생 및 현재 처리되고 있는 작업의 우선순위 PRIO을 독점적으로 모니터하고 개별적인 모니터링 유닛(14_1... 14_3)이 제공된다.
모니터링 유닛(14_1...14_3)이 그에 할당된 인터럽트 이벤트 EV_1 ... EV3의 발생을 검출하자마자, 인터럽트 요청 신호 IRQ가 발생되고, 다운스트림 유닛 15_1 또는 15_3은 각각 처리될 인터럽트 루틴에 대해 요청된 시작 주소를 지정하는 대응하는 벡터 VEC를 발생한 인터럽트 이벤트에 따라 발생한다. 이와 같이 발생된 신호들은 각각 멀티플렉서(16 또는 17)에 각각 공급되고, 멀티플렉서(16 및 17)는 우선순위 제어 신호 PRIO에 따라 전환되고, 두 개의 입력 신호중의 하나만에 따라 전환하며, 이를 도 2에 도시된 제어 유닛(21)에 공급한다.
우선순위 "2"를 가지며 따라서 정의에 의해 작업의 변경을 유발할 수 있는 인터럽트 이벤트 EV_2를 모니터하한 모니터링 유닛(14_2)이 독점적으로 제공된다. 모니터링 유닛(14_2)이 그에 할당된 인터럽트 이벤트 EV_2의 발생을 검출하자마자, 제어 유닛(21)을 명령하여 작업의 변경을 수행하게 하게 하는 전환 신호 SWITCH가 발생되고, 다운스트림 유닛(15_2)은 정보 아이템 TASK의 형태로서, 발생한 인터럽트 이벤트에 따라 전환하도록 의도된 작업의 수를 발생한다.
각각의 모니터링 유닛(14_1.. 14_3) 내에서, 대응하는 모니터링 유닛이 동일한 순서로 예를 들어, 항상 위에서 아래로 대응하는 인터럽트 이벤트의 발생과 관련하여 그 입력을 스캔하면 하부 우선순위가 정의될 수 있다.
도 4는 도 3에 도시된 모니터링 유닛(14_1) 및 다운스트림 유닛(15_1)의 가능한 구현을 도시한다.
모니터링 유닛(14_1)은 인터럽트 이벤트 EV_1중의 하나가 발생할 때 대응하는 비트가 설정되는 입력 메모리(19)를 구비한다. 비트 모니터링 유닛(20)은 선정된클럭 CLK에 따라 입력 메모리(19)의 개별적인 비트를 모니터한다. 비트 모니터링 유닛(20)이 입력 메모리(19)에서 설정된 비트를 검출하자마자, 인터럽트 요청 신호 IRQ가 발생되고, 입력 메모리(19)에 설정된 비트의 위치에 따라, 요구되는 인터럽트 루틴에 대한 시작 또는 분기 주소를 갖는 벡터 VEC가 발생된다. 이 목적을 위해, 입력 메모리(9)에 설정된 비트의 위치는 유닛(15_1)에 의해 대응하는 시작 주소로 맵핑되는데, 이는 도 4에 도시된 바와 같이, n 비트 (인수 2n를 통한 곱셈에 상당)만큼의 쉬프트 연산을 먼저 수행한 다음, 특별한 오프셋 값 OFF를 갖는 덧셈을 수행함으로서 수행된다. 그후, 입력 메모리(19)에 설정된 비트는 클리어 신호 CLEAR의 도움으로 다시 클리어된다.
비트 모니터링 유닛(20)은 또한 현재 작업의 우선순위 PRIO를 모니터링하는데 사용된다. 대응하는 인터럽트 루틴의 시작 주소와 함께 인터럽트 요청 신호 IRQ 및 벡터 VEC의 발생은, 현재 작업의 우선순위 PRIO가 대응하는 인터럽트 이벤트의 우선순위 보다 낮다면 비트 모니터링 유닛(20)에 의해서만 인에이블된다.
도 4는 또한, 개별적인 인터럽트 이벤트가 마스킹되는, 즉 마스킹 회로(18)의 도움으로 비트 모니터링 유닛(20)에 이용가능하게 되는 우선순위를 도시한다.
본 예에서, 이 마스킹 회로(18)는 대응하는 신호 MASK의 도움으로 프로그램될 수 있는 AND 게이트의 형태로 설계된다. 이와 같이 개별적으로 프로그램가능한 마스킹 회로(18)는 바람직하게 각각의 모니터링 유닛(14_1..14-3) 이전에 사용된다.
모니터링 유닛(14_3) 및 대응하는 유닛(15_3)은 도 4와 동일하게 구성될 수 있다. 유사하게, 모니터링 유닛(14_2)은 도 4와 동일하게 구성될 수 있다. 한편,유닛(15_2)의 구성은, 유닛(15_2)이 대응하는 입력 메모리(19)에 설정된 비트의 위치를 주소가 아닌 작업 수로 맵핑한다는 점에서 다르다.
본 발명은 인터럽트를 처리할 수 있는 프로세서 시스템에 관한 것이다.
Claims (8)
- 멀티테스킹 프로세서 시스템에 있어서,인터럽트 이벤트 (EV)의 발생을 모니터링하기 위한 평가 유닛(13), 및 평가 유닛(13)이 인터럽트 이벤트(EV)의 발생을 검출하였을 때 인터럽트 루틴의 실행을 제어하기 위한 제공된 제어 유닛(21)을 나타내는 프로그램 제어기(12);멀티테스킹 프로세서 시스템에서 서로 다른 작업에 제공된 서로 다른 메모리 회로(8);현재 작업에서 새로운 작업으로의 변경을 유발하고 선정된 특별한 우선순위 레벨을 나타내는 특별한 인터럽트 이벤트 (EV)의 발생시, 새로운 작업을 실행하기 위해, 이전 작업에 할당된 메모리 회로(8)에서 새로운 작업에 할당된 메모리 회로(8)로의 전환을 개시하도록 설계된 제어 유닛(21) - 상기 메모리 회로(8)는 각각의 경우에, 연관된 작업의 프로그램 카운터에 대한 하나의 메모리(9)를 나타냄-;연관된 작업의 실행 동안 발생되는 데이터를 일시적으로 자장하기 위한 적어도 하나의 레지스터(10);상기 연관된 작업의 상태 정보를 저장하기 위한 적어도 하나의 상태 레지스터(11) - 개별적인 우선순위가 개별적인 인터럽트 이벤트에 할당되고 적어도 하나의 특별한 우선순위가 새로운 작업에의 변경을 위해 제공됨-; 및상기 특별한 우선순위를 갖는 인터럽트 이벤트 (EV) 발생의 검출시, 현재의 작업에서 대응하는 새로운 작업으로의 변경을 제어 유닛(21)으로 전달하기 위한 평가유닛(13) 을 구비하는 것을 특징으로 하는 프로세서 시스템.
- 제 1 항에 있어서, 상기 프로세서 시스템에 의해 실행될 수 있는 개별적인 작업들에 개별적인 우선순위가 할당되며, 상기 개별적인 우선순위들은 상기 개별적인 인터럽트 이벤트에 할당되고, 상기 평가 유닛(13)은, 인터럽트 이벤트 발생의 검출시, 대응하는 인터럽트 이벤트의 우선순위가 상기 프로세서 시스템에서 현재 실행하는 작업의 우선순위 (PRIO)보다 높을 때, 대응하는 인터럽트의 실행을 위한 대응하는 요청(IRQ)을 상기 제어 유닛(21)에 전달하도록 설계되어 있는 것을 특징으로 하는 프로세서 시스템.
- 제 2 항에 있어서, 상기 평가 유닛(13)은, 현재의 작업에서 대응하는 새로운 작업으로의 변경을 위한 요청 (SWITCH)과 함께 특별한 우선순위를 갖는 인터럽트 이벤트 발생의 검출시에, 새로운 작어을 명시하는 정보 아이템(TASK)을 상기 제어 유닛(21)에 전달하도록 설계되어 있는 것을 특징으로 하는 프로세서 시스템.
- 제 2 항 또는 제 3 항에 있어서, 상기 평가 유닛(13)은, 인터럽트 이벤트의 발생이 검출될 때, 대응하는 인터럽트 이벤트의 우선순위가 상기 프로세서 시스템에서 현재 실행하는 작업의 우선순위 (PRIO)보다 높고 상기 인터럽트 이벤트의 우선순위가 상기 특별한 우선순위에 대응하지 않을 때, 대응하는 인터럽트 루틴을 명시하는 주소(VEC)와 함께 대응하는 인터럽트의 실행을 위한 대응하는 요청(IRQ)을 상기 제어 유닛(21)에 전달하도록 설계되어 있는 것을 특징으로 하는 프로세서 시스템.
- 상기 청구항 중의 어느 한 항에 있어서, 상기 평가 유닛(13)은 상기 인터럽트 이벤트 (EV) 의 각각각의 가능한 우선순위를 위한 별도의 모니터링 장치(14)를 구비하며, 상기 각각의 모니터링 장치(14)는 각각의 경우에 대응하는 우선순위를 갖는 인터럽트 이벤트(EV)의 발생을 모니터링하는 것을 특징으로 하는 프로세서 시스템.
- 상기 청구항 중의 어느 한 항에 있어서, 상기 평가 유닛(13)은 그 프로그래밍에 따라서 상기 평가 유닛(13)을 위한 대응하는 인터럽트 이벤트 (EV)의 발생을 마스킹하는 프로그램가능한 마스킹 회로(18)의 뒤에 오는 것을 특징으로 하는 프로세서 시스템.
- 제 5 항 또는 제 6 항에 있어서, 상기 평가 유닛(13)은 각각의 모니터링 장치(14)에 대해, 상기 모니터링 장치(14)에 선행하는 개별적인 마스킹 회로(18)를 나타내는 것을 특징으로 하는 프로세서 시스템.
- 상기 청구항 중의 어느 한 항에 있어서, 원거리 통신 단말기, 특히 xDSL 원거리 통신 단말기에서 상기 프로세서 시스템의 사용이 이루어지는 것을 특징으로 하는 프로세서 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19955776A DE19955776C1 (de) | 1999-11-19 | 1999-11-19 | Multitasking-Prozessorsystem |
DE19955776.4 | 1999-11-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020087387A true KR20020087387A (ko) | 2002-11-22 |
KR100495240B1 KR100495240B1 (ko) | 2005-06-14 |
Family
ID=7929672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-7006344A KR100495240B1 (ko) | 1999-11-19 | 2000-11-10 | 프로세서 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6865636B1 (ko) |
EP (1) | EP1230590B1 (ko) |
JP (1) | JP3970609B2 (ko) |
KR (1) | KR100495240B1 (ko) |
CN (1) | CN1204495C (ko) |
DE (1) | DE19955776C1 (ko) |
WO (1) | WO2001038968A2 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3813930B2 (ja) * | 2002-01-09 | 2006-08-23 | 松下電器産業株式会社 | プロセッサ及びプログラム実行方法 |
US7487502B2 (en) | 2003-02-19 | 2009-02-03 | Intel Corporation | Programmable event driven yield mechanism which may activate other threads |
US7849465B2 (en) * | 2003-02-19 | 2010-12-07 | Intel Corporation | Programmable event driven yield mechanism which may activate service threads |
JP4750350B2 (ja) * | 2003-03-13 | 2011-08-17 | パナソニック株式会社 | タスク切換装置、方法及びプログラム |
WO2004114132A1 (ja) * | 2003-06-20 | 2004-12-29 | Fujitsu Limited | 割り込み制御方法、割り込み制御装置及び割り込み制御プログラム |
US7363407B2 (en) * | 2003-09-29 | 2008-04-22 | Microsoft Corporation | Concurrent arbitration of multidimensional requests for interrupt resources |
KR100770034B1 (ko) * | 2006-03-02 | 2007-10-26 | 삼성전자주식회사 | 복수의 레지스터 파일을 이용한 문맥 교환 방법 및 시스템 |
CN100505871C (zh) * | 2006-10-24 | 2009-06-24 | 杭州华三通信技术有限公司 | 视频数据处理方法、视频采集设备及视频管理设备 |
JP4994254B2 (ja) * | 2007-03-08 | 2012-08-08 | ルネサスエレクトロニクス株式会社 | データプロセッサ及び制御システム |
JP2009251802A (ja) * | 2008-04-03 | 2009-10-29 | Panasonic Corp | マルチプロセッサシステムおよびマルチプロセッサシステムの割込み制御方法 |
KR101717494B1 (ko) * | 2010-10-08 | 2017-03-28 | 삼성전자주식회사 | 인터럽트 처리 장치 및 방법 |
JP6471758B2 (ja) * | 2015-01-07 | 2019-02-20 | 富士通株式会社 | タスク切替支援方法、タスク切替支援プログラム、及び情報処理装置 |
GB2546577B (en) * | 2016-01-19 | 2020-07-08 | Arm Ip Ltd | A method for allocating memory |
CN110945482A (zh) * | 2017-08-02 | 2020-03-31 | 飞力凯网路股份有限公司 | 信息处理装置和信息处理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4975836A (en) | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
KR940001878B1 (ko) * | 1990-03-08 | 1994-03-10 | 가부시끼가이샤 히다찌세이사꾸쇼 | 멀티 프로세서시스템 및 인터럽션 제어장치 |
US5495615A (en) * | 1990-12-21 | 1996-02-27 | Intel Corp | Multiprocessor interrupt controller with remote reading of interrupt control registers |
DE4301117A1 (en) * | 1992-01-30 | 1993-08-05 | Siemens Ag | Multi-tasking processor for control of automation systems - has register block stalk for tasks controlled by selector unit providing highest priority selection |
KR960042387A (ko) * | 1995-05-31 | 1996-12-21 | 유기범 | 하이파이플러스 인터럽트버스 중재방법 |
US5944816A (en) * | 1996-05-17 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor configured to execute multiple threads including interrupt service routines |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
-
1999
- 1999-11-19 DE DE19955776A patent/DE19955776C1/de not_active Expired - Fee Related
-
2000
- 2000-11-10 EP EP00985008A patent/EP1230590B1/de not_active Expired - Lifetime
- 2000-11-10 JP JP2001540456A patent/JP3970609B2/ja not_active Expired - Fee Related
- 2000-11-10 US US10/130,327 patent/US6865636B1/en not_active Expired - Lifetime
- 2000-11-10 WO PCT/EP2000/011164 patent/WO2001038968A2/de active IP Right Grant
- 2000-11-10 KR KR10-2002-7006344A patent/KR100495240B1/ko not_active IP Right Cessation
- 2000-11-10 CN CNB008175780A patent/CN1204495C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6865636B1 (en) | 2005-03-08 |
CN1204495C (zh) | 2005-06-01 |
WO2001038968A2 (de) | 2001-05-31 |
JP2003515805A (ja) | 2003-05-07 |
EP1230590B1 (de) | 2003-06-25 |
JP3970609B2 (ja) | 2007-09-05 |
WO2001038968A3 (de) | 2001-12-13 |
CN1413324A (zh) | 2003-04-23 |
DE19955776C1 (de) | 2001-07-19 |
EP1230590A2 (de) | 2002-08-14 |
KR100495240B1 (ko) | 2005-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6675191B1 (en) | Method of starting execution of threads simultaneously at a plurality of processors and device therefor | |
US5361375A (en) | Virtual computer system having input/output interrupt control of virtual machines | |
US6615303B1 (en) | Computer system with multiple operating system operation | |
US5161226A (en) | Microprocessor inverse processor state usage | |
US5057997A (en) | Interruption systems for externally changing a context of program execution of a programmed processor | |
US7020871B2 (en) | Breakpoint method for parallel hardware threads in multithreaded processor | |
KR100495240B1 (ko) | 프로세서 시스템 | |
US5148544A (en) | Apparatus and method for control of asynchronous program interrupt events in a data processing system | |
KR20010041142A (ko) | 단일 프로세서 동작 방법 및 프로세서의 네트워크를동작시키는 방법 | |
JPH0114611B2 (ko) | ||
US5968159A (en) | Interrupt system with fast response time | |
US20050028159A1 (en) | Memory managing system and task controller in multitask system | |
JP3773470B2 (ja) | データ処理装置内でのコプロセッサ命令の取り扱い | |
EP0239078B1 (en) | Register saving/restoring system | |
US7290124B2 (en) | Data processor employing register banks with overflow protection to enhance interrupt processing and task switching | |
EP0600165B1 (en) | Vector processing device | |
US7516311B2 (en) | Deterministic microcontroller context arrangement | |
AU626067B2 (en) | Apparatus and method for control of asynchronous program interrupt events in a data processing system | |
JP2677458B2 (ja) | システムコール実行装置 | |
JP3956305B2 (ja) | 不揮発性半導体記憶装置およびデータ処理装置 | |
JP2585905B2 (ja) | マルチタスク実行装置 | |
JPH03188530A (ja) | プログラム先取り装置 | |
JP2000250762A (ja) | マイクロコンピュータ | |
EP1104899A2 (en) | Data processing apparatus and method of controlling the same | |
JPH07210421A (ja) | スレッド環境におけるデバッグ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130524 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140523 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150526 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |