我正在研究多核处理器。
我想创建一个AMP系统,也就是说 - 我有一个应用程序在core0上成功运行,我想要完全相同的应用程序来运行core1。但是这两个应用程序不会相互交互 - 就像两个不同的应用程序在不同的核心上运行一样。
我该怎么办?可能的计划是: 1.将已经编译的应用程序复制到RAM的不同位置,并将新位置的起始地址提供给core1以从那里开始执行。使用链接描述文件。
你们有没有尝试过?如果你已经尝试过,那么你能给我一个关于如何为它编写链接描述文件的示例代码 - 因为我是新手来编译和生成ELF文件。我尝试使用谷歌搜索多天,我只得到算法,但没有代码,我可以从中学到它。
谢谢,
P:S - 没有实现操作系统,因为它唯一需要一直执行的线程。并且所有核心将独立地执行它们自己的线程实例。 简而言之 - 所有核心都将执行相同的应用程序,但独立地使用不同的实例。
答案 0 :(得分:1)
例如,如果您想将程序复制到内存中的两个位置,我会假设这是内核之间的共享内存,其次我会使用mmu(如果可用的特定于内核),以便每个内核获得相同的虚拟地址这样应用程序可以编译位置依赖。否则你需要它作为一个与位置无关的程序。