CN101432691A - 用于控制处理器中的时序的方法和系统 - Google Patents

用于控制处理器中的时序的方法和系统 Download PDF

Info

Publication number
CN101432691A
CN101432691A CNA2006800544413A CN200680054441A CN101432691A CN 101432691 A CN101432691 A CN 101432691A CN A2006800544413 A CNA2006800544413 A CN A2006800544413A CN 200680054441 A CN200680054441 A CN 200680054441A CN 101432691 A CN101432691 A CN 101432691A
Authority
CN
China
Prior art keywords
instruction
execution time
condition
robin
round
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
CNA2006800544413A
Other languages
English (en)
Other versions
CN101432691B (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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of CN101432691A publication Critical patent/CN101432691A/zh
Application granted granted Critical
Publication of CN101432691B publication Critical patent/CN101432691B/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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30069Instruction skipping instructions, e.g. SKIP
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一种用于控制处理器中的时序的方法和系统。在本发明的一个方面中,所述方法包括:获取多个指令,其中每个指令在第一条件期间具有第一默认执行时间,且其中每个指令在第二条件期间具有第二默认执行时间;在第一模式期间,在同一执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件;且在第二模式期间,在随机执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件。根据本文所揭示的所述系统和方法,所述方法通过控制指令的所述执行时间的变化和/或使指令的所述执行时间的变化减到最小来有效地修改处理器的所述时序。

Description

用于控制处理器中的时序的方法和系统
技术领域
本发明涉及计算机系统,且更明确地说,涉及一种用于控制处理器中的时序的方法和系统。
背景技术
中央处理单元(CPU)是计算机的解译并实行软件中所含有的指令的部分,其可具有各种功能,例如控制硬件、执行计算、与其它软件通信。指令的时序执行可变化,其取决于许多各种条件(例如,状态寄存器内容、位的值、后面指令的大小、所存取的外围设备等)。
当时序必须恒定或可预测时,时序执行的变化可以是一个严重的问题。举例来说,在软件通信例行程序期间,处理器必须与CPU同步。时序变化还可导致例如敏感信息的泄漏等问题。
一般来说,已知的解决方案实施起来并不可靠且耗时。举例来说,以汇编语言开发且手动地平衡软件例行程序,以确保所有可能的路径在相等数目的时钟循环中执行。这是易出错且耗时的过程,其还引起高维护成本和风险。
因此,需要一种用于控制CPU中的时序的改进的方法和系统。本发明解决这一需要。
发明内容
本发明揭示一种用于控制处理器中的时序的方法和系统。在本发明的一个方而,所述方法包括获取多个指令,其中每个指令在第一条件期间具有第一默认执行时间,且其中每个指令在第二条件期间具有第二默认执行时间;在第一模式期间,在同一执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件;且在第二模式期间,在随机执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件。
根据本文所揭示的所述系统和方法,所述方法通过控制指令的所述执行时间的变化和/或使指令的所述执行时间的变化减到最小来有效地修改处理器的时序。
附图说明
图1是常规计算机系统的框图。
图2是根据本发明的处理器的框图,所述处理器可用于实施图1的处理器。
图3是说明根据本发明的控制寄存器的图,所述控制寄存器可用于实施图2的一个或一个以上控制寄存器。
图4是展示根据本发明的用于控制处理器中的时序的方法的流程图。
图5是说明具有假条件的跳过指令(即,不跳过)的时序图,且其中根据本发明而启用时序补偿。
图6是说明具有真条件的跳过指令(即,跳过)的时序图,且其中根据本发明而启用时序补偿。
图7是说明根据本发明另一实施例的具有受控补偿的指令的时序图。
图8是说明根据本发明另一实施例的跳过指令上的CPU环的时序图。
具体实施方式
本发明涉及计算机系统,且更明确地说,涉及一种用于控制处理器中的时序的方法和系统。呈现以下描述内容以使得所属领域的技术人员能够制作和使用本发明,且在专利申请案及其要求的情形下提供以下描述内容。所属领域的技术人员将容易明白对优选实施例的各种修改以及本文所描述的一般原理和特征。因此,不希望木发明限于所展示的实施例,而是赋予本发明与本文所描述的原理和特征一致的最广范围。
木发明揭示根据木发明的用于控制处理器中的时序的方法和系统。所述方法包含控制处理器执行特定类型的指令的执行时间,以便改进处理器的整体安全性。根据本文所揭示的系统和方法,所述方法通过控制指令的执行时间的变化和/或使指令的执行时间的变化减到最小来有效地修改处理器的时序。在时序补偿模式期间,在同一执行时间内执行指令,不管条件是真还是假。在受控补偿模式期间,在随机执行时间内执行指令,不管条件是真还是假。为了更明确地描述本发明的特征,现结合附图参考以下描述内容。
尽管在CPU、分支指令和跳过指令的上下文中描述本文所揭示的本发明,但本发明可应用于其它类型的处理器和其它类型的指令,且仍保留在本发明的精神和范围内。
图1是常规计算机系统的框图。计算机系统100包含处理器102、总线104、系统存储器106(例如,硬盘驱动器、随机存取存储器(RAM)、I/O装置108(例如,键盘、显示器、鼠标等)以及用于连接到网络(例如局域网(LAN)或因特网)的网络接口110。图2是根据本发明的处理器200的框图,处理器200可用于实施图1的处理器102。处理器200包含控制机构201,其具有一个或一个以上控制寄存器202。图3是说明根据本发明的控制寄存器300的图,控制寄存器300可用于实施图2的一个或一个以上控制寄存器202。控制寄存器300包含两个位302和304。下文进一步详细描述控制寄存器300的操作。
根据本发明,时序补偿是指提供指令的恒定执行时序的过程。在一个实施方案中,将时序补偿应用于分支和跳过指令,但可应用于其它类型的指令。表1展示各种类型的分支指令320和跳过指令322的列表。分支和跳过指令的时序执行通常变化,因为执行给定指令所需的循环数目变化。有条件分支或有条件跳过指令在不同数目的循环中执行,其取决于所述条件是真还是假。举例来说,如表1的列330中所示,分支指令的默认时序执行可在从一个循环到两个循环的范围内,且跳过指令的默认时序执行可在从一个循环到三个循环的范围内。根据本发明,控制机构201改变其执行特定指令所花费的循环数目。在时序补偿期间,执行时间相同,不管条件如何。在受控补偿期间,执行时间是随机的,不管条件如何,这防止了信息的泄漏。控制机构201是补偿或控制(随机化)有条件指令执行所花费的循环数目的数字区块。
均衡或随机化可由软件自动执行,这比手动操作有利,因为手动操作易出错、耗时、具有高维护成本且不与高级语言(例如C)兼容。控制机构201通过将不同类型的指令的执行时间的变化以及功率特征的变化减到最小来改进执行时序,尤其是对时间敏感的应用中的执行时序。举例来说,如表1的列332中所示,将分支指令的经平衡的时序执行(即,经时序补偿)设置为三个循环,且将跳过指令的经平衡的时序执行设置为四个循环。用于分支和跳过指令的循环的具体数目将视特定实施方案而定。
再次参看图3,在一个实施例中,当位302(也标记为“位0-TCE”(时序补偿启用))由软件设置时,启用时序补偿特征,且所有分支和跳过指令时序执行对于分支指令将花费三个循环,且对于跳过指令将花费四个循环。当然,循环的具体数目将视特定实施方案而定。当位302被清除时,所有分支和跳过指令将遵循默认时序执行。
在一个实施例中,当位304(还标记为“位1-CCE”(受控补偿启用))由软件设置且TCE位也被设置时,启用受控补偿机制。当此位被清除时,停用受控补偿机制。在优选实施例中,当TCE被清除时,任何设置此位的尝试都不起作用。在一个实施例中,位302是“主开关”,而位304是“选项选择器”。位302用于接通补偿,且位304选择是选择平衡还是随机化。在替代实施例中,可提供两个选项中的一者。举例来说,单个位可接通/断开一种类型的补偿(例如,时序补偿)。
图4是展示根据本发明的用于控制处理器中的时序的方法的流程图。参看图2和图4,当处理器200获取多个指令时,过程开始步骤402。每个指令在第一条件(例如,真)期间具有第一默认执行时间,且每个指令在第二条件(例如,假)期间具有第二默认执行时间。在一个实施例中,所述指令可包含不同类型的指令(例如,分支指令和跳过指令)。接下来,在步骤404中,在第一模式(例如,时序补偿)期间,处理器200在同一执行时间内执行多个指令,不管条件是第一条件还是第二条件。或者,在步骤406中,在第二模式(即,受控补偿)期间,处理器200在随机执行时间内执行多个指令,不管条件是第一条件还是第二条件。
在时序补偿期间,处理器200在第一预定执行时间内执行第一类型的多个指令中的至少一个指令,其中第一预定执行时间大于第一默认执行时间。处理器200在第二预定执行时间内执行第二类型的多个指令中的至少一个指令,其中第二预定执行时间大于第二默认执行时间。在一个实施例中,第一和第二预定执行时间是不同的。在另一实施例中,第一和第二预定执行时间是相同的。第一和第二执行时间是基于执行给定类型的指令所需的循环的数目。在此特定实施例中,第一预定执行时间大于第一默认执行时间,且第二预定执行时间大于第二默认执行时间。这使得给定类型的指令的指令执行时间能够相同。特定类型的指令将视特定实施方案而定。举例来说,第一和第二类型的指令可分别为有条件分支和跳过指令。或者,第一和第二类型的指令可分别为跳过和有条件分支指令。
图5是说明具有假条件的跳过指令(即,不跳过)的时序图,且其中根据本发明而启用时序补偿。如图5中所示,执行此特定类型的跳过指令所需的循环的默认数目为一个循环。在处理器200(图2)获取跳过指令之后,控制机构201添加三个循环,以便使执行跳过指令所需的循环数目从一个循环增加到四个循环。所添加的循环的具体数目将视特定实施方案而定。
图6是说明具有真条件的跳过指令(即,跳过)的时序图,且其中根据本发明而启用时序补偿。如图5中所示,执行此特定类型的跳过指令所需的循环的默认数目为两个循环。在处理器获取跳过指令之后,控制机构201添加两个循环以使执行跳过指令所需的循环数目从两个循环增加到四个循环。图5和图6还可应用于分支指令或任何其它类型的指令。关键点是控制机构201在必要的情况下添加循环,使得执行给定类型的指令所需的循环的数目受到控制,或消除执行时序的变化。
根据本发明,受控补偿是指提供指令的随机执行时序的过程。图7是说明根据本发明另一实施例的具有受控补偿的指令的时序图。在优选实施例中,3位可变值控制所述过程执行给定类型的指令(例如跳过指令)所花费的循环的数目。因此,可将0到7个循环或更多循环添加到指令长度,以控制执行时序。处理器确定循环的数目,其数目是随机的。举例来说,分支指令可在3个循环+“3位数目”(其从3个循环随机改变到10个循环)中执行,且跳过指令可在4个循环+“3位数目”(其从4个循环改变到11个循环)中执行。
图8是说明根据本发明另一实施例的跳过指令上的CPU循环的时序图。在一个实施方案中,CPU循环使得执行跳过指令所花费的循环的数目是随机的。
根据本文所揭示的系统和方法,本发明提供大量益处。举例来说,其自动平衡和控制时序变化(例如,由有条件分支引起),使处理器功能变成高级语言友好的。木发明的实施例还控制执行时序,以避免信息泄漏,以简化安全性特征的实施。本发明的实施例还使得能够减慢处理器指令执行以改进功率消耗、存取较慢外围设备、扩展电磁频谱等。本发明的实施例还平衡对不同存储器(例如,随机存取存储器(RAM)、非易失性存储器)的存取时间。
已经揭示了根据本发明的用于控制处理器中的时序的方法和系统。所述方法包含控制CPU执行特定类型的指令的执行时间,以便改进CPU的整体安全性。根据本文所揭示的系统和方法,所述方法通过控制指令的执行时间的变化和/或使控制指令的执行时间的变化减到最小来有效地修改处理器的时序。
已经根据所展示的实施例而描述了本发明。所属领域的技术人员将容易认识到可存在实施例的变化形式,且任何变化都将在本发明的精神和范围内。举例来说,可使用硬件、软件、含有程序指令的计算机可读媒体或其组合来实施本发明。根据本发明而编写的软件将存储在某一形式的计算机可读媒体(例如存储器或CD-ROM)中,或将经由网络传输,且将由处理器执行。因此,希望计算机可读媒体包含可(例如)经由网络传输的计算机可读信号。因此,所属领域的技术人员可在不脱离所附权利要求书的精神和范围的情况下作出许多修改。

Claims (46)

1.一种用于控制处理器中的时序的方法,所述方法包括:
获取多个指令,其中每个指令在第一条件期间具有第一默认执行时间,且其中每个指令在第二条件期间具有第二默认执行时间;
在第一模式期间,在同一执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件;以及
在第二模式期间,在随机执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件。
2.根据权利要求1所述的方法,其中所述第一条件是真,且所述第二条件是假。
3.根据权利要求1所述的方法,其中所述第一条件是假,且所述第二条件是真。
4.根据权利要求1所述的方法,其进一步包括:
在第一预定执行时间内执行第一类型的所述多个指令中的至少一个指令,其中所述第一预定执行时间大于第一默认执行时间;以及
在第二预定执行时间内执行第二类型的所述多个指令中的至少一个指令,其中所述第二预定执行时间大于第二默认执行时间。
5.根据权利要求4所述的方法,其中所述第一和第二预定执行时间是相同的。
6.根据权利要求4所述的方法,其中所述第一和第二预定执行时间是不同的。
7.根据权利要求4所述的方法,其中所述第一类型的指令是分支指令,且所述第二类型的指令是跳过指令。
8.根据权利要求4所述的方法,其中所述第一类型的指令是跳过指令,且所述第二类型的指令是有条件分支指令。
9.根据权利要求4所述的方法,其中所述第一预定执行时间是基于执行所述至少一个指令所需的循环的数目。
10.根据权利要求9所述的方法,其中所述执行包括通过增加执行所述至少一个指令所需的循环的所述数目来将用于执行所述第一类型的指令中的指令的第一执行时间调节为所述第一预定执行时间。
11.根据权利要求4所述的方法,其中所述第一预定执行时间是基于执行所述至少一个指令所需的循环的数目。
12.根据权利要求11所述的方法,其中所述执行包括通过增加执行所述至少一个指令所需的循环的所述数目来将用于执行所述第一类型的指令中的指令的第一执行时间调节为所述第一预定执行时间。
13.根据权利要求4所述的方法,其中所述第一预定时间是基于可变值。
14.根据权利要求13所述的方法,其中所述可变值是随机的。
15.根据权利要求13所述的方法,其中所述可变值控制所述处理器执行给定类型的指令所花费的循环的所述数目。
16.根据权利要求15所述的方法,其中所述可变值使所述处理器执行给定类型的指令所花费的循环的所述数目增加至少一个循环。
17.一种计算机可读媒体,其含有用于控制处理器中的时序的程序指令,所述程序指令在由计算机系统执行时致使所述计算机系统执行以下操作的方法:
获取多个指令,其中每个指令在第一条件期间具有第一默认执行时间,且其中每个指令在第二条件期间具有第二默认执行时间;
在第一模式期间,在同一执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件;以及
在第二模式期间,在随机执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件。
18.根据权利要求17所述的计算机可读媒体,其中所述第一条件是真,且所述第二条件是假。
19.根据权利要求17所述的计算机可读媒体,其中所述第一条件是假,且所述第二条件是真。
20.根据权利要求17所述的计算机可读媒体,其进一步包括用于以下操作的程序指令:
在第一预定执行时间内执行第一类型的所述多个指令中的至少一个指令,其中所述第一预定执行时间大于第一默认执行时间;以及
在第二预定执行时间内执行第二类型的所述多个指令中的至少一个指令,其中所述第二预定执行时间大于第二默认执行时间。
21.根据权利要求20所述的计算机可读媒体,其中所述第一和第二预定执行时间是相同的。
22.根据权利要求20所述的计算机可读媒体,其中所述第一和第二预定执行时间是不同的。
23.根据权利要求20所述的计算机可读媒体,其中所述第一类型的指令是分支指令,且所述第二类型的指令是跳过指令。
24.根据权利要求20所述的计算机可读媒体,其中所述第一类型的指令是跳过指令,且所述第二类型的指令是有条件分支指令。
25.根据权利要求20所述的计算机可读媒体,其中所述第一预定执行时间是基于执行所述至少一个指令所需的循环的数目。
26.根据权利要求25所述的计算机可读媒体,其中所述执行包括用于通过增加执行所述至少一个指令所需的循环的所述数目来将用于执行所述第一类型的指令中的指令的第一执行时间调节为所述第一预定执行时间的程序指令。
27.根据权利要求20所述的计算机可读媒体,其中所述第一预定执行时间是基于执行所述至少一个指令所需的循环的数目。
28.根据权利要求27所述的计算机可读媒体,其中所述执行包括用于通过增加执行所述至少一个指令所需的循环的所述数目来将用于执行所述第一类型的指令中的指令的第一执行时间调节为所述第一预定执行时间的程序指令。
29.根据权利要求20所述的计算机可读媒体,其中所述第一预定时间是基于可变值。
30.根据权利要求29所述的计算机可读媒体,其中所述可变值是随机的。
31.根据权利要求29所述的计算机可读媒体,其中所述可变值控制所述处理器执行给定类型的指令所花费的循环的所述数目。
32.根据权利要求31所述的计算机可读媒体,其中所述可变值使所述处理器执行给定类型的指令所花费的循环的所述数目增加至少一个循环。
33.一种用于控制处理器中的时序的系统,所述系统包括:
处理器,其用于获取多个指令,其中每个指令在第一条件期间具有第一默认执行时间,且其中每个指令在第二条件期间具有第二默认执行时间;以及
至少一个寄存器,其用于启用时序补偿,其中在第一模式期间,所述处理器在同一执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件,且
其中在第二模式期间,所述处理器在随机执行时间内执行所述多个指令,不管条件是所述第一条件还是所述第二条件。
34.根据权利要求33所述的系统,其中在所述第一模式期间,所述处理器在第一预定执行时间内执行第一类型的所述多个指令中的至少一个指令,其中所述第一预定执行时间大于第一默认执行时间,且其中所述处理器在第二预定执行时间内执行第二类型的所述多个指令中的至少一个指令,其中所述第二预定执行时间大于第二默认执行时间。
35.根据权利要求34所述的系统,其中所述第一和第二预定执行时间是相同的。
36.根据权利要求34所述的系统,其中所述第一和第二预定执行时间是不同的。
37.根据权利要求34所述的系统,其中所述第一类型的指令是分支指令,且所述第二类型的指令是跳过指令。
38.根据权利要求34所述的系统,其中所述第一类型的指令是跳过指令,且所述第二类型的指令是有条件分支指令。
39.根据权利要求34所述的系统,其中所述第一预定执行时间是基于执行所述至少一个指令所需的循环的数目。
40.根据权利要求39所述的系统,其中所述处理器通过增加执行所述至少一个指令所需的循环的所述数目,来将用于执行所述第一类型的指令中的指令的第一执行时间调节为所述第一预定执行时间。
41.根据权利要求34所述的系统,其中所述第一预定执行时间是基于执行所述至少一个指令所需的循环的数目。
42.根据权利要求41所述的系统,其中所述处理器通过增加执行所述至少一个指令所需的循环的所述数目,来将用于执行所述第一类型的指令中的指令的第一执行时间调节为所述第一预定执行时间。
43.根据权利要求34所述的系统,其中所述第一预定时间是基于可变值。
44.根据权利要求43所述的系统,其中所述可变值是随机的。
45.根据权利要求34所述的系统,其中所述可变值控制所述处理器执行给定类型的指令所花费的循环的所述数目。
46.根据权利要求45所述的系统,其中所述可变值使所述处理器执行给定类型的指令所花费的循环的所述数目增加至少一个循环。
CN2006800544413A 2006-05-02 2006-05-26 用于控制处理器中的时序的方法和系统 Expired - Fee Related CN101432691B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/416,651 US7647486B2 (en) 2006-05-02 2006-05-02 Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode
US11/416,651 2006-05-02
PCT/US2006/020569 WO2007130074A1 (en) 2006-05-02 2006-05-26 Method and system for controlling timing in a processor

Publications (2)

Publication Number Publication Date
CN101432691A true CN101432691A (zh) 2009-05-13
CN101432691B CN101432691B (zh) 2011-11-16

Family

ID=38662483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800544413A Expired - Fee Related CN101432691B (zh) 2006-05-02 2006-05-26 用于控制处理器中的时序的方法和系统

Country Status (4)

Country Link
US (1) US7647486B2 (zh)
CN (1) CN101432691B (zh)
TW (1) TWI347552B (zh)
WO (1) WO2007130074A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667648A (zh) * 2009-11-23 2012-09-12 倍福自动化有限公司 并行程控
CN113095446A (zh) * 2021-06-09 2021-07-09 中南大学 异常行为样本生成方法及系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089555A1 (en) * 2007-09-28 2009-04-02 James Adam Cataldo Methods and apparatus for executing or converting real-time instructions
US10499884B2 (en) 2012-12-06 2019-12-10 White Eagle Sonic Technologies, Inc. System and method for scanning for a second object within a first object using an adaptive scheduler
US10076313B2 (en) 2012-12-06 2018-09-18 White Eagle Sonic Technologies, Inc. System and method for automatically adjusting beams to scan an object in a body
US9773496B2 (en) 2012-12-06 2017-09-26 White Eagle Sonic Technologies, Inc. Apparatus and system for adaptively scheduling ultrasound system actions
US9529080B2 (en) 2012-12-06 2016-12-27 White Eagle Sonic Technologies, Inc. System and apparatus having an application programming interface for flexible control of execution ultrasound actions
US9983905B2 (en) 2012-12-06 2018-05-29 White Eagle Sonic Technologies, Inc. Apparatus and system for real-time execution of ultrasound system actions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US5165033A (en) 1983-07-25 1992-11-17 Hitachi, Ltd. Microprocessor and data processor using the former
US5034880A (en) 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction
JP2680899B2 (ja) 1989-08-28 1997-11-19 日本電気株式会社 情報処理装置及びその制御方法
JP2682217B2 (ja) 1989-08-28 1997-11-26 日本電気株式会社 マイクロプロセッサ
JP2834862B2 (ja) 1990-07-13 1998-12-14 松下電器産業株式会社 プロセッサ
EP1526446A3 (en) 1991-07-08 2007-04-04 Seiko Epson Corporation Extensible RISC microprocessor architecture
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
CN1153133C (zh) 1996-12-09 2004-06-09 松下电器产业株式会社 采用小规模硬件作高命中率分支预测的信息处理装置
US20010054137A1 (en) 1998-06-10 2001-12-20 Richard James Eickemeyer Circuit arrangement and method with improved branch prefetching for short branch instructions
US6230261B1 (en) 1998-12-02 2001-05-08 I. P. First, L.L.C. Method and apparatus for predicting conditional branch instruction outcome based on branch condition test type
JP4050857B2 (ja) 1999-04-27 2008-02-20 矢崎総業株式会社 流体判別装置及び流量計測装置
JP2001094550A (ja) * 1999-09-17 2001-04-06 Toshiba Corp 信号処理装置
US6598152B1 (en) 1999-11-08 2003-07-22 International Business Machines Corporation Increasing the overall prediction accuracy for multi-cycle branch prediction and apparatus by enabling quick recovery
FR2807591B1 (fr) * 2000-04-06 2003-08-08 Gemplus Card Int Procede de contre-mesure pour un micro-controleur base sur une architecture avec "pipeline"
JP3672874B2 (ja) * 2002-01-25 2005-07-20 Necマイクロシステム株式会社 データ処理装置
US7076640B2 (en) 2002-02-05 2006-07-11 Sun Microsystems, Inc. Processor that eliminates mis-steering instruction fetch resulting from incorrect resolution of mis-speculated branch instructions
US8065532B2 (en) * 2004-06-08 2011-11-22 Hrl Laboratories, Llc Cryptographic architecture with random instruction masking to thwart differential power analysis
JP4342464B2 (ja) * 2005-03-29 2009-10-14 富士通マイクロエレクトロニクス株式会社 マイクロコントローラ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102667648A (zh) * 2009-11-23 2012-09-12 倍福自动化有限公司 并行程控
CN102667648B (zh) * 2009-11-23 2015-07-29 倍福自动化有限公司 并行程控
CN113095446A (zh) * 2021-06-09 2021-07-09 中南大学 异常行为样本生成方法及系统

Also Published As

Publication number Publication date
WO2007130074A1 (en) 2007-11-15
TWI347552B (en) 2011-08-21
US7647486B2 (en) 2010-01-12
TW200818004A (en) 2008-04-16
CN101432691B (zh) 2011-11-16
US20070260861A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
CN101432691B (zh) 用于控制处理器中的时序的方法和系统
US20060069936A1 (en) Global and pseudo power state management for multiple processing elements
US7930443B1 (en) Router having routing engine software instance and interface controller software instance on a single processor
JP4770664B2 (ja) マイクロプロセッサおよびそれを用いたマイクロコンピュータ
EP1658559A2 (en) Instruction controlled data processing device
CN107430565B (zh) 具有多个独立微控制器的低接脚微控制器装置
US9261932B2 (en) Minimizing switchover time in a hot swappable program memory
EP3268869A2 (en) Microcontroller device with multiple independent microcontrollers
EP2585906B1 (en) Next-instruction-type field
US6167529A (en) Instruction dependent clock scheme
CN101154178A (zh) 微机调试系统
US20180267829A1 (en) Method for configuring an it system, corresponding computer program and it system
KR101838474B1 (ko) 다중프로세서 시스템에서의 예외 제어
JP4731126B2 (ja) 割り込み制御回路
JP7377208B2 (ja) データ処理
US20160170466A1 (en) Power saving multi-width processor core
CN102326146A (zh) 多任务系统中的系统启动方法
JP2008262340A (ja) デュアルコア向け自動コード生成装置
JP2005222141A (ja) アレイ型プロセッサ
JP2005038203A (ja) メモリ制御方法及び装置
JP6223637B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム
JP3211750B2 (ja) 情報処理装置及びパイプライン処理方法
EP1450255B1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
CN114115092A (zh) 一种异构双核plc协同执行方法与装置
JP2011008617A (ja) マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム

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: 20111116

Termination date: 20130526