0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从头开始构建 RISC-V CPU使用分立逻辑芯片,通过最热门的新架构构建功能惊人的 CPU

eeDesign 来源:eeDesign 作者:eeDesign 2024-04-02 17:28 次阅读

这是一种驱使人们自愿构建自己的CPU的痒。我们开始思考我们理解中的空白,这个空白潜伏在逻辑门和触发器如何单独工作以及机器代码如何控制完全组装的处理器之间。在硬连线电路开始随着软件不断变化的曲调跳舞的神奇区域中究竟发生了什么?

事实证明,这种痒折磨着足够多的人,以至于有商业套件供想要将 CPU 组装在一起以看到(或听到)它的制造商使用,并且网络上充斥着自制的 4 位和 8 位 CPU,其架构是 1970 年代工程师所熟悉的。我应该知道——我自己做了一个。但后来我开始怀疑:我能不能用一些最新技术来构建自己的CPU?我可以设计自己的完全兼容的 32 位 RISC-V 中央处理器吗?

RISC-V 是一个开源架构,大约有 11 年的历史,现在开始在由 x86 和 ARM CPU 架构主导的世界中取得进展。罗伯特·巴鲁克(Robert Baruch)的工作提醒了我RISC-V的可能性,他大约两年前开始了一个类似的项目,但尚未完成他的处理器,部分原因是他必须不断重新设计他早期构建的组件,以满足不断发展的设计需求。

RISC-V 设计的模块化特性使我能够将 Pineapple One 构建为一堆可单独测试的 10 x 10 厘米 PCB,这些 PCB 具有不同的功能(顺时针方向,从左上角开始):VGA 驱动器;公羊;传输层;移;阿鲁;寄存器文件;控制单元;程序计数器;只读存储器。詹姆斯·普罗沃斯特

取而代之的是,我首先在逻辑电路仿真器Logisim Evolution中构建了我的完整设计,我将其命名为Pineapple One。在查阅了官方 RISC-V 手册以及 David Patterson 和 John Hennessy 的著作《计算机组织与设计,RISC-V 版》(Elsevier,2017 年)的第一版,并将 Logisim 推向了极限,我在六个月内对 Pineapple One 进行了工作模拟,满足了基本 RISC-V CPU 的要求。

在实现 RISC-V 架构时,我惊讶地发现,与我早期自制 CPU 中使用的传统复杂指令集相比,该架构的意义要大得多。冗余被消除,处理器的寄存器(存储 CPU 工作内存的暂存器)更加灵活。另一大优势是RISC-V是一个有据可查的模块化设计,所以我知道每个模块必须做什么。我的目标是以我自己的方式设计每个模块,但要确保它的性能符合 RISC-V 标准。(这决定了我的 CPU 是 32 位的,因为根据定义,RISC-V 指令至少那么长。

从物理上讲,菠萝一号分布在垂直堆叠的八个方形印刷电路板上,这些电路板的边长约为10厘米,外加一个处理VGA显示接口的卡。它使用了 230 多个集成电路,主要来自 74HCT 系列逻辑芯片。我最大的挑战是实现桶形移位器,这种电路可以围绕寄存器中的位以可控的量进行移位。我首先尝试了一种需要 80 多个组件的快速实现,但尽我所能,我无法让它适合我的 PCB。因此,我采用了一种低组件方法,基本上暂停了 CPU 其余部分的运行,直到我的变速杆完成启动。由于菠萝一号的走线很长,与单芯片CPU相比,我还很难管理寄生电容和阻抗,这意味着要调试一些非常奇怪的行为。

忠诚shopping_cart删除

詹姆斯·普罗沃斯特(James Provost):虽然有规定指令的长度范围在16位和理论上无限的数量之间,但这里是RISC-V指令的四种核心类型的固定32位格式。一些指令将操作码与其他功能字段相结合来定义行为,而另一些指令则允许将多个源寄存器与所谓的即时数据相结合,并将结果放置在目标寄存器中。

我使用Arduino微控制器测试了每块板,以模拟计算机其余部分的输入,并监控输出的正确性。我用3D打印了一个漂亮的外壳来容纳整堆PCB和输入/输出连接器,这样就可以将键盘和VGA显示器直接连接到Pineapple One上。有 4 个通用 I/O 端口 — 2 个 8 位输入和 2 个输出。

我的朋友 Jan Vykydal 帮助我设置了一个符合 RISC-V 的编译器才能正常工作,所以我用 C 语言编写了一些系统软件和演示程序。编译器生成机器代码,我使用一个 Python 脚本来获取代码并将其闪存到 CPU 的内存中。尽管 Pineapple One 的运行频率仅为 500 千赫兹,但这仍然足够快,可以实时玩像 Snake 这样的简单电脑游戏,而且 512 KB 的程序内存和 512 kB 的 RAM 已经足够了。

最终,我想稍微升级一下处理器,以便它可以运行更复杂的程序。我还想添加更多扩展板,例如声卡。您可以在 Hackaday 上找到原理图和物料清单,但最终将其作为套件提供给其他有兴趣了解当代 CPU 设计的人会很棒。

审核编辑 黄宇

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

    关注

    446

    文章

    47655

    浏览量

    408571
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10394

    浏览量

    206431
  • RISC-V
    +关注

    关注

    41

    文章

    1879

    浏览量

    45011
收藏 人收藏

    评论

    相关推荐

    Renesas支持RISC-V架构的具体MCU型号是哪个呢?

    瑞萨电子推出围绕64位RISC-V CPU内核构建的RZ/5个通用微处理器单元(MPU),具体的型号是多少?性能怎么样?
    发表于 01-11 13:03

    RISC-V 生态架构浅析

    RISC-V指令集正式因为伯克利大学想开发一款CPU时,要么是一些老旧的架构,要么收费昂贵,芯片设计领域亟需一个开源的指令集。神说要有光,就有了光,神说要有空气,就有了空气,神说要有
    发表于 06-22 16:51

    科普RISC-V生态架构(认识RISC-V)

    RISC-V指令集正式因为伯克利大学想开发一款CPU时,要么是一些老旧的架构,要么收费昂贵,芯片设计领域亟需一个开源的指令集。神说要有光,就有了光,神说要有空气,就有了空气,神说要有
    发表于 08-02 11:50

    RISC-V有哪些特点

    。  RISC-V在中国  说了RISC-V的缘起与优势,大家一定想知道它对我国芯片行业的影响。我国芯片行业一直处于被压制状态,主流的指令集架构
    发表于 08-25 11:17

    瑞萨基于RISC-V核心架构的预编程ASSP器件

    替代途径的客户,从更短的上市时间和更低的开发成本中获益。”瑞萨基于RISC-V核心架构的预编程ASSP器件,结合专用的用户界面工具来设置应用的可编程参数,将为客户构建完整且优化的解决方案。此
    发表于 10-13 16:33

    ARM与RISC-V架构的区别是什么?

    2019年开始RISC-V得到了越来越多的重视,原因有很多,ARM授权费高是关键的因素,下面就来说说关于ARM和RISC-V架构,以及相关的内容。 关于ARM 1991 年ARM 公
    发表于 04-25 09:13

    RISC-V架构简介

    集(RISC)原则的开源指令集架构(ISA)。与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V
    发表于 07-28 07:46

    如何实现一个RISC-V内核架构芯片移植工作

    、MIPS32、RISC-V 等等。为了使 RT-Thread 能够在不同 CPU 架构芯片上运行,RT-Thread 提供了一个 libcpu 抽象层来适配不同的
    发表于 03-25 10:11

    RISC-V简介

    RISC-V简介  RISC-V 是一个自由和开放的 ISA(开源指令集架构),通过开放的标准协作实现处理器创新的新时代。RISC-V IS
    发表于 02-27 19:56

    RISC-V,正在摆脱低端

    的采用限制在拥有设计完整处理器资源的公司。 如今行业正在构建一个生态系统,旨在实现结合采用不同工艺节点的第三方小芯片的设计。与此同时,RISC-V正在通过其开源模型实现更大的
    发表于 05-30 14:11

    两大架构RISC-V 和 ARM 的各种关系

    一、RISC-V 和 ARM 的相似之处 RISC-V 和 ARM 基本上都是 RISC(精简指令集计算机)。RISC-V 和 ARM 都使用加载-存储
    发表于 06-21 20:31

    RISC-V强势崛起为芯片架构第三极

    David Patterson教授及其课题组基于RISCCPU指令集架构,历经30多年研发、迭代五次而成,2015年加州伯克利大学将RISC-V指令集
    发表于 08-30 13:53

    从头开始构建无人机

    电子发烧友网站提供《从头开始构建无人机.zip》资料免费下载
    发表于 11-22 10:35 1次下载
    <b class='flag-5'>从头开始</b><b class='flag-5'>构建</b>无人机

    芯来科技CEO彭剑英:RISC-V构建自主可控CPU繁荣生态

    彭剑英受邀出席,并围绕“RISC-V构建自主可控CPU繁荣生态”作主题演讲。彭剑英表示,目前应用定义芯片的趋势非常明显,AIoT、汽车、数据中心迎来爆发。AIoT方面,
    的头像 发表于 06-23 09:34 1030次阅读
    芯来科技CEO彭剑英:<b class='flag-5'>RISC-V</b><b class='flag-5'>构建</b>自主可控<b class='flag-5'>CPU</b>繁荣生态

    TenstorrentInc首席CPU构架师 练维汉:助力数字化升级的RISC-V AI 高性能CPU

    ”,曾在水果公司作CPU架构设计师。练维汉除介绍RISC-V内核的高性能 CPU IP内核技术之外,也对近期热门
    的头像 发表于 08-28 12:05 2390次阅读
    TenstorrentInc首席<b class='flag-5'>CPU</b>构架师 练维汉:助力数字化升级的<b class='flag-5'>RISC-V</b> AI 高性能<b class='flag-5'>CPU</b>