第四章 门和电路
4.1 计算机和电学
一般来说,0~2 伏的电压是低电平 ,由二进制数字0 表示,2~5 伏范围内的电压是高电平 ,由二进制数字1 表示。
- 门:对电信号执行基本运算的设备,接受一个或多个输入信号,生成一个输出信号。
- 电路:相互关联的门的组合,用于实现特定的逻辑函数。
描述门和电路的表示法有三种,它们互不相同,但却一样有效:
- 布尔表达式:表示二值逻辑函数的数学表示法
- 逻辑框图:电路的图形化表示,每种类型的门都有自己专用的符号
- 真值表:列出了所有可能的输入值和相关的输出值的表
4.2 门
6种类型的门:
- 非(NOT)门
- 与(AND)门
- 或(OR)门
- 异或(XOR)门
- 与非(NAND)门
- 或非(NOR)门
4.2.1 非门
非门接受一个输入值,生成一个输出值。
根据定义,如果非门的输入值是0,那么输出值是1;如果非门的输入值是1,则输出值是0。非门有时又叫作逆变器。
4.2.2 与门
与门接受的输入信号是两个,两个输入信号的值决定了输出信号。
如果与门的两个输入信号都是1,那么输出是1;否则,输出是0。
4.2.3 或门
或门有两个输入信号。
如果这两个输入值都是0,那么输出值是0;否则,输出是1。
4.2.4 异或门
异或门有两个输入值。
如果两个输入一样,则输出是0;否则,输出为1。
4.2.5 与非门和或非门
它们都接受两个输入值。
与非门和或非门分别是与门和或门的对立门。即,如果让与门的结果经过一个逆变器(非门),得到的输出和与非门的输出一样。
4.2.6 门处理回顾
用通用术语描述每种门的处理:
- 非门将对它的唯一输入值求逆
- 如果两个输入值都是1,与门将生成1
- 如果一个输入值是1,或者两个输入值都是1,或门将生成1
- 如果只有一个输入值是1,而不是两个,异或门将生成1
- 与非门生成的结果和与门生成的相反
- 或非门生成的结果和或门生成的相反
4.2.7 具有更多输入的门
仅仅输入变多,每种门的定义与原门相同
4.3 门的构造
- 晶体管:作为导线或电阻器的设备,由输入信号的电平决定它的作用
- 半导体:既不是良导体也不是绝缘体的材料,如硅
晶体管具有三个接线端,即源极、基极和发射极。发射极通常被连接到地线。在计算机中,源极制造的是高电平,约为5伏。基极值控制的门决定了是否把源极接地。如果源极信号接地了,它将被降低到0伏。如果基极没有使源极信号接地,源极信号仍然是高电平。
通常,源极连线上都有一条输出连线。如果源极信号被接地了,那么输出信号是低电平,表示二进制数字0。如果源极信号仍为高电平,那么输出信号也是高电平,表示二进制数字1。
晶体管只能是开(生成高电平输出信号)或关(生成低电平输出信号)两种状态,由基极电信号决定。如果基极信号是高电平(接近+ 5伏),源极信号将被接地,从而关闭了晶体管。如果基极信号是低电平(接近0伏),则源极信号仍然是高电平,晶体管将被打开。
4.4 电路
电路两类:
- 组合电路:输出仅由输入值决定的电路
- 时序电路:输出是输入值和电路当前状态的函数的电路
4.4.1 组合电路
把一个门的输出作为另一个门的输入,就可以把门组合成电路
- 电路等价:对应每个输入值组合,两个电路都生成完全相同的输出
布尔代数——————德·摩根定律
这个定律声明,对两个变量的与操作的结果进行非操作,等于对每个变量进行非操作后再对它们进行或操作。也就是说,对与门的输出求逆,等价于先对每个信号求逆,然后再把它们传入或门;
这个定律的第二部分是,对两个变量的或操作的结果进行非操作,等于对每个变量进行非操作后再对它们进行与操作。用电路术语来说,就是对或门的输出求逆,等价于先对每个信号求逆,然后再把它们传入与门。
4.4.2 加法器
- 加法器:对二进制值执行加法运算的电路
- 半加器:计算两个数位的和并生成正确进位的电路(半加器不会把进位(进位输入)考虑在计算之内,所以半加器只能计算两个位数的和,而不能计算两个多位二进制值的和。)
- 全加器:计算两个位数的和,并考虑进位输入的电路
4.4.3 多路复用器
- 多路复用器:使用一些输入控制信号决定用哪条输入数据线发送输出信号的电路
4.5 存储器电路
S-R锁存器
这个电路的设计使两个输出X和Y总是互补的。即,当X是0时,Y是1,反之亦然。X在任意时间点的值都被看作电路的当前状态。因此,如果X是1,电路存储的就是1;如果X是0,电路存储的就是0。
4.6 集成电路
- 集成电路(IC):又称芯片,是嵌入了多个门的硅片
缩写 名称 门数量
SSI 小规模集成 1~10
MSI 中规模集成 10~100
LSI 大规模集成 100~100000
VLSI 超大规模集成 多于100000
4.7 CPU芯片
计算机中最重要的集成电路莫过于中央处理器(CPU)。CPU只是一种具有输入线和输出线的高级电路。
第五章 计算部件
5.1 独立的计算机部件
- 处理器
- 总线
- 时钟
- 显示器
- 图形处理器
- 数字摄像头
- 存储器
- 硬盘驱动器
- DVD驱动器
- 蓝牙
- 电池
- 外部接口
- 物理尺寸和重量
5.2 存储程序的概念
1944年至1954年实现了数据和操作数据的指令的逻辑一致性,而且它们能存储在一起,这是计算历史上的一个主要定义点。这个原理就是著名的冯·诺伊曼体系结构
5.2.1 冯·诺依曼体系结构
冯·诺伊曼体系结构的另一个主要特征是处理信息的部件独立于存储信息的部件。这一特征导致了下列5个冯·诺依曼体系结构的部件:
- 存放数据和指令的内存单元
- 对数据执行算术和逻辑运算的算术逻辑单元
- 把数据从外部世界转移到计算机中的输入单元
- 把结果从计算机内部转移到外部世界的输出单元
- 担当舞台监督,确保其他部件都参与了表演的控制单元
内存
内存是存储单元的集合,每个存储单元有一个唯一的物理地址。
这里用通称单元,而不是用字节或字,因为不同机器中每个可编址的位置的位数(称为可编址性)不同。
可编址性:内存中每个可编址位置存储的位数
算术逻辑单元
算术逻辑单元(ALU):执行算术运算(加法、减法、乘法和除法)和逻辑运算(两个值的比较)的计算机部件
寄存器:CPU中的一小块存储区域,用于存储中间值或特殊数据
输入/输出单元
输入单元:接收要存储在内存中的数据的设备
输出单元:一种设备,用于把存储在内存中的数据打印或显示出来,或者把存储在内存或其他设备中的信息制成一个永久副本。
控制单元
- 控制单元:控制其他部件的动作,从而执行指令序列的计算机部件
- 指令寄存器:存放当前正在执行的指令的寄存器
- 程序计数器:存放下一条要执行的指令的地址的寄存器
- 中央处理器:算术逻辑单元和控制单元的组合,是计算机用于解释和执行指令的“大脑”
- 总线宽度:可以在总线上并行传输的位数
- 缓存:一种用于存储常用数据的小型高速存储器
- 流水线:一种将指令分解为可以重叠执行的小步骤的技术
- 主板:个人计算机的主电路板
5.2.2 读取-执行周期
计算机的定义:计算机是一种能够存储、检索和处理数据的设备
处理周期中的四个步骤如下:
- 读取下一条指令
- 译解指令
- 如果需要,获取数据
- 执行指令
读取下一条指令
程序计数器(PC)存放的是下一条要执行的指令的地址,因此控制单元将访问程序计数器中指定的内存地址,复制其中的内容,把副本放入指令寄存器中。此时,指令寄存器存放的是将要执行的指令。在进人周期中的下一步之前,必须更新程序计数器,使它存放当前指令完成时要执行的下一条指令的地址。由于指令连续存储在内存中,所以给程字计数器加1就可以把下一条指令的地址存人程序计数器。因此,控制单元将把程序计数器加1。也可能在指令执行完之后才更改程序计数器。
在一条指令必须从内存读取额外指令才能执行的情况下,算术逻辑单元将一个地址送往内存总线,内存会进行响应并将特定位置的值返回。在一些计算机中,从内存获取的数据会立即参与到一个算数或逻辑运算中。另一类计算机只是将内存返回的数据保存在寄存器中,这是由一个后续指令完成的。在指令执行完毕后,执行的结果被保存在寄存器中或内存中。
译解指令
为了执行指令寄存器中的指令,控制单元必须确定它是什么指令。可能是访问来自输人设备的数据的指令,也可能是把数据发送给输出设备的指令,还可能是对数值执行某种运算的指令。在这一阶段,指令将被译解成控制信号。也就是说,CPU中的电路逻辑将决定执行什么操作。这一步解释了为什么一台计算机只能执行用它自己的语言表示的指令。指令本身被逐字地嵌入了电路。
如果需要,获取数据
被执行的指令要完成它的任务,可能需要额外的内存访问。例如,如果个内存单元中的内容装人寄存器,控制单元就必须得到这个内存单元的内容。
执行指令
一旦译解了指令并且读取了操作数(数据),控制单元就为执行指令做好了准备。执行指令要把信号发送给算术逻辑单元以执行处理。在把一个数加到一个寄存器中内容的情况下,操作数将被发送给ALU,加到寄存器中的内容上。
当执行完成时,下一个周期开始。如果上一条指令是把一个值加到寄存器中的内容上,那么下一条指令可能是把结果存储在内存中的某处。但是,下一条指令也可能是一条控制指令,询问一个关于上条指令的结果的问题,而且可能会改变程序计数器的内容。图5-3总结了读取-执行周期。
5.2.3 RAM和ROM
前面介绍过,RAM是随机存取存储器的缩写,这是一种每个存储单元 (通常是1字节)13都能被 直接访问的内存。访问每个存储单元的本质是改写这个存储单元的内容。也就是说,把其他数据存人这个单元可改变其中的位组合。
除了RAM,大多数计算机中还包含另一种内存,即ROM。ROM是只读存储器( ReadOnly Memory)的缩写。ROM中的内容不能更改,是永久的,存储操作不能改变它们。把位组合放在ROM中称为烧入。只有在制造ROM或装配计算机时才能烧人位组合。
还有一个非常基本的性质可以用来区分RAM和ROM。RAM 具有易失性,而ROM则没有。也就是说,关闭电源后,RAM不再保留它的位配置,但是ROM仍然保留这些配置。ROM中的位组合是水久性的。由于ROM稳定,不能更改,所以用它存储计算机启动自身需要的指令。经常使用的软件也存储在ROM中,以免每次开机都要读取软件。主存通常包含一些ROM和通用的RAM。
5.2.4 二级存储设备
定义:当不再处理程序和数据或关机时,可把程序和数据保存起来,这些类型的存储设备(除了主存)称为二级存储设备或辅助存储设备。
由于必须从这些设备中读取数据并把数据写回,所以每个二级存储设备也是一种输入和输出设备。
磁带
读卡器和卡片穿孔机是最早期的输入和输出设备之一。纸带读出穿孔器是下一代的输入和输出设备。纸带和卡片一样是永久的,但它们存放的数据太少了。
第一种真正的大容量辅助存储设备是磁带驱动器。
但它有一个严重的缺点,即如果要访问磁带中间的数据,则必须访问这个数据之前的所有数据并丢弃它们。虽然现代的流式磁带系统能够跳过磁带片段,但从物理上讲,磁带仍然要经过读写头。磁带的任何物理移动都是费时的。
磁盘
磁盘驱动器是CD播放器和磁带录音机的混合物。读写头(相当于磁带录音机中的录音/回放头)通过在高速旋转的磁盘上移动来检索或记录数据。与CD一样,读写头能直接访问想得到的信息,此外,与磁带一样,信息是被磁化存储的。
尽管磁盘种类不一,但是它们使用的都是由磁质材料制成的薄磁盘。每个磁盘的表面都被逻辑划分为磁道和扇区。磁道是磁盘表面的同心圆。每个磁道被分为几个扇区。每个扇区存放-个信息块,这些信息块是连续的位序列(如图5-5a所示)。虽然越靠近圆心的磁道看起来越小,但是每个磁道中的扇区数是相同的,每个扇区中的位数也是相同的。越靠近圆心的数据块数据排放得越密集。最近的磁盘靠近圆心的扇区越来越少,反而外围越来越多。每个磁盘表面的磁道数和每个磁道中的扇区数可能不同,通常使用的是512字节或1024字节(同样是2的幂)。在格式化磁盘时,将用磁性标示磁道和扇区中的区域,从物理上来说,它们不属于磁盘。
- 磁道(track):磁盘表面的同心圆。
- 扇区(sector):磁道的一个区。
- 块(lok):存储在扇区中的信息。
四种衡量磁盘驱动器效率的方法:
- 寻道时间(seektime):读写头定位到指定的磁道所花费的时间。
- 等待时间(latency)把指定的扇区定位到读写头之下所花费的时间。
- 存取时间(access time):开始读取一个数据块之前花费的时间,即寻道时间和等待时间之和。
- 传送速率(transfer rate):数据从磁盘传输到内存的速率。
磁盘的分类之一是硬盘和软盘。计算机安装的硬盘由几个磁盘构成。单个的磁盘称为磁盘片。硬盘由几个连接在旋转主轴上的磁盘片构成。每个磁盘片有自己的读写头。上下排列的所有磁道形成了一个人柱面。
- 柱面(cylinder): 所有磁盘表面的同心磁道的集合。
CD和DVD
CD
CD-DA是数字音频光盘的缩写,说明了录音采集的格式。这种格式的某些域用于时间安排信息。
CD-ROM只读存储器中的数据是永久存储在光盘上的。
CD-R代表了可记录的光盘,它允许写入程序。只能记录一次。
CD-RW代表可重写的光盘,能多次写入数据。
DVD
DVD+R、DVD-R、DVD+RW、DVD-RW
闪存(U盘)
闪存是一种可写入可擦除的非易失性计算机存储器。闪存也被用于制作固态硬盘(SSD),固态硬盘能够直接取代普通硬盘。全电子且没有运动部件,它比普通硬盘速度更高,功耗更低。即使如此也会有磨损进而出现故障。
5.2.5 触摸屏
既是输入也是输出设备。
目前用来实现触摸屏的技术有几种:
- 电阻式
- 电容式(不能戴手套)
- 红外触摸屏
- 表面声波(SAW)
5.3 嵌入式结构
相关历史信息,被广泛用于生活的很多方面,不仅仅在计算机领域。
5.4 并行体系结构
5.4.1 并行计算
四种一般的形式:比特级、指令级、数据级和任务级。
比特级的并行是基于增加计算机的字长。在个8位处理器中, 要处理个16位长的数值需要两个操作:一个操作用于高8位,一个操作用于低8位。对于16位的处理器一条指令就能完成以操作。因此增加宁长能减少处理比字长更长的数值所需的操作。现今的趋势是使用64位的处理器。
指令级的并行是基于程序中的某些指令能够同时独立地进行。例如,如果一个程序需要处理相互无关的数据,那么对无关数据的处理操作能同时完成。超标品体系结构是种处140理器, 它能识别并利用这种情况,方法是向功能不同的处理器单元发送不同的指令。注意超标量体系结构机器并没有多个处理器而是有多个执行资源。例如,它可能包含对整数和实数分别进行运算的独立的算术/逻辑单元,使它能够同时计算两个整数的和以及两个实数的乘积。像这样的资源称为执行单元。
数据级并行基于同组指令集能同时对不同的数据集执行。这种并行称为SIMD (单指令多数据),它依赖于一个控制单元来指导在不同的操作数集合上执行相同的操作(例如加法)。例如对不同的操作数同时执行加法。这种方法也被称为同步处理,在需要对不同数据集实随团处理时这种方法分有效。举例说明,增加图片光度需要对几百万像素中的特养像素点都增加亮度,这些增加过程可以并行完成。
- 同步处理多处理器将同一个程序应用于多个数据集。
任务级的并行是基于不同的处理器能在相同或不同的数据集上执行不同的操作。如果不同的处理器在操作同一数据集,那么这一过程类似于冯·诺伊曼机中的流水线。当这种组织结构应用在数据上时,第一个处理器进行第项任务,接下来第二个处理器开始处理第一个回处理器的输出结果,此时第一个处理 器开始对下一个数据集执行计算。最终,每个处理器都在进行着某一个阶段的工作,每个处理器都是从前一个处理阶段得到材料或数据,每一个处理器也会将自己处理完成的数据交给下一个处理器。
- 共享内存并行处理器:多个处理器共享整体内存的情况
5.4.2 并行硬件分类
超标量处理器、对称多处理器、2~8核处理器等。
收获
在硬件层部分,学到了门和电路的相关知识,能识别基础的门并描述每种门的行为,可以描述如何用晶体管实现门,用基础门组合成电路。用布尔表达式、真值表和逻辑框图描述门或电路的行为。阐述半加器和全加器之间的异同点。描述多路复用器是如何运作的。解释如何操作S-R锁存器。描述四代集成电路的特征。读懂一则计算机广告,明白其中的行话。列出冯.诺伊曼机的部件和它们的功能。描述冯.诺伊曼机的读取-译解-执行周期。描述如何组织和访问计算机内存。命名并描述不同的辅助存储设备。定义三种并行计算机的配置。解释嵌入式系统的概念。
问题
全加器的实际工作情况未能理解,存储器电路的运算尚有不明之处。
布尔表达式转换到电路图不熟练。并行计算机的配置没能完全定义。