简述8086内部寄存器结构
- 格式:docx
- 大小:3.34 KB
- 文档页数:2
微机原理第2章8086/8088系统结构8086/8088微处理器的内部结构微机原理8086是Intel系列的16bit微处理器,属第三代。
它有16bit数据总线和20bit地址线,可寻址1M空间。
8088有8bit数据总线和20bit地址线,可寻址1M空间。
其内部有16bit数据总线。
AH AL BH BL SI ALU 运算数暂存器标志寄存器EU控制电路16位CSDSSS ES IP 内部暂存器8位1 2 3 4 5 6执行部件(EU )总线控制电路 指令队列缓冲器总线接口部件(BIU )通用寄存器加法器80888086累加器基址寄存器计数寄存器数据寄存器堆栈指针基址指针目的变址源变址AX BX CX DX微机原理CPUEUBIU •16位通用寄存器组(AX、BX、CX 、DX、SP、BP、SI、DI)•算术逻辑单元—ALU•暂存器•EU控制器•标志寄存器—FLAG•段寄存器组(CS,DS,SS,ES),指令指针—IP •地址加法器•指令队列•总线接口控制逻辑微机原理EU 部件不直接与外部总线相连。
它从BIU的指令队列中取指令和数据。
EU 负责指令的执行。
BIU 根据EU 的请求,完成CPU 与存储器或I/O 之间的数据传送。
功能:符号名称高8位符号低8位符号AX累加器AH AL BX基址寄存器BH BL CX计数寄存器CH CL DX数据寄存器DH DL这里的寄存器可以8位或16位参与操作。
符号名称SP堆栈指针寄存器BP基址指针寄存器SI源变址寄存器DI目的变址寄存器这里的寄存器只能以16位参与操作。
符号名称CS代码段寄存器DS数据段寄存器ES附加段寄存器SS堆栈段寄存器IP指令指针寄存器D15D14D13D12D11D10D9D8 x x x x OF DF IF TF D7D6D5D4D3D2D1D0 SF ZF x AF x PF x CF符号名称定义CF进位标志运算中,最高位有进位或借位时CF=1,否则CF=0 PF奇偶标志运算结果低8位“1”个数为偶数时PF=1,否则PF=0 AF辅助进位D3有向D4进(借)位时AF=1,否则AF=0ZF零标志运算结果每位均为“0”时ZF=1, 否则ZF=0SF符号标志运算结果的最高位为1时SF=1,否则SF=0OF溢出标志运算中产生溢出时OF=1, 否则OF=0符号名称功能TF陷阱标志TF=1将使CPU进入单步执行指令IF中断标志IF=1允许CPU响应可屏蔽中断DF方向标志DF=1将从高地址向低地址处理字符串所以:CF=0PF=1AF=1ZF=0SF=1OF=0微机原理下次课见。
第二章8086/8088微处理器及其系统结构内容提要:1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。
2.8086微机系统存储器结构:存储器地址空间与数据存储格式;存储器组成;存储器分段。
3.8086微机系统I/O结构4.8086最小/最大模式系统总线的形成5.8086CPU时序6.最小模式系统中8086CPU的读/写总线周期7.微处理器的发展学习目标1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;2.理解存储器读/写时序;3.了解微处理器的发展。
难点:1.引脚功能,最小/最大模式系统形成;2.存储器读/写时序。
学时:8问题:为什么选择8088/8086?•简单、容易理解掌握•与目前流行的P3、P4向下兼容,形成x86体系•16位CPU目前仍在大量应用思考题1、比较8086CPU与8086CPU的异同之处。
2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?起什么作用?4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情况下置位?5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物理地址是多少?思考题1.从时序的观点分析8088完成一次存储器读操作的过程?2.什么是8088的最大、最小模式?3.在最小模式中,8088如何产生其三总线?4.在最大模式中,为什么要使用总线控制器?思考题1.试述最小模式下读/写总线周期的主要区别。
8086的内部结构
1.寄存器:
8086包含了8个16位的通用寄存器,分为AX、BX、CX、DX、SI、DI、BP和SP。
其中AX寄存器又被分为两个8位的子寄存器AH和AL。
这些寄
存器用于存储数据、地址和控制信息,可以进行各种算术和逻辑操作。
此外,8086还有一些特殊的寄存器,如标志寄存器FLAGS用于存储标志位,IP指令指针寄存器用于存储下一条指令的地址。
2.执行单元:
8086的执行单元包括指令执行单元、算术逻辑单元(ALU)和控制单元。
指令执行单元负责从内存中读取指令,并根据指令的操作码执行相应
的操作。
ALU用于进行算术和逻辑操作,如加减、与或非等。
控制单元用
于控制指令的执行顺序和分支跳转。
3.数据总线和地址总线:
8086有一个16位的数据总线,用于传输数据。
它还有一个20位的
地址总线,用于寻址内存中的数据和指令。
通过这两条总线,8086能够
与外部存储器、输入输出设备等进行数据的读写和通信。
4.总线控制器:
5.输入输出控制器:
6.内存管理单元(MMU):
7.控制信号产生器:
总的来说,8086的内部结构是一个复杂的系统,包括寄存器、执行单元、数据总线和地址总线、总线控制器、输入输出控制器、内存管理单元和控制信号产生器等组件。
这些组件相互协作,使得8086能够进行数据的处理和存储,实现指令的执行和数据的输入输出。
8086CPU 的结构与功能CPU 结构与功能不管什么型号的CPU ,其内部均有这四⼤部件1. ALU :算术逻辑单元2. ⼯作寄存器:分为数据寄存器和地址寄存器⼯作寄存器的⽬的是为了提⾼运算速度,希望参与运算的数据不从外部存储器去取数据,⽽是在CPU 内部取,所以要有能暂存少量数据的寄存器。
数据寄存器是专门存放数据的,地址寄存器是专门存放地址,进⾏间接寻址⽅式,但当地址寄存器不提供地址时,也可以⽤来暂存数据。
3. 控制器:中央指挥机关4. I/O 控制逻辑电路⼀般CPU 执⾏存储器(按字节组织)⾥⾯指令过程如下:1. CPU 通过控制器部件⾥⾯的程序计数器(PC )给外部存储器的地址引脚输出地址(通过地址总线AB ),同时CPU 给存储器发送读操作命令;2. 在读操作下,就把这个地址单元的指令代码通过数据总线(DB ),取回来放在指令寄存器⾥⾯(IR ),注意此时因为指令没有执⾏完,所以PC 还不能去往下⼀条指令,IR 没有地⽅放数据。
3. 指令译码器(ID )不断检测指令寄存器有没有数据,有的话就把指令取⾛放在ID ⾥⾯,取来的指令就被ID 译码分析,就知道这个指令希望CPU 做什么,怎么做;4. ID 通知控制逻辑部件,在相应的控制引脚发出相应的有效命令(读,写等);5. 此条指令执⾏完,IR 为空,PC ⾃动增加到下⼀条指令的地址,执⾏下⼀条指令流程。
如果指令为n 字节,PC ⾃动增n 。
因为在取指令时候,不能执⾏指令,在执⾏指令时候,不能取指令,因此这种架构CPU 是取指令->执⾏指令->取指令...这样循环下去。
CPU 执⾏效率不⾼。
堆栈由先进后出原则组织的存储器区域,称为堆栈。
单⽚机应⽤中,堆栈是个特殊存储区,堆栈属于RAM 空间的⼀部分,堆栈⽤于函数调⽤、中断切换时保存和恢复现场数据(临时数据)。
对于8006 CPU ⽽⾔,堆栈操作是按字操作。
堆栈单元的地址指针由堆栈指针寄存器SP 的内容提供。
8086标志寄存器CPU内部的寄存器中,有⼀种特殊的寄存器(对于不同的机器,个数和结构都有可能不同)具有以下三个功能:⽤来存储某些相关指令的执⾏结果⽤来为CPU执⾏相关的指令提供⾏为依据⽤来控制CPU的相关⼯作⽅式这种特殊的寄存器在8086CPU中称为标志寄存器。
8086的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。
标志寄存器与其他寄存器不⼀样,其他寄存器是⽤来放数据的,都是整个寄存器具有⼀个含义,⽽标志寄存器是按位起作⽤的。
8086中的标志寄存器的结构如下图所⽰:其中1、3、4、12、13、14、15位在8086中没有使⽤。
另外对于有确切含义的每⼀位,我们称为标志位ZF标志标志寄存器的第六位是ZF,零标志位。
他是记录相关指令执⾏后,其结果是否位零。
如果为零,那么zf=1,如果不为零,那么zf=0⽐如指令:mov ax, 1sub ax, 1执⾏后,ax的结果为0,所以zf=1再⽐如:mov ax, 2sub ax, 1执⾏后,ax的结果不为0,所以zf=0在这⾥,有⼀点需要注意:在8086的指令集中,有的指令的执⾏是影响标志位的,⽐如add、sub、mul、div、inc、or、and等,它们⼤都是运算指令(进⾏逻辑或算数运算);有的指令的执⾏对标志寄存器没有影响,⽐如mov、push、pop等,它们⼤都是传送指令。
PF标志标志寄存器的第⼆位是PF,奇偶标志位。
它记录相关指令执⾏后,其结果的所有bit位中1的个数是否位偶数。
如果是偶数,pf=1,如果位奇数,pf=0⽐如指令:mov al, 1add al, 10执⾏后,al为00001011B,其中有3个1,所以pf=0再⽐如:mov al, 1or al, 2执⾏后结果为00000011B,其中有2个1,所以pf=1SF标志标志寄存器的第七位是SF,符号标志位。
它记录相关指令执⾏后,其结果是否为负。
如果为负,sf=1,如果⾮负,sf=0这⾥要明确⼀点,在计算机中,通常⽤补码来表⽰有符号的数据,计算机中的⼀个数据既可以看作有符号数,也可以看作⽆符号数。
课题:8086微处理结构一、8086 CPU的内部结构:图解分析:1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit)执行部件EU(Execution Unit)2、BIU:负责与存储器、外部设备之间进行信息交换。
功能:①负责从内存指定单元取出指令,并送到6字节的指令队列中排列;②同时负责从内存指定单元取出指令所需的操作数并送EU;③EU运算结果也由BIU负责写入内存指定单元。
组成:20位的地址加法器段寄存器(CS、DS、ES、SS)指令指针(IP)指令队列缓存器总线控制电路各组件功能:①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址;②段寄存器:用于存放对应段的段基址;③指令指针寄存器:用于存放下一条要执行的指令的偏移地址;④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU要执行的指令,并送EU去执行;⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。
3、EU:负责指令的执行。
功能:①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存入通用寄存器或由BIU写入内存单元;②同时负责计算操作数所在内存单元的偏移地址。
组成:算术逻辑单元(ALU)标志寄存器通用寄存器:数据寄存器:AX、BX、CX、DX指针和变址寄存器:SP、BP、SI、DIEU控制电路各组件的功能:①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻址方式计算出CPU要访问的内存单元的16位偏移地址;②标志寄存器:用于反映算术和逻辑运算结果的状态;③数据寄存器:用于保存操作数或运算结果等信息;④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址;⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形成各种实时控制信号,对各个部件实现特定的控制操作。
简述8086cpu的编程结构8086 CPU是Intel公司于1978年推出的一款16位微处理器,它是当时最先进的微处理器之一。
它的编程结构具有以下几个方面的特点。
一、寄存器8086 CPU有14个16位的寄存器,分为通用寄存器、段寄存器和指令指针寄存器。
通用寄存器包括AX、BX、CX和DX,每个通用寄存器可以分为两个8位的部分进行独立操作。
段寄存器包括CS、DS、SS和ES,用于存储段的起始地址。
指令指针寄存器IP用于存储指令的偏移地址。
二、寻址方式8086 CPU支持多种寻址方式,包括直接寻址、寄存器寻址、间接寻址、基址加变址寻址和相对寻址等。
直接寻址是指操作数直接给出地址;寄存器寻址是指操作数在寄存器中;间接寻址是指操作数通过一个寄存器指向的地址;基址加变址寻址是指操作数通过一个基址寄存器和一个变址寄存器计算出的地址;相对寻址是指操作数相对于指令指针寄存器的偏移地址。
三、指令系统8086 CPU的指令系统非常丰富,包括数据传送指令、算术运算指令、逻辑运算指令、位操作指令、串操作指令、程序转移指令和处理器控制指令等。
数据传送指令用于将数据从一个位置传送到另一个位置;算术运算指令用于进行加减乘除等数学运算;逻辑运算指令用于进行与、或、非等逻辑运算;位操作指令用于对数据的位进行操作;串操作指令用于对字符串数据进行操作;程序转移指令用于控制程序的转移;处理器控制指令用于控制处理器的工作状态。
四、中断和异常处理8086 CPU支持中断和异常处理机制。
中断是指外部设备通过中断请求线向处理器发出中断请求,处理器则通过中断向量表找到对应的中断服务程序进行处理。
异常是指在执行指令过程中发生的错误或非法操作,处理器会根据异常类型转移到异常处理程序进行处理。
五、堆栈机制8086 CPU使用堆栈机制来保存程序的返回地址和局部变量等信息。
堆栈由SS和SP寄存器来管理,SS寄存器存储堆栈段的起始地址,SP寄存器存储堆栈指针的偏移地址。
2.2.4 8088/8086的功能结构一、8088/8086的结构8086与8088在结构上都是由执行单元EU和总线接口单元BIU两大部分构成。
以下是8088/8086的内部结构框图。
●执行单元EU负责执行指令。
EU在工作时不断地从指令队列取出指令代码,并完成指令所要求的操作。
它由算术逻辑单元ALU、通用寄存器REGs、标志寄存器FLAGS和EU控制部件组成。
各部件的功能如下:ALU:即运算器,进行算术、逻辑、移位、偏移地址计算等各种运算。
FLAGS:存放运算结果的特征,如进借位、是否为零、奇偶性、溢出等。
REGs:临时存放操作数、运算结果以及操作数地址等。
EU控制部件:接收指令队列中的指令,进行指令译码、分析,形成各种控制信号,实现EU 各个部件完成规定动作的控制。
●总线接口单元BIU负责CPU与存储器、I/O接口之间的信息(包括数据、地址、控制命令等)传送。
包括生成访问存储器所需的20位的物理地址、不断从内存中取指令并送到指令队列、以及配合EU对指定的内存单元或者外设端口进行数据存取操作。
BIU由段寄存器、指令指针寄存器IP、指令队列、地址加法器以及总线控制逻辑组成。
各部件的功能如下:总线控制逻辑:CPU与外总线之间的接口,实现指令、数据以及其他外部信息的存取。
段寄存器:存放存储器段的段基地址。
指令指针寄存器:存放当前要读取的指令的地址。
它相当于前面介绍过的指令计数器PC。
指令队列:8088和8086的指令队列长度分别为4字节和6字节,为FIFO(先进先出)结构。
当EU从指令队列中取走指令,指令队列出现空字节时,BIU就自动执行一次取指令周期,从内存中取出后续的指令代码放入队列中。
当EU需要数据时,BIU根据EU给出的地址,从指定的内存单元或外设中取出数据供EU使用。
当运算结束时,BIU将运算结果送入指定的内存单元或外设。
当指令队列空时,EU就等待,直到有指令为止。
若BIU正在取指令,EU发出访问总线的请求,则必须等BIU取指令完毕后,该请求才能得到响应。
简述8086内部寄存器结构
8086内部寄存器结构是指8086微处理器中用于存储和处理数据的寄存器的组织方式。
8086处理器是Intel公司于1978年推出的一款16位微处理器,是后来x86系列处理器的祖先。
它的内部寄存器结构包括通用寄存器、指针寄存器、索引寄存器、段寄存器和标志寄存器。
首先是通用寄存器,8086处理器有四个16位的通用寄存器,分别是AX、BX、CX和DX。
其中AX寄存器是累加器,用于存储算术运算的结果;BX寄存器是基址寄存器,常用于存储偏移地址;CX 寄存器是计数器,用于循环和计数操作;DX寄存器是数据寄存器,用于存储数据。
其次是指针寄存器,8086处理器有两个16位的指针寄存器,分别是SP和BP。
SP寄存器是堆栈指针寄存器,用于指向堆栈的栈顶;BP寄存器是基址指针寄存器,常用于指向栈帧的基址。
再次是索引寄存器,8086处理器有两个16位的索引寄存器,分别是SI和DI。
SI寄存器是源索引寄存器,常用于指向源操作数;DI 寄存器是目的索引寄存器,常用于指向目的操作数。
然后是段寄存器,8086处理器有四个16位的段寄存器,分别是CS、DS、ES和SS。
CS寄存器是代码段寄存器,用于存储代码段的段地址;DS寄存器是数据段寄存器,用于存储数据段的段地址;
ES寄存器是附加段寄存器,常用于存储附加数据段的段地址;SS 寄存器是堆栈段寄存器,用于存储堆栈段的段地址。
最后是标志寄存器,8086处理器有一个16位的标志寄存器,用于存储处理器的状态信息。
标志寄存器中的各位表示不同的状态,如进位标志、零标志、符号标志等。
这些标志位可以被程序读取和设置,用于控制程序的执行。
这些寄存器之间可以相互传递数据,实现数据的存储和处理。
通用寄存器可以进行算术和逻辑运算,指针寄存器和索引寄存器常用于存储和访问内存中的数据,段寄存器用于访问不同的内存段,标志寄存器用于控制程序的执行。
8086内部寄存器结构的合理设计,使得处理器具有较强的数据处理和运算能力,并且能够有效地访问内存中的数据。
这为后来x86系列处理器的发展奠定了基础,也为计算机系统的性能提升做出了贡献。