用于管理用不同大小的指令操作的计算单元的方法和设备与流程
- 国知局
- 2024-08-19 14:21:29
本发明的各种实施例及其实现涉及集成电路,并且更具体地涉及形成本领域技术人员已知的片上系统(或soc)的集成电路。
背景技术:
1、片上系统包括处理单元和非易失性启动存储器,非易失性启动存储器包括用于启动处理单元的指令。
2、存在能够根据不同的操作模式容易地进行操作的处理器,每个操作模式由指令的大小(例如,32位或64位)限定。
3、这样的处理器因此能够执行以32或64位编码的应用程序。
4、目前,并入这样的处理器的片上系统还并入了协同处理器。
5、当片上系统启动时,只有协同处理器开启并执行以单个固定大小(例如,32位)编码的指令,处理器保持复位状态。
6、协同处理器然后将应用程序的代码加载到程序存储器中,并标识指令的大小。
7、然后,协同处理器对处理器进行相应地配置,并使用具有所标识的大小的启动指令来将其启动。
8、但是,协同处理器和相关联的外围设备的实现需要在硅片上有较大的表面积,导致片上系统的附加功耗,并且不适配于小尺寸的片上系统。
9、另一可能的解决方案包括在不同芯片上使用分别具有32位和64位的两个启动存储器的两个系统。
10、这样的解决方案避免了使用协同处理器,但是需要使用两个片上系统。
11、因此,需要降低包括能够根据若干不同大小的指令集中的所选择的指令集进行操作和启动的处理单元(例如,微处理器)的集成电路或片上系统的复杂度和能耗。
技术实现思路
1、根据实施例及其实现方式,有利地提供了被设计为执行应用程序以根据应用程序的编码大小来确定其操作条件的处理单元本身的使用,以及以如下方式配置的处理单元的使用:处理单元将其自身配置为潜在地控制其自身的重启,从而在程序存储器内搜索应用程序的指令。
2、根据一个方面,提供了用于管理处理单元的操作的方法,处理单元被设计为执行利用可能具有不同参考大小(例如,32位或64位)的指令而被编码的应用程序,方法包括:利用启动指令的集合来启动处理单元,该启动指令的集合具有取自参考大小之间的大小(例如,32位);向处理单元递送表示应用程序的所述指令的参考大小的选择信号;以及在由选择信号表示的参考大小与启动指令的大小不同的情况下,由处理单元生成重启命令,并基于该重启命令对处理单元进行重新配置和重启,以便其执行应用程序的指令。
3、处理单元因此被配置用于启动具有默认大小(固定大小)的指令集,然后用于确定应用程序的指令的大小,并且可以在对其自身进行重新配置时将其自身重启,以执行应用程序的指令。
4、该重启命令尤其允许将处理单元的寄存器复位,并且特别地,包含应用程序的指令的存储器地址允许处理单元通过执行应用程序的指令指向该地址来进行重启。
5、换言之,在处理单元的第一启动(或“冷”启动)与片上系统的启动重合时,处理单元执行在启动存储器中包含的启动指令,然后在处理单元的重启(换言之,稍后的本地启动或“热”启动)时(由于未复位,片上系统本身未启动),经重新配置的处理单元执行应用程序的指令。
6、因此,不需要协同处理器来执行对处理单元(微处理器)的管理。
7、处理单元通常连接到总线。
8、因此,根据一个实施例,响应于由处理单元生成的重启命令,并且当满足以下两个条件时:没有数据正在通过总线进行传输,并且处理单元未在执行任何操作,执行处理单元的重新配置和重启来执行应用程序的指令。
9、这样可以避免在重启处理单元时通过总线传输虚拟数据。
10、根据另一实施例,方法包括:在由选择信号表示的参考大小是启动指令的大小的情况下,由处理单元执行应用程序,而不重启处理单元。
11、然而,响应于由处理单元生成的重启命令,并且在满足以下两个条件时:没有数据正在通过总线进行传输,并且处理单元未在执行任何操作,即使在由选择信号表示的参考大小是启动指令的大小的情况下,也可以考虑执行处理单元的重启来执行应用程序的指令。
12、因此,这里再次避免了在重启处理单元时通过总线传输的虚拟数据。
13、根据一个实施例,当处理单元与高速缓存存储器相关联时,在高速缓存存储器进一步不活动时,执行处理单元的重启。
14、因此,避免了在处理单元重启时在高速缓存存储器中存储的虚拟数据。
15、根据一个实施例,选择信号包括例如从sd卡复制的数字字或所述应用程序的报头。
16、数字字例如可以存储在一次可编程(otp)类型的寄存器中,或者由用户递送到集成电路的输入。
17、尽管可以提供多于两个的参考大小,但是通常处理单元被设计为执行利用能够具有两个不同参考大小的指令编码的应用程序。
18、例如,两个参考大小分别等于32位和64位。
19、根据另一方面,提供了集成电路或片上系统,其包括:程序存储器,被配置用于存储能够具有不同参考大小的应用程序的指令;启动存储器部件,被配置用于存储具有参考大小之一的启动指令的集合;处理单元,被设计为执行所述应用程序,并被配置用于接收表示应用程序的所述指令的参考大小的选择信号;以及控制部件,被配置用于利用启动指令的集合来启动处理单元,并且在由选择信号表示的参考大小与启动指令的大小不同的情况下,接收由处理单元递送的重启命令,并使用该启动命令来将处理单元进行重新配置并重启,以便其执行应用程序的指令。
20、根据一个实施例,集成电路还包括连接到处理单元的总线,并且控制部件被配置用于对处理单元进行重新配置和重启,以便其响应于由处理单元生成的所述重启命令并在满足以下两个条件时:没有数据正在通过总线被传输,并且处理单元未在执行任何操作,执行应用程序的指令。
21、根据另一实施例,在由选择信号表示的参考大小是启动指令的大小的情况下,处理单元被配置为在不预先重启的情况下执行应用程序。
22、根据又一实施例,集成电路还包括连接到处理单元的总线,并且控制部件被配置用于对处理单元进行重新配置和重启,以便其在由选择信号表示的参考大小是启动指令的大小的情况下,响应于由处理单元生成的重启命令并在满足以下两个条件时:没有数据正在通过总线传输,并且处理单元未在执行任何操作,执行应用程序的指令。
23、根据又一实施例,当集成电路还包括与处理单元相关联的高速缓存存储器时,控制部件被配置用于当高速缓存存储器还不活动时,对处理单元进行重新配置和重启。
24、根据又一实施例,处理单元包括复位引脚,并且控制部件包括复位控制器,复位控制器被配置用于在所述引脚上递送启动信号,以在默认情况下,利用启动指令的集合来启动处理单元。
25、根据又一实施例,控制部件包括重启级,重启级被配置用于响应于由处理单元生成的重启命令并且在满足所有上述条件(前述)时,将重启信号递送到所述复位引脚上。
26、根据又一实施例,重启级包括逻辑电路,逻辑电路被配置用于接收所述重启命令和与所述条件相对应的输入信号,并且用于将重启信号递送到所述复位引脚上。
27、根据又一实施例,控制部件被配置用于在重启时向处理单元递送表示所表示的参考大小的第一指示和表示应用程序的指令的存储地址的第二指示。
28、根据又一实施例,控制部件包括:在每次启动之后(换言之,在每次“冷”启动之后)一次可写并且意图包含第一指示的第一存储器、以及被设计用于存储第二指示的第二存储器,并且处理单元被配置为将这两个指示存储在两个相应存储器中以进行重启。
29、根据又一实施例,集成电路包括辅助存储器,辅助存储器被设计为存储表示选择信号的数字字。
30、根据又一实施例,处理单元被配置用于读取形成所述选择信号的应用程序报头。
31、根据又一实施例,集成电路包括被设计为接收选择信号的通信接口。
32、根据另一实施例,处理单元被设计为执行利用能够具有两个不同参考大小的指令编码的应用程序。
33、优选地,两个参考大小分别等于32位和64位。
34、根据另一方面,提供了并入如上文所限定的集成电路的装置。
本文地址:https://www.jishuxx.com/zhuanli/20240819/274871.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。