新编-计算机系统组成电子教案(第4章)-精品课件.ppt

上传人(卖家):三亚风情 文档编号:3537056 上传时间:2022-09-13 格式:PPT 页数:104 大小:1,013.51KB
下载 相关 举报
新编-计算机系统组成电子教案(第4章)-精品课件.ppt_第1页
第1页 / 共104页
新编-计算机系统组成电子教案(第4章)-精品课件.ppt_第2页
第2页 / 共104页
新编-计算机系统组成电子教案(第4章)-精品课件.ppt_第3页
第3页 / 共104页
新编-计算机系统组成电子教案(第4章)-精品课件.ppt_第4页
第4页 / 共104页
新编-计算机系统组成电子教案(第4章)-精品课件.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

1、东南大学计算机学院东南大学计算机学院主讲教师:主讲教师:徐造林徐造林计算机系统组成计算机系统组成第第4章章 指令系统指令系统 计算机指令计算机指令 指令指令:就是要计算机执行某种操作的命令;有:就是要计算机执行某种操作的命令;有微指令微指令、机器指令机器指令和和宏指令宏指令之分。之分。计算机能执行的计算机能执行的机器指令机器指令全体称为该机的全体称为该机的指令系统指令系统 指令系统指令系统是是软件编程的出发点软件编程的出发点和和硬件设计的依据硬件设计的依据,它,它衡量机器衡量机器硬件的功能硬件的功能,反映,反映硬件对软件支持的程度硬件对软件支持的程度。4.1 指令系统概述指令系统概述 4.1.

2、1 指令系统简介指令系统简介 指令系统指令系统主要是为计算机应用、编译程序和操作系统主要是为计算机应用、编译程序和操作系统提供支持。提供支持。指令系统中指令系统中指令的设计指令的设计,需要从,需要从性能提高性能提高和带来的和带来的成成本增加本增加两个方面考虑。两个方面考虑。1.指令系统组成指令系统组成 两种类型的指令两种类型的指令(1)非特权指令非特权指令:这类指令主要:这类指令主要供用户使用供用户使用,又可分,又可分为功能性指令和非功能性指令两种。为功能性指令和非功能性指令两种。(2)特权指令特权指令:主要供:主要供系统程序员系统程序员使用,一般不允许使用,一般不允许用户使用。其中包括用户使

3、用。其中包括I/O指令、停机等待指令、指令、停机等待指令、存储管理及保护指令、控制系统状态指令、诊断存储管理及保护指令、控制系统状态指令、诊断指令等。指令等。2.对指令系统性能的要求对指令系统性能的要求 完备性完备性:指令系统应:指令系统应功能齐全功能齐全,给用户带来方便。,给用户带来方便。规整性规整性:指令系统的:指令系统的正交性正交性、均匀性均匀性、对称性对称性。兼容性兼容性:不同机种之间具有相同的基本结构和共同:不同机种之间具有相同的基本结构和共同的的基本指令集基本指令集,目的是给软件资源的重复利用带来,目的是给软件资源的重复利用带来方便。方便。可扩充性可扩充性:指令系统中要:指令系统中

4、要保留一定的指令字空间保留一定的指令字空间,以便在需要时进行指令系统的功能扩充。以便在需要时进行指令系统的功能扩充。4.1.2 指令的格式指令的格式 指令一般的格式如下:指令一般的格式如下:2.地址码地址码 地址码指出指令中地址码指出指令中操作数所在的存储器地址或操作数所在的存储器地址或寄存器地址寄存器地址。1.操作码操作码 操作码操作码指出指令应该指出指令应该执行什么性质的操作执行什么性质的操作和具有和具有何种功能;何种功能;n位操作码字段的指令系统位操作码字段的指令系统最多能够最多能够表示表示2n条指令条指令。操作码操作码OP地址码地址码 A 按指令包含的地址的个数可分:按指令包含的地址的

5、个数可分:1、三地址指令、三地址指令 执行(执行(A1)OP(A2)A3 OPA1A2A3执行(执行(A1)OP(A2)A2 2、二地址指令、二地址指令OPA1A2 有两种可能:一是有两种可能:一是无需任何操作数无需任何操作数,如空操作指令、,如空操作指令、停机指令等。二是所需的停机指令等。二是所需的操作数地址是默认操作数地址是默认的。的。4、零地址指令、零地址指令 OP3单地址指令单地址指令 执行(执行(A1)OP(AC)AC OPA1 指令字指令字长度长度 1.指令长度应为存储器基本字长的指令长度应为存储器基本字长的整数倍整数倍2.指令字长指令字长应尽量短应尽量短 指令短,可指令短,可减少

6、所需存储量和加快运行速度减少所需存储量和加快运行速度,但不能,但不能为了使指令短而影响指令系统的完备性和规整性。为了使指令短而影响指令系统的完备性和规整性。计算机中计算机中CPU能直接处理的二进制的位数称为能直接处理的二进制的位数称为机器字长机器字长;指令字长度指令字长度:一个指令字包含的所有二进制代码:一个指令字包含的所有二进制代码的位数。有的位数。有等长指令字等长指令字结构结构和和变长指令字变长指令字结构结构。指令字指令字长度选取原则长度选取原则 指令助记符指令助记符 指令类型指令类型指令助记符指令助记符二进制操作码二进制操作码加法加法ADD001减法减法SUB010传送传送MOV011跳

7、转跳转JMP100存储存储ST101读数读数LD110表表4.1 常用指令助记符常用指令助记符 4.1.3 指令系统设计概论指令系统设计概论 任务任务是确定所有机器指令的是确定所有机器指令的格式、类型、操作以格式、类型、操作以及对操作数的访问方式及对操作数的访问方式。出发点出发点是提高指令系统是提高指令系统的的性能性能/价格比价格比。1.指令系统设计的基本思路指令系统设计的基本思路 基本基本设计思想设计思想:(1)确定计算机系统中的基本操作(包括操作系统)确定计算机系统中的基本操作(包括操作系统和高级语言的)是由和高级语言的)是由硬件实现还是由软件实现硬件实现还是由软件实现;(2)按照尽量)按

8、照尽量缩短平均码长缩短平均码长、方便译码与执行方便译码与执行的原的原则,设计则,设计指令字格式指令字格式。功能设计和指令格式设计功能设计和指令格式设计 基本功能设计基本功能设计:确定指令系统包含哪些:确定指令系统包含哪些基本操作基本操作;优化功能设计优化功能设计:从对:从对目标程序、操作系统、高级语目标程序、操作系统、高级语言的支持角度言的支持角度,确定哪些常用的、相对复杂的操作,确定哪些常用的、相对复杂的操作(指令串)可作为指令系统包含的操作(指令);(指令串)可作为指令系统包含的操作(指令);指令格式设计指令格式设计:设计出:设计出平均码长较短、便于译码和平均码长较短、便于译码和执行执行的

9、指令字;的指令字;规整和优化设计规整和优化设计:形成:形成长度规整的、信息冗余较小长度规整的、信息冗余较小的指令字。的指令字。指令所占存储空间是否尽可能小;表现在指令所占存储空间是否尽可能小;表现在指令中代码指令中代码密度是否高、信息冗余量是否少密度是否高、信息冗余量是否少;2.衡量指令系统性能的指标衡量指令系统性能的指标 指令代码对应用需求的指令代码对应用需求的效率是否高效率是否高,表现在非特权指,表现在非特权指令中令中功能性指令所占比例是否高功能性指令所占比例是否高、指令中操作数的、指令中操作数的访访问范围满足应用需求的概率是否大问范围满足应用需求的概率是否大、对操作系统和编、对操作系统和

10、编译程序的译程序的支持程度是否高支持程度是否高;指令的译码速度、执行速度是否快。指令的译码速度、执行速度是否快。4.2 操作数类型及存储方式操作数类型及存储方式 4.2.1 操作数类型操作数类型 数值数值型型数据数据;字符字符;地址地址;逻辑数据逻辑数据。操作数类型在指令中的表示操作数类型在指令中的表示 指令中增加一些指令中增加一些二进制位标识二进制位标识;可选择;可选择存储时标识存储时标识或处理时标识或处理时标识。操作数的操作数的4种类型种类型 标识标识方法方法OPDF1A1DF2A2(a)每个操作数标识每个操作数标识 OPDFA1A2(b)所有操作数共一个标识所有操作数共一个标识 图图4.

11、1 二地址指令数据类型表示方法二地址指令数据类型表示方法 通常将操作码与数据类型标识通常将操作码与数据类型标识合并成新的操作码合并成新的操作码。4.2.2 操作数存储方式操作数存储方式 操作数可以存储在操作数可以存储在指令指令、寄存器寄存器、堆栈堆栈和和存储器存储器中;中;数据存储方式数据存储方式有有大端大端(Big-Endian)和)和小端小端(Little-Endian)两种。)两种。图图4.2 数据在存储器中的两种存放方式数据在存储器中的两种存放方式 数据存储采用小端存储方式的处理机有数据存储采用小端存储方式的处理机有Intel 80 x86/Pentium,DEC VAX,DEC Al

12、pha等。等。4.2.3 数据对齐方式数据对齐方式 操作数应存储在存储器空间阵列的同一行;操作数应存储在存储器空间阵列的同一行;信息按整数边界存储原则信息按整数边界存储原则:数据长度为:数据长度为2n个字节个字节,则,则该数据在存储器中最小存储地址的该数据在存储器中最小存储地址的最低最低n位应为位应为0。图图4.3 数据的边界对齐数据的边界对齐 4.2.4 堆栈存取方式堆栈存取方式 堆栈堆栈是一种按特定顺序访问的存储区;其特点是是一种按特定顺序访问的存储区;其特点是后进先出后进先出(LIFO)或先进后出或先进后出(FILO)。堆栈存取方式堆栈存取方式 堆栈堆栈最底部最底部存放数据的存放数据的位

13、置是固定不变的位置是固定不变的,该位置,该位置称为称为栈底栈底;堆栈中存放的最上面数据的堆栈中存放的最上面数据的位置是不停变化的位置是不停变化的,该,该位置称为位置称为栈顶栈顶;存取数据存取数据只能在栈顶进行只能在栈顶进行,不可中间插入或者从中,不可中间插入或者从中间将数据取出。间将数据取出。堆栈和其它形式的存储部件之间的堆栈和其它形式的存储部件之间的差别差别:(1)堆栈在数据存取时)堆栈在数据存取时不需要地址不需要地址,而其它存储部,而其它存储部件在数据存取时需要地址;件在数据存取时需要地址;堆栈操作堆栈操作只有只有入栈入栈(push)和)和出栈出栈(pop)两种。)两种。(2)堆栈只能按)

14、堆栈只能按先进后出或后进先出先进后出或后进先出方式存取数据,方式存取数据,而其它存储部件可以根据地址随机存取数据;而其它存储部件可以根据地址随机存取数据;(3)堆栈)堆栈不可以在同一位置连续写入或取出数据不可以在同一位置连续写入或取出数据,而其它存储部件可以。而其它存储部件可以。1.用移位寄存器用移位寄存器实现堆栈实现堆栈 堆栈的实现方法堆栈的实现方法 栈顶空栈:栈底 栈顶存入b:ba 栈底 栈顶取出b:a 栈底 图5.10栈顶固定方式堆栈及其存取 栈顶存入a:a 栈底 图图4.42.内存中开辟堆栈区内存中开辟堆栈区 选取固定的选取固定的存储器单元为堆栈区存储器单元为堆栈区,存储器堆栈的,存储

15、器堆栈的具具体位置体位置由程序员指定,由程序员指定,空间大小空间大小由程序员分配;由程序员分配;1)自底向上生成堆栈)自底向上生成堆栈(满递减和空递减)(满递减和空递减):建栈时建栈时堆栈指针堆栈指针SP指向栈底下面一个单元指向栈底下面一个单元(栈底是(栈底是堆栈中地址最大的单元);堆栈中地址最大的单元);入栈操作(入栈操作(PUSH)步骤:)步骤:i)SP-1SP ii)存入数据)存入数据(SP)出栈操作(出栈操作(POP)步骤:)步骤:i)()(SP)内容读出)内容读出 ii)SP+1SP 建栈时设置建栈时设置堆栈指针堆栈指针SP,指示栈顶位置。,指示栈顶位置。图图4.5 自底向上堆栈操作

16、示例自底向上堆栈操作示例 2)自顶向下生成堆栈)自顶向下生成堆栈(满递增和空递增)(满递增和空递增):堆栈建栈时堆栈建栈时堆栈指针堆栈指针SP指向栈底上面一个单元指向栈底上面一个单元(栈底(栈底是堆栈中地址最小的单元),是堆栈中地址最小的单元),入栈操作(入栈操作(PUSH)步骤:)步骤:i)SP+1SP ii)存入数据存入数据(SP)出栈操作(出栈操作(POP)步骤:)步骤:i)(SP)内容读出)内容读出 ii)SP-1SP 两者指针变化方向不同。两者指针变化方向不同。例例2 某存储器堆栈,栈底地址某存储器堆栈,栈底地址 Bottom=3000H,栈中,栈中已压入两个数据已压入两个数据a和和

17、b,SP为堆栈指针。为堆栈指针。(1)画出此时堆栈示意图。)画出此时堆栈示意图。(2)现将数据)现将数据 c,d 和和 e 按顺序压入堆栈,且用累加按顺序压入堆栈,且用累加器器AC 进行数据交换,写出数据入栈步骤,画出数进行数据交换,写出数据入栈步骤,画出数据入栈后的堆栈情况。据入栈后的堆栈情况。(3)写出数据)写出数据 e 出栈的操作步骤。出栈的操作步骤。堆栈操作对堆栈操作对临时保存和恢复某些数据临时保存和恢复某些数据极为简便。堆栈极为简便。堆栈存取方式对应的操作有存取方式对应的操作有建栈、入栈和出栈建栈、入栈和出栈三种,可对三种,可对应指令系统中的应指令系统中的三条指令三条指令。堆栈存取方

18、式在指令中的应用堆栈存取方式在指令中的应用解:(解:(1)堆栈情况如下图所示)堆栈情况如下图所示2FFFH(2)数据入栈操作)数据入栈操作AC c;SP SP-1;(SP)ACAC d;SP SP-1;(SP)ACAC e;SP SP-1;(SP)AC(3)数据)数据 e 的出栈操作的出栈操作AC (SP)SP SP+14.3 指令系统功能设计指令系统功能设计 指令集中包含的指令集中包含的所有操作功能所有操作功能的集合称为的集合称为指令系指令系统的功能集统的功能集 操作码操作码是指令系统功能集中是指令系统功能集中各种功能(操作)的各种功能(操作)的编码编码。4.3.1 功能类型分类功能类型分类

19、 1.数据传送类指令数据传送类指令 传送(传送(MOV)指令)指令:实现寄存器与寄存器间、常:实现寄存器与寄存器间、常数操作数与寄存器间的数据传送;数操作数与寄存器间的数据传送;取数(取数(LOAD或或LD)指令)指令:实现存储器到寄存器:实现存储器到寄存器的数据传送;的数据传送;存数(存数(STORE或或ST)指令)指令:实现常数操作数或寄:实现常数操作数或寄存器到存储器的数据传送;存器到存储器的数据传送;数据交换(数据交换(XCHG)指令)指令:实现两个数据之间的:实现两个数据之间的交换,可以看成是双向传送;交换,可以看成是双向传送;入栈(入栈(PUSH)指令)指令:实现寄存器或存储器到堆

20、栈:实现寄存器或存储器到堆栈的数据传送;的数据传送;出栈(出栈(POP)指令)指令:实现堆栈到寄存器或存储器:实现堆栈到寄存器或存储器的数据传送。的数据传送。指令主要包括加(指令主要包括加(ADD)、减()、减(SUB)、乘()、乘(MUL)、除()、除(DIV)指令,求反()指令,求反(NOT)、求补()、求补(NEG)指令,算术移位()指令,算术移位(SLA、SRA)、算术比较()、算术比较(COMP)指令等。)指令等。2.算术运算类指令算术运算类指令 为区分为区分数据类型数据类型和和运算规则运算规则,形成扩展运算,如十,形成扩展运算,如十进制运算、带进位运算、双精度运算等指令。进制运算、

21、带进位运算、双精度运算等指令。指令主要包括逻辑与(指令主要包括逻辑与(AND)、逻辑或()、逻辑或(OR)、逻)、逻辑异或(辑异或(XOR)、逻辑非()、逻辑非(NOT)、逻辑移位()、逻辑移位(SLL、SRL)、循环移位()、循环移位(ROL、ROR、ROLC、RORC)指令。)指令。3.逻辑运算类指令逻辑运算类指令 指令主要包括无条件转移(指令主要包括无条件转移(JMP)、条件转移()、条件转移(Jcc)、跳步()、跳步(SKIP)、转子()、转子(CALL)、返主()、返主(RET)、循环()、循环(LOOP)指令等。)指令等。4.程序控制类指令程序控制类指令 当前指令当前指令地址码给出

22、地址码给出直接地址直接地址或相对于当前指令位置或相对于当前指令位置的的偏移地址偏移地址,实现实现CPU与外部设备间的与外部设备间的数据交换数据交换、传送控制命令传送控制命令及及取得设备状态取得设备状态等功能。等功能。5.输入输出类指令输入输出类指令 这类指令有这类指令有输入(输入(IN)和和输出(输出(OUT)两种指令。两种指令。指令包含字符串指令包含字符串转换转换、字符串、字符串传送传送、字符串、字符串比较比较、字符串字符串查找查找、字符串、字符串抽取抽取、字符串、字符串替换替换等指令。等指令。6.字符串类指令字符串类指令 能够能够改变系统的工作状态改变系统的工作状态、实现操作系统所需要的、

23、实现操作系统所需要的特殊功能。大多数为特殊功能。大多数为特权指令特权指令。7.系统控制类指令系统控制类指令 包括停机(包括停机(HALT)、开中断()、开中断(STI)、关中断()、关中断(CLI)、自陷()、自陷(Trap,即软中断,即软中断INTn)、系统管理)、系统管理、存储管理等指令。、存储管理等指令。特定功能的特定功能的专用指令专用指令;包含状态寄存器置位(包含状态寄存器置位(STC、CLD等)、暂停(等)、暂停(WAIT)、测试()、测试(TEST)、空)、空操作(操作(NOP)、中断返回()、中断返回(IRET)等指令。)等指令。8.其它指令其它指令 4.3.2 指令系统功能集设

24、计指令系统功能集设计 指令系统指令系统是计算机是计算机软、硬件主要交界面软、硬件主要交界面,直接反映,直接反映了计算机的性能了计算机的性能/价格。价格。复杂指令集计算机复杂指令集计算机CISC(Complex Instruction Set Computer)的提出。的提出。计算机的硬件成本不断下降,软件成本不断上升;计算机的硬件成本不断下降,软件成本不断上升;强化指令功能,实现强化指令功能,实现软件功能向硬件功能转移软件功能向硬件功能转移;指令系统增加了指令系统增加了越来越多功能强大的复杂命令越来越多功能强大的复杂命令,以,以便使机器指令的功能接近高级语言语句的功能。便使机器指令的功能接近高

25、级语言语句的功能。指令系统越来越复杂的出发点:指令系统越来越复杂的出发点:使使目标程序得到优化目标程序得到优化:把原来要用一段程序才能完:把原来要用一段程序才能完成的功能,只用一条指令来实现;成的功能,只用一条指令来实现;给给高级语言提供更好的支持高级语言提供更好的支持:改进指令系统,设置:改进指令系统,设置一些在语义上接近高级语言语句的指令,就可以减轻一些在语义上接近高级语言语句的指令,就可以减轻编译的负担,提高编译效率;编译的负担,提高编译效率;提供对操作系统的支持提供对操作系统的支持:操作系统日益发展,其功:操作系统日益发展,其功能也日趋复杂,要求指令系统提供越来越复杂的功能也日趋复杂,

26、要求指令系统提供越来越复杂的功能。能。庞大的指令系统中,只有算术逻辑运算、数据传送、庞大的指令系统中,只有算术逻辑运算、数据传送、转移、子程序调用等几十条基本指令才是常使用的,转移、子程序调用等几十条基本指令才是常使用的,在程序中出现的在程序中出现的概率占到概率占到80%以上以上;复杂的指令系统带来的问题复杂的指令系统带来的问题 计算机的计算机的结构也越来越复杂结构也越来越复杂,不仅增加了计算机的研,不仅增加了计算机的研制周期和成本,而且难以保证其正确性,有时还可能制周期和成本,而且难以保证其正确性,有时还可能降低系统的性能;降低系统的性能;需要大量硬件支持的复杂指令的利用率却很低,造需要大量

27、硬件支持的复杂指令的利用率却很低,造成了成了硬件资源的大量浪费硬件资源的大量浪费。各种高级语言的语义之间有很大差别;不可能设计各种高级语言的语义之间有很大差别;不可能设计出一种能出一种能对所有高级语言都能提供很好支持的指令对所有高级语言都能提供很好支持的指令系统系统。精简指令集计算机精简指令集计算机RISC(Reduced Instruction Set Computer)的提出。)的提出。指令系统越复杂,包含的指令越多,编译时生成目指令系统越复杂,包含的指令越多,编译时生成目标程序的方法也越多,对标程序的方法也越多,对最终优化编译造成困难最终优化编译造成困难。精简指令系统计算机特点精简指令系

28、统计算机特点 通过简化指令通过简化指令使计算机的结构更加简单合理使计算机的结构更加简单合理,从而提,从而提高机器的性能。高机器的性能。指令数目较少,一般都选用指令数目较少,一般都选用使用频度最高的一些简使用频度最高的一些简单指令单指令;指令指令长度固定,指令格式种类少,寻址方式种类少长度固定,指令格式种类少,寻址方式种类少;大多数大多数指令可在一个机器周期内完成指令可在一个机器周期内完成;通用寄存器数量多通用寄存器数量多,只有存数,只有存数/取数指令访问存储器,取数指令访问存储器,而其余指令均在寄存器之间进行操作。而其余指令均在寄存器之间进行操作。采用采用RISC技术技术 指令系统可以指令系统

29、可以采用速度较快的硬连线逻辑来实现采用速度较快的硬连线逻辑来实现,且,且更适合于采用更适合于采用指令流水技术指令流水技术,可使指令的执行速度进,可使指令的执行速度进一步提高;一步提高;指令数量少,固然使编译工作量加大,但由于指令系指令数量少,固然使编译工作量加大,但由于指令系统中的指令都是精选的,统中的指令都是精选的,编译时间少编译时间少,反过来,反过来对编译对编译程序的优化又是有利程序的优化又是有利的;的;CISC和和RISC技术都在发展,技术都在发展,两者都各有自己的优点两者都各有自己的优点和缺点和缺点。结构更适合结构更适合VLSI、并行处理并行处理,更能够提高计算机的,更能够提高计算机的

30、性能;性能;CISC与与RISC之争论之争论 70年代中期,年代中期,IBM公司、斯坦福大学、加州大学伯克公司、斯坦福大学、加州大学伯克利分校等机构分别先后开始利分校等机构分别先后开始对对CISC技术进行研究技术进行研究,其,其成果分别用于成果分别用于IBM、SUN、MIPS等公司的产品中;等公司的产品中;八十年代中期,八十年代中期,RISC技术蓬勃发展,先后出现了技术蓬勃发展,先后出现了PowerPC、MIPSR4400、MC88000、Super Spare、Intel0860等高性能等高性能RISC芯片以及相应的计算机;芯片以及相应的计算机;RISC也随着速度、芯片密度的不断提高,使也随

31、着速度、芯片密度的不断提高,使RISC系系统日趋复杂;统日趋复杂;CISC机采用了部分机采用了部分RISC先进技术先进技术(强调指令流水线、强调指令流水线、分级分级Cache 和多设通用寄存器和多设通用寄存器),其性能更加提高。,其性能更加提高。4.4 寻址方式寻址方式 指令指令如何指定操作数或操作数地址如何指定操作数或操作数地址称为称为寻址方式寻址方式。确定指令系统的寻址方式时,须考虑以下几点:确定指令系统的寻址方式时,须考虑以下几点:希望指令内所含希望指令内所含地址尽可能短地址尽可能短;希望能访问希望能访问尽可能大的存储空间尽可能大的存储空间;寻址方法寻址方法尽可能简单尽可能简单;操作数的

32、寻址方式主要解决的是操作数存放在操作数的寻址方式主要解决的是操作数存放在指令指令、寄存器寄存器和和存储器存储器中的寻址问题。中的寻址问题。OP 寻址特征寻址特征MOD 形式地址形式地址D 设指令格式:设指令格式:在不改变指令的情况下,仅改变在不改变指令的情况下,仅改变地址的实际值地址的实际值,从,从而能方便地访问数组、串、表格等较复杂数据。而能方便地访问数组、串、表格等较复杂数据。4.4.1 常用的寻址方式常用的寻址方式1.立即寻址立即寻址 操作数在指令中;操作数在指令中;Data=A。操作码存储器地址 存储器内容8位立即数n+1操作码n下条指令n+2存储器地址存储器内容n+2n+1n立即数高

33、8位立即数低8位n+3下条指令(a)8位立即数(b)16位立即数图5.1 按字节编址机器中的立即寻址指令图图4.6 OP F1 A指令指令2.直接寻址直接寻址 指令直接给出操作数(有效)地址;即指令直接给出操作数(有效)地址;即EA=A。图图4.7 直接寻址直接寻址操作数操作数存储器存储器 OP F2 A指令指令3.存储器间接寻址存储器间接寻址 操作数地址在内存中;即操作数地址在内存中;即EA=(A)。)。图图4.8 间接寻址间接寻址 OP F3 A指令指令A(EA)操作数操作数存储器存储器4.寄存器(直接)寻址寄存器(直接)寻址 寄存器寻址有以下优点:寄存器寻址有以下优点:CPU寄存器数量远

34、小于内存单元,所以寄存器号寄存器数量远小于内存单元,所以寄存器号比内存地址短,因而寄存器寻址方式比内存地址短,因而寄存器寻址方式指令短指令短;不用访存,指令不用访存,指令执行速度快执行速度快。OP F4 R图图4.9 寄存器寻址寄存器寻址操作数操作数寄存器寄存器指令指令 指令地址码字段给出存放指令地址码字段给出存放操作数的操作数的寄存器编号寄存器编号;即即data=(R)。)。5寄存器间接寻址寄存器间接寻址 操作数地址在指令指定的操作数地址在指令指定的CPU某个寄存器中;某个寄存器中;EA=(R);如);如8086指令指令 MOV AL,BSI OP F5 R图图4.10 寄存器间接寻址寄存器

35、间接寻址A(EA)寄存器寄存器指令指令操作数操作数存储器存储器6相对寻址相对寻址 操作数地址为程序计数器操作数地址为程序计数器PC中的内容与位移量中的内容与位移量A之和,即之和,即EA=(PC)+A。图图4.11 相对寻址相对寻址7基址寻址基址寻址 把由指令中给出的地址(位移量)与把由指令中给出的地址(位移量)与CPU 中的某个中的某个基址寄存器相加而得到实际的操作数地址。基址寄存器相加而得到实际的操作数地址。EA=(R)基址基址+A图图4.12 基址寻址基址寻址data ndata 1data 2SI形式地址+图5.4 变址寻址选择数组数据OP寄存器号形式地址8086指令指令MOV AL,S

36、I+1000H EA图图4.138寄存器变址寄存器变址寻址寻址 操作数地址为操作数地址为变址寄存器中的内容与位移量之和变址寄存器中的内容与位移量之和;即;即EA=(R)变址变址+A。变址寻址变址寻址主要解决主要解决程序内部的循环问题程序内部的循环问题;基址寻址基址寻址则则要求基址寄存器的内容能提供要求基址寄存器的内容能提供整个主存范围整个主存范围的寻址能的寻址能力;力;在多道程序运行环境下,实现程序的再定位在多道程序运行环境下,实现程序的再定位。OP F8 R A9隐含寻址方式隐含寻址方式 指令指令没有明显地给出操作数地址没有明显地给出操作数地址,而在操作码中隐含,而在操作码中隐含着操作数地址

37、。如操作数隐含在着操作数地址。如操作数隐含在累加器累加器,堆栈内堆栈内。10其它寻址方式其它寻址方式 有的计算机指令系统中还有更复杂的寻址方式,如基有的计算机指令系统中还有更复杂的寻址方式,如基址变址寻址、位寻址、块寻址、串寻址等等。址变址寻址、位寻址、块寻址、串寻址等等。在使用机器时,不仅要了解该机总体上有哪些寻址方在使用机器时,不仅要了解该机总体上有哪些寻址方式,还应了解各指令具体有哪些寻址方式。式,还应了解各指令具体有哪些寻址方式。例例.某计算机有变址寻址、间接寻址和相对寻址等某计算机有变址寻址、间接寻址和相对寻址等寻址方式,设当前指令的地址码部分为寻址方式,设当前指令的地址码部分为00

38、1AH,正在执行的指令所在的地址为正在执行的指令所在的地址为1F05H,变址寄存,变址寄存器中的内容为器中的内容为23A0H。请填充:。请填充:(1)当执行取数指令时,)当执行取数指令时,如为变址寻址方式,如为变址寻址方式,则取出的数为则取出的数为 。(2)如为间接寻址方式,)如为间接寻址方式,则取出的数为则取出的数为 。(3)当执行转移指令时,转移地址为)当执行转移指令时,转移地址为 。1748H23BAH2600H23A0H2500HIFIFH241AH1F05H23A0H001AH内容内容地址地址1748H23BAH2600H23A0H2500HIFIFH241AH1F05H23A0H0

39、01AH内容内容地址地址解:(解:(1)变址寻址变址寻址 当前指令的地址码为当前指令的地址码为001AH,变址寄存器中的内容为变址寄存器中的内容为23A0H;操作数地址为:操作数地址为:(23A0H+001AH)=23BAH;则取出的数为则取出的数为1748H。已知存储器的部分地址及相应内容:已知存储器的部分地址及相应内容:(2)间接寻址:地址码为操作数地址;)间接寻址:地址码为操作数地址;则取出的数为则取出的数为2600H。(3)正在执行的指令所在的地址为)正在执行的指令所在的地址为1F05H;当执行转移指令时,转移地址为:当执行转移指令时,转移地址为:(IF05H+2+001AH)=1F2

40、1H。例例.某计算机指令格式如下:某计算机指令格式如下:OP X D15 10 9 8 7 0 图中图中X为寻址特征位,且为寻址特征位,且X=0时不变址;时不变址;X=1时用变址寄存时用变址寄存器器X1进行变址;进行变址;X=2时用变址寄存器时用变址寄存器X2进行变址;进行变址;X=3时相对时相对寻址。设(寻址。设(PC)=1234H,(,(X1)=0037H,(,(X2)=1122H,请确定下列指令的有效地址。请确定下列指令的有效地址。(1)4420H(2)2244H(3)1322H(4)3521H(5)6723H1122H+0044H4.4.2 寻址方式设计寻址方式设计 寻址方式设计的主要

41、内容:寻址方式设计的主要内容:指令系统的指令系统的寻址方式集寻址方式集,是指令系统支持的寻址方式,是指令系统支持的寻址方式的集合;的集合;指令系统中每条指令的指令系统中每条指令的寻址方式子集寻址方式子集,即每条指令支,即每条指令支持的寻址方式的集合;持的寻址方式的集合;寻址方式集中每种寻址方式的寻址方式集中每种寻址方式的性能参数性能参数。指令系统寻址方式集指令系统寻址方式集分为分为常用的常用的和和必须的必须的两种类型。两种类型。1.指令系统寻址方式集设计指令系统寻址方式集设计 根据指令系统风格(根据指令系统风格(CISC和和RISC)和各种寻址方)和各种寻址方式的使用频率,式的使用频率,选择使

42、用频率较高的寻址方式选择使用频率较高的寻址方式作为作为指令系统寻址方式集的常用寻址方式。指令系统寻址方式集的常用寻址方式。(1)寻址方式集的)寻址方式集的常用寻址方式常用寻址方式设计设计 频带分析法频带分析法:对大量应用程序中指令的寻址方式进行分析,特别对大量应用程序中指令的寻址方式进行分析,特别是对复杂数据结构寻址方式的分解,将是对复杂数据结构寻址方式的分解,将所有的寻址所有的寻址方式进行分类方式进行分类;对分解后的各种对分解后的各种寻址方式进行频率统计寻址方式进行频率统计,包括每种,包括每种寻址方式中性能参数(如立即数、偏移量范围等)寻址方式中性能参数(如立即数、偏移量范围等)频率分布的统

43、计;频率分布的统计;根据根据指令系统的风格及计算机的性能要求指令系统的风格及计算机的性能要求,将使用,将使用频率较高的寻址方式作为指令系统寻址方式集的频率较高的寻址方式作为指令系统寻址方式集的常常用寻址方式用寻址方式。解决常用寻址方式设计中对寄存器、存储器寻址的解决常用寻址方式设计中对寄存器、存储器寻址的遗漏问题遗漏问题。选择使用频率最高的对寄存器或存储器寻址(选择使用频率最高的对寄存器或存储器寻址(常用常用寻址方式中所缺的寻址方式中所缺的)的一种寻址方式作为必须寻址)的一种寻址方式作为必须寻址方式中的寻址方式。方式中的寻址方式。(2)寻址方式集的)寻址方式集的必须寻址方式设计必须寻址方式设计

44、 每条指令的寻址方式子集是那些每条指令的寻址方式子集是那些该指令常用的寻址方该指令常用的寻址方式式,而不是全部寻址方式;,而不是全部寻址方式;设计目标设计目标是为指令系统中每条指令是为指令系统中每条指令确定它所支持的寻确定它所支持的寻址方式址方式。2.指令寻址方式子集设计指令寻址方式子集设计(1)寻址方式子集设计)寻址方式子集设计不存在必须的寻址方式问题不存在必须的寻址方式问题,(2)指令系统寻址方式集的设计是针对所有指令进行)指令系统寻址方式集的设计是针对所有指令进行的,而指令寻址方式子集设计是的,而指令寻址方式子集设计是针对某条具体的针对某条具体的指令进行的指令进行的。指令寻址方式子集与指

45、令系统寻址方式集的设计区别指令寻址方式子集与指令系统寻址方式集的设计区别 性能参数是指该寻址方式性能参数是指该寻址方式满足应用需求满足应用需求所需要的所需要的操作操作数或操作数地址码位数数或操作数地址码位数。寄存器号编码长度设计寄存器号编码长度设计 寄存器号编码长度为寄存器号编码长度为log2N位位,其中,其中N为指令系统可用为指令系统可用寄存器个数。寄存器个数。3.寻址方式性能参数设计寻址方式性能参数设计 寻址方式中指定寻址方式中指定专用的寄存器专用的寄存器,寻址方式对应地址码寻址方式对应地址码中应省略该寄存器号编码中应省略该寄存器号编码。指令中存储器地址用指令中存储器地址用相对于某地址的形

46、式地址表示相对于某地址的形式地址表示时时,形式地址,形式地址编码长度不受存储器地址长度限制编码长度不受存储器地址长度限制。存储器地址编码长度设计存储器地址编码长度设计 存储器地址编码长度为存储器地址编码长度为log2M位位,其中,其中M为指令系统为指令系统可用存储器空间。可用存储器空间。寻址方式中立即数长度设计寻址方式中立即数长度设计 根据应用需求对寻址方式中根据应用需求对寻址方式中立即数值域的要求立即数值域的要求,确,确定立即定立即数值范围及位数范围数值范围及位数范围;采用频带分析法,采用频带分析法,在频率分布中确定对应的立即数在频率分布中确定对应的立即数长度(值域)范围长度(值域)范围。4

47、.5 指令字格式设计指令字格式设计 指令格式设计所要解决的问题:指令格式设计所要解决的问题:(1)指令系统由哪些)指令系统由哪些指令构成指令构成?(2)每条指令中)每条指令中操作码表示什么操作码表示什么?为什么这样编码?为什么这样编码?(3)当一条指令的操作数有多种表示形式时,如何)当一条指令的操作数有多种表示形式时,如何区分不同的寻址方式区分不同的寻址方式?(4)指令字格式指令字格式如何确定?如何提高指令格式的性如何确定?如何提高指令格式的性能能/价格比?价格比?4.5.1 指令系统指令数目设计指令系统指令数目设计 指令系统中的指令必须能够实现指令系统中的指令必须能够实现指令系统功能集指令系

48、统功能集中中支持的所有操作;支持的所有操作;指令系统功能集中包含多少个操作,指令集中就必指令系统功能集中包含多少个操作,指令集中就必须对应多少条指令;须对应多少条指令;指令系统中指令数为功能集中指令系统中指令数为功能集中操作的数量加上同一操作的数量加上同一操作对应多种数据类型操作对应多种数据类型所增加出来的指令的数量。所增加出来的指令的数量。4.5.2 指令字操作码编码设计指令字操作码编码设计 计算机硬件识别和执行指令系统的指令是通过二计算机硬件识别和执行指令系统的指令是通过二进制编码实现的;进制编码实现的;不同操作码对应不同的操作和对不同数据类型的不同操作码对应不同的操作和对不同数据类型的相

49、同操作。相同操作。1.定长操作码编码定长操作码编码 定长操作码编码中所有操作码的长度固定;定长操作码编码中所有操作码的长度固定;如果指令系统功能集共支持如果指令系统功能集共支持N种操作,应满足关系种操作,应满足关系式:式:2n-1N2n。所有操作码的平均码长为。所有操作码的平均码长为n位位;定长操作码主要用于具有定长操作码主要用于具有CISC风格指令系统的计风格指令系统的计算机和指令字长较长的计算机。算机和指令字长较长的计算机。2.变长操作码编码变长操作码编码 变长操作码编码中使用频率较高的变长操作码编码中使用频率较高的操作码长度较操作码长度较短短,使用频率较低的,使用频率较低的操作码长度较长

50、操作码长度较长;变长操作码的平均码长为变长操作码的平均码长为NiiiavglPl1 定长操作码平均码长为:定长操作码平均码长为:log2N。4.5.3 指令字寻址方式表示设计指令字寻址方式表示设计 设计的目标是设计的目标是确定操作数地址确定操作数地址的寻址方式用什么的寻址方式用什么方法表示及如何表示。方法表示及如何表示。OP F A1 An(a)在操作码中表示寻址方式在操作码中表示寻址方式(b)在地址码中表示寻址方式在地址码中表示寻址方式 OP F1 A1 Fn An图图4.14 寻址方式的两种表示形式寻址方式的两种表示形式 1.寻址方式的表示方法寻址方式的表示方法 1)将寻址方式标志)将寻址

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(新编-计算机系统组成电子教案(第4章)-精品课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|