您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 2019文都组成原理 讲义
2019考研计算机基础课程—组成原理内部讲义1四、指令系统程序由一系列的指令组成的,指令是要计算机执行某种操作的命令。从计算机组成的层次结构来说分为微指令、机器指令和宏指令。微指令:微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。指令系统:计算机中所有机器指令的集合。指令中一般需要包含以下信息:1.操作的类型:操作的内容和功能,如加法操作、访问存储器操作。2.操作数的存储位置:参加运算的数据存储的地方,操作数存储的位置可以是寄存器、存储单元、直接安排在指令中。3.操作结果的存储位置:将运算结果存储在什麽地方。4.下一条指令的地址信息:到哪里去取下一条指令。指令中还可以包含条件信息,表示执行该指令操作必须具备的条件。指令编码的格式称为指令格式。考点讲解4.1指令格式指令:操作码字段地址码字段指令字(简称指令):表示一条指令的机器字。指令格式:是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。操作码字段:表征指令的操作特性与功能;地址码字段:指定参与操作的操作数的地址码指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。操作码可以分为固定长度的代码和可变长度的代码。固定长度的代码:所有指令操作码长度相同。2019考研计算机基础课程—组成原理内部讲义2典型的指令助记符例如:某计算机共有64条指令,采用固定长度操作码,需要6位编码,从000000~111111。优点:编码方法简单,便于指令的译码。缺点:不便于指令系统中增加新的指令(扩展不方便)。可变长度的代码:指令操作码长度不同。优点:便于指令系统中增加新的指令(扩展方便)。能够缩短指令操作码的平均长度。采用方法为常用的指令采用短的操作码,不常用的指令采用长的操作码。缺点:编码方法复杂,使指令的译码变的复杂。例:设某台计算机有100条指令,要求:1.采用固定长度操作码编码,试设计其操作码编码。2.假设这100条指令中有10条指令的使用概率达到90%,其余90条指令的使用概率达到10%,试采用不等长编码设计一种操作码编码的方案,并求出操作码的平均长度.2019考研计算机基础课程—组成原理内部讲义3解:1.采用固定长度操作码编码,需要7位操作码。取其中100个代码作为操作码。000,0000~110,0011之间的代码代表100条指令。(长度固定为7)0000000指令0的操作码0000001指令1的操作码0000010指令2的操作码………………1100010指令98的操作码1100011指令99的操作码其余的110,0100~111,1111共28个代码可用于增加新的指令。2.采用不固定长度操作码编码,可以用4位代码对10条指令进行编码,用8位代码对90条指令进行编码。0000~1001对应10条常用的指令,1010~1111之间的代码扩展4位,1010,0000~1111,1001之间的90个代码表示其余90条指令。0000-----指令0的操作码;0001-----指令1的操作码;………1000-----指令8的操作码;1001-----指令9的操作码;1010……未使用11112019考研计算机基础课程—组成原理内部讲义41010,0000~1010,1111;代表16个操作码1011,0000~1011,1111;代表16个操作码1100,0000~1100,1111;代表16个操作码90个1101,0000~1101,1111;代表16个操作码操作码1110,0000~1110,1111;代表16个操作码1111,0000~1111,1001;代表10个操作码指令操作码的平均长度为:4×90%+8×10%=4.4小于等长编码的7位。剩余的编码1111,1010~1111,1111(6个),通过增加操作码的长度进一步的扩展。例.设有一台简单计算机的指令系统共有10条指令,各指令的使用频率如下:I120%,I212%,I311%,I415%,I58%I63%,I72%,I818%,I910%,I101%(1)用霍夫曼编码设计这10条指令的操作码,并计算操作码的平均长度;(2)设计只有两种长度,且平均长度不大于3.20位的等长扩展操作码,并计算操作码平均长度。答:(1)霍夫曼树为:2019考研计算机基础课程—组成原理内部讲义5(2)一种设计方案是取3位和4位两种长度,如0000010100111001011100110111101111平均长度:3*(0.20+0.18+0.15+0.12+0.11+0.10)+4*(0.08+0.03+0.02+0.01)=3*0.86+4*0.14=3.14另一种方案是取3和5两种长度,如000001010011100101110111001110111110平均长度3*(0.20+0.18+0.15+0.12+0.11+0.10+0.08)+5*(0.03+0.02+0.01)=3*0.94+5*0.06=3.12不等长的指令操作码可以减小操作码的平均长度,提高指令编码的效率。从指令的扩展性来看,也希望操作码长度可变。4.2.2地址码指令中指定操作数存储位置的字段称为地址码。地址码中可以包含存储器地址、也可包含寄存器的号。指令中可以有一个、两个或者三个操作数,也可没有操作数。根据一条指令有几个操作数地址,可将指令分为零地址指令、一地址指令、二地址指令、三地址指令。4个地址码的指令很少被使用。零地址指令:只有操作码,没有地址码。(空操作NOP,停止HLT等)一地址指令:指令编码中有一个地址码。指出了参加操作的一个操作数的存储位置,如果还有另一个操作数则隐含在累加器中。2019考研计算机基础课程—组成原理内部讲义6INCAMOVAL,LSRC_BYTEMULRSRC_BYTE二地址指令:指令编码中有两个地址码。指出了参加操作的两个操作数的存储位置,结果存储在其中一个地址中。(opa1,a2:a1opa2al)MOVAL,BLMOVAX,DXMOVAX,[SI]ADDAL,30ADDAX,SI三地址指令:指令编码中有三个地址码。指出了参加操作的两个操作数的存储位置和一个结果的地址。(opa1,a2,a3:a1opa2a3)ADDR0,R1,R2;R0=R1+R2二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。寄存器-存储器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。存储器-存储器(SS)型指令:操作时都是涉及内存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。2019考研计算机基础课程—组成原理内部讲义74.2.3指令字指令字长度:一个指令字中包含二进制代码的位数。其长度应该与计算机的数据字长相匹配,以简化指令访存的操作。一般指令字长为计算机字长的整数倍。机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。指令字长等于机器字长指令称为单字长指令指令字长等于两个机器字长指令称为双字长指令,三字长以上指令较少使用。使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。缺点:是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。操作码的设计,应当与地址码的设计相匹配,以形成高效合理的指令编码。如指令长度固定的情况下,地址码数量较多的指令中可以安排较短的操作码,地址码数量较少的指令中可以安排较长的操作码。例:某计算机要求如下形式的指令:三地址指令4条,单地址指令254条,零地址指令16条,设指令字长12位每个地址码3位,设计其编码。1.先设计3地址编码用000~011这4个编码作为3地址的操作码2019考研计算机基础课程—组成原理内部讲义82.一地址指令中操作码可以扩展9位,100,xxx,xxx-------(1地址的64条指令)101,xxx,xxx-------(1地址的64条指令)254个编码110,xxx,xxx-------(1地址的64条指令)111,xxx,xxx-------(1地址的62条指令)剩余为111,111,110,xxx---(0地址的8个编码)111,111,111,xxx---(0地址的8个编码)16个编码4.4指令和数据的寻址方式操作数或指令在存储器中的地址:某个操作数或某条指令存放在某个存储单元时其存储单元的编号。在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。寻址方式:当采用地址指定方式时,形成操作数或指令地址的方式。寻址方式分为两类:指令寻址和数据寻址寻址方式概念与分类指令寻址:确定下一条欲执行指令的指令地址寻址方式数据寻址:确定本条指令的操作数地址指令寻址方式:比较简单数据寻址方式:比较复杂,有如下3种情况:存储器寻址:操作数在内存中。指令的地址码部分指明了操作数所在的内存单元地址。2019考研计算机基础课程—组成原理内部讲义9寄存器寻址:指令的地址码部分指明了操作数所在的CPU中的一个寄存器。立即数寻址方式:指令的地址码部分就是操作数本身。传统的计算机中,内存中指令的寻址和数据的寻址时交替进行的。指令寻址数据寻址形式地址(A)指令字中的地址有效地址(EA)操作数的真实地址指令中所给出的地址码,并不一定是操作数的有效地址。寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。2019考研计算机基础课程—组成原理内部讲义101.隐含寻址(操作数在累加寄存器中)在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AL或AX作为第二操作数地址,AL或AX对单地址指令格式来说是隐含地址。MOVAL,LSRC_BYTEMULRSRC_BYTE2.立即寻址2019考研计算机基础课程—组成原理内部讲义112019考研计算机基础课程—组成原理内部讲义127.偏移寻址一种强有力的寻址方式。有效地址计算公式为EA=A+(R)形式地址A是显示的;另一个地址字段隐含在某个专用寄存器R中。常用的三种偏移寻址是相对寻址、基址寻址、变址寻址。2019考研计算机基础课程—组成原理内部讲义138.段寻址方式(操作数在内存中)微型机中采用了段寻址方式,例如它们可以给定一个20位的地址,从而有1M存储空间的直接寻址能力。为此将整个1M空间存储器以64K为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存2019考研计算机基础课程—组成原理内部讲义14器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。这种寻址方式的实质还是基址寻址。movAX,DS:[2000H];16d×(DS)+2000H例:一种二地址RS型指令的结构如下所示:其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。解:⑴直接寻址⑵相对寻址⑶变址寻址⑷寄存器间接寻址⑸间接寻址⑹基址寻址2019考研计算机基础课程—组成原理内部讲义15CISC和RISC计算机发展过程中,不同的设计理念,形成不同风格的指令系统。计算机指令系统的类型可以分为复杂指令系统计算机(cisc)和精简指令系统计算机(risc)两种类型。早期CISC设计风格的主要特点:1.指令系统复杂。表现在指令多,寻找方式多、指令格式多。CISC指令数一般大于100条(一般的CISC计
本文标题:2019文都组成原理 讲义
链接地址:https://www.777doc.com/doc-6070445 .html