1 / 307

Principle and Application of Microcomputer 微 机 原 理 及 应 用

Principle and Application of Microcomputer 微 机 原 理 及 应 用. R 2. 教 师:田 行 斌 单 位:机 电 系. 学习内容. 微型计算机系统概述 微处理器指令系统 汇编语言程序设计 微处理器外部特性 半导体存储器系统 基本输入输出接口 并行接口及其应用. 学习目的. 了解微型计算机的硬件知识 熟练掌握汇编语言程序设计 建立微机系统的整体概念, 为接口开发及应用奠定基础. 微型计算机系统概述. 微型计算机的发展和应用 微型计算机的系统组成 计算机中的数据表示. 微型计算机的发展.

quilla
Download Presentation

Principle and Application of Microcomputer 微 机 原 理 及 应 用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Principle and Application of Microcomputer微 机 原 理 及 应 用 R2 教 师:田 行 斌 单 位:机 电 系

  2. 学习内容 • 微型计算机系统概述 • 微处理器指令系统 • 汇编语言程序设计 • 微处理器外部特性 • 半导体存储器系统 • 基本输入输出接口 • 并行接口及其应用

  3. 学习目的 • 了解微型计算机的硬件知识 • 熟练掌握汇编语言程序设计 • 建立微机系统的整体概念,为接口开发及应用奠定基础

  4. 微型计算机系统概述 • 微型计算机的发展和应用 • 微型计算机的系统组成 • 计算机中的数据表示

  5. 微型计算机的发展 • 第1代:4位微机。 CPU:4004 • 第2代:8位微机。 CPU:8080 • 第3代:16位微机。CPU:8086、8088 • 第4代:32位微机。CPU:80386、Pentium • 第5代:64位微机。CPU:Itanium

  6. 微型计算机的应用 • 用于数值计算、数据处理及信息管理 • 用于过程控制及嵌入应用方向

  7. 微型计算机系统的组成 • 硬件系统:CPU、存储器、I/O接口、I/O设备、系统总线 • 软件系统: 系统软件-操作系统、语言处理软件等 应用软件-为某个应用编制的程序

  8. 系统总线 地址总线AB 系 统 总 线 形 成 处 理 器 子 系 统 数据总线DB 控制总线CB 存储器 I/O接口 I/O设备 微机系统的硬件组成

  9. IBM PC系列计算机 IBM PC/XT IBM PC/AT

  10. 计算机中的数据表示 • 计算机中各种信息均表示为二进制数据。 • 数:用来直接表征量的多少,可进行运算。 • 码:指代码或编码,用来代表某个事物。

  11. 基本术语 • 位 (Bit) :二进制位,为0或1。 • 字节(Byte):8个二进制位。 • 字 (Word):2字节(16位)数据。 • 双字(Double Word):4字节数据。 • 千字节(KB):210个字节。 • 兆字节(MB):220个字节。

  12. 计算机中的数 • 二进制数后缀为B或b,十进制数后缀为D或d,十六进制数后缀为H或h。 • 二进制数:由数字0和1组成,基数为2,逢2进1,各个数位的权值由右向左依次为20、21、22、23、…。 • 十六进制数:由数字符号0-9、A-F组成,基数为16,逢16进1,各个数位的权值由右向左依次为160、161、162、163、…。

  13. 二进制数与十进制数之间的转换 • 二进制数到十进制数的转换:按权展开求和00001011B=1×23+1×21+1×20=11D • 十进制数到二进制数的转换:除基取余建议按照按权展开的逆过程进行

  14. 二进制数与十六进制数之间的转换 • 每4位二进制数对应1位十六进制数0000B=0H 0100B=4H 1000B=8H 1100B=CH0001B=1H 0101B=5H 1001B=9H 1101B=DH0010B=2H 0110B=6H 1010B=AH 1110B=EH0011B=3H 0111B=7H 1011B=BH 1111B=FH • 十六进制数常用来简化对二进制数的书写

  15. 计算机中的码 • 用于表示有符号数的补码。 • 用于表示十进制数的BCD码。 • 美国标准信息交换码ASCII码。

  16. 补码 • 计算机内部默认采用补码表示有符号数。规定:最高有效位为符号位,0表示正数,1表示负数。 • 正数的补码:最高有效位为0,其余各位为该整数的二进制表示。如:(+2)=(00000010B)补 • 负数的补码:最高有效位为1,其余各位可对该整数的二进制表示求补(即按位取反再加1)得到。如:(-2)=(11111110B)补

  17. 补码的性质 • (X)补 + (Y)补=(X +Y)补=(X)补 + (+Y)补 • (X)补- (Y)补=(X - Y)补=(X)补 + (- Y)补 • 采用补码表示有符号数可将减法转换为加法。

  18. 有关补码的问题 • 1) 已知(负数)补码求真值 按权展开求和,但符号位的权值要取为相反数。(10000010B)补=1×(-128)+1×2=-126 • 2)已知补码求相反数的补码(+4)=(00000100B)补 (-4)=(11111100B)补由右向左抄写,遇到0照写,遇到第一个1也照写,其后各位按位取反。据此,可根据一个正数的补码得到其相反数(负数)的补码。

  19. 补码的符号扩展 • 补码的符号扩展是指将有符号数的长度扩展而不改变其值。原则是:新扩的左侧各位均复制原符号位上的值。(68H)补= (0068H)补(86H)补= (FF86H)补

  20. BCD码 • Binary Code Decimal:二进制编码的十进制数 • 压缩的8421BCD码0000B=0 0011B=3 0110B=6 1001B=9 0001B=1 0100B=4 0111B=7 0010B=2 0101B=5 1000B=8

  21. ASCII码 • 美国标准信息交换码。码长7位,用来表示34个外设控制符号和94个可供打印的西文符号。数码0~9的ASCII码为30H~39H;大写字母A~Z的ASCII码为41H~5AH;小写字母a~z的ASCII码为61H~7AH;0DH表示回车,0AH表示换行。

  22. 第一章教学要求 • 掌握微机系统的组成 • 熟练二进制数与十进制数的转换、二进制数与十六进制数的转换 • 熟练掌握有符号数的补码表示、BCD码

  23. 第一章练习 • 8位机器数所能表示的无符号数和有符号数的范围是多少?16位机器数呢? • (+37)和(-37)的补码是多少? • 数据50和50H所对应的BCD码是多少? • 8位机器数46H,若作为无符号数、有符号数补码、BCD码、ASCII码,各代表什么?

  24. 微处理器指令系统 • 微处理器的内部结构 • 8086/8088的寻址方式 • 8086/8088指令系统

  25. 微处理器的基本结构 • 算术逻辑单元ALU(运算器) • 寄存器组:包括通用寄存器,地址寄存器,标志寄存器。 • 指令处理单元(控制器):包括指令寄存器,指令译码逻辑,时序和控制逻辑。

  26. 8086/8088的功能结构 • 总线接口单元BIU:由指令队列、指令指针IP 、段寄存器、地址加法器和总线控制逻辑等组成,负责CPU对存储器和外设进行访问。 • 执行单元EU:由ALU、数据寄存器、地址寄存器、标志寄存器和指令译码逻辑等组成,负责指令的译码、执行和数据的运算。

  27. 8086的内部结构图

  28. 8086/8088的寄存器结构 • 8086/8088中有14个16位寄存器 • 通用寄存器AX、BX、CX、DX、SI、DI、BP、SP • 指令指针IP • 标志寄存器FLAGS • 段寄存器CS、SS、DS、ES

  29. 通用寄存器 • 16位的通用寄存器有8个,它们是:AX、BX、CX、DX、SI、DI、BP、SP • 其中,前4个寄存器(即AX、BX、CX、DX)还可以各分成高8位和低8位的两个独立的8位寄存器,它们分别是:AH、AL,BH、BL,CH、CL,DH、DL

  30. 寄存器AX/BX/CX/DX • AX:16位累加器,用于算术运算以及与外设传送信息等;AL为8位累加器。 • BX:基址寄存器,常用来做基址指针,指向一批连续存放的操作数的基地址。 • CX:计数器,作为循环和串操作等指令中的隐含计数器。 • DX:数据寄存器,用来存放外设端口的16位地址,或双字长数据的高16位。

  31. 变址寄存器SI/DI • 变址寄存器常用于存储器寻址时提供地址。 • SI是源变址寄存器。 • DI是目的变址寄存器。 • 在串操作类指令中,SI和DI具有特别的功能。

  32. 指针寄存器SP/BP • 指针寄存器用于寻址内存堆栈中的数据。 • SP为堆栈指针寄存器,指示栈顶的偏移地址。SP不能再用于其他目的,具有专用性。 • BP为基址指针寄存器,表示数据在堆栈段中的基地址。 • SP/BP寄存器与SS堆栈段寄存器联合使用以确定堆栈段中的存储单元地址。

  33. 指令指针IP • 指令指针IP,指示代码段中指令的偏移地址。 • 它与代码段寄存器CS联用,确定下一条指令的物理地址。CPU通过CS:IP来取指,从而控制指令序列的执行流程。 • IP是一个专用寄存器,用户不能直接访问。

  34. 标志寄存器FLAGS • 标志(Flag)用于反映指令的执行结果或控制指令的执行形式。各种标志存放于一个16位的标志寄存器FLAGS中。 • 标志分成两类状态标志:用来记录程序运行结果的状态信息;控制标志:用于控制处理器的具体工作方式。

  35. 状态标志CF/PF/AF • CF—进位标志位。做加减运算时,若最高有效位有进位或借位,则CF置1,反之置0。 • PF—奇偶标志位。当运算结果的低8位中l的个数为偶数时,则PF置1,反之置0。 • AF—半进位标志位。做加减运算时,若Bit3有向Bit4的进位或借位,则AF置1,反之置0。

  36. 状态标志ZF/SF/OF • ZF—零标志位。运算结果为0时,ZF置1,否则置0。 • SF—符号标志位。运算结果的最高位为1时,SF置1,否则置0。 • OF—溢出标志位。若有符号数的加减运算有溢出,OF置1,否则置0。

  37. 控制标志TF/IF/DF • 陷阱标志TF(单步标志):TF=1,CPU单步执行指令;TF=0,CPU正常工作。 • 中断允许标志IF:控制外部可屏蔽中断是否可以被CPU响应。IF=1允许中断,IF=0禁止中断。 • 方向标志DF:用于串操作指令中控制地址的变化方向。DF=0地址增加;DF=1地址减少。

  38. 8086/8088的存储器结构 • 存储器以字节为单位存储信息。每个存储器单元(字节单元)都有一个地址。 • 8086/8088有20根地址线。最大可寻址的存储器单元数为220=1MB。 • 其物理地址范围为00000H~FFFFFH。例如:[00002H]=34H。

  39. 小端方式 • 字或双字信息在存储器中占相邻的2个或4个存储单元。 • 多字节数据占据的地址空间用低地址来表示。 • 按“小端方式”存储,即“低字节对低地址、高字节对高地址”。例如:[00002H]=1234H,意指:[00002H]=34H, [00003H]=12H。

  40. 存储器的分段管理 • 8086/8088将1MB存储器空间分成若干个逻辑段来管理。每个段最大限制为64KB。 • 采用逻辑地址(段地址:偏移地址)的形式来表达段中每个存储器单元的20位物理地址。 • 段地址和偏移地址都是16位二进制数。

  41. 段地址 • 段地址说明该逻辑段在内存中的起始位置,即该段中的第一个内存单元的物理地址。 • 规定段地址必须是模16地址,即××××0H的形式,故可采用16位二进制数据表示,保存在16位的段寄存器(CS,DS,ES,SS)中。

  42. 偏移地址 • 偏移地址说明该段中某个内存单元距离该段起始位置的偏移量。 • 由于每个段的长度不超过64KB,故偏移地址也可采用16位二进制数据表示。

  43. 逻辑地址和物理地址 • 物理地址 = 段地址×10H + 偏移地址。 • 一个存储器单元只有一个唯一的物理地址。 • 但一个存储器单元可以拥有多个逻辑地址。

  44. 代码段(Code Segment) • 代码段主要用来存放指令代码(程序),也可存放数据。 • 代码段寄存器CS存放代码段的段地址。 • 指令指针寄存器IP指示下条指令的偏移地址。 • 处理器利用CS:IP取得下一条要执行的指令。

  45. 数据段(Data Segment) • 数据段存放程序所使用的数据。 • 数据段寄存器DS存放数据段的段地址。 • 通过各种存储器寻址方式得到存储器中操作数的偏移地址(有效地址EA)。 • 处理器利用DS:EA存取数据段中的数据。

  46. 附加段(Extra Segment) • 附加段是附加的数据段,也用于数据的保存。 • 附加段寄存器ES存放附加段的段地址。 • 通过各种存储器寻址方式得到存储器中操作数的偏移地址(有效地址EA) 。 • 处理器利用ES:EA存取附加段中的数据。

  47. 堆栈段(Stack Segment) • 堆栈段用于堆栈(Stack),用来暂时存放数据、保存程序断点、和向子程序传递参数等。 • 堆栈段寄存器SS存放堆栈段的段地址。 • 堆栈指针寄存器SP指示堆栈栈顶的偏移地址。 • 处理器利用SS:SP操作堆栈栈顶的数据。

  48. 逻辑段的使用 • 程序的指令序列必须安排在代码段。 • 程序使用的堆栈一定在堆栈段。 • 程序中的数据默认是安排在数据段,也经常安排在附加段。数据的存放比较灵活,实际上可以存放在任何一种逻辑段中。

  49. 8086/8088的寻址方式 • 指令由操作码和操作数两部分组成。如:MOVAH,0B9H ;将B9H传送到AH寄存器 • 操作码说明计算机要执行何种操作,是指令中不可缺少的部分。操作数就是各种操作的对象。指令可以有一个、两个或没有操作数。 • 寻找操作数的方式(或操作数的存放方式)叫做操作数的寻址方式。

  50. 操作数 • 操作数可以是一个具体的数值,存放于操作码之后,称为立即数操作数; • 操作数可以是存放数据的寄存器,数据存放于该寄存器中,称为寄存器操作数; • 操作数可以是用某种方式指明的数据所在的存储器单元的地址,数据存放于该存储器单元中,称为存储器操作数。

More Related