清华大学计算机硬件技术基础Chapter21

上传人:鲁** 文档编号:567543470 上传时间:2024-07-21 格式:PPT 页数:35 大小:620.52KB
返回 下载 相关 举报
清华大学计算机硬件技术基础Chapter21_第1页
第1页 / 共35页
清华大学计算机硬件技术基础Chapter21_第2页
第2页 / 共35页
清华大学计算机硬件技术基础Chapter21_第3页
第3页 / 共35页
清华大学计算机硬件技术基础Chapter21_第4页
第4页 / 共35页
清华大学计算机硬件技术基础Chapter21_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《清华大学计算机硬件技术基础Chapter21》由会员分享,可在线阅读,更多相关《清华大学计算机硬件技术基础Chapter21(35页珍藏版)》请在金锄头文库上搜索。

1、第二章第二章 8086/8088微处理器微处理器第一节第一节 8086/8088微处理器的结构微处理器的结构第二节第二节 8086/8088的寻址方式的寻址方式第三节第三节 8086/8088的指令系统的指令系统第四节第四节 DOS操作系统简介操作系统简介1第一节第一节 8086/8088微处理器的结构微处理器的结构一、简介一、简介二、二、8086/8088的编程结构的编程结构 1. 总线接口部件总线接口部件 2. 执行部件执行部件 3. 工作原理工作原理三、三、8086/8088的寄存器组的寄存器组四、四、8086/8088的存储器组织的存储器组织 1. 内存物理地址的形成内存物理地址的形成

2、 2. 内存单元内容的存放及表示内存单元内容的存放及表示五、五、8086/8088的的I/O组织组织2一、一、8086/8088简介简介l Intel 系列系列 的的16位位CPU双列直插式封装双列直插式封装40根引脚根引脚工作频率为工作频率为4.77MHz 10MHz工作电源工作电源+5V 80883l 8086 : 对外有对外有16根数据线,根数据线,20根地址线根地址线可寻址的内存单元数可寻址的内存单元数 220 = 1M内存地址范围内存地址范围00000 FFFFFHl 8088 :内部寄存器、运算部件及内部寄存器、运算部件及 内部操作均按内部操作均按16位设计位设计,除对外数据线为除

3、对外数据线为8根外,其余与根外,其余与8086基本相同。基本相同。为与当时已有的为与当时已有的8 位外设接口芯片兼容位外设接口芯片兼容。 IBM PC、IBP PC/XT 采用采用8088CPU 80884二、二、8086/8088的编程结构的编程结构l 编程结构:编程结构: 指从程序员和使用者的角度看到的结构。指从程序员和使用者的角度看到的结构。 与芯片内部的物理结构和实际布局有区别。与芯片内部的物理结构和实际布局有区别。某某CPU芯片内部实物图芯片内部实物图51. 总线接口部件总线接口部件BIU (Bus Interface Unit) 运输部门运输部门2. 执行部件执行部件EU (Exe

4、cute Unit) 加工部门加工部门3. 工作原理工作原理DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器8088 编程结构编程结构DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄

5、存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器61. 总线接口部件总线接口部件 BIUl 构成部分构成部分 4个个16位段寄存器:位段寄存器: CS,DS,ES,SS 16位位IP指令指针寄存器指令指针寄存器 地址加法器地址加法器 4字节的指令队列字节的指令队列 ( 8086的的指指令令队队列列为为6字字节节 )DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线

6、接口接口控制控制电路电路运运算算器器地地址址加加法法器器8088 编程结构编程结构BIUEUl 主要功能主要功能 负责与存储器、负责与存储器、I/O接口传递数据接口传递数据 具体完成:具体完成: 1)从内存取指令,送到指令队列从内存取指令,送到指令队列; 2)配合执行部件从指定的内存单元配合执行部件从指定的内存单元 或或I/O端口取数据端口取数据; 3)将执行部件的操作结果送到将执行部件的操作结果送到 指定的内存单元或指定的内存单元或I/O端口。端口。72执行部件执行部件EUl构成部分:构成部分: 8个个16位寄存器:位寄存器: AX、BX、CX、DX SP、BP、DI、SI 1个标志寄存器个

7、标志寄存器PSW 1个算术逻辑运算部件个算术逻辑运算部件ALUl主要功能主要功能 执行部件负责指令的执行。执行部件负责指令的执行。(包括算术、逻辑运算,控制命令等包括算术、逻辑运算,控制命令等)DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器8088 编程结构编程结构BIUEU83. 工作原理工作原理 计算机的工作过程是:计算机的工作过程是: 取指令取指令, 执行指令

8、执行指令CPU 总线总线 内存内存DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器、指令指令1指令指令2指令指令3指令指令4、数据数据1数据数据2数据数据3、地址总线地址总线AB数据总线数据总线DB控制总线控制总线CB地地址址译译码码器器9总线接口部件和执行部件总线接口部件和执行部件可并行工作,提高工作效率。可并行工作,提高工作效率。l指令的提取和执行分别指令的提取和

9、执行分别 由由BIU和和EU完成。完成。lBIU和和EU相互独立又相互配合相互独立又相互配合1) 当指令队列有一个空字节时,当指令队列有一个空字节时, BIU自动把指令取到指令队列中自动把指令取到指令队列中2) 执行部件总是从指令队列前部执行部件总是从指令队列前部 提出指令去执行。提出指令去执行。3) 如果在执行指令的过程中,如果在执行指令的过程中, 需要访问内存或需要访问内存或I/O端口,端口, EU会请求会请求BIU去完成存取操作去完成存取操作。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCH

10、DHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器8088 编程结构编程结构BIUEU10l 由于有指令队列的存在,由于有指令队列的存在, 在在EU执行指令的同时,执行指令的同时,BIU可取指令,可取指令, 即即BIU和和EU可处于并行工作状态。可处于并行工作状态。 取指取指 取指取指 取指取指 取指取指 取数取数 取指取指 等待等待 执行执行 执行执行 执行执行 等待等待 执行执行时间时间8088的工作原理:的工作原理:BIUEU11三、三、8086/8088的寄存器组的寄存器组l 共有共有14个个16位寄存器

11、位寄存器, 其中:其中: AX、BX、CX、DX 又可分成两个又可分成两个 8 位寄存器。位寄存器。 其它其它10个只能作为个只能作为16位寄存器。位寄存器。DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器8088 编程结构编程结构DSESSSCSIP数据暂存器数据暂存器执执 行行 部部 件件控控 制制 电电 路路指令译码器指令译码器

12、总线总线接口接口控制控制电路电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组BIUABDBCB地地址址加加法法器器指指令令队队列列PSW标志寄存器标志寄存器EU运运算算器器1213l 状态标志寄存器状态标志寄存器PSW (Processor Status Word)16位寄存器,包含位寄存器,包含9个标志个标志各标志在标志寄存器中的位置如下:各标志在标志寄存器中的位置如下: 用了其中的用了其中的9位,其它位,其它7位在位在8086/8088中无意义。中无意义。14 9个标志按其作用分个标志按其作用分状态标志状态标志和和控制标志控制标志两类两类l 状态标志状态

13、标志:OF、SF、ZF、AF、PF、CF 共共6个个 记录指令运行过程或运算结果的状态信息。记录指令运行过程或运算结果的状态信息。 常作为后续转移指令的控制条件,又称为条件码。常作为后续转移指令的控制条件,又称为条件码。l 控制标志控制标志: DF、IF、TF 共共3个个 作用是控制作用是控制CPU 的操作。的操作。15各状态标志的含义各状态标志的含义:CF:进位标志进位标志(Carry Flag) 反应运算过程中,最高位是否产生进位反应运算过程中,最高位是否产生进位/借位。借位。 (最高位,对字节操作指最高位,对字节操作指D7位位 ,对字操作指对字操作指D15位位) 加法,最高有效位有进位加

14、法,最高有效位有进位CF1,否则否则CF0 减法,最高有效位有借位减法,最高有效位有借位CF1,否则否则CF0AF:辅助进位标志辅助进位标志(Auxiliary Carry Flag) 反应运算过程中,对字节操作反应运算过程中,对字节操作D3位位 是否产生进位。是否产生进位。 对字操作对字操作D7位位 有进位或借位时,有进位或借位时,AF1,否则否则AF0。16ZF:零标志零标志(Zero Flag) 反应运算结果是否为反应运算结果是否为0。 运算结果为运算结果为 0 时,时,ZF1,否则否则ZF0SF:符号标志符号标志(Sign Flag) 反应运算结果的符号位。反应运算结果的符号位。 对字

15、节操作对字节操作 SFD7 对字操作对字操作SFD1517OF:溢出标志溢出标志(Overflow Flag) 反应运算过程中是否产生溢出。反应运算过程中是否产生溢出。 产生溢出,产生溢出,OF1,否则为否则为0。PF:奇偶标志奇偶标志(Parity Flag) 反应运算结果中反应运算结果中“1”的个数情况。的个数情况。 有偶数个有偶数个“1”时,时,PF1, 否则否则PF0。18 1 0 1 1 0 1 0 1 被加数被加数8位位 + + 1 0 0 0 1 1 1 1 加数加数8位位进位进位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 和和8位位PSW标志寄存器标志寄存器运

16、运算算器器标志标志寄存器寄存器运运算算器器被加数被加数加数加数和和进位进位例例 8位二进制加法如下,给出各状态标志位的值位二进制加法如下,给出各状态标志位的值 最高位最高位D7位产生进位位产生进位: CF = 1 D3位产生进位位产生进位: AF = 1相加的结果为相加的结果为44H, 不为不为0: ZF = 0结果的最高位为结果的最高位为0: SF = 0两负数相加结果为正,溢出两负数相加结果为正,溢出: OF = 1结果中有结果中有2个个1,偶数个,偶数个1: PF = 11 0 0 1 1 119各控制标志作用各控制标志作用(以后用到再介绍以后用到再介绍):DF:方向标志方向标志在串操作

17、指令中控制地址变化的方向。在串操作指令中控制地址变化的方向。当当DF1时,地址递减;当时,地址递减;当DF时,地址递增。时,地址递增。IF:中断标志中断标志当当IF1时,允许时,允许CPU响应可屏蔽中断申请。响应可屏蔽中断申请。当当IF时,禁止时,禁止CPU响应可屏蔽中断申请。响应可屏蔽中断申请。TF:跟踪标志跟踪标志为调试程序设置的一个控制标志。为调试程序设置的一个控制标志。 当当TF1时,时,CPU按单步方式执行指令。按单步方式执行指令。20四、四、8086/8088的存储器组织的存储器组织 1. 内存物理地址的形成内存物理地址的形成 2. 内存单元内容的存放及表示内存单元内容的存放及表示

18、211.内存物理地址的形成内存物理地址的形成l 取指令、取数、存数时,都要访问内存,取指令、取数、存数时,都要访问内存, 被访问内存单元的地址由被访问内存单元的地址由CPU提供。提供。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器、指令指令1指令指令2指令指令3指令指令4、数据数据1数据数据2数据数据3、地址总线地址总线AB数据总线数据总线DB控制总线控制总线CB地

19、地址址译译码码器器22l 8086/8088有有20根地址线,根地址线, 可寻址可寻址220 =1M个内存单元,个内存单元, 而而CPU内部寄存器均为内部寄存器均为16位,位, 故:故: 20位的地址需由位的地址需由 一个附加部件完成。一个附加部件完成。 这个部件就是这个部件就是地址加法器地址加法器。DSESSSCSIP数据暂存器数据暂存器PSW标志标志寄存器寄存器执行部件控制电路执行部件控制电路指令译码器指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器8088 编程结构编

20、程结构BIUEU23l 地址加法器的工作原理地址加法器的工作原理 可表示为:可表示为: 物理地址物理地址PA = 段地址段地址 偏移地址偏移地址 = ( 段寄存器段寄存器 ) 16 + 偏移地址偏移地址 = ( 段寄存器段寄存器 ) 10H + 偏移地址偏移地址即段寄存器的内容左移即段寄存器的内容左移4位,加上偏移地址位,加上偏移地址24物理地址物理地址PA = 段地址段地址 偏移地址偏移地址 = ( 段寄存器段寄存器 ) 10H + 偏移地址偏移地址l 段寄存器有段寄存器有4个:个: DS、ES、CS、SSl 偏移地址由偏移地址由 IP、SP、BX、BP、SI、DI 或一个或一个8位或位或1

21、6位二进制数得到。位二进制数得到。 这种存储器管理方式叫这种存储器管理方式叫分段编址分段编址。25物理地址物理地址PA = 段地址段地址 偏移地址偏移地址 = ( 段寄存器段寄存器 ) 10H + 偏移地址偏移地址 或段寄存器的内容左移或段寄存器的内容左移4位,加上偏移地址位,加上偏移地址 例例:某内存单元的段地址由某内存单元的段地址由DS、偏移地址由偏移地址由BX给出。给出。 若若( DS) = 2000H, ( BX) = 1000H,计算其物理地址。计算其物理地址。 PA = ( DS ) 10H + ( BX ) = 2000H 10H + 1000H = 21000H26要点要点:(

22、段地址由段地址由16位的段寄存器位的段寄存器给出,可将段地址给出,可将段地址直接用直接用16位表示位表示)l 物理地址物理地址20位,段地址位,段地址20位,偏移地址位,偏移地址16位。位。物理地址物理地址PA = 段地址段地址 偏移地址偏移地址 = ( 段寄存器段寄存器 ) 10H + 偏移地址偏移地址l 由由16位段寄存器位段寄存器决定有决定有216 = 64 K个段值个段值 由由16位偏移地址位偏移地址决定决定每个段的大小为每个段的大小为0 64K 每个段最大每个段最大64 K,但不一定是但不一定是64 K,可据需要分配。可据需要分配。27l 用用( )表示内存单元的内容:表示内存单元的

23、内容:( 21000H ) = 0FH( 2000:1000H ) = 0FH( DS:BX ) = 0FHl 内存单元物理地址的几种表示方法:内存单元物理地址的几种表示方法: PA 21000H 2000:1000H DS:BX.0FhFFh56h.21000H内存内存DS:BX2000:1000H28l 每个内存单元有唯一的物理地址,每个内存单元有唯一的物理地址, 但但可可由由不不同同的的段段地地址址和和偏偏移移地地址址构构成成。(实实验验二二内内容容)例例 某内存操作的段值由某内存操作的段值由 DS 给出,偏移值由给出,偏移值由BX给出。给出。若若 ( DS ) = 1000H ,( B

24、X ) = 0150H, 则:则:PA = ( DS ) 10H + ( BX ) = 1000 H 10H + 0150H = 10150H若若 ( DS ) = 1010H ,( BX ) = 0050H, 则:则:PA = ( DS ) 10H + ( BX ) = 1010 H 10H + 0050H = 10150H.12h34h56h.10150H内存内存10151H10152H物理地址相同,就选中同一单元物理地址相同,就选中同一单元292内存单元内容的存放及表示内存单元内容的存放及表示表示为:表示为:( 01000H ) = 1EH( 01001H ) = 2FH.1E2F3C.

25、01000H内存内存01001H01002Hl 一个内存单元可以存放一个字节信息一个内存单元可以存放一个字节信息30l 8086/8088是是16位位CPU,可对内存进行字节或字操作可对内存进行字节或字操作例例 将字数据将字数据1234H写入从写入从02000H开始开始的内存单元的内存单元.34h12h.02000H内存内存02001H当往内存写一个字数据时,当往内存写一个字数据时,写入规则是:写入规则是:写入的结果:写入的结果:( 02000H ) = 34H( 02001H ) = 12H低字节低字节到到低地址单元低地址单元高字节高字节到到高地址单元高地址单元31取入的结果:取入的结果:

26、( AL ) = 34H ( AH ) = 12H 或表示为或表示为 ( AX ) =1234H例例 将内存将内存02000H单元的字数据单元的字数据1234H取入取入AX寄存器中寄存器中.34h12h.02000H内存内存02001H将内存的某一字数据取至将内存的某一字数据取至CPU内的寄存器时,内的寄存器时, 取取入规则是:入规则是:低字节低字节到到低低8位寄存器位寄存器高字节高字节到到高高8位寄存器位寄存器32l 在书写时,可用首地址表示相邻内存单元的内容在书写时,可用首地址表示相邻内存单元的内容如如 ( 02000H ) = 1234 H 等价于等价于 : ( 02000H) = 34

27、H( 02001H) = 12H注意注意: 按照按照低字节低地址,高字节高地址低字节低地址,高字节高地址规律规律.34h12h.02000H内存内存02001H33五、五、8086/8088的的I/O组织组织I/O端口端口1I/O端口端口2I/O端口端口3地址地址译码译码数据数据缓冲缓冲控制控制电路电路外外设设ABDBCBCPUl CPU通过通过I/O接口电路与外设连接。接口电路与外设连接。 各各I/O接口内部有一个或若干接口内部有一个或若干I/O寄存器寄存器( I/O端口端口 ) CPU对对I/O端口可进行读端口可进行读/写操作写操作。34l 8086/8088可寻址可寻址216= 64 K个个I/O端口端口I/O端口范围端口范围0000 FFFFHl 8086/8088设有专用的指令对设有专用的指令对I/O端口进行读写操作,端口进行读写操作, 即即 IN 和和 OUT指令指令 (在第五章详细介绍)(在第五章详细介绍)。35

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号