文档详情

信息表示-指令系统(复习)

宝路
实名认证
店铺
PPT
517.83KB
约44页
文档ID:47910586
信息表示-指令系统(复习)_第1页
1/44

本节习题内容v重点掌握和了解 ›指令格式›寻址方式12 指令格式v指令格式 ›操作码(OP):根据编码不同,区分不同操作的性质 及功能›地址码:指明操作数的地址,特殊情况下也可能直 接给出操作数本身v显式地址:在指令中直接给出v隐式地址:用隐含方式给出操作码字段地址码字段指令功能操作码助记符 加法001ADD 减法010SUB 传送011MOV ………2操作码v操作码字段的位数取决于计算机指令系统的规模 ›假设一台计算机系统有m条指令,指令中操作码的 位数为N位,则 m=log2mv例:指令系统有8条指令,则操作码需3位; 有32条指令,需要5位操作码v操作码的编码方式›定长编码v操作码的位数和位置固定›变长编码v操作码的位数不固定,位置分散3定长编码v操作码的位数和位置固定›有利于简化操作码译码器的设计›常用于大、中型机中v例:IBM370系统(字长32位)操作码长度固定均为8位,共可表示256种不同的指令12位4位4位4 位8位类型B2 D2D1B1L1OPSS型D1B1I2OPSI型D1B2R2R1OPRS型D2B2X2R1OPRX型R2R1OPRR型4位 12位4变长编码v操作码的位数不固定,位置分散。

›可充分利用指令字长度,尽可能用有限的指令字长 度来表示更多的指令,或在更大的地址空间中寻址›常用于小、微型机中v例:PDP—11(字长16位)5等长指令扩展操作码法v指令字长度一定时,地址位多,操作码位少;操作码位多 ,地址位少 [例]某机指令字长度16位,采用扩展操作码法,设计三地址 指令15条,二地址指令15条,单地址指令15条,零地址 指令16条0000... 1110 (1111) →OP=8位 1111 0000... 1111 1110 (1111 1111) →OP=12位 1111 1111 0000... 1111 1111 1110 (1111 1111 1111) →OP=16位 1111 1111 1111 0000 ... 1111 1111 1111 111115条三地址指令15条二地址指令15条单地址指令16条零地址指令OP(4位 )A2 (4位)A1 (4位)A3 (4位)补63 指令和数据的寻址方式v编址技术:对寄存器、内存储器和输入输出设备 等编排地址便于访问。

›编址单位 v字编址›以字为单位进行编址,编址单位与访 问单位相一致简单,但不实用v字节编址›以字节为单位,比较普遍,存在着地 址的浪费•例:字长32位,以字为单位进 行读写时,地址浪费3/4v位编址›以二进制位为单位进行编址,地址信 息浪费更大7例题一、问一个具有64个单元,每 个单元由8位组成的存储器,按字节 编址需要多少条地址线(地址码需 要几位)?如果:存储器增至1K(1024)个单元 的需要多少条地址线(地址码需要 几位)?寻址8编址:8bits………主存储器000000 000001111111数据寄存器MBR存储体(m字w位)地址寄存器MAR64个单元的存储器结构9寻址方式v1、指令寻址方式:计算下一条要执行的指令地 址的方法›顺序寻址方式v程序计数器PC保存下一条指令的地址vPC每次增加一个指令间隔,指向下一条要 执行的指令v顺序执行程序›跳跃寻址方式v下一条指令的地址由跳转指令给出vPC内容由跳转指令赋值,转为目的地址v程序转移、循环和转子等v2、数据寻址方式:确定指令中操作数地址的方 法10操作数寻址方式v操作数寻址方式:寻找指令中操作数所在地址的 方式›形式地址v指令中给出的地址,这个地址有时不能直接 访存。

›有效地址(EA)v能够直接访存的地址v操作数的地址分类›运算器中的通用寄存器编号›输入/输出设备的端口地址›内存单元的地址指令中的形式地址有效地址寻址 方式11操作数寻址方式v隐含寻址›操作数地址在指令中隐含给出vIMUL BL;AL×BL→AXv立即寻址:操作数在指令中直接给出›取指令同时取出操作数,不必再次访存,提高了指 令的执行速度 ›立即数固定,不能修改› 受指令字长度限制,立即数位数较小(占用位数 少)›适用于给某一寄存器或内存单元赋初值vMOV AX,0300H;0300H→AXOP立即数12操作数寻址方式v直接寻址:操作数的地址在指令中直接给出›例:MOV AL,[5718H] ;若[5718H]= 3,则3 →ALv简单直观,便于硬件实现v但内存容量大时,地址码长度变长v常用于读写内存的指令操作数 内存储器OP直接地址35718H5718H13操作数寻址方式v间接寻址:地址码字段给出的是操作数地址的地 址›通常在指令中设置直接/间接寻址标志位I(或@), 当I=1时,间接寻址存储器OP间接地址1一级间址I=1有效地址操作数14操作数寻址方式v间接寻址:地址码字段给出的是操作数地址的地 址。

›通常在指令中设置直接/间接寻址标志位I(或@), 当I=1时,间接寻址v特点›扩大了寻址范围›可以实现指针型数据›但延长了取操作数的速度存储器OP一级间址1多级间址I=11|二级间址1| 三级间址0| 有效地址操作数15操作数寻址方式v寄存器寻址›指令地址码字段给出的是CPU内通用寄存器的编号 (地址)›所需的操作数就在这一寄存器中v寄存器操作速度比内存快v寄存器少,编址短,缩短了指令长度OPRi操作数Ri寄存器16操作数寻址方式v寄存器间接寻址›寄存器中存放的是操作数在内存中的地址›只须一次访存›例:i=5,使用R5寄存器,若R5中的内容为 7v寄存器寻址:操作数=7v寄存器间接寻址:操作数=(7#)=13OPRi存储器Ri寄存器有效地址操作数7R571317操作数寻址方式v相对寻址:有效地址EA由程序计数器 PC 的内容 和指令中的地址码相加得到›例:D= 48H (PC) = 5600H 有效地址EA = 5648Hv主要用于转移指令,对浮动程序很有用v位移量可正可负,通常用补码表示PC加法器操作数OPD存储器18操作数寻址方式v基址寻址:有效地址由基址寄存器Rb的内容和指 令中的位移量D相加得到。

›例:D= 18H,[BS]= 5700H 有效地址EA=5718Hv主要用于为程序或数据分配存储区,对多道 程序或浮动程序很有用,解决了程序在存储器中的 定位和扩大寻址空间等问题v大型机中,基址寄存器只能由特权指令来管 理,用户指令无权操作和修改加法器操作数基址寄存器OPRbD存储器19操作数寻址方式v变址寻址:有效地址由变址寄存器Rx的内容和指 令中的地址码相加得到›例:A=18H,x=5,(Rx)=5700H 有效地址EA = 5718Hv主要用于对数组元素和字符串进行处理存储器OPRxD操作数加法器变址寄存器20一般的系统都不再区分变址和基址了v成原理中的变址和基址的由来和计算机硬件技术的发展,特别是电子工艺的发展比 较密切,由于计算机硬件制造成本的改变,目前,一般的系统都不再区分变址和基 址了把两种情况讲清楚就可以了,即 1、地址码分两部分 2、其中的一个部分地址可以访问整个主存空间的任何一个单元, 其第二个地址部分,可以在其一所确定的单元地址的基础之上做局部的变换同时区分两种地址码的形式:1、可以访问整个主存空间的任何一个单元的地址部分在指令中用寄存器给出的, 这个寄存器称为基址寄存器记为Rb,此时,局部的变换范围用偏移量D表示, 有效地址为Rb+D,称之为基址寻址方式。

2、可以访问整个主存空间的任何一个单元的地址部分在指令中用立即数D给出的,而在D所确定的单元地址的基础之上做局部的变换的地址部分用寄存器表示的,这个寄存器称为变址寄存器记为Rx,有效地址为D+Rx,称之为变址寻址方式 3、虽然两种寻址方式形式相似,但要注意的是字母D,的两种说法(偏移量和形式地 址)21操作数寻址方式v页面寻址›地址空间分页并编号 ——页面号›页内各单元编号 ——页内地址›有效地址=页面号//页内 地址›无须计算,寻址迅速v三种形式›基页寻址 vEA=0//页内地址›当前页寻址 v EA=PCH//页内地 址›页寄存器寻址 vEA=页面号//页内 地址0000H 00FFH 0100H 01FFHFF00H FFFFH0页 1页255页操作数PCH当前页面 页内地址PCL操作数页面号页内地址页寄存器页面号操作数0页内地址022各种寻址方式比较v间接的复杂,直接的简单v间接慢,直接快v间接的灵活,直接的死板v内存慢,寄存器快,立即数更快v内存地址长,寄存器地址短v需要运算的慢,不需运算的快v指令中的地址码一般包含寻址方式的信息操作码op 地址A1 地址A2 OP间接地址1地址A123寻址方式例题vCPU完成哪一种操作所花时间最短?›第一种指令所花时间最短。

vRR型指令,无需访问存储器v哪一种操作所花时间最长?›第二种指令所花时间最长vRS型指令,需要访问存储器v要进行有效地址的计算(基址或变址) v第二种指令的执行时间有时会等于第三种指令的 执行时间吗?›不等于v第三种指令虽然也访问存储器,但直接寻址 ,无需计算有效地址,速度快 24Page58 堆栈与堆栈操作v堆栈›按“后进先出”(LIFO)或“先进后出”(FILO )顺序进行存取的存储区v堆栈用途›中断时保存断点›子程序调用时保存返回地址、状态标志、现场信息 以及参数传递等v堆栈分类›寄存器堆栈:用一组专门的寄存器串联构成的堆栈 ,也称为串联堆栈或硬堆栈›存储器堆栈:由程序员设置出一部分主存储器来作 为堆栈,也称为软堆栈25寄存器堆栈v由CPU的一组串联的寄存器构成堆栈通用寄存器寄存器堆栈栈顶寄存器0寄存器1寄存器2...寄存器K-2寄存器K-1AAAABABABCCABCAB A26C P U存 储 器栈顶指针SP 300通用寄存器A276277300301Xa八 进 制 地 址存储器堆栈v由程序员设置出一部分主存储器来作为堆栈 ›堆栈能够具有程序员要求的任意长度;›栈底固定,栈顶浮动;需要设置栈顶指针SP(本 例中SP指向栈顶空单元)v堆栈操作›入栈:(A)→MSP;(SP)-1→SP›出栈: (SP)+1 →SP ; (MSP)→A ab277b276277b300a27软硬堆栈的比较v硬堆栈——寄存器堆栈›容量有限›堆栈的读出是破坏性的›速度快 v软堆栈——存储器堆栈›容量大›可以在整个内存区浮动›但每次堆栈操作均需访问内存,速度慢v软硬结合的堆栈›常规堆栈操作在硬堆栈,保证速度;›大容量压栈时,与软堆栈衔接,保证数量。

282.3.3 指令的功能和类型vCPU的指令系统可以有上百条指令,按功能分类›数据传送类指令v一般数据传送、堆栈操作、数据交换›算术、逻辑运算类指令v算术运算、逻辑运算、移位›程控类指令v转移、子程序调用与返回›输入/输出类指令›字符串处理类指令›特权指令›其他指令29CISC与RISC对比vCISC›指令系统日益庞大和复杂v进一步增强原有指令的功能,设置更为复杂 的新指令取代原先由软件子程序完成的功能›采用这种途径设计成的计算机——复杂指令系统计 算机(Complex Instruction Set Computer),简称CISC vRISC›指令系统日益缩小和精简v减少指令种类和简化指令功能来降低硬件设 计的复杂度,提高指令的执行速度›采用这种途径设计成的计算机——精简指令系统计 算机(Reduced Instruction Set Computer),简称RISC 30v传统的计算机多属于CISC›指令系统多达几百条指令,许多指令的功能异常复 杂,具有多种寻址方式›计算机的研制周期变得很长,同时也增加了设计失 误的可能性›由于复杂指令需进行复杂的操作。

下载提示
相似文档
正为您匹配相似的精品文档