第4章 中央处理器与指令系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

重庆电子工程职业学院重庆电子工程职业学院第4章中央处理器与指令系统中央处理器与指令系统2009-11-17重庆电子工程职业学院内容提要中央处理器的组成与功能1中央处理器的主要寄存器2Intel8086汇编语言入门3指令的结构与分类4寻址方式5中央处理器的工作过程6中央处理器与指令系统2009-11-17重庆电子工程职业学院中央处理器的组成及功能运算器控制器寄存器组中央处理器与指令系统2009-11-17重庆电子工程职业学院运算器的组成及功能功能①算术运算②逻辑运算③位移循环操作运算器算术/逻辑单元ALU累加器AC状态标志寄存器FR通用寄存器中央处理器与指令系统2009-11-17重庆电子工程职业学院运算器的组成及功能中央处理器与指令系统2009-11-17重庆电子工程职业学院累加器AC累加寄存器通常简称累加器(Accumulator,AC),是运算器中与ALU直接相连、使用频繁的一种通用寄存器累加器的功能当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果显然,运算器中至少要有一个累加寄存器中央处理器与指令系统2009-11-17重庆电子工程职业学院程序状态字寄存器程序状态字(ProgramStatusWord,PSW)用来表征当前运算的状态及程序的工作方式程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容•如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等•这些标志位通常用1位触发器来保存还用来保存中断和系统工作状态等信息•以便CPU和系统及时了解机器运行状态和程序运行状态程序状态字寄存器是一个保存各种状态条件标志的寄存器中央处理器与指令系统2009-11-17重庆电子工程职业学院控制器的组成及功能功能①取指令②分析指令③执行指令④控制程序和数据的输入输出⑤对异常情况和其它请求的处理程序计数器PC指令译码器ID指令寄存器IR时序电路控制逻辑部件PLA地址寄存器AR数据寄存器DR控制器中央处理器与指令系统2009-11-17重庆电子工程职业学院程序计数器程序计数器(ProgramCounter,PC)用来指出下一条指令在主存储器中的地址在程序执行之前,首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入PC因此PC的内容即是从主存提取的第一条指令的地址当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备•若为单字长指令,则(PC)+1PC•若为双字长指令,则(PC)+2PC,以此类推当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段来指定程序计数器具有寄存信息和计数两种功能中央处理器与指令系统2009-11-17重庆电子工程职业学院指令寄存器指令寄存器(InstructionRegister,IR)用来保存当前正在执行的一条指令当执行一条指令时,首先把该指令从主存读取到数据寄存器中然后再传送至指令寄存器指令译码器(InstructionDecoder,ID)对操作码进行测试,识别出所要求的操作对指令寄存器的操作码部分进行译码,以产生指令所要求操作的控制电位,并将其送到微操作控制线路上在时序部件定时信号的作用下,产生具体的操作控制信号指令寄存器中操作码字段的输出就是指令译码器的输入操作码一经译码,即可向操作控制器发出具体操作的特定信号中央处理器与指令系统2009-11-17重庆电子工程职业学院数据寄存器数据寄存器(DataRegister,DR)又称数据缓冲寄存器其主要功能是作为CPU和主存、外设之间信息传输的中转站用以弥补CPU和主存、外设之间操作速度上的差异数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中数据寄存器的作用⑴作为CPU和主存、外围设备之间信息传送的中转站⑵弥补CPU和主存、外围设备之间在操作速度上的差异⑶在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器中央处理器与指令系统2009-11-17重庆电子工程职业学院地址寄存器地址寄存器(AddressRegister,AR)用来保存CPU当前所访问的主存单元的地址由于在主存和CPU之间存在操作速度上的差异,必须使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止当CPU和主存进行信息交换时,都要使用地址寄存器和数据寄存器如果把外围设备与主存单元进行统一编址,那么,当CPU和外围设备交换信息时,同样要使用地址寄存器和数据寄存器中央处理器与指令系统2009-11-17重庆电子工程职业学院CPU的其它部件传统上,CPU由控制器和运算器这两个主要部件组成新型CPU集成了一些原先置于CPU之外的分立功能部件如浮点处理器、高速缓存(Cache)等大大提高CPU性能指标,也使得CPU的内部组成日益复杂化内部高速缓存(L1Cache):也就是一级高速缓存。在CPU里面内置了高速缓存可以提高CPU的运行效率,内置的L1高速缓存的容量和结构对CPU的性能影响较大,L1缓存越大,CPU工作时与存取速度较慢的L2缓存和内存间交换数据的次数越少,相对电脑的运算速度可以提高。不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大,L1缓存的容量单位一般为KB。算术逻辑单元ALU是“整数”单元。数学运算如加减乘除以及逻辑运算如“OR、AND、SHL、ROL”等指令都在算术逻辑单元中执行。在多数的软件程序中,这些运算占了程序代码的绝大多数。浮点运算单元FPU(FloatingPointUnit)则主要负责浮点运算和高精度整数运算。整数处理能力是CPU运算速度最重要的体现,但浮点运算能力是关系到CPU的多媒体、3D图形处理的一个重要指标,所以对于现代CPU而言浮点单元运算能力的强弱更能显示CPU的性能。中央处理器与指令系统2009-11-17重庆电子工程职业学院中央处理器的功能程序控制操作控制时间控制数据加工中央处理器与指令系统2009-11-17重庆电子工程职业学院程序控制程序控制就是控制指令的执行顺序程序是指令的有序集合指令的相互顺序不能任意颠倒,必须严格按照程序规定的顺序执行思考:C语言中指令的执行顺序,即程序结构有哪几类?分别用什么语句表示?保证计算机严格按照规定顺序执行程序是CPU的首要任务中央处理器与指令系统2009-11-17重庆电子工程职业学院操作控制操作控制就是控制指令进行操作一条指令的功能往往由若干个操作信号[微指令]的组合来实现CPU管理并产生每条指令的操作信号把各种操作信号送往相应的部件从而控制这些部件按指令的要求进行操作中央处理器与指令系统2009-11-17重庆电子工程职业学院时间控制时间控制就是对各种操作实施定时控制各种指令的操作信号和指令的整个执行过程受到严格定时只有这样,计算机才能有条不紊地工作中央处理器与指令系统2009-11-17重庆电子工程职业学院数据加工数据加工就是对数据进行算术和逻辑运算,以及移位、求补等inti=1;intj=65536;i=i3;j=j15;逻辑左移[8086汇编格式:SHLAX,1]低位补0,高位进入CF逻辑右移[8086汇编格式:SHRAX,1]高位补0,低位进入CF算术左移[8086汇编格式:SALAX,1]低位补0,高位进入CF算术右移[8086汇编格式:SARAX,1]高位补符号位,低位进入CF完成数据的加工处理,是CPU的基本任务中央处理器与指令系统2009-11-17重庆电子工程职业学院DI中央处理器的主要寄存器AXBXCX数据寄存器DXSPBPSI地址指针SSCSDSES段寄存器IPFLAGS控制寄存器变址寄存器通用寄存器中央处理器与指令系统2009-11-17重庆电子工程职业学院数据寄存器既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址,这样,4个16位寄存器就可当作8个8位寄存器来使用。AHALBHBLCHCLDHDLAXBXCXDXback累加器循环计数器中央处理器与指令系统2009-11-17重庆电子工程职业学院地址指针寄存器SP:堆栈指针寄存器其内容为堆栈栈顶的偏移地址;任何堆栈操作后,SP都会自动增/减量。BP:基址指针寄存器在间接寻址中用于存放操作数的基地址;常用于访问存放在堆栈中的数据。back中央处理器与指令系统2009-11-17重庆电子工程职业学院变址寄存器SI:源变址寄存器,用于访问源操作数DI:目标变址寄存器,用于访问目的操作数常用于操作数的间接寻址或变址寻址。在串操作指令中,SI存放源操作数的偏移地址,而DI存放目标操作数的偏移地址。back中央处理器与指令系统2009-11-17重庆电子工程职业学院段寄存器用于存放逻辑段的段基地址(简称段地址)CS:代码段寄存器。代码段存放指令代码DS:数据段寄存器ES:附加段寄存器它的作用是很大的,因为我们在处理数据的时候,经常需要用到两个数据段,特别是在字符串和数组的处理方面,使用两个数据段简便了许多的操作。例如:字符串的匹配、查找、复制等,设置了DS:SI和ES:DI,很多的串操作指令就派上用场了,如MOVS、REP、CMPS等等。SS:堆栈段寄存器:指示堆栈区域的位置这两个段存放操作数堆栈段SS数据段DS/ES代码段CSback中央处理器与指令系统2009-11-17重庆电子工程职业学院控制寄存器IP:指令指针寄存器其内容为下一条要执行的指令的偏移地址。FLAGS:标志寄存器存放指令执行结果的特征:•有些指令(如算术指令)要改变FLAGS的内容(影响FLAGS);•有些指令对FLAGS无影响。6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)OFDFIFTFSFZFAFPFCF1502467891011FLAGSback中央处理器与指令系统2009-11-17重庆电子工程职业学院DEBUG中标志寄存器各标志位OFDFIFTFSFZFAFPFCF1502467891011FLAGS中央处理器与指令系统2009-11-17重庆电子工程职业学院8086/8088存储器组织8086可访问1MB的存储空间(为什么?)哪个寄存器能够放得下20位的地址?用分段的方法解决。段是存储器中的一块区域段起始于存储器内16字节整倍数的边界处。•段首地址的最低4位一定为0用段和偏移的组合访问存储单元每个段最大为64KB,最小为16B(为什么?)所有存储单元的地址都由段地址加偏移地址组成段地址被装入段寄存器中以供寻址使用偏移地址用于在64KB存储器段内选择任一单元中央处理器与指令系统2009-11-17重庆电子工程职业学院段和偏移设段起始地址=60000H段地址偏移地址0~FFFFH6A000H12H60000H6000段寄存器偏移地址=A000H···0000段地址(16位)段起始地址××ו••×××中央处理器与指令系统2009-11-17重庆电子工程职业学院物理地址和逻辑地址物理地址:存储单元的硬件地址物理地址=段地址×16(或段地址左移4位)+偏移地址逻辑地址:段和偏移形式的地址逻辑地址用于汇编语言程序设计以下地址都是逻辑地址的例子:•2500H:0100H•段地址A000H•偏移地址0001H中央处理器与指令系统2009-11-17重庆电子工程职业学院物理地址和逻辑地址已知CS=1055H,DS=250AHES=2EF0H,SS=8FF0H数据段中某操作数偏

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功