欢迎来到天天文库! | 帮助中心 分享价值,快乐你我!
天天文库
全部分类
  • 学术论文 >
    毕业论文 毕业设计 临时分类
    学术论文
    毕业论文 毕业设计 临时分类 土木工程毕业设计 asp毕业设计 安卓毕业设计 php毕业设计 文献综述 其他论文 外文翻译 Java毕业设计 asp.net论文 英语论文 机械毕业设计 船舶工程毕业论文 法学专业毕业论文 工商管理毕业论文 汉语言文学毕业论文 行政管理毕业论文 护理学毕业论文 化学专业毕业论文 会计学毕业论文 计算机论文 教育学论文 金融管理论文 景观设计毕业论文 旅游管理毕业论文 文秘秘书毕业论文 人力资源管理毕业论 期刊论文 数学专业毕业论文 心理学毕业论文 平面艺术设计论文 开题报告 音乐专业毕业论文 市场营销论文 装修毕业论文
  • 应用文档 >
    商业计划 设计方案 施工方案
    应用文档
    商业计划 设计方案 施工方案 事迹材料 使用与维护手册 工作思想汇报 表格清单 应急预案 调研报告 策划书 项目建议书 技术措施与指南 可行性研究报告 分析报告 演讲稿 自查报告 党校课件 党校讲课稿 合同协议范本 ppt模板 工作总结 工作计划 工作报告 讲话稿 心得体会 活动方案 规章制度 读后感 汇报材料 其他办公文档
  • 行业资料 >
    专业技术 解决措施 指导说明书
    行业资料
    专业技术 解决措施 指导说明书 组织施工设计 技术规范 国家标准 行业标准 经营营销
  • 教育资源 >
    课后答案 笔记讲义 主题班会
    教育资源
    课后答案 笔记讲义 主题班会 医学课件 PDF书籍 商业培训 优质公开课课件 考试资料 教学课件 职业培训课件 大学学习资料 高中学习资料 初中学习资料 小学学习资料 其他学习资料 练习与试题 英语资料 课程设计 临时分类
  • 其他资料 >
    其他文档 免费文档
    其他资料
    其他文档 免费文档
  • 首页 天天文库 > 资源分类 > DOC文档下载
     

    基于fpga的比特币挖矿机的架构设计探索

    • 资源ID:24671136       资源大小:74.50KB        全文页数:4页
    • 资源格式: DOC        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
    游客快捷下载 游客一键下载
    会员登录下载
    下载资源需要10积分 【人民币10元】

    邮箱/手机:
    温馨提示:
    支付成功后,系统会根据您填写的邮箱或者手机号作为您下次登录的用户名和密码(如填写的是手机,那登陆用户名和密码就是手机号),方便下次登录下载和查询订单;
    特别说明:
    请自助下载,系统不会自动发送文件的哦;
    支付方式: 微信支付    支付宝   
    验证码:   换一换

     
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

    基于fpga的比特币挖矿机的架构设计探索

    基于FPGA的比特币挖矿机的架构设计 探索 高杰 深圳图灵科技控股集 摘要 ASIC为一种特定应用内部用来高效执行某些特定任务的专门硬件,虽然其比比 特币的成本低很多,不过可以得到优异的哈希速度,付出的代价为降低系统的 灵活性,难以适应协议的变化。同AS1C类似,FPGA也是可以作为高效的矿机系 统,同时成木较低,FPGA同ASIC比较灵活性更强,可以适应比特币协议的变 化。为此本文基于赛灵思Zynq-7000对于其架构设计展开相关研究分析。 关键词 比特币;FPGA;挖矿机; 比特币为一种虚拟的货币,比特币挖矿制度为通过计算机硬件为比特币网络开 展数学运算的过程,提供服务的矿工可以得到一笔报酬,因为网络报酬依据矿 工完成的任务来计算,为此挖矿的竞争十分激烈。比特币挖矿开始于CPU或者 GPU这种低成本的硬件,不过随着比特币的流行,挖矿的过程出现较大变化。如 今,挖矿活动转移到现场可编程门阵列上来,通过优化可以实现哈希速度,这 种模式的挖矿效率非常高。 一、总体架构设计思路 如果需要得到一个可行的比特节点与高效灵活的矿机等实现完整的挖矿系统, 需要采用功能强大的FPGA芯片,使其满足灵活性与性能的要求。在完整的片上 系统,需要经过优化内核来运行含有网络维护与交易处理等所有的比特币任务。 可以满足这一硬件条件的是Zed Board 7T发板上面的Zynq-7020。系统内部具有 两个ARMCortex-A9处理以及多个Artix_7FPGA逻辑单元,还内置512MBDDR3储 存器,可以开展更为快速的So C设计,Zed Board还有一个海量储存的SD卡槽, 有助于后续的更新。 通过Zed Board实现的So C比特币框架,其由主机、中继器以及驱动程序等模 块构成,可以通过原始的比特币客户端非图形化的界面作为主机,同比特币网 络开展互动。简单来说就是将比特币挖矿进程归纳为一个SHA-256进程与一个比 较器的组合,SHA-256进程负责对于块头信息开展两次处理,之后同比特币网络 的扩展0标比较。 二、框架结构的详细设计 (一)挖矿内核的深入。 依据美国的SHA-256规划,采用高层次综合开始开发挖矿内核,利用Vivado HLS具有的快速测试能力,完成对于儿何原型挖矿内核格局,进而简单的单进 程系统到复杂进程系统都可以实现。SHA-256经过64位移、相加和异或运算,得 到32字节哈希值。这个时候用8个4字节寄存器保存每个迭代结果,最后将四 个寄存器连接起来,得到具体的哈希数值。假如输入数据不足62字节,将其补 充,第64字节用来储存输入数据的长度。通过VivadoHLS,SHA-256就是一个 简单的for循环操作,通过一个阵列保持每次迭代所需要的数据,同时另一个 阵列保持其后续迭代的临吋数值,通过8变量保持其每次迭代结果。 对于开发的三个原型中第一个原型通过单个SHA-256进程模块,这是所有内核 屮最慢的,由于没有使用流水线。第二个原型为内置三个串联得到的单独 SHA-256进程模块,这种配置第一个进程处理数据尖信息的第一个64个字节允 许的静态输入。第二个进程负责的是处理数据头剩余16个字节以及加上填补数 据需要的48字节。第三个进程负责处理之前两个进程得到的哈希数值结构,其 使用两个SHA-256进程模块,同吋在比特币挖矿社区利用的比特币数据头信息 与挖矿进程A部充分利用补丁的功能。 (二)ISE的开发。 比特币的挖矿是在0与232-1之间获得可以作为解的数值,为此可以通过改善挖 矿内核性能的方法提升系统的效率。在Spartan-6开发板测试50、100、150MHz 不同频率,得到可以预测的结果。SHA-256进程模块需要完成10次不同的32位 相加,为此可以在一个时钟周期N部全部相加。为了缩短最长的路径,可以将加 法器链细分为一系列阶段,不过这么做会使得整个核的控制逻辑出现较大的变 化,需要彻底重新编写,为此可以放弃修改,节省设计的时间与成木。 对于最后测试的性能改进模式为并行化,只需要稍作修订,就可以使得 SHA-256组被称为2倍与4倍,每组通过两个SHA-256进程模块构成,对组数提 升2倍的SI1A-256来说,这种模式可以有效的将组数减半。对于组数提升4倍的 SHA-256,就是四分之一。为了使得额外的SHA进程可以在Spartan-6运行,可 以降低系统的频率。四组的SHA-256进程模块在75MHz运行的时候,两组在 125MHz运行。哈希速度的提升情况难以记录,可以看出单个SHA-256组的哈希 速度,但是多组的SHA-256构成挖矿内核找出解的速度比隐含的哈希速度更为 快速。 (三)EDK的使用。 经过FPGA测试之后,就需要将挖矿内核连接到ZynqSoC的AXI4总线,赛思灵 的嵌入式开发预先含有专门的Zynq So C设计的配置实用工具,有利于轻松配置 其每个层面。默认的情况下系统会启动512MBDDR3、以太网、USB和SD接口,这 是比特旧So C所需的全部配置。 对于新加入的组件前,需要对于AX4-Lite接口进行每个开发阶段的测试,测试 的目的为确认挖矿内核的AXI4-Lite接口是否正常的工作。为保证挖矿内核是否 以正确的字节储存次序格式接收得到数据,为了在不牺牲性能的模式下提升目 前的设计,准备在添加更多连接到主比特币节点含有的挖矿内核得到多挖矿内 核的时候可以显著提升性能,使得哈希速度加快。 (四)嵌入式的LINUX。 在实现挖矿内核与处理器连接之后,开始为软件开发工作,通过Linux内核可 以建立自身的固件,进而实现最为优异的性能。通过利用的Xilly bu得到的 Xillinux,其属于Ubuntu的衍生模块,用来快速实现嵌入式系统的开发。对于 Linux具有的驱动程序,需要实现一部分专门功能,将其连接到Linux内核,才 可以正确运行。如果加载具有特性初始化功能的驱动程序之后,可以使得系统为 硬件互动做好准备,对于这项功能内部,首先需耍确认挖矿内核准备链接的储 存器地址是可以使用的,之后将这一地址保留下来。同准系统不同的是,Linux 通过虚拟储存器地址模块,也就是通过保留的地址,需要为挖矿内核申请地址 的重映射,内核会通过重映射,提供一个虚拟地址,之后同挖矿内核寄存器通 信。 对于使用的硬件,初始化功能随机就可以对于挖矿内核开展简单的测试,进而 确认内核工作的正常。如果系统运作正常,登记内核寄存器的主器件号与次器件 号,用来用户程序识别这一器件。对于每一项功能都是含有一个计数器,退出功 能为初始化功能的计数器。利用这一功能,撤销初始化过程的相关操作,具体来 说就是释放驱动程序使用的主器件号与次器件号,之后释放映射的虚拟地址。 三、结语 在Zeb Board开发板的赛灵思Zynq-7000开发得出高效完整的比特币挖矿系统, 这一开发版本可以灵活适应比特币协议变化,之后提供具有So C功能的高性能 FPGA解决方案。添加更多挖矿N核后可显著地提升性能,加快整体哈希速度。 进一步优化该设计的改进是使用专用固件。目前的设计运行的是Ubuntu Lirwxl2. 04版。这个版本有大量不必要的进程和SSH等比特币程序同时运行。 在比特币程序运行的同时运行这些进程是对开发板资源的浪费。在将来的版木中, 将取消这些进程,只运行专为比特币任务定制的固件。 参考文献 [1] 陈雷,王文国.基于SHA256散列算法的比特币挖矿优化研究[J].信息技术与 信息化,2015, 10158〜159 [2] 李鹏.比特币系统分析及FPGA矿机控制软件设计与实现[D].北京邮电大学, 2013 [3] 张嘉铭.电子货币系统研允及比特币挖矿优化[D].吉林大学,2015

    注意事项

    本文(基于fpga的比特币挖矿机的架构设计探索)为本站会员(ggakttt)主动上传,天天文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知天天文库(发送邮件至1290478887@qq.com或直接QQ联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

    网站客服QQ:1290478887   天天文库用户QQ群:629251935   微信公众号:iwenku365

    copyright@ 2017-2027 wenku365.com 网站版权所有   聚力网络工作室

    经营许可证编号:鄂ICP备17008239号-1 

    收起
    展开