用于片上装置管理的已知优良程序代码制造方法及图纸

技术编号:5477214 阅读:218 留言:0更新日期:2012-04-11 18:40
在一实施例中,处理器包含可编程的对映表及电路。可编程的对映表是配置成用来储存数据,该数据可识别出至少一个指令,对于该指令处理器执行的指令集架构修改还没有定义,其中处理器未执行修改。该电路配置成用来侦测指令或其内存的操作数,并且引发转移至已知优良程序代码(KGC)。其中的KGC会被保护而不受未经授权的修改,并且是由通过验证的实体所提供。KGC包含在执行时可以仿真出该修改的程序代码。在另一实施例中,集成电路则包括至少一个处理器核心、至少一种其它电路,以及配置成用来将KGC提供给处理器核心执行的KGC源程序。已知优良程序代码包括用于其它电路的接口程序代码,通过该接口程序代码能让在至少一个处理器核心上执行的应用程序,经过该已知优良程序代码而连接到至少一种其它电路。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术是有关处理器和计算机系统的领域,尤有关在此种系统内使用已知优良程 序代码(known good code)来扩充处理器的架构、控制机载装置(on-board devices),以及 其它用途。
技术介绍
处理器是设计成用来执行定义在指令集架构(instruction set architecture, ISA)里的指令。ISA定义了指令、该指令的编码方式,以及执行指令时要进行的操作。ISA 通常也会定义处理器不同的操作模式,以及为了成功编程该处理器以完成所需操作,程序 设计师需要知道的其它信息。换言之,ISA基本上是用来描述当提供一串要执行的指令流 时,处理器该如何操作的描述。由于程序设计师相信处理器会依照ISA所指定的方式运作,对于ISA的修改必须 很小心,通常会同时征询程序设计师(或软件厂商)与处理器设计师(或处理器厂商)的 意见。处理器也必须跟着ISA的修改来作硬件上的修正,以确保所需操作是处理器可以提 供的。因此必须要仔细描述修改的定义,并且获得双方同意,因为处理器新一代的硬件必须 要实施这些修改。之后的修改甚至需要在更新一代的硬件上实施。
技术实现思路
在一实施例中,集成电路包括至少一个处理器核心、至少一个其它电路,以及配置 成用来将KGC提供给处理器核心来执行的已知优良程序代码(Known Good Code,KGC)的源 程序。已知优良程序代码包括用于其它电路的接口程序代码(interface code),通过该接 口程序代码能让在至少一个处理器核心上执行的应用程序,经过该已知优良程序代码而连 接到该至少一种其它电路。在另一实施例中,处理器包含可编程的对映表(programmable map)及舆该可编程 的对映表耦接的电路。可编程的对映表是配置成用来储存数据,该数据可识别出至少一个 指令,对于该指令,处理器执行的指令集架构修改已经定义,其中处理器未执行修改。该电 路配置成用来检测指令并且引发转移至已知优良程序代码(known good code,KGC)。其中 的KGC会被保护而不受未经授权的修改,并且是由通过验证的实体所提供。KGC包含在执行 时可以仿真出该修改的程序代码。附图说明图1的方块图在说明处理器和相关的已知优良程序代码(KGC)。图2是处理器与KGC第一实施例的方块图。图3是处理器与KGC第二实施例的方块图。图4是处理器与KGC第三实施例的方块图。图5是说明KGC转移机构第一实施例的方块图。图6是处理器实施例的方块图,该处理器实作转移机构的第一实施例。图7的方块图在说明KGC转移机构的第二实施例。图8是处理器实施例的方块图,该处理器实作转移机构的第二实施例。图9是采用KGC作为装置管理器的多核心集成电路,其实施例的方块图。图10是以KGC作为装置管理器的实施例,说明其操作的流程图。图11是采用KGC作为将环0分割成保护区的机构,其实施例的方块图。图12是在具有处理器的集成电路上采用KGC连同可编程逻辑,其实施例的方块 图。具体实施例方式虽然本专利技术可进行多种变更并且具有别的形式,此处仍将以附图作为范例,举出 特定的实施例并加以详细说明。然而应了解的是,附图与详细的说明并非用来将本专利技术限 制在特定的揭露内容;相反地,是打算涵盖在所附的权利要求书的精神与领域内所有的修 改、均等物,以及其它作法。以下叙述乃关于使用已知优良程序代码(KGC)来实作处理器架构上的变更,并且 是采取更具弹性的方式(例如透过执行KGC来仿真该变更)。此外,以下叙述亦关于KGC 其它的应用。在叙述这些应用之前,先来简单介绍KGC。已知优良稈序代码(KGC)简介大致说来,KGC是指一种程序代码,在其有效的寿命期间能防止未经授权的窜改, 并且是仅由通过验证的实体所提供。通过验证的实体可为处理器的制造商所熟识、值得信 赖的实体。举例来说,KGC可通过储存在无法修改的储存体中来防止窜改,其中在储存体与 处理器之间的通讯机构也采用某种方式的保护措施。另一种作法是仍将KGC储存于可被修 改或是未经保护的储存体中,但是在执行之前必须通过密码的验证。KGC可执行在安全执行的计算环境(secure execution computing environment, SECE)。SECE是一种计算环境,其中程序代码(KGC)与其相关资料是不能被同时执行在该 计算机中的其它程序代码所修改或是检阅的。SECE可由处理器的硬件产生(如开机时), 或是在激活后随即执行的软件来产生SECE并将KGC置于SECE内。SECE的例子像是处 理器中的微码(microcode)引擎;一种处理器,用来将KGC从本地安全的非易失性内存加 载处理器的指令与资料缓存(caches)内,并将程序代码与资料锁定在缓存中;以及一种 嵌入式(embedded)的处理器或是别的执行引擎,可从本地非易失性的内存与通讯接口,如 果存在的话,来执行KGC至其它的装置,其中该嵌入式的处理器或是别的执行引擎若非已 经通过了验证、被授权或是很可能经过了编码,便是实体上已受到保护(例如,位于多芯片 (multi-chip)的模块内)。为求明确,当KGC是由处理其它程序代码的同一颗处理器所执 行时,可称为“本地的KGC”(native KGC);当KGC是由像嵌入式处理器的不同处理器所执 行时,称为“非本地的KGC” (non-naive KGC)。如果词汇KGC使用时未注明“本地”或“非 本地”的话,则表示该处内容并无不明确之处,或是本地或非本地KGC皆可使用。图1是某实施例之处理器与相关KGC在概念层次的方块图。如图所示,其含有处 理器10以及KGC的源程序12。视需要可包含加密验证单元14与/或是变更时会受到保护 的内存16。在处理器10与KGC(位于变更时会受到保护的内存16内或是KGC的源程序12内)之间的通讯连结也会受到保护(图1中的组件编号18)。如果处理器10透过受保护的信道18直接连结到KGC的源程序12,而KGC源程序 12的变更会受到保护(即KGC的源程序12不能被任何未经授权的实体所变更),那么就可 以不需要加密验证单元14。授权的实体可包括制造KGC的实体,以及在某些情况下,是处理 器10的制造商。因此,KGC的源程序12包含计算机可以存取的任何储存装置。如果处理器10并没有透过受保护的信道18直接连结到KGC的源程序12,那么KGC 在源程序12内,或是在传输到变更时会受到保护的内存16期间,有被未经授权而窜改的风 险。加密验证单元14可用来验证KGC,确保此种窜改不会发生。举例来说,加密验证单元 14可以使用处理器中用于验证之可信任的根(root of trust for verification,RTV)来 验证KGC。在各式的实施例中可采用任意的验证方案。通过验证的KGC会储存在变更时受到保护的内存16,以供处理器10透过受保护的 信道18来读取。某些实施例还会保护从KGC的源程序12至变更时受到保护的内存16之 间的信道,以及保护KGC源程序12的变更,如此便不需要加密验证的机制了。也会实作此 种实施例的情形像是如果变更时受到保护的内存16,其潜时(latency)较KGC的源程序12 还要小,或是该内存16可提供除了变更保护本文档来自技高网...

【技术保护点】
一种集成电路,包括:  至少一个处理器核心;  至少一种其它电路;以及  一种已知优良程序代码(KGC)的源程序,配置成用以将已知优良程序代码提供给该处理器核心来执行,其中已知优良程序代码包括用于其它电路的接口程序代码,通过该接口程序代码能让在该至少一个处理器核心上执行的应用程序,经过该已知优良程序代码而连接到该至少一种其它电路。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:GD希尔曼G斯特龙金A罗森GH辛普森R芬德森
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利