版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1苏放 北京邮电大学 信息与通信工程学院8086/8088微处理器微处理器238086微处理器的结构 8086CPU是Intel系列的16位微处理器,它采用HMOS工艺制造,双列直插,有40个引脚。 8086CPU的电源为单一5V,主时钟频率为5MHz10MHz。它的外部数据总线为16位,地址线为20根。因为可用20位地址,所以可寻址的地址空间达1MB。48086微处理器的结构 8086CPU在内部采用了并行流水线结构,可以提高CPU的利用率和处理速度。 8086CPU被设计为支持多处理器系统,因此能方便地与数值协处理器8087或其他协处理器相连,构成多处理器系统,从而提高系统的数据处理能力。
2、 8086CPU还具有一个功能相对完善的指令系统,能对多种类型的数据进行处理,使程序设计方便、灵活。58086的功能结构 从功能上讲,8086分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。6总线接口部件BIU BIU是CPU与外部存储器及IO的接口,负责与存储器和I0系统进行数据交换。 BIU由下列各部分组成: 4个16位段地址寄存器 代码段寄存器CS 数据段寄存器DS 附加段寄存器ES 堆栈段寄存器SS7 16位指令指针IP:IP用于存放下一条要执行指令的有效地址EA(即偏移地址) 。 20位物理地址加法器:加法器用于
3、将逻辑地址变换成读写存储器所需的20位物理地址,即完成地址加法操作。 6字节的指令队列:当执行单元EU正在执行指令中,且不需要占用总线时,BIU会自动进行预取下一条或几条指令的操作,并按先后次序存入指令队列中排队,由EU按顺序取来执行。 总线控制逻辑:总线控制逻辑用于产生并发出总线控制信号,以实现对存储器和IO端口的读写控制。8执行部件EU 执行部件EU的功能就是负责指令的执行。 EU包括下列几个部分: 算术逻辑单元ALU: ALU完成16位或8位的二进制数的算术逻辑运算,绝大部分指令的执行都由ALU完成。 标志寄存器FR:它用来反映CPU最近一次运算结果的状态特征或存放控制标志。 通用寄存器
4、组:它包括4个数据寄存器AX、BX、CX、DX,4个专用寄存器:基址指示器BP、堆栈指示器SP、源变址寄存器SI和目的变址寄存器DI。 EU控制器:它接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,向EU内各功能部件发送相应的控制命令,以完成每条指令所规定的操作。9BIU和EU的动作管理 在8086中, EU和BIU两部分是按流水线方式并行工作的 取指执行取指执行取指执行取指执行取指执行(a) 早期微处理器指令的执行过程(b) 8086微处理器指令的执行过程108086的寄存器结构 8086CPU内部有14个16位寄存器,可以分为三组: 数据寄存器ALAHBHBLCHCLD
5、HDLSPBPDISIIPCSDSSSESAXBXCXDX堆栈指针基数指针源变址目的变址指令指针状态标志代码段数据段堆栈段附加段指针寄存器指针寄存器控制寄存器段寄存器通 用寄存器FLAG11通用寄存器组 通用寄存器可以分为两组:数据寄存器和地址指针与变址寄存器。数据寄存器数据寄存器包括AX、BX、CX、DX等4个16位寄存器它们既可以作为16位寄存器使用,也可以将每个寄存器高字节和低字节分开作为两个独立的8位寄存器使用。12地址指针和变址寄存器 地址指针和变址寄存器组包括SP、BP、SI和DI等4个16位寄存器。它们主要是用来存放或指示操作数的偏移地址。 堆栈指针SP中存放的是当前堆栈段中栈顶
6、的偏移地址。 BP是访问堆栈时的基址寄存器。SP、BP通常和SS联用。 SI和DI称为变址寄存器。它们通常与DS联用,为程序访问当前数据段提供操作数的段内偏移地址。SI和DI中的内容分别是当前数据段和当前附加段中某一存储单元的偏移地址。 当SI、DI和BP不作指示器和变址寄存器使用时,也可将它们当作一般数据寄存器使用,存放操作数或运算结果。 138086CPU中通用寄存器的特殊用途和隐含性质中通用寄存器的特殊用途和隐含性质 AX,AL在输入输出指令中作数据寄存器不能隐含乘法指令中存放被乘数和乘积,除法指令中存放被除数和商隐含AH在LAHF指令中,作目标寄存器用隐含在十进制运算指令中作累加器用隐
7、含AL在XLAT指令中作累加器用隐含BX在间接寻址中作基址寄存器用不能隐含在XLAT中作基址寄存器用 隐含CX在串操作指令和LOOP指令中作计数器用隐含CL在移位循环移位指令中作移位次数计数器用 不能隐含DX在字乘法除法指令中存放乘积高位或被除数高位或余数隐含在间接寻址的输入输出指令中作地址寄存器用 不能隐含SI在字符串运算指令中作源变址寄存器用 隐含在间接寻址中作变址寄存器用 不能隐含DI在字符串运算指令中作目的寄存器用 隐含在间接寻址中作变址寄存器用 不能隐含BP在间接寻址中作基址指针用 不能隐含SP在堆栈操作中作堆栈指针用 隐含14段寄存器组 8086CPU可直接寻址lMB的内存空间。直
8、接寻址时需要20位地址码,而所有的内部寄存器都是16位的,用它们作地址寄存器,只能直接寻址64KB单元。 在8086CPU中采用了存储空间分段技术来解决这一矛盾。将lMB的存储空间分成若干个逻辑段,每段最大长度为64KB。 15物理地址形成 段寄存器中的16位数自动左移4位,然后与16位偏移量相加 ,形成20位物理地址。地址加法器段基址左移4位偏移地址20位物理地址段寄存器有效地址 EA 19015019016段寄存器的选择 在形成物理地址时,究竟是取哪一个段寄存器的内容做段基址,这取决于CPU做何操作: 对于取指操作,是将当前CS中的内容左移4位(相当乘16)再加上IP的内容,形成20位指令
9、地址; 对于存取数据操作,是将当前数据段寄存器DS中的段基址左移4位,再与16位偏移地址EA相加,形成20位的物理地址; 对于压栈和弹栈操作,是将当前堆栈段寄存器SS中的段基址左移4位,再与SP相加,形成20位的物理地址; 在对目的串操作时,是以当前附加段寄存器ES中的段基址左移4位,再与DI相加以形成20位的物理地址。17段超越除了基本段约定之外,8086还允许部分改变基本段约定,如存取数据的基本段为数据段,但可以临时改变为代码段、或附加段、或堆栈段,这种情况称为段超越。 CPUCPU执行的操作执行的操作基本段约定基本段约定允许修改的段允许修改的段偏移地址偏移地址取指令取指令CSCS无无IP
10、IP压栈、弹栈压栈、弹栈SSSS无无SPSP源串源串DSDSCS,ES,SSCS,ES,SSSISI目的串目的串ESES无无DIDI通用数据读写通用数据读写DSDSCS,ES,SSCS,ES,SS有效地址有效地址EAEABPBP作间址寄存器作间址寄存器SSSSCS,DS,ESCS,DS,ES有效地址有效地址EAEA18控制寄存器 指令指针IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址。 程序运行中,IP的内容由BIU自动修改,使IP始终指向下一条将要执行的指令地址。 正常情况下,程序是不能直接访问(修改)IP的内容的,但当需要改变程序执行顺序时,如遇到中断指令或调用指令时,IP中的
11、内容将被自动修改。19控制寄存器标志寄存器FR标志寄存器FR用来存放指令执行结果特征。状态标志:状态标志位有6个,由CPU在运算过程中自动置位或清零,用来表示运算结果的特征。除CF标志外,其余5个状态标志一般不能直接设置或改变。 1)、CF(Carry Flag)进位标志。当算术运算结果使最高位(对字节操作是D7位,对字操作是D15位)产生进位或借位时,则CF=1;否则CF 0。循环移位指令执行时也会影响此标志。 2)、PF(Parity Flag)奇偶标志。若本次运算结果中的低8位含有偶数个1,则PF=1;否则 PF0。 3)、AF(Auxiliary Carry Flag)辅助进位标志。本
12、次运算过程中若D3位有进位或借位时,AF1;否则AF0。该标志用于BCD运算中的十进制调整。 4)、ZF(Zero Flag)零标志。若本次运算结果为0,则ZF1;否则ZF0。 5)、SF(Sign Flag)符号标志。它总是与运算结果的最高有效位相同,用来表示带符号数本次运算结果是正还是负。 6)、OF(Overflow Flag)溢出标志。当带符号数的补码运算时,结果超出了机器所能表达的范围时,就会产生溢出,这时溢出标志位OF1。OFDFIFTFSFZFAFPFCF20标志寄存器FR控制标志: 控制标志是用来控制CPU的工作方式或工作状态的标志。用户可以使用指令设置或清除。 1)、IF(I
13、nterrupt Flag) 中断允许标志。它是控制可屏蔽中断的标志,如IF=1时,允许CPU响应可屏蔽中断;当IF=0时,即使外设有中断申请,CPU也不响应,即禁止中断。 2)、DF(Direction Flag) 方向标志。该标志用来控制串操作指令中地址指针的变化方向。在串操作指令中,若DF0,地址指针为自动增量,即由低地址向高地址进行串操作;若DF1,地址指针自动减量,即由高地址向低地址进行串操作。 3)TF(Trap Flag)单步标志。TF1时,CPU为单步方式,即每执行完一条指令就自动产生一个内部中断,使用户可逐条跟踪程序进行调试。若TF0时,CPU正常执行程序。21例例 将二进制
14、数(0101 0100 0011 1001)与(0100 0101 0110 1010)相加,分析其对标志位的影响。解:解: 0101 0100 0011 1001 + 0100 0101 0110 1010 1001 1001 1010 0011 对状态标志的影响:SF1;ZF0;PF1;CF0;AF1;OF1。22例例 将二进制数(0010 0011 0100 0101)与(0011 0010 0001 1001)相加,分析其对标志位的影响。解:解: 0010 0011 0100 0101 + 0011 0010 0001 1001 0101 0101 0101 1110 对标志位的影响如
15、下: SF=0; ZF=0; PF=0; CF=0; AF=0; OF=0。238086的引脚信号及工作模式 为了尽可能适应各种应用场合,80868088 CPU设置有两种工作模式:最大工作模式和最小工作模式。 最小工作模 式,指系统中只有80868088一个微处理器,在最小模式系统中,所有的总线控制信号都直接由80868088 CPU产生,系统的总线控制逻辑部件最少,因此,称为最小工作模式。 最大工作模式,指系统中包含有两个或两个以上的微处理。其中,一个为主处理器,就是80868088 CPU;其它的称为协处理器,它们协助主处理器工作。 248086 CPU 8086CPU采用40个引脚的双
16、列直插式封装形式。 80868088 CPU采用了引脚复用技术: 采用了分时复用的地址/数据总线 。 根据不同的工作模式定义不同的引脚功能。 8086的引脚图258086的引脚及其功能 GND,Vcc(输入)GND为接地端,Vcc为电源端。8086CPU采用的电源为5V10。ADl5AD0(AddressData Bus)地址数据复用总线(双向、三态)CPU访问一次存储器或I/O端口称完成一次总线操作,或执行一次总线周期。一个总线周期通常包括T1、T2、T3、T4四个T状态。在每个状态CPU将发出不同的信号。ADl5AD0作为复用引脚,在总线周期的T1状态,CPU在这些引脚上输出要访问的存储器
17、或I0端口的地址。在T2T3状态,如果是读周期,则处于浮空(高阻)状态,如果是写周期,则为传送数据。在中断响应及系统总线处于“保持响应”周期时,ADl5AD0都被浮置为高阻抗状态。 268086的引脚及其功能A19S6A16S3(AddressStatus)地址状态复用线(输出、三态) 在总线周期的T1状态,用来输出地址的最高4位,在总线周期的其他状态(T2,T3和T4状态),用来输出状态信息。S6总是为0,表示8086CPU当前与总线相连。S5表明中断允许标志的当前设置。S4和S3状态的组合指出当前正使用哪个段寄存器。当系统总线处于“保持响应”周期时,A19/S6Al6/S3被置为高阻状态。
18、S4S3含义含义00当前正在使用当前正在使用ES01当前正在使用当前正在使用ES10当前正在使用当前正在使用CS,或者未用任何段寄存器,或者未用任何段寄存器11当前正在使用当前正在使用DS278086 CPU引脚及其功能BHE/ S7 :允许高字节传送/状态输出在T1状态, BHE在高8位数据总线D15 D8上传送 一个字节数据;BHE与A0把存储器分为两组(高组与低组):BHEA0状态0 016位数据01高8位( D15 D8 )10低8位( D7 D0 )11保留不用288086 CPU引脚及其功能RD 读信号,输出 读MEM或I/O操作,由M/IO引脚决定是读M还是I/O口:M/IO=1
19、,读MEM; M/IO=0,读I/O口。READY:(输入)外部器件发回的准备就绪信号 由MEM或I/O口发回的应答信号,CPU在T3的上升沿检测该信号,若为高,则准备就绪,不插入Tw ;若为低,则未准备好,插入Tw ;系统规定可插入不超过10个Tw 。298086 CPU引脚及其功能INTR:(Interrupt)可屏蔽中断请求信号(IN),高电平有效触发的输入信号,由外部设备发来; 该信号是在每一指令周期的最后一个T状态被采样,以决定是否进入中断响应周期。 可用软件屏蔽(CLI指令使IF=0)。7. NMI:非屏蔽中断请求信号(IN) 边沿 触发信号,若有 NMI 请求,则现行指令结束后立
20、即引起中断。 该信号不能用指令屏蔽,其检测时间与INTR一样。308086 CPU引脚及其功能TEST:检测信号(IN) 该信号由8087发来,在WAIT指令执行期间,CPU监视TEST信号。若TEST为低电平,8086继续执行WAIT的下一条指令,否则CPU处于等待(空闲)状态,且重复测试TEST信号;TEST为高时,处于WAIT状态,TEST低电平时退出WAIT状态。 8086CPU8087TEST BUSY318086 CPU引脚及其功能RESET:复位信号(IN),高有效 该信号使CPU结束现行操作,初始化内部REG,CPU复位后: CS=FFFFH IP=0000H DS=0000H
21、 ES=0000H SS=0000H FR=0000(禁止中断)指令队列空,复位后执行的第一条指令在内存的FFFF0H(引导程序的入口地址),用JMP可转到实际开始处。 CLK:时钟,Vcc与GND:电源与地(IN) 328086 CPU引脚及其功能MN/MX:最小最大组态控制信号(IN) 当MN/MX=0,为最大组态,构成多处理器系统; 在最大组态时,控制信号由S2S0经总线译码器8288译码产生。 当MN/MX=1,为最小组态,构成单处理器系统,CPU提供所有的总线控制信号。 MN/MX的接法决定了8个引脚(2431)之功能。338086 CPU引脚及其功能 当MN/MX=Vcc(最小组态
22、)时,各引脚功能:INTA:中断响应信号(OUT) 是INTR的应答信号,在中断响应时发两个INTA周期。ALE:地址锁存允许信号(OUT) (Address Latch Enable) 把地址/数据、地址/状态线上的地址信号锁存到地址锁存器中,ALE在T1状态有效。348086 CPU引脚及其功能M/IO:MEM与I/O控制信号(OUT) 决定访问的是MEM或者是I/O: M/IO=1,访问MEM; M/IO=0,访问I/O口。WR:写信号(OUT) 用来表示CPU处于写MEM或者I/O口(与M/IO配合使用)。 358086 CPU引脚及其功能DT/R:数据收发信号(双向,三态) 增加数据
23、总线的驱动能力,采用外加总线驱动器(收发器8286/8287)。当 DT/R=1,发送; DT/R=0,接收。 DEN:数据允许信号(Data Enable)(OUT) 作为总线驱动器8286/8287芯片的输出允许信号(OE)。 在DMA方式时,被置为高阻抗状态。 368086 CPU引脚及其功能HOLD(IN)与HLDA(OUT):总线请求保持 与总线响应保持信号 总线请求HOLD是由其它主设备发送给CPU; CPU检测HOLD的时间: 在每一个总线周期的最后一 个T状态。 总线响应HLDA作为CPU对HOLD之应答,并让出总线控制权。378088 CPU的最小模式 只有8位数据总线,不需
24、要 信号。因此,34引脚定义为 。和 及 信号组合起来,决定了当前总线周期的操作。 SS0IO/MDT/RBHE3880868088 最小模式系统的基本配置最小模式系统:最小模式系统:应用于单一的微机处理系统,应用于单一的微机处理系统,3 3片片82828282锁存锁存2020位地址信息和位地址信息和BHE BHE ,2 2片片82868286作为作为1616位数据收发器位数据收发器 MN/MX RD WR CLK READY M/IORESET ALE A19-A16 BHE AD15-AD08086CPU DT/R DEN STB 8282 8282 或或828382838286 8286
25、 或或8287 8287 T TOEOE82848284RES RES 时钟时钟 发生器发生器存储器 DATAI/O外设DATA数据总线数据总线地址总线地址总线地址总线地址总线地址地址/ /数据数据V VCCCCV VCCCCBHEBHE39锁存器82828283 82828283用于锁存CPU地址,形成独立的数据和地址总线 82828283是带有三态缓冲器的8位数据锁存器,两者输出极性不同: 8282的输出/输入极性相同 8283的输出/输入极性相反 8位锁存器74LS373的功能与82828283相同,也可实现锁存功能。 4082868287总线收发器80868088 CPU输出或接收数据
26、的能力是有限的。当总线上连接的设备较多时,为使系统稳定工作,需要使用数据功率放大器,提高80868088 CPU数据总线的驱动能力。82868287是一种具有三态输出的8位双向总线收发器驱动器 OET方向01AB00BA1X三态41时钟发生器8284A 时钟发生器: 8284A提供系统时钟。 8284A组成:晶体震荡器,一个三分频器,起同步作用的READY信号及复位RESET信号。 功能:提供时钟信号,与外设时钟; (外部晶体15MHz/24MHz3) 提供系统复位控制逻辑 ; 提供起同步作用的READY信号。输出:RESET,CLK(5MHz),PCLK(2.5MHz), OSC(15MHz
27、),READY42 引脚信号功能引脚信号功能CSYNC: 使多个使多个8284A时钟同步时钟同步信号,信号,=0,内部计数,内部计数PCLK: 外设时钟信号外设时钟信号AEN1,AEN2: 制约信号制约信号,与与RDY配合配合READY: 准备就绪准备就绪RDY1,RDY2: 总线准备就绪总线准备就绪ASYNC: READY同步选择一、同步选择一、两级两级RES,RESET: 复位入,复位复位入,复位出出OSC: 振荡器输出振荡器输出EFI: 外部时钟频率外部时钟频率F/C: 频率频率/晶体选择晶体选择438086 CPU引脚及其功能 当MN/MX=0(最大组态)时,各引脚功能:S2、S1、S
28、0 :总线周期状态信号(OUT) 此三状态信号由总线控制器8288译码产生CPU所需的各种控制信号,产生8个控制信号。 S2 S1 S0功功 能能0 0 0中断响应中断响应0 0 1I/O 读读0 1 0I/O 写写0 1 1Halt1 0 0取操作码取操作码1 0 1存储器读存储器读1 1 0存储器写存储器写1 1 1Passive448086 CPU引脚及其功能 RQ/ GT0,RQ/ GT1:(Request/Grant) 总线请求(IN)/总线允许(OUT) 每一引脚都是双向的,既可作为总线请求,又可 作为总线响应信号。外部主设备发来的请求信号为 输入,CPU响应时为输出。 若有两个主
29、设备同时请求时 , RQ/ GT0比 RQ/ GT1级别高。458086 CPU引脚及其功能LOCK:总线锁定信号(OUT) 该信号由前缀指令“LOCK”使其生效,且一直保持到下一指令执行完,以使得外部总线主控设备不能获得对系统总线的控制权。在80868088 CPU处于中断响应周期期间, 会自动变为有效,以防其他总线主控件在中断响应过程中占有总线而使一个完整的中断响应过程被间断。在DMA期间,被置为高阻抗状态。 LOCK468086 CPU引脚及其功能QS1,QS0: 指令队列状态信号(OUT) 让外部设备能监视CPU内部指令队列状况。 编码如下:QS1QS0含义00无操作01来自队列中指令
30、代码的第一个字节10队列空11来自队列的后续字节478086最大模式系统下的基本配置 488086最大模式系统下的基本配置 与最小模式系统的主要区别是增加了一个总线控制器8288和一个总线仲裁器8289。 80868088 CPU输出的状态信号S2、 S1 、 S0同时送给8288和8289,由8288输出CPU系统所需要的总线控制信号,包括对存储器和IO端口进行读写的信号、对地址锁存器8282和总线收发器8286的控制信号,以及中断控制器8259的控制信号。 总线仲裁器8289对系统多个处理器间共享总线资源进行控制。 49总线控制器8288 50总线控制器82888288提供超前写命令(AM
31、WC、AIOWC): 即在写周期开始之前就启动写过程,其时序与读 命令相同,在一定程度上避免处理器进入没必要的 等待状态。 8288有两种工作方式,由IOB决定: 当IOB=0,系统总线工作方式: 8288工作在适合于单处理器工作的方式。此时,要求接地,CEN接5 V。 当IOB=1,I/O总线工作方式:此时IOB接5 V时,并且CEN接5 V, 端输出外部设备数据允许PDEN信号。在多处理器系统中,该信号作为数据总线收发器的开启信号。 MCE/PDEN518088的引脚与的引脚与8086的不同之处的不同之处8088的地址的地址/数据复用线为数据复用线为8条,即条,即AD7AD0,而而A15A
32、8为单一的地址线。为单一的地址线。8088中无中无/S7,该引脚为,该引脚为SS0状态信号线。状态信号线。该引脚信号在最大方式下保持高电平,在最小方式该引脚信号在最大方式下保持高电平,在最小方式下等效于最大方式下下等效于最大方式下S0的作用,的作用,SS0与与IO/、DT/组组合,以确定当前的总线周期合,以确定当前的总线周期 8088的的M /IO控制信号为控制信号为IO/ M ,即该信号为高,即该信号为高电平时,是电平时,是I/O端口访问;为低电平时,是存储器端口访问;为低电平时,是存储器访问。这与访问。这与8086的的M/ IO线刚好相反。线刚好相反。5280868088的存储器组织 1、
33、8086/8088系统存储器的组织系统存储器的组织 8086/8088是是16位的微处理器,在组成存储系统位的微处理器,在组成存储系统时,总是使偶地址单元的数据通过时,总是使偶地址单元的数据通过AD0 AD7传传送,而奇地址单元的数据通过送,而奇地址单元的数据通过AD8 AD15传送,传送,所有的操作可以是按字节为单位也可以是按字为所有的操作可以是按字节为单位也可以是按字为单位来处理的。单位来处理的。 但但8086/8088系统中的存储器是以系统中的存储器是以8位(一个字位(一个字节)为单位对数据进行处理的。因此每个字节用节)为单位对数据进行处理的。因此每个字节用一个唯一的地址码表示,这称为存
34、储器的一个唯一的地址码表示,这称为存储器的标准结标准结构构。 53存储器中的数据组织存储器中的数据组织 计算机系统中,作为一个整体一次计算机系统中,作为一个整体一次存放或取出内存储器的数据称为存放或取出内存储器的数据称为“存储字存储字”例如例如8位机的存储字是位机的存储字是8位字长(即位字长(即一个字节);一个字节);16位机的存储字是位机的存储字是16位字长;位字长;32位机的存储字是位机的存储字是32位字长位字长。在现代计算机系统中,特别是微机在现代计算机系统中,特别是微机系统中,内存储器一般都以字节编系统中,内存储器一般都以字节编址,即一个存储地址对应一个址,即一个存储地址对应一个8位位
35、存储单元。存储单元。在在Intel 80X86系统中,系统中,16位存储位存储字或字或32位存储字的地址是位存储字的地址是2个或个或4个存储单元中最低端的存储单元的个存储单元中最低端的存储单元的地址,而此最低端存储单元中存放地址,而此最低端存储单元中存放的是的是32位字中最低位字中最低8位。位。例如,例如,32位存储字位存储字12345678H存存放在内存中的情况放在内存中的情况548086/8088系统存储器的组织系统存储器的组织需要说明的是,在存储器中,任何连续存放需要说明的是,在存储器中,任何连续存放的两个字节都可以称为一个字。的两个字节都可以称为一个字。 存放时,其低位字节可从奇数地址
36、开始,存放时,其低位字节可从奇数地址开始,这种方式称为非规则方式,奇数地址的字这种方式称为非规则方式,奇数地址的字称为非规则字。称为非规则字。 其高位字节可从偶数地址开始,这种方式其高位字节可从偶数地址开始,这种方式称为规则方式,。将偶数地址的字称为规称为规则方式,。将偶数地址的字称为规则字。则字。 552、 8086存储器的分段结构存储器的分段结构 由于由于8086/8088有有20条地址线,可以寻址多达条地址线,可以寻址多达220(1M)字节,所以把)字节,所以把1M字节的存储器分为任意数量字节的存储器分为任意数量的段,其中每一段最多可达寻址的段,其中每一段最多可达寻址64K字节。字节。
37、8086CPU把把1M字节的存储器空间划分为任意的字节的存储器空间划分为任意的一些存储段,一个存储段是存储器中可独立寻址的一一些存储段,一个存储段是存储器中可独立寻址的一个逻辑单位,也称逻辑段,每个段的长度为个逻辑单位,也称逻辑段,每个段的长度为64K字节。字节。 8086CPU中有四段寄存器:中有四段寄存器:CS,DS,SS和和ES,这四个段寄存器存放了这四个段寄存器存放了CPU当前可以寻址的四个段的当前可以寻址的四个段的基址,也即可以从这四个段寄存器规定的逻辑段中存基址,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设取指令代码和数据。一旦这四个段寄存
38、器的内容被设定,就规定了定,就规定了CPU当前可寻址的段。当前可寻址的段。 563、8086存储器的逻辑地址和物理地址存储器的逻辑地址和物理地址存储器中的每个存储单元都可以用两个形式的地址来存储器中的每个存储单元都可以用两个形式的地址来表示:表示:实际地址(或称物理地址)和逻辑地址实际地址(或称物理地址)和逻辑地址。实际地址实际地址:也称物理地址,是用唯一的:也称物理地址,是用唯一的20位二进制数位二进制数所表示的地址,规定了所表示的地址,规定了1M字节存储体中某个具体单字节存储体中某个具体单元的地址元的地址 。逻辑地址逻辑地址在程序中使用,即在程序中使用,即 段地址:偏移地址段地址:偏移地址
39、 。(4)物理地址的形成物理地址的形成物理地址有两部分组成:物理地址有两部分组成:段基址和偏移地址段基址和偏移地址。 578086存储器的逻辑地址和物理地址存储器的逻辑地址和物理地址 实际地址(物理地址PA:Physical Address):PA=(段地址16)+偏移地址 对二进制数来说,乘2相当于左移1位(21),乘16相当于左移4位(24); 所以:PA=段地址左移4位+偏移地址 实际操作:段地址(16进制数)添0,再加上偏移地址.588086存储器的逻辑地址和物理地址存储器的逻辑地址和物理地址 若地址用16进制数表示,则左移4位,就是在原来的16进制数的后面加一个0; 所以:PA=段地
40、址添一个0+偏移地址 如:段地址=2100H,偏移地址=1234HPA=21000H + 1234H 22234H598086/8088CPU中有一个地址加法器,它将段寄存器提中有一个地址加法器,它将段寄存器提供的段地址自动乘以供的段地址自动乘以10H即左移即左移4位,然后与位,然后与16位的偏位的偏移地址相加,并锁存在物理地址锁存器中。如图所示。移地址相加,并锁存在物理地址锁存器中。如图所示。物理地址物理地址=段基址段基址 * 16 +偏移地址。偏移地址。段基址:段基址:CS、DS、ES、SS。偏移地址:偏移地址:IP、DI、SI、BP、SP等。等。段寄存器值段寄存器值偏移量偏移量+物理地址
41、物理地址16位位4位位16位位20位位存储器物理地址的计算方法存储器物理地址的计算方法60 CS 0000 IP代码段代码段 DS或或ES 0000 SI、DI或或BX SS 0000 SP或或BP数据段数据段堆栈段堆栈段存储器存储器段寄存器和偏移地址寄存器组合关系段寄存器和偏移地址寄存器组合关系61存储器组织 存放的信息是字节信息,则按字节顺序存放; 存放的信息是字信息(16位),则应将字的高字节放在高地址,低字节放在低地址; 若将字信息的低位数据放在偶数地址,高字节放在奇数地址,则为规则存放。规则存放的字可以在一个总线周期完成读写。62存储器组织 存储器由两个512KB存储体组成,分别称为
42、高位库和低位库; 低位库为偶数地址,高位库为奇数地址; 对16位数据的寻址,只要用19条地址;即A19 A1; 用A0和BHE分别选择高位库或高位库; 只要输出一次地址(偶地址),就可完成16位数据的读写。6364存储器组织 注意在图中,CPU发出的地址是A19 A0,但直接控制存储器地址的是A19 A1,接到存储器的A18 A0;658086的存储器访问操作的存储器访问操作 (1) 字节访问和字访问字节访问和字访问 8088是准是准16位微处理器,其外部数据总线为位微处理器,其外部数据总线为8位,内部寄存器和位,内部寄存器和运算器为运算器为16位,一个总线周期只能访问一个字节,要进行字操作,
43、位,一个总线周期只能访问一个字节,要进行字操作,必须用两个总线周期,第一个总线周期访问低位字节、第二个总必须用两个总线周期,第一个总线周期访问低位字节、第二个总线周期访问高位字节。线周期访问高位字节。 8086是标准的是标准的16位微处理器,其外部数据总线为位微处理器,其外部数据总线为16位,每个存储位,每个存储周期可以访问存储器中的周期可以访问存储器中的8位或位或16位信息。位信息。 当当8086访问一个整字(访问一个整字(16位)变量时,该变量的地址为偶地址位)变量时,该变量的地址为偶地址(即字变量的低字节在偶地址单元,高字节在奇地址单元),则(即字变量的低字节在偶地址单元,高字节在奇地址
44、单元),则8086将用一个总线周期访问该字变量;将用一个总线周期访问该字变量; 如果该字变量的地址为奇地址(即字变量的低字节在奇地址单元,如果该字变量的地址为奇地址(即字变量的低字节在奇地址单元,高字节在偶地址单元),则高字节在偶地址单元),则8086要用两个连续的总线周期才能访要用两个连续的总线周期才能访问该字变量,每个周期访问一个字节。问该字变量,每个周期访问一个字节。668086的存储器访问操作的存储器访问操作(2) “对准的对准的”字与字与“未对准的未对准的”字字 8086 CPU能同时访问奇存储体和偶存储体中的能同时访问奇存储体和偶存储体中的一个字节,以组成一个存储字。一个字节,以组
45、成一个存储字。 要访问的要访问的1个字的低个字的低8位存放在偶存储体中,称为位存放在偶存储体中,称为“对对准的准的”字(字(aligned,又称为,又称为“对界的对界的”),这是一种),这是一种规则的存放字。规则的存放字。 对于对于“对准的对准的”字,字,8086 CPU只要一个总线周期就能只要一个总线周期就能完成对该字的访问;完成对该字的访问; 当要访问的当要访问的16位字的低位字的低8位字节存放在奇存储体中,称位字节存放在奇存储体中,称该字为该字为“未对准的未对准的”字(字(unaligned,又称为,又称为“未对界未对界的的”),这是一种非规则的存放字。必须用两个总线),这是一种非规则的
46、存放字。必须用两个总线周期才能访问该字。周期才能访问该字。 678086的存储器访问操作的存储器访问操作68字节传送69字传送70存储器组织 存储器分段 分段是任意的,可以重叠,也可以不重叠; 出现重叠是因为实际上对一个具体的段,不要求有64K字节。 同一个物理地址可以对应不同的偏移地址和段地址(逻辑地址)。71728086/80888086/8088总线结构和总线周期总线结构和总线周期 总线周期时序总线周期时序 1 1、指令周期、总线周期和时钟周期概念、指令周期、总线周期和时钟周期概念l l 指令周期:执行一条指令所需要的时间,有若干总线周期组成。指令周期:执行一条指令所需要的时间,有若干总
47、线周期组成。l l 总线周期(机器周期):总线周期(机器周期):CPUCPU进行一次数据传输所需的时间。一个总线周期至少包括进行一次数据传输所需的时间。一个总线周期至少包括 4 4个个T T状态。状态。l l T T状态(时钟周期):状态(时钟周期):CPUCPU处理动作的最小单位位时间。就是时钟信号处理动作的最小单位位时间。就是时钟信号CLKCLK的周期。的周期。73各种周期的动态演示各种周期的动态演示74总线周期总线周期75 2、8086的基本工作时序的基本工作时序 在指令译码器和外面时钟信号作用下产生的和在指令译码器和外面时钟信号作用下产生的和各个命令控制下进行的,分内操作和外操作两种各
48、个命令控制下进行的,分内操作和外操作两种 内操作:控制内操作:控制ALU进行算术运算,控制寄存器组进进行算术运算,控制寄存器组进行行REG选择以及送选择以及送DB/AB,读,读/写操作等写操作等 外部操作:是系统对外部操作:是系统对CPU的控制或是的控制或是CPU对系统的对系统的控制,用户必须了解这些控制信号以便正确使用。控制,用户必须了解这些控制信号以便正确使用。 8086的工作时序包括:的工作时序包括: 存储器读操作存储器读操作 存储器写操作存储器写操作 中断响应操作中断响应操作 输入输出周期输入输出周期 系统复位系统复位 空转周期空转周期768086/80888086/8088总线结构和
49、总线周期总线结构和总线周期 二、总线周期时序二、总线周期时序 2 2、80868086的基本工作时序的基本工作时序: :存储器读操作、存储器读操作、 存储器写操作、存储器写操作、 中断响应操作、中断响应操作、 输入输出周期输入输出周期 系统复位、系统复位、图2-9 CPU从存储器或I/O端口读取数据的时序T1T2T3TWT4T1T2T3TWT4(1 1)T1T1状态状态M/IOM/IO信号:从存储器读还信号:从存储器读还是从是从I/OI/O设备中读数据。设备中读数据。AD15-AD0AD15-AD0、A19/S7-A19/S7-A16/S3A16/S3:确定:确定2020位地址。位地址。BHE
50、BHE:选择奇地址存储体:选择奇地址存储体选择。选择。ALEALE:地址锁存信号,以:地址锁存信号,以使地址使地址/ /数据线分开。数据线分开。(2 2)T2T2状态状态A19/S6-A16/S3A19/S6-A16/S3:出现:出现S6-S3S6-S3状态信号。决定段状态信号。决定段寄 存 器 、寄 存 器 、 I FI F 状 态 、状 态 、8086CPU8086CPU是否连在总线上。是否连在总线上。AD15-AD0AD15-AD0:高阻状态。:高阻状态。RDRD:由高电平变为低电:由高电平变为低电平,开始进行读操作。平,开始进行读操作。DENDEN:变低电平,启动收:变低电平,启动收发
51、器发器82688268,做好接收数据,做好接收数据的准备。的准备。(3 3)T3T3状态状态若存储器或若存储器或I/OI/O端口已做端口已做好发送数据准备,则在好发送数据准备,则在T3T3状态期间将数据放到数据状态期间将数据放到数据总线上,在总线上,在T3T3结束时,结束时,CPUCPU从从AD15-AD0AD15-AD0上读取数上读取数据。据。(4 4)TWTW状态状态在在T3T3状态,存储器或外状态,存储器或外设没有准备好数据,不能设没有准备好数据,不能在在T3T3状态将数据放到总线状态将数据放到总线上,使上,使READY=0READY=0,则,则CPUCPU在在T3T3和和T4T4之间插
52、入一个或几之间插入一个或几个个TWTW状态,直到数据准备状态,直到数据准备好好READY=1READY=1为止。为止。TWTW状态时总线的动作与状态时总线的动作与T3T3时相同时相同 (5 5)T4T4状态状态CPUCPU对数据总线进行采样,对数据总线进行采样,读出数据。读出数据。 778086/80888086/8088总线结构和总线周期总线结构和总线周期 二、总线周期时序二、总线周期时序 2 2、80868086的基本工作时序的基本工作时序: : 存储器写操作、存储器写操作、 中断响应操作、中断响应操作、 输入输出周期输入输出周期 系统复位、系统复位、存储器读操作、存储器读操作、T1T2T
53、3TWT4T1T2T3TWT4(1 1)T1T1状态状态M/M/信号:对存储器写还是信号:对存储器写还是对对I/OI/O设备中写数据。设备中写数据。AD15-AD0AD15-AD0、A19/S7-A19/S7-A16/S3A16/S3:确定:确定2020位地址。位地址。BHEBHE:选择奇地址存储体:选择奇地址存储体选择。选择。ALEALE:地址锁存信号,以:地址锁存信号,以使地址使地址/ /数据线分开。数据线分开。DT/RDT/R:为高电平,指示收:为高电平,指示收发器发器82868286发送数据,写操发送数据,写操作。作。(2 2)T2T2状态状态A19/S6-A16/S3A19/S6-A
54、16/S3:出现:出现S6-S3S6-S3状态信号。决定段状态信号。决定段寄 存 器 、寄 存 器 、 I FI F 状 态 、状 态 、8086CPU8086CPU是否连在总线上。是否连在总线上。AD15-AD0:AD15-AD0:发发1616位数据。位数据。WRWR:由高电平变为低电:由高电平变为低电平,开始进行写操作。平,开始进行写操作。DENDEN:变低电平,启动收:变低电平,启动收发器发器82688268,做好发送数据,做好发送数据的准备的准备 (3 3)T3T3状态状态存储器或存储器或I/OI/O端口做好接端口做好接收准备,则在收准备,则在T3T3期间将数期间将数据放据放DBDB上
55、,在上,在T3T3结束时,结束时,CPUCPU将将AD15-AD0AD15-AD0上数据写上数据写入到存储器或入到存储器或I/OI/O设备中设备中 (4 4)TWTW状态状态在在T3T3状态,存储器或外状态,存储器或外设没有准备好接收数据,设没有准备好接收数据,使使READY=0READY=0,则,则CPUCPU在在T3T3和和T4T4之间插入一个或几个之间插入一个或几个TWTW状态,直到设备准备好状态,直到设备准备好READY=1READY=1为止。为止。(5 5)T4T4状态状态数据从数据从DBDB上被撤除,各种上被撤除,各种控制信号和状态信号进入控制信号和状态信号进入无效状态,无效状态,
56、CPUCPU完成了对完成了对存储器或存储器或I/OI/O设备的写操设备的写操作作 图2-10 CPU往存储器或I/O端口写数据的时序78例例 8086CPU工作于最小模式,试指出当CPU完成将AH的内容送到物理地址为 91001H的存储单元操作时,以下哪些信号应为低电平: 、 、 、 、 。若CPU完成的是将物理地址91000H单元的内容送到AL中,则上述哪些信号应为低电平。M/IOM/IORDWRBHE/S7DT/RDT/RRDARM处理器处理器79ARM Ltd 成立于1990年11月 前身为 Acorn计算机公司 主要设计ARM系列RISC处理器内核 授权ARM内核给生产和销售半导体的合
57、作伙伴 ARM 公司不生产芯片 另外也提供基于ARM架构的开发设计技术 软件工具, 评估板, 调试工具,应用软件,总线架构, 外围设备单元,等等ARM Offices Worldwide700+ employees worldwideEnglandCambridge, Maidenhead, Sheffield, BlackburnGermanyMunichFrance Paris, Sophia AntipolisKoreaSeoulUSSeattle, Los Gatos, Walnut Creek, Austin, Boston, San DiegoAsiaShanghai Beijin
58、g TaiwanJapanShin-Yokohama (Tokyo)ARM Partnership Model数据和指令类型 ARM 采用的是32位架构. ARM 约定: Byte :8 bits Halfword :16 bits (2 byte) Word :32 bits (4 byte) 大部分ARM core 提供: ARM 指令集(32-bit) Thumb 指令集(16-bit ) Jazelle cores 支持 Java bytecode处理器工作模式 ARM 有7个基本工作模式: User : 非特权模式,大部分任务执行在这种模式 FIQ : 当一个高优先级(fast) 中
59、断产生时将会进入这种模式 IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式 Supervisor :当复位或软中断指令执行时将会进入这种模式 Abort : 当存取异常时将会进入这种模式 Undef : 当执行未定义指令时会进入这种模式 System : 使用和User模式相同寄存器集的特权模式r0r1r2r3r4r5r6r7r8r9r10r11r12r13 (sp)r14 (lr)r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9
60、r10r11r12r13 (sp)r14 (lr)spsrFIQIRQSVCUndefAbortUser Moder0r1r2r3r4r5r6r7r8r9r10r11r12r13 (sp)r14 (lr)r15 (pc)cpsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr13 (sp)r14 (lr)spsrr8r9r10r11r12r13 (sp)r14 (lr)spsrCurrent Visible RegistersBanked out RegistersFIQIRQSVCUndefAbortr0r1r2r3r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年城市轨道交通建设委托管理合同
- 2024工装装修合同范文
- 2024个人房屋装修合同范本
- 2024年度安徽省某项环保设施建筑工程施工合同
- 母婴类课件教学课件
- 2024年员工保密责任协议书
- 2024年度计算机软硬件采购合同
- 2024年度应急物流服务协议
- 2024年店铺租赁协议(含装修)
- 2024年度企业咨询服务合同(战略规划)
- 只争朝夕不负韶华岗位竞聘述职报告
- 农场工作制度与农民岗位职责
- 2024年山东公务员考试行测真题及解析【完美打印版】
- 田赛裁判法与规则2
- 社区心肺复苏术普及
- 冬枣植保知识培训课件
- 校园突发事件与应急管理课件
- 计算机网络技术职业生涯规划
- DR拼接技术及常规摄片注意事项
- 《股票入门》课件
- 《不为人知的间歇泉》课件
评论
0/150
提交评论