资源预览内容
第1页 / 共307页
第2页 / 共307页
第3页 / 共307页
第4页 / 共307页
第5页 / 共307页
第6页 / 共307页
第7页 / 共307页
第8页 / 共307页
第9页 / 共307页
第10页 / 共307页
亲,该文档总共307页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机硬件技术基础计算机硬件技术基础学时数安排学时数安排讲课:讲课: 54学时学时实验:实验: 36学时学时课件制作:课件制作: 黄黄 勤勤 李李 楠楠 甘思源甘思源联系电话:联系电话: 65106554 65106554教教 材:材:计算机硬件技术基础计算机硬件技术基础杨天怡主编杨天怡主编实验教材:实验教材:计算机硬件技术实验教程计算机硬件技术实验教程黄黄 勤勤 主编主编现喇伺傻斡向漂剥炎尖烩嚎娘遇览匙葬弟娄莫狮挂辩撇撞骸汾惊绩神缅先计算机硬件基础重大计算机硬件基础重大主要内容主要内容1。微型计算机基础。微型计算机基础2。Intel系列微处理器系列微处理器3。80486指令系统指令系统4。汇编语言程序设计。汇编语言程序设计5。存储器及存储管理。存储器及存储管理6。输入输出方式与接口芯片。输入输出方式与接口芯片 中断及中断控制器中断及中断控制器8259A 可编程定时可编程定时/计数器计数器8254 并行并行I/O接口芯片接口芯片8255A7。外设备接口技术。外设备接口技术键盘接口、键盘接口、CRT接口、其它开关接口接口、其它开关接口8。总线(概述、。总线(概述、ISA)麓挣蹦砰驳背洛昏轰缘钵烤迹寄擂萨活差朽钝氏拯票勺象情凶酒熊渠舶厩计算机硬件基础重大计算机硬件基础重大教学要求教学要求1。CPU工作方式、结构、时序基本概念工作方式、结构、时序基本概念2。486工作方式、内部结构工作方式、内部结构3。CPU引脚:主要是与总线有关的引脚引脚:主要是与总线有关的引脚4。指令系统:。指令系统:8086全部及全部及80486常用指令常用指令5。程序结构:顺序、循环、分支、子程序。程序结构:顺序、循环、分支、子程序6。DOS调用:调用:1、2、9、A号号 35H、25H号了解号了解7。存储器分类及管理方法。存储器分类及管理方法8。中断:概念、中断程序结构、。中断:概念、中断程序结构、8259A中断管理芯片中断管理芯片9。DMA:了解:了解10。8254、8255A11。串口,了解基本概念。串口,了解基本概念12。键盘、。键盘、LED主要是上机用主要是上机用泉暂释仲萍普登铜垮窃诧淬逻鞍嘲葡狄咎湖越札敢办呵铀瓤祈介壮贰码呐计算机硬件基础重大计算机硬件基础重大考试要求考试要求1。考试可带教材、实验指导书、实验报告、预习报告、。考试可带教材、实验指导书、实验报告、预习报告、 笔记,但不得有复印件笔记,但不得有复印件2。考试分上机考试(。考试分上机考试(30)、笔试()、笔试(70)艇蕾被遗屑权蓉诉抠卉贫岳焚娄絮循骂销窟沮谴幕饭镀难闰捏蜒胆朗许器计算机硬件基础重大计算机硬件基础重大教学管理教学管理1。3次迟到为一次旷课,旷课超过次迟到为一次旷课,旷课超过3次取消考试资格。次取消考试资格。2。迟到。迟到5分钟以上以旷课计。分钟以上以旷课计。3。可以书面申请自学,经教务批准后可免考勤,保留考试资格。可以书面申请自学,经教务批准后可免考勤,保留考试资格4。每次实验前撰写预习报告,连同上机签到册作为指导老师实。每次实验前撰写预习报告,连同上机签到册作为指导老师实验考勤依据。验考勤依据。5。每次实验后撰写实验报告,报告册在教材科购买。每次实验后撰写实验报告,报告册在教材科购买。料汝绣诲惯猜梯调哩啪积蓉坠薪壶虚勺砚赡顷刽神淹闲瘴揍汗商遥嫌渣陆计算机硬件基础重大计算机硬件基础重大第一章第一章 微型计算机基础微型计算机基础第一节第一节 微型计算机的组成微型计算机的组成第二节第二节 微型计算机的硬件结构微型计算机的硬件结构第三节第三节 微型计算机中的先进计算机技术微型计算机中的先进计算机技术 第四节微型计算机的主要性能指标及典型第四节微型计算机的主要性能指标及典型微型计算机微型计算机 勃溢娄恍谈沾乃渔弧熏瀑畴釜征成爹瘟革房编星涌磅阎傻晴尚烟唉琶绰篮计算机硬件基础重大计算机硬件基础重大第一节第一节 微型计算机的组成微型计算机的组成二、微型计算机的硬件组成二、微型计算机的硬件组成一、微型计算机系统的组成一、微型计算机系统的组成硬件和软件两大部分组成硬件和软件两大部分组成佬卡邯腔芜搜威婉帘袜娘背毛利贷诈征郴款勺亩讶雁红椰吨令渍貌钳塑峨计算机硬件基础重大计算机硬件基础重大1.1.存储器存储器 存储器是计算机中存储程序和数据的部件。计算机的存储器分为存储器是计算机中存储程序和数据的部件。计算机的存储器分为两大部分,一部分为内部存储器或主存储器,简称内存或主存;另一两大部分,一部分为内部存储器或主存储器,简称内存或主存;另一部分为外部存储器或辅助存储器,简称外存或辅存。部分为外部存储器或辅助存储器,简称外存或辅存。 存储容量存储容量 描述存储器存储二进制信息量多少的指标。存储二进制信描述存储器存储二进制信息量多少的指标。存储二进制信息的基本单位是位(息的基本单位是位(bitbit,b b)。一般把)。一般把8 8个二进制位组成的个二进制位组成的通用基本单元叫作字节(通用基本单元叫作字节(ByteByte,B B)。微型计算机中通常以)。微型计算机中通常以字节为单位表示存储容量。字节为单位表示存储容量。 1024B1024B为为1KB 1024KB1KB 1024KB为为1MB 1024MB1MB 1024MB为为1GB 1024GB1GB 1024GB为为1TB 1TB 存储速度存储速度 描述存储器工作快慢程度的指标,它指信息存入存储器和从描述存储器工作快慢程度的指标,它指信息存入存储器和从存储器中取出所需要的时间。存储器中取出所需要的时间。 存储的类型存储的类型 半导体存储器半导体存储器 磁记录存储器磁记录存储器 光盘存储器光盘存储器 蛮衷傲踪润痕靡想赡互积瓷停薄协咎贪拂椒铃阁洱谆痴饯劲钻资言玄件形计算机硬件基础重大计算机硬件基础重大2.2.微处理器微处理器 微处理器是微型计算机的运算和控制指挥中心。不同的微处理器,微处理器是微型计算机的运算和控制指挥中心。不同的微处理器,其性能有所不同,但基本组成是相同的,由运算器、控制器和寄存器其性能有所不同,但基本组成是相同的,由运算器、控制器和寄存器阵列三个主要部件组成。阵列三个主要部件组成。 烹岳今屡照亚蝎辽仗赎卫麦枫畴辽来册麓胯肝屈彩肿叔茨柴饯滩饯遁线盅计算机硬件基础重大计算机硬件基础重大 运算器运算器 执执行行算算术术运运算算和和逻逻辑辑运运算算的的部部件件,由由累累加加器器(AccumulatorAccumulator,A A)、暂暂存存器器(TemporaryTemporary,TMPTMP)、算算术术逻逻辑辑单单元元(Arithmatic Arithmatic Logic Logic UnitUnit,ALUALU)、标标志志寄寄存存器器(Flag Flag RegistersRegisters,F F)和和一一些些逻逻辑电路组成。辑电路组成。累加器累加器算术逻辑单元算术逻辑单元标志寄存器标志寄存器CFCF进位标志进位标志 CF=CF=1 1 运算时产生了进运算时产生了进/ /借位借位 0 0 运算时无进运算时无进/ /借位借位 ZFZF零标志零标志 ZF=ZF=1 1 运算结果为运算结果为0 0 0 0 运算结果非零运算结果非零 SFSF符号标志符号标志 SF=SF=1 1 运算结果为负运算结果为负 0 0 运算结果为正运算结果为正 AFAF辅助进位标志辅助进位标志 AF=AF=1 1 运算时有辅助进运算时有辅助进/ /借位借位 0 0 运算时无辅助进运算时无辅助进/ /借位借位 PFPF奇偶标志奇偶标志 PF=PF=1 1 运算结果中运算结果中“1”“1”的个数为偶数的个数为偶数 0 0 运算结果中运算结果中“1”“1”的个数为奇数的个数为奇数 OFOF符号标志符号标志 OF=OF=1 1 有溢出有溢出0 0 无溢出无溢出弟江识脖共鸽孩在猜衰菊樱趾伊茸迢霸焕寡臭俭拳痒跃涤侨昨地慰赌俱凄计算机硬件基础重大计算机硬件基础重大 控制器控制器 控控制制器器是是指指令令执执行行部部件件,包包括括取取指指令令、分分析析指指令令(指指令令译译码码)和和执执行行指指令令,由由指指令令寄寄存存器器(Instruction Instruction RegisterRegister,IRIR)、指指令令译译码码器器( Instruction Instruction DecoderDecoder, IDID) 和和 定定 时时 控控 制制 电电 路路 ( Timing Timing and and ControlControl)等组成。)等组成。 寄存器阵列寄存器阵列 寄寄存存器器阵阵列列主主要要包包含含两两类类寄寄存存器器,一一是是通通用用寄寄存存器器,供供用用户户使使用用;二是一些用途固定的专用寄存器,如程序计数器、堆栈指示器。二是一些用途固定的专用寄存器,如程序计数器、堆栈指示器。程序计数器程序计数器PCPC用于存放下一条要执行的指令在存储器中存放的地址。用于存放下一条要执行的指令在存储器中存放的地址。 堆栈和堆栈指示器堆栈和堆栈指示器SPSP 堆栈是一块设在内存中按先进后出(堆栈是一块设在内存中按先进后出(First In Last OutFirst In Last Out,FILOFILO)原)原则组织的存储区域,用于存放数据。数据存入栈区称为压入(则组织的存储区域,用于存放数据。数据存入栈区称为压入(PUSHPUSH),),从栈区中取出数据称为弹出(从栈区中取出数据称为弹出(POPPOP)。)。 媒襄讨坑浑拖甄伐菊甫缀冤楞泅锯炮践视挡钦顶荡忿伞但半醚顺库舰姿纷计算机硬件基础重大计算机硬件基础重大三、微型计算机的软件组成三、微型计算机的软件组成 堆栈指示器堆栈指示器SP用于指用于指示当前栈顶元素所在的位示当前栈顶元素所在的位置,无论是压栈还是弹栈置,无论是压栈还是弹栈总是在栈顶进行的。随着总是在栈顶进行的。随着对堆栈的压入和弹出操作,对堆栈的压入和弹出操作,SP的值会自动变化,的值会自动变化,NN-1N-K+1N-K 堆栈区堆栈区(K个单元个单元)SP数据存放方式为数据存放方式为先进后出先进后出(FILO)3.3.输入输出设备输入输出设备 输入设备输入设备输出设备输出设备 计计算算机机的的软软件件包包含含系系统统软软件件和和应应用用软软件件两两部部分分。系系统统软软件件是是使使用用和和管管理理计计算算机机的的软软件件,如如操操作作系系统统、数数据据库库管管理理系系统统、网网络络管管理理系系统统以以及及各各种种语语言言处处理理程程序序、系系统统维维护护程程序序等等。应应用用软软件件则则是是用用户户根根据据自自己己的的需需要要,为为解解决决某某一一实实际际问问题题而而编编制制的的程程序序,如如企企业业的的财财务务管管理理、人人事事管管理理,设备状态监测的数据采集与处理等。设备状态监测的数据采集与处理等。特穷允泌虐都鬃鹃亿逮心诗障谐固郁菠谈凳忧捎焙殊求秧绩挪拙仗尤苫卡计算机硬件基础重大计算机硬件基础重大第二节第二节 微型计算机的硬件结构微型计算机的硬件结构一、硬件结构一、硬件结构 微型计算机在硬件上普遍采用总线结构,总线结构使系统构成微型计算机在硬件上普遍采用总线结构,总线结构使系统构成方便,并具有很好的可维护性和可扩展性。方便,并具有很好的可维护性和可扩展性。 缓国元汕外胶灸炼曾救鹅掘裁歼盘下耳酌螺咒遏撅雁滓稗你喳酝悦右淆液计算机硬件基础重大计算机硬件基础重大二、总线二、总线 所所谓谓总总线线,就就是是一一组组用用于于信信息息公公共共传传输输的的信信号号线线,连连在在总总线线上上的的所所有有部部件件均均能能使使用用的的公公共共线线路路,但但使使用用必必须须是是分分时时的的。按按传传输输信信息息方方向向,总总线线分分为为只只能能单单方方向向传传输输信信息息的的单单向向总总线线和和可可以以双双向向传传送送信信息息的的双双向向总总线线。按按传传输输信信息息类类别别,总总线线分分为为传传输输数数据据信信息息的的数数据据总总线线(Data Data Bus Bus ,DB,DB)、传传输输地地址址信信息息的的地地址址总总线线(Address Address Bus Bus ,AB AB )和和传传输输控控制制信信息的控制总线(息的控制总线(Control Bus, CBControl Bus, CB)。)。三、三、 数据总线、地址总线、控制总线数据总线、地址总线、控制总线因因为为数数据据传传输输是是双双向向的的,故故DBDB是是双双向向总总线线。DBDB的的位位数数越越宽宽,一一次次数数据据传传输输的的信信息息量量就就越越大大,8 8位位DBDB一一次次只只能能传传输输1 1个个字字节节的的数数据据信信息息,而而6464位位DBDB则则一一次次可可以以传传输输8 8个字节的数据信息。个字节的数据信息。数据总线数据总线DBDB轧雌喀喂州购乱绷跨婶乍脸币茅褪圆报责亲尔庸魏梯芭皆单近今器掘轻难计算机硬件基础重大计算机硬件基础重大因因为为地地址址信信息息总总是是由由微微处处理理器器发发出出,寻寻址址存存储储器器或或外外设设,故故ABAB为为单单向向总总线线。ABAB的的位位数数越越宽宽,寻寻址址的的空空间间就就越越大大。8 8位位微微处处理理器器的的地地址址总总线线为为1616位位,即即有有ABAB1515ABAB0 0 1616条条地地址址线线,寻寻址址范范围围为为2 21616=64KB=64KB;目目前前生生产产的的微微处处理理器器寻寻址址范范围围已达到已达到64GB64GB。CBCB包包括括微微处处理理器器向向存存储储器器发发送送的的读读选选通通信信号号RDRD、写写选选通通信信号号WRWR,以以及及外外设设向向微微处处理理器器发发送送的的中中断断请请求求信信号号NMINMI、INTRINTR等。控制总线的各位作用不同,且一般都是单向的。等。控制总线的各位作用不同,且一般都是单向的。地址总线地址总线ABAB控制总线控制总线CBCB 根根据据总总线线的的组组织织方方式式,可可把把微微型型计计算算机机的的硬硬件件结结构构分分为为单单总总线线、面面向微处理器双总线和面向存储器双总线结构。向微处理器双总线和面向存储器双总线结构。苔姑瘸戊轻班及门抹纬俭薛桅秽妇砍头妻垒檄侠逻洲排笼鞠跃葛副仍渊呛计算机硬件基础重大计算机硬件基础重大单总线结构的微型计算机单总线结构的微型计算机 面向微处理器的双总线结构微型计算机面向微处理器的双总线结构微型计算机 混乍阮醉慧利辣唱捧苟拄簧变炼狈广统警烫腺跋芳苑沥逞阿衙记判滨跨薛计算机硬件基础重大计算机硬件基础重大面向存储器的双总线结构微型计算机面向存储器的双总线结构微型计算机裤勾轩喀窜杆她烹慌敌傅幽愈傻留腹虱猿暗巩蝶猿雕逃指取强巡疡今集傻计算机硬件基础重大计算机硬件基础重大第三节第三节 微型计算机中的先进计算机技术微型计算机中的先进计算机技术一、中断技术一、中断技术 计算机暂停(或称为挂起)正在执行的程序转去处理随机事件,计算机暂停(或称为挂起)正在执行的程序转去处理随机事件,随机事件处理完毕后,再恢复执行原来的程序的过程称为中断。随机事件处理完毕后,再恢复执行原来的程序的过程称为中断。 二、流水线技术二、流水线技术 流流水水线线(PipelinePipeline)技技术术是是一一种种将将一一条条指指令令的的执执行行过过程程分分解解为为多多个个步步骤骤,并并让让几几条条指指令令的的不不同同步步骤骤操操作作在在时时间间上上重重叠叠,从从而而实实现现几几条条指指令令并并行行处处理理,提提高高程程序序运运行行速速度度的的技技术术。每每一一个个步步骤骤均均由由一一个个独独立立的的电电路路来来完完成成,若若干干个个完完成成不不同同操操作作步步骤骤的的电电路路组组成成了了指指令令流水线。流水线。聋显晨夕丁竟监耿龚贡淮世讳警用妖坚尾舶螺抡奄肿爷山啥蕴斩惶好舟峨计算机硬件基础重大计算机硬件基础重大三、乱序执行技术三、乱序执行技术 所所谓谓乱乱序序执执行行(Out Out of of Order Order ExecutionExecution)技技术术就就是是允允许许指指令令按按照照不不同同于于程程序序中中指指定定的的顺顺序序发发送送给给执执行行部部件件,从从而而加加速速程程序序执执行行过过程程的的一一种种最最新新技技术术。它它本本质质上上是是按按数数据据流流驱驱动动原原理理工工作作的的(传传统统的的计计算算机机都都是是按按指指令令流流驱驱动动原原理理工工作作的的),根根据据操操作作数数是是否否准准备备好好来来决决定定一一条条指指令令是是否否立立即即执执行行。不不能能立立即即执执行行的的指指令令先先搁搁置置一一边边,而而把把能能立立即执行的后续指令提前执行。即执行的后续指令提前执行。四、推测执行技术四、推测执行技术 推推测测执执行行技技术术(或或称称为为预预测测执执行行技技术术)是是为为了了充充分分发发挥挥流流水水线线与与并行执行技术和分支超顺序执行技术而采取的一种先进计算机技术。并行执行技术和分支超顺序执行技术而采取的一种先进计算机技术。韩发侈员综赠点早沧畏隋惦核妒抑漆艺乍萝晕佛酗孺侧献涨铁砸酌诬奈计计算机硬件基础重大计算机硬件基础重大五、高速缓冲存储器技术五、高速缓冲存储器技术 在在3232位位微微机机中中,为为了了加加快快处处理理速速度度,在在CPUCPU与与主主存存储储器器之之间间增增设设了了一一级级或或两两级级高高速速小小容容量量存存储储器器,称称之之为为高高速速缓缓冲冲存存储储器器(CacheCache)。高高速速缓缓冲冲存存储储器器的的存存取取速速度度比比主主存存要要快快一一个个数数量量级级,大大体体与与CPUCPU的的速速度度相相当当。CPUCPU在在取取指指令令或或取取操操作作数数时时,首首先先看看其其是是否否在在高高速速缓缓冲冲存存储储器器中中,不不在在时时才才访访问问主主存存储储器器。指指令令或或操操作作数数在在高高速速缓缓冲冲存存储储器器中中时,称为时,称为“命中命中”,反之称为,反之称为“未命中未命中”。六、虚拟存储器技术六、虚拟存储器技术 虚拟存储器技术是一种通过硬件和软件结合扩大用户可用存储空虚拟存储器技术是一种通过硬件和软件结合扩大用户可用存储空间的技术。它在内存储器和外存储器(软盘、硬盘或光盘)之间增加间的技术。它在内存储器和外存储器(软盘、硬盘或光盘)之间增加一些的硬件和软件,使两者形成一个有机整体。一些的硬件和软件,使两者形成一个有机整体。杜折豫枝少啼晶句训咆唾瞅驮淤冤笋骏雷筛棺局冉蔚叶秤逆匙仓姬用堵涤计算机硬件基础重大计算机硬件基础重大第四节微型计算机的主要性能指标及典型第四节微型计算机的主要性能指标及典型 微型计算机微型计算机 一、主要性能指标一、主要性能指标字长字长存储容量存储容量运算速度运算速度外设扩展能力外设扩展能力软件配置软件配置指计算机内部一次可以处理的二进制数码的位数。指计算机内部一次可以处理的二进制数码的位数。 计算机的运算速度一般用每秒钟所能执行的指令条数来计算机的运算速度一般用每秒钟所能执行的指令条数来表示。由于不同类型的指令的执行时间不同,因而运算表示。由于不同类型的指令的执行时间不同,因而运算速度的计算方法也不同,速度的计算方法也不同, 指微型计算机配接各种外部设备的可能性、灵活性指微型计算机配接各种外部设备的可能性、灵活性和适应性。和适应性。 软件是计算机的重要组成部分,它配置是否齐全,直接软件是计算机的重要组成部分,它配置是否齐全,直接关系到计算机性能的好坏和效率的高低。关系到计算机性能的好坏和效率的高低。 责浇伸操柞贡祖囱宿哪弃戊嘴鹤倔窿困旷诱羌瞒苇襟埔置讼验贮骋茧畔躬计算机硬件基础重大计算机硬件基础重大二、二、PCPC系列微机简介系列微机简介 (教材(教材P P1515P P17 17 自学)自学)三、三、PC486PC486硬件特点硬件特点 (教材(教材P P1717P P21 21 自学)自学)四、四、PC PentiumPC Pentium的硬件特点的硬件特点 (教材(教材P P2121P P22 22 自学)自学)姆硒看涩驳赞奋芦绘叁辐遁辞新轨吸宿全摧垫椭淋揖鲜渤年腋载超瑶炕液计算机硬件基础重大计算机硬件基础重大第二章第二章 Intel Intel系列微处理器系列微处理器 第一节第一节 Intel Intel系列微处理器概述系列微处理器概述 第二节第二节 80486 80486微处理器的体系结构微处理器的体系结构 第三节第三节 Pentium Pentium微处理器的体系结构微处理器的体系结构 逮涟攻披职及髓谓好惑雅缓溺协相剖佰福锣截售贤丰魏环寸骋厘吮氏谷坊计算机硬件基础重大计算机硬件基础重大一、一、808680868088 8088 微处理器微处理器 8086 8086 是是标标准准1616位位微微处处理理器器,内内外外数数据据总总线线都都为为1616位位;8088 8088 是是准准1616位位微微处处理理器器,内内数数据据总总线线为为1616位位,外外数数据据总总线线为为8 8位位。808680868088 8088 除除了了外外数数据据位位数数及及与与此此相相关关的的部部分分逻逻辑辑稍稍有有不不同同外外,内内部部结结构构和和基基本本性能相同,指令系统完全兼容。性能相同,指令系统完全兼容。 在在8086808680888088的设计中,引人了两个重要的概念:的设计中,引人了两个重要的概念: 指令流水线指令流水线 存储器分段存储器分段 这两个概念在以后升级的这两个概念在以后升级的INTELINTEL系列微处理器中一直被沿用和发展。系列微处理器中一直被沿用和发展。正是这两个概念的引入,使正是这两个概念的引入,使808680868088 8088 与原来的与原来的8 8位微处理器相比,在位微处理器相比,在运行速度、处理能力和对存储空间访问等性能方面有很大提高。运行速度、处理能力和对存储空间访问等性能方面有很大提高。第一节第一节 Intel Intel系列微处理器概述系列微处理器概述 抿射宛钙螟瓮瘪蝇挖匆盯矢轻汞卑绳绪傍赢绦例办辐孝裴逛棵奶菲郸颧揪计算机硬件基础重大计算机硬件基础重大 8086/80888086/8088内部结构示意图内部结构示意图腐羊烘斑万氏台旷凛蠕蹿滞掇胳翔写溪杉历傈喉剔忿邹乏切渍匈仿藤牡饮计算机硬件基础重大计算机硬件基础重大总总线线接接口口单单元元BIUBIU由由段段寄寄存存器器(CSCS、DSDS、SSSS、ESES)、指指令令指指针针寄寄存存器器(IPIP)、内内部部暂暂存存器器、指指令令队队列列、地地址址加加法法器器及及总总线线控控制制电电路路组组成成。它它的的主主要要作作用用是是负负责责执执行行所所有有的的“外外部部总总线线”操操作作,即即当当EUEU从从指指令令队队列列中中取取走走指指令令时时,BIUBIU即即从从内内存存中中取取出出后后续续的的指指令令代代码码放放入入队队列列中中;当当EUEU需需要要数数据据时时,BIUBIU根根据据EUEU输输出出的的地地址址,从从指指定定的的内内存存单单元元或或外外设设中中取取出出数数据据供供EUEU使用;当运算结束时,使用;当运算结束时,BIUBIU将运算结果送给指定的内存单元或外设。将运算结果送给指定的内存单元或外设。指指令令队队列列主主要要使使8086/80888086/8088的的EUEU和和BIUBIU并并行行工工作作,取取指指令令操操作作、分分析析指指令令操操作作重重叠叠进进行行,从从而而形形成成了了两两级级指指令令流流水水线线结结构构,减减少少了了CPUCPU为为取取指指令令而而必必须须等等待待的的时时间间,提提高高了了CPUCPU的的利利用用率率,加加快快了了整整机机运运行行速速度度,也也降降低低了了对对存储器存取速度的要求。存储器存取速度的要求。执执行行单单元元EU EU 由由通通用用寄寄存存器器、运运算算数数据据寄寄存存器器、算算术术逻逻辑辑单单元元(ALUALU)及及EUEU控控制制电电路路组组成成。它它的的主主要要作作用用是是分分析析和和执执行行指指令令,即即EUEU控控制制电电路路从从指指令令队队列列取取出出指指令令代代码码,经经译译码码,发发出出相相应应的的控控制制信信号号;数数据据在在ALUALU中中进进行行运算;运算过程及结果的某些特征保留在标志寄存器(运算;运算过程及结果的某些特征保留在标志寄存器(EFLAGSEFLAGS)中。)中。婚诗漾纲淤床膀厕叶攘狰忍涝拖拜岳柔娜汇蹲论须咕吕酵访立久恫私稿歉计算机硬件基础重大计算机硬件基础重大 段段寄寄存存器器为为8086/80888086/8088采采用用存存储储器器分分段段管管理理提提供供了了主主要要的的硬硬件件支支持持。8086/80888086/8088可可寻寻址址的的存存储储器器空空间间为为1MB1MB。通通过过分分段段管管理理,把把1MB1MB的的物物理理存存储储空空间分成若干逻辑段,间分成若干逻辑段,每段最大为每段最大为64KB64KB。段的起始单元地址叫。段的起始单元地址叫段基址段基址。 存存储储器器的的分分段段方方式式不不是是唯唯一一的的,各各段段之之间间可可以以连连续续、分分离离、部部分分重重叠叠和和完完全全重重叠叠。这这主主要要取取决决于于对对各各个个段段寄寄存存器器的的预预置置内内容容。一一个个具具体体的的存存储储单元的物理地址,可以属于一个逻辑段,也可以同属于几个逻辑段。单元的物理地址,可以属于一个逻辑段,也可以同属于几个逻辑段。 8086/8088 8086/8088的的4 4个当前段分别称为:个当前段分别称为:代码段代码段、数据段数据段、堆栈段堆栈段、附加段附加段 采采用用存存储储器器分分段段管管理理后后,存存储储器器地地址址有有物物理理地地址址和和逻逻辑辑地地址址之之分分。CPUCPU访问存储器访问存储器时,地址总线时,地址总线ABAB上送出的是上送出的是物理地址物理地址。 编编程程时时则则采采用用逻逻辑辑地地址址,逻逻辑辑地地址址有有段段基基址址和和段段内内偏偏移移地地址址两两部部分分组组成,两者都是成,两者都是1616位。位。岁瓶拒警菠泳错釜称兑劣淤籍憨膀炬敝此铜帚触记郸郝仲疙僻袭狱暗净党计算机硬件基础重大计算机硬件基础重大 由由1616位逻辑地址变换为位逻辑地址变换为2020位物理地址的关系如下:位物理地址的关系如下:物理地址物理地址= =段基址段基址*16+*16+段内偏移段内偏移 物理地址的生成是在物理地址的生成是在BIUBIU的地址加法器中完成的。的地址加法器中完成的。 物理地址生成示意图物理地址生成示意图睡挥惕钧了燎刮鹿遇登试尔消崎磋筋荧妄武沙垢揩膳郧溺教舵怒拙午肛燕计算机硬件基础重大计算机硬件基础重大二、二、8028680286微处理器微处理器 8028680286是是一一种种增增强强微微处处理理器器型型标标准准1616位位微微处处理理器器。与与8086/80888086/8088相相比比,结构上的改进与性能上的提高主要体现在以下几个方面:结构上的改进与性能上的提高主要体现在以下几个方面: 内内部部有有执执行行单单元元(EUEU)、总总线线单单元元(BUBU)、指指令令单单元元(IUIU)和和地地址址单单元元(AUAU)4 4个个独独立立的的部部分分并并行行操操作作,可可实实现现4 4级级流流水水线线作作业业,使使数数据据吞吐率大大提高吞吐率大大提高。 地址总线与数据总线完全分开使用。地址总线与数据总线完全分开使用。 存存储储空空间间有有两两种种工工作作方方式式:实实地地址址方方式式和和保保护护虚虚拟拟地地址址方方式式(保保护方式)。实地址方式有护方式)。实地址方式有1MB1MB的空间;保护方式有的空间;保护方式有16MB16MB的空间。的空间。 在在保保护护方方式式下下,4 4个个段段寄寄存存器器装装入入的的不不再再是是段段基基址址,而而是是指指向向段段描述符表中某个段描述符的索引值,称为段选择符。描述符表中某个段描述符的索引值,称为段选择符。 总总之之,8028680286主主要要是是增增强强了了多多用用户户、多多任任务务系系统统所所必必须须的的任任务务转转换换功功能能、虚虚拟拟存存储储器器管管理理功功能能和和多多种种保保护护功功能能,不不仅仅运运算算速速度度大大为为提提高高,而而且支持多用户、多任务操作。且支持多用户、多任务操作。第默挝冒瑚肚鼎寂悲耗硫石曝笆瞩综楞祝与剩喊付片主懊胎继构章虐楼访计算机硬件基础重大计算机硬件基础重大三、三、80386/8048680386/80486微处理器微处理器 80386/8048680386/80486是是针针对对多多用用户户和和多多任任务务的的应应用用而而推推出出的的3232位位微微处处理理器器,与与8028680286相比,它在结构和性能上的主要特点如下:相比,它在结构和性能上的主要特点如下: 内内部部寄寄存存器器数数量量明明显显增增加加,它它具具有有全全3232位位数数据据处处理理能能力力,还还可可以以进进行行6464位的数据运算。位的数据运算。片片内内存存储储管管理理部部件件可可实实现现段段页页式式存存储储管管理理,比比8028680286可可提提供供更更大大的的虚虚拟拟存储空间和物理存储空间。存储空间和物理存储空间。 比比8028680286新增了一种保护模式下的工作方式,即虚拟新增了一种保护模式下的工作方式,即虚拟80868086方式。方式。 8048680486增加到增加到6 6级指令流水线。级指令流水线。 提供了提供了3232位外部总线接口,最大数据传输速率显著提高。位外部总线接口,最大数据传输速率显著提高。 运算速度大大加快。运算速度大大加快。 匝疤臣墓姆春噬撬嫂霖氟靳落骋瓜频逐鸡葱雁沂浓烬妊溪排荣饵阀奥庚啊计算机硬件基础重大计算机硬件基础重大四、四、Pentium Pentium 微处理器微处理器 Pentium Pentium 是是一一种种高高性性能能的的6464位位微微处处理理器器,它它对对8048680486作作了了下下列列重重大大的的改进改进: 采用超标量体系结构,内含两条指令流水线。采用超标量体系结构,内含两条指令流水线。 内置的浮点运算部件采用超流水线技术。内置的浮点运算部件采用超流水线技术。 增加了分支指令预测。增加了分支指令预测。 内置了指令和数据两个独立的超流水线技术。内置了指令和数据两个独立的超流水线技术。 采用采用6464位外部数据总线位外部数据总线。 引引入入了了大大型型计计算算机机中中采采用用的的内内部部错错误误检检测测、功功能能冗冗余余校校验验和和错错误误报报告告等自诊断功能。等自诊断功能。 进行了更多的可测性设计。进行了更多的可测性设计。 提供了独特的性能监察功能,以利于软、硬件产品的优化和升级。提供了独特的性能监察功能,以利于软、硬件产品的优化和升级。 提供了灵活的存储器页面管理功能提供了灵活的存储器页面管理功能。缩柬匆浆瑰顽拦峭粗彤职嚷世应梦聂劣克赎扛吻凋尤器乱管贵惨机店珊如计算机硬件基础重大计算机硬件基础重大第二节第二节 80486 80486微处理器的体系结构微处理器的体系结构 一、一、8048680486的体系结构特点的体系结构特点 8048680486是是3232位位高高性性能能处处理理器器,它它以以提提高高性性能能和和面面向向多多处处理理器器系系统统结结构构为主要目标,它具有如下的特点为主要目标,它具有如下的特点: 8048680486采采用用的的是是单单倍倍的的时时钟钟频频率率,即即在在80486CPU80486CPU的的CLKCLK端端输输入入的的外外部部时时钟频率就是其内部处理器的工作时钟频率。钟频率就是其内部处理器的工作时钟频率。 内部包含有内部包含有8K8K字节的指令字节的指令/ /数据合用型高速缓存器。数据合用型高速缓存器。 内部包含了相当于增强型内部包含了相当于增强型8038780387功能的浮点协处理器。功能的浮点协处理器。 对对使使用用频频率率较较高高的的基基本本指指令令,由由原原来来的的微微代代码码控控制制改改为为硬硬件件逻逻辑辑直直接接控制,并在指令执行单元采用了控制,并在指令执行单元采用了RISCRISC技术和流水线技术。技术和流水线技术。 采用了突发式总线传输方式。采用了突发式总线传输方式。桂简耶欣废居扮酶晰屈后试抿蜂少认吓嗓炽怖条伶难囊迈搬宿穆逢俊吱套计算机硬件基础重大计算机硬件基础重大 内内部部数数据据总总线线的的宽宽度度有有3232位位、6464位位等等多多种种,并并分分别别用用于于不不同同单单元元之之间的数据通路间的数据通路 对某些内部寄存器中部分位的内容进行了变动和增加。对某些内部寄存器中部分位的内容进行了变动和增加。 面面向向多多处处理理器器结结构构,在在总总线线接接口口部部件件上上增增加加了了总总线线监监视视功功能能,增增加加了了支持多机操作的指令。支持多机操作的指令。域污此鼎愿孤流秉据烘趋协蛹丫溅据夫演误立望鲜喇院颓煽邀作槽挽蕊宛计算机硬件基础重大计算机硬件基础重大二、二、8048680486的内部结构与内部寄存器的内部结构与内部寄存器 1 1、内部结构、内部结构淤墩才肝付鬃得顽局器昆蟹因钱帝栗郭旗琢嘎矾促帜厌育沥喉溜削顺惜截计算机硬件基础重大计算机硬件基础重大总线接口单元总线接口单元 主主要要用用于于外外部部地地址址、数数据据和和控控制制总总线线管管理理,完完成成预预取取指指令令、读读/ /写写数据等总线操作。数据等总线操作。指令预取单元指令预取单元 内内含含一一个个3232字字节节的的指指令令预预取取队队列列,当当指指令令预预取取队队列列不不满满且且总总线线空空闲时,指令预取单元通过总线接口单元从存储器读取指令放到队列中。闲时,指令预取单元通过总线接口单元从存储器读取指令放到队列中。 指令预取单元平均可以预取指令预取单元平均可以预取1010条指令。条指令。指令译码单元指令译码单元 从从指指令令预预取取队队列列中中读读取取指指令令,进进行行预预译译码码后后将将其其送送入入已已译译码码的的指指令令队队列列等等待待执执行行。如如果果预预译译码码时时发发现现是是转转移移或或调调用用指指令令,可可提提前前通通知知总总线线接接口口部件去新的目标地址取指令,以刷新指令预取队列。部件去新的目标地址取指令,以刷新指令预取队列。指令执行单元指令执行单元 完完成成各各种种算算术术逻逻辑辑运运算算和和变变址址地地址址生生成成。在在控控制制单单元元中中,大大多多数数指指令采用微程序控制结构执行,常用基本指令采用硬件逻辑控制执行。令采用微程序控制结构执行,常用基本指令采用硬件逻辑控制执行。歇砍绪巍敬坦盏合滨函纺缮腻哀恕骗醒向稗狱股师潮幼食鄂胁郎满栓葬铰计算机硬件基础重大计算机硬件基础重大段管理单元段管理单元用于存储器分段管理,将逻辑地址变换为用于存储器分段管理,将逻辑地址变换为3232位线性地址。位线性地址。页管理单元页管理单元用于进行存储器分页管理,将线性地址变换为用于进行存储器分页管理,将线性地址变换为3232位物理地址。位物理地址。高速缓存单元高速缓存单元浮点运算单元浮点运算单元用于加速指令用于加速指令/ /数据的访问过程。数据的访问过程。 相相当当于于一一个个增增强强型型浮浮点点协协处处理理器器8038780387,专专门门用用作作浮浮点点运运算算,可可与与ALUALU的整数运算并行进行。的整数运算并行进行。韶寥疗媚盎早讨娇焉牢堰驾戳昆朱苍淳老吞豆天佑恨条嚷刮吼琵浑绩浊赖计算机硬件基础重大计算机硬件基础重大8048680486的流水线工作示意图的流水线工作示意图鼓善讹敲化危祥刻刃临浦还仙根锭汉窟俭翱烷向斧承沸礼挛阻蔬磁蠕容复计算机硬件基础重大计算机硬件基础重大2.2.内部寄存器内部寄存器 1 1)基本寄存器)基本寄存器 通用寄存器通用寄存器 指令指针寄存器指令指针寄存器 (EIPEIP) 有有8 8个个3232位位的的EAXEAX、EBXEBX、ECXECX、EDXEDX、ESIESI、EDIEDI、EBPEBP、ESPESP;它它们们的的低低1616位位可可以以单单独独访访问问被被命命名名为为: AXAX、BXBX、CXCX、DXDX、SISI、DIDI、BPBP、SPSP。其其中中AXAX、BXBX、CXCX、DXDX还还可可以以分分别别分分成成两两个个8 8位位寄寄存存器器:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL。 EIPEIP用用于于保保存存下下一一条条待待预预取取指指令令相相对对于于代代码码段段基基址址的的偏偏移移量量。它它的的低低1616位可以单独访问,称之为位可以单独访问,称之为IPIP 标志寄存器标志寄存器 (EFLAGSEFLAGS):): 3232位位标标志志寄寄存存器器 (EFLAGSEFLAGS)中中包包含含三三种种标标志志:状状态态标标志志(S S)、控控制标志制标志(C C)和)和系统标志系统标志(X X)。)。酉涩孪录芜砚景坊逛沤汝贺拜羡挞董省缸舀摈腊汤做践咐悯戴全弗错田晴计算机硬件基础重大计算机硬件基础重大 段寄存器段寄存器:状态标志(状态标志(S S):):反映指令执行过程及结果的状态。反映指令执行过程及结果的状态。控制标志(控制标志(C C):):它仅含一个标志它仅含一个标志DFDF,用于控制串操作指令的地址改变方向。,用于控制串操作指令的地址改变方向。系系统统标标志志(X X):它它用用于于控控制制I/OI/O、屏屏蔽蔽中中断断、调调试试、任任务务转转换换和和控控制制保保护护方式与虚拟方式与虚拟80868086方式间的转换。方式间的转换。 8048680486有有6 6个个段段寄寄存存器器(CSCS、SSSS、DSDS、ESES、FSFS、GSGS),用用于于决决定定程程序序使使用用存存储储器器区区域域块块。其其中中CSCS指指明明当当前前的的代代码码段段;SSSS指指明明当当前前的的堆堆栈栈段段;DSDS、ESES、FSFS和和GSGS指明当前的指明当前的4 4个个数据段数据段。 在在保保护护方方式式下下,8048680486段段的的长长度度可可以以在在1M1M字字节节到到4G4G字字节节之之间间变变化化;而而在实地址方式下,段的长度最大为在实地址方式下,段的长度最大为64KB64KB。尼绷召腊粟邮缠去金滥殴版揩绢值钢躯鸦扎百钥感鞍奔力抿来阜式诸贺诽计算机硬件基础重大计算机硬件基础重大基本寄存器示意图基本寄存器示意图 揽耀晨蹬杨碌毖谭钵况屠赌唾熔氨娇电翅鉴藩诈必汀樊卿尾坊台段拘绦窟计算机硬件基础重大计算机硬件基础重大2)2)系统级寄存器系统级寄存器 系系统统级级寄寄存存器器包包括括4 4个个控控制制寄寄存存器器和和4 4个个系系统统地地址址寄寄存存器器。这这些些寄寄存存器只能由在特权级器只能由在特权级0 0上运行的程序访问。上运行的程序访问。 4 4个个控控制制寄寄存存器器的的作作用用是是存存放放全全局局特特性性的的机机器器状状态态,控控制制片片内内CacheCache、FPUFPU和分段、分页单元的工作。各个控制寄存器都是和分段、分页单元的工作。各个控制寄存器都是3232位。位。 控制寄存器控制寄存器 颅臣溃债蛹综贾涉劳奔腊叼保捻漆咳堂促怎驼馅减户钨衍捶漏咕胺浩默遣计算机硬件基础重大计算机硬件基础重大 系统地址寄存器系统地址寄存器 系系统统地地址址寄寄存存器器只只在在保保护护方方式式下下使使用用,所所以以又又叫叫保保护护方方式式寄寄存存器器。8048680486用用4 4个个寄寄存存器器把把在在保保护护方方式式下下常常用用的的数数据据基基地地址址、界界限限和和其其他他属属性性保保存起来,以确保其快速性。存起来,以确保其快速性。 全全局局描描述述符符表表寄寄存存器器(GDTRGDTR)和和局局部部描描述述符符表表寄寄存存器器(LDTRLDTR)分分别别用来存放前述的用来存放前述的GDTGDT和和LDTLDT的的3232位线性基地址等内容。位线性基地址等内容。中断描述符表寄存器中断描述符表寄存器(IDTRIDTR)用来存放中断描述符表的基址和界限。用来存放中断描述符表的基址和界限。任务寄存器任务寄存器TRTR用来存放任务状态段(用来存放任务状态段(TTSTTS)的基址、界限和其它属性。)的基址、界限和其它属性。又争陇邢臀撵叶汽锅著钳折挫轻煽厕爆颁碉淀匈摸鞘麻始底掇孺删休镰胰计算机硬件基础重大计算机硬件基础重大 调试和测试寄存器调试和测试寄存器 8048680486提提供供了了8 8个个3232位位的的可可编编程程寄寄存存器器来来支支持持调调试试功功能能。它它还还定定义义了了5 5个个测测试试寄寄存存器器,测测试试寄寄存存器器实实际际上上并并不不是是8048680486体体系系结结构构的的标标准准部部分分,只只是为了增强系统的可测性而引入的附加硬件。是为了增强系统的可测性而引入的附加硬件。榴襄桂亚席待竖编筋傲吠哪墓稠靶距艇其叔蓬骆玄炮侧寒悔笛果厩更危亢计算机硬件基础重大计算机硬件基础重大 浮点寄存器浮点寄存器 1313个个浮浮点点寄寄存存器器,8 8个个8080位位浮浮点点数数据据寄寄存存器器用用作作固固定定寄寄存存器器组组或或硬硬件件堆堆栈栈, 1 1个个1616位位标标记记字字寄寄存存器器用用来来标标记记每每个个数数据据寄寄存存器器的的内内容容,1 1个个1616位位控控制制寄寄存存器器用用于于提提供供FPUFPU的的若若干干处处理理选选择择项项,1 1个个1616位位状状态态寄寄存存器器用用于于反反映映FPUFPU的的总总状状态态,2 2个个4848位位的的指指令令、数数据据指指针针寄寄存存器器的的作作用用是是为为用户编写错误处理程序提供指令、数据指针。用户编写错误处理程序提供指令、数据指针。 8048680486的的FPUFPU中包含有:中包含有: 鲜官靠佰徊邮市氧非膨歌贫匈靖淖彩揭釜咎基掂靳伸火蔷狭糜并英想骤粹计算机硬件基础重大计算机硬件基础重大三、三、8048680486的三种工作方式及相互转换的三种工作方式及相互转换 (1 1)实地址方式:)实地址方式: 它它的的工工作作原原理理与与80868086基基本本相相同同,主主要要区区别别是是8048680486能能借借助助操操作作数数长长度度前前缀缀,处处理理3232位位数数据据,且且增增加加了了两两个个数数据据段段寄寄存存器器FSFS和和GSGS,提提高高了了运运行行速度。速度。(2 2)保护虚地址方式:)保护虚地址方式:(3 3)虚拟)虚拟80868086方式:方式: 它它引引入入了了虚虚拟拟存存储储器器的的概概念念。CPUCPU可可访访问问的的物物理理存存储储空空间间为为4GB4GB,程程序序可可用用的的虚虚拟拟地地址址空空间间为为64TB64TB。段段的的长长度度在在启启动动页页功功能能时时是是4GB4GB,不不启启动动页页功功能能时时是是1MB1MB。可可支支持持多多用用户户和和单单用用户户的的多多任任务务操操作作,并并对对各各任任务务提提供供了了多方面的保护机制。多方面的保护机制。 它它是是一一种种既既有有保保护护功功能能又又能能执执行行80868086代代码码的的工工作作方方式式,可可以以说说是是保保护护方方式式的的一一种种子子方方式式。工工作作原原理理与与保保护护虚虚拟拟地地址址方方式式下下相相同同,但但是是程程序序指指定定的的逻逻辑辑地地址址解解释释与与80868086相相同同,即即可可以以和和实实地地址址方方式式下下一一样样执执行行80868086的的应应用用程序。程序。此串诲佩蒂鸵蕾娶家顺绣朱鲁嘎宋琢栖驯坍起膝蛤嫌腔篱蒙橱幽媒拴陌陛计算机硬件基础重大计算机硬件基础重大8048680486的三种工作方式和相互转换示意图的三种工作方式和相互转换示意图 让株紊及诸犁末蚌蛆嘱霸惠吞似绿节罢股祈凝驴鹿寞移魂弥腑扫忱苯枉绦计算机硬件基础重大计算机硬件基础重大四、四、8048680486的的外部引脚信号外部引脚信号渺望炎诫咙锣尝地燃脆珠矿园椒未褂塞吴吏沏零捣墅拽诽耸肖配莉编躬暗计算机硬件基础重大计算机硬件基础重大第三节第三节 Pentium Pentium 微处理器的体系结构微处理器的体系结构 一、一、Pentium Pentium 微处理器的内部结构微处理器的内部结构 Pentium Pentium 微处理器的内部结构微处理器的内部结构 网铂菏蜂推构莎跟豆苯撵妥力辉殷吕索逆泽戌积糖泻掣施凝蹭眺赶顺弟荫计算机硬件基础重大计算机硬件基础重大 PentiumPentium微微处处理理器器是是IntelIntel公公司司继继8048680486之之后后推推出出的的6464位位高高性性能能微微处处理理器器,它它具具有有超超标标量量体体系系结结构构、分分支支预预测测先先进进技技术术的的采采用用,分分开开的的指指令令、数数据据高高速速缓缓冲冲存存储储器器,以以及及128128位位、256256位位内内部部数数据据总总线线,6464位位可可成成组组传传送送的的外部总线外部总线等特点。等特点。 PentiumPentium微微处处理理器器由由总总线线部部件件、代代码码CacheCache、指指令令CacheCache、预预取取缓缓冲冲存存储器储器、指令译码部件指令译码部件、整数运算部件整数运算部件、浮点运算浮点运算部件等功能部件组成部件等功能部件组成 。二、二、Pentium Pentium 微处理器的整数流水线微处理器的整数流水线 PentiumPentium微微处处理理器器的的整整数数流流水水线线与与8048680486微微处处理理器器的的非非常常类类似似,其其流流水水线线操操作作由由预预取取PFPF、首首次次译译码码DIDI、二二次次译译码码DIDI、执执行行EXEX和和写写回回WBWB共共5 5个个操操作步骤组成。作步骤组成。它在流水线中增加了一些辅助性硬件以加速指令的执行。它在流水线中增加了一些辅助性硬件以加速指令的执行。 睁卿商奔良毖尘委芝予课狐坟徘粉绒答悯嗣瘸贝砰顺恤逃斧酮盟少磨攒错计算机硬件基础重大计算机硬件基础重大(1 1)超标量执行超标量执行 PentiumPentium微微处处理理器器配配置置的的超超标标量量执执行行机机构构允允许许两两条条指指令令以以并并行行方方式式执执行行。采采用用的的技技术术是是把把生生成成地地址址的的硬硬件件和和算算术术运运算算逻逻辑辑运运算算部部件件配配置置成两个各自独立的整数流水线,一个叫成两个各自独立的整数流水线,一个叫U U流水线,另一个叫流水线,另一个叫V V流水线。流水线。 PentiumPentium微微处处理理器器的的片片内内CacheCache是是分分离离式式的的CacheCache,即即指指令令代代码码CacheCache和和数数据据CacheCache是是各各自自独独立立的的片片内内CacheCache。当当执执行行部部件件对对存存储储器器进进行行访访问问时时,由由指指令令CacheCache和和数数据据CacheCache分分别别提提供供指指令令代代码码信信息息和和数数据据信信息息。总总线线接接口口部部件件内内包包括括了了各各自自独独立立的的3232位位地地址址总总线线和和6464位位数数据据总总线线。PentiumPentium微微处处理器的预取缓冲部件内包括了理器的预取缓冲部件内包括了指令预取指令预取和和指令译码指令译码两个子功能部件。两个子功能部件。 PentiumPentium微微处处理理器器采采用用了了预预测测新新技技术术。为为了了支支持持这这项项新新技技术术,芯芯片片内内装装备备有有两两个个预预取取缓缓冲冲存存储储器器,一一个个是是以以线线性性方方式式来来预预取取代代码码,另另一一个个则根据转移目标缓冲存储器则根据转移目标缓冲存储器BTBBTB预取代码。预取代码。(2 2)转移预测判断)转移预测判断 四扛洋沦玲贪障箕无溯老寓兢憨以呵充辰兄诧驰师烤沫佳缓胀莱履与饶汪计算机硬件基础重大计算机硬件基础重大三、三、Pentium Pentium 微处理器的浮点流水线微处理器的浮点流水线 (1 1)浮点流水线操作浮点流水线操作(2 2)浮点流水线微体系结构)浮点流水线微体系结构 PentiumPentium浮浮点点流流水水线线由由预预取取PFPF、首首次次译译码码D1D1、二二次次译译码码D2D2、取取操操作作数数、首首次次执执行行X1X1、二二次次执执行行X2X2、写写浮浮点点数数WFWF和和出出错错报报告告ERER共共8 8个个操操作作步步骤骤组组成成。其其中中预预取取PFPF和和首首次次译译码码DlDl这这两两个个操操作作步步骤骤与与整整数数流流水水线线中中的的前前两两个个操操作作步步骤公用同一硬件资源。骤公用同一硬件资源。 对对“基基本本”浮浮点点指指令令来来说说,也也允允许许单单周周期期通通过过,也也就就是是说说能能以以每每个个时时钟执行一条指令的速率执行。钟执行一条指令的速率执行。 PentiumPentium微微处处理理器器的的浮浮点点流流水水线线由由浮浮点点接接口口、寄寄存存器器组组及及控控制制部部件件FIRCFIRC、浮浮点点指指数数功功能能部部件件FEXPFEXP、浮浮点点乘乘法法部部件件FMULFMUL、浮浮点点加加法法部部件件FADDFADD、浮点除法部件浮点除法部件FDIVFDIV以及浮点舍入处理部件以及浮点舍入处理部件PFRNDPFRND共共7 7个部件组成。个部件组成。澜驳傈烦邱脐佯丧努瘟骸萝俭讶斯搞谊嫂辜塘缉狮攒聚物合绕惹咽杂甸睦计算机硬件基础重大计算机硬件基础重大四、四、Pentium Pentium 微处理器的片内微处理器的片内Cache Cache PentiumPentium采采用用了了代代码码和和数数据据各各自自独独立立的的分分离离式式Cache Cache 。每每一一种种CacheCache的的规规模模大大小小均均为为8K8K字字节节,采采用用的的是是二二路路相相联联的的映映像像技技术术,每每个个CacheCache行行大大小小为为3232个个字字节节。在在每每一一个个CacheCache内内,都都装装备备有有一一个个专专用用的的转转换换旁旁视视缓缓冲冲存存储器储器TLBTLB,用来快速地将线性地址转换成物理地址。,用来快速地将线性地址转换成物理地址。 它它遵遵循循MESIMESI协协议议,既既可可以以将将数数据据CacheCache根根据据写写回回方方案案进进行行配配置置,也也可可以以将将数数据据CacheCache根根据据逐逐行行写写贯贯穿穿方方案案进进行行配配置置。数数据据CacheCache的的标标记记是是三三端端口口式式的的结结构构,以以支支持持两两个个数数据据的的传传送送和和所所访访问问的的周周期期是是在在同同一一时时钟钟周周期期之之内内 。 指指令令代代码码CacheCache是是一一个个固固有有的的写写保保护护CacheCache,指指令令代代码码CacheCache的的标标记记是是三端口式的结构,以便对三端口式的结构,以便对CacheCache操作实施监视和对分割行的访问提供支持。操作实施监视和对分割行的访问提供支持。 PentiumPentium的的数数据据CacheCache支支持持U U流流水水线线和和V V流流水水线线的的二二元元访访问问,以以便便支支持持辅辅助带宽和简化编译程序的指令调度算法。助带宽和简化编译程序的指令调度算法。 神预赣蟹郎氨脚锑牡蜀揍赐抖喉勘吩强力炭赖保潮渴彩潭兵齿诀褪尹箕叶计算机硬件基础重大计算机硬件基础重大五、五、Pentium Pentium 微处理器的新型体系结构微处理器的新型体系结构 PentiumPentium微微处处理理机机把把数数据据总总线线增增至至6464位位,以以改改善善数数据据的的传传送送速速率率,同同时时支支持持成成组组读读周周期期和和成成组组写写回回周周期期,除除此此之之外外,PentiumPentium微微处处理理器器还还增增设设了了总总线线周周期期流流水水线线,它它允允许许两两个个总总线线周周期期同同时时进进行行。PentiumPentium存存储储管管理理部部件件还还拥拥有可选择的体系结构,允许页的大小达到有可选择的体系结构,允许页的大小达到4M4M字节字节 PentiumPentium微微处处理理器器增增加加了了对对有有效效数数据据的的完完整整性性检检测测和和对对错错误误的的检检测测能能力力,对对逐逐字字节节数数据据奇奇偶偶校校验验仍仍提提供供支支持持。随随着着新新异异常常事事故故、机机器器校校验验异异常常事事故故的的出出现现,PentiumPentium微微处处理理器器还还增增加加了了地地址址奇奇偶偶校校验验、内内部部奇奇偶偶校校验验。除除此此之之外,在外,在PentiumPentium微处理机上还实现了功能性冗余校验。微处理机上还实现了功能性冗余校验。 PentiumPentium微微处处理理器器内内的的译译码码部部件件的的作作用用是是把把预预取取到到预预取取缓缓冲冲器器中中的的指指令令进进行行译译码码,以以供供PentiumPentium微微处处理理器器执执行行。在在PentiumPentium微微处处理理器器控控制制ROMROM内内保保存存着着指指令令的的微微代代码码,PentiumPentium微微处处理理器器就就是是利利用用这这些些微微代代码码控控制制各各种种指指令令的的操操作顺序。控制作顺序。控制ROMROM部件对部件对V V和和U U两条指令流水线直接实施控制功能。两条指令流水线直接实施控制功能。 雇洽者植刑邀慎冲额钞岛六紫蓟律栅厄瞩姚忙火递信活疆刑凿锄陛比距兔计算机硬件基础重大计算机硬件基础重大第三章第三章 80486 80486微处理器指令系统微处理器指令系统 第一节第一节8048680486微处理器寻址方式微处理器寻址方式第二节第二节 80486 80486微处理器指令系统微处理器指令系统 闰锭喷沿扁付穷愁籽延祈疚肝郊帮靖裂铱裴淘垦膛汲刁仇拟擒屉绵姚涝谴计算机硬件基础重大计算机硬件基础重大第一节第一节8048680486微处理器的寻址方式微处理器的寻址方式一、操作数寻址方式一、操作数寻址方式 要使微处理器能够完成指令规定的操作,则指令中须包含要使微处理器能够完成指令规定的操作,则指令中须包含2 2种信种信息,一是执行什么操作,二是该操作所涉及的数据在哪里和结果存息,一是执行什么操作,二是该操作所涉及的数据在哪里和结果存于何处,而于何处,而寻找操作数所在地址寻找操作数所在地址的方法即为的方法即为寻址方式寻址方式(Addressing (Addressing Mode)Mode)。80X8680X86的寻址方式可分为两类:的寻址方式可分为两类:操作数的寻址方式操作数的寻址方式和和转移地转移地址的寻址方式址的寻址方式。 由于由于操作数操作数作为指令的操作对象,作为指令的操作对象,可以存储在存储器中可以存储在存储器中(称为存(称为存储器操作数)、储器操作数)、寄存在寄存器中寄存在寄存器中(称为寄存器操作数)或(称为寄存器操作数)或直接包含在直接包含在指令中指令中(称为立即数),因此,与之对应有多种寻址方式。(称为立即数),因此,与之对应有多种寻址方式。80X8680X86粗粗略地划分可有略地划分可有3 3类类1010种寻址方式种寻址方式,其中访问存储器操作数有,其中访问存储器操作数有8 8种寻址方种寻址方式。式。 烹翔殖耀饯医淀醋刮站韧堤晓掖哀速磋搐扔询汇打验械潘夫腿庭士铸嫁澈计算机硬件基础重大计算机硬件基础重大(1 1)立即数寻址)立即数寻址 在这种寻址的方式下,操作数作为立即数直接存在指令中,可为在这种寻址的方式下,操作数作为立即数直接存在指令中,可为8 8位,位,1616位和位和3232位。位。例:例: MOV AXMOV AX,1234H1234H MOV BL MOV BL,78H78H MOV ECX MOV ECX,12345678H12345678H 以第一条指令为例的立即以第一条指令为例的立即数寻址方式的执行过程如图。数寻址方式的执行过程如图。 立即寻址示意图立即寻址示意图(2 2)寄存器寻址)寄存器寻址在这种方式下,操作数存放在在这种方式下,操作数存放在CPUCPU某个某个8 8位、位、1616位或位或32 32 位寄存器中。位寄存器中。 例:例: MOV EAX MOV EAX,EDXEDX INC CL INC CL MOV DS MOV DS,AXAX该寻址方式指令码短,且无需从存储该寻址方式指令码短,且无需从存储器取操作数,故执行速度快器取操作数,故执行速度快焦纺栓走呻摈竞娶忿酥宇意哀炕乞眼锐抛巧攀挛郭款伺铁羞孜垦啃拒题甸计算机硬件基础重大计算机硬件基础重大(3 3)直接寻址)直接寻址 在这种方式下,指令中的操作在这种方式下,指令中的操作数部分直接给出了操作数的有效地数部分直接给出了操作数的有效地址址EAEA,它和操作码一起放在存储器,它和操作码一起放在存储器的代码段中,可以是的代码段中,可以是1616位或位或3232位整位整数。但操作数一般在数据段数。但操作数一般在数据段DSDS中。中。例:例:MOV AXMOV AX,DSDS:1000H1000H;将;将DSDS段中段中1000H1000H和和1001H1001H单元单元 的内容送到的内容送到AXAX中。中。应注意的是,指令中的应注意的是,指令中的DSDS不能省略。不能省略。 直接寻址示意图直接寻址示意图智夹停羚捶撑区汲峻瀑帛瑟垄法蝉烷酵作某舍磨沛馈蕴钒轰涤遂未卞崖硕计算机硬件基础重大计算机硬件基础重大(4 4)寄存器间接寻址)寄存器间接寻址这种寻址方式下,操作数所在内存单元的这种寻址方式下,操作数所在内存单元的EAEA由规定的寄存器指出。由规定的寄存器指出。 如果操作数不在上述规定的默认段,而是在其他的段,则必如果操作数不在上述规定的默认段,而是在其他的段,则必须在指令中相应的操作数前加上段超越前缀。例如:须在指令中相应的操作数前加上段超越前缀。例如:MOV AXMOV AX,ESES:SISIMOV AXMOV AX,DSDS:BPBP1616位寻址时,位寻址时,EAEA可以由可以由SISI,DIDI,BPBP或或BXBX提供。提供。若以若以SISI,DIDI,BXBX间接寻址,则默认操作数在间接寻址,则默认操作数在DSDS段中。段中。若以若以BPBP间接寻址,则默认操作数在间接寻址,则默认操作数在SSSS段中。段中。 32 32位寻址时,位寻址时,8 8个个3232位通用寄存器均可作间址寄存器。除位通用寄存器均可作间址寄存器。除ESPESP,EBPEBP默认段寄存器为默认段寄存器为SSSS外,其余外,其余6 6个通用寄存器均默认段寄存器为个通用寄存器均默认段寄存器为DSDS。目铂湛吮倔尝撒怂虫吁散伸尾附饿爷揪供朱尿茅竟箩夫咆瑟藐俏烁介茨笆计算机硬件基础重大计算机硬件基础重大(5 5)寄存器相对寻址方式)寄存器相对寻址方式 在这种方式中,操作数所在内存单元的有效地址为规定的基址寄存器在这种方式中,操作数所在内存单元的有效地址为规定的基址寄存器或变址寄存器的内容与一个常量(即位移量)之和。或变址寄存器的内容与一个常量(即位移量)之和。 1616位位寻寻址址时时,BXBX和和BPBP作作为为基基址址寄寄存存器器,BXBX默默认认DSDS为为段段寄寄存存器器,BPBP默默认认SSSS为为段段寄存器;寄存器;SISI和和DIDI作为变址寄存器,默认作为变址寄存器,默认DSDS为段寄存器。位移量可以为为段寄存器。位移量可以为8 8位或位或1616位。位。 3232位位寻寻址址时时,8 8个个3232位位通通用用寄寄存存器器均均可可作作基基址址/ /变变址址寄寄存存器器,其其中中ESPESP、EBPEBP以以SSSS为为默默认认段段寄寄存存器器,其其余余6 6个个通通用用寄寄存存器器均均以以DSDS为为默默认认段段寄寄存存器器。位位移移量可以为量可以为8 8位或位或3232位。位。例如:例如:MOV EAXMOV EAX,BX+24 BX+24 ;也可以写成;也可以写成 MOV EAX MOV EAX,24BX24BXMOV DX MOV DX ,EAX+1500EAX+1500;也可以写成;也可以写成 MOV DX MOV DX,1500EAX1500EAX在指令格式中,地址表达式写成:在指令格式中,地址表达式写成: 段寄存器:段寄存器: 基址寄存器基址寄存器 / / 变址寄存器变址寄存器 + + 位移量位移量 或:或:段寄存器:位移量段寄存器:位移量 基址寄存器基址寄存器 / / 变址寄存器变址寄存器 傍杉守幕耿涝拭京卓现虹俗顽裤骆瞳谗挂濒幅趁姨兢芽庸侮撬饭骇器缝盐计算机硬件基础重大计算机硬件基础重大(6 6)基址变址寻址方式)基址变址寻址方式 操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和。操作数的有效地址是一个基址寄存器和一个变址寄存器的内容之和。 在指令格式中,地址表达式写成:在指令格式中,地址表达式写成: 段寄存器:段寄存器: 基址寄存器基址寄存器 + + 变址寄存器变址寄存器 在这种方式中,基址寄存器和变址寄存器都必须是规定的在这种方式中,基址寄存器和变址寄存器都必须是规定的1616位寄存器。位寄存器。当基址寄存器和变址寄存器默认的段寄存器不同时,一般规定由基址寄存器当基址寄存器和变址寄存器默认的段寄存器不同时,一般规定由基址寄存器来决定默认哪一个段寄存器作段基址指针。来决定默认哪一个段寄存器作段基址指针。 (7 7)相对基址变址寻址方式)相对基址变址寻址方式 该方式中,操作数所在内存单元的有效地址是一个基址寄存器与该方式中,操作数所在内存单元的有效地址是一个基址寄存器与一个变址寄存器的内容和一个常量(即位移量)之和。一个变址寄存器的内容和一个常量(即位移量)之和。 在指令格式中,地址表达式写成:在指令格式中,地址表达式写成: 段寄存器:段寄存器: 基址寄存器基址寄存器 + + 变址寄存器变址寄存器 + + 位移量位移量 或:或:段寄存器:位移量段寄存器:位移量 基址寄存器基址寄存器 + + 变址寄存器变址寄存器 或:或:段寄存器:位移量段寄存器:位移量 基址寄存器基址寄存器 变址寄存器变址寄存器 这种寻址方式主要用于二维数组操作和二重循环等。这种寻址方式主要用于二维数组操作和二重循环等。 唤缅搭勃叼悯拥羔鸳谐蛀嫩妄狐蓟图排阀篇抚高设只浚殷赚踪木像篆屁向计算机硬件基础重大计算机硬件基础重大(8 8)比例变址寻址方式)比例变址寻址方式 这种寻址方式只适合于这种寻址方式只适合于3232位寻址的一种情况。位寻址的一种情况。MOV EAX TABLEESI*4 MOV EAX TABLEESI*4 ;TABLETABLE是位移量,是位移量,4 4是比例因子是比例因子操作数的操作数的EAEA是变址寄存器的内容乘以指令中指定的比例因子再加上位移量之和。是变址寄存器的内容乘以指令中指定的比例因子再加上位移量之和。在指令格式中,地址表达式写成:在指令格式中,地址表达式写成: 段寄存器:段寄存器: 变址寄存器变址寄存器 比例因子比例因子 位移量位移量 或:段寄存器:位移量或:段寄存器:位移量 变址寄存器变址寄存器 比例因子比例因子 其中比例因子可以是其中比例因子可以是1 1,2 2,4 4,8 8中的任一个数。除中的任一个数。除ESPESP外的任何通用寄外的任何通用寄存器均可作变址寄存器,且存器均可作变址寄存器,且EBPEBP默认默认SSSS作段寄存器,其余以作段寄存器,其余以DSDS作段寄存器。作段寄存器。 该方式适用于对一维数组的数组元素进行检索操作。位移量表示数组起该方式适用于对一维数组的数组元素进行检索操作。位移量表示数组起始地址的偏移量,变址表示数组元素的下标,可变。当数组元素大小为始地址的偏移量,变址表示数组元素的下标,可变。当数组元素大小为2 2,4 4,8 8时,用带比例因子的变址寻址方式更方便、更高效。时,用带比例因子的变址寻址方式更方便、更高效。 吵鞠杯搭益准界商欠词悔货域汇处沫予赎贼揍伟汗食驻敢啪至俏犹劝仪天计算机硬件基础重大计算机硬件基础重大(9 9)基址比例变址寻址方式)基址比例变址寻址方式 操作数的操作数的EAEA是变址寄存器的内容乘以比例因子再加上基址寄存器的内容之和。是变址寄存器的内容乘以比例因子再加上基址寄存器的内容之和。 在指令格式中,地址表达式写成:在指令格式中,地址表达式写成: 段寄存器:段寄存器: 变址寄存器变址寄存器 比例因子比例因子 基址寄存器基址寄存器 或:段寄存器:或:段寄存器: 基址寄存器基址寄存器 变址寄存器变址寄存器 比例因子比例因子 (1010)相对基址比例变址寻址方式)相对基址比例变址寻址方式 操作数的操作数的EAEA是变址寄存器的内容乘以比例因子,加上基址寄存器的内容,是变址寄存器的内容乘以比例因子,加上基址寄存器的内容,再加上位移量之和。再加上位移量之和。在指令格式中,地址表达式写成:在指令格式中,地址表达式写成: 段寄存器:段寄存器: 基址寄存器基址寄存器 比例因子比例因子 变址寄存器变址寄存器 位移量位移量 或:段寄存器:位移量或:段寄存器:位移量 基址寄存器基址寄存器 比例因子比例因子 变址寄存器变址寄存器 或:段寄存器:位移量或:段寄存器:位移量 基址寄存器基址寄存器 比例因子比例因子 变址寄存器变址寄存器 葛林瞅陪古双兢灌臃秘拇队侗铀侯伊滤膘吻至纂藏释雕根慧原虎唆亏专寥计算机硬件基础重大计算机硬件基础重大访存操作类型访存操作类型默认段寄默认段寄存器存器允许超越的段寄存允许超越的段寄存器器偏移地址寄存器偏移地址寄存器取指令代码取指令代码CSCS无无(E)IP(E)IP堆栈操作堆栈操作SSSS无无(E)SP(E)SP源串数据访问源串数据访问DSDSCS, SS ,ES FS ,GSCS, SS ,ES FS ,GS(E)SI(E)SI目的串数据访问目的串数据访问ESES无无(E)DI(E)DI通用数据访问通用数据访问DSDSCS,SS,ES,FS,GSCS,SS,ES,FS,GS偏移地址偏移地址以(以(E E)BPBP、(、(E E)SPSP间接寻址的指令间接寻址的指令SSSSCS,DS,ES,FS,GSCS,DS,ES,FS,GS偏移地址偏移地址存储器寻址时的段约定存储器寻址时的段约定睦述笆酝划揉抵意保箍鸥量叮大挨爵寇部卸谊表介内噎扳寅耀雍岳妄剑赂计算机硬件基础重大计算机硬件基础重大二、转移地址寻址方式二、转移地址寻址方式 在指令系统中,有一组指令为在指令系统中,有一组指令为程序转移指令程序转移指令。程序转移指令的寻址。程序转移指令的寻址方式涉及如何方式涉及如何确定转移的目标地址确定转移的目标地址。目标地址可以在段内,也可以在段。目标地址可以在段内,也可以在段外。外。彩腾俩峦罐两钥谎室儒毒覆护处弘力真擎张躬谦豪笛笋膊筑犬湘挂角智故计算机硬件基础重大计算机硬件基础重大 段内直接寻址段内直接寻址 转移的目标地址是当前转移的目标地址是当前IPIP寄存器寄存器的内容和一个的内容和一个8 8位或位或1616位位位移量之和位移量之和。 指令的汇编语言格式表示为:指令的汇编语言格式表示为: JMP NEAR PTR PROGRMJMP NEAR PTR PROGRM JMP SHORT OUTSET JMP SHORT OUTSET 段内间接寻址段内间接寻址 该方式中,转移的目标地址是寄存器或存储单元的内容。寄存器或该方式中,转移的目标地址是寄存器或存储单元的内容。寄存器或存储单元的内容可以用数据寻址方式中除立即数以外的任何一种寻址方存储单元的内容可以用数据寻址方式中除立即数以外的任何一种寻址方式取得,所得到的内容将用来取代式取得,所得到的内容将用来取代IPIP寄存器的值。寄存器的值。 段内间接寻址转移指令的汇编格式可以表示为:段内间接寻址转移指令的汇编格式可以表示为: JMP CXJMP CX JMP WORD PTR BX+TAB1JMP WORD PTR BX+TAB1 钙颈陶呛谎郸斌辫焦拽阉蚂振那诧当宇电堆笛柔台版肆弥层蜡晴罩跪北杆计算机硬件基础重大计算机硬件基础重大 段间直接寻址段间直接寻址 这种寻址方式用于段间转移,指令中直接这种寻址方式用于段间转移,指令中直接提供了目标地址提供了目标地址的的段基址段基址和和偏移地址偏移地址,所以,所以, ,只要用只要用指令中指令中指定的指定的偏移地址取代偏移地址取代IPIP寄存器寄存器的内容,的内容,用用指令中指令中指定的指定的段基址取代段基址取代CSCS寄存器寄存器的内容就完成了从一个段到另一个的内容就完成了从一个段到另一个段的转移操作,段的转移操作, 指令的汇编语言格式可表示为:指令的汇编语言格式可表示为: JMP FAR PTR NEXTJMP FAR PTR NEXT 段间间接寻址段间间接寻址 该方式下,用存储器中该方式下,用存储器中两个相继字的内容两个相继字的内容来来取代取代IPIP和和CSCS寄存器寄存器中中的的原始原始内容,以达到内容,以达到段间转移段间转移的目的。这里,存储单元的地址是由指的目的。这里,存储单元的地址是由指令指定除立即数方式和寄存器方式以外的任何一种数据寻址方式取得。令指定除立即数方式和寄存器方式以外的任何一种数据寻址方式取得。 指令的汇编语言格式可表示为:指令的汇编语言格式可表示为: JMP DWORD PTR REL+BXJMP DWORD PTR REL+BX葵兜谓阮低掳蚊洗动障紊捂鼓凶缓律赂摔峭潜指曲松爸微唆逛他干茁茫篷计算机硬件基础重大计算机硬件基础重大第二节第二节 80486 80486微处理器指令系统微处理器指令系统 80X8680X86的的指指令令系系统统向向上上兼兼容容,都都是是在在80868086指指令令的的基基础础上上发发展展形形成成的的。与与8028680286相比,增加了相比,增加了3232位操作和访问存储器的位操作和访问存储器的3232位寻址方式。位寻址方式。 8048680486可可以以工工作作在在实实模模式式、保保护护模模式式和和虚虚拟拟8686模模式式,为为了了支支持持系系统统工工作作模模式式,指指令令系系统统中中设设计计了了系系统统管管理理指指令令、保保护护模模式式控控制制指指令令以以及高级语言支持指令等等。及高级语言支持指令等等。 8048680486的的基基本本指指令令按按功功能能可可分分为为7 7类类:数数据据传传送送指指令令、算算术术运运算算指指令令、逻逻辑辑运运算算指指令令、字字符符串串操操作作指指令令、控控制制转转移移指指令令、处处理理器器控控制制指令和按条件设置字节指令。下面分别给予介绍。指令和按条件设置字节指令。下面分别给予介绍。 武恍迷宇短绘赞杏谍铱度被戊劳麦立京办矫赏啸吓挟竟糯蚜董陈恕歪慈郊计算机硬件基础重大计算机硬件基础重大MOV指令允许的传送关系通用寄存器EAX、EBX、ECX、EDX、EBP、ESP、SDI、ESI段寄存器CS、SS、DS、ES、FS、GS 存储器 立即数一汰兴户描称鹃窝镁块炸门彰眼铅腋揽霸无掏给寡斗椽汗糙氢鹃峡飞赊蒙计算机硬件基础重大计算机硬件基础重大一一 、数据传送指令、数据传送指令1)通用数据传送指令:)通用数据传送指令: 基本传送指令(基本传送指令(MOV) 格式:格式:MOV 目标操作数,源操作数目标操作数,源操作数 例如:例如:MOVBYTE PTR BX,55H ;55H送给送给BX间址的字节型单元间址的字节型单元 MOVBX,55H ;0055H送给送给BX间址的字型单元间址的字型单元 符号扩展传送指令符号扩展传送指令MOVSX 格式:格式:MOVSX 目标操作数,源操作数目标操作数,源操作数 例如:例如:MOV DL,-16;DL = F0HMOVSX BX,DL;BX = FFF0H,而,而DH,DL不变不变 零扩展传送指令零扩展传送指令MOVZX 格式:格式:MOVZX 目标操作数,源操作数目标操作数,源操作数 例如:例如:MOVZX EAX,CX ;将;将CX中中16位数高位加位数高位加0扩展为扩展为32位送入位送入EAX MOVSX和和MOVZX这两条指令常被用于作除法时对被除数位数的扩展。这两条指令常被用于作除法时对被除数位数的扩展。 交换指令交换指令XCHG 格式:格式: XCHG 目标操作数,源操作数目标操作数,源操作数 挨诵疏赦畦判鸯表糠谢谱风奇询玫锁弯州拖寓傀酵凡雌勘追父蝗漾著晕噶计算机硬件基础重大计算机硬件基础重大地址传送指令地址传送指令 LEA传送指令传送指令格式:格式: LEA目标操作数,源操作数目标操作数,源操作数例如:例如:TABLEDB 31H,32H,33H,34H LEA DI,TABLE 等效于等效于 MOV DI,OFFSET TABLE 指针传送指令指针传送指令 格式:格式: LDS/LES/LFS/LGS/LSS 目标操作数,源操作数目标操作数,源操作数例如:设数据段有例如:设数据段有 XYZ1 DF1234567890ABH XYZ2 DD56781234H 如此时如此时DS已指向数据段:已指向数据段:LESEBX,XYZ1 ;ES=1234H,EBX=567890ABHLDSSI,XYZ2 ;DS=5678H,SI=1234H糙檄移丑届幼轰泼墒尉干掏烈详劈初淆雷例琵超涨俱董控煌条摧咏丝羌铰计算机硬件基础重大计算机硬件基础重大 查表转换指令查表转换指令XLAT 例如:利用查表转换功能实现一位十六进制数与例如:利用查表转换功能实现一位十六进制数与ASCII码的转换。码的转换。DATA SEGMENTTAB DB 0123456789ABCDEFNUM DB? ;0F中的任一数中的任一数DATA ENDS 代代码码段段设设置置如如下下指指令令,可可查查出出与与NUM单单元元中中的的数数相相对对应应的的ASCII编编码码:MOV AX,DATAMOV DS,AXMOV BX,OFFSET TABMOV AL,NUMXLAT 字节交换指令字节交换指令BSWAP格式:格式:BSWAP 32位寄存器位寄存器 标志寄存器传送指令标志寄存器传送指令LAHF/SAHF格式:格式:LAHF 或或 SAHF烃虾箭洲噪釜慕翠具葵僳敷诣霜淮快现堂怎哑奢气刷地伏著用栓婿勒简锯计算机硬件基础重大计算机硬件基础重大2)堆栈指令)堆栈指令压栈指令压栈指令PUSH 格式:格式:PUSH源操作数源操作数弹栈指令弹栈指令POP格式:格式:POP目标操作数目标操作数16位标志寄存器压栈位标志寄存器压栈/弹栈指令弹栈指令PUSHF/POPF格式:格式:PUSHF POPF 32位标志寄存器压栈位标志寄存器压栈/弹栈指令弹栈指令PUSHFD/POPFD 格式:格式:PUSHFD POPFD全部全部16位通用寄存器压栈位通用寄存器压栈/弹栈指令弹栈指令PUSHA/POPA格式:格式:PUSHA POPA狼鉴氰兴选饯补凤醛越故郧榆啤煤宠后幕痰浊费初避霸套沾乍蔓孽丙冯种计算机硬件基础重大计算机硬件基础重大全部全部32位通用寄存器压栈位通用寄存器压栈/弹栈指令弹栈指令PUSHAD/POPAD格式:格式:PUSHAD POPAD3 3)I/OI/O指令指令直接寻址的直接寻址的I / / O指令指令格式:格式:IN AL/ /AX,PORT OUT PORT,AL/ /AX DX间址的间址的I / / O指令指令格式:格式:IN AL/ /AX/ /EAX,DX OUT DX,AL/ /AX/ /EAX灾伪亡灯澄靛健抗娶祸紧谐勒戊筏古庞资茵许猎刺斟刃抨奖摩耿沃伪道甫计算机硬件基础重大计算机硬件基础重大说明:说明: 源源操操作作数数可可以以是是8位位、16位位或或32位位的的立立即即数数、寄寄存存器器、段段寄寄存存器器或或存存储储器器操操作作数数,目目标标操操作作数数是是与与源源操操作作数数等等长长的的寄寄存存器器、段段寄寄存存器器(CS除除外外)或存储器操作数。或存储器操作数。 源源操操作作数数和和目目标标操操作作数数不不能能同同时时为为存存储储器器操操作作数数。如如:MOV BP,SI是非法指令。是非法指令。 源源操操作作数数和和目目标标操操作作数数不不能能同同在在段段寄寄存存器器中中,如如:MOV DS,ES是是非非法指令。法指令。 立即数不能作为目标操作数。如:立即数不能作为目标操作数。如:MOV 1234H,AX是非法指令。是非法指令。 不能将立即数直接传送到段寄存器,如:不能将立即数直接传送到段寄存器,如:MOV SS,1000H是是非非法法指令。指令。 当当目目标标操操作作数数为为非非直直接接寻寻址址的的存存储储器器操操作作数数时时,如如源源操操作作数数是是单单字字节节的的立立即即数数,则则应应用用PTR运运算算符符说说明明目目标标操操作作数数的的属属性性,否否则则将将被被默默认认为为字字型型操作数。操作数。规讽蚌胯竿码狭衡蘸浩甩酉稽探耻诗渐复齐蜜孔郑撬骨鸡贵岔静裔膜法俗计算机硬件基础重大计算机硬件基础重大二二 、算术运算指令、算术运算指令1)基本四则运算)基本四则运算加法指令加法指令ADD/ /带进位加法指令带进位加法指令ADC 格式:格式:ADD目标操作数,源操作数目标操作数,源操作数 ;目标操作数;目标操作数 = 源操作数源操作数 + 目标操作数目标操作数格式:格式:ADC目标操作数,源操作数目标操作数,源操作数 ;目标操作数;目标操作数 = 源操作数源操作数 + 目标操作数目标操作数CF减法指令减法指令SUB / /带借位减法指令带借位减法指令SBB格式:格式:SUB目标操作数,源操作数目标操作数,源操作数 ;目标操作数;目标操作数 = 源操作数源操作数 目标操作数目标操作数格式:格式:SBB目标操作数,源操作数目标操作数,源操作数;目标操作数;目标操作数 = 源操作数源操作数 目标操作数目标操作数CF新洛单弹限蔼绸责徒驻离毙耍津凰辆云付孜还鸳城泻逮线霍齿盯贱勃袒铱计算机硬件基础重大计算机硬件基础重大加加1指令指令INC/ /减减1指令指令DEC/ /求补指令求补指令NEG格式:格式:INC目标操作数;目标操作数目标操作数;目标操作数 = 目标操作数目标操作数 + 1 DEC目标操作数;目标操作数目标操作数;目标操作数 = 目标操作数目标操作数 1。 求补指令求补指令NEG格式:格式:NEG目标操作数目标操作数 ;目标操作数;目标操作数 = 0 目标操作数目标操作数交换加法指令交换加法指令XADD格式:格式:XADD目标操作数,源操作数目标操作数,源操作数 ;将将源源操操作作数数和和目目标标操操作作数数进进行行互互换换,然然后后将将源源操操作作数数与与目目标标操操作作数数之之和和送送给给目目标标操操作作数数。指指令令执执行行后后的的源源操操作作数数是是指指令令执执行行前前的的目目标标操操作作数。数。比较指令比较指令CMP格式:格式:CMP 目标操作数,源操作数目标操作数,源操作数 ;目标操作数目标操作数 - - 源操作数源操作数光封舌叶辨道梯糖粤弛队购钩预卤跑搁藩睬精效依娘歼馆仿饭夺馒率惋务计算机硬件基础重大计算机硬件基础重大比较并交换指令比较并交换指令CMPXCHG格式格式: CMPXCHG 目标操作数,源操作数目标操作数,源操作数 ; 将将目目标标操操作作数数与与累累加加器器AL,AX或或EAX比比较较,若若相相等等则则将将源源操操作作数数传送到目标操作数,否则将目标操作数传送到累加器。传送到目标操作数,否则将目标操作数传送到累加器。无符号数乘法指令无符号数乘法指令MUL/ /带符号数乘法指令带符号数乘法指令IMUL格式:格式:IMUL源操作数源操作数 ; AX / /EAX AL/ /AX源操作数源操作数 IMUL目标操作数,源操作数目标操作数,源操作数;目标操作数;目标操作数目标操作数目标操作数源操作数源操作数 IMUL目标操作数,源操作数,立即数目标操作数,源操作数,立即数 ;在在三三操操作作数数格格式式下下,目目标标操操作作数数只只能能是是16或或32位位的的通通用用寄寄存存器器,源源操操作作数数是是与与目目标标操操作作数数等等长长的的寄寄存存器器操操作作数数或或内内存存操操作作数数,立立即即数数也也与它们等长。与它们等长。8位立即数能自动进行符号扩展,转换成位立即数能自动进行符号扩展,转换成16或或32位的立即数。位的立即数。废跌沦窖坐些唆纹庸项撞六窍僧征军件耽四皋歼敬俩白锭葡柄隐渤禁植屁计算机硬件基础重大计算机硬件基础重大无符号数除法无符号数除法DIV/ /带符号数除法带符号数除法IDIV格式:格式: DIV源操作数源操作数 ; AX/ /DX:AX/ /EDX:EAX源操作数源操作数 ; ;商:商:AL/ /AX/ /EAX,余数:余数:AH/ /DX/ /EDX IDIV源操作数源操作数 ;被除数和除数都是带符号数,被除数和除数都是带符号数, ;商和余数的符号相同。;商和余数的符号相同。说明:说明:若除数为若除数为0或商过大(超过保存商的累加器容量)时,产生或商过大(超过保存商的累加器容量)时,产生0号中断号中断 符号位扩展(数据宽度变换)指令符号位扩展(数据宽度变换)指令CBW,CWD,CWDE,CDQ格式:格式:CBW/CWD/CWDE/CDQ说明:说明: CBW将将AL中的中的8位带符号数带符号扩展为位带符号数带符号扩展为16位位AX中。中。 CWD将将AX中的中的16位带符号数带符号扩展为位带符号数带符号扩展为32位位DX:AX中。中。 CWDE将将AX中的中的16位带符号数带符号扩展为位带符号数带符号扩展为32位位EAX中。中。 CDQ将将EAX中的中的32位带符号数带符号扩展为位带符号数带符号扩展为64位位EDX:EAX中。中。 蕊镶玩搜杯目讯眯忙煮掘月疮中备爽醇勤冀咽兢瘤猎额田脉糕嚏陨曝纬秒计算机硬件基础重大计算机硬件基础重大2 2)十进制调整指令)十进制调整指令格式:格式:DAA ;组合;组合BCD码数的加法调整指令码数的加法调整指令 DAS;组合;组合BCD码数的减法调整指令码数的减法调整指令 AAA;分离;分离BCD码数的加法调整指令码数的加法调整指令 AAS;分离;分离BCD码数的减法调整指令码数的减法调整指令 AAM ;分离;分离BCD码数的乘法调整指令码数的乘法调整指令 AAD;分离;分离BCD码数的除法调整指令码数的除法调整指令疗赣审覆赣每愧灾篆写详郧秋梭透时妻陇杰额苫肃放锦宁溶亢斑渺猪房咙计算机硬件基础重大计算机硬件基础重大 AAD放放在在DIV之之前前,用用于于将将AX中中未未组组合合BCD码码调调整整为为二二进进制制数数,使使除除法得到的商和余数为有效的未组合法得到的商和余数为有效的未组合BCD码码DAA、DAS、AAA、AAS、 AAM放在相应指令之后放在相应指令之后MOV AL,08HADD AL,09HDAA结果结果: AL = 17D两个两个4位组合位组合BCD码(比如码(比如3579+2468)相加)相加MOV AL,BCD1ADD AL,BCD2DAAMOV BCD3,ALMOV AL,BCD1+1ADC AL,BCD2+1DAAMOV BCD3+1,AL雕胀颈塌宏互湘豌裔肥厄掉阁汝傣豪筑括皮怎雹百仔门势寸怔群庭何囚蚜计算机硬件基础重大计算机硬件基础重大 两个两个ASCII码相减码相减MOV AL,5SUB AL,7AASAL=08H,CF=1非组合非组合BCD码的乘法(码的乘法(6*8)MOV AL,06HMOV BL,08HMUL BL AX:AL*BLAAM结果结果: AX = 0408H两个非组合两个非组合BCD码除法(码除法(17/5=3。2)MOV AX, 0107hMOV BL,5AADDIV BLAL:03,AH:02柠酬嫁碉霞蜡乙葬康翠醒俊井疽先疆愤常零并汉宗铺来抵绰潍拧屁辣悔猜计算机硬件基础重大计算机硬件基础重大比较及减法指令对标志位影响讨论CMP op1,op21.相等:ZF=1,CF、OF、SF为02.不等:ZF=0; 看成无符号数,op1op2,CF置1 否则CF为0 相减后,最高位为1,SF为1 否则,SF为0 看成有符号数,若op1-op2超出有符号数表示范围,OF为1,否则,OF为0 宇证未晤弱啤妖搞轰究案输斩问潞艺另攘酣溅亩扳得侦次饿集擂豆秤戮纠计算机硬件基础重大计算机硬件基础重大讨论:比较(减法指令)标志影响分析讨论:比较(减法指令)标志影响分析 CF ZF SF OF3,5(03,05)10105,3(05,03)00003,-2(02,fe)10003,-128(03,80) 1011-2,3(fe,03)0010-2,127(fe,7f)0001-1,-2(ff,fe)0000-2,-1(fe,ff)1010薄脾掘敛拷虚国谱见键躇杭葵盯阻瘸疫十婿粮猖摹捷赖诵瓜酌躬秃惹巳纷计算机硬件基础重大计算机硬件基础重大加法运算对标志位的影响将 op1,op2的二进制码相加(负数用补码):1.结果为0(忽略进位):ZF=1,否则ZF为02.相加后最高位向前有进位,CF置1, 否则CF为03.相加后最高位为1,SF为1,否则SF为04.相加后最高位和次高位之一有进位,OF为1,否则OF为0.实际上就是op1+op2超出有符号数表示范围,即正数加正数得到了负数,或负数加负数得到了正数。粟载忌纹脓垣栏甄弃轿偏竿涝坑虎栖嚣兼晚愿惋主颅讼襟焰炽白朗剁狈葱计算机硬件基础重大计算机硬件基础重大讨论:加法指令标志影响分析讨论:加法指令标志影响分析 CF 次高位次高位 ZF SF OF1,1(01,01)00 0 0 01,127(01,7f)01 0 1 12,-1(02,ff)11 0 0 01,-2(01,fe)00 0 1 0-1,-1(ff,ff)11 0 1 0-1,-128(ff,80) 10 0 0 1-1,1(ff,1)11 1 0 0募嘉沾扮报玩痘凹阴盖额农斟技砂感退腊谐骗要刷趾镰馏赢扁结蔚诺愉丑计算机硬件基础重大计算机硬件基础重大乘法运算对标志位的影响1。MUL对标志位的影响AF PF SF ZF状态随机乘积高字节、字或双字为0,CF、OF为0乘积高字节、字或双字非0,CF、OF为1其余标志位不影响2。IMUL对标志位的影响AF PF SF ZF状态随机乘积高字节、字或双字为符号扩展,CF、OF为0乘积高字节、字或双字非符号扩展,CF、OF为1其余标志位不影响曳扳茵箩涧屁笛催徊议花陇村镭衫巩组跺烘鹤砍宣倒聘大遭芽顷吸钱馏炳计算机硬件基础重大计算机硬件基础重大除法运算对标志位的影响DIV、IDIVAF 、 PF 、 SF 、 ZF 、 CF、OF状态随机其余标志位不影响腥晨酒勒约咯恍玉矾描勒秽改只董笛鹅典范鱼旅险招暮充只亢呛雌待镰筷计算机硬件基础重大计算机硬件基础重大三、逻辑运算指令和移位指令三、逻辑运算指令和移位指令1)逻辑运算指令)逻辑运算指令逻辑与逻辑与/ /或或/ /异或指令异或指令 AND/ /OR/ /XOR格式:格式:AND/OR/XOR 目标操作数,源操作数目标操作数,源操作数测试指令测试指令TEST格式:格式:TEST目标操作数,源操作数目标操作数,源操作数逻辑非指令逻辑非指令NOT格式:格式:NOT操作数操作数TEST指令与指令与AND相似,但只修改标志位,不存储结果相似,但只修改标志位,不存储结果操作数:操作数:op1,op2长度相同为字节、字或双字。长度相同为字节、字或双字。reg regreg memreg immmem regmem imm铱伍企沽铸菩扯赋秒炬桑匣孰乓事山唁畜戎杰喂是滔乒情计帚金盼磋姐粟计算机硬件基础重大计算机硬件基础重大AND/OR/XOR/TEST指令对标志位的影响指令对标志位的影响0OF-DF-IF-TFxSFxZF-UAF-xPF-0CFNOT指令对标志位无影响,注意与指令对标志位无影响,注意与NEG指令的区别指令的区别例:读打印机状态端口(例:读打印机状态端口(3BD),判断是否忙(最高位为),判断是否忙(最高位为0,打印机忙),打印机忙)MOV DX,3BDhBusy:IN AL,DXTEST AL,80hJZ busy宽槛嘲裂精吁毋阔容坞抡缆青雷等烟丙伙嗽退谗汐之共命烷簇项葵狡勿窥计算机硬件基础重大计算机硬件基础重大例如例如: 要求屏蔽要求屏蔽0、1两位,可用两位,可用AND指令并设置常数指令并设置常数0FCH MOVAL,0BFH ANDAL,0FCH ;结果;结果AL=0BCH 要求第要求第5位置位置1,可用,可用OR指令指令 MOVAL,43H OR AL,20H ;结果;结果AL=63H 将未组合将未组合BCD码转为码转为ASCII码码 MOVAL,8 OR AL,30H ;结果;结果AL=8 对对AL高高4位取反,低位取反,低4位不变位不变 MOVCL,0f0H XORAL,CL ;止撞馏灌氮掠喷脉彤看见晶川旅货剔港思玫魏饺高伞马认怜柜炳遇陈莉扛计算机硬件基础重大计算机硬件基础重大算术算术/逻辑右移指令逻辑右移指令SAR/SHR格式:格式:SAR/SHR操作数,移位次数操作数,移位次数CFCFMSBLSBLSBMSB操作数操作数操作数操作数02)移位指令)移位指令算术算术/逻辑左移指令逻辑左移指令SAL/SHL格式:格式:SAL/SHL操作数,移位次数操作数,移位次数CFMSBLSB0操作数操作数胶四亮区伶茁久钳富蒸狈浆葵江仑互铅采谐逊放斩帖冒喳钮坞偏照资八民计算机硬件基础重大计算机硬件基础重大对标志位的影响对标志位的影响算术算术/逻辑左移指令逻辑左移指令SAL/SHL功能相同功能相同 op1 op2reg imm8reg CLmem imm8mem CLxOF-DF-IF-TFxSFxZF-AF-xPF-xCF对对OF的判断:的判断:在移动在移动1位时,如果移位后位时,如果移位后CF与结果最高位相同,与结果最高位相同,OF为为0,否则为,否则为1在移位次数不为在移位次数不为1时,时,OF不能确定。不能确定。喝译镭困越逃暇渴恋窗帅剿端落缚硕棚言凰昔七翌夜钵酋衷痛捍城塞碘邑计算机硬件基础重大计算机硬件基础重大对标志位的影响对标志位的影响算术算术/逻辑右移指令逻辑右移指令SAR/SHR op1 op2reg imm8reg CLmem imm8mem CLxOF-DF-IF-TFxSFxZF-AF-xPF-xCF对对OF的判断:的判断:在在移移动动1位位时时,对对SAR指指令令,OF为为0,对对SHR指指令令,OF与与移移位位前前的的最最高有效位相同。高有效位相同。在移位次数不为在移位次数不为1时,时,OF不能确定。不能确定。认佐嘛饵麓娶秆泅滥稻井美栖买鸯务泻该韩孺威秤枪子雁歧圃固稗匡炕缔计算机硬件基础重大计算机硬件基础重大op1 op2 op3 reg reg imm8mem reg imm8 reg reg CL mem reg CL只只有有486具具有有,支支持持两两个个16位位合合成成32位位移移位位,以以及及两两个个32位位合合成成64位移位,位移位,op3为移位次数。为移位次数。移位后原操作数不变。移位后原操作数不变。对标志位的影响:对标志位的影响:双精度左移双精度左移/ /右移指令右移指令SHLD/ /SHRD格式:格式:SHLD/SHRDSHLD/SHRD 目标操作数,源操作数,移位次数目标操作数,源操作数,移位次数CFCFCFCF目标操作数目标操作数目标操作数目标操作数源操作数源操作数源操作数源操作数313131310000UOF-DF-IF-TFxSFxZF-UAF-xPF-xCF六辖集剑菱溯猾咳帽肝哺弘名酶该圭冤详侗溢刃颧橱酗吨纂哈胁省辛施楔计算机硬件基础重大计算机硬件基础重大循环移位指令循环移位指令ROL/ /ROR/ /RCL/ /RCR格式:格式:ROL/ROR/RCL/RCR操作数,移位次数操作数,移位次数CFCFMSBMSBLSBLSB操作数操作数操作数操作数RORRCRCFCFMSBLSBLSB操作数操作数操作数操作数ROLRCLMSBop1 op2reg imm8mem imm8 reg CL mem CL对对标标志志位位的的影影响响: 移移动动1位位时时,ROL、ROR、RCL对对OF测测试试在在移移位后进行,位后进行,RCR在移位前进行,在移位前进行,CF与最高位同,与最高位同,OF为为0,否则为,否则为1ROR指令指令OF始终为始终为0。xOF-DF-IF-TFxSFxZF-xAF-xPF-xCF凌幅嫉杉锨泼铲徒婶爆埂己辩桔丸咎沂筹拨黑补之醉括鸳肺耿朗馒诱尧脾计算机硬件基础重大计算机硬件基础重大例如:例如: AX=0012H,BX=0034H,将两寄存器的低,将两寄存器的低8位组合形成位组合形成AX=1234HMOV CL,8ROLAX,CLADDAX,BX 说明:说明:用用立立即即数数作作移移位位次次数数时时80486的的移移位位次次数数不不能能大大于于31。8086只只能能是是1,但但用用CL作移位次数时可移位作移位次数时可移位255次。次。 左移指令常用于实现乘以左移指令常用于实现乘以2n的操作,右移指令常用于实现除以的操作,右移指令常用于实现除以2n的操作。的操作。 操操作作数数可可以以是是8位位、16位位或或32位位的的寄寄存存器器或或存存储储器器操操作作数数,移移位位次次数数可可以用立即数或以用立即数或CL寄存器的内容指明。寄存器的内容指明。 豹嫩仰鹤缮昌悲徊焦剔企葛陛粳躲挺塌大诫埂汹翼秩澜摄岗荐涟舆浅努厉计算机硬件基础重大计算机硬件基础重大例如:例如: 将将AX中的有符号数除以中的有符号数除以16MOV AX,-1024MOV CL,4SARAX,CL 例如:例如: 将将AX中的无符号数除以中的无符号数除以16MOV AX,1024MOV CL,4SHRAX,CL 满痛价航纪以纱酥颠齿科镊毁窗狙秤艘犬汾脑监蔫垂盘几羹装帅令凿末侦计算机硬件基础重大计算机硬件基础重大3)位测试指令与位扫描指令)位测试指令与位扫描指令位测试指令位测试指令格式:格式:BT目标操作数,源操作数目标操作数,源操作数 ;测试指定的位并将它拷贝至进位标志位测试指定的位并将它拷贝至进位标志位CFCF BTS标操作数,源操作数标操作数,源操作数 ;测试指定的位并将它拷贝至进位标志位;测试指定的位并将它拷贝至进位标志位CF,再将该位置,再将该位置1 BTR目标操作数,源操作数目标操作数,源操作数 ;测试指定的位并将它拷贝至进位标志位;测试指定的位并将它拷贝至进位标志位CF,再将该位清,再将该位清0 BTC目标操作数,源操作数目标操作数,源操作数 ;测试指定的位并将它拷贝至进位标志位测试指定的位并将它拷贝至进位标志位CFCF,再将该位取反,再将该位取反 OP1,OP2 Reg reg Mem regReg immMem immOp1为为16位或位或32位,位,op2 为为reg时与时与op1等长。等长。依据依据op1长度,长度,op2可为可为031或或015Op2太长,则使用除以太长,则使用除以16或或32的余数作为测试位。的余数作为测试位。 坷椰钦恳翟姐予希草耀缉叛延堂穗倍弯筷可溢亦阉引粪棒蜀癸没狭沪癣崖计算机硬件基础重大计算机硬件基础重大向前位扫描指令向前位扫描指令BSF格式:格式:BSF目标操作数,源操作数目标操作数,源操作数 ;对源操作数所指定的字或双字从右向左进行扫描,;对源操作数所指定的字或双字从右向左进行扫描, 找出第一个是找出第一个是“1”的位,把此位的下标放在目标操作数中。的位,把此位的下标放在目标操作数中。 向后位扫描指令向后位扫描指令BSR格式:格式:BSRBSR目标操作数,源操作数目标操作数,源操作数 ;对源操作数所指定的字或双字从左向右进行扫描,对源操作数所指定的字或双字从左向右进行扫描, 找出第一个是找出第一个是“1”的位,把此位的下标放在目标操作数中。的位,把此位的下标放在目标操作数中。 OP1,OP2 Reg regReg memOp2为为16位或位或32位。位。存到存到op1的为的为015或或031若若Op2为为0,op1不变,影响标志为不变,影响标志为ZF=1,否则,否则ZF为为0,其余不影响。,其余不影响。塔花睬言扁邀鼻淤恭锰铆完涅纵袱骡幅蝶悼狗亦勤澄低淆滞生涝貉片蜡烬计算机硬件基础重大计算机硬件基础重大四、字符串操作指令四、字符串操作指令 1)串传送指令)串传送指令MOVS/ /MOVSB/ /MOVSW/ / MOVSD格式:格式: MOVS 目标操作数,源操作数目标操作数,源操作数 ; 把由把由DS:SI(或(或ESI)指向的字节、字或双字存储单元的内容指向的字节、字或双字存储单元的内容 复制到由复制到由ES:DI(或(或EDI)指向的存储单元中去。指向的存储单元中去。MOVSB、MOVSW、 MOVSD无操作数无操作数MOVS op1 op2为存储器操作数,由为存储器操作数,由op1决定长度决定长度如如 MOVS word ptrDI,SI为字传送为字传送可以加重复前缀可以加重复前缀不影响标志不影响标志 莫装竣邵溪管供蜀兢届当棒俯抓奠择严甄阿虎氦超球便松添剩估敞占弊命计算机硬件基础重大计算机硬件基础重大2)取串指令)取串指令(串装载串装载)LODS/ /LODSB/ /LODSW/ / LODSD格式:格式:LODS 源操作数源操作数 ;将;将DS:SI (或(或ESI)指向的存储单元中内容取到累加器)指向的存储单元中内容取到累加器AL, AX或或EAX中。中。LODSB、LODSW、 LODSD无操作数无操作数LODS op1 为存储器操作数,由为存储器操作数,由op1决定长度决定长度如如 LODS word ptrDI 为字串装入为字串装入AX不影响标志不影响标志 巩惟击脉蟹穷片蹋醒拥楚狈呢疼苇秀截岿胎蛤磨是举赚杏减含愿骋漆格夺计算机硬件基础重大计算机硬件基础重大3)存串指令(串存储)存串指令(串存储)STOS/ /STOSB/ /STOSW/ /STOSD格式:格式:STOS 目标操作数目标操作数将将累累加加器器AL,AX或或EAX中中的的内内容容存存入入由由ES:DI(或或EDI)指指向向的的存存储储单单元中。元中。STOSB、STOSW、STOSD无操作数无操作数STOS op1 为存储器操作数,由为存储器操作数,由op1决定长度决定长度如如 STOS word ptrDI 为字串存储为字串存储可以加重复前缀可以加重复前缀REP(给内存块赋同一个值)(给内存块赋同一个值)不影响标志不影响标志 吏名烷肩迹踏捷喻亲械绪链谁巡醚兽欲资矗郡怪欠荔运赊耻兵有良悔袁红计算机硬件基础重大计算机硬件基础重大4)串比较指令)串比较指令CMPS/CMPSB/CMPSW/CMPSD格式:格式:CMPS目标操作数,源操作数目标操作数,源操作数 ;将;将DS:SI(或(或ESI)指向的字节或字存储单元的内容与由)指向的字节或字存储单元的内容与由ES:DI (或或EDI)指向的存储单元的内容相比较指向的存储单元的内容相比较(相减相减),比较结果不保存。,比较结果不保存。CMPSB、CMPSW、CMPSD无操作数无操作数CMPS op1 op2; op1 op2为存储器操作数,由为存储器操作数,由op1决定长度决定长度可以加重复前缀可以加重复前缀REPE、REPNE影响标志影响标志 xOF-DF-IF-TFxSFxZF-xAF-xPF-xCF放乡饿蚜屠农丑宦埠俱畅讽嘿树猖纵偏沾臣脐敲怖卯沟县圭搁营更迷瑚昏计算机硬件基础重大计算机硬件基础重大例例:比比较较两两个个长长度度为为500字字节节的的字字符符串串,若若不不同同,找找出出位位置置,并并存存入入DS段段的的POINT单元单元LEA SI,FLAGSLEA DI,STSTUSMOV CX,500CLD ;地址增地址增REPE CMPSB JNE FOUNDSAME: RETFOUND:INC CX ;退回退回1字节字节MOV WORD PTR POINT,CXJMP SAME属沼饺翅墙嘱锹笆混己孔酿酪沼黑因刷去溯萤裤蘸锰唯娥又手报惊殿迷笼计算机硬件基础重大计算机硬件基础重大5)串搜索指令(串扫描)串搜索指令(串扫描)SCAS/ /SCASB/ /SCASW/ /SCASD格式:格式:SCAS 目标操作数目标操作数 ;将累加器;将累加器AL,AX或或EAX中的内容与由中的内容与由ES:DI(或(或EDI)指向的)指向的 字节或字存储单元的内容相比较(相减),比较结果不保存。字节或字存储单元的内容相比较(相减),比较结果不保存。SCASB、SCASW、SCASD无操作数无操作数SCAS op1; op1 为存储器操作数,由为存储器操作数,由op1决定长度决定长度可以加重复前缀可以加重复前缀REPE、REPNE影响标志影响标志xOF-DF-IF-TFxSFxZF-xAF-xPF-xCF茎得是凶烽锥酱享概蓬溃鳃惩表烷椽浑颐陀戏蜒凉蛰范耐坑撬苛敛槐魁讶计算机硬件基础重大计算机硬件基础重大例:在字符串中搜索例:在字符串中搜索*LEA EDI,EBP+12MOV ECX,EBP+20CLD ;地址增地址增MOV AL,* REPNE SCASB JE MATCH丧泪痢特寞枷社淋舱铱苞晒剔莲醛曾酬休骤虽锰搐绥疟塌舵豁亦慨族曝灼计算机硬件基础重大计算机硬件基础重大6)从端口输入字符串指令)从端口输入字符串指令INSB/INSW/INSD格式:格式: INSB ;从;从DX指定的端口输入一个字节、字或双字元素传送到指定的端口输入一个字节、字或双字元素传送到ES:EDI 所指定的存储单元,同时自动修改目的指针。所指定的存储单元,同时自动修改目的指针。可加可加REP重复操作重复操作不影响标志不影响标志指令无操作数指令无操作数芦怪吸无斩余筛均勿厩突帆孜素摩秋机忻共酱扯墒寺连筒草发喊袁欠化凋计算机硬件基础重大计算机硬件基础重大7)向端口输出字符串)向端口输出字符串 OUTSB/ /OUTSW/ /OUTSD格式:格式:OUTSB ;把;把DS:ESI所指定的存储单元中的字节、字或双字传送给所指定的存储单元中的字节、字或双字传送给 DX指定的端口。指定的端口。 可加可加REP重复操作重复操作不影响标志不影响标志指令无操作数指令无操作数 今琵炸昏特靛别浆旧低味玛诡蔼小倪辰棕雀恒嘉臂僧猜陕奉响矮跨维脖帚计算机硬件基础重大计算机硬件基础重大8)重复前缀)重复前缀REP格式:格式:REP MOVS REP STOS REP OUTS REP INS ;只要;只要CX(ECX)寄存器中的内容不为)寄存器中的内容不为0,就重复执行,就重复执行REP后的后的 串操作指令。串操作指令。 古礼针司耶延掩弃倒擂瞻珊原鬼削遏勉暇竭辊吼赢志殃疲山犊猫铜针膨霹计算机硬件基础重大计算机硬件基础重大9)条件重复前缀)条件重复前缀REPE/ /REPZ/ /REPNE/ /REPNZ格式:格式:REPE/REPZCMPS REPE/REPZSCAS REPNE/REPNZCMPS REPNE/REPNZSCAS REPE/REPZ当当零零标标志志位位ZF = 1且且CX(ECX)的的内内容容不不为为0时时,重重复复执执行它后面的串操作。行它后面的串操作。 REPNE/REPNZ当当零零标标志志位位ZF = 0且且CX(ECX)的的内内容容不不为为0时时,重重复执行它后面的串操作。复执行它后面的串操作。餐慑毅墨度逗佛旦屋滤秀一惑跪茂森趴票牧镍穴拭涉杂冗旧绦用锹咙罗取计算机硬件基础重大计算机硬件基础重大例例如如:将将数数据据段段中中长长度度为为17的的字字符符串串MESS1 转转送送到到附附加加段段MESS2 开开始始的的地址位置。设数据段和附加段的起始地址为地址位置。设数据段和附加段的起始地址为DATA。MOVAX,DATAMOVDS,AXMOVES,AX LEASI,MESS1LEADI,MESS2MOVCX,17CLDREPMOVSB 希腕畸乔涤儒毙烧肘侯洗立脸钱杂鲁逻芹驻馆雏话园缉舔伴筷缸卿联渴觅计算机硬件基础重大计算机硬件基础重大五、控制转移指令五、控制转移指令1 1)无条件转移指令)无条件转移指令JMPJMP格式:格式:JMP JMP 目标操作数目标操作数 根据目标地址相对于转移指令执行的当前位置的转移方式可以分为根据目标地址相对于转移指令执行的当前位置的转移方式可以分为3 3种种 短转移(短转移(SHORTSHORT):): 在段内的短距离(在段内的短距离(-128-128127127)转移。)转移。 段内转移(段内转移(NEARNEAR):目标地址与转移指令都在同一段内。):目标地址与转移指令都在同一段内。 段间转移(段间转移(FARFAR):): 目标地址与转移指令分别位于不同的段内,转移时目标地址与转移指令分别位于不同的段内,转移时CSCS和和IPIP(EIPEIP)中的值都要发生改变。)中的值都要发生改变。 JMPJMP指令的三种寻址方式指令的三种寻址方式 直接寻址:在指令中直接给出转移目标的地址标号,可以实现段内和段直接寻址:在指令中直接给出转移目标的地址标号,可以实现段内和段间转移。间转移。 寄存器间接寻址:目标操作数是某一寄存器,在寄存器中存放转移的目寄存器间接寻址:目标操作数是某一寄存器,在寄存器中存放转移的目标地址,只能实现段内转移。标地址,只能实现段内转移。 存储器间接寻址:目标操作数是存储器操作数,在内存单元中存放转移存储器间接寻址:目标操作数是存储器操作数,在内存单元中存放转移的目标地址,可以实现段内和段间的转移的目标地址,可以实现段内和段间的转移 。城耗闸器纶惋院垂椅捆泥厢窿焙钱狠箩诚赠躲吉茧蹦士炔辊鄙城戎狰谆季计算机硬件基础重大计算机硬件基础重大直接寻址直接寻址寄存器间寄存器间接寻址接寻址存储器间存储器间接寻址接寻址备注备注短转移短转移(段内)(段内)JMP SHORT lb-128127相对相对转移转移段内转移段内转移JMP NEAR PTR lbJMP CXJMP WORD PTR BXCS不变不变(E)IP变变段间转移段间转移JMP FAR PTR lbXJMP DWORD PTR BXCS、(E)IP变变备注备注指令中给出转指令中给出转移地址或标号移地址或标号寄存器中寄存器中提供目标提供目标地址地址由存储器由存储器提供目标提供目标地址地址JMP LABEL JMP LABEL 表示段内转移表示段内转移姜径汾诀笺稳尽骚姐是月趣冗永胺獭稀六吧叠丫蔷宿操镇腔肾俐每梢挞鸳计算机硬件基础重大计算机硬件基础重大2 2)条件转移指令)条件转移指令格式:指令助记符格式:指令助记符 转移地址标号(转移地址标号(短标号或近标号)短标号或近标号)常用条件转移指令常用条件转移指令无符号无符号数条件数条件转移指转移指令令指令助记符指令助记符转移条件转移条件 说说 明明JCJCCF=1CF=1有进位转移(与有进位转移(与JB/JNAEJB/JNAE重叠)重叠)JNCJNCCF=0CF=0无进位转移(与无进位转移(与JAE/JNBJAE/JNB重叠)重叠)JP/JPEJP/JPEPF=1PF=1校验为偶转移校验为偶转移JP/JPOJP/JPOPF=0PF=0校验为奇转移校验为奇转移JA/JNBEJA/JNBECF=ZF=0CF=ZF=0高于高于/ /不低于或等于转移不低于或等于转移JAE/JNBJAE/JNBCF=0CF=0高于或等于高于或等于/ /不低于转移不低于转移JB/JNAEJB/JNAECF=1CF=1低于低于/ /不高于或等于转移不高于或等于转移JBE/JNAJBE/JNACF=1CF=1或或ZF=1ZF=1低于或等于低于或等于/ /不高于转移不高于转移JE/JZJE/JZZF=1ZF=1等于等于/ /为零转移为零转移JNE/JNZJNE/JNZZF=0ZF=0不等于不等于/ /非零转移非零转移做箔压忍把咯恍假惶圭获摊糕拼褪酒践盯轰站辣惠掌戏牙抹呻虱辊原饲妥计算机硬件基础重大计算机硬件基础重大有符号有符号数条件数条件转移指转移指令令指令助记符指令助记符转移条件转移条件 说说 明明JOJOOF=1OF=1溢出转移溢出转移JNOJNOOF=0OF=0无溢出转移无溢出转移JSJSSF=1SF=1为负数转移为负数转移JNSJNSSF=0SF=0为正数转移为正数转移JG/JNLEJG/JNLEZF=0ZF=0且且SF=OFSF=OF大于大于/ /不小于或等于转移不小于或等于转移JGE/JNLJGE/JNLSF=OFSF=OF大于或等于大于或等于/ /不小于转移不小于转移JL/JNGEJL/JNGESFOFSFOF小于小于/ /不大于或等于转移不大于或等于转移JLE/JNGJLE/JNGZF=1ZF=1或或SFOFSFOF小于或等于小于或等于/ /不大于转移不大于转移JCXZJCXZ(CXCX)=0=0CXCX寄存器为零转移寄存器为零转移说明:说明:8086/80888086/8088模式下为短转移(模式下为短转移(-128-+127-128-+127)8048680486模式模式转移范围在转移范围在1616位寻址方式下为位寻址方式下为64KB64KB,3232位寻址方式下为位寻址方式下为4GB4GB。条件转移指令执行后,均不影响标志位。条件转移指令执行后,均不影响标志位。足陕沏宾七秦谓菌燃蜡适矿撬菱腺侯姥靳般钡朽帖柬钩粥允辱涝鹃潍毫贷计算机硬件基础重大计算机硬件基础重大3)循环控制转移指令)循环控制转移指令格式:格式:LOOP 短标号短标号 LOOPE/LOOPZ 短标号短标号 LOOPNE/LOOPNZ短标号短标号 JCXZ短标号短标号操作码转移操作码转移助记符助记符条件功能条件功能LOOP(E)CX0若满足条件则将若满足条件则将(E)CX减减1,并转移到标号处的指令执行并转移到标号处的指令执行LOOPE/LOOPZ(E)CX0且且ZF=1若满足条件则将若满足条件则将(E)CX减减1,并转移到标号处的指令执行并转移到标号处的指令执行LOOPNE/LOOPNZ(E)CX0且且ZF=0若满足条件则将若满足条件则将(E)CX减减1,并转移到标号处的指令执行并转移到标号处的指令执行JCXZ(E)CX=0若若满满足足条条件件,转转移移到到标标号号处处的指令执行的指令执行说明:说明:与条件转移指令相同,该指令的转移地址标号必须在距离下一条与条件转移指令相同,该指令的转移地址标号必须在距离下一条指令的指令的-128+127B范围内。范围内。黎犯秩睁共近腿脐垢同孙篙酬歉狰痔歧浦赛冈廷啡潦轩更印叁恢旁恫厌志计算机硬件基础重大计算机硬件基础重大例例如如:根根据据加加法法运运算算的的结结果果做做不不同同的的处处理理,如如结结果果为为 0 转转向向 KK1,结结果果为为 1 转向转向 KK2 执行。执行。方法方法1:ADDAX,BXJZKK2 ;KK2: 方法方法2:ADDAX,BXJNZKK1 ;KK2 处理程序处理程序KK1:蛤例引陡辈苦伸皋周秉产抑漫抱肖苔搀氛鳖撤熊秩融真叫复漱汉梆尿吱窿计算机硬件基础重大计算机硬件基础重大循环例子:循环例子:MOV ECX,000F0000HNEXT: NOPLOOP NEXT二狭交街镍姜迁疙岳九蘸窝唬下许取菱铭仁釉左柒琳暖霜孤甭婶负簿凝吴计算机硬件基础重大计算机硬件基础重大4 4)过程调用指令过程调用指令格式:格式:CALL目标操作数目标操作数(标号、寄存器、存储器标号、寄存器、存储器) ;先将;先将CALL的后继指令地址(也称为断点)保存在堆栈中,然后的后继指令地址(也称为断点)保存在堆栈中,然后 控制程序转移到目标操作数指定的位置继续执行。控制程序转移到目标操作数指定的位置继续执行。 段内调用时段内调用时:当前的:当前的IP(EIP)压栈,将目标地址送给)压栈,将目标地址送给IP(EIP);); 段间调用时段间调用时:当前的:当前的CS和和IP(EIP)压栈,将目标地址的段基址)压栈,将目标地址的段基址 和偏移量送给和偏移量送给CS和和IP(EIP)。)。CALL指令有指令有3种寻址方式:种寻址方式: 直直接接寻寻址址:在在指指令令中中直直接接给给出出被被调调用用过过程程的的过过程程名名。可可以以实实现现段段内内和和段段间转移。间转移。 寄寄存存器器间间接接寻寻址址:目目标标操操作作数数是是某某一一寄寄存存器器,在在寄寄存存器器中中存存放放被被调调用用过过程的入口地址。只能实现段内转移。程的入口地址。只能实现段内转移。 存存储储器器间间接接寻寻址址:目目标标操操作作数数是是内内存存操操作作数数,在在内内存存单单元元中中存存放放被被调调用用的子程序入口地址,可以实现段内和段间的转移。的子程序入口地址,可以实现段内和段间的转移。每辱绒犬齐等灼振布涂邢喀洒挪即绘更战庄瘁缨黍扬回舆羞将服照滇瓷蚜计算机硬件基础重大计算机硬件基础重大CALLCALL指令的用法与指令的用法与JMPJMP相同,但要保留入口地址相同,但要保留入口地址保留顺序:保留顺序:CS(高)CS(低)IP(高)IP(低)SPSP地址增祭鼠呛柑令俊抬蹭密算呛蜘操屠咀雹厄揩赃魄予缘舟矾嘎洋姬搐局玄朋瞅计算机硬件基础重大计算机硬件基础重大5)过程返回指令)过程返回指令RET格式:格式:RET/RET n ;将将当当前前堆堆栈栈栈栈顶顶元元素素无无条条件件弹弹出出,作作为为返返回回的的目目标标地地址址。若若是是段段内内返返回回,则则只只弹弹出出偏偏移移地地址址给给IP(EIP);若若是是段段间间返返回回,则则弹弹出出段段基基址址和和偏偏移移地地址址给给CS和和IP(EIP)。)。说明:说明: RET n称称为为带带参参数数的的返返回回指指令令,该该参参数数n必必须须是是立立即即数数。返返回回时时,堆堆栈栈指指针针除除了了加加上上弹弹出出的的返返回回地地址址的的字字节节数数以以外外,还还要要加加上上参参数数n所所给给出出的的立立即即数数。这这个立即数必须是个立即数必须是16位的偶数。位的偶数。 如如果果在在执执行行RET指指令令之之前前,栈栈顶顶元元素素仍仍然然是是调调用用程程序序的的断断点点地地址址,则则RET指令执行后,能够正确返回调用程序断点,否则不能。指令执行后,能够正确返回调用程序断点,否则不能。 近近过过程程和和远远过过程程中中的的RET指指令令,格格式式相相同同,但但汇汇编编后后生生成成的的目目标标代代码码不不一一样,前者为样,前者为C3H,后者为,后者为CBH。那浮棉姻鼎羚蜒戈生惠磊咯嚣旧吧扑附旧群捶硝募嗜登侥悲党睁艾冈皇渝计算机硬件基础重大计算机硬件基础重大例:远过程例:远过程 。 RET例:远过程例:远过程 。 RET 4CS(高)CS(低)IP(高)IP(低)SPSP地址增CS(高)CS(低)IP(高)IP(低)SPSP地址增参数1参数2参数3参数4厦扬墅蓄埠蓄剧词乐储捅泰温涂阎尧圣临侠酶拧肖夯僳履屈唯促疏尘肝中计算机硬件基础重大计算机硬件基础重大问题:问题: RET 6是某是某NEAR过程的返回语句,执行后,过程的返回语句,执行后,SP的值增加:的值增加:A: 6 B:8 C:10 D:12离到佳狮丑骆距淹尸彝尊嘿诊眨喊宝苯伤的鉴滔芋饶裹在瑟刃男旁就栖续计算机硬件基础重大计算机硬件基础重大6)中断调用与中断返回指令)中断调用与中断返回指令中断调用指令中断调用指令格式:格式:INTN INTO INT N为软中断指令,用于产生一个由为软中断指令,用于产生一个由N指定中断类型号的软中断。指定中断类型号的软中断。 INTO为为溢溢出出中中断断指指令令,它它是是软软中中断断指指令令INT的的特特例例,隐隐含含中中断断类类型型号号为为4。它只有当。它只有当OF置置1时才产生中断。时才产生中断。中断返回指令中断返回指令格式:格式:IRET;IRET为为中中断断服服务务程程序序的的返返回回指指令令,CPU执执行行该该指指令令时时,依依次次从从当当前前栈栈顶顶弹出弹出6个元素给个元素给IP,CS及标志寄存器,用于从中断服务程序返回原程序。及标志寄存器,用于从中断服务程序返回原程序。谬庞蛾睹谣倚椽烂消耻咳饥舅老苍至伴嗅于拐膏缉绞绪甜慰竟涧恃蜂具冀计算机硬件基础重大计算机硬件基础重大六、处理器控制指令六、处理器控制指令1)单个标志位操作指令)单个标志位操作指令IF=1表示允许可屏蔽中断(开中断)表示允许可屏蔽中断(开中断)置中断允许标志置中断允许标志(IF1)STIIF=0表示禁止可屏蔽中断(关中断)表示禁止可屏蔽中断(关中断)清中断允许标志清中断允许标志( IF0 )CLIDF=1使串指针向减少方向修改使串指针向减少方向修改置方向标志(置方向标志(DF1)STDDF=0使串指针向增加方向修改使串指针向增加方向修改清方向标志(清方向标志(DF0)CLD进位标志取反(进位标志取反(CFCF )CMC置进位标志(置进位标志(CF1)STC清进位标志(清进位标志(CF0)CLC说说 明明功功 能能指令格式指令格式承每诲帽桃楞吹树上系宪足羚澳劣吩尽帮胀牲咀蕊衍炙迅豺药乃溺佑酞捅计算机硬件基础重大计算机硬件基础重大2)处理器暂停指令)处理器暂停指令HLT功功能能:使使程程序序停停止止运运行行,处处理理器器进进入入暂暂停停状状态态,不不执执行行任任何何操操作作,不不影影响响标标志志。当当RESET线线上上有有复复位位信信号号、CPU响响应应非非屏屏蔽蔽中中断断、CPU响响应应可可屏蔽中断屏蔽中断3种情况之一时,种情况之一时,CPU脱离暂停状态,执行脱离暂停状态,执行HLT的下一条指令。的下一条指令。3)处理器脱离指令)处理器脱离指令ESC功功能能:使使CPU将将控控制制权权交交给给浮浮点点协协处处理理器器FPU,使使FPU可可以以接接受受CPU的的指令,也可利用指令,也可利用CPU的寻址。的寻址。4)处理器等待指令)处理器等待指令WAIT 功能:功能:使处理器处于等待状态,直到出现外部中断为止使处理器处于等待状态,直到出现外部中断为止。 5)总线锁定前缀)总线锁定前缀LOCK功功能能:用用于于产产生生有有效效的的LOCK总总线线信信号号,锁锁住住由由一一条条指指令令目目标标操操作作数数指指定定的的存存储储器器区区域域,使使之之在在该该指指令令执执行行期期间间一一直直受受到到保保护护,防防止止其其他他主主控控器访问。器访问。6)空操作指令)空操作指令NOP功功能能:完完成成一一次次空空操操作作,它它与与HLT指指令令的的区区别别是是:NOP执执行行后后,CPU继继续执行其后的指令;续执行其后的指令;HLT执行后,执行后,CPU暂停任何操作。暂停任何操作。简姜革庄翌训隘造险挪吕撕恼汲仟汗咽柠获埂忽唉辜撩雪童普烃乏容年晴计算机硬件基础重大计算机硬件基础重大七、按条件设置字节指令七、按条件设置字节指令格式:格式:SETxx目标操作数目标操作数 ; 根据指令中给出的条件根据指令中给出的条件“xx”是否满足来设置目标操作数:条件满是否满足来设置目标操作数:条件满 足时,将字节设置为足时,将字节设置为01H;条件不满足时,设置为;条件不满足时,设置为00H。指令助记符指令助记符设置条件设置条件指令条件说明指令条件说明SETC/SETB/SETNAECF=1有进位有进位/低于低于/不高于或等于不高于或等于SETNC/SETAE/SETNBCF=0无进位无进位/高于或等于高于或等于/不低于不低于SETOOF=1溢出溢出SETNOOF=0无溢出无溢出SETP/SETPEPF=1校验为偶校验为偶SETNP/SETPOPF=0校验为奇校验为奇谱孔生镍加哉价贝碟疚惊毯萄畏嘿孟脊眠责腆琼眩拾酥迸闹廓捞荧噎泛算计算机硬件基础重大计算机硬件基础重大指令助记符指令助记符设置条件设置条件指令条件说明指令条件说明SETSSF=1为负数为负数SETNSSF=0为正数为正数SETA/SETNBECF=ZF=0高于高于/不低于或等于不低于或等于SETBE/SETNACF=1或或ZF=1低于或等于低于或等于/不高于不高于SETE/SETZZF=1等于等于/为零为零SETNE/SETNZZF=0不等于不等于/非零非零SETG/SETNLEZF=1且且SF=OF大于大于/不小于或等于不小于或等于SETGE/SETNLSF=OF大于或等于大于或等于/不小于不小于SETL/SETNGESFOF小于小于/不大于或等于不大于或等于SETLE/SETNGZF=1或或SFOF小于或等于小于或等于/不大于不大于说明:说明:目标操作数只能是目标操作数只能是8位的寄存器或存储器操作数。位的寄存器或存储器操作数。 踩功得技刮佑亨日殉蛤出车遥响自丝惮椎折吝车谨格反眉箕岔犬舰藩切嫁计算机硬件基础重大计算机硬件基础重大第四章汇编语言程序设计第四章汇编语言程序设计 第一节汇编语言指令第一节汇编语言指令第二节汇编语言程序设计方法第二节汇编语言程序设计方法第三节汇编语言程序设计举例第三节汇编语言程序设计举例盎款伞戈脚默奢纶掳展豹业稗纯鳃侥涛吭斡扔抓伴塞踏骗果猫忽蜡玄郁镀计算机硬件基础重大计算机硬件基础重大汇编语言的特点汇编语言的特点汇编语言是一种介于机器语言和高级语言之间的计算机编程语言。汇编语言是一种介于机器语言和高级语言之间的计算机编程语言。优点:优点:目标代码精简、占用内存少、执行速度快。目标代码精简、占用内存少、执行速度快。缺点:缺点:编程难度大、出错可能性大、程序设计和调试时间长、编程难度大、出错可能性大、程序设计和调试时间长、 可移植性差可移植性差适用范围:适用范围:对内存容量和速度要求比较高的编程场合。对内存容量和速度要求比较高的编程场合。汇编语言语句的分类汇编语言语句的分类汇编语言的语句可分为指令性语句(符号指令)和指示性语句(伪指令)。汇编语言的语句可分为指令性语句(符号指令)和指示性语句(伪指令)。指指令令性性语语句句:是是可可执执行行语语句句,与与机机器器指指令令相相对对应应,命命令令CPUCPU进进行行某某种种操操作作,其功能由硬件完成。其功能由硬件完成。指指示示性性语语句句:是是说说明明性性语语句句,无无对对应应的的机机器器指指令令,它它为为汇汇编编程程序序提提供供编编译译信信息,为链接程序提供链接信息,其功能由软件完成。息,为链接程序提供链接信息,其功能由软件完成。碑腊忽痒破湖敞圈炸挝膛盂雇蹿挖瑟于吞旁屋痪扩懈欣喷岔瘁兽红针戏幅计算机硬件基础重大计算机硬件基础重大第一节汇编语言指令第一节汇编语言指令一、基本语法成分一、基本语法成分名字:名字:用来标识一定的语法成分,有系统规定与用户定义两类。用来标识一定的语法成分,有系统规定与用户定义两类。 标号和变量:又称为符号地址标号和变量:又称为符号地址 标标号号只只可可能能出出现现在在某某一一个个代代码码段段中中,它它代代表表指指令令地地址址,它它为为转转移移指指令令提供了转移目标。提供了转移目标。 Label:Label: MOV AX,BX MOV AX,BX 变变量量是是存存储储器器中中一一个个数数据据或或数数据据区区的的符符号号表表示示,它它通通常常被被定定义义在在数数据据段、附加段或堆栈段,它代表内存操作数的存储地址段、附加段或堆栈段,它代表内存操作数的存储地址DATA SEGMENTDATA SEGMENTX X db 20h db 20hY Y dw 03f5h dw 03f5hDATA ENDSDATA ENDS伟聪井钠辑非诅悬赎颤骑撞炸告三薛赐睫悼啄罐宁煤送做怠返亏扶苹臻峡计算机硬件基础重大计算机硬件基础重大标号和变量的属性:标号和变量的属性:1 1)段属性:)段属性:SEG LABELSEG LABEL2 2)偏移属性:)偏移属性:OFFSET LABELOFFSET LABEL3 3)类型属性:)类型属性:标号类型:标号类型:NEAR FARNEAR FAR变量类型:变量的存取单位,由定义方式指定,但可用变量类型:变量的存取单位,由定义方式指定,但可用PTRPTR更改更改data segmentdata segmentx dd 02a8b7654hx dd 02a8b7654hy dw 5abchy dw 5abchz dw ?z dw ?f dw ?f dw ?data endsdata endscode segmentcode segment mov ax,word ptr x mov ax,word ptr x mov dx,word ptr x+2 mov dx,word ptr x+2 mov bx,y mov bx,y 灭戳蒜拼状恍肛死要慈吻宵患拄哉挥赵名橱冕咋搜醒且杀酒憨龚碑才瓦簧计算机硬件基础重大计算机硬件基础重大 常常量量:在在汇汇编编时时已已有有确确定定的的值值,有有立立即即数数、字字符符串串常常数数和和符符号号常常数数三三种形式。种形式。1)1)立即数立即数10010011B 35Q 678 0a5dh10010011B 35Q 678 0a5dh2)2)字符串常量字符串常量G hjkkkh G hjkkkh MOV AL,AMOV AL,A2)2)符号常量符号常量X1 EQU 76X1 EQU 76X2 = 67X2 = 67X2 X2 可重新定义值,可重新定义值,X1X1不能。不能。七笑鹃尤敝颈申祥申俺珠葡片盒裕骋步敞干响运汽械喊肯亨桐办淳亩呐摹计算机硬件基础重大计算机硬件基础重大运算符运算符 数值运算符:数值运算符:算术运算符、逻辑运算符算术运算符、逻辑运算符 、关系运算符、关系运算符 + - * / MOD MOV AX,23*32+ - * / MOD MOV AX,23*32NOT AND OR XOR HIGH LOW MOV AX,LOW 1234hNOT AND OR XOR HIGH LOW MOV AX,LOW 1234hEQ NE GT LT GE LEEQ NE GT LT GE LE 修改属性的运算符:修改属性的运算符:PTRPTR运算符运算符 类型说明符类型说明符 PTR PTR 地址表达式地址表达式mov ax,word ptr xmov ax,word ptr xinc BYTE PTR DXinc BYTE PTR DX 返回属性或数值的运算符:返回属性或数值的运算符: SEG SEG运算符运算符 、OFFSETOFFSET运算符运算符 、TYPETYPE运算符运算符 、 运算符运算符 格式:格式:SEG/OFFSET/TYPE SEG/OFFSET/TYPE 变量名或标号变量名或标号Y DD 12345678HY DD 12345678HMOV AX,TYPE yMOV AX,TYPE y哑苔蹦郊轩挝芭滓屈摧砒掠檄宰帮鲸竖钡时沼涣秽危卯祈屹疟丽瞻忽络积计算机硬件基础重大计算机硬件基础重大 方括号运算符和地址表达式方括号运算符和地址表达式MOV AX,BX+2MOV AX,BX+2早妻翠锅缮勉毯堕耸烘孵厚黄扎药趾喂圈著丽帐物仍鹃缀嘶涝耿勉句谢灿计算机硬件基础重大计算机硬件基础重大二、伪指令二、伪指令数据定义伪指令:数据定义伪指令:用于定义变量并分配存储区用于定义变量并分配存储区 字节定义伪指令字节定义伪指令DBDBDAT1DAT1DB 16H,8/2,11011001BDB 16H,8/2,11011001B DB 214,-5,0d2h,ABC,CDB 214,-5,0d2h,ABC,CCOUNT DB $ - DAT1COUNT DB $ - DAT1DAT2DAT2DB ?,7 DUP(F)DB ?,7 DUP(F)DAT3 DB 67 DUP(?)DAT3 DB 67 DUP(?) 字定义伪指令字定义伪指令DWDWDW 1234H,50,ab,c,?DW 1234H,50,ab,c,?34h 12h 32h,00,62h,61h,63h,00h,xx,xx 34h 12h 32h,00,62h,61h,63h,00h,xx,xx 在这里字符串中不允许超过在这里字符串中不允许超过2 2个字符个字符 双双/ /三三/ /四四/ /五字定义伪指令五字定义伪指令DD/DF/DQ/DTDD/DF/DQ/DT画恍怜蚜羞王箭踢厘洼佯遇橙露毋峦也堂装梆惦秆挛浅隔哟爱蒙耗溃速仟计算机硬件基础重大计算机硬件基础重大符号定义伪指令:符号定义伪指令:用于用于给符号定义一个数值,也可定义为别的符号名给符号定义一个数值,也可定义为别的符号名 等值伪指令等值伪指令EQUEQU 等号伪指令等号伪指令= =:类似于:类似于EQUEQU,但可以对变量进行再定义,但可以对变量进行再定义 段定义伪指令:段定义伪指令:提供了构造程序的手段提供了构造程序的手段 SEGMENTSEGMENT、ENDSENDS伪指令伪指令 任何一个逻辑段从任何一个逻辑段从SEGMENTSEGMENT语句开始,到语句开始,到ENDSENDS语句结束语句结束 ASSUME ASSUME 伪指令:伪指令:通知汇编程序,寻址逻辑段使用哪一个段寄存器通知汇编程序,寻址逻辑段使用哪一个段寄存器 0RG0RG伪指令:伪指令:用以规定目标程序或数据区起始存放单元的偏移量用以规定目标程序或数据区起始存放单元的偏移量 过程与宏定义伪指令过程与宏定义伪指令 过程定义伪指令:过程定义伪指令:PROC/ENDPPROC/ENDP 宏定义伪指令:宏定义伪指令:MACRO/ENDMMACRO/ENDM 条件汇编伪指令:条件汇编伪指令:MACRO/ENDMMACRO/ENDM源程序结束伪指令源程序结束伪指令ENDEND么账湿需甭戌瞪圭碑肿苦掖白歉氢崔径酒撒大馒功拖鹰沦诉嘉奠藉俩闹防计算机硬件基础重大计算机硬件基础重大例:例:DATA SEGMENTDATA SEGMENTORG 1000HORG 1000HNUM1NUM1DB 12H,34H,56H,78H,90HDB 12H,34H,56H,78H,90HNUM2NUM2DW 1122H,3344H,5566HDW 1122H,3344H,5566HNUM3NUM3DD 13572468H,87654321HDD 13572468H,87654321HNUM4NUM4DW NUM1DW NUM1DATADATAENDSENDSCODE SEGMENTCODE SEGMENT MOV AX,SEG DATAMOV AX,SEG DATA; ;MOV DS,AXMOV DS,AX; ;MOV BL,NUM1MOV BL,NUM1;12h;12hMOV BX,NUM2+2MOV BX,NUM2+2;3344H;3344HMOV BL,BYTE PTR NUM3MOV BL,BYTE PTR NUM3;68H;68HMOV BX,WORD PTR NUM1+1MOV BX,WORD PTR NUM1+1;5634H;5634HMOV BL,NUM12*2MOV BL,NUM12*2;90H;90HMOV BX,NUM24MOV BX,NUM24;5566H;5566HMOV BX,WORD PTR NUM33MOV BX,WORD PTR NUM33;2113H;2113HMOV BX,3MOV BX,3; ;MOV BL,NUM1BXMOV BL,NUM1BX;78H;78HMOV SI,OFFSET NUM1MOV SI,OFFSET NUM1;1000H;1000HMOV BX,SI+1MOV BX,SI+1;5634H;5634HMOV BX,NUM4MOV BX,NUM4;1000H;1000H巩旷诧冬暴赐漓乱艘宵吧紧痴豺芒觉亡匈逮棕轮啥距坑乎傀系巾形行匣桑计算机硬件基础重大计算机硬件基础重大段定义结构段定义结构: :段名段名 SEGMENT SEGMENT 定位参数定位参数 链接参数链接参数 字长选择字长选择 分类名分类名段名段名 ENDSENDS例:例:DATA SEGMENT DATA SEGMENT WORDWORD PUBLIC PUBLIC USE16 DATA USE16 DATA BYTEBYTE MEMORY USE32 MEMORY USE32 任意字符串任意字符串PARAPARA COMMON COMMONPAGEPAGE STACK STACK AT XXXXh AT XXXXhDATADATAENDSENDS偷脱醉棱虐氖歇湃费亲让匆渠羡吠寻召漠镇徘免邻唆般制胶帅缆炒铡搽魔计算机硬件基础重大计算机硬件基础重大例:例:STACK1 SEGMENT STACKSTACK1 SEGMENT STACKDW 100 DUPDW 100 DUP(?)(?)STACK1 ENDSSTACK1 ENDSEDATA SEGMENT EDATA SEGMENT BUFBUFDB 100 DUPDB 100 DUP(?)(?)EDATA ENDSEDATA ENDSDATA SEGMENTDATA SEGMENTORG 100H ORG 100H BLOCKBLOCKDB 100 DUPDB 100 DUP(?)(?)DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENTASSUME CSASSUME CS:CODECODE,DSDS:DATADATA,ESES:EDATAEDATA,SSSS:STACK1STACK1STARTSTART:MOV AXMOV AX,DATADATAMOV DSMOV DS,AXAXMOV AXMOV AX,EDATAEDATAMOV ESMOV ES,AXAXMOV AH,4CHMOV AH,4CHINT 21HINT 21HCODECODEENDSENDSEND STARTEND START铰拇饶镁植橱匝厌拽赎抵买樊插沼结赌豪快醋寓恍滋磷糠剥靛澡愚疤芥渴计算机硬件基础重大计算机硬件基础重大第二节汇编语言程序设计方法第二节汇编语言程序设计方法一、分支结构程序设计一、分支结构程序设计分支结构程序是具有判断和转移功能的程序。分支结构程序是具有判断和转移功能的程序。 分支程序的分类:分支程序的分类:简单分支程序、多分支程序简单分支程序、多分支程序 简单分支程序结构简单分支程序结构多分支程序结构多分支程序结构负碑毫硕条摩擅临泄斌迅龄袒促牺兑釜即绿振篙矛扇象疹溉柒蝴薪窿龚勉计算机硬件基础重大计算机硬件基础重大分支结构程序设计例:分支结构程序设计例:教材教材P91P91例例4.5 4.5 DATA SEGMENTBUF1DW 805AHBUF2DW 9300HSUMDW ?BUFDB Overflow!$DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,BUF1ADD AX,BUF2JO DISPMOV SUM,AXJMP DONEDISP:MOV DX,OFFSET BUFMOV AH,9INT 21HDONE: MOV AH,4CHINT 21HCODE ENDSEND START 哑驮瓜急吱噎畸逾掏踞睦剖卵铃陷罕神首昔襟震宝谊明尉务酷孕呀冲藏靠计算机硬件基础重大计算机硬件基础重大多分支结构程序设计例:多分支结构程序设计例:教材教材P95P95例例4.74.7DATA SEGMENTDAT DB ?BUF DW ADR00BUF DW ADR01BUF DW ADRFFDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,DATMOV AH,0ADD AX,AXMOV BX,OFFSET BUFADD BX,AXMOV CX,BXJMP CXADR00:ADR01:ADRFF:CODE ENDSEND START攻设娄牌呼氮涨嗅逮抿却愿彪释甄缄洽坐溶招童绘敲鲤爵袍屉遥蹬踢昆滦计算机硬件基础重大计算机硬件基础重大二、循环程序设计二、循环程序设计循环程序结构的分类:循环程序结构的分类:单重循环单重循环 、多重循环、多重循环循环程序分为:循环程序分为:循环初始、循环体和循环控制循环初始、循环体和循环控制3 3部分部分单重循环结构单重循环结构多重循环结构多重循环结构妄言捕得桨什涂臣枚束湘盅蚜刊兵涩峨枯聘袖孙称暴赶腑宁猎浴崩啼妖角计算机硬件基础重大计算机硬件基础重大循环程序设计例:循环程序设计例:教材教材P97P97例例4.94.9DATA SEGMENTBUF DB 12H,34H,0A7H,9FH DB 74H,88H,01H,0C8HMAX DB ?DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET BUFMOV CX,N-1MOV AL,SILP1:CMP AL,SI+1JNC LP2MOV AL,SI+1LP2:INC SILOOP LP1MOV MAX,ALMOV AH,4CHINT 21HCODE ENDSEND START橇镍里澄颤凳员枢卷处羔察饵业怨瘁穗陡蚁裂啸奇嗜代庭回掌货衡鲜最旗计算机硬件基础重大计算机硬件基础重大多重循环程序设计例:多重循环程序设计例:教材教材P98P98例例4.104.10DATA SEGMENTBUF DB 12H,34H,0A7H,9FH,RESULT DB ?DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI, BUFMOV CX,80MOV BX,0LP1:MOV DH,8MOV AL,SILP2:ROR AL,1JC NEXTINC BXNEXT:DEC DHJNE LP2INC SILOOP LP1MOV RESULT,BXMOV AH,4CHINT 21HCODE ENDSEND START沂瞳捌畜举喊蠢垫氧抿盅谓墓装獭砒描叶省绽骨缚但嚣皮签库崖怂情儡睹计算机硬件基础重大计算机硬件基础重大三、子程序设计三、子程序设计子程序的调用和返回子程序的调用和返回子程序的调用:子程序的调用:CALLCALL指令指令 子程序的返回:子程序的返回:RETRET指令指令 子程序的调用可分为:段内调用、段间调用子程序的调用可分为:段内调用、段间调用段内调用:目标地址(子程序入口地址)的段基址是不变的段内调用:目标地址(子程序入口地址)的段基址是不变的, ,它与主调程序的它与主调程序的 段基址相同;子程序定义为近过程。段基址相同;子程序定义为近过程。段间调用:目标地址的段基址和段内偏移量都将改变;子程序定义为远过程。段间调用:目标地址的段基址和段内偏移量都将改变;子程序定义为远过程。 子程序的参数传送:子程序的参数传送:调用程序和子程序之间的信息传送称为参数传送调用程序和子程序之间的信息传送称为参数传送, ,也称为也称为 变量传送或者过程通信。变量传送或者过程通信。 利用寄存器传送参数:把传送的数据直接放在寄存器中利用寄存器传送参数:把传送的数据直接放在寄存器中, ,完成主调程序与子完成主调程序与子 程序间的传送。程序间的传送。 利用堆栈传送参数:由主调程序将参数压入堆栈,子程序把参数从堆栈中利用堆栈传送参数:由主调程序将参数压入堆栈,子程序把参数从堆栈中 弹出使用。弹出使用。 利用内存单元传送参数:在某逻辑段内建立一个参数表利用内存单元传送参数:在某逻辑段内建立一个参数表, ,表内放有子程序所表内放有子程序所 要使用的参数。要使用的参数。 耪胞账谭砾果试面吊蒸儡僳夷确弄逾绵彝哺畦篮俏贱就腰蛆笔遵移持盐叹计算机硬件基础重大计算机硬件基础重大子程序嵌套与递归子程序嵌套与递归 子程序的嵌套:在程序中子程序的嵌套:在程序中, , 子程序调用另一个子程序的现象子程序调用另一个子程序的现象递归子程序:子程序在执行时又调用子程序自身,它是子程序嵌套的特例递归子程序:子程序在执行时又调用子程序自身,它是子程序嵌套的特例, ,苍曼刷属奖炉贝槛碍空涅圣他揉洱赠苹羚媚巷尖球诛肄嘲陪朝犀尤讳例堂计算机硬件基础重大计算机硬件基础重大子程序设计例:子程序设计例:教材教材P101P101例例4.114.11DATA SEGMENTNUMDB 1234H,5678H,2957HSUMDW ?DATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,NUMCALL ADDSUBL1:MOV SUM,CXCALLDISPL2:MOV AH,4CHINT 21HADDSUB PROC NEARMOV CX,0ADD CX,BXADD CX,BX+2ADD CX,BX+4RETADDSUB ENDP耿忌犊爪汽诉郊踢粱盏矣氰攒毙孜画冀唉周滁付笑霞晃歌末缘这涝庞煌钵计算机硬件基础重大计算机硬件基础重大DISPPROC NEARMOV DI,16L3:MOV DL,0RCL CX,1JNC L4MOV DL,1L4:MOV AH,2INT 21HDEC DIJNZ L3RETDISP ENDPCODE ENDSEND START调用第一个子程序通过存储器传递参数,以调用第一个子程序通过存储器传递参数,以BX为指针,为指针,第二个子程序通过寄存器第二个子程序通过寄存器CX传递参数传递参数苏剑晦遂符宗陀仲秸环撞斧揪扇凑随舵慷止氛层愈附煮气蜂奉参蕉庶盎誊计算机硬件基础重大计算机硬件基础重大方法方法2:DATA SEGMENTNUMDB 1234H,5678H,2957HSUMDW ?DATAENDSSTACK1 SEGMENT STACKDB 100 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,NUMPUSH WORD PTRBXPUSH WORD PTRBX+2PUSH WORD PTRBX+4CALL ADDSUBL1:MOV SUM,CXCALLDISPL2:MOV AH,4CHINT 21H汗摸剁狮惧痘缓应借驯军评术渝堑脐肮他悬皖华舅孰法劫筛劣杭汰礁银卯计算机硬件基础重大计算机硬件基础重大ADDSUB PROC NEARPOP BPMOV CX,0MOV DI,3L3:POP BXADD CX,BXDEC DIJNZ L3PUSH BPRETADDSUB ENDPDISPPROC NEARMOV DI,16L4:MOV DL,0RCL CX,1ADC DL,0 MOV AH,2INT 21HDEC DIJNZ L4RETDISP ENDPCODE ENDSEND START;第一个子程序通过堆栈传递参数,第二个子程序第一个子程序通过堆栈传递参数,第二个子程序通过寄存器通过寄存器CX传递参数传递参数放护区鼓保雍泉梭添傀墙就酌横晌至鹊汗寞闷竟钙绳速滤纽盼企膘辈嗽驮计算机硬件基础重大计算机硬件基础重大DOSDOS及及BIOSBIOS功能调用功能调用 调用模式:调用模式:MOV AHMOV AH,功能号,功能号 设置入口参数设置入口参数 INT nINT n 分析出口参数分析出口参数软件中断可分为软件中断可分为3 3部分:部分: DOS DOS中断,占用类型号为中断,占用类型号为20H20H3FH3FH。 ROM BIOS ROM BIOS中断,占用类型号为中断,占用类型号为10H10H1FH1FH。自由中断,占用类型号自由中断,占用类型号40H40HFFHFFH,可供系统或应用程序设置开发的中断处,可供系统或应用程序设置开发的中断处 理程序用。理程序用。部寺脉诧之烧簧镀氓揉浪抨招哦蜡在厚侯廊罗足捶埠补怀荒拔舟削利攫另计算机硬件基础重大计算机硬件基础重大DOSDOS中断及功能调用中断及功能调用 DOS DOS专用中断:专用中断:INT 22HINT 22H、INT 23HINT 23H和和INT 24H 3INT 24H 3个中断,个中断, 属属DOSDOS操作时专用,用户不要直接使用。操作时专用,用户不要直接使用。 DOS DOS可调用中断:是指可调用中断:是指INT 20HINT 20H、INT 21HINT 21H、INT 25HINT 25H、INT 26HINT 26H、INT 27HINT 27H和和INT 2FH 6INT 2FH 6个中断。这个中断。这6 6个中断可供用户直接调用,但个中断可供用户直接调用,但必须满足一定的入口条件必须满足一定的入口条件。 系系统统功功能能调调用用:专专指指INT INT 21H21H中中断断,供供系系统统程程序序和和应应用用程程序序调调用用的的一一个个极极其其重重要要的的中中断断,内内含含近近百百个个系系统统子子功功能能,已已经经标标准准化化,调调用用它它们们时时完完全全不不依依赖于任何硬件设备。赖于任何硬件设备。 DOSDOS系统输入系统输入/ /输出常用功能调用输出常用功能调用: BIOSBIOS中断调用中断调用 键盘键盘I/OI/O中断调用:中断调用:INT 16H INT 16H 打印机打印机I/OI/O中断调用中断调用 :INT 17H INT 17H 显示显示I/OI/O中断调用中断调用 :INT 10H INT 10H 河氰险凛秸鬼诫绸锄渠恋移媒咬厂揽椎仁躬友王居渣烯缴忍垮榨顺煌嗣坪计算机硬件基础重大计算机硬件基础重大几个重要的几个重要的DOSDOS功能调用功能调用 1 1从键盘上输入单个字符的从键盘上输入单个字符的 01H 01H 号功能号功能功能:功能: 接收键盘输入的单个字符,并将该字符的接收键盘输入的单个字符,并将该字符的 ASCII ASCII 码送入码送入 AL AL 寄存寄存 器,同时该字符被显示在屏幕上。器,同时该字符被显示在屏幕上。 MOV MOV AHAH,01H01H INT INT 21H21H例:例: 从键盘输入字符从键盘输入字符 A A MOV AH MOV AH,01H01H INT 21H INT 21H 执行后:执行后:AL = 41H AL = 41H 锈萌季枕滴梧夹青币滞悠销寨退汹辛裸拱沪人菌亡崭防颓艘洒寥杂茂葡把计算机硬件基础重大计算机硬件基础重大2 2在屏幕上显示单个字符的在屏幕上显示单个字符的 02H 02H 号功能号功能功能:功能: 将待显示字符转换为将待显示字符转换为 ASCII ASCII 码送入码送入 DL DL 寄存器寄存器 ,采用如下程序段完成显示采用如下程序段完成显示 MOV DL MOV DL,待显示字符(,待显示字符(ASCIIASCII码)码) MOV MOV AHAH,02H02H INT INT 21H21H例:例: 显示字母显示字母 A A(ASCIIASCII码为码为 41H 41H ) MOV DL MOV DL,41H 41H (或(或 MOV DL MOV DL,A A ) MOV AH MOV AH,02H02H INT 21H INT 21H 是纲呵葵孕躇鼠搬制膛约逃喉虹铺芋沾挂百部卞涩邢危撵繁羡让蒜剿帝渴计算机硬件基础重大计算机硬件基础重大3 3在屏幕上显示字符串在屏幕上显示字符串(09(09号号) )功能:功能: DS:DX DS:DX为字符串首地址,以为字符串首地址,以 $ $为结尾为结尾 DATA SEGMENT DATA SEGMENTBUF DB String$BUF DB String$ DATA ENDS DATA ENDS CODE SEGMENT CODE SEGMENT LEA DX,BUFLEA DX,BUF MOV AH,9HMOV AH,9H INT 21HINT 21H 榷咨上事计静寿涕捕硅恒尘润牙痕肚讲秘眉溃叼夷喝台滓亏寇饿滇宴士斥计算机硬件基础重大计算机硬件基础重大4 4等待键入字符串(等待键入字符串(0A0A号)号)功能:功能: DS:DX DS:DX为缓冲区首地址,存放从键盘输入的字符串,为缓冲区首地址,存放从键盘输入的字符串,但要注意格式,例:但要注意格式,例:buf db 50buf db 50db ?db ?db 50 dup(?)db 50 dup(?)mov ah,0ahmov ah,0ahmov dx,offset bufmov dx,offset bufint 21hint 21h输入时以回车键结束,回车键作为有效字符存在缓冲区尾输入时以回车键结束,回车键作为有效字符存在缓冲区尾蛔桓峦副咕退矫宽竟种论崎旋虹角鸟领放浦升钻晋陷必盏勃岗亦耙廖杆扬计算机硬件基础重大计算机硬件基础重大5 5设置中断向量(设置中断向量(25H25H号)号)功能:功能: 将将DS:DXDS:DX存放的中断向量设置到存放的中断向量设置到ALAL为中断号的中断向为中断号的中断向量表中量表中 mov ds, mov ds,中断服务程序段地址中断服务程序段地址 mov dx,mov dx,中断服务程序偏移量中断服务程序偏移量 mov al,mov al,中断类型号中断类型号mov ah,25hmov ah,25hint 21hint 21h使编写的中断服务程序能发生作用使编写的中断服务程序能发生作用国淹船洪汛壬义膊风俱垢般白马赁卷童稻贫醉慧巢扮财蛇砌峙曼债乱仕急计算机硬件基础重大计算机硬件基础重大6 6取中断向量(取中断向量(35H35H号)号)功能:功能: 从中断向量表中将中断号为从中断向量表中将中断号为ALAL的中断向量取出并存的中断向量取出并存入入ES:BXES:BX中中mov al,mov al,中断类型号中断类型号mov ah,35hmov ah,35hint 21hint 21h 返回:返回:ES,ES,中断服务程序段地址中断服务程序段地址 BX, BX,中断服务程序偏移量中断服务程序偏移量 用于保存原中断向量用于保存原中断向量萧把服闺叁芹痕职者蝎救娠昭郡弹斡孜饿梢励赘枚案颗乒圃慑旅喊寝瘸侍计算机硬件基础重大计算机硬件基础重大BIOSBIOS显示中断调用显示中断调用 (INT 10HINT 10H) 光标定位功能主要程序段光标定位功能主要程序段 MOV MOV AHAH,2 2 ;设置光标功能参数;设置光标功能参数 MOV MOV DHDH,05H05H ;设置光标行参数;设置光标行参数 MOV MOV DLDL,14H14H ;设置光标列参数;设置光标列参数 MOV MOV BHBH,00H00H ;光标在;光标在0 0页即当前页页即当前页 INTINT10H10H ;调用显示器中断;调用显示器中断 清屏功能主要程序段清屏功能主要程序段 MOV MOV AHAH,6 6 ;向上滚动当前页指定窗口里的内容;向上滚动当前页指定窗口里的内容 MOV MOV ALAL,00H00H ;整个窗口都滚动;整个窗口都滚动 MOV MOV CHCH,00H00H ;设置滚动窗口左上角的位置(行参数);设置滚动窗口左上角的位置(行参数) MOV MOV CLCL,00H00H MOVMOVDHDH,2424 ;设置滚动窗口右下角的位置(行参数);设置滚动窗口右下角的位置(行参数) MOV MOV DLDL,7979 MOV MOV BHBH,7 7 ;黑色属性(滚动后腾出空间填充字符属性);黑色属性(滚动后腾出空间填充字符属性) INTINT10H10H ;调用显示器中断;调用显示器中断鸯算擎鳃舷蕾额撕脓逢程崖税可嗡革荐敬猜恤臂低烛蝎鲁渍河衬志扒静房计算机硬件基础重大计算机硬件基础重大P112例4.14,利用DOS功能实现人机对话DATA SEGMENTDATA SEGMENTMESS1MESS1DB WHAT IS YOUR NAME?,$DB WHAT IS YOUR NAME?,$MESS2MESS2DB HOW OLD ARE YOU?,$DB HOW OLD ARE YOU?,$BUF1BUF1DB 20,0,20 DUP(?)DB 20,0,20 DUP(?)BUF1BUF1DB 15,0,15 DUP(?)DB 15,0,15 DUP(?)DATA ENDSDATA ENDSSTACK1 SEGMENT STACKSTACK1 SEGMENT STACKDB 100 DUP(?)DB 100 DUP(?)STACK1 ENDSSTACK1 ENDSCODE SEGMENTCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1ASSUME CS:CODE,DS:DATA,SS:STACK1START PROC FARSTART PROC FARPUSH DSPUSH DSMOV AX,0MOV AX,0PUSH AXPUSH AXMOX AX,DATAMOX AX,DATAMOV DS,AXMOV DS,AXMOV AX,STACK1MOV AX,STACK1MOV SS,AXMOV SS,AX 苍善讶菊箭煽锄选踢共挣协逝广淳添泥僵净韦滁驼叶些郑芒荚缺脱褪愤痢计算机硬件基础重大计算机硬件基础重大MOV DX,OFFSET MESS1MOV DX,OFFSET MESS1MOV AH,9MOV AH,9INT 21HINT 21HMOV DX,OFFSET BUF1MOV DX,OFFSET BUF1MOV AH,0AHMOV AH,0AHINT 21HINT 21HMOV DX,OFFSET MESS2MOV DX,OFFSET MESS2MOV AH,9MOV AH,9INT 21HINT 21HMOV DX,OFFSET BUF2MOV DX,OFFSET BUF2MOV AH,0AHMOV AH,0AHINT 21HINT 21HRETRETSTART START ENDPENDPCODE ENDSCODE ENDSEND STARTEND START侯衅如嗜映袋陡簧黔桐雁命舶斤趴亚沛护狼玫喀船淋拔咕谣章墩斤剿宽又计算机硬件基础重大计算机硬件基础重大模块化程序设计模块化程序设计 支持模块化程序的伪指令支持模块化程序的伪指令 全局符号名说明语句:全局符号名说明语句:PUBLICPUBLIC伪指令伪指令 外部符号名说明语句外部符号名说明语句 :EXTRNEXTRN伪指令伪指令 INCLUDEINCLUDE伪指令伪指令模块化程序设计的原则模块化程序设计的原则 模块化程序设计举例模块化程序设计举例 调血份取波河丫眯砰娃聋崭颊违衅忻僵例掂遭雄拷屡访碎征肾寻渍宪又愤计算机硬件基础重大计算机硬件基础重大第三节汇编语言程序设计举例第三节汇编语言程序设计举例一、数值计算一、数值计算 多字节减法运算多字节减法运算 多字节乘法运算多字节乘法运算二、代码转换二、代码转换 十进制码到二进制码的转换十进制码到二进制码的转换 二进制码与二进制码与ASCIIASCII码之间的转换码之间的转换 三、字符数据处理三、字符数据处理 字符的查找字符的查找 字符的删除字符的删除 乎风孕抉窑杨栖削九渐迈褪憾罢雍懈龄敝肥虏廓操病锹象合腑该剁冕捻重计算机硬件基础重大计算机硬件基础重大第五章第五章 存储器及存储管理存储器及存储管理第一节第一节 分级存储器系统分级存储器系统第二节第二节 内存储器的构成原理内存储器的构成原理第三节第三节 虚拟存储器及存储管理虚拟存储器及存储管理 第四节高速缓冲存储器第四节高速缓冲存储器 缸筐嵌眺寨陕旬竟赊巍翱苯泥朗珠素邓肯如沃读僻民模慷拆阐酋僻仅谢职计算机硬件基础重大计算机硬件基础重大第一节第一节 分级存储器系统分级存储器系统 微机大都采用微机大都采用分级结构分级结构来组织存储器系统,如图所示。存储来组织存储器系统,如图所示。存储器从内到外分为四级:器从内到外分为四级:内部寄存器组内部寄存器组、高速缓冲存储器高速缓冲存储器、内存储内存储器器和和外存储器外存储器。它们在存取速度上逐级递减,在存储容量上逐级它们在存取速度上逐级递减,在存储容量上逐级递增。递增。 分级存储器系统分级存储器系统 楼古误婶硬疫嘻休赌插甜虐椅赵鲤腕颗鞘森貉前烛戴蒂衡问苟论魔暮诈盲计算机硬件基础重大计算机硬件基础重大内部寄存器组内部寄存器组: :对其读写速度最快,可减少微处理器访问外部的次数,但数对其读写速度最快,可减少微处理器访问外部的次数,但数量不可能很多。量不可能很多。 高速缓冲存储器高速缓冲存储器: :用于装载当前程序和数据,使微处理器能以最高的速度工作。用于装载当前程序和数据,使微处理器能以最高的速度工作。 内存储器:内存储器:运行的程序和数据都放在其中。运行的程序和数据都放在其中。 外存:外存:如软盘、硬盘、光盘等,其存取速度比内存要慢得多。如软盘、硬盘、光盘等,其存取速度比内存要慢得多。 笼幻久埃从翟余产纠汇尘莎拯照叁菩索镰设刽随坚初皖爸再祥窄浆疗撂垃计算机硬件基础重大计算机硬件基础重大第二节第二节 内存储器的构成原理内存储器的构成原理一、存储器芯片的接口特性一、存储器芯片的接口特性 了解存储器芯片的接口特性,实质上是了解它了解存储器芯片的接口特性,实质上是了解它有哪些信号线有哪些信号线,以及这些,以及这些信号线信号线与总线的连接方法与总线的连接方法。 1 1、EPROM EPROM 的接口特性的接口特性 典型的典型的EPROMEPROM芯片有芯片有IntelIntel公司的公司的27162716、27322732、27642764、2712827128、2725627256、2751227512等。等。 州尹瑚钾雌甭做菠宫钮颤眺纸弦斤碌匠退遍签嚎闷拓的才督粤炳争柞甸汉计算机硬件基础重大计算机硬件基础重大2 2、E E2 2PROMPROM的接口特性的接口特性 E E2 2PROMPROM的突出特点是可以在线进行以字节为单位的读写。的突出特点是可以在线进行以字节为单位的读写。 典型典型E E2 2PROMPROM产品有产品有IntelIntel公司的公司的28162816、28172817和和2816A2816A、2817A2817A、2864A2864A等。等。 枕瓣冠咨潘乡戮纺度馒石箭跺莫污治捕馒坡凳裤瓮平嫩污香伎汝膜上呆索计算机硬件基础重大计算机硬件基础重大3 3、SRAMSRAM的接口特性的接口特性 典型的典型的SRAMSRAM芯片产品有芯片产品有21282128、61166116、61326132、62326232、61646164、62646264、32643264、71647164、6125661256、7125671256、5C 2565C 256、64C51264C512、7451274512。 媒烁夜徐护披匡礼隔井泄峰舌烙梯叫梆追群蜗玄凉宪苦汝淮庞车代缺押曹计算机硬件基础重大计算机硬件基础重大4 4、DRAMDRAM的接口特性的接口特性 5 5、单列直插式、单列直插式DRAMDRAM存储条的接口特性存储条的接口特性 踏衷驯郭瘩筋痒政绘赠粳滞伍缔守试针歧损咽帕翅负看败营经蛔餐熄必灰计算机硬件基础重大计算机硬件基础重大二、内存储器的设计二、内存储器的设计 内存储器的设计,一般包括以下三项工作:内存储器的设计,一般包括以下三项工作:存储器结构的确定存储器结构的确定,存储器存储器芯片的选择芯片的选择,存储器的连接存储器的连接。 1 1、存储器结构的确定、存储器结构的确定 存储器结构的确定,主要指采用存储器结构的确定,主要指采用单存储体结构单存储体结构还是还是多存储体结构多存储体结构。 数据宽度为数据宽度为8 8位外部数据总线为位外部数据总线为8 8位的微处理器,其存储器只需用单体结构。位的微处理器,其存储器只需用单体结构。外部数据总线为外部数据总线为1616位的微处理器,一般需用两个位的微处理器,一般需用两个8 8位存储体。位存储体。 对于对于8048680486等等3232位微处理器,一般使用位微处理器,一般使用4 4个由字节组成的存储体。个由字节组成的存储体。 2 2、存储器芯片的片选控制、存储器芯片的片选控制 根据对高位地址总线的译码方式,有线选法、局部译码法和全译根据对高位地址总线的译码方式,有线选法、局部译码法和全译码法三种片选方法。码法三种片选方法。 戈婴境际晕馈焙何盔桑淘冯凝舜茬历仓萌玖秧妓敷秃澎妇双崭修谦琶莫刊计算机硬件基础重大计算机硬件基础重大8028680286微处理器的存储器结构微处理器的存储器结构 乘仗橡搐愁谈揪卜馏租布绊惋压形嫉菠匣建懊皋鲍抛缓奔攒崔酬莲旺梆官计算机硬件基础重大计算机硬件基础重大80386/8048680386/80486微处理器的存储器结构微处理器的存储器结构 畔肪年用役徘乎话耪敢七辞闸讯溅韭郎钎奎喂空挝脆挠颜捞赦彬块拘锗绊计算机硬件基础重大计算机硬件基础重大线选法:线选法:将高位地址线直接作为各个存储器芯片的片选控制信号。将高位地址线直接作为各个存储器芯片的片选控制信号。 翰钻级沃消怠于缓媒筷术湾垮售雀间披给酸官巷蔬皮珠锚拜欢睹鹿霖钳衷计算机硬件基础重大计算机硬件基础重大局部译码法:局部译码法:对高位地址总线中的一部分(而不是全部)进行译码,对高位地址总线中的一部分(而不是全部)进行译码,以产生各存储器芯片的片选控制信号。以产生各存储器芯片的片选控制信号。 是蛮柯庆酬钻功睹昔敌惯两旭蒙很陛耀隘疲揩拇菩箍磁揣砚疤箭庄狄盈攀计算机硬件基础重大计算机硬件基础重大全译码法:全译码法:高位地址线全部译码,译码输出作为各芯片的片选信号。高位地址线全部译码,译码输出作为各芯片的片选信号。 温汁并绣模祝带参桐讲欣善希镀羽姑虱误峻僵邯伏没鹰崔想崖汕椭剑亚艳计算机硬件基础重大计算机硬件基础重大3 3、存储器连接、存储器连接 存储器连接通常可按下列步骤进行:存储器连接通常可按下列步骤进行:(1 1)根据系统实际装机存储容量,确定存储器在整个存储空间中的位置。)根据系统实际装机存储容量,确定存储器在整个存储空间中的位置。(2 2)选择合适的存储芯片。)选择合适的存储芯片。(3 3)根据地址分配图或表及选用的译码器件,画出相应的地址位图,以此)根据地址分配图或表及选用的译码器件,画出相应的地址位图,以此 确定确定“片选片选”和片内单元选择的地址线,进而画出片选译码电路。和片内单元选择的地址线,进而画出片选译码电路。(4 4)画出存储器总线的连接图。)画出存储器总线的连接图。馅军凡存畏糟缔匝惮桓彩沤昧鹅示厚河夫增吟钮必流骇薯鱼簇锹钵嘛本呈计算机硬件基础重大计算机硬件基础重大第三节第三节 虚拟存储器及存储管理虚拟存储器及存储管理 一、虚拟存储器的基本概念一、虚拟存储器的基本概念 虚拟存储器由虚拟存储器由主存储器主存储器和和辅助存储器辅助存储器组成,辅存作为主存的扩充。虚组成,辅存作为主存的扩充。虚拟存储器的速度接近于主存,而价格接近于辅存,因此性能价格比较高。拟存储器的速度接近于主存,而价格接近于辅存,因此性能价格比较高。 1 1、地址空间及地址、地址空间及地址 虚拟存储器中有虚拟存储器中有3 3种地址空间及对应的种地址空间及对应的3 3种地址。种地址。 虚拟地址空间虚拟地址空间又称为又称为虚存地址空间虚存地址空间,是程序员用来编写程序的地址空间,是程序员用来编写程序的地址空间, 与此相对应的地址称为与此相对应的地址称为虚地址或逻辑地址虚地址或逻辑地址; 主存地址空间主存地址空间又称为又称为实存地址空间实存地址空间,是存储运行程序和数据的空间,其,是存储运行程序和数据的空间,其相应的地址称为相应的地址称为主存地址或实地址或物理地址主存地址或实地址或物理地址; 辅存地址空间辅存地址空间也就是也就是磁盘存储器的地址空间磁盘存储器的地址空间,是用来存放暂不使用的程,是用来存放暂不使用的程序和数据的空间,相应的地址称序和数据的空间,相应的地址称为辅存地址或磁盘地址为辅存地址或磁盘地址。 2 2、工作原理、工作原理 爪邻盲榷耗獭历易畅叼劣袜疹巷粒拥仲扰螺勤篙伶迂宅隔矽抖笆缄兽归戏计算机硬件基础重大计算机硬件基础重大逻辑地址(保护虚地址)逻辑地址(保护虚地址)段选择符:段选择符:16位位46位,位,64T索引索引TIPLR请求特权级请求特权级偏移地址,偏移地址,32位位10LDT(64位)位)段基址:段基址:32bit边边 界:界:20bit属属 性:性:12bitGDTR(48位)位)基基 址:址:32bit边边 界:界:16bitLDTR(80位)位)基址:基址:32bit界限:界限:16bit选择符:选择符:16bit属性:属性:16bitGDTLDTLDT页表项索引(页表项索引(10位)位)每个目录每个目录4Byte共共4kB页内偏移(页内偏移(12位)位)页目录索引(页目录索引(10位)位)线性地址(线性地址(32位)位)页目录页目录页目录页目录页目录页目录页目录页目录每个目录每个目录4Byte共共4kB页表页表页表页表页表页表页表页表20位位物理地址(物理地址(32位)位)4G解燎址安恃剃敲攀凋嵌码帽棋套玻姓墩湘焚宁监咳膳做剪加皋吃负讯派摧计算机硬件基础重大计算机硬件基础重大二、二、8048680486的段式存储器的段式存储器1 1、地址映像与变换、地址映像与变换 线性地址的生成线性地址的生成 梦膘酵瓷靡呻场狭余稍壶辨钳册著臼业蛊飘捂峡凛堑窘捉现捣终两覆廊轮计算机硬件基础重大计算机硬件基础重大段段描描述述符符:在在段段式式存存储储器器中中,一一个个程程序序的的每每一一个个模模块块都都有有一一个个描描述述符符,用来描述模块的基本状况,其内容包括基址、界限和访问控制等。用来描述模块的基本状况,其内容包括基址、界限和访问控制等。 2 2、段描述符与段描述符表、段描述符与段描述符表 段描述符格式段描述符格式 段描述符格式段描述符格式 冻阵纹湘贼矽闷蹬需梯俄稼贯止兆铰殷闷晃咆扭使拢菠额寇添懒泳扫劣锌计算机硬件基础重大计算机硬件基础重大段描述符表:段描述符表:一个程序全部模块的段描述符集合构成的表。一个程序全部模块的段描述符集合构成的表。段描述符表段描述符表 段段描描述述符符表表分分全全局局段段描描述述符符表表(Global Global Descriptor Descriptor TableTable,GDTGDT)和局部段描述符表()和局部段描述符表(Local Descriptor TableLocal Descriptor Table,LDTLDT)。)。 GDTGDT和和LDTLDT在在主主存存中中的的位位置置由由全全局局描描述述符符表表寄寄存存器器(GDTRGDTR)和和局局部部描述符表寄存器(描述符表寄存器(LDTRLDTR)决定。)决定。 选择符选择符 在在保保护护模模式式下下,段段寄寄存存器器中中的的内内容容也也称称为为选选择择符符。选选择择符符不不直直接接确定存储器地址,而是选择(指向)一个段描述符。确定存储器地址,而是选择(指向)一个段描述符。 三、三、8048680486的页式存储器的页式存储器 四、四、8048680486的段页式存储器的段页式存储器 段式存储器段式存储器的模块性能好,但主存利用率不高,辅存管理比较困难;的模块性能好,但主存利用率不高,辅存管理比较困难; 页式存储器页式存储器的主存利用率高且辅存管理容易,但模块化性能差;的主存利用率高且辅存管理容易,但模块化性能差; 段页式存储器段页式存储器对多用户系统非常有用,逻辑结构特别清楚。对多用户系统非常有用,逻辑结构特别清楚。 湃糙早纯斧传顶兜萨椽封搔炉命姨二估胎痔登抬蕾私否肚滦零叼息电涵妈计算机硬件基础重大计算机硬件基础重大第四节高速缓冲存储器第四节高速缓冲存储器 一、一、cachecache的工作原理的工作原理 高高速速缓缓冲冲存存储储器器(cachecache)是是位位于于CPUCPU与与主主存存之之间间的的一一种种存存储储器器,容容量比主存储器小,但速度比主存快。量比主存储器小,但速度比主存快。 cachecache中中的的内内容容是是主主存存某某一一部部分分存存储储内内容容的的副副本本,而而这这一一部部分分是是CPUCPU当前正在使用当前正在使用的指令和数据。的指令和数据。 采采用用cache cache 减减轻轻了了主主存存速速度度比比CPUCPU速速度度慢慢而而产产生生的的瓶瓶颈颈问问题题,可可以以大大大提高系统的性能。大提高系统的性能。 cachecache地址与主存地址地址与主存地址 cachecache的工作过程的工作过程 cachecache的物理位置的物理位置 脂禹姜函镶楷护景州惺综埔格葫寄敦寝手滥摩稻替肌奇升馅迹渭坡韧芽讶计算机硬件基础重大计算机硬件基础重大二、地址映像二、地址映像 cachecache的的地地址址映映像像:cachecache的的容容量量远远远远小小于于主主存存,一一个个cachecache块块要要对对应应多多个个主存块,按某种规则把主存块装入主存块,按某种规则把主存块装入cachecache中,称为中,称为cachecache的地址映像。的地址映像。 cachecache的的地地址址变变换换:主主存存块块装装入入cachecache后后,还还需需要要把把主主存存地地址址变变换换为为对对应应的的cachecache地址,即地址,即cachecache的地址变换。的地址变换。 全全相相联联映映像像:主主存存中中的的任任意意一一块块可可装装入入cachecache中中的的任任意意块块位位置置称称为为全全相相联映像。联映像。 直直接接映映像像:主主存存中中每每一一块块只只能能装装入入到到cachecache中中唯唯一一的的特特定定块块位位置置的的方方法法称为直接映像。称为直接映像。 N N路路组组联联映映像像:在在直直接接映映像像中中只只有有一一个个cachecache(或或称称一一路路cachecache),如如果果把把cachecache增增加加到到N N路路,且且在在主主存存的的区区与与cachecache的的路路之之间间实实行行全全相相联联映映像像,在在块之间实行直接映像,这就是块之间实行直接映像,这就是N N路组联映像。路组联映像。 抨跑快拓电秽猪赋灰豢仍褐勇爪韦诡眉赣螟攫钩米通界登方靶玄柠停朽雪计算机硬件基础重大计算机硬件基础重大三、三、8048680486微处理器的片内微处理器的片内cache cache 片片内内cachecache的的结结构构:8048680486微微处处理理器器的的片片内内cachecache既既可可以以存存放放指指令令代代码码,又又可以存放数据,采用可以存放数据,采用4 4路组联结构。路组联结构。片内片内cachecache的地址变换的地址变换片内片内cachecache块的替换块的替换 片片内内cachecache的的一一致致性性问问题题:当当CPUCPU向向cachecache写写入入数数据据时时,主主存存的的内内容容跟跟不不上上相相应的变化,就造成了不一致。应的变化,就造成了不一致。 写写回回法法:在在CPUCPU进进行行写写操操作作时时,只只把把数数据据写写入入cachecache,仅仅当当需需要要把把已已被被写写过数据的过数据的cachecache块替换出去时,才把该块送回主存,再调入新块。块替换出去时,才把该块送回主存,再调入新块。 写写直直达达法法:利利用用微微处处理理器器与与主主存存中中的的直直接接通通路路,在在向向cachecache写写入入数数据据时时,把把数据同时写入主存,这样,在进行块替换时,数据同时写入主存,这样,在进行块替换时,cachecache块就不必写回主存了。块就不必写回主存了。 8048680486微处理器的片内微处理器的片内cachecache采用写直达法。采用写直达法。 耐愤揉堂端城测秧胺粤吟悬麓把噶敝九补余低隧抵狼灶戴罢瓮纲实菲蚀额计算机硬件基础重大计算机硬件基础重大第六章输入第六章输入/ /输出方式与接口芯片输出方式与接口芯片 第一节输入第一节输入/ /输出方式输出方式 第二节中断及中断控制器第二节中断及中断控制器8259A8259A第三节第三节 DMA DMA及及DMADMA控制器控制器8237A 8237A 第四节可编程定时第四节可编程定时/ /计数器计数器82548254及其应用及其应用 第五节可编程并行第五节可编程并行I/OI/O接口芯片接口芯片8255A8255A及其应用及其应用 第六节串行通讯及可编程串行接口芯片第六节串行通讯及可编程串行接口芯片16550 16550 第七节多功能接口芯片第七节多功能接口芯片8238082380禁熄昼唤屑单待丁剿钒睫熟效疡修叼招甭捆粤糯一棉诵尿帖厩俞积呼允冒计算机硬件基础重大计算机硬件基础重大第一节输入第一节输入/ /输出方式输出方式 一、一、I/OI/O接口接口I/OI/O接口的基本概念接口的基本概念 I/O I/O接口是连接接口是连接CPUCPU与外设的逻辑控制部件,它主要在与外设的逻辑控制部件,它主要在CPUCPU与外设间与外设间起着传输状态与命令信息,实现数据的缓冲、数据格式转换等作用。起着传输状态与命令信息,实现数据的缓冲、数据格式转换等作用。它的主要功能有:它的主要功能有: 选择外设选择外设对外设进行控制和监视对外设进行控制和监视进行数据寄存和缓冲进行数据寄存和缓冲进行信号电平转换进行信号电平转换进行数据格式转换进行数据格式转换I/OI/O接口的分类接口的分类并行并行I/OI/O接口和串行接口和串行I/OI/O接口接口 可编程接口和不可编程接口可编程接口和不可编程接口 专用接口和通用接口专用接口和通用接口 车匙勿皇始鳖约芬课驶砂昨是敞雍奏湃团饰峪夹颓鸳柔付梗校西拱悦纬破计算机硬件基础重大计算机硬件基础重大I/OI/O接口的基本结构接口的基本结构 主要包含有数据端口、状态端口和控制端口主要包含有数据端口、状态端口和控制端口 数数据据端端口口用用于于存存放放数数据据信信息息,包包括括数数据据输输入入寄寄存存器器和和数数据据输输出出寄寄存存器,主要作用是器,主要作用是协调协调CPUCPU和外设之间的数据传输速度和外设之间的数据传输速度。 控控制制端端口口用用于于存存放放控控制制信信息息,控控制制信信息息是是CPUCPU通通过过接接口口传传送送给给外外设设的,其主要作用是的,其主要作用是控制外设工作控制外设工作,如控制输入输出装置的启,如控制输入输出装置的启/ /停等。停等。 状状态态端端口口用用于于存存放放状状态态信信息息,即即反反映映外外设设当当前前工工作作的的状状态态信信息息,CPUCPU可通过读取这些信息,了解外设当前的工作情况。可通过读取这些信息,了解外设当前的工作情况。I/OI/O端口的寻址方式端口的寻址方式 在在一一个个微微机机系系统统中中既既有有存存储储单单元元地地址址又又有有I/OI/O端端口口地地址址,根根据据两两者地址的不同安排可分为以下两种寻址方式。者地址的不同安排可分为以下两种寻址方式。伎幌齐吟清赚林柏吓逸柄友深断朴丢绽簇犀等究俩陛绵独颇谨韭篱彦赡茎计算机硬件基础重大计算机硬件基础重大存储器统一编址存储器统一编址 在在这这种种方方式式中中,把把I/OI/O端端口口作作为为存存储储器器的的一一个个单单元元来来对对待待,即即每每个个端端口口占占用用一一个个存存储储单单元元地地址址。此此时时,对对I/OI/O端端口口操操作作可可以以使使用用全全部部的的存存储储器器指指令令,而而不不必必另另设设专专门门的的I/OI/O指指令令。由由于于该该方方式式是是将将I/OI/O地地址址映映射射到到了存储器地址空间,所以也称为存储器映像方式。了存储器地址空间,所以也称为存储器映像方式。I/OI/O端口独立编址端口独立编址 在在这这种种方方式式下下,I/OI/O端端口口与与存存储储器器各各自自独独立立编编址址,这这样样存存储储器器地地址址和和I/OI/O端端口口地地址址可可以以重重叠叠。此此时时,CPUCPU利利用用专专门门的的I/OI/O指指令令来来操操作作I/OI/O端口以防混淆。端口以防混淆。企藩虑羞核汇撵漫轿蕉蛛希宙盯磺淆峙虐屡哥碰大蛇眼火刊爆宠窗典龟筐计算机硬件基础重大计算机硬件基础重大二、二、CPUCPU与外设之间的数据传送方式与外设之间的数据传送方式 在在CPUCPU与与外外设设之之间间进进行行数数据据传传送送的的方方式式有有:无无条条件件传传送送、查查询询传传送送、中中断断控控制制、直直接接存存储储器器存存取取(Direct Direct Memory Memory Access Access 简简称称DMADMA)传传送方式和送方式和I/OI/O处理机方式。处理机方式。无条件传送方式无条件传送方式适用于随时都是准备就绪的简单外设。接口电路中仅适用于随时都是准备就绪的简单外设。接口电路中仅需数据端口。需数据端口。无条件传送的输入方式接口电路无条件传送的输入方式接口电路无条件传送的输出方式接口电路无条件传送的输出方式接口电路始同航霹蛔胎术拷釉躺败震缄步何溺幕噶凿峻妓彝沥吵晤厌阐绚觉形苟穗计算机硬件基础重大计算机硬件基础重大查询方式查询方式适用于适用于CPUCPU与慢速的外设间的数据传送。与慢速的外设间的数据传送。读外设状态读外设状态准备好?准备好?Y数据输入数据输入/ / 输出输出N查询式接口电路一般有:查询式接口电路一般有:数据端口、状态端口、数据端口、状态端口、控制端口。控制端口。产牌衰勘峰凑瓮拦恬派暑苏帘祝芋通唯劳尼腻赁昧鸦后弥夏坦捣狐盅猜豢计算机硬件基础重大计算机硬件基础重大查询输入方式查询输入方式驻相铲廷眷住嚼贪垣爬趁肯职酚妄施勘眷觅杏需滨滑赠红腮轩岗始迢痛幻计算机硬件基础重大计算机硬件基础重大查询输出方式查询输出方式掉莎嘱私肌睦轿革构圾惧荷砧挡阴馅逻闻描至淳身留翰臭饰悦着瘸傅蜗燎计算机硬件基础重大计算机硬件基础重大中断控制方式中断控制方式适用对象同程序查询方式适用对象同程序查询方式 该方式下,微机与外设并行工作,外设有请求时,微机对其进行服该方式下,微机与外设并行工作,外设有请求时,微机对其进行服务,否则不对该外设进行任何操作。这样可大大务,否则不对该外设进行任何操作。这样可大大提高提高CPUCPU的利用率的利用率。中断方式输入接口电路中断方式输入接口电路个亦填轿基啸乘唉名待菇双柿渭歧擒佣妊辟鹿票伏迄桨樊挽克扶哥芭播沼计算机硬件基础重大计算机硬件基础重大直接存储器存取(直接存储器存取(DMADMA)传送方式)传送方式 在主存与外设间建立直接数据通道,进行数据传送。在主存与外设间建立直接数据通道,进行数据传送。有传送过有传送过程不需程不需CPUCPU干预,速度快的特点。干预,速度快的特点。其传送过程受专用硬件其传送过程受专用硬件DMACDMAC控制。控制。I/OI/O处理机传送方式处理机传送方式 该方式中,该方式中,IOPIOP处理机用自己专门的指令和程序,负责输入输出。处理机用自己专门的指令和程序,负责输入输出。此时主此时主CPUCPU将只负责将只负责“数据处理数据处理”工作。工作。颈恶盐濒酿力翠其百城遍故层换千感罐扰咸笺答辉艾闲富舅盅呢斟挟风簧计算机硬件基础重大计算机硬件基础重大第二节中断及中断控制器第二节中断及中断控制器8259A 8259A 一、中断的基本概念一、中断的基本概念什么是中断什么是中断 在在CPUCPU正正常常运运行行程程序序时时,由由于于内内部部或或外外部部某某个个非非预预料料事事件件的的发发生生,使使CPUCPU暂暂停停正正在在运运行行的的程程序序,而而转转去去执执行行处处理理引引起起中中断断事事件件的的程程序序,然然后后再再返返回回被被中中断断了了的的程程序序,继继续续执执行行。这个过程就是中断。这个过程就是中断。中断服务程序中断服务程序1中断服务程序中断服务程序 2非预料事件非预料事件1非预料事件非预料事件 2CPU执行流程执行流程缕坝峙问沸衍体逛党椿蓖卜训铣临跌盯馋锣超酸耿紊营豪拍耘拧疥嚏侵子计算机硬件基础重大计算机硬件基础重大中断源与中断向量表中断源与中断向量表中中断断源源 能能够够引引发发CPUCPU中中断断的的信信息息源源, ,称称为为中中断断源源。80X8680X86微微机机系系统统中中最最多多允允许有许有256256种中断源,其中中断源类型编号为种中断源,其中中断源类型编号为0 0255255。 按按中断源中断源的性质可以把中断分为的性质可以把中断分为内中断内中断和和外中断外中断两类。两类。内中断(软中断)内中断(软中断) 指指CPUCPU执行某些特殊操作或由执行某些特殊操作或由INTINT指令引起的中断,通常分为以下三类:指令引起的中断,通常分为以下三类: 被零除操作或被零除操作或OF=1OF=1时执行时执行INTOINTO指令引起指令引起 使用调试程序中的单步或断点设置操作引起使用调试程序中的单步或断点设置操作引起 执行执行INTn INTn 指令引起指令引起外中断(硬中断)外中断(硬中断) 指外部芯片通过指外部芯片通过CPUCPU的的INTRINTR、NMINMI两条外部中断请求输入线向两条外部中断请求输入线向CPUCPU申请中申请中断请求而引起的中断。断请求而引起的中断。觉箩世固逮锹攻缕解斋茬伴忙轻至奴宿黍殖六厂忽喜位季栗审泌鱼岗握拈计算机硬件基础重大计算机硬件基础重大 可屏蔽中断可屏蔽中断 它是通过它是通过CPUCPU的的INTRINTR引脚产生,当引脚产生,当INTRINTR上有高电平信号且上有高电平信号且中断允许标志位中断允许标志位IFIF置置“1”“1”时即产生中断。时即产生中断。 CPUCPU是否响应是否响应INTRINTR引脚上的中断请求取决于引脚上的中断请求取决于IFIF标志:标志: IF=1 IF=1,CPUCPU响应响应INTRINTR引脚上的中断请求引脚上的中断请求 IF=0 IF=0,CPUCPU不响应不响应INTRINTR引脚上的中断请求引脚上的中断请求 即当即当IF=0IF=0时,将时,将INTRINTR引脚上的中断申请屏蔽。引脚上的中断申请屏蔽。 非屏蔽中断非屏蔽中断 它通过它通过CPU CPU NMINMI引脚产生,当引脚产生,当NMINMI上有正跳变信号时,即产上有正跳变信号时,即产生一个内部引导的类型生一个内部引导的类型2 2中断。中断。即即NMINMI引脚上的中断请求不受引脚上的中断请求不受IFIF标志的控制,标志的控制,IFIF不能屏蔽不能屏蔽NMINMI引脚上的中断请求。引脚上的中断请求。 但在系统通电瞬间或屏蔽寄存器最高位置但在系统通电瞬间或屏蔽寄存器最高位置“0 0”可屏蔽可屏蔽NMINMI。将最高位。将最高位置置“1 1”又可以开放又可以开放NMINMI。 MOV DX MOV DX,A0HA0H;A0HA0HBFHBFH为屏蔽寄存器为屏蔽寄存器 MOV DX MOV DX,A0HA0H MOV AL MOV AL,00H00H; MOV AL MOV AL,80H80H OUT DX OUT DX,ALAL;屏蔽;屏蔽NMI NMI OUT DX OUT DX,ALAL;开放;开放NMINMI挛守抠廉糊薄锚谆患哭折马顶追组芬菩两陌鱼液赊盐店王继佛佯梆亮炔邓计算机硬件基础重大计算机硬件基础重大中断向量表中断向量表 在实模式下,中断向量表就是中断服务程序入口地址。在实模式下,中断向量表就是中断服务程序入口地址。 内内 存存中断向量表中断向量表0:0 0:3FFH1000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h 3000h 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、类型类型N中断子程中断子程某中断源发申请中断,申请某中断源发申请中断,申请执行类型号为执行类型号为N的中断子程的中断子程响应中断前响应中断前 SS:SP 响应中断后响应中断后SS:SP 堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h0: 3FFH0: 0行咙枢檄窟限组诌源农娩戒寿秽驼赤当牙悲触床惨渤页娱燎圣蜘跺鸡开鲤计算机硬件基础重大计算机硬件基础重大 从从中中断断子子程程返返回回断断点点处处,靠靠的的是是执执行行中断子程最后的指令中断子程最后的指令IRET; ; 从从堆堆栈栈中中取取出出断断点点地地址址给给CS:IP,继继续执行被中断的程序。续执行被中断的程序。 故中断子程最后要安排故中断子程最后要安排 IRET 指令。指令。返回主程序后返回主程序后 SS:SP 返回主程序前返回主程序前SS:SP 堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)01501000(PSW)SS:SP (IP)=0200h(CS)=3000h1000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h 3000h 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、内存内存偏捻棕设惩志身释为消滇皑哥督薛盛系怔胜腹颠讲齿撩仇蓟际挑呈嵌驴裕计算机硬件基础重大计算机硬件基础重大中中断断向向量量表表的的设设置置 当当CPU响响应应中中断断时时,将将从从中中断断向向量量表表中中读读取取中中断断向向量量送送给给CS和和IP,转转去去执执行行中中断断服服务务程程序序。因因此此,用用户户必必须须将将中中断断服服务务程程序序的的入入口地址填入系统的中断向量表中,填入的方法有两种。口地址填入系统的中断向量表中,填入的方法有两种。 用程序设置中断向量表用程序设置中断向量表、CLIMOVAX,0MOVES,AXMOVDI,4*32HLEAAX,INTSUBCLDSTOSWMOVAX,SEG INTSUBSTOSW、INTH: 假假设设中中断断类类型型号号为为32H,中中断断服服 务务 程程 序序 入入 口口 处处 的的 标标 号号 为为INTSUB。宣派毅香右刑绢爸检哈闻死摩讯窿享徒揩储哪辟侩雀藕粒赞橱呵撼造易呼计算机硬件基础重大计算机硬件基础重大用用DOS功能设置中断向量表功能设置中断向量表 利利用用INT 21H 的的 35H 号号功功能能可可实实现现保保存存原原中中断断向向量量,所所取取得得中中断断向向量量放在放在ES:BX中。中。MOVAL,N;N为被保存的中断类型号为被保存的中断类型号MOVAH,35HINT21H; ES:BX中为原中断向量中为原中断向量PUSHESPUSHBX 利利用用INT 21H 的的 25H 号号功功能能可可实实现现设设置置新新中中断断向向量量,新新中中断断向向量量应应放放在在DS:DX中。中。CLIPUSHDSMOVAX,SEG INTSUB ;INTSUB段基址存入段基址存入DSMOVDS,AXMOV DX,OFFSET INTSUB ;INTSUB有效地址存入有效地址存入DXMOVAL,N;中断类型号;中断类型号 NMOVAH,25HINT21H;将;将DS:DX放置中断向量表中放置中断向量表中POPDSSTI汀胎留禄捡织遵谈胖先伯填秉姻斥耐叫糙盼颜栖痉肢缆锣换橡沿货疤痹焚计算机硬件基础重大计算机硬件基础重大 若要在主程序结束前恢复原中断向量可采用以下程序段实现:若要在主程序结束前恢复原中断向量可采用以下程序段实现:、 POPDXPOPDS;将保存于堆栈的原中断向量弹出,送入;将保存于堆栈的原中断向量弹出,送入DS:DXMOVAL,NMOVAH,25HINT21H 、中断描述符表中断描述符表 8048680486工工作作在在保保护护模模式式下下时时,采采用用“中中断断描描述述符符”来来描描述述中中断断服服务务程程序序,用用中断描述符表(中断描述符表(IDTIDT)取代中断向量表。取代中断向量表。 IDTIDT可可位位于于线线性性地地址址空空间间中中的的任任何何地地方方,CPUCPU通通过过中中断断描描述述符符表表寄寄存存器器IDTRIDTR确定确定IDTIDT的基地址,该寄存器保存有的基地址,该寄存器保存有3232位的基地址和位的基地址和IDTIDT界限。界限。轿形勋胎偷疑衔养葡寥婪讼送杰履蘑羚晕圾穆址胖啄徐波栽撮珐欣忻烯锹计算机硬件基础重大计算机硬件基础重大中断描述符的格式中断描述符的格式 中断描述符存放在中断描述符存放在IDTIDT中,每个中断描述符由中,每个中断描述符由8 8个字节组个字节组成(成(0 0字节字节7 7字节)。字节)。其中各部分的主要作用为其中各部分的主要作用为: :P P位:位:P P0 0描述符无效,即该描述符描述的存储区在物理存储器中不存在。描述符无效,即该描述符描述的存储区在物理存储器中不存在。P P1 1描述符有效描述符有效DPLDPL位:描述符特权级位:描述符特权级TYPETYPE: TYPE TYPE01010101为任务门,为任务门,TYPETYPE11001100为调用门为调用门 TYPE TYPE11101110为中断门,为中断门,TYPETYPE11111111为异常门为异常门孙祝坡邵吱虏霜幕室桥慢脏祈塌疮乞什爷篱光良疲弧棱岩斯牟愉跃络蒜妙计算机硬件基础重大计算机硬件基础重大8048680486保护方式下中断保护方式下中断/ /异常处理程序进入过程异常处理程序进入过程 内南孤阴霍直吏空例簇戮就化躬嘉版湘裴闽峦熟舟广激挣解契境功阀撮琼计算机硬件基础重大计算机硬件基础重大 中断优先级与中断嵌套中断优先级与中断嵌套中中断断优优先先级级 当当有有多多个个中中断断源源同同时时产产生生中中断断申申请请时时,CPUCPU先先响响应应优优先先权权最最高的中断源,再响应优先级较低的中断源。高的中断源,再响应优先级较低的中断源。业窟锯诚妮辙芥关页肚悼遏纠寥唐倔腐廷架硕叙拂皱倚汹各缺嗽残唬恨汐计算机硬件基础重大计算机硬件基础重大中中断断嵌嵌套套 当当多多个个中中断断源源同同时时发发出出中中断断请请求求时时,CPUCPU按按照照中中断断优优先先权权的的高高低顺序低顺序, ,依次响应。这种中断套中断的过程称为中断嵌套。依次响应。这种中断套中断的过程称为中断嵌套。 中中断断嵌嵌套套可可以以有有多多级级,具具体体级级数数原原则则上上不不限限,主主要要取取决决于于堆堆栈栈区区的的大大小小(因因为为中中断断处处理理前前后后均均需需要要保保护护断断点点和和现现场场,而而断断点点信信息息和和现现场场数数据的保护是通过堆栈来完成的)。据的保护是通过堆栈来完成的)。 沪敛状旱涅羌捣暂螟泉渡互贸猪睫职钵甚秽馁健肋桥理寝评册振夏天核域计算机硬件基础重大计算机硬件基础重大 CPU响应中断的条件响应中断的条件CPUCPU内部中断是开放的。内部中断是开放的。现现行行指指令令内内无无总总线线请请求求,没没有有更更高高优优先先级级别别的的中中断断请请求求正正在在被被响响应应或正发出、正挂起。或正发出、正挂起。CPUCPU在在现现行行指指令令结结束束后后,即即运运行行到到最最后后一一个个机机器器周周期期的的最最后后一一个个T T状状态时,才能采样态时,才能采样INTRINTR线而响应可能提出了的外中断请求。线而响应可能提出了的外中断请求。内中断处理过程内中断处理过程 CPU CPU自动产生中断类型号自动产生中断类型号n n;(SPSP)-2-2(SPSP),标志寄存器),标志寄存器F F内容入栈;内容入栈;(SPSP)-2-2(SPSP),当前代码段),当前代码段CSCS内容入栈;内容入栈;(SPSP)-2-2(SPSP),当前指令计数器),当前指令计数器IPIP内容入栈;内容入栈; 禁止外部中断禁止外部中断IFIF0 0,禁止单步中断,禁止单步中断TFTF0 0;中断处理过程中断处理过程稚恭娶届俐伟摆漏袭灌摧疵甸戴帚爵丛水读刚肩驭臻寻在蔼赋慰捡诊陨雁计算机硬件基础重大计算机硬件基础重大 从从中中断断向向量量表表中中取取中中断断服服务务程程序序入入口口地地址址(4*N4*N单单元元的的字字内内容容送送IPIP,4*N4*N2 2单元里的内容送单元里的内容送CSCS);); 转中断服务程序;转中断服务程序; 执行中断服务程序并返回,弹出执行中断服务程序并返回,弹出IPIP,CSCS,F F,返回断点,继续执行。,返回断点,继续执行。外中断(外中断(INTRINTR)执行过程)执行过程 CPUCPU发发出出两两个个中中断断响响应应信信号号INTAINTA,第第二二个个INTAINTA时时,CPUCPU从从当当前前数数据据总总线上取中断线上取中断 类型码类型码N N(通常由管理(通常由管理INTRINTR的控制器的控制器8259A8259A提供);提供);(SPSP)-2-2(SPSP),标志寄存器),标志寄存器F F内容入栈;内容入栈; (SPSP)-2-2(SPSP),当前代码段),当前代码段CSCS内容入栈;内容入栈;(SPSP)-2-2(SPSP),当前指令计数器),当前指令计数器IPIP内容入栈;内容入栈; 禁止外部中断禁止外部中断IFIF0 0,禁止单步中断,禁止单步中断TFTF0 0;沈蓖钥丈锗韭挺谅怔奥烁索夏薪滥鼠源捆吐鹤素对亚呛镭愈劳捌番擞能闭计算机硬件基础重大计算机硬件基础重大 首首先先从从中中断断向向量量表表中中取取4*N4*N单单元元的的字字内内容容送送IPIP,然然后后再再取取4*N4*N2 2单单元元里的内容送里的内容送CSCS; 转中断服务程序;转中断服务程序; 执行中断服务程序并返回,弹出执行中断服务程序并返回,弹出IPIP,CSCS,F F,返回断点,继续执行。,返回断点,继续执行。 多中断源的中断源识别与优先级管理多中断源的中断源识别与优先级管理 中中断断优优先先级级编编码码电电路路跋裂赡茸躺拴抄衬显禹娩率发淤输播期趴吱嗓志过削鸡本晰偷臣炳价蘑札计算机硬件基础重大计算机硬件基础重大菊花环(或称为链式)排队电路菊花环(或称为链式)排队电路拒磐情棱择寻绿屎填锹脂涣欧畸巍批抗莎匡鹿应滨决炎渐葬琳狈奖彰盟征计算机硬件基础重大计算机硬件基础重大二、中断控制器二、中断控制器825982598259A的内部结构与引脚功能的内部结构与引脚功能锦未研因究卖称鬃棱茹仇娘古械萤问但仆帝宛乏棘抄而防蛛讯盐盔咨溯趾计算机硬件基础重大计算机硬件基础重大方方 波波键键 盘盘保保 留留串串 口口2 硬硬 盘盘软软 盘盘打印机打印机IOW18.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR串串 口口1 8259A与总线的连接与总线的连接牛吸研玛株牛呐桐贵闭谍弱花炒杉队偿痞颈翅冶靴天筑肤胳惹抵莉绥拦颠计算机硬件基础重大计算机硬件基础重大8259A的中断优先权管理方式的中断优先权管理方式 8259A8259A有有五五种种优优先先级级管管理理方方式式,所所有有的的优优先先级级管管理理方方式式均均可可通通过过编编程程来设置。来设置。 全嵌套方式全嵌套方式 特殊全嵌套方式特殊全嵌套方式 优先级自动循环方式优先级自动循环方式 优先级特殊循环方式优先级特殊循环方式 特殊屏蔽方式特殊屏蔽方式8259A处理过程处理过程分两步分两步: :处理外设中断申请,决定是否向处理外设中断申请,决定是否向CPUCPU发中断申请信号。发中断申请信号。若若发发出出中中断断申申请请信信号号,且且CPUCPU响响应应,则则在在CPUCPU中中断断响响应应周周期期送送出出中中断断类类型号。型号。绳胀嗅胎狭帖墩吠椽辫擦脏浴尚昧嘿卑楞蚁断栋盎滩礼实煽鼓腔彻祁钡剖计算机硬件基础重大计算机硬件基础重大 处理外设中断申请,决定是否向处理外设中断申请,决定是否向CPU发中断申请信号发中断申请信号 中断屏蔽寄存器中断屏蔽寄存器 IMR IMR 决定决定 IRR IRR 中的中断申请是否进入优先级裁决器中的中断申请是否进入优先级裁决器 PRPR。IMRIMR对应位为对应位为 0 0,允许中断申请进入优先级裁决器,允许中断申请进入优先级裁决器,为为 1 1,不允许,不允许进入,中断申请被进入,中断申请被IMRIMR屏蔽。屏蔽。 中断申请寄存器中断申请寄存器IRR IRR 锁存外部的中断申请。锁存外部的中断申请。若若 IR0 IR0IR7 IR7 引脚上有中断申请,则将引脚上有中断申请,则将 IRR IRR 相应位置相应位置1 1 当前中断服务寄存器当前中断服务寄存器 ISR ISR 记录记录CPUCPU正在响应的中断。正在响应的中断。 ISR ISR中的某位为中的某位为1 1,表示,表示CPUCPU正在响应此级中断,正在响应此级中断, ISR ISR中的某位为中的某位为0 0,表示,表示CPUCPU没有或已响应完此级中断。没有或已响应完此级中断。 优优先先级级裁裁决决器器PR PR 据据新新进进入入的的中中断断申申请请和和 ISRISR的的内内容容, ,决决定定是是否否发发中中断断申请信号。申请信号。 如如果果进进入入的的中中断断申申请请比比 ISR ISR 中中记记录录的的中中断断优优先先级级高高, 则则通过通过 8259A 8259A 的的 INT INT 引脚向引脚向 CPU CPU发出中断请求信号;发出中断请求信号; 如如果果进进入入的的中中断断申申请请不不比比 ISR ISR 中中记记录录的的中中断断优优先先级级高高, 同级或低级,则不向同级或低级,则不向 CPU CPU 发中断请求信号。发中断请求信号。唱轧滴熔找酋杰皱顷押贴具骗少樟满茸纲喝瘫娶库镶质伙构拷彤凸痢尧俗计算机硬件基础重大计算机硬件基础重大 中断申请寄存器中断申请寄存器IRR IRR 锁存外部的中断申请。锁存外部的中断申请。 若若 IR0 IR0IR7 IR7 引脚上有中断申请,则将引脚上有中断申请,则将 IRR IRR 相应位置相应位置1 1IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR11齿绘撩卤厕殊胚玉凡缉床平姚摇奏截柬犬赖镑喀峰嗓铅恐羞粟卖楚用锰仿计算机硬件基础重大计算机硬件基础重大IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR 中断屏蔽寄存器中断屏蔽寄存器 IMR IMR 决定决定 IRR IRR 中的中断申请是否进入优先级裁决器中的中断申请是否进入优先级裁决器 PRPR。IMRIMR对应位为对应位为 0 0,允许中断申请进入优先级裁决器,允许中断申请进入优先级裁决器,IMRIMR对应位为对应位为 1 1,不允许进入,中断申请被,不允许进入,中断申请被IMRIMR屏蔽。屏蔽。涧惧辨曼菲苔纂薯马惹舆鱼芥睬杰瘤绎乐黍拜瘩媒忧痈涧葬殃逻哆烤甩稍计算机硬件基础重大计算机硬件基础重大 当前中断服务寄存器当前中断服务寄存器 ISR ISR 记录记录CPUCPU正在响应的中断。正在响应的中断。ISRISR中中的的某某位位为为1 1,表表示示CPUCPU正正在在响响应应此此级级中中断断, 即正在执行此中断源的中断子程;即正在执行此中断源的中断子程;ISRISR中中 的的 某某 位位 为为 0 0, 表表 示示 CPUCPU没没 有有 或或 已已 响响 应应 完完 此此 级级 中中 断断 , 即不在执行此中断源的中断子程即不在执行此中断源的中断子程IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR朱钒联敦宵护坟轩秧彻玩博惧傀免枝根姜稿卸跃域檬米沂买峙卸酮锈摊唱计算机硬件基础重大计算机硬件基础重大 优优先先级级裁裁决决器器PRPR据据新新进进入入的的中中断断申申请请和和 ISRISR的的内内容容, ,决决定定是是否否发发中中断断申请信号。申请信号。 - - 如如果果进进入入的的中中断断申申请请比比 ISR ISR 中中记记录录的的中中断断优优先先级级高高,则则通通过过 8259A 8259A 的的 INT INT 引脚向引脚向 CPU CPU发出中断请求信号;发出中断请求信号; - - 如如果果进进入入的的中中断断申申请请不不比比 ISR ISR 中中记记录录的的中中断断优优先先级级高高,同同级级或或低低级级,则不向则不向 CPU CPU 发中断请求信号。发中断请求信号。IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR胺蟹轰太榜角页洒鬼郸躬愁传精斋拈戈曳裙辑搪椰睬疽皿卖挨阴二串节孵计算机硬件基础重大计算机硬件基础重大若发中断申请信号,且若发中断申请信号,且CPUCPU响应,则在响应,则在CPUCPU中断响应周期送出中断类型号中断响应周期送出中断类型号向量类型向量类型 INTACLKAD7AD0T1T2T3T4第第 一一 个个中断响应周期中断响应周期T1T2T3T4第第 二二 个个中断响应周期中断响应周期 8086CPU8086CPU中断中断响应周期时序响应周期时序CPU接收到接收到 INTR上的中断申请信号后:上的中断申请信号后: 如果如果 IF 标志为标志为0,则,则CPU不响应此中断申请信号不响应此中断申请信号,即中断申请被即中断申请被IF屏蔽。屏蔽。 如如果果 IF 标标志志为为1, 则则处处理理完完当当前前的的指指令令后后, 进进入入中中断断响响应应周周期期通通过过INTA 引引脚脚发发出出两两个个负负脉脉冲冲信信号号,从从数数据据总总线线上上获获取取中中断断类类型型号号,进进入入中中断断响响应应的的过程。过程。街法矫积芒襟果箱宛去绍伪喳驰当汐尔衔讣番峭傀听食钙佬篆光稀赌秽丫计算机硬件基础重大计算机硬件基础重大 将将 ISR 中中相相应应位位置置1,表表示示 CPU 响响应应此此级级中中断断,执执行行此此中中断断源源的的中中断断子程。子程。8259A在接收到第一个在接收到第一个INTA中断响应信号后:中断响应信号后:001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RDWR INTAINTD0D7INTR01 把把 IRR中对应的位清中对应的位清0,清除,清除IRR中锁存的中断申请信号。中锁存的中断申请信号。付袒都乃氏掳龟鸣剪犁渭储酞舜淀仰扫瓮耗傍御严栓垄糯财憨砒粹僻燃拣计算机硬件基础重大计算机硬件基础重大 通通过过数数据据线线,将将被被响响应应申申请请的的中中断断类类型型号号送送给给CPU。类类型型号号由由ICW2提提供,在初始化供,在初始化8259A时已设定好。时已设定好。8259A在接收到第二个在接收到第二个INTA中断响应信号后:中断响应信号后:001 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制OCW1 中中 断断 屏屏 蔽蔽 寄寄 存存 器器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置1 0 0 1 0 1 0 0IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RDWR INTAINTD0D7INTR01 CPU获得中断类型号后,进入获得中断类型号后,进入CPU响应中断的过程响应中断的过程,执行中断子程,处理执行中断子程,处理中断源申请的功能。中断源申请的功能。试暖阿索彝杨鳞捷蛇锁退捎硼菊喧劫绳循啪把暖烹逛梦诀柳扰创誉劝尸傣计算机硬件基础重大计算机硬件基础重大 取中断类型号取中断类型号N 当前当前PSW的内容入栈的内容入栈 清清IF、TF标志为标志为0当前当前CS的内容入栈的内容入栈 当前当前IP的内容入栈的内容入栈 取内存单元取内存单元( 0 : N 4 )字内容送字内容送IP 取中断子程取中断子程 取内存单元取内存单元( 0 : N 4 + 2 )字内容送字内容送CS 入口地址入口地址 此时此时CS:IP指向中断程序的入口,开始执行中断程序。指向中断程序的入口,开始执行中断程序。保存现场保存现场CPU响应中断过程:响应中断过程: 执行完中断子程中最后一条指令执行完中断子程中最后一条指令IRETIRET后,返回被中断处,继续后,返回被中断处,继续执行被中断的程序。执行被中断的程序。蹈杆铣忱石镭择活倔孵钠锥虞乖甜仪臂绳膜贪歇惶紫护岁嘘粘跨蝴骗衷伸计算机硬件基础重大计算机硬件基础重大(2) (2) 发中断结束命令发中断结束命令 EOI EOI 由由 8259A 的工作过程可知:的工作过程可知:ISR中的内容是优先级裁决器进行裁决的重中的内容是优先级裁决器进行裁决的重要依据要依据,CPU响应某级中断后,响应某级中断后,8259A自动将自动将ISR的对应位置的对应位置1,如果,如果CPU已执已执行完中断子程,而行完中断子程,而ISR中的对应位仍为中的对应位仍为1,8259A的优先级裁决器仍会据的优先级裁决器仍会据ISR的内容做裁决,从而会屏蔽同级的中断申请。因此,在中断响应后,对的内容做裁决,从而会屏蔽同级的中断申请。因此,在中断响应后,对 ISR中相应位的清中相应位的清0很重要,它是很重要,它是8259A认为中断结束的标志。认为中断结束的标志。 自动结束方式自动结束方式 8259A在在接接收收到到第第二二个个中中断断响响应应脉脉冲冲INTA时时就就会会自自动动清清除除ISR中中的的相相应应位位。该方式只能用在系统中只有一片该方式只能用在系统中只有一片8259A且多个中断不会嵌套的情况下。且多个中断不会嵌套的情况下。 非自动结束方式非自动结束方式一般结束方式一般结束方式 8259A在在接接收收到到一一般般结结束束命命令令时时,就就会会把把ISR中中最最高高优优先先级级位位复复位位,结结束束当前正在处理的中断。该方式适用于当前正在处理的中断。该方式适用于8259A工作在全嵌套方式下的情况。工作在全嵌套方式下的情况。 特殊结束方式特殊结束方式 当当8259A工工作作在在非非全全嵌嵌套套方方式式下下,可可选选特特殊殊结结束束方方式式。该该方方式式下下,通通过过命命令使令使8259AISR中的指定位复位,结束当前中断。中的指定位复位,结束当前中断。箕沤讣伎叮橙匆鼓境吟暴灭刽驮弥负峦二坐衅挛弱贷涉滩翔算未拟怖崎奄计算机硬件基础重大计算机硬件基础重大8086CPU8086CPU如何获取中断类型号如何获取中断类型号由前面介绍知,当中断源产生中断请求后,由前面介绍知,当中断源产生中断请求后,不论是内中断、非屏蔽中断,还是可屏蔽中断,不论是内中断、非屏蔽中断,还是可屏蔽中断,只要满足响应条件,在执行完当前指令后,只要满足响应条件,在执行完当前指令后,CPU内内部部硬硬件件会会自自动动完完成成响响应应中中断断的的过过程程,共共七七个个步步骤骤,而而第第一一步步就就是是获取中断类型号。获取中断类型号。不同的中断源,不同的中断源,8086CPU8086CPU获取中断类型号的方法不同,一般具有以下几步:获取中断类型号的方法不同,一般具有以下几步:CPU从从引引脚脚 INTA 发发中中断断响响应应信信号号,接接口口芯芯片片接接收收此此信信号号,把把中中断断类型号准备好;同时类型号准备好;同时ISRi=1,IRRi=0。CPU再再从从引引脚脚 INTA 发发中中断断响响应应信信号号,接接口口芯芯片片接接此此信信号号后后,将将中中断类型号送至数据总线上;断类型号送至数据总线上;从数据总线获取中断类型号。从数据总线获取中断类型号。 CPU根据读取到的中断类型号寻找中断程序的入口地址。根据读取到的中断类型号寻找中断程序的入口地址。许洲竟磕克抡伦秃湖呀纤氰帖没晕砚散辰包刻锨糠撼网朱舱赵忻共张犀卖计算机硬件基础重大计算机硬件基础重大根据根据8086CPU对中断的分类,各中断获取类型号的方法对中断的分类,各中断获取类型号的方法CPU执行除零或执行除零或OF为为1执行执行INTO指令指令 除零除零 固定类型号固定类型号00H OF为为1执行执行INTO指令指令 固定类型号固定类型号04H使用使用DEBUG下的单步和断点操作下的单步和断点操作 单步单步 固定类型号固定类型号01H 断点断点 固定类型号固定类型号03H内内中中断断执行中断调用指令执行中断调用指令INT N 由指令中给出由指令中给出 指令中指定类型号指令中指定类型号N非屏蔽中断非屏蔽中断 引脚引脚NMI 上有中断申请信号上有中断申请信号 (上升沿信号)(上升沿信号) 非屏蔽中断非屏蔽中断 固定类型号固定类型号02H外外中中断断可屏蔽中断可屏蔽中断 (参看中断响应时序图)(参看中断响应时序图) 当当IF=1,引脚引脚INTR上有中断申请信号上有中断申请信号( ( 高电平信号高电平信号) ) CPU按中断响应周期时序,从数据总线上获取中断类型号按中断响应周期时序,从数据总线上获取中断类型号 可屏蔽中断可屏蔽中断 外部接口送上类型号外部接口送上类型号乳仗蒙杭让呐怖男褂极阑惟镐差啊诉障晌汉烈砰种比荐耸捣辛驴帮宏旧嘿计算机硬件基础重大计算机硬件基础重大8259A的编程的编程4个初始化命令寄存器个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器当前中断服务寄存器 ISR中断申请寄存器中断申请寄存器 IRR 8259A中断控制器中断控制器内部有内部有9个可读写的寄存器个可读写的寄存器 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW1笋林耍果搓妻讲碴蜡底沂亿熬律稗冬穆冶租皋覆耽雾钻贤镜会凸钻排旗帐计算机硬件基础重大计算机硬件基础重大8259A有两个有两个I/O端口地址端口地址A0=0 偶地址端口偶地址端口A0=1 奇地址端口奇地址端口 对对 9个个寄寄存存器器的的读读写写均均通通过过这这两个端口实现两个端口实现 写入数据的特征位写入数据的特征位 写入的先后顺序写入的先后顺序 区分是对哪个寄存器进行操作区分是对哪个寄存器进行操作根据根据 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW1D0D7A0CSRDWR80111A0100A0伤蝶俭相障苦伙汛驾视基秧融钒奉称光靠剩孽蒜弘鸡织卓馋肚夺壤解僳矛计算机硬件基础重大计算机硬件基础重大8259A的初始化编程的初始化编程8259A的初始化编程的顺序及内容的初始化编程的顺序及内容ICW1 A0 D7 D6 D5 D4 D3 D2 D1 D00 01 1LTIMSNGLIC4 ICW2A0 D7 D6 D5 D4 D3 D2 D1 D01 1T7T6T5T4T4 T3 ICW3A0 D7 D6 D5 D4 D3 D2 D1 D01 1 ICW4A0 D7 D6 D5 D4 D3 D2 D1 D01 1T7T6T5T4T4 T3魁临裂呕电易胜恼剩娥尾诡陪汤隧甫府坷嚷涛嘘锨谱白殃边罗镜哇叉谐染计算机硬件基础重大计算机硬件基础重大8259A的操作编程的操作编程OCW1 A0 D7 D6 D5 D4 D3 D2 D1 D01M7M6M5M2M4M3M1M0 OCW2A0 D7 D6 D5 D4 D3 D2 D1 D01RSLEOIL200L1L0 OCW3A0 D7 D6 D5 D4 D3 D2 D1 D010ESMMSMMP0 1RRRIS 向向8259A送送入入D20、D1D010B 的的 OCW3指指令令后后,向向着着8259A偶偶地地址址的的读读指指令令可可读读入入中中断断请请求求寄寄存存器器IRR的的内内容容;若若D1D011B,则则可可读读入入中中断断服务寄存器服务寄存器ISR的内容。的内容。D7 D6 D5 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1功功 能能清除自动循环优先级命令清除自动循环优先级命令发出发出EOI无操作无操作发出发出SEOI设置自动循环优先级命令设置自动循环优先级命令设置自动循环优先级并发设置自动循环优先级并发EOI设置特殊循环优先级命令设置特殊循环优先级命令设置特殊循环优先级并发设置特殊循环优先级并发SEOIOCWOCW2 2的的D D7 7D D5 5位的功能说明位的功能说明烹恳杀旨坚秉里胡谁孽显仍媳驱稽授诽议肝者焰借扰婿粳编蒜毗奉屯躯傲计算机硬件基础重大计算机硬件基础重大通过往寄地址端口写入通过往寄地址端口写入IMR内容实现内容实现 对应位为对应位为0,允许该级中断申请进入,允许该级中断申请进入 对应位为对应位为1,禁止该级中断申请进入,禁止该级中断申请进入 对对8259A8259A的的奇奇地地址址的的读读指指令令可可读读得得中中断断屏屏蔽蔽寄寄存存器器IMRIMR的的内内容容,也也可可。修改修改IMRIMR的内容。的内容。IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR吧销窒痛葛玻葛张踞砂政晕则悄退瞅威筒锐镇筐吗裳狭用呆金立慕豹悦络计算机硬件基础重大计算机硬件基础重大l 新增允许新增允许 IR2 的中断申请的中断申请 IN AL, 21H ;读入原读入原IMR的内容的内容 AND AL, 1111 1011B ;D2=0,允许允许IR2的中断申请的中断申请 OUT 21H, AL ;写入写入IMRl 禁止禁止 IR4 的中断申请的中断申请 IN AL, 21H ;读入原读入原IMR的内容的内容 OR AL, 0001 0000B ;D4=1,禁止禁止IR4的中断申请的中断申请 OUT 21H, AL ;写入写入IMR例例 已知已知 IBM PC/XT系统中系统中8259A的奇地址端口地址为的奇地址端口地址为21H 送送入入8259A的的OCW3的的D21时时,可可使使8259A进进入入查查询询工工作作方方式式(非非中中断断方方式式)。读读取取8259A偶偶地地址址(A00),可可得得到到8259A的的状状态态字字,若若状状态态字字的的D71,表表示示8259A的的IR7IR0中中有有中中断断请请求求发发生生,D2D0给给出出了了最最高高优优先先级级中断请求的编码;若中断请求的编码;若D70,则表示没有中断请求发生。,则表示没有中断请求发生。纬坏崇涎舞熄魔仪掣媚境捧棋思佯帧垮成钢巩秦底擦檬鳞斑莹恐势拭蚕琐计算机硬件基础重大计算机硬件基础重大8259A在在PC中的基本应用中的基本应用从从8259AIRQ8IRQ9IRQ10IRQ11IRQ12IRQ13 IRQ14IRQ15主主8259AIRQ0IRQ1IRQ3IRQ4IRQ5 IRQ6IRQ7INT至至CPUINT中中断断路路由由器器IRQ7IRQ6IRQ5IRQ4 IRQ3IRQ2ISA总线总线PCI总总线线PCI总总线线系统时钟系统时钟键盘键盘主、从主、从8259A级连的中断控制逻辑级连的中断控制逻辑主片的端口地址:主片的端口地址: 20H, 21H从片的端口地址:从片的端口地址: A0H, A1H 详天稚沸傲虚阐训狗汛呀醇揭雾泽畅远虾赦垄列试慧拟粕殿赏诚是率誓乾计算机硬件基础重大计算机硬件基础重大8259A8259A各中断请求的功能分配情况各中断请求的功能分配情况中断申请引脚中断申请引脚IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7IRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15中断类型号中断类型号08h09h0Ah0Bh0Ch0Dh 0Eh0Fh70h71h72h73h74h75h76h77h哪个设备使用哪个设备使用系统时钟系统时钟(8254)键盘键盘连接从连接从8259COM2串口串口2COM1串口串口1 保留保留软盘控制器软盘控制器LPT1并口并口实时时钟实时时钟(RTC)保留保留( (软件指向软件指向0Ah类型类型) )保留保留显卡显卡鼠标鼠标数值协处理器数值协处理器硬盘控制器硬盘控制器保留保留轰翌分怯晤慰芍般哀合透辽祷榷梗睛杂恢吾宁奄差惕药胯临穿竣荷述致兼计算机硬件基础重大计算机硬件基础重大主、从主、从8259A的中断结束命令的中断结束命令对主对主8259A有:有: MOV AL,20H ;EOI命令命令 OUT 20H,AL ;写主片的;写主片的OCW2IRET对从对从8259A有:有: MOV AL,20H ;EOI命令,命令, OUT 0A0H,AL ;写从片的;写从片的OCW2IRET落开皇湛乒森汾团酪淹氰诊倒焕摆毕季君剧消歇瘪粮艳碳蒙娘点沃郑第践计算机硬件基础重大计算机硬件基础重大第四节可编程定时器第四节可编程定时器/ /计数器计数器82548254及其应用及其应用 微微机机系系统统实实现现定定时时功功能能,主主要要有有三三种种方方法法:软软件件定定时时、不不可可编编程程硬件定时硬件定时和和可编程硬件定时可编程硬件定时。 软软件件定定时时是是通通过过执执行行一一个个固固定定的的程程序序段段来来实实现现定定时时。由由于于CPUCPU执执行行每每条条指指令令都都需需要要一一定定时时间间,因因此此执执行行一一个个固固定定的的程程序序段段就就需需要要一一个个固定的时间。定时或延时时间的长短可通过改变循环次数来控制。固定的时间。定时或延时时间的长短可通过改变循环次数来控制。 不不可可编编程程的的硬硬件件定定时时常常采采用用中中小小规规模模集集成成电电路路实实现现。如如使使用用555555定定时时器器等等,硬硬件件定定时时方方案案不不占占用用CPUCPU时时间间,但但电电路路连连接接好好后后,定定时时值值就不能改变。就不能改变。 可可编编程程硬硬件件定定时时用用可可编编程程定定时时器器/ /计计数数器器来来实实现现,本本节节主主要要介介绍绍IBM PCIBM PC系列微机使用的系列微机使用的Intel 8254Intel 8254可编程定时器可编程定时器/ /计数器。计数器。慎兴窗赵慌槐骡励噪尘惕棋耽娄时哪乞元剂郡筋墩估炊俭古墅腕鲸缉挑营计算机硬件基础重大计算机硬件基础重大一、一、82548254的内部结构和引脚功能的内部结构和引脚功能吟融暇日郡罪渠庙缘烷宅特担头本妓乍司绦窿横踪嘴荒窍废惮舵福麻敲末计算机硬件基础重大计算机硬件基础重大计数器计数器0 0、1 1、2 2的内部结构的内部结构1616位初值寄位初值寄存器由存器由CPUCPU分两次写入分两次写入1616位减位减1 1计数器:在计数器:在CLKCLK的作用下,的作用下, 对对计数初值计数初值N N进行减进行减1 1,当减为当减为0 0时时, ,在在OUTOUT引脚上产生回零时间引脚上产生回零时间到信号到信号 16 16位锁存器其值随位锁存器其值随减减1 1计数器改变而改变计数器改变而改变二、二、82548254的工作方式的工作方式桃找急撑乡墓掸然吐试搭柬赠瘁边栗饿蕴蚤财侩膛弱犬莱倍厅拄脯嚷城粳计算机硬件基础重大计算机硬件基础重大举扯动钧还悼戴羹禁吼杀凡闸龟典烬霖雹信赘效仗衍渭折艾笛貌丽划载兄计算机硬件基础重大计算机硬件基础重大寨佑硬氟帧罢稿揪胡乙舜痒绸酋答径号培投挎璃诞螟轴劈愈突义键沥羌噎计算机硬件基础重大计算机硬件基础重大呻伙羔疲片耻层涟吁经智命撵鹃下诞涪拟涩民框口范授呕碘珍范豢计届钩计算机硬件基础重大计算机硬件基础重大三、三、82548254的编程的编程1. 方式控制字方式控制字2. 计数初值(计数初值(N)定时时间定时时间T=T= CLKCLK时钟周期时钟周期t tCLCL计数初值(计数初值(N N)N=T/tN=T/tCLCL做昆峰砰老桐绑霞电剐杆赶押谰些刨却啥汹理蚊皇砖盖牛褐奇紫西各即志计算机硬件基础重大计算机硬件基础重大三、三、82548254在在PCPC中的应用中的应用 PC PC使用一片使用一片82548254,其,其3 3个计数通道分别用于日时钟计时、个计数通道分别用于日时钟计时、DRAMDRAM刷刷新定时和控制扬声器发声声调,新定时和控制扬声器发声声调, 汁蚂拐乱饺宛堕逆猖祥邀斌斧悯课迷葵吗汕饵棋巩篆君牢铱链谩簇乾匙凋计算机硬件基础重大计算机硬件基础重大定时中断和定时刷新定时中断和定时刷新MOV ALMOV AL,36H 36H ;计数器;计数器0 0为方式为方式3 3,采用二进制计数,先低后高写入计数值,采用二进制计数,先低后高写入计数值OUT 43HOUT 43H,AL AL ;写入方式控制字;写入方式控制字MOV ALMOV AL,0 0 ;计数值为;计数值为0 0OUT 40HOUT 40H, AL AL ;写入低字节计数值;写入低字节计数值OUT 40HOUT 40H, AL AL ;写入高字节计数值;写入高字节计数值MOV ALMOV AL,54H 54H ;计数器工作为方式;计数器工作为方式2 2,采用二进制计数,只写低,采用二进制计数,只写低8 8位计数值位计数值OUT 43HOUT 43H,AL AL ;写入方式控制字;写入方式控制字MOV ALMOV AL,18 18 ;计数初值为;计数初值为1818OUT 41HOUT 41H,AL AL ;写入计数值;写入计数值粘链秽摧秧釜汪萤蜗悯劝闯猛亭靴育敲胳水隋康泌酌旱滔矩扯硅掣皖乍嘘计算机硬件基础重大计算机硬件基础重大扬声器控制扬声器控制 ;发音频率设置子程序,;发音频率设置子程序, 入口参数:入口参数:AX=1.1931810AX=1.19318106 6发音频率发音频率SPEAKERSPEAKER PROC PROC PUSH AX PUSH AX MOV AL MOV AL,0B6H 0B6H ;定时器;定时器2 2为方式为方式3 3,先低后高写,先低后高写1616位计数值位计数值 OUT 43H OUT 43H,ALAL POP AX POP AX OUT 42H OUT 42H,AL AL ;写入低;写入低8 8位计数值位计数值 MOV AL MOV AL,AHAH OUT 42H OUT 42H,AL AL ;写入高;写入高8 8位汁数值位汁数值 RET RETSPEAKER ENDPSPEAKER ENDP斩拿栓口需钠市珐敢嚼思用词淌莉暇冷髓吁袍崇峡甜持曹惹屯齿江狗钧幅计算机硬件基础重大计算机硬件基础重大SPEAKONSPEAKON PROC PROC ;扬声器开子程序;扬声器开子程序 PUSH AX PUSH AX IN AL IN AL,61H 61H ;读取;读取61H61H端口的原控制信息端口的原控制信息 OR AL OR AL,03H 03H ;D D1 1D D0 0PBPB1 1PBPB0 011B11B,其他位不变,其他位不变 OUT 61H OUT 61H,AL AL ;直接控制发声;直接控制发声 POP AX POP AX RET RETSPEAKON ENDPSPEAKON ENDPSPEAKOFF PROC SPEAKOFF PROC ;扬声器关子程序;扬声器关子程序 PUSH AX PUSH AX IN AL IN AL,61H61H AND AL AND AL,0FCH 0FCH ;D D1 1D D0 0PBPB1 1PBPB0 000B00B,其他位不变,其他位不变 OUT 61H OUT 61H,AL AL ;直接控制闭音;直接控制闭音 POP AX POP AX RET RETSPEAKOFF ENDPSPEAKOFF ENDP执柞焉附走锅闹屎警筷古区趣羚始寒棚鞠耶哇量溃拱佃曼哟侨套丧诫疤赦计算机硬件基础重大计算机硬件基础重大可编程硬件延时可编程硬件延时 ;延时开始;延时开始MOV AHMOV AH,0 0 ;读取日时钟功能调用(附录;读取日时钟功能调用(附录5 5) INT 1AH INT 1AH ADD DX ADD DX,90 90 ;加;加5 5秒(秒(5185189090) MOV BX MOV BX,DX DX ;期望值送;期望值送BXBX L1 L1:INT 1AH INT 1AH ;再读日时钟;再读日时钟 CMP BX CMP BX,DX DX ;与期望值比较;与期望值比较 INE L1 INE L1 ;不等,则循环;不等,则循环 ;相等,则延时结束;相等,则延时结束MOV CXMOV CX,O OMOV DXMOV DX,1952 1952 ;延时;延时1.952MS1.952MS2976US2976USMOV AHMOV AH,86H86HINT 15H INT 15H ;功能调用返回时,定时时间到;功能调用返回时,定时时间到联窟赴赖犁诀衷怂舆亨捆骗店翼轩塞叔黔贤凭凄蓄碴醛倔岳伏慌鸥派回捞计算机硬件基础重大计算机硬件基础重大第五节可编程并行第五节可编程并行I/OI/O接口芯片接口芯片82558255及其应用及其应用 并行传送是主机与外设之间交换信息的一种基本方式,其特点是并行传送是主机与外设之间交换信息的一种基本方式,其特点是数据的各位同时传送。数据的各位同时传送。82558255是一种通用可编程并行是一种通用可编程并行I/OI/O接口芯片,在接口芯片,在PCPC中常用于传递键盘信息、扬声器信息等。中常用于传递键盘信息、扬声器信息等。一、一、82558255的内部结构和引脚功能的内部结构和引脚功能蹬狗终巳贷存规猜堕瞒奔镶麓且宅包毫肃拍店竿付矣奠繁阂滴里仍乡织摸计算机硬件基础重大计算机硬件基础重大二、二、82558255的工作方式的工作方式8255A8255A有三种工作方式:有三种工作方式: 方式方式0 0、 方式方式1 1、 方式方式2 21.1.方式方式0 0:基本输入输出方式:基本输入输出方式 这这种种方方式式下下,端端口口与与外外设设间间不不需需要要联联络络信信号号。8255A8255A的的3 3个个端端口口都都可可以以工工作作在在该该方方式式下下,并并由由控控制制字字规规定定为为输输入入或或输输出出。当当8255A8255A的的端端口口工工作作在在方方式式0 0时时,CPUCPU只只要要用用输输入入或或输输出出指指令令就就可可以以与与外外设设进进行行数数据据交交换。因此,方式换。因此,方式0 0也称为也称为无条件的输入无条件的输入/ /输出方式输出方式。2.2.方式方式1 1:选通输入输出方式:选通输入输出方式 这种方式下,只有这种方式下,只有A A口口和和B B口口可以作为可以作为8 8位的输入或输出端口,位的输入或输出端口,C C口主口主要作为要作为A A、B B两个端口输入两个端口输入/ /输出时的联络信号。且输出时的联络信号。且A A口和口和B B口无论输入或口无论输入或输出都有数据锁存功能。该方式下输出都有数据锁存功能。该方式下CPUCPU与与8255A8255A间可以用间可以用中断方式中断方式或或查询查询方式方式进行信息交换。进行信息交换。 窄闽迸嘘舌讨苍仰搽借椅验振昌桥啸椎诲捕雾就铀勿围舔吮袖堤汇妆硷犯计算机硬件基础重大计算机硬件基础重大选通输入方式选通输入方式端口端口A A和端口和端口B B工作于方式工作于方式1 1的输入方式时,其引脚和时序如下的输入方式时,其引脚和时序如下 疫起华绎毖琅桥皑楚哄剔够稠谅鹤醚惠仟击馅梆到肩音缩晨铺糯良吞氏撬计算机硬件基础重大计算机硬件基础重大选通输出方式选通输出方式端口端口A A和端口和端口B B工作于方式工作于方式1 1的输出方式时,其引脚和时序如下的输出方式时,其引脚和时序如下 濒锄霄斜皋舔镍致照事冒疹磁数犊忠亨喝肾畴橱傣梧诵计莫讯醉蘸哑鬼绑计算机硬件基础重大计算机硬件基础重大3.3.方式方式2 2:双向选通方式:双向选通方式 方式方式2 2是将方式是将方式1 1的选通输入输出功能组合成一个双向数据端的选通输入输出功能组合成一个双向数据端口,外设利用这个端口口,外设利用这个端口既能发送数据既能发送数据,又能接收数据又能接收数据。 8255A 8255A只只有有端口端口A A可以工作于方式可以工作于方式2 2,端口,端口A A工作在方式工作在方式2 2的引脚和时序如下:的引脚和时序如下: 滩蕊试踏麦赫菠采睡书旭耍糖媚测藕远钢柴议宋甥秩絮盖泰抖拆米捣部骤计算机硬件基础重大计算机硬件基础重大三、三、82558255的编程的编程1. 方式选择控制字方式选择控制字枫辛椽嫩耐痊黍湃屠尊侄赋宠仇假划为彩院善舰粥溯浮糠抬源铁蜜孤稗槛计算机硬件基础重大计算机硬件基础重大2. C2. C口按位置位口按位置位/ /复位控制字复位控制字 锻菊溪奶俗汽涸乃农璃叶乖楷旨奔苦踏亩晦讣凸究淑所惦绪阜冰鬼多兜燎计算机硬件基础重大计算机硬件基础重大3.3.初始化举例初始化举例 例例如如,若若规规定定端端口口A A为为方方式式1 1输输出出,端端口口C C上上半半部部分分为为输输出出,端端口口B B指指定定为为方方式式0 0输输入入,端端口口C C下下半半部部分分为为输输入入,则则方方式式选选择择控控制制字字应应是是:10100011B10100011B或或A3HA3H。 若若将将此此控控制制字字的的内内容容写写入入8255A8255A的的控控制制寄寄存存器器,即即完完成成了了对对8255A8255A的初始化。初始化程序段为:的初始化。初始化程序段为: MOV DX MOV DX, 210H 210H ;假设控制端口的地址为;假设控制端口的地址为210H210H MOV AL MOV AL, 0A3H 0A3H ;方式选择控制字;方式选择控制字 OUT DX OUT DX, AL AL ;送到控制端口;送到控制端口 又又如如:要要使使端端口口C C的的PC5PC5置置“1 1”,PC2PC2置置“0 0”,可可通通过过下下面面的的程程序序段实现(假设段实现(假设8255A8255A的控制的控制端口地址为端口地址为83H83H):): MOV AL MOV AL,0BH0BH ;PC5PC5置置“1”“1” OUT 83H OUT 83H,ALAL ;送到控制端口;送到控制端口 MOV AL MOV AL,04H04H ;PC2PC2置置“0”“0” OUT 83H OUT 83H,ALAL ;送到控制端口;送到控制端口夫憾被鄂盈桔姻虞立抖猛峦滓资糜狄悬店盟责肾宝由尘砸巩贝凿离刮烩览计算机硬件基础重大计算机硬件基础重大四、四、8255A8255A的应用的应用1.8255A1.8255A在在PCPC中的应用中的应用 PCPC使使用用一一片片8255A8255A管管理理键键盘盘、控控制制扬扬声声器器和和输输入入系系统统配配置置开开关关的的状状态态等等。这这片片8255A8255A的的端端口口A A、B B、C C和和控控制制口口的的地地址址分分别别为为60H60H、61H61H、62H62H和和63H63H。 在在PCPC机机中中,8255A8255A工工作作在在基基本本输输入入/ /输输出出方方式式。端端口口A A为为方方式式0 0输输入入,用用来来读读取取键键盘盘扫扫描描码码。端端口口B B工工作作于于方方式式0 0输输出出,PB6PB6和和PB7PB7控控制制键键盘盘接接口口电电路路、PB0PB0和和PB1PB1控控制制扬扬声声器器发发声声。端端口口C C为为方方式式0 0输输入入,存存放放系系统统配配置置开开关关的的状状态态。这这样样,系系统统利利用用如如下下两两条条指指令令就就完完成成了了8255A8255A的的初初始始化化编程:编程: MOV ALMOV AL,10011001B 10011001B ;8255A8255A的方式控制字的方式控制字9999 OUT 63H OUT 63H,AL AL ;设置端口;设置端口A A和端口和端口C C为方式为方式0 0输入、端口输入、端口B B方式方式0 0输出输出 8028680286以以上上的的微微机机系系统统中中,由由其其他他的的多多功功能能芯芯片片取取代代了了8255A8255A的的功功能能,为为了了保保证证和和低低档档微微机机的的兼兼容容性性,系系统统仍仍使使用用8255A8255A的的口口地地址址,仍仍然然可可从从60H60H端口地址读取按键扫描码,可使用端口地址读取按键扫描码,可使用PB0PB0和和PB1PB1来控制发声系统。来控制发声系统。浸深严撅霍忱告不茸忿咨粹睹澄挖堂捏甥淆层彬瞎垫如酿赏稻误淫侍吏瘁计算机硬件基础重大计算机硬件基础重大2. 8255A2. 8255A在简单输入输出中的应用在简单输入输出中的应用 设设系系统统中中外外扩扩了了一一片片8255A8255A和和相相应应的的实实验验电电路路,如如图图所所示示。要要求求每每按按一一次次K K键键,则则使使发发光光二二极极管管LEDiLEDi的的状状态态随随开开关关KiKi的的状状态态变变化化(KiKi闭闭合合,LEDiLEDi亮;亮;KiKi断开,断开,LEDiLEDi灭)。主机键盘有任意键按下结束。灭)。主机键盘有任意键按下结束。绊恤溪叠淳侵燎浦锣批肌沦鼻库溉气你报却彭糠卞嚷箕高摆邓阿匠衙淌厢计算机硬件基础重大计算机硬件基础重大按按查查询询方方式式完完成成该该例例, ,方方式式选选择择控控制制字字为为:10000110B10000110B,即即86H.86H.参参考考程程序如下:序如下: CODECODESEGMENTSEGMENTASSUMEASSUMECSCS:CODECODEMAINMAIN:MOVMOVALAL,86H86HOUTOUT83H83H,ALAL;写入方式选择控制字;写入方式选择控制字AGAINAGAIN: MOVMOVAHAH,1 1INTINT16H16H;键盘有键按下?;键盘有键按下?JNZJNZDONEDONE;有,转;有,转DONEDONEININALAL,82H82H;读;读8255A C8255A C口口TESTTESTALAL,00000010B00000010B;K K键已按下(键已按下(PC1=1PC1=1)?)?JZJZAGAINAGAIN;没有,重复;没有,重复ININALAL,81H81H;读;读8255A B8255A B口口NOTNOTALALOUTOUT80H80H,ALAL;输出到;输出到8255A 8255A 口口JMPJMPAGAINAGAINDONEDONE:MOVMOVAHAH,4CH4CHINTINT21H21HCODECODEENDSENDSENDENDMAINMAIN芜插疚展靛屁宙邹磁谜历膝摔蜕景厨侣柞恢涉惕萌御辟府豪值红樱崩脱欲计算机硬件基础重大计算机硬件基础重大按按中中断断方方式式完完成成该该例例, ,方方式式选选择择控控制制字字为为:10000110B10000110B,即即86H. 86H. INTEINTEB B为为1 1,即即将将PC2PC2置置“1”“1”,其其控控制制字字为为:00000101B00000101B或或05H05H,参参考考程程序序如如下:下: CODECODESEGMENTSEGMENTASSUMEASSUMECSCS:CODECODE MAIN MAIN:MOVMOVALAL,86H86HOUTOUT83H83H,ALAL;写入方式选择控制字写入方式选择控制字MOVMOVALAL,05H05HOUTOUT83H83H,ALAL;PC2=1PC2=1(INTEINTEB B=1=1)MOVMOVAXAX,0 0MOVMOVDSDS,AXAXMOVMOVBXBX,0AH*40AH*4LEALEAAXAX,INTSUBINTSUB;填充中断向量表填充中断向量表MOVMOVBXBX,AXAXMOVMOVAXAX,SEGSEG INTSUBINTSUBMOVMOVBX+2BX+2,AXAXININALAL,21H21H;读读8259A8259A的的IMRIMRANDANDALAL,11111011B11111011BOUTOUT21H21H,ALAL;开放开放8259A IR28259A IR2的中断的中断STISTI;开中断开中断奢融韦涝午艳旅舵桩付澡址潮补沤妆已戏忌驯豌堑沮窖医截嫁斌誓咆织疤计算机硬件基础重大计算机硬件基础重大AGAINAGAIN: MOVMOVAHAH,1 1INTINT16H16H;键盘有键按下?键盘有键按下?JZJZAGAINAGAIN;没有,等待没有,等待MOVMOVAHAH,4CH4CHINTINT21H21H;返回返回DOSDOS操作系统操作系统 INTSUBINTSUBPROCPROCFARFARININALAL,81H81H;读读8255A8255A端口端口B BNOTNOTALALOUTOUT80H80H,ALAL;输出至输出至8255A8255A端口端口A AMOVMOVALAL,20H20HOUTOUT20H20H,ALAL;中断结束命令中断结束命令IRETIRET;中断返回中断返回INTSUBINTSUBENDPENDPCODECODEENDSENDSENDENDMAIN MAIN 无消趋勒讥么风姨颜慷制哟脉弃臃钢爽落涯争雨还讹索魔纹侮穆巫绵教失计算机硬件基础重大计算机硬件基础重大第七章外设接口技术第七章外设接口技术 第一节键盘接口技术第一节键盘接口技术 第二节第二节CRTCRT接口技术接口技术第四节第四节USBUSB接口技术接口技术 第三节八段第三节八段LEDLED显示器接口技术显示器接口技术姥编勺樟词师畏僻怀炕轿恤端沁面邢煽钓靖吩综戮邪焉虱刺恤螟摊谋追衣计算机硬件基础重大计算机硬件基础重大第一节键盘接口技术第一节键盘接口技术 一、键盘的分类一、键盘的分类 1.1.按应用范围分类按应用范围分类 工工控控机机键键盘盘:工工控控机机键键盘盘和和主主机机连连为为一一体体,键键盘盘和和主主机机的的相相对对位位置置固定不变,也称为固定键盘。固定不变,也称为固定键盘。 微微机机键键盘盘:微微机机键键盘盘独独立立于于主主机机之之外外,通通过过一一根根活活动动电电缆缆或或无无线线方方式式与与主主机机相相连连,这这种种键键盘盘和和主主机机的的位位置置可可以以在在一一定定范范围围内内移移动动调调整整,也也称称为为活动式键盘。活动式键盘。 2.2.按外形分类按外形分类 标准键盘标准键盘人人体体工工程程学学键键盘盘:在在标标准准键键盘盘上上,将将左左手手键键区区和和右右手手键键区区两两大大板板块块左左右右分分开开成成一一定定角角度度的的扇扇形形,用用户户在在操操作作键键盘盘时时可可以以保保持持一一种种比比较较自自然然的的形形态,符合人在键盘上的操作。态,符合人在键盘上的操作。 劝浪齿踏榜会毕病莎奥嚷髓训复廷奇烯宿文舰哩满庆源诚棚剐凸幂闰料箕计算机硬件基础重大计算机硬件基础重大多多媒媒体体网网络络键键盘盘:在在普普通通的的104104键键键键盘盘上上多多加加了了一一些些对对多多媒媒体体和和网网络络操操作作的的功功能能键键,主主要要用用来来完完成成一一些些快快捷捷操操作作。这这种种键键盘盘需需要要专专门门的的驱驱动动程程序,在设置、安装时比普通键盘麻烦。序,在设置、安装时比普通键盘麻烦。 多功能键盘:多功能键盘:在普通键盘的基础上又集成了其它的外部设备。如:在普通键盘的基础上又集成了其它的外部设备。如: 带鼠标的键盘带鼠标的键盘 、带手写字板的键盘、带手写字板的键盘 、集成话筒和喇叭的键盘、集成话筒和喇叭的键盘 、带扫描仪的键盘、集成条形读卡器的键盘带扫描仪的键盘、集成条形读卡器的键盘 、集成、集成USB HUBUSB HUB的键盘的键盘 3.3.按接口分类按接口分类 ATAT接接口口键键盘盘:ATAT接接口口键键盘盘俗俗称称“大大口口”键键盘盘,键键盘盘的的插插头头是是一一个个圆圆形形5 5芯插头,插头是有方向性的。芯插头,插头是有方向性的。 PS/2PS/2接接口口键键盘盘:PS/2PS/2接接口口键键盘盘俗俗称称为为“小小口口”键键盘盘,是是目目前前使使用用最最普普通通的的一种键盘。它的插头是一种键盘。它的插头是4 4针,在插头上有一个定位口,用来防止插错方向。针,在插头上有一个定位口,用来防止插错方向。 USBUSB接接口口键键盘盘:USBUSB接接口口键键盘盘支支持持USBUSB接接口口热热拔拔插插功功能能,可可在在打打开开微微机机以以后后,带电拔插键盘,或更换键盘。带电拔插键盘,或更换键盘。 徽峪锨汗玄杂藻钉件锤落没旧东挝气咸胜渣类辜备浅捐米扑骏抛操坡巩每计算机硬件基础重大计算机硬件基础重大无无线线键键盘盘:无无线线键键盘盘与与微微机机间间没没有有直直接接的的物物理理连连线线,可可以以完完全全脱脱离离主主机机。无无线线键键盘盘通通过过红红外外线线或或无无线线电电波波将将输输入入信信息息传传送送給給接接收收器器。接接收收器器放放在在主主机旁,连接在机旁,连接在PS/2PS/2口、口、COMCOM口或口或USBUSB口上。口上。 4.4.按键盘开关接触方式分类按键盘开关接触方式分类 触触点点式式按按键键:工工艺艺简简单单,价价格格低低廉廉,它它是是借借助助簧簧片片直直接接使使两两个个导导体体接接通通或或断开,有着理想的开关特性。断开,有着理想的开关特性。 无无触触点点式式按按键键:电电容容式式开开关关的的特特点点是是手手感感好好,击击键键声声音音小小,容容易易控控制制,结结构简单,灵敏度高,成本低,易于小型化和批量生产。构简单,灵敏度高,成本低,易于小型化和批量生产。 5.5.按照按键识别方式分类按照按键识别方式分类 非编码键盘:非编码键盘:主要用软件的方法识键和译键。主要用软件的方法识键和译键。 编码键盘:编码键盘:主要用硬件来实现键的扫描和识别。主要用硬件来实现键的扫描和识别。 笼问箔蠢剖氨硕睡城刹垣奇乍志捆联香匈流寺露御甭燥匀伙木揽立摹俄昭计算机硬件基础重大计算机硬件基础重大二、键盘的结构和工作原理二、键盘的结构和工作原理 1.1.键盘的结构键盘的结构 微机键盘由微机键盘由外壳、按键和电路板外壳、按键和电路板三部分组成。三部分组成。 键盘外壳:键盘外壳:主要用来支撑电路板和给操作者一个方便的工作环境。主要用来支撑电路板和给操作者一个方便的工作环境。 电电路路板板:是是整整个个键键盘盘的的核核心心,它它位位于于键键盘盘的的内内部部,主主要要由由逻逻辑辑电电路路和和控控制电路组成,担任按键扫描识别、编码和传输信息的工作。制电路组成,担任按键扫描识别、编码和传输信息的工作。 键盘按键:键盘按键:可分为触点式和非触点式两种类型。可分为触点式和非触点式两种类型。 2.2.键盘的工作原理键盘的工作原理 磅魁廓贪秃外观俗董例钨俏恍渡泪份幻债左领态捶卿踌槛眩历推减缩蘸庭计算机硬件基础重大计算机硬件基础重大非编码键盘接口非编码键盘接口 (3 3)找找到到被被按按下下的的键键。从从0 0行行开开始始,顺顺序序逐逐行行扫扫描描,即即该该行行输输出出“0”“0”。每每扫扫描描一一行行,读读入入列列线线数数据据,找找出出为为“0”“0”的的列列;若若无无,则则顺顺序序扫扫描描下下一一行行,并并检检查查其其各各列列;若若找找到到某某列列线线为为“0”“0”,则则该该列列与与检检查查行行交交点点的的按按键键为被按下的按键;为被按下的按键; (1 1)识识别别有有键键按按下下否否。PAPA的的三三线线输输出出均均为为“0”“0”,读读入入PBPB的的四四根根输输入入线线,只只要要有有一一线线为为“0”“0”,即即表表明明有有键被按下;键被按下;(2 2)去去抖抖动动。延延时时20ms20ms左左右右,等等按按键键通通、断断引引起起的的抖抖动动消消失失,若若还还有有键键闭闭合合,则认为按键已稳定;则认为按键已稳定;(4 4)根据找到的键号,转去执行该键相应的子程序。)根据找到的键号,转去执行该键相应的子程序。敞框嗽雀粟恨美幼缆聪野沽纫穴挂疑睛缎级搓甲届拴渣蔼米豆扶靴拱桃氨计算机硬件基础重大计算机硬件基础重大 下下面面给给出出按按行行扫扫描描的的有有关关子子程程序序。设设8255A8255A端端A A的的地地址址为为60H60H,端端口口B B的的地址为地址为61H61H,控制寄存器的地址为,控制寄存器的地址为63H63H。 判别有无键按下的程序段如下:判别有无键按下的程序段如下: MOV ALMOV AL,82H 82H ;8255A8255A初始化,方式初始化,方式0 0,A A口输出,口输出,B B口输入口输入OUT 63HOUT 63H,ALALMOV ALMOV AL,0 0OUT 60HOUT 60H,AL AL ;各行线为;各行线为“0”“0”WAITWAIT: IN AL IN AL,61H 61H ;读列线数据;读列线数据 AND AL AND AL,0FH 0FH ;屏蔽无关位;屏蔽无关位 CMP AL CMP AL,0FH 0FH ;列线有;列线有“0”“0”否?否? JZ WAIT JZ WAIT ;无,等键按下;无,等键按下 惋簧赌翰估泛咽室锐伯被含腋屎做碴前诧型雄呀斤橱称句篷买堤瓢器烃讣计算机硬件基础重大计算机硬件基础重大检测哪个键按下的程序段如下:检测哪个键按下的程序段如下: BEGINBEGIN: MOV BL MOV BL,3 3 ;行数;行数 MOV BH MOV BH,4 4 ;列数;列数 MOV AL MOV AL,0FEH 0FEH ;起始数据,;起始数据,0 0行为行为“0”“0” MOV CL MOV CL,0FH 0FH ;键盘屏蔽码;键盘屏蔽码 MOV CH MOV CH,0FFH 0FFH ;起始键号为;起始键号为“-1”“-1”LOOP1LOOP1: OUT 60H OUT 60H,AL AL ;扫描一行;扫描一行 ROL AL ROL AL ;修改扫描码,准备扫描下一行;修改扫描码,准备扫描下一行 MOV AH MOV AH,AL AL ;保存;保存 IN AL IN AL,61H 61H ;读列线值;读列线值 AND AL AND AL,CL CL ;屏蔽无关位;屏蔽无关位 CMP AL CMP AL,CL CL ;有列线为;有列线为“0”“0”? JNZ LOOP2 JNZ LOOP2 ;有,转去找该列线;有,转去找该列线号肃匡摊菜煎稚冰豆庸来戒必恨泽责触漆骨坝澳稀破沫篡嗡躇姚颤呻痞罕计算机硬件基础重大计算机硬件基础重大 ADD CH ADD CH,BH BH ;否,修改键号,指向该行末列键号;否,修改键号,指向该行末列键号 MOV AL MOV AL,AH AH ;取回扫描码;取回扫描码 DEC BL DEC BL ;行数减;行数减1 1 JNZ LOOP1 JNZ LOOP1 ;未完转下一行;未完转下一行 JMP BEGIN JMP BEGIN ;重新开始;重新开始LOOP2LOOP2:INC CH INC CH ;键号加;键号加1 1,指向本行首列键号,指向本行首列键号 RCR AL RCR AL ;带进位循环右移一位;带进位循环右移一位 JC LOOP2 JC LOOP2 ;该列非;该列非“0”“0”,检查下一列,检查下一列 MOV AL MOV AL,CH CH ;是,键号送;是,键号送ALAL CMP AL CMP AL,0 0 ; 0 0号键按下?号键按下? JZ KEY0 JZ KEY0 ;是,转;是,转0 0号键子程序号键子程序 CMP AL CMP AL,1 1 ; 1 1号键按下?号键按下? JZ KEY1 JZ KEY1 ;是,转;是,转1 1号键子程序号键子程序 . . . . . . CMP AL CMP AL,0AH 0AH ;1010号键按下?号键按下? JZ KEY10 JZ KEY10 ;是,转;是,转1010号键子程序号键子程序 CMP AL CMP AL,0BH 0BH ;1111号键按下?号键按下? JZ KEY12 JZ KEY12 ;是,转;是,转1111号键子程序号键子程序盘甚衣惕孤氦揽钝抄呕此桶沸裙味柞帝漏钨洪轧告孙舒校倘劈博掏兔退祝计算机硬件基础重大计算机硬件基础重大3. PC3. PC的键盘接口的键盘接口 PCPC的键盘扫描接口的键盘扫描接口 单单片片机机80488048作作键键盘盘的的控控制制部部件件。它它承承担担键键盘盘扫扫描描、去去抖抖动动、生生成成扫扫描描码码、检检查查被被卡卡住住的的键键等等功功能能,可可以以缓缓冲冲存存放放2020个键扫描码。个键扫描码。 PC PC的键盘扫描控制电路的键盘扫描控制电路 拷噪咬椅诣粳骸昧音伶恼蜡颇窘吁碧装灸则隅抖崎萨雁茁酿肮念予刮嗽塞计算机硬件基础重大计算机硬件基础重大PCPC与键盘接口与键盘接口 PCPC的键盘接口电路的键盘接口电路 王掸瑟窿扳萍综跑呸夹坎洛视冒膳臂韶便需蝉盅丫痰卸纲栅躬朴疗廓裙聚计算机硬件基础重大计算机硬件基础重大第二节第二节CRTCRT接口技术接口技术一、一、CRTCRT显示器概述显示器概述 CRTCRT显示器的发展显示器的发展 CRTCRT显示器成像原理显示器成像原理 扫描成像原理扫描成像原理 三原色原理三原色原理 二、二、CRTCRT接口技术接口技术 单色显示适配器(单色显示适配器(MDA:Monochrome Display AdapterMDA:Monochrome Display Adapter) 字符显示的原理字符显示的原理 显示数据处理逻辑显示数据处理逻辑: : 单单色色显显示示适适配配器器可可以以看看成成由由显显示示数数据据处处理理逻逻辑辑和和扫描控制逻辑两部分组成。扫描控制逻辑两部分组成。 MDAMDA逻辑框图逻辑框图 扫描控制逻辑扫描控制逻辑 渗是蕊验乔企井彼坦证痢恳靶浩钧会兜书魄让伪令赔芳菌坷季奋女揩粕儡计算机硬件基础重大计算机硬件基础重大彩色图形适配器(彩色图形适配器(Color Graphics AdapterColor Graphics Adapter,CGACGA) 图形显示的原理图形显示的原理 当当CRTCRT屏幕作图形显示时有两个特点:屏幕作图形显示时有两个特点: 图形的线点可以细到只有一个像素点;图形的线点可以细到只有一个像素点; 要显示的像素点可在屏幕任意一个位置上出现。要显示的像素点可在屏幕任意一个位置上出现。 CGA:CGACGA:CGA可以产生黑白和彩色的字符和图形。可以产生黑白和彩色的字符和图形。 当当CRTCRT屏幕作图形显示时有两个特点:屏幕作图形显示时有两个特点: 图形的线点可以细到只有一个像素点;图形的线点可以细到只有一个像素点; 要显示的像素点可在屏幕任意一个位置上出现。要显示的像素点可在屏幕任意一个位置上出现。 CGACGA逻辑框图逻辑框图 打汰鹿跃韶汗浦捉键鼻曲筐堡盖靶狭雾提抓蝎报虽谗滁锭腺傀舶抿呈毕划计算机硬件基础重大计算机硬件基础重大增强型图形适配器(增强型图形适配器(Enhanced Graphics AdapterEnhanced Graphics Adapter,EGAEGA) VRAM VRAM的容量有的容量有256K256K字节,其结构与数据组织和字节,其结构与数据组织和CGACGA大不相同。大不相同。 存存放放在在VRAMVRAM中中的的图图形形数数据据和和字字符符点点阵阵数数据据经经并并串串转转换换后后送送到到属属性性控控制制寄寄存存器器去去处处理理,它它把把VRAMVRAM中中的的字字符符电电阵阵和和图图形形像像素素值值翻翻译译成成送送往往监监视视器的信息。器的信息。 视频图形阵列(视频图形阵列(Video Graphics ArrayVideo Graphics Array,VGAVGA) VGAVGA采采用用模模拟拟信信号号输输出出接接口口,使使显显示示的的颜颜色色丰丰富富多多彩彩。它它的的分分辨辨率率也也提提高高到到640480640480,并并在在软软件件上上与与MDAMDA、CGACGA、EGAEGA兼兼容容,其其字字符符点点阵阵有有8888、814814、816816、916916等等多多种种,可可显显示示256K256K种种颜颜色色,可可同同时时显显示示256256种色。除支持种色。除支持EGAEGA的所有显示方式外,还增加了的所有显示方式外,还增加了3 3种显示方式种显示方式 。 增强型的增强型的VGAVGA(Super VGASuper VGA) 削逆壹焦恩拘恨犀指胡坛珠斡番帜苍显窄览打桃镣稍宇颤藐估霖宙拙扯奸计算机硬件基础重大计算机硬件基础重大第三节八段第三节八段LEDLED显示器接口技术显示器接口技术一、一、LEDLED显示器及工作原理显示器及工作原理1.LED1.LED显示器的分类显示器的分类秧啼瓦疼蹬贡挝荡擅秉曰妓戳多娟蜗高褥驯辞厚神垂盐氰隋防艺墓扰茫好计算机硬件基础重大计算机硬件基础重大a ab bc cd de ef fg gdpdp显示显示11:b,c b,c 两段点亮两段点亮段段选选开开关关位位选选开开关关LEDLEDa ab bc cd de ef fg gdpdp显示显示44:b,c,f,g b,c,f,g 四段点亮四段点亮显示原理显示原理2.2.工作原理工作原理儒知依客狠胎伤金泥迟长俭夕贾其苑呛姑煎晒康掠深豫澡翌者褐括检膘栽计算机硬件基础重大计算机硬件基础重大二、二、LEDLED显示器与显示器与CPUCPU的接口电路的接口电路Q0Q0Q5Q5D0D0D5D5IOWIOW地址信号地址信号1 1(91H91H) 地址信号地址信号2 2(90H90H)段选口段选口位选口位选口 LED0LED0LED5LED5 a adpdpb ba adpdpb bQ0Q0Q7Q7D0D0D7D7CPUCPUDBDBclkclkclkclk吞旅更烹鳖阁顷裹蹈孰药圾总侄里棺荐邪驹样抚犀缕踪牙赎东梯队驹熬看计算机硬件基础重大计算机硬件基础重大例例2. 2. 要求要求LED0LED0LED5LED5都显示都显示“5 “5 ” ” 位选信号位选信号/ / 5 4 3 2 1 0/ / 5 4 3 2 1 00 1 0 0 1 0 0 10 1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1段选口送段选口送49H49H位选口送位选口送3FH3FHMOV AL, 49HMOV AL, 49HOUT 90H, ALOUT 90H, ALMOV AL, 3FHMOV AL, 3FHOUT 91H, ALOUT 91H, ALa ab bc cd de ef fg gdpdp段选信号段选信号D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0a b c d e f g dpa b c d e f g dp擒凄吱蓉楞脐及沦丝卡端脸赴钻坊怎酥蓬丫淑抬臼坯健查逾占杯该蚂畴喇计算机硬件基础重大计算机硬件基础重大Q0Q0Q5Q5D0D0D5D5IOWIOW地址信号地址信号1 1(91H91H) 地址信号地址信号2 2(90H90H)段选口段选口位选口位选口 LED0LED0LED5LED5 a adpdpb ba adpdpb bQ0Q0Q7Q7D0D0D7D7CPUCPUDBDBclkclkclkclk相虫奢蚊瘦惊除驶妖吻蓝啄牌人疡束实黍奄咳孜奔争钡坛知薄驼肃付本撵计算机硬件基础重大计算机硬件基础重大三、显示管理程序三、显示管理程序(1) (1) 解决字符解决字符段代码的转换问题段代码的转换问题LED0LED0LED4 LED5LED4 LED5待显字符:待显字符:3 30D0DH HSEGPTSEGPT0 01 12 23 34 45 56 603H03H9FH9FH25H25H0DH0DH99H99H49H49H41H41H段代码表段代码表稚馏届炼攘吏羔仑厩洼诱愚锚栋刊苦状夹帽遇捂免邱尽岗役企郧抨慷晒阉计算机硬件基础重大计算机硬件基础重大(2) (2) 多位多位LEDLED“同时同时”显示不同字符的问题显示不同字符的问题显显缓缓区区段代码表段代码表DISMEMDISMEM1 12 23 34 45 56 61 2 3 4 5 61 2 3 4 5 6SEGPTSEGPT0 01 12 23 34 45 56 603H03H9FH9FH25H25H0DH0DH99H99H49H49H41H41H宙狱钧巢娘赢渤曹桶株婚传减帚线幌预宛帜筛泥村祖搅惕猛鸡侗申送酌鲤计算机硬件基础重大计算机硬件基础重大显示过程如下:显示过程如下:建立六个待显字符的建立六个待显字符的 显示缓冲区显示缓冲区查出第一个字符的字查出第一个字符的字 形码形码送段形码至段选口送段形码至段选口使最左一位使最左一位LEDLED发光发光延时延时1ms1ms指向下一位指向下一位LEDLED 直至最后一位直至最后一位LEDLED显示显示 完为止完为止已扫描一遍已扫描一遍开始开始指针指向显缓区首址指针指向显缓区首址位选信号初始位选信号初始取待显数据,查表得段选码取待显数据,查表得段选码送段选口送段选口位选信号送位选口位选信号送位选口六位都显完?六位都显完?修改指针,修改位选信号修改指针,修改位选信号是是否否婆梗炼事你黑誓匆欺注讽佛又赴贪含汗囤啪游超召显墓石阅科淑放扼毙事计算机硬件基础重大计算机硬件基础重大例:电路结构如图,要求:例:电路结构如图,要求:LEDLED0 0LEDLED5 5循环显示循环显示“3”“3”。Q0Q0Q5Q5D0D0D5D5IOWIOW地址信号地址信号1 1(91H91H) 地址信号地址信号2 2(90H90H)段选口段选口位选口位选口 LED0LED0LED5LED5 a adpdpb ba adpdpb bQ0Q0Q7Q7D0D0D7D7CPUCPUDBDBclkclkclkclk庐厩感锥萄榨邑部冰脑后万侨喇盯伦仑递帆舶多鼠论淤筋穴矮粗老嘘筹测计算机硬件基础重大计算机硬件基础重大MOV ALMOV AL,0DH0DHOUT 90HOUT 90H,ALALMOV ALMOV AL,20H20HOUT 91HOUT 91H,ALALSHR ALSHR AL,01H01HJNC LPJNC LPMOV ALMOV AL,20H20HJMP LPJMP LPLPLP:NOPNOPNOPNOP延时延时擦呛寥爹恿恐葛葵彭辛访锹米糕缓怖塞鞋臂恩唆愤鸵咀绸购板尼味向肥授计算机硬件基础重大计算机硬件基础重大第四节第四节USBUSB接口技术接口技术 一、概述一、概述 USB USB 即即通通用用串串行行总总线线(USB: USB: Universal Universal Serial Serial BusBus)。USBUSB为为主主机机与与不不同外设的连接提供了极大的方便,其主要优点是:同外设的连接提供了极大的方便,其主要优点是:1 1)完全自动检测和配置的即插即用功能;)完全自动检测和配置的即插即用功能;2 2)带电热插拔操作;)带电热插拔操作;3 3)统一的接插件,不存在连接错误。)统一的接插件,不存在连接错误。 USB USB是一种支持即插即用的新型是一种支持即插即用的新型“菊花链菊花链”串行接口串行接口。它在一条。它在一条“线线缆缆”上有链接多个设备的能力。上有链接多个设备的能力。 USB USB要比标准串口快得多,其数据传输率可达要比标准串口快得多,其数据传输率可达4M bit/s12M bit/s4M bit/s12M bit/s,而一般的串口最多只能是而一般的串口最多只能是115K bit/s115K bit/s。 亥止焙征术始恩甥篙壬彪剪镰卷鸦头关苦篇蓬岳痊驳酿穷稍训峭通絮袁衬计算机硬件基础重大计算机硬件基础重大二、二、 USB USB规范规范 USB USB是一种支持即插即用的新型是一种支持即插即用的新型“菊花链菊花链”串行接口串行接口。它在一条。它在一条“线线缆缆”上有链接多个设备的能力。上有链接多个设备的能力。在针对在针对USBUSB确定结构时,应遵照以下要求:确定结构时,应遵照以下要求: 1)PC1)PC外设的扩展简单方便;外设的扩展简单方便;2)2)传输速率高达传输速率高达12M bit/s12M bit/s的低成本方案;的低成本方案;3)3)完全支持语音、音频和压缩视频的实时数据处理;完全支持语音、音频和压缩视频的实时数据处理;4)4)在混合模式下进行等时(在混合模式下进行等时(IsochronousIsochronous)数据传输和异步信息发)数据传输和异步信息发 布的协议灵活性;布的协议灵活性;5)5)包含多个包含多个PCPC配置和外形尺寸;配置和外形尺寸;6)6)提供一种能够迅速扩散到产品生产中的标准接口;提供一种能够迅速扩散到产品生产中的标准接口;7)7)促使产生可提高促使产生可提高PCPC能力的新型设备。能力的新型设备。度藏批楷抽拟烦械纫涪杀溃蚌瘴晦侦憾蛰而驾烈璃挑挥贺荒应威埃芹磅阉计算机硬件基础重大计算机硬件基础重大USBUSB带给用户的好处主要表现在以下几个方面:带给用户的好处主要表现在以下几个方面: 1) 1) 易于最终用户使用易于最终用户使用 USB USB提供了一种关于接线和连接器的统一模式,其中的电气细节提供了一种关于接线和连接器的统一模式,其中的电气细节(例如,总线端子)与最终用户完全隔离。它还能自动识别外设。自(例如,总线端子)与最终用户完全隔离。它还能自动识别外设。自动把功能变为驱动程序,以及自动配置。动把功能变为驱动程序,以及自动配置。USBUSB外设在系统运行过程中外设在系统运行过程中还可以动态连接和重新配置。还可以动态连接和重新配置。 2) 2) 广泛的工作负载和应用领域广泛的工作负载和应用领域 USB USB适合于识别带宽从数千适合于识别带宽从数千bit/sbit/s到数兆到数兆bit/sbit/s的设备。它支持在的设备。它支持在同一套电缆上进行等时和异步传输。多连接结构允许进行多个设备的同一套电缆上进行等时和异步传输。多连接结构允许进行多个设备的同时操作,支持多达同时操作,支持多达127127个物理设备。个物理设备。USBUSB支持在主机和设备之间传输支持在主机和设备之间传输多种数据和信息流,允许使用混合型设备(例如,具有多种功能的外多种数据和信息流,允许使用混合型设备(例如,具有多种功能的外设),而且由于降低了协议的额外开销而提高了总线的使用效率。设),而且由于降低了协议的额外开销而提高了总线的使用效率。 雁聋拱侧缸仟土棘汕贯驹猿铭森踞梢塔浮量哗炮毒螺哼烫字睡辰懈眉碰接计算机硬件基础重大计算机硬件基础重大3)3)灵活性和鲁棒性灵活性和鲁棒性 USB USB支持很大的数据包长度范围,允许多种设备缓冲的选配、多支持很大的数据包长度范围,允许多种设备缓冲的选配、多种设备数据速率和数据包尺寸。种设备数据速率和数据包尺寸。USBUSB协议中包括了缓冲处理的流控制。协议中包括了缓冲处理的流控制。协议中还有错误处理或故障恢复机制。能以用户可观察到的实时方式协议中还有错误处理或故障恢复机制。能以用户可观察到的实时方式实现设备的动态接入和分离,而且可自动识别出有故障的设备。实现设备的动态接入和分离,而且可自动识别出有故障的设备。 4)4)多种低成本实现方案多种低成本实现方案 为为了了支支持持低低成成本本外外设设,USBUSB可可以以作作为为一一种种低低成成本本的的1.5M 1.5M bit/sbit/s的的子子通通道道来来实实现现,它它在在外外设设和和主主机机硬硬件件的的集集成成方方法法上上进进行行优优化化,采采用用低低成本电缆和连接器以及商用技术。成本电缆和连接器以及商用技术。咋梨淳式喘佃控田它吏摔延憎赋选栖卉厩秆徘镶迷翱缘妮钦檬仰阁汛赐陋计算机硬件基础重大计算机硬件基础重大第八章总线第八章总线 第一节概述第一节概述 第二节第二节ISAISA总线总线第三节第三节 PCI PCI总线总线都促枕羌硼全吓籍靠菌瞻靡攘踩希莲豌创农漆荷列翔怎爽馁骋浮献字捅眯计算机硬件基础重大计算机硬件基础重大 微微机机系系统统大大都都采采用用总总线线结结构构。这这种种结结构构的的特特点点是是采采用用一一组组公公共共的的信信号号线线作作为为微微机机各各部部件件间间的的通通信信线线。这这组组公公共共信信号号线线就就称称为为总总线线。采采用用总总线线结结构构可可简简化化系系统统的的软软、硬硬件件设设计计及及系系统统结结构构,使使系系统统易易于于扩扩充充和和升级。升级。第一节概述第一节概述 一、总线的分类一、总线的分类 根根据据总总线线所所处处的的物物理理位位置置不不同同,可可将将总总线线分分为为如如下下4 4类类:片片内内总总线线、元件级总线元件级总线、系统总线系统总线及及外总线外总线。片内总线片内总线 是集成电路芯片内部用以连接各功能单元的是集成电路芯片内部用以连接各功能单元的信息通路信息通路。它一。它一般由芯片生产厂家设计,但当用户需设计符合自己要求的专般由芯片生产厂家设计,但当用户需设计符合自己要求的专用芯片时,便应掌握片内总线技术。用芯片时,便应掌握片内总线技术。 蒲苗妇缺愧逮沤抛坐什馈叼咸噶死痪古治冶状比低今决椒脯泻酥寇骤垂猫计算机硬件基础重大计算机硬件基础重大元件级总线(又称片总线或在板局部总线)元件级总线(又称片总线或在板局部总线)是印刷电路板上连接各芯是印刷电路板上连接各芯片之间的片之间的公共通路公共通路。这种总线与芯片引脚关系密切,难以形成总线标。这种总线与芯片引脚关系密切,难以形成总线标准。准。系系统统总总线线(又又称称内内总总线线)是是模模块块式式微微机机机机箱箱内内的的底底板板总总线线,用用以以连连接接微微机机系系统统的的各各插插件件板板,一一般般为为并并行行总总线线。例例如如,多多处处理理机机系系统统中中各各CPUCPU板板之之间间的的通通信信通通道道,即即为为系系统统总总线线。常常用用的的系系统统总总线线有有ISAISA和和PCIPCI等。等。外外总总线线(又又称称通通信信总总线线)用用于于微微机机系系统统与与系系统统之之间间、微微机机系系统统与与仪仪器器或或其其他他外外部部设设备备(例例如如打打印印机机)之之间间的的连连接接。外外总总线线可可以以是是并并行行或或串串行行总总线线,其其数数据据传传输输率率一一般般比比系系统统总总线线低低。这这种种总总线线非非微微机机专专用用,一一般是利用电子工业其他领域已有的总线标准。般是利用电子工业其他领域已有的总线标准。屉伟渐晚资丁肄镍臣八窗柠似吹阜撮榨斡吵平钠盗瘁体担薯氦终浑蛮昭晴计算机硬件基础重大计算机硬件基础重大二、总线信号线类型二、总线信号线类型 总线通常少则有几十条,多则有百多条信号线,大体上可分成以总线通常少则有几十条,多则有百多条信号线,大体上可分成以下几种类型:下几种类型: 地址总线地址总线 数据总线数据总线 控制总线控制总线 电源和地线电源和地线 它们决定了总线使用的电源种类及地线的分布和用法。它们决定了总线使用的电源种类及地线的分布和用法。 备用线备用线 留给厂家和用户自行定义,作为功能扩充和用户的特殊技术留给厂家和用户自行定义,作为功能扩充和用户的特殊技术要求使用。要求使用。 三、总线规范三、总线规范 总线规范一般包括如下基本内容:总线规范一般包括如下基本内容: 机械结构规范机械结构规范:规定模块尺寸、总线插头、连接器等的规格。:规定模块尺寸、总线插头、连接器等的规格。 功功 能能 结结 构构 规规 范范 : 规规 定定 总总 线线 接接 口口 引引 脚脚 的的 定定 义义 、 传传 输输 速速 率率 的的 设设 定定 、 时时 序序 及及 信信 息息 格格 式的约定等。式的约定等。 电气规范电气规范:规定信号的逻辑电平、负载能力及最大额定值、动态转换时间等。:规定信号的逻辑电平、负载能力及最大额定值、动态转换时间等。灸岔渣氧豌珍卑选伺巢萍孽吵菇蛙峻心租弱携疯痴撤默痔拐寥阀颖蹄逃订计算机硬件基础重大计算机硬件基础重大四、总线的数据传输四、总线的数据传输 系系统统总总线线上上的的数数据据传传输输是是在在主主控控模模块块(即即主主控控设设备备)的的控控制制下下进进行行的,它一般分为如下的,它一般分为如下4 4个阶段:个阶段:申请阶段申请阶段 当当系系统统总总线线上上有有多多个个主主控控模模块块时时,需需要要使使用用总总线线的的主主控控模模块块要要提提出出申申请请,由由总总线线仲仲裁裁逻逻辑辑确确定定把把下下一一个个传传输输周周期期的的总总线线使使用用权权交交给给哪哪个个模模块块。若若系系统统总总线线上上只只有有一一个个主主控控模模块块,就就不不需需要要这一阶段。这一阶段。寻址阶段寻址阶段 取取得得总总线线使使用用权权的的主主控控模模块块通通总总线线发发出出本本次次要要访访问问的的从从属属模模块的地址及有关命令,以启动参与本次传输的从属模块。块的地址及有关命令,以启动参与本次传输的从属模块。数据传输阶段数据传输阶段 主控模块和从属模块之间进行数据传输,数据由源模块发主控模块和从属模块之间进行数据传输,数据由源模块发出经数据总线传到目的模块。出经数据总线传到目的模块。 结束阶段结束阶段 主从模块的有关信息均从系统总线上撤除,释放系统总线。主从模块的有关信息均从系统总线上撤除,释放系统总线。 靳赞藩侩气组根像尸胶快婆拂宜番吝渠腐简震蔡孜撩银掘必孵淘恳潞郭仁计算机硬件基础重大计算机硬件基础重大第二节第二节 ISA ISA总线总线一、一、PCPC总线总线 PCPC总总线线是是PCPC及及XTXT机机使使用用的的总总线线。它它是是ISAISA总总线线的的基基础础。目目前前人人们们在在设计一些较为简单的专用接口时仍使用这种总线。设计一些较为简单的专用接口时仍使用这种总线。PCPC总线的特点总线的特点 由由8088CPU8088CPU经经82828282锁锁存存器器、82868286收收发发器器、82888288总总线线控控制制器器、82598259中中断断控制器、控制器、8237DMA8237DMA控制器及其他逻辑的重新驱动、组合形成的。控制器及其他逻辑的重新驱动、组合形成的。每个双列扩展槽有每个双列扩展槽有6262个管脚,代表不同信号。个管脚,代表不同信号。除了供应特殊需要的除了供应特殊需要的12V12V电源外,其他信号均与电源外,其他信号均与TTLTTL电平兼容。电平兼容。信号线信号线 PCPC总线的总线的6262条信号线分为条信号线分为5 5类:地址线、数据线、控制线、状态类:地址线、数据线、控制线、状态线和辅助与电源线。线和辅助与电源线。 地址线地址线A A0 0AA1919(2020条)条) 数据线数据线D D0 0DD7 7(8 8条)条) 控制线(控制线(2121条)条) 状态线状态线 每复洼澎废各笑诸兵簿筹免秽想类痊颜矮掇稿蕉棱穗涂栖妇壹巨蜒榨益垦计算机硬件基础重大计算机硬件基础重大二、二、ISA总线总线 ISAISA总总线线又又称称为为ATAT总总线线,它它是是在在PCPC总总线线基基础础上上扩扩展展形形成成,它它在在保保持持原原PCPC总总线线的的6262个个引引脚脚信信号号不不变变的的前前提提下下增增加加了了数数条条信信号号线线,具具有有1616位位数数据据宽宽度度,地地址址线线2424条条,可可寻寻址址16MB16MB。工工作作时时钟钟频频率率为为8MHz8MHz,数数据据传传输输率率最最高可达高可达16MB/s16MB/s。 ISAISA总总线线是是一一种种多多主主控控总总线线,这这一一特特性性通通过过系系统统总总线线扩扩展展槽槽中中的的MASTERMASTER信信号号线线实实现现。即即除除主主CPUCPU外外,DMADMA控控制制器器、刷刷新新控控制制器器和和带带处处理理器器的的智智能能接接口口控控制制卡卡都都可可以以成成为为ISAISA总总线线的的主主控控设设备备,但但它它只只支支持持一一个个智智能能接口控制卡接口控制卡. .由于它的特殊性,目前某些由于它的特殊性,目前某些PCPC上仍有上仍有ISAISA插槽。插槽。 ISA ISA总线支持总线支持8 8种类型的总线周期:种类型的总线周期:存储器读存储器读、存储器写存储器写、I/OI/O读读、I/OI/O写写、中断中断、DMA DMA 传输传输、刷新和仲裁周期刷新和仲裁周期。养魔化商伤奖篡槽篙令渺婿全崭痈侨创炼价闪粱尉量巩尿骡梆牵蹿涟概悄计算机硬件基础重大计算机硬件基础重大ISAISA总线信号总线信号 ISAISA总总线线是是在在PCPC总总线线的的基基础础上上扩扩展展一一个个3636线线插插槽槽形形成成的的。ISAISA总总线线由由用用一一轴轴线线的的基基本本插插槽槽和和扩扩展展插插槽槽两两段段组组成成。基基本本插插槽槽有有6262条条信信号号线线,兼兼容容PCPC总总线线;扩扩展展插插槽槽有有3636条条信信号号线线,为为ISAISA总总线线新新增增加加的的信号。信号。基本插槽基本插槽 基基本本插插槽槽的的6262条条信信号号线线的的引引脚脚排排列列及及定定义义与与PCPC总总线线基基本本相相同同,但但有有3 3条条信信号号线线不不同同:B B4 4引引脚脚定定义义为为IRQIRQ9 9(PCPC总总线线为为IRQIRQ2 2);B B8 8引引脚脚定定义义为为OWSOWS等等待待状状态态信信号号(PCPC总总线线为为CARD CARD SLCTDSLCTD);B B1919引引脚脚定定义义为为REFRESHREFRESH信信号(号(PCPC总线为总线为DACKDACK0 0)。)。 另另外外,ISAISA总总线线称称PCPC总总线线的的MEMRMEMR和和MEMWMEMW两两条条信信号号为为SMEMRSMEMR和和SMEMWSMEMW,仍仍作作地地址址线线A A0 0AA1919(ISAISA中中称称为为SASA0 0SASA1919)寻寻址址的的1MB1MB内内存存的的读读/ /写写选选通通信信号号。对对基基本本插插槽槽而而言言,PCPC总总线线与与ISAISA总总线线兼兼容容,因因此此,PCPC总总线线又又叫叫8 8位位ISAISA总线,而总线,而PC ATPC AT总线被称为总线被称为1616位位ISAISA总线。总线。银馋割钾蔼砍毕录屿廷萧抗绕淬肺丹伺卵嚎这企索屡踪动黄手躯澎混藤姥计算机硬件基础重大计算机硬件基础重大扩展插槽扩展插槽 元件面元件面 焊接面焊接面引脚号引脚号信号名信号名 说说 明明 引脚号引脚号 信号名信号名 说说 明明 C C1 1SBHESBHE高字节允许,双向高字节允许,双向D D1 1MEM CSMEM CS16 16 存储器片选,输入存储器片选,输入C C2 2 LALA2323 D D2 2IS CSIS CS1616 外设片选,输入外设片选,输入C C3 3 LALA2222 D D3 3IRQIRQ1010 C C4 4 LALA2121 D D4 4 IRQIRQ1111 C C5 5 LALA2020高位地址,双向高位地址,双向 D D5 5 IRQIRQ1212 中断请求,输入中断请求,输入 C C6 6 LALA1919 D D6 6 IRQIRQ1414 C C7 7 LALA1818 D D7 7 IRQIRQ1515 C C8 8 LALA1717 D D8 8 DACKDACK0 0 C C9 9SMEMRSMEMR存储器读,双向存储器读,双向 D D9 9 DRQDRQ0 0 C C1010SMEMWSMEMW存储器写,双向存储器写,双向 D D1010 DACKDACK5 5 C C1111 D D8 8 D D1111 DRQDRQ5 5 DMA DMA请求与响应请求与响应 C C1212 D D9 9 D D1212 DACKDACK6 6 前者输入,后者输出前者输入,后者输出C C1313 D D1010 D D1313 DRQDRQ6 6 C C1414 D D1111数据线高字节,双向数据线高字节,双向 D D1414 DACKDACK7 7 C C1515 D D1212 D D1515 DRQDRQ7 7 C C1616 D D1313 D D1616 +5V +5V 电源电源 C C1717 D D1414 D D1717 MASTER MASTER 主控,输入主控,输入 C C1818 D D1515 D D1818 GND GND 地地 致妮柄痹窑瞒吠蟹劳疲告楷邢咨碑蛀卤知恿却村袍催桅抓扛迸级帜延肿腻计算机硬件基础重大计算机硬件基础重大第三节第三节 PCI PCI总线总线 随随着着8048680486、PentiumPentium等等高高性性能能CPUCPU的的出出现现,高高速速的的CPUCPU和和内内存存访访问问用用慢慢速速I/OI/O操操作作出出现现了了瓶瓶颈颈;多多媒媒体体对对于于图图形形和和高高速速显显示示提提出出能能快快速速传传输输大大量量信信息息的的要要求求等等,使使得得ISAISA总总线线不不能能适适应应发发展展。要要提提高高系系统统总总线线的的速速度度,希希望望与与微微处处理理器器同同速速,因因而而一一些些厂厂商商在在不不改改变变ISAISA标标准准的的基基础础上上为为主主板板设设计计了了一一种种特特殊殊的的高高速速插插槽槽,将将高高速速外外设设控控制制卡卡直直接接挂挂到到CPUCPU局局部部总总线线上上,并并以以CPUCPU的的速速度度运运行行,这这样样便便为为CPUCPU和和高高速速外外设设提提供供了了一一条条高高速速桥桥梁梁。这这种种特特殊殊的的总总线线插插槽槽称称为为“局局部部”总总线线插插槽槽,主主要要支支持持高高速速的的外外部部设设备备卡卡。对对于于其其他他慢慢速速设设备备,仍仍可可以以保保持持原原来来ISAISA总线标准,这样既保证了兼容性,又解决了瓶颈问题。总线标准,这样既保证了兼容性,又解决了瓶颈问题。参垄匿涧衣酝疯爱网慢武炸义葱魔褂疙栖哥呕叹酷灭贝库肖狄至颇峨丘齐计算机硬件基础重大计算机硬件基础重大局局部部总总线线是是一一种种类类似似于于8038680386与与8048680486微微处处理理器器接接口口的的总总线线,除除了了保保持持原原有有的的向向下下兼兼容容性性外外,还还可可与与原原有有总总线线结结构构并并存存,构构成成所所谓谓的中介式总线,如图所示。的中介式总线,如图所示。茨号该拯勘凰椒取迢奠捍泪汛筹晴蓑唾篇禽阿物生寡熬萎赤涕碰种毗哗据计算机硬件基础重大计算机硬件基础重大一、一、PCIPCI总线的主要优点总线的主要优点PCIPCI有有4 4个个主主要要的的标标准准,分分别别支支持持3232位位与与6464位位,其其下下又又细细分分成成3.3V3.3V与与5V5V两种信号,其主要优点如下:两种信号,其主要优点如下:不依赖于某一具体处理器结构,它和微处理器不直接相连,而是通过不依赖于某一具体处理器结构,它和微处理器不直接相连,而是通过PCIPCI桥路,因而更换微处理器的品种时,只需更换相应的桥路即可。独桥路,因而更换微处理器的品种时,只需更换相应的桥路即可。独立于微处理器使立于微处理器使PCIPCI总线能为总线能为I/OI/O功能而优化,能使局部总线与处理器功能而优化,能使局部总线与处理器/ /存储器子系统同时工作,并满足除图形之外的多种高性能要求。存储器子系统同时工作,并满足除图形之外的多种高性能要求。自自动动配配置置功功能能使使用用户户安安装装接接口口卡卡时时无无需需跳跳线线等等手手工工操操作作,资资源源需需求求设置工作在系统初启时由设置工作在系统初启时由BIOSBIOS完成。完成。接接 口口 卡卡 短短 小小 。 PCIPCI接接 口口 插插 槽槽 采采 用用 的的 MCAMCA( Micro Micro Channel Channel ArchitectureArchitecture)设设计计方方式式,且且不不同同于于VLVL仍仍保保留留原原ISAISA插插槽槽,因因此此接接口口卡更为短小。卡更为短小。萌体市捆袁比铺晾疯菜盛饵策担础袜漫嘛屑晒停呜瞳叫荡幸兵姿烘省九瞩计算机硬件基础重大计算机硬件基础重大信信号号复复用用:部部分分信信号号有有多多任任务务能能力力,地地址址信信号号与与数数据据信信号号共共用用同同一一条条信号线,信号在不同阶段表示不同的含义。信号线,信号在不同阶段表示不同的含义。兼兼容容性性好好。PCIPCI总总线线可可与与ISAISA、VLVL总总线线等等兼兼容容。由由于于PCIPCI总总线线扩扩充充卡卡的的元元件件放放置置与与一一般般ISAISA卡卡正正好好相相反反,这这就就可可以以使使一一个个PCIPCI总总线线扩扩充充卡卡与与一一个个ISAISA总总线线扩扩充充卡卡共共用用一一个个位位置置(一一个个主主板板上上可可以以有有一一个个共共享享位位置置)。由由于于PCIPCI的的指指标标与与CPUCPU及及时时钟钟无无关关,严严格格说说来来,PCIPCI总总线线扩扩充充卡卡是是通通用用的的,可可插插到到任任何何一一个个有有PCIPCI总总线线的的系系统统上上去去。不不过过实实际际上上因因卡卡上上BIOSBIOS本本身身与与CPUCPU及及操操作作系系统统等等有有关关,不不一一定定能能做做到到如如此此通通用用。但但至至少少对对同同一一类类型型CPUCPU的系统,一般能够通用。的系统,一般能够通用。有有发发展展前前途途。PCIPCI总总线线从从一一开开始始就就作作为为一一种种长长期期的的总总线线标标准准加加以以制制定定,它它考考虑虑到到节节能能的的绿绿色色微微机机的的要要求求,把把支支持持3.3V3.3V的的工工作作电电压压加加入入到到规规范范中中。PCIPCI兼兼容容5V5V和和3.3V3.3V信信号号环环境境,为为保保证证电电压压平平滑滑转转换换,规规定定了了3 3种种扩扩充充卡卡电电气气类类型型。一一种种是是仅仅能能插插入入5V5V连连接接器器的的5V5V卡卡;另另一一种种是是可可用用于于5V5V和和3.3V3.3V连连接器的通用卡;还有一种是只能用于接器的通用卡;还有一种是只能用于3.3V3.3V连接器的连接器的3.3V3.3V卡。卡。柯肿鬃捧挫誊怪国桔怎反捎褒痞奢恿搀纺佃难树赖噶光你绥忙滩躺脾蓖和计算机硬件基础重大计算机硬件基础重大定义了定义了3232位数据总线,且可扩展为位数据总线,且可扩展为6464位。位。 支持无限读写突发操作,支持并发工作方式。支持无限读写突发操作,支持并发工作方式。 三、三、PCI总线的体系结构总线的体系结构 悦泼掘姓磁够仙歼腕器汁尧丁输废么声拣象驾荧瑟讶阑歹函粤年糜访俯沮计算机硬件基础重大计算机硬件基础重大四、四、PCI总线信号定义总线信号定义裕绅低殷砌梆瞄风饶燃箍唤裂靖塌另韦缝险盾迸取睫诲臼雾搂孔涂蕾窜焚计算机硬件基础重大计算机硬件基础重大五、五、PCI总线应用总线应用 制制定定PCIPCI总总线线的的目目的的之之一一是是建建立立一一种种性性能能/ /价价格格比比高高、兼兼容容性性强强、扩扩充充性性强强、能能适适应应将将来来特特性性,并并能能在在多多种种平平台台和和结结构构中中应应用用的的工工业业标标准总线准总线。局部总线局部总线PCIPCI的应用有下列特点:的应用有下列特点: 可用于高、中、低档的台式机及便携机、服务器。可用于高、中、低档的台式机及便携机、服务器。 工工作作电电压压兼兼顾顾到到便便携携机机的的3.3V3.3V环环境境及及台台式式机机有有5V5V转转向向3V3V的的要要求求。PCIPCI总线中规定了这两种电压及它们之间的转换方法。总线中规定了这两种电压及它们之间的转换方法。 PCIPCI器器件件和和扩扩充充卡卡独独立立于于微微处处理理器器,故故在在未未来来的的处处理理器器及及多多处处理理器器系统中也能应用。系统中也能应用。 PCIPCI还还定定义义了了由由3232位位数数据据地地址址总总线线转转为为扩扩充充6464位位总总线线的的方方法法,使使总总线宽度加倍,并对线宽度加倍,并对3232位和位和6464位位PCIPCI总线外设做到向前和向后兼容。总线外设做到向前和向后兼容。麓程桥芝过吼袒株管臃粉结授蔡对钠服努骑蝶娩俏嫌姨聚肯旺鲤仪悬枷余计算机硬件基础重大计算机硬件基础重大谢谢!谢谢!莹哺别逝塘醉陵拔仗戈录赫该很童邑阳汹滔讳诸且嘉甫氖雌馁藏醒编扦手计算机硬件基础重大计算机硬件基础重大
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号