指令撷取方法及其系统的制作方法

文档序号:6405018阅读:104来源:国知局
专利名称:指令撷取方法及其系统的制作方法
技术领域
本发明提供一种指令撷取方法及其系统,尤指一种撷取(access)并解密(decrypt)加密指令(encrypted instruction)以使微处理器(microprocessor)可依据解密指令(decrypted instruction)执行运算的指令撷取方法及其系统。
背景技术
在已知光驱中,一微处理器是撷取储存于外部存储器的固件(firmware)来执行相关运算以控制光驱的运作,例如最佳功率控制(optimum powercontrol,OPC)与寻道(track seeking)等,而为了避免在撷取固件的过程中,固件的程序代码经由一外部接口而被窃取,所以各种保护外部存储器所储存的数据的加密机制已发展来避免上述情形。在已知技术中,储存在外部存储器的加密指令是经由外部接口传输至一芯片进行解密处理,该芯片内的微处理器再依据解密指令来执行运算,因此,即使加密指令在传输过程中被不当窃取,该加密指令所对应的实际程序代码仍无法轻易地被得知。
请参考图1,图1为已知指令撷取系统10的示意图。指令撷取系统10包含有一芯片(chip)12以及一外部存储器(external memory)14,其中芯片12与外部存储器14是相互电连接。外部存储器14是用来储存加密指令,而芯片12包含有一直接内存存取控制器(direct memory access controller,DMA controller)20、一内存控制器22、一解密模块24、一储存装置26以及一微处理器28。直接内存存取控制器20是电连接至内存控制器22,用来以一直接内存存取模式(DMA mode)来撷取外部存储器14所记录的数据,如图1所示,内存控制器22是电连接至外部存储器14以及解密模块24,因此,在微处理器28不介入控制数据传输的情况下,直接内存存取控制器20便直接控制内存控制器22,以驱使内存控制器22自外部存储器14撷取一加密指令并将已撷取的加密指令传送至解密模块24。解密模块24另电连接至储存装置26,所以当解密模块24解密所接收到的加密指令而产生一解密指令时,解密模块24便将该解密指令储存至储存装置26之中。储存装置26是电连接至微处理器28,所以微处理器28便可自储存装置26读取该解密指令,并执行该解密指令来执行一预定运算。
在已知指令撷取系统10之中,芯片12是以内存分页(page)为单位以撷取储存在外部存储器14的加密指令,举例来说,若外部存储器14中一内存分页是对应1024位,则芯片12会控制外部存储器14在一次数据传输中将同一内存分页所记录的1024位的加密数据传回至芯片12中的解密模块24来进行相关解密运算,然而,以内存分页为单位的指令撷取系统10不但需要较大的带宽(bandwidth)来传输加密指令,也必须使用大容量的储存装置26来储存解密指令而造成芯片12具有较大的尺寸。除此之外,在已知指令撷取系统10中,储存装置26是使用静态随机存取内存(SRAM)来储存解密指令,在芯片12的布局(Layout)中,由于静态随机存取内存的输入端口及输出端口容易被观察而探测(probe),因而增加解密指令被窃取的可能性。此外,芯片12在读取加密指令的过程中,其是利用额外的直接内存存取控制器20来控制加密指令的撷取,因此会增加生产成本,提升电路复杂度,以及造成芯片12的尺寸无法有效地降低。

发明内容
因此,本发明提供一种可实时解密加密指令并传送至微处理器以使微处理器可依据解密指令执行运算的指令撷取方法及其系统,以解决上述问题。
根据本发明,揭露一种指令撷取方法,其包含有储存一加密指令,使用一指令撷取控制器来控制该加密指令的存取,使用一微处理器来驱动该指令撷取控制器以撷取该加密指令,解密该加密指令以产生一解密指令,以及使用该微处理器依据该解密指令执行运算。
本发明申请还提供一种指令撷取系统,其包含有一储存装置,用来储存一加密指令,一指令撷取控制器,电连接于该储存装置,用来自该储存装置撷取该加密指令,一解密模块,电连接于该储存装置,用来解密该加密指令以产生一解密指令,以及一微处理器,电连接至该指令撷取控制器与该解密模块,用来驱动该指令撷取取控制器以控制该储存装置将该加密指令传递至该解密模块,该微处理器是自该解密模块接收该解密指令以执行运算。
本发明指令撷取方法及其系统可不需使用静态随机存取内存来暂存撷取出的加密指令,因而可以大幅降低芯片的面积。此外,由于储存装置所输出的加密指令直接传送至解密模块以产生解密指令,而微处理器便立即依据解密指令来执行运算,因而可降低解密指令被探测的可能性。除此之外,本发明指令撷取方法及其系统并未应用已知直接内存存取的机制,因此不需额外设置直接内存存取控制器,因此,综上所述,本发明指令撷取方法及其系统可降低解密指令的被探测,降低生产成本,减少电路复杂度,以及有效降低芯片的尺寸。


图1为已知指令撷取系统的示意图。
图2为本发明第一种指令撷取系统的示意图。
图3为图2所示的指令撷取系统的操作流程图。
图4为本发明第二种指令撷取系统的示意图。
图5为图4所示的指令撷取系统的操作流程图。
附图符号说明10、30、50指令撷取系统12、32、52芯片14外部存储器20直接内存存取控制器22内存控制器24、46、68解密模块26、64储存装置28、40、60微处理器34外部储存装置48、58密钥储存单元42、62指令撷取控制器44、66暂存模块56外部储存媒介
具体实施例方式
请参考图2,图2为本发明第一种指令撷取系统30的示意图。指令撷取系统30包含有一芯片32以及一外部储存装置34,其中芯片32与外部储存装置34是相互电连接,而外部储存装置34是用来储存加密指令。芯片32包含有一微处理器40、一指令撷取控制器(instruction access controller,IAC)42、一暂存模块44、一解密模块46以及一密钥储存单元48。微处理器40是电连接至指令撷取控制器42,用于驱动指令撷取控制器42来撷取指令。指令撷取控制器42电连接至外部储存装置34、暂存模块44以及密钥储存单元48,用于撷取储存在外部储存装置34的加密指令,并控制撷取出的加密指令储存至暂存模块44。密钥储存单元48系用来储存一密钥(key),而指令撷取控制器42可读取该密钥以依据该密钥来解密该加密指令的存取地址(address)。解密模块46是电连接至微处理器40,暂存模块44,以及密钥储存单元48,解密模块46可读取储存于密钥储存单元48中的另一密钥并根据该密钥解密储存于暂存模块44的加密指令以产生一解密指令,并将该解密指令传送至微处理器40,以使微处理器40可依据解密指令来执行运算。
为了详细描述指令撷取系统30的运作方式,请参考图3,图3为图2所示的指令撷取系统30的操作流程图,其包含有下列步骤步骤100微处理器40驱动指令撷取取控制器42以撷取加密指令;步骤102指令撷取控制器42依据储存于密钥储存单元48的密钥来解密加密指令的储存地址,并且至外部储存装置34撷取加密指令;步骤104暂存模块44暂存从外部储存装置34所撷取的加密指令;步骤106解密模块46依据储存于密钥储存单元48的密钥来解密储存在暂存模块44的加密指令以产生解密指令;以及步骤108微处理器40依据解密指令来执行运算。
本实施例中,外部储存装置34是为非易失性内存(non-volatilememory),例如一电子可抹除可编程只读存储器(electrically erasableprogrammable read only memory,EEPROM)或一快闪只读存储器(Flash ROM),而暂存模块44是为一易失性内存(volatile memory),例如由合成电路所产生的FIFO,另外,密钥储存单元48亦可至于芯片32之外。为了便于说明,本实施例的指令撷取系统30是应用于一光驱,其中外部储存装置34是用来储存该光驱的固件(firmware),而芯片30即为该光驱的控制芯片,当该光驱接收到一计算机主机所发出的高阶指令而需进行一寻道操作来读取一光盘片上一预定磁迹所记录的数据时,微处理器40必须执行固件中的寻道程序代码以控制伺服系统(servo system)执行所需的寻道操作以移动读写头(pick-up head)至该预定磁迹,所以,微处理器40此时便依据寻道程序代码储存于外部储存装置34的第一储存地址来驱动指令撷取控制器42(步骤100),使指令撷取控制器42依据储存于密钥储存单元48的密钥来解密该第一储存地址,并且依据该解密的第一储存地址至外部储存装置34撷取加密指令(步骤102)。此外,指令撷取控制器42亦会传送一第二储存地址予暂存模块44,用来告知暂存模块44需将外部储存装置34所输出的加密指令暂存于该第二储存地址(步骤104)。接着,解密模块46便实时地解密暂存于暂存模块44的加密指令,并将一解密指令传送至微处理器40(步骤106)。最后,微处理器40接收到对应该第一储存地址的寻道程序代码的相对应解密指令,并顺利地执行该解密指令来执行运算以控制寻道操作(步骤108)。
当外部储存装置34的带宽是共享时,本发明指令撷取系统30可依据芯片32与外部储存装置34之间不同的带宽需求来调整每次撷取加密指令的数量,当可用带宽较大时,指令撷取控制器42每次可撷取较多的指令并储存于暂存模块44,以利用快取的机制来降低指令撷取控制器42进行数据撷取的操作次数来提高微处理器40的运算效率;而当可用带宽较小时,指令撷取控制器42每次撷取较少的指令并储存于暂存模块44,因而芯片32便可以使用具有较少储存容量的暂存模块44来进一步减少芯片32的面积。在可用带宽极小的情况下,指令撷取控制器42可以每次只撷取一笔加密指令,在此情况下,芯片32亦可完全不使用暂存模块44来做为高速缓存以暂存外部储存装置34所输出的加密指令,亦即外部储存装置34所输出的一笔加密指令便直接传送至解密模块46以立即地产生相对应的解密指令。
请参考图4,图4为本发明第二种指令撷取系统50的示意图。指令撷取系统50包含有一芯片52以及一外部储存媒介56,其中芯片52与外部储存媒介56是相互电连接。芯片52包含有一密钥储存单元58、一微处理器60、一指令撷取控制器62、一储存装置64、一暂存模块66、以及一解密模块68。请注意,图4所示的指令撷取系统50与图2所示的指令撷取系统30中的同名组件具有相同的功能与运作,因此不再重复赘述,而主要的不同点在于指令撷取系统50的储存装置64是内建(embedded)于芯片52中,此外,储存装置64中所储存的加密指令是通过指令撷取控制器62而由外部储存媒介56所提供,其操作于后详述。
为了详细描述指令撷取系统50的运作方式,请参考图5,图5为图4所示的指令撷取系统50的操作流程图,其包含有下列步骤步骤120启动指令撷取取控制器62以撷取储存于外部储存媒介56的加密指令;步骤122指令撷取取控制器62由外部储存媒介56接收加密指令并储存在储存装置64之中;步骤124微处理器60驱动指令撷取取控制器62以撷取储存于储存装置64的加密指令;步骤126指令撷取控制器62依据储存于密钥储存单元58的密钥来解密加密指令的储存地址,并且从储存装置64撷取加密指令;步骤128暂存模块66暂存从储存装置64所撷取的加密指令;步骤130解密模块68根据储存于密钥储存单元58的密钥来解密储存在暂存模块66的加密指令以产生一解密指令;以及步骤132微处理器60依据该解密指令来执行运算。
本实施例中,外部储存媒介56是为非易失性内存、计算机主机或是硬盘等,而储存装置64与暂存模块66均为易失性内存,例如储存装置64是为一动态随机存取内存,而暂存模块66是为由静态随机存取内存所构成的高速缓存,另外,密钥储存单元58亦可至于芯片52之外。同样地,为了便于说明,本实施例的指令撷取系统50是应用于一光驱,其中外部储存媒介56是用来提供对应该光驱的固件(firmware)的加密程序代码,而芯片52即为该光驱的控制芯片。当该计算机主机开启而启动该光驱时,芯片52首先会启动指令撷取取控制器62至外部储存媒介56撷取对应该光驱的固件的加密程序代码(步骤120)。因此,指令撷取取控制器62便接收该加密程序代码,并将该加密程序代码所包含的多个加密指令储存于储存装置64(步骤122)。当该光驱接收到一计算机主机所发出的高阶指令而需进行一寻道操作来读取一光盘片上一预定磁迹所记录的数据时,微处理器60必须执行固件中的寻道程序代码以控制伺服系统(servo system)执行所需的寻道操作以移动读写头(pick-up head)至该预定磁迹,所以,微处理器60此时便依据寻道程序代码纪录于储存装置64的第一储存地址来驱动指令撷取取控制器62(步骤124),使指令撷取控制器62依据储存于密钥储存单元58的密钥来解密该第一储存地址,并且依据该解密的第一储存地址至储存装置64撷取加密指令(步骤126)。此外,指令撷取控制器462亦会传送一第二储存地址予暂存模块66,用来告知暂存模块66需将储存装置64所输出的加密指令暂存于该第二储存地址(步骤128)。接着,解密模块68便实时地解密暂存于暂存模块66的加密指令,并将一解密指令传送至微处理器60(步骤130)。最后,微处理器60接收到对应该第一储存地址的寻道程序代码的相对应解密指令,并顺利地执行该解密指令来执行运算以控制寻道操作(步骤132)。
同样地,本实施例是利用暂存模块66来作为高速缓存,亦即指令撷取控制器62每次可撷取较多的指令并储存于暂存模块66,以利用快取的机制来降低指令撷取控制器62撷取的延迟次数来提高微处理器60的运算效率,而指令撷取控制器62亦可每次只撷取一笔加密指令,在此情况下,芯片52可完全不使用暂存模块66来做为高速缓存以暂存储存装置64所输出的加密指令,亦即储存装置64所输出的一笔加密指令便直接传送至解密模块68以立即地产生相对应的解密指令。
请注意,上述实施例中,本发明指令撷取方法及其系统是应用于光驱中,然而,本发明指令撷取方法及其系统并未局限于光驱的应用领域,其亦可应用于任何需读取并解译加密程序代码的装置,亦属本发明保护的范畴。
相较于已知技术,本发明指令撷取方法及其系统可不需使用大容量的静态随机存取内存来暂存撷取出的加密指令,因而可以大幅降低芯片的面积。此外,由于储存装置所输出的加密指令直接传送至解密模块以产生解密指令,而微处理器便立即依据解密指令来执行运算,因而可降低解密指令被探测的可能性。除此之外,本发明指令撷取方法及其系统并未应用已知直接内存存取的机制,因此不需额外设置直接内存存取控制器,因此,综上所述,本发明指令撷取方法及其系统可降低解密指令的被探测,降低生产成本,减少电路复杂度,以及有效降低芯片的尺寸。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
权利要求
1.一种指令撷取方法,用于撷取一加密指令,该方法包含有使用一指令撷取控制器来控制该加密指令的存取;使用一微处理器来驱动该指令撷取控制器以撷取该加密指令;解密该加密指令以产生一解密指令;以及使用该微处理器依据该解密指令执行运算。
2.如权利要求1所述的指令撷取方法,其中,解密该加密指令的步骤另包含有提供一暂存模块;以及依据该指令撷取取控制器所提供的一储存地址来驱动该暂存模块储存该指令撷取控制器所撷取的该加密指令。
3.如权利要求1所述的指令撷取方法,其另包含有设置一密钥储存单元,并使用该密钥储存单元来储存一密钥;其中,解密该加密指令的步骤另包含有读取该密钥以及依据该密钥来解密该加密指令。
4.如权利要求1所述的指令撷取方法,其另包含有设置一密钥储存单元,并使用该密钥储存单元来储存一密钥;其中,该指令撷取控制器存取该加密指令的步骤另包含有读取该密钥以及依据该密钥来解密该加密指令的储存地址。
5.如权利要求1所述的指令撷取方法,其另包含有设置该指令撷取控制器以及该微处理器在同一芯片上;其中,该加密指令是储存于一储存装置,且该储存装置是外接于该芯片。
6.如权利要求1所述的指令撷取方法,其中,该加密指令是储存在一储存装置,且该指令撷取方法另包含有设置该储存装置,该指令撷取控制器,以及该微处理器于同一芯片上。
7.一种指令撷取系统,其包含有一储存装置,用来储存一加密指令;一指令撷取控制器,电连接于该储存装置,用来自该储存装置撷取该加密指令;一解密模块,电连接于该储存装置,用来解密该加密指令以产生一解密指令;以及一微处理器,电连接至该指令撷取控制器与该解密模块,用来驱动该指令撷取取控制器以控制该储存装置将该加密指令传递至该解密模块,该微处理器是自该解密模块接收该解密指令以执行运算。
8.如权利要求7所述的指令撷取系统,其另包含有一暂存模块,电连接至该指令撷取控制器、该储存装置以及该解密模块,用来依据该指令撷取控制器所提供的一储存地址来储存该加密指令,并将该加密指令传递至该解密模块。
9.如权利要求8所述的指令撷取系统,其中,该暂存模块的功能是为一高速缓存或一缓冲缓存器。
10.如权利要求7所述的指令撷取系统,其另包含有一密钥储存单元,电连接于该解密模块,用来储存一密钥;其中,该解密模块是读取该密钥以依据该密钥来解密该加密指令。
11.如权利要求7所述的指令撷取系统,其另包含有一密钥储存单元,电连接于该解密模块,用来储存一密钥;其中,该指令撷取控制器是读取该密钥以依据该密钥来解密该加密指令的储存地址。
12.如权利要求7所述的指令撷取系统,其中,该指令撷取控制器,该解密模块,以及该微处理器是设置在同一芯片上,且该储存装置是外接于该芯片。
13.如权利要求12所述的指令撷取系统,其中,该储存装置是为非易失性内存。
14.如权利要求12所述的指令撷取系统,其中,该芯片是为一光驱控制芯片,以及该解密指令是为光驱固件。
15.如权利要求7所述的指令撷取系统,其中,该储存装置、该指令撷取控制器、该解密模块以及该微处理器是设置在同一芯片上。
16.如权利要求15所述的指令撷取系统,其中,该储存装置是为易失性内存。
17.如权利要求15所述的指令撷取系统,其中,该芯片是为一光驱控制芯片,以及该解密指令是为光驱固件。
全文摘要
本发明提供一种指令撷取方法及其系统,用来撷取一加密指令。该方法包含有使用一指令撷取控制器来控制该加密指令的存取,使用一微处理器来驱动该指令撷取取控制器以撷取该加密指令,解密该加密指令以产生一解密指令,以及使用该微处理器依据该解密指令执行运算。
文档编号G06F9/44GK1702614SQ200410045908
公开日2005年11月30日 申请日期2004年5月24日 优先权日2004年5月24日
发明者温志强, 陈炳盛 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1