版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1指令格式指令格式 从便于程序设计、增加操作并行性、提高指令功能看,指令中应包含多从便于程序设计、增加操作并行性、提高指令功能看,指令中应包含多种信息。但指令太长会占用更多的存储空间,增加访存次数。一条指令应包种信息。但指令太长会占用更多的存储空间,增加访存次数。一条指令应包含下列信息:含下列信息: 操作码操作码:表明操作的性质和功能。每条指令都有相应的操作码。:表明操作的性质和功能。每条指令都有相应的操作码。 操作数地址操作数地址。 操作结果的存放地址操作结果的存放地址。 下一条指令的地址下一条指令的地址。为了压缩指令长度,可以用一个程序计数器。为了压缩指令长度,可以用一个程序计数器 (Pr
2、ogram Counter, PC) 存放指令地址。每执行一条指令,存放指令地址。每执行一条指令,PC自动增加,指自动增加,指向下一条指令。由于使用了向下一条指令。由于使用了PC,指令中可以不包含下一条指令的地址。,指令中可以不包含下一条指令的地址。 一条指令实际上包含两种信息:操作码一条指令实际上包含两种信息:操作码 (Operation Code, OP) 和地址码和地址码。其基本格式为:。其基本格式为:2指令字长指令字长p指令中包含二进制代码的位数,称为指令字长。指令中包含二进制代码的位数,称为指令字长。p与与机器字机器字的长度有关的长度有关: 单字长单字长,双字长双字长,半字长,半字长
3、,优点、缺点。以IBM 370为例,其字长为32位。指令格式有16位(半字)的,有32位(单字)的,也有48位(一个半字)的。 p等长指令等长指令:各种指令字长度相等,称为等长指令字结构,结构简单,控制线路简单,RISC 。p变长指令变长指令:如果指令字长度随指令的功能而异,称为变长指令字结构。结构灵活,充分利用指令长度,控制复杂,CISC。 3地址码地址码 根据一条指令中有几个操作数地址,可将该指令称为根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几几操作数指令或几地址指令地址指令。一般的操作数有被操作数、操作数及操作结果这三种数,因而就形成了一般的操作数有被操作数、操作数及操
4、作结果这三种数,因而就形成了三地址指令格式。此外,还有二地址格式、一地址格式和零地址格式。三地址指令格式。此外,还有二地址格式、一地址格式和零地址格式。操作码操作码A1A2A3三地址指令:三地址指令:操作码操作码A1A2二地址指令:二地址指令:操作码操作码A1一地址指令:一地址指令:操作码操作码零地址指令:零地址指令:4 (1) 零地址指令的指令字中只有操作码,而没有地址码。如停机、空操零地址指令的指令字中只有操作码,而没有地址码。如停机、空操作指令。作指令。 其格式为:其格式为:OP (2)一地址指令常称为单操作数指令。通常这种指令以运算器中累加寄一地址指令常称为单操作数指令。通常这种指令以
5、运算器中累加寄存器存器AC中的数据为被操作数,指令字的地址码字段所指明的数为操作数,中的数据为被操作数,指令字的地址码字段所指明的数为操作数,操作结果又放回累加寄存器操作结果又放回累加寄存器AC中。中。 其格式为:其格式为: 功能描述:功能描述: (AC) OP (A1) A1 (PC)+1PC OP表示操作性质;表示操作性质;(AC)表示累加寄存器表示累加寄存器AC中的数;中的数;(A1)表示主存中表示主存中地址为地址为A1的的存储单元存储单元中的数或运算器中地址为中的数或运算器中地址为A1的通用的通用寄存器寄存器中的数;中的数; 表示把操作(运算)结果传送到指定的地方。表示把操作(运算)结
6、果传送到指定的地方。单操作数运算指令,如单操作数运算指令,如“+1”、“-1”、“求反求反” ,指令中给出一个源操作数的地址,指令中给出一个源操作数的地址OPA15 (3)二地址指令常称为双操作数指令,它的两个地址码字段二地址指令常称为双操作数指令,它的两个地址码字段分别指明参与操作的两个数在主存中或运算器中通用寄存器的分别指明参与操作的两个数在主存中或运算器中通用寄存器的地址,地址,A1作存放操作结果的地址。作存放操作结果的地址。A1中原来的内容被覆盖。中原来的内容被覆盖。 其格式为:其格式为: 功能描述:功能描述: (A1) OP (A2)A1 (PC)+1PC 二地址指令在计算机中得到了
7、广泛的应用,但是在使用时有一二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,点必须注意:指令执行之后,A1中原存的内容已经被新的运算中原存的内容已经被新的运算结果结果替换替换了。了。OPA1A26 (4)三地址指令字中有三个操作数地址。三地址指令字中有三个操作数地址。 A1为被操作数地为被操作数地址,也称源操作数地址;址,也称源操作数地址; A2为操作数地址,也称目的操作数地为操作数地址,也称目的操作数地址;址; A3为存放结果的地址。为存放结果的地址。 A1、A2、A3可以是主存中的单可以是主存中的单元地址,也可以是运算器中通用寄存器的地址。元地址,也可以是运
8、算器中通用寄存器的地址。 其格式为:其格式为:功能描述:功能描述: (A1) OP (A2)A3(PC) +1PC这种格式指令长度比较长,所以只在字长较长的大、中型机中这种格式指令长度比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。使用,而小型、微型机中很少使用。OPA1A2A37 二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。存储器存储器- -存储器(存储器(SS)型指令:)型指令:操作时都是涉及主存单元,参与操作的数都操作时都是涉及主存单元,参与操作的数都放在主存里,从主存某单元中取操作数,
9、操作结果存放至主存另一单元中。放在主存里,从主存某单元中取操作数,操作结果存放至主存另一单元中。寄存器寄存器- -寄存器(寄存器(RR)型指令:)型指令:需要多个通用寄存器或个别专用寄存器,从需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器寄存器型指令的速度很快,因为执行这类指令,不需要访问主存。型指令的速度很快,因为执行这类指令,不需要访问主存。寄存器寄存器- -存储器(存储器(RS)型指令:)型指令:执行此类指令时,既要访问主存单元,又要执行此类指令时,既要访问主存单元,又要访
10、问寄存器。访问寄存器。 指令字助记符由于硬件只能识别1和0,所以采用二进制操作码二进制操作码是必要的,但是我们用二进制来书写程序却非常麻烦。 为了便于书写和阅读程序,采用一种缩写码叫做指令助记符指令助记符 用34个英文字母来表示操作码,一般为英文缩写 不同的计算机系统,规定不一样 必须用汇编程序翻译成二进制代码89操作码操作码 指令系统中每条指令有唯一确定的操作码,表明指令的性质和功能。操指令系统中每条指令有唯一确定的操作码,表明指令的性质和功能。操作码可以采用固定长度,也可以采用可变长度。固定长度操作码对于简化硬作码可以采用固定长度,也可以采用可变长度。固定长度操作码对于简化硬件设计、减少指
11、令译码时间有利,在字长较大的大、中型机中广泛采用。可件设计、减少指令译码时间有利,在字长较大的大、中型机中广泛采用。可变长度操作码可以有效压缩操作码的平均长度,在字长较短的小型机和微型变长度操作码可以有效压缩操作码的平均长度,在字长较短的小型机和微型机中采用。机中采用。 定长编码:定长编码:操作码的长度决定了指令系统中指令的数目。若操作码长度操作码的长度决定了指令系统中指令的数目。若操作码长度为为k位,最多只能有位,最多只能有2k条指令。条指令。 以以IBM 370为例,其字长为为例,其字长为32位。指令格式有位。指令格式有16位(半字)的,有位(半字)的,有32位位(单字)的,也有(单字)的
12、,也有48位(一个半字)的。半字长指令不包含主存地址,单字位(一个半字)的。半字长指令不包含主存地址,单字长指令包含一个主存地址,一个半字长指令包含两个主存地址。长指令包含一个主存地址,一个半字长指令包含两个主存地址。 IBM 370机中,不论指令长度为多少,机中,不论指令长度为多少,操作码字段都为操作码字段都为8位位。8位操作码位操作码允许指定允许指定256条指令,而条指令,而IBM 370 只有只有183条指令,存在极大的信息冗余。条指令,存在极大的信息冗余。10OPR1R2RR型:型:OPR1X2B2D2RX型:型:RS型:型:OPI2B1D1SI型:型: IBM 370的五种指令格式:
13、的五种指令格式:OPL1B1D1B2D2SS型:型:OPR1R2B2D28448444128444128841288412412 OP:操作码;:操作码;R:寄存器;:寄存器;X:基址寄存器;:基址寄存器;L:指定操作数的长度;:指定操作数的长度;D:位移量;:位移量;I:直接操作数;:直接操作数;B:变址寄存器。:变址寄存器。 RR型:寄存器型:寄存器-寄存器型;寄存器型;RX型和型和RS型:寄存器型:寄存器-存储器型;存储器型;SI型:直型:直接带操作数;接带操作数;SS型:存储器型:存储器-存储器型。存储器型。11 变长编码:变长编码:在指令字长有限的情况下,变成编码可增加指令种类。当指
14、在指令字长有限的情况下,变成编码可增加指令种类。当指令中地址部分位数较多时,让操作码的位数少些;地址部分位数较少时,让令中地址部分位数较多时,让操作码的位数少些;地址部分位数较少时,让操作码的位数增多。操作码的位数增多。 PDP11的字长为的字长为16位。指令分为单字长、二字长、三字长三种。操作位。指令分为单字长、二字长、三字长三种。操作码占码占416位不等。下面是位不等。下面是PDP11的部分指令格式:的部分指令格式:OPSDOPX2单字长单字长(16位)位)OPSD地址地址OPSD地址地址1地址地址2OP46610616466164661616二字长二字长(32位)位)三字长三字长(48位
15、)位)12 操作码长度不固定会增加指令译码的难度,使控制器设计复杂化。通常操作码长度不固定会增加指令译码的难度,使控制器设计复杂化。通常用指令中固定长度的字段表示基本操作码,对于不需要某个地址字段的指令用指令中固定长度的字段表示基本操作码,对于不需要某个地址字段的指令,将操作码扩展到该地址字段。,将操作码扩展到该地址字段。 设某机器指令字长设某机器指令字长16位,包括位,包括4位基本操作码和三个位基本操作码和三个4位地址字段:位地址字段:OPA1A2A330741181512 可可按以下方式设置操作码:按以下方式设置操作码: (1)15条三地址指令由基本操作码从条三地址指令由基本操作码从000
16、01110给出,剩下的给出,剩下的1111用用于将操作码扩展到于将操作码扩展到A1字段;字段; (2)15条二地址指令由条二地址指令由8位操作码从位操作码从1111000011111110给出,剩下的给出,剩下的11111111用于将操作码扩展到用于将操作码扩展到A2字段;字段; (3)15条一地址指令由条一地址指令由12位操作码从位操作码从111111110000111111111110给出给出,剩下的,剩下的111111111111用于将操作码扩展到用于将操作码扩展到A3字段;字段; (4)16条零地址指令由条零地址指令由16位操作码从位操作码从1111111111110000111111
17、1111111111给出。给出。13例例:指令字长指令字长12位,基本操作码位,基本操作码3位,每个地址码位,每个地址码3位,设计位,设计4条三地址指令条三地址指令、255条一地址指令和条一地址指令和8条零地址指令。条零地址指令。0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 14条三地条三地址指令址指令255条一条一地址指令地址指令8条零地条零地址指令址指令OPA1A2A32053861191 A. 8 B.4 C. 12 D. 16 2 A. 64 B
18、.63 C.255 D. 254 14OPA1A2065111512例例如果零地址指令没有占用的话150 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 112条双地条双地址指令址指令255条一地条一地址指令址指令64条零地条零地址指令址指令这一条一地址指这一条一地址指令被用来编码令被用来编码2 2(最多可以(最多可以6464)条零地址指令条零地址指令这一条一地址指这一条一地址指令被用来编码令被用来编码2 2(最
19、多可以(最多可以6464)条零地址指令条零地址指令16操作码的优化操作码的优化 为缩短操作码的平均长度,应该给使用频度高的指令分配短的操作码,为缩短操作码的平均长度,应该给使用频度高的指令分配短的操作码,使用频度低的指令分配长的操作码。使用频度低的指令分配长的操作码。Huffman编码就是按照这一原则进行编编码就是按照这一原则进行编码的。假如某计算机有码的。假如某计算机有7条指令,使用频度用条指令,使用频度用Pi表示,表示,Huffman编码如下:编码如下:指令指令Ii使用频度使用频度PiHuffman编码编码操作码长度操作码长度LiI10.4001I20.261 02I30.151 1 03
20、I40.061 1 1 0 05I50.051 1 1 0 15I60.041 1 1 1 05I70.041 1 1 1 15 操作码的平均编码长度为:操作码的平均编码长度为:L = 0.4010.2620.1530.195 = 2.32位位17Huffman编码编码 将将7条指令按使用频度从小到大的顺序排序,每次将使用频度最小的两条指令按使用频度从小到大的顺序排序,每次将使用频度最小的两个结点合并为一个新的结点并重新排序,如此反复。最后将每个结点的两个个结点合并为一个新的结点并重新排序,如此反复。最后将每个结点的两个分支分别用分支分别用“1”和和“0”标注。标注。操作数类型地址数据地址数据
21、:正整数数值数据数值数据:定点数、浮点数、BCD码字符数据字符数据:ASCII码逻辑数据逻辑数据:若干二进制位,分别看待1819指令寻址方式指令寻址方式 顺序寻址方式:顺序寻址方式:指令地址在主指令地址在主存中按顺序安排,当执行一段程序存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的时,通常是一条指令接一条指令的顺序执行。顺序执行。 为此,必须使用程序计数器为此,必须使用程序计数器PC来计数指令的顺序号来计数指令的顺序号,该顺序号就是指令在主存中的地址。,该顺序号就是指令在主存中的地址。 跳跃寻址方式:跳跃寻址方式:下条指令的地下条指令的地址码不是由程序计数器给出,而是址码不是由程
22、序计数器给出,而是由本条指令给出。程序跳跃后,按由本条指令给出。程序跳跃后,按新的指令地址开始顺序执行。程序新的指令地址开始顺序执行。程序计数器的内容也必须相应改变。采计数器的内容也必须相应改变。采用指令跳跃寻址方式,可以实现程用指令跳跃寻址方式,可以实现程序转移或构成循环程序。序转移或构成循环程序。20操作数寻址方式操作数寻址方式 操作数在主存中的存放并无一定规律,给操作数寻址带来困难。此外操作数在主存中的存放并无一定规律,给操作数寻址带来困难。此外,受指令长度的限制,指令中的地址码不会很长,而主存容量却越来越大,受指令长度的限制,指令中的地址码不会很长,而主存容量却越来越大,因此仅能直接访
23、问主存的一小部分,无法直接访问整个主存。,因此仅能直接访问主存的一小部分,无法直接访问整个主存。 把指令中地址码字段给出的地址称为把指令中地址码字段给出的地址称为形式地址形式地址,这个地址可能不能直,这个地址可能不能直接访问主存。能够直接访问主存的地址称为接访问主存。能够直接访问主存的地址称为有效地址有效地址。寻址就是把操作数。寻址就是把操作数的形式地址变换为有效地址。的形式地址变换为有效地址。OPXD 上图是一种单地址指令。上图是一种单地址指令。OP为操作码,为操作码,X为寻址特征码,为寻址特征码,D为形式地址为形式地址也称偏移量,也称偏移量,有效地址有效地址E由由X和和D的组合给出的组合给
24、出。隐含寻址:隐含寻址:在指令中不明显地给出而是隐含着操作数的地址。例如,单地在指令中不明显地给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器存器AC作为第二操作数地址,作为第二操作数地址,AC对单地址指令格式来说是隐含地址。对单地址指令格式来说是隐含地址。21OP (移位移位)FD立即寻址:立即寻址:指令中地址字段给出的不是操作数的地址,而是操作数本身。指令中地址字段给出的不是操作数的地址,而是操作数本身。 上图为单地址移位指令。上图为单地址移位指令。D不表示地址,而是一
25、个操作数。不表示地址,而是一个操作数。F为标志位为标志位,F1操作数右移,操作数右移,F0操作数左移。操作数左移。 取指时同时取出操作码和操作数,不需要访问存储器,提高了指令执取指时同时取出操作码和操作数,不需要访问存储器,提高了指令执行的速度。但操作数是指令的一部分,不能修改,而且立即数的大小受指行的速度。但操作数是指令的一部分,不能修改,而且立即数的大小受指令长度的限制,灵活性差。令长度的限制,灵活性差。直接寻址:直接寻址:指令中地址字段直接给出操作数在主存中的地址。指令中地址字段直接给出操作数在主存中的地址。 指令中的形式地址指令中的形式地址D就是有效地址就是有效地址E,即即ED。如果操
26、作数用。如果操作数用S表示,则表示,则S(E)()(D) 随着主存容量不断扩大,所需要的地随着主存容量不断扩大,所需要的地址码越来越长,而指令中地址码字段长度址码越来越长,而指令中地址码字段长度有限,限制了访问主存的范围。有限,限制了访问主存的范围。22间接寻址:间接寻址:形式地址不是操作数的有效地址,而是操作数地址的地址。形式地址不是操作数的有效地址,而是操作数地址的地址。E(D) S(E)()(D) 间接寻址扩大了寻址范围,可用指令中的短地址访间接寻址扩大了寻址范围,可用指令中的短地址访问大的主存空间。此外,操作数的地址改变后,不需要问大的主存空间。此外,操作数的地址改变后,不需要修改指令
27、,只要修改存放有效地址修改指令,只要修改存放有效地址E的主存单元。的主存单元。 间接寻址需要两次访存,降低了取操作数的速度。间接寻址需要两次访存,降低了取操作数的速度。寄存器寻址:寄存器寻址:指令中的地址码部分给出一个通用寄存器编号,该寄存器中指令中的地址码部分给出一个通用寄存器编号,该寄存器中存放着操作数。存放着操作数。 从寄存器取数据比从主存取数据快从寄存器取数据比从主存取数据快得多。由于寄存器数量较少,寄存器编得多。由于寄存器数量较少,寄存器编号的长度比主存地址的长度短得多,可号的长度比主存地址的长度短得多,可以缩短指令长度。以缩短指令长度。23寄存器间接寻址:寄存器间接寻址:寄存器中的
28、内容是操作数的有效地址,该地址在主存中。寄存器中的内容是操作数的有效地址,该地址在主存中。相对寻址:相对寻址:把程序计数器把程序计数器PC中的内容加上指令中的形式地址中的内容加上指令中的形式地址D,得到操作,得到操作数的有效地址。数的有效地址。 所谓所谓“相对相对”,是相对于当前指令,是相对于当前指令的地址。形式地址的地址。形式地址D称为偏移量,可正称为偏移量,可正可负。操作数地址和指令地址相差一个可负。操作数地址和指令地址相差一个固定值。操作数可以和指令一起移动,固定值。操作数可以和指令一起移动,放在主存中任何地方,执行的效果都相放在主存中任何地方,执行的效果都相同。同。 寄存器间接寻址的指
29、令较短,而能寄存器间接寻址的指令较短,而能够访问的主存范围很大,并且只需访问够访问的主存范围很大,并且只需访问主存一次,执行速度比间接寻址快,是主存一次,执行速度比间接寻址快,是广泛采用的寻址方式。寄存器在编程时广泛采用的寻址方式。寄存器在编程时常用作地址指针。常用作地址指针。24变址寻址:变址寻址:把把CPU中变址寄存器的内容加上指令中的形式地址中变址寄存器的内容加上指令中的形式地址D,得到操作,得到操作数的有效地址。数的有效地址。基址寻址:基址寻址:把把CPU中基址寄存器的内容加上指令中的形式地址中基址寄存器的内容加上指令中的形式地址D,得到操作,得到操作数的有效地址。数的有效地址。 基址
30、寻址和变址寻址形成操作数有效地址的算法相同,但应用有基址寻址和变址寻址形成操作数有效地址的算法相同,但应用有区别区别。变址寻址中变址寄存器提供修改量,指令提供基准值;基址寻址中基址。变址寻址中变址寄存器提供修改量,指令提供基准值;基址寻址中基址寄存器提供基准值,指令提供修改量。变址寻址面向用户,主要用于寄存器提供基准值,指令提供修改量。变址寻址面向用户,主要用于数组数组操作操作;基址寻址面向系统,主要用于;基址寻址面向系统,主要用于逻辑地址和物理地址的转换逻辑地址和物理地址的转换,解决程,解决程序在主存中的再定位和扩大寻址空间的问题。序在主存中的再定位和扩大寻址空间的问题。 通常把指令中的形式
31、地址作为基准地通常把指令中的形式地址作为基准地址,把变址寄存器的内容作为修改量。需址,把变址寄存器的内容作为修改量。需要频繁修改地址时不必修改指令,只需修要频繁修改地址时不必修改指令,只需修改变址寄存器。这对于数组运算、字符串改变址寄存器。这对于数组运算、字符串操作等成批数据处理是很有用的。操作等成批数据处理是很有用的。25Pentium寻址方式寻址方式 在实地址模式下,采用段寻址方式:将段寄存器内容(在实地址模式下,采用段寻址方式:将段寄存器内容(16位)左移位)左移4位位,低,低4位补位补0,到,到20位段基地址,再加上位段基地址,再加上16位段内偏移,得位段内偏移,得20位物理地址。位物
32、理地址。 在保护模式下,在保护模式下,32位段基地址加上段内偏移得到位段基地址加上段内偏移得到32位线性地址。由存位线性地址。由存储管理部件将其转换成储管理部件将其转换成32位的物理地址。位的物理地址。序序号号寻址方式名称寻址方式名称有效地址有效地址E算法算法说明说明(1)立即立即 操作数在指令中操作数在指令中(2)寄存器寄存器 操作数在寄存器中操作数在寄存器中(3)直接直接E = Disp Disp为偏移量为偏移量(4)基址基址E = (B) B为基址寄存器为基址寄存器(5)基址偏移量基址偏移量E = (B) + Disp(6)比例变址偏移量比例变址偏移量E = (I)*S + Disp S
33、为比例因子为比例因子(7)基址变址偏移量基址变址偏移量E = (B) + (I) + Disp(8)基址比例变址偏移量基址比例变址偏移量E = (B) + (I)*S + Disp(9)相对相对指令地址指令地址 = (PC) + Disp26 几点说明:几点说明: 立即数可以是立即数可以是8位,位,16位,位,32位。位。 寄存器寻址:通用寄存器可以为寄存器寻址:通用寄存器可以为8位、位、16位或位或32位。对位。对64位浮点数,位浮点数,要使用一对要使用一对32位寄存器。少数指令以段寄存器来实施寄存器寻址方式。位寄存器。少数指令以段寄存器来实施寄存器寻址方式。 直接寻址:偏移量长度可以是直接
34、寻址:偏移量长度可以是8位,位,16位,位,32位。位。 基址寻址:基址寄存器基址寻址:基址寄存器B可以是通用寄存器中任何一个。可以是通用寄存器中任何一个。 基址偏移量寻址:基址寄存器基址偏移量寻址:基址寄存器B是是32位通用寄存器中任何一个。位通用寄存器中任何一个。 比例变址偏移量寻址:变址寄存器比例变址偏移量寻址:变址寄存器I是是32位通用寄存器中除位通用寄存器中除ESP外外的任何一个。的任何一个。I的内容乘以比例因子的内容乘以比例因子1,2,4或或8,再加上偏移量得到有效地址,再加上偏移量得到有效地址。 , 两种寻址方式是,两种寻址方式的组合,偏移量可有可无。两种寻址方式是,两种寻址方式
35、的组合,偏移量可有可无。 相对寻址:适用于相对寻址:适用于转移控制类指令转移控制类指令。用当前指令指针寄存器。用当前指令指针寄存器EIP或或IP的内容(下一条指令地址)加上一个有符号偏移量,形成的内容(下一条指令地址)加上一个有符号偏移量,形成CS段的段内偏移。段的段内偏移。27例例:一种二地址一种二地址RS型指令的结构如下所示:型指令的结构如下所示:6位位 4位位 1位位 2位位 16位位OP-通用寄存器通用寄存器IX偏移量偏移量D其中其中I为间接寻址标志位,为间接寻址标志位,X为寻址模式字段,为寻址模式字段,D位偏移量字段。通过位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。
36、的组合,可构成下表所示的寻址方式。 请写出六种寻址方式的名称。请写出六种寻址方式的名称。寻址方式寻址方式IX有效地址有效地址E算法算法说明说明(1)000E = D(2)001E = (PC) DPC为程序计数器为程序计数器(3)010E = (R2) DR2为变址寄存器为变址寄存器(4)111E = (R3)(5)100E = (D)(6)011E = (R1) DR1为基址寄存器为基址寄存器直接直接相对相对变址变址寄存器寄存器间接间接间接间接基址基址28例:例:某某16位机器有两个位机器有两个20位基址寄存器,四个位基址寄存器,四个16位变址寄存器,十六个位变址寄存器,十六个16位通用寄存
37、器。指令汇编格式中的位通用寄存器。指令汇编格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一个是主存中的一个单元。三种指令的操作码分别是单元。三种指令的操作码分别是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是传送指令,是传送指令,STA为写数指令,为写数指令,LDA为读数指令。为读数指令。 分析三种指令的指令格式与寻址方式特点。分析三种指令的指令格式与寻址方式特点。 分析三种指令的执行时间。分析三种指令的执行时间。 下列指令字是否正确?分别代表什么操作?下列指令字是否正确?分别代表什么操作? (F0F1)H (3CD2)H (2856
38、)H (6FD6)H (1C2)H29 分析三种指令的指令格式与寻址方式特点。分析三种指令的指令格式与寻址方式特点。都是双地址指令,都是双地址指令,MOV是是单字长单字长寄存器寄存器- -寄存器寄存器RR型,型,STA和和LDA是是双字长双字长寄存器寄存器- -存储器存储器RS型;型;MOV是寄存器寻址,是寄存器寻址,S和和D里面直接存放的是操作数里面直接存放的是操作数STA是变址寻址,有效地址是变址寻址,有效地址E=(S)+M,LDA是直接寻址,有效地址是直接寻址,有效地址E=M例例:某某16位机器有两个位机器有两个20位基址寄存器,四个位基址寄存器,四个16位变址寄存器,十六个位变址寄存器
39、,十六个16位通用寄存器。指令汇编格式中的位通用寄存器。指令汇编格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一个是主存中的一个单元。三种指令的操作码分别是单元。三种指令的操作码分别是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是传送指令,是传送指令,STA为写数指令,为写数指令,LDA为读数指令。为读数指令。30 分析三种指令的执行时间。分析三种指令的执行时间。MOV执行速度最快,只要访问两次寄存器,执行速度最快,只要访问两次寄存器,LDA其次,访问其次,访问1次寄存器和次寄存器和1次内存,次内存,STA最慢,除了访问最慢,除了访问
40、2次寄存器和次寄存器和1次内存外,还需要做一次加法次内存外,还需要做一次加法(S)+M例例:某某16位机器有两个位机器有两个20位基址寄存器,四个位基址寄存器,四个16位变址寄存器,十六个位变址寄存器,十六个16位通用寄存器。指令汇编格式中的位通用寄存器。指令汇编格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一个是主存中的一个单元。三种指令的操作码分别是单元。三种指令的操作码分别是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是传送指令,是传送指令,STA为写数指令,为写数指令,LDA为读数指令。为读数指令。31 下列指令字是否正确?分
41、别代表什么操作?下列指令字是否正确?分别代表什么操作? (F0F1)H (3CD2)H =(1111 0000 1111 0001 0011 1100 1101 0010) 2 (2856)H =(0010 1000 0101 0110)2 (6FD6)H =(0110 1111 1101 0110)2 (1C2)H =(0000 0001 1100 0010)2 为为LDA, 为为MOV, 不正确,不正确,OP为为STA,但只有,但只有16位,位, 不正确,不正确,无对应的操作码无对应的操作码例例:某某16位机器有两个位机器有两个20位基址寄存器,四个位基址寄存器,四个16位变址寄存器,十六
42、个位变址寄存器,十六个16位通用寄存器。指令汇编格式中的位通用寄存器。指令汇编格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一是主存中的一个单元。三种指令的操作码分别是个单元。三种指令的操作码分别是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是传送指令,是传送指令,STA为写数指令,为写数指令,LDA为读数指令。为读数指令。MOV (OP)(A)H=(001010)2 STA (OP)(1B)H =( 011011)2,LDA (OP)(3C)H=(111100)232总线带宽:总线带宽: 单位时间内总线上可传送的数据量。通常用兆字节
43、数单位时间内总线上可传送的数据量。通常用兆字节数/秒(秒(MB/s)表示)表示。实际带宽受到总线布线长度、总线驱动器。实际带宽受到总线布线长度、总线驱动器/接收器性能、连接在总线上的接收器性能、连接在总线上的模块数等因素的影响,这些因素造成信号在总线上的延时和畸变,使总线的模块数等因素的影响,这些因素造成信号在总线上的延时和畸变,使总线的最高数据传输速率受到限制。最高数据传输速率受到限制。总线位宽:总线位宽: 总线上能同时传送的数据位数。如总线上能同时传送的数据位数。如1位、位、8位、位、16位、位、32位等。位等。总线工作频率:总线工作频率: 用于控制总线操作周期的时钟信号的频率。通常用用于
44、控制总线操作周期的时钟信号的频率。通常用MHz表示。表示。 这三个参数的关系如下:这三个参数的关系如下:总线带宽总线位宽总线带宽总线位宽总线工作频率总线工作频率总线的性能指标总线的性能指标33例例1 (1)某总线在一个总线周期中并行传送)某总线在一个总线周期中并行传送4个字个字节的数据,假设一个总线周期等于一个总线时钟周期,节的数据,假设一个总线周期等于一个总线时钟周期,总线时钟频率为总线时钟频率为33MHz,总线带宽是多少,总线带宽是多少?(2)如果一个总线周期中并行传送)如果一个总线周期中并行传送64位数据,总线位数据,总线时钟频率升为时钟频率升为66MHz,总线带宽是多少,总线带宽是多少
45、?解:解:(1)设总线带宽用)设总线带宽用Dr表示,总线时钟周期用表示,总线时钟周期用T=1/f表表示,一个总线周期传送的数据量用示,一个总线周期传送的数据量用D表示,根据定义表示,根据定义可得可得 Dr=D/T=D(1/T)=Df=4B33106/s=132MB/s(2)64位位=8B Dr=Df=8B66106/s=528MB/s34总线的连接方式总线的连接方式 单机系统中采用的总线结构有两种基本类型单机系统中采用的总线结构有两种基本类型:(1)(1)单总线结构;单总线结构;(2) (2) 多多总线结构。总线结构。(1) 单总线结构单总线结构 在许多单处理器的计算机中,使用一条单一的系统总
46、线来连接在许多单处理器的计算机中,使用一条单一的系统总线来连接CPU、主、主存和存和I/O设备,叫做单总线结构。设备,叫做单总线结构。此时要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要此时要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时能迅速获得总线控制权;而当不再使用总线时,能迅速放弃总线使用总线时能迅速获得总线控制权;而当不再使用总线时,能迅速放弃总线控制权。控制权。35取指令:取指令:当当CPU取一条指令时,首先把程序计数器取一条指令时,首先把程序计数器PC中的地址同控制信息中的地址同控制信息一起送至总线上。在一起送至总线上。在“取指令取指令”情况下的地址
47、是主存地址情况下的地址是主存地址,此时该地址所指此时该地址所指定的主存单元的内容一定是一条指令,而且将被传送给定的主存单元的内容一定是一条指令,而且将被传送给CPU。传送数据:传送数据:取出指令之后,取出指令之后,CPU将检查操作码。操作码规定了对数据要执行将检查操作码。操作码规定了对数据要执行什么操作,以及数据是流进什么操作,以及数据是流进CPU还是流出还是流出CPU。I/O操作:操作:CPU把指令的地址字段放到总线上,如果该指令地址字段对应的把指令的地址字段放到总线上,如果该指令地址字段对应的是外围设备地址,则外围设备译码器予以响应,从而在是外围设备地址,则外围设备译码器予以响应,从而在C
48、PU和与该地址所对和与该地址所对应的外围设备之间发生数据传送,而数据传送的方向由指令操作码决定。应的外围设备之间发生数据传送,而数据传送的方向由指令操作码决定。DMA (Direct Memory Access,直接存储器访问,直接存储器访问) 操作操作: 某些外围设备也可某些外围设备也可以指定地址。以指定地址。 如果一个由外围设备指定的地址对应于一个主存单元,则主如果一个由外围设备指定的地址对应于一个主存单元,则主存予以响应,于是在主存和外设间将进行直接存储器传送存予以响应,于是在主存和外设间将进行直接存储器传送(DMA)。扩展成多扩展成多CPU系统:系统:只要在系统总线上挂接多个只要在系统
49、总线上挂接多个CPU即可。即可。36(2) 多总线结构多总线结构 CPU和和cache之间采用高速的之间采用高速的CPU总线总线,主存连接在,主存连接在系统总线系统总线,高速总高速总线线上可以连接高速上可以连接高速LAN(100Mb/s局域网)、视频接口、图形接口、局域网)、视频接口、图形接口、SCSI接接口、口、Firewire接口。通过接口。通过桥桥,CPU总线、系统总线和高速总线彼此相连。桥总线、系统总线和高速总线彼此相连。桥实质上是一种具有缓冲、转换、控制功能的逻辑电路。高速总线通过扩充总实质上是一种具有缓冲、转换、控制功能的逻辑电路。高速总线通过扩充总线接口与线接口与扩充总线扩充总线
50、相连,扩充总线上可以连接串行方式工作的相连,扩充总线上可以连接串行方式工作的I/O设备。多设备。多总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,总线结构体现了高速、中速、低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。37总线结构的优点总线结构的优点(1)简化了硬件的设计。从硬件的角度看,总线结构是由总线接口代替了专简化了硬件的设计。从硬件的角度看,总线结构是由总线接口代替了专门的门的I/O接口,由总线规范给出了传输线和信号的规定,并对存储器、接口,由总线规范
51、给出了传输线和信号的规定,并对存储器、I/O设设备和备和CPU如何挂在总线上都作了具体的规定,所以,面向总线的微型计算机如何挂在总线上都作了具体的规定,所以,面向总线的微型计算机设计只要按照这些规定制作设计只要按照这些规定制作CPU插件、存储器插件以及插件、存储器插件以及I/O插件等,将它们插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。连入总线即可工作,而不必考虑总线的详细操作。(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插系统扩充
52、性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的插件;功能扩充仅仅需要按总线标准设计一些新插件。插件插一些同类型的插件;功能扩充仅仅需要按总线标准设计一些新插件。插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。且也便于查错。(4)系统更新性能好。因为系统更新性能好。因为CPU、存储器、存储器、I/O接口等都是按总线规约挂到总接口等都是按总线规约挂到总线上的,因而只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯线上的,因而只要总线设计恰当,可以随时随着处理器芯片以及其他
53、有关芯片的进展设计新的插件,新的插件插到底板上对系统进行更新,其他插件和片的进展设计新的插件,新的插件插到底板上对系统进行更新,其他插件和底板连线一般不需更改。底板连线一般不需更改。38 连接到总线上的功能模块有主动和被动两种形态。连接到总线上的功能模块有主动和被动两种形态。主方主方可以启动一个总可以启动一个总线周期,而线周期,而从方从方只能响应主方的请求。每次总线操作,只能响应主方的请求。每次总线操作,只能有一个主方只能有一个主方占用占用总线控制权,但同一时刻可以有一个或多个从方。总线控制权,但同一时刻可以有一个或多个从方。为了解决多个主设备同时为了解决多个主设备同时竞争竞争总线控制权,必须
54、具有总线仲裁部件,以总线控制权,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。对多个主设备提出的某种方式选择其中一个主设备作为总线的下一次主方。对多个主设备提出的占用总线请求,一般采用优先级或公平策略进行仲裁。例如,在多处理器系占用总线请求,一般采用优先级或公平策略进行仲裁。例如,在多处理器系统中对各统中对各CPU模块的总线请求采用公平的原则来处理,而对模块的总线请求采用公平的原则来处理,而对I/O模块的总线模块的总线请求采用优先级策略。请求采用优先级策略。 总线占用期:主方持续控制总线的时间总线占用期:主方持续控制总线的时间 按照总线仲裁电路的位置不同,仲裁方式分为
55、按照总线仲裁电路的位置不同,仲裁方式分为集中式集中式仲裁和仲裁和分布式分布式仲裁仲裁两类。两类。总线仲裁总线仲裁39集中式仲裁集中式仲裁 集中式仲裁中每个功能模块有两条线连到总线仲裁器:一条是送往仲裁集中式仲裁中每个功能模块有两条线连到总线仲裁器:一条是送往仲裁器的总线请求信号线器的总线请求信号线BR,一条是仲裁器送出的总线授权信号线,一条是仲裁器送出的总线授权信号线BG。链式查询方式:链式查询方式:A表示地址线,表示地址线,D表示数据线。表示数据线。BS线为线为1表示总线忙。表示总线忙。 总线授权信号总线授权信号BG串行地从一个串行地从一个I/O接口传送到下一个接口传送到下一个I/O接口。假
56、如接口。假如BG到达的接口无总线请求,则继续往下查询;假如到达的接口无总线请求,则继续往下查询;假如BG到达的接口有总线请求到达的接口有总线请求,BG信号不再往下查询,该信号不再往下查询,该I/O接口就获得了总线的控制权。接口就获得了总线的控制权。 查询链中离总线仲裁器最近的设备具有最高的优先级,离总线仲裁器越查询链中离总线仲裁器最近的设备具有最高的优先级,离总线仲裁器越远,优先级越低。远,优先级越低。40 链式查询方式的优点:逻辑上和物理实现上都很简单,只用很少几根线链式查询方式的优点:逻辑上和物理实现上都很简单,只用很少几根线就能按一定优先次序实现总线仲裁,与设备数无关。易于扩充,增加设备
57、时就能按一定优先次序实现总线仲裁,与设备数无关。易于扩充,增加设备时,只需,只需“挂到挂到”总线上即可。总线上即可。 链式查询方式的缺点:对查询链的电路故障很敏感,如果第链式查询方式的缺点:对查询链的电路故障很敏感,如果第i个设备的接个设备的接口中有关链的电路有故障,那么第口中有关链的电路有故障,那么第i个以后的设备都不能进行工作。查询链的个以后的设备都不能进行工作。查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设备可能长期不能使用总线,会出现备可能长期不能使用总线,会出现“饿死饿死”现象。现象。 链式查询方式也叫做菊花链查询方式。链式查询方式也叫做菊花链查询方式。411 1、BS表示什么含义?它与表示什么含义?它与Ci占用总线有什么关系?占用总线有什么关系?2 2、T2T1的原因是什么?的原因是什么?3 3、t3时刻当时刻当C0占用总线时,占用总线时,BR变为变为0 0,而,而t4、t5时刻,时刻,当当C1占用总线时,占用总线时,BR却没有变为却没有变为0 0,原因是什么?,原因是什么?T1T2t3t4t542计数器定时查询方式:计数器定时查询方式:总线上的任一设备要求使用总线时,通过总线上的任一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《焊接性能分析综合创新》教学大纲
- 我怎么做教育课件
- 玉溪师范学院《体育康复学》2021-2022学年第一学期期末试卷
- 玉溪师范学院《诗歌赏析与创作》2022-2023学年第一学期期末试卷
- 项目风险预测与防范及事故应急预案
- 管理会计第5版 考试B卷及答案
- 2023年工厂化育苗精量播种生产设备项目评估分析报告
- 2024年羊肉加工项目评估分析报告
- 2024年精密陶瓷劈刀项目评估分析报告
- 2024年经济与商务咨询服务项目成效分析报告
- 幼小衔接的主要内容
- 四年级数学期中质量分析ppt
- 做新时代好队员竞选小队长演示PPT课件
- Linux网络管理
- 生命成长,责任担当——主题班会(共26张PPT)
- 混凝土结构连接化学螺栓锚栓计算表
- 兴趣小组活动
- 第五章预应力混凝土工程
- 危大工程台账
- ASME_VIII-1培训教材
- 发酵过程简介和发酵实验室的建立
评论
0/150
提交评论