大神手工自制CPU的过程

cpu怎么识别我们写的代码?
    为了深入理解这个问题,大神耗时整整半年,“逐点”焊接,自制了一个cpu,杰作如下图所示。
据大神介绍,他主要采用了如下3个原材料:
二极管、三极管和电阻。   
    用一堆开关做成一个cpu?
    下文介绍下大神自制cpu的过程。
寄存器
    通常来讲,cpu的结构可以大致分为运算逻辑部件、寄存器部件和控制部件等。
而他最先“下手”的,就是cpu的寄存器部分。
    大神设计了一个6位的移位寄存器,样子如下图,是不是跟想象中的不一样?
它的作用不仅能是用来存储,还能在时钟信号的控制下,将数据进行进行逐次右移或左移。
程序计数器
    大神处理的第二个结构,是程序计数器 (pc)。
    它作用简单来说,就是记录程序运行的位置。而这也是整个项目下来最耗时、最复杂的部分,花了整整3个月之久。
    程序计数器涉及的功能那可就多了。像最基本的就是挨个字节读完指令后,计数要自动+1;而cpu重启之后,计数便会清零。
    而且在不同的条件之下,还要能实现直接跳转、调用函数、函数返回等功能。
    功夫不负有心人,在经历3个月令人头秃的时光之后,最复杂的模块还是被他搞定了。上电测试也没有问题。
rom和ram
    硬盘(rom)和内存(ram)是cpu外,比较庞大两个部分。大神用上了比较容易操作的hm628512芯片来做rom和ram,如下图分别是hm芯片(上)、ram(中)和rom(下):
将rom和ram组装上去,现在cpu的基础模块已经基本完成了。
指令译码器
    接下来就是打造指令译码器。
    它主要是用于把传到这里的cpu指令,进行解析运行:
再把做加减乘除的运算器(alu)加上去:
最后还得再焊一个通用缓存上去,这个全部由三极管、二极管和电阻焊接而成的cpu就完成了!看到这密密麻麻的元件,工程量的浩大就不用多说。
二进制编码
    因为这个cpu的指令集和架构都是自主研发的,所以没有适配的编程语言。
    那怎么能让它跑起来呢?
纯手写最原始代码——二进制编程!
之后竟然就开启了上古编程模式——“扣”程序:
一切准备工作就绪。接下来,便是见证奇迹的时刻。
上电测试
    最开始,程序的运行并不是一帆风顺。即便大神重启了几次,跑马灯的效果偶尔还是出现问题。于是,大神重新编程,一切修改完毕,重新“扣”程序,启动!这一次,就没有任何的异常了。


用于AM/FM、ISM频段、LoRa传输以及卫星追踪的RTL-SDR简介
Unity与HERE达成合作,共创未来汽车新体验
如何通过使用Docker来快速搭建IPsec VPN Serve?
如何利用电流隔离来消除接地环路
索尼打败华为P10、LG G6,成为MWC最佳新机!!!
大神手工自制CPU的过程
弄清楚五类网线和超五类网线区别-clan
为什么许多手机采用Type-c接口,弃用USB接口
阳光照明2019一季净利润增速创近8年最高
中国汽车芯片市场如何?
解析4680电池和21700电池
基于蒙特卡罗方法的理论
奥克斯空调多重优惠“花式”来袭 巅峰狂欢趴即将开幕
人脸识别系统现如今已发展到了什么程度?
用AWTK和AWPLC快速开发自定义功能块
Nio EC6的价格预计将在2020年成都车展上宣布
NVIDIA将通过5G技术传输云渲染VR/AR内容
所有家庭设备连接物联网生活将会如何改变你会期待吗
摇一摇手机就能变色的LED灯 获美国IDEA工业设计大奖
无纺布表面污点在线检测系统的原理及其功能的介绍