CN1828563A - 处理器及信息处理方法 - Google Patents

处理器及信息处理方法 Download PDF

Info

Publication number
CN1828563A
CN1828563A CNA2006100198747A CN200610019874A CN1828563A CN 1828563 A CN1828563 A CN 1828563A CN A2006100198747 A CNA2006100198747 A CN A2006100198747A CN 200610019874 A CN200610019874 A CN 200610019874A CN 1828563 A CN1828563 A CN 1828563A
Authority
CN
China
Prior art keywords
relative importance
importance value
processing
processor
high relative
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2006100198747A
Other languages
English (en)
Other versions
CN1828563B (zh
Inventor
田村明彦
田中克哉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of CN1828563A publication Critical patent/CN1828563A/zh
Application granted granted Critical
Publication of CN1828563B publication Critical patent/CN1828563B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Telephone Function (AREA)

Abstract

移动电话机(1),将外部中断控制单元(11)配备在CPU(10)内,该外部中断控制单元(11),使所输入的中断处理,在不执行任务的单位处理器或执行最低优先度任务的单位处理器上执行。因此,在CPU(10)中,尽可能不降低任务的处理能力,而能执行发生了的中断处理。从而,在多处理器的CPU(10)中,能够有效地处理中断处理。进而,在多处理器中,有效地处理高优先度的处理。

Description

处理器及信息处理方法
技术领域:
本发明是涉及将多个任务(task)或线程(thread)进行并联处理的处理器及其信息处理方法。
背景技术:
近年,在嵌入式(embedded devices)仪器中,不断利用着可将多个任务(task)或多个线程(thread)进行并联处理的被称为多任务处理器(multitask processor)或多线程处理器(multithread processor)的处理器(以下,对此总称为多处理器(multi-processor))。
在现有的便携式仪器中,虽然执行着根据单处理器(single processor)的处理,但是伴随着便携式仪器的高功能化其处理变为复杂,则根据单处理器的处理变得困难。
因此,在执行根据多处理器的处理时,相对于中断处理的发生,需要执行和单处理器不同的对应。例如,根据中断的种类,可考虑:或在多个处理器之中将执行处理的处理器预先确定的方法;或在多个处理器的全体上输入中断信号(interrrupt signal)、在处理器间执行仲裁的方法。
此外,在多处理器中,涉及到将中断处理在处理器间进行仲裁的方法的技术,在专利文献1、2中所记载。
在专利文献1、2中所述的技术,是在多处理器系统中、在每个处理器上预先配备中断控制器;并在发生有中断要求时、在这些中断控制器间执行仲裁的。
【专利文献1】特开平6-324996号公报
【专利文献2】特开平10-97509号公报
但是,在专利文献1、2中所述的技术中,因为由于在每个处理器上配备有中断控制器,将必要的硬件大型化、配线也复杂化,所以并非是适合于嵌入式仪器(embedded devices)的。
此外,如上所述,其采用根据中断的种类、在多个处理器中预先确定执行处理的处理器的情况下,因为尽管存在着非动作状态的处理器、也可产生中断处理不被执行的事情,所以有可能降低处理效率。
这样,包括专利文献1、2中所述的技术、现有的技术中,在限定着如在嵌入式仪器中所适用的多处理器的硬件源(hardware source)的环境下,存在对中断处理等、高优先度的处理(以下,称为“高优先度的处理”)难以进行有效的处理。
本发明的课题是在多处理器中,有效地处理高优先度的处理。
发明内容
为了解决以上的问题,本发明提供一种处理器,本发明的处理器具备:处理任务(task)或线程(thread)的多个处理器单元(例如,图2的单位处理器P0~P3)、和控制所输入的高优先度的处理的执行的高优先度处理控制单元(例如,图2的外部中断控制单元11);其特征在于,所述高优先度处理控制单元,在所述多个处理器单元之中,在不执行任务(task)或线程的处理的处理器单元或执行最低优先度的任务(task)或线程的处理器单元上,执行所输入的高优先度的处理。
通过这样的构成,能使所输入的中断处理等的高优先度的处理,在不执行任务或线程的处理器单元或执行最低优先度的任务或线程的处理器单元中执行。
从而,由于使任务或线程的处理能力尽可能地不降低、而能执行高优先度的处理,所以在多处理器中、能够有效地进行高优先度的处理。
再有,所述高优先度处理控制单元,其特征在于,包括处理器选择单元(例如,图2的中断处理处理器选择单元11c),其存储表示所述多个处理器单元之中、使下一个输入的优先度高的处理执行的所述处理器单元的信息;每当所述多个处理器单元中发生任务或线程的切换时,判定不执行任务或线程的处理的处理器单元或执行最低优先度任务或线程的处理的所述处理器单元,并使表示该处理器单元的信息存储在所述处理器选择单元中。
通过这样的构成,在发生高优先度的处理的情况下,因为参照处理器选择单元、能将高优先度的处理直接在规定的处理器单元上执行,所以成为能够有效地处理高优先度的处理。
再有,在所述高优先度的处理中,设定着优先度的级别,所述高优先度处理控制单元,其特征在于,包括优先度级别存储单元(例如,图2的全体中断优先度控制单元11b),其存储在执行中的所述高优先度的处理中所设定的优先度的级别;在所输入的高优先度的处理之中,将在所述优先度级别存储单元中所存储的优先度的级别作为基准,对所输入的所述高优先度的处理进行选择并执行。
通过这样的构成,在发生多个高优先度的处理的情况下,成为可适当地执行高优先度的处理间的执行控制,并可有效地处理中断处理。
再有,所述高优先度的规定处理,其特征在于是中断处理。
通过这样的构成,能够有效地处理多处理器中的中断处理。
再有,本发明是一种在具备多个处理任务或线程的处理器单元的处理器上的信息处理方法,其特征在于,在所述多个处理器单元之中,在不执行任务或线程的处理的处理器单元或执行最低优先度任务或线程的处理的处理器单元上,执行所输入的高优先度的处理。
再有,其特征在于:每当所述多个处理器单元中发生任务或线程的切换时,判定不执行任务或线程的处理的处理器单元或执行最低优先度的任务或线程的处理的所述处理器单元,并在所述多个处理器单元之中预先存储:表示使下一个所输入的高优先度的处理执行的所述处理器单元的信息。
再有,其特征在于:在所述高优先度的处理中,设定着优先度的级别,并预先存储着对被设定在执行中的所述高优先度的处理的优先度的级别;在所输入的高优先度的处理之中,将所述已存储的优先度的级别作为基准,选择并执行所输入的所述高优先度的处理。
再有,其特征在于:所述高优先度的规定处理是中断处理。
这样,根据本发明,则可在多处理器中,能够有效地处理高优先度的处理。
附图说明
图1是表示本发明涉及的移动电话机1的功能构成的框图。
图2是表示CPU10的内部构成的框图。
图3是表示中断处理处理器指定处理的流程图。
图4是表示中断执行处理的流程图。
图5是表示成为本发明的适用对象的多处理器的构成例的图。
图中:1-移动电话机,10-CPU,11-外部中断控制单元,11a-全体中断许可控制单元,11b-全体中断优先度控制单元,11c-中断处理处理器选择单元,11d-中断矢量(vector),12-控制管理部,20-闪存ROM,30-存储器,40-缓冲器,50-无线部,60-IrDA部,70-音频部(audio),80-计时器,90-USB接口部,100-键操作部,110-LCD,120-照相机部,P0~P3-单位处理器,101-状态(status)寄存器,102-程序计数器(program counter),103-中断处理用状态(status)寄存器,104-中断处理用程序计数器。
具体实施方式
以下,参照图说明本发明涉及的处理器的实施方式。
本发明涉及的处理器,是将任务或线程等、程序在其执行单位下并联地进行处理的处理器;在本发明涉及的处理器内,具有实质上多个具备了执行任务等的处理器(以下,称为〖单位处理器〗)的硬件(hardware)构成。
而且,通过在多个单位处理器之中、具备对执行高优先度处理(中断处理等)的单位处理器进行适当地选择的外部中断控制单元,能够有效地执行高优先度处理。
首先,说明构成。
在此,举出将本发明涉及的处理器组合到移动电话机时的例子,对假定作为高优先度处理的中断处理的情况进行说明。此外,在以下的说明中,将线程等、程序的执行单位总称为“任务”。
图1是表示本发明涉及的移动电话机1的功能构成的框图。
在图1中,移动电话机1的构成为,包括:CPU(Central Processing Unit)10、闪存ROM20、存储器30、缓冲器40、无线部50、IrDA(Infrared DataAssociation)部60、音频部70、计时器(timer)80、USB(Universal SerialBus)接口部90、键(Key)操作部100、LCD(Liquid Crystal Display)110、和照相机部120;而且,CPU10、闪存ROM20、存储器30及缓冲器40,被数据传输总线(bus)连接。再有,无线部50、IrDA部60、音频部70、计时器80、USB接口部90、键操作部100、LCD110、照相机部120,和CPU10直接连接。
由于CPU10一边将多个任务并联处理一边控制移动电话机1全体,所以根据由键操作部100输入的各种指示信号,执行读出存储在闪存ROM20中的操作系统(OS)程序或各种操作程序,并根据由无线部50、音频部(audio)70或照相机部120等的周边芯片输入的中断信号、执行中断处理程序(handler)。
例如,CPU10,对由OS所生成的任务、和由操作所生成的任务执行并联处理;进而,在由周边芯片输入中断信号时,通过执行中断处理程序,起动和中断信号相对应的操作。此外,根据操作的处理,因为作为由OS的任务调度程序(scheduler)所管理的任务而执行,所以能调用OS的业务通话(service call);另一方面,中断处理,因为是不由任务调度程序所管理的处理,所以不能调用OS的业务通话(service call)。
再有,CPU10,将各种处理结果存储在闪存ROM20和存储器30中。
在此,对CPU10的内部构成进行说明。
图2是表示CPU10的内部构成的框图。
在图2中,CPU10,其构成为,包括:多个单位处理器P0~P3、外部中断控制单元11、和控制管理部12。此外,图2所示的周边芯片是对图1所示的无线部50、IrDA部60及音频部70等、直接连接在CPU10的功能部总称了的芯片;每一个的周边芯片,意味着这些功能部的任何一个。
单位处理器P0~P3,分别并联并可处理任务的处理器;在周边芯片中发生中断信号时,由后述的外部中断控制单元11所选择的处理器执行中断处理。
再有,因为作为单位处理器P0~P3的内部构成采用其为一样,所以作为代表,对单位处理器P0的内部构成进行说明。
单位处理器P0,其构成为,包括:状态寄存器(status register:PSR)101、程序计数器(PC)102、中断处理用状态寄存器(EPSR)103、和中断处理用程序计数器(EPC)104。
另外,单位处理器P0,虽然在此省略图示,但还包括取出(fetch)部,其从程序计数器表示的存储地址读出命令编码;解码部,其对取出部所输入的命令编码进行解码;执行规定运算的ALU(Arithmetic and LogicalUnit);和寄存器堆(register file),其存储运算对象或运算结果的数据。
状态寄存器101,对单位处理器P0的状态(例如,可否中断的状态,单位处理器P0中发生辅助操作(overhead)的状态等)进行存储。
程序计数器102,存储有对存储在单位处理器P0应在下一个执行的命令的存储器地址。
再有,被存储在状态寄存器101及程序计数器102中的内容,在单位处理器P0中执行中断处理时,回避到中断处理用状态寄存器103及中断处理用程序计数器104。
中断处理用状态寄存器103,是在单位处理器P0中执行着中断处理时,对就要起动中断处理程序前的状态寄存器101的状态进行回避(复制)的寄存器。在中断处理程序中,若有必要也可将中断处理用状态寄存器103的内容回避到堆栈(stack)区域。
中断处理用程序计数器104,是在单位处理器P0中执行着中断处理时,对就要起动中断处理程序前的程序计数器102的地址进行回避(复制)的寄存器。在中断处理程序中,根据需要也可将中断处理用程序计数器104的内容回避到堆栈(stack)区域。
外部中断控制单元11,在输入有来自无线部50等的周边芯片的中断信号时,仲裁中断信号之外,还选择执行中断处理的处理器;在选择了单位处理器P0时,将规定的中断信号输出到单位处理器P0。
具体而言,外部中断控制单元11,其构成为,包括:全体中断许可控制单元11a、全体中断优先度控制单元11b、中断处理处理器选择单元11c、和中断矢量(vector)11d。
全体中断许可控制单元11a,存储有表示在CPU10中各种中断处理的执行是否许可的中断许可标记,并输入有来自周边芯片的中断信号时,在表示与该中断相对应的中断许可标记许可中断的状态的情况下、接受该中断处理;而在表示与该中断相对应的中断许可标记不许可中断的状态的情况下,使相对该中断处理为待机状态。
全体中断优先度控制单元11b,对CPU10中接受的中断处理的优先度(基准值)进行存储。在CPU10上所输入的中断处理中,设定有固定的或在发生中断处理时的动态的优先度的级别。在全体中断优先度控制单元11b上,存储在CPU10中目前所执行的中断处理的优先度的级别。而且,全体中断优先度控制单元11b,参照来自周边芯片所输入的中断信号的优先度,对存储着的中断处理的优先度(基准值)和来自周边芯片所输入的中断信号的优先度进行比较。其结果,在判定为:来自周边芯片所输入的中断信号的优先度、是在目前存储着的优先度(基准值)以下的情况下,全体中断优先度控制单元11b,使相对来自周边芯片的中断处理为待机状态;另一方面,在判定为:是比目前存储着的优先度(基准值)高的情况下,对新的中断处理优先执行。
中断处理处理器选择单元11c,由包括单位处理器指定区域、和中断可否区域的寄存器所构成,其中所述单位处理器指定区域,表示在单位处理器P0~P3的任一个上是否执行下一个中断处理;而所述中断可否区域,表示在单位处理器指定区域所表示的单位处理器上是否执行中断处理。
单位处理器指定区域,由在CPU10中每次发生分派信号(dispatch)(伴随着任务的切换、单位处理器P0~P3的再分配)时所执行的中断处理处理器指定处理(后述)所更新。再有,中断可否区域,根据作为CPU10全体是否接受中断处理而被重写。
中断矢量11d,对存储有存储了中断处理程序(handler)的一览的存储器地址的表格。在执行中断处理时,首先,执行处理的单位处理器,参照存储在中断矢量上的存储器30上的地址,向表格所表示的、相应于中断种类的中断处理程序的存储处转移(跳跃jump)。而且,通过单位处理器起动中断处理程序,执行中断处理。
控制管理部12,是和存储器30上所展开的操作系统程序(operatingsystem program)协作运行所实现的功能,例如,包括:通过作为OS的一个功能执行中断处理处理器指定处理,更新中断处理处理器选择单元11c的单位处理器指定区域的功能,或执行单位处理器P0~P3的动作状态的(是Halt状态还是动作中?)及动作中的单位处理器P0~P3中所执行的任务的优先度的管理的功能。再有,执行作为OS的处理的单位处理器,根据状况随时变化。
返回到图1,闪存ROM20,存储有移动电话机1中所执行的操作系统程序、以及各种操作程序。
存储器30,由所谓的DRAM(Dynamic Random Access Memory)、SRAM(Satic Random Access Memory)或SDRAM(Synchronous DRAM)半导体存储器构成,在CPU10执行处理时形成工作区域的同时,存储该处理结果。
缓冲器40,是暂时地进行保持从外部输入到移动电话机1中的数据或在移动电话机1中所发生的数据的缓冲器。
无线部50,是执行移动电话机1和移动电话机系统的基地局之间的无线通信的。例如,无线部50,在接收到表示从基地局对移动电话机1来电的信号时,对CPU10输出中断信号、并通知来电信号的接收。再有,从CPU10输入了指示发射的信号时,无线部50,对基地局发送表示发射要求的信号。
IrDA部60,是执行基于IrDA的通信的接口;在从外部接收到基于IrDA的无线信号时,对CPU10输出中断信号、并通知接收IrDA信号。
音频部(audio)70,是对在移动电话机中所输入输出的声音信号进行处理的装置;执行所谓的通话中的利用送话器和扬声器的声音的输入输出、或音乐等的再生。
计时器80,将移动电话机1的时钟脉冲信号作为基准而计测时间,例如,按每1ms等、按每一个规定时间上对CPU10输出中断信号。
USB接口部90,是用于执行根据USB的通信的接口;在连接了USB电缆时或接收到来自USB电缆信号时,对CPU10输出中断信号。
键操作部100,具备用于对移动电话机1执行输入指示的各种键;在按下该键时,对CPU10输出中断信号。
LCD110,是按照被CPU10输入的文字或图像等的描绘命令,对规定图面进行显示的显示装置。
照相机部120,具备CCD(Charge Coupled Device)或CMOS(Complementary Metal Oxide Semiconductor)传感器等的摄像元件;在已摄像了图像时,对CPU10输出中断信号。
接着,说明动作。
首先说明关于中断处理处理器指定处理。
图3是表示中断处理处理器指定处理的流程图。
中断处理处理器指定处理,由当每次在CPU10中发生分派(dispatch)时执行OS的单位处理器(在此,采用其为单位处理器P0)来执行。
在图3中,如果在CPU10中发生分派,则执行OS的单位处理器P0,检索是否存在Halt状态的单位处理器(步骤S1);在判定为不存在Halt状态的单位处理器的情况下,检索将最低优先度任务进行执行的单位处理器(步骤S2)。
在步骤S1中,在判定为存在Halt状态的单位处理器时、以及、步骤S2之后,单位处理器P0,将执行下一个发生的中断处理的单位处理器,决定为Halt中的单位处理器或执行最低优先度的任务的单位处理器(步骤S3)。
接着,单位处理器P0,重写中断处理处理器选择单元11c中的单位处理器指定区域,作为表示步骤S3中已决定的单位处理器的值(步骤S4)。
于是,单位处理器P0,结束中断处理处理器指定处理。
在发生这样的处理的结果、中断处理的情况下,通过参照中断处理处理器选择单元11c中的单位处理器指定区域,并非在每次发生中断处理时执行单位处理器的选择,而成为直接执行中断处理的状态。
接着,对在发生中断处理时执行外部中断控制单元11及OS的单位处理器P0所执行的中断执行处理进行说明。
图4是表示中断执行处理的流程图。
中断执行处理,开始于自无线部50等的周边芯片输入了中断信号时。
在图4中,如果自周边芯片输入中断信号,则全体中断许可控制单元11a,参照存储着的中断许可标记,判定是否许可执行所输入的中断信号(步骤S101)。
另一方面,在步骤S101中,在全体中断许可控制单元11a、判定其为许可着所输入的中断信号的执行时,全体中断优先度控制单元11b,对所输入的中断信号的优先度、和存储着的优先度(基准值)进行比较,并判定所输入的中断信号的优先度,是否比存储着的优先度(基准值)高(步骤S102)。
在步骤S102中,在判定所输入的中断信号的优先度、是在存储着的优先度(基准值)以下时,全体中断优先度控制单元11b,移动到步骤S101。
另一方面,在步骤S102中,在全体中断优先度控制单元11b,判定其为所输入的中断信号的优先度比存储着的优先度(基准值)高的情况下,执行着OS的单位处理器P0,参照中断处理处理器选择单元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配备在CPU10内,该外部中断控制单元11,使所输入的中断处理,在不执行任务的单位处理器或执行最低优先度的任务的单位处理器上执行。
因此,在CPU10中,尽可能不降低任务的处理能力,而能执行发生了的中断处理。
因此,在多处理器的CPU10中,能够有效地处理中断处理。
再有,全体中断优先度控制单元11b,预先将目前执行中的中断处理的优先度级别作为基准值进行存储;而后所输入的中断处理,执行:将存储在全体中断优先度控制单元11b中的优先度的基准值作为基础,而选择出更高优先度的中断处理。
因此,在发生多个中断处理时,能够适当地实施中断处理间的执行控制,并在CPU10中能够有效地处理中断处理。
另外,本发明,虽然可适用在所谓的多线程处理器或多任务处理器的各种安装的方式的处理器,但例如在一个芯片上安装着多个处理器芯(core)、并将处理器的构成要素的至少一部分设置在这些多个处理器芯共用的方式的多处理器上(所谓密结合型的多任务处理器)特别有效。
图5是表示成为本发明的适用对象的多处理器的构成例的图。
图5所示的多处理器,是在存储器控制单元及ALU上共用多个处理器芯的方式,在每一个处理器芯上具备有程序计数器及状态寄存器等的控制用寄存器的同时,还另外备有用于控制多处理器全体的程序控制单元(全体用程序控制单元)及控制用寄存器。再有,如图5所示,也可以具备由各处理器中心共用的上下文超高速缓冲存储器(context cache)等。
这种构成的多处理器的情况下,则成为各处理器中心实现本实施方式中的单位处理器的功能、而全体用程序控制单元及全体用PSR的一部分实现本实施方式中的外部中断控制单元的功能的情况。

Claims (8)

1、一种处理器,其是具备多个处理任务或处理线程的处理器单元、和对所输入的高优先度的处理的执行进行控制的高优先度处理控制单元的处理器,其中:
所述高优先度处理控制单元,在所述多个处理器单元之中,在不执行任务或线程的处理的处理器单元、或执行最低优先度的任务或线程的处理器单元上,执行所输入的高优先度的处理。
2、根据权利要求1所述的处理器,其特征在于,
包括:处理器选择单元,其存储表示在所述多个处理器单元之中的执行下一个所输入的高优先度的处理的所述处理器单元的信息;
所述多个处理器单元中每发生任务或线程的切换时,判定不执行任务或线程的处理的处理器单元、或执行最低优先度任务或线程的处理的所述处理器单元,并在所述处理器选择单元中存储表示该处理器单元的信息。
3、根据权利要求1或2所述的处理器,其特征在于,
对所述高优先度的处理,设定有优先度的级别;
所述高优先度处理控制单元,包括:优先度级别存储单元,其存储对执行中的所述高优先度的处理所设定的优先度的级别;
在所输入的高优先度的处理之中,将在所述优先度级别存储单元中所存储着的优先度的级别作为基准,选择并执行所输入的所述高优先度的处理。
4、根据权利要求1至3的任一项中所述的处理器,其特征在于,
所述高优先度的规定处理是中断处理。
5、一种信息处理方法,是在具备多个处理任务或线程的处理器单元的处理器中的信息处理方法,其中:
在所述多个处理器单元中,在不执行任务或线程的处理的处理器单元、或执行最低优先度任务或线程的处理的处理器单元上,执行所输入的高优先度的处理。
6、根据权利要求5的信息处理方法,其特征在于:
所述多个处理器单元中按每发生任务或线程的切换时,判定不执行任务或线程的处理的处理器单元、或执行最低优先度任务或线程的处理的所述处理器单元,并预先存储表示在所述多个处理器单元之中执行下一个所输入的高优先度的处理的所述处理器单元的信息。
7、根据权利要求5或6中所述的信息处理方法,其特征在于,
对所述高优先度的处理,设定有优先度的级别,
存储对执行中的所述高优先度的处理所设定的优先度的级别,在所输入的高优先度的处理之中,将所述存储的优先度的级别作为基准,选择并执行所输入的所述高优先度的处理。
8、根据权利要求5至7的任一项中所述的信息处理方法,其特征在于,
所述高优先度的规定处理是中断处理。
CN2006100198747A 2005-03-01 2006-03-01 处理器及信息处理方法 Expired - Fee Related CN1828563B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN1828563A true CN1828563A (zh) 2006-09-06
CN1828563B CN1828563B (zh) 2011-05-11

Family

ID=36587269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100198747A Expired - Fee Related CN1828563B (zh) 2005-03-01 2006-03-01 处理器及信息处理方法

Country Status (6)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872315A (zh) * 2009-04-24 2010-10-27 勒斯塔尔技术有限责任公司 用于多处理器的中断最优化
CN104978289A (zh) * 2014-04-08 2015-10-14 英飞凌科技股份有限公司 具有共享仲裁单元的服务请求中断路由器
CN107861763A (zh) * 2017-12-01 2018-03-30 天津麒麟信息技术有限公司 一种面向飞腾处理器休眠过程的中断路由环境恢复方法
CN108268118A (zh) * 2017-01-04 2018-07-10 意法半导体(鲁塞)公司 用于操作微控制器的系统和方法
CN110737616A (zh) * 2018-07-20 2020-01-31 瑞昱半导体股份有限公司 处理中断优先级的电路系统

Families Citing this family (32)

* 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
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
US8171476B2 (en) * 2008-02-01 2012-05-01 International Business Machines Corporation Wake-and-go mechanism with prioritization of threads
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8312458B2 (en) * 2008-02-01 2012-11-13 International Business Machines Corporation Central repository for wake-and-go mechanism
US8316218B2 (en) 2008-02-01 2012-11-20 International Business Machines Corporation Look-ahead wake-and-go engine with speculative execution
US8225120B2 (en) * 2008-02-01 2012-07-17 International Business Machines Corporation Wake-and-go mechanism with data exclusivity
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
US8788795B2 (en) 2008-02-01 2014-07-22 International Business Machines Corporation Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors
US8725992B2 (en) 2008-02-01 2014-05-13 International Business Machines Corporation Programming language exposing idiom calls to a programming idiom accelerator
US7865705B2 (en) * 2008-02-01 2011-01-04 International Business Machines Corporation Branch target address cache including address type tag bit
US8640141B2 (en) 2008-02-01 2014-01-28 International Business Machines Corporation Wake-and-go mechanism with hardware private array
US8386822B2 (en) 2008-02-01 2013-02-26 International Business Machines Corporation Wake-and-go mechanism with data monitoring
US8612977B2 (en) 2008-02-01 2013-12-17 International Business Machines Corporation Wake-and-go mechanism with software save of thread state
US8145849B2 (en) 2008-02-01 2012-03-27 International Business Machines Corporation Wake-and-go mechanism with system bus response
US8127080B2 (en) 2008-02-01 2012-02-28 International Business Machines Corporation Wake-and-go mechanism with system address bus transaction master
US8250396B2 (en) 2008-02-01 2012-08-21 International Business Machines Corporation Hardware wake-and-go mechanism for a data processing system
US8732683B2 (en) * 2008-02-01 2014-05-20 International Business Machines Corporation Compiler providing idiom to idiom accelerator
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
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
US8886919B2 (en) * 2009-04-16 2014-11-11 International Business Machines Corporation Remote update programming idiom accelerator with allocated processor resources
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
US8234431B2 (en) * 2009-10-13 2012-07-31 Empire Technology Development Llc Interrupt masking for multi-core processors
CN110474686B (zh) * 2018-05-11 2022-09-16 佛山市顺德区顺达电脑厂有限公司 网络交换装置及其运作方法
US11113216B2 (en) * 2019-03-20 2021-09-07 Mediatek Inc. Dispatching interrupts in a multi-processor system based on power and performance factors

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3490005A (en) * 1966-09-21 1970-01-13 Ibm Instruction handling unit for program loops
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
JPH09138716A (ja) 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
US5826081A (en) * 1996-05-06 1998-10-20 Sun Microsystems, Inc. Real time thread dispatcher for multiprocessor applications
KR19990086459A (ko) * 1998-05-28 1999-12-15 전주범 위성 방송 수신기의 프로세스 우선 순위 할당 방법
US6301324B1 (en) 1999-03-31 2001-10-09 General Electric Company RF slipring receiver for a computerized tomography system
US20030110204A1 (en) * 2000-02-17 2003-06-12 Brenner Larry Bert Apparatus and method for dispatching fixed priority threads using a global run queue in a multiple run queue system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872315A (zh) * 2009-04-24 2010-10-27 勒斯塔尔技术有限责任公司 用于多处理器的中断最优化
CN101872315B (zh) * 2009-04-24 2013-04-17 英派尔科技开发有限公司 用于多处理器的中断最优化
CN104978289A (zh) * 2014-04-08 2015-10-14 英飞凌科技股份有限公司 具有共享仲裁单元的服务请求中断路由器
CN104978289B (zh) * 2014-04-08 2018-11-16 英飞凌科技股份有限公司 具有共享仲裁单元的服务请求中断路由器
CN108268118A (zh) * 2017-01-04 2018-07-10 意法半导体(鲁塞)公司 用于操作微控制器的系统和方法
CN108268118B (zh) * 2017-01-04 2021-07-20 意法半导体(鲁塞)公司 用于操作微控制器的系统和方法
CN107861763A (zh) * 2017-12-01 2018-03-30 天津麒麟信息技术有限公司 一种面向飞腾处理器休眠过程的中断路由环境恢复方法
CN107861763B (zh) * 2017-12-01 2022-03-11 麒麟软件有限公司 一种面向飞腾处理器休眠过程的中断路由环境恢复方法
CN110737616A (zh) * 2018-07-20 2020-01-31 瑞昱半导体股份有限公司 处理中断优先级的电路系统
CN110737616B (zh) * 2018-07-20 2021-03-16 瑞昱半导体股份有限公司 处理中断优先级的电路系统

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1828563A (zh) 处理器及信息处理方法
CN1811718A (zh) 处理器及信息处理方法
KR101346135B1 (ko) 멀티 스레드 프로세서에서 인터럽트들을 할당하기 위한 방법들 및 시스템들
US9619282B2 (en) Task scheduling in big and little cores
US7853743B2 (en) Processor and interrupt controlling method
CN1271517C (zh) 任务切换装置、方法和程序
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
CN1641614A (zh) 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
CN101031877A (zh) 线程活锁单元
CN1764906A (zh) 数据处理系统中的存储器管理
US8984200B2 (en) Task scheduling in big and little cores
CN1862515A (zh) 数据传送装置、数据传送方法和程序
JP2012503254A5 (zh)
CN1763731A (zh) 高速缓冲存储器系统
CN1860444A (zh) 处理器间中断
CN1349627A (zh) 处理器的省电控制方法、记录媒体、以及处理器的省电控制装置
JP4609113B2 (ja) プロセッサ
CN1172986A (zh) 实时控制系统
CN1940867A (zh) 信息处理装置和方法、记录媒体和程序
CN1427336A (zh) 微处理器
CN1601488A (zh) 信息处理控制系统
CN1894648A (zh) 频率控制方法和信息处理设备
CN1945542A (zh) 一种嵌入式软件开发的方法及系统
CN1456990A (zh) 应用程序并行处理系统和应用程序并行处理方法
CN100346300C (zh) 用多重加载/存储指令初始化系统全局变量的设备和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110511

Termination date: 20140301