KR100746797B1 - 프로세서 및 정보처리 방법 - Google Patents

프로세서 및 정보처리 방법 Download PDF

Info

Publication number
KR100746797B1
KR100746797B1 KR1020060002759A KR20060002759A KR100746797B1 KR 100746797 B1 KR100746797 B1 KR 100746797B1 KR 1020060002759 A KR1020060002759 A KR 1020060002759A KR 20060002759 A KR20060002759 A KR 20060002759A KR 100746797 B1 KR100746797 B1 KR 100746797B1
Authority
KR
South Korea
Prior art keywords
processor
processing
priority
unit
interrupt
Prior art date
Application number
KR1020060002759A
Other languages
English (en)
Other versions
KR20060096186A (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 세이코 엡슨 가부시키가이샤
Publication of KR20060096186A publication Critical patent/KR20060096186A/ko
Application granted granted Critical
Publication of KR100746797B1 publication Critical patent/KR100746797B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • G06F9/4818Priority circuits therefor
    • 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
    • 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

멀티프로세서에서, 우선도가 높은 처리를 효율적으로 처리하는 것.
휴대전화(1)는 입력된 인터럽트 처리를 태스크를 실행하고 있지 않은 단위 프로세서 혹은 가장 우선도가 낮은 태스크를 실행하고 있는 단위 프로세서에서 실행시키는 외부 인터럽트 제어부(11)를 CPU(10) 내에 구비한다. 그 때문에, CPU(10)에서 태스크의 처리 능력을 가능한 한 저하시키지 않고, 발생한 인터럽트 처리를 실행할 수 있다. 따라서, 멀티 프로세서인 CPU(10)에서 인터럽트 처리를 효율적으로 처리하는 것이 가능해진다.

Description

프로세서 및 정보처리 방법{PROCESSOR AND INFORMATION PROCESSING METHOD}
도 1은 본 발명에 관한 휴대전화(1)의 기능 구성을 나타내는 블록도이다.
도 2는 CPU(10)의 내부 구성을 나타내는 블록도이다.
도 3은 인터럽트 처리 프로세서 지정 처리를 나타내는 플로차트이다.
도 4는 인터럽트 실행 처리를 나타내는 플로차트이다.
도 5는 본 발명의 적용 대상이 되는 멀티프로세서의 구성예를 나타내는 도면이다.
〈도면의 주요부분에 대한 부호의 설명〉
1 : 휴대전화 10 : CPU
11 : 외부 인터럽트 제어부 11a : 전체 인터럽트 허가 제어부
11b : 전체 인터럽트 우선도 제어부 11c : 인터럽트 처리 프로세서 선택부
11d : 인터럽트 벡터 12 : 제어 관리부
20 : 플래시 ROM 30 : 메모리
40 : 버퍼 50 : 무선부
60 : IrDA부 70 : 오디오부
80 : 타이머 90 : USB 인터페이스부
100 : 키 조작부 110 : LCD
120 : 카메라부 P0∼P3 : 단위 프로세서
101 : 스테이터스 레지스터 102 : 프로그램 카운터
103 : 인터럽트 처리용 스테이터스 레지스터
104 : 인터럽트 처리용 프로그램 카운터
본 발명은 복수의 태스크 혹은 스레드를 병렬적으로 처리하는 프로세서 및 그 정보처리 방법에 관한 것이다.
근래, 내장 기기 등에서, 복수의 태스크 혹은 스레드를 병렬적으로 처리 가능한 멀티태스크 프로세서 혹은 멀티스레드 프로세서라 불리는 프로세서(이하, 이들을 총칭하여 「멀티프로세서」라 한다.)가 이용되고 있다.
종래의 휴대기기에서는 싱글 프로세서에 의한 처리가 행해지고 있던바, 휴대기기의 고기능화에 따라 처리가 복잡화되어, 싱글 프로세서에 의한 처리가 곤란해 지고 있다.
그리고, 멀티프로세서에 의한 처리를 행하는 경우, 인터럽트 처리의 발생에 대해 싱글 프로세서와 다른 대응을 행할 필요가 있다. 예를 들면, 인터럽트의 종류에 따라 복수의 프로세서 중 처리를 행하는 프로세서를 정해두는 방법이나, 복수의 프로세서의 전부에 인터럽트 신호를 입력하고, 프로세서 간에서 조정을 행하는 방법이 생각된다.
또, 멀티프로세서에서, 인터럽트 처리를 프로세서 간에서 조정하는 방법에 관한 기술이 특허문헌 1, 2에 기재되어 있다.
특허문헌 1, 2에 기재된 기술은, 멀티프로세서 시스템에서 프로세서마다 인터럽트 컨트롤러를 구비해두고, 인터럽트 요구가 발생한 경우에, 이들 인터럽트 컨트롤러 간에서 조정을 행하는 것이다.
(특허문헌 1) 일본국 특허 공개공보 평 6-324996호
(특허문헌 2) 일본국 특허 공개공보 평 10-97509호
그러나, 특허문헌 1, 2에 기재된 기술에서는, 프로세서마다 인터럽트 컨트롤러를 구비하고 있기 때문에 필요한 하드웨어가 대형화되고, 배선도 복잡화되기 때문에, 내장 기기에 적합한 것은 아니었다.
또한, 상술한 것처럼, 인터럽트의 종류에 따라 복수의 프로세서 중 처리를 행하는 프로세서를 정해두기로 한 경우, 비동작 상태의 프로세서가 존재함에도 불구하고, 인터럽트 처리가 실행되지 않는 사태가 생길 수 있기 때문에, 처리 효율이 저하될 가능성이 있었다.
이와 같이, 특허문헌 1, 2에 기재된 기술을 포함하여 종래의 기술에서는, 내장 기기에 적용된 멀티프로세서와 같은 하드웨어 리소스의 한정된 환경하에서, 인터럽트 처리 등, 우선도가 높은 처리(이하, 「고우선도 처리」라 한다.)를 효율적으로 처리하는 것이 곤란했었다.
본 발명의 과제는, 멀티프로세서에서 우선도가 높은 처리를 효율적으로 처리 하는 것이다.
이상의 과제를 해결하기 위해, 본 발명은, 태스크 혹은 스레드를 처리하는 복수의 프로세서부(예를 들면, 도 2의 단위 프로세서(P0∼P3))와, 입력된 우선도가 높은 처리(예를 들면, 인터럽트 처리)의 실행을 제어하는 고우선도 처리 제어부(예를 들면, 도 2의 외부 인터럽트 제어부(11))를 구비하는 프로세서로서, 상기 고우선도 처리 제어부는 상기 복수의 프로세서부 중, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 프로세서부에, 입력된 우선도가 높은 처리를 실행시키는 것을 특징으로 한다.
이러한 구성에 의해, 입력된 인터럽트 처리 등의 우선도가 높은 처리를 태스크 혹은 스레드를 실행하고 있지 않은 프로세서부 혹은 가장 우선도가 낮은 태스크 혹은 스레드를 실행하고 있는 프로세서부에서 실행시킬 수 있다.
따라서, 태스크 혹은 스레드의 처리 능력을 가능한 한 저하시키지 않고, 우선도가 높은 처리를 실행할 수 있으므로, 멀티프로세서에서 우선도가 높은 처리를 효율적으로 처리하는 것이 가능해진다.
또한, 상기 고우선도 처리 제어부는, 상기 복수의 프로세서부 중, 다음에 입력되는 우선도가 높은 처리를 실행시키는 상기 프로세서부를 나타내는 정보를 기억하는 프로세서 선택부(예를 들면, 도 2의 인터럽트 처리 프로세서 선택부(11c))를 포함하고, 상기 복수의 프로세서부에서 태스크 혹은 스레드의 절환이 발생할 때마다, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선 도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 상기 프로세서부를 판정하고, 그 프로세서부를 나타내는 정보를 상기 프로세서 선택부에 기억시키는 것을 특징으로 한다.
이러한 구성에 의해, 우선도가 높은 처리가 발생한 경우에, 프로세서 선택부를 참조하여, 우선도가 높은 처리를 즉시 소정의 프로세서부에서 실행할 수 있기 때문에, 우선도가 높은 처리를 효율적으로 처리하는 것이 가능해진다.
또한, 상기 우선도가 높은 처리에는 우선도의 레벨이 설정되어 있고, 상기 고우선도 처리 제어부는 실행중인 상기 우선도가 높은 처리로 설정된 우선도의 레벨을 기억하는 우선도 레벨 기억부(예를 들면, 도 2의 전체 인터럽트 우선도 제어부(11b))를 포함하고, 입력된 우선도가 높은 처리 중, 상기 우선도 레벨 기억부에 기억된 우선도의 레벨을 기준으로 하여, 입력된 상기 우선도가 높은 처리를 선택하여 실행하는 것을 특징으로 한다.
이러한 구성에 의해, 우선도가 높은 처리가 복수 발생한 경우에, 우선도가 높은 처리 간의 실행 제어를 적절히 행하는 것이 가능해지고, 인터럽트 처리를 효율적으로 처리하는 것이 가능해진다.
또한, 상기 우선도가 높은 소정 처리는, 인터럽트 처리인 것을 특징으로 한다.
이러한 구성에 의해, 멀티프로세서에서의 인터럽트 처리를 효율적으로 처리하는 것이 가능해진다.
또한, 본 발명은 태스크 혹은 스레드를 처리하는 복수의 프로세서부를 구비 하는 프로세서에서의 정보처리 방법으로서, 상기 복수의 프로세서부 중, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 프로세서부에, 입력된 우선도가 높은 처리를 실행시키는 것을 특징으로 한다.
또한, 상기 복수의 프로세서부에서 태스크 혹은 스레드의 절환이 발생할 때마다, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 상기 프로세서부를 판정하고, 상기 복수의 프로세서부 중, 다음에 입력되는 우선도가 높은 처리를 실행시키는 프로세서부를 나타내는 정보를 기억해두는 것을 특징으로 한다.
또한, 상기 우선도가 높은 처리에는 우선도의 레벨이 설정되어 있고, 실행중인 상기 우선도가 높은 처리로 설정된 우선도의 레벨을 기억해두고, 입력된 우선도가 높은 처리 중, 상기 기억된 우선도의 레벨을 기준으로 하여, 입력된 상기 우선도가 높은 처리를 선택하여 실행하는 것을 특징으로 한다.
또한, 상기 우선도가 높은 소정 처리는, 인터럽트 처리인 것을 특징으로 한다.
이와 같이 본 발명에 의하면, 멀티프로세서에서 우선도가 높은 처리를 효율적으로 처리하는 것이 가능해진다.
이하, 도면을 참조하여 본 발명에 관한 프로세서의 실시형태를 설명한다.
본 발명에 관한 프로세서는 태스크 혹은 스레드 등, 프로그램을 그 실행 단 위로 병렬적으로 처리하는 것이며, 본 발명에 관한 프로세서 내에 태스크 등을 실행하는 프로세서(이하, 「단위 프로세서」라 한다.)가 실질적으로 복수 구비된 하드웨어 구성을 갖는다.
그리고, 복수의 단위 프로세서 중, 고우선도 처리(인터럽트 처리 등)를 실행하는 단위 프로세서를 적절히 선택하는 외부 인터럽트 제어부를 구비함으로써, 고우선도 처리를 효율적으로 실행하는 것을 가능하게 한다.
우선, 구성을 설명한다.
여기서는, 본 발명에 관한 프로세서를 휴대전화에 내장한 경우를 예로 들어, 고우선도 처리로서 인터럽트 처리를 상정한 경우에 관해 설명한다. 또, 이하의 설명에서, 스레드 등, 프로그램의 실행 단위를 총칭하여 「태스크」라 한다.
도 1은 본 발명에 관한 휴대전화(l)의 기능 구성을 나타내는 블록도이다.
도 1에서, 휴대전화(1)는 CPU(Central Processing Unit)(1O)와, 플래시 ROM(20)과, 메모리(30)와, 버퍼(40)와, 무선부(50)와, IrDA(Infrared Data Association)부(60)와, 오디오(Audio)부(70)와, 타이머(Timer)(80)와, USB(Universal Serial Bus) 인터페이스부(90)와, 키(KEY) 조작부(100)와, LCD(Liquid Crystal Display)(110)와, 카메라(Camera)부(120)를 포함하여 구성되고, CPU(10), 플래시 ROM(20), 메모리(30) 및 버퍼(40)는 버스에 의해 접속된다. 또한, 무선부(50), IrDA부(60), 오디오부(70), 타이머(80), USB 인터페이스부(90), 키 조작부(100), LCD(110) 및 카메라부(120)는 CPU(10)와 직접 접속된다.
CPU(10)는, 복수의 태스크를 병렬적으로 처리하면서 휴대전화(1) 전체를 제 어하는 것으로서, 키 조작부(100)로부터 입력되는 각종의 지시 신호에 따라 플래시 ROM(20)에 기억된 오퍼레이팅 시스템 프로그램(OS)이나 각종 애플리케이션 프로그램을 판독하여 실행하거나, 무선부(50), 오디오부(70) 혹은 카메라부(120) 등의 주변 칩으로부터 입력되는 인터럽트 신호에 따라 인터럽트 핸들러를 실행하거나 한다.
예를 들면, CPU(10)는 0S에 의해 생성된 태스크와, 애플리케이션에 의해 생성된 태스크를 병행하여 처리하고, 또, 주변 칩으로부터 인터럽트 신호가 입력된 경우, 인터럽트 핸들러를 실행함으로써 인터럽트 신호에 대응하는 애플리케이션을 기동한다. 또, 애플리케이션에 의한 처리는 0S의 태스크 스케쥴러에 의해 관리되는 태스크로서 실행되기 때문에 OS의 서비스 콜을 호출할 수 있으며, 한편, 인터럽트 처리는 태스크 스케쥴러에 의해 관리되지 않는 처리(비태스크 처리)이기 때문에 OS의 서비스 콜을 호출할 수는 없다.
또한, CPU(10)는 각종 처리 결과를 플래시 ROM(20) 혹은 메모리(30)에 저장한다.
여기서, CPU(10)의 내부 구성에 대해 설명한다.
도 2는 CPU(10)의 내부 구성을 나타내는 블록도이다.
도 2에서, CPU(10)는 복수의 단위 프로세서(P0∼P3)와, 외부 인터럽트 제어부(11)와, 제어 관리부(12)를 포함하여 구성된다. 또, 도 2에 나타내는 주변 칩은, 도 1에 나타내는 무선부(50), IrDA부(60) 및 오디오부(70) 등, CPU(10)에 직접 접속된 기능부를 총칭한 것이며, 각각의 주변 칩이 이들 기능부의 어느 하나인 것을 의미한다.
단위 프로세서(P0∼P3)는 각각이 병렬하여 태스크를 처리 가능한 프로세서이고, 주변 칩에서 인터럽트 신호가 발생한 경우, 후술하는 외부 인터럽트 제어부(11)에 의해 선택된 프로세서가 인터럽트 처리를 실행한다.
또, 단위 프로세서(P0∼P3)의 내부 구성으로서는 동일한 것이 되기 때문에, 대표로 단위 프로세서(P0)의 내부 구성에 대해 설명한다.
단위 프로세서(P0)는 스테이터스 레지스터(PSR)(101)와, 프로그램 카운터(PC)(102)와, 인터럽트 처리용 스테이터스 레지스터(EPSR)(103)와, 인터럽트 처리용 프로그램 카운터(EPC)(104)를 포함하여 구성된다.
또, 단위 프로세서(P0)는, 여기서는 도시를 생략하지만, 프로그램 카운터가 나타내는 메모리 어드레스로부터 명령 코드를 판독하는 페치부, 페치부에 의해 입력된 명령 코드를 디코드하는 디코드부, 디코드부에서의 디코드 결과에 따라 소정의 연산을 행하는 ALU(Arithmetic and Logical Unit), 연산 대상 혹은 연산 결과의 데이터를 기억하는 레지스터 파일 등을 포함한다.
스테이터스 레지스터(101)는, 단위 프로세서(PO)의 스테이터스(예를 들면, 인터럽트의 가부(可否) 상태, 단위 프로세서(P0)에서의 오버플로의 발생 상태 등)를 기억한다.
프로그램 카운터(102)는, 단위 프로세서(P0)가 다음에 실행해야 할 명령이 저장된 메모리 어드레스를 기억한다.
또, 스테이터스 레지스터(101) 및 프로그램 카운터(102)에 기억된 내용은 단 위 프로세서(PO)에서 인터럽트 처리가 실행될 때에, 인터럽트 처리용 스테이터스 레지스터(103) 및 인터럽트 처리용 프로그램 카운터(104)로 퇴피(退避)된다.
인터럽트 처리용 스테이터스 레지스터(103)는, 단위 프로세서(P0)에서 인터럽트 처리가 실행되는 경우에, 인터럽트 처리 프로그램을 기동하기 직전의 스테이터스 레지스터(101)의 상태를 퇴피(복제)하는 레지스터이다. 인터럽트 처리 프로그램에서, 필요에 따라 인터럽트 처리용 스테이터스 레지스터(103)의 내용을 스택 영역에 퇴피하는 것도 가능하다.
인터럽트 처리용 프로그램 카운터(104)는, 단위 프로세서(P0)에서 인터럽트 처리가 실행되는 경우에, 인터럽트 처리 프로그램을 기동하기 직전의 프로그램 카운터(102)의 어드레스를 퇴피(복제)하는 레지스터이다. 인터럽트 처리 프로그램에서, 필요에 따라 인터럽트 처리용 프로그램 카운터(104)의 내용을 스택 영역에 퇴피하는 것도 가능하다.
외부 인터럽트 제어부(11)는, 무선부(50) 등의 주변 칩으로부터 인터럽트 신호가 입력된 경우에, 인터럽트 신호를 조정한 다음, 인터럽트 처리를 실행시키는 프로세서를 선택하고, 단위 프로세서(PO)가 선택된 경우에는, 소정의 인터럽트 신호를 단위 프로세서(PO)에 출력한다.
구체적으로는, 외부 인터럽트 제어부(11)는 전체 인터럽트 허가 제어부(11a)와, 전체 인터럽트 우선도 제어부(11b)와, 인터럽트 처리 프로세서 선택부(11c)와, 인터럽트 벡터(11d)를 포함하여 구성된다.
전체 인터럽트 허가 제어부(11a)는, CPU(1O)에서 각종 인터럽트 처리의 실행 을 허가할 지의 여부를 나타내는 인터럽트 허가 플래그를 기억하고, 주변 칩으로부터 인터럽트 신호가 입력된 경우에, 그 인터럽트에 대응하는 인터럽트 허가 플래그가 인터럽트를 허가하는 상태를 나타내는 경우, 그 인터럽트 처리를 접수하고, 그 인터럽트에 대응하는 인터럽트 허가 플래그가 인터럽트를 허가하지 않은 상태를 나타내는 경우, 그 인터럽트 처리에 대해 대기 상태로 한다.
전체 인터럽트 우선도 제어부(11b)는, CPU(10)에서 접수하는 인터럽트 처리의 우선도(기준치)를 기억한다. CPU(10)에 입력되는 인터럽트 처리에는, 미리 고정적으로 혹은 인터럽트 처리의 발생시에 동적으로 우선도의 레벨이 설정되고, 전체 인터럽트 우선도 제어부(11b)에는 CPU(10)에서 현재 실행되고 있는 인터럽트 처리의 우선도의 레벨이 기억된다. 그리고, 전체 인터럽트 우선도 제어부(11b)는, 주변 칩으로부터 입력된 인터럽트 신호의 우선도를 참조하여, 기억하고 있는 인터럽트 처리의 우선도(기준치)와 주변 칩으로부터 입력된 인터럽트 신호의 우선도를 비교한다. 그 결과, 주변 칩으로부터 입력된 인터럽트 신호의 우선도가 현재 기억되어 있는 우선도(기준치) 이하라 판정한 경우, 전체 인터럽트 우선도 제어부(11b)는 주변 칩으로부터의 인터럽트 처리에 대해 대기 상태로 하고, 한편, 현재 기억되어 있는 우선도(기준치)보다 높다고 판정한 경우, 새로운 인터럽트 처리를 우선하여 실행한다.
인터럽트 처리 프로세서 선택부(11c)는, 단위 프로세서(P0∼P3)의 어느 것에서 다음의 인터럽트 처리를 실행시킬지를 나타내는 단위 프로세서 지정 영역과, 단위 프로세서 지정 영역에 나타나는 단위 프로세서에 인터럽트 처리를 행하게 할 지 의 여부를 나타내는 인터럽트 가부(可否) 영역을 포함하는 레지스터에 의해 구성된다.
단위 프로세서 지정 영역은, CPU(10)에서 디스패치(태스크의 절환에 따른 단위 프로세서(P0∼P3)의 재할당)가 발생할 때마다 실행되는 인터럽트 처리 프로세서 지정 처리(후술)에 의해 갱신된다. 또, 인터럽트 가부 영역은 CPU(10) 전체로서 인터럽트 처리를 접수하는지의 여부에 따라 고쳐 쓴다(書換).
인터럽트 벡터(11d)는, 인터럽트 핸들러의 일람이 저장된 테이블의 메모리 어드레스를 기억한다. 인터럽트 처리가 실행되는 경우, 우선, 처리를 행할 단위 프로세서는, 인터럽트 벡터에 기억된 메모리(30) 상의 어드레스를 참조하여, 테이블에 나타나있는 인터럽트의 종류에 따른 인터럽트 핸들러의 저장처로 점프한다. 그리고, 단위 프로세서가 인터럽트 핸들러를 기동함으로써 인터럽트 처리가 행해진다.
제어 관리부(12)는, 메모리(30) 상에 전개된 오퍼레이팅 시스템 프로그램과 협동하여 실현되는 기능이고, 예를 들면, OS의 한 기능으로서 인터럽트 처리 프로세서 지정 처리가 실행됨으로써, 인터럽트 처리 프로세서 선택부(11c)의 단위 프로세서 지정 영역을 갱신하는 기능이나, 단위 프로세서(P0∼P3)의 동작 상태(Halt 상태인지 동작중인지) 및 동작중인 단위 프로세서(P0∼P3)에서 실행되고 있는 태스크의 우선도의 관리를 행하는 기능 등을 포함한다. 또, 0S로서의 처리를 실행하는 단위 프로세서는 상황에 따라 수시로 변화한다.
도 1로 되돌아가, 플래시 ROM(20)은 휴대전화(1)에서 실행되는 오퍼레이팅 시스템 프로그램 및 각종 애플리케이션 프로그램을 기억한다.
메모리(30)는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 혹은 SDRAM(Synchronous DRAM)의 반도체 메모리에 의해 구성되고, CPU(10)가 처리를 실행할 때에 워크 영역(area)을 형성함과 동시에 그 처리결과를 기억한다.
버퍼(40)는 외부로부터 휴대전화(1)에 입력된 데이터 혹은 휴대전화(1)에서 발생된 데이터를 일시적으로 유지하는 버퍼이다.
무선부(50)는 휴대전화(1)와 휴대전화 시스템의 기지국 사이에서의 무선 통신을 행하는 것이다. 예를 들면, 무선부(50)는 기지국으로부터 휴대전화(1)에 대한 착신을 나타내는 신호를 수신한 경우, CPU(10)에 대해 인터럽트 신호를 출력하고, 착신 신호의 수신을 통지한다. 또한, 무선부(50)는 CPU(10)로부터 발신을 지시하는 신호가 입력된 경우, 기지국에 대해 발신 요구를 나타내는 신호를 송신한다.
IrDA부(60)는 IrDA에 근거하는 통신을 행하는 인터페이스이고, 외부로부터 IrDA에 근거하는 무선 신호를 수신한 경우, CPU(10)에 대해 인터럽트 신호를 출력하고, IrDA 신호의 수신을 통지한다.
오디오부(70)는 휴대전화(1)에서 입출력되는 음성신호를 처리하는 것이고, 통화에서의 마이크 및 스피커를 이용한 음성의 입출력, 혹은 음악 등의 재생의 처리를 행한다.
타이머(80)는, 휴대전화(1)의 클록 신호를 토대로 시간을 계측하고, 예를 들면 1ms마다 등, 소정 시간마다 CPU(10)에 대해 인터럽트 신호를 출력한다.
USB 인터페이스부(90)는 USB에 의한 통신을 행하기 위한 인터페이스이고, USB 케이블이 접속된 경우나 USB 케이블로부터 신호를 수신한 경우 등에, CPU(10)에 대해 인터럽트 신호를 출력한다.
키 조작부(100)는, 휴대전화(1)에 대한 지시 입력을 행하기 위한 각종 키를 구비하고 있고, 이들 키가 눌러진 경우에, CPU(10)에 대한 인터럽트 신호를 출력한다.
LCD(110)는 CPU(10)에 의해 입력된 문자 혹은 화상 등의 드로잉(描畵) 명령에 따라, 소정 화면을 표시하는 표시장치이다.
카메라부(120)는 CCD(Charge Coupled Devices) 혹은 CMOS(Complementary Metal Oxide Semiconductor) 센서 등의 촬상 소자를 구비하고, 화상을 촬영한 경우에, CPU(10)에 대해 인터럽트 신호를 출력한다.
다음으로, 동작을 설명한다.
먼저, 인터럽트 처리 프로세서 지정 처리에 대해 설명한다.
도 3은 인터럽트 처리 프로세서 지정 처리를 나타내는 플로차트이다.
인터럽트 처리 프로세서 지정 처리는 CPU(10)에서 디스패치가 발생할 때마다 0S를 실행하고 있는 단위 프로세서(여기서는, 단위 프로세서(PO)인 것으로 한다.)에 의해 실행된다.
도 3에서, CPU(10)에서 디스패치가 발생하면, OS를 실행하고 있는 단위 프로세서(P0)는, Halt 상태에 있는 단위 프로세서가 존재하는지의 여부를 검색하고(단계 S1), Halt 상태에 있는 단위 프로세서가 존재하지 않는다고 판정한 경우, 가장 우선도가 낮은 태스크를 실행하고 있는 단위 프로세서를 검색한다(단계 S2).
단계 S1에서, Halt 상태에 있는 단위 프로세서가 존재한다고 판정한 경우 및 단계 S2 후, 단위 프로세서(P0)는 다음에 발생하는 인터럽트 처리를 실행하는 단위 프로세서를 Halt 중의 단위 프로세서 혹은 가장 우선도가 낮은 태스크를 실행하고 있는 단위 프로세서로 결정한다(단계 S3).
다음으로, 단위 프로세서(PO)는 인터럽트 처리 프로세서 선택부(11c)에서의 단위 프로세서 지정 영역을 고쳐 쓰고, 단계 S3에서 결정한 단위 프로세서를 나타내는 값으로 한다(단계 S4).
그리고, 단위 프로세서(PO)는 인터럽트 처리 프로세서 지정 처리를 종료한다.
이러한 처리의 결과, 인터럽트 처리가 발생한 경우에, 인터럽트 처리 프로세서 선택부(11c)에서의 단위 프로세서 지정 영역을 참조함으로써, 인터럽트 처리가 발생할 때마다 단위 프로세서의 선택을 행하지 않고, 즉시 인터럽트 처리를 실행 가능한 상태가 된다.
다음으로, 인터럽트 처리가 발생한 경우에 외부 인터럽트 제어부(11) 및 0S를 실행하고 있는 단위 프로세서(PO)가 실행하는 인터럽트 실행 처리에 관해 설명한다.
도 4는, 인터럽트 실행 처리를 나타내는 플로차트이다.
인터럽트 실행 처리는, 무선부(50) 등의 주변 칩으로부터 인터럽트 신호가 입력된 경우에 개시된다.
도 4에서, 주변 칩으로부터 인터럽트 신호가 입력되면, 전체 인터럽트 허가제어부(11a)는, 기억하고 있는 인터럽트 허가 플래그를 참조하여, 입력된 인터럽트 신호의 실행이 허가되어 있는지의 여부를 판정한다(단계 S101).
단계 S101에서, 입력된 인터럽트 신호의 실행이 허가되어 있지 않다고 판정한 경우, 전체 인터럽트 허가 제어부(11a)는, 단계 S101로 이행한다.
한편, 단계 S101에서, 전체 인터럽트 허가 제어부(11a)가, 입력된 인터럽트 신호의 실행이 허가되어 있다고 판정한 경우, 전체 인터럽트 우선도 제어부(11b)는, 입력된 인터럽트 신호의 우선도와 기억하고 있는 우선도(기준치)를 비교하여, 입력된 인터럽트 신호의 우선도가 기억하고 있는 우선도(기준치)보다 높은지의 여부를 판정한다(단계 S102).
단계 S102에서, 입력된 인터럽트 신호의 우선도가 기억하고 있는 우선도(기준치) 이하라 판정한 경우, 전체 인터럽트 우선도 제어부(11b)는 단계 S101로 이행한다.
한편, 단계 S102에서, 전체 인터럽트 우선도 제어부(11b)가 입력된 인터럽트 신호의 우선도가 기억하고 있는 우선도(기준치)보다 높다고 판정한 경우, 0S를 실행하고 있는 단위 프로세서(PO)는, 인터럽트 처리 프로세서 선택부(11c)에서의 단위 프로세서 지정 영역을 참조하여, 인터럽트 처리를 실행시키는 단위 프로세서를 선택한다(단계 S103).
그리고, 단위 프로세서(P0)는, 단계 S103에서 선택한 인터럽트 처리를 실행시키는 단위 프로세서가 Halt 상태인지의 여부를 판정하고(단계 S104), Halt 상태 가 아니라고 판정한 경우, 인터럽트 처리를 실행시키는 단위 프로세서에 대해, 인터럽트 처리의 초기화 처리(EPC, EPSR로의 PC, PSR의 값의 복제, 컨텍스트의 퇴피)를 행하게 한다(단계 S105).
단계 S104에서, 단계 S103에서 선택한 인터럽트 처리를 실행시키는 단위 프로세서가 Halt 상태라 판정된 경우 및 단계 S105 후, 인터럽트 처리를 실행하는 단위 프로세서는 인터럽트 벡터를 참조하여 인터럽트 핸들러를 기동함으로써, 인터럽트 처리를 실행한다(단계 S106).
다음으로, 단위 프로세서(P0)는 인터럽트 처리를 실행시킨 단위 프로세서가 Halt 상태의 것이었는지의 여부를 판정하고(단계 S107), Halt 상태의 것이 아니었다고 판정한 경우, 인터럽트 처리의 종료 처리(EPC, EPSR의 값을 PC, PSR로 되돌리고, 컨텍스트를 복귀하는 처리)를 행하게 한다(단계 S108).
단계 S107에서, 인터럽트 처리를 실행시킨 단위 프로세서가 Halt 상태의 것이었다고 판정한 경우 및 단계 S108 후, 인터럽트 실행 처리는 종료한다.
이러한 처리의 결과, 인터럽트가 발생한 경우에, 인터럽트 처리를 행하게 하는데 가장 적절한 단위 프로세서(P0∼P3)가 선택되고, 즉시 인터럽트 처리가 실행된다.
이상과 같이, 본 실시형태에 관한 휴대전화(1)는, 입력된 인터럽트 처리를 태스크를 실행하고 있지 않은 단위 프로세서 혹은 가장 우선도가 낮은 태스크를 실행하고 있는 단위 프로세서에 실행시키는 외부 인터럽트 제어부(11)를 CPU(10) 내에 구비한다.
그 때문에, CPU(10)에서 태스크의 처리 능력을 가능한 한 저하시키지 않고, 발생한 인터럽트 처리를 실행할 수 있다.
따라서, 멀티프로세서인 CPU(10)에서 인터럽트 처리를 효율적으로 처리하는 것이 가능해진다.
또한, 전체 인터럽트 우선도 제어부(11b)가 현재 실행중인 인터럽트 처리의 우선도 레벨을 기준치로서 기억하고 있어, 이후에 입력되는 인터럽트 처리는 전체 인터럽트 우선도 제어부(11b)에 기억된 우선도의 기준치를 토대로, 보다 우선도가 높은 인터럽트 처리가 선택되어 실행된다.
그 때문에, 복수의 인터럽트 처리가 발생한 경우에, 인터럽트 처리 동안의 실행 제어를 적절히 하는 것이 가능해지고, CPU(10)에서 인터럽트 처리를 효율적으로 처리하는 것이 가능해진다.
또, 본 발명은 멀티스레드 프로세서 혹은 멀티태스크 프로세서라 불리는 각종 실장(實裝) 형태의 프로세서에 적용 가능한데, 예를 들면, 1칩 상에 복수의 프로세서 코어가 실장되고, 프로세서의 구성 요소의 적어도 일부를 이들 복수의 프로세서 코어가 공용하는 형태의 멀티프로세서(이른바 밀(密)결합형 멀티태스크 프로세서)에서 특히 유효해진다.
도 5는, 본 발명의 적용 대상이 되는 멀티프로세서의 구성예를 나타내는 도면이다.
도 5에 나타내는 멀티프로세서에는, 메모리 제어부 및 ALU를 복수의 프로세서 코어가 공용하는 형태이고, 각각의 프로세서 코어에 프로그램 카운터 및 스테이 터스 레지스터 등의 제어용 레지스터가 구비됨과 동시에, 멀티프로세서 전체를 제어하기 위한 프로그램 제어부(전체용 프로그램 제어부) 및 제어용 레지스터(전체용 PSR)도 별도 구비된다. 또, 도 5에 도시하는 바와 같이, 각 프로세서 코어에서 공용하는 컨텍스트 캐쉬 등을 구비해도 된다.
이러한 구성의 멀티프로세서의 경우, 각 프로세서 코어가 본 실시형태에서의 단위 프로세서의 기능을 실현하고, 전체용 프로그램 제어부 및 전체용 PSR의 일부가 본 실시형태에서의 외부 인터럽트 제어부의 기능을 실현하는 것이 된다.
이러한 구성에 의하여, 멀티 프로세서인 CPU에서 인터럽트 처리를 효율적으로 처리하는 것이 가능해진다.

Claims (8)

  1. 태스크 혹은 스레드를 처리하는 복수의 프로세서부와, 입력된 우선도가 높은 처리의 실행을 제어하는 고우선도 처리 제어부를 구비하는 프로세서로서,
    상기 고우선도 처리 제어부는 상기 복수의 프로세서부 중, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 프로세서부에, 입력된 우선도가 높은 처리를 실행시키며,
    상기 고우선도 처리 제어부는, 상기 복수의 프로세서부 중, 다음에 입력되는 우선도가 높은 처리를 실행시키는 상기 프로세서부를 나타내는 정보를 기억하는 프로세서 선택부를 포함하고,
    상기 복수의 프로세서부에서 태스크 혹은 스레드의 절환이 발생할 때마다, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 상기 프로세서부를 판정하고, 그 프로세서부를 나타내는 정보를 상기 프로세서 선택부에 기억시키는 것을 특징으로 하는 프로세서.
  2. 삭제
  3. 제 1항에 있어서,
    상기 우선도가 높은 처리에는 우선도의 레벨이 설정되어 있고,
    상기 고우선도 처리 제어부는, 실행중인 상기 우선도가 높은 처리로 설정된 우선도의 레벨을 기억하는 우선도 레벨 기억부를 포함하고,
    입력된 우선도가 높은 처리 중, 상기 우선도 레벨 기억부에 기억된 우선도의 레벨을 기준으로 하여, 입력된 상기 우선도가 높은 처리를 선택하여 실행하는 것을 특징으로 하는 프로세서.
  4. 제 1항 또는 제 3항에 있어서,
    상기 우선도가 높은 소정 처리는, 인터럽트 처리인 것을 특징으로 하는 프로세서.
  5. 태스크 혹은 스레드를 처리하는 복수의 프로세서부를 구비하는 프로세서에서의 정보처리 방법으로서,
    상기 복수의 프로세서부 중, 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 프로세서부에, 입력된 우선도가 높은 처리를 실행시키고,
    상기 복수의 프로세서부에서, 태스크 혹은 스레드의 절환이 발생할 때마다 태스크 혹은 스레드의 처리를 실행하고 있지 않은 프로세서부 또는 가장 우선도가 낮은 태스크 혹은 스레드의 처리를 실행하고 있는 상기 프로세서부를 판정하고, 상기 복수의 프로세서부 중, 다음에 입력되는 우선도가 높은 처리를 실행시키는 프로세서부를 나타내는 정보를 기억해 두는 것을 특징으로 하는 정보처리 방법.
  6. 삭제
  7. 제 5항에 있어서,
    상기 우선도가 높은 처리에는, 우선도의 레벨이 설정되어 있고,
    실행중인 상기 우선도가 높은 처리로 설정된 우선도의 레벨을 기억해 두고, 입력된 우선도가 높은 처리 중, 상기 기억된 우선도의 레벨을 기준으로 하여, 입력된 상기 우선도가 높은 처리를 선택하여 실행하는 것을 특징으로 하는 정보처리 방법.
  8. 제 5항 또는 제 7항에 있어서,
    상기 우선도가 높은 소정 처리는, 인터럽트 처리인 것을 특징으로 하는 정보처리방법.
KR1020060002759A 2005-03-01 2006-01-10 프로세서 및 정보처리 방법 KR100746797B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00055423 2005-03-01
JP2005055423A JP2006243865A (ja) 2005-03-01 2005-03-01 プロセッサおよび情報処理方法

Publications (2)

Publication Number Publication Date
KR20060096186A KR20060096186A (ko) 2006-09-08
KR100746797B1 true KR100746797B1 (ko) 2007-08-06

Family

ID=36587269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060002759A KR100746797B1 (ko) 2005-03-01 2006-01-10 프로세서 및 정보처리 방법

Country Status (6)

Country Link
US (1) US20060200826A1 (ko)
EP (1) EP1698972A3 (ko)
JP (1) JP2006243865A (ko)
KR (1) KR100746797B1 (ko)
CN (1) CN1828563B (ko)
TW (1) TW200643793A (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5017784B2 (ja) * 2005-03-16 2012-09-05 セイコーエプソン株式会社 プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP5243711B2 (ja) 2006-11-10 2013-07-24 セイコーエプソン株式会社 プロセッサ
US8516484B2 (en) * 2008-02-01 2013-08-20 International Business Machines Corporation Wake-and-go mechanism for a data processing system
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8386822B2 (en) 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8250396B2 (en) 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US7865705B2 (en) * 2008-02-01 2011-01-04 International Business Machines Corporation Branch target address cache including address type tag bit
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8316218B2 (en) 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8171476B2 (en) * 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8145849B2 (en) 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8880853B2 (en) * 2008-02-01 2014-11-04 International Business Machines Corporation CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock
US8612977B2 (en) 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8312458B2 (en) * 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8788795B2 (en) 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8452947B2 (en) 2008-02-01 2013-05-28 International Business Machines Corporation Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms
US8732683B2 (en) * 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
US8225120B2 (en) * 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US8640141B2 (en) 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
JP2009251802A (ja) * 2008-04-03 2009-10-29 Panasonic Corp マルチプロセッサシステムおよびマルチプロセッサシステムの割込み制御方法
US8656145B2 (en) * 2008-09-19 2014-02-18 Qualcomm Incorporated Methods and systems for allocating interrupts in a multithreaded processor
JP5173714B2 (ja) 2008-09-30 2013-04-03 ルネサスエレクトロニクス株式会社 マルチスレッドプロセッサ及びその割り込み処理方法
US7996595B2 (en) * 2009-04-14 2011-08-09 Lstar Technologies Llc Interrupt arbitration for multiprocessors
US8886919B2 (en) * 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
US8230201B2 (en) * 2009-04-16 2012-07-24 International Business Machines Corporation Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
US8082315B2 (en) 2009-04-16 2011-12-20 International Business Machines Corporation Programming idiom accelerator for remote update
US8145723B2 (en) 2009-04-16 2012-03-27 International Business Machines Corporation Complex remote update programming idiom accelerator
US8321614B2 (en) * 2009-04-24 2012-11-27 Empire Technology Development Llc Dynamic scheduling interrupt controller for multiprocessors
US8260996B2 (en) * 2009-04-24 2012-09-04 Empire Technology Development Llc Interrupt optimization for multiprocessors
US8234431B2 (en) * 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
US9575912B2 (en) * 2014-04-08 2017-02-21 Infineon Technologies Ag Service request interrupt router with shared arbitration unit
FR3061565B1 (fr) * 2017-01-04 2019-04-26 Stmicroelectronics (Rousset) Sas Fonctionnement d'un microcontroleur en mode basse puissance
CN107861763B (zh) * 2017-12-01 2022-03-11 麒麟软件有限公司 一种面向飞腾处理器休眠过程的中断路由环境恢复方法
CN110474686B (zh) * 2018-05-11 2022-09-16 佛山市顺德区顺达电脑厂有限公司 网络交换装置及其运作方法
CN110737616B (zh) * 2018-07-20 2021-03-16 瑞昱半导体股份有限公司 处理中断优先级的电路系统
US11113216B2 (en) * 2019-03-20 2021-09-07 Mediatek Inc. Dispatching interrupts in a multi-processor system based on power and performance factors

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100193920B1 (ko) 1995-11-14 1999-06-15 니시무로 타이죠 멀티 프로세서형 컴퓨터
KR19990086459A (ko) * 1998-05-28 1999-12-15 전주범 위성 방송 수신기의 프로세스 우선 순위 할당 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1536616A (fr) * 1966-09-21 Ibm Système de traitement d'instructions avec des perfectionnements pour le branchementet les boucles du programme
GB1434186A (en) * 1972-04-26 1976-05-05 Gen Electric Co Ltd Multiprocessor computer systems
US4959781A (en) * 1988-05-16 1990-09-25 Stardent Computer, Inc. System for assigning interrupts to least busy processor that already loaded same class of interrupt routines
US5301324A (en) * 1992-11-19 1994-04-05 International Business Machines Corp. Method and apparatus for dynamic work reassignment among asymmetric, coupled processors
EP0602858A1 (en) * 1992-12-18 1994-06-22 International Business Machines Corporation Apparatus and method for servicing interrupts in a multiprocessor system
US5826081A (en) * 1996-05-06 1998-10-20 Sun Microsystems, Inc. Real time thread dispatcher for multiprocessor applications
US6301324B1 (en) 1999-03-31 2001-10-09 General Electric Company RF slipring receiver for a computerized tomography system
US20030191794A1 (en) * 2000-02-17 2003-10-09 Brenner Larry Bert Apparatus and method for dispatching fixed priority threads using a global run queue in a multiple run queue system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100193920B1 (ko) 1995-11-14 1999-06-15 니시무로 타이죠 멀티 프로세서형 컴퓨터
KR19990086459A (ko) * 1998-05-28 1999-12-15 전주범 위성 방송 수신기의 프로세스 우선 순위 할당 방법

Also Published As

Publication number Publication date
TWI307477B (ko) 2009-03-11
TW200643793A (en) 2006-12-16
EP1698972A3 (en) 2007-06-06
EP1698972A2 (en) 2006-09-06
US20060200826A1 (en) 2006-09-07
JP2006243865A (ja) 2006-09-14
CN1828563B (zh) 2011-05-11
CN1828563A (zh) 2006-09-06
KR20060096186A (ko) 2006-09-08

Similar Documents

Publication Publication Date Title
KR100746797B1 (ko) 프로세서 및 정보처리 방법
KR100746796B1 (ko) 프로세서 및 정보처리 방법
CN102150135B (zh) 用于在多线程处理器中分配中断的方法及系统
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
US7853743B2 (en) Processor and interrupt controlling method
JP6009529B2 (ja) マルチスレッドシステムの中でイベントを設定するための技術
JP4609113B2 (ja) プロセッサ
JP5673672B2 (ja) マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2006260377A (ja) 並列処理装置および情報処理方法
KR20070117605A (ko) 멀티프로세서 시스템 및 멀티프로세서 시스템의 제어 방법을 컴퓨터에 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US7702836B2 (en) Parallel processing device and exclusive control method
JP5017784B2 (ja) プロセッサ及びこのプロセッサ適用される割込み処理制御方法
JP4389797B2 (ja) プロセッサおよび情報処理方法
JPH06119190A (ja) タスク切替処理方式
KR20040101260A (ko) 가상 직접 메모리 액세스를 위한 방법 및 장치
JPH11316691A (ja) オペレーティングシステムの実行方法及び、これを用いた情報処理装置
JPH0495137A (ja) オペレーティングシステムのコンテキスト切替方式
JP2007048030A (ja) ソフトウェア割り込み制御システムおよびその制御方法
JP2007094941A (ja) オペレーティングシステム,電子機器
JP2001084151A (ja) 中央処理装置
JP2010271945A (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: 20120629

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee