CN101918920A - 用于多线程处理器的共享的中断控制器 - Google Patents
用于多线程处理器的共享的中断控制器 Download PDFInfo
- Publication number
- CN101918920A CN101918920A CN200880125044XA CN200880125044A CN101918920A CN 101918920 A CN101918920 A CN 101918920A CN 200880125044X A CN200880125044X A CN 200880125044XA CN 200880125044 A CN200880125044 A CN 200880125044A CN 101918920 A CN101918920 A CN 101918920A
- Authority
- CN
- China
- Prior art keywords
- interruption
- register
- thread
- interrupt
- processor
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000004044 response Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 9
- 230000008676 import Effects 0.000 claims description 8
- 238000012360 testing method Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 4
- 230000000630 rising effect Effects 0.000 claims 2
- 230000015654 memory Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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)
Abstract
本发明揭示一种多线程处理器,其包含定序器,所述定序器适于提供与多线程处理器的一个或一个以上线程相关联的指令。所述定序器包含中断控制器,所述中断控制器适于接收一个或一个以上中断且选择性地允许所述一个或一个以上线程中的第一线程服务至少一个中断。所述中断控制器包含用以阻止所述一个或一个以上线程中的第二线程响应所述至少一个中断的逻辑。
Description
相关申请案的交叉参考
本申请案主张2005年10月18日申请且由代理人案号050587指定的题目为“用于数字信号处理器的共享的中断控制方法和系统(SHARED INTERRUPT CONTROLMETHOD AND SYSTEM FOR A DIGITAL SIGNAL PROCESSOR)”的第11/253,906号美国专利申请案的优先权且是其部分接续案,所述美国专利申请案以全文引用的方式并入本文中。
技术领域
本发明大体上涉及用于多线程处理器的共享的中断控制器。
背景技术
技术的进步已带来较小且更强大的个人计算装置。举例来说,目前存在多种便携式个人计算装置,包含较小、重量轻且容易由用户携带的无线计算装置,例如便携式无线电话、个人数字助理(PDA)和寻呼装置。更具体来说,例如蜂窝式电话和因特网协议(IP)电话等便携式无线电话可经由无线网络传送语音和数据包。此外,许多此些无线电话包含并入其中的其它类型的装置。举例来说,无线电话还可包含数字静态相机、数字摄像机、数字记录器和音频文件播放器。而且,此些无线电话可包含软件功能性,例如可用以接入因特网的网页浏览器应用程序。由此,这些无线电话可包含显著的计算能力。
数字信号处理器(DSP)常常在例如无线电话等便携式个人计算装置中使用。此些DSP可用以提供视频和音频功能、处理接收的数据,或执行其它功能。此些DSP可采用多线程架构,所述架构可处理多个程序指令线程且可包含并行执行单元。
DSP可包含中断处置器以从执行的指令、外围装置或其它电路元件接收中断信号。此些中断信号可触发DSP过程响应于检测到的事件的临时暂停。除非DSP的每一线程均包含专用的中断处置器或控制器,否则中断的服务可呈现额外的调度复杂性。
发明内容
在特定说明性实施例中,揭示一种多线程处理器,其包含:定序器,其适于提供与多线程处理器的一个或一个以上线程相关联的指令。所述定序器包含中断控制器,所述中断控制器适于接收一个或一个以上中断且选择性地允许所述一个或一个以上线程中的第一线程服务所述一个或一个以上中断中的至少一个中断。所述中断控制器包含用以在所述中断经选择以由所述第一线程服务之后阻止所述一个或一个以上线程中的第二线程响应所述中断的逻辑。
在另一特定说明性实施例中,一种处理器包含:全局中断寄存器,其响应于一个或一个以上中断源以接收一个或一个以上中断。所述全局中断寄存器可由多线程处理器的每一线程存取以服务所述一个或一个以上中断。中断逻辑耦合到所述全局中断寄存器以确定中断正由所述多线程处理器的线程服务,且基于中断正被服务的确定而防止其它线程对所述中断的存取。
在再一特定说明性实施例中,一种控制多线程处理器中的中断的方法包含:在与多线程处理器相关联的定序器处接收中断。所述方法进一步包含在确定所述中断正由所述多个线程中的第一线程服务之后防止第二线程对所述中断的存取。所述定序器包含可由所述多线程处理器的多个线程存取的全局中断寄存器且所述定序器包含中断控制电路。
在又一特定说明性实施例中,揭示一种处理装置,其包含:用于在与多线程处理器相关联的定序器处接收中断的装置。所述定序器包含可由多个线程存取的全局中断寄存器且包含中断控制电路。所述处理装置还包含用于在确定所述中断正由所述多个线程中的第一线程服务之后防止第二线程对所述中断的存取的装置。
在另一特定说明性实施例中,揭示一种无线通信装置,其包含:收发器,其与通信网络通信;以及存储器,其包含可由处理器执行的多个指令。所述处理器耦合到所述收发器且具有对所述存储器的存取权。所述处理器包含:多个线程,其适于执行来自所述多个指令中的选定指令;以及定序器,其适于检索所述选定指令且将所述选定指令提供到所述多个线程。所述定序器包含可由所述多个线程中的每一线程存取的全局中断寄存器且包含耦合到所述全局中断寄存器的中断控制器。所述中断控制器适于确定何时所述多个线程中的一线程正服务一中断且利用所述全局中断寄存器来防止所述多个线程中的其它线程对所述中断的存取。
在再一特定说明性实施例中,揭示一种处理器,其包含:第一配置寄存器,其指示中断逻辑电平;以及第二配置寄存器,其指示中断触发。所述处理器还包含自动停用中断寄存器,其包含多个位,所述多个位中的每一位对应于特定中断。所述处理器进一步包含处理逻辑,其基于所述中断逻辑电平、所述中断触发和对应于所述特定中断的所述位而将中断提供到包含多个执行线程的多线程处理器的第一线程。所述处理逻辑在所述特定中断正由所述第一线程服务时设定对应于所述特定中断的所述位,且防止在所述特定中断正由所述第一线程服务时所述多个执行线程中的其它线程进行存取。
由全局中断寄存器和相关联的逻辑提供的一个特定优点在于全局中断寄存器的位可用以抑制不同线程多次服务特定中断。
提供特定实施例的另一优点在于通过在全局中断寄存器中设定可对应于线程特定寄存器中的停用位的中断位旗标,可以简单且有效方式管理多线程处理环境中的中断的服务。
在审阅整个申请案之后将明白本发明的其它方面、优点和特征,整个申请案包含以下部分:附图说明、具体实施方式和权利要求书。
附图说明
图1是包含共享的中断控制器的多线程处理器的特定说明性实施例的框图;
图2是包含共享的中断控制器的多线程处理器的第二特定说明性实施例的框图;
图3是共享的中断控制器的特定说明性实施例的框图;
图4是使用共享的中断控制器来处置中断的方法的特定说明性实施例的流程图;以及
图5是无线通信装置的特定说明性实施例的框图。
具体实施方式
参看图1,揭示多线程处理器100。在特定说明性实施例中,多线程处理器100可为数字信号处理器。多线程处理器100包含具有指令队列134的存储器102、存储器总线106、定序器单元104、多个执行单元108-114、第一总线118、统一寄存器堆116和第二总线120。定序器104耦合到控制寄存器160。定序器104包含全局中断寄存器堆162和共享的中断控制器164。存储器102耦合到第二总线120且定序器104也耦合到第二总线120。
在特定实施例中,存储器总线106可为六十四(64)位总线且定序器104可经配置以从存储器102检索指令。在特定说明性实施例中,每一指令可具有三十二(32)位的长度。定序器104经由第一路径(槽0)耦合到第一指令执行单元108、经由第二路径(槽1)耦合到第二指令执行单元110、经由第三路径(槽2)耦合到第三指令执行单元112,且经由第四路径(槽3)耦合到第四指令执行单元114。每一指令执行单元108、110、112和114可经由第一总线118耦合到通用寄存器堆116。通用寄存器堆116也可经由第二总线120耦合到定序器104和存储器102。
在特定实施例中,存储器102可为内容可寻址存储器(CAM),其包含第一指令高速缓冲存储器122、第二指令高速缓冲存储器124、第三指令高速缓冲存储器126、第四指令高速缓冲存储器128、第五指令高速缓冲存储器130和第六指令高速缓冲存储器132。在操作期间,定序器104可存取指令高速缓冲存储器122、124、126、128、130和132中的每一者。另外,在特定实施例中,每一指令高速缓冲存储器122、124、126、128、130和132包含多个指令、用于每一指令的指令导引数据和用于每一指令的指令预解码数据。存储器102中的指令队列134可包含用于每一指令高速缓冲存储器122、124、126、128、130和132的指令队列。
如图1中描绘,通用寄存器116包含第一统一寄存器堆148、第二统一寄存器堆150、第三统一寄存器堆152、第四统一寄存器堆154、第五统一寄存器堆156和第六统一寄存器堆158。每一统一寄存器堆148、150、152、154、156和158对应于存储器102内的相应指令高速缓冲存储器122、124、126、128、130和132。每一统一寄存器堆148、150、152、154、156和158以及相应指令高速缓冲存储器122、124、126、128、130和132对应于相应的线程。此外,在特定实施例中,统一寄存器堆148、150、152、154、156和158中的每一者可具有相同构造且可包含相等数目的数据操作数和地址操作数。
图1说明多线程处理器100可进一步包含耦合到定序器104的控制寄存器160。如图示,控制寄存器160可为独立寄存器。或者,控制寄存器可包含在通用寄存器116中。如所说明,多线程处理器100还可包含控制逻辑,例如共享的中断控制器164。在说明性实施例中,共享的中断控制器164耦合到全局中断寄存器162。共享的中断控制器164可操作以控制执行单元108、110、112和114对每一特定中断的存取。
在多线程处理器100的操作期间,由定序器104从存储器102获取指令,将所述指令发送到选定的指令执行单元108、110、112和114,且在指令执行单元108、110、112和114处执行。来自每一指令执行单元108、110、112和114处的经执行指令的结果可写入到通用寄存器堆116(即,写入到统一寄存器堆148、150、152、154、156和158中的每一者)。在特定实施例中,多线程处理器100能够执行多个程序线程。此外,在特定实施例中,多线程处理器100可经配置以基于交错而执行多达六个不同的程序线程。
定序器104适于提供与多线程处理器100的一个或一个以上线程相关联的指令。定序器104包含适于接收一个或一个以上中断的中断控制器164。所述一个或一个以上中断可表示硬件信号,所述硬件信号可致使多线程处理器100的线程搁置正常处理且开始执行中断处置器,所述中断处置器可为用于响应特定中断的软件例程。可从指令执行、从外围装置、从电路组件或其任何组合产生此些中断。中断可通过总线类型和中断级而参数化,且可包含中断向量号。
在特定说明性实施例中,当一个或一个以上中断由共享的中断控制器164接收或检测到时,共享的中断控制器164适于选择性地允许所述一个或一个以上线程中的第一线程服务所述一个或一个以上中断中的特定中断。在特定实施例中,中断控制器164包含用以在特定中断经选择用于由第一线程服务之后阻止第二线程响应所述特定中断的逻辑。
在特定实施例中,在多个执行单元和多个线程上共享共享的中断控制器164。共享的中断控制器164可包含多个操作模式,所述操作模式可针对多个执行单元中的每一者来配置。第一操作模式包含中断有效高沿触发模式,其中共享的中断控制器164响应于由从逻辑低到逻辑高电平的沿转变触发的处于逻辑高电平的中断。第二操作模式包含中断有效低沿触发模式,其中共享的中断控制器164响应于由从逻辑高到逻辑低电平的沿转变触发的处于逻辑低电平的中断。第三操作模式包含有效高电平触发模式,其中中断控制器164响应于维持于逻辑高电平的中断。第四操作模式包含逻辑低电平触发模式,其中共享的中断控制器164响应于维持于逻辑低电平的中断。
在特定实施例中,共享的中断控制器164包含用以设定或更改全局中断寄存器162中和中断待决寄存器(例如图2中说明的中断待决寄存器(IPEND)210)中的旗标的逻辑。全局中断寄存器162还可包含中断自动停用寄存器,例如图2中的中断自动停用寄存器212和图3中的324。可在全局中断寄存器162中设定旗标以指示特定线程正服务特定中断。一般来说,每一旗标对应于可被服务的一个或一个以上中断中的至少一者。共享的中断控制器164适于防止在特定经授权线程正服务特定中断时另一线程服务所述中断。一旦针对第一线程设定旗标,则共享的中断控制器164的控制逻辑阻止任何其它线程(例如第二线程)响应中断,直到第一线程已完成此中断的服务为止。另外,共享的中断控制器164可在中断正被服务时维持全局中断寄存器162中的对应于中断的特定位的状态。
全局中断寄存器162可由可用于取得中断的多个线程中的每一线程存取。当多线程处理器100正在例如上述第三和第四模式等电平触发模式中操作时,共享的中断控制器164可在第一线程正服务特定中断时维持全局中断寄存器162内的位。与共享的中断控制器164相关联的逻辑可抑制其它线程在特定中断正被服务时服务所述中断,进而防止多次服务所述中断。共享的中断控制器164包含用以控制中断待决寄存器的至少一个位以指示何时特定线程正服务中断的逻辑。在特定实施例中,在正由相关联的线程服务的特定中断被解除断言时自动清除中断待决寄存器中的控制位。
参看图2,展示与多线程处理器200中的用于处置线程事件和中断的定序器、逻辑和相关联的寄存器相关的进一步细节。多线程处理器200包含定序器202和线程事件处置逻辑204。定序器202包含共享的中断控制器208和全局控制寄存器206。全局控制寄存器206包含中断待决寄存器210、中断自动停用寄存器212和模式控制寄存器214。定序器202与线程事件处置模块204通信,线程事件处置模块204可包含对应于多线程处理器的每一线程的线程事件处置模块。每一线程事件处置模块204包含中断屏蔽寄存器216、过程事件寄存器218、多个通用寄存器220(R0-R31)以及监视控制寄存器222。
在特定实施例中,全局中断寄存器206响应于一个或一个以上中断源以接收一个或一个以上中断。所述一个或一个以上中断源可为由处理器的特定执行单元执行的指令,可为需要关注的外围装置,或其任何组合。全局中断寄存器206可由多线程处理器200的多个可用线程的每一线程存取以服务一个或一个以上中断。
一般来说,中断自动停用寄存器212包含多个位,所述位可经设定以抑制对特定中断的存取。中断自动停用寄存器212可在多线程处理器200的线程开始服务中断时自动设定对应于特定中断的位旗标。中断自动停用寄存器212的位旗标可对应于全局中断寄存器206的位。另外,中断自动停用寄存器212的位旗标可由共享的中断控制器208控制以维持位旗标的状态,直到中断的服务完成为止。
共享的中断控制器208包含耦合到全局中断寄存器206的中断逻辑。共享的中断控制器208的中断逻辑将确定多个潜在中断中的一者的特定中断正由多线程处理器的特定线程服务。共享的中断控制器208基于中断正由第一线程服务的确定而防止所述多个可用线程的其它线程对服务中断的存取。在特定说明性实施例中,共享的中断控制器208可利用中断自动停用寄存器212的位旗标,从而一旦特定中断正被服务便限制对所述中断的存取。举例来说,一旦特定线程正服务特定中断,那么可防止额外线程存取特定中断,进而提供中断服务阻止能力。
在特定说明性实施例中,中断自动停用寄存器212可由共享的中断控制器208存取以设定与待服务的特定中断相关联的多个位中的选定位。选定位指示中断正被服务,且共享的中断控制器208内的逻辑防止在中断正被服务时其它线程存取中断。在特定替代实施例中,可在中断自动停用寄存器212内或与其相关联的另一位置中提供用以在选定位经设定时防止其它线程存取或服务选定中断的阻止逻辑。
共享的中断控制器208可包含适于接收用以在特定中断被解除断言之后清除中断自动停用寄存器212内的选定位的指令的逻辑。举例来说,中断可在缓冲器满时被断言。举例来说,从网络接收数据的装置可在其缓冲器满时发起中断,且可在缓冲器已清空时将中断解除断言。如果中断是例如逻辑高信号,那么外围装置可将中断的逻辑电平更改为逻辑低信号,进而将中断解除断言。共享的中断控制器208可响应于经解除断言的中断、响应于来自执行单元的服务完成指示、响应于接收到清除位指令或其任何组合而清除选定位。在另一特定说明性实施例中,执行单元可在已服务中断时自动清除中断待决寄存器210中的位。
中断待决寄存器210还包含多个位。中断待决寄存器210的多个位中的每一位指示多线程处理器200的特定中断的状态。中断待决寄存器210可为可由外围装置或由软件存取以确定与特定中断相关联的状态。另外,共享的中断控制器208的中断逻辑具有对中断待决寄存器210的存取权以设定或清除对应于特定中断的选定位。在特定说明性实施例中,检测到的中断可为由中断待决寄存器210中存储的旗标表示的软件中断。中断待决寄存器210中的特定旗标可为可由软件存取以允许软件提供用于经断言软件中断的状态指示符。
举例来说,可提供与外围装置相关联的“检测到新硬件”类型的状态指示符以作为由多线程处理器200执行的软件应用程序(例如计算装置的操作系统软件)内的弹出指示符。多线程处理器200可服务检测到新硬件中断,运行新硬件安装例程,且在成功安装后清除旗标。安装过程和成功安装可由中断待决寄存器210内的位反映,其可由软件应用程序在弹出或其它指示符中反映。可由软件基于中断待决寄存器210内的特定旗标的状态来确定状态。
参看图3,说明用于处置中断控制器300的中断的某些功能性。系统包含第一选择器306、第二选择器316、中断输出322以及中断待决寄存器输出332。第一选择器306可为用以经由控制输入308从中断高/低模式控制模块302接收控制信号的多路复用器。第二选择器316可为用以经由第二控制输入318从中断沿/电平模式控制304接收控制信号的多路复用器。第一选择器306响应于传入的中断310且将输出提供到沿检测电路312且提供到电平检测电路314。沿检测电路312和电平检测电路314的输出被提供到第二选择器316且基于来自中断沿/电平模式控制304的第二控制输入318而进行选择。与传入的中断310相关联的检测到的沿或电平被提供到逻辑电路320,例如逻辑“与(AND)”门。还可经由中断待决寄存器输出332将输出提供到中断待决寄存器。
中断控制器300还包含中断自动停用寄存器324、中断屏蔽(IMASK)寄存器326、每线程中断启用寄存器328以及全局中断寄存器启用/停用寄存器330。自动停用寄存器324可包含在由多线程处理器的一线程取得中断(即,正服务)时自动设定的位。IMASK寄存器326可包含可由软件设定以将特定中断引导到特定硬件线程的位。逻辑电路320响应于中断自动停用寄存器324、IMASK寄存器326、每线程中断启用寄存器328以及全局中断启用/停用寄存器330以将传入中断310的检测到的沿或电平选择性地提供到中断输出322。
在特定说明性实施例中,在可为多路复用器电路的第一选择器306处接收传入中断310。在如图示的正输入和反转输入两者处接收传入中断310。由中断高/低模式控制单元302经由控制信号308控制第一选择器306以将正输入或反转输入选择性地提供到沿检测电路312和电平检测电路。用于中断控制的高/低操作模式指示正被提供到沿检测电路312和电平检测电路314的传入中断310的输出。来自沿检测电路312和电平检测电路314的输出被提供到第二选择器316。第二选择器316响应于经由控制信号318来自中断沿/电平模式控制单元304的控制输入以将来自沿检测电路312或电平检测电路314的输出中的一者选择性地提供到逻辑电路320的输入。第二选择器316的输出也被提供到中断待决寄存器输出332。来自中断自动停用寄存器324、IMASK寄存器326、每线程中断和启用寄存器328以及全局中断寄存器启用/停用寄存器330确定是否在输出322处提供中断信号。
一般来说,中断高/低模式控制电路302和中断沿/电平模式控制电路304协作以控制第一和第二选择器306和316以控制中断控制电路300的操作模式。一般来说,中断控制电路300可使用四种模式中的一者来处置中断:中断高沿检测模式,其响应低到高沿转变处的中断;中断高电平检测模式,其响应逻辑高值处的中断;中断低沿检测模式,其响应高到低沿转变处的中断;以及中断低电平检测模式,其响应逻辑低值处的中断。中断自动停用寄存器324可包含旗标位,所述旗标位可经设定以将逻辑低信号提供到逻辑门320以防止在中断正由多线程处理器的另一线程服务时第二选择器316的输出到达中断输出322。另外,全局中断寄存器启用/停用330可将指示另一线程正服务中断的位旗标提供到逻辑门320以防止第二选择器316的输出到达中断输出322。因此,全局中断寄存器330和中断自动停用寄存器324可协作以防止多线程处理器的多个线程服务同一中断。另外,中断自动停用寄存器324可响应于全局中断寄存器330内的字段或位以在全局中断寄存器330的对应位经设定时清除中断自动停用寄存器324内的旗标。或者,中断自动停用寄存器324可包含线程专有位,其使得特定寄存器能够即使当全局中断寄存器330的对应位改变以防止其它线程存取经服务中断时也继续存取其正服务的特定中断。
在特定说明性实施例中,可通过由逻辑门320对第二选择器316的输出处的检测到的中断执行的逻辑操作结合中断自动停用寄存器324、IMASK寄存器326、中断启用寄存器(每线程)328以及全局中断寄存器(启用/停用)330而确定中断输出322处的信号。举例来说,通过控制中断自动停用寄存器324、IMASK寄存器326、中断启用寄存器328以及全局中断寄存器330中的位且通过使用逻辑门320执行逻辑“与”操作,可控制中断输出322以仅当满足特定条件时在中断输出322处提供传入中断310。以此方式,一旦特定线程开始服务中断,则中断控制器300可防止其它线程接收中断。在特定说明性实施例中,中断启用寄存器328、IMASK寄存器326以及中断自动停用寄存器324可表示每线程控制寄存器,同时可共享全局中断寄存器330。
在特定说明性实施例中,多线程处理器可包含多个执行单元以用于处理多个指令线程。多线程处理器可包含中断控制器300以用于处理从外围装置、指令执行单元、其它电路组件或其任何组合接收的中断。中断控制器300可包含第一配置寄存器,例如中断高/低模式控制寄存器302,其指示中断逻辑电平(即,高逻辑电平或低逻辑电平)。中断控制器300还可包含第二配置寄存器,例如中断沿/电平模式控制寄存器304,其指示中断触发(即,沿触发或电平触发)。中断控制器300还可包含包括多个位的自动停用中断寄存器324,其中多个位中的每一位对应于特定中断。中断控制器300还可包含例如第一选择器306、第二选择器316、沿检测电路312、电平检测电路314以及逻辑门320等处理逻辑以基于中断逻辑电平、中断触发和对应于特定中断的位而将接收到的中断(例如,传入中断310)提供到多线程处理器的第一线程。中断控制器300或中断自动停用寄存器324还可包含用以在特定中断正由第一线程服务时设定对应于特定中断的位的逻辑。包含逻辑门320的处理逻辑可协作以防止多个执行线程中的其它线程在第一线程正服务特定中断时进行存取。
参看图4,其说明包含共享中断控制器的多线程处理器的操作的方法。所述方法包含如402处所示在与具有多个线程的多线程处理器相关联的定序器处接收中断。定序器包含可由所述多个线程存取的全局中断寄存器,且包含中断控制电路。所述方法进一步包含在404处在全局中断寄存器处设定与所接收中断相关的位。进行到406,所述方法包含在确定第一线程正服务中断之后防止多个线程中的第二线程对中断进行存取。在特定说明性实施例中,定序器可包含共享的中断控制器,所述共享的中断控制器适于维持全局中断寄存器内的选定位的状态。另外,共享的中断控制器可适于设定中断自动停用寄存器中的位旗标,所述位旗标可在逻辑操作中使用以防止在第一线程已经正服务中断时多线程处理器的其它线程服务所述中断。继续到408,方法进一步包含设定中断待决寄存器中的与由第一线程取得的中断相关的第二位。中断待决寄存器可为可由特定执行单元、软件进程或其任何组合存取。在特定实施例中,软件进程可存取中断待决寄存器内的位以确定中断处理的状态,且例如将视觉指示符提供到用户。方法在410处终止。
虽然在406处参考防止对第二线程进行存取,但应了解,共享的中断控制器可防止在第一线程正服务特定中断时特定线程或所有其它线程对特定中断进行存取。另外,设定中断待决寄存器中的位以指示第一线程正服务中断。可在接收到与全局中断寄存器中的中断旗标相关的清除旗标指令之后清除中断待决寄存器中设定的位。也可在处理清除旗标指令时清除自动停用寄存器的对应旗标。中断自动停用寄存器可用以基于对应全局中断寄存器中设定的位来防止对中断进行存取。一般来说,共享的中断控制器和全局中断寄存器可用以控制多线程处理器的多个线程对特定中断进行存取。以此方式,第一线程可服务特定中断,且随后防止其它线程存取所述特定中断。
参看图5,展示无线通信装置500。无线通信装置500包含经由天线542与通信网络通信的无线控制器540和相关联的收发器。无线通信装置500还包含存储器532,其包含可由例如数字信号处理器510等处理器执行的多个指令。处理器耦合到收发器且具有对存储器532的存取权。处理器包含适于执行选定指令的多个执行单元。在特定实施例中,处理器510是包含定序器511的多线程处理器。定序器包含全局中断寄存器513且包含中断逻辑电路515。定序器511适于检索选定指令且将其提供到数字信号处理器510的多个执行单元。中断逻辑电路515耦合到全局中断寄存器513且适于确定何时数字信号处理器510的特定线程正服务中断。中断逻辑电路515适于利用全局中断寄存器513来防止其它线程对中断进行存取。在另一实施例中,全局中断寄存器513包含中断自动停用寄存器(IAD)。IAD寄存器可包含与对应的多个中断相关的多个位。中断逻辑电路515适于在线程正服务与其相关联的对应中断时存取IAD寄存器内的多个位中的一位。
图5还展示显示器控制器526,其耦合到数字信号处理器510和显示器528。而且,输入装置530耦合到数字信号处理器510。编码器/解码器(CODEC)534也可耦合到数字信号处理器510。扬声器536和麦克风538可耦合到CODEC 534。
图5还指示无线控制器540可耦合到数字信号处理器510和无线天线542。在特定实施例中,电源544耦合到芯片上系统522。而且,在特定实施例中,如图5中说明,显示器528、输入装置530、扬声器536、麦克风538、无线天线542以及电源544在芯片上系统522的外部。然而,每一者均耦合到芯片上系统522的组件。
应了解,虽然定序器511、全局中断寄存器513和中断逻辑电路515仅展示于数字信号处理器510内,但定序器511、全局中断寄存器513和中断逻辑电路515可提供于其它组件中,包含控制元件、通用处理电路或包含多线程处理器功能性的任何其它组件。
所属领域的技术人员将进一步了解,结合本文所揭示的实施例而描述的各种说明性逻辑块、配置、模块、电路和算法步骤可实施为电子硬件、计算机软件或所述两者的组合。为了清楚地说明硬件与软件的这种可交换性,上文已大体上在其功能性方面描述了各种说明性组件、块、配置、模块、电路和步骤。将此类功能性实施为硬件还是软件取决于特定应用和对整个系统强加的设计约束。熟练的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但不应将此类实施决策解释为造成与本发明范围的脱离。
结合本文所揭示的实施例而描述的方法或算法的步骤可直接包含在硬件中、由处理器执行的软件模块中或所述两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和向存储媒体写入信息。在替代方案中,存储媒体可与处理器成一体。处理器和存储媒体可驻留在ASIC中。ASIC可驻留在计算装置或用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留在计算装置或用户终端中。
提供先前对所揭示实施例的描述是为了使得所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所界定的一般原理可适用于其它实施例。因此,不希望本发明限于本文展示的实施例,而是将赋予其与如所附权利要求书界定的原理和新颖特征一致的最广范围。
Claims (31)
1.一种多线程处理器,其包括:
定序器,其适于提供与多线程处理器的一个或一个以上线程相关联的指令,所述定序器包含中断控制器以接收一个或一个以上中断且选择性地允许所述一个或一个以上线程中的第一线程服务所述一个或一个以上中断中的至少一个中断;
其中所述中断控制器包含用以在所述至少一个中断经选择以由所述第一线程服务之后阻止所述一个或一个以上线程中的第二线程响应所述至少一个中断的逻辑。
2.根据权利要求1所述的处理器,其中所述中断控制器包含多个操作模式。
3.根据权利要求2所述的处理器,其中所述多个操作模式中的第一操作模式包括响应于逻辑高中断的中断有效高模式。
4.根据权利要求2所述的处理器,其中所述多个操作模式中的第二操作模式包括响应于逻辑低中断的中断有效低模式。
5.根据权利要求2所述的处理器,其中所述多个操作模式中的第三操作模式包括响应于信号的上升或下降沿的沿触发操作模式。
6.根据权利要求2所述的处理器,其中所述多个操作模式中的第四操作模式包括响应于信号的电平部分的电平触发操作模式。
7.根据权利要求1所述的处理器,其中所述中断控制器适于设定中断待决寄存器中的旗标,所述旗标对应于所述一个或一个以上中断中的至少一者。
8.根据权利要求7所述的处理器,其中所述旗标在所述至少一个中断正由所述第一线程服务时被设定。
9.根据权利要求1所述的处理器,其进一步包括可由所述一个或一个以上线程中的每一线程存取以取得中断的全局中断寄存器,所述中断控制器更改所述全局中断寄存器以防止所述第二线程在所述第一线程服务所述至少一个中断时对所述中断进行存取。
10.根据权利要求1所述的处理器,其进一步包括与所述一个或一个以上线程中的每一者相关联的中断待决寄存器,所述中断待决寄存器可由所述中断控制器存取,所述中断控制器控制所述中断待决寄存器的位以指示何时所述第一线程正服务所述至少一个中断。
11.根据权利要求10所述的处理器,其中在由所述线程服务的所述中断被解除断言之后自动从所述中断待决寄存器中清除所述位。
12.一种处理器,其包括:
全局中断寄存器,其响应于一个或一个以上中断源以接收一个或一个以上中断,所述全局中断寄存器可由多线程处理器的多个线程中的每一线程存取以服务所述一个或一个以上中断;以及
中断逻辑,其耦合到所述全局中断寄存器,所述中断逻辑确定所述一个或一个以上中断中的一中断正由所述多线程处理器的一线程服务,且选择性地防止所述多个线程中的任何其它线程对所述中断进行存取。
13.根据权利要求12所述的处理器,其进一步包括中断自动停用寄存器,所述中断自动停用寄存器包含对应于所述全局中断寄存器的位的多个位,所述中断自动停用寄存器可由所述中断逻辑存取以设定所述多个位中的选定位,所述选定位与所述中断相关联,其中所述选定位指示中断正被服务且其中所述逻辑防止所述其它线程在所述中断正被服务时存取所述中断。
14.根据权利要求13所述的处理器,其中所述中断逻辑适于接收用以在所述中断经解除断言之后清除所述选定位的指令,且其中所述中断逻辑响应于接收到所述指令而清除所述选定位。
15.根据权利要求12所述的处理器,其进一步包括包含多个位的中断待决寄存器,所述多个位中的每一位指示特定中断的状态,其中所述中断逻辑具有对所述中断待决寄存器的存取权以设定对应于所述中断的选定位。
16.根据权利要求15所述的处理器,其中所述中断包括软件中断,且其中所述中断待决寄存器可由软件存取以提供用于所述软件中断的状态指示符。
17.一种控制多线程处理器中的中断的方法,所述方法包括:
在与多线程处理器相关联的定序器处接收中断,所述定序器包含可由所述多线程处理器的多个线程存取的全局中断寄存器且包含中断控制电路;以及
在确定所述中断正由所述多个线程中的第一线程服务之后防止所述多个线程中的第二线程对所述中断进行存取。
18.根据权利要求17所述的方法,其进一步包括在所述全局中断寄存器处设定与所述所接收的中断相关的位。
19.根据权利要求17所述的方法,其进一步包括设定中断待决寄存器中的与所述第一线程相关联的位以指示所述中断正被服务。
20.根据权利要求17所述的方法,其进一步包括:
接收与在所述全局中断寄存器中设定的中断旗标相关的清除旗标指令;以及
清除自动停用寄存器的对应旗标,其中
处理逻辑基于所述对应旗标的状态而防止对所述中断进行存取。
21.根据权利要求17所述的方法,其中防止对所述中断进行存取包括设定中断自动停用寄存器中的与所述全局中断寄存器的对应位相关的位,其中处理逻辑防止在所述全局中断寄存器的所述对应位被设定时对所述中断进行存取。
22.一种处理装置,其包括:
用于在与具有多个线程的多线程处理器相关联的定序器处接收中断的装置,所述定序器包含可由所述多个线程存取的全局中断寄存器且包含中断控制电路;以及
用于在确定所述中断正由所述多个线程中的第一线程服务之后防止所述多个线程中的第二线程对所述中断进行存取的装置。
23.根据权利要求22所述的装置,其进一步包括:
用于接收所述中断已被服务的指示的装置;以及
用于响应于接收到所述指示而清除中断自动停用寄存器中的对应于所述中断的位的装置。
24.根据权利要求22所述的装置,其进一步包括用于设定与在所述全局中断寄存器处接收的所述中断相关的位的装置。
25.一种无线通信装置,其包括:
收发器,其用以与通信网络通信;
存储器,其包含可由处理器执行的多个指令;且
所述处理器耦合到所述收发器且具有对所述存储器的存取权,所述处理器包括:
多个线程,其适于执行来自所述多个指令中的选定指令;以及
定序器,其适于检索所述选定指令且将所述选定指令提供到所述多个线程,所述定序器包含可由所述多个线程的每一执行单元存取的全局中断寄存器且包含耦合到所述全局中断寄存器的中断控制器,所述中断控制器适于确定何时所述多个线程中的一线程正服务一中断且利用所述全局中断寄存器来防止所述多个线程中的其它线程对所述中断进行存取。
26.根据权利要求25所述的装置,其中所述全局中断寄存器包含中断自动停用(IAD)寄存器,所述IAD寄存器包含与对应多个中断相关的多个位。
27.根据权利要求25所述的装置,其中所述中断控制器适于设定所述IAD寄存器内的所述多个位中的一位。
28.一种处理器,其包括:
第一配置寄存器,其指示中断逻辑电平;
第二配置寄存器,其指示中断触发;
自动停用中断寄存器,其包含多个位,所述多个位中的每一位对应于特定中断;以及
处理逻辑,其用以基于所述中断逻辑电平、所述中断触发和对应于所述特定中断的所述位而将中断提供到包含多个执行线程的多线程处理器的第一线程,所述处理逻辑在所述特定中断正由所述第一线程服务时设定对应于所述特定中断的所述位,且防止在所述特定中断正由所述第一线程服务时所述多个执行线程中的其它线程进行存取。
29.根据权利要求28所述的处理器,其中所述处理逻辑进一步包括第一多路复用器,所述第一多路复用器包含响应于中断源的中断输入、输出以及响应于所述第一配置寄存器以将传入中断选择性地提供到所述输出的中断逻辑电平选择输入。
30.根据权利要求29所述的处理器,其中所述处理逻辑进一步包括:
沿检测电路,其耦合到所述输出且适于检测所述传入中断的上升或下降沿;以及
电平检测电路,其耦合到所述输出且适于检测所述传入中断的逻辑电平。
31.根据权利要求28所述的处理器,其中所述处理逻辑进一步包括第二多路复用器,所述第二多路复用器包含第二中断输入、第二输出以及响应于所述第二配置寄存器以将与所述传入中断相关的数据选择性地提供到所述第二输出的中断触发选择输入。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/954,615 US7984281B2 (en) | 2005-10-18 | 2007-12-12 | Shared interrupt controller for a multi-threaded processor |
US11/954,615 | 2007-12-12 | ||
PCT/US2008/086435 WO2009076531A2 (en) | 2007-12-12 | 2008-12-11 | Shared interrupt controller for a multi-threaded processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101918920A true CN101918920A (zh) | 2010-12-15 |
CN101918920B CN101918920B (zh) | 2014-08-27 |
Family
ID=40513827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880125044.XA Expired - Fee Related CN101918920B (zh) | 2007-12-12 | 2008-12-11 | 用于多线程处理器的共享的中断控制器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7984281B2 (zh) |
EP (1) | EP2071456A3 (zh) |
JP (1) | JP5329563B2 (zh) |
KR (1) | KR101146462B1 (zh) |
CN (1) | CN101918920B (zh) |
WO (1) | WO2009076531A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646000A (zh) * | 2013-12-26 | 2014-03-19 | 北京控制工程研究所 | 一种适用于多路热备份数据传输的高可靠中断处理方法 |
CN106201937A (zh) * | 2015-05-27 | 2016-12-07 | 三星电子株式会社 | 处理自适应中断的方法和装置、主机、i/o设备和系统 |
CN106569889A (zh) * | 2016-11-09 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | 一种中断处理系统及方法 |
CN107273205A (zh) * | 2016-04-07 | 2017-10-20 | 国际商业机器公司 | 用于在计算机处理器中调度指令的方法和系统 |
CN116401990A (zh) * | 2023-01-30 | 2023-07-07 | 芯华章科技(北京)有限公司 | 处理中断事件的方法、装置、系统和存储介质 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702889B2 (en) * | 2005-10-18 | 2010-04-20 | Qualcomm Incorporated | Shared interrupt control method and system for a digital signal processor |
US8825926B2 (en) * | 2009-04-13 | 2014-09-02 | Microchip Technology Incorporated | Processor with assignable general purpose register set |
JP4897851B2 (ja) * | 2009-05-14 | 2012-03-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム及びコンピュータ・システムの制御方法 |
US8195909B2 (en) * | 2009-10-05 | 2012-06-05 | Seagate Technology Llc | Data management in a data storage system |
US9645823B2 (en) | 2011-03-03 | 2017-05-09 | Hewlett-Packard Development Company, L.P. | Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity |
US8738830B2 (en) * | 2011-03-03 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Hardware interrupt processing circuit |
US9189283B2 (en) | 2011-03-03 | 2015-11-17 | Hewlett-Packard Development Company, L.P. | Task launching on hardware resource for client |
US8762615B2 (en) * | 2011-12-21 | 2014-06-24 | International Business Machines Corporation | Dequeue operation using mask vector to manage input/output interruptions |
US9075639B1 (en) * | 2012-10-23 | 2015-07-07 | Altera Corporation | Systems and methods for handling interrupts during software design simulation |
US9946669B2 (en) | 2013-02-12 | 2018-04-17 | Nxp Usa, Inc. | Method of and circuitry for controlling access by a master to a peripheral, a method of configuring such circuitry, and associated computer program products |
US9223728B2 (en) * | 2013-03-12 | 2015-12-29 | International Business Machines Corporation | Servicing a globally broadcast interrupt signal in a multi-threaded computer |
US9311138B2 (en) * | 2013-03-13 | 2016-04-12 | Intel Corporation | System management interrupt handling for multi-core processors |
US8782294B1 (en) * | 2013-06-14 | 2014-07-15 | Texas Instruments Incorporated | Intra-processor resource control |
US8782293B1 (en) * | 2013-06-14 | 2014-07-15 | Texas Instruments Incorporated | Intra-processor operation control |
US9760511B2 (en) * | 2014-10-08 | 2017-09-12 | International Business Machines Corporation | Efficient interruption routing for a multithreaded processor |
US9665376B2 (en) | 2014-12-15 | 2017-05-30 | International Business Machines Corporation | Sharing program interrupt logic in a multithreaded processor |
US10013279B2 (en) * | 2015-07-28 | 2018-07-03 | International Business Machines Corporation | Processing interrupt requests |
US10031833B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10042737B2 (en) | 2016-08-31 | 2018-08-07 | Microsoft Technology Licensing, Llc | Program tracing for time travel debugging and analysis |
US10031834B2 (en) * | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10310977B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using a processor cache |
US10324851B2 (en) | 2016-10-20 | 2019-06-18 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using way-locking in a set-associative processor cache |
US10310963B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using index bits in a processor cache |
US10489273B2 (en) | 2016-10-20 | 2019-11-26 | Microsoft Technology Licensing, Llc | Reuse of a related thread's cache while recording a trace file of code execution |
US10540250B2 (en) | 2016-11-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Reducing storage requirements for storing memory addresses and values |
US10318332B2 (en) | 2017-04-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Virtual machine execution tracing |
US10296442B2 (en) | 2017-06-29 | 2019-05-21 | Microsoft Technology Licensing, Llc | Distributed time-travel trace recording and replay |
US10459824B2 (en) | 2017-09-18 | 2019-10-29 | Microsoft Technology Licensing, Llc | Cache-based trace recording using cache coherence protocol data |
US10558572B2 (en) | 2018-01-16 | 2020-02-11 | Microsoft Technology Licensing, Llc | Decoupling trace data streams using cache coherence protocol data |
US11907091B2 (en) | 2018-02-16 | 2024-02-20 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to an upper-layer shared cache, plus cache coherence protocol transitions among lower-layer caches |
US10496537B2 (en) | 2018-02-23 | 2019-12-03 | Microsoft Technology Licensing, Llc | Trace recording by logging influxes to a lower-layer cache based on entries in an upper-layer cache |
US10642737B2 (en) | 2018-02-23 | 2020-05-05 | Microsoft Technology Licensing, Llc | Logging cache influxes by request to a higher-level cache |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163829A (en) * | 1998-04-17 | 2000-12-19 | Intelect Systems Corporation | DSP interrupt control for handling multiple interrupts |
CN1720503A (zh) * | 2002-10-15 | 2006-01-11 | 沙桥技术有限公司 | 在多线程处理器中用于高速线程间中断的方法和设备 |
US20070088938A1 (en) * | 2005-10-18 | 2007-04-19 | Lucian Codrescu | Shared interrupt control method and system for a digital signal processor |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4689739A (en) | 1983-03-28 | 1987-08-25 | Xerox Corporation | Method for providing priority interrupts in an electrophotographic machine |
US4901307A (en) | 1986-10-17 | 1990-02-13 | Qualcomm, Inc. | Spread spectrum multiple access communication system using satellite or terrestrial repeaters |
JPS63298636A (ja) * | 1987-05-29 | 1988-12-06 | Nec Corp | 割り込み回路 |
US5193187A (en) * | 1989-12-29 | 1993-03-09 | Supercomputer Systems Limited Partnership | Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers |
US5103459B1 (en) | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
JPH0743653B2 (ja) * | 1990-07-25 | 1995-05-15 | 株式会社東芝 | 割込みコントローラ |
US5305455A (en) * | 1990-12-21 | 1994-04-19 | International Business Machines Corp. | Per thread exception management for multitasking multithreaded operating system |
US5524250A (en) * | 1991-08-23 | 1996-06-04 | Silicon Graphics, Inc. | Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers |
JPH05274245A (ja) * | 1992-01-28 | 1993-10-22 | Toshiba Corp | マイクロコントローラユニット |
US5805922A (en) * | 1994-05-02 | 1998-09-08 | Motorola, Inc. | Queued serial peripheral interface having multiple queues for use in a data processing system |
US6260057B1 (en) * | 1995-03-01 | 2001-07-10 | Sun Microsystems, Inc. | Apparatus and method for high performance implementation of system calls |
JPH0997177A (ja) * | 1995-09-29 | 1997-04-08 | Toshiba Corp | コンピュータシステムの割り込み制御方式 |
JPH10143375A (ja) * | 1996-11-14 | 1998-05-29 | Nec Corp | 割り込み制御回路 |
US6233599B1 (en) * | 1997-07-10 | 2001-05-15 | International Business Machines Corporation | Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers |
US5904733A (en) * | 1997-07-31 | 1999-05-18 | Intel Corporation | Bootstrap processor selection architecture in SMP systems |
US6032245A (en) | 1997-08-18 | 2000-02-29 | International Business Machines Corporation | Method and system for interrupt handling in a multi-processor computer system executing speculative instruction threads |
US6061710A (en) * | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
US6205519B1 (en) * | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
US6317820B1 (en) | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
US6480818B1 (en) * | 1998-11-13 | 2002-11-12 | Cray Inc. | Debugging techniques in a multithreaded environment |
US6253304B1 (en) * | 1999-01-04 | 2001-06-26 | Advanced Micro Devices, Inc. | Collation of interrupt control devices |
US7065633B1 (en) * | 1999-01-28 | 2006-06-20 | Ati International Srl | System for delivering exception raised in first architecture to operating system coded in second architecture in dual architecture CPU |
US6754690B2 (en) * | 1999-09-16 | 2004-06-22 | Honeywell, Inc. | Method for time partitioned application scheduling in a computer operating system |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US20010052053A1 (en) | 2000-02-08 | 2001-12-13 | Mario Nemirovsky | Stream processing unit for a multi-streaming processor |
JP2002073374A (ja) * | 2000-08-30 | 2002-03-12 | Canon Inc | 割り込みシミュレーション方法及び装置 |
US6839792B2 (en) | 2000-12-15 | 2005-01-04 | Innovative Concepts, Inc. | Data modem |
US20020103847A1 (en) * | 2001-02-01 | 2002-08-01 | Hanan Potash | Efficient mechanism for inter-thread communication within a multi-threaded computer system |
US20020161957A1 (en) * | 2001-02-09 | 2002-10-31 | Guillaume Comeau | Methods and systems for handling interrupts |
US20020144004A1 (en) * | 2001-03-29 | 2002-10-03 | Gaur Daniel R. | Driver having multiple deferred procedure calls for interrupt processing and method for interrupt processing |
US7058948B2 (en) * | 2001-08-10 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Synchronization objects for multi-computer systems |
US7120762B2 (en) * | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
JP4035004B2 (ja) * | 2002-06-26 | 2008-01-16 | 株式会社ルネサステクノロジ | 情報処理装置 |
US6971103B2 (en) * | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
US7203823B2 (en) * | 2003-01-09 | 2007-04-10 | Sony Corporation | Partial and start-over threads in embedded real-time kernel |
US20050050305A1 (en) | 2003-08-28 | 2005-03-03 | Kissell Kevin D. | Integrated mechanism for suspension and deallocation of computational threads of execution in a processor |
US7774585B2 (en) * | 2003-11-12 | 2010-08-10 | Infineon Technologies Ag | Interrupt and trap handling in an embedded multi-thread processor to avoid priority inversion and maintain real-time operation |
US7487503B2 (en) * | 2004-08-12 | 2009-02-03 | International Business Machines Corporation | Scheduling threads in a multiprocessor computer |
US8176489B2 (en) * | 2004-12-09 | 2012-05-08 | International Business Machines Corporation | Use of rollback RCU with read-side modifications to RCU-protected data structures |
US20060206902A1 (en) | 2005-03-14 | 2006-09-14 | Sujat Jamil | Variable interleaved multithreaded processor method and system |
US7917907B2 (en) | 2005-03-23 | 2011-03-29 | Qualcomm Incorporated | Method and system for variable thread allocation and switching in a multithreaded processor |
-
2007
- 2007-12-12 US US11/954,615 patent/US7984281B2/en not_active Expired - Fee Related
-
2008
- 2008-03-31 EP EP08006319A patent/EP2071456A3/en not_active Withdrawn
- 2008-12-11 KR KR1020107015249A patent/KR101146462B1/ko not_active IP Right Cessation
- 2008-12-11 WO PCT/US2008/086435 patent/WO2009076531A2/en active Application Filing
- 2008-12-11 CN CN200880125044.XA patent/CN101918920B/zh not_active Expired - Fee Related
- 2008-12-11 JP JP2010538161A patent/JP5329563B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6163829A (en) * | 1998-04-17 | 2000-12-19 | Intelect Systems Corporation | DSP interrupt control for handling multiple interrupts |
CN1720503A (zh) * | 2002-10-15 | 2006-01-11 | 沙桥技术有限公司 | 在多线程处理器中用于高速线程间中断的方法和设备 |
US20070088938A1 (en) * | 2005-10-18 | 2007-04-19 | Lucian Codrescu | Shared interrupt control method and system for a digital signal processor |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646000A (zh) * | 2013-12-26 | 2014-03-19 | 北京控制工程研究所 | 一种适用于多路热备份数据传输的高可靠中断处理方法 |
CN103646000B (zh) * | 2013-12-26 | 2015-11-25 | 北京控制工程研究所 | 一种适用于多路热备份数据传输的高可靠中断处理方法 |
CN106201937A (zh) * | 2015-05-27 | 2016-12-07 | 三星电子株式会社 | 处理自适应中断的方法和装置、主机、i/o设备和系统 |
CN107273205A (zh) * | 2016-04-07 | 2017-10-20 | 国际商业机器公司 | 用于在计算机处理器中调度指令的方法和系统 |
CN107273205B (zh) * | 2016-04-07 | 2020-06-26 | 国际商业机器公司 | 用于在计算机处理器中调度指令的方法和系统 |
US10838728B2 (en) | 2016-04-07 | 2020-11-17 | International Business Machines Corporation | Parallel slice processor shadowing states of hardware threads across execution slices |
CN106569889A (zh) * | 2016-11-09 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | 一种中断处理系统及方法 |
CN116401990A (zh) * | 2023-01-30 | 2023-07-07 | 芯华章科技(北京)有限公司 | 处理中断事件的方法、装置、系统和存储介质 |
CN116401990B (zh) * | 2023-01-30 | 2023-10-20 | 芯华章科技(北京)有限公司 | 处理中断事件的方法、装置、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2009076531A2 (en) | 2009-06-18 |
CN101918920B (zh) | 2014-08-27 |
US7984281B2 (en) | 2011-07-19 |
WO2009076531A3 (en) | 2009-07-30 |
EP2071456A3 (en) | 2009-12-30 |
EP2071456A2 (en) | 2009-06-17 |
JP5329563B2 (ja) | 2013-10-30 |
KR20100100959A (ko) | 2010-09-15 |
KR101146462B1 (ko) | 2012-05-21 |
JP2011507109A (ja) | 2011-03-03 |
US20080091867A1 (en) | 2008-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101918920A (zh) | 用于多线程处理器的共享的中断控制器 | |
CN100383740C (zh) | 挂起线程执行直到发生指定的存储器访问的方法和设备 | |
KR101629879B1 (ko) | 캐시 사용 기반 어댑티브 스케줄링을 가지는 멀티코어 컴퓨터 시스템 | |
CN100383754C (zh) | 发生中断时按其类型限定性能监视事件收集的方法与装置 | |
CN100504763C (zh) | 启用同时多线程(smt)的系统及其管理方法 | |
US6189065B1 (en) | Method and apparatus for interrupt load balancing for powerPC processors | |
KR101643675B1 (ko) | 명령 프로세싱 회로들, 및 관련 프로세서 시스템들, 방법들 및 컴퓨터―판독 가능 매체들에서 반대 컨디션들을 갖는 조건부 기록 명령들의 융합 | |
US20190079877A1 (en) | System, Apparatus And Method For Prefetch-Aware Replacement In A Cache Memory Hierarchy Of A Processor | |
US10552351B2 (en) | Techniques for issuing interrupts in a data processing system with multiple scopes | |
US20020166018A1 (en) | Multiprocessor interrupt handling system and method | |
CN102750130A (zh) | 分配计数器以追踪寄存器映射的方法和系统 | |
EP2972787B1 (en) | Eliminating redundant synchronization barriers in instruction processing circuits, and related processor systems, methods, and computer-readable media | |
US9792232B2 (en) | Techniques for queueing interrupts in a data processing system | |
JP2003296191A (ja) | 汎用プロセッサおよび周辺装置のプロセッサとして動作可能な集積回路 | |
JP2017509059A (ja) | 電力消費を低減するための割り込み処理の同期化 | |
JP2004516548A (ja) | 予め格納されるベクトルの割込処理システムおよび方法 | |
EP3433728B1 (en) | Providing references to previously decoded instructions of recently-provided instructions to be executed by a processor | |
CN101606135A (zh) | 时钟控制装置、时钟控制方法、时钟控制程序及集成电路 | |
WO2001038970A2 (en) | Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks | |
CN101320338B (zh) | 窃取中断向量的方法和系统 | |
US10229074B2 (en) | Techniques for handling interrupts in a processing unit using interrupt request queues | |
US9886396B2 (en) | Scalable event handling in multi-threaded processor cores | |
TW201723806A (zh) | 基於相位訓練及預測之失序電腦處理器之重組態執行管線 | |
US7337304B2 (en) | Processor for executing instruction control in accordance with dynamic pipeline scheduling and a method thereof | |
US20190286567A1 (en) | System, Apparatus And Method For Adaptively Buffering Write Data In A Cache Memory |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140827 Termination date: 20181211 |
|
CF01 | Termination of patent right due to non-payment of annual fee |