KH系统开发手记(1)

     出于个人兴趣想自己开发一套系统软件,一来可以对系统软件的实现有更清楚的认识,二来可以 增强自己的技术水平。完全是利用闲暇时间来做,所以比较慢一些,但是如果坚持下来了会有很大收获。系统的开发是一项艰巨的任务,希望自己能坚持下来!
   
     KH系统开发包括CPU芯片设计、指令集架构、汇编器开发、高级语言设计、编译器开发、虚拟机开发。系统的开发先从指令集入手,向下是芯片设计,向上是汇编语言、编译器等开发。

高级语言、编译器

汇编器

汇编指令集、机器指令集

CPU

1.CPU芯片设计

 使用VHDL描述硬件连接和逻辑关系,使用Cadence公司的Virtuoso软件进行仿真综合得到CPU core的电路图。

2.指令集架构

  指令集的设计和CPU芯片设计密不可分,初步设计为RISC架构,指令长度固定,32位字长,32个通用寄存器,实现常用的指令集即可。

3.汇编器设计

 用C++实现汇编器,有了汇编指令集就很容易翻译成机器指令集。

4.虚拟机设计
 虚拟仿真CPU硬件工作原理,执行汇编器生成的机器指令。用C++实现虚拟机。

5.高级语言设计
 语言是强类型的、LALR(1)、面向对象。是C语言的超集和C++的子集,不具有模板机制和一些特殊的语法。

6.编译器设计

语言的文法采用BNF范式描述,句法采用正则表达式描述,用Flex和Bison工具生成编译器前端,再生成中间代码,优化后转换成汇编代码。用C++开发编译器。

系统的开发先从虚拟机着手,以Space Invader游戏模拟器为例,开发一款基于Intel8080CPU的虚拟机,然后开发开发KH虚拟机。

posted on 2010-07-04 12:26 挑灯看剑 阅读(385) 评论(0)  编辑 收藏 引用 所属分类: 嵌入式系统开发

只有注册用户登录后才能发表评论。
<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

导航

公告

【自我介绍】 08年南开大学硕士毕业 最近关注:算法、Linux、c++、高并发 爱好:滑旱冰、打乒乓球、台球、保龄球

常用链接

随笔分类(139)

文章分类

我常去的网站

技术博客(都是大牛)

技术站点

搜索

积分与排名