中文 英语

Execute-in-Place怎么了?

这个概念是最初不再适用。这是为什么。

受欢迎程度

执行代码直接从非易失性内存,存储,极大地简化了计算体系结构——特别是对于简单的嵌入式设备如微控制器(mcu)。然而,记忆和逻辑过程的分歧使得今天几乎不可能。

术语“execute-in-place”或“XIP”,起源于单片机的嵌入式内存也让XIP可行。这个词仍在使用,但它的意义变得模糊和困惑。

“毫无疑问这execute-in-place的概念,”马克说击剑,许可营销的副总裁在微芯片硅存储技术。“今天真的更像执行从页面缓存方案,允许您在迅速从外部flash。否则,你无法真正运行在一个足够高的时钟速度。”

记忆过程无法跟上逻辑流程。与每一个新的一代处理器性能尺度,但不能存储代码,快速记忆。各种缓冲策略或缓存指令,常见的高速处理器,甚至变得普遍水平的嵌入式处理器。尽管所有的选项,有质疑XIP仍然是一个有意义的概念。

和片上
Whlle服务器和桌面电脑历史上依赖于硬盘驱动器(或固态硬盘)用于存储代码,嵌入式系统研究闪存——具体地说,也不闪。今天在更早的时期,甚至在较低的性能单片机,嵌入flash意味着,至少在引导代码,直接发送到处理器的指令,不需要缓冲或缓存。“任何大于45 nm制程仍然使用也在内部,“吉姆说方便,内存分析师客观的分析。


图1:和flash的结构和布局。来源:维基百科

使和flash更有吸引力比NAND闪存编程,因为分支和函数调用可能中断的指令流,和NAND闪存必须检索页面。当嵌入flash,因此,单片机使用flash。只要工作频率足够缓慢,flash访问时间可以跟上,可以直接获取和执行指令的闪光灯,否则称为执行到位。最初的想法是,你不需要缓冲的指令在执行其他地方。


图2:快闪记忆体结构和布局。来源:维基百科

嵌入式和记忆还活着,虽然今天的高卷节点远离什么逻辑会被认为是领先的。“有很多卷55和65海里,“击剑说。“我的峰值皇室节点仍然是180海里,但250年,350年和500海里仍然交付。90纳米是一种奇怪的节点。台积电做它,但是我的很多其他合作伙伴跃升至55/65。但是我们有一个好的体积在90年,很快就将eclipse的55/65。40岁开始坡道。”

嵌入式的能力也还不到,有什么外部也或NAND闪存。但是有一个嵌入式也不能满足的能力。“我们看到更大的内存实现64 Mb,“Reitein说。“有128 Mb嵌入flash设计的m的SRAM,。”

访问时间约8 ns或更少,更激进的嵌入式和实现可以支持大约120 mhz的时钟速度,根据击剑。这不是高新技术,但它是一个可行的频率对一些设计。

击剑也指出,当涉及到安全,安全,更多的集成是有价值的。“为了安全,一切的死是一个更好的方法,因为您可以完全控制,”他说。“你不需要担心包级别资格。”

也没有flash落后
但嵌入式和flash必须保持兼容单片机构建的CMOS逻辑过程,成为限制因素。“嵌入式flash通常限于约40海里,”吉迪恩Intrater说,首席技术官Adesto。“有一些早期的28 nm,但这是非常昂贵的。”

然而,芯片正试图继续扩展。“我们已经提出了一个集成方案finFET,“击剑说。即便如此,当嵌入容量约束和限制过程进化也没有障碍,许多设计师已将其代码为外部没有闪光灯。

外部成本和flash是关于双NAND闪存的成本,根据赛义德·侯赛因,华邦电子市场营销主管。”也没有flash是大企业的吸引力,因为它的摩尔定律的结束生命,”侯赛因说。事实上,主要的好处也没有flash为这种类型的应用程序是熟悉和低粒度的数据的可用性。

高成本,然而,在每比特的基础上。快闪记忆体规模大。如果需要更小的尺寸比可在NAND flash,那么外部闪存设备也可能更便宜,即使它更贵为每个。

“外部也低于外部NAND也超级简单,注重应用,“方便说。

另一个微妙的变化是通过使用外部之间的串行接口,而不是并行接口和flash和处理器。“当你觉得execute-in-place,心灵回到平行时间,通常我们使用并行还是XIP,”侯赛因。

造成其他问题。”系列,你会得到一个较小的引出线,”拉里·歌说,产品营销经理Synopsys对此。“老的并行总线,你有一个地址,一个用于数据总线。读取数据时,在这种情况下,一条指令,你可以申请下一个地址,而不需要成为下一个连续的地址。”

一个串行总线取代了两个端口只有一个串口半双工。这样的方法主要有负荷指令然后扭转公共汽车,流指令直到以外的东西流是必要的。然后你需要停止流,扭转公共汽车再次加载一个新地址,然后恢复流。

这是一个伟大的方式需要大量的内存并将其传输到其他地方。它不是那么好管理执行流,这可能涉及到频繁的分支和循环,快速变化的地址。这东西一进一步远离原始XIP概念。

缓存改变了一切
flash外部flash与嵌入式还是在一个主要方面——它的大小和成本优化,而不是性能。而慢的处理器可以直接操作的内部也不闪,外部也闪延迟走到几十微秒领域。一旦获取块流,吞吐量要快得多,一些公司已经连续流模式和两个内部缓冲区。当一个流,另一种是获取一个新页面或多或少的连续流。

但如果你直接从内存执行,那么任何分支或循环之外的一个地址,美联储连续块将产生微秒延迟。使执行直接从内存完全行不通。

因此,大多数新的单片机缓存。根据定义,你不再直接执行的非易失性内存。你执行的缓存。你可以保持外部也不是图片上的,但指令通过处理器缓存的途中。这种抽象内存速度从处理器的速度。缓存存储器,它是建立起来的CMOS逻辑,它仍在与选择的逻辑流程节点同步。

同时,与非持续发展下降到15 nm节点,但3 d NAND转变它移动更远的成本和能力路径比可能也没有。3 d方法并不符合单片集成到一个高性能CMOS芯片,但即使有平面单level-cell NAND细胞,每一点成本仍有吸引力。写道“成本永远是第一要务”的歌。

这导致了一种方法叫做“阴影。”例如,在手机,也没有flash已经取代了NAND闪存。因为不能直接从NAND闪存执行代码,代码首先从NAND闪存阵列转移到DRAM,和代码执行从DRAM(通过缓存)。说:“快闪记忆体可以极快Intrater。“我们谈论NAND闪存设备接口在兆赫级。”

这可能听起来像一个简单的虚拟内存的运动,但在这种情况下,它不是。根据方便,智能手机最初将会使用一个请求分页系统为了管理存储的指令。

“请求分页虚拟内存只不过是一个缓存,”迈克尔·弗兰克指出研究员、首席架构师Arteris IP。但是Android免费,与操作系统计划。所以请求分页的策略改变从一个移动整个代码库从flash到DRAM,然后使用SRAM缓存机制进一步管理指令访问时间——所有的成本较低。

阴影增加了系统启动所需的时间,因为第一步是将代码。应用程序需要运行很快将需要使用一个替代战略至关重要的启动代码,同时更大的主应用程序集加载。

后,单片机轨迹这一点提出了一个问题。如果设备没有芯片上也没有,或其他代码存储,并使用外部DRAM,这真的是一个单片机?芯片为例,指的是处理芯片,不再有一切内部微处理器、微控制器。

“在更多的流血的边缘,单片机产品现在看起来更像一条微处理器+外部flash,“击剑说。“可能会有一些类的产品现在是真的“microcontroller-lite”,这意味着所有外部是也。大部分的产品外部和内存也有NAND,也许他们有DDR4。他们不仅仅只是一个梗概RTOS运行。它们经营的一点更重量级的Linux,基本的Linux,他们只是需要更多的内存。”

这就变成了一个更大的区别当多核处理器和考虑缓存一致性。“大部分的东西在28 nm有多个核心,“击剑说。“他们做缓存和处理器之间的一致性,和他们做预见性和多线程。“在这种情况下,整个XIP分解的概念,因为有多个指令流的多核。

NAND也和其他非易失性记忆
另一个策略被数家制造商是构建NAND内存的时尚像也不是记忆,至少在某种程度上。NAND闪存总是需要更大的页面访问的数据,但如果这可以隐藏在内部缓冲区,如果界面和命令集的样子也没有,然后处理器可以把它看成是一个和flash芯片,延迟时间甚至可能提高一点——尽管他们仍然几十微秒范围的初始延迟。与双NAND闪存设备是可用的,四、八进制SPI接口。


图3:从外部或NAND过渡。来源:华邦电子

新的非易失性记忆(NVMs)也显示承诺字节可寻址能力,更接近DRAM的访问时间,比闪电更对称的方法来阅读和写作。

“一些小说的架构提供至少接近DRAM价格的承诺,”马克·格林伯格说,集团产品营销总监IP组节奏。“它的好处non-volatility, DRAM没有,和访问时间一个或两个数量级比闪电。”

例子是MRAM的各种风格,ReRAM和极化。这些记忆,而非纯粹的CMOS逻辑,至少与CMOS兼容的方式不如flash是要求。因此,承诺会有能力回到单片集成和XIP“真实”。

但嵌入式系统的代码甚至大幅增长,特别是如果一个系统运行Linux。如果足够的内存芯片上满足所有这些需求,消除外部NVM DRAM和,这将大大增加死区。激进的硅节点上,这将是昂贵的硅。

“空间逻辑死总是相比溢价空间记忆死,”格林伯格说。“逻辑死,还是会有十几层的金属在上面。在DRAM的过程,他们通常使用一个三层金属的过程。所以有很多不处理晶片,当你构建一个记忆死。”

提出了两种解决方案。一是限制芯片上的代码来启动代码或任何绝对可以直接启动。可能包括小函数,必须保持可用,同时系统的其余部分是名义上的,部分的系统可以直接从内存执行。

或者,Arteris IP的弗兰克指出,3 d单片集成电路可能会进步,我们层记忆在逻辑死——不是通过包装,但是作为一个死。额外的内存可能会没有这样影响模具的成本。但尚未被证明可行和经济。

所以,离开XIP哪里?
工程师已经存在足够长的时间,还记得最初XIP概念仍然理解它的意义,至少是理解。这意味着获取指令直接从非易失性内存和将直接发送到处理器。

“XIP意味着一种设备,可以引导系统解决然后永远不会再看它,”比尔Gervasi说Nantero首席系统架构师。不包括停止在任何类型的缓存。

今天,定义更多样。两个版本最初听起来不同,但最终同样的事情。今天的简单版本的定义是,几乎所有有资格作为XIP,除了DRAM阴影。“当我们说执行到位,它说你不需要DRAM,只有非易失存储器是必需的,”侯赛因说。

格林伯格补充道:“我想execute-in-place更多绕过DRAM的上下文中,这样你可能仍然触及到一个本地缓存即使你执行”。

这听起来可能有些武断,但弗兰克有不同的描述方式——然而同构。他说这是任何处理器执行指令地址的使用反映了原始NVM地址。“我执行到位的定义就是你没有一个地址改变,在你执行缓存的方式,和你的原始的代码或数据仍在同一地址,你执行。”

这意味着任何缓存策略不影响XIP的状态。DRAM缓存(即。请求分页)和SRAM缓存仍然有处理器使用原来的内存地址。只是其间的缓存架构并隐藏解决翻译处理器可能会认为这样的指令的地址,当相反的指令缓存。

不符合这一标准的一个架构DRAM阴影。在这种情况下,您在DRAM散装flash内容复制到某个位置。现在处理器正在与DRAM地址,不是原flash地址。因为地址基础发生了变化,这将不再是XIP。

XIP也是一个重要的概念吗?工程师仍然是熟悉的概念,但他们不得不调整以满足现代意义的情况。“仍然有系统,使用它如果他们能够做即时的要求,”格林伯格说。但是,最重要的是,它似乎并没有一个系统架构师的重要考虑。当构建一个内存层次结构,工程师做他们需要做的事情。是否把它视作XIP似乎已经有些学术。



留下一个回复


(注意:这个名字会显示公开)

Baidu