本地执行(eXecuite In Place,XIP):
是有关ROM / FLASH代码启动的一个新技术。传统中,存在一个规则,即代码必须从RAM空间启动执行;原因是多方面的,CPU取指令的过程是基于线性地址的,而磁盘等非RAM类的存储介质的访问是非线性寻址的(如通过设备/柱面/扇区等参数)、以块为访问单位的(CPU寻址是字节单位的),且ROM之类介质还面临不可写的。而XIP则允许程序代码不进入RAM,直接在ROM中执行。
操作系统和应用程序必须从RAM启动执行的规则,对嵌入式系统的最大影响是需要较大的RAM空间开销。如果XIP执行方式可行,则将有效地节省了RAM的开销,并加快了
系统的启动时间(即拷贝到RAM的时间开销)。
优点:本地执行的时候,的代码段不必先加载到物理内存中,Windows CE只分配虚拟地址空间给代码段,并把它映射到Flash ROM上。这就大大节省了物理内存。
缺点:XIP只支持允许线性访问的Flash ROM(常见的NOR Flash是线性访问的,而NAND Flash是块访问的)。XIP这种加载方式的缺点就是执行速度相对较慢,CPU访问ROM的速度远慢于访问RAM的速度。因此XIP不太适合实时性要求比较高的场合。