-计算机系统组成及工作原理_第1页
-计算机系统组成及工作原理_第2页
-计算机系统组成及工作原理_第3页
-计算机系统组成及工作原理_第4页
-计算机系统组成及工作原理_第5页
已阅读5页,还剩52页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第2章计算机系统组成及工作原理

二进制数与信息表示二进制数据表示——二进制表示、与十进制、十六进制的转换非数值型数据——ASCII码于汉字编码定点与浮点的二进制表示补码——规则、特点、运算逻辑电路逻辑电路的基础知识逻辑“门”电路组合逻辑电路——加法器、编码器、译码器触发器基本时序电路——寄存器、计数器计算机的硬件组成CPU组成与工作原理指令系统、寻址方式的概念CPU的工作过程举例22.1二进制数与信息表示——关于二进制在计算机内一切信息必须进行数字化编码(即用二进制代码形式),才能在机内传送、存储和处理。二进制:只有0和1,按“逢二进一”规律,第k位权是2k。

二进制十进制

bn-1bn-2……b0=

dn-1dn-2…...d0=

1011=1X23+0X22+1X21+1X20

305=3X102+0X101+5X100

=1X8+0X4+1X2+1X1=3X100+0X10+5X1输入电路10110101计算机10100010输出电路ΣbkX2kk=0n-1ΣdkX10kk=0n-132.1二进制数与信息表示——二进制变换二进制整数:第n位的权是2n。

二进制:b7 b6 b5 b4 b3 b2 b1 b0

2726 25 24 23 22 21 20

权值:128 64 32 16 8 4 2 1二进制小数:小数点后第n位权值位2-n=1/2n。

二进制:0. b-1 b-2 b-3 b-4

2-1 2-2 2-3 2-4

权值: 1/2 1/4 1/8 1/16

0.5 0.25 0.125 0.06251101.1001(二进制)=1X8+1X4+0X2+1X1+1X0.5

+0X0.25+0X0.125+1X0.0625

=13.5625(十进制)以上规律可以推广到K进制,整数部分第n位的权值是Kn,小数部分第n位的权是K-n。42.1二进制数与信息表示——二进制变换十进制―→二进制

整数部分连续除2取余数,小数部分连续乘2取整数。123.456(十进制)≈1111011.01110100101(二进制)

2|123

0.456X2=0.912

2|61…1 .912X2=1.824

2|30…1 .824X2=1.648

2|15…0 .648X2=1.296

2|7…1 .296X2=0.592

2|3…1 .592X2=1.184

2|1…1 .184X2=0.368

0…1 .368X2=0.736

123=64+32+16+8 .736X2=1.472

+2+1 .472X2=0.994

.994X2=1.888八进制和十六进制:八进制——每3位二进制对应一位八进制,十六进制——每4位二进制对应一位十六进制52.1二进制数与信息表示——ASCII码ASCII码(AmericanStandardCodeforInformationInterchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO646标准。内容包括:控制码:00H~1FH

数字:30H~39H

大写字母:41H~5AH

小写字母:61H~7AH

其他代码为符号62.1二进制数与信息表示——汉字编码的概念输入编码:通过西文键盘进行汉字输入的编码规则,如拼音、双拼、五笔字型等。汉字内码:汉字文本信息在计算机中进行存储和处理的二进制编码规则,如GB码(国标码)、GBK码(扩展国标码)、Big5(台湾、香港的繁体字编码)等。汉字字库:描述汉字字形的二进制编码规则,有点阵字库和矢量字库两类。汉字输入汉字处理存储汉字输出输入编码汉字内码汉字字库显示打印汉字内码输入设备72.1二进制数与信息表示——常见汉字编码

GB2312-80

全称是GB2312-80《信息交换用汉字编码字符集基本集》,1980年发布,是中文信息处理的国家标准,中文Windows3.2就是以GB2312-80为基本汉字编码。GB2312-80码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序,二级字3008,以偏旁排序。

GB12345-90

《信息交换用汉字编码字符集第一辅助集》,目的在于规范必须使用繁体字的各种场合,以及古籍整理等。

BIG5

是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、二级汉字7652个,共计13060个汉字。82.1二进制数与信息表示——常见汉字编码ISO10646

国际标准化组织制定的,初始的版本包含GB3212-80、GB12345、Big5以及日、韩文字汉字部分的国际标准。

ISO10646从3.0版开始扩展4字节编码,实现字符编码空间150万个。实现中、日、韩、蒙、藏、彝、维等多文种并存。

Unicode是和ISO10646相近的另一个工业标准。

ISO10646-1:2000=Unicode3.0

ISO10646-2:2003=Unicode4.0GBK

GBK编码是中文编码扩展国家规范。兼容GB2312,GBK收录汉字21003个(包括日韩文中的汉字)、符号883个,简、繁体字融于一库。GB2312GBKUnicode92.1二进制数与信息表示——定点与浮点定点表示法所有数据的小数点位置固定不变。小数点“.”在机器中的位置是隐含约定的,并不需要真正地占据一个二进制位。一般有两种:

纯整数(小数点在最右边)

纯小数(小数点在最左边)X1XSX2XN-1XN符号位N位数值位纯小数小数点位置纯整数小数点位置102.1二进制数与信息表示——定点与浮点

浮点表示法

小数的规格化:

-5678.1234=-0.56781234×

10+4

0.0056781234=+0.56781234×10-2

任何一个数十进制数N的浮点表示形式为:

N=M×10E

记为N=ME

任何一个二进制数N的浮点表示形式为:

N=M×2E

式中:E和M都是带符号的定点数,E为阶码部分,M为尾数部分。在计算机中,尾数为纯小数,阶码为纯整数。

112.1二进制数与信息表示——定点与浮点IEEE754标准浮点数

CPU的浮点处理指令支持的浮点数据格式基于IEEE754标准,支持浮点运算的浮点部件包括早期的浮点处理器(FPU:intel8087/287/387)和现代的具备浮点处理指令的CPU。

符合IEEE754标准的浮点数有32位(单精度)、64位(双精度)和80位(扩展精度)三种。如32位单精度浮点数

ms:符号位,一位。

E:阶码,8位。移码(偏移量127)表示的指数部分。

m:尾数,23位。原码表示的纯小数。msEm符号阶码尾数12

一个机器浮点数由阶码和尾数及其符号位组成(尾数:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度;阶码:用整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围)2.浮点数的表示法

在计算机中存放一个完整的浮点数,应该包括阶码、阶符、尾数以及尾数的符号(数符)共4部分,即:ES

E1E2……Em

MS

M1M2……Mn阶符阶码数符尾数13

一般按照IEEE754标准,采用32位浮点数和64位浮点数两种标准格式(1)32位浮点数标准格式在32位浮点数中,约定基数R=2,S是尾数的符号位,即浮点数的符号位,它占一位,安排在最高位,0表示正数,1表示负数,尾数M占23位,放在低位部分,当然是纯小数。E是阶码,占8位,阶码采用了移码方法来表示,将阶码上移127,即E=e+127

14例【1-1】X=2011×0.1011101

=200000011×0.10111010000000000000000

=200000010×1.01110100000000000000000

于是求得数X的32位浮点数格式:

S=0,

E=e+127=00000010+01111111=10000001,

M=01110100000000000000000,M值左移一位根据规格化32位浮点数的表示形式,求数X的真值为:

X=(-1)S×(1.M)×2E-127

(2.5)15

(2)64位浮点数格式

它与32位浮点数的组成原理相同,约定基数R=2,尾数符号位S占一位,置于最高位,规格化的尾数M占52位,最左边一位1已被隐藏,阶码e上移1023,即E=e+1023,移码形式的阶码占共计11位反过来,已知一个规格化的64位浮点数,求浮点数X的真值可表示为:

X=(-1)S×(1.M)×2E-1023(2.6)

16同一个浮点数的表示方法不是唯一的,如:

(1.75)10=1.11×20

(IEEE规格化表示)

=0.111×21

(传统规格化表示)

=0.0111×22

=0.00111×23

17

为提高数据的表示精度,当尾数的值不为0时,其绝对值应≥0.5,即尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示当浮点数的尾数为0,不论其阶码为何值,或者当阶码的值遇到比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零18[例1]若浮点数x的二进制存储格式为(41360000)16,求其32位浮点数的十进制值解:将16进制数展开后,可得二进制数格式为:

01000001001101100000000000000000指数e=阶码-127=10000010-01111111=00000011=(3)10

包括隐藏位1位的尾数

1.M=1.01101100000000000000000

=1.011011于是有:x=(-1)S

1.M2e

=+(1.011011)23=+1011.011=(11.375)S阶码(8位)尾数(23位)19[例2]将十进制数数20.59375转换成32位浮点数的二进制格式来存储[解:]

首先分别将整数和分数部分转换成二进制数:

20.59375=10100.10011然后移动小数点,使其在第1,2位之间

10100.10011=1.010010011×24

e=4于是得到:S=0,E=4+127=131,M=010010011最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16

202.1二进制数与信息表示——原码、反码和补码

原码:二进制的最高位为符号位,0正1负,其余各位同无符号二进制。

[125D]原

=

01111101

[-125D]原

=

1

1111101

符号位

━┛┗━数值位

8位原码表示数的范围:-127~+127,且00000000和10000000含义相同。反码:正数的反码和原码相同,负数的反码为其原码将数值位求反,即0变1,1变0。

[125D]反

=

01111101

[-125D]反

=

1

0000010

符号位

━┛┗━数值位

8位反码表示数的范围:-127~+127,且00000000和11111111含义相同。212.1二进制数与信息表示——原码、反码和补码

补码:正数的补码和原码相同,负数的补码为其原码将数值位求反+1。

[125D]补=

01111101

[-125D]补=

1

0000011

符号位

━┛┗━数值位

8位补码表示数的范围:-128~+127,最主要的优点是在加、减运算时不需要判断符号位,所以CPU在进行有符号数的加、减运算时用的是补码。例:分别求出十进制数78D和-120D的8位原码、反码和补码。

将78D和120D分别转换成二进制:

78D=64+8+4+2=1001110B

120D=64+32+16+8=1111000B222.1二进制数与信息表示——原码、反码和补码78D和-120D的原码:

[78D]原

=01001110 [-120D]原

=1111100078D和-120D的反码:

[78D]反

=01001110 [-120D]反

=1000011178D和-120D的补码:

[78D]补

=01001110 [-120D]补

=100010002|120

2|60…02|30…02|15…02|7…12|3…12|1…10…1

120D=11110002|78

2|39…02|19…1

2|9…12|4…1

2|2…0

2|1…00…1

78D=

1001110232.1二进制数与信息表示——原码、反码和补码8位(字节数)有符号数的原码、反码和补码十进制+127…0-1+2+1-2…-126-127-128+126原码01111111…0000000010000001000000100000000110000010…1111111011111111

01111110反码01111111…0000000011111110000000100000000111111101…1000000110000000

01111110补码01111111…0000000011111111000000100000000111111110…10000010100000011000000001111110+27-1~-(27-1)

+27-1~-(27-1)+27-1~-27

242.1二进制数与信息表示——补码的运算

补码的运算法则

[X]补+[Y]补=[X+Y]补

[X]补-[Y]补=[X-Y]补=[X]补+[-Y]补

已知[Y]补求[-Y]补的方法:将[Y]补连同符号位一起求反,末尾加1。[-Y]补称为[Y]补的机器负数。补码加减运算规则如下:①参加运算的两个操作数均用补码表示;②按无符号二进制规则运算,符号位作为数的一部分参加运算,运算结果为补码。③若做加法,则两数直接相加,若做减法,则将被减数与减数的机器负数相加;252.1二进制数与信息表示——补码的运算举例例:无符号二进制数X=00011101、Y=10110100

求X+Y

X+Y=00011101+10110100=11010001

29180209例:有符号二进制数[X]补=00011101[Y]补=10110100

求[X+Y]补和[X-Y]补

[X+Y]补=[X]补+[Y]补

=00011101+10110100=11010001

29-76-47

[X-Y]补=[X]补+[-Y]补

=00011101+01001100=01101001

29[-76]补=7610500011101+101101001101000100011101+010011000110100100011101+1011010011010001262.1二进制数与信息表示——进位和溢出

进位和溢出的产生

运算所得结果超过机器字长额定位数。

无符号数运算——进位/借位

有符号数运算——溢出无符号数运算的进位/借位

8位无符号数相加结果超过255,产生进位;

8位无符号数相减,被减数小于减数,产生借位。

X86CPU中的进位/借位标志(CF)可以标记进位或借位。如:X=01100110,Y=11100010,求CPU进行加、减的运算结果。

X+Y=01100110+11100010=01001000产生进位

X-

Y=01100110

-11100010=10000100产生借位01100110+111000101←010010001→01100110-11100010

10000100272.1二进制数与信息表示——进位和溢出

有符号数运算的溢出

当有符号数运算的结果超出CPU字长则产生溢出。

x86CPU中根据溢出标志(OF)来判断有符号数运算溢出。

二进制运算溢出和进位/借位没有必然联系。溢出的判断

-直观判断:

两个符号相同的数相加,和的符号相反——溢出;

两个符号不同的数相减,差的符号和减数相同——溢出

-双符号位判断法:将原符号位扩充为两位,两个符号位作为数的一部分参加运算。结果符号位为00、11则无溢出,符号位为01、10则结果溢出。

111100110+111100010

111001000

110101110-001001010

101100100282.1二进制数与信息表示——补码运算例010111011000110093140无符号数93-116有符号数11101001233-2311010001209(借位)-47(溢出)XYX+YX-Y001011114747(溢出)Y-X

01011101-100011001→11010001

01011101+1000110011101001

10001100-0101110100101111例:二进制数X=01011101Y=10001100,将其分别作为无符号数和有符号数进行加、减运算。

X+YX-YY-X292.2逻辑电路——基础知识逻辑电路中的0和1

逻辑电路的信号电平只有两个稳定状态,分别代表逻辑0和1。一般采用正逻辑,即高电平为1,低电平为0。逻辑电压:

逻辑电路的电压多为5V和3V,早期的逻辑器件为5V,新型的逻辑器件多为

3V,低电压逻辑可

以降低功耗。最新

的CPU和存储器的

电压都低于3V。基本逻辑关系

“与”——∧(·)

“或”——∨(+)

“非”—— ̄302.2逻辑电路——基础知识逻辑关系描述

简单的逻辑关系可以通过逻辑表达式、逻辑电路图或真值表描述。ABX

X=A·B+A·BABX000011101110逻辑表达式逻辑电路图真值表312.2逻辑电路——逻辑门电路各种门电路X=A+B双输入端或门X=A·B双输入端与门

_X=A非门ABXABXAX

_X=A·B双输入端与非门

_X=A+B双输入端或非门ABXABX

__X=A+B双反向输入端或门ABX322.2逻辑电路——逻辑门电路实现由二极管构成的门电路+5VABXABX由三极管构成的非门ABXABX+5VAXA+5VXAX332.2逻辑电路——组合逻辑组合逻辑电路

有基本门电路组合而成的、无记忆逻辑电路。m个输入、n个输出的组合逻辑电路可以表示为以下电路。组合逻辑电路I0I1I2Im-1O0O1O2On-1输出的逻辑表达式:

Oi=F(I0,I1,I2,…,Im-1)i=0,1,2,…,n-1

一位加法器

A

+ B

C SABS000011101110C0001

ABSC342.2逻辑电路——加法器全加器

A

B

+ Ci

Co SABS000001011010Co0001Ci010110110011011101110101∑

ABCiSCo多位加法器:由k个全加器级联而成的k位加法器SoS1S2Sk-1∑

A0B0∑

A1B1Co∑

A2B2C1∑

Ak-1Bk-1C2……Ck-1352.2逻辑电路——编码器和译码器编码器——根据2N个输入信号,输出是有效输入端的编号。

译码器——N个输入端,2N个输出只有一个有效,该输出端的序号是N。译码器A2A100000101A00101101011110101Y700000001Y600000010Y500000100Y400001000Y300010000Y200100000Y101000000Y010000000A2A1A0Y7Yo译码器362.2逻辑电路——触发器触发器:最基本逻辑记忆单元

具有两个稳定状态,用来表示逻辑状态的0和1

可通过不同的外部信号改变状态,输入信号消失以后,能将获得的新状态保存下来

基本RS触发器SQ—QRSRQ00X01110011Q注释不定置1置0不变SRQ—QRS触发器电路图RS触发器时序图RS触发器功能表372.2逻辑电路——同步RS触发器同步RS触发器

同步时序电路——在同步时序脉冲的驱动下工作的时序电路。同步RS触发器——只有在同步时序脉冲的上升沿改变状态。SQ—QRCPSRQ—QCPSRQn+100Qn01010111X注释不变置0置1不定SRSCPRQ_Q

_Qn+1=S+R·Qn(S·R≠1)同步RS触发器功能表382.2逻辑电路——JK、D触发器其它常见触发器

常见的触发器除RS触发器外,还有JK触发器、D触发器等。JKJCPKQ_QJKQn+100Qn01010111—Qn注释不变置0置1翻转DQn+10011JK触发器功能表D触发器功能表

_

_

_Qn+1=K·Qn+J·K+J·QnQn+1=DDCPQ_QD

392.2逻辑电路——计数器计数器:对输入的时钟脉冲(CP)的个数进行计数,来一个CP脉冲计数器状态变化一次。0100100001100101011111001010101110011110000000101111110100010011加1计数器减1计数器Q0Q1Q2Q3CP模16二进制计数器402.2逻辑电路——计数器由D触发器构成的模16减1计数器DQ

_

QDQ

_

QDQ

_

QDQ

_

QQ0Q1Q2Q3CPCPQ0Q1Q2Q31111111011011100101110101001100001110110010101000011001000010000思考题:将上述电路改成加1计数器412.2逻辑电路——寄存器寄存器:存储二进制数的时序电路组件,它具有接收和寄存二进制数码的逻辑功能。

CPDQD0Q0DQD1Q1DQD2Q2DQD3Q3DQD4Q4DQD5Q5DQD6Q6DQD7Q7DQ

_

QQDCP寄存器D0-D7Q0-Q7CP422.2逻辑电路——移位寄存器并行输入串行输出移位寄存器:

D0~D7:并行输入,DIN:串行输入,QOUT:串行输出,CPP:并行输入控制脉冲。串行输入行并输出移位寄存器D6D5D7D4D2D1D3D0DINQOUTCPPCPD6D5D7D4D2D1D3D0DINCP432.3计算机的硬件组成——冯·诺依曼体系结构

计算机的组成部分

①运算器——进行运算的部件;

②存储器——记忆原始数据、运算程序及运算结果的部件;

③控制器——发出各种控制信息,以便使计算机各部件协调工作的部件;

④输入、输出设备——将原始数据及运算程序输入计算机,并将结果及其它信息输出的部件。442.3计算机的硬件组成——CPU地址寄存器MR数据寄存器DR指令寄存器IR译码器通用寄存器1通用寄存器2通用寄存器n……程序计数器PC堆栈指针SP时序产生器暂存器ALU累加器标志寄存器操作控制器控制总线地址总线数据总线ALU(ArithmeticandLogicUnit):主要完成对二进制数据的算术运算、逻辑运算和各种移位操作。PC(ProgramCounter):取指令的地址,存放下面要执行的指令的地址,取指令后自动加1。用来保存参加运算的操作数和运算的中间结果。

根据二进制的机器指令产生完成指令功能的微操作。

根据译码器产生的微操作,产生控制各个部件的信号,控制各个部件完成指令的功能。产生时基信号为各功能部件提供定时基准。

452.3计算机的硬件组成——指令系统指令系统:是一个CPU所能够处理的全部指令的集合,是一个CPU的根本属性。指令系统决定了一个CPU能够运行什么样的程序。指令的构成:指令由操作码字段(OP,指明操作功能)和地址码字段(A,或称操作数字段,指明操作数)两部分构成。OPA操作码:指令的操作码字段表明了所执行的操作。指令系统中的每一条指令都有一个唯一确定的操作码。地址码结构:运算的操作数和运算结果存放的地址。根据指令功能的不同,地址码字段可以含有单地址、双地址或三地址结构,少量指令无地址码字段。462.3计算机的硬件组成——8086指令举例例如:

Intel8086CPU加法指令

ADDAX,BX

将寄存器AX和BX相加,和送到AX寄存器。

(AX)+(BX)→(AX)

该指令由两个字节构成:01D8H。

01D8H=0000000111011000

其中

000000=ADD,指令操作码

0=源为寄存器,指明源操作数

1=字(16位)运算,区分字节、字运算

11=寄存器方式,指明操作数类型

011=BX,寄存器编号

000=AX,寄存器编号472.3计算机的硬件组成——指令分类CPU指令分为以下几类数据传送类指令

实现寄存器与寄存器之间、寄存器与存储器之间的数据传送。算术、逻辑运算类指令

实现加、减、乘、除等基本算术运算,与、或、非、异或等基本逻辑运算。

带有浮点部件的CPU还具有浮点运算指令。程序控制类指令

转移控制指令、循环控制指令、子程序指令、中断控制指令等。输入/输出类指令

实现主机与外部设备之间的信息交换。482.3计算机的硬件组成——指令的寻址方式寻址方式——指令获得操作数的方式,一般有以下几种:

立即寻址:指令中包含操作数

ADDAX,1000D (AX)+1000D→(AX)寄存器寻址:操作数在寄存器中,指令中包含存放操作数的寄存器的编号

ADDAX,BX (AX)+(BX)→(AX)直接寻址:操作数在存储器中,指令中包含存储器地址

ADDAX,[1000H] (AX)+(1000H)→(AX)间接寻址:操作数在存储器中,其地址在某个寄存器中,指令中包含该寄存器的编号

ADDAX,[BX] (AX)+((BX))→(AX)492.3计算机的硬件组成——CISC→RISCCSIC(ComplexInstructionSetComputer)——复杂指令系统计算机

RISC(ReducedInstructionSetComputer)——精简指令系统计算机CSIC的特点①指令系统多达几百条指令,具有多种复杂的寻址方式;②由于复杂指令操作,可能降低系统的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论