- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * MAR: Memory Address Register MBR: Memory Buffer Register * * * * * * * * * * * 多条指令在同一段时间内需要使用同一个流水级,这种现象称为资源相关. 这种相关性是因为硬件资源不够造成的,与硬件结构有关,所以又称结构相关。资源相关使得指令不能同时执行。例如在上述指令流水线中,如果数据和指令存放在同一个存储器中,而且只有一个访问接口,这样便会发生这两条指令需要同时访问存储器的情况。或者两条指令同时需要ALU进行地址或者数据的计算时,也发生了资源相关。解决资源相关的主要方法是增加资源,例如增加运算部件的数量、增加存储器模块。 * * * * * * 在数据对齐存储方式下,要求一个数据字占据完整的一个字的存储位置,而不是分成两部分,各占据一个字存储位置的一部分. * * */60 1. 数据类型 数值型 整型 字节、字、双字 浮点数 单精度、双精度 字符型 ASCII 数据类型在指令中的表达 操作码表达 地址码表达 数据编码表达 指令和数据的寻址方式 * */60 2. 数据存储字节顺序(Endianness) 大数端(Big Endian) 最低字节存储在高地址 小数端(Little Endian) 最低字节存储在低地址 例:数据000F4240: 指令和数据的寻址方式 * */60 3. 数据对齐方式(Alignment) 数据类型及其存储方式 指数据的逻辑存储位置与物理访问位置的对齐方式 * */60 指令的寻址方式 顺序执行 程序计数器(PC)寻址 非顺序执行 转移指令 如: jump $1000 bgt R1 指令2 PC 指令3 指令1 指令和数据的寻址方式 * */60 addressing modes 1. 隐含方式 如: “ADD ADR”中的累加器 2. 立即数方式 如: INT #3 3. 寄存器方式 如: INC R1 操作数 R1 操作数寻址方式 * */60 4. 直接寻址方式 如: INC 1000 操作数 1000 操作数寻址方式 * */60 5. 间接寻址方式 寄存器间接,如: INC (R1) 存储器间接,如: INC (1000) A 操作数 A 操作数 R1 1000 操作数寻址方式 * */60 6. 相对寻址方式 如: INC 8(PC) 操作数 8 操作数寻址方式 * */60 7. 变址和基址寻址方式 如:INC 8(R1) 变址寻址 indexed mode -便于数组访问 基址寻址 based mode -可扩大寻址范围,可实现程序浮动 I 操作数 R1 8 操作数寻址方式 * */60 8. 复合寻址方式如: INC 8(PC+R1) INC (R1)(1000) R1 8 操作数寻址方式 * */60 各种常见寻址方式的汇编指令表示 * */60 */59 一、指令集设计原则 完备性:能够覆盖所需的各种功能 正交性:无功能完全相同的指令 可扩充性:保留一定余量的操作码空间以供以后功能扩展。 有效性:利用该指令系统编写的程序能高效地运行。 兼容性:机器指令的通用性。 指令系统 * * */60 常见指令类型 数据传送:move, load, store 算术运算:add, sub, mult, div, comp 逻辑运算:and, or, neg, shift * */60 移位运算shift Data shift operations * */60 指令类型 数据传送:move, load, store 算术运算:add, sub, mult, div, comp 逻辑运算:and, or, neg, shift 程序控制:jump, branch, jsr, ret, int 输入输出:in, out 堆栈操作:push, pop 字符串:如alpha中CMPBGE, INSWH等 多媒体指令:DSP 系统指令:用于改变计算机系统的工作状态。 * */60 程序流控制-转移指令 条件转移 vs 无条件转移 相对转移 vs 绝对转移 状态寄存器SR N Z V C P N:符号标志位 Negative Z:全零标志位 Zreo V:溢出标志位 Overflow C:进位/借位标志位 Carry P:奇偶标志位 Parity * */60 功能 实现子程序调用 步骤 将下一条指令的地址(PC的值)存放在一个临时存储位置 将子程序的起始地址装入PC中 子程序返回指令 将存放在临时存储位置的指令地址取出 放回PC 程序流控制-转子指令 * */60 CISC和R
文档评论(0)