版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 处理器,3.1 处理器的指令集,3.2 处理器的组成与工作过程,3.3 CISC和RISC,3.4 80 x86系列微处理器,3. 1 处理器的指令集,07:50:28,3. 1. 1 概述 人们与计算机交流所用的“词汇”叫做“指令(Instruction)”,所有可以采用的“词汇”组成的集合叫做“指令集 (Instruction Set) ”,这些“词汇”按照一定的顺序组合就形成了程序(Program)。 在国内,“指令集”常称为“指令系统”。,3. 1. 1 概述,07:50:28,机器指令: 计算机能直接识别的是由0和1排列而成的指令。 使用不方便。 汇编语言是基于英文的机器指令
2、助记符 汇编语言源程序按汇编语言书写的程序 汇编语言源程序由汇编程序(Assembler)转换成机器指令,供计算机接受并执行,3. 1. 1 概述,07:50:28,汇编语言的提出是计算机技术的一大进步,体现了计算思维的一个重要概念抽象。 计算机程序设计语言的发展过程就是 不断抽象的过程。通过抽象,程序设计语言具有了更好的可编程性、可移植性、可重用性。,指令系统:,指令:,就是要计算机执行某种操作的命令。,一台计算机中所有机器指令的集合。,指令集:,数据表示,寻址方式,指令集,返回首页,3. 1. 2 指令的操作码与操作数,07:50:28,冯诺依曼型计算机机器指令的逻辑格式,规定了指令所具有
3、的功能,指明指令所要处理的数据。,3. 1. 2 指令的操作码与操作数,07:50:28,一条指令中,操作数可能有一个、两个或三个,甚至更多。 操作数的个数也可以是零,即指令没有操作数。 在这些操作数中,作为处理单元输入的叫源操作数(Source Operand),用于存放处理结果的叫目的操作数(Destination Operand)。,指令字长决定于,操作码的长度,指令字长 = 存储字长,2. 指令字长 可变,操作数地址的长度,操作数地址的个数,1. 指令字长 固定,按字节的倍数变化,指令字长:一个指令字中包含二进制代码的位数。 机器字长:计算机能直接处理的二进制数据的位数。,返回,3.
4、1. 2 指令的操作码与操作数,07:50:28,数据表示:指令中所能表示的操作数数据类型,即能够被计算机硬件直接辨识的操作数数据类型 定点数(含有符号数和无符号数)、 浮点数(含单精度和双精度浮点数)、 字符、逻辑数(又称布尔型数据)。,3. 1. 2 指令的操作码与操作数,07:50:28,“堆栈(Stack)”是一个重要的数据结构,广泛应用于子程序调用和中断服务等领域。 原则:后进先出(Last In First Out, LIFO) “压入(PUSH)” “弹出(POP)”,返回,3. 1. 2 指令的操作码与操作数,07:50:28,硬件堆栈:用专门的硬件设备来实现的堆栈,也称为级联
5、堆栈。 软件堆栈:为了降低硬件成本,大多数计算机(特别是微型计算机)常用软件来实现堆栈,即在内存中开辟一个堆栈区,并在处理器中设置指示堆栈栈顶单元地址的“堆栈指针寄存器(Stack Pointer, SP)”来管理这个堆栈。,3. 1. 2 指令的操作码与操作数,07:50:28,相对于硬件堆栈,软件堆栈有三个优点: 可以有较大的深度。 可以设置多个堆栈。 除了专门的堆栈指令PUSH和POP外,还可以使用任何访问主存的指令来访问堆栈中的数据。,3. 1. 2 指令的操作码与操作数,07:50:28,只有标量数据表示和标量指令的处理器叫标量处理器,这是最常见、最通用的处理器。 带有向量数据表示和
6、向量指令的处理器叫向量处理器,例如我国于20世纪80年代研制的银河-1超级计算机就装备有向量处理器。,返回,3. 1. 3 寻址方式,07:50:28,寻址方式 (Addressing)指的是指令按照何种方式寻找或访问到所需的操作数或信息。 寻址方式分为指令寻址和数据寻址 指令寻址是为了找到下一条指令 数据寻址是为了找到本条指令所需的操作数,3. 1. 3 寻址方式,07:50:28,分为顺序寻址和跳跃寻址两种。 顺序寻址:每读取一次PC后,PC自动加1,指向下一条指令。 跳跃寻址则是由当前指令改写PC的内容,根据PC指向地址取下一条指令。,1. 指令寻址,07:50:28,3. 1. 3 寻
7、址方式- 指令寻址,07:50:28,改写PC的指令有“跳转指令(Jump )”和“分支指令(Branch )”。 这两种指令既可直接赋予PC一个新的值,也可在PC现有值的基础上增加或减少一定数量。,返回,3. 1. 3 寻址方式,07:50:28,2. 数据寻址,3. 1. 3 寻址方式- 数据寻址,07:50:29,(1)立即数寻址 (Immediate Addressing),在指令中直接给出操作数的数值。,指令执行阶段不访存,A 的位数限制了立即数的范围,可正可负 补码,形式地址 A 就是操作数,返回,3. 1. 3 寻址方式- 数据寻址,07:50:29,(2)直接寻址 (Direc
8、t Addressing),EA = A,寻址特征,A,ACC,执行阶段访问一次存储器,A 的位数决定了该指令操作数的寻址范围,操作数的地址不易修改(必须修改A),有效地址由形式地址直接给出,返回,3. 1. 3 寻址方式- 数据寻址,07:50:29,(3)间接寻址 (Indirect Addressing),EA =(A),有效地址由形式地址间接提供,寻址特征,A,EA,A1,EA,执行指令阶段 2 次访存,可扩大寻址范围,便于编制程序,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存, ,转 子程序,转 子程序,间接寻址编程举例,(A) = 81,(A) = 202, 间址特征
9、,JMP A,返回,3. 1. 3 寻址方式- 数据寻址,07:50:29,(4)寄存器寻址 (Register Addressing),EA = Ri,执行阶段不访存,只访问寄存器,执行速度快,寻址特征,寄存器个数有限,可缩短指令字长,有效地址即为寄存器编号,返回,3. 1. 3 寻址方式- 数据寻址,07:50:29,(5)寄存器间接寻址 (Register Indirect Addressing),EA = ( Ri ),有效地址在寄存器中, 操作数在存储器中,执行阶段访存,寻址特征,便于编制循环程序,有效地址在寄存器中,返回,3. 1. 3 寻址方式- 数据寻址,07:50:29,(6
10、)基址寻址 ( Base Addressing ),“逻辑地址”是程序员编写程序时使用的地址 “主存物理地址”是程序段/数据段在主存中的实际存放地址 程序段/数据段每次装入主存的起始地址是不确定的,每次运行时,某条指令或某个数据的“主存物理地址”也是不确定的 但是这条指令或这个数据的“逻辑地址”是固定的,3. 1. 3 寻址方式- 数据寻址,07:50:29,(6)基址寻址 ( Base Addressing ),在处理器内部设置一个专门存放程序段/数据段在主存中起始地址的寄存器,称起始地址为基地址,简称“基址”,称该寄存器为“基址寄存器”。 “逻辑地址”与基址寄存器中的值相加即得到指令或数据
11、的“主存物理地址”。 指令中给出的“逻辑地址”又称为相对于基址的“位移量”,位移量是一个有符号的整数,常用补码表示。,(1) 采用专用寄存器作基址寄存器,EA = ( BR ) + A,BR 为基址寄存器,寻址特征,可扩大寻址范围,便于程序搬家,BR 内容由操作系统或管理程序确定,在程序的执行过程中 BR 内容不变,形式地址 A 可变,(2) 采用通用寄存器作基址寄存器,寻址特征,R0 作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,基址寄存器的内容由操作系统确定,在程序的执行过程中 R0 内容不变,形式地址 A 可变,返回,3. 1. 3 寻址方式- 数据寻址,(7)变址寻址 (Ind
12、exed Addressing),EA = ( IX ) +A,寻址特征,可扩大寻址范围,便于处理数组问题,IX 的内容由用户给定,IX 为变址寄存器,在程序的执行过程中 IX 内容可变,形式地址 A 不变,通用寄存器也可以作为变址寄存器,例,设数据块首地址为 D,求 N 个数的平均值,直接寻址,变址寻址,LDA D,ADD D + 1,ADD D + 2,ADD D + ( N -1 ),DIV # N,STA ANS,LDA # 0,LDX # 0,INX,CPX # N,BNE M,DIV # N,STA ANS,共 N + 2 条指令,共 8 条指令,X 为变址寄存器,D 为形式地址,
13、(X) 和 #N 比较,结果不为零则转,返回,3. 1. 3 寻址方式- 数据寻址,07:50:29,(8)堆栈寻址,SP堆栈指针寄存器,先进后出(一个入出口),栈顶地址 由 SP 指出, 1,1FFFH,+1,2000 H,1FFF H,2000 H,PUSH A 前,PUSH A 后,POP A 前,POP A 后,3. 1. 3 寻址方式- 数据寻址,07:50:29,根据堆栈的增长方向分为: 递增堆栈(Ascending Stack) ,也称向上增长堆栈。随着数据的压入,这种堆栈向高地址方向增长; 递减堆栈(Descending Stack) ,也称向下增长堆栈。随着数据的压入,这种堆
14、栈向低地址方向增长。,(8)堆栈寻址,3. 1. 3 寻址方式- 数据寻址,07:50:29,根据SP所指示栈顶单元的属性,堆栈也可分为: 满堆栈(Full Stack) 。SP指示栈顶单元存储的是最后压入数据。 空堆栈(Empty Stack) 。SP指示栈顶单元用于接收下一个要压入的数据。,(8)堆栈寻址,返回,07:50:29,例2:某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地
15、址是 。 A2006H B2007H C2008H D2009H,例1:偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址的是 。 A.间接寻址 B.基址寻址 C.相对寻址 D.变址寻址,返回,3. 1. 4 指令的基本功能,07:50:29,(1)算术/逻辑/移位指令(算逻指令) (2)数据传送指令(数传指令) (3)控制转移指令 (4)输入/输出指令 (5)处理器控制及调试指令,返回首页,3. 1. 4 指令的基本功能,07:50:29,(1)算逻指令,定点加法指令ADD 定点减法指令SUB 定点乘法指令MUL 定点除法指令DIV 加1指令INC
16、减1指令DEC 比较指令CMP,浮点加法指令ADDF 浮点减法指令SUBF 浮点乘法指令MULF 浮点除法指令DIVF,十进制数算术运算指令,影响处理器状态标志位,算术指令,返回首页,3. 1. 4 指令的基本功能,07:50:29,(1)算逻指令,“与”运算指令AND “或”运算指令OR “非”运算指令NOT “异或”运算指令XOR 位测试 位清除 位求反,算术左移指令 算术右移指令 逻辑左移指令 逻辑右移指令 带进位循环左移指令 不带进位循环左移指令 带进位循环右移指令 不带进位循环右移指令,逻辑指令,移位指令,返回首页,3. 1. 4 指令的基本功能,07:50:29,(2)数传指令,根
17、据数据的流向分: 寄存器与寄存器之间的数据传送 寄存器与主存储器单元之间的数据传送 寄存器与堆栈之间的数据传送 堆栈与主存储器单元之间的数据传送 内存单元与内存单元之间的数据传送,返回首页,3. 1. 4 指令的基本功能,07:50:29,(2)数传指令,根据传输的功能分:一般传送、堆栈操作、数据交换 一般传送指令 实现数据复制功能,即把源操作数的内容写入目的操作数。其汇编语言助记符通常为MOV。 LOAD:内存 寄存器 STORE:寄存器 内存,返回首页,3. 1. 4 指令的基本功能,07:50:29,(2)数传指令,根据传输的功能分: 堆栈操作指令 压入栈顶PUSH 弹出栈顶POP PU
18、SH的源操作数和POP指令的目的操作数,一般是寄存器号,也可能是主存储器单元地址.,返回首页,3. 1. 4 指令的基本功能,07:50:29,(2)数传指令,“数据交换指令” 实现两个数据的交换 如Intel 80 x86中的XCHG指令。 源操作数和目的操作数一般都是寄存器,至多允许源操作数是主存储器单元。 数据交换指令的执行时间一般较长。,返回首页,3. 1. 4 指令的基本功能,07:50:29,(3)控制转移指令,跳转指令JUMP (无条件转移) 分支指令(条件转移) 子程序调用CALL/返回指令RET 循环控制指令LOOP 中断系统指令,返回首页,3. 1. 4 指令的基本功能,0
19、7:50:29,(3)控制转移指令,分支指令,根据特定条件(往往是上一条指令的执行结果),决定程序是顺序执行还是转移到一个新的位置执行,也称条件转移指令。 条件转移指令可能依据的条件有: 为0、为正/负数、发生进位/借位、为奇数/偶数、发生溢出或以上条件的组合。,返回首页,3. 1. 4 指令的基本功能,07:50:29,(3)控制转移指令,分支指令,条件转移指令又分为“绝对转移”和“相对转移”两种。 对于“绝对转移”,当条件满足时,计算机将把该指令中所含操作数的内容直接写入PC中。 对于“相对转移”,当条件满足时,计算机将把该指令中所含操作数的内容与PC中的内容相加后,把结果写入PC中。,返
20、回首页,07:50:29,例3:某机器字长16位,主存按字节编址,转移指令采用相对寻址,由两个字节组成,第一字节为操作码字段,第二字节为相对位移量字段。假定取指令时,每取一个字节PC自动加1。若某转移指令所在主存地址为2000H,相对位移量字段的内容为06H,则该转移指令成功转移后的目标地址是 。 A2006H B2007H C2008H D2009H,返回首页,3. 1. 4 指令的基本功能,07:50:29,常见的条件转移指令有: 等于零转移BEQ 不等于零转移BNEQ 小于转移BLS 大于转移BGT 小于等于转移/不大于转移BLEQ 大于等于转移/不小于转移BGEQ 不带符号小于转移BL
21、SU 不带符号大于转移BGTU 不带符号小于等于转移/不带符号不大于转移BLEQU 不带符号大于等于转移/不带符号不小于转移BGEQU,没有进位转移BCC 有进位转移BCS 没有溢出转移BVC 有溢出转移BVS,返回首页,3. 1. 4 指令的基本功能,07:50:29,(3)控制转移指令,子程序调用CALL/返回指令RET,在程序中,有一些具有特定功能的程序段会被反复使用。为了提高程序的可读性、可重用性和可维护性,人们将这样的程序段独立出来,将其定义成一个子程序。,返回首页,3. 1. 4 指令的基本功能,07:50:29,调用子程序的指令格式: CALL Subprogram_Name 功
22、能是,首先把当前程序的断点保存到系统堆栈中,把子程序的入口地址写入PC,从而将程序控制转移至被调子程序。 RET指令的功能是把保存在堆栈中的程序断点弹回到PC之中。,返回首页,3. 1. 4 指令的基本功能,07:50:29,(4)输入/输出指令,为了完成主机与外设之间信息交换的各种操作而设置,包括: 启动输入/输出设备、停止输入/输出设备、测试输入/输出设备及数据的输入或输出等指令。 例如,Intel 80 x86中的输入指令为IN指令,输出指令为OUT指令。,返回首页,3. 1. 4 指令的基本功能,07:50:29,(5)处理器控制及调试指令,包括各种设置/清除标志位(如陷阱标志、中断允
23、许标志、处理器工作状态标志位)指令、特权指令、进程同步指令、调试指令、停机指令等。 调试指令用于硬件或软件的调试。硬件调试指令包括钥匙位置、开关状态的读取指令,重要寄存器和主存储器单元内容的显示等。软件调试指令包括断点的设置及跟踪指令,自陷阱指令等。,返回首页,3. 1. 4 指令的基本功能,07:50:29,对于面向多用户系统的处理器,为了保证信息安全,处理器的工作状态被分为核心态(Kernel mode /System mode)和用户态(User mode)。 仅能在核心态(也叫管理态/管态)下运行的指令称为特权指令(Privileged instruction)。用户态(也叫目态)下的
24、程序要想执行管态下的功能(由操作系统实现并提供用户使用)必须通过执行“访管指令”来实现。,返回首页,3. 1. 4 指令的基本功能,07:50:29,此外,还有:空操作指令NOP和等待指令WAIT,访管指令是一条可以在目态下执行的指令,用户程序中凡是要调用操作系统功能的地方就安排一条访管指令。当执行到访管指令时,处理器就自愿地产生一个中断事件(访管中断),暂停用户程序的执行,陷入管态,让操作系统为用户服务。,返回首页,举 例,例:一条双字长直接寻址的子程序调用指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC当前值为2000H , SP的内容为0100H ,栈顶内容为27
25、46 H,存储器按字节编址,而且进栈操作是先执行(SP)-SP,后存入数据。试可答下列几种情况下,PC,SP及栈顶内容各为多少? (1) CALL指令被读取前。 (2) CALL指令被执行后。 (3)子程序返回后。,返回首页,解: (1) CALL指令被读取前, PC=2000H,SP=0100H,栈顶内容为2746H (2) CALL指令被读取后,PC=2004 CALL指令被执行后,PC=5000H SP=00FEH 栈顶内容为2004H (3)子程序返回后 PC =2004H, SP=0100H, 栈顶内容为2746H,返回首页,3. 1. 5 指令的格式,07:50:29,涉及指令的操
26、作码长度、指令“地址制”及采用的寻址方式、指令长度等问题。,返回首页,3. 1. 5 指令的格式,07:50:29,(1)指令操作码的长度有定长和不定长两种选择 选择定长的操作码可以简化指令译码器的设计与实现; 选择不定长操作码(也称扩展操作码)可使常用指令拥有较短的操作码而不常用指令拥有较长的操作码(即哈夫曼压缩编码) ,从而压缩程序所占的存储空间。,返回首页,3. 1. 5 指令的格式,07:50:29,(2)在一条指令中出现几个操作数地址,这是指令的“地址制”所要解决的问题。一般情况下,指令中地址的个数,可以取4,3,2,1,0个。,返回首页,(1) 四地址,(2) 三地址,8 6 6
27、6 6,A1 第一操作数地址,A2 第二操作数地址,A3 结果的地址,A4 下一条指令地址,若 PC 代替 A4,8 8 8 8,4 次访存,4 次访存,寻址范围 26 = 64,寻址范围 28 = 256,若 A3 用 A1 或 A2 代替,(3) 二地址,8 12 12,或,4 次访存,若ACC 代替 A1(或A2),若结果存于 ACC,(4) 一地址,(5) 零地址,8 24,无地址码,2 次访存,寻址范围 212 = 4 K,寻址范围 224 = 16 M,3次访存,3. 1. 5 指令的格式,07:50:29,“地址制”设计或改进的目的是为了压缩指令长度,缩短指令的执行时间。 同一条
28、指令中不同操作数可采用不同的寻址方式 例如,一条指令中的操作数可以都存放在寄存器里,也可以把一个操作数存放在寄存器里,而另一个操作数存放在主存里。,返回首页,3. 1. 5 指令的格式,07:50:29,指令长度可以是固定或变化的。固定长度的指令便于指令的存取和译码,但会限制操作数个数的增加和复杂寻址方式的使用;而变化长度的指令的特点正好相反。 例如,IBM S/ 370指令采用定长的8位操作码,有单地址、两地址和三地址三种地址制,不同的操作数可以采用不同的寻址方式,指令字长有16位、32位和48位三种。,返回首页,例1 某机16位字长指令格式如下,试问: 5 3 8 A为形式地址,补码表示(
29、包括一位符号位)。M为寻址模式。 1、该指令格式能定义多少种不同的操作。 2、立即寻址操作数的范围是多少? 3、写出各种寻址方式计算有效地址EA的表达式。 4、直接寻址(此时A视为无符号数)、间接寻址能寻址的 主存地址空间为多少?(主存容量为64K),1、32,2、256(-128127),4、256,64K,指令格式设计举例,返回首页,指令格式举例,一、设计指令格式时应考虑的各种因素,1. 指令系统的 兼容性,(向上兼容),2. 其他因素,操作类型,数据类型,指令格式,包括指令个数及操作的难易程度,指令字长、操作码位数,地址码位数、地址个数,寻址方式、操作码长度,返回首页,寻址方式,寄存器个
30、数,第3章 处理器,3. 1 处理器的指令集,07:50:29,3. 1. 1 概述 3. 1. 2 指令的操作码与操作数 3. 1. 3 寻址方式 3. 1. 4 指令的基本功能 3. 1. 5 指令的格式 3. 1. 6 面向多媒体处理的增强指令,返回首页,指令格式设计举例,例2 某机器字长16位,存储器直接寻址空间为128字,变址时的位移量为-6463,16个通用寄存器均可作为变址寄存器。设计一套指令系统格式,满足下列寻址类型的要求。 (1)零地址指令。 (2)直接寻址的一地址指令。 (3)寄存器寻址的二地址指令。 (4)变址寻址的一地址指令。 (5)直接寻址的二地址指令。 若安排寄存器
31、寻址的一地址指令?,返回首页,返回首页,指令设计举例,例3某模型机共有64种操作,操作码位数固定,且具有以下特点。 (1)采用一地址或二地址格式。 (2)有寄存器寻址、直接寻址和相对寻址(位移量为-128+127)三种寻址方式。 (3)有16个通用寄存器,算术运算和逻辑运算的操作数均在寄存器中,结果也在寄存器中。 (4)取数/存数指令在通用寄存器和存储器之间传送数据 (5)存储器容量为1 MR,按字节编址。,返回首页,3. 2. 1 处理器的基本功能和基本组成,1处理器概述 外观 触点阵列LGA封装,07:50:29,返回首页,3. 2. 1 处理器的基本功能和基本组成,信息传输 片内总线:处
32、理器内部各个单元之间信号传输的线路。片内控制总线和片内数据总线 片外总线:用于实现处理器与主存储器和输入/输出设备之间信号传输的线路,07:50:29,返回首页,3. 2. 1 处理器的基本功能和基本组成,外部引脚 电源引脚(Vcc)和接地引脚(GND) 数据总线引脚 D15D0 地址总线引脚 A31A0 控制总线引脚 时钟CLK、复位RESET、总线请求HRQ、总线允许HLDA、中断请求INTR、中断响应INTA、读RD、写WR,07:50:29,返回首页,3. 2. 1 处理器的基本功能和基本组成,2处理器的基本功能 取指令 分析指令 取数据 处理数据 写回结果,07:50:29,返回首页
33、,3. 2. 1 处理器的基本功能和基本组成,取指令 处理器根据PC给出的主存地址访问主存储器,取出一个标准字长的指令,将其送入处理器内部专门存放当前指令的指令寄存器 IR PC加1 分析指令 将IR中的操作码部分取出送入指令译码器(Decoder)进行译码。根据译码结果判断出指令的功能、操作数的寻址方式以及操作数的数据类型,形成源操作数或目的操作数的物理地址。,07:50:29,返回首页,3. 2. 1 处理器的基本功能和基本组成,取数据 根据源操作数的物理地址访问主存,取出源操作数。源操作数将被送入处理器内部的数据寄存器 处理数据 处理器将源操作数送入运算器,并根据指令译码结果启动运算器的
34、相应操作对数据进行处理。处理结果存回通用数据寄存器。 写回结果 如果指令要求将结果写回主存,那么处理器将根据目的操作数的地址,将目的操作数写入主存,07:50:29,返回首页,3. 2. 1 处理器的基本功能和基本组成,3处理器的基本组成 算术逻辑单元ALU,07:50:29,返回首页,3. 2. 1 处理器的基本功能和基本组成,控制单元CU 通过对指令的分析(译码),按照一定的时序,发出控制信号,使CPU在控制信号的驱动下,完成相应指令的功能 寄存器 用户可见的寄存器:通用数据寄存器、基址寄存器、变址寄存器、FR、PC 用户透明的寄存器: MAR和MDR,07:50:29,返回首页,3. 2
35、. 1 处理器的基本功能和基本组成,中断 中断:指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机会在适当时机暂停现行程序的运行,转向执行处理这些异常情况或特殊请求的程序,处理结束后再返回到现行程序的间断处继续执行 能够发出中断请求的部件或事件,称为“中断源”。 为了区分不同请求信号,不同的中断源被赋予了一个不同的“中断类型号” 中断相应时间:指令周期结束 处理器信号:INTR和INTA,07:50:29,返回首页,07:50:29,3. 2. 1 处理器的基本功能和基本组成,返回首页,07:50:29,3. 2. 1 处理器的基本功能和基本组成,返回首页,07:50:29,3.
36、2. 2 计算机的工作过程,指令周期:处理器每取出并执行一条指令所需的全部时间 “取指”将指令从主存取入到处理器中 “执行”指令译码并完成其指定的操作,返回首页,07:50:29,有的指令采用间接寻址。为了取到操作数,在取指周期之后还有一个访问主存,读取操作数地址的周期,这个周期就是间址周期。,3. 2. 2 计算机的工作过程,返回首页,3. 2. 2 计算机的工作过程,不同指令所完成的功能不同,它们的指令周期也不尽相同 无条件转移指令“JUMP TARGET” 空操作指令NOP 加法指令“ADD X” 乘/除法指令,07:50:29,返回首页,3. 2. 2 计算机的工作过程,机器周期是所有
37、指令执行过程中的一个基准时间。 通常选取处理器访问一次主存的时间(也称主存周期)作为机器周期 一个机器周期内又包含了若干时钟周期(也称节拍),07:50:29,返回首页,07:50:29,为了实现各种操作的时序控制,在处理器内部专门设置有时钟部件。 指令周期、机器周期和节拍的关系如下图所示。,3. 2. 2 计算机的工作过程,返回首页,07:50:29,下面以计算 X + Y 为例来编制控制计算机/处理器工作的程序。 (1)从内存单元X中取数据送入累加器ACC; (2) ACC加上内存单元Y中的数据, 结果存回ACC中; (3) ACC的值存入内存单元Z中; (4)停机。,3. 2. 2 计算
38、机的工作过程,返回首页,07:50:29,此程序在某模型机上运行,用到的指令如下:,3. 2. 2 计算机的工作过程,返回首页,07:50:29,程序存入主存的结果如下,其中分配给变量X,Y和Z的内存单元地址是1100B、1101B和1110B。,返回首页,07:50:29,执行程序时,管理程序先将程序第一条指令的地址(1000B)送入PC,然后启动执行。,返回首页,07:50:29,3. 2. 2 计算机的工作过程,返回首页,07:50:29,返回首页,07:50:29,返回首页,第3章 处理器,3. 2 处理器的组成与工作过程,07:50:29,3. 2. 1 处理器的基本功能和基本组成
39、3. 2. 2 计算机的工作过程 3. 2. 3 采用流水线技术的处理器,3. 3 从CISC到RISC,返回首页,3. 3. 1 RISC产生的背景,上世纪70年代 计算机的指令系统变得越来越复杂 VAX-11 拥有 330条指令,指令长度从16位到 456位长不等,寻址方式有16种 CPU的设计变得十分复杂,设计周期延长,设计成本倍增,07:50:29,返回首页,某计算机的指令使用频率,2021/3/26,返回首页,3. 3. 1 RISC产生的背景,20 80 规律 在典型程序的运行中,80% 的时间执行的只是占指令系统 20% 的少数常用指令。 “软硬件等价性原理” 复杂指令的功能可以
40、由基于简单指令的子程序来完成,07:50:29,返回首页,3. 3. 1 RISC产生的背景,1975年,IBM 801 John Cocke ,120条简单指令的计算机 1981年, RISC I 加州大学伯克利分校的David Patterson ,31条指令 RISC:Reduced Instruction Set Computer,07:50:29,返回首页,07:50:29,IBM的John Cocke -“图灵奖”获得者,返回首页,3. 3. 1 RISC产生的背景,RISC:精简指令集计算机 Reduced Instruction Set Computer 采用简单的指令格式、寻
41、址方式的计算机 CISC:复杂指令集计算机 Complex Instruction Set Computer 具有复杂的指令格式、寻址方式的计算机,07:50:29,返回首页,RISC 的主要特征 选用使用频率较高的一些简单指令,复杂指令的功能由简单指令来组合 指令 固定长度 只有 LOAD / STORE 指令访存 流水技术,一个时钟周期完成一条指令 组合逻辑 实现控制器 多个 通用 寄存器 采用 优化 的 编译 程序,07:50:29,返回首页,RISC和CISC 的比较,1. RISC更能 充分利用 芯片,2. RISC 更能 提高计算机运算速度,指令数、指令格式、寻址方式少, 通用 寄
42、存器多,采用 组合逻辑 , 便于实现 指令流水,3. RISC 便于设计,可 降低成本,提高 可靠性,4. RISC 有利于编译程序代码优化,5. RISC 不易 实现 指令系统兼容,返回首页,指 令 流 水,一、系统的并行性,时间上互相重叠,2. 并行性的等级,指令级(指令之间),过程级(程序、进程),两个或两个以上事件在 同一时刻 发生,两个或两个以上事件在 同一时间段 发生,并行,1. 并行的概念,粗粒度,软件实现,细粒度,硬件实现,返回首页,二、指令流水原理,2. 指令的二级流水,1. 指令的串行执行,取指令 取指令部件 完成,总有一个部件 空闲,指令预取,若 取指 和 执行 阶段时间
43、上 完全重叠,指令周期 减半 速度提高 1 倍,执行指令 执行指令部件 完成,返回首页,必须等 上条 指令执行结束,才能确定 下条 指令的地址 造成时间损失,3. 影响指令流水效率加倍的因素,(1) 执行时间 取指时间,(2) 条件转移指令 对指令流水的影响,解决办法 ?,猜测法,返回首页,4. 指令的六级流水,六级流水,14 个时间单位,串行执行,6 9 54 时间单位,完成 一条指令,6 个时间单位,返回首页,三、影响指令流水性能的因素,1. 访存冲突,解决办法, 指令存储器和数据存储器分开, 指令预取技术 (适用于访存周期短的情况),返回首页,2. 相关问题,程序的相近指令之间出现某种关
44、联 使指令流水出现停顿 影响流水线效率,(1) 控制相关,返回首页,(2) 数据相关,几条相近的指令间,共用 同一存储单元 或 同一寄存器 时, 会出现 数据相关,返回首页,四、流水线性能,1. 吞吐率,单位时间内 流水线所完成指令 或 输出结果 的 数量,最大吞吐率,实际吞吐率,连续处理 n 条指令的吞吐率为,返回首页,2. 加速比 Sp,m 段的 流水线的速度 与等功能的 非流水线的速度 之比,返回首页,由于流水线有 建立时间 和 排空时间 因此各功能段的 设备不可能 一直 处于 工作 状态,流水线中各功能段的 利用率,3. 效率,返回首页,3. 效率,流水线中各功能段的 利用率,返回首页
45、,五、流水线的多发技术,1. 超标量技术,每个时钟周期内可 并发多条独立指令,不能调整 指令的 执行顺序,配置多个功能部件,通过编译优化技术,把可并行执行的指令搭配起来,返回首页,2. 超流水技术,在 一个时钟周期 内 再分段 ( 3 段),不能调整 指令的 执行顺序,在一个时钟周期内 一个功能部件使用多次( 3 次),靠编译程序解决优化问题,流水线速度是原来速度的 3 倍,返回首页,3. 超长指令字,采用 多个处理部件,返回首页,六、流水线结构,1. 指令流水线结构,完成一条指令分 7 段, 每段需一个时钟周期,若 流水线不出现断流,1 个时钟周期出 1 结果,不采用流水技术,7 个时钟周期
46、出 1 结果,理想情况下,7 级流水 的速度是不采用流水技术的 7 倍,返回首页,2. 运算流水线,完成 浮点加减 运算 可分 对阶、尾数求和、规格化 三段,分段原则 每段 操作时间 尽量 一致,返回首页,3.4 80 x86系列微处理器,8086是第一款16位微处理器,问世之初,市场上缺乏与之配套的外围芯片,用8086来构建微型计算机成本很高。为此,Intel公司推出与8086兼容的准16位微处理器8088。,返回首页,8088的通用寄存器组、ALU、指令系统都是按照16位设计的,与8086完全相同,只不过8088的数据引脚是8位的。这样就可以兼容当时已有的一整套的外围芯片。 8086/80
47、88微处理器的浮点运算能力和I/O能力相对较弱,为了满足用户对高性能计算的要求,Intel公司还推出了两款协处理器数值运算协处理器8087 和 I/O协处理器8089。 为此,只配置一个8086/8088微处理器的工作模式被定义为最小模式。在这种模式中,所有的总线控制信号都直接由8086或8088发出。相对而言,包含协处理器的微处理器工作模式被定义为最大模式。,返回首页,通用寄存器组,AX,BX,CX,DX,外部总线,内部总线,地址加法器,8086CPU结构图,返回首页,一、总线接口部件(BIU) 1.功能:负责与存储器、IO接口之间传送信息。 2.基本组成: (1)四个段地址寄存器:主要用于
48、存放段基址 (2)16位指令指针寄存器IP (3) 20位的地址加法器。 (4)六字节的指令队列缓冲器。 二、执行部件(EU) 1.功能:负责指令的执行 (1)从指令队列中取出指令。 (2)对指令进行译码,发出相应的控制信号。 (3)接收由总线接口送来的数据或发送数据至接口 (4)进行算术逻辑运算,返回首页,2.基本组成 (1)ALU:进行算术和逻辑运算;计算存储单元16位偏移地址。 (2)四个通用寄存器AX、BX、CX、DX。 四个通用寄存器都是16位,可作两个8位来使用。 (3)四个专用寄存器 地址指针寄存器 变址寄存器 (4)数据暂存寄存器 协助ALU完成运算,暂存参加运算的数据。 (5
49、)执行部件的控制电路 从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。 (6)标志寄存器,返回首页,16位寄存器,其中有7位未用。,D15,D0,OF DF IF TF SF ZF AF PF CF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,跟踪标志,中断允许,方向标志,溢出标志,1-有进、借位 0-无进、借位,1-低8位有偶数个1 0-低8位有奇数个1,1-低4位向高4位有进、借位 0-低4位向高4位无进、借位,1-结果为0 0-结果不为0,三、8086 的 分 段 存 储 结 构,存储器为什么要分段呢? 16位微处理器,常规上管理2
50、16 = 64KB的存储空间 这样的存储空间满足不了应用的要求。 用什么方法来扩大呢? 将正常管理的64KB存储空间定义为一个段 让微处理器能够管理多个这样的段 通过分段存储结构,8086/8088能够管理1MB的存储空间。 存储器分段后如何来管理呢? 每个段的起始地址称为:段基址或段地址 每个段内的地址称为:段内偏移地址 一个物理存储单元就可以通过“段地址:偏移地址”来唯一确定了。,返回首页,依照用途的不同,可分为如下段,存储程序(指令)代码。其段基址存放于CS寄存器,段内偏移地址存放于IP寄存器,存储程序定义的变量。段基址存放于DS寄存器,段内偏移地址存放于SI、DI或BX寄存器,管理系统
51、堆栈。段基址存放于SS寄存器,段内偏移地址存放于SP或BP寄存器,存储经过处理的中间变量。段基址存放于ES寄存器,段内偏移地址存放于SI、DI或BX寄存器,返回首页,AX,BX,CX,DX,8086/8088 的寄存器组,作为累加器用,在加法运算中参与运算,结果存于累加器中; 所有的I/O指令都隐含地使用AX与外部设备传送信息。,作为通用寄存器使用 在采用基址寻址方式时,用作基址寄存器,作为通用寄存器使用; 常用来保存计数值,如在移位指令、循环指令和串处理指令中用作隐含的计数器。,作为通用寄存器使用; 在一些指令中,通常用它来存放数据,所以又称为数据寄存器; 在做双字长运算时,将DX和AX组合
52、在一起存放双字长数,用DX存放高位字。,返回首页,由段基址和相对于该段的偏移地址共同描述的地址 逻辑地址,例如: 5000H:2000H,20根地址线所表示的地址 物理地址,返回首页,0 0 0 0,段 地 址,如何根据16位的段地址和16位的段内偏移地址来计算20位的物理地址呢?,19 4 3 0,段地址左移四位,20 位 的 物 理 地 址,8086/8088 的分段存储结构,2021/3/26,返回首页,物理地址的计算方法,段地址左移四位,再加上偏移地址,就得到20位的物理地址。,返回首页,四、8086的引脚功能,0102030405060708091011121314151617181
53、920,4039383736353433323130292827262524232221,GND,AD14,AD13,AD12,AD11,AD10,AD9,AD8,AD7,AD6,AD5,AD4,AD3,AD2,AD1,AD0,NMI,INTR,CLK,GND,VCC(5V),AD15,A16/S3,A17/S4,A18/S5,A19/S6,/BHE/S7,MN/MX,/RD,HOLD(/RQ/GT0),HLDA(/RQ/GT1),/WR(/LOCK),M/IO(/S2),DT/R(/S1),/DEN(/S0),ALE(QS0),/INTA(QS1),/TEST,READY,RESET,8086,8086CPU采用双列直插式的封装形式,具有40条引脚。它采用分时复用的地址/数据总线,所以有一部分引脚具有双重功能,即在不同时钟周期内,引脚的作用不同。(括号中为最大模式下的名称),数据总线 地址总线 状态总线 控制总线 电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2030跑车行业兼并重组机会研究及决策咨询报告
- 买卖土地合同(15篇)
- 2025-2030中国玻璃马赛克行业市场发展趋势与前景展望战略研究报告
- 基层医生个人工作总结(资料11篇)
- 2025至2030OLED显示面板产能扩张与终端产品渗透路径研究报告
- 企业员工上半年工作总结合集15篇
- 疫苗安全性评价体系
- 网络心理干预效果评估
- 2025-2030智慧农业项目技术方案评估与环境可持续发展研究报告
- 2025-2030智慧农业装备行业市场竞争现状及未来发展趋势研究报告
- 集群无人机自主编队研究课题申报书
- 呼吸科安宁疗护与临终关怀
- 2026年全国两会应知应会知识竞赛测试题库及答案
- 2026哈尔滨工业大学郑州高等研究院招聘1人考试参考试题及答案解析
- 探秘“转化链”:基于真实情境的初中科学物质推断项目式学习设计
- 护理三基三严考试题库及答案大全
- 生成式人工智能在初中历史课堂互动教学中的实践与反思教学研究课题报告
- 2026年1月浙江省高考首考英语试卷真题完整版(含答案+听力)
- 《华南地区长效型花境管养技术规程》
- 2024+EACTS+指南:成人心脏手术围手术期用药
- 2026年陕西国防工业职业技术学院单招职业技能考试题库附答案解析
评论
0/150
提交评论