×

16位RISC CPU超越函数计算器和CPU指令实现部分的详细资料说明

消耗积分:1 | 格式:pdf | 大小:8.16 MB | 2019-04-23

而无返还

分享资料个

  2014年8月25日更新更新内容为超越函数计算器和CPU指令实现部分

  断断续续终于做好了视频和介绍就用日志一起发出来了。工程还未完工视频展示计算器功能电子表和字符显示器时序控制。

  本工程基于一个叫Minecraft的游戏我使用的版本是1.4.7。之所以使用一个游戏作为平台是因为这个游戏可以做到实时运行超大规模集成电路模型大于10000个逻辑门并且提供壮观的可视化效果三维数字电路。

  半年前我刚接触这个游戏的时候想做一个简单的计算器。国外玩家两年前已经有人做到了基于整数ALU和直连总线的机器。我开始规划做一个16bit的计算器输入输出线路一样是直连的也就是说这个计算器完全是专用的芯片连单片机的等级都不到。后来我发现这个游戏可以实现更加复杂的东西。原因很简单游戏只提供了“或”“非”逻辑电路但理论上“或”“非”门可以表达一切逻辑。同时游戏提供的基于活塞机械的断路继电器的延时时序特性以及继电器的锁存特性会让很多高级触发器成为可能。换句话说FPGA能实现的东西这个游戏基本都能实现区别在于这个游戏提供的是一个纯粹数学模型化的信号系统元器件是简化的模型而不是现实中根据半导体材料设计的具有一定特性的电子元件在线路连接的拓扑结构上也和现实中的电路不同。

  在造计算器到一半的时候我打算改单片机也就是具有“图灵完备性”的简单计算机他可以执行一切计算机程序。我规划了指令集架构储存器架构和指令发射方式等。随着除法器可读写储存器缓冲队列等重要电路结构的设计成功我开始有了一个大胆的设想尝试实现一个具有流水线结构总线结构溢出中断堆栈标志位寄存器基本的分支预测和乱序执行等现代高级计算机技术的16bit RISC CPU以及一个附属的包含超越函数的单精度浮点处理器32bit FPU目前只规划作为计算器使用。

  工程现在进展顺利只是因为工程量巨大进度较慢。我已经将16bit整数计算器改成了完全时序逻辑电路控制并且有溢出判断的计算器。这在全世界Minecraft红石电路玩家里应该是首次。这个计算器作为片外系统借用CPU的ALU部分进行运算并经过总线传输数据。目前CPU的ALU主储存器和寄存器等EU部分已经完工内部环状总线已经完工CU部分也就是最繁琐的部分正在建设中。而FPU部分已经完成了加法器乘法器三角函数运算单元开方运算单元。现在整个工程大约有10万门以上的电路。

  目前不可逾越的困难是游戏的基准单位延时t是0.1秒加载地图最大范围是长宽1024m高256m的范围这就限制了计算机的运算速度以及造出来的硬件规模。特别是储存器我的片上程序储存器只有1kb这对于现实中的储存器容量而言太小了。所以想利用这有限的空间做一个汇编编译器简易的操作系统实在是太困难。

  对于工程的介绍我分为6部分信号系统硬件单元和硬件算法储存器架构和流水线指令集架构总线和时钟图形显示原理。我尽量用非专业的语言来介绍不可避免会用一些术语。

  本工程需要的专业知识基本就是微机原理数字电路少许编译原理和计算机图形学。

  先贴一张CPU架构图

  其中每一个方框都代表一个或若干个硬件单元小一点的大约一两百个门电路大的有几千个门电路。架构图基本是按照实际距离做的在工程上方俯视看到的结构和架构图可以一一对应。下面的俯视图对应架构图的右半部分Data Bus以及其围住的右下部分 PS目前决定把乱序执行模块取消。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !