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

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

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精简 复杂
杂谈

posted @ 2015-09-23 21:59  dunfentiao  阅读(187)  评论(0编辑  收藏  举报