1/75▲2.1指令集结构的分类2.2寻址方式2.3指令集结构的功能设计2.4操作数的类型和大小2.5指令格式的设计2.6MIPS指令集结构第2章计算机指令集结构2/75▲1.区别不同指令集结构的主要因素CPU中用来存储操作数的存储单元的类型2.CPU中用来存储操作数的存储单元的主要类型堆栈累加器通用寄存器组2.1指令集结构的分类3/75▲2.1指令集结构的分类堆栈结构累加器结构通用寄存器结构根据操作数的来源不同,又可进一步分为:寄存器-存储器结构(RM结构)(操作数可以来自存储器)寄存器-寄存器结构(RR结构):所有操作数均来自通用寄存器组load-store结构:只有load指令和store指令能够访问存储器3.将指令集结构分为三种类型4/75▲2.1指令集结构的分类4.对于不同类型的指令集结构,操作数的位置、个数以及操作数的给出方式(显式或隐式)也会不同。显式给出:用指令字中的操作数字段给出操作数字段个数寻址方式隐式给出:使用事先约定好的存储单元堆栈栈顶累加器特定寄存器特定存储单元ALUCPU存储器堆栈结构…ALUALUALU…TOS……………………………累加器结构通用寄存器结构(RM)通用寄存器结构(RR)(a)(b)(c)(d)灰色块:操作数黑色块:结果TOS(TopOfStack):栈顶5.4种指令集结构的操作数的位置以及结果的去向6/75▲2.1指令集结构的分类例:表达式C=A+B在4种类型指令集结构上的代码。假设:A、B、C均保存在存储器单元中,并且不能破坏A和B的值。堆栈累加器寄存器(RM型)寄存器(RR型)pushAloadAloadR1,AloadR1,ApushBaddBaddR1,BloadR2,BaddstoreCstoreR1,CaddR3,R1,R2popCstoreR3,C7/75▲2.1指令集结构的分类6.通用寄存器结构现代指令集结构的主流在灵活性和提高性能方面有明显的优势寄存器的访问速度比存储器快。对编译器而言,能更容易、有效地分配和使用寄存器。寄存器可以用来存放变量。(1)减少对存储器的访问,加快程序的执行速度;(因为寄存器比存储器快)(2)用更少的地址位(相对于存储器地址)来对寄存器进行寻址,从而有效地减少程序的目标代码的大小。8/75▲2.1指令集结构的分类7.根据ALU指令的操作数的两个特征对通用寄存器型指令集结构进一步细分:ALU指令的操作数个数3个操作数的指令两个源操作数、一个目的操作数2个操作数的指令其中一个操作数既作为源操作数,又作为目的操作数。ALU指令中存储器操作数的个数可以是0~3中的某一个,为0表示没有存储器操作数。ALU...