版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机原理及应用16位微处理器:从体系结构到接口技术Contents课程目录微型计算机原理及应用——16位微处理器,系统掌握从基础架构到接口技术的完整知识体系。01微型计算机基础概述0216位微处理器8086/8088结构03存储器组织与地址映射04指令系统与寻址方式05汇编语言程序设计06输入输出接口技术07中断系统与典型接口芯片Chapter01微型计算机基础概述从发展历程到系统组成,建立微机知识框架DevelopmentHistory微型计算机的发展历程微型计算机的发展以微处理器字长和功能跃升为主线,从4位到64位经历了五个关键阶段。每一次字长翻倍都伴随着寻址空间扩大、指令集丰富和应用领域的质变,其中16位微处理器阶段是个人计算机产业真正起飞的技术基础。1971–19734位和低档8位微处理器·Intel40044-bit首颗商用微处理器,主频740kHz,主要用于计算器和简单控制场景1973–1977成熟8位微处理器·Intel8080/MOS65028-bit推动AppleI等早期个人计算机诞生,开启微机商业化探索1978–198316位微处理器崛起·Intel8086/808816-bit奠定IBMPC架构基础,标志个人计算机产业进入规模化发展阶段1983–199332位微处理器普及·8038632-bit引入保护模式和虚拟存储,支撑图形操作系统与多媒体应用发展1993至今高档微处理器与多核架构·Pentium64-bit+超标量流水线与多核技术推动并行计算进入桌面领域HIERARCHY微型计算机的三个层次概念微型计算机体系分为微处理器、微型计算机和微型计算机系统三个递进层次,层层嵌套形成完整计算平台。微处理器(MPU)集成算术逻辑运算和控制器功能的大规模集成电路芯片,是整机的"大脑"但无法独立工作。典型代表如Intel8086、8088等,采用复杂指令集架构,奠定了现代x86处理器的基础。Intel8086微型计算机(MC)以微处理器为核心,加上存储器、I/O接口电路和总线构成的硬件系统,具备独立的数据处理和存储能力,是软硬件交互的物理载体。CPU+MEM+I/O微型计算机系统(MCS)在微型计算机硬件基础上配置操作系统、驱动程序和应用软件,形成用户可直接使用的完整计算平台,实现从裸机到可用系统的跨越。Hardware+Software三者关系微处理器⊂微型计算机⊂微型计算机系统,层层嵌套扩展。每增加一层都赋予系统更完整的功能,从单一芯片到硬件整机,再到软硬件协同的完整生态。MPU⊂MC⊂MCSArchitecture微型计算机硬件系统组成微型计算机硬件由CPU、存储器、I/O接口、外部设备和总线五大部件组成。CPU通过地址总线寻址、数据总线传输、控制总线协调,实现指令的取指、译码和执行;外部设备必须经由I/O接口电路才能接入系统总线,这一架构奠定了现代计算机冯·诺依曼体系结构的基础。中央处理器包含算术逻辑单元ALU和控制器CU,负责指令执行、数据运算和系统控制,是微机系统的核心驱动CPU存储器分为ROM和RAM两类,存放运行中的程序和待处理数据,通过地址总线与CPU进行按地址寻址的数据交换ROM/RAM输入/输出接口外部设备不能直接连接系统总线,必须通过接口电路进行信号匹配、速度适配和数据缓冲I/O系统总线由数据总线DB(双向传输)、地址总线AB(单向传输)和控制总线CB(传输控制信号)三部分组成DB·AB·CB冯·诺依曼架构程序和数据以二进制形式存储在存储器中,CPU按顺序从存储器中取出指令并执行,是微机工作的基本原理1945INSTRUCTIONCYCLE微型计算机工作原理——取指执行周期微型计算机的工作本质是CPU不断重复"取指→译码→执行"的指令周期,循环速度由系统时钟频率决定。01取指阶段CPU根据PC中的地址,通过地址总线向存储器发出读请求,将指令代码经数据总线取回PC→ADDRBUS02译码阶段IR保存指令代码,指令译码器分析操作码,确定操作类型和所需操作数OPCODE→IR03执行阶段ALU执行算术或逻辑运算,或控制单元发出控制信号完成数据传送、跳转ALU/CTRL04更新阶段PC自动递增指向下一条指令地址,状态标志寄存器FLAGS根据运算结果更新各标志位,为后续条件转移提供判断依据PC++/FLAGS05实例演示MOVAX,05H—取出操作码B8H和立即数05H,译码为"立即数送AX",写入AX寄存器B8H05HDATAREPRESENTATION数制与编码基础计算机内部以二进制进行所有数据存储与运算,十六进制作为二进制的紧凑表示广泛应用于程序调试。补码表示法是处理有符号数的核心方法,BCD码和ASCII码分别服务于十进制运算和字符信息处理,掌握这些数制与编码是理解微机数据处理的前提。二进制与十六进制转换4位二进制对应1位十六进制,如11010110B=D6H,十六进制是汇编程序中最常用的数制表示形式,便于程序员阅读和调试机器代码11010110→D6H补码表示法正数补码等于原码,负数补码为反码加1;统一了加减法运算,使减法可用加法器实现,8位补码范围-128~+127-128~+127BCD码用4位二进制表示1位十进制数,如十进制59编码为01011001,便于金融计算和人机交互场景,避免二进制浮点精度误差59→01011001ASCII编码7位二进制表示128个字符(00H~7FH),包括英文字母、数字和控制字符,是文本处理的基础标准,广泛应用于串口通信00H~7FHCHAPTER0216位微处理器8086/8088结构深入剖析BIU与EU双单元架构及工作模式16-BITMICROPROCESSOR8086与8088微处理器概述8086是Intel首款16位微处理器,奠定x86架构基础;8088为其准16位变体,外部总线缩减为8位以兼容8位外设生态。16-bitCore8086定位Intel首款16位微处理器,内部与外部数据总线均为16位,主频5–10MHz,可寻址1MB内存空间,开创x86架构先河。16-bit全总线8-bitInterface8088定位准16位处理器,内部16位运算但外部数据总线缩减为8位,兼容当时成熟的8位外设芯片,显著降低系统成本。8-bit外部总线SharedFeatures共同特性均配备14个16位寄存器,采用6字节指令预取队列实现取指与执行并行,支持最小/最大两种工作模式。14个寄存器LegacyImpact历史意义IBMPC/XT选用8088确立个人计算机兼容机标准;8086指令集架构成为所有x86处理器向后兼容的基准。IBMPC标准MICROPROCESSORARCHITECTURE8086CPU内部结构——BIU与EU8086CPU采用BIU与EU双单元并行架构,通过6字节指令预取队列解耦,实现取指与执行的重叠并行,显著提升处理器吞吐效率。总线接口部件BIU包含4个段寄存器(CS/DS/SS/ES)、指令指针IP、6字节指令预取队列和地址加法器,负责取指令、计算20位物理地址、执行总线读写操作4SEG·IP·20-BITADDR执行部件EU包含4个通用寄存器(AX/BX/CX/DX)、2个变址寄存器(SI/DI)、2个指针寄存器(BP/SP)、标志寄存器FLAGS和ALU,负责指令译码与执行ALU·FLAGS·8REG指令预取队列机制BIU在总线空闲时自动预取后续指令填入6字节队列,EU从队列头部取指令执行,实现取指和执行的并行重叠6-BYTEFIFOQUEUE流水线效率分析当EU执行多周期指令时,BIU可提前取回后续指令;但在遇到跳转指令时队列需清空重填,会产生流水线气泡BRANCH→BUBBLEMICROPROCESSORARCHITECTURE8086寄存器结构详解8086拥有14个16位寄存器,分为通用寄存器组、段寄存器组和控制寄存器三大类,构成了8086编程的完整上下文环境。通用寄存器组8个AX/BX/CX/DX四个16位数据寄存器,均可拆分为高8位(AH/BH/CH/DH)和低8位(AL/BL/CL/DL)独立使用SI/DI变址寄存器,常用于字符串操作和数组访问中的源/目标地址指针BP/SP堆栈指针寄存器,SP指向栈顶,BP用于子程序中访问堆栈参数和局部变量数据运算段寄存器组4个CS代码段指向当前执行代码所在段基地址,与IP组合形成下一条指令物理地址DS数据段指向当前数据段基地址,大多数数据访问指令默认使用DS段SS堆栈段指向堆栈段基地址,与SP组合确定栈顶物理地址,用于函数调用和中断ES附加段指向附加数据段基地址,常在字符串操作中作为目标段使用20位寻址控制寄存器2个IP指令指针存放下一条待执行指令在代码段内的偏移地址,由CPU自动维护,程序员不能直接修改FLAGS标志寄存器含6个状态标志(CF/PF/AF/ZF/SF/OF)和3个控制标志(TF/IF/DF),反映运算结果与控制CPU行为流程控制8086Register标志寄存器FLAGS详解FLAGS寄存器包含6个状态标志和3个控制标志,是8086条件转移和程序控制的核心依据。6StatusFlags状态标志(6位)01CF(进位标志,D0):无符号运算最高位产生进位或借位时置1,用于多字节加减法和无符号数比较02PF(奇偶标志,D2):运算结果低8位中1的个数为偶数时置1,用于数据通信的奇偶校验03ZF(零标志,D6):运算结果为零时置1,是条件跳转指令JZ/JNZ的主要判断依据04AF(辅助进位标志,D4):低4位向高4位产生进位或借位时置1,用于BCD码运算调整05SF(符号标志,D7):运算结果最高位为1时置1,用于有符号数的正负判断06OF(溢出标志,D11):有符号数运算结果超出表示范围时置1,如两正数相加得负数3ControlFlags控制标志(3位)01TF(陷阱标志,D8):置1后CPU进入单步执行模式,每执行一条指令产生内部中断,用于程序调试02IF(中断允许标志,D9):置1允许CPU响应可屏蔽中断(INTR引脚),清0则屏蔽所有可屏蔽中断请求03DF(方向标志,D10):清0时字符串操作从低地址向高地址进行(正向),置1则反向PINCONFIGURATION8086引脚功能与信号定义8086通过地址/数据分时复用技术以有限引脚实现了20位地址和16位数据总线功能,MN/MX引脚决定系统工作模式与硬件配置方案。电源、时钟与模式引脚VCCPin40+5V电源输入;GNDPin1/20接地端CLKPin19系统时钟输入,由8284时钟发生器提供,典型频率5MHzMN/MXPin33高电平最小模式(单处理器),低电平最大模式(多处理器)+5V·5MHz地址/数据复用引脚AD0~AD15Pin1–1616位地址/数据分时复用总线,T1输出地址,T2起切换为数据通道A16/S3~A19/S6Pin35–38高4位地址/状态复用,20位地址共寻址1MB空间ALEPin25地址锁存允许信号,T1状态高电平脉冲,控制8282锁存地址20-bit·1MB控制与中断引脚RDPin32读控制信号,低电平有效,CPU从存储器或I/O端口读取数据WRPin29写控制信号,低电平有效,CPU向存储器或I/O端口写入数据INTRPin18可屏蔽中断/NMIPin17不可屏蔽中断请求输入RESETPin21复位信号,高电平持续4个时钟周期以上,从FFFF0H开始执行FFFF0HWORKINGMODES8086最小模式与最大模式8086通过MN/MX引脚电平选择最小或最大工作模式。最小模式由CPU直接产生全部总线控制信号,适用于单处理器简单系统,硬件配置经济;最大模式由外部总线控制器8288译码生成控制信号,支持多处理器和协处理器协同工作,系统扩展能力强。教学中以最小模式为主要分析对象。01最小模式(MN/MX接+5V)CPU直接输出RD、WR、M/IO等全部控制信号,硬件仅需地址锁存器8282和数据收发器8286,适用于单CPU简单系统。该模式结构清晰,便于理解总线控制原理,是微机原理课程教学的核心内容。02最大模式(MN/MX接地)CPU输出状态信号S0-S2,由总线控制器8288译码产生控制信号,支持8087协处理器和8089I/O处理器协同工作。该模式可实现浮点运算加速和分布式I/O处理,满足复杂工业控制需求。03最小模式典型配置8086CPU+8284时钟发生器+3片8282地址锁存器+2片8286数据收发器,构成可寻址1MB存储器的最小系统。该配置是理解微机系统组成的基础模型,也是实验教学的标准平台。04模式选择意义最小模式控制信号直接、易于理解,适合教学和简单应用;最大模式扩展性强,适合高性能多处理器工业控制系统。两种模式的灵活选择体现了8086架构设计的工程实用性。BusTiming·MemoryReadCycle8086总线操作时序——存储器读周期8086的基本总线周期由T1-T4四个时钟状态组成,存储器读周期在T1输出地址并锁存、T2发出读信号、T3采样数据并检测READY、T4完成数据读取。当外部存储器或外设速度较慢时,CPU通过采样READY信号自动插入等待状态Tw,确保数据可靠传输。T1地址输出与锁存—CPU在AD0-AD15和A16-A19总线上输出20位物理地址,ALE引脚输出正脉冲,触发外部8282锁存器锁存地址信息T2总线切换与读信号—CPU撤销地址信号,低16位切换为高阻态准备接收数据;RD信号变低有效,通知存储器准备输出数据T3数据采样与READY检测—存储器将数据放到数据总线上,CPU在T3下降沿采样READY——高电平表示就绪,低电平表示需等待Tw等待状态插入—READY为低时,CPU在T3和T4之间自动插入一个或多个Tw周期,直到外设准备好,解决CPU与慢速外设的速度匹配T4数据读取完成—CPU在T4下降沿从数据总线上读取有效数据,RD恢复高电平无效,完成一次完整的存储器读总线周期CHAPTER03存储器组织与地址映射分段管理机制与物理地址的形成MEMORYSEGMENTATION存储器分段管理与物理地址形成8086采用段基址×16+偏移地址的分段寻址方案,用16位段寄存器和16位偏移量组合产生20位物理地址,解决了16位寄存器寻址1MB空间的矛盾。01分段原理1MB存储空间划分为多个逻辑段,每段最大64KB;段起始地址(段基址)必须能被16整除,即末位为0H64KB02物理地址计算物理地址=段基址×10H+偏移地址,如CS=2000H、IP=0100H时,物理地址=20000H+0100H=20100H20BIT03逻辑地址表示写作"段基址:偏移地址"形式,如2000H:0100H,同一物理地址可对应多个不同逻辑地址N:104段寄存器分工CS定位代码段(存放程序指令)、DS定位数据段(存放变量)、SS定位堆栈段、ES定位附加数据段CS·DS·SS·ES16-bitMicroprocessorArchitecture四个逻辑段的功能与编程约定8086程序通过代码段、数据段、堆栈段和附加段四个逻辑段组织不同类型的信息,由段寄存器定位基址配合偏移地址实现访问。代码段存放程序的可执行机器指令,CS寄存器保存代码段基址,IP保存段内偏移地址。CPU自动根据CS:IP取指令执行,跳转指令通过修改CS和IP实现程序流程控制。CS:IP数据段与附加段数据段存放变量和常量,DS指向基址,MOV/ADD等指令默认从DS段读取操作数。附加段ES提供额外64KB数据空间,在字符串操作中作为目标段的默认段寄存器。DS&ES堆栈段用于保存子程序返回地址、保护寄存器现场和传递参数,SS:SP组合指向当前栈顶。从高地址向低地址增长,PUSH先SP减2再存数据,POP先取数据再SP加2。SS:SPMemoryAddressing存储器编址方式与数据存储规则8086存储器按字节编址,采用"小端模式"存储多字节数据。偶地址对齐的字数据可在一个总线周期内完成读写,奇地址对齐则需要两个周期。01字节编址—每个存储单元存放8位数据,拥有唯一20位物理地址,1MB空间共有2²⁰=1,048,576个存储单元1MB02小端模式—16位数据低字节存低地址、高字节存高地址,如1234H存入20000H时:20000H=34H,20001H=12HLittle-Endian03偶地址对齐优化—16位数据总线一次可读写偶地址开始的字数据;奇地址字操作需拆为两次字节操作,效率降低50%50%↓04编程实践—数据段中定义16位变量时尽量保证起始地址为偶数,编译器通常自动完成对齐,手动组织数据时需注意对齐CHAPTER04指令系统与寻址方式本章系统讲解8086的寻址方式和完整指令集ADDRESSINGMODES8086寻址方式分类详解8086提供8种寻址方式,分为寄存器类、存储器类和I/O端口类三大类,灵活的寻址方式为数组、结构体和指针等数据结构提供了底层支撑。寄存器类寻址IMMEDIATEMOVAX,1234H立即寻址:操作数直接写在指令中,如MOVAX,1234H,数据存放在代码段指令流中,只能作为源操作数使用REGISTERMOVAX,BX寄存器寻址:操作数在CPU内部寄存器中,如MOVAX,BX,无需访问存储器,执行速度最快存储器类寻址DIRECT直接寻址:指令中直接给出偏移地址,物理地址=DS×16+偏移量INDIRECT寄存器间接:BX/SI/DI/BP内容作为偏移地址,BP默认使用SS段RELATIVE寄存器相对:寄存器内容加位移量,适合访问数组元素和结构体成员BASEDINDEXED基址变址:基址+变址寄存器组合,支持二维数组的行列索引访问I/O端口寻址DIRECTPORT端口直接:8位端口号直接写在指令中,可访问0~255号端口INDIRECTPORT端口间接:16位端口号存放在DX寄存器中,可访问0~65535号端口8MODES·3CATEGORIES8086InstructionSet·DataTransfer数据传送指令组数据传送指令是8086使用频率最高的指令类别,以MOV指令为核心,实现寄存器、存储器和立即数之间的数据搬运。堆栈指令PUSH/POP配合SP实现后进先出的数据保护与恢复。MOV指令最常用的数据传送指令,格式MOVDST,SRC。限制包括不能存储器到存储器传送、不能立即数送段寄存器、CS不能作为目标操作数。MOVDST,SRCPUSH/POP指令堆栈压入和弹出操作,均为16位字操作。PUSH先SP减2再存入数据,POP先取出数据再SP加2,保持后进先出。LIFO·16-bitXCHG指令交换两个操作数内容,可在寄存器之间或寄存器与存储器之间交换,但不影响标志位。NoFlagChangeLEA指令取有效地址,将源操作数的16位偏移地址(非内容)送入目标寄存器,如LEABX,TABLE使BX指向TABLE首地址。LEABX,TABLE8086InstructionSet·Arithmetic算术运算指令组8086算术运算指令涵盖加减乘除四大类操作,直接驱动ALU并影响状态标志位。加减法指令ADDAX,BXADD/SUB—基本加减法,影响全部6个状态标志(CF/ZF/SF/OF/PF/AF),如ADDAX,BX将BX内容加到AXADC/SBB—带进位加法/带借位减法,在ADD/SUB基础上额外加减CF值,用于32位及更宽数据的分段运算INC/DEC—加1/减1指令,影响ZF/SF/OF/PF/AF但不影响CF,常用于循环计数器更新乘除法指令MUL(无符号乘法)—8位操作数×AL→AX,16位操作数×AX→DX:AX,隐含使用累加器作为被乘数和结果存放。运算结果若高位非零则CF=OF=1,否则清零DIV(无符号除法)—AX÷8位→商AL/余AH,DX:AX÷16位→商AX/余DX,除数为0或商溢出将触发中断。运算前需确保被除数位数正确扩展InstructionSet逻辑运算与移位指令组位级操作的精密控制,实现数据的高效处理与状态标志管理逻辑运算指令对操作数执行按位逻辑运算,常用于掩码操作、位清零和状态判断。AND逻辑与—对应位均为1时结果为1,用于位屏蔽OR逻辑或—对应位任一为1时结果为1,用于位设置XOR异或—对应位不同时结果为1,用于位取反NOT取反—所有位按位取反,实现one'scomplementTEST测试—执行AND但不保存结果,仅更新标志位移位与循环指令将操作数的所有位向左或向右移动,用于快速乘除和位提取。SHL逻辑左移—低位补0,高位进入CF,相当于乘以2ⁿSHR逻辑右移—高位补0,低位进入CF,无符号除以2ⁿSAR算术右移—高位补符号位,保持正负,有符号除以2ⁿROL循环左移—移出的高位循环到低位,保留所有信息位ROR循环右移—移出的低位循环到高位,配合进位可实现大循环所有逻辑运算指令均影响SF、ZF、PF标志位;移位指令影响CF、OF、SF、ZF、PFControlTransfer控制转移指令组控制转移指令通过修改IP值改变程序执行流程,条件转移依据FLAGS标志位跳转,CALL/RET通过堆栈实现子程序调用。无条件与条件转移01JMP无条件跳转:直接修改IP值跳转到目标标号处执行,支持段内直接、段内间接、段间直接和段间间接四种方式02条件转移:JZ/JNZ(零/非零)、JC/JNC(进位/无进位)、JS/JNS(负/正)、JO/JNO(溢出/无溢出),范围±127字节03比较后跳转:CMPAX,BX配合JA/JB/JG/JL等指令实现无符号/有符号数的大小比较和分支控制子程序调用与返回CALL调用子程序时先将返回地址(CALL下一条指令的IP)压入堆栈,然后跳转到子程序入口地址执行RET从堆栈弹出返回地址送入IP,回到调用CALL的下一条指令处继续执行,支持带参数的RETn以清理堆栈CHAPTER05汇编语言程序设计从指令到程序——掌握汇编编程的完整方法论CHAPTER28·ASSEMBLY汇编语言程序结构与常用伪指令8086汇编程序采用三段式结构,伪指令指导汇编器完成程序组织和地址分配,是从单条指令走向完整程序设计的必经之路。三段式框架数据段、堆栈段、代码段以END标号指定程序入口DATA·STACK·CODE变量定义DB字节、DW字、DD双字,分配不同大小存储空间DB·DW·DD常量定义EQU不可更改,=可重新赋值,用名称替代数值MAXEQU255段寄存器ASSUME告知汇编器段寄存器与段名的对应关系ASSUMECS:CODE地址设置ORG设置段起始偏移,常用于.COM程序入口ORG100HCHAPTER29·ASSEMBLY分支与循环程序设计汇编语言通过CMP+条件转移实现分支结构,通过CX计数器+LOOP指令实现循环结构,这是结构化程序设计的两大基本控制模式。分支程序设计01单分支结构:CMP比较两操作数后,用JG/JL/JA/JB等条件转移指令选择不同的执行路径,实现if-else逻辑02多分支结构:通过多次CMP+条件转移组合,或跳转地址表(JumpTable)实现switch-case多路分支选择03编程要点:两个分支路径最终必须汇合到同一标号处继续执行,避免程序流失控;条件判断顺序影响代码效率循环程序设计01计数循环:MOVCX,N设置循环次数,循环体末尾用LOOP指令自动CX减1并判断是否继续,CX=0时退出02条件循环:用CMP+条件转移实现while型循环,如循环搜索数组中的目标值,找到后通过条件跳转提前退出03多重循环保护:内层循环开始前PUSHCX保存外层计数器,内层循环结束后POPCX恢复,防止内层修改外层CX值SubroutineDesign子程序设计与参数传递子程序是汇编语言模块化编程的基本单元,用PROC/ENDP定义、CALL调用、RET返回。寄存器传递最简洁,堆栈传递最灵活且是高级语言函数调用的底层实现。定义与调用用PROC/ENDP伪指令定义过程,主程序通过CALL指令调用,子程序末尾用RET返回调用点继续执行,实现代码模块化复用PROC·RET现场保护与恢复入口处PUSH保存所用寄存器,返回前POP按相反顺序恢复,确保主程序上下文不被破坏,保证程序执行的正确性PUSH·POP寄存器传参将参数直接放入约定寄存器,如AX传入口参数、DX返回结果,简洁高效但受限于寄存器数量,适合参数较少的场景AX·DX堆栈传参CALL前依次PUSH参数,子程序内通过BP+偏移量访问,支持任意数量参数传递,是高级语言函数调用的底层实现机制BP+OffsetSystemServicesDOS系统功能调用(INT21H)DOS通过INT21H软件中断提供系统服务,涵盖字符I/O、字符串显示和程序控制。调用方法:AH置功能号→寄存器置入口参数→INT21H。I/O常用I/O功能调用01AH=01H键盘输入调用后等待用户按键,ASCII码返回AL并自动回显到屏幕02AH=02H字符输出DL存放待显示字符ASCII码,调用后在光标位置输出03AH=09H字符串输出DS:DX指向以'$'结尾的字符串首地址,调用后整体显示I/OOperationsControl程序控制功能调用01AH=4CH程序终止调用后程序正常退出并返回DOS,AL可携带返回码供批处理程序检测02调用流程总结MOVAH,功能号→设置入口参数→INT21H→从寄存器获取返回结果,DOS汇编编程标准模式INT21H是DOS最核心的系统调用接口,共提供80+个子功能AH→PARAM→INT21HChapter06输入输出接口技术CPU与外部世界的数据桥梁——I/O接口原理与实现I/OINTERFACEI/O接口基本概念与数据传送方式I/O接口解决CPU与外设之间的速度、电平和数据格式三大不匹配问题,是微机系统与外部世界交互的必要桥梁。I/O数据传送有四种方式——程序查询、中断驱动、DMA和通道控制——按CPU介入程度从高到低排列,效率也依次递增。接口三大功能速度匹配(数据缓冲)、电平转换(TTL↔RS-232)和格式转换(串行↔并行),解决CPU与外设不匹配问题速度·电平·格式程序查询方式CPU循环检测外设状态端口,确认就绪后才传送数据,实现简单但CPU效率极低,适用于低速场景CPU轮询等待中断驱动方式外设准备好后向CPU发中断请求,CPU响应后执行数据传送服务程序,不必空等,效率显著提高外设主动通知DMA方式DMA控制器直接控制总线完成外设与存储器的数据批量传送,不经过CPU,适用于高速大数据量传输绕过CPU直传I/OADDRESSINGI/O端口编址与地址译码技术8086采用I/O独立编址,通过专用IN/OUT指令访问;全地址译码精确无重叠,部分译码电路简单但存在镜像地址,需合理选择方案。I/O独立编址I/O端口地址空间独立于存储器,16位地址线可寻址64K个端口(0000H~FFFFH),用IN/OUT指令专用访问。64KPorts全地址译码所有地址线(A0~A15)均参与译码,每个端口唯一对应接口芯片,无地址重叠但电路较复杂。A0–A15部分地址译码仅用部分高位地址线(如A9~A15)参与译码,电路简单成本低,但低位不参与导致端口地址镜像重叠。A9–A15常用译码器74LS138(3-8译码器)将3位地址输入译码为8个片选输出,是I/O地址译码电路中最常用的标准芯片。74LS138MICROCOMPUTERPRINCIPLES·CH.5可编程并行接口芯片8255A8255A是微机系统中最常用的可编程并行接口芯片,内含3个8位数据端口(PA/PB/PC),支持基本I/O、选通I/O和双向传输三种工作方式。芯片结构与端口●内部包含PA、PB、PC三个8位数据端口和一个控制端口,PA和PB可独立编程为输入或输出,灵活适配各类外设连接需求●PC口可分为高4位(PC7~PC4)和低4位(PC3~PC0)两部分,各自独立设定输入输出方向,也可作为PA/PB的联络信号线●通过D0~D7数据线连接CPU,RD/WR/CS控制信号实现端口读写,A0/A1选择四个端口之一,硬件接口简洁高效三种工作方式①方式0(基本I/O):无条件数据传送,各端口独立作为输入或输出口,适合连接LED、开关、数码管等简单外设,编程最为简便②方式1(选通I/O):使用PC口引脚作STB/ACK握手信号,实现与打印机等设备的可靠数据交换,支持中断驱动③方式2(双向传输):仅PA口支持,同时具有输入和输出能力,使用PC口5个引脚作联络信号,适用于总线式双向数据通信场景PA口功能最强(方式0/1/2)·PB口支持方式0/1·PC口提供握手联络信号Chapter07中断系统与典型接口芯片中断机制原理与8259A、8253等关键芯片的应用MICROPROCESSOR·INTERRUPT8086中断系统与中断向量表8086支持256个中断(0~255),分内部与外部两类。中断向量表位于00000H~003FFH的1KB空间,存放256个入口地址,类型号×4即为向量起始地址。SECTION01中断分类01内部中断(软件中断)除法错中断(类型0):除数为0或商溢出时触发单步中断(类型1):TF=1时每条指令执行后触发溢出中断(类型4):INTO指令且OF=1时触发INTn指令中断:软件主动调用指定类型服务02外部中断(硬件中断)NMI不可屏蔽中断(类型2):电源故障、内存奇偶错等紧急事件INTR可屏蔽中断:外设请求,受IF标志位控制开关通过INTA信号响应,需外设提供中断类型号SECTION02中断向量表01位置与结构:固定在内存00000H~003FFH,共1KB空间,存放256个中断向量,每个向量4字节(低2字节为IP偏移、高2字节为CS段基址)02地址计算:中断类型号N×4=该中断向量在表中的起始地址,如类型21H的中断向量位于00084H处03响应流程:CPU响应中断后自动将FLAGS、CS、IP压栈保护现场→关中断→从中断向量表取出服务程序入口地址→跳转到服务程序执行MICROPROCESSOR·CHAPTER16可编程中断控制器8259A8259A解决了多个外设共享CPU单一INTR引脚的问题,单片管理8级中断,级联可扩展到64级,是IBMPC中断架构的核心组件。01核心功能接收IR0~IR7共8级中断请求,内部优先级裁决器选出最高优先级中断,通过INT引脚向CPU发出中断请求。IR0–IR702中断响应配合CPU响应中断后发出两个INTA脉冲,8259A在第二个INTA周期将预设的中断类型号送上数据总线,引导CPU跳转到对应服务程序。2×INTA03优先级管理模式全嵌套方式(IR0最高→IR7最低,固定优先级)、循环优先级(服务完降为最低,公平轮转)和特殊屏蔽方式。3种模式04初始化编程通过写入ICW1~ICW4四个初始化命令字设定触发方式(边沿/电平)、中断向量基址、级联关系和工作模式等参数。ICW1–48253PROGRAMMABLETIMER可编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年怀化市鹤城区政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 中暑患者护理指南
- 村干部试题及答案
- 2026年时代啤酒柠檬味创新与餐饮渠道合作推广
- 2026中国玩具制造行业市场现状市场潜力及投资评估规划分析研究报告
- 2026中国银行业市场分析报告投资发展趋势调研报告
- 2026中国智能背景识别行业市场竞争格局技术创新供需分析及投资评估规划研究报告
- 2026尼日利亚服装行业市场深度调研及发展趋势和投资前景预测研究报告
- 2026汽车团购销售模式现状剖析与竞争架构研究报告
- 2026人工智能开发行业市场供需分析及投资评估规划分析研究报告
- 广东省2021年中考真题数学试卷(原卷和解析版)
- 学科大概念视域下的高中化学单元整体教学设计
- 酒店明住宿清单(水单)
- JTJ 003-1986 公路自然区划标准正式版
- 拉杆钢结构雨篷计算
- 洛阳荣基矿业开发有限公司洛宁县杨坪沟金矿矿产资源开采与生态修复方案
- 人工智能心得体会
- (完整)注册安全工程师考试题库(含答案)
- 面瘫(面神经炎)精深中医临床路径
- JJF 1915-2021倾角仪校准规范
- GB/T 5211.14-2021颜料和体质颜料通用试验方法第14部分:筛余物的测定机械冲洗法
评论
0/150
提交评论