
使用LogiSim自制简易CPU
booksyhay
这个作者很懒,什么都没留下…
展开
-
使用LogiSim自制简易CPU-前言
一直对CPU底层的运行机制很感兴趣,查了一些计算机组成原理方面的资料,发现可以使用LogiSim软件用最基础的门电路搭建一个CPU出来,包括算术逻辑单元(ALU)、控制器、存储器等功能部件。现在想一边实践一边把相关的过程记录下来。现在初步计划先整理以下几章:1,使用继电器搭建门电路2,使用最基本的门电路搭建半加器3,搭建全加器4,使用LogiSim部件搭建ALU...原创 2018-06-15 10:44:17 · 6012 阅读 · 0 评论 -
行波进位(Ripple Carry)与超前进位(Loodahead Carry)
本来是想研究CPU硬件设计中的中断控制器,找到了magic1的电路图,在分析ALU部分时发现以下电路: 查了一下74F382的芯片资料,比较简单,就是进行4位算术/逻辑运算,并输出进位标志C和溢出标志V: 74F381也是ALU,S0~S2所选择的功能跟74F382一样,但它的输出就复杂了一点,多了P和G信号。 原来,它是为了构建“超前进位”运算单元:...原创 2018-08-31 14:24:16 · 12301 阅读 · 1 评论 -
第2.5章 使用门电路搭建加法器
一,半加器有了异或门,很容易设计出加法器(半加器)。输入为A和B,输出为S(和)和C(进位标志)。二,全加器要考虑到低位的进位,一个完整的一位全加器的输入应该有3个,即A、B、CI(进位输入)。加法的结果S:是三个输入位的异或,即S=A⊕B⊕CI。可以使用三输入端异或门。加法的输出进位CO:三个输入中如果有2个或者3个为1,则结果为1.如果有2个或者以上为0,则结果为0.这个逻辑结果相当于是三位的...原创 2018-06-19 14:17:34 · 13493 阅读 · 0 评论 -
第2.4章 使用与门、或门、非门来设计异或门
异或门在数学运算中非常重要。为了加深对异或门的理解,现在使用最基础的门电路,在LogiSim软件中设计一个异或门。“异或”操作实际上就是丢掉进位的加法。即,0+0= 0,0+1= 1,1+0= 1,1+1=(1)0;从逻辑上看,A⊕B的结果可以看作是,A或B,然后再对A、B都是1的特殊情况进行处理。即:A⊕B = (A 或 B) 与(A 与非 B)。在LogiSim中表示为:对...原创 2018-06-15 19:27:16 · 35049 阅读 · 1 评论 -
第2.3章 使用LogiSim实践基本逻辑电路
一,LogiSim简介LogiSim下载地址:http://www.cburch.com/logisim/index.html绿色软件,直接执行。但是需要Java运行环境(JRE,Java Runtime Environment )。所用版本:2.7.1二,构建半加器本来LogiSim的元件库中自带加法器,但为了熟悉加法器原理,还是先手动使用最基本的门电路构建一个。...原创 2018-06-15 18:19:10 · 7820 阅读 · 5 评论 -
第2.2章 使用两个“半加器”实现一个“全加器”
刚才的电路考虑了加法的运算结果可能会有进位(当A和B都为1时),可以作为最低位的运算电路,但不能计算其他位(十位、百位等),因为没有考虑低位的进位结果。因此,只能叫做半加器(Half Adder)。实际上,一个完整的加法器的输入端有3个:A、B和低位的进位结果CI。全加器(Full Adder)这个全加器相当于是计算3个位(A、B、CI)的和。因此,其最终的“和输出”为三个数的异或。进位输出的规律...原创 2018-06-15 14:22:51 · 48235 阅读 · 1 评论 -
第2.1章 使用基本的门电路搭建一位半加器
参考资料:《编码的奥秘》第12章:二进制加法机要想实现加法,先来看看一位二进制加法运算的规律。假设加数和被加数分别为A和B,输出个位为S,进位位(十位)为C。A | B | C|S0 + 0 = 000 + 1 = 011 + 0 = 011 + 1 = 10可以看出,C跟A和B的关系为:只有当A和B同时为1的时候,C才等于1,即C=A&BS跟A和B的关系为:当A和B相同时,S为0;当...原创 2018-06-15 11:36:07 · 13696 阅读 · 0 评论 -
第1.2章 使用逻辑符号代替继电器来表示门电路
参考资料:《编码的奥秘》第12章:二进制加法机现在开始抛弃继电器,改为抽象的符号来表示逻辑门电路:与门:真值表:或门:真值表:非门:要想实现加法运算,先来看看一位二进制加法的规律:0 + 0 = 00 + 1 = 11 + ...原创 2018-06-15 11:18:23 · 781 阅读 · 0 评论 -
第1.1章 使用继电器搭建门电路
很久很久以前,人们就想制造出能做算术和逻辑运算的机器——“计算机”。想要实现逻辑运算,首先要制造出逻辑门电路。可以使用继电器来理解其中的原理。参考书籍:《编码的奥秘》第11章:逻辑门电路与门:两个开关同时闭合,灯泡才会亮。或门:任一开关闭合,灯泡都会亮。非门:开关断开时,灯泡会亮;开关闭合时,灯泡不亮。再补充两个:或非门:只要有一个开关闭合,灯泡就不亮。只有两个开关都断开,灯泡才会亮。与非门:两个...原创 2018-06-15 11:00:55 · 1830 阅读 · 0 评论 -
第3章 使用门电路搭建触发器
先使用或非门搭建一个反馈电路:电路的特点:使用2个或非门。或非门的特点是,有一个输入为1,则输出为0. 当A和B都为1时,X和Y的输出都是0 当A为1、B为0时:X为0,Y为1; 当A为0、B为1时,X为1,Y为0; 当AB都为0时,X和Y的状态不确定。实际上,也不是随机值,而是上一次的值。因为A和B变为0时,不影响或非门的输出,也就不影响X和Y的状态。这种电路就具备 了“记忆...原创 2018-09-07 11:03:05 · 6287 阅读 · 0 评论