关闭

jpcsp源码解读7:HLE

446人阅读 评论(0) 收藏 举报

作为一个模拟器,也就是一个虚拟机,所作的事情就是解释执行运行于该机器上的软件代码,包括系统软件和用户态的应用软件。

基于这个想法,系统软件应该是被加载到内存中的某些位置,当应用软件使用系统调用时,就跳转到系统函数的入口。在这个过程中,模拟器所做的事前后没有本质区别,就是取指令并解析执行,没有必要区分系统软件还是应用软件。

但是为了提高运行速度,jpcsp实现了psp上运行的系统软件的功能,如 内存管理,进程调度,文件系统 等。

当模拟器解析应用程序(比如一个游戏)时,发现该程序使用了syscall指令,就解析用户请求的系统功能,并调用自己实现的函数来完成这些功能。

这使得jpcsp从一个纯硬件虚拟机,升格为操作系统层面的虚拟机。他提供的不单是psp硬件的功能,而是把psp的固件(系统软件)也包括了进去。

jpcsp的源码更新日志中声称系统调用功能的执行速度提升了50%。可见,这是一个很有效的优化。

实现这些系统软件功能的类,通常以HLE开头,是什么单词的缩写暂时还不清楚。

具体每个HLE模块的实现还没有解析,不过可以暂放一边,先解析模拟器的解释引擎主体。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18969次
    • 积分:386
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:13条
    文章分类
    最新评论