CN104731577A - 多系统和启动所述多系统的方法 - Google Patents

多系统和启动所述多系统的方法 Download PDF

Info

Publication number
CN104731577A
CN104731577A CN201410804976.4A CN201410804976A CN104731577A CN 104731577 A CN104731577 A CN 104731577A CN 201410804976 A CN201410804976 A CN 201410804976A CN 104731577 A CN104731577 A CN 104731577A
Authority
CN
China
Prior art keywords
core
memory
start image
unit
image
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
Application number
CN201410804976.4A
Other languages
English (en)
Other versions
CN104731577B (zh
Inventor
权奇德
李松昊
韩昊成
郑善镛
李炫东
赵城峯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hanhua Vision Co ltd
Original Assignee
Samsung Techwin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Techwin Co Ltd filed Critical Samsung Techwin Co Ltd
Publication of CN104731577A publication Critical patent/CN104731577A/zh
Application granted granted Critical
Publication of CN104731577B publication Critical patent/CN104731577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8038Associative processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Abstract

一种多系统和启动所述多系统的方法。一种启动包括第一核和第二核的多系统的方法包括:运行第一核的启动加载器;将第一核的网络接口设置为启用状态;检测连接到第一核的网络接口的第二核;将第一核的第一存储器映射到第二核的第二存储器;将第一核的启动映像和第二核的启动映像加载到第一存储器中;通过网络将加载到第一存储器中的第二核的启动映像传输到第二核。

Description

多系统和启动所述多系统的方法
本申请要求于2013年12月20日提交到韩国知识产权局的第10-2013-0160702号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部合并于此。
技术领域
与示例性实施例一致的设备和方法涉及一种多系统和启动所述多系统的方法。
背景技术
随着系统构造变得复杂且细分化,广泛使用具有两个或更多个中央处理器(CPU)的多系统。CPU独立运行操作系统并处理数据。另外,CPU可通过经由无线网络或有线网络的通信,来相互发送数据和接收数据。
如果在每个CPU中设置闪速存储器来启动CPU,则由于每个闪速存储器需要单独升级,因此这种方式不仅成本高,而且管理复杂。虽然在通过使用闪速存储器启动单个装置之后,该单个装置会帮助启动其它装置,但是这会造成较长的启动时间。
在此背景部分公开的信息对发明者而言在发明者获得本申请的发明构思之前已经是已知的,或者是在获得本发明构思的过程中获取的技术信息。因此,在此背景部分公开的信息会包含未形成公众已知的现有技术的信息。
发明内容
示例性实施例提供一种多系统和启动所述多系统的方法。
各个方面部分地将在以下描述中阐述,部分地将从描述中是清楚的,或者可通过本示例性实施例的实践而得知。
根据一示例性实施例的方面,提供一种启动多系统的方法,所述方法可包括:运行第一核的启动加载器;将第一核的网络接口设置为启用状态;检测是否存在连接到第一核的网络接口的第二核;如果检测到第二核,则将第一核的第一存储器映射到第二核的第二存储器;将第一核的启动映像和第二核的启动映像加载到第一存储器;通过网络将加载到第一存储器中的第二核的启动映像传输到第二核。
网络可以是外围组件互连快速(PCIe)网络。
所述方法还可包括响应于传输而将第二核的启动寄存器设置为启用状态。
所述方法还可包括基于第一核的启动图像而启动第一核的内核。
启动步骤可包括:如果第二核被检测到,则基于第一核的启动图像而启动第一核的内核;如果第二核未被检测到,则响应于将第一核的启动图像加载到第一存储器而启动第一核的内核。
加载步骤可包括将第二核的启动映像加载到第一存储器的预定位置。传输步骤可包括通过将被加载到第一存储器的预定位置的第二核的启动映像记录到第二存储器的预定位置来传输第二核的启动映像,其中,第二存储器的预定位置被映射到第一存储器的预定位置。
所述多系统还可包括另一存储器(诸如,闪速存储器)。加载步骤可包括加载来自所述另一存储器的第一核的启动映像和第二核的启动映像。
根据另一示例性实施例的方面,提供一种连接到第二核的第一核。所述第一核可包括:第一启动加载器运行单元,被配置为运行第一核的启动加载器;网络激活单元,被配置为将第一核的网络接口设置为启用状态;装置检测器,被配置为检测是否存在连接到第一核的网络接口的第二核;存储器映射单元,被配置为如果第二核被检测到则将第一核的第一存储器映射到第二核的第二存储器;启动映像加载单元,被配置为如果第二核被检测到则将第一核的启动映像和第二核的启动映像加载到第一存储器;启动映像传输单元,被配置为通过网络将加载到第一存储器中的第二核的启动映像传输到第二核。
网络可以是外围组件互连快速(PCIe)网络。
所述第一核还可包括启动寄存器设置单元,启动寄存器设置单元被配置为响应于第二核的启动映像通过网络传输到第二核,将第二核的启动寄存器设置为启用状态。
所述第一核还可包括被配置为基于第一核的启动映像而启动第一核的内核的第一启动单元。
如果通过装置检测器检测到第二核,则第一启动单元可响应于第二核的启动映像传输到第二核而启动第一核的内核;如果通过装置检测器未检测到第二核,则第一启动单元在第一核的启动映像被加载之后启动第一核的内核。
启动映像加载单元可将第二核的启动映像加载到第一存储器的预定位置。启动映像传输单元可通过将加载到第一存储器的预定位置的第二核的启动映像记录到第二核的预定位置来传输第二核的启动映像,其中,第二存储器的预定位置被映射到第一存储器的预定位置。
仍根据另一示例性实施例的方面,提供一种多系统,所述多系统包括:上述的第一核和第二核。第二核可包括:第二存储器,映射到第一核的第一存储器并被配置为加载从第一存储器传输的第二核的启动映像;第二启动加载器运行单元,被配置为响应于第二核的启动寄存器被设置为启用状态而运行包括在第二核的启动映像中的第二核的启动加载器;第二启动单元,被配置为基于第二核的启动映像而启动第二核的内核。这里,第一核还可包括启动寄存器设置单元,启动寄存器设置单元被配置为响应于第二核的启动映像通过网络传输到第二核,将第二核的启动寄存器设置为启用状态。
第二核的启动加载器可被包括在第二核的启动映像中,第二核的启动映像被记录在第二存储器的预定位置。
仍根据另一示例性实施例的方面,提供一种连接到第一核的第二核,所述第二核可包括:第二存储器,映射到第一核的第一存储器并被配置为加载从第一存储器传输的第二核的启动映像;第二启动加载器运行单元,被配置为响应于第二核的启动寄存器通过第一核的启动寄存器设置单元被设置为启用状态,而运行包括在第二核的启动映像中的第二核的启动加载器;第二启动单元,被配置为基于第二核的启动映像而启动第二核的内核。
响应于第二核的启动映像从第一存储器传输到第二存储器,第二核的启动寄存器被设置为启用状态。
以上实施例可通过使用系统、方法、计算机程序或其组合来实现。
附图说明
通过以下结合附图对示例性实施例的描述,这些和/或其它方面将变得清楚和更易于理解,在所述附图中:
图1是根据示例性实施例的多系统的构造的框图;
图2是根据示例性实施例的图1的多系统的详细框图;
图3是根据示例性实施例的启动控制器的构造的示图;
图4是根据示例性实施例的闪速存储器映射的示图;
图5是根据示例性实施例的存储器映射的示例的示图;
图6是根据示例性实施例的在第一核中运行的启动多系统的方法的流程图;
图7是根据示例性实施例的在第二核中运行的启动多系统的方法的流程图。
具体实施方式
由于本发明构思允许各种改变和许多实施例,因此示例性实施例将在附图中示出并在写出的描述中进行详细描述。参考根据附图详细描述的实施例,本发明构思的实施例的效果和特征以及实现所述效果和特征的方法将是清楚的。本实施例可具有不同形式并且不应被解释为限于在此阐述的描述。当诸如“……中的至少一个”的表述在一列元件之后出现时,该表述修饰整个所列出的元件而不修饰所列出的个别元件。
下文将参照附图详细描述本实施例,其中,相同的参考标记始终表示相同的元件。相同元件的描述将不再重复。
将理解,虽然可在此使用术语“第一”、“第二”等来描述各种组件,但是这些组件不应被这些术语所限制。这些组件仅用来将一组件与另一组件区分开。
如在此使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。
还将理解在此使用的术语“包括”和/或“包含”表示存在所陈述的特征或组件,但不排除存在或添加一个或更多个其它特征或组件。
为了便于解释,可夸大附图中的组件大小。换句话说,由于为了便于解释而任意示出附图中的组件的大小和厚度,因此以下实施例不受此限制。
图1是根据示例性实施例的多系统1的构造的框图。
参照图1,根据示例性实施例的多系统1包括第一核10、第二核20和闪速存储器30。
根据实施例的多系统1包括可独立操作的多个核。所述多个核均可包括中央处理器(CPU)和存储器。每个核的操作系统可独立操作和启动。也就是说,根据示例性实施例,在多系统1中的全部核可被启动以操作多系统1。然而,所述多个核可通过使用连接到所述多个核中的任意一个的单个闪速存储器来启动。
所述多个核可通过网络进行相互通信并在系统中不同地运行。例如,如果根据示例性实施例的多系统1是监控系统,则第一核10可从相机接收映像并处理映像,第二核20可通过网络从第一核10接收映像、处理映像并通过显示装置输出所处理的映像。网络可以是有线网络或无线网络,并可使用(例如)外围组件互连快速(PCIe)标准。
PCIe标准是由因特尔公司主要创建的用于数据输入和输出的串行总线标准。PCIe标准在软件水平上与PCI总线兼容,并支持最大至80Gbps的各种速度。
闪速存储器30是即使掉电所存储的数据也不会被擦除的非易失性存储器。闪速存储器30可以是NAND型或NOR型。根据示例性实施例的闪速存储器30存储第一核10和第二核20的启动映像(booting image)。
图2是根据示例性实施例的图1的多系统的详细框图。
参照图2,第一核10和第二核20均包括CPU、存储器和连接CPU与存储器的系统总线。第一核10和第二核20可连接到PCIe总线40以相互通信。第一核10的存储器120和第二核20的存储器220可通过PCIe总线40相互连接。存储器120和存储器220的映射信息以及用于通信的其它必要信息可存储在PCIe接口130和230中。
第一核10包括CPU 110、存储器120、PCIe接口130以及连接CPU 110、存储器120、PCIe接口130的系统总线140。闪速存储器30连接到第一核10的系统总线140。虽然图2中未示出,但是输入/输出(I/O)接口可设置在闪速存储器30和系统总线140之间。
CPU 110包括启动加载器运行单元111、启动控制器112和启动单元113。
启动加载器运行单元111运行第一核10的启动加载器。启动加载器是执行预处理以便操作系统被适当启动并且操作系统可被上载到存储器中的程序。启动加载器可以是诸如Redboot、U-boot或EZ boot的程序。
当第一核10上电时,启动加载器运行单元111可加载并运行位于闪速存储器30的特定地址的程序。例如,启动加载器运行单元111可将启动加载器程序从闪速存储器30的特定地址加载到存储器120并运行该程序。
启动控制器112控制第一核10的启动准备操作。启动控制器112加载第一核10的启动映像。启动控制器112可将第一核10的启动映像传输到存储器120。当与第二核20的连接被检测到时,启动控制器112不仅可以控制第一核10的启动准备操作,还可以控制第二核20的启动准备操作。也就是说,启动控制器112还可加载第二核20的启动映像。启动控制器112可将第二核20的启动映像传输到第二核20的存储器220。将参照图3详细描述启动控制器112的功能。
当第一核10的启动映像被加载时,启动单元113基于加载的第一核10的启动映像,来启动第一核10的内核(kernel)。当所述内核被启动时,启动单元113可启动第一核10的文件系统。当与第二核20的连接被检测到,从而第二核20的启动映像通过启动控制器112传输时,启动单元113可在第二核20的启动映像被传输之后启动第一核10的内核。
存储器120是第一核10的主存储器并且可以是随机存取存储器(RAM)。例如,存储器120可以是双数据速率(DDR)存储器,但是这个实施例不限于此。
PCIe接口130是一种控制系统总线140和PCIe总线40之间的通信的总线桥。基于系统总线140的通信协议和PCIe总线40的通信协议,PCIe接口130控制在系统总线140和PCIe总线40之间传输的数据。
第二核20包括CPU 210、存储器220、PCIe接口230以及连接CPU 210、存储器220和PCIe接口230的系统总线240。
CPU 210包括启动加载器运行单元211和启动单元213。
启动加载器运行单元211由第一核10的启动控制器112加载,并运行来自存储在存储器220中的第二核20的启动映像的启动加载器。启动加载器运行单元211可被设置为运行存储在存储器220的特定位置中的文件,第一核10的启动控制器112可将第二核20的启动加载器存储在存储器220的特定位置中。
当第二核20的启动寄存器被设置为启用状态时,启动加载器运行单元211可运行启动加载器。第二核20的启动寄存器值可由第一核10的启动控制器112来设置。
启动单元213基于第二核20的启动映像来启动第二核20的内核,其中,第二核20的启动映像通过第一核10的启动控制器112来加载并被存储在存储器220中。当所述内核被启动时,包括驱动器的各种程序可在第二核20中进行操作。
下文将参照图2详细描述图2的启动控制器112的功能。
图3是根据示例性实施例的图2的启动控制器112的构造的示图。
参照图3,根据示例性实施例的启动控制器112包括网络激活单元1121、装置检测器1122、存储器映射单元1123、启动映像加载单元1124、启动映像传输单元1125和启动寄存器设置单元1126。
网络激活单元1121将第一核10的PCIe接口130设置为启用状态。例如,网络激活单元1121可将第一核10的PCIe接口130的启用寄存器设置为启用状态。网络激活单元1121还可将第二核20的PCIe接口230设置为启用状态。网络激活单元1121可通过使用经由硬件相互连接的PCIe接口130和230的BAR0寄存器,来将第二核20的PCIe接口230转换到启用状态。由于BAR0寄存器通过硬件连接,因此BAR0寄存器可被用于在映射存储器之前传输数据。
装置检测器1122可搜索连接到第一核10的PCIe接口130的装置,并可检测连接到PCIe接口130的第二核20。装置检测器1122输出关于所检测到的第二核20的信息。如果没有连接到PCIe接口130的装置,则装置检测器1122输出示出连接失败的记录。
当通过装置检测器1122检测到第二核20时,存储器映射单元1123映射通过PCIe总线40连接的存储器的地址。例如,存储器映射单元1123分别映射第一核10的存储器120的地址和第二核20的存储器220的地址。存储器映射单元1123可通过使用PCIe接口130和230的BAR0寄存器,来将映射信息发送到第二核20。存储器120和存储器220基于映射信息通过软件相互连接。
启动映像加载单元1124加载存储在闪速存储器30中的第一核10的启动映像和第二核20的启动映像。例如,启动映像加载单元1124将第一核10的启动映像和第二核20的启动映像加载到存储器120。根据示例性实施例,启动映像加载单元1124可将第二核20的启动映像存储在第一核10的特定位置。特定位置可以是第一核10的存储器120的被映射到第二核20的存储器220的位置的位置,其中,第二核20的存储器220的所述位置被预先确定以存储第二核20的启动映像。例如,存储器120的特定位置可以是第一核10的存储器120的被映射到第二核20的存储器220的位置的位置,其中,第二核20的存储器220的所述位置通过由第二核20的启动加载器运行单元211运行的启动加载器来读取。
启动映像传输单元1125通过PCIe总线40将加载的第二核20的启动映像传输到第二核20。例如,启动映像传输单元1125可通过PCIe总线40将存储在第一核10的存储器120的特定位置中的第二核20的启动映像传输到第二核20。传输的第二核20的启动映像可被存储在第二核20的存储器220的位置,其中,第二核20的存储器220的所述位置可根据存储器映射信息而映射到第一核10的存储器120的特定位置。
当第二核20的启动映像被传输时,启动寄存器设置单元1126可将第二核20的启动寄存器设置为启用状态。当第二核20的启动寄存器被转换到启用状态时,第二核20基于传输的启动映像而开始启动。
图4是根据示例性实施例的闪速存储器映射的示图。
参照图4,闪速存储器30存储第一核10的启动映像41和第二核20的启动映像42。启动映像包括启动所必需的信息、启动加载器、内核映像、脚本、文件系统映像等。内核映像包括用于启动内核的信息。脚本可包括在启动加载器正在启动时所运行的设置信息、用于加载文件系统和内核映像的存储器的位置等。
虽然图4示出了启动映像41的实际文件名称,但是文件名称仅是示例并且实施例不限于此。另外,在启动映像41中的dtb可根据核类型而省略。
参照图4,在闪速存储器30的第一地址存储第一核10的启动加载器411。当第一核10上电时,启动加载器运行单元111将在闪速存储器30的第一地址处的文件加载到存储器120并随后运行该文件。
当第一核10的启动加载器411被运行并且随后存储器映射结束时,启动映像加载单元1124将第一核10的启动映像41和第二核20的启动映像42加载到存储器120。在这种情况下,由于已由启动加载器运行单元111加载了第一核10的启动加载器411,因此启动映像加载单元1124可加载第一核10的启动映像41中除启动加载器411之外的映像。但是,包括启动加载器421的第二核20的启动映像42被全部加载。
如果与第二核20的连接未被检测到,从而存储器不被映射,则启动映像加载单元1124可仅加载第一核10的启动映像41并省略第二核20的启动映像42的加载。
参照图4,闪速存储器30的第一地址存储作为第一核10的启动加载器411的“U-Boot”。第一核10的U-Boot通过启动加载器运行单元111加载到存储器120并随后被运行。
图5是根据示例性实施例的存储器映射的示例的示图。
图5示出第一核10的存储器120的地址51和第二核20的存储器220的地址52通过存储器映射单元1123相互映射的示例。参照图5,示出将被存储在存储器220的地址52中的映像53。
参照图5,第二核20的启动映像通过PCIe总线从第一核10的存储器120传输到第二核20的存储器220。具体地,第一核10的启动映像加载单元1124在存储器120的与PCIe总线的BAR1、BAR2和BAR3对应的位置记录第二核20的启动映像。根据存储器映射,启动映像传输单元1125通过PCIe总线传输记录在存储器120的分配给BAR1、BAR2和BAR3的位置处的数据。传输的数据被同样地记录在存储器220的分配给BAR1、BAR2和BAR3的位置。
参照图5,当第二核20的启动加载器被存储在存储器220的0x40400000位置并且第二核20的启动寄存器转换到启用状态时,启动加载器运行单元211可运行存储在存储器220的0x40400000位置处的启动加载器。
图6是根据示例性实施例的在第一核中运行的启动多系统的方法的流程图。
参照图6,在操作61,启动加载器运行单元运行第一核的启动加载器。
在操作62,网络激活单元将网络接口设置为启用状态。例如,在操作62,网络激活单元将第一核的PCIe接口和第二核的PCIe接口设置为启用状态。网络激活单元可通过使用经由硬件相互连接的PCIe接口的BAR0寄存器来设置第二核的PCIe接口的启用寄存器。
在操作63,装置检测器检测连接到网络接口的第二核。如果在操作63,第二核被检测到,则所述方法进行至操作64;如果在操作63第二核未被检测到,则所述方法进行至操作631。
在操作64,存储器映射单元映射第一核的存储器和第二核的存储器。映射信息可通过使用经由硬件连接的PCIe接口的BAR0寄存器传输到第二核。基于映射信息,第一核的存储器和第二核的存储器可通过软件来映射。
在操作65,启动映像加载单元加载第一核的启动映像和第二核的启动映像。在操作65,启动映像加载单元可将第一核的启动映像和第二核的启动映像从闪速存储器加载到第一核的存储器。在这种情况下,由于已由启动加载器运行单元记载了第一核的启动加载器,因此启动映像加载单元可省略加载第一核的启动映像中的启动加载器。
根据示例性实施例,在操作65,启动映像加载单元可将第二核的启动映像加载到第一核的存储器的特定位置。特定位置可以是第一核的存储器的映射到第二核的存储器的位置的位置,其中,所述第二核的存储器的位置被预先确定为存储第二核的启动映像。
在操作66,启动映像传输单元将在操作65加载的第二核的启动映像传输到第二核的存储器。具体地,在操作66,启动映像传输单元将已被加载到第一核的特定位置的第二核的启动映像记录到在第二核的存储器的映射到第一核的存储器的特定位置的位置。因此,第二核的启动映像可通过网络(例如,PCIe网络)传输到第二核。
在操作67,启动映像传输单元确定启动映像的传输是否完成。如果启动映像的传输已完成,则所述方法进行至操作68;如果没有完成,即如果启动映像的传输失败,则所述方法进行操作632。
在操作68,启动寄存器设置单元将第二核的启动寄存器转换到启用状态。当启动寄存器转换到启用状态时第二核开始启动。
在操作69,启动单元启动第一核的内核。
如果在操作63,第二核未被检测到,则所述方法进行至操作631。在操作631,启动映像加载单元加载第一核的启动映像。在操作632,启动控制器存储失败记录。在启动第一核的处理期间,失败记录可在屏幕上输出。如果在操作67,启动映像的传输失败,则所述方法还可进行至操作632并且启动控制器存储失败记录。
当在操作632,失败记录被存储时,所述方法进行至操作69并且第一核的内核被启动。
当第一核被启动时,程序在第一核中进行操作。
图7是根据实施例的在第二核中运行的启动多系统的方法的流程图。
参照图7,在操作71,第二核的启动映像被加载到第二核的存储器。具体地,第一核的启动映像传输单元将第二核的启动映像加载到第二核的存储器。
当第二核的启动映像的加载完成时,第一核的启动寄存器设置单元将第二核的启动寄存器设置为启用状态。
在操作72,当启动寄存器被设置为启用状态时,第二核的启动加载器运行单元运行加载到第二核的存储器的第二核的启动加载器。在操作71存储的启动映像包括启动加载器。具体地,启动加载器运行单元211运行存储在第二核的启动映像中的第二核的启动加载器,其中,第二核的启动映像被记录在第二核的存储器的预定位置。
在操作73,第二核的启动单元启动第二核的内核。
当第二核被启动时,程序在第二核中进行操作。
图6和图7示出的启动多系统的方法可被记录在可在计算机中运行的程序中,并且所述方法可被实现在通过使用计算机可读记录介质运行程序的通用数字计算机中。计算机可读记录介质的示例包括:磁存储介质(例如,ROM、软盘或硬盘)和光学记录介质(例如,CD-ROM或DVD)。
根据示例性实施例,由如图1至图3所示的块表示的组件、元件或单元中的至少一个可被实现为运行上述的各个功能的各种数量的硬件、软件和/或固件结构。例如,这些组件、元件或单元中的至少一个可使用能通过控制一个或更多个微处理器或其它控制设备来运行各个功能的直通电路结构,诸如存储器、处理器、逻辑电路、查找表等。另外,这些组件、元件或单元中的至少一个可通过包含用于执行特定逻辑功能的一个或更多个可执行指令的模块、程序或部分代码来具体实现。另外,这些组件、元件或单元中的至少一个还可包括诸如执行相应功能的处理器的处理器。以上示例性实施例的功能方面可在一个或更多个处理器上运行的算法中实现。另外,由块或处理步骤表示的组件、元件或单元可利用用于电子构造、信号处理和/或控制、数据处理等的任何数量的现有技术手段。
根据以上示例性实施例,启动包括至少两个核的多系统中的核的方法使用一个闪速存储器,因此,所述方法成本低廉并且易于管理。根据以上示例性实施例,启动包括至少两个核的多系统中的核的方法在一核的启动结束之前开始启动另一核,从而可快速启动整个系统。
应理解在此描述的示例性实施例应仅被视为描述性意义而不是为了限制的目的。对每个示例性实施例中的特征或方面的描述通常应被视为可用于其它示例性实施例中的其它类似的特征或方面。
虽然已经参照附图描述了示例性实施例,但是本领域的普通技术人员将理解在不脱落由权利要求限定的本发明构思的精神和范围的情况下,可在形式和细节上进行各种改变。

Claims (19)

1.一种启动包括第一核和第二核的多系统的方法,所述方法包括:
运行第一核的启动加载器;
将第一核的网络接口设置为启用状态;
检测是否存在连接到第一核的网络接口的第二核;
如果检测到第二核,则将第一核的第一存储器映射到第二核的第二存储器;
将第一核的启动映像和第二核的启动映像加载到第一存储器;
通过网络将加载到第一存储器中的第二核的启动映像传输到第二核。
2.如权利要求1所述的方法,其中,网络是外围组件互连快速网络。
3.如权利要求1所述的方法,还包括:响应于传输而将第二核的启动寄存器设置为启用状态。
4.如权利要求1所述的方法,还包括:基于第一核的启动映像而启动第一核的内核。
5.如权利要求4所述的方法,其中,启动步骤包括:
如果第二核被检测到,则基于第一核的启动映像而启动第一核的内核;
如果第二核未被检测到,则响应于将第一核的启动映像加载到第一存储器而启动第一核的内核。
6.如权利要求1所述的方法,其中,加载步骤包括:将第二核的启动映像加载到第一存储器的预定位置,
其中,传输步骤包括:通过将加载到第一存储器的预定位置的第二核的启动映像记录到第二存储器的预定位置来传输第二核的启动映像,其中,第二存储器的预定位置被映射到第一存储器的预定位置。
7.如权利要求1所述的方法,其中,多系统还包括另一存储器,
其中,加载步骤包括加载来自所述另一存储器的第一核的启动映像和第二核的启动映像。
8.一种连接到第二核的第一核,所述第一核包括:
第一启动加载器运行单元,被配置为运行第一核的启动加载器;
网络激活单元,被配置为将第一核的网络接口设置为启用状态;
装置检测器,被配置为检测是否存在连接到第一核的网络接口的第二核;
存储器映射单元,被配置为如果第二核被检测到则将第一核的第一存储器映射到第二核的第二存储器;
启动映像加载单元,被配置为如果第二核被检测到则将第一核的启动映像和第二核的启动映像加载到第一存储器;
启动映像传输单元,被配置为通过网络将加载到第一存储器中的第二核的启动映像传输到第二核。
9.如权利要求8所述的第一核,其中,网络是外围组件互连快速网络。
10.如权利要求8所述的第一核,还包括启动寄存器设置单元,启动寄存器设置单元被配置为响应于第二核的启动映像通过网络传输到第二核,而将第二核的启动寄存器设置为启用状态。
11.如权利要求8所述的第一核,还包括被配置为基于第一核的启动映像而启动第一核的内核的第一启动单元。
12.如权利要求11所述的第一核,其中,如果通过装置检测器检测到第二核,则第一启动单元响应于第二核的启动映像传输到第二核而启动第一核的内核,并且
如果通过装置检测器未检测到第二核,则第一启动单元在第一核的启动映像被加载之后启动第一核的内核。
13.如权利要求8所述的第一核,其中,启动映像加载单元被配置为将第二核的启动映像加载到第一存储器的预定位置,
其中,启动映像传输单元被配置为通过将加载到第一存储器的预定位置的第二核的启动映像记录到第二核的预定位置来传输第二核的启动映像,其中,第二存储器的预定位置被映射到第一存储器的预定位置。
14.如权利要求13所述的第一核,其中,关于第一存储器和第二存储器之间的映射的信息被存储在第一核的网络接口中。
15.一种多系统,所述多系统包括:
如权利要求8所述的第一核;
第二核,
其中,第二核包括:
第二存储器,映射到第一核的第一存储器并被配置为加载从第一存储器传输的第二核的启动映像;
第二启动加载器运行单元,被配置为响应于第二核的启动寄存器被设置为启用状态而运行包括在第二核的启动映像中的第二核的启动加载器;
第二启动单元,被配置为基于第二核的启动映像而启动第二核的内核,
其中,第一核还包括启动寄存器设置单元,启动寄存器设置单元被配置为响应于第二核的启动映像通过网络传输到第二核,而将第二核的启动寄存器设置为启用状态。
16.如权利要求15所述的多系统,其中,第二核的启动映像被记录在第二存储器的预定位置中。
17.如权利要求16所述的多系统,其中,所述多系统还包括另一存储器,
其中,启动映像加载单元被配置为加载来自所述另一存储器的第一核的启动映像和第二核的启动映像。
18.一种连接到第一核的第二核,所述第二核包括:
第二存储器,映射到第一核的第一存储器并被配置为加载从第一存储器传输的第二核的启动映像;
第二启动加载器运行单元,被配置为响应于第二核的启动寄存器通过第一核的启动寄存器设置单元被设置为启用状态,而运行包括在第二核的启动映像中的第二核的启动加载器;
第二启动单元,被配置为基于第二核的启动映像而启动第二核的内核。
19.如权利要求18所述的第二核,其中,响应于第二核的启动映像从第一存储器传输到第二存储器,第二核的启动寄存器被设置为启用状态。
CN201410804976.4A 2013-12-20 2014-12-19 多系统和启动所述多系统的方法 Active CN104731577B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0160702 2013-12-20
KR1020130160702A KR102116096B1 (ko) 2013-12-20 2013-12-20 다중시스템 및 이의 부팅 방법

Publications (2)

Publication Number Publication Date
CN104731577A true CN104731577A (zh) 2015-06-24
CN104731577B CN104731577B (zh) 2019-06-18

Family

ID=53400120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410804976.4A Active CN104731577B (zh) 2013-12-20 2014-12-19 多系统和启动所述多系统的方法

Country Status (3)

Country Link
US (1) US9678759B2 (zh)
KR (1) KR102116096B1 (zh)
CN (1) CN104731577B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293825A (zh) * 2016-08-05 2017-01-04 武汉虹信通信技术有限责任公司 一种基于硬件信号量的多核启动同步方法
CN106776292A (zh) * 2016-11-29 2017-05-31 北京元心科技有限公司 多系统开启及登录的方法及装置
CN109271203A (zh) * 2017-07-14 2019-01-25 龙芯中科技术有限公司 内核加载方法、装置及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238819B (zh) * 2021-07-09 2021-09-21 成都菁蓉联创科技有限公司 一种适用于U-Boot的驱动文件动态加载方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307215A1 (en) * 2007-06-05 2008-12-11 Hewlett-Packard Development Company, L.P. Remote computer operating system upgrade
WO2011119648A1 (en) * 2010-03-22 2011-09-29 Qualcomm Incorporated Direct scatter loading of executable software image from a primary processor to one or more secondary processor in a multi-processor system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990086858A (ko) 1998-05-30 1999-12-15 강병호 프로세서 중재 장치
JP2007213292A (ja) 2006-02-09 2007-08-23 Nec Electronics Corp マルチプロセッサシステム及びスレーブシステムの起動方法
US7673131B2 (en) * 2006-05-05 2010-03-02 Microsoft Corporation Booting an operating system in discrete stages
KR101288700B1 (ko) 2008-03-14 2013-08-23 미쓰비시덴키 가부시키가이샤 멀티 오퍼레이팅 시스템(os) 기동 장치, 컴퓨터 판독 가능한 기록 매체 및 멀티 os 기동 방법
CN102110072B (zh) 2009-12-29 2013-06-05 中兴通讯股份有限公司 一种多处理器完全互访的方法及系统
US9058191B2 (en) * 2010-03-22 2015-06-16 Qualcomm Incorporated Direct transfer of executable software image to memory allocated by target processor based on transferred image header
US8775784B2 (en) * 2011-11-11 2014-07-08 International Business Machines Corporation Secure boot up of a computer based on a hardware based root of trust
US9021141B2 (en) * 2013-08-20 2015-04-28 Lsi Corporation Data storage controller and method for exposing information stored in a data storage controller to a host system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307215A1 (en) * 2007-06-05 2008-12-11 Hewlett-Packard Development Company, L.P. Remote computer operating system upgrade
WO2011119648A1 (en) * 2010-03-22 2011-09-29 Qualcomm Incorporated Direct scatter loading of executable software image from a primary processor to one or more secondary processor in a multi-processor system
CN102812453A (zh) * 2010-03-22 2012-12-05 高通股份有限公司 在多处理器系统中将可执行软件图像从主要处理器直接分散加载到一个或一个以上次要处理器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293825A (zh) * 2016-08-05 2017-01-04 武汉虹信通信技术有限责任公司 一种基于硬件信号量的多核启动同步方法
CN106776292A (zh) * 2016-11-29 2017-05-31 北京元心科技有限公司 多系统开启及登录的方法及装置
CN109271203A (zh) * 2017-07-14 2019-01-25 龙芯中科技术有限公司 内核加载方法、装置及存储介质
CN109271203B (zh) * 2017-07-14 2022-03-15 龙芯中科(西安)科技有限公司 内核加载方法、装置及存储介质

Also Published As

Publication number Publication date
KR102116096B1 (ko) 2020-05-27
US9678759B2 (en) 2017-06-13
KR20150072963A (ko) 2015-06-30
CN104731577B (zh) 2019-06-18
US20150178094A1 (en) 2015-06-25

Similar Documents

Publication Publication Date Title
CN107423169B (zh) 用于测试高速外围设备互连设备的方法和系统
US10152443B2 (en) System and method for providing personality switching in a solid state drive device
US10592253B2 (en) Technologies for pre-memory phase initialization of a computing device
CN107480086B (zh) 终端及其控制方法
US9817468B2 (en) System and method for automatic detection and switching between USB host and device rolls on a type-A connector
CN102223394A (zh) 远程直接存储设备访问
US9940275B2 (en) System and method to avoid SMBus address conflicts via a baseboard management controller
US9098640B2 (en) Controller, electronic equipment unit, and USB device control method
US20180246647A1 (en) System and Method for Storing Modified Data to an NVDIMM During a Save Operation
US8954619B1 (en) Memory module communication control
CN104731577A (zh) 多系统和启动所述多系统的方法
US20180293012A1 (en) System and Method for Cost and Power Optimized Heterogeneous Dual-Channel DDR DIMMs
CN103473202A (zh) Usb otg装置、电子设备及实现otg功能的方法
US10466919B2 (en) Information handling system with elastic configuration pools in flash dual in-line memory modules
CN104978204A (zh) 基于移动终端的应用安装更新方法及装置
CN110399168A (zh) 多数据盘存储服务器的系统启动方法、装置及设备
US20220342835A1 (en) Method and apparatus for disaggregation of computing resources
US20130219085A1 (en) Multi-disk combination device and method for combining a plurality of usb flash drives
US9141565B2 (en) Memory bus attached input/output (‘I/O’) subsystem management in a computing system
US20170344434A1 (en) Docking device providing backup to mobile devices and method for providing the same
US20180113831A1 (en) Server system and method for detecting transmission mode of server system
CN114706715B (zh) 一种基于bmc的分布式raid的控制方法、装置、设备及介质
CN112511344B (zh) 主从设备网络共享方法、装置和物联网设备
CN111240596A (zh) 一种判断闪存的操作接口模式的方法和装置以及设备
KR102448590B1 (ko) 메모리 카드로부터 파일을 읽는 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Gyeongnam Changwon City, South Korea

Applicant after: HANWHA TECHWIN Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: Samsung Techwin Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM:

Free format text: CORRECT: APPLICANT; FROM: SAMSUNG TAI KEWEI CO., LTD. TO: HANWHA TECHWIN CO., LTD.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Gyeongnam Changwon City, South Korea

Applicant after: HANWHA AEROSPACE Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA TECHWIN Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20190304

Address after: Gyeonggi Do city of South Korea

Applicant after: HANWHA TECHWIN Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA AEROSPACE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Gyeonggi Do city of South Korea

Patentee after: Hanhua Vision Co.,Ltd.

Address before: Gyeonggi Do city of South Korea

Patentee before: HANWHA TECHWIN Co.,Ltd.

CP01 Change in the name or title of a patent holder