电路相关知识--读<<继电器是如何成为CPU的>>
电路相关知识–读<<继电器是如何成为CPU的>>
*/-->
*///-->
*///-->
电路相关知识–读<<继电器是如何成为CPU的>>
Table of Contents
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位二值信号的基本单元电路统称为触发器.
触发器具有两个特点:
- 具有两个能自行保持的稳定状态, 用来表示逻辑状态的0和1, 或二进制数的0和1.
- 根据不同的输入信号可以置成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
电路相关知识--读<<继电器是如何成为CPU的>>的更多相关文章
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- 【转】java NIO 相关知识
原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...
- Java 容器相关知识全面总结
Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAda ...
- HTML入门基础教程相关知识
HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...
- AIX系统备份相关知识
AIX系统备份相关知识 --------------------------2013/10/16 预备知识.1.rootvg类似于windows中的C盘,即系统vg,这个vg上面当然也可以划分用户的逻 ...
- linux 创建守护进程的相关知识
linux 创建守护进程的相关知识 http://www.114390.com/article/46410.htm linux 创建守护进程的相关知识,这篇文章主要介绍了linux 创建守护进程的相关 ...
- spring事务管理及相关知识
最近在项目中遇到了spring事务的注解及相关知识,突然间感觉自己对于这部分知识只停留在表面的理解层次上,于是乎花些时间上网搜索了一些文章,以及对于源码的解读,整理如下: 一.既然谈到事务,那就先搞清 ...
- X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编
注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好 ...
- BFS:UVa1590-IP Networks (子网掩码相关知识)
IP Networks Alex is administrator of IP networks. His clients have a bunch of individual IP addresse ...
随机推荐
- PADS从原理图到PCB整体简易流程
10步完成PADS从原理图到PCB设计 图片有点大,可以点击观看. 第一步:启动PADS LOGIC 第二步:添加元器件 第三步:选择2个9脚接插头放置在原理图上 第四步:添加连线. 完成后如图 第五 ...
- net与树莓派的情缘(一)
想做个NAS 由于手中经济有限又不想花太多钱,所以决定买个树莓派自己搭建. 板子:树莓派2代 elem14的 内存卡:闪迪 class10 16g 网线一根,电源线一个 系统:树莓派官方 Raspb ...
- 使用C#开发ActiveX控件(新)
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- [Asp.net 开发系列之SignalR篇]专题六:使用SignalR实现消息提醒
一.引言 前面一篇文章我介绍了如何使用SignalR实现图片的传输,然后对于即时通讯应用来说,消息提醒是必不可少的.现在很多网站的都有新消息的提醒功能.自然对于SignalR系列也少不了这个功能的实现 ...
- 用StackExchange.Redis客户端连接阿里云Redis服务遇到的问题
阿里云推荐的Redis服务.NET客户端是ServiceStack.Redis,但ServiceStack.Redis不支持异步,不支持.NET Core,于是尝试使用StackExchange.Re ...
- 【腾讯bugly干货分享】解耦---Hybrid H5跨平台性思考
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1275& ...
- 人人都是 DBA(V)SQL Server 数据库文件
SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...
- 用Nim语言开发windows GUI图形界面程序
前言 本文得到了“樂師”的大力支持, 我们一起调试程序到深夜,要是没有他的帮忙, 我不知道要多久才能迈过这道坎, 另外“归心”还有其他人也提供了帮助, 他们都来自于QQ群:“Nim开发集中营”4693 ...
- java提高篇(十八)-----数组之一:认识JAVA数组
噢,它明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深,只有自己亲自试过才知道!道听途说永远只能看到表明现象,只有亲自试过了,才知道它的深浅!!!!! 一.什么是数组 ...
- redis(二)高级用法
redis(二)高级用法 事务 redis的事务是一组命令的集合.事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行. 首先需要multi命令来开始事务,用exec命令来 ...