计算机原理与电路

登录以发表

上级专业


文章

20

评论

1281

今日更新

0

专业介绍

电子计算机原理,电子计算机硬件,电子计算机电路


文章

20

评论

1281

今日更新

0

专业介绍

电子计算机原理,电子计算机硬件,电子计算机电路

一直有打造一台计算机系统的想法,恰巧今年有机会,就开始了设计。我的目标是能够运行,用74门搭建,而不仅仅是仿真或在FPGA上运行(主要是我不会hh)。构思了一段时间,把整台机器的架构稍微梳理了一下。画了一个思维导图,大家凑合看。涉及到运算,一定会有位宽这一概念。这台计算机设计出来的目标是运行,不仅仅是软件上的设计,于是74门的数量就是个大问题。大家知道,计算机的位宽增加,晶体管的数量必然成指数型增加,划不来。现在拿性能换成本,抛弃性能,做成一位的,74门数量可以做到几十片甚至十几片。 (附件:278191) 首先是CPU 实际上,CPU的开发工作在几个月前就开始了,几年前也有过做CPU的想法,也构思过一段时间。成本限制,现在目前设计了16位程序指针,可以寻址64k字节的程序代码。CPU涉及到跳转指令,所以使用74hc161这种可预置的二进制计数器作为程序指针,共需4片。cpu采用超精简设计,由于只有一位位宽,在操作内存过程中没有字节的概念,直接操作位。这样虽然效率较低,但硬件简便。CPU没有片上alu,只提供立即数放内存、读取内存、内存移内存精简指令,把alu逻辑运算单元当作内存的一部分操作,如思维导图。cpu使用16位指令集,低八位数据,高八位指令。低八位在跳转指令时先分别向两个程序地址寄存器中送入数据,耗时两个时钟,再跳转,耗时两个时钟。共耗时四个时钟。 片内所有的寄存器,包括

现代的CPU很强大和复杂,导致很多人认为个人是无法设计一个CPU的,或者即使能设计出来简单的也是需要很多经费和大量的元器件。 百度和谷歌一下网上的设计,几乎都是外国人的作品,有一些还是很复杂的,动不动说花了好几年时间。最近有一个英国剑桥的詹姆斯·纽曼(James Newman),打造一台只能玩俄罗斯方块的大块头花了他四年时间,耗资达到4万英镑!!!!而仅仅只是希望让人了解计算机的工作原理。 那我们普通人能不能加入?到底能不能设计出一个计算机来? 当然能! 强大的CPU暂且不说,就拿简单的来说,我认为个人设计一个简单的CPU不但是可行的,还是非常有意义的,当然这个设计必须得是从零开始设计的----只使用简单的逻辑元器件,比如74系列元器件(三极管?)。 在查找了很多相关的书籍还有逛国内外网站后,又花了很多时间去比较和验证,终于设计出了一个简单又特别经典的计算机(关键是成本也少)。 也许很多人说为什么不使用可编程逻辑器件来制作呢?还简单便捷,我觉得能使用简单的逻辑器件制作的才是从零开始设计,也是对计算机的底层工作原理了解最好的方式。 另外要说,按照我的设计,你甚至可以使用简单的三极管、MOS管来制作一个计算机!而且并不是很难的事情,因为我的设计也只使用了28块74系列芯片而已! =============================================

本帖最后由 神之觉醒 于 2013-10-15 18:38 编辑 基本结构: (附件:204928) 这个东西的作用就是给个开关开关的信号(主时钟)然后就会执行ROM里面的指令,以往的自动机,要开关N次才执行完一条指令; 指令就是二进制数据, 打个比方,你可以定义00000001是自毁指令,00000010是核爆指令, 设计好之后就做电路, 然后开始运行,机器从ROM里取出为00000001的指令并执行后就机器就爆掉了,取出00000010并执行后城市就消失了= =~;  好了 不吹这么多牛逼, 实际上机器执行的指令大多只是对数据的加工, 反正就是执行指令,很简单. 在上图这个最基本的简单结构中, 可以实现只用开关一次就可以执行完一条指令, 这里没有时序发生部件,也没有时序操作的控制部件,没有指令寄存器,没有取指令阶段,在时钟上升沿执行当前指令并锁存下条指令的控制信号,计数器、锁存器、寄存器的时钟线直接连接主时钟, 然后给主时钟输入开关信号(主频),就可以工作了。 上电: 首先接通电源,这时计数器、锁存器、寄存器的数据是混乱的,要做的第一件事就复位暂存器件的状态为全0或为全1或是指定的数据,寄存器的数据可以不复位,计数器、锁存器的数据一定要复位,在这里复位为全0,复位完成后,计数器、锁存器的数据就是0; 为了方便讲

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

科创研究院 (c)2001-2018

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