《清华大学计算机硬件技术基础.pptx》由会员分享,可在线阅读,更多相关《清华大学计算机硬件技术基础.pptx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1清华大学计算机硬件技术基础清华大学计算机硬件技术基础2第一节 8086/8088微处理器的结构一、简介二、8086/8088 的编程结构 1.总线接口部件 2.执行部件 3.工作原理三、8086/8088 的寄存器组四、8086/8088 的存储器组织 1.内存物理地址的形成 2.内存单元内容的存放及表示五、8086/8088 的I/O组织第1页/共35页3一、8086/8088简介l Intel 系列 的16位CPU双列直插式封装40根引脚工作频率为4.77MHz 10MHz工作电源+5V 8088第2页/共35页4l 8086:对外有16根数据线,20根地址线可寻址的内存单元数 2
2、20=1M内存地址范围00000 FFFFFHl 8088:内部寄存器、运算部件及 内部操作均按16位设计,除对外数据线为8根外,其余与8086 基本相同。为与当时已有的8 位外设接口芯片兼容。IBM PC、IBP PC/XT 采用8088CPU 8088第3页/共35页5二、8086/8088的编程结构l 编程结构:指从程序员和使用者的角度看到的结构。与芯片内部的物理结构和实际布局有区别。某CPU芯片内部实物图第4页/共35页61.总线接口部件BIU (Bus Interface Unit)运输部门2.执行部件EU (Execute Unit)加工部门3.工作原理DSESSSCSIP数据暂存
3、器执 行 部 件控 制 电 路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器8088 编程结构DSESSSCSIP数据暂存器执 行 部 件控 制 电 路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器第5页/共35页71.总线接口部件 BIUl 构成部分 4个16位段寄存器:CS,DS,ES,SS 16位IP指令指针寄存器 地址加法器 4字节的指令队列 (8086的指令队
4、列为6字节)DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器8088 编程结构BIUEUl 主要功能 负责与存储器、I/O接口传递数据 具体完成:1)从内存取指令,送到指令队列;2)配合执行部件从指定的内存单元 或I/O端口取数据;3)将执行部件的操作结果送到 指定的内存单元或I/O端口。第6页/共35页82执行部件EUl构成部分:8个16位寄存器:AX、BX、CX、DX SP、BP、DI、SI 1个标志寄存器PSW 1个算术逻辑运算部件ALUl主要功能 执行
5、部件负责指令的执行。(包括算术、逻辑运算,控制命令等)DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器8088 编程结构BIUEU第7页/共35页93.工作原理 计算机的工作过程是:取指令,执行指令CPU 总线 内存DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器、指令1指令2指令3指令4、数据1数据2数据3、地址总线AB数据
6、总线DB控制总线CB地址译码器第8页/共35页10总线接口部件和执行部件可并行工作,提高工作效率。l指令的提取和执行分别 由BIU和EU完成。lBIU和EU相互独立又相互配合1)当指令队列有一个空字节时,BIU自动把指令取到指令队列中2)执行部件总是从指令队列前部 提出指令去执行。3)如果在执行指令的过程中,需要访问内存或I/O端口,EU会请求BIU去完成存取操作。DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器8088 编程结构BIUEU第9页/共35页11
7、l 由于有指令队列的存在,在EU执行指令的同时,BIU可取指令,即BIU和EU可处于并行工作状态。取指 取指 取指 取指 取数 取指 等待 执行 执行 执行 等待 执行时间8088的工作原理:BIUEU第10页/共35页12三、8086/8088 的寄存器组l 共有14个16位寄存器,其中:AX、BX、CX、DX 又可分成两个 8 位寄存器。其它10个只能作为16位寄存器。DSESSSCSIP数据暂存器执 行 部 件控 制 电 路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器808
8、8 编程结构DSESSSCSIP数据暂存器执 行 部 件控 制 电 路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器第11页/共35页13第12页/共35页14l 状态标志寄存器PSW(Processor Status Word)16位寄存器,包含9个标志各标志在标志寄存器中的位置如下:用了其中的9位,其它7位在8086/8088 中无意义。第13页/共35页15 9个标志按其作用分状态标志和控制标志两类l 状态标志:OF、SF、ZF、AF、PF、CF 共6个 记录指令运行过程或运
9、算结果的状态信息。常作为后续转移指令的控制条件,又称为条件码。l 控制标志:DF、IF、TF 共3个 作用是控制CPU 的操作。第14页/共35页16各状态标志的含义:CF:进位标志(Carry Flag)反应运算过程中,最高位是否产生进位/借位。(最高位,对字节操作指D7位,对字操作指D15位)加法,最高有效位有进位CF1,否则CF0 减法,最高有效位有借位CF1,否则CF0AF:辅助进位标志(Auxiliary Carry Flag)反应运算过程中,对字节操作D3位 是否产生进位。对字操作D7位 有进位或借位时,AF1,否则AF0。第15页/共35页17ZF:零标志(Zero Flag)反
10、应运算结果是否为0。运算结果为 0 时,ZF1,否则ZF0SF:符号标志(Sign Flag)反应运算结果的符号位。对字节操作 SFD7 对字操作SFD15第16页/共35页18OF:溢出标志(Overflow Flag)反应运算过程中是否产生溢出。产生溢出,OF1,否则为0。PF:奇偶标志(Parity Flag)反应运算结果中“1”的个数情况。有偶数个“1”时,PF1,否则PF0。第17页/共35页19 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标志寄存器运算器标志寄存
11、器运算器被加数加数和进位例 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 1第18页/共35页20各控制标志作用(以后用到再介绍):DF:方向标志在串操作指令中控制地址变化的方向。当DF1时,地址递减;当DF时,地址递增。IF:中断标志当IF1时,允许CPU响应可屏蔽中断申请。当IF时,禁止CPU响应可屏蔽中断申请。TF:跟踪标志为调试程序设置的一个控制标志。当TF1时,CPU按单步方式执行指令
12、。第19页/共35页21四、8086/8088的存储器组织 1.内存物理地址的形成 2.内存单元内容的存放及表示第20页/共35页221.内存物理地址的形成l 取指令、取数、存数时,都要访问内存,被访问内存单元的地址由CPU提供。DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器、指令1指令2指令3指令4、数据1数据2数据3、地址总线AB数据总线DB控制总线CB地址译码器第21页/共35页23l 8086/8088 有20根地址线,可寻址220 =1M个内存单元
13、,而CPU内部寄存器均为16位,故:20位的地址需由 一个附加部件完成。这个部件就是地址加法器。DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器8088 编程结构BIUEU第22页/共35页24l 地址加法器的工作原理 可表示为:物理地址PA =段地址 偏移地址 =(段寄存器)16 +偏移地址 =(段寄存器)10H+偏移地址即段寄存器的内容左移4位,加上偏移地址第23页/共35页25物理地址PA =段地址 偏移地址 =(段寄存器)10H+偏移地址l 段寄存器有
14、4个:DS、ES、CS、SSl 偏移地址由 IP、SP、BX、BP、SI、DI 或一个8位或16位二进制数得到。这种存储器管理方式叫分段编址。第24页/共35页26物理地址PA =段地址 偏移地址 =(段寄存器)10H+偏移地址 或段寄存器的内容左移4位,加上偏移地址 例:某内存单元的段地址由DS、偏移地址由BX给出。若(DS)=2000H,(BX)=1000H,计算其物理地址。PA=(DS)10H+(BX)=2000H 10H+1000H =21000H第25页/共35页27要点:(段地址由16位的段寄存器给出,可将段地址直接用16位表示)l 物理地址20位,段地址20位,偏移地址16位。物
15、理地址PA =段地址 偏移地址 =(段寄存器)10H+偏移地址l 由16位段寄存器决定有216=64 K个段值 由16位偏移地址决定每个段的大小为0 64K 每个段最大64 K,但不一定是64 K,可据需要分配。第26页/共35页28l 用()表示内存单元的内容:(21000H )=0FH(2000:1000H)=0FH(DS:BX)=0FHl 内存单元物理地址的几种表示方法:PA 21000H 2000:1000H DS:BX.0FhFFh56h.21000H内存DS:BX2000:1000H第27页/共35页29l 每个内存单元有唯一的物理地址,但可由不同的段地址和偏移地址构成。(实验二内
16、容)例 某内存操作的段值由 DS 给出,偏移值由BX给出。若 (DS)=1000H,(BX)=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物理地址相同,就选中同一单元第28页/共35页302内存单元内容的存放及表示表示为:(01000H )=1EH(01001H )=2FH.1E2F3C.01000H内存01001H01002Hl 一个内存单元可以存放
17、一个字节信息第29页/共35页31l 8086/8088 是16位CPU,可对内存进行字节或字操作例 将字数据1234H写入从02000H开始的内存单元.34h12h.02000H内存02001H当往内存写一个字数据时,写入规则是:写入的结果:(02000H)=34H(02001H)=12H低字节到低地址单元高字节到高地址单元第30页/共35页32取入的结果:(AL)=34H (AH)=12H 或表示为(AX)=1234H例 将内存02000H 单元的字数据1234H取入AX寄存器中.34h12h.02000H内存02001H将内存的某一字数据取至CPU内的寄存器时,取入规则是:低字节到低8位
18、寄存器高字节到高8位寄存器第31页/共35页33l 在书写时,可用首地址表示相邻内存单元的内容如 (02000H)=1234 H 等价于:(02000H)=34H(02001H)=12H注意:按照低字节低地址,高字节高地址规律.34h12h.02000H内存02001H第32页/共35页34五、8086/8088的I/O组织I/O端口1I/O端口2I/O端口3地址译码数据缓冲控制电路外设ABDBCBCPUl CPU通过I/O接口电路与外设连接。各I/O接口内部有一个或若干I/O寄存器(I/O端口)CPU对I/O端口可进行读/写操作。第33页/共35页35l 8086/8088可寻址216=64 K个I/O端口I/O端口范围0000 FFFFHl 8086/8088设有专用的指令对I/O端口进行读写操作,即 IN 和 OUT指令(在第五章详细介绍)。第34页/共35页