双模式处理器的制作方法

文档序号:6638250阅读:245来源:国知局
专利名称:双模式处理器的制作方法
背景技术
本发明涉及具有例如双模式处理器这样的多模式处理器的电路。此处理器特别适于在数字终端中为订户电视网络提供安全存取控制。
在目前市场中,存在着经济上的压力去增加功能及减少消费者的电子产品的成本。对于机顶盒(set-top)终端——亦称集成接收机-译码器(IRD)或订户终端——情况特别如此,该终端接收及译码电视信号,以供电视显示。此信号可经电缆设施而由卫星所传输,或通过地面广播系统传输。
综合成本的一个驱动力是构成产品的组件的数目。减少组件的一个方法是功能合并,即将通常由两个或多个集成电路(IC)所完成的功能放到一个IC中完成。这适用于具有嵌入式处理器的芯片。例如,现在已能得到具有内存及中央处理单元(CPU)二者的芯片。
此外,增加功能性的另一方法是更有效地利用电路组件。微处理器执行的时钟速度不断提升,使得在相同时间里以相同数目的组件能够完成更多处理。因此可使产品具有更多性能并对消费者有更迅速的响应。增加的时钟速度还使单一处理器得以处理多种应用程序。
通过合并在多个处理器中运行的应用程序,使其可在单一处理器中运行,即使得单个电路的功能性增加而组件数目降低。然而合并应用程序并非琐事,特别是对于嵌入式处理器的应用程序而言,因为在合并应用程序时,操作系统、代码结构、中断定时及进程交互依存性等常常均要改变。通常必须全部重新设计有合并功能的嵌入式代码。
在个人计算机中,如视窗系统的复杂操作系统会有多种应用程序,它们一般同时运行而互不干扰。但个人计算机环境在软件及硬件方面有诸多标准。程序员希望利用操作系统服务例程及和通用硬件去写应用程序。然而嵌入式应用程序通常既无法自标准操作系统中受益也无法从一般硬件平台中获益。但即使在开发成熟的个人计算机操作系统环境中,应用程序亦会发生故障,从而导致全系统停机或"意外停机(hang)",因而必须重新启动整个系统或使整个系统复位。也可能使编写不良的程序或如"病毒"的恶意程序得以改写内存中的另一应用程序。此等病毒程序通常会妨害操作系统可用的存储管理分区。
操作系统已开发出保护机制,以防止以用户应用程序模式运行的程序,不致将特许(privileged)系统信息改写。此等系统经常使用一称为存储管理单元(MMU)的逻辑电路,以防止在内存中执行的主程序,被运行于用户模式的恶意应用程序所改写。此种系统中,在同时执行的应用程序之间并无保护。此外,全局空间由所有任务分享,从而避免系统服务例程的不必要重复,并有利于共享数据及中断处理。此外,无论程序以何种模式运行,均可存取如堆栈这样的结构。应用程序代码应可存取至主程序正在使用的低级通用寄存器和专用寄存器。并且,此种应用程序应可读取储存了的系统文件。
因此,如能提供一方法,以较易方法合并各独立的嵌入式应用程序,并且不需重新设计代码,则非常理想。
如能提供一更安全的机制以使独立的各组程序在微处理器系统中彼此互不干扰执行,则更为优异。
此系统应提供一具有安全及非安全处理模式的双模式处理器。
此系统应可在一电视网络中的用户终端实施。
本发明提供一具有上述及其它优点的系统。
第一模式可为一用于安全进程操作的安全模式,如在机顶盒订户终端对于电视节目安排服务提供有条件的存取。第二模式可为非安全模式,例如在终端提供其它应用程序,如节目导视、在家购物服务等。
在一实施例中,设置数据总线,以供处理器与相应存储器之间的数据的时序多路复用传输(time-multiplexed transfer)之用。在另一实施例中,设置在个别内部寄存器与外部元件如地址及资料锁存器之间进行的转换。
处理器可根据不同机制,在各模式间转换,机制包括时钟周期的固定比率,在处理器中所执行的指令的固定比率,以及各模式的相应优先级。
此外,第一及第二模式可有各自不同的操作系统。
附图简略说明图l表示根据本发明所述的双模式处理电路的总图。
图2表示根据本发明所述的具有总线多路复用电路的双模式处理器。
图3表示根据本发明所述的一具有分别控制外部组件的开关的双模式处理器。
图4表示根据本发明所述的一用于选择双模式处理器的第一及第二模式的开关。
发明详述本发明涉及一种多模式处理器,如双模式处理器。


图1表示根据本发明所述的一双模式处理器的总图。
在一实施例中,双模式处理器5包括一个安全系统部分10,及一非安全系统部分50。安全系统部分10包括寄存器12,一随机存取存储器(RAM)14,一CPU16,一只读存储器(ROM)18及一程序设计控制功能块20。RAM14可储存安全代码及密钥,例如用于提供在机顶盒终端所进行的有条件访问。非安全系统50包括寄存器52及RAM54。
处理器5提供两项功能(即安全及非安全功能),功能之间绝对隔离。亦即系统10、50有其各自的RAM14及54,从而安全系统10的任何一位不会通过(例如泄漏)到达RAM54,并且非安全系统50的任何一位不会通过到达RAM14。因此,由于不能通过非安全系统50而直接——或经CPU16——自安全系统10取回或向安全系统10提供数据,安全系统10的RAM14中的数据可保持安全。
硬件时间分片器(time slicer)70为一切换装置,其通过分配CPU16一半时间来提供50%的工作周期,用于处理来自安全系统10的RAM14的数据,另一半时间则用于来自非安全系统50的RAM54的数据。在50%工作周期情况下,一50MHz的处理器可视为两个25MHz的处理器。注意可交替使用一转换器(commutator)。
此外,各系统10及50可有不同的操作系统。
图2表示根据本发明所述的具有总线多路复用电路的双模式处理器。
编号相同的组件在各图中彼此一致。
双模式处理器100包括一内部数据总线105,一指令队列110,一指令译码器及机器周期编码器115,以及定时和逻辑控制功能块120,该定时逻辑控制功能120包含程序设计模式数据总线、保持、中断、等候、写入同步、控制时钟及其它控制功能。
尚备有数据缓冲器125、程序模式选择器130、中断控制135、以及模式定时功能块140。如图所示,本发明重复使用一些内容寄存器,使得在二个独立模式运行时,可使用处理器的重新设定。程序模式选择器130使得可在二模式间切换。
寄存器组多路复用器150包括两组寄存器。用于双模式处理器100的第一模式(模式"A")的寄存器组包括通用寄存器160、变址寄存器162、堆栈指针/返回地址寄存器164、程序计数器166、存储管理寄存器168、高速缓存控制器寄存器170及中断控制寄存器172。
同理,用于双模式处理器100的第二模式的(模式"B")寄存器组包括通用寄存器180、变址寄存器182、堆栈指针/返回地址寄存器184、程序计数器186、存储管理寄存器188、高速缓存控制器寄存器190、及中断控制寄存器192。
尚备有一地址缓冲器194及一存储器组多路复用器195,其中存储器组A197用于第一模式,而存储器组B198用于第二模式。
在此总线多路复用实施例中,在各模式期间,数据在总线105上进行时序多路传输。
图3表示根据本发明所述的控制外部组件的双模式处理器。此图显示一利用模式A/B而自内部和外部切换至IC的实例,该IC例如为双模式处理器设置于其上的一专用集成电路(ASIC)。利用模式A/B可将地址空间分割。在这里,每一内部寄存器均被切换,而在图2所示的实施例中,则使用了总线多路复用电路。
电路,通常如300所示,包括双模式处理器305及若干外部组件,包含地址锁存器A(350)、B(352)及数据锁存器A(354)及B(356)。处理器模式A有实例端口1(358)、.....、端口N(362),处理器模式B有实例端口1(360)、.....、端口N(364)。还有存储器A(197)及存储器B(198)。
双模式处理器305包括指令译码及机器周期编码器115、模式A/B定时转换器310(见图4中的转换详述)、地址生成器315和317、指令流水线320和322、数据寄存器325和327、缓存器160和180、高速缓存器170和190、以及存储管理单元(MMU)168和188。存储管理单元(MMU)168和188提供虚拟地址至物理地址之间的转换。
存储器的数据及指令部分可予以限定。此外,可备有控制寄存器,其使特权用户得以有选择地准许以用户模式运行的应用程序存取不同的存储器组。
路径380携带一模式A/B选择信号,其系由模式A/B计时转换器(timer switcher)310所提供,用以指示目前以何种模式运行。
地址生成器315、317提供存储器地址至各地址锁存器350、352,其分别锁存用于存储器197、198读/写操作的地址。
数据缓冲器325、327对数据锁存器354、365及端口358、360、.....、端口362、364发送数据并从其接收数据。
本发明允许由单个微处理器运行独立的二组或多组程序,各组程序之间完全独立和100%隔离。为便于讨论,我们分别定义独立的程序组"A"及"B",但此概念应易于延伸至其它独立的程序组。一个程序组的程序无法访问另一程序组的程序,亦无法影响另一程序组的程序的执行。可认为每一组程序有其自己的操作系统,同时运行各个不同的应用程序。一个程序组的操作系统及应用程序无法干扰另一个程序组。
此外,即使被恶意写入,亦无法使一个程序组的操作系统或应用程序读出另一个程序组中运行的其它程序,或了解另一个程序组中运行的其它程序的细节。
通过使程序组A及B共享功能硬件,如指令译码器及机器周期编码电路115,以及定时和控制逻辑电路120,即更有效地利用了IC芯片的区域,该IC芯片例如为超大规模集成电路(VLSI)芯片。特别是,通过将A组及B组程序的运行加以合并而从系统中消减整个一微处理器,可减少全部组件的数目,从而实现成本的显著降低。
本发明可使以前独立在处理器运行的两组(或多组)程序,在单个处理器上一起工作,而对两组原始组程序中的任何一个都甚少改变或无改变。这导致在代码开发时间及成本上的大幅节省。此外,即使将二组程序结合,形成具有组合功能的较大程序,并且这一程序可由相同类型的处理器执行,该新的较大程序仍需全面检查及调试。本发明通过使两个较小程序如以往存在,而避免了这一问题。
在一可能的实施例中,可将一组程序认为是执行加密例程的"安全代码",此例程在机顶盒中完成存取控制功能。此组程序不会被另一"非安全"程序组中执行的程序所干扰。在机顶盒中,这就使得可将各主微处理器合并在一个装置中。
"存取控制"系指在"安全"处理器中执行的算法,处理器用以决定一译码器是否得到授权观看一特定节目。该节目可能需要订购或需要用户加以购买而分发。
图4表示根据本发明用于选择双模式处理器的模式A或B的开关。
开关400为一负边缘触发D型触发器。触发器405经线路410接收主时钟信号,并在线路420上输出模式A选择信号,或在线路430上输出模式B选择信号。主时钟信号可经由线路440用作其它目的。
处理器需要一开关装置,以便在一组程序的运行与另一组程序的运行之间加以切换。可将计时作为在应用程序组之间进行切换的手段。以下为数种选择1.时钟周期的固定比率。如设定50~50%,则每隔一时钟周期可用于组A(模式A),且每另隔一周期可用于组B(模式B)程序。如设定为80~20%,则组A将执行四时钟周期,而组B执行一周期。
2.连续时钟周期的固定数目。如设定为50~50%,则组A可使用十个连续时钟周期,且组B使用十个连续时钟周期。如设为80~20%,则组A可使用连续十六个时钟周期,而B组使用四个连续时钟周期。
3.被执行指令的固定比率。如设定50~50%,组A及组B执行隔一指令。如设定80~20%,组A执行四指令,组B执行一指令。
4.连续指令的固定数目。如设定50~50%,则组A可执行连续十个指令,且组B执行十个连续指令。如设定80~20%,则组A可执行连续十六个指令,而组B执行连续四个指令。
5.在保证最小时钟或指令执行情况下,还可能施行动态时钟或指令分配。对于一执行低优先级例程的进程,可能放弃一定数量的时钟或指令周期给其它进程。当调用一高优先级进程如一个中断时,则抢先的(pre-empted)进程可返回其放弃的时钟或指令周期。
以下选择性实施方案亦可考虑1.组A及组B电路可同时被时钟触发。时钟与指令周期确保了对于任何共享资源的存取。在上述情况中,共享资源为;指令译码器和机器周期编码器115,以及定时与控制电路120。它们都遵守一严格时钟及指令分配机制。
2.存储空间可在组A与组B程序间完全分开。
3.可要求CPU,使得最小定时永远不受破坏。这可能必须要有额外的重复硬件。或通过将下一个指令的优先级给另一组程序,也可简单地完成一冗长的指令。
本发明的结果为,必须复制任何涉及微处理器正在存储器中执行的内容及位置的上下文或称状态的数据,以便用于在该微处理器系统中执行的每个独立的程序组。
本发明的处理器具有下列结构,其对系统提供存储器并由此而提供上下文(context)堆栈及堆栈指针164和184或至少一个含有返回地址的寄存器、通用寄存器160和180、程序计数器166和186、CPU状态寄存器、MMU控制寄存器166和168、高速缓存控制寄存器170和190、各种I/O寄存器、及中断控制器。此外,系统的内部及外部RAM及ROM均可切换。这与切换存储器组在概念上相似。如果地址的最高有效位为程序组过去所执行的模式(A或B)的函数,则当其为高,上位(upper)存储器组197可供程序组A之用,而当其为低位时,下位(lower)存储器组198可供程序组B之用。
如微处理器系统具有内部高速缓冲存储器,则其需要或不需要重复此结构,视此存储器是否能直接为CPU所读取而定。任何高速缓存控制寄存器都需要重复。因为每一程序组均在不同存储空间运行,通过重复高速缓存结构即可实现对其更有效的利用。由于要执行两组独立的程序,通过重复的高速缓冲存储器即可实现更高的高速缓冲存储器命中率。
每一程序组有其自己的引导程序。此程序可设定参数,该参数例如识别何组代码为低优先级而及何组代码为高优先级,并且其可能需要时钟周期的全部分配编号。
对于使电视机顶盒终端(例如,译码器)免除以独立的处理器来处理存取控制和加密的需求而言,本发明非常有用。通常用以运行译码器的处理器同样可运行这一功能,并利用此双模式特性。
在本发明的可选择用途上,试验某些未知代码是可能的。例如,因特网使得可从各种web站点下载许多小的Java应用例程或未知性质及来源的"小应用程序(applet)"。本发明的双处理器系统(例如实施于一万维网兼容的机顶盒中)可在运行这种代码时提供保护。这可以是使应用程序之间免于彼此干扰的一个方法。
在另一选择中,可用本发明来实现一种类型的防火墙,例如用以隔离数据处理空间。
还有一选择,可用本发明来实现容错计算机,例如当主处理器崩溃时不致失效的个人计算机。
由此可见,本发明提供了双模式或其它多模式处理器。此处理器通过分配其时间来执行指令,而在各进程之间实现了分时(time-share)。在一特殊实施例中,此处理器包括安全及非安全系统,其将数据存储到独立的各存储器,并从这些存储器检索数据。此处理器可用以提供对电视节目安排服务的有条件访问。
尽管已结合各种特定实施例而说明了本发明,另外,本领域技术人员会理解,尚可对其进行许多修改及改动,而不致有悖于本发明权利要求书所提出的精神和范围。
例如,本发明适合用于实际上任何类型的网络,包括有线或卫星电视广播通信网络、局域网(LAN)、都市网(MAN)、广域网(WAN)、因特网、企业内联网、及其组合。
此外,可使用已知的计算机硬件、固件和/或软件技术来实施本发明。
权利要求
1.一种多模式处理电路,包含至少以第一及第二模式运行的处理器;用于在所述至少第一及第二模式之间进行切换的定时装置;当所述处理器处于该第一模式时,提供数据至该处理器并自该处理器接收数据的第一存储器;与所述第一存储器隔离的第二存储器,当所述处理器处于第二模式时,该第二存储器提供数据至该处理器并自该处理器接收数据;响应所述定时装置的装置,用于管理所述处理器与该第一存储器之间以及所述处理器与该第二存储器之间的数据传输。
2.如权利要求1所述的电路,其中所述第一模式为安全模式,用于安全的处理操作,而所述第二模式为非安全模式,用于非安全的处理操作;及所述管理装置可防止数据自所述第二存储器传输至该第一存储器,以及数据自所述第一存储器传输至该第二存储器。
3.如权利要求2所述的电路,其中所述安全处理操作包括对于电视节目安排服务提供有条件的存取。
4.一种包含如权利要求3所述电路的电视机顶盒终端(top-setterminal)。
5.如权利要求1所述的电路,其中所述管理装置包括一数据总线,此数据总线用于在所述处理器与该第一存储器之间以及所述处理器与该第二存储器之间进行数据的时序多路复用传输(time-multiplexed transfer)。
6.如权利要求5所述的电路,其中所述处理器及该数据总线设置于一集成电路(IC)中。
7.如权利要求1所述的电路,其中所述管理装置包括第一及第二寄存器,其被激活以响应所述处理器与该第一存储器之间以及所述处理器与该第二存储器之间的所述数据传输的转换。
8.如权利要求7所述的电路,其中所述处理器与所述第一和第二寄存器设置于一集成电路(IC)中。
9.如权利要求8所述的电路,其中所述第一及第二存储器位于所述IC的外部;及所述管理装置包括第一及第二锁存器,其在所述IC的外部,其被激活以响应所述处理器与该第一存储器之间所述处理器与第二存储器之间的所述数据传输的转换。
10.如权利要求1所述的电路,其中所述定时装置根据时钟周期的固定比率,而在所述的至少第一及第二模式之间切换所述处理器。
11.如权利要求所述的电路,其中所述定时装置根据在所述处理器所执行的指令的固定比率,而在所述的至少第一及第二模式之间切换所述处理器。
12.如权利要求1所述的电路,其中所述定时装置根据所述的至少第一及第二模式各自的优先级,而在所述的至少第一及第二模式之间切换所述处理器。
13.如权利要求1所述的电路,其中所述第一及第二模式具有各自不同的操作系统。
14.如权利要求1所述的电路,其中第一及第二应用程序分别响应所述第一及第二存储器,以分别执行所述第一及第二模式。
15.如权利要求14所述的电路,其中所述第一及第二应用程序是分离的(disparate)。
16.如权利要求1所述的多模式处理电路,其中所述第一及第二组程序彼此独立,并分别响应所述第一及第二存储器,以分别执行所述第一及第二模式。
17.如权利要求1所述的多模式处理电路,其中所述管理方法可防止数据在所述第一与第二存储器间传输。
全文摘要
一种多模式处理电路,如双模式处理器(5),根据开关(10)运行于至少第一及第二模式。当一种模式运行时,在处理器与其相应存储器间发生数据传输。这样,可在处理器执行来自存储器的指令,其结果可储存在相应存储器中。例如,第一及第二存储器(14、54)可分别用于第一及第二模式(10、50)。存储器是隔离的,不会直接在存储器间或经由处理器而发生存储器间的数据传输。第一模式(10)可为安全模式,用于安全处理操作,如在机顶盒用户终端提供对电视节目安排服务的有条件访问。第二模式(50)可为非安全模式,例如用于在终端提供其它应用程序,如节目导视、在家购物服务等。在一实施例中,设置数据总线,用于处理器与其相应存储器之间的时序多路复用传输。在另一实施例中,备有各内部寄存器与外部组件,如数据锁存器之间的开关。
文档编号G06F21/79GK1425157SQ00818611
公开日2003年6月18日 申请日期2000年12月19日 优先权日1999年12月23日
发明者B·坎戴罗, E·J·史普朗克 申请人:通用仪器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1