网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > VC与C++类别 > 正文

基于VC简化的8088CPU逻辑功能的仿真实现

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/14

网学网为广大网友收集整理了,基于VC简化的8088CPU逻辑功能的仿真实现,希望对大家有所帮助!

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

5.2 CPU类的主要功能及实现方法

虚拟机bochs是一个庞大的工程,它包含了许多库,例如汇编库,反汇编库,CPU库,插槽库等许多库,而我们所以要关心就是CPU库,而CPU库又是一个复杂的工程,它具备了8088CPU的功能,在熟悉了解它后,决定通过修改插槽库来调用CPU库,这样既能达到8088CPU的功能又能是工作量减少。

 

 

 

5.2.1 修改cpu loop

修改CPU loop首要的工作是要熟悉这个库的内容,通过一段时间的分析,熟悉了重要功能部分实现的代码。

prefetch();

      eipBiased = RIP + BX_CPU_THIS_PTR eipPageBias;

    }

 

   

    bxInstruction_c *i = fetchInstruction(&iStorage, eipBiased);

    BxExecutePtr_tR resolveModRM = i->ResolveModrm; // Get as soon as possible for speculation

    BxExecutePtr_t execute = i->execute; // fetch as soon as possible for speculation

该部分实现了CPU与寄存器之间的取指令,译码指令,以及指令执行的功能。

 

 

 

5.2.2 修改插库

插槽库的修改主要通过修改以下函数完成:

       void bx_instr_init(unsigned cpu)

void bx_instr_shutdown(unsigned cpu)

void bx_instr_reset(unsigned cpu)

void bx_instr_hlt(unsigned cpu)

void bx_instr_new_instruction(unsigned cpu)

     void bx_instr_inp(Bit16u addr, unsigned len)

void bx_instr_outp(Bit16u addr, unsigned len)

     其中,bx_instr_inpbx_instr_outp两上插槽函数是CPU执行INOUT指令时将会调用的函数,他在实验台演示中有重要作用。

 

 

   

8088CPU逻辑功能的仿真减少CPU里的一些细节特征,例如CPU与寄存器之间取指令,译指令等一系列流水线过程都简化了,使CPU和寄存器整和在了一起,实现了其主要功能,当用户使用此仿真时容易理解,使得仿真时更加突出重点,减轻了仿真的设计实现难度。

在工作的前期首先要了解bochs,由于bochs是一个巨大的工程,它由汇编库,反汇编库,CPU库,插槽库等许多库组成。在前面花了大量时间来研究研究后,使我们在后期的工作中有了明确的方向,主要通过修改boshs中的CPU_loop和插槽库。但是在后期工作遇到了很多困难,例如最难的是CPU的功能实现,CPU功能复杂,它包含函数相当多,各函数之间的调很多都不能很好的实现。在设计设计过程中还暴露出很多基础问题,例如对工具不能熟练的掌握。

通过这次毕业设计的编程,使我对bochs8088COU有了新的认识,同时我也对VC++这一编程语言有了更深的了解,对以后的学习和工作都有很大的帮助。

 

 

 

 

 

 

参考文献

[1] Peter Abel,IBM PC 汇编语言程序设计(第五版),人民邮电出版社发行,2002.9.1

[2] 孙鑫,余安萍,vc++深入详解,电子工业出版社,2006.06

[3] Stephen Prata,《C++ Primer Plus》(第四版)中文版,人民邮电出版社,2005

[4] Steven Holzner.Visual C++ 6.0轻松进阶[M].北京:电子工业出版社,2005

[5] John E.Swanke.Visual C++MFC编程实例[M].北京:机械工业出版社,2005

[6] 张海棠.Visual C++ 6.0编程指南[M].北京:航空工业出版社,2002

[7] 马群生等 微计算机技术 清华大学出版社 2006.1

[8] 潘爱民等 Visual C++ 技术内幕 清华大学出版社 2001.4


 

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师