游民星空 > 资讯中心 > 正文

技术宅惊世之作 《我的世界(Minecraft)》如何打造计算机

2014-08-28 12:24:16 来源:人人网 作者:季文瀚 编辑:暗影猫 浏览:loading

最后是字符显示器功能:

  1.何标准储存器并输出储存器中的字符信息。

  2.字符可换行换页。

  3.交互式操作,单字符控制(这个还没做完所以视频里没有)。

  视频里有个字幕写错了,有一句话里welcome没有加最后那个e,不过已经费劲千辛万苦把超清视频传到优酷里,就懒得重新压视频再传上去了。

  关于工程的架构名称:Alpha21016。之所以取这个名字,是为了纪念十几年前DEC(Digital Equipment Corporation)的Alpha架构,那是一个处理器时代的传奇,可惜商业上并不成功。Alpha组的人很多后来都去了Intel和AMD,并立下了汗马功劳。

  综合视频和日志粗略的介绍了一下工程,题目说是“技术细节”实际上还有好多没介绍的,就先不说了,真要写完估计要写一本200多页的书。具体的规划细节比如各种重要功能结构的设计,指令集的设计,硬件单元接口排布,储存器空间位置,流水线级数,动态分支预测,乱序执行,显示器控制原理等等实在写不动,这篇已经写了2万多字了,等最终成品做完了再发完整的技术文档。

  本文是2013年8月写的,不知为何2013年12月11日被大家顶上来。首先感谢大家的评论,分享和赞扬。需要看工程新进展可以到我的相册里找。工程最终大约在2015年完工,会再发一篇完整地视频和文档出来。

  最后再次感谢大家的支持!!!

  2014年8月25日更新

  最近仍有很多人关注我的工程,我非常感动。我没弃坑,只是进度缓慢。

  最新的进度图

游民星空

游民星空

游民星空

  目前CPU已经可以执行若干种机器指令(以MOV为主):通用寄存器赋值,按字/字节+立即数/间接/直接寻址。

详细设置如下:

  指令名称:数据储存器取数据至X寄存器

  指令目标:将数据储存器中的某一字/字节数据传输至X寄存器中

  指令格式:00001  0/1  0/1  addr(9)

  对应含义:指令码  直接寻址/立即数寻址  按字/按字节  数据地址

  备注:如果地址为奇数且为按字寻址,则改地址数据赋值到目的寄存器高8位

  指令名称:传输MOV

  指令目标:通用寄存器之间的数据传输

  指令格式:1000000  x  reg(4)  reg(4)

  对应含义:指令码  无效  源寄存器地址  目的寄存器地址

  指令名称:加减乘除

  指令目标:将被操作数取出传输至Y寄存器四则运算后储存至X寄存器

  指令格式:00100/00101/00110/00111  0/1   0/1  addr(9)

  对应含义:加/减/乘/除  直接寻址/立即数寻址  取数计算/直接计算  数据地址

  备注:只支持按字读取数据储存器

  指令名称:寄存器间接寻址

  指令目标:将某寄存器中数据作为地址传输至MAR,取数后传输到任意寄存器

  指令格式:1000001  0/1  reg(4)  reg(4)

  对应含义: 指令码  按字/按字节 地址寄存器地址  目的寄存器地址

  备注:Y寄存器不支持作为地址寄存器,其他寄存器都可以

  之后还有约30种指令未完成,工程量很庞大,但我肯定会坚持完成的。实现所有指令后我会尝试做一个可视化的类似DOS界面的机器码处理界面。如果不做的话除了我就没人能看懂这个工程里CPU的作用了。字符显示器可以接收CPU传输过来的ASCII码并输出,不支持写入。

更多相关资讯请关注:我的世界专区

上一页 11 12 13 14 15 16 17 18 19
友情提示:支持键盘左右键“← →”翻页
人喜欢
游民星空APP
随时掌握游戏情报
code
休闲娱乐
综合热点资讯
单机游戏下载
好物推荐
游民星空联运游戏
技术宅惊世之作 《我的世界》如何打造计算机https://imgs.gamersky.com/upimg/2014/201408281220432943.jpg