计算机组成原理

Download Report

Transcript 计算机组成原理

计算机组成原理
王若成
教研室:B-4026
(第2版)
计算机组成原理
张钧良
林雪明
电子工业出版社
编著
目 录
第1章
计算机系统概述
第2章
信息编码及在计算机中的表示
第3章
计算机的基本器件
第4章 机器数的运算方法及运算器
第5章
指令系统
第6章
计算机的存储系统
第7章 中央处理器
第8章
总线结构
第9章
外围设备
第10章
输入/输出系统
第1章 计算机系统概述
计算机——Computer
如何正确理解“计算机”这个术语呢?
凡是能完成以下三类工作的机器就是计算机:
①能接受程序和数据的输入,并存储起来;
②能按照存储的程序对输入的数据进行自动处
理并得出结果;
③能把结果输出。
所以,计算机是一种能够接收信息,存储信息,
并按照存储在其内部的程序(这些程序是人们意志
的体现)对输入的信息进行加工、处理,得到人们
所期望的结果,然后把处理结果输出的高度自动
化的电子设备。
返回目录
第1章
1.1
1.2
1.3
1.4
1.5
计算机系统概述
计算机系统的硬件与软件
计算机系统的层次结构
计算机的分类及其应用
计算机的特点和主要性能指标
电子计算机的发展
1.1 计算机系统的硬件与软件
1.1.1
1.1.2
1.1.3
计算机硬件和软件的概念
计算机的硬件
计算机程序、指令和语言
返回目录
1.1.1 计算机硬件和软件的概念
硬件(Hardware),是指计算机系统中实际装置的总称。
它可以是电子的、电的、磁的、机械的、光的元件或装置,
或由它们组成的计算机部件或整个计算机硬件系统。
计算机的硬件由输入设备、输出设备、运算器、控制器
和存储器五部分组成。
计算机软件是指在计算机硬件上运行的各种程序以及有
关的文档资料,例如操作系统、汇编程序、编译程序、诊
断程序、数据库管理系统、专用软件包、各种维护使用手
册、程序流程图和说明等。
1.1.2 计算机的硬件
计算机的硬件是指组成一台计算机的各种物理装置,它
们是由各种实实在在的器件组成的,是计算机进行工作的
物质基础。计算机的硬件由输入设备、输出设备、运算
器、存储器和控制器五部分组成。
上一页
下一页
1.输入设备
输入设备(input equipment)的功能是从计算机外部
把信息和处理这些信息的程序通过输入接口输入到计算机
的存储器中。
键盘(keyboard)和鼠标器(Mouse)是最常用的输入设备。
其 它 输 入 设 备 还 有 : 扫 描 仪 ( scanner)、 数 字 化 仪
(digitizer)、光笔(light pen)、条形码扫描器(barcode
scanner)、触摸屏、各种模-数(A/D)转换器、数码相机
等。
⒉输出设备和外围设备
输出设备(output equipment)的功能是用来输出计算
机的处理结果。
最 常 用 的 输 出 设 备 是 显 示 器 ( display) 和 打 印 机
(printer),还有绘图仪(plotter)、X-Y记录仪、音箱、
各种数-模(D/A)转换器等。
I/O设备属于外围设备,但外围设备除I/O设备外,还应
包括外存储器设备、多媒体设备、网络通信设备和输入输
出处理机等。外围设备分类见下图。
⒊存储器
存储器(Memory)是计算机用来存放程序和数据的记忆部
件,•是计算机各种信息存放和交流的中心。它的基本功能
是在控制器的控制下按照指定的地址存入和取出信息。
存储器可分为内存储器与外存储器,简称内存与外存。
内存是由中央处理器直接访问的存储器,它存放着现在
运行的程序和数据,也可以存储计算的结果或中间结果。由
于其直接和运算器、控制器交换信息,因此要求存取速度快,
但存储容量较小。
外存储器简称“外存”,是主机的外围设备,用来存储
大量的暂时不参加运算或处理的数据和程序,•因而允许速
度较慢。
⒋运算器
运算器(arithmetic unit)的功能是在控制器的指
挥下,对信息或数据进行处理和运算,包括算术运算和逻辑
运算,所以在其内部有一个算术逻辑部件ALU(Arithmetic
and Logical Unit)。功能:
⑴实现对数据的算术和逻辑运算。
⑵暂时存放参与运算的数据和某些中间运算结果。
⑶挑选参加运算的数据,选中要执行的运算功能,并把
运算结果输出到所要求的部件中。
⒌控制器
控制器(control):它指挥计算机各部件按照
指令功能的要求进行所需要的操作。
主要功能:从存储器中取出指令,解释指令的
操作码和地址码,并根据译码,产生一系列的控制
信号,去控制计算机各部件协调地工作,并控制程
序的执行顺序。因此,控制器的主要工作是不断地
取指令、分析指令和执行指令。
中央处理器CPU主要包括:运算器、控制器、
总线和时钟等部件,计算机的主机则由 CPU和内存
储器组成。在微机中使用的CPU也称为微处理器。
1.1.3
计算机程序、指令和语言
1.程序
计算机程序(Program)是用某种特定的符号系统(指令
或语言)对被处理的数据和实现算法的过程进行的描述。
2.指令
指令(Instruction)是指挥计算机如何工作的命令,它
通常由一串二进制数码组成,即由操作码和地址码两部分
组成。
3.计算机语言(computer language)
指的是程序设计语言,程序设计语言分为三种类型:
机器语言、汇编语言和高级语言。
⑴机器语言
机器语言(machine language)是一种二进制语言,
它是用二进制代码表示的机器指令来描述的。 用机器语
言编写程序就是用机器指令来描述所求解问题的过程和步
骤,这样的程序称为机器语言程序,或称二进制语言程序。
⑵汇编语言
汇编语言(assembler language)和机器语言基本上
是一一对应的,但在表示方法上作了根本性的改进,用一
种助记符来代替操作码,用符号来表示操作数地址(地址
码),这些助记符通常使用指令功能英文单词的缩写,以
便于记忆。
上一页
下一页
⑶高级语言
高级语言(high-level language)是面向问题的程
序设计语言,高级语言种类很多,常用的有FORTRAN、
ALGOL、COBOL、C、PASCAL、BASIC、LISP、LOGO、PROLOG
和Java等。
高级语言的发明是计算机发展史上最惊人的成就之一,
使得非计算机专业人员能够使用计算机,大大地促进了计
算机的广泛应用和普及。
Visual Basic、Visual C、Delphi等是面向对象的程
序设计语言,充分体现了面向对象技术,是程序设计语言
的未来。
1.2
计算机系统的层次结构
计算机系统:由计算机硬件系统和软件系统组成。软
件又分为系统软件和应用软件。
计算机系统的
层次结构可用右
图来表示。
从计算机系统的层次结构的示意图中,
我们可以看到
⑴ 指令系统是计算机硬件和软件的接
口;
⑵ 操作系统是用户和计算机硬件的接
口,用户操作计算机直接面对的是操作系
统,是和操作系统打交道,操作系统是用
户的操作平台;
⑶ 只有硬件没有软件的机器(裸机)是
不能工作的。
1.3
计算机的分类及其应用
1.3.1 计算机的分类
1.3.2 计算机的应用
1.3.1
计算机的分类
⑴按处理的信息形式分:数字计算机和模拟计算机。用
脉冲编码表示数字,处理的是数字信息,这类计算机是数
字计算机;处理长度、电压、电流等模拟量的计算机称为
模拟计算机。
⑵按字长分:可分为 8 位机、16位机、32位机和64位机
等。
⑶按结构分:可分为单片机、单板机、多芯片机与多板
机。
⑷按用途分:可分为工业控制机与数据处理机等。
⑸按规模分:可分为巨型机、小巨型机、大中型机、小
型机、工作站和微型机(PC机)六类。
1.3.2 计算机的应用
计算机的应用范围,按其应用特点,可以分为以
下几个方面:
1.科学计算
2.数据处理
3.过程控制
4.计算机辅助系统
5.计算机通信
1.4
计算机的特点和主要性能指标
1.4.1
计算机的特点
1.4.2
计算机的性能指标
1.4.1
计算机的特点
1.通用数字计算机的特点
⑴处理速度快
⑵计算精度高
⑶记忆能力强
⑷可靠的逻辑判断能力
⑸可靠性高,通用性强
2.微型计算机的特点
微型计算机:除了具有计算机的一般特点外,
还具有以下一些特点。
⑴体积小,重量轻
⑵价格便宜,成本低。
⑶使用方便,运行可靠
⑷对工作环境无特殊要求
1.4.2 计算机的性能指标
计算机的主要技术性能指标有下面几项:
⑴主频:主频即时钟频率,是指计算机的CPU在单位时
间 内 发 出 的 脉 冲 数 。 主 频 的 单 位 是 兆 赫 兹 ( MHz), 如
486DX/66的主频为66MHz,Pentium/100的主频为100MHz,
PⅡ/233的主频为233MHz,PⅢ的主频有450MHz、500MHz、
733 MHz等,P4的主频在1GHz以上。
⑵字长:是指计算机的运算部件能同时处理的二进制数
据的位. 字长也影响机器的运算速度,字长越长,计算机
的运算速度越快。
⑶存 储容量 : 计算机 能 存储的 信 息总字 节 量 。字 节
(Byte,简写为B)是作为一个单位来处理的一串二进制数
位,通常以8个二进制位(bit)作为一个字节。每1024个字
节称为1K字节(1KB)。存储容量的单位还有MB(兆字节)、
GB(吉字节)和TB(太字节)。它们之间的关系是:
1KB=1024B=210B
1MB=1024KB=220B=1048576B
1GB=1024MB=230B=1973741824B
1TB=1024GB=240B=1099511627776B
⑷存取周期:连续启动两次独立的“读”或“写”操作(如
连续的两次“读”操作)所需的最短时间。
“写”:把信息代码存入存储器
“读”:把信息代码从存储器中取出
访问时间(或读写时间):存储器进行一次“读”或“写”
操作所需的时间。
⑸运算速度:是一项综合性的性能指标。衡量计算机
运算速度的单位是MIPS(百万条指令/秒)。影响机器运
算速度的因素很多,主要是CPU的主频和存储器的存取
周期。
衡量一台计算机系统的性能指标除上面列举的五项主
要指标外,还应考虑机器的兼容性(包括数据和文件的兼
容、程序兼容、系统兼容和设备兼容),系统的可靠性(平
均无故障工作时间MTBF,Mean Time Between Failures),
系 统 的 可 维 护 性 ( 平 均 修 复 时 间 MTTR,Mean Time to
Repair),机器允许配置的外部设备的最大数目,计算机
系统的汉字处理能力,数据库管理系统及网络功能等。性
能/价格比是一项综合性评价计算机性能的指标。
1.5
1.5.1
1.5.2
1.5.3
1.5.4
电子计算机的发展
电子计算机的发展历史
微型计算机的发展
计算机的发展趋势
我国计算机产业的发展
1.5.1
电子计算机的发展历史
世界上第一台电子计算机是在1946年由美国的
物理学家莫奇利(John Mauchly)博士和埃克特博士
(J.Presper Eckert)等人在宾夕法尼亚大学设计制
造的。起名叫ENIAC,ENIAC的诞生,为计算机和信
息产业的发展奠定了基础,它在美国陆军弹道研究
所运行了约十年,一直工作到1955年。
两个主要缺点:一是存储容量太小 ;二是准备
时间太长。
世界上第一台具有存储程序功能的计算机叫
EDVAC,译作“埃德瓦克”,它是由曾担任ENIAC小组
顾问的著名的美籍匈牙利数学家冯·诺依曼
(Von·Neumann)博士领导设计的。冯·诺依曼提出的
存储程序和程序控制的理论,及他首先确立的计算
机硬件由输入部件、输出部件、运算器、存储器、
控制器五个基本部件组成的基本结构和组成的思想,
奠定了现代计算机的理论基础,计算机发展至今,
整个四代计算机统称为冯·诺依曼结构计算机,世人
也称冯·诺依曼为“计算机鼻祖”。
世界上第一台投入运行的存储程序式的电子
计算机是EDSAC,译作“埃德沙克”,该机于1949年
5月制成并投入运行,比EDVAC早一年多。
从电子管、晶体管、中小规模集成电路到大
规模、超大规模集成电路计算机的发展道路,现
在正在向智能计算机和神经网络计算机的方向发
展。
以计算机所采用的元器件划分计算机的发展阶段
20世纪40年代末到50年代中期的计算机都是采用电子管元
件组成的,此时计算机称为第一代计算机,也就是电子管时代
的计算机。
20世纪50年代中期,晶体管发明了,它使计算机技术产生了
革命性的变化。晶体管很快代替电子管用到计算机上,形成
了第二代计算机,即晶体管计算机时代。
20世纪60年代中期,半导体工艺的发展,制造成功了集成电
路,计算机也开始采用中小规模集成电路作为计算机的主要元
件,故第三代计算机又称为中小规模集成电路计算机时代。
1971年起, 第四代——大规模超大规模集成电路计算机时
代。这一代计算机的体积进一步缩小,性能进一步提高。
计算机的发展大致分为四个时期,大型机时期、小型机
时期、PC机时期(或客户/服务器、PC/服务器)时期和
Internet(或以网络为中心)时期。
⑴大型机时期(1946年—70年代初):70年代初以前主要
生产大型机,IBM公司生产的大型机占据着主要市场。
⑵小型机时期(70年代初—80年代初):以DEC公司生产的
PDP-11和VAX-11为代表,这两种机型占领了当时的小型机
市场。
⑶PC机时期(80年代初—90年代初):80年代起进入了PC
机时代,Microsoft和Intel这两个公司领导着PC机的发展
潮流。
⑷Internet时期(90年代初—现在):谁将在这个时期成
为领导Internet的发展,有待实践证明。
1.5.2 微型计算机的发展
微型计算机以微处理器为核心的计算机,属于第四代计算
机。
第一代微型计算机是以4位微处理器和早期的8位微处理器
为核心的微型计算机,4位微处理器的典型产品是Intel4004、
4040,早期的8位微处理器的典型产品是Intel8008。
1973年12月,Intel8080的研制成功,标志着第二代微型计
算机的开始。
1978 年 , INTEL 公 司 推 出 了 第 三 代 微 处 理 器 的 代 表 产 品
Intel8086,接着又推出Intel8088(1979年)。
1 9 8 5 年 1 0 月 , INTEL 公 司 推 出 了 3 2 位 字 长 的 微 处 理 器
Intel80386,标志了第四代微型计算机的开始。
1.5.3
计算机的发展趋势
⒈巨型化
⒉微小化
⒊网络化
⒋智能化
⒌多媒体计算机
1.5.4
我国计算机产业的发展
我国的计算机产业起步于50年代中期。自发展开始,
我国的计算机产业走过了坎坷的道路,大致可分以下几个
阶段。
⑴面对封锁,走“自力更生、奋发图强”之路
⑵改革开放,我国计算机产业实现两大转变
⑶“抓应用,促发展”,培育市场成倍增长
⑷广泛普及计算机知识,PC进入家庭
⑸推动国民经济信息化建设成绩斐然
第 1 章 结 束
The
End
谢谢!!
第2章
信息编码及在计算机中的表示
内 容
2.1
2.2
2.3
2.4
2.5
信息的数字化编码
进位计数制及其相互转换
非数值数据的表示
数值数据的表示和运算
数据校验码
2.1
信息的数字化编码
编码:是用来将信息从一种形式转变为另一种
形式的符号系统,通常选用少量最简单的基本符号
和一定的组合规则,以表示出大量复杂多样的信息。
信息的数字化编码:是指用“0”或“1”这种
量最少、最简单的二进制数码,并选用一定的组合
规则,来表示数据、文字、声音、图形和图像等各
种复杂的信息。
计算机中采用的是二进制数码,为什么?(重点)
2.2
进位计数制及其相互转换
2.2.1 进位计数制
2.2.2 常用进位计数制间的相互转换
2.2.1
常用的进位计数制

十进制数

二进制数

八进制数

十六进制数
2.2.1 进位计数制
数制中的三个基本名词术语:
数码:用不同的数字符号来表示一种数制的
数值,这些数字符号称为“数码”。
基:
数制所使用的数码个数称为“基”。
权: 某数制各位所具有的值称为“权”。
1.十进制数(Decimal System)
数码:0、1、…… 8、9
基:10(逢十进一,借一当十)
权:以10为底的幂
任何一个十进制数DnDn-1…D1D0D-1…,可以表示成按权展开
的多项式:
Dn×10n+Dn-1×10n-1+…+D1×101+D0×100+D-1×10-1+…+
D-m×10-m
例如:1234.5的按权展开多项为:1234.5=1×103+2×102
+3×101+4×100+5×10-1
⒉二进制数
二进制(Binary System)
数码: 0和1
基:2
权:以2为底的幂
任何一个二进制数BnBn-1…B1B0B-1…B-m,可以表示成按权展开的多项式:
Bn×2n+Bn-1×2n-1+…+B1×21+B0×20+B-1×2-1+…+B(-m+1)×2-(m-1)+B-m×2-m
例如: 1101.01的按权展开多项为:
1101.01=1×23+1×22+0×21+1×20+0×2-1+1×2-2
⒊八进制数
八进制数(Octave System)
数码: 0、1、…… 6、7
基: 8
权:以8为底的幂
八进制数的一般式可以表示为:
On×8n+On-1×8n-1+…+O1×81+O0×80+O-1×8-1+…+O
-(m-1) +O ×8-m
(-m+1)×8
-m
⒊ 十六进制数
十六进制(Hexadecimal System)
数码: 0、1、…… 8、9、A(1010)、B(1011)、C
(1100)、D(1101)、E(1110)、F(1111)
基: 16
权:以8为底的幂
十六进制数的一般式可以表示为:
Hn×16n+Hn-1×16n-1+…+H1×161+H0×160+H-1×16-1+…+H(-m+1)
×16-(m-1) +H-m×16-m
例:
二进制数1011.0101及其对应的八进制数、
十进制数和十六进制数可以表示为:
1101.0111(2)=15.34(8)=13.4375(10)=E.7(16)
或: (1101.0111)2=(15.34)8=(13.4375)10=
(E.7)16
或: 1101.0111B=15.34O=13.4375D=E.7H
2.2.2 常用进位计数制间的相互转换
⒈二进制数、八进制数、十六进制数转换为十进
制数
各种进位计数制可统一表示为下式:
式中:
R ─ 某种进位计数制的基数;
i ─ 位序号;
Ki─ 第i位上的一个数码为0~R-1中的任一个;
Ri ─ 则表示第i位上的权;
m,n ─ 最低位和最高位的位序号。
用上式可将任何一个二进制数、八进制数、十六进制
数直接转换为十进制数,•这叫做按权展开法。
例:⑴ 二进制数转换为十进制数
(1011.0101)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2+0×2-3
+1×2-4=8+0+2+1+0+1/4+0+1/16
=(11.3125)10
⑵ 八进制数转换为十进制数
(75.21)8=7×81+5×80+2×8-1+1×8-2
=56+5+2/8+1/64 =(45.20238)10
⑶ 十六进制数转换为十进制数
(175.FB)16=1×162+7×161+5×160+15×16-1+11×16-2
=256+112+5+15/16+11/162
=(373.98046875)10
⒉十进制数转换为二进制数
⑴ 十进制整数转换为二进制数
(连除基数、倒取余)
方法:除以2取余法。即逐次
除以2,直至商为0,得出的
余数即为二进制数各位的数
码。
【例2.1】 把一个十进制数156
转换为二进制数。
结果:(156)10=(10011100)2
⑵ 十进制纯小数转换为二进制数
方法:乘2取整法。即逐次乘以2,从每次乘
积的整数部分得到二进制数各位的数码。
【例2.2】把十进制小数 0.34375转换为二进
制小数。
结果:
(0.34375)10=(0.01011)2
连乘基数、正向取整。
⒊二进制数与八进制数的转换
1.二进制数转换成八进制数
方法:将二进制数从小数点开始分别向左(
对二进制整数)或向右(对二进制小数) 每
三位组成一组,每一组有3位二进制数,
转换成八进制数码中的1个数字,连接起
来即可。不足3位的补0。
【例2.3】 把二进制数(101100011.011100101)2
转换为八进制数。
101 100 011. 011 100 101
5 4 3. 3 4 5
即有:(101100011.011100101)2=(543.345)8
⒊二进制数与八进制数的转换
2.八进制数转换成二进制数
方法:将每1位八进制数写成相应二进制3位数,顺序写好即
成。
【例2.4】 把八进制数(7351.65)8 转换为二进制数。
7
3
5
1. 6
5
111 011 101 001. 110 101
即有: (7351.65)8=(111011101001.110101)2
⒋二进制数与十六进制数的转换
⑴二进制数转换成十六进制数
方法:把十六进制数每位的数字与二进制数的4位
数相对应。
【例2.5】把二进制数(110100110101)2转换为十六
进制数。
1101 0011 0101
D
3
5
即有: (110100110101)2=(D35)16
⒋二进制数与十六进制数的转换
⑵十六进制数转换成二进制数
方法:将每1位十六进制数写成相应的二进制4位数,顺序写好即成。
例如:E
1110
8
B
1000
1011
即有:(E8B)16=(111010001011)2
对于十进制数转换为八进制数或十六进制数的问题,我们可
以先把十进制数转换成二进制数,然后再转换为八进制数
或十六进制数。
4种数制之间的转换可参照下表进行
2.3
非数值数据的表示
2.3.1 字符数据的编码
2.3.2
汉字编码
2.3.1 字符数据的编码
非数值数据又叫符号数据或字符数据,
包括字母和符号。目前世界上用ASCII码
(American Standard Code for
Information Interchange)来表示。ASCII
码有7位ASCII码和8位ASCII码两种,7位
ASCII码称为标准ASCII码,8位ASCII码称
为扩充ASCII码。
ASCII码字符编码表
2.3.2 汉字编码
汉字编码:机内码和机外码
机内码:是在计算机内部使用的用二进制代码
表示的汉字编码,用于在计算机内部存储、交
换、处理加工汉字信息
机外码:是不在计算机内使用的汉字编码,主
要是指汉字输入码。此外还有供输出的汉字字
型点阵码。
⒈ 国标码
(了解)
国标码:指我国1981年公布的“中华人民
共和国国家标准信息交换汉字编码”,是一种
国家标准编码,代号为“GB2312-80”。它以94
个可显示的ASCII码字符为基集,由两个字节
构成。国标码与ASCII码属同一制式,可以认
为国标码是扩展的ASCII码。
国家标准(GB2312-80)汉字字符集示意图
国标码用两个字
节的16进制数表
示,例如“文”的
国标码是
“4E44H”,“中华
人民共和国”的国
标码分别是
“5650H、3B2AH、
484BH、4371H、
3932H、3A4DH、
397AH”。
⒉ 汉字机内码 (实质:汉字的地址)
汉字机内码:在计算机系统内部用来表示汉字的编码。
ASCII码是一种西文机内码
在设计汉字机内码时,应遵循如下原则:
⑴ 汉字机内码的编码不能有二义性,否则和其他编码
分不清,例如要能和ASCII码严格区分。
⑵ 代码的长度尽可能短,所能表示的汉字要尽可能多。
⑶ 应与国标码有相应的对应关系,以便于对汉字库的
处理和对汉字的查找。
汉字机内码与国标码的关系
汉字机内码高位字节=国标码高位字节+80H
汉字机内码低位字节=国标码低位字节+80H
例如:“文”的国标码是“4E44H”,要求它的机
内码,只要把“文”字国标码两个字节的16进
制数4EH和44H分别加80H,即成该汉字的机内码。
4EH+80H=CEH
44H+80H=C4H
⒊ 汉字输入码
(机外码)
汉字输入码:指直接从键盘输入的各种
汉字输入方法的编码,属于外码。
按照编码原理,汉字输入码主要分为三
类:数字码(区位码和电报码)、拼音码和
字形码。还有以汉字的音和形相结合的音形
码和形音码。
⑴ 数字码
数字码:将待编码的汉字集以一定的规则
排序以后,依次逐个赋予相应的数字串作为汉
字输入代码。
典型的数字码:区位码和电报码
优点:无重码
缺点:代码难以记忆。
区位码与国标码、机内码的对应关系为:
用十进制数输入的区码和位码先分别转换为
十六进制数(各一个字节),再分别加上20H,
就成了国标码;再在两个字节分别加上80H,
就成为机内码。
例如,“文”字的区位码为4636,区码和
位码分别用十六进制表 示即为“2E24H”,
转换成国标码就是“4E44H”,它的机内码为
“CEC4H”。
⑵拼音码:汉语拼音方案为基础的输入
方法
最大优点:简单易学,只要会汉语拼音,
就能输入汉字,并且输入时不影响思考,
适合于业务人员和专业技术人员使用。
全拼输入法—双拼输入法—增加联想功能—
以词为单位的智能拼音输入法
⑶ 字形码:以汉字的形状确定的编码
最大特点:能广泛地为国内外不同地区使用汉
字方言较重的人们服务
缺点:编码规则较复杂。
典型:五笔字型输入法
⑷ 其它输入方法:音形码和形音码
⒋汉字字型码——汉字点阵字模库(重点)
汉字信息存储在计算机内有两种编码:
一种是汉字机内码,另一种是字型点阵码。
点阵字型方式:是把汉字像图形一样置
于网状方格上,每格是存储器中的1个位
(bit),16×16点阵是在纵向16点、横向16
点的网状方格上描绘一个汉字,有笔划的
格对应1,无笔划的格对应0。
图中表示了“华”字的16×16点阵字型。
这种用点阵形式存储的汉字字型信息的集合称
为汉字的点阵字模库,简称汉字库。
汉字点阵字模的分类
汉字的
、
、
是计算机用于汉字输入、内部
处理、输出三种不同用途的编码。
⒌ 汉字字符集(了解)
目前,在我国使用的计算机汉字操作平台中有三种汉字字符集。
⑴ 国标码字符集GB2312-80:我国政府于1981年公布的《信息
交换用汉字编码字符集 基本集》,在该字符集中收录了
6763个常用汉字和各种符号682个,合计7445个。
⑵ GBK汉字集:即汉字内码扩充规范,”大字符集”。在此汉字
集中一共收录了20900个汉字,它包容了GB2312-80的6763个
常用汉字,台湾BIG5码的13000多个汉字。此扩充规范发布
后,美国的Microsoft公司率先将GBK规范装入Windows95中。
在Windows95简体中文版中,又增加了101个补充字,一共有
21001个字。
⒌ 汉字字符集
(了解)
⑶ 国 标 码 GB18030 字 符 集 : 即 GB18030-2000 《 信 息 技 术
信息交换用汉字编码字符集
基本集的扩充》新标准。该
字符集共收录了27000多个汉字,总编码空间超过150万个
码位,是真正的大汉字集。它在体系结构上延续了
GB2311-1990《信息处理
七位和八位编码字符集
代码
扩充技术》编码体系,采用单/双/四字节混合编码,该标
准还收录了藏文、蒙文、维吾尔等主要的少数民族文字,
以及世界上几乎所有的语言文字,为中文信息在Internet
上的传输与交换提供了保障。
2.4
数值数据的表示和运算(重点)
2.4.1
2.4.2
2.4.3
2.4.4
机器数
定点数的原码、反码、补码和移码
定点数和浮点数
十进制数的编码
2.4.1
机器数
1.机器数和真值的概念
符号的数值化:把正负符号用一位二进制数码来表示。
符号位:符号数值化后占的若干个数值位。
机器数:数的符号用二进制数“0”或“1”来表示的,且符
是在该数的最高数值位之前的那种数。规定“0”表示正
“1”表示负号。原码、补码、反码、移码等把符号位和
值位一起编码表示的数就是机器数。
真值: 用“+”、“-”表示符号的那种数。
例:N1=+0.1011,N2=-0.1011,这是真值,
表示成机器数就为[N1]原=0.1011,[N2]原=1.1011。
⒉机器数的特点
⑴用二进制数码表示 优点:
①使用元器件简单,便于硬件实现
②运算简单
③节省存储设备
④便于用逻辑代数进行逻辑设计
⑵机器数所表示的数值范围是有限的,无法表示时,便产
生溢出
机器数所表示的数值范围是由机器的字长决定,字长越
长,所能表示的数的范围越大。
⒉机器数的特点
例:一台字长为n位的机器,它所能表示的机器数
X除0以外,最小是1,最大是2 n-1,即其所表
示的范围是:1≤X≤2n-1
比1小的值,认为是机器零;数值大于2n-1,机器
不能表示,我们称为“溢出”。
⒉机器数的特点
对于不带符号位的定点纯小数(即小数点位于机器数的最
左边的数),字长为n位的机器所能表示的机器数X的范围是:
2-n ≤X≤1-2-n,如图所示:
凡是小于2-n的数都认为是机器零;如果数值大于1-2-n
的数,机器不能表示,被认为机器数无穷大,产生溢出。
从上面的分析情况可以看除,计算机产生溢出的一个
重要原因是由计算机的字长造成的。
⑶ 符号的数值化表示
用0表示正(“+”)号,
用1表示负(“-”)号。
以字长为8位为例,
+1101101和-1101101
这两个数的表示如图所示:
⑷ 定点数和浮点数的不同表示
根据小数点位置的不同,机器数有定点数和浮点数。
① 定点数表示方式:小数点的位置是固定不变的数称为定
点数。若约定小数点固定于机器数最低位的右边,则机器数
表示整数;若约定小数点固定于机器数数值位的左边符号位
的右边,则机器数表示纯小数。
② 浮点数表示方式:浮点数是一种指数形式的表示方式,
其一般表示式为:X=2r·x。其中,r称为X的阶码,它指明了
小数点的位置,表示数的大小;x称为X的尾数,表明了X的有
效值。
⒊二进制数的运算规则
⑴ 算术运算规则
加法规则:
0+0=0
0+1=1
1+0=1 1+1=10
减法规则:
0-0=0 10-1=1 1-0=1
1-1=0
乘法规则:
0×0=0
0×1=0
除法规则:
0÷1=0
1÷1=1
1×0=0
1×1=1
⑵ 逻辑运算规则
逻辑或:又称逻辑加,用符号“∨”或“+”来表示。
其运算规则为:0∨0=0 0∨1=1 1∨0=1 1∨1=1


逻辑与:又称逻辑乘,用符号“∧”或“·”来表示。
其运算规则为:0∧0=0 0∧1=01∧0=01∧1=1
逻辑非:即对每位的逻辑值取反,用二进制数字上划线表示
规则为:

逻辑异或:即实现按位加的功能,异或运算用符号( ⊕ )表示
其运算规则是:0⊕0=0 0⊕1=1
1⊕0=1
1⊕1=0
进行异或运算的两位不相同时,异或结果为1,两位相同时,异或结果为0。
上一页
下一页
2.4.2 定点数的原码、反码、补码和移码
⒈定点数的原码
原码表示方法:符号位为0表示正数,为1表示负数,数值部分
用二进制数的绝对值表示的方法。通常用[X]原表示X的原码。
例如,要表示+59和-59的原码,假设机器数的位数是8位(机器的
字长8位),最高位是符号位,其余7位是数值位,那么+59和59的原码表示为[+59]原=00111011 [-59]原=10111011
写成一般式则为:正数的原码 [X]原=X
负数的原码 [X]原=2n-1-X
(2n-1>X>0)
(-2n-1<X<0)
应注意,0的原码有两个值,有“正零”和“负零”之分。
[+0]原=00000000 [-0]原=10000000
⒉定点数的补码
补码的定义是:把某数X加上模数K,称为以K为模
的X的补码。
[X]补=K+X
因此正数的补码是最高位为符号“0”,数值部分
为该数本身;负数的补码是最高位为符号“1”,
数值为用模2减去该数的绝对值。
求一个二进制数补码的方法是,正数的补码与其原码相同;负
数的补码是先把其原码除符号外的各位先求反,然后在最低
位加1。
【例2.16】若X=+0.1011,Y=-0.1011,求[X]补、[Y]补。
解: [X]补=0.1011
[Y]补=10-0.1011=1+1-0.1011=1.0101 (mod 2)
0的补码只有一种形式,就是n位0。
字长为n位的定点整数补码的定义式为:
3.反码
正数的反码就是这个数本身,而负数的反码是符号位为1,数
值部分等于其绝对值各位求反。
例如:[+59]反=00111011,[-59]反=11000100。
零的反码也有两个,
[0]反=00000,
[-0]反=10000
字长为n的定点整数反码的定义式为:
可得到如下公式:X-Y=X+(Y的补码)=X+(Y的反码+1)
在8位机中,补码表示的范围为+127~-128,
下表列出了8位二进制数的各种表示方法。
目前大多数计算机均采用补码存储、补码运算,其运算结果仍
为补码形式。
【例2.17】
及补码
在字长为8位的计算机中,求下列数的原码、反码
+18、-18、+31、-31、+127、-127
解:[+18]原=[+18]反=[+18]补=00010010
[-18]原=10010010 [-18]反=11101101 [-18]补=11101110
[+31]原=[+31]反=[+31]补=00011111
[-31]原=10011111 [-31]反=11100000 [-31]补=11100001
[+127]原=[+127]反=[+127]补=01111111
[-127]原=11111111 [-127]反=10000000
[-127]补=10000001
4.移码
移码也叫增码或偏码,常用于表示浮点数中的阶码。
对于字长为n的计算机,若最高位为符号位,数值为n-1
位当偏移量取为2n-1时,其真值x所对应的移码的表示公式为:
[X]移=2n-1+X
(-2n-1≤X<2n-1)
移码和补码之间的关系:
当0≤X<2n-1 时,[X]移=2n-1+X=2n-1+[X]补
当-2n-1≤X<0 时,[X]移=2n-1+X=(2n+X)-2n-1=[X]补-2n-1
可见,[X]移可由[X]补 求得,方法是把[X]补的符号位取反,
就得到[X]移。
4.移码
【例2.18 】X=+1011,Y=-1011,求[X] 移 和[Y] 移 。
解:
[X]补=01011,
所以
[X]移=11011
[Y]补=10101,
所以
[X]移=00101
移码的性质
① 最高一位为符号位,其取值与原码、补码都相反,“1”表示
正号,“0”表示负号。移码常用于表示浮点数的阶码,通常只
使用整数。
② 对移码一般只执行加减运算,在对两个浮点数进行乘除运算
时,是尾数实现乘除运算,阶码执行加减运算。对阶码执行
加减运算时,需要对得到的结果加以修正,修正量为2n-1,即
要对符号位的结果取反后,才得到移码形式的结果。
③ 在移码的表示中,0有惟一的编码,即[0]移=1000…0,而且,
机器零的形式为 000…000。即当浮点数的阶码≤-2n-1时,不
管尾数值的大小如何,都属于浮点数下溢,被认为其值为0,
这时,移码表示的阶码值正好是每一位都为0的形式,与补码
的0完全一致。这有利于简化机器中的判零线路。
2.4.3
定点数和浮点数
⒈定点数表示法:通常把小数点固定在数值部分的最高
位之前,或把小数点固定在数值部分的最后面。前者将
数表示成纯小数,后者把数表示成整数。如图所示。
对纯小数进行运算时,要用适当的比例因子进行折算,
以免产生溢出,或过多损失精度。
⒉浮点数表示法
浮点数是指在数的表示中,其小数点的位
置是浮动的。任一个二进制数N•可以表示成:
N=2E·M
式中,M为数N的尾数或数码,E为指数,是数N
的阶码,是一个二进制整数
浮点数分为阶码和尾数两个部分。
浮点数的格式表示
格式1:
Ms为尾数的符号位,安排在最高一位;E为阶
码,紧跟符号位之后,占m位;M为尾数,在
低位部分,占n位。
格式1举例
【例2.19】 对一个真值为+23.25的十进制数,用浮点数
格式1表示法表示其原码。
(23.25) 1 0 =(10111.01) 2 ,用浮点数表示其原码为:
2+101×0.1011101,则在机器中表示为:
这里阶码和尾数都用原码表示,实际上往往是尾数用
补码表示,阶码用移码表示。
浮点数的格式表示
格式2:
其中:Ns为阶码的符号位,安排在最高一位;E为阶码,
紧跟阶符位之后,占m位;Ms为尾数的符号位,在尾
数之前的一位,M为尾数,在低位部分,占n位。
格式2举例
【例2.20】 例2.19中的十进制数+23.25,用浮点
数格式2表示法表示其原码、反码和补码。
+23.25化成浮点数为:2+101×0.1011101,则其原码、
反码和补码分别表示为:
⒉浮点数表示法
在浮点数的表示中,要注意三个问题:
① 阶码的位数和尾数的位数的关系。例如,用32位表示的一
个浮点数,符号位占1位,阶码用8位,尾数用23位,数的表
示范围约为±1.7×10±38,精度约为十进制的7位有效数字。
②
浮点数通常采用规格化的表示方法。所谓浮点数的规格化
就是其尾数的第一位要为1,若不为1,就要用“左规”的方法
使其为1。左规就是尾数向左移动(同时调整阶码),直至尾数
的第一位为1或阶码为全0或最小值。
如:2 10 ×0.1101,-2 10 ×0.1101就是规格化的浮点数;而
211×0.0110,-211×0.0110是非规格化的浮点数。
【例2.21】把非规格化的浮点数N=211×0.0110规格
化
解:把浮点数N的尾数向左移一位(或尾数的小数点右
移一位),变成0.1100,同时,阶码递减1,得到N=
210×0.1100,就是规格化的浮点数。
③当一个浮点数的尾数为0,不论其阶码为何值;
或者阶码的值遇到比它能表示的最小值还小时,
不管其尾数为何值,计算机都把该浮点数看成是0,
称为机器零。
2.4.4
十进制数的编码
⒈BCD码(Binary-Coded Decimal) 是用4位二进
制编码来表示一个十进制数,代码的每位都
是固定有权的,因此称为有权码。把4位代码
中为1的各位的权加起来,即得到这个对应的
十进制数。
⒈BCD码
⑴ 8421码
8421码是二进制编码各位的权分别是8、4、2、1,因此叫
8421码。下表是十进制数码与8421码的对照表。
要注意,每1位十进制数码对应4
位8421码,如十进制数175的
8421码是000101110101,写成
表达式即为:
(175)10=(000101110101)8421
⒈BCD码
⑵ 2421码
2421码是二进制编码各位的权分别是2、4、2、1,因此叫
2421码。下表6是十进制数码与2421码的对照表。
注意,每1位十进制数码对
应4位2421码,如十进制数
175的2421码是
000111011011,写成表达
式即为
(175)10=(000111011011)2
421
⒈BCD码
⑶ 其他有权码
BCD码中的其他有权码还有5211码、8-4-2-1码、4311码。
它们也都是4位编码对应一位十进制数。下表列出了这三
种有权码与十进制数的对照表。
⒈BCD码
总结以上5种BCD码,可以归纳出BCD码的特点如下:
①用4位二进制数编码;
②是有权码,每位的权根据码制的不同而不同;
③除8421码外,其余都是对9的自补码。所谓对某数的自补
码,就是只要该码自身取反,便可得到该码所对应的十
进制数对某数的补码。对9的自补码就是该码取反后,便
可得到该码所对应的十进制数对9的补码。例如,5的
2421码是1011,按位取反后得到0100,其对应的十进制
数是4,4是5对9的补码。5的5211码是1000,按位取反后
得到0111,其对应的十进制数也是4,是5对9的补码。
⒉余3码
把每个8421码都加上0011(即3)
就得到余3码。余3码和十进制数、
8421码的对应关系如表2-8所示。
余3码的特点是:
⑴ 用4位二进制数编码;
⑵ 是无权码;
⑶ 也是对9的自补码;
⑷ 两个余3码相加,其和要进行修正,修正的方法是:有进位
的位,结果加3(0011);无进位的位,结果减3(0011);两个
余3码相减,其和也要进行修正,修正的方法是:对结果中向
高位借位的减3(0011)修正。
⒉余3码
【例2.22】有两个十进制数38和45,试用余3码求其和。
解:⑴ 写出38和45的余3码
(38)10=(01101011)余3码
(45)10=(01111000)余3码
⑵ 两个余3码相加
0110 1011
+
0111 1000
1110 0011
⑶ 对余3码的和进行修正
1110 0011
0011 +0011
1011 0110
⑷ 从余3码求十进制数:(10110110)余3码=(83)10
⒊格雷码
格雷码(Gray)是任何两
个相邻的代码只有一
个二进制位的状态不
同,其余3个二进制
位的状态必须相同的
一种编码。可由8421
码的相邻两位异或而
得到的,例如,6的
8421码为0110,其格
雷码就是0101。
上图是十进制数0~9和格雷
码的对照表
⒊格雷码
格雷码的特点可以归纳为以下三点:
⑴ 是4位编码;
⑵ 是无权码;
⑶ 码距为1。
码距:是指两个合法代码之间的不相同的位数。格雷码的
每两个相邻的代码,如5(0111)和6(0101)之间尽有一
位不相同,所以码距为1。像8421码的5(0101)和
6(0110)之间有两位不相同,7(0111)和8(1000)之间四
位都不相同,所以8421码的码距是不定的。
2.5
数据校验码
在计算机系统中对数据的存取、传送数据
有时会出现错误。为了提高数据传送的正确性,
一方面要通过电路的可靠性来保证,另一方面
在数据代码传送过程中,需要对代码进行校验,
代码校验的方法最好能查错和纠错。数据校验
码就是一种常用的带有发现某些错误或带有自
动改错能力的数据编码方法。常用的代码校验
方法有奇偶校验、汉明校验和循环冗余校验三
种方法。
2.5
数据校验码
2.5.1 码制的距离
2.5.2 奇偶校验码
2.5.3 汉明码
2.5.4 循环冗余校验码
2.5.1




码制的距离
两个码字的距离:两个码字逐位比较,其不同字符的个数
称为这两个码字的距离。例如0101110和0110110这两个码
之间,有2个字符不同,则这两个码字之间的距离为2。
一个码制的距离定义为:在这个编码之中各码字之间的最
小距离。
码制的距离与代码校验关系:
这就是说,计算机在传送代码过程中发生一位错,在代码
距离为1的情况下是检查不出来的。如果代码的距离为2,
当某一位在传送过程中出错时,这个出错代码就不是合法
代码,从而判断出这是个错误代码,但不知道哪一位有错。
2.5.2
奇偶校验码
奇偶校验码的构成规则是在每个传送码的左边或右边加
上1位奇偶校验位“0”或“1”,若是奇校验位,就把每个编码中1
的个数凑成奇数;若是偶校验位,就把每个编码中1的个数凑
成偶数。
距离为1的二进制码加上奇偶校
验位就成为距离为2的码,这种编码
能发现1个错误或奇数个错误,但不
能定位。因此对奇偶校验码的评价
是,能发现一位或奇数个位出错,
而无定位纠错能力。
2.5.3
汉明码
以奇偶校验为基础的,但校验位不是1位,而是几位。汉明
码的实现原理是,在数据中加入几个检验位,将数据代码
的码距比较均匀地拉大,并把数据的每一个二进制位分配
在几个奇偶校验组中。
汉明校验码的构成规则是由信息位和一组校验位构成汉明码
这些校验位穿插在信息位中间。
校验位的位数K和信息位的位数N应满足下述关系:
2K-1≥N+K
此式称为汉明不等式。
下表是按照汉明不等式计算出的N值和K值的对应
关系表。
汉明码的构成和纠错原理
例:8421码是4位编码,其N值为4,则其K值为3。设信
息位为I4、I3、I2、I1,按8421码编码,校验位是P3、
P2、P1。一种8421汉明码如下表所列。
校验位的取值按如下公式求得:
P3=I4⊕I3⊕I2
P3 应满足I4、I3、I2、P3为偶检验
P2=I4⊕I3⊕I1
P2 应满足I4、I3、I1、P2为偶检验
P1=I4⊕I2⊕I1
P1 应满足I4、I2、I1、P1为偶检验
三个校验和按以下公式求得:
S2=I4⊕I3⊕I2⊕P3
S1=I4⊕I3⊕I1⊕P2
S0=I4⊕I2⊕I1⊕P1
若S2S1S0=0,则说明传送无错,即接收的代码是正
确的;若S2S1S0≠0,则说明传送有错,S2S1S0的十
进制数值就是出错的位号,故将S2S1S0称为指误字。
【例2.21】一个8421码4的汉明码在传送时第5位发生错误的
查纠错例子
7
6
5
4
3
2
1
I4 I3
I2 P3
I1
P2
P1
发送4的汉明码
0
1
0
1
0
1
0
接收的汉明码
0
1
1
1
0
1
0
接收的汉明码第5位发生了错误,0变成了1。检验的情况是:
S2=I4⊕I3⊕I2⊕P3= 0⊕1⊕1⊕1=1
S1=I4⊕I3⊕I1⊕P2= 0⊕1⊕0⊕1=0
S0=I4⊕I2⊕I1⊕P1= 0⊕1⊕0⊕0=1
可以得到,S2S1S0=101,说明是第5位(信息位I2)在传送中
发生了错误,只要将这一位取反就行。
【例2.22】一个8421码4的汉明码在传送时第5、6
两位同时发生错误。
汉明码能查出2位以上出错位,但不能定位。下面举一个2位出错的例子
7
6
I4 I3
5
4
3
2
1
I 2 P3
I 1 P2 P 1
发送4的汉明码 0
1
0
1
0
1
0
接收的汉明码
0
1
1
0
1
0
0
检验的情况是:
S2=I4⊕I3⊕I2⊕P3= 0⊕0⊕1⊕1=0
S1=I4⊕I3⊕I1⊕P2= 0⊕0⊕0⊕1=1
S0=I4⊕I2⊕I1⊕P1= 0⊕1⊕0⊕0=1
这样,S2S1S0=011,这里不是第3位出错,结果显然不对。若汉明码和奇偶
校验码配合使用,则可区别是2位错还是1位错。
2.5.4
循环冗余校验码
循环冗余校验码(CRC)是目前通信系统中广泛采用的一种校验码,
主要用在同步通信上。
⒈编码格式
循环冗余校验码的编码格式如图所示。
循环冗余校验码由两部分组成,左边是信息位,右边是校验位;若总的循
环冗余校验码的长度为n位,信息位是k位,则校验位就占n-k位。故该校验码
也称(n,k)码。附加校验位是由信息码产生的,校验位越长,校验能力越强。
⒉检验码的生成
检验码可按如下步骤生成:
⑴ 信息码的权展开式乘以Xn-k 。
⑵ 给出生成多项式 g(x)。
如X.25协议中,数据链路层传送信息时需要附加16位检验位,其生成多
项式为:g(x)=X16+X12+X5+1。
生成多项式中最高次幂数是检验位的位数,最低次幂必须为0。
4位检验位的生成多项式为:g(x)=X4+X3+X2+1。
⑶ 第⒈步得到的多项式除以生成多项式,余数就是检验位的权
展开式。
注意:两多项式相除时,因为除法运算是模2运算,每一位相减
是按位减,不发生借位。
【例2.28】有一个(7,3)码(整个编码7位,其中信息位3位),
其生成多项式为X4+X3+X2+1,令信息码为110,请求出其CRC
检验码。
解:
① 把信息码110写成基数为X的权展开式X2+X(110=22+21+0)
② 给定的生成多项式为g(x)=X4+X3+X2+1。
③ 信息码的权展开式乘以Xn-k
(X2+X)·X7-3=X6+X5
④ 第③步所得的多项式除以生成多项式,得到检验位的多项
式
得到检验码的多项式为X3+1,因此可求得检验码为23+1=(1001)2。
⑤ 最后得到7位CRC检验码为 1101001。
⒊CRC码的检验方法
CRC码传送到接收方后,接收方就用CRC码除以生成多项式来
检验。如果余数为0,说明传送正确;如果余数不为0,则传
送出错。例如上面例子,110的CRC码为1101001,用1101001
除以生成多项式11101,余数为0,传送正确。
以上算法可以通过软件来实现,也可以通过硬件来实现。在使
用硬件实现时,信息位的权展开式乘以Xn-k 是通过移位寄存
器的移位来实现的,而除以生成多项式是靠除法电路实现的。
目前,CRC码大都采用硬件实现。
⒋循环冗余校验码的特性
⑴ 任何一个CRC码循环右移一位,产生新的码仍然
是CRC码。正因为CRC码有这样的特性,且检验
位又放在信息位的右边,形成信息码的多余部分,
故称循环冗余检验码。
⑵ 任何两个CRC码进行按位异或,所得结果仍然是
CRC码。
下表是信息码001~111在生成多项式为X4+X3+X2+1的情况下
的CRC码表,上述两个特点从下表中可以看出。
第 2 章 结 束
The
End
谢谢!!
第3章 计算机的基本器件
录
目
3.1
3.2
3.3
3.4
器
3.5
逻辑代数与逻辑电路
组合逻辑电路
时序逻辑电路
总线缓冲器和总线控制
时钟发生器
3.1
逻辑代数与逻辑电路
3.1.1
逻辑代数
3.1.2
基本逻辑电路
3.1.1 逻辑代数
逻辑代数是对二值变量进行逻辑运算的代数,
可以对所计算的量进行“或”、“与”、“非”
等逻辑运算,它是形式逻辑的一个分支,是由
英国数学家、逻辑学家乔治.布尔建立和发展
起来的,所以常称为“布尔代数”(Boolean
algebra)。
3.1.1 逻辑代数
⒈逻辑变量与逻辑函数
⑴ 逻辑变量
逻辑代数的变量简称为逻辑变量,它是赋以
逻辑属性值真或假的变量。逻辑代数是一种二值
代数,逻辑变量只有0、1两种取值。只有三种最
基本的运算,即逻辑加(“或”运算)、逻辑乘
(“与”运算)及逻辑非(“非”运算),逻辑
代数中的一切其它运算都由这三种运算构成。
逻辑加
逻辑加又叫“或”逻辑运算,运算符号是“+”或
“∨”。其运算规则是,只要A、B、C中任一为
“1”时,其“或”的结果F就为“1”,只有当A、
B、C都为“0”,其结果F才为“0”。
F =A∨B∨C∨…=A+B+C+…
(字母A、B、C等表示逻辑变量)
逻辑乘
逻辑乘又叫“与”逻辑运算,运算符号是“·”
或“∧”。其运算规则是,只有当A、B、C均为
“1”时,其“与”的结果F才为“1”,否则为
“0”。
F =A∧B∧C∧…=A·B·C·… …
(字母A、B、C等表示逻辑变量)
逻辑非
逻辑非也叫“非”运算,又叫逻辑求反,运算
符号为“ˉ”。“非”运算的运算规则是,当
A为“1”时,即为“0”;当A为“0”时,为
“1”
F
=
(字母A表示逻辑变量)
3.1.1
逻辑代数
⒈逻辑变量与逻辑函数
⑵ 逻辑函数
逻辑代数中的函数简称为逻辑函数,它是描述
逻辑变量关系的函数。
逻辑函数也是一种变量,这种变量随其它变量
的变化而改变,逻辑函数可表示为
F=f(A1,A2,…,Ai,…,An)
在逻辑代数中,表示逻辑函数的方法有三种:逻辑
表达式、真值表和卡诺图。
逻辑表达式
逻辑表达式是用公式表示的函数与变量之间关
系的一种方法。例如,有两个逻辑变量A和B,当
它们的取值相异时,函数F的值为1,否则为0。
对于这样一种函数关系,它的逻辑表达式为:
F=f(A,B)=
真值表
真值表则是用表格表示函数与变量关系的一
种方法。
3.1.1
逻辑代数
⒉基本的逻辑关系式
⑴ “或”逻辑
功能定义为:
逻辑表达式为:F=A+B
(有时也写成F=AVB)
3.1.1 逻辑代数
⒉基本的逻辑关系式
⑴ “与 ”逻辑
功能定义为:
逻辑表达式为:F=A·B (有时也写成F=A∧ B)
3.1.1 逻辑代数
⒉基本的逻辑关系式
⑴ “非
”逻辑
功能定义为:
逻辑表达式为:
3.1.1 逻辑代数
⒊逻辑代数的基本公式和常用公式
(参看教材P57~P58)
3.1.1 逻辑代数
⒋逻辑表达式的化简
一个逻辑函数可以有多种不同的表达式,
实现这些表达式的逻辑线路也有许多种。为
了使逻辑设计简单,尽量少使用元件,把电
路设计得更合理,一般都要把逻辑表达式进
行化简。
逻辑表达式化简的方法
⑴ 合并项法
⑵ 吸收法
⑶ 配项法
⑷ 消去法
(参考教材中的例子)
⒌真值表、逻辑表达式和逻辑图
真值表是用来描述逻辑函数的值与它的逻辑变量
之间关系的表格。
逻辑表达式是用逻辑运算符把逻辑变量连接在一
起表示某种逻辑关系的表达式。如上面逻辑表达式化
简的例子。
逻辑图是根据逻辑表达式用线段把逻辑符号连接
起来,实现逻辑表达式功能的图。
对于一个函数来说,用来表述它的逻辑表达式并不是惟一
的,因而实现该函数的逻辑图也不是惟一的,只有它们的真
值表是惟一的。对于用不同逻辑表达式或不同逻辑图表示的
函数可以用真值表来证明它们所表示的逻辑关系是否相同。
3.1.2
基本逻辑电路
⒈逻辑电路和逻辑器件的概念
逻辑电路:实现逻辑函数的电路
逻辑器件:利用逻辑电路做成的计算机系统
中常用的器件
计算机中常用的逻辑器件分为组合逻辑器件
和时序逻辑器件两大类。
3.1.2 基本逻辑电路
组合逻辑器件:如果该器件的输出状态仅和当时的
输入状态有关,而与过去的输入状态无关,称为组合逻
辑器件,常用的组合逻辑器件有加法器、算术逻辑运算
单元、译码器、数据选择器等;
时序逻辑器件:如果逻辑器件的输出状态不但和当
时的输入状态有关,而且还和电路在此以前的输入状态
有关,称该器件为时序逻辑器件,时序电路内必须包含
能存储信息的记忆元件——触发器,它是构成时序逻辑电
路的基本电路。常用的时序逻辑器件有寄存器、计数器
等 。
3.1.2 基本逻辑电路
⒉基本逻辑电路
“与”、“或”、“非”三种基本逻辑运算
的电路是三种基本逻辑门:“与”门、“或”门、
“非”门(反相门)。把这三种基本逻辑门串联
组合起来,可形成实现 “与非”、“或非”、
“与或非”、“异或”、“同或”等功能的与非
门、或非门、与或非门、异或门、同或门(异或
非门)。
3.1.2 基本逻辑电路
各种逻辑门的图形符号
根据逻辑运算的规则:“先进行与操作,后反相”或“先
反相,后进行或操作”是等价的。
因此在数字电路中与非门和或非门常表示成下图所示的符号
正逻辑与负逻辑
正逻辑:指定逻辑电路中高电平为“1”,低电平为“0”,称为正逻辑。
负逻辑:指定逻辑电路中低电平为“1”,高电平为“0”,称为负逻辑。
比如有某个逻辑电路,它具有下图所示的功能表,那么对正逻辑而言,它是
个与非门,而对负逻辑来讲,它则是个或非门。也就是说,正逻辑的与非
门就是负逻辑的或非门。
3.2
组合逻辑电路
逻辑电路中输出状态只与当时的输
入状态有关,而与过去的输入状态无
关,这种逻辑电路称为组合逻辑电路。
本节介绍计算机中常用的组合逻辑电
路:加法器、算术逻辑单元、译码器
和数据选择器。
3.2
组合逻辑电路
3.2.1 加法器
3.2.2 算术逻辑单元
3.2.3 译码器
3.2.4 数据选择器
3.2.1
加法器
有两种加法部件:半加器和全加器。
⒈半加器:不考虑低位进位输入,两数码Ai、Bi相加的
电路,Ci为向高位的进位。
它的功能表、符号和逻辑图如下。
用一个异或门和一个与门就可以构成一
个半加器。其逻辑关系是:Si=Ai⊕Bi
Ci= Ai·Bi
⒉全加器
全加器是考虑低位进位输入Ci-1的加法器
其功能表、符号和逻辑图如下:
⒉全加器
从全加器的逻辑图中可以看出,一个全加器可
由一个或门、两个异或门和三个与门组成,也可由
两个半加器来形成。其逻辑关系为:
SI=AI⊕BI⊕CI-1
CI=AIBI+BICI-1+AICI-1
3.n位加法器
4位串行进位加法器的逻辑图如下。
n位串行进位加法器的加法时间较长,各位间
的进位是串行传送的,高位全加必须等低位进位
来到后才能进行,加法时间与位数有关。
3.2.2
算术逻辑单元
算术逻辑单元简称ALU,是一种功能较
强的组合逻辑电路,是计算机的运算器中
都不可缺少的重要组成部件。ALU能进行
多种算术运算和逻辑运算。ALU的基本逻
辑结构是超前进位加法器,它是通过改变
超前进位加法器的进位发生输出和进位传
送输出来获得多种运算能力的。有关ALU
的功能在第四章中再介绍。
3.2.3
译码器
译码器:是具有多个输入端和多个输出端的器件。
当输入端加上某一组合信号时,对应这一组合信号
的若干个输出端便有信号输出,也就是说,译码器
是把输入的一种格式的代码信号译成另一种格式的
信号,以实现代码所要求的操作的器件。根据使用
方式的不同,译码器又称编码器或换码器。
译码器也是计算机中不可缺少的器件,主要用在
控制器里的指令分析,存储器里的地址选择上。
3.2.3
译码器
1.译码电路的设计
以设计3-8译码电路为例。要求根据输
入的3位二进制数编码来选择8个输出端中
的哪一个有效。设计步骤如下:
⑴确定输入输出变量。设3个输入变量为
x2x1x0,8个输出变量为y7y6y5y4y3y2y1y0。
⑵给出真值表。真值表如下页所示。
⑶根据真值表画出逻辑电路图。
3-8译码器逻辑电路图
⒉典型的译码器芯片
74LS138是一种常用的3-8译码器。其引脚图(a)
和电路图(b)如下。
当G1端为
“0”或G2
端为“1”
时,译码器
此时输出的
组合信号为
全“1”。
3.2.4
数
据
数据选择器
选
择
器
MUX
(Multiplexor/Selector)又称多路开关,
是以“与或门”或“与或非门”为主
的电路。它的作用是在选择信号的作
用下,从多个输入通道中选择一个通
道的数据作为输出。
3.2.4
数据选择器
右图是4选1MUX的逻辑符号和功能表。有4
个数据输入端A、B、C、D,输出端为Z(或),
S1、S0为数据选择端。
该电路的逻辑函数为:
3.3
时序逻辑电路
逻辑电路中输出状态不但和当时的输
入状态有关,而且还与电路在此以前的
输入状态有关,这种逻辑电路称为时序
逻辑电路。时序逻辑电路中必须要有能
存储信息的记忆元件——触发器。本节
先介绍触发器,接着介绍计算机中常用
的时序逻辑电路——寄存器和计数器。
3.3
时序逻辑电路
3.3.1 触发器
3.3.2 寄存器
3.3.3 计数器
3.3.1
触发器
触发器(flip-flop)是一种能记忆机器以前
输入状态的存放二进制代码的单元电路,是
构成计算机硬件系统中各种时序逻辑电路的
基本电路。
分类:
按时钟控制方式来分,有电位触发、边
沿触发、主-从触发等方式的触发器;
按功能来分,有R-S型、D型、J-K型等
1.R-S基本触发器
由与非门组成的触发器,其置1和置0都要0电平触发,
当R=0,S=1时,Q为高电平,Q为低电平,称为0状态。
R=1, S=0时,Q为高电平, Q为低电平,称为1状态。
R=1, S=1时,触发器保持原状态不变。
R=0, S=0时,触发器状态不定。一般在正常工作时,不允许
出现这种状态。
2.R-S同步触发器
R-S同步触发器的翻转是在同步时钟(在CP
端输入)的作用下同步地进行的。可由R-S基
本触发器构成。
图中表示, R为置0端, S为置1端,CP为时钟脉
冲。Q(t)称为触发器的原态,Q(t+1)为触发器的次
态。
3.D触发器
D触发器又称数据触发器。主要用来存放数据。
D触发器的逻辑符号和真值表如下。
图中RD为置0端,SD为置1端(RDSD也称异步输入端),D
为同步输入端。触发器的状态由时钟脉冲到来时(前沿)D端
的状态决定,当D=1时,触发器置1,当D=0时,触发器置0。
这与触发器的原状态无关。
4.J-K触发器
其逻辑符号和真值表如下:
RD为置0端,SD为置1端,K为同步置0输入端,J为同步置1输入端。
当J=0,K=0时,CP脉冲不改变触发器的状态;
当J=0,K=1时,CP脉冲使触发器置0;
当J=1,K=0时,CP脉冲使触发器置1;
当J=1,K=1时,CP脉冲使触发器翻转。
3.3.2
寄存器
寄存器:就是计算机中用来暂时存放数据
代码的器件,它可以接受需要寄存的代码,
也可以将寄存的代码送出去。
寄存器是由触发器和一些控制门构成的,
一个触发器可以寄存一位二进制代码,如果
一个二进制数由n位组成,那么就需要有n个
触发器排列起来组成一个寄存器。
3.3.2
寄存器
下图是由正沿触发的D触发器组成的4位寄存器,
在CP脉冲正沿作用下,外部数据才能进入寄存器。
几种常见寄存器的组成结构
⒈串行寄存器
在串行寄存器中每来一个同步脉冲CK,
其内容就向QD方向移一位。
几种常见寄存器的组成结构
⒉并行寄存器:当时钟脉冲CP到来时,各触发
器的输入端的数据可以被锁定至输出端以备
输出的寄存器。
芯片74LS373是一种典型的并行寄存器,该芯片内含
8个独立的D型触发器,故称作8D锁存器。锁存即保存
数据不变的意思。
⒊移位寄存器
n位移位寄存器由n个D型触发器级联组成。电路一
般按以下顺序进行工作。
⑴复位:在输入端R0将负脉冲作用于D型触发器的
直接复位端RD,使触发器复位。触发器的输出
Q1=Q2=Q3=…=Qn=0
⑵置入数据:将输入的串行数据逐位送至DIN端,
在时钟脉冲CP的作用下,顺次输入到D型触发器
中,若DIN =1,则CP脉冲将使触发器FF1置位,
否则将使FF1复位,即输入数据通过CP的作用寄
存在D型触发器中。
⒊移位寄存器
⑶数据移位:每个上游D触发器的输出,都与下游相邻的D
触发器数据输入端D相接,因此,在移位的时钟脉冲CP的
作用下,寄存器中的数据将向下游的D触发器移动,移动
的位数与输入的时钟脉冲数一致。
⑷数据输出:D触发器的各输出端Q,直接将移位寄存器内
的数据并行输出。
上述工作过程是将串行的数据移位后并行输出。对于
二进制数左移一次,相当乘2。移位寄存器也可将并行数
据通过移位转换成串行输出。若将输入逻辑稍加变动,可
用于双向移位(左移或右移),即移位寄存器既可用于乘法
运算,又可用于除法运算。
3.3.3 计数器
计数器是指能对输入信号进行加或减运
算的装置,是由触发器和控制门所组成
的基本逻辑部件。
计数器在计算机中的主要用途是累计脉
冲数目、定时或作分频器使用。
3.3.3
计数器
计数器的型式:
1.按构成计数器的触发器的翻转次序分类,
可分为“异步计数器”和“同步计数器”。
2.按计数过程中计数器中数字的增减来分类,
可分为“加法计数器”、“减法计数器”
和“可逆计数器”(“加减计数器”)。
3.按计数器中数字的编码方式来分类,可分
为“二进制计数器”和“十进制计数器”。
以4位异步二进制加法计数器为例
来说明计数器的工作过程。
4位异步二进制加法计数器电路:
图示的D触发器是在时钟信号CP上升沿触发的,
用作计数时,每一级触发器的D和Q相连,
低位的Q与高位的CP端相连。
其工作过程如下
开始计数前,先在R0端输入负脉冲,使
Q3、Q2、Q1、Q0为0、0、0、0,第一个计数
信号CP到来时,Q0 翻转为“1”,而Q0 从
“1”变为“0”,为负跳变,不触发下一
级翻转。第二个计数信号CP到来时,Q0 又
翻转为“0”,而Q0从“0”变为“1”,为
正跳变,并触发下一级Q1翻转为“1”。依
次下去。当第十六个计数信号CP到来时,
Q3、Q2、Q1、Q0都变为0、0、0、0,同时向
3.4
总线缓冲器和总线控制器
3.4.1
总线缓冲器
3.4.2
总线控制器
3.4.1
总线缓冲器
在总线传输中起数据暂存缓冲的作用。
其典型芯片有74LS244和74LS245。
⑴74LS244 这是一种8位三态缓冲器,
可用来进行总线的单向传输控制。其电路图
和引脚图表示于图3-18中。
⑵74LS245 这是一种8位的双向传输的
三态缓冲器,可用来进行总线的双向传输控
制,所以也称总线收发器。其电路图和引脚
图表示于图3-19中。
图3-18 74LS244的电路和引脚图
图3-19
74LS245的电路和引脚图
3.4.2
总线控制器
总线控制器是进行总线数据传输控制的器件。8288总
线控制器是计算机系统中常用的总线控制器。
图3-20 8288总线控制器逻辑图
第
3 章
The End
结 束
谢谢!!