矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: qql

从零开始设计一个简单的CPU和计算机,证明是可行的

[复制链接]
     
发表于 2017-2-28 12:02:34 来自手机 | 显示全部楼层
早年的CPU就是用74系列芯片搭成的,而74系列芯片就是为了计算机的制造而出现的。74系列也是目前最接近逻辑电路原理的系列芯片。赞一个!
回复 支持 反对

使用道具 举报

     
发表于 2017-2-28 13:29:00 | 显示全部楼层
也曾有过楼主同样的热情,上学期间曾对清华的CEC-I透彻研究了软硬件,其实就是改良版APPLE II,国外有6502.org就是一帮人用这个经典的CPU来做计算机的。但是像楼主这样,直接从CPU做起,的确需要扎实的基础知识和对枯燥工作的极大兴趣。可以体会,乐在其中。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-3-1 12:41:38 | 显示全部楼层
bg1bjf 发表于 2017-2-28 13:29
也曾有过楼主同样的热情,上学期间曾对清华的CEC-I透彻研究了软硬件,其实就是改良版APPLE II,国外有6502. ...

你说的是 中华学习机CEC-I , 6502 CPU很多人玩,我自己也有 两套6502 的单板机。

我就是希望做 一款从零开始设计的 计算机学习板

现在这款很小巧,4位的,我觉得很简洁很完美,哈佛体系结构的。

=======================================

后面如果大家支持我的话,我就再搞一个冯诺依曼结构的,可能做8位,只用一个存储器就可以

加上中断,栈之类的。




回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2017-3-1 12:46:14 | 显示全部楼层
其实我做的这个跟之前龙少制作的很像,从基本原理上看差别很小,
都是哈佛结构,都没有中断和栈,但是这些都可以利用编译器从软件上模拟。

简单罗列一下差别如下:

龙少CPU                                         qqlCPU  (qCPU)
位数:8位                                                  4位
ROM:2MB/4MB                                       4KB
RAM:4MB                                                4KB
ALU 芯片:74LS181                                74HC283
电路板:14块                                   1块主板 + 1块下载器
下载方式: 编程器?SD卡?                USB下载器


下载方式肯定是USB下载方式好的,连电源都可以省略了,编译下载运行
一键搞定

成本:  
龙少的187块IC芯片+14块PCB板子,焊接都很麻烦了
他的设计中使用了过多的244三态门缓冲器,不是一个简洁的设计。

我的设计中使用153,157数据选择器,比使用244简洁。
我的整个系统才28块IC,一块16cmX10cm 大小的主板,一个小小的USB下载器

外设:
其他什么外设VGA之类其实不是很必要,毕竟只是简单的处理器,
但是像 LED流水灯,LED点阵,简单的字符液晶就配备

还可以加一个串口,可以发送字符信息到桌面电脑显示

回复 支持 反对

使用道具 举报

     
发表于 2017-3-1 16:22:01 | 显示全部楼层
太牛叉了,,,我还在学习单片机,,楼主都开始造CPU了。
回复 支持 反对

使用道具 举报

     
发表于 2017-3-1 23:54:44 | 显示全部楼层
qql 发表于 2017-3-1 12:41
你说的是 中华学习机CEC-I , 6502 CPU很多人玩,我自己也有 两套6502 的单板机。

我就是希望做 一款 ...

绝对支持!
回复 支持 反对

使用道具 举报

     
发表于 2017-3-2 20:36:28 | 显示全部楼层
要看怎么定义CPU功能,如果一个CPU,寻址空间1位,指条1条,就是将地址0的数据输出到一个引脚,那么一导条电线就是这个CPU了,一端是数据总线,一端是输出引脚。因为寻址空间只有1位,地址线、控制线、时钟这些都不需要了。所以谈论一个最简单的CPU是什么样没有实际意义,至少要结合能来谈。
回复 支持 反对

使用道具 举报

     
发表于 2017-3-4 16:18:10 | 显示全部楼层
十分了得!
回复 支持 反对

使用道具 举报

     
发表于 2017-3-4 20:37:43 | 显示全部楼层
点阵扫描拍摄要手动调参数,曝光时间长点才不会明暗不一
作为计算机组成原理和编译原理课程的大作业,做个这玩意值得支持,帮顶!
回复 支持 反对

使用道具 举报

     
发表于 2017-3-5 00:26:30 来自手机 | 显示全部楼层
数了数,15条指令。没有程序调用指令,也没有操作堆栈的指令。将来编程难度是不是大了点。同样也没有逻辑运算指令,有好多逻辑功能都无法实现了。我有一阵子也想自己堆一个4位的U。发现16条指令远不够,所以控制器怎么也得是8位的。后来也就是想想,没自己做。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-3-5 21:28:11 | 显示全部楼层
haihuawu 发表于 2017-3-5 00:26
数了数,15条指令。没有程序调用指令,也没有操作堆栈的指令。将来编程难度是不是大了点。同样也没有逻辑运 ...

现在修改了一下,还是加入了程序调用指令,这样编程方便很多
还有也修改了内存的地址线,使得可以寻址4KB内存,

因为主题帖子好像不能修改,也就没有修改

现在情况如下:
==============================================
介绍一下我设计的计算机系统的基本概况:

小名:qCPU(CuteCPU)
CPU:4位
ROM:4KB
RAM:4KB
运行频率:74芯片极限
IO:2组4位的IO口
4个按键
其他外设就是5个LED发光二极管,一个蜂鸣器,一个5X7点阵LED,一个LCD1602液晶
总共8条指令,配备我自己设计的汇编器,使用起来跟
当年使用8086汇编编程很像
目前可以使用USB下载,USB提供电源,在电脑编写代码后,编译下载运行一条龙!!

==============================================

目前的指令如下:
ADD    加法
RM     读取内存
ADDC   带进位加法
WM     写内存
SUB    减法
OUT    IO输出
<      小于比较
=      等于比较
GOTO   小跳转
QCLR   清空
QMOV   赋值
QADD   加法
QSUB   减法
QGOTO  长跳转
QJMP   立即跳转
CALL  调用子程序
RET   从子程序返回
==============================================

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2017-3-5 23:35:58 | 显示全部楼层
我昨天放了个冥王星探测器,等10年后再传回数据给大家公布。想想觉得好笑哈。没有严厉的意思,说话要有最基本的严谨是不能少的,信口开河的的坚决抵制,如果楼主给出最基本的电路图,哪怕错误连篇但有那个概念在那里也算好青年,到时再加分。
回复 支持 反对

使用道具 举报

     
发表于 2017-3-6 11:07:36 | 显示全部楼层
赞楼主老师

热切期待下文!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-3-6 17:52:23 | 显示全部楼层
上传一份原理图给大家看看,基本算是没有什么修改了

MAIN.png

PDF文件 :
cuteCPU计算机原理图.pdf (291.19 KB, 下载次数: 104)

其他LED点阵,LED数码管这些还在做

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2017-3-7 08:44:05 | 显示全部楼层
这么一个玩意儿,有什么实际意义么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-5-2 11:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表