Presentation is loading. Please wait.

Presentation is loading. Please wait.

微型计算机系统.

Similar presentations


Presentation on theme: "微型计算机系统."— Presentation transcript:

1 微型计算机系统

2 本课程的任务、目标: 第一章:微机系统概述 本课程的任务、目标: 任务:学习计算机的基本组成、基本原理、汇编
语言及程序设计、接口技术。 目标:掌握硬件结构,用汇编语言能进行基本功 能程序的设计,具有软硬件开发的初步能力。 特点:① 知识密集性学科 ② 概念多、术语多、名词多、在知识点上有 交叉。 ③ 理论联系实际非常紧密

3 第一章:微机系统概述 要求: 抓住教学过程中的3个环节: 上课时要主动参与、发现、探究 将上课时的多媒体教案从教师手中转化为自己的认
知工具,主动参与、发现、探究,培养学习能力; 独立完成作业 同学之间相互交流,一起讨论,但一定要独立完成 作业; 实验课 课前预习,做到心中有数,有的放矢; 课后,要写实验报告,总结经验和教训,提高自己 分析问题和解决问题的能力,培养一种严谨科学作风

4 第一章:微机系统概述 教材: 微机原理与接口技术 吕勇主编 北京大学出版社 参考书: 1、80X86/Pentium 微型计算机原理及应用
吕勇主编 北京大学出版社 参考书: 1、80X86/Pentium 微型计算机原理及应用 吴宁编著 电子工业出版社 2、微型计算机原理及应用 薛钧义编著 西安交大出版社 3、微型计算机技术 孙德文编著 高教出版社 4、80X86微型计算机原理及其应用 易仲芳编著 电子工业出版社

5 第一章:微机系统概述 讲课学时: 共80学时 讲课60学时 实验20学时(10次) 答疑时间:周三下午 1606
答疑时间:周三下午 联系方式:电话: 手机: QQ: 邮 密码:computer

6 第一章:微机系统概述 第一章 微机系统概述

7 教学要求: 第一章:微机系统概述 本章将对微型计算机的发展和它的系统组成进行概述。
主要包括:计算机的发展与应用、计算机中的数制和编码、微机的系统组成以及8088/8086微处理器的结构等。使我们对计算机系统有一个基本认识,为以后各章的学习打下基础。

8 第一章:微机系统概述 第一章 微机系统概述 1.1 微机的发展与应用 1.2 计算机中的数据表示 1.3 微机的系统组成
第一章 微机系统概述 1.1 微机的发展与应用 1.2 计算机中的数据表示 1.3 微机的系统组成 1.4 微处理器的内部结构 计算机的发展 微机的发展 微机的特点与应用 微机的硬件系统 微机的软件系统 主机板的组成 存储器空间的分配 I/O空间的分配 数制 各种数制之间的转换 带符号数的表示 计算机中的编码 微处理其的基本结构 8088/8086的功能结构 8088/8086的寄存器结构 8088/8086的存储器结构

9 随着科学技术的发展,计算机的发展先后经历了电子管、晶体管、大规模集成电路和超大规模集成电路为主要器件的四个发展时代。
第一章:微机系统概述 §1.1 微机的发展与应用 1946年2月,在美国宾夕法尼亚大学诞生了世界上第一台电子计算机ENIAC 。 采用了著名的数学家冯·诺依曼(Von.Neumann,美籍匈牙利人)的“存储程序”的设计思想。 § 计算机的发展 随着科学技术的发展,计算机的发展先后经历了电子管、晶体管、大规模集成电路和超大规模集成电路为主要器件的四个发展时代。

10 第一章:微机系统概述 第一代(1946—1957年) ——电子管时代: 体积大、耗电量大、寿命短、可靠性差、成本高;存
采用电子管为逻辑部件。 体积大、耗电量大、寿命短、可靠性差、成本高;存 储部件容量很小;输入/输出装置落后,速度慢;没有系统 软件,只能用机器语言,后期采用汇编语言。 第二代(1958—1964年)——晶体管时代: 采用晶体管制作基本逻辑部件。 体积减小、质量减轻、能耗降低、成本下降,计算机的可靠性和运算速度均得到提高; 普遍采用磁芯作为存储器,采用磁盘/磁鼓作为外存储器 开始采用系统软件(监控程序),提出了操作系统的概念,出现了高级语言。

11 第一章:微机系统概述 第三代(1965—1969年)——集成电路时代: 采用中、小规模集成电路制作各种逻辑部件。
计算机体积更小、质量更轻、耗电更省、寿命更长、成本更低,运算速度有了提高; 采用半导体存储器作为主存,使存储器容量和存取速度有了大幅度的提高,增加了系统的处理能力; 系统软件有了很大发展,出现了分时操作系统,多用户可以共享计算机软硬件资源; 在程序设计方面采用了结构化程序设计。

12 第一章:微机系统概述 第四代(1970—至今)—大规模、超大规模集成电路时代 采用大规模、超大规模集成电路。
计算机体积、质量、成本均大幅度降低。运算器和控制器集成到一个芯片中,形成了微处理器,出现了微型机; 作为主存的半导体存储器,集成度越来越高,容量越来越大; 外存储器除广泛使用软、硬磁盘外,还引进了光盘; 使用方便的输入/输出设备相继出现; 软件产业高度发达,各种实用软件层出不穷,极大地方便了用户; 计算机技术与通信技术相结合,计算机网络把世界紧密地联系在一起; 多媒体技术崛起,计算机集图像、图形、声音、文字处理于一体。

13 第一章:微机系统概述 §1.1.2 微型机的发展 第一代微处理器(1971—1973年)
§ 微型机的发展 微机是指以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器MP(Micro Processor)为核心,所构造出的计算系统。 经过30多年的发展,若以字长和典型的微处理器芯片作为各阶段的标志,微机的发展发展大致可分为六代。 第一代微处理器(1971—1973年) 是4位或8位微处理器,该阶段计算机工作速度较慢,微 处理器的指令系统不完整,存储器容量很小,没有操作系统,只有汇编语言。

14 典型的是美国Intel4004和Intel 8008 微处理器。
第一章:微机系统概述 典型的是美国Intel4004和Intel 8008 微处理器。 Intel 4004是一种4位微处理器,可进行4位二进制的并行运算,有45条指令,速度为 0.05MIPs(Million Instruction Per Second,每秒百万条指令)。主要用于家用电器上,提高这些电器设备性能。 Intel 8008是世界上第一种8位的微处理器。 特点:速度慢、指令不完整、存储容量小、无操作系统。 应用:工业仪表、过程控制或计算器上。

15 第一章:微机系统概述 第二代微处理器(1974—1977年) 集成度提高了1~4倍; 运算速度提高了10~15倍;
以8位的微处理器为基础。与第一代微处理器相比: 集成度提高了1~4倍; 运算速度提高了10~15倍; 指令系统相对比较完善,已具备典型的计算机体系结构及中断、直接存储器存取等功能; 存储容量达64KB; 配有荧光屏显示器、键盘、软盘驱动器等设备,构成独立的台式计算机; 配有简单的操作系统和高级语言。 典型的微处理器有Intel 8080/8085,Zilog公司的Z80和Motorola公司的M6800。

16 第一章:微机系统概述 第三代微处理器(1978—1984年)
以16位的微处理器为基础。有更大的寻址空间、更强的运算能力、更快的处理速度和更完善的指令系统。 1978年,Intel公司率先推出16位微处理器8086,为方便原来的8位机用户,又提出了一种准16位微处理器8088。 各公司也相继推出了同类的产品,有Zilog公司Z8000和Motorola公司的M68000等。 1982年,Intel公司又推出16位高级微处理器80286。时钟频率提高到5~25MHz。

17 第一章:微机系统概述 第四代微处理器(1985—1992年) 以32位的微处理器为基础;
1985年,Intel公司推出了第四代微处理器80386。与8086兼容,具有32位的数据总线和32位的地址总线,运算速度达到每秒300~400万条指令。CPU内部采用6级流水线结构和二级存储器管理方式。同一时期推出的32位微处理器中,还有Motorola公司的M68020等。 1989年,Intel公司又推出了80486,集成度是80386的4倍。80486由3个部件组成:一个是80386体系结构的主处理器,一个是与80387兼容的数字协处理器和一个8KB容量的高速缓冲存储器,并采用了RISC(精简指令集计算机)技术和突发总线技术,提高了速度 。同期推出的产品还有MC68040和NEC公司的V80 。

18 第一章:微机系统概述 第五代微处理器(1993—1995年) 采用RISC 技术的32位微处理器
1993年,Intel公司推出了第五代微处理器Pentium。标志着CISC向RISC时代的过渡,也标志着微处理器向工作站和超级小型机冲击的开始。 Pentium微处理器具有64位的数据总线和32位的地址总线,CPU内部采用超标量流水线设计,采用双Cache结构(指令Cache和数据Cache),采用8级流水线和部分指令固化技术,芯片内可动态预测分支程序的指令流向,节省了处理时间和提高浮点运算速度,其速度可达每秒1亿条指令。 同期推出的第五代微处理器还有IBM、Apple和Motorola及AMD公司等。

19 第一章:微机系统概述 第六代Pentium微处理器
1996年Intel公司推出第六代微处理器Pentium Pro(奔腾)。引入了新的指令执行方式,其内部核心是RISC处理器,Pentium Pro允许在一个系统里安装4个处理器,Pentium Pro最合适作为高性能服务器和工作站。 2001年Intel公司发布了第一款64位产品Itanium(安腾)处理器。在Itanium处理器中体现了一种全新的设计思想,完全是基于平行并发计算而设计(EPIC)。可用于电子交易安全处理、超大型数据库、计算机辅助机械引擎、尖端科学运算等。

20 第一章:微机系统概述 2002年 Intel公司发布了Itanium2处理器。代号为McKinley的Itanium2处理器是Intel公司的第二代64位系列产品,Itanium2处理器是以Itanium架构为基础建立与扩充的产品,可与专为第一代Itanium处理器优化编译的应用程序兼容,并大幅提升了50%~100%的效能。Itanium2处理器系列以低成本与更高效能,提供高阶服务器与工作站各种平台与应用支持。

21 第一章:微机系统概述 §1.1.3 微机的特点与应用 1. 微机的特点 (1)体积小、质量轻、功耗低。 (2)可靠性高、使用环境要求低。
§ 微机的特点与应用 1. 微机的特点 (1)体积小、质量轻、功耗低。 (2)可靠性高、使用环境要求低。 (3)结构简单、系统设计灵活、适应性强、使用方便。 (4) 应用软件的配置丰富,加速了微机的应用和普及。 (5) 性能价格比高,进一步促进了微机技术的发展。

22 第一章:微机系统概述 2. 微机的应用 (1) 科学计算与科学研究
科学计算是指利用计算机来完成科学研究和工程技术中提出的数学问题的计算。如卫星轨道计算、天气预报等。 人工智能 是微机应用发展的一个重要方面。所谓人工智能,就是使计算机能够模拟人脑进行逻辑思维、逻辑推理、自主学习、不断积累知识、知识重构和自我完善。人工智能的研究相继出现了专家系统、智能机器人、神经网络技术等典型成就。相信在不久的将来,传说中的生物计算机、神经网络计算机将会展现在人们面前。

23 第一章:微机系统概述 (2) 办公自动化 办公自动化(OA)一般是指在文件处理、档案管理、财务报表和管理、情报检索、银行、企业管理等方面的微机应用。 计算机辅助技术包括: 计算机辅助设计(CAD) 是利用计算机系统辅助设计人员进行工程或产品设计,以实现最佳设计效果的一种技术。 计算机辅助制造(CAM)是利用计算机系统进行生产设备的管理、控制和操作的过程。将CAD和CAM技术集成,实现设计生产自动化,这种技术被称为计算机集成制造系统(CIMS),它的实现将真正做到无人化工厂。

24 第一章:微机系统概述 计算机辅助教学(CAI) 是利用计算机系统使用课件来进行教 学。CAI的主要特色是交互教育、个别指导和因人施教。
(3) 过程控制 过程控制是利用微机及时采集检测数据,按最优值迅速地对控制对象进行自动调节或自动控制。采用微机进行过程控制,不仅可以提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高产品质量及合格率。

25 第一章:微机系统概述 (4) 人工智能 (5) 网络通信
利用计算机模拟人类的智能活动,诸如感知、判断、理解、学习、问题求解和图像识别等。例如,能模拟高水平医学专家进行疾病诊疗的专家系统,具有一定思维能力的机器人等。 (5) 网络通信 计算机技术与通信技术的结合构成了计算机网络。网络化是当今整个计算机发展的一个重要方向,随着信息高速公路的实施,互联网迅速覆盖全球,微机作为服务器、工作站成为网络中的重要成员。

26 §1.2 计算机中的数据表示 第一章:微机系统概述
计算机系统内部使用的所有指令或数据都采用二进制代码,并通过数字器件的不同状态来表示的。二进制是计算机唯一能识别的机器语言,因此,所有需要计算机处理的数字、字母、符号等都必须采用二进制表示。 §1.2.1 数制 数制是人们用来表示数据的科学方法。 用字母表示数制: B(Binary)表示二进制 O(Octal)表示八进制 D(Decimal)表示十进制 H(Hexadecimal)表示十六进制。

27 第一章:微机系统概述 1. 十进制数 有效数0~9,共10个数码。 逢十进一 基数为10,每位数码值不仅与数码的大小而且与位置有关(位权)。
任何一个十进制数D,都可用权展开式表示为: (D)10=D n-1  10 n-1+ D n-2  10 n-2 ……+D0  10 0 +D-1  …… +D-m  10 -m

28 第一章:微机系统概述 【例1.1】 十进制数4236.86的权展开式可以表示为: 这个数可以表示成:
千 百 十 个 十分位 百分位  .  这个数可以表示成: ( )10= 4×103+2×102+3×101+6×100+8×10-1+6×10-2

29 第一章:微机系统概述 2. 二进制数 有效数0、1,共2个数码。 逢二进一 基数为2,每位数码值不仅与数码的大小而且与位置有关。 任何一个二进制数B,都可用权展开式表示为: (B)2 = B n-1  2 n-1+ B n-2  2 n-2 +……+B0  B-1  2 -1 +…… +B-m  2-m 【例1.2】 二进制数 可表示的权展开式为: 这个数可以表示成: ( )2= 1×23+1×22+0×21+1×20+1×2-1+1×2-2

30 第一章:微机系统概述 3. 十六进制数 有效数0~9和A~F,共16个数码。 逢十六进一
基数为16,每位代码值不仅与代码的大小而且与位置有关。 任何一个十六进制数H,都可用权展开式表示为: (H)16= H n-1  16n-1+H n-2  16 n-2+……+H0  16 0 +H-1  …… +H-m  16 -m 【例1.3】 十六进制数3FB1.A可表示的权展开式为 F B A 这个数可以表示成: (3FB1.A)16= 3×163+F×162+B×161+1×160+A×16-1

31 第一章:微机系统概述 数制对照表 十进制(D) 二进制(B) 0000 8 1000 1 0001 9 1001 2 0010 A 10
十六进制(H) 十进制(D) 二进制(B) 0000 8 1000 1 0001 9 1001 2 0010 A 10 1010 3 0011 B 11 1011 4 0100 C 12 1100 5 0101 D 13 1101 6 0110 E 14 1110 7 0111 F 15 1111

32 第一章:微机系统概述 4. 八进制数 有效数0~7,共八个。 逢八 进一 基数为 8,每位代码值不仅与代码的大小而且与位置有关。
任何一个八进制数O,都可用权展开式表示为: (O)8= O n-1  8n-1+O n-2  8 n-2+……+O0  8 0 +O-1  8 -1+…… +O-m  8-m 【例1.4】 八进制数 可表示 的权展开式为: ( )8= 7×83+3×82+2×81+0×80+1 ×8-1 +1×8-2

33 第一章:微机系统概述 二进制数与八进制数之间存在一种特殊的关系,即23=8,所以一位八进制数字可以用3位二进制数表示,见表所示。 数制对照表
1 2 3 4 5 6 7 二进制数 000 001 010 011 100 101 110 111

34 第一章:微机系统概述 § 1.2.2 各种数制之间的转换 1. 非十进制数→十进制数 (1) (101.11)B =
§ 各种数制之间的转换 1. 非十进制数→十进制数 转换方法:按位权展开,再求和。 (1) (101.11)B = 1×22+1×20+1×2-1+1×2-2 = = 5.75 (2) (F94)H = 15×162+9×161+4×160 = 3988 注意:只有十进制数的下标可以省略,其他进制数不可以省略。

35 第一章:微机系统概述 2. 十进制数→非十进制数(K进制数) 转换方法一:将十进制数的小数部分和整数部分分别转换。
先得为低位后得为高位。 小数部分:乘K取整,用转换进制的基数(K)乘以小数部 分,直至小数为0或达到转换精度要求的位数。 每乘一次取一次整数,先得为高位后得为低位。

36 第一章:微机系统概述 例1:(215)10→二进制 例2:(835)10转换为八进制数 2 2 1 5 8 8 3 5
……余 1 低位 ……余 1 ……余 1 ……余 0 ……余 1 ……余 0 ……余 1 0 ……余 1 高位 (215)10=( )2 例2:(835)10转换为八进制数 ……余 低 ……余 0 8 1   ……余 5 0 ……余 高 (835)10=(1503)8 小结:用基数去除,每次所得到的余数就为该进制的系数,最先得到的是该进制的最低有效数,最后得到的为最高有效数。

37 第一章:微机系统概述 例3:将十进制小数0.6875转换成二进制小数。 × 2 1.3750 ……整数部分 1 高 0.375 × 2
0.6875    ×      2        1.3750 ……整数部分 高     0.375  ×     2      0.750 ……整数部分 0 ×    2     1.50 ……整数部分 1    0.5   ×    2      1.0 ……整数部分 低 所以(0.6875)10=(0.1011)2

38 第一章:微机系统概述 【例1.6】 将十进制数112.25转换为等值的二进制数。 整数部分
小数部分 112/2= 余数=0(最低位) 0.25×2=0.5 整数= 0(最高位) 56/2= 余数=0 0.5×2= 整数= 1 28/2= 余数=0 14/2= 余数=0 7/2 = 余数=1 3/2= 余数=1 1/2= 余数=1 转换结果为112.25(D)= (B)

39 第一章:微机系统概述 转换方法二:减权定位法。从可能转换为二进制数的最高位开始,依次将十进制数减去二进制数各位的权,够减则该位系数置1,不够减置0。当整数部分余数小于16时可以直接写出二进制数。 需要记住二进制数各位的权: 2-1 = = = =0.0625… 20= = = = = = = =128 28= = = =2048… 216=65536… 【例1.7】 将158转换为二进制数。 1 5 8 1 4

40 第一章:微机系统概述 【例1.8】 将301.6875转换为十六进制数表示。 整数部分 小数部分 18/16=1 余数=2
301/16=18 余数=D 18/16= 余数=2 1/16= 余数=1 0.6875×16= 11(D)=B(H) 所以 ( )D = (12D.B)H

41 第一章:微机系统概述 3. 八进制数、十六进制数转换为二进制数 转换方法:按位展开 24=16,所以1位十六进制数可以用4位二进制数表示。
由于 23=8,所以1位八进制数可以用3位二进制数表示; 24=16,所以1位十六进制数可以用4位二进制数表示。 【例1.9】 (724.5)O= ? B 按位: ( )O ↓ ↓ ↓ ↓ 展开: 结果:(724.5)O=( )B

42 第一章:微机系统概述 【例1.10】 (7FA.0E)H= ?B 按位:( 7 F A 0 E )H
↓ ↓ ↓ ↓ ↓ 展开: 结果:(7FA.0E)H=( )B 4. 二进制数转换为八进制数、十六进制数 转换方法:分组转换 以小数点为界分别向左、向右把整数和小数部分每3位或4位 一 组,若整数的高位的一组不足3位或4位,则在其左边补0;若小 数最低位的一组不足3位或4位,则在其右边补零。然后将每组二 进制数用对应的八进制数或十六进制数代替,则得到转换结果。

43 第一章:微机系统概述 分组:(110 001 100 110 . 010)B ↓ ↓ ↓ ↓ ↓ 转换: 6 1 4 6 2
【例1.11】 ( )B= ?O 分组:( )B ↓ ↓ ↓ ↓ ↓ 转换: 结果:( )B=(6146.2)O 【例1.12】 ( )B= ?H 分组:( )B ↓ ↓ ↓ ↓ ↓ ↓ ↓ 转换: D C 结果:( )B=(49538D.C)H

44 第一章:微机系统概述 § 带符号数的表示 计算机中数据的符号(+或―)也是用二进制数码来表示的。一般用“0”表示正数符号,用“1”表示负数符号。这样,机器中数的符号也数值化了。 1. 机器数与真值 机器数:数在机器中的二进制表示形式,即符号数值化了 的带符号数。 真 值:机器数对应的原数值。 例如: N1=( )B , N2=(― )B 在机器中的表示为: N1=( )B N2=( )B

45 ◆ 正数符号位用“0”表示,负数符号位用“1”表示,其余各位 保持真值数值位不变。
第一章:微机系统概述 机器数特点:① 数值范围受计算机字长的限制。 ② 机器数的符号位被数值化,最高位0正,1负。 机器数在机内有不同的表示方法,即采用不同的码制来表示。 常见的码制有:原码、补码、反码。 2. 原码表示法 ◆ 正数符号位用“0”表示,负数符号位用“1”表示,其余各位 保持真值数值位不变。 设X为真值,[X]原为原码机器数表示。 设 X=( )B, 则 [X]原= ( )B。 则 [X]原= 设 X=(― )B, ( )B。

46 第一章:微机系统概述 [+0]原=(00000000)B [-0]原=(10000000)B 原码表示的数值范围
在原码表示法中,0有两种表示形式相同: [+0]原=( )B [-0]原=( )B 原码表示的数值范围 8位二进制位表示的原码的整数数据范围为:-127~+127 3. 反码表示法 ◆ 正数的反码与原码相同 负数的反码除符号位外的其余各位按位取反 X=( )B [X]反=[X]原= ( )B  X=( )B [X]反= ( )B

47 第一章:微机系统概述 ◆ 在反码表示法中,0有两种表示形式: [+0]反=(00000000)B [-0]反=(11111111)B
◆ 在反码表示法中,0有两种表示形式: [+0]反=( )B [-0]反=( )B ◆ 反码表示的数值范围 8位二进制位表示的反码的整数数据范围为:-127~+127 4. 补码表示法 ◆ 正数的补码与原码相同 负数的补码为反码加一 X=( )B 则 [X]补=[X]原= ( )B  X=( )B 则 [X]补= ( )B

48 第一章:微机系统概述 小结: ◆ 在补码表示法中,0只有一种表示形式: [+0] 补=(00000000)B ◆ 补码表示的数值范围
◆ 在补码表示法中,0只有一种表示形式: [+0] 补=( )B ◆ 补码表示的数值范围 8位二进制位表示的补码的整数数据范围为:-128~+127 小结: 由原码、反码、补码的定义可知,一个正数的原码、反码、补码的表示形式相同,符号位为0,数值位是真值本身;负数的原码、反码、补码的符号位都为1,原码是真值数值位本身;反码是各位取反;补码是各位取反,最低位加1。即原码的反码加1是补码;补码的反码加1是原码。 [[X]补]补=[X] 原

49 第一章:微机系统概述 5. 补码加减法运算 用补码表示数据时可以将减法运算转化为加法运算,从而简化运算器硬件电路,提高运算速度。
(1) 补码加法运算 两个补码数据相加,相加结果即为和的补码表示。 对应的公式为: [X+Y]补=[X]补+[Y]补 例: X= ,Y= ,利用补码加法计算X+Y。 解:[X]补= ,[Y]补= [X]补+[Y]补=[X+Y]补 = = 所以 X+Y=-101000B=― 40

50 第一章:微机系统概述 【例1.18】求(-9) + (-2)=? 解:[X]补= 因为 [X+Y]补=[X]补+ [Y]补
[Y]补= 因为 [X+Y]补=[X]补+ [Y]补 [X]补 = + [Y]补 = [X]补+[Y]补= 自然丢失 所以 [X+Y]补= X+Y= B=-11 试做:已知X=-110001,Y= 利用补码加法计算X+Y=?

51 第一章:微机系统概述 (2) 补码的减法运算 两个补码数据相减,相减结果即为差的补码。 对应的公式为:
[X―Y]补=[X+(-Y)]补= [X]补+ [-Y]补 = [X]补―[Y]补 例: X=001110,Y= ,利用补码减法计算X―Y。 解:[X]补= [Y]补= ,[-Y]补= 因为[X―Y]补=[X+(-Y)]补= [X]补+ [-Y]补 [X]补= + [-Y]补= [X―Y]补= 所以 X―Y = B=+ 63

52 第一章:微机系统概述 【例1.20】用补码计算9―2=? 解:因为 [X―Y]补=[X+(-Y)]补= [X]补+ [-Y]补
[X]补= [-Y]补= [X]补= + [-Y]补= [X―Y]补= 自然丢失 [X―Y]补= , 所以 X-Y= B=7 试做:已知X=001110,Y=―110001, 利用补码减法计算X―Y=?

53 第一章:微机系统概述 (3)溢出判断 溢出:在一定运算字长和数的表示方法情况下,如果运算的结 果,超出了计算机能表示的数据范围,称为溢出。
广义的溢出:包括带符号数的溢出和无符号数的溢出。 无符号数的加减运算,无论运算的结果是否超出了数据表示范围(在计算机字长范围内),运算结果都是正确的,因此把无符号数的数据结果超出表示范围称为进位。 带符号数的数据结果超出表示范围称为溢出。带符号数的加减运算,未溢出则结果正确,溢出则结果错误。 字长为n的计算机,它能表示的定点补码的数值范围为 ―2n―1≤X≤2n―1―1 。

54 第一章:微机系统概述 8位的字节运算:带符号数据表示范围是―128~+127
16位的字运算:带符号数据表示范围是―32768~+32767。 溢出判断方法: 当两个正数相加结果为负数,或两个负数相加结果为正数,则有溢出;正数和负数相加总是没有溢出。 例1: B [90]补 B [107]补 B 符号位为1,表示结果为负数 产生溢出,结果无意义 例2: (-110)- 92 [-110]补 [-92]补 符号位为0,表示结果为正数 产生溢出,结果无意义

55 第一章:微机系统概述 采用双进位判别法 : Cs:最高位(符号位)的进位(加法)或借位(减法)
Cp:数值部分最高位的进位(加法)或借位(减法) 若:Cs和Cp相同(00或11)时,无溢出。 Cs和Cp不同(10或01)时,发生溢出。 无溢出置标志OV=0;有溢出置标志OV=1 用数学算式表示: Cs  Cp = 0 无溢出 Cs  Cp = 1 溢出 CsCp = 01 为正溢出 CsCp = 10 为负溢出

56 第一章:微机系统概述 例1:90 + 107 例2: (-110)- 92 0 1 0 1 1 0 1 0 [90]补
[90]补 [107]补 0 1 Cs =0 Cp = OV=Cs  Cp = 1 为正溢出 例2: (-110)- 92 [-110]补 [-92]补 1 0 Cs =1 Cp = 负溢出

57 . 第一章:微机系统概述 § 1.2.4 定点数和浮点数(加) 一个数的表示为: N=2P×S 1. 定点数的表示
§ 定点数和浮点数(加) 1. 定点数的表示 一个数的表示为: N=2P×S 其中:S—N的尾数 P—N的阶码 2—阶码的底 定点数 指小数点位置在数中固定不变。 在定点数中有两类最常用的方法:   定点整数:小数点的位置定在最低位的后面。格式为: 符号位 尾数 . n-1位 隐含 1位 定点整数是机器数,可以原码、反码、补码表示。 定点整数表示的数值范围和机器数形式有关。

58 定点小数:小数点的位置定在最高位(符号位)的后面。
第一章:微机系统概述   定点小数:小数点的位置定在最高位(符号位)的后面。 符号位 . 尾数 1位 隐含 n-1位 1位 隐含 n-1位 定点小数是机器数,可以原码、反码、补码表示。 定点小数表示的数值范围和机器数形式有关。 例 N1= D= B [N1]原= [N1]补= B N2 = D= B [N2]原= B [N2]补= B 定点纯小数表示的数值范围: 8位原码、反码表示的数值范围为 — ( )  + ( ) 8位 补码表示的数值范围为 — 1  + ( )

59 第一章:微机系统概述 2. 浮点数的表示 浮点数 指小数点位置在数中不是固定不变
(1)浮点数的一般形式 二进制数表示为: N= 2P ╳ S S —尾数 是数值的有效数字,为带符号的小数,一般用原码、补码 表示; p —阶码 是一指数,为带符号的整数,一般用补码表示; 尾数S的长短规定表示数值的精度,阶码p的大小表示了数值的大小范围。 浮点数在机器中的一般形式为: Pt P St S 阶符 阶 码 尾 符 尾 数 1位 n位 位 m位

60 第一章:微机系统概述 例1:用12位浮点数表示1011.101B, 若浮点数形式为4位阶 码、8位尾数。阶码、尾数均以原码表示。
B= X 24 = X 2+100 0. 1 0 0 4位 位 例2:用12位浮点数表示 ,若浮点数形式为4位 阶码、8位尾数。阶码、尾数均以补码表示。 = X 2-2 = X 2-010 1. 1 1 0 1 4位 位

61 例:写出 -18.75D的12位规格化浮点数形式,阶码4位,尾 数8位。
(2)规格化浮点数 尾数部分用纯小数形式给出,而且尾数的 绝对值应大于1/R(0.5), 即规定尾数S为: 1/2 ≤ ∣ S∣ ≤ 1 例:写出 D的12位规格化浮点数形式,阶码4位,尾 数8位。 -18.75D = B = X 2101 原码表示的浮点数 补码表示的浮点数

62 1.2.5 计算机中的编码 1. BCD码(二进制编码的十进制数)
计算机中的编码 在计算机中字母、符号、汉字、图像、语音等,都必须转换为二进制格式的代码才能被计算机处理。 计算机中常用的字符编码有BCD码、ASCII码、汉字编码等,这些编码在机器内部都是用二进制表示的。 1. BCD码(二进制编码的十进制数) BCD是用4位二进制代码表示1位十进制数,其4位二进制编码的每一位都有特定的位权,从左至右分别为:23=8,22=4,21=2,20=1,故称其为8421码。

63 8421码是最简单的二进制自然编码,它以4位二进制的前10个代码分别对应十进制数的10个数码。
8421BCD码 0000 5 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 0100 9 1001 (1) BCD码与十进制数之间的转换 ① 十进制数转换为BCD码。 方法:按位展开

64 【例1.21】 59 = 465= ( )BCD ( )BCD ② BCD码转换为十进制数 方法:分组转换 【例1.22】 ( )BCD = 682 (2) BCD码与二进制数之间的转换 BCD码与二进制数之间不能直接转换,需将BCD码先转换成十进制数,再由十进制数转换为二进制数。

65 【例1.23】 将BCD码( )BCD转换为二进 制数。 BCD→十进制: ( )BCD=(11.25)D (11.25)D=( )B 十进制→二进制: 所以 ( )BCD=( )B 试做: 将二进制数 转换为BCD码。 (3) BCD码的两种形式 — 压缩BCD码和非压缩BCD码。

66 第一章:微机系统概述 ① 压缩BCD码 每一位用4位二进制数表示,一个字节表示2位十进制数 BCDL BCDH
例 如:( )BCD 表示 48。 ② 非压缩BCD码 只用1个字节的低四位表示一位十进制数。 BCD 例 如:十进制数48用非压缩BCD码表示为: ( )BCD

67 第一章:微机系统概述 2. 字符的编码 包括大、小写英文字母、0~9数字字符、标点符号以及一些专用字符。
字符和符号必须按特定的规则用二进制编码表示。普遍采用的字符编码系统是ASCII码。(美国国家标准信息交换码)。 包括大、小写英文字母、0~9数字字符、标点符号以及一些专用字符。 在计算机中,一个字符通常用一个字节(八位)表示,最高位通常为0或用于奇偶校验位。 数字0~9的ASCII码为30H~39H; 26个英文大写字母A~Z的ASCII码为41H~5AH; 26个英文小写字母a~z的ASCII码为61H~7AH。

68 ASCII编码表 高三位 低四位 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 0000 0001 0010 0011 0100 0101 NUL SOH STX ETX EOT ENQ DLE DC1 DC2 DC3 DC4 NAK SP # $ % A B C D E P Q R S T U ` a b c d e p q r s t u 8 9 0110 0111 1000 1001 1010 ACX BEL BS HT LF STN ETB CAN EN SUB & ( ) * : F G H I J V W X Y Z f g h i j v w x y z 1011 1100 1101 1110 1111 VT FF CR SO ST ESC FS GS RS US + , - . / ; < = > ? K L M N O [ \ ] k l m n o { | } ~ DEL

69 第一章:微机系统概述 3. 汉字编码 (1) 汉字的输入编码 采用的方法主要有以下3类:
数字编码:常用的是国标区位码,用数字串代表一个汉字 输入,区位码是将国家标准局公布的6763个两级汉字分为94个区,每个区分为94位。即把汉字表示成二维数组,每个汉字在数组中的下标就是区位码,区码和位码各两位十进制数字,因此输入一个汉字需按键四次。 优点:无重码,输入码与内部编码的转换比较方便 缺点:代码难以记忆。

70 第一章:微机系统概述 拼音码:简单易学,但重码率很高,影响了输入速度。
字型编码:用汉字的形状来进行编码。因此把汉字笔划部件用字母或数字进行编码,按笔划的顺序依次输入,就能表示一个汉字。常用的有五笔字型编码和表型码两种。 (2) 汉字内码 采用国标GB 中规定的用两个字节表示一个汉字,每个字节都只使用低7位,即有128×128=16384种状态。由于ASCII码的34个控制代码在汉字系统中也要使用,为不发生冲突,不能作为汉字编码,所以汉字编码表的大小是94×94=8836,用以表示国标码规定的7445个汉字和图形符号。

71 第一章:微机系统概述 将国标码中的每个字节的最高位设为1,这样就形成了在计算机内部用来进行汉字的存储、运算的编码叫机内码。内码既与国标码有简单的对应关系,易于转换,又与ASCII码有明显的区别,且有统一的标准(内码是惟一的)。 (3)汉字字模码 字模码也称字型码,是用点阵表示的汉字字型代码,是汉字的输出形式。 简易型汉字为16×16点阵,提高型汉字为24×24点阵、32×32点阵,甚至更高。 字模只能用来构成汉字库,而不能用于机内存储。当显示输出或打印输出时检索字库,输出字模点阵,得到字型。

72 补充习题1 1、写出下列二进制的原码、反码和补码 (1)X=+0101011 (2)X=-0101000 (3)X=-1011010
2、根据机器数的一个形式,求其它形式的机器数 (1)[X]原= ,求[X]补=? (2)[X]补= ,求[X]原、反 3、根据机器数求其真值 (1)[X]原= (2)[X]原= (3)[X]反= (4)[X]补=

73 补充习题2 1、若X1=-0010100 Y1=-0100001 试按补码的加减法计算 X1+Y1 和X1-Y1。
3、设阶码(含阶符)为4位,尾数(含尾符)为5位,将下列数表示成规格化浮点数。阶和尾数均用补码表示。 (1) (2)

74 习 题 课 1、求X=0.1011011 , Y=-0.1011011,Z=- 110101的原、反、补、变形补码。 0.1011011
习 题 课 1、求X= , Y= ,Z=- 的原、反、补、变形补码。 [X]原= [X]反= [X]补= [X]变= [Y]原= [Y]反= [Y]补= [Y]变= [Z]原= [Z]反= [Z]补= [Z]变= 2、 求以下编码的真值 ① [X]原= ② [X]补= ③ [X]补= 真值 X =-010100=-20D 真值 X= = 28D 真值 X =- =-82D

75 习 题 课 3、根据X、Y的真值,试用8位补码运算计算(X+Y)、(X-Y)。 (1)X=1000 Y=-1011 [X]补= [Y]补=
习 题 课 3、根据X、Y的真值,试用8位补码运算计算(X+Y)、(X-Y)。 (1)X= Y=-1011 [X]补= [Y]补= [-Y]补= [X+Y]补= [x]补+[Y]补= = 真值 (X+Y)= - B = - 3 D [X-Y]补=[x]补+[-Y]补= = 真值 (X-Y) = B= 19 D

76 习 题 课 (2)X= Y=- [X]补= [Y]补= [-Y]补= [X+Y]补= [X]补+[Y]补= = 真值 (X+Y) = - B = -5 3 D [X-Y]补 = [X]补+[-Y]补= = 真值 (X-Y) = B = 13D

77 习 题 课 4、用补码完成下列运算,并判断有无溢出产生 (1) X=+1100000,Y=+1000000 求X+Y
习 题 课 4、用补码完成下列运算,并判断有无溢出产生 (1) X= ,Y= 求X+Y [X]补= [Y]补= [X]补 = +  [Y]补 = [X+Y]补≠ CS=0 CP= CS⊕CP=0⊕1=1 溢出(正)

78 习 题 课 (2) X=- 85,Y=60 ,求X-Y [X]补=[-85]补= [Y]补=[60]补= [-Y]补=[-60]补= [X-Y]补=[X]补+[-Y]补 [X]补 = + [-Y]补= [X-Y]补≠ CS=1 CP=0 CS⊕CP=1⊕0=1 溢出( 负)

79 习 题 课 5、将0.09375表示成阶码为4位(包含阶符)和尾数为8位(包含尾符)的规格化浮点数,阶码、尾数均采用补码表示.
习 题 课 5、将 表示成阶码为4位(包含阶符)和尾数为8位(包含尾符)的规格化浮点数,阶码、尾数均采用补码表示. = = ×2-3= x2-011 阶码= 尾数= B 规格化浮点补码表示为:            B

80 第一章:微机系统概述 §1.3 微机的系统组成 硬件系统: 微机系统: 软件系统: §1.3.1 微机的硬件系统
§1.3 微机的系统组成 从外观上看,微机的硬件系统由主机箱、键盘和显示器等组成; 硬件系统: 从逻辑的角度包括运算器、控制器、存储器、输入设备和输出设备五大部分。 微机系统: 软件系统则是依赖于硬件执行的程序或程序的集合。 软件系统: §1.3.1 微机的硬件系统 微机的硬件系统通常由微处理器、系统总线、存储器、I/O接口和I/O设备等组成。

81 第一章:微机系统概述 1. 微处理器 又称中央处理器 (CPU)。它是采用大规模集成电路技术制成的芯片,芯片内集成了控制器、运算器两大部分。
运算器是用于算术运算、逻辑运算和对数据进行加工的部件。由算术逻辑部件(ALU)和一系列寄存器组成。 ALU是完成算术和逻辑运算的部件 寄存器即可提供参与运算的操作数,又可用于存放运算结果。

82 第一章:微机系统概述 2. 存储器(Memory)
控制器是计算机的核心部件,用来产生一系列控制信号以指挥计算机系统有条不紊地运行,完成对指令的读取、解释和执行,并协调计算机各部分的工作。 CPU及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 2. 存储器(Memory) 是微机的存储和记忆部件,是用来存放当前执行的程序和数据(包括原始数据、中间结果和最终结果)的部件。 程序和数据在存储器中是以二进制数的形式表示。

83 第一章:微机系统概述 存储器是由若干存储单元组成,1个存储单元可以存放若干个二进制位(Bit)。
字节B(Byte) :8个二进制位;2B称为1个字(Word);在微机中规定每个内存单元可以存放1B的二进制信息。 存储单元的地址:每个存储单元编上不同的号码,这个唯一的编号称为地址。 存储单元的地址编号从0开始顺序编排。CPU通过指定存储单元的地址来访问对应的单元。 微机的存储容量:一台微机所有存储单元的总数,存储器最小存储单位是字节。

84 第一章:微机系统概述 KB(代表1024B); MB(代表1024KB); GB(代表1024MB)。 存储器的分类:
存储容量的单位有: KB(代表1024B); MB(代表1024KB); GB(代表1024MB)。 存储器的分类: 分为主存储器(又称内存)和辅助存储器(又称外存)。 内存:采用半导体材料,安装在机内的电路板上,具有容量小、存取速度快和易挥发性等特征,CPU可以通过总线直接对内存操作。 内存由只读存储器ROM和随机存取存储器RAM两种类型构成。

85 第一章:微机系统概述 ROM只允许执行读操作,掉电后,信息不变。主要用来存放监控程序和基本输入/输出程序。ROM中的内容一般由生产厂家或用户使用专用设备写入固化的; RAM可读可写,但掉电后信息将丢失。用于存放用户装入的程序、数据及部分系统信息。 CPU对内存的操作有读、写两种。读操作是CPU将内存单元的内容取到CPU内部,而写操作是CPU将其内部信息传送到内存单元保存起来。

86 第一章:微机系统概述 3、 I/O设备和I/O接口
外存储器:一般采用磁介质材料,被安装在主机箱内或主机箱外,CPU通过I/O接口进行读写操作。 常见的设备有磁盘(硬盘和软盘)、磁带、光盘等。 3、 I/O设备和I/O接口 I/O设备:是指微机上配备的输入/输出设备,也称外部设备 或外围设备,是微机系统重要的组成部分。 常用的输入设备有键盘、鼠标器、扫描仪等; 常用的输出设备 有显示器、打印机、绘图仪等。

87 第一章:微机系统概述 磁带、磁盘等既是输入设备,又是输出设备。 I/O接口电路:是连接外部设备并与外界进行信息交换的控制逻辑电路。
I/O设备的种类繁多,结构、原理各异,有机械式、电子式、电磁式等,无法与CPU直接匹配,所以不可能将它们简单地连接到系统总线,需要有一个接口电路来充当它们和CPU间的桥梁,通过该电路来完成信号变换、数据缓冲、与CPU联络等工作。该部件被称为输入/输出接口,又称I/O适配器, 完成CPU与外设的信息交换。

88 第一章:微机系统概述 4. 系统总线(BUS) 总线: 是计算机系统中各功能部件间传送信息的公共通道即一组公共信号线。
总线: 是计算机系统中各功能部件间传送信息的公共通道即一组公共信号线。 系统总线: 指从处理器引出的若干信号线,CPU通过它们与存储器和I/O设备进行信息交换。 系统总线一般可分为3组: 地址总线 AB(Address Bus):是用来传送地址信息的总线。CPU在AB总线上输出将要访问的内存单元或I/O接口的地址。该总线是单向总线。

89 第一章:微机系统概述 数据总线 DB(Data Bus):是用来传送数据信息的总线。在CPU进行读操作时,内存或外设的数据通过DB总线送往CPU;在CPU进行写操作时,CPU将数据通过DB总线送往内存或外设,该总线是双向总线。 控制总线CB(Control Bus):是用来传送控制信息的总线。其中有CPU发出的控制信号或外界发送给CPU的状态信号。 按层次结构分: 片内总线:在芯片内部使用的总线 内总线(系统总线):在微机内各功能部件之间相互连接的总线

90 第一章:微机系统概述 局部总线:在印刷电路板上连接各插件的公共通道。
外总线(通信总线):在微机外部微机系统与系统之间、微处理机系统与外围设备之间的通讯通道。例如RS-232C 按总线上传输信号的方式分: 分并行总线和串行总线。 一般机内总线和片内总线都是并行总线,而外部总线则采用串行总线。 总线使得微机具有组态灵活、扩展方便的特点。实际上,为了方便总线与存储器、总线与I/O接口的连接,在微机的主板上设计有多个总线插槽,用户可根据需要插进不同的内存条和电路插板,达到灵活机动的配置目的。

91 第一章:微机系统概述 § 1.3.2 微机的软件系统 计算机软件系统包括系统软件和应用软件两大部分: 1. 系统软件
§ 微机的软件系统 计算机软件是指用于指挥计算机硬件系统工作的程序、文档和数据。 计算机软件系统包括系统软件和应用软件两大部分: 1. 系统软件 系统软件:指操作系统及各种系统应用程序。 操作系统用于管理计算机硬件与软件资源,进行任务调度、提供文件管理系统、人机接口等,还包括各种I/O设备的驱动程序。 系统应用程序包括各种高级语言的翻译/编译程序、汇编程序、数据库系统文本编辑程序以及诊断和调试程序,此外还包括许多系统工具程序等。

92 第一章:微机系统概述 2. 应用软件 应用软件:指用户为解决各种实际问题而编制的程序。从大的方面来讲,它可以是面向数据库管理、面向计算机辅助设计、面向文字处理的软件或软件包;从小的方面来说,它是为某个单位、某项工作的具体需要而开发的软件。 应当指出:硬件系统和软件系统是相辅相成的,共同构成微机系统,缺一不可。 现代的计算机硬件系统和软件系统之间的结合非常重要,两者统一融合,在发展上互相促进。

93 第一章:微机系统概述 §1.4 微处理器的内部结构 § 1.4.1 微处理器的基本结构
§1.4 微处理器的内部结构 微处理器集成了计算机的主要部件:控制器、运算器和寄存器组等,是微机的核心部件。主要完成各种算术逻辑运算,并控制计算机各部件协调地工作。 § 微处理器的基本结构 微处理器是整个系统的运算和指挥控制中心。不同CPU,性能不同,但无论哪种CPU,其内部基本结构总是相近的,都有控制器、运算器和寄存器组3大主要部件:

94 第一章:微机系统概述 (1) 运算器 —又称为算术逻辑单元(ALU) 以加法器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路。在控制信号的作用下,可完成加、减、乘、除四则运算和各种逻辑运算,以及浮点运算。 (2) 控制器 一般由指令寄存器、指令译码器、时序和控制逻辑电路组成。 控制器从存储器中取出指令,并根据指令的要求,向各个部件发出相应的控制信号,使各部件协调工作,从而实现对整个微机系统的控制。

95 第一章:微机系统概述 (3) 寄存器组 CPU内部的高速存储单元。在汇编语言中可按名字来访问它们。
寄存器可分为专用寄存器和通用寄存器: 专用寄存器的作用是固定的,如堆栈指针、程序计数、标志寄存器、地址寄存器等。 通用寄存器则可由程序员规定其用途。通用寄存器的数目因CPU的不同而异。 8088/8086 CPU中有8个16位的通用寄存器。

96 第一章:微机系统概述 寄存器的作用是用来存放运算、处理的中间结果,避免对存储器的频繁访问,缩短了指令的长度和指令的执行时间。 微处理器中还有一些不能直接为程序员所用的寄存器,如累加锁存器、暂存器和指令寄存器等,它们仅受内部定时和控制逻辑的控制。 § /8086的功能结构 8088/8086 CPU的内部是由两个独立的工作部件构成: 总线接口部件BIU和执行部件EU。

97 第一章:微机系统概述 总线接口部件BIU:
主要用来完成从存储器中取指令送指令队列;指令执行时从指定的存储器单元或I/O接口中取操作数,并将数据传送给执行部件或者把执行部件的操作结果传送到指定的存储器单元或I/O接口中; 执行部件EU 从总线接口部件的指令队列中取得指令,并在ALU上执行指令,然后,将处理的结果送回总线接口部件,由总线接口部件存储处理。

98 8086CPU内部结构

99 第一章:微机系统概述 1.总线接口部件BIU (1)BIU的组成: 20位地址加法器:完成20位物理地址的计算
专用寄存器组:如段寄存器、指令指针寄存器IP 指令队列缓冲器:指令预取,实现取指和执行指令的并行操作。 总线控制电路等部件:提供16位双向数据总线和20位地址总线。主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。 (2)BIU的功能: 负责与存储器及I/O端口传送信息。即取指令、指令排队、读操作数和写操作数、地址形成和总线控制。

100 第一章:微机系统概述 (3)BIU的工作过程
当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器将来自于段寄存器的16位地址左移4位后与来自于IP寄存器或指令执行部件(EU)提供的16位偏移地址相加(通常将“段首地址:偏移地址”称为逻辑地址), 形成指令在存储器中的一个20位的实际地址即物理地址 若指令对列有空,从物理地址所对应的存储单元中取出指令代码送到指令队列缓冲器中等待执行。遇到转移类指令时,BIU将指令队列中的已有指令作废,重新从新的目标地址中取指令送到指令队列中。

101 第一章:微机系统概述 当EU需要读写数据时,BIU根据EU送来的操作数地址形成操作数的物理地址,读取操作数或者将指令的执行结果传送到该物理地址所指定的内存单元或外设接口中。 2. 指令执行部件EU (1)EU的组成: 16位算术逻辑运算单元ALU:用于对寄存器和指令操作数进行算术或逻辑运算; 标志寄存器FR:用于存放运算结果的状态; 寄存器组:4个通用寄存器和4个专用寄存器; EU控制器:接受从总线接口单元的指令队列中取来的指令代码;对其译码和向EU内各有关部分发出时序命令信号,协调执行指令规定的操作。

102 第一章:微机系统概述 (2)EU的功能: 从BIU的指令队列缓冲器中取指令、分析指令(即对指令译码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。 (3)EU的工作过程 从BIU指令队列缓冲器中取指令,并对指令译码和执行 如果是运算操作,完成16位或8位二进制数的运算,运算结果一方面通过内部总线送到通用寄存器组或BIU的内部暂存器中以等待写到存储器。另一方面置状态标志寄存器FR的状态标志位。

103 第一章:微机系统概述 指令执行过程中需要取操作数时,只要将操作数的地址送给BIU,由BIU通过外部总线访问存储器或I/O设备,取回数据后在继续执行。(EU与外部总线隔离)。

104 第一章:微机系统概述 § /8086的寄存器结构 8088/8086内部有13个16位的寄存器和1个16位的标志寄存器FR。 8位 16位 AH AL AX BH BL BX CH CL CX 指令指示器 IP DH DL DX 状态标志寄存器 FLAGS 数据寄存器 控制寄存器(16位)

105 按用途分类,通用寄存器分为2类:数据寄存器、指示器和变址寄存器。
第一章:微机系统概述 堆栈寄存器 SP 代码段寄存器 CS 基址寄存器 BP SI 数据段寄存器 DS 源变址寄存器 堆栈段寄存器 SS 目的变址寄存器 DI 附加段寄存器 ES 指示器和变址寄存器组 段寄存器组 按功能可划分为: 8个通用寄存器;4个段寄存器;2个控制寄存器 ; 1. 通用寄存器 按用途分类,通用寄存器分为2类:数据寄存器、指示器和变址寄存器。

106 第一章:微机系统概述 数据寄存器: 包括AX、BX、CX、DX这4个16位寄存器。通常用来保存算术、逻辑运算的操作数、中间结果和地址。也可作为两个8位寄存器使用,处理8位数据。(AH、AL;BH、BL;CH、CL;DH、DL。) 累加器AX(Accumulator) 常用于存放算术逻辑运算中的操作数,另外所有的I/O指令都使用累加器与外设接口传送信息。 基址寄存器BX(Base) 常用来存放访问内存时的基地址。

107 第一章:微机系统概述 计数寄存器CX(Count) 在循环和串操作指令中用作计数器。 数据寄存器DX(Data)
在寄存器间接寻址的I/O指令中存放I/O接口的地址。 在作双字长乘除法运算时,DX与AX合起来存放一个双字长数(32位),其中DX存放高16位,AX存放低16位。 指示器和变址寄存器 包括SP、BP、SI、DI这4个16位寄存器。主要用来存放或指示操作数的偏移地址。

108 第一章:微机系统概述 堆栈指示器SP(Stack Pointer)
SP与SS堆栈段一起使用的。用来存放当前堆栈段中栈顶的偏移地址,故又称为堆栈指针。 基址指针寄存器BP(Base Pointer) BP总是与SS堆栈段一起使用的,是堆栈操作时的基址寄存器(基址指针),可以指向堆栈段的任意单元。 变址寄存器SI和DI 作一般的变址寄存器时,通常与DS数据段联用,为程序访问当前数据段提供操作数的段内偏移地址。

109 第一章:微机系统概述 SI用来存放源操作数在当前数据段中某一存储单元的偏移地址。故称为源变址寄存器;
DI用来存放目的操作数存放在当前数据段中某一存储单元的偏移地址。故称为目的变址寄存器; 2. 段寄存器 问题的提出: 8086CPU有20位地址线可寻址1MB的内存空间,而内部寄存器是16位的,只能寻址64KB空间。如何解决? 8086CPU中采用了存储空间的分段存储技术来解决这一矛盾。

110 第一章:微机系统概述 代码段:CS、数据段:DS、附加段:ES、堆栈段:SS。 逻辑段的段地址分别存放在段寄存器中
8086可寻址的1MB的内存空间中,划分为四种不同类型的逻辑段: 代码段:CS、数据段:DS、附加段:ES、堆栈段:SS。 逻辑段的段地址分别存放在段寄存器中 代码段(Code Segment) 用来存放程序的指令代码和常数。其段地址和偏移地址分别由段寄存器CS和指令指示器IP给出; 数据段(Data Segment) 用于保存数据。段地址由段寄存器DS给出,其偏移地址(即有效地址EA)可通过直接寻址、间接寻址、基址寻址、变址寻址以及基址加变址寻址等多种寻址方法形成。

111 第一章:微机系统概述 附加段 ES(Extra Segment)
也用于数据(即变量)的保存。访问该段内的数据时,其偏移地址(即有效地址EA)同样可通过多种寻址方法来形成;但在偏移地址前一般要加上段前缀(ES:)。 堆栈段SS(Stack Segment) 用于存储压入堆栈的数据或状态信息。 “堆栈”是按照“先进后出”原则组织的一段特殊的存储器区域。在计算机的各种应用中,堆栈是一种非常有用的数据结构,它为保护数据、调度数据提供了重要的手段。计算机在进行子程序调用和中断时,都会用到堆栈。

112 第一章:微机系统概述 3. 控制寄存器IP、FLAGS 指令指示器IP(Instruction Pointer)
是一个16位的寄存器。用来存放预取指令的偏移地址。 CPU取指令时总是以CS为段基址,以IP为段内偏移地址。当CPU从CS段中偏移地址为IP的内存地址中取出指令代码的一个字节后,IP自动加1,指向指令代码的下一个字节。用户程序不能直接访问IP。 标志寄存器FLAGS (称为FR)或程序状态字(PSW) 是一个16位的寄存器,仅定义了9位,其中6位用作状态标志,3位用作控制标志。

113 第一章:微机系统概述 6个状态位如下: 进位标志CF:当加法运算有进位,减法运算有借位时, CF=1,否则CF=0。
OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 溢出 方向 中断允许 单步 进位 奇偶 半进位 全零 6个状态位如下: 进位标志CF:当加法运算有进位,减法运算有借位时, CF=1,否则CF=0。 辅助进位标志AF:在算术运算操作时,低4位向高4位有进位(加法)或有借位(减法);则AF=1,否则AF=0。

114 第一章:微机系统概述 奇偶校验标志PF:当运算结果低8位“1”的个数为偶数时,PF=1,否则PF=0。主要用于检查数据传送过程中的错误。
零标志ZF: 当运算结果为0时,ZF=1,否则ZF=0。 溢出标志OF:当运算结果超出补码表示的数值范围时, OF=1,否则OF=0。 符号标志SF:在进行符号数的运算时,当运算结果为负 时,SF=1,否则SF=0。

115 第一章:微机系统概述 奇偶校验标志PF:当运算结果低8位“1”的个数为偶数时,PF=1,否则PF=0。主要用于检查数据传送过程中的错误。
零标志ZF: 当运算结果为0时,ZF=1,否则ZF=0。 溢出标志OF:当运算结果超出补码表示的数值范围时, OF=1,否则OF=0。 符号标志SF:在进行符号数的运算时,当运算结果为负 时,SF=1,否则SF=0。

116 第一章:微机系统概述 3个控制标志位用来控制CPU的操作: 方向标志DF(Direction Flag):控制串操作指令对字符串处理的方向。
置DF=0时,由低地址向高地址进行串操作,变址寄存器SI和DI自动增量操作。字节:增为1,字:增量为2; 置DF=1时,在串操作中,变址寄存器SI和DI自动减量操作。 中断允许标志IF(Interrupt Flag): 置IF=0时,禁止CPU响应可屏蔽中断; 置IF=1时,允许CPU响应可屏蔽中断;

117 第一章:微机系统概述 单步陷阱标志TF(Trap Flag): 置IF=1时:置CPU进入单步工作方式,即CPU每执行完一条指令
就产生一个内部中断(单步中断),以便对每条指令 执行的结果作跟踪检查; 置IF=0时:置CPU正常执行程序。

118 第一章:微机系统概述 § 1.4.4 8088/8086的存储器结构 2. 存储器的分段管理
§ /8086的存储器结构 1. 存储器基本结构 8086CPU有20位地址线,可寻址的最大物理内存容量为1MB。地址范围为 00000H~FFFFFH。 每个存储单元存储一个字节的数据,两个相邻的字节定义为一个字。每一个字的低字节存放在低地址中,高字节存放在高地址中,并以低字节的地址作为字地址。 2. 存储器的分段管理 采用存储器划分为逻辑段方式,每个段的大小可达64KB。

119 第一章:微机系统概述 (1) 物理地址计算 在1M字节存储器里,每个存储单元都有一个唯一的20位地址作为该存储单元的物理地址。由16位段地址和16位偏移地址形成20位物理地址。 段地址:也称段基地址,表示相应段起始地址的高16位值,段地址是由段寄存器的内容构成。 偏移地址: 也称有效地址EA,指在段内某内存单元物理地址相对段起始地址的偏移值。由于各逻辑段的长度不超过 64KB,即偏移地址不超过FFFFH,所以可以用16位无符号二进制数进行表示。 物理地址计算公式: 物理地址PA= 段地址 16(24)+偏移地址

120 第一章:微机系统概述 例:某数据存放在DS=8561H和DI=3742H的数据段的存储 单元中,此存储单元的物理地址为:
物理地址PA= 段地址 16(24)+偏移地址 = 8561H  H=88D52H

121 第一章:微机系统概述 (2)逻辑地址与物理地址 逻辑地址通常表示形式为: 段地址:偏移地址 即: xxxxH:yyyyH
逻辑地址:由段基址和段内偏移地址组成的地址。 逻辑地址通常表示形式为: 段地址:偏移地址 即: xxxxH:yyyyH 例:2000H:0100H ; H:5F62H 物理地址与逻辑地址的区别: 物理地址是存储器的绝对地址(20位的实际地址),范围从00000H~FFFFFH , 是由CPU访问存储器时由地址总线发出的地址。逻辑地址是程序员在程序设计时使用。

122 第一章:微机系统概述 逻辑地址与物理地址概念如图所示。 段基址 20000H 25F60H 25F61H 25F62H 25F63H 逻 辑
...... 20000H 25F60H 25F61H 25F62H 25F63H 2000H 段基址 段内偏移地址 5F62H

123 第一章:微机系统概述 逻辑地址转换为物理地址的操作:
BIU中20位的地址加法器自动完成。段地址左移4位(20位),再与偏移地址(有效地址EA)相加,即得到20位的物理地址。 例:逻辑地址为3A00H:12FBH,对应的物理地址是什么? 物理地址 = 3A000H+12FBH = 3B2FBH

124 第一章:微机系统概述 (3)逻辑地址来源 与CPU执行的操作有关。 操作类型 正常使用(隐含)段基址 可替换 段地址 偏移地址 物理地址计算
PA 取指令 CS IP (CS)16+(IP) 堆栈操作 SS SP (SS) 16+(SP) BP间址 CS,DS,ES 有效地址EA (SS) 16+(BP) 存取变量 DS CS,ES,SS (DS )16+EA 源字符串 SI (DS) 16+(SI) 目标字符串 ES DI (ES) 16+(DI)

125 第一章:微机系统概述 取指令时:  指令物理地址=(CS)×10H+(IP)(指令指针寄存器 )
 例:(CS)=2000H, (IP)= 0010H 指令物理地址= 2000H × 10H+0010H=20010H 堆栈操作:  栈顶单元物理地址=(SS)×10H+(SP) (堆栈指针寄存器)  栈区单元物理地址= (SS) ×10H+(BP) (基址指针寄存器) 操作数寻址:  操作数物理地址=(DS)×10H+EA(或) =(ES)×10H+EA EA:有效地址,由具体的寻址方式决定。

126 第一章:微机系统概述 (4)逻辑段在存储器中分配 由操作系统负责分配 每个段可以独立地占用64K存储区。 各段也可以允许重迭
每个段的大小允许根据实际需要分配,不一定要占64KB。每个存储单元的内容不允许发生冲突(段可重迭,但使用时防止冲突)。 在程序的首部设定各段寄存器的值 如果程序中的四个段都是64K的范围之内,程序运行时所需要的信息都在本程序所定义的段区之内,程序员只要在程序的首部设定各段寄存器的值就可以了。

127 第一章:微机系统概述 动态地修改段寄存器的内容
如果程序的某一段(如数据段)在程序运行过程中会超过64K空间,或者程序中可能访问除本身四个段以外的其他段区的信息,那么在程序中必须动态地修改段寄存器的内容。

128 第一章:微机系统概述 各段允许重迭: 代码段:01000H~1FFFH 数据段:02000H~027FFH
64KB为一段 代码段范围:01000H~10FFFH

129 第一章:微机系统概述 + [Y]补=11 1010 5.已知X、Y的值,求(X+Y),并判断是否溢出,采用双符号位补码表示(变形补码)。
[X+Y]补= SL⊕SR=0⊕1=1 溢出(正) ② X=-0101,Y=-0110 [X]补= [Y]补= [X]补= + [Y]补= [X+Y]补 = (1舍) SL⊕SR=1⊕1=0 未溢出 [X+Y]原 = [X+Y]=-11

130 第一章:微机系统概述

131 第一章:微机系统概述

132 PC/XT原理图

133 Thank You !


Download ppt "微型计算机系统."

Similar presentations


Ads by Google