高等计算机体系结构2-lixianfeng

本文详细解析计算机指令的工作原理,包括指令集架构、指令执行流程、数据运算、数据移动和控制转移等关键概念,同时介绍了MIPS指令系统的操作数类型、指令分类以及指令编码格式。文章还探讨了嵌套过程调用、寻址方式和编译执行过程,并讨论了设计原则和一些实际应用案例。

理解是怎么工作的,跳转是难点。为的是工作中看汇编代码能看懂

1.基础
概念 功能
ISA 软硬件接口
instruction指令=opcode + oprand
如果内存容量较大,将需要很长的操作数域,从内存中取数速度慢,功耗高。为了解决这个问题: load R1 A :ALU 离CPU很近的一个寄存器,load一次运算多次。改善了add的拿数据的时间
执行
分类(4系统控制指令)
数据运算
数据移动
控制转移
MIPS
操作数类型:根据数据所在位置来划分:
immediate(在指令中不用去别处取常数)
register(寄存器编号)
memory(常数:偏移量,在寄存器中指定,此时寄存器中存储的是地址)
指令分类3类
原来程序员角度:ALU instruction;data movement;control transfer
指令编码格式角度:
R-type;寄存器格式:op(操作码) rs rt rd(2^5=32个寄存器) shamt (移位) funct(补充)
I 立即数格式:op rs rt immediate value (2^16=64k)
J 跳转格式:op target address(26) 长跳转三种指令等长;32位,64位,是寻址空间大小不同。 add sub 只有funct不同,加法和减法通路配置相似
源代码到MIPS机器指令1200=300*4,每个字节用4byte表示
功能上
alu 算数逻辑运算指令
通用寄存器使用惯例:32个register怎么分配的.
寄存器-立即数 移位语句
控制转移语句
条件分支指令
保存现场,恢复现场
嵌套过程调用
image
image
image
image

过程调用帧
过程调用
步骤
caller callee
jal(jump and link)
jr,jalr
堆栈stack、后进先出,专用$sp
保护,恢复现场
嵌套过程调用
寻址 编译 执行
寻址方式 4种:立即数,寄存器,基地址,条件跳转,高低位
编译执行:complier assenbler linker loader
设计原则
RISC CISC精简 复杂
杂谈

转载于:https://www.cnblogs.com/dunfentiao/p/4833661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值