欢迎来到天天文库
浏览记录
ID:46574138
大小:1.63 MB
页数:70页
时间:2019-11-25
《微机原理2-1指令系统编程结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章第2章:2.1微处理器的内部结构从应用角度(不是从内部工作原理)展开典型8位微处理器的基本结构8088/8086的功能结构8088/8086的寄存器结构8088/8086的存储器结构为学习指令系统打好基础例如:关心用户“可编程”寄存器,不关心无法操纵的“透明”寄存器内部数据总线控制总线数据总线地址总线暂存器累加器ALU标志寄存器指令寄存指令译码时序和控制逻辑通用寄存器组地址寄存器组地址总线控制数据总线控制第2章:2.1.1一般微处理器的基本结构1.算术逻辑单元(运算器)2.寄存器组3.指令
2、处理单元(控制器)微处理器的一般结构运算器算术逻辑运算,由加法器和(ALU)一些辅助逻辑电路组成指令流控制控制器时序控制,产生节拍定时信号指令译码和操作控制寄存器组存放临时数据、运算的中间结果、运算特征、操作数地址性能:8位→16位→32位(主流)→64位(趋势)主要部件指令流水线取指令指令译码取操作数执行指令存放结果CPU执行一条指令的过程类似于工厂生产流水线,被分解为多个小的步骤,称为指令流水线。原料调度分配生产线成品仓库出厂数据和程序指令控制器的调度分配ALU等功能部件处理后的数据存储器输
3、出指令流水线有两种运作方式:串行方式:取指令和执行指令在不同的时刻按顺序执行。并行方式:取指令和执行指令可同时执行,需要有能并行工作的硬件的支持。串行工作方式8086以前的CPU采用串行工作方式取指令1执行1取指令2执行2CPUBUS忙碌忙碌取指令3执行3忙碌空闲空闲空闲t1t0t2t3t4t56个周期执行了3条指令并行工作方式8086CPU采用并行工作方式取指令1取指令2取指令3取指令4执行1执行2执行3BUS忙碌执行4CPUt1t0t2t3t4t5取指令5执行5忙碌忙碌忙碌忙碌忙碌6个周期执
4、行了5条指令第2章:2.1.28088/8086的功能结构8088的内部结构从功能上分成两个单元1.总线接口单元BIU管理8088与系统总线的接口负责CPU对存储器和外设进行访问2.执行单元EU负责指令的译码、执行和数据的运算两个单元相互独立,分别完成各自操作,还可以并行执行,实现指令预取(指令读取和执行的流水线操作)执行单元功能:执行指令,具体操作如下从指令中取指令代码译码完成指定的操作结果保存到目的操作数运算特征保存在标志寄存器FLAGS(仅对影响标志的指令)总线接口单元功能:从内存中取指令
5、到指令队列;负责与内存或I/O接口之间的数据传送;在执行转移指令时,BIU将清除指令队列,然后从转移的目的地址处开始取指令并重新填充指令队列。8086结构特点小结有EU和BIU两个独立的、同时运行的部件二者通过IPQ构成一个两工位流水线指令被EU和BIU按流水线方式处理:提高了CPU的运行速度;提高了CPU的执行效率;降低了对存储器存取速度的要求。第2章:2.1.38088/8086的寄存器结构8088/8086的寄存器组有8个通用寄存器4个段寄存器1个标志寄存器1个指令指针寄存器他们均为16位
6、!图示汇编语言程序员看到的处理器,就是寄存器所以,一定要熟悉这些寄存器的名称和作用第2章:1.通用寄存器8088有8个通用的16位寄存器(1)数据寄存器:AXBXCXDX(2)变址寄存器:SIDI(3)指针寄存器:BPSP4个数据寄存器还可以分成高8位和低8位两个独立的寄存器,这样又形成8个通用的8位寄存器AX:AHALBX:BHBLCX:CHCLDX:DHDL第2章:(1)数据寄存器AX称为累加器(Accumulator)使用频度最高。用于算术、逻辑运算以及与外设传送信息等BX称为基址寄存器(
7、BaseaddressRegister)常用做存放存储器地址CX称为计数器(Counter)作为循环和串操作等指令中的隐含计数器DX称为数据寄存器(Dataregister)常用来存放双字长数据的高16位,或存放外设端口地址第2章:(1)数据寄存器AX称为累加器(Accumulator)使用频度最高。用于算术、逻辑运算以及与外设传送信息等BX称为基址寄存器(BaseaddressRegister)常用做存放存储器地址CX称为计数器(Counter)作为循环和串操作等指令中的隐含计数器DX称为数据
8、寄存器(Dataregister)常用来存放双字长数据的高16位,或存放外设端口地址第2章:(2)变址寄存器16位变址寄存器SI和DI常用于存储器变址寻址方式时提供地址SI是源地址寄存器(SourceIndex)DI是目的地址寄存器(DestinationIndex)在串操作类指令中,SI、DI还有较特殊的用法现在不必完全理解,以后会详细展开第2章:(3)指针寄存器指针寄存器用于寻址内存堆栈内的数据SP为堆栈指针寄存器(StackPointer),指示堆栈段栈顶的位置(偏移地址)BP为基址指针寄
此文档下载收益归作者所有