自制74门8位CPU

忙活了一个月终于完成了这个CPU,这是我从2014年以来一直YY的一个CPU,这几天终于完成了

本CPU指令39条:传送指令33条、控制转移指令3条、运算指令2条,空指令1条。

本CPU每一个时钟一条指令,单周期指令,由高位ROM和低位ROM组成16位指令,地址16位,ROM和RAM都是64KB


一直以来对CPU的运行原理很是好奇,看了很多的的书都不明白,写的太复杂,直到2014年看了《穿越计算机的迷雾》、《编码的奥秘》,龙少设计的CPU,终于明白了原理!

这个CPU其实是龙少CPU的改进版!最大区别在控制器,他的CPU只利用了时钟上升沿,而我这个控制器使用了上升沿和下降沿,利用时钟上升沿三态门打开,下降沿寄存器锁存完成指令控制


本CPU工作原理:

1、A寄存器传送到B寄存器: ROM地址0001H存放高00100001 低00000000,高ROM输出连接两个4/16译码器,低ROM输出连接数据总线,用于实现立即数传送到寄存器和RAM,实现数据和地址传送!高ROM输出00100001使译码器1的,A三态门控制端为0,译码器2的,B触发器触发端为0,但是我这里使用反相器,使4/16译码器输出1011111111111111反相0100000000000000,在使用三态门控制输出,只有在时钟低电平的时候才输出高电平脉冲,实现触发器控制,也就是时钟为高电平时三态门打开,时钟为低电平时触发器锁存数据,完美实现一个时钟内完成一条指令控制!!!


2、立即数传送到A寄存器:ROM输出高00011110 低00000001(立即数1),高ROM输出00011110使控制器译码输出《低ROM的输出端OE为零,A寄存器锁存端为高电平脉冲》一个时钟周期内OE一直为零,输出数据到数据总线,A锁存端只有在时钟低电平时才完成上升沿锁存!!!


3、无条件转移指令原理:使用C寄存器(低8位地址)、D寄存器(高8位地址),74LS161置位功能实现,首先传送要跳转的地址给C、D寄存器,然后让控制器使74LS161的置位端为零,然后时钟上升沿使74LS161置位,完成无条件跳转!

其它条件转移指令实现原理一样,只是增加逻辑电路使条件满足时置位端才为零!!!


 运算板

 


 RAM板



 555时钟板和I/O板

 

控制板

 


 ROM板

 


编码板


 


背面连接图


 


 整机成品

 


 

 


指令集

 


 


[修改于 4 个月前 - 2019-06-11 14:31:25]

来自 快乐DIY计算机电子学
1
2019-1-21 21:26:02
1楼

全手工搭棚啊

搞个编译器吧

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
2楼
引用:虎哥 发表于1 楼的内容:
全手工搭棚啊搞个编译器吧

是啊全手工焊接,几百条线,焊接、测试、检查错误用了一个月,是准备要搞个编译器来编程才行,手工机器码编程太容易出错,工程量也很大!

折叠评论
1
加载评论中,请稍候...
折叠评论
2019-1-22 09:12:03
3楼

牛人一个👍👍

折叠评论
1
加载评论中,请稍候...
折叠评论
2019-1-25 11:17:40
2019-1-25 11:17:40
4楼

哈,同行握手

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
5楼

一起研究啊

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
6楼
引用:左手执者 发表于4 楼的内容:
哈,同行握手

可以交流一下CPU制作

折叠评论
加载评论中,请稍候...
折叠评论
2019-1-27 18:27:45
2019-1-27 18:27:45
8楼

用AD画个板子吧!打样现在很便宜了,JLC才30大洋就可以出一张10x10的板子

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
9楼

@rpg-7画图软件是AD吗?我基本都没有用电脑画过电路图和PCB板,可以推荐一下吗?

折叠评论
加载评论中,请稍候...
折叠评论
2019-3-15 00:27:13
2019-3-15 00:27:13
10楼

膜拜一下大佬。。本人最近也打算将CPU搬到现实中来,请问在使用74门IC的时候需要注意一些什么吗?能直接把74门IC当成逻辑门随意拼接吗?

折叠评论
加载评论中,请稍候...
折叠评论
11楼

改天我也做一个,按照PLC指令做一个

[修改于 7 个月前 - 2019-03-15 10:20:32]

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
12楼
引用:Resbi 发表于10 楼的内容:
膜拜一下大佬。。本人最近也打算将CPU搬到现实中来,请问在使用74门IC的时候需要注意一些什么吗?能.....

只要不接错线,逻辑上没有问题都可以的,

折叠评论
加载评论中,请稍候...
折叠评论
2019-3-17 16:32:24
2019-3-17 16:32:24
13楼

打算挖矿吗?朋友😂,这下计算力应该挺厉害的吧

折叠评论
加载评论中,请稍候...
折叠评论
2019-3-24 21:41:19
2019-3-24 21:41:19
14楼

牛x,搞编译器吧,折腾起来要命啊

折叠评论
加载评论中,请稍候...
折叠评论
2019-3-25 01:15:24
15楼

楼主,做一个64位的大概要多少钱成本呢?

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
16楼
引用:改装pcp 发表于15 楼的内容:
楼主,做一个64位的大概要多少钱成本呢?

用74芯片搞64位不现实,体积太大,芯片速度上不去也是浪费!

折叠评论
加载评论中,请稍候...
折叠评论
分立元件(作者)
17楼
引用:不会飞的鸟 发表于14 楼的内容:
牛x,搞编译器吧,折腾起来要命啊

最近都懒得弄了,这个CPU的程序都是手工汇编,先写汇编然后手工编译成机器码,再用开关写入ROM!要先弄烧写器,再弄编译器了!

折叠评论
加载评论中,请稍候...
折叠评论
2019-4-13 17:42:41
2019-4-13 17:42:41
18楼

太佩服啦!真的高手

折叠评论
加载评论中,请稍候...
折叠评论
2019-5-31 22:07:42
2019-5-31 22:07:42
19楼

有套件卖吗?

折叠评论
加载评论中,请稍候...
折叠评论
2019-7-1 13:06:29
2019-7-1 13:06:29
20楼
引用 分立元件 发表于 17 楼的内容:
最近都懒得弄了,这个CPU的程序都是手工汇编,先写汇编然后手工编译成机器码,再用开关写入ROM!要先.....

手工编译成机器码,这个太烧脑了吧

折叠评论
加载评论中,请稍候...
折叠评论
2019-7-3 11:05:08
2019-7-3 11:05:08
21楼

我一直想用ECL逻辑电路做个CPU

折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png