打印

哪位高手会单片机微处理器

[复制链接]
楼主: annie34
手机看帖
扫描二维码
随时随地手机跟帖
21
myweixing| | 2007-4-24 17:47 | 只看该作者 回帖奖励 |倒序浏览

用单片机能实现的用FPGA一样可以实现

使用特权

评论回复
22
Swd21ic| | 2007-4-24 17:51 | 只看该作者

ls..问题不是谁实现的问题..

我只想代大家问一点,
别说用CPLD实现一个微处理器这么难了..
楼主您会使用8051吗?? 

使用特权

评论回复
23
walnutcy| | 2007-4-25 00:38 | 只看该作者

我来点实际的吧

我来点实际的吧,给你一个完整的8051的IP核,带有说明文档的,剩下的看你造化了,不能再帮了,再帮不如帮你写论文得了..


论文也有一篇,只是不想害你,


你还是自己写吧..
相关链接:https://bbs.21ic.com/upfiles/img/20074/200742503535979.rar

使用特权

评论回复
24
sharks| | 2007-4-25 10:41 | 只看该作者

我给搂主一个建议:

   从4位机开始设计,只要有加减、寻址等几个基本操作即可。
   然后考虑8位机。我们这有大三的学生花了半年自己写过8位处理器,当然,是自己简化了许多的指令集系统。

使用特权

评论回复
25
zxq1234508| | 2007-4-25 14:43 | 只看该作者

有个方案!

花几块钱买个C51的片子,然后把型号抹掉,然后用油漆写一个CPLD型号!OK!毕业设计完成了!

使用特权

评论回复
26
xwj| | 2007-4-25 19:15 | 只看该作者

29楼,那是因为你孤陋寡闻


前所未闻最强DIY 耗时三年纯手工打造CPU(2) 
中华网科技 http://tech.china.com 2005-09-21 10:51:42
进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号:  】【关闭窗口

  
强!用集成电路手工打造CPU

在如今越来越靠程序化、流水线作业来完成生产的制造业中,想找一件手工打造的产品,真是越来越难了。 

好在当今社会中,还是有一些强人在孜孜不倦的在完成着心中的“完美DIY”梦想。因此也使我们多了一些大开眼界、崇拜和向慕的机会。




看看上面这张图,究竟是个什么东东呢?可能有人会说,这不过是个大学生用的实验仪器吧。但细心的朋友则肯定已经看到这个东西下面的“Magic-1 Homebrew CPU”字样了。

难道这真的是一个CPU?请赶快闭好你张大了的嘴巴。让笔者来告诉你答案:的确是!这是一个名字叫Bill Buzbee的朋友用200多块74系列的TTL集成电路通过纯手工制造的CPU。

这个神奇的Magic-1,就是由一个名叫Bill Buzbee的家伙手工打造的CPU。而Magic-1也是基于这个CPU制造的计算机的名字。有意思的是,“制作Magic-1的念头是在一次午餐中冒出来的”,Buzbee说。

Buzbee是一位编译器作者。但他为自己不熟悉CPU的实际工作而感到郁闷。因此想到了亲自动手来作一个CPU。Buzbee在大学时候没有学过任何电子类的课程,而且对于晶体管、电阻、电容等也只是一知半解。不过他的朋友Ken想到有一本老杂志曾经介绍过如何使用TTL集成电路来制作极其简单的CPU,并推荐他去看一看。一周后,Buzbee找到了这些**,并全部读了一遍。然后在下一次午餐上,Buzbee对Ken说起决定自己打造一个CPU。Ken说:“为什么不呢?”于是,Bill Buzbee的Magic-1项目拉开了序幕—— 

很强!纯手工CPU制造编年大史记


2001年12月6日 Buzbee开始写项目日志,并为自己制定了一张艰难但还算乐观的日程表 

2001年12月18日 完成错误处理和中断机制的基本设计 

2001年12月29日 完成微代码的第一轮设计 

2002年1月6日 完成了Magic-1模拟器,可以对调用/返回指令序列进行跟踪 

2002年1月8日 模拟了Fibonacci函数,并丰富了软件接口约定 

2002年1月13日 Magic-1汇编器(qas)成形 

2002年1月18日 决定是选择大尾数法还是小尾数法表示整数的字节顺序,最终选择了大尾数法 

2002年2月28日 在模拟器中完成了页面错误机制 

2002年3月9日 决定使用普通电线来进行连线 

2002年6月3日 对指令集架构进行了意义重大的改变 

2002年6月4日 用C语言编写了Fabonacci程序并编译为Magic汇编程序 

2002年6月22日 改用分立的数据和代码地址空间 

2002年6月25日 设计用于多进程的上下文环境切换 

2002年7月12日 完成对微代码的重写工作 

2002年8月13日 放弃对rotate指令的支持 

2002年9月11日 上了Gil Smith的一堂电子电路课程 

2002年9月22日 从eBay上买了板材和外壳 

2002年的其他日子 向Ken Sumrall请教如何使用寄存器,从他那里学到了Ohm规则 

2003年3月30日 从Jhon Doran的D16/M中得到了灵感,完成了ALU/寄存器板的架构 

2003年4月13日 完成控制板的架构 

2003年4月14日 思考前面板的架构 

2003年5月3日 第一轮架构设计完毕 

2003年5月6日 将构建环境从Linux一直到Windows 

2003年5月16日 构思新的Magic-1模拟器 

2003年5月27日 在新的模拟器上成功运行了Fibonacci程序 

2003年6月3日 完成了新的汇编器功能 

2003年6月21日 Magic架构验证和测试用例达到了100%覆盖率 

2003年6月23日 Alistair Roe通过email提出了Magic-1外壳的构想 

2003年8月3日 将LCC(C编译器)一直到了Magic上 

2003年8月10日 在模拟器上成功地实现了Fibonacci程序的C语言版本 (这一天是Buzbee的生日) 

2003年8月27日 从David Conroy那里学到了信号完整性 

2003年9月18日 决定使用普通的带皮电线进行连接(奇怪,前面已经决定一次了) 

2004年1月3日 完成了全部的设计工作,开始制作 

2004年1月18日 Magic-1有了第一次心跳 

2004年1月26日 前面板完成 

2004年2月9日 内存板完成 

2004年2月20日 EPROM子板完成 

2004年2月26日 设备板完成 

2004年3月7日 微代码序列成功运转 

2004年3月9日 执行了第一条指令 

2004年3月19日 控制板完成 

2004年4月8日 尝试发布前期的工作 

2004年4月12日 ALU/寄存器板完成;同日被告知,发布尝试失败 

2004年4月13日 Magic-1成功运行了Fibonacci程序! 

2004年4月25日 Dave Conroy的测试会话发现了不真实的内存碎片 

2004年5月3日 Magic-1能“说话”了 

2004年5月8日 运行“Sieve of Erasthones”基准 

2004年5月16日 完成了IDE接口,Alistair Roe完成了外壳设计 

2004年7月23日 发布基本架构 

2004年9月12日 用户模式程序可以工作 

2004年9月15日 运行“Dhrystone”基准 

2004年9月22日 使用copy-on-write实现了fork() 

2004年10月23日 Magic-1的Dhrystone得分达到了384(0.25MIPS) 

2004年10月31日 运行Colossal Cave Adventure 

2005年4月9日 Alistair Roe设计的外壳到货 

2005年5月13日 Magic-1的硬件设计完毕 

非常强!纯手工CPU的庐山真面目








学过数字逻辑和数字电路的朋友一定知道,通过使用TTL门电路,的确是能够实现一个CPU的;笔者在大学时也曾在软件上使用74系列芯片模拟过功能非常简单的CPU。然而,Buzbee朋友搞得这个家伙却是一个功能完全的CPU,我不知该如何形容它的功能,我本想说“麻雀虽小,五脏俱全”,但是…… 

这款“家酿”CPU可以支持完整的硬件地址转换、内存影射IO和DMA,并且支持多进程,主频“高达”3MHz;该CPU采用8位地址总线,每个进程拥有128K地址空间,其中包括32个2K的数据页和32个2K的代码页,这些地址影射到22位的物理地址空间中,如果算上外部设备的地址空间就是23位物理地址空间。 
从来没有这么强过!手工电路板特写图秀




 


 



 


 


怎么样?够强的吧?这还不算什么,这个Buzbee还用这个CPU组装了一台微型计算机,名字也叫Magic-1。




这台计算机包括两个串口和一块20M的1.3吋硬盘和另一块30M硬盘。最让人“乍舌”的事,这位朋友还将这台计算机做为一个Web服务器,同时支持Telnet会话(虽然只支持一个会话)。哦,还有,为了让这个系统能够跑起来,Buzbee还为它准备了一个C编译器!

编者寄语:如此强人,实在不多见!我们一定要记住他!因他的存在,我为DIY而感到自豪。 

相关链接:http://tech.china.com/zh_cn/hardware/diy/cjdiy/877/20050921/12674437.html

使用特权

评论回复
27
forthlab| | 2007-4-25 20:58 | 只看该作者

好像上面DIY-CPU的家伙还不是电子专业的

很酷的

使用特权

评论回复
28
wjy1107| | 2007-4-26 09:58 | 只看该作者

我的毕业设计就是FPGA实现的51内核的单片机

虽然有很多BUG但是可以运行跑马等程序了,也只是一个把51内核中的很多指令都不要了.比如寄存器间接寻址之类的指令,访问外部存储器的指令.这样就精简了不少了.我的创新只不过在上面集成了一个步进电机驱动的时序.

当然这是俺实际做的东西哈.写论文又是另一回事了.呵呵

使用特权

评论回复
29
etual| | 2007-4-26 12:23 | 只看该作者

快5月了

现在什么时候了? 快5月了哦,还有多少时间毕业?

使用特权

评论回复
30
yyyaoming| | 2007-4-27 09:38 | 只看该作者

CPLD内部没有ROM,真的要做的话还是用FPGA吧

使用特权

评论回复
31
annie34|  楼主 | 2007-5-3 14:37 | 只看该作者

谢谢各位给我的建议

其实我也知道这很难,但是有什么办法呢,我也没想到会难道这种地步,我都好久坐在电脑前,却什么也打不出来了!

使用特权

评论回复
32
yancy| | 2007-5-3 20:00 | 只看该作者

用SOPC吧!

用SOPC吧!相当方便

使用特权

评论回复
33
李冬发| | 2007-5-5 11:10 | 只看该作者

74+rom+ram做个CPU不难的。只是速度n慢,功能简单

你首先做个微指令解释器,剩下的就是写微指令了。这个就是是最原始的CPU的原理,也是最容易DIY的了。

使用特权

评论回复
34
古道热肠| | 2007-5-5 11:23 | 只看该作者

CPLD资源有限,FPGA适合做功能复杂的芯片

使用特权

评论回复
35
至尊宝| | 2007-5-5 15:49 | 只看该作者

不简单

感觉楼主还是新手,缺乏下手思路,不如换个毕业设计。

那个DIY 的 cpu 用8位地址怎么实现128k的存储空间的?

使用特权

评论回复
36
dongshan| | 2007-5-5 16:16 | 只看该作者

8051的核,网上一搜大把

使用特权

评论回复
37
annie34|  楼主 | 2007-5-19 14:43 | 只看该作者

谢谢各位

使用特权

评论回复
38
古道热肠| | 2007-5-19 16:42 | 只看该作者

参考同班做个可行的毕业设计也能学不少知识呀

  做毕业设计,选过可行的课题,可问问导师,如果找不到合适的,把您具体的要求告诉我们,会帮你选一个好的。
  如果是做EDA课程设计,实现一个NS8250串行通讯芯片也许比实现微处理器更有用。
  如果是做单片机,做一套实时时钟显示系统能学到不少东西

使用特权

评论回复
39
annie34|  楼主 | 2007-5-22 14:39 | 只看该作者

谢谢版主

使用特权

评论回复
40
古道热肠| | 2007-5-22 16:02 | 只看该作者

成功的决定因素

   成功=1%的天才+99%的汗水
   万丈高楼平地起,多下功夫会成为高手的。
   现在的状态将决定你三年后的一切,要有紧迫感哟!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则