- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]微机原理021-sjj
第 2 章 第2章 微处理器指令系统 本章重点: 8088/8086的寄存器组和各种寻址方式 8088/8086常用指令的功能 2.1.1 微处理器的基本结构 1. 算术逻辑单元(ALU,Arithmetic Logic Unit) 计算机的运算器,负责CPU所能进行的各种运算,主要是算术运算和逻辑运算。 ALU的基本组成是一个加法器。有两操作数入口。 对于8位CPU来说,总是由累加器(AL)和暂存器分别提供一个操作数,运算结果被返回到累加器,反映运算结果的状态信息则被记录在标志(Flag)寄存器里。 程序可根据运算后各标志的状态来决定下一步的走向。 2. 寄存器组 CPU内部的高速存储单元。 从应用角度,可将CPU内的可编程寄存器分为三类 通用寄存器——即可存数据,又可存地址。 地址寄存器——主要用来存放地址,用于存储器的寻址操作,因而也称为地址指针寄存器。 标志寄存器——用来保存程序的运行状态,也称为“程序状态字(PSW)寄存器”。 状态类标志:用来反映计算结果的状态。 控制类标志:用于控制微处理器的工作方式。 3. 指令处理单元 微处理器的控制器。负责对指令进行译码和处理,一般包括: 指令寄存器——暂存被译码处理的指令 指令译码逻辑——对指令译码,获知指令的功能 时序和控制逻辑——根据指令要求,按一定的时序发出和接收各种信号,以便控制微机系统完成指令所要求的操作。 2.1.2 8088/8086的功能结构 8088的内部结构从功能分成两个单元 总线接口单元BIU——管理8088与系统总线的接口,负责CPU对存储器和外设进行访问 执行单元EU——负责指令的译码、执行和数据的运算 两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行的流水线操作 1. 总线接口单元(BIU,Bus Interface Unit) 构成:指令序列、指令指针(IP)、段寄存器(CS、DS、SS、ES)、地址加法器、总线控制逻辑等 指令队列——存放预期的指令代码,按照先进先出原则工作 地址加法器(20位)——计算存储单元的20位物理地址 功能:管理着8088与总线的接口,负责CPU对存储器和外设进行访问。 8088 CPU所有对外操作必须通过BIU和总线来进行。 总线的几种工作情况: 取指操作——BIU通过总线进行取指。 取指以外的其他总线操作——应指令或外设的要求,由BIU负责进行读写存储器操作数、输入输出、响应中断时读取中断向量号等。 总线空闲——指令队列已满,CPU又在进行内部操作时,总线呈空闲状态。 总线请求设备占用总线——总线请求设备经申请获得总线的使用权,利用总线进行数据传输。 2. 执行单元(EU,Execution Unit) 构成:由ALU、通用寄存器、地址寄存器、标志寄存器和指令译码逻辑等构成。 功能:负责指令的译码、执行和数据的运算。 执行单元无直接对外接口,要译码的指令从BIU的指令队列中获得 在指令译码后,CPU所需进行的操作可分为: 内操作——所有8位、16位的算术逻辑运算都将由EU来完成,其中包括16位有效地址EA的计算。 外操作——所有指令所要求的读、写存储器或外设的操作,通过BIU和总线来完成。 例,ADD AL, [0020H] (外操作读存储器,内操作完成计算) 3. 指令预取 8088 BIU中的指令队列为4个字节,按“先进先出”的方式进行工作 当指令队列中出现空缺时,BIU会自动取指来弥补这一空缺 当程序发生转移时,BIU会废除原序列,重新取指来形成新的队列 并行执行:8088中指令读取是在BIU,指令执行是在EU。BIU和EU两单元相互独立,可以并行进行。 指令预取:EU单元在对一个指令进行译码执行时,BIU单元可以同时对后续指令进行读取。 2.1.3 8088/8086的寄存器结构 8088/8086的寄存器组有8个通用寄存器、4个段寄存器、1个标志寄存器和1个指令指针寄存器,均为16位。 1. 通用寄存器 4个数据寄存器,2个变址寄存器,2个指针寄存器 (1) 数据寄存器 8088有4个16位数据寄存器:AX、BX、CX、DX 每个均能分为两个独立的8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL。 “独立”:对某个8位寄存器的操作,不影响对应8位寄存器的数据。 例 mov AX, 0102H mov AL, 03H 结果AX=0103H 数据寄存器是通用,用来存放操作数和计算结果,但每个寄存器又有其各自的常用用法 AX累加器(Accumulator):使用频率最高,用于算术逻辑运算,以及与外设传送信息等。 AL为8位累加器。 BX基址寄存器(Base address register):常用来
文档评论(0)