首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式FORTH虚拟计算机的实现

嵌入式FORTH虚拟计算机的实现

关键字:嵌入式   FORTH   虚拟计算机  
1.引言
虚拟机最初是美国计算机科学家波佩克(Popek)与戈德堡(Gerald)在虚拟化需求中给出了定义,专指有效的、孤立的真实计算机的副本,现在则指可像真实计算机一样运行程序的软件实现,包括跟任何真实计算机无关的虚拟机。根据运用和与机器的相关性可分为系统虚拟机和程序虚拟机,一个提供了完整的操作系统,另一个则以运行单个计算机程序为主。

嵌入式应用领域,嵌入式系统相关的CPU芯片和微计算机硬件系统种类繁多,并且不断推陈出新,甚至多核处理器已被普遍采用。但是在新平台上,难以针对每一种芯片或平台制定一种计算机语言来编程。解决的方法一是可采用公共计算机语言,用不同的编译器来生成机器码,但该方法需要具有该语言的编译器,在新平台上往往难以具备。另一种方法即建立一个虚拟机,然后用一个计算机语言,用一个解释器来解释执行。采用该方法,难点在于嵌入式虚拟机的构建,要能够适应多种环境、快速构建、可扩展。

FORTH是一种与众不同的计算机程序设计语言。它具有极强的扩展性,通过字的定义,可实现不断堆叠和扩展。同时,它又具有极好的交互性,指令可解释执行,这就为应用的调试带来了极大的便捷。本文基于FORTH语言,以自主构建的JLPFORTH虚拟平台为例,详细阐述FORTH虚拟机的实现原理和核心实现方法,模拟和实现了通用的交互式计算机结构,实现了真实计算机的典型工作流程[4],并且一改过去FORTH代码和数据混合存储的方式,在内存的存储上以分段的方式将内存分为CS、VS、DS、SS四个段,分别存储指令和数据,这样,就实现了系统指令和用户数据的分离,有效地提高了代码和系统的安全性,并且调试方便、扩展性强,尤其适合应用于对安全性、兼容性、移植性、扩展性、交互性要求高的嵌入式系统领域。
返回列表