高等计算机体系结构2-lixianfeng
2015-09-23 21:59
441 查看
理解是怎么工作的,跳转是难点。为的是工作中看汇编代码能看懂
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怎么分配的.
寄存器-立即数 移位语句
控制转移语句
条件分支指令
保存现场,恢复现场
嵌套过程调用
过程调用帧
过程调用
步骤
caller callee
jal(jump and link)
jr,jalr
堆栈stack、后进先出,专用$sp
保护,恢复现场
嵌套过程调用
寻址 编译 执行
寻址方式 4种:立即数,寄存器,基地址,条件跳转,高低位
编译执行:complier assenbler linker loader
设计原则
RISC CISC精简 复杂
杂谈
相关文章推荐
- 黑马程序员—java技术blog—第三篇 TCP协议及基础应用
- iOS_AFNetworking_AFNetworkReachabilityManager(检测网络可达性)
- 浅谈网络游戏的设计——服务器端编程
- 网络游戏服务器端架构设计
- 读取网络中的数据并写入数据库
- Python在HTTP接口测试中的应用
- 黑马程序员----C 语言学习笔记之计算机中的进制
- 1.网络工具:ifconfig,ping,netstate,Redhat命令和图形化设置ip,finger,nslookup
- 被注入病毒的苹果 还能得到用户宠爱吗?
- 《计算机操作系统》总结三(内存管理)
- hdu4746:2013杭州网络赛I 莫比乌斯反演
- iOS开发中的网络请求
- 【软件设计师教程】计算机系统知识
- 交叉线还是直通线?
- 多线程
- 关于超文本传送协议HTTP的小小总结
- c#网络编程学习笔记00_补上一些基础概念
- iOS:网络编程中三个数据解析协议HTTP、XML、JSON的详细介绍
- 数据结构与算法面试题80道
- 关于栈的操作