版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章指令系统
Chapter4InstructionSystem4.1指令格式4.2指令的寻址方式4.3指令系统设计举例4.4CISC和RISC的基本概念2026/1/181本章学习要求指令的基本格式、定长和扩展操作码指令格式各种寻址方式的寻址执行过程定长操作码指令系统的设计示例CISC和RISC指令系统的思想及特点指令系统的设计:指令类型(规模)、指令长度、操作码长度、寻址方式2026/1/182一台计算机所有指令的集合称为该计算机的指令系统,不同类型的计算机由于结构的差别具有不同的指令系统。计算机的性能与其所设置的指令系统有很大关系,而指令系统又与计算机硬件结构密切相关,因此计算机指令系统的设计是计算机组成结构设计中一个非常重要的环节。本章主要介绍指令的格式、指令的寻址方式、CISC和RISC的指令系统2026/1/1834.1指令格式指令(Instruction):指示计算机执行某种操作的命令,它由一串二进制数码组成。每条指令可以完成一个独立的算术运算或逻辑运算操作。指令系统(InstructionSet):是一台计算机全部指令的集合,是计算机所有功能的体现。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适应范围。指令系统的改进是围绕着缩小指令与高级语言的语义差异以及有利于操作系统的优化而进行的。2026/1/1844.1指令格式4.1.1指令格式计算机通过执行指令来处理各种数据。为了指出数据的来源、操作结果的去向及所执行的操作。一条指令一般包含下列信息:(1)操作码,说明操作的性质及功能(2)操作数的地址,说明参与运算的数据来源(3)操作结果的存储地址,说明操作结果存放何处(4)下一条指令的地址,当遇到非顺序执行指令时,给出转移地址2026/1/1854.1指令格式4.1.1指令格式指令字长度:指一条指令中所包含的二进制代码的位数,它取决于操作码字段的长度、操作数地址的个数及长度。指令长度可以等于机器字长,也可以与机器字长不等。固定字长指令结构:指令系统中所有指令的长度都是一样的。优点是控制简单,实现方便。但占用地址空间较大,不够灵活变长指令字结构:各种指令的长度随指令的不同而有所不同。变长指令字结构字长不确定,指令执行周期与指令功能有关系,往往不能在相同的周期内完成。优点是节省存储空间,指令系统灵活,被广泛应用于现代计算系统的设计中2026/1/1884.1指令格式4.1.1指令格式操作码(OperationCode):用来表示指令所要完成的操作,如加法、减法、传送、移位、转移等。每条指令都有不同于其它指令的操作码编码。操作码占用的二进制位数一般取决于计算机指令系统的规模,实际上也就是与指令的条数有关。一般来讲,如果操作码固定,占m位,则该机器最多包含2m条指令操作码的长度可以是固定的,也可以是变化的。相应的指令格式可分为定长操作码指令格式和扩展操作码指令格式两类
2026/1/1894.1指令格式4.1.1指令格式地址码(AddressCode):用来指出该指令的源操作数地址、结果地址以及下一条指令的地址。这里的“地址”可以是主存地址,也可以是寄存器地址或者I/O设备的地址。不是所有的指令都必须包含地址码,也不是所有指令的地址码段数都相同。根据指令中包含的地址码的段数,可以将指令分为零地址指令、一地址指令、二地址指令、三地址指令……2026/1/1810根据地址码部分给出的地址个数分类:1.零地址指令指令中只有操作码,而没有操作数或没有操作数地址。这种指令有两种可能:(1)无需任何操作数。如空操作指令、停机指令等(2)操作数按照某种约定隐含,如堆栈类指令2.一地址指令指令中只给出一个地址。一种是单操作数运算,如加1,减1,移位,取反等,该地址既是操作数的地址,又是操作结果存储地址。对这一地址所指定的操作数执行相应的操作后,产生的结果又存回该地址中。另一种情况是双操作数,另一个操作数必须存放在事先约定的专门的寄存器中2026/1/18113.二地址指令这是最常见的指令格式,两个地址指出两个源操作数地址,其中一个还是存放结果的目的地址4.三地址指令:指令中包含三个地址段,其中的两个地址段用来存放源操作数地址,第三个地址段用来存放目的操作数地址5.四地址指令指令中包含四个地址段,其中前两个地址段用来存放源操作数地址,第三个地址段用来存放目的操作数地址,第四个地址段给出下一条指令的地址。2026/1/18126.多地址指令高档机或大型机中用于处理成批数据的指令,如字符串处理指令,向量、矩阵运算指令等。为了描述一批数据,指令中需要多个地址来指出数据存放的首地址、长度和下标等信息。具有不同数量地址码的指令系统格式如图4-2所示
适应范围:零地址、一地址和两地址指令具有指令短,执行速度快,硬件实现简单等特点,多为结构较简单,字长较短的小型、微型机所采用两地址、三地址及多地址指令具有功能强,便于编程等特点,多为字长较长的大,中型机所采用2026/1/1813图4-2具有不同数量地址码的指令系统格式OP零地址一地址三地址OPA1OPA2A1二地址OPA2A1A3四地址OPA2A1A3A42026/1/18144.1.2定长操作码指令格式定长操作码指令格式将操作码集中放在指令字的一个字段内,这种格式便于硬件设计,指令译码时间短,广泛应用于字长较长的大、中型计算机和超级小型机以及RISC(ReducedInstructionSetComputer)中。IBM370机就采用定长操作码指令格式。IBM370机是一种32位机,机器字长32位,有三种结构的指令,分别是半字长指令(指令长度为16位)、单字长指令(指令长度为32位)、1.5倍字长指令(指令长度为48位)。不同类型的指令编码格式有所不同,但操作码字段的长度都是固定的8位。2026/1/18154.1.2定长操作码指令格式图4-3列出了IBM370机的指令系统格式。OP图4-3IBM370机的指令系统格式R2R1RR型OPX2R1844412RX型B2D2OPR2R1844412RS型B2D2OPI288412SI型B1D1OPL188412412SS型B1D1B2D22026/1/18164.1.3扩展操作码指令格式扩展操作码指令格式将操作码分散在指令字的不同字段中,可有效压缩操作码平均长度,在字长较短的微型计算机中广泛应用,如Z80、Intel80x86、Pentium等,操作码长度都是可变的。操作码长度不固定将增加指令译码和分析的难度,使控制器设计复杂化,因此对操作码的编码至关重要。通常是在指令字中用一个固定长度的字段来表示基本操作码,而对于一部分不需要某个地址码的指令,把它们的操作码扩展到该地址字段,这样既能充分利用指令字的各字段,又能在不增加指令长度情况下扩展操作码的长度,使它表示更多指令。2026/1/1817设某机器的指令长度为16位,包括4位基本操作码和三个4位地址码段。
15…1211……87……43…..0
OPA1A2A34位基本操作码可表示16个状态,如用4位操作码能表示16条三地址指令,而用8位操作码可表示256条二地址指令,而用12位操作码可表示4096条一地址指令。2026/1/18184.1.3扩展操作码指令格式设某机器的指令长度为16位,包括4位基本操作码字段和3个4位地址字段,其指令格式如图4-4所示。4位基本操作码可表示16个状态,如全部用于表示三地址指令,只有16条。若该机器有三地址指令15条,两地址指令15条,一地址指令15条,零地址指令16条,共61条,应该如何安排操作码呢?图4-4某机器指令格式OPA115121187430A2A32026/1/18194.1.3扩展操作码指令格式只用4位基本操作码明显是不够的,必须将操作码的长度向地址码字段扩展才行。一种可供扩展的方法和步骤如下:(1)15条三地址指令的操作码由4位基本操作码从0000~1110给出,剩下一个码点1111把操作码扩展到A1,即4位扩展到8位;(
2)15条二地址指令的操作码由8位操作码从11110000~11111110给出,剩下一个码点11111111把操作码扩展到A2,即从8位扩展到12位;(
3)15条一地址指令的操作码由12位操作码从111111110000~111111111110给出,剩下一个码点111111111111把操作码扩展到A3,即从12位扩展到16位;(
4)16条零地址指令的操作码由16位操作码从1111111111110000~111111111111给出。2026/1/1820操作码地址码
15~1211~87~43~00000X
YZ
1110XYZ............11110000Y
Z11111110Y
Z............三地址指令15条二地址指令15条1111
11110000Z111111111110Z............一地址指令15条1111
1111
1111000011111111
11111111............零地址指令16条2026/1/18214.1.3扩展操作码指令格式除了这种方法以外,还有其他多种扩展方法,如还可以形成15条三地址指令,14条两地址指令,31条一地址指令和16条零地址指令,共76条指令:15条三地址为:0000~111014条二地址为:11110000~1111110131条一地址为:111111100000~11111111111016条零地址为:111111111110000~11111111111111112026/1/18224.1.3扩展操作码指令格式在可变长度的指令系统的设计中,到底使用何种扩展方法还有一个重要原则----指令使用频率(1)使用频率高的指令应分配较短的操作码(2)使用频率低的指令应分配较长的操作码这样可有效地缩短操作码在程序中的平均长度,节省存储空间,缩短经常使用的指令的译码时间,可提高程序的运行速度。操作码扩展技术是一种重要的指令优化技术,它可以缩短指令的平均长度,减少程序的总位数以及增加指令字所能表示的操作信息。扩展操作码比固定操作码译码复杂,使控制器的设计难度增大,且需更多的硬件来支持2026/1/18234.1指令格式比较:定长操作码---操作码长度固定优点:便于控制;缺点:会限制指令系统规模;扩展操作码---操作码长度不固定优点:合理利用存储空间;缺点:增加指令译码和分析难度,使控制器设计复杂化;2026/1/18244.2指令的寻址方式组成程序的指令代码:一般在存储器中程序执行过程中的操作数:可能在运算部件的某个寄存器中或存储器中,也可能就在指令中寻址方式(Addressingmode):确定本条指令的数据地址以及下一条将要执行的指令地址的方法,它与硬件结构紧密相关,而且直接影响指令格式和指令功能。从程序员角度看,寻址方式与汇编程序设计的关系极为密切,与高级语言的编译程序设计也同样密切。2026/1/18254.2指令的寻址方式4.2.1有效地址通常把指令中地址码字段给出的地址称作形式地址(用字母A表示),这个地址一般不能直接用来访问存储器。形式地址经过某种运算而得到的可用来访问存储器的地址称作有效地址(用EA表示),有效地址实际上是操作数所在单元位置到段地址的距离,由段地址和有效地址可以直接得出操作数在存储器中的物理地址
不同的寻址方式,从形式地址A计算得到有效地址EA的方法也不一样2026/1/18264.2指令的寻址方式4.2.2数据寻址和指令寻址寻址方式分为数据寻址和指令寻址两大类。指令寻址方式实际上是程序执行的过程,即计算机在执行程序的过程中如何在主存中找到将要执行的指令的地址数据寻址方式是指操作数的有效地址的寻址方式2026/1/18274.2指令的寻址方式4.2.2数据寻址和指令寻址1.数据寻址数据寻址方式通过指令中的地址码字段计算操作数的有效地址,地址码字段由形式地址和寻址方式特征位组合而成,因此,通常指令中给出的地址码并不是操作数的有效地址。数据寻址过程就是把地址码字段中的操作数形式地址转换为操作数的有效地址的过程数据寻址方式种类较多,将在4.2.3节中详细介绍2026/1/18284.2指令的寻址方式4.2.2数据寻址和指令寻址2.指令寻址指令寻址方式有两种(1)顺序寻址指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序执行指令在执行过程中,根据程序计数器PC的值去寻址存储器,在指定的存储器中取出指令后,PC自动加1,从而指向下一条指令所在的地址主要用在程序执行过程中,从存储器中取出第一条指令,然后执行这条指令;接着从存储器取出第二条指令,再执行第二条指令;接着再取出第三条指令…2026/1/18294.2指令的寻址方式4.2.2数据寻址和指令寻址2.指令寻址(2)跳转寻址当程序遇到非顺序执行时,指令寻址就采用跳转寻址方式。跳转是指下一条指令的地址不是由程序计数器PC给出,而是由本条指令给出。跳转指令就是程序中的转移指令,当程序执行至转移指令时,下一条将要执行的指令可能就不是程序中的下一行采用跳转寻址方式,可实现程序转移或构成循环程序,缩短程序长度,或将某些程序作为公共程序引用。指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳转寻址而设置的2026/1/18304.2.3常见寻址方式不同的计算机有不同的寻址方式,但其基本原理是相同的寻址方式一般可归结为立即寻址、直接寻址、寄存器寻址、基址寻址、变址寻址、间接寻址以及相对寻址等几种寻址方式,或者这几种方式的组合与变形。寻址过程:从“形式地址”到“有效地址”的转换对寻址方式的评价包括:寻址能力;地址计算的复杂性约定:A——形式地址,指令地址字段中的内容
EA——有效地址,包含被访问操作数的实际单元(X)——表示单元X中的内容
R——寄存器2026/1/18311.立即寻址指令的地址字段指出的不是操作数的地址,而是操作数本身,又称之为立即数这种方式的特点是指令执行时间很短,只要取出指令便可获得操作数,不需要访问存储器取数。现在地址字段A的位数限制了这类指令所能表示的立即数的范围例:MOVAX,1234HOP……A立即数指令字2026/1/18322.直接寻址指令的地址码部分给出操作数在存储器中的地址。优点是简单直观,不需专门计算机操作数地址,指令执行阶段对主存只访问一次,便于硬件实现地址字段A的位数限制了操作数的寻址范围,而且必须修改A的值,才能修改操作数的地址例:MOVAX,[1234H]存储器OP……A操作数1234H2026/1/18332.直接寻址有些指令中增加一个M字段,例如3位,可表示8种寻址方式存储器…MA操作数0110HOP2026/1/18343.寄存器寻址指令地址码部分给出某一通用寄存器地址,所需的操作数就在这一寄存器(R)中地址码短,从寄存器中存取数据比从存储器中存取快得多;速度快,是提高性能的常用手段寄存器寻址方式可以缩短指令长度、节省存储空间,提高指令的执行速度,在计算机中得到广泛应用。缺点:寻址空间受寄存器数量限制EA=R例:MOVAX,BXBX为源操作数地址,AX为目的操作数地址,操作的结果为将BX中的数据传送(拷贝)到AX中。2026/1/18354.基址寻址在计算机中设置或由指令指定一个通用寄存器为基址寄存器(BR)。操作数的地址由基址寄存器的内容和指令的地址码A相加得到,地址码A通常被称为位移量(disp)EA=(BR)+A例:MOVAX,[BX+50H]程序员可以不用考虑程序加载到内存中的位置,编程只需使用逻辑地址即可(程序转换到物理地址)当存储器容量较大,由指令的地址码部分直接给出的地址不能直接访问到存储器所有单元时,通常把整个存储空间分成若干段,段首地址放于基址寄存器或段寄存器中,段内位移量由指令给出。2026/1/1836OP…A操作数存储器......加法器(b)通用寄存器作为基础寄存器指令字OP…A操作数存储器......加法器(a)专用寄存器寻址基址寄存器B通用寄存器.......图4.7基址寻址过程2026/1/18375.变址寻址指令地址码部分给出的地址A和指定的变址寄存器X的内容通过加法器相加,所得的和作为地址从存储器中读出所需的操作数。当计算机中还有基址寄存器时,计算有效地址时还需加上基址寄存器内容EA=(X)+A例:MOVAX,[SI+50H]变址操作支持一维数组,结合循环方法进行,逐次改变变址寄存器的值,来访问一片主存地址变址寄存器的自动增量和自动减量功能,每存取一个数据,自动增减,指向下一单元,为存取下一数据作准备2026/1/1838OP…A操作数存储器......加法器图4-8变址寻址方式指令字X通用寄存器.......2026/1/1839基址寻址面向系统,主要解决程序的存储定位问题,即解决程序逻辑空间与物理空间的无关性;变址寻址面向用户,主要是为了可以编写出高效的访问一片存储空间的程序,用以访问字串和数组2026/1/18406.间接寻址地址码中给出的不是操作数地址,而是存放操作数地址的地址,这种方式称为间接寻址或间址。根据地址码指的是寄存器地址还是存储器地址,间接寻址又可分为寄存器间接寻址和存储器间接寻址两种方式。间接寻址有一次间址和多次间址两种情况。存储器间接寻址:EA=(A),寻址空间大,执行速度慢;至少需要两次访存才能获得操作数,如一次间址情况,第一次从存储器读出操作数地址,第二次读出操作数寄存器间接寻址:EA=(R),需要一次访存例:MOVAX,[BX]2026/1/1841OP…A存储器......(b)存储器间址图4-9间接寻址方式指令字OP…R操作数存储器......(a)寄存器间址指令字通用寄存器.......A1操作数....A1A2026/1/1842以转移指令Jump为例,来说明在直接寻址和间接寻址方式下如何确定下一条要执行的指令的地址。
2026/1/18437.相对寻址把程序计数器PC的内容(即当前执行指令的地址)与指令的地址码部分给出的位移量(disp)之和作为操作数的地址或转移地址,称为相对寻址。主要用于转移指令。EA=(PC)+disp相对寻址有两个特点:(1)转移地址不是固定的,但是无论程序装入存储器的任何地方,只要指令间的相对位置不变,均能正确运行,对浮动程序很适用。(2)位移量可正、可负,通常用补码表示。2026/1/1844计算机的程序和数据一般是分开存放的,程序区在程序执行过程中不允许修改,否则数据区的相对地址会发生变化。在程序与数据分区存放的情况下,不用相对寻址方式来确定操作数地址三种偏移寻址:基址寻址、变址寻址、相对寻址2026/1/1845补充:
堆栈寻址堆栈(stack)是由若干个连续存储单元组成的先进后出(firstinlastout,简称FILO)存储区栈底是固定不变的,而栈顶却是随着数据的入栈和出栈在不断变化。任何堆栈操作只能在栈顶进行。堆栈指针(stackpointer,简称SP)是一个专用寄存器,用来指明栈顶的位置。在一般计算机中,堆栈主要用来暂存中断和子程序调用时现场数据及返回地址。压入指令(PUSH)是把指定的操作数送入堆栈的栈顶,而弹出指令(POP)的操作刚好相反,是把栈顶的数据取出,送到指令所指定的目的地。2026/1/1846设栈底的地址大于或等于栈顶的地址压栈操作的过程:首先把堆栈指针(SP)减量(减量的多少取决于压入数据的字节数),然后把数据送入SP所指定的单元出栈操作的过程:首先把SP所指定的单元(即栈顶)的数据取出,然后根据数据的大小(即所占的字节数)对SP增量。由于堆栈具有先进后出的性质,因而在中断、子程序调用过程中广泛用于保存返回地址、状态标志及现场信息。例如,假设有一主程序M和两个子程序A,B,它们的调用关系是M调用A,A又调用B,如图所示。2026/1/1847当主程序M执行到子程序调用指令callA时,先把该指令的下条指令地址M1及其他信息压入堆栈中保存,然后转入子程序A执行。当子程序A执行到指令callB时,又把其下条指令的地址A1压入堆栈,并转入子程序B执行。子程序B执行完毕,从堆栈中弹出A1(此时A1在栈顶)作为返回地址,返回到A子程序继续执行。A子程序执行完毕,又从堆栈中弹出M1(此时M1在栈顶),返回主程序M继续执行。2026/1/1848以上这些寻址方式,在计算机中可以组合使用,如在一条指令中可以同时实现基址寻址与变址寻址,其有效地址为:基址寄存器内容+变址寄存器内容+指令地址码A例:MOVAX,[BX+SI+50H]如果用户用高级语言编程,根本不用考虑寻址方式,因为这是编译程序的事.但若用汇编语言编程,则应对它有确切的了解,才能编出正确而又高效率的程序。不同计算机采用的寻址方式是不同的,即使是同一种寻址方式,在不同的计算机中也有不同的表达方式或含义2026/1/18494.3指令系统设计举例
【例4-2】某机器字长为16位,采用一地址格式的指令系统,允许直接、间接、变址、基址寻址,变址寄存器和基址寄存器均为16位,则(1)若采用单字指令,共能完成108中操作,画出指令格式,直接寻址和一次间接寻址的寻址范围是多少?(2)若采用双字指令,操作码位数和寻址方式不变,画出指令格式,指令可直接寻址的范围是多少?【解】(1)采用单字指令的指令格式如图4-11(a)所示。由于指令集有108条指令,则操作码位数为7位,允许4种不同的寻址方式,寻址方式字段需要2位。地址码位数为7位,可直接寻址范围为27个地址单元;采用一次间接寻址时,由于地址码字段中是操作数地址的地址,操作数的有效地址在存储器内,该地址16位,因此一次间接寻址范围为216个地址单元。(2)采用双字指令的指令格式如图4-11(b)所示。地址码位数为16+7=23位。则可直接寻址的范围为223个地址单元。2026/1/18504.3指令系统设计举例
【例4-2】某机器字长为16位,采用一地址格式的指令系统,允许直接、间接、变址、基址寻址,变址寄存器和基址寄存器均为16位,则(1)若采用单字指令,共能完成108中操作,画出指令格式,直接寻址和一次间接寻址的寻址范围是多少?(2)若采用双字指令,操作码位数和寻址方式不变,画出指令格式,指令可直接寻址的范围是多少?图4-11某机指令格式727OPMODA(a)单字指令格式(a)双字指令格式7223OPMODA2026/1/18514.3指令系统设计举例
【例4-3】某模型机字长为16位,共有64种操作,操作码位数固定,且具有如下特点:(1)采用一地址或二地址格式;(2)有寄存器寻址、直接寻址和相对寻址(位移量为-128~+127)三种寻址方式;(3)有16个通用寄存器,算术运算和逻辑运算指令的操作数、结果均在寄存器中;(4)取数/存数指令在通用寄存器和存储器之间传送数据;(5)存储器容量为1MB,按字节编址。试设计算术运算和逻辑运算指令、取数/存数指令和相对转移指令的格式。【解】(1)算术运算和逻辑运算指令格式为寄存器-寄存器型,取单字长16位,指令格式如图4.12。其中,OP为操作码,6位,可实现64种操作;M为寻址方式,2位,可反映寄存器寻址、直接寻址、相对寻址;R1和R2各取4位,指出源操作数和目的操作数的寄存器(共16个)编号。
OPM6244R1R22026/1/18524.3指令系统设计举例
【例4-3】某模型机字长为16位,共有64种操作,操作码位数固定,且具有如下特点:(1)采用一地址或二地址格式;(2)有寄存器寻址、直接寻址和相对寻址(位移量为-128~+127)三种寻址方式;(3)有16个通用寄存器,算术运算和逻辑运算指令的操作数、结果均在寄存器中;(4)取数/存数指令在通用寄存器和存储器之间传送数据;(5)存储器容量为1MB,按字节编址。试设计算术运算和逻辑运算指令、取数/存数指令和相对转移指令的格式。【解】(2)取数/存数指令格式为寄存器-存储器型,取双字长32位,指令格式如图4.13。其中,OP为操作码,6位不变;M为寻址方式,2位不变;R1为4位,源操作数地址(存数指令)或目的操作数地址(取数指令)。A1和A2共20位,为存储器地址,可直接访问按字节编址的1MB存储器。OPM6244R1A1A22026/1/18534.3指令系统设计举例
【例4-3】某模型机字长为16位,共有64种操作,操作码位数固定,且具有如下特点:(1)采用一地址或二地址格式;(2)有寄存器寻址、直接寻址和相对寻址(位移量为-128~+127)三种寻址方式;(3)有16个通用寄存器,算术运算和逻辑运算指令的操作数、结果均在寄存器中;(4)取数/存数指令在通用寄存器和存储器之间传送数据;(5)存储器容量为1MB,按字节编址。试设计算术运算和逻辑运算指令、取数/存数指令和相对转移指令的格式。【解】(3)相对转移指令格式为一地址格式,取单字长16位,指令格式如图4.14。其中,OP为操作码,6位不变;M为寻址方式,2位不变;A为位移量,8位,对应位移量为-128~+127。OPM628A2026/1/18544.3指令系统设计举例
【例4-4】某计算机字长为16位,主存地址空间为128KB,按字编址。采用单字长指令格式,指令各字段定义如图4-15所示。转移指令采用相对寻址方式,相对偏移是用补码表示,寻址方式定义如表4.1所示。请回答下列问题:(1)该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MDR)至少各需多少位?(2)转移指令的目标地址范围是多少?(3)若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H中的内容为1234H,则汇编语言为add(R4),(R5)+(逗号前原操作数,都号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?OPMsRsMdRd151211650操作码源操作数目的操作数2026/1/18554.3指令系统设计举例
【解】(1)OP字段占4个bit位,因此该指令系统最多有24=16条指令;Rs/Rd为3个bit,因此最多有23=8个通用寄存器;128K/2B=64kK=216,所以存储器地址寄存器位数至少为16位,指令字长度为16位,所以存储器数据寄存器至少为16位。⑵因为Rn是16位寄存器,所以可以寻址的目标地址范围是64K,转移地址目标范围是0000H-FFFFH。(3)汇编语句add(R4),(R5)+对应的机器码0010001100010101B,用十六进制表示是2315H,该指令执行后R5的内容变为5679H,地址5678H的内容变为68ACH。
OPMsRsMdRd151211650操作码源操作数目的操作数2026/1/1856
例4-6
一种两地址指令的结构如下所示,其中I为间接寻址标志位,M为寻址模式字段,A为偏移量字段。通过I,M,A的组合,可构成下表所式的寻址方式。请写出六种寻址方式的名称。6位4位1位2位16位
OP----通用寄存器IM偏移量D寻址方式I
M有效地址E算法说明(1)(2)(3)(4)(5)(6)000110000110110011E=AE=(PC)±AE=(R2)±AE=(R3)E=(A)E=(R1)±AR2为变址寄存器R1为基址寄存器寻址方式表2026/1/1857答:1,直接寻址2,相对寻址3,变址寻址4,寄存器间接寻址5,存储器间接寻址6,基址寻址2026/1/1858例4-7:某计算机字长32位,有16个通用寄存器,主存容量为1MB,采用单字长二地址指令,共有64条指令,试采用四种寻址方式(寄存器寻址、直接寻址、变址寻址、相对寻址)设计指令格式,并说明各种寻址模式下,有效地址如何计算。2026/1/1859例4-8:某机字内存64KB,CPU内有8个16位通用寄存器(其中4个又可当作8个8位通用寄存器)。该机指令系统共有64条指令,全部为双地址指令,且第一个操作数在寄存器中,指令采用下列寻址方式:(1)寄存器直接寻址(2)寄存器间接寻址(用16位寄存器)(3)存储器直接寻址(4)变址寻址(用任意一个16位寄存器作变址寄存器,位移量为16位)要求:(1)设计该计算机指令格式,并画出各种类型的指令格式示意图;(2)写出各种寻址方式的有效地址。2026/1/18604.4CISC和RISC的基本概念
4.4.1CISC复杂指令集计算机(ComplexInstructionSetComputer,CISC)早期的计算机运算速度慢。为提高运算速度,人们将越来越多的复杂指令加入指令系统中,以提高计算机处理效率,逐步形成复杂指令集计算机体系为了在有限的指令长度内实现更多的指令,人们又设计了操作码扩展
为了达到操作码扩展的先决条件——减少地址码,设计师又发现了各种寻址方式,如基址寻址、相对寻址等,以最大限度地压缩地址长度,为操作码留出空间2026/1/18614.4CISC和RISC的基本概念
4.4.1CISCIntel公司的X86系列CPU是典型的CISC体系的结构,从最初的8086到后来的Pentium系列,每出一代新的CPU,都会有自己新的指令,而为了兼容以前的CPU平台上的软件,旧的CPU的指令集又必须保留,这就使指令的解码系统越来越复杂为了支持复杂指令集,CISC通常包括一个复杂的数据通路和一个微程序控制器。微程序控制器由一个微程序存储器、一个微程序计数器和地址选择逻辑构成。在微程序存储器中的每一个字都表示一个控制字,并且包含了一个时钟周期内所有数据通路控制信号的值。这就意味着控制字中的每一位表示一个数据通路控制线的值。2026/1/18624.4CISC和RISC的基本概念
4.4.1CISCCISC存在的主要问题:
(1)复杂指令并不能有效地得到利用。CISC计算机系统中,各种指令的使用频率相差悬殊。统计表明,大概有20%的比较简单的指令被反复使用,使用量约占整个程序的80%;而有80%左右的指令则很少使用,其使用量约占整个程序的20%。(2)复杂指令系统会降低整个机器的执行速度。(3)不便于用VLSI实现。(4)设计时间长,且由于系统复杂,可能包含更多的设计错误。
2026/1/18634.4CISC和RISC的基本概念
4.4.1CISCCISC存在的主要问题:(5)控制字的数量及时钟周期的数目对于每一条指令都可以是不同的。因此在CISC中很难实现指令流水操作。(6)CISC的设计思想是把硬件资源主要用于提高指令系统的功能和规模,使指令系统设计得尽可能接近高级语言,而没有最大限度地利用这些资源来提高性能。另外,速度相对较慢的微程序存储器需要一个较长的时钟周期。由于指令流水和短的时钟周期都是快速执行程序的必要条件,因此CISC体系结构对于高效处理器而言不太合适2026/1/18644.4CISC和RISC的基本概念
4.4.2RISC精简指令集计算机(ReducedInstructionSetComputer,RISC)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机,RISC机中采用的微处理器统称RISC处理器IBM研究中心的JohnCocke证明,计算机中约20%的指令承担了80%的工作,他于1974年提出了RISC的概念。RISC概念已经引领了微处理器设计的一个更深层次的思索。设计中必须考虑到:指令应该如何较好的映射到微处理器的时钟速度上(理想情况下,一条指令应在一个时钟周期内执行完);体系结构需要多“简单”;以及在不诉诸于软件的帮助下,微芯片本身能做多少工作等等。2026/1/18654.4CISC和RISC的基本概念
4.4.2RISCRISC微处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市大兴区高米店街道面向社会招聘临时辅助人员3人笔试参考题库及答案解析
- 2025山东滨州无棣县丰达建设工程集团有限公司及权属公司招聘工作人员4人(公共基础知识)综合能力测试题附答案
- 2025河南商丘市实达国际人力资源合作有限公司招聘辅助人员30考前自测高频考点模拟试题附答案
- 2025年中国民用航空局局属事业单位招聘(88人)备考题库附答案
- 2025年甘肃省兰州市西固区中医医院招聘(公共基础知识)测试题附答案
- 2025广东广州市越秀区林业和园林局招聘辅助人员1人备考题库附答案
- 2025民族出版社专业技术人员招聘4人(第二批)(公共基础知识)综合能力测试题附答案
- 2026河南省森源电气招聘笔试备考题库及答案解析
- 2026榆林市横山区石窑沟卫生院招聘(4人)笔试备考题库及答案解析
- 2026高校区域技术转移转化中心(福建)新型功能材料分中心招聘5人笔试参考题库及答案解析
- 账务清理合同(标准版)
- 质量互变课件
- 神经内科脑疝术后护理手册
- 幼儿园重大事项社会稳定风险评估制度(含实操模板)
- 2026年包头轻工职业技术学院单招职业适应性测试题库附答案
- 2025至2030中国应急行业市场深度分析及发展趋势与行业项目调研及市场前景预测评估报告
- 2025年中厚钢板行业分析报告及未来发展趋势预测
- 基于多因素分析的新生儿重症监护室患儿用药系统风险评价模型构建与实证研究
- 2025新能源光伏、风电发电工程施工质量验收规程
- 电磁炮课件教学课件
- JJF 2287-2025 测量水池声学特性校准规范(相关函数法)
评论
0/150
提交评论