计算机硬件第2章计算机的工作原理与指令系统_第1页
计算机硬件第2章计算机的工作原理与指令系统_第2页
计算机硬件第2章计算机的工作原理与指令系统_第3页
计算机硬件第2章计算机的工作原理与指令系统_第4页
计算机硬件第2章计算机的工作原理与指令系统_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

二章计算机的工作原理与指令系统

本章主要内容作业题58页

2.1计算机系统的硬件结构1-5、7T2、14-16.

18-21.25-27.33-35

e;计算机的五大主要部件、总线结构。

普2.2CPU的组成与工作原理

CPU的组成、工作原理,数据表示、编码和运算,

机CPU控制,x86结构。

2.3内存的组成及读写原理

内存组成和基本结构,读写方式,内存与CPU的接口,

堆栈操作。

,其

2.4指令系统

菜指令系统的概念,寻址,x86指令系统简介。

砒2.5计算机的工作过程

CPU的基本工作过程

第1页

2.1计算机系统的硬件结构

2.1.1计算机的主要部件

计算机五大基本部件:

计CPU=运算器+控制器+寄存器

⑴运算器CentralProcessingUnit

执行全部的算术和逻辑MPU=一块IC的CPU

>(-运算。

极MicroProcessingUnit

⑵控制器

1

叔计算机的控制中心,控存储器

制和同步其他各个部件。输入设备外存储器—输出设

不⑶存储器

L

计算机的主要记忆部件,1

张以字节为单位的、线性编内存储器

址的二进制记忆部件。7k主

'机

就⑷输入、输出设备H控制

运算器控制器

通过接口电路连接到总士数据

线的计算机外部设备。CPU一地址或指令

第2页

2.1.2计算机的总线结构

总线(BUS):能为多个部件服务的公共信息传送线路,分时地

发送与接收各部件的信息。

总线信息:地址信息(地址总线)、数据信息(数据总线)和控制

信息(控制总线)

A地址总线(AB):单向,用于向内存、外部端口传输地址信息。

A数据总线(DB):双向,传输各种数据信息。

A控制总线(CB):传输控制信息。包括读写、中断等。

第3页

2.1.2计算机的总线结构

连接到总线上的设备主要有:

>CPU——一般情况下总线由CPU控制

>内部存储器一是完全被动的总线设备

»接口电路——所有外部设备必须通过接口电路连接到计算

机,不同的接口电路可能拥有不同的端口地址、中断等。

总线的特点——公共性、高速性、标准性。

单总线和多总线

多总线——计算机系统中同时存在多条总线。目前微机算

机中都是采用多总线结构。

>解决不同的部件速度不一致的问题。

>为存储器设计专用的数据通道。

>兼容符合不同的总线标准的设备。

第4页

2.2CPU的组成与工作原理

CPU主要包括运算器和控制器

时、一口口

1・运算命

ALU:ArithmeticandlogicalUnit

>(-

极⑴累加器A:N位的寄存器,

用于保存运算过程中的有

关数据。

技⑵缓存器R(暂时寄存器):

N位寄存器,接收来自累

.加器和数据总线的数据。

⑶加法器2:由N个全加器

构成。

,

就>加法器的两个输入:累加器A、缓存器R。

>加法器的输出:送入累加器A,也可以发送给数据总线。

>完成算术运算和逻辑运算

第5页

2.2.1中央处理器的基本构成

2.控制器

⑴程序计数器PC,又称指令

计数器、指令指针(IP)

极⑵指令寄存器IR

<,⑶指令译码器ID,又称操作

妙码译码器、指令功能分析

^解释器。

(4)地址形成部件

*⑸微操作信号发生器,确定

完成指令所需要的步骤及

完成每一步骤所需要的控

制信号组合。

(6)时序部件,产生定时信号

第6页

2.2.1中央处理器的基本构成

——CPU中的寄存器组

3.CPU中的寄存器组

甘按功能分有通用寄存器和专用寄存器

等⑴通用寄存器

极>存放原始数据和运算结果

^»作为变址寄存器、计数器、地址指针等。

^⑵专用寄存器

»程序计数器PC、指令指针IP

>指令寄存器IR等

<»状态标志寄存器,主要包括两部分内容:

■状态标志,如:进位标志、结果为零标志等,大多

砒数运算类指令的执行将会影响到这些标志位。

■控制标志,如:中断标志、陷阱标志等。

第7页

2.2.2计算机中数据信息的表示

数字化信息编码的概念:

在计算机内一切信息必须进行数字化编码(即用二进

制代码形式),才能在机内传送、存储和处理。

二进制:只有0和1,记数按“逢二进一”规律,第k位权是2k。

二进制十进制

bnbn-ibn-2……bo=dndn_>|dn_2d0-

nn

ZbX2kk

kZdkX10

k=0k=0

1011=1X23+0X22+1X21+1X2°325=3X102+2X101+5X10°

=1X8+0X4+1X2+1X1=3X100+2X10+5X1

第8页

2.2.2计算机中数据信息的表示

|——二进制

二进制:b7b6b5b4b3b2b0

*

一J654321

12J2222222°

1

!

■权值:

一1286432168421

二进制小数:小数点后第k位权值位2-k=l/2k。

/一

f

1

1

1

一二进制:0.B_ib-2>3熊

,-3-4

»2^2-222

/

\

o

l

-1/21/41/81/16

-

I

f

i

l权值:0.50.250.1250.0625

l

,1101.1001(二进制)=1X8+1X4+0X2+1X1+1X0.5

i

/

k

\

c

^

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

=13,5625(十进制)

第9页

2.2.2计算机中数据信息的表示

-原码、反码和补码

原码、反码和补码

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

2进制。

[125D]=01111101

机hX

博[-125口]原=11111101

.\1符号位』1L数值位

8位原码表示数的范围:-127~+127,且00000000和

遣10000000含义相同。

反码:正数的反码和原码相同,负数的反码为其原码将数

值位求反,即0变1,1变反

[125%=01111101

[-125口反=10000010

符号位二二数值位

第10页

2.2.2计算机中数据信息的表示

——原码、反码和补码

8位反码表示数的范围:-127〜+127,且00000000和

11111111含义相同。

补码:正数的补码和原码相同,负数的补码为其原码将数值

位求反+1。

<,[125D]补=01111101

妙[-125D]^=10000011

^符号位J空数值位

8位补码表示数的范围:-128〜+127,最主要的优点是在

*加、减运算时不需要判断符号位,所以CPU在进行有符号数

的加、减运算时用的是补码。

萩例:分别求出十进制数78D和-120D的原码、反码和补码。

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

第11页

2.2.2计算机中数据信息的表示

——原码、反码和补码

/>

V27821120

4X

239…0:260...0A

H7

12U...1230...0

-

2_9...1215...0

78D=120D=

24...1>27...1>

10011101111000

722...023...1

、21...021...1

_0...1J

和・的原码:

-78D120D

H/

l[78D[=01001110[-1200],,=11111000

^-78D和」20D法反码:八

zl

\v[78D]反=01001110[-120D]^=10000111

78D和-120D的补码:

[78D],=01001110[・120D]补=10001000

h第12页

2.2.2计算机中数据信息的表示

——原码、反码和补码

8位(字节数)有符号数的原码、反码和补码

十进制原码反码补码

+127011111110111111101111111

+126011111100111111001111110

■■■•••■■■■■■

+2000000100000001000000010

+1000000010000000100000001

0000000000000000000000000

-1100000011111111011111111

-2100000101111110111111110

■■■•••■■■■■■

-126111111101000000110000010

-127111111111000000010000001

-12810000000

一般计算机使用补码表示有符号数。

第13页

2.2.2计算机中数据信息的表示

——原码、反码和补码

*「

(0100)4/4/4

仔-41-31-41100

可酷

祓5/5/5

-3/-4A51011

鬼(oHo)

(W10)6/6/6

*-2/-5/-6(fool)

(W00)

萩7/7/7

-1/-6/-7

-0A7/-8

原码/反码/补码

第14页

2.2.2计算机中数据信息的表示

——原码、反码和补码

三种机器数的比较

⑴对于正数它们相等,而对于负数各有不同的表示。

⑵补码和反码的符号位可作为数值位的一部分看待,

但原码的符号位不允许和数值位同等看待。

7

,⑶原码和反码各有两种零的表示法,而补码具有唯一

-的一种零的表示法。

(4)原码、反码表示的正、负数范围相对零来说是对称

7的,但补码负数表示范围较正数表示范围宽。

1

一补码的运算

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

7

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

第15页

2.2.2计算机中数据信息的表示

——原码、反码和补码

符号扩展:如将8位转换为16位

甘>原码的符号扩展

普正数:00101001-0000000000101001

极负数:10101001―1000000000101001

M>反码的符号扩展

处正数:00101001-0000000000101001

祓负数:10101001一1111111110101001

>补码的符号扩展

正数:00101001-0000000000101001

负数:10101001―1111111110101001

80X86有符号扩展的专用指令。

第16页

2.2.2计算生中数国停息的表示

----定点表示法

机器数的定点与浮点表示

甘(1)定点表示法

普所有数据的小数点位置固定不变。小数点”「在机

器中的位置是隐含约定的,并不需要真正地占据一个二

M进制位。一般有两种:

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

»纯小数(小数点在最左边)

纯小数小数点位置纯整数小数点位置

符号位N位数值位

第17页

2.2.2计算机中数据信息的表示

——点浮表示法

(2)浮点表示法

-5678.1234=-0.56781234X10+4

0.0056781234=+0.56781234X10-2

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

N=MX10E记为N=ME

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

N=MX2E

式中:E和M都是带符号的定点数,E为阶码部分,M为尾

数部分。在大多数计算机中,尾数为纯小数,阶码为纯整数。

第18页

2.2.2计算机中数据信息的表示

——点浮表示法

^*|1位^^左位m*1位Fn位

^esemsm

阶码部分EY------尾数部分M------3

,»阶码部分的符号位为es,阶码的大小反映了在数N中小数

点的实际位置;尾数部分的符号位为ms,它是整个浮点数

*的符号位,表示了该浮点数的正负。

技如E和M为四位、原码表示:

而[-10.1]浮点=00101101[1.01]浮点=00010101

曲浮点表示法与定点表示法比较,在相同字长下前者所能

表示数的范围要大得多,使用比较方便。

第19页

2.2.2计算机中数据信息的表示

——点浮表示法例

外如:-123.456(D)

0.456X2=0.912

骞123(D)=1111011(B)

.912X2=1.824

极.456(D)01110100101(B)\.824X2=1.648

.648X2=1.296

碱-123.456(D)«

.296X2=0.592

仔-1111011.01110100101(B)

.592X2=1.184

=-0.1111011011101001X2+7

祓.184X2=0.368

#如果阶码部分为8为,尾数部分为16.368X2=0.736

位,两部分均为原码时:.736X2=1.472

*.472X2=0.994

阶码:00000111.994X2=1.888

萩尾数:1111101101110100

-123.456的计算机原码表示为:

000001111111101101110100

第20页

2.2.2计算机中数据信息的表示

——十进制数的表示

4.十进制数的表示

/

/

UBCD码:二进制编码的十进制数(Binary-Code

-

IDecimal),一般用四位二进制代码来表示一位十

进制数,使用最广泛的是8421码,通常称其为标

准码(码),在微处理器中干脆

J/-BCDNBCD80X86

n»就称之为BCD码。

8421码的主要特点:

>简单直观。从高到低各位的权分别为8、4、2、1。

«~/

n->不允许出现1010〜1111。这六个代码在8421码中

f是非法码。

/

i

^

\

第21页

2.2.2计算机中数据信息的表示

——非数值数据的表示

5.非数值数据的表示

通常是指字符、字符串、图形符号和汉字等各种数据,

它们通常不用来表示数值的大小,因此又称为非数值数据,

一般情况下不对它们进行算术运算。

<,⑴字符表示方法——ASCH码

妙常见的ASCII码用七位二进制表示一个字符,简称为

码。一个字节右边的七位表示不同的字符代码,而

祓ASCH-7

★最左边一位可以作奇偶校验位,或用于西文和汉字的区分。

A控制码:00H〜1FH

*A数字:30H-39H

萩A大写字母:41H-5AH

A小写字母:61H-7AH

A其他代码为符号

第22页

2.2.2计算机中数据信息的表示

——ASCII码表

高三位

低四位

000001010011100101110111

0000SP0@Pp

0001*!1Aa

骞Qq

00102BRbr

极0011#3CScs

0100$4DTdt

0101%5EUeu

仔0110&6FVfV

6

01117GWgw

1000(8HXhX

#1001)9IY1y

**•

1010•JZJz

**

1011+KIk(

1100<L\11

1101-=M1m)

1110•>NAn

1111/9OoDEL

第23页

2.2.2计算机中数据信息的表示

——汉字编码

⑵汉字表示方法

>汉字编码的概入

GB码为例

国标码:行、列各94(0-93),用先行后列的双7位二进制数

表示,即两个字节的最高位为0。

区位码:用二进制国标码表示不很方便,因此汉字也可用

十进制区位码表示。区(行)、位(列)各94(1-94),用先区后

位的双2位十进制数表示,不足两位前面补0。

机内码:是计算机内部实际使用的表示汉字的代码,在微

机中多用两字节(最高位为1)代码作为机内码。

输入编码:主要有形码(五笔、郑码)、音码(拼音)等。

汉字字模库:有点阵和矢量编码两类。

第24页

2.2.2计算机中数据信息的表示

——汉字编码

常用汉字编码

>GB2312-80

全称是GB2312-80《信息交换用汉字编码字符集基本集》,

1980年发布,是中文信息处理的国家标准,中文Windows3.2

就是以GB2312-80为基本汉字编码。

GB2312-80码共收录6763个简体汉字、682个符号,其中

'妙

汉字部分:一级字3755,以拼音排序,二级字3008,以偏旁排

技序。

不>GBK

GBK编码是中国大陆制订的中文编码扩展国家标准。该编

码标准兼容GB2312,Windows95/98简体中文版的字库表层编

越码就米用的是GBK。

GBK收录汉字21003个(包括日韩文中的汉字)、符号883个,

简、繁体字融于一库。双字节编码,在码位上和GB2312兼容。

第25页

2.2.2计算机中数据信息的表示

——汉字编码

>GB12345-90

《信息交换用汉字编码字符集第一辅助集》,目的在于

规范必须使用繁体字的各种场合,以及古籍整理等。

>BIG5

是目前台湾、香港地区普遍使用的一种繁体汉字的编码

标准,包括440个符号,一级汉字5401个、二级汉字7652

个,共计13060个汉字。

>Unicode

国际标准组织针对各国文字、符号进行统一性编码。目

前Unicode是采用16位编码体系,目前版本V2.0于1996公

布,内容包含符号6811个,汉字20902个,韩文拼音11172

个,造字区6400个,保留20249个,共计65534个。

第26页

2.2.2计算机中数据信息的表示

——计算机中的数据类型

微机系统中的数据类型举例

>无符号二进制数

极字节:8位二进制数。

字:16位,内存中存放在2个相邻字节。

.

<

妙双字:32位,内存中存放在2个相邻字(4个相邻字节)。

祓>带符号的二进制定点整数

;字节:补码表示的8位带符号数。

字整数:补码表示的16位带符号数,双字节。

^

双字整数:补码表示的32位带符号数,四字节。

*

萩四字整数:补码表示的64位带符号数,八字节。

所有带符号的数都以补码形式表示,符号位在首位。CPU

支持前3种,FPU支持后3种。

第27页

2.2.2计算机中数据信息的表示

—计算机中的数据类型

>浮点数

计由FPU支持,数据格式基于IEEE754标准(书p22图2.7

*「及表2.4)。支持浮点运算的浮点部件(FPU)。X86CPU对应

的浮点处理器一x87,80486以后嵌入于CPU内部。

符合IEEE754标准的浮点数有32位(单精度)、64位(双

精度)和80位(扩展精度)三种。

mQEm

仔/号/码X数

*如32位单精度浮点数

越ms:符号位,一位。

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

m:尾数,23位。原码表示的纯小数。

第28页

2.2.2计算机中数据信息的表示

—计算机中的数据类型

>BCD数

BCD数分成压缩的BCD数和非压缩的BCD数(UBCD数)

两种。CPU支持两种BCD数,而FPU只支持压缩的BCD数。

■压缩的BCD数是每个字节包含两位十进制数,其低位在

0-3位上,高位在4-7位上;

■而非压缩的BCD数每个字节仅包含一位十进制数,在0-

3位上,高4位无效。

>字符串——连续存放的一组数据

一般为字节串或字串,用于存放文字信息。CPU一般具

有处理串数据的专用指令,如传送、比较、查找等。

>指针数据

存放地址或地址的一部分,可以是8位、16位、32位等,

包括近指针和远指针两种。

第29页

2.2.3算术运算与逻辑运算的实现

——二进制加减运算

二进制加减运算

补码加减法运算是最简单的

加法:[X+Y]补=[X]补+[Y]补

减法:[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补

已知[Y]补求[-Y].的方法:将[Y],连同符号位一起求反,

末尾加“1"。[—Y]在称为[Y]补的机器负数。

中广,TR

补码加减运算规则如下:

①参加运算的两个操作数均用补码表示;

②按无符号二进制规则运算,符号位作为数的一部分

参加运算;运算结果为补码。

③若做加法,则两数直接相加,若做减法,则将被减

数与减数的机器负数相加;

第30页

2.2.3算术运算与逻辑运算的实现

——补码加减运算例

例:无符号二进制数X-00011101¥=10110100

计求X+Y

00011101

算X+Y=00011101+10110100=11010001+10110100

机2918020911010001

,碱

例:有符号二进制数[X]补二00011101[Y]补二10H0100

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

00011101

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

+10110100

*二00011101+10110100二11010001-----11010001

29-76-47

萩[x-Y]补=[X]补+[-Y]补00011101

=00011101+01001100二01101001〜+0100110°

29[-76]补=76105701101001

第31页

2.2.3算术运算与逻辑运算的实现

——加减运算溢出

溢出的产生和判断

所得结果超过机器额定位数,这种情况被称为溢出。

有符号数

温馨提示

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

评论

0/150

提交评论