计算机计算机原理与电路
0
继龙少和qql之后,我也在不断地更新着我的74门计算机
左手执者 2018-9-8 22:23:07

  先放一些图吧

pic

 这个是该款微处理器的总的框架图

pic

 ALU的结构设计

以及之前最早的电路图

pic

 毕竟是最早的设计嘛,所以有一些地方还不是很到位,在设计方面存在一些缺陷和诟病


目前的话预计的配置

名称:

隶属:暂无

结构:哈佛结构

位宽:8位

ROM大小:4MB可拓张

RAM大小:显存:64KB×2=128KB                   

内存:128KB                   

SFR:未定

大概就这么多吧

文档的下载链接(这个版本的电路图还是属于最早的测试版的,新版还没有画完

ALU(完成).pdsprj4次下载

另外,本设计完全开源

最初打算制作这款计算机的缘由:

自从16年看到龙少等人研究出自己的74门计算机,并有一定的生态圈子时,很是羡慕,梦想自己也能做出一台除74门外不含有任何逻辑性质的芯片的计算机

  可是,年复一年(大概断断续续思考了有一年左右吧)一直倒在vga这块儿,也就当做笑耳,以这个为借口不再研发下去了

  今年寒假,为windows苦于图形界面软件编程教程甚少的时候,又会想起来,可惜但是只不过时间太短了,没有留下什么留念,只是草草翻译了几篇datasheet了吧,寒假过后,也没机会碰电脑,毕竟一个初中生怎么较量得过家管严的父母呢

  暑假,在B站上投稿了较多专栏,主要以教程的方式向大家入门74门微处理器,慢腾腾地做着自己的专栏,所幸,反响不错


在这段期间内,我还肤浅地研究了一下龙少的机子,发现了两个诟病(如有错误欢迎指正)

1.大量使用74门自身特性做延迟用 

2.对于移位方面比较浪费元件

我还小小地整理了一下龙少的电路图,整合成一个pdf

龙少电路图整理.pdf19次下载

 暂时就这么多吧,等会去学校回来继续更新


[修改于 3 个月前 - 2018-09-09 14:44:36]

2018-9-9 21:22:08
左手执者(作者)
1楼
0

才刚刚写完作业,,,

首先的话没记错的话我的这款微计算机是独立ALU总线的,并没有和龙少一样采用单总线的方式,全部都在总线上运行的话,比较占用总线的通道,例如使用龙少的方法的话。立即数+内部寄存器值需要操作两遍,第一遍是将立即数的数值锁存入ALU的锁存器上,第二步是将寄存器数值锁存入ALU。而在该设计下,直接将所指寄存器的数据与立即数同时载入ALU,可能牺牲了一点价位,但是换回来的是更大的速度提升

第二是我认为龙少的移位设计有点令人想不通,恕本人见识狭窄,并没有看到移位发挥着过大的作用(除了乘除法计算之外,但龙少似乎选择了硬件乘法器的方式),循环移位似乎除了跑流水灯之外没有更好的打算,而所衍生出来的带XX的第X位进行左/右移似乎在设计上存在无用武之地。而在此方面便有着八条不同的移位方案,如果有人有更好的解答,我也希望能够互创互补

第三是貌似存在延时方面的浪费?

pic

 244的话G引脚接地是直接连通的,感觉在这里的话除了延迟就大概没有其他的理由了,希望能通过控制时序的方式来替代这种不可控的器件自身物理效果延迟。

2018-9-10 22:17:07
左手执者(作者)
2楼
0

课间的时候重新设计了一下完整的alu结构图,手绘的谅解一下吧

pic

 

3楼
0

lz为何对利用器件延迟的设计如此抵触呢?这也算是对器件物理特性合理利用

左手执者(作者)
4楼
0

@Robot_V1器件延迟的话如果在时序把控的好的情况下是不需要的,并且器件延迟往往是不可控的,我现在要做的就是既把器件延迟“安排”好(在设计是考虑对电路的影响),又不能利用器件延迟

5楼
0

好一点的74芯片延时是纳秒级的吧(触发器类电路故意产生延迟除外),相对而言摊大饼式的布线产生的延迟也会变得不可忽视。

左手执者(作者)
6楼
0

 @虎哥 摊大饼的话自然也是少有的,就算串联下来延迟较大,我也会尽量地协调一下各个引脚输出的延迟,尽量做到同时输出

左手执者(作者)
7楼
0

今晚看来不能做些什么了,就来闲聊一点吧。今天与其他几人讨论了一下,大多数的网站上所说的分开储存器而言对于我来说还是较为含糊的,后来在讨论时声明了我的rom和ram是各用一组pc,共用r1,r2,r3进行变址,而操作数和指令是存放与rom中的,经人一说是哈佛结构,这才放了心,同时,我也纳闷群里几伙计为什么不也采用哈佛结构的,扬言我xx死都不会用哈佛结构,一生只爱冯(怕不是歇后语就是真香)难道哈佛结构条理不是更清晰吗




暂时给为了避免成为打广告的嫌疑,从自己B站专栏上顺手截了几个图供大家图个乐(还真是图个乐,因为之前这结构已经被我抛弃了)

pic

 好吧被B站强制加二维码了,,(雾)

8楼
0

好的,我来捣蛋了

9楼
0
引用:左手执者 发表于7 楼的内容:
今晚看来不能做些什么了,就来闲聊一点吧。今天与其他几人讨论了一下,大多数的网站上所说的分开储存器而言.....

楼主看起来是个有趣的人,好吧就科普一下科创的开放原则和广告管理制度。首先是科创并不排斥推荐、分享有益的外部资源,甚至鼓励大家介绍自己的作品(包括在站外的),只要是好东西,管他在站内还是站外,为什么不能发扬光大呢?

但是科创毕竟是氛围最好的极客学术社区,所以对引荐外部资源还是有些要求,比如必须有实质性的技术内容(非技术区和工具性的引用链接除外),必须公开透明,必须不给用户(网友)添麻烦。这就是科创遵循的开放原则。第一个很好理解,人们不能只发一堆感想或者装个逼,却不提实质性的技术细节,否则没有营养,用户花了时间阅览,却什么收获都没有,社区就没有意义。第二个公开透明,就是要客观而全面的披露信息,避免用户误读、上当。比如标题显得像是分享某个学术观点的样子,进去以后却是一个提问帖或者广告帖,那么对这种内容反感的用户受到标题的误导进来了,就浪费了时间;如果内容的介绍不够客观透明,也会导致用户把时间浪费在亲自甄别外部内容的质量上。这就好比一枚臭鸡蛋,本来闻一闻就知道不能吃,却不让观众闻,非要等吃完了才发现这个鸡蛋是臭的。第三个不给用户添麻烦,主要是说内容要具有完整性,要么不说,要说就说清楚,而不能只说一半,然后告诉观众,想看另一半,请到我的个人网站去看。在内容中抽掉一部分放在别处,这种带有绑架性质的广告对社区氛围有强烈破坏作用,还不如干脆就一点都不要发,至少大家免得麻烦。

楼主可以对照上面的内容看看违反了哪些制度。其实如果帖子发在茶话版,明目张胆的向大家推荐自己的个人主页欢迎感兴趣的朋友参观访问,就可以避免违规。发在专业技术版然后变着花样推广,反而显得那啥,何苦呢。B站多几个粉丝和科创网友的体验孰轻孰重,不管别人怎么看,咱肯定是首先保障科创用户的体验。

好的内容一定是高度浓缩的,干货越精炼越好。探讨技术能用公式准确表达的就不用文字啰嗦,能一句话说清楚的绝不说两句,这就是科创追求的风格。

[修改于 3 个月前 - 2018-09-12 01:11:11]

左手执者(作者)
10楼
0

@1211 嗯,大半夜码了这么多字辛苦了,之前因为不知道怎么发图片就直接把链接扔过来了,于是当初帖子就被打回来了,现在想想其实科创做的挺对的,是我太鲁莽了,如果当初没有打回来现在就可能不是这样了吧

左手执者(作者)
11楼
0

讲一下这设计的主要运作过程吧(本人没有学过计算机组成,所以不合理的地方请见谅):首先由储存器和流水线部分进行取出需要操作的操作数和代码,接下来流水线部分将数据交给解码器,使解码器来控制alu,锁存器和alu总线,总总线,一共三个时钟周期一个机械周期,第一是选中目标寄存器,第二是给数,第三是锁存(貌似计算机的本质就只有赋值和跳转吧)。结束后开始新的一轮,如果碰到跳转语句,则流水线复位,此时内部实现的语句相当于“无”,直到流水线填充完毕就算跳转完成。顺便问一下,如果在手工布线的情况下主频能达到多少,不过也没什么意思了与其能飚到4m,还不如来个2.3333m个数字有意义,毕竟执行效率比较高

2018-9-15 16:54:34
左手执者(作者)
12楼
0

由于最近学业繁重且家长禁止我使用手机之后,进度较慢请见谅,用了两个小时整理了一下龙少的帖子,眼花了233

pic

 

龙少各帖子说明.pdf7次下载

 

左手执者(作者)
13楼
0
引用:左手执者 发表于12 楼的内容:
由于最近学业繁重且家长禁止我使用手机之后,进度较慢请见谅,用了两个小时整理了一下龙少的帖子,眼花了2.....

打错了文档的日期,今天做的变成了13号,,,,(逃)

2018-9-21 22:18:38
左手执者(作者)
14楼
0

为了证明我还活着,,最近一只在苦寻一个能够在计数器达到目标值后自动转变为不输出CP(计数)引脚而改为下拉MR'(复位)的电路,虽然我说的有点那啥偏门,但是实际用途确实非常实用的,计数器你总不可能让他满了就直接连接复位吧,毕竟还会有一闪而过的溢出值的,这样的电路能够使得计数器的复位更稳定,(PS:我本来貌似找到了4,5个门就能够达成该要求的电路,但是貌似这个电路一直存在一些问题就懒得搭理了,这个电路也不错,一片4与非门和4或非门加起来也不到一块钱的事,所以就暂时保持现状了~

pic

 

2018-10-4 22:08:37
左手执者(作者)
15楼
0

半夜发图,,、总算是把新的图制作好了,这次主要是把乘除法这方面进行了一个优化,大概预计会新增芯片十多片(寄存器两个,逻辑门若干),目前主要还是之前的错误太多,一时半会讲不过来了,所以,咕咕。这电路其实我本来还可以画详尽一点的,但是考虑到怕你们看不懂,,所以。。(话说这相机怎么这么糊)还有就是电脑可能会在假期后被召回,所以...

pic

 

16楼
0

@左手执者 乘除法个人的建议是使用74的全加器和异或门做,做多周期移位乘除法,执行乘除法的时候给CPU一个Wait信号

另外纠正一些不正确的翻译哈

锁存器应当翻译为Latch(在此处鉴于锁存器的透明特性,应当使用D触发器(D Flip Flop,缩写DFF))

多路器不是Mix,英文multiplexer,缩写为MUX

左手执者(作者)
17楼
0

@rpg-7 嗯,谢谢指正不过,A和B寄存器直接就是D锁存器,至于下面的buf是缓冲器

顺便说一下我对乘除法的构想吧:

乘法:A寄存器与映射着不停变换的移位寄存器(sft主寄存器,of是溢出寄存器,方便做16位除法)的B寄存器相加,同时乘法移位寄存器RM控制在A寄存器对应bit为0时下拉全体B寄存器输出,最后得到结果

除法:A寄存器不停与映射着不停变换的移位寄存器的B寄存器向比较

如果大于:相减回A寄存器,除法移出寄存器RD移入1

如果小于:RD移入0

最后在RD得到商,A得到余数

至于全加器和异或门的话,我不知道怎么去实现,请多指教~

18楼
0

@左手执者

全加器和异或门有现成的芯片,全加器用74xx83,异或门使用74xx86,都是4位的芯片,另外就是锁存之后似乎没必要再用缓冲器了,74的驱动能力是足够的。

顺便说一下这种芯片怎么搜索:在搜索引擎(例如 Bing 或者专用的datasheet搜索引擎 alldatasheet Datasheet4U,不要用百度)搜索74+你需要的功能的英文翻译,比如“74+MUX”,如果对芯片内的器件数量有要求,可以使用数量限定词,比如dual/quad/hex/oct

pic

有时间的话,建议看一下这门课,可以让你对一些模块的设计有一些了解,其实撇开全英文,这门课更好


[修改于 2 个月前 - 2018-10-05 22:28:35]

左手执者(作者)
19楼
0

@rpg-7你可能理解错了,我说的是如何用这两种东西组成乘除法器,我加缓冲器的原因是需要高阻以便全体加排阻上/下拉,我用的是谷歌,并没有用bing和百度。平时搜索ic用的也是datatsheet5,稍微有点脑子的人也知道百度是在“放屁”,另外的话,谢谢你给我提供的这个网站

2018-11-1 23:06:18
左手执者(作者)
20楼
0

鸽了这么久定下来了

pic

 

2018-11-5 23:17:11
左手执者(作者)
21楼
0

乘法运算的思路,临时画的不要太介意丑什么的,,

pic

 

2018-11-14 14:37:59
22楼
0

哥们  还在玩吗   我也想玩玩   加个QQ798428478

23楼
0

666,龙少大神去哪了?

2018-11-17 19:53:29
左手执者(作者)
24楼
0
引用:cjhk 发表于22 楼的内容:
哥们  还在玩吗   我也想玩玩   加个QQ79.....

暂时没空诶,手机电脑都被缴了,我自己也没元件,如果想看看的话暂时先看看楼下的话吧

左手执者(作者)
25楼
0

本人已经将此项目发布到了github上:https://github.com/Left-Hand/An-computer-which-is-made-up-of-74-logic-gates

以及上面那位想一起讨论的朋友,群号:924112068

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

nkc production server  https://github.com/kccd/nkc.git

科创研究院 (c)2001-2018

蜀ICP备11004945号-2 川公网安备51010802000058号