电路相关知识–读<<继电器是如何成为CPU的>>

*/-->

*///-->

*///-->

电路相关知识–读<<继电器是如何成为CPU的>>

1 引言

先赞一下BIT祝威 发表的关于继电器如何成为CPU 的博文, 在阅读的过程中, 发现因为缺乏一些基本的电路知识, 因此在此处对于一些在第一篇文章继电器如何成为CPU(1) 阅读过程中遇到的问题, 进行了一个简单得说明.

两篇文章的地址如下:

http://www.cnblogs.com/bitzhuwei/p/from_relay_to_tiny_CPU.html

2 异或门怎么由简单的逻辑电路门组成的?

从其第一篇文中, 能够很容易的理解非门(Not), 与门(And), 以及或门(Or)的实现, 但是异或门(Xor)则复杂了很多. 那么如何轻松的搞定异或门的实现呢? 常见的思路就是利用已有的知识推出未知的知识, 也就是利用非门, 与门, 或门来推出异或门, 这里先借用了真值表来清楚的反应它们之间的关系:

A B Not A Not B A Or B A And B A Xor B
1 1 0 0 1 1 0
1 0 0 1 1 0 1
0 1 1 0 1 0 1
0 0 1 1 0 0 0

从真值表中可以很容易的得到,

A Xor B = ((Not A) Or (Not B)) And (A or B)

3 加法器怎么由基本逻辑门实现的?

根据wikpedia中的解释, 加法器是一种用于执行加法运算的数字电路部件, 是构成CPU算术逻辑单元的基础. 在这些电子系统中, 加法器主要负责计算地址, 索引等数据, 也是二进制数乘法器的重要组成部份. 当A, B为两个加数, Cin为进位数, S为和, Cout为输出的进位数, 则加法器的真值表如下:

A B Cin S Cout
0 0 0 0 0
1 0 0 1 0
0 1 0 1 0
1 1 0 0 1
0 0 1 1 0
1 0 1 0 1
0 1 1 0 1
1 1 1 1 1

假设用"\(\bullet\)"表示And, 用"+"表示Or, 用"\(\oplus\)"表示Xor, 用"\(\overline{}\)"表示Not, 则从真值表中可以推得:

$$S = A \oplus B \oplus C_{in}$$
$$C_{out} = (A \bullet B) + (A \bullet C) + (B \bullet C)$$

也就是加法器具有三个输入和两个输出, 如果要进行多位运算的话, 只要串着连起来就可以了, 如文章(1)中所示.

4 触发器是什么?

在各种复杂的数字电路中, 不但需要对二值信号进行算术运算和逻辑运算, 还经常需要将这些信号和运算结果存储起来. 为此, 需要使用具有记忆功能的基本逻辑单元. 能够存储1位二值信号的基本单元电路统称为触发器.

触发器具有两个特点:

  1. 具有两个能自行保持的稳定状态, 用来表示逻辑状态的0和1, 或二进制数的0和1.
  2. 根据不同的输入信号可以置成1或0状态.

5 R-S触发器和D触发器具体的真值表?

文中图中的R-S触发器是由两个或非门组成的, 同时断开的时候就相当于将数值进行保存了. 真值表如下:

R S Q
0 0 保持
0 1 1
1 0 0
1 1 0

给R-S触发器加一个控制信号, 就称为了D触发器, 如下:

它的真值表如下:

D CP Q
0 0 保持状态
1 0 保持状态
0 1 0
1 1 1

可见, CP控制了数据的存入.

Date: 2014-04-22 Tue

Author: Zhong Xiewei

Org version 7.8.11 with Emacs version 24

Validate XHTML 1.0

电路相关知识--读<<继电器是如何成为CPU的>>的更多相关文章

  1. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  2. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

  3. Java 容器相关知识全面总结

    Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAda ...

  4. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

  5. AIX系统备份相关知识

    AIX系统备份相关知识 --------------------------2013/10/16 预备知识.1.rootvg类似于windows中的C盘,即系统vg,这个vg上面当然也可以划分用户的逻 ...

  6. linux 创建守护进程的相关知识

    linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...

  7. spring事务管理及相关知识

    最近在项目中遇到了spring事务的注解及相关知识,突然间感觉自己对于这部分知识只停留在表面的理解层次上,于是乎花些时间上网搜索了一些文章,以及对于源码的解读,整理如下: 一.既然谈到事务,那就先搞清 ...

  8. X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编

    注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好 ...

  9. BFS:UVa1590-IP Networks (子网掩码相关知识)

    IP Networks Alex is administrator of IP networks. His clients have a bunch of individual IP addresse ...

随机推荐

  1. label正确显示多行数据

    label显示多行文字时会遇到文字中包含换行符“\n”,这时需要对字符进行全部替换, if(labelContent.indexOf('\\n')>0){labelContent=labelCo ...

  2. Swift 对比学习 (一)

    Swift相对Objective-C来说,有过之而无不及,并与Objective-C无缝混编,可谓利器.在Swift中可以看到不同的编程语言的影子,天下语言一大抄,这样也好,减低了不同语言的学习成本. ...

  3. 开始VS 2012 中LightSwitch系列的第2部分:感受关爱——定义数据关系

    [原文发表地址]  Beginning LightSwitch in VS 2012 Part 2: Feel the Love - Defining Data Relationships [原文发表 ...

  4. js中的深复制和浅复制

    在实际情况中经常会遇到对对象复制的问题.比如在处理项目中的一笔多结构的数据存储或者调用,这个时候你就要对对象(json)进行操作,而不同的操作根据不同的需求来定义.其中最常见最普遍的是对对象的复制,重 ...

  5. 里氏替换原则(Liskov Substitution Principle)

    开放封闭原则(Open Closed Principle)是构建可维护性和可重用性代码的基础.它强调设计良好的代码可以不通过修改而扩展,新的功能通过添加新的代码来实现,而不需要更改已有的可工作的代码. ...

  6. Javascript原型模式总结梳理

    在大多数面向对象语言中,对象总是由类中实例化而来,类和对象的关系就像模具跟模件一样.Javascript中没有类的概念,就算ES6中引入的class也不过是一种语法糖,本质上还是利用原型实现.在原型编 ...

  7. 解读jQuery中extend函数

    $.extend.apply( null, [ true, { "a" : 1, "b" : 2 } ] );//console.log(window.a); ...

  8. 在此记录一下SharpGL最初创建的程序

    在此记录一下SharpGL最初创建的程序.完整工程在此. /// <summary> /// The main form class. /// </summary> publi ...

  9. Linux—解压缩

    压缩和解压("//"命令的解释) 常用压缩格式    .zip    .gz    .bz2    .tar.bz2        .tar.gz .zip格式压缩: zip 压缩 ...

  10. TACACS.Net Group 配置

    Tacacs作为一个验证工具,其网站上资料较少,只有一些缺省配置,并且没有提到如果在应用中与其自带的Group功能做集成, 这里使用免费的windows 版的TACACS.net 作介绍http:// ...