自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 在MIPS中实现原子操作

在这个过程中,由于+1这个操作不是原子的,导致A的操作被B覆盖了,如果我们将这个+1的操作原子化,将取数据,+1,放回数据合并成一个不可再分的原子化操作,那么我们就可以避免数据冲突。在上述代码中,我们先从s0中取出一个数,然后自加1后用sc放入原寄存器,若在此过程中没有其他处理器修改过该内存,则t0为1,执行成功。否则t0为0,跳转到again重新执行,在这个过程中,自加1操作不再可分。与普通的加载指令(如LW)不同,LL指令还会在内部记录加载的内存地址和对应的数据,为后续的SC指令做准备。

2024-03-26 17:49:45 461

原创 MIPS中的字符与字符串

另外的一点区别是,C字符串以空字符’\0’来标示字符串的结束,但是Java中的字符串是没有结束符的。含义:将栈指针sp指向的寄存器的最右边的16位放入s0中最右边的16位,并将取到的16位中的最高位(符号位)填充到左16位中的每一位。含义:将栈指针sp指向的寄存器的最右边的8位放入s0中最右边的8位,并将取到的8位中的最高位(符号位)填充到左24位中的每一位。含义:将栈指针sp指向的寄存器的最右边的16位放入s0中最右边的16位,没有符号位的扩展。示例:lhu $s0,0($sp)

2024-03-26 17:08:53 218

原创 从高级语言到汇编语言(MIPS)

C语言是如何转化为汇编语言的?这一步在电脑中是由汇编程序完成的,但是了解C语言到汇编语言的转换过程有利于我们更好的编写出性能更加优异的程序,在这一片文章中我将逐步介绍从C到MIPS的核心思想和实现步骤。

2024-03-24 21:43:34 1055

原创 CPU的性能以及功耗的衡量方法

关于CPU性能和功耗的详细计算办法

2024-03-23 14:32:30 938

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除