8.3.1 门电路的重要意义

 

spacer.gif 

 

 

 

 

 

 

 

 

 

上面这图在2.1.2中就提过,从这张图中可以看出,门电路在计算机组成中所处的重要位置。

 

8.3.2 门电路的作用和分类

1)门电路的作用

门电路的作用就是,数字电路会使用门电路进行算术和逻辑运算。

 

a)人做算数运算和逻辑运算

·人做算数运算:1098+1234 = ?

·人做逻辑逻辑运算

与运算:下雨  出去  就带伞,下雨与出去同时满足就带伞,这就是与运算。

或运算:坐飞机  做火车从深圳去北京,这就是或运算。

非运算:不吃饭就是吃饭的运算。

 

b)计算机(数字电路)也要进行算术和逻辑运算

比如以基本的与、或、非为例:

与:1(2.5v)  &  1(2.5v)  = 1(2.5v)

或:1(2.5v)  |  0(0v)    = 0(0v)

非:            (2.5v) = 0(0v)

 

在计算机(数字电路)中,0/1为对应的0v2.5v电信号,需要使用门电路,实现对数字电信号表示的二进制数据进行运算,因此,门电路是构成计算机的基本数字电路。

 

 

2)常见的门电路列举

与门、或门、非门、与非门、或非门、与或非门、异或门等几种,数字电路使用这些门电路,就可以实现算术运算和逻辑运算。

 

 

8.3.3 三极管是如何构建门电路

接下来我们会以“与非门”为例,介绍三极管是如何构建“与非门”的,其它的门电路都是以同样的方式构建,只要你明白这个例子,你也就大概的了解了,所有的这些个门电路是如何通过三极管构建的。

 

1)与非逻辑理解

为了讲明白“与非”的逻辑,我们需要先看下“与”的逻辑,对比理解就能知道“与非”是什么含义了。

 

a)生活中的例子

·“与”的逻辑:今天 小明来  小花来 我就出去郊游。

·“与非”的逻辑:今天 小明来  小花来 我就  出去郊游,不就是“非”。

 

以上的逻辑是由人脑所实现的逻辑运算,人实现逻辑运算的过程非常自然,如果不告诉你这就是逻辑运算,你都不知道这就是逻辑运算。

 

b)计算机的例子

·“与”逻辑:

-12.5v) 与  12.5v)  输出 12.5v

- 12.5v) 与  00v)  输出 02.5v

 

·“与非”逻辑:

- 非(12.5v) 与 12.5v))  输出00v

- 12.5v) 与  00v)  输出 02.5v

以上数字电信号形式存在的数据,需要通过“与非门”电路才能实现相应的与非运算。

 

2与非门”电路符号

spacer.gif 

spacer.gif 

 

 

 

理工科的同学对于逻辑运算应该是比较熟悉的,不熟悉的同学可以关注我们后面的《数字电路》的课程,我们会对逻辑运算进行深入讲解,并详细介绍门电路是如何实现这些逻辑运算的。

 

3与非门的三极管组成图

spacer.gif 

spacer.gif 

spacer.gifspacer.gif 

spacer.gif 


spacer.gif 

 

 

 

 

 

 

 

 

 

 

 

 

 

4)分析电路图,看看三极管组成的“与非门”电路是如何进行逻辑运算的

 

a)例1

 

                              

0/1 表示: !  ( 1   &    0 )  =   1

          电压表示: 2.5v &    0v) =  2.5v~5v

 

spacer.gifspacer.gif 

 

 

 

 

 

spacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gif 

spacer.gifspacer.gif 

 

spacer.gif 

spacer.gif 

spacer.gif 

 

spacer.gif 

 

 

 

 

 

b)例2

 

                         

0/1 表示: !  ( 1   &    1 )  =   0

      电压表示: 2.5v &    2.5v) =  0v

 

 

 

 

例子2请自行分析,不过你会发现分析起来很困难,并不像例子1那样容易,至于为什么是这样呢?例1中只用到了三极管的开关功能,但是例2还有到了三极管的放大功能,大家不会分析三极管的放大功能,之前讲三极管时,我们也没有详细讲三极管放大功能的具体分析,因此相比开关功能来说,放大功能比较难分析些。

 

我们在后续的《模拟电路》这门课中,我们详细的讲清楚了三极管的“放大、饱和、截止”三个状态后,再来分析这个这个电路,你就会分析了,如果对三极管工作原理非常感兴趣的同学请看我们后面的《模拟电路这门课》。

 

大家不要想着搞清楚所有门电路的三极管组成电路,原理都是大同小异,如果你不是做微电子的,这么做没有意义。

 

 

 

8.4 触发器、组合电路和时序电路

8.4.1 触发器、组合电路、时序电路在计算机构建中地位

spacer.gif 

 

 

 

 

 

 

 

 

8.4.2 触发器

1)触发器的

1)功能:记忆功能。

就是当某些条件下满足时,触发器的输出可以一直保持1(高电平)或者0(低电平),这个有什么好处呢?

 

2)什么是记忆作用呢

好处就是使用触发器可以构建出寄存器、缓存、内存等。

 

spacer.gif 

 

 

 

  

 

 

 

 

 

 

 

 

有关触发器构建存储器的知识,在后面紧接着讲的存储器时还会再次介绍。

 

2)门电路构建触发器举例

比如下图的RS触发器,由两个“与非门”组的,那么门电路是如何构建触发器的呢。

 

spacer.gif 

spacer.gif 

 

spacer.gif 

 

 

 

spacer.gif 

 

 

这里只是希望通过RS触发器,让大家了解门电路是如何构建出触发器的,重点并并不是介绍RS触发器,为了避免问题复杂化,我们这里不在讲解RS触发器的工作原理,如果你确实想学习触发器的知识,请看后续的《数字电路》课程。

3)对于触发器知识

其实除了RS触发器外,还有D触发器、JK触发器等,对于偏向编程开发的it工作者来说,了解到这个层级就ok了,但是对于微电和硬件工程师来说就必须深入理解,还是你那句话,如果你对触发器工作原理感兴趣,请看我们后面的《数字电路》课程,里面会有详细讲解。

8.4.3 组合电路

1)组合电路的作用

组合电路的用途有很多方面,为了能让大家对快速理解组合电路的用途,这里举了一个3-8译码器,这样一个简单的组合电路例子,通过这个例子大家就能快速理解组合电路使用干嘛的。

 

238译码器

1)3-8译码器功能

spacer.gif 

 

 

 

 

 

 

spacer.gif 

 

 

spacer.gif 

 

 

 

 

 

 

 

 

 

spacer.gif 

 

这张表已经非常清楚的描述了3-8译码器的功能,功能就是根据输入来选择某根线输出,比如输入011(3)的电平信号,输入后,译码器发现输入的二进制数为3,表示要选择第三根线输出1(2.5v),其它线全部输出0。

 

2)其它译码器

译码器除了3-8译码器外,4-16译码器外,还有n-2n等等译码器,输入输出线的数量需要根据自己使用情况来定。

 

4)3-8译码器应用举例:使用3-8译码器进行寻址

如果我希望从内存地址为011这个地址的字节都数据,那么就一定要通过地址线发送地址给内存,内存根据输入的地址选择011地址对应的这个地址,我们以只有8个字节的内存为例,讲解3-8译码器是如何实现寻址的,对于只有8字节的内存来说,

a)地址数量:既然内存只有8字节,那么每个地址对应一个地址,只需要8个地址

     b)地址线根数:只有8个地址,那么二进制的地址范围为000-111,那么只需要三根地址线就能表示000-111的地址。

 

 

 

 

spacer.gifspacer.gifspacer.gif 

spacer.gif 

spacer.gifspacer.gif 

spacer.gif 

spacer.gifspacer.gif 

spacer.gif 

spacer.gifspacer.gif 

spacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gif 

spacer.gif 

spacer.gif 

spacer.gif 

spacer.gif 

spacer.gif 

 

 

 

 

 

3)门电路如何构建3-8译码器这个组合电路

spacer.gifspacer.gif 

 

从这张图中可以看出,3-8译码器就是由各种门电路组成的,通过这张图只是想告诉大家,3-8译码器这个组合电路,是如何通过门电路构成的。我们这里就不再分析这个3-8译码器具体是如何工作。

 

 

8.4.4 时序电路

(1)时序电路的作用

要说清楚时序电路是干嘛的,先得弄清楚时序是个啥东西

 

1)先从人的时序说起

a)人也是需要时序的

·人的工作和生活也是有时序的,人的时序其实就是时间安排

·只是我们很少把生活中的时间安排以时序的方式来看待

·人的时序安排,基本是以小时为单位进行,时序安排就是工作时间表。

 

b)以工作为例,看时序的重要性

·我们平时的工作是由很多人和组织共同而成的

·各自严格按照自己的工作时序进行做事,就能和其它人或者组织精确的配合上,否者就会紊乱,比如错过了重要客户的约见等。

 

c)生活中时序举例

spacer.gif 

 

 

 

 

 

spacer.gif 

 

 

 

 

 

 

d)对于时序来说,统一时钟的重要性

为了让每个人或组织时序,能够准确的对上,必须要有统一的时钟参考,这也是以前为什么总是要对表的原因,不对表的话,两个手表的快慢不一样,各自参考时间标尺就会不同,肯定配合不上,特别是在打仗的时候,发起总攻时,对表是必须的,不然这边已经总攻了,那边还在干等着。

人的时序是以人的时钟(24小时)进行安排的,最小单位为S,比S还小的时间单位对于人来说已经没有什么意义了,因为人对s以下的时间敏感度不高。

 

e)再看看时序

时序就是各单元(比如人)工作的“时间顺序”,因为所有人和组织的时序,都是参考统一的时钟进行安排的,那么各自只要严格准守自己的时序工作,就能很好的配合上。

 

2)计算机中的时序

a)计算机时序的作用与重要性

计算机由各种不同的电子部件组成,所以每个部件需要有自己的工作时序,各自的时序是按照统一的“时钟”制定的,各部件只要严格准守自己的时序,才能严密的配合工作,否者就会紊乱,导致计算机不能正常工作。


 

 

b)计算机中时序举例子

比如计算机的两个芯片要通信,双方就需要遵守一定时序安排才能通信成功。

spacer.gifspacer.gif 

 

 

 

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gif 

 

 

数据的传输就是数据的读写,只有当发出读写控制后,才会进行数据传输,才能通信成功,因此读写控制时序和数据传输时序必须要严密对上,否者通信就会因为时序紊乱而失败。上面的这张时序图只是为了让大家便于理解而画的伪时序图,有关时序,我们会在后续嵌入式课程中(特别是单片机)详细讲解。

 

c)同样,对于计算机的时序来说,统一时钟也非常重要

·各部件(芯片)遵照统一时钟进行安排的时序,才能严密配合上

·人使用的时钟是不能给计算机使用的,因为人的时钟精度只能到S,但是计算机工作的速度是ns级别,因此需要ns级别的时钟

·计算机的时钟就是晶振,晶振每隔xxns就会震动一次,产生一个时钟脉冲,这个时钟脉冲就是计算机时钟的最小时间位。

 

3)时序电路重要作用

a)什么是时序电路

时序电路就是根据输入的统一钟(晶振)时钟为参考,为相应电子部件(芯片)产生该要的时序,根据该时序,每隔固定的时间(xxxns)发出一个高或低电平脉冲,别人这个脉冲信号的指示,就知道是要动作来配合你的工作了。

spacer.gifspacer.gif 

spacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gif 

spacer.gif 

 

 

 

b)分频和倍频

·通过s/m/h理解分频和倍频

-分钟m的60倍频就是h

-分钟m的60分频就s

·时序电路的分频和倍频

时序电路为了产生新频率的时序脉冲信号,产生新频率的脉冲,关键就是分频和倍频,有关时序电路的分频和倍频,会在后续的的单片机课程中详细讲解。

 

c)几乎每个芯片都有自己的时序电路

因为都需要根据输入的时钟信号,产生属于自己的“时序”脉冲。


2)时序电路组成

时序电路是由门电路和触发器共同组成,比如下图74LS164(74LS164主要用在移位寄存器中)时序芯片时序电路。

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gif 

同样我们这里不讲解这个时序电路的具体工作原理,有关时序电路的工作原理,会在后续的《数字电路》课程中会涉及。

 

3)时序电路知识点要求

微电工程师:非常清楚时序电路的工作原理

硬件工程:深入了解它的各个参数指标(也就是电器特性),学会如何使用这个硬件芯片。

嵌入式软件工程:时序电路都会有相应时序图,需要根据时序图写程序控制硬件。

 

74LS164产生的时序:

spacer.gifspacer.gifspacer.gifspacer.gif 

时序图其实并不复杂,但是很多初学的同学还是感觉很复杂,看懂时序图需要一定的基本功,在后面的单片机和linux嵌入式课程中,都会讲解时序相关度的课程,通过后面的学习,只要看懂了一两个个时序图,当你掌握了其中的门道后,你会发现时序图原来也不过如此。

 

8.4.5 触发器、组合电路和时序电路的对比

1)共同点:都由门电路组合而成,门电路再由三极管构成。

 

2)区别

1)触发器:具有记忆功能

2)组合电路:不具有记忆功能,为了某个特定的功能,纯粹使用门电路组合构成

3)时序电路:用于设计计算机(主要是各类芯片)用的时序电路,由门电路、触发器共同构成

spacer.gif 

 

 

 

 

 

 

spacer.gif 

 

 

 

 

8.5 cpu如何由触发器、组合电路、时序电路构成的

8.5.1 回忆cpu中的结构

 

spacer.gif 

 

 

 

 

 

 

 

 

 

在介绍计算机结构时,我们就了解到CPU是由运算器、控制器和寄存器组等这几个基本功能单元组成,

运算器:由组合电路实现。

控制器:由组合电路+时序电路实现

寄存器组:由触发器实现

 

8.5.2 CPU的运算器

运算器最核心的就是ALU(Arithmetic Logical Unit),ALU分成两部分,

算术运算单元:加法器

逻辑于运算单元:逻辑运算器

 

加法器和逻辑运算器均由组合电路的全加器实现。

 

1)全加器

全加器专门实现二进制的加法运算,有了加法运算,其它的减法、除法、乘法等都能通过加法实现。

a)只进行一位运算的全加器

下图就是一个只进行一位相加运算的全加器,全加器是一个组合电路。

   spacer.gif

AB:加数、被加数

Cin:前一位相加后的进位

Sum:相加后的和

Cout:相加后的进位

spacer.gif 

 

 

 

 

 

b)实现两位二进制数相加的全加器

 

比如01+11,必须使用两个上面的全加器级联,级联的时候将上一级的Cout和下一级的Cin连在一起,

spacer.gifspacer.gifspacer.gifspacer.gif 

spacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gifspacer.gif    spacer.gif

 

c)三位或以上的多为全加器

同理进行多次级联。

 

2)半加器

与全加器对应的还有一个半加器,半加器和全加器的区别就是,半加器不计算进位,但是全加器需要计算进位。

 

spacer.gif8.5.3 控制器

由组合电路+时序电路实现,其中控制器最核心的部分就是译码器,译码器就有时序电路构成,控制器比较复杂,这里制作简单介绍。

 

 

 

 

 

 

 

 

 

 

8.5.4寄存器组

功能:小容量临时存储器,临时存储数据,供CPU快速访问用。

组成:寄存器组由很多寄存器叠合而成,每个寄存器由触发器组成,一个触发器就是一个bit位。

 

在后面介绍存储器时,还会介绍寄存器相关的内容。

 

8.5.5 有关cpu内部组成知识的掌握

微电工程师的:需要设计和集成cpu芯片,要求对cpu内部结构非常清楚。

硬件工程师(电路设计):了解内部结构,清楚cpu的电气特性和各项指标。

软件工程师:特别是嵌入式软件工程师,需要清楚cpu工作原理,关键是并了解该cpu的指令系统,也就是了解汇编,汇编学会了计算机的工    作原理也就清楚了。

纯软件开发:比如web,移动APP,游戏等软件开发,一个合格的IT工程师,也必须要了解CPU的工作原理,最好的方式就是通过学习汇编来    了解,因为汇编指令是完全遵照CPU的工作原理进行设计的,因此汇编清楚了,计算机的工作原理也就清楚了。

 

在后续单片机、stm32和arm裸机课程,对于cpu的工作原理会讲解,希望深入学习,可以看后面的课程



作者:佳嵌工作室

51CTO免费视频地址:http://edu.51cto.com/lecturer/12941022.html

课程进度咨询QQ群:528495268

转载请说明源地址。