计组-MIPS

本文详细介绍了MIPS处理器的指令对齐要求、单周期和流水线处理器的工作原理,特别是流水线中的数据通路设计,包括IF、ID、EX、MEM、WB等阶段。同时,讨论了数据冒险和解决方法,如转发与阻塞,并提供了具体实例进行说明。
摘要由CSDN通过智能技术生成

MIPS指令 

  

//i, j, f, g, h, 分别存在 $s1, $s2, $s3, $s4, $s5
if (i == j)
	f = g+h ;
else
	f = g-h ;

//翻译为汇编
		bne $s1, $s2, else	//与C语句相反, i!=j, jump to else  
		add $s3, $s4, $s5
		j	exit			//jump to exit  
else:	sub $s3, $s4, $s5
exit:
//g, h, i, j ~ $1, $2, $3, $4 and base address of array is in $5
//数组元素为int类型,sizeof(int)=4
Loop:	g = g +A[i];
		i = i+ j;
		if (i != h) go to Loop:

//翻译为汇编
Loop:	add $7, $3, $3		//i*2,加法快
		add $7, $7, $7  	//i*4, 得到偏移量,也可用移位
		add $7, $7, $5  	//加上数组基地址
		lw $6, 0($7)  		// $6=A[i]
		add $1, $1, $6  	//g= g+A[i]
		add $3, $3, $4		//i = i+j;
		bne $3, $2, Loop	//程序员不必计算分支指令的地址,而只要用标号即可!汇编 器完成地址计算

         对齐对于 MIPS 处理器很重要,它只能从内存中读取地址为数据大小倍数的地址处的多字节值。目标地址必须是所访问之数据单元字节数的整数倍(也即该类型对应字节数 / 8)。

        比如要访问一个32位的整数,那么这个数据必须(最好)存储在以4字节(32/8=4)对齐的地方

流水线

MIPS单周期处理器 

MIPS常用指令集

单周期数据通路设计 

注意事项

  • 所有指令都在一个时钟周期内完成
  • 哈佛体系结构:指令和数据分开存储

 计算

MIPS流水线处理器

同理,MIPS处理器执行指令的过程也可以分为几个逻辑独立的部分:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值