EEJournal

专题文章
现在就订阅

你是我的

MRAPI允许您管理嵌入式资源

Arrrr,队长,我们现在正横o '港口。我们什么时候开始shellin和pillagin和混乱吗?

现在,只是保持你的火,热裤,我们有三艘船在这个操作中,和我不想没有人烦躁扣动扳机的手指冒险乐园的枪,听到了没?在你之前,我现在会说:别丫混合metafers criticizin”我。

Arrr,明白队长。哦,我们发现了一个额外的军舰在港口,我们并不期待着”。我会needin人助教获取一些额外的炮弹从下面我们可能强的比我们想象的更多。我们可以让其他船只做同样的事情吗?

我可以命令棉签紫色瘟疫来获得更多的,开心的,她是我的船和所有。但是小孩鲽鱼,ol Deadbug的。他经营着自己的节目。我不能orderin”他的人,他的建议。他将不得不hisself估摸着出来。

Arrr,明白队长。我将信号带在瘟疫的立场。

(与没有响应信号,)

Arrr,队长,我不懒惰笨拙的响应。

啊螃蟹,我fergot ta有暂停他们的平时的睡眠,拿来criminey的缘故!哦,为什么我会让他们尝试所谓的“人体工程学海盗的实践”?有人需要严责我带这样一个笨蛋,lily-kneed东西!我们都住在这里,死在水里,我们不能做一件事,直到他们回来。助教洗衣服啊,都做什么现在,然后。刚收到助教等。每个人都辞职,做俯卧撑或东西。

Arrr,明白队长。

曾几何时,生活很简单。*有一个CPU的计算,可以编写和程序告诉CPU做什么。这些程序可能需要的CPU资源,这是好的,因为有一个操作系统,管理这些资源,和一个程序只需要操作系统的提出需要的东西,这一切都只是工作。(好吧,除非你不得不重新启动系统,因为,好吧,因为你只需要,因为它停止工作。)

然后我们开始添加内核。但是所有的核心仍将一个操作系统的控制下,平等地对待他们,把工作分配给每个人,处理任何的资源需求。

然后我们开始爱挑剔的核心是最好的用途,和其他一些核心开始担心这一事实核心可能会占用他们的资源时他们需要他们,所以他们需要自己的私人资源和按摩师。他们可能如果让别人用不错的话,先问一下权限正确。和其他无政府主义核心决定告诉他们的操作系统,“嘿,你不是我的老板!”,并解雇了操作系统和裸露的金属。其他核心决定做系统power-reducing忙,去小睡一会儿。

听起来就像一群5岁青少年或海盗。

所以你最后一个问题对你随机程序可能需要运行在一个特定的核心和访问特定的资源,可能会或可能不属于核心,甚至可能会或可能不会是现在或在需要的时候醒了。

添加到这个问题嵌入式系统的背景下,资源稀缺和时间是至关重要的。

增加这一问题,一些程序和系统是简单的,不想被所有的冗长的泥潭,可能需要一个复杂的系统。

或多或少,你面临的问题,多核协会与刚刚解决多核资源规范API (MRAPI)。请注意,没有巧合相似的看周围的兄弟姐妹多核通信API (MCAPI几年前的)标准。

这个想法是为了让一个轻量级的基础设施,将为程序员提供了一个更好的方法来管理资源。,但考虑到简单的系统,它只是一个API: API是如何实现的是留给系统设计师,允许复杂性,需要和避免它。

MRAPI基于MCAPI域和节点的概念和三个基本实体:同步,内存和系统资源的元数据。

同步帮助处理一些海盗都试图消防炮在同一时间相同。这让他们玩好和friendly-like:首先得到独家使用,然后另一个。标准定义了三个机制:互斥信号量,和读/写锁。

互斥锁(不应该是“mutices”?)代表最简单,体现同步。这是一个简单的二进制锁。认为它是“权利。“没有人可以访问的资源,直到锁由所有者删除。资源可以被递归地——也就是说,第一个锁的所有者可以添加单独的锁,它必须被删除。有点感觉的十二个门栓在你平均曼哈顿的公寓门。

下一步是信号量。这些允许分配一个资源的多个实例。如果八凡是存在,那么这个信号量可以问题八锁之前有人等待别人来释放锁。信号量通常不知道正在使用哪些资源;他们只是知道有多少。

最后,读/写锁地址的情况下你可能会有很多读者和一些简短的作家。读/写锁必须处理许多并发的情况(几乎同时,)读取打断了写。当请求一个锁,要么是读者(共享)或作家(独家)类型。读取锁大多可以很容易,但如果有人等待写锁,那么不可以发布新的读取锁,直到写锁是理所当然。

接下来是内存问题,这有两个品种:共享和远程。共享内存可能听起来像一个解决的问题,因为它可以通过POSIX调用处理。但这只在一个操作系统实例。如果你有物理内存被不同的线程共享不同操作系统下,POSIX行不通;这是MRAPI进来的地方。

远程内存稍微复杂一点。它在概念上类似于共享内存,除此之外,而不是一个共享的内存块,这些都是明显的记忆。所以核心1可能需要访问内存管理的操作系统上运行的核心2。这是比较简单的,如果记忆可以访问这两个核心。因为MRAPI运行在操作系统之上,它可以使用它们获得适当的地址。

如果核心2的内存块并不是物理访问核心1,然后一些DMA或其他机制必须创建复制远程内存访问核心1。这个API读写电话支持,包括散射/收集读/写。后者从磁盘读取或写入多个不相交(但均匀间隔的)区域。每一个这样的读或写“大步”;一个简单的读或写简并的情况下,只有一个跨步。

因为你可能会与原始数据的一个副本,副本可能变得陈旧。所以冲洗和同步调用提供了允许应用程序本身保持一致性。

最后,一个系统资源的元数据设施提供。这只是一种方式来构建一个地图,通常作为一个树,什么资源存在,它完全是由实现决定的。静态系统可以有一个XML文件或其他简单的存储配置;这可以在初始化系统运行时使用。配置甚至可以编译成MRAPI实现。

另一方面,对系统资源可能来来去去(由于插头/拔掉事件或者启动/关闭事件),系统设计者可以提供查询生活资源的一种手段,然后附加API调用。资源树只能作为一个整体来建造;你不能添加或删除分支机构逐步从树上,所以如果一个资源不能被访问,它不能从树中删除:整个树必须重建。

所以,手持一个定制MRAPI的海盗的实现,我们不幸的队长会有办法从ol ' Deadbug征用更多的炮弹。他可能有一个更好的方法来找出,紫色的瘟疫是动力。这意味着他可能放松一点”steada替身”tappin左右他的树桩和chewin他钩…

*好像我们以前说,在多个上下文。不,不是渴望生活在草原……

更多信息:MRAPI工作组(下载链接)

哦,就得说这一次(感觉!):Arrrrrrrrrrrr

留下一个回复

有特色的博客
2023年5月19日,
芯片设计者迅速迁移到云的EDA工具;为什么学习和探索趋势在芯片设计工具从我们小组在舒适的硅谷2023。后设计芯片在云中:四个关键外卖从舒适的硅谷2023年第一次出现在新视野……
2023年5月19日,
你知道多少关于艺术大师工作室吗?这是真或假的问题的答案我们清单每周节奏的社会媒体渠道。看2023年每星期五一个新的问题。了解更多关于艺术大师工作室的优势。节奏大师工作室啊……
2023年5月8日
如果你计划去土耳其在不远的将来,然后我有一个忙问....

有特色的视频

找出最好的定制设计工具刚刚好

节奏设计系统

模拟电路设计领域,我们知道的是进化。所以节奏的技术。学习如何最好的模拟工具刚更好帮助你跟上挑战性的设计问题。AI-powered大师工作室定制设计方案提供了创新的特性,重基础设施的效率,设计生成AI迁移,新级别的集成超出经典设计的界限。

点击这里获取更多信息

了比赛

加入开源硅生成的人工智能设计的挑战

Efabless

让你AI-generated设计制造(价值9750美元)!进入E-fabless开源硅设计挑战。使用生成AI创建Verilog从自然语言提示,然后实现你的设计使用Efabless chipIgnite平台——包括一个SoC模板(轻快帆船)提供快速芯片级集成,和一个开源RTL-to-GDS数字设计流程(OpenLane)。获胜者被eFabless设计制造。快点,尽管——截止日期是6月2日!

点击这里进入!

以注入式教学法亚博里的电子竞技

电动汽车充电:理解基础知识
你有没有考虑电动汽车的广泛应用将会是什么样子?基础设施需求需要满足什么?注入式教学法在这节课中,我讨论所有这些亚博里的电子竞技和更多的布鲁斯从贝尔。我们复习的电动汽车充电的基本知识,调查AC和DC充电器的充电要求,并检查车载逆变器的作用在电动汽车充电。
2023年3月27日,
7308的浏览量
Baidu