第5章 指令系统(计算机组成原理课件).pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:89 大小:1.6MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第5章 指令系统(计算机组成原理课件).pdf

第5章指令系统(计算机组成原理课件).pdf

预览

免费试读已结束,剩余 79 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Ch5:InstructionSet指令系统第1讲:指令系统的设计第2讲:程序的机器级表示第一讲指令系统设计主要内容一条指令必须指定的信息指令中的地址码个数指令系统设计的基本原则指令类型数据类型–寄存器组织–存储器组织操作数的寻址方式–立即/寄存器/寄存器间接/直接/间接/堆栈/偏移操作码的编码–定长编码法–变长扩展编码法条件码和标志寄存器指令设计风格指令系统举例ISA.2InstructionSetDesign指令系统处在软/硬件交界面,能同时被硬件设计者和系统程序员看到硬件设计者角度:指令系统为CPU提供功能需求(易于硬件设计)系统程序员角度:通过指令系统来使用硬件,要求易于编写编译器)指令系统设计的好坏还决定了:计算机的性能和成本softwareinstructionsethardware回顾:冯.诺依曼结构机器对指令规定:用二进制表示,和数据一起存放在主存中由两部分组成:操作码和操作数(或其地址码)•OperationCode:definestheoperationtype•Operands:indicateoperationsourceanddestinationISA.3InstructionSetArchitectureProgrammer'sViewProgram(Instructions&ADD01010Data)SUBTRACT01110AND10011CPUOR10001MemoryCOMPARE11010....I/O..Computer'sViewPrinceton(VonNeumann)ArchitectureHarvardArchitecture---数据和指令存放在同一个存储器中---数据和指令存放在不同存储器--存储空间利用率高--存储访问效率高--统一的访问接口--有利于流水线执行ISA.4一条指令须包含的信息一条指令必须明显或隐含地包含以下信息:操作码:指定操作类型(操作码长度:固定/可变)源操作数参照:一个或多个源操作数所在的地址(操作数来源:主(虚)存/寄存器/I/O端口/指令本身)结果值参照:产生的结果存放何处(结果地址:主(虚)存/寄存器/I/O端口)下一条指令地址:下条指令存放何处(下条指令地址:主(虚)存)(正常情况隐含在PC中,改变顺序时由指令给出)ISA.5地址码字段的个数据上述分析知,一条指令包含1个操作码和多个地址码零地址指令(1)无需操作数如:空操作/停机等(2)所需操作数为默认的如:堆栈/累加器等形式:OP一地址指令其地址既是操作数的地址,也是结果的地址(1)单目运算:如:取反/取负等(2)双目运算:另一操作数为默认的如:累加器等形式:OPA1二地址指令(最常用)分别存放双目运算中两个操作数,并将其中一个地址作为结果的地址。形式:OPA1A2三地址指令(RISC风格)分别作为双目运算中两个源操作数的地址和一个结果的地址。形式:OPA1A2A3多地址指令大中型机中用于成批数据处理的指令,如:向量/矩阵等ISA.6从指令执行周期看指令设计涉及的问题InstructionObtaininstructionfromprogramstorageFetch指令地址、指令长度(定长/变长)InstructionDeterminerequiredactionsDecode指令格式、操作码编码、操作数类型OperandLocateandobtainoperanddataFetch地址码格式、寻址方式、操作数格式和存放方式ExecuteComputeresultvalueorstatus操作类型、标志或条件码ResultDepositresultsinstorageforlateruseStore结果数据位置NextDeterminesuccessorinstructionInstruction下条指令地址(顺序/转移)ISA.7指令格式的设计指令格式的选择应遵循的几条基本原则:应尽量短要有足够的操作码位数指令编码必须有唯一的解释,否则是不合法的指令指令字长应是字节的整数倍合理地选择地址字段的个数指令尽量规整与指令集设计相关的重要方面操作码的全部组成:操作码个数/种类/复杂度LD/ST/INC/BRN四种指令已足够编制任何可计算程序,但程序会很长数据类型:对哪几种数据类型完成操作指令格式:指令长度/地址码个数/各字段长度通用寄存