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

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

3天内不再提示

大神手工自制CPU的过程

单片机与嵌入式 来源:单片机与嵌入式 2023-09-27 09:41 次阅读

CPU怎么识别我们写的代码?

为了深入理解这个问题,大神耗时整整半年,“逐点”焊接,自制了一个CPU,杰作如下图所示。

d12a1a66-5cd2-11ee-939d-92fbcf53809c.png

据大神介绍,他主要采用了如下3个原材料:

二极管、三极管和电阻

用一堆开关做成一个CPU?

下文介绍下大神自制CPU的过程。

寄存器

通常来讲,CPU的结构可以大致分为运算逻辑部件、寄存器部件和控制部件等。

而他最先“下手”的,就是CPU的寄存器部分。

大神设计了一个6位的移位寄存器,样子如下图,是不是跟想象中的不一样?

d1480e2c-5cd2-11ee-939d-92fbcf53809c.png

它的作用不仅能是用来存储,还能在时钟信号的控制下,将数据进行进行逐次右移或左移。

程序计数器

大神处理的第二个结构,是程序计数器(PC)。

它作用简单来说,就是记录程序运行的位置。而这也是整个项目下来最耗时、最复杂的部分,花了整整3个月之久。

程序计数器涉及的功能那可就多了。像最基本的就是挨个字节读完指令后,计数要自动+1;而CPU重启之后,计数便会清零。

而且在不同的条件之下,还要能实现直接跳转、调用函数、函数返回等功能。

功夫不负有心人,在经历3个月令人头秃的时光之后,最复杂的模块还是被他搞定了。上电测试也没有问题。

ROMRAM

硬盘(ROM)和内存(RAM)是CPU外,比较庞大两个部分。大神用上了比较容易操作的HM628512芯片来做ROM和RAM,如下图分别是HM芯片(上)、RAM(中)和ROM(下):

d160e852-5cd2-11ee-939d-92fbcf53809c.png

d171d91e-5cd2-11ee-939d-92fbcf53809c.png

d180c00a-5cd2-11ee-939d-92fbcf53809c.png

将ROM和RAM组装上去,现在CPU的基础模块已经基本完成了。

指令译码器

接下来就是打造指令译码器。

它主要是用于把传到这里的CPU指令,进行解析运行:

d1943a40-5cd2-11ee-939d-92fbcf53809c.gif

再把做加减乘除的运算器(ALU)加上去:

d1c4b440-5cd2-11ee-939d-92fbcf53809c.gif

最后还得再焊一个通用缓存上去,这个全部由三极管、二极管和电阻焊接而成的CPU就完成了!看到这密密麻麻的元件,工程量的浩大就不用多说。

二进制编码

因为这个CPU的指令集和架构都是自主研发的,所以没有适配的编程语言。

那怎么能让它跑起来呢?

纯手写最原始代码——二进制编程!

d1e75f40-5cd2-11ee-939d-92fbcf53809c.gif

之后竟然就开启了上古编程模式——“扣”程序:

d20b987e-5cd2-11ee-939d-92fbcf53809c.gif

一切准备工作就绪。接下来,便是见证奇迹的时刻。

上电测试

最开始,程序的运行并不是一帆风顺。即便大神重启了几次,跑马灯的效果偶尔还是出现问题。于是,大神重新编程,一切修改完毕,重新“扣”程序,启动!这一次,就没有任何的异常了。

d2810c3a-5cd2-11ee-939d-92fbcf53809c.gif

审核编辑:汤梓红。

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

    关注

    141

    文章

    3498

    浏览量

    119121
  • 二极管
    +关注

    关注

    144

    文章

    9017

    浏览量

    161378
  • 电阻
    +关注

    关注

    85

    文章

    5042

    浏览量

    169659
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10449

    浏览量

    206577

原文标题:手工自制CPU

文章出处:【微信号:单片机与嵌入式,微信公众号:单片机与嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    手工自制旋转LED电子时钟,红外遥控调整时间

    `全手工自制旋转LED电子时钟,红外遥控调整时间。。分享给大家。。。`
    发表于 05-14 20:35

    CPU自制”发烧友征集令

    帮助软件工程师深入了解硬件与底层,开发出高效代码。硬件工程师可以在本书基础上设计定制硬件,开发高速计算机系统。相信所有读者都可以在本书的阅读过程中,体会到自制计算机系统的乐趣与热情。一直以来CPU内部
    发表于 12-23 11:12

    CPU自制入门

    本帖最后由 lee_st 于 2018-2-21 11:29 编辑 CPU自制入门,
    发表于 02-21 11:27

    cpu自制入门 书签版(非扫描版)

    cpu自制入门书签版,不是扫描版
    发表于 11-02 16:57

    cpu自制入门 原码

    CPU自制入门 配套原码
    发表于 11-03 09:39

    电路板手工焊接操作过程

    `哪位大神可以分享电路板手工焊接的操作过程吗?`
    发表于 02-29 15:14

    手工焊接基础知识

    本文主要介绍了手工焊接基础知识以及在焊接过程中需要注意的各种问题,以帮助手工焊接操作的技术人员有效掌握并理解手工焊接的基础知识、技巧及在手工
    发表于 12-10 15:10 208次下载

    果汁LED灯自制过程

    果汁LED灯自制过程 一 准备工作:材料:纸一个LED一个苹果或梨或其他水果(这里用的是富士苹果)长25cm的铜线(直径1-2 mm)长25cm的铁线(
    发表于 11-23 09:07 979次阅读

    酷派大神F1高清拆机过程图集

    酷派大神F拆机图赏详情:
    的头像 发表于 10-12 10:00 1.3w次阅读

    手工自制印制电路板的基本步骤介绍

    手工自制印制电路板的方法主要有描图法、贴图蚀刻法、铜箔粘贴法和雕刻法。 
    的头像 发表于 07-18 14:41 1.4w次阅读

    自制手工弯管器资料下载

    电子发烧友网为你提供自制手工弯管器资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-27 08:46 13次下载
    <b class='flag-5'>自制</b><b class='flag-5'>手工</b>弯管器资料下载

    手工制作pcb全过程

    手工制作pcb全过程介绍。
    发表于 06-19 10:18 0次下载

    B站焊武帝爆火出圈:纯手工拼晶体管自制CPU,耗时半年,可跑程序

    金磊 博雯 发自 凹非寺量子位 报道 | 公众号 QbitAI一个人,到底能肝到什么程度?最近B站上大火的一个视频,或许给了这个问题一个完美诠释:纯!手!工!自制CPU!这位叫做“奶味的”...
    发表于 12-28 19:39 8次下载
    B站焊武帝爆火出圈:纯<b class='flag-5'>手工</b>拼晶体管<b class='flag-5'>自制</b><b class='flag-5'>CPU</b>,耗时半年,可跑程序

    B 站焊武帝爆火出圈:纯手工拼晶体管自制 CPU,耗时半年,可跑程序

    来自量子位一个人,到底能肝到什么程度?最近 B 站上大火的一个视频,或许给了这个问题一个完美诠释:纯!手!工!自制 CPU!这位叫做“奶味的”Up 主,耗时整整半年,用他那双勤劳的双手,...
    发表于 12-28 19:40 7次下载
    B 站焊武帝爆火出圈:纯<b class='flag-5'>手工</b>拼晶体管<b class='flag-5'>自制</b> <b class='flag-5'>CPU</b>,耗时半年,可跑程序

    小伙手工制作了一款32位CPU

    此前,我在 Youtube 上发现了电子爱好者 Ben Eater 自制 CPU(构建著名的 8 位计算机和经典的 6502 微处理器)的相关教程,所以非常着迷,也就有了自制 CPU
    的头像 发表于 07-11 16:11 561次阅读
    小伙<b class='flag-5'>手工</b>制作了一款32位<b class='flag-5'>CPU</b>