- 1、本文档共104页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章-计算机组成原理指令系统讲授资料
堆栈寻址方式 为了克服这些缺点,通常由程序员设置出一部分主存储器来作为堆栈,称为存储器堆栈。 这种堆栈有三个优点: ⑴堆栈能够具有程序员要求的任意长度; ⑵只要程序员喜欢,愿意建立多少堆栈,就能建立多少堆栈; ⑶可以用对存储器寻址的任何一条指令来对堆栈中的数据进行寻址。 * 存储器堆栈 在存储器类型的堆栈中,需要一个堆栈指示器,它是CPU中一个专用的寄存器。堆栈指示器指定的存储器单元,就是堆栈的栈顶。 在设计计算机系统时,把主存储器的一部分用作堆栈区。一旦设定堆栈区后,这一部分就不能用作其他用途。 1000 ? 14FC 14FD 14FE 14FF 1500 堆栈区 堆栈寻址方式 1000 SP * 1000 ? 14FC 14FD 14FE 14FF 1500 堆栈区 存储器中从1000H~14FFH单元构成一个堆栈区,其栈底始终指向1500H,而栈顶可在1500H~1000H之间浮动。当堆栈置空时,栈顶指向栈底。随着数据的入栈,栈顶不断向小地址方向移动,始终指向最后入栈的数据。 当有数据入栈时,总是先修改SP(SP-1→SP),后数据入栈(由SP给定入栈地址),当有数据出栈时,总是先数据出栈(由SP给定出栈地址),后修改SP(SP+1→SP),以保证SP总是指向当前的栈顶。 演示见CAI 堆栈寻址方式 * 典型指令 任何计算机的指令系统均由不同类型的机器指令构成,少则几十条,多则几百条。一般来说指令数量越多,用汇编语言编写源程序越方便,对于高级语言来说,对编译程序的要求越低,将会导致机器结构越复杂,设计与调试周期越长。 不同机器的指令系统是各不相同的。从指令的操作码功能来考虑,一个较完善的指令系统,应当包括: 数据传送类指令 算术运算类指令 逻辑运算类指令 程序控制类指令 输入输出类指令 字符串类指令 系统控制类指令 * 指令的分类 数据传送指令 这是任何指令系统中必有的,而且数量最多、使用频度最高。这类指令用来完成计算机系统内部各个功能部件之间相互传送数据。它一般可细分为: (1)寄存器与寄存器之间的数据传送指令; (2)寄存器与存储器之间的数据传送指令,通常称其为取数/存数指令; (3)CPU与外部设备之间的数据传送指令,通常称其为输入/输出指令。 这一类指令的主要特点是只完成数据传送功能,不改变操作数的内容。 * 指令的分类 算术运算指令 这类指令主要是完成二进制数的加、减、乘、除法运算。 有的机器还设置有十进制算术运算指令、取补指令、加1指令、减1指令和算术移位指令等。 这类指令的主要特点是运算中要考虑低位向高位的进位,运算后除可得到结果外,还将运算结果的特征置入标志寄存器中,供条件判断之用。 * 指令的分类 逻辑运算指令 这类指令主要是完成二进制数的逻辑运算功能,例如:两个操作数的“逻辑非”、“逻辑与”、“逻辑或”、逻辑异或“和单个操作数的逻辑移位指令等。 这类指令的主要特点是运算中不需考虑低位向高位的进位。 * 指令的分类 程序控制指令 程序控制指令也称转移指令。 执行程序时,有时机器执行到某条指令时,出现了几种不同结果,这时机器必须执行一条转移指令,根据不同结果进行转移,从而改变程序原来执行的顺序。这种转移指令称为条件转移指令。 除各种条件转移指令外,还有无条件转移指令、转子程序指令、返回主程序指令、中断返回指令等。 * 指令的分类 字符串处理指令 字符串处理指令是一种非数值处理指令,一般包括字符串传送、字符串转换(把一种编码的字符串转换成另一种编码的字符串)、字符串替换(把某一字符串用另一字符串替换)等。 这类指令在文字编辑中对大量字符串进行处理。 * 特权指令 特权指令是指具有特殊权限的指令。这类指令只用于操作系统或其他系统软件,一般不直接提供给用户使用。 在多用户、多任务的计算机系统中特权指令必不可少。它主要用于系统资源的分配和管理。 其他指令 除以上各类指令外,还有状态寄存器置位、复位指令、测试指令、暂停指令,空操作指令、堆栈操作指令,以及其他一些系统控制用的特殊指令。 指令的分类 * 指令系统的发展 50年代:指令系统只有定点加减、逻辑运算、数据传送、转移等十几至几十条指令。 60年代后期:增加了乘除运算、浮点运算、十进制运算、字符串处理等指令,指令数目多达一二百条,寻址方式也趋多样化。 60年代后期开始出现系列计算机(指基本指令系统相同、基本体系结构相同的一系列计算机)一个系列往往有多种型号,它们在结构和性能上有所差异。同一系列的各机种有共同的指令级而且新推出的机种指令系统一定包含所有旧机种的全部指令,旧机种上运行的各种软件可以不加任何修改便可在新机种上运行,大大减少了软件开发费用。 * 指令系统的发展 70年代末期:大多数计算机的指令系统多
文档评论(0)