CN111078301A - 一种多核心运算装置及其运作方法 - Google Patents
一种多核心运算装置及其运作方法 Download PDFInfo
- Publication number
- CN111078301A CN111078301A CN201811226923.3A CN201811226923A CN111078301A CN 111078301 A CN111078301 A CN 111078301A CN 201811226923 A CN201811226923 A CN 201811226923A CN 111078301 A CN111078301 A CN 111078301A
- Authority
- CN
- China
- Prior art keywords
- program
- core
- main program
- management
- section
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000006870 function Effects 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 40
- 230000003068 static effect Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000007726 management method Methods 0.000 description 65
- 238000010586 diagram Methods 0.000 description 10
- 238000011017 operating method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 239000002184 metal Substances 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种多核心运算装置的运作方法,多核心运算装置具有多核心处理器,包括以下的步骤:以多核心处理器的第一运算核心执行操作系统;加载管理主程序于操作系统;以多核心处理器的第二运算核心执行独立主程序;依据执行命令判断是否执行第一功能程序;当判断执行第一功能程序时,依据程序管理规则选择性地以管理主程序通过所述第一运算核心执行第一功能程序,或是以独立主程序通过所述第二运算核心执行第一功能程序。
Description
技术领域
本发明是有关于一种多核心运算装置及其运作方法,特别是关于一种执行功能程序的多核心运算装置及其运作方法。
背景技术
视应用需求,运行的软件环境可分成“有操作系统(operation system,OS)”与“无操作系统”两类。在有操作系统的环境下,功能程序可获得操作系统完善的管理以及丰富的函式库支持。但因为操作系统还必须同时运行其它多个软件,单颗中央处理器(centralprocessor unit,CPU)的完整效能没有办法只用来服务一个功能程序。因此,功能程序在有操作系统的环境下的执行速度可能未臻理想。而在无操作系统的环境下,单颗中央处理器的完整效能可用来只服务一个功能程序。因此,功能程序在无操作系统的环境下的执行速度相对较快。但是,无操作系统环境下的程序执行效能虽然较好,却也因此缺少了操作系统所提供的管理与资源。在无操作系统的环境下,功能程序通常是通过无限循环的方式来周期性的重复执行一些固定任务。开发人员或使用者必须花费较大的心力来进行操作。两种软件运作环境各有其优缺点。
举交易程序来说,一般的交易主程序通常是执行在操作系统底下,并配合一或多个决策程序一起使用。各个决策程序的运算复杂度各有高低。在操作系统底下,交易程序可以通过操作系统的管理资源方便地切换不同的决策程序。但反过来说,为了让操作系统能够提供这些管理资源,机器的中央处理器必须负担操作系统的计算负载,而没办法让决策程序以最快的速度获得运算的结果。如此一来,在执行决策程序时,决策程序就有可能比理想中的速度慢了个几秒或几毫秒。但在市场上,即使只差个几秒甚至几毫秒(millisecond,ms),使用者就有可能错失良机,无法以较佳价格进行交易。在另一种情况下,如果是以无操作系统的方式执行决策程序,则每台机器可能只能执行非常少量的决策程序甚至只能执行一个决策程序,而且对于使用者在操作上会是相当不友善的。
发明内容
本发明提供一种多核心运算装置及其运作方法,以克服以往无法在处理效能与系统弹性之间取得平衡的问题。
本发明提出一种多核心运算装置的运作方法。多核心运算装置具有多核心处理器。此多核心运算装置的运作方法具有以下的步骤。以多核心处理器的第一运算核心执行操作系统。加载管理主程序于所述操作系统。以所述多核心处理器的第二运算核心执行独立(stand-alone)主程序。依据执行命令判断是否执行第一功能程序。当判断执行所述第一功能程序时,依据一程序管理规则选择性地以所述管理主程序通过所述第一运算核心执行所述第一功能程序,或是以所述独立主程序通过所述第二运算核心执行所述第一功能程序。
在一个例子中,所述多核心运算装置更包括有内存。所述内存电性连接所述多核心处理器。所述内存例如定义有第一逻辑区段与第二逻辑区段。第二逻辑区段定义有静态子区段与第一动态子区段。所述第一逻辑区段被分配给所述操作系统。第二逻辑区段被分配给独立主程序且第一动态子区段被分配给所述管理主程序。于前述依据所述程序管理规则选择性地以所述管理主程序通过所述第一运算核心执行所述第一功能程序,或是以所述独立主程序通过所述第二运算核心执行所述第一功能程序的步骤中,当判断是以所述独立主程序通过所述第二运算核心执行所述第一功能程序时,以所述管理主程序将所述第一功能程序写入所述第一动态子区段;此外,以所述管理主程序指示所述独立主程序通过所述第二运算核心执行所述第一动态子区段中的内容。
在另一个例子中,所述独立主程序是包括第三功能程序,所述多核心运算装置的运算方法更包括以下步骤。将所述第三功能程序写入所述静态子区段。依据所述执行命令判断执行所述第一功能程序或所述第三功能程序。当判断执行所述第三功能程序时,以所述管理主程序指示所述独立主程序通过所述第二运算核心执行所述静态子区段中的内容。
本发明提出一种多核心运算装置,包括多核心处理器。所述多核心处理器包括第一运算核心与第二运算核心。所述第一运算核心用以执行操作系统与执行管理主程序。当所述操作系统被执行时,所述管理主程序被加载所述操作系统。所述第二运算核心用以执行独立主程序。其中,所述管理主程序依据程序管理规则选择性地通过所述第一运算核心执行所述第一功能程序,或是所述管理主程序依据所述程序管理规则指示所述独立主程序通过所述第二运算核心执行所述第一功能程序。
在一个例子中,多核心运算装置更包括内存。所述内存电性连接所述多核心处理器,所述内存是定义有第一逻辑区段与第二逻辑区段。所述第二逻辑区段定义有静态子区段与第一动态子区段。所述第一逻辑区段被分配给所述操作系统。所述第二逻辑区段被分配给所述独立主程序。所述第一动态子区段更被分配给所述管理主程序。当所述第一功能程序被写入所述第一动态子区段时,所述管理主程序指示所述独立主程序通过所述第二运算核心选择性地执行所述第一动态子区段中的内容。
在另一个例子中,当第二逻辑区段被分配给所述独立主程序时,所述独立主程序的一第三功能程序被写入所述静态子区段中。所述管理主程序指示所述独立主程序通过所述第二运算核心选择性地执行所述静态子区段中的内容或是执行所述第一动态子区段中的内容。
如上述地,本发明提供的多核心运算装置及其运作方法,可以选择性地在有操作系统的环境下或是在无操作系统的环境下执行功能程序。通过适当的程序管理规则,开发人员或是使用者可以让管理程序自行判断要如何分配功能程序于有操作系统的环境或是无操作系统的环境。藉此,提供了相当具有弹性的运算架构,而且并不会造成开发人员与使用者太大的负担。
有关本发明的其它功效及实施例的详细内容,配合附图说明如下。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是绘示依据本发明一实施例的多核心运算装置的功能方块图;
图2是绘示依据本发明一实施例的多核心运算装置的操作方法的步骤流程图;
图3A是绘示依据本发明另一实施例的多核心运算装置的功能方块图;
图3B是绘示依据本发明另一实施例的多核心运算装置的内存配置示意图;
图4是绘示依据本发明另一实施例的多核心运算装置的操作方法的方法流程图;
图5是绘示依据本发明更一实施例的多核心运算装置的功能方块图;
图6是绘示依据本发明再一实施例的多核心运算装置的操作方法的方法流程图;
图7是绘示依据本发明又一实施例的多核心运算装置的内存配置示意图;
图8是绘示依据本发明又一实施例的多核心运算装置的操作方法的方法流程图。
符号说明
1多核心运算装置 11多核心处理器
111第一运算核心 113第二运算核心
13内存 131第一逻辑区段
133第二逻辑区段 1331静态子区段
1333第一动态子区段 1335第二动态子区段
15传输接口
具体实施方式
有关本发明的前述及其它技术内容、特点与功效,在以下配合参考附图的一优选实施例的详细说明中,将可清楚的呈现。以下实施例中所提到的方向用语,例如:上、下、左、右、前或后等,仅是参考附图的方向。因此,使用的方向用语是用来说明并非用来限制本发明。
请参阅图1,图1是绘示依据本发明一实施例的多核心运算装置的功能方块图。多核心运算装置1具有多核心处理器11。多核心运算装置1可以是计算机、手机、平板、具有现场可程序化逻辑门阵列(Field Programmable Gate Array,FPGA)的电路板或其它具有运算能力的电子产品。在一实施例中,多核心运算装置1被配置为一嵌入式系统(embeddedsystem),例如为Advanced RISC Machine(ARM)的架构。依据多核心运算装置1的态样,多核心处理器11可以是相对应的架构及型号,在此并不多加限制。多核心处理器11包括第一运算核心111与第二运算核心113。第一运算核心111用以执行一操作系统与一管理主程序。操作系统例如可以是Unix系统、Linux系统、其它类Unix系统、微软公司的窗口(windows,Inc.)系统或是一般常见的移动操作系统如苹果公司(Apple,Inc.)的iOS或是android系统。所述的操作系统可以直接面对实体机器,也可以搭载在虚拟机器(virtual machine)上。当所述的操作系统被执行时,管理主程序被加载此操作系统。换句话说,管理主程序是执行于操作系统之下,因此管理主程序得以享有操作系统提供的管理资源。第二运算核心113用以执行独立主程序。此处提及的“独立”意味软件设计领域中的“stand-alone”。从另一个角度来说,独立主程序是在无操作系统的环境下被第二运算核心113所执行。或者说,所述的独立主程序是以bare-metal的方式直接执行于第二运算核心113上。
依据图1所公开的多核心运算装置1,本发明尚提供了一种多核心运算装置1的运作方法。请一并参照图2,图2是绘示依据本发明一实施例的多核心运算装置的操作方法的步骤流程图。于步骤S201,以多核心处理器11的第一运算核心111执行操作系统。于步骤S203,加载管理主程序于操作系统。在一实施例中,当多核心运算装置1启动操作系统时,操作系统以加载器(loader)加载管理主程序于内存中。于步骤S205,以所述多核心处理器11的第二运算核心113执行独立主程序。于实务上,多核心运算装置1可以具有一内部储存模块来储存操作系统、管理主程序与独立主程序,或是多核心运算装置1可以自一外部储存模块存取操作系统、管理主程序与独立主程序。所述的内部储存模块例如是各种类型的硬盘(hard drive,HD),所述的外部储存模块例如是各种类型的外接式硬盘。
于步骤S207,依据执行命令判断是否执行第一功能程序。在一实施例中,所述的执行命令例如可以是使用者输入的指令。更详细地来说,使用者可以通过鼠标、键盘或是触控屏幕等输入组件而用手动的方式控制多核心运算装置1,并藉此指示多核心运算装置1执行使用者所欲的功能程序(第一功能程序)。在另一实施例中,所述的执行命令例如可以是随程序时程的安排而被提供的信号。操作系统或是管理主程序中设定有一或多个起始时间点,这些一或多个时间点可以对应相同或是不同的功能程序,或是不对应至任何的功能程序。当系统时间为所述的一或多个时间点,管理主程序即被触发而执行相对应的功能程序(第一功能程序)或是不执行任何的功能程序。
所述的功能程序可以例如是应用程序(application,App),在此并不限制其内容、目的与编码格式。于实务上,第一功能程序可以是预设提供的应用程序,而且是包含于独立主程序下的一内部函式。在一实施例中,当操作系统启动时,操作系统加载多个功能程序。这些功能程序被储存于同一个数据夹。管理主程序用以侦测此数据夹中的功能程序,并据以建构成一数据库(database)以供管理用途。于实务上,功能程序可以是用于证券交易的决策程序。举例来说,不同的功能程序例如对应于不同的商品,或是不同的功能程序是对应于不同的交易策略。或者,功能程序例如为用于车用电子。举例来说,不同的功能程序例如是对应于不同的侦测器(sensor)。或者,功能程序例如为用于监控系统(surveillancesystem)。举例来说,不同的功能程序例如是对应于不同的摄影机,或是不同的功能程序是对应于不同的监控项目,如影像中的对象、温度、声音或是红外线等。上述仅为举例示范,功能程序所能应用的范围或所执行运算的内容并不以此为限。
于步骤S209,当判断执行所述第一功能程序时,依据一程序管理规则选择性地以所述管理主程序通过所述第一运算核心111执行所述第一功能程序,或是以所述独立主程序通过所述第二运算核心113执行所述第一功能程序。程序管理规则例如关联于第一功能程序的运算复杂度、第一运算核心111的运算负载、第二运算核心113的运算负载、第一运算核心111相对应的资源与第二运算核心113相对应的资源。更详细地来说,由于独立主程序是执行于无操作系统的环境下,因此以独立主程序通过第二运算核心113来执行功能程序的效能会高于以管理主程序通过第一运算核心111来执行功能程序的效能。故在一实施例中,当第一功能程序的运算复杂度低于一预设的运算复杂度时,管理主程序自身会通过第一运算核心111执行第一功能程序,以将较高的效能保留给其它的功能程序,同时避免额外的数据传输。当第一功能程序的运算复杂度高于一预设的运算复杂度时,管理主程序会将欲执行的第一功能程序交给独立主程序,以利用较高的效能执行第一功能程序。如何将欲执行的第一功能程序交给独立主程序的相关细节请容后再叙。
延续前述,在另一实施例中,进一步考虑到第一运算核心111与第二运算核心113被分配到的资源,如果管理主程序已经可以用足够的速度通过第一运算核心111执行第一功能程序,则管理主程序会通过第一运算核心111执行第一功能程序。反之,如果以管理主程序执行第一功能程序的速度不够快,则管理主程序将第一功能程序交给独立主程序,让独立主程序已较佳的执行速度来执行第一功能程序。程序管理规则可以再考虑其它参数变因并再加入其它判断条件,所属技术领域具有通常知识者经详阅本说明书后当可依据实际所需对程序管理规则进行设计,而不限于上述各实施例。
通过本发明所提供的多核心运算装置及其运算方法,多核心运算装置可以选择性地以第一运算核心或是第二运算核心执行第一功能程序,让第一功能程序被以较快的速度执行。
于实务上,当程序是执行于无操作系统的环境下时,这样的程序通常会以无穷循环型态不断被执行,程序内容不太有改变的空间。然而,本发明的多核心运算装置及其操作方法可以在尽可能保有原有效能的情况下,提升前述的独立主程序的架构弹性。请参照图3A与图3B以对此进行说明,图3A是绘示依据本发明另一实施例的多核心运算装置的功能方块图,图3B是绘示依据本发明另一实施例的多核心运算装置的内存配置示意图。相较于图1所示的实施例,在图3A、图3B所示的实施例中,多核心运算装置1更具有内存13。内存13电性连接多核心处理器11。内存13例如为挥发性内存(volatile memory)。更具体地,在与多核心运算装置1的其它组件兼容的前提下,内存13可以是各种类型的动态随机存取内存(dynamic random access memory,DRAM)或静态随机存取内存(static random accessmemory,SRAM)。
内存13中定义有第一逻辑区段131与第二逻辑区段133。第二逻辑区段133定义有静态子区段1331与第一动态子区段1333。第一逻辑区段131被分配给操作系统。第二逻辑区段133被分配给独立主程序。第一动态子区段1333被分配给管理主程序。所谓分配指的是管理主程序或独立主程序可以分别存取各自被分配到的内存区段。于实务上,第一逻辑区段131可以存有管理主程序所需的参数数据,甚或是存有管理主程序的程序代码。第二逻辑区段133可以存有独立主程序所需的参数数据,甚或是存有独立主程序的程序代码。第一逻辑区段131可以定义于操作系统启动时或管理主程序启动时,第二逻辑区段133可以定义于管理主程序启动时或独立主程序启动时。在此并不限制各内存区段被定义的时间点。各内存区段可以不重叠也可以部分重叠,端看设计人员的实务考虑与规划。
虽然在此是举单一个内存13为例来说明,但多核心运算装置1实际上可以具有多个内存13。这些内存在物理上可以分属不同个体,但经过共同编址,这些内存13的内存空间在逻辑上还是可以为一整体。在另一种做法中,这些内存13也可以不经共同编址,而被分别存取。另外需说明的是,在图3B以及后续图式是以多个彼此相接的矩形来示意定义于内存13中的第一逻辑区段131、静态子区段1331与第一动态子区段1333,但图面中的各矩形的相对大小并不用以限制第一逻辑区段131、静态子区段1331与第一动态子区段1333实际储存空间的相对大小,且图面中的各矩形的相对位置并不用以限制各内存区段对应的逻辑地址的相对前后顺序。甚至,第一逻辑区段131、静态子区段1331与第一动态子区段1333在物理上也可以是多个不连续的内存区段。
管理主程序指示独立主程序通过第二运算核心113选择性地执行第一动态子区段131中的内容。请一并参照图4以对此作进一步说明,图4是绘示依据本发明另一实施例的多核心运算装置的操作方法的方法流程图。在步骤S401中,当判断是以独立主程序通过第二运算核心113执行第一功能程序时,以管理主程序将第一功能程序写入第一动态子区段1333。在步骤S403中,以管理主程序指示独立主程序通过第二运算核心113执行第一动态子区段1333中的内容。
如前述地,独立主程序是以bare-metal的方式执行于第二运算核心113,因此独立主程序无法直接通过操作系统的管理资源存取其它程序。而依据前述的方法,当多核心运算装置1将第一功能程序写入第二逻辑区段133中的第一动态子区段1333时,独立主程序可通过存取第二逻辑区段133中的第一动态子区段1333而取得第一功能程序。在一实施例中,第一功能程序例如先被写入第一逻辑区段131的某一段内存区段中。当判断以独立主程序通过第二运算核心113执行第一功能程序时,管理主程序是将第一功能程序以内存镜射的方式写入第一动态子区段1333中,以加快写入数据至第一动态子区段1333的速度。
另一方面,在程序排程协调得当的情况下,管理主程序也可以写入新的数据于第一动态子区段1333中,以更新第一动态子区段1333中的内容。更具体地来说,在独立主程序没有通过第二运算核心113执行第一动态子区段1333中的内容时,管理主程序可以写入另一个功能程序于第一动态子区段1333中,而覆盖掉第一动态子区段1333中的内容。之后,当独立主程序再次执行第一动态子区段1333中的内容时,即为执行新的功能程序。藉此,在软硬件容许的情况下,管理主程序可以让独立主程序执行任意的功能程序。
请一并参照图5,图5是绘示依据本发明更一实施例的多核心运算装置的功能方块图。在图5的实施例中,多核心运算装置1更具有传输接口15。传输接口电性连接多核心处理器11。传输接口15例如可以支持以太网络(ethernet)的通讯标准,或是传输接口15也可以是PCIe接口,或是传输接口15也可以被设计为支持WIFI、蓝牙(bluetooth)等无线通讯标准,或是传输接口15也可以被设计为支持第二代(second generation,2G)移动通讯技术、第三代(third generation,3G)移动通讯技术或第四代(fourth generation,4G)移动通讯技术。上述举例并不用以限制传输接口15的实作态样。传输接口15用以接收一第二功能程序。当传输接口15接收到第二功能程序时,管理主程序可如前述地依据程序管理规则通过第一运算核心111执行第二功能程序,或是管理主程序依据程序管理规则指示独立主程序通过第二运算核心113执行第二功能程序。于实务上,第二功能程序也可以如前述的第一功能程序而依据前述实施例中的方式被选择性地写入第一动态子区段1333。藉此,使用者可以实时地提供不同的功能程序给多核心运算装置1进行运算,且多核心运算装置1同样可依据程序管理规则而选择性地经由第一运算核心111或是第二运算核心113执行使用者提供的功能程序。
在本发明的部分实施例中,独立主程序除了能执行管理主程序提供的功能程序之外,独立主程序更能选择性地执行多个功能程序其中之一。请接着参照图6,图6是绘示依据本发明再一实施例的多核心运算装置的操作方法的方法流程图。于步骤S601中,将第三功能程序写入静态子区段1331。于步骤S603中,依据执行命令判断执行第一功能程序或第三功能程序。于步骤S605中,当判断执行第三功能程序时,以管理主程序指示独立主程序通过第二运算核心113执行静态子区段中的内容。
在图6所示的实施例中,第三功能程序的程序代码是与独立主程序的程序代码互为独立,但第三功能程序所分配到的部分内存区段例如包括于所述的独立主程序中。在第二逻辑区段133被分配给独立主程序后,第三功能程序被写入第二逻辑区段133的静态子区段1331中。此时,对独立主程序来说,独立主程序能够存取的第二逻辑区段133中存有第三功能程序(位于静态子区段1331中),且有可能存有第一功能程序(位于第一动态子区段1333中)。依据执行命令,管理主程序提供信号指示独立主程序执行静态子区段中的内容或第一动态子区段中的内容,以选择性地执行第三功能程序或是第一功能程序。于实务上,管理主程序可以经由芯片内建内存(on chip memory,OCM)提供指示给独立主程序。在一实施例中,管理主程序例如依据执行命令而写入相对应的参数值到芯片内建内存中的至少一预设地址所对应的储存空间,独立主程序则读取所述至少一预设地址所对应的储存空间以取得管理主程序所提供的参数值。于实务上,独立主程序例如被设定好每隔一段预设时间即读取所述的储存空间。独立主程序是依据读取得的参数值而执行相对应的内存区段(静态子区段或是第一动态子区段)。于实务上,独立主程序中可通过条件判断配合读取得的参数值来切换执行各功能程序。在上述实施例中是举参数值为例说明,然管理主程序所提供的数据态样并不以此为限。
如前述地,当程序是以bare-metal的方式直接执行于硬件上的时候,这样的程序通常不太具有改变的空间。但是,通过如图6所示的实施例提到的方法,本发明所提供的多核心运算装置及其运作方法中的独立主程序得以依据管理主程序的指示切换执行不同的功能程序,而获得更大的弹性。而且相较于写入新的功能程序于第一动态子区段1333来让独立主程序执行不同的功能程序,图6的实施例所提供的方法可以更快地让独立主程序切换执行不同的功能程序。
请参照图7,图7是绘示依据本发明又一实施例的多核心运算装置的内存配置示意图。第二逻辑区段133更定义有第二动态子区段1335。第二运算核心113依据受控于管理主程序的独立主程序的指示而选择性地执行第一动态子区段1333中的内容或执行第二动态子区段1335中的内容。其中,当第二运算核心113执行第一动态子区段1333与第二动态子区段1335其中之一中的内容时,管理主程序依据程序管理规则而指示独立主程序选择性地执行第一动态子区段1333与第二动态子区段1335其中之另一中的内容。于实务上,管理主程序可以写入数据至第一动态子区段1333或第二动态子区段1335。因此,理想上,在独立主程序并未存取第二动态子区段1335之时,管理主程序可以写入数据于第二动态子区段1335以提供新的功能程序于第二动态子区段1335中。反过来说,在独立主程序并未存取第一动态子区段1333之时,管理主程序可以写入数据于第一动态子区段1333以提供新的功能程序于第一动态子区段1333中。
对应于图7所述的实施例,请一并参照图8,图8是绘示依据本发明再一实施例的多核心运算装置的操作方法的方法流程图。于步骤S801,依据程序管理规则判断以管理主程序通过第一运算核心111执行一第四功能程序,或以独立主程序通过第二运算核心113执行第四功能程序。于步骤S803,当判断以独立主程序通过第二运算核心113执行第四功能程序,且独立主程序正执行被写入于第一动态子区段1333中的第一功能程序时,以管理主程序将第四功能程序写入第二动态子区段1335中。于步骤S805,依据执行命令判断是否执行第四功能程序。于步骤S807,当判断执行第四功能程序时,以管理主程序指示独立主程序通过第二运算核心113选择性地执行第二动态子区段1335中的内容。
藉此,管理主程序不需等待独立主程序执行完第一动态子区段1333中的第一功能程序,而可以实时地提供第四功能程序给独立主程序。当独立主程序执行完第一动态子区段1333中的第一功能程序,独立主程序即可切换执行第四功能程序。相仿地,前述经传输接口15取得的第二功能程序也可以依据此实施例中的方式被选择性地写入第一动态子区段1333或第二动态子区段1335。
综上所述,本发明提供了一种多核心运算装置及其运作方法,以多核心运算装置来说,多核心运算装置的第一运算核心用以执行一操作系统。当操作系统被执行时,操作系统加载有一管理主程序。多核心运算装置的第二运算核心用以执行一独立主程序。此多核心运算装置可用来执行一或多个功能程序。当管理主程序依据一执行命令判断要执行一第一功能程序时,管理主程序可更依据一程序管理规则来决定将此第一功能程序配置给多核心运算装置的多个运算核心的其中之一来执行。藉此,在以往的多核心处理架构下,让厂商跟使用者可以更有弹性地运用各个运算核心,并可提升运算的效能。
以上所述的实施例及/或实施方式,仅是用以说明实现本发明技术的较佳实施例及/或实施方式,并非对本发明技术的实施方式作任何形式上的限制,任何本领域技术人员,在不脱离本发明内容所公开的技术手段的范围,当可作些许的更动或修改为其它等效的实施例,但仍应视为与本发明实质相同的技术或实施例。
Claims (9)
1.一种多核心运算装置的运作方法,适用于一多核心运算装置,该多核心运算装置具有一多核心处理器,其特征在于,该多核心运算装置的运作方法包括:
以该多核心处理器的一第一运算核心执行一操作系统;
加载一管理主程序于该操作系统;
以该多核心处理器的一第二运算核心执行一独立主程序;
依据一执行命令判断是否执行一第一功能程序;以及
当判断执行该第一功能程序时,依据一程序管理规则选择性地以该管理主程序通过该第一运算核心执行该第一功能程序,或是以该独立主程序通过该第二运算核心执行该第一功能程序。
2.如权利要求1所述的多核心运算装置的运作方法,其特征在于,该多核心运算装置更包括一内存,该内存电性连接该多核心处理器,该内存定义有一第一逻辑区段与一第二逻辑区段,该第二逻辑区段定义有一第一动态子区段,该第一逻辑区段被分配给该操作系统,该第二逻辑区段被分配给该独立主程序,该第一动态子区段更被分配给该管理主程,于依据该程序管理规则选择性地以该管理主程序通过该第一运算核心执行该第一功能程序,或是以该独立主程序通过该第二运算核心执行该第一功能程序的步骤中,该多核心运算装置的运作方法更包括:
当判断是以该独立主程序通过该第二运算核心执行该第一功能程序时,以该管理主程序将该第一功能程序写入该第一动态子区段;以及
以该管理主程序指示该独立主程序通过该第二运算核心执行该第一动态子区段中的内容。
3.如权利要求2所述的多核心运算装置的运作方法,其特征在于,该多核心运算装置更具有一传输接口,该传输接口用以接收一第二功能程序,该运算方法更包括:
当该运算装置以该传输接口接收到该第二功能程序时,依据该执行命令判断是否执行该第二功能程序;以及
当判断执行该第二功能程序时,依据该程序管理规则选择性地以该管理主程序通过该第一运算核心执行该第二功能程序,或是以该独立主程序通过该第二运算核心执行该第二功能程序。
4.如权利要求2所述的多核心运算装置的运作方法,其中该第二逻辑区段定义有一第二动态子区段,其特征在于,更包括:
依据该程序管理规则判断以该管理主程序通过该第一运算核心执行一第四功能程序,或以该独立主程序通过该第二运算核心执行该第四功能程序;
当判断以该独立主程序通过该第二运算核心执行该第四功能程序,且该独立主程序正执行被写入于该第一动态子区段中的该第一功能程序时,以该管理主程序将该第四功能程序写入该第二动态子区段中;
依据该执行命令判断是否执行该第四功能程序;以及
当判断执行该第四功能程序时,以该管理主程序指示该独立主程序通过该第二运算核心选择性地执行该第二动态子区段中的内容。
5.一种多核心运算装置,其特征在于,包括:
一多核心处理器,包括:
一第一运算核心,用以执行一操作系统与执行一管理主程序,当该操作系统执行时,该管理主程序被加载该操作系统;以及
一第二运算核心,用以执行一独立主程序;
其中,该管理主程序依据一程序管理规则选择性地通过该第一运算核心执行一第一功能程序,或是该管理主程序依据该程序管理规则指示该独立主程序通过该第二运算核心执行该第一功能程序。
6.如权利要求5所述的多核心运算装置,其特征在于,更包括一内存,该内存电性连接该多核心处理器,该内存是定义有一第一逻辑区段与一第二逻辑区段,该第二逻辑区段定义有一静态子区段与一第一动态子区段,该第一逻辑区段被分配给该操作系统,该第二逻辑区段被分配给该独立主程序,该管理主程序选择性地将该第一功能程序写入该第一动态子区段,且该管理主程序指示该独立主程序通过该第二运算核心选择性地执行该第一动态子区段中的内容。
7.如权利要求6所述的多核心运算装置,其特征在于,该多核心运算装置更具有一传输接口,该传输接口用以接收一第二功能程序,当该传输接口接收到该第二功能程序时,该管理主程序依据该执行命令与该程序管理规则选择性地将该第二功能程序写入该第一动态子区段中。
8.如权利要求6所述的多核心运算装置,其特征在于,当该第二逻辑区段被分配给该独立主程序时,该独立主程序的一第三功能程序被写入该静态子区段中,该管理主程序指示该独立主程序通过该第二运算核心选择性地执行该静态子区段中的内容或是执行该第一动态子区段中的内容。
9.如权利要求6所述的多核心运算装置,其特征在于,该第二逻辑区段更定义有一第二动态子区段,该第二运算核心依据受控于该管理主程序的该独立主程序的指示选择性地执行该第一动态子区段中的内容或执行该第二动态子区段中的内容;
其中,当该第二运算核心执行该第一动态子区段与该第二动态子区段其中之一中的内容时,该管理主程序依据依程序管理规则选择性地更新该第一动态子区段与该第二动态子区段其中之另一中的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811226923.3A CN111078301B (zh) | 2018-10-22 | 2018-10-22 | 一种多核心运算装置及其运作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811226923.3A CN111078301B (zh) | 2018-10-22 | 2018-10-22 | 一种多核心运算装置及其运作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078301A true CN111078301A (zh) | 2020-04-28 |
CN111078301B CN111078301B (zh) | 2023-11-21 |
Family
ID=70309625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811226923.3A Active CN111078301B (zh) | 2018-10-22 | 2018-10-22 | 一种多核心运算装置及其运作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078301B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590508A (zh) * | 2021-09-30 | 2021-11-02 | 沐曦科技(北京)有限公司 | 动态可重构的内存地址映射方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN101901207A (zh) * | 2010-07-23 | 2010-12-01 | 中国科学院计算技术研究所 | 异构共享存储多处理机系统的操作系统及其工作方法 |
CN102662740A (zh) * | 2012-03-29 | 2012-09-12 | 迈普通信技术股份有限公司 | 非对称多核系统及其实现方法 |
-
2018
- 2018-10-22 CN CN201811226923.3A patent/CN111078301B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN101901207A (zh) * | 2010-07-23 | 2010-12-01 | 中国科学院计算技术研究所 | 异构共享存储多处理机系统的操作系统及其工作方法 |
CN102662740A (zh) * | 2012-03-29 | 2012-09-12 | 迈普通信技术股份有限公司 | 非对称多核系统及其实现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590508A (zh) * | 2021-09-30 | 2021-11-02 | 沐曦科技(北京)有限公司 | 动态可重构的内存地址映射方法及装置 |
CN113590508B (zh) * | 2021-09-30 | 2022-02-11 | 沐曦科技(北京)有限公司 | 动态可重构的内存地址映射方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111078301B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10055218B2 (en) | System and method for adding and storing groups of firmware default settings | |
US7107441B2 (en) | Pre-boot interpreted namespace parsing for flexible heterogeneous configuration and code consolidation | |
US6401198B1 (en) | Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use | |
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
US20100268862A1 (en) | Reconfigurable processor and method of reconfiguring the same | |
CN102200921A (zh) | 智能引导设备选择和恢复 | |
CN102165418A (zh) | 涡轮引导系统和方法 | |
CN104603750A (zh) | 使用bpram来布局和执行软件应用 | |
US20140067879A1 (en) | Application management for a terminal | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
CN104583948A (zh) | 使用bpram来布局和执行操作系统 | |
CN111989656A (zh) | 可配置的恢复状态 | |
US5963738A (en) | Computer system for reading/writing system configuration using I/O instruction | |
WO2013035246A1 (ja) | 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路 | |
CN111290836A (zh) | 虚拟机快照创建方法、装置、存储介质及计算机设备 | |
CN111078301B (zh) | 一种多核心运算装置及其运作方法 | |
US11593003B2 (en) | Method and systems for recommending storage management actions based on capacities of storage systems | |
US6282645B1 (en) | Computer system for reading/writing system configuration using I/O instruction | |
CN109388505B (zh) | 一种基于Android的异步多任务顺序加载方法 | |
US10761892B2 (en) | Method and electronic device for executing data reading/writing in volume migration | |
US11340882B2 (en) | Systems and methods for enforcing update policies while applying updates from bootable image file | |
CN111868698A (zh) | 空闲空间直通 | |
TWI698798B (zh) | 一種多核心運算裝置及其運作方法 | |
KR20100050098A (ko) | 영상처리장치 및 그 제어 방법 | |
CN113272785A (zh) | 一种挂载文件系统的方法、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |