自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (5)
  • 收藏
  • 关注

转载 Should volatile Acquire Atomicity and Thread Visibility Semantics?

Doc. no.N2016=06-0086Date:2006-04-21Reply to:Hans Boehm Authors:Hans Boehm & Nick MaclarenShould volatile Acquire Atomicity and Thread Visibility Semantics?Traditio

2013-12-25 11:39:34 1276

转载 Volatile: Almost Useless for Multi-Threaded Programming

Volatile: Almost Useless for Multi-Threaded ProgrammingSubmitted by Arch D. Robison... on Fri, 11/30/2007 - 12:44There is a widespread notion that the keyword volatile is g

2013-12-25 11:38:26 1362

转载 Why the "volatile" type class should not be used

------------------------------------------------C programmers have often taken volatile to mean that the variable could bechanged outside of the current thread of execution; as a result, they ares

2013-12-23 10:26:46 1438

转载 核间中断IPI的机制

XLR 732 多核多线程处理器的中断由 PIC(Programmable Interrupt Controller)统一控制。PIC 允许一个硬件线程中断其他的硬件线程,这种方式被称为核间中断(Inter-Processor Interrupts,IPI)。PIC 拥有一个宽度为 32 位的核间中断寄存器IPIBase,该寄存器包含目的线程的编号、中断向量及中断类型(是否中断多个硬件线程

2013-12-21 11:10:25 14501

翻译 编译器如何工作?

解释编译器如何工作不是一件容易的事,最好的方法是用一个实例进行说明: 编译器是这样一个电脑程序,它把用高级编程语言编写的源代码,转化成低级语言。最基本地,一个编译器由以下几个阶段组成:词法分析、语法分析、语义分析、IR(中间代码,intermediateRepresentation)产生、IR优化、代码产生、最终优化。

2013-12-09 22:48:30 1909

转载 编译器基本过程

编译器最基本的功能就是把高级语言(例如C/Fortran)编写的代码转化为机器指令(就是01串),从这个角度来说它本质上是个转换过程。经典的编译过程主要包括:1、       词法分析(Lexical Analysis)词法分析就是从输入代码中识别出各种记号(token),例如对于C语言我们就需要知道if,else等是语言的关键字,myvar是个标识,而123myvar不能被识别为一个标识

2013-12-09 22:39:03 1747

关于内核动态补丁技术(kpatch)

内核可以在运行时动态执行补丁中的代码(kpatch),而不需要重启后再运行补丁代码。对于kpatch的运行原理,可以参看[3], kpatch基于ftrace技术,可以在内核运行时动态的(即不需要重启)、整体替换某个函数(但需要暂时停止所有运行时进程)。如图1所示,具体的,当内核运行之前,加入原来的内核函数名字为func_original(),则内核编译时就先把patch做好(假设替换函数为func_replace()),同时编译进内核中。本文主要解释从gnu汇编原语角度如何实现kpatch,具体kpatch机制可以参考文献[3]。内核文件arch/arm64/include/asm/alternative.h中有一段汇编,涉及内核动态patch技术。

2018-11-19

SPEC 2017 int rate command lines

SPECCPU 2017 整型测试程序的命令行,从代码中抠出,用于单独运行benchmark进行实验

2018-06-01

Event in gem5

gem5底层如何实现模拟处理器并行执行的?如何实现准确计算cycle数?

2017-01-21

ARMv8 Linux内核异常处理分析

看了 Linaro 提供的开源 ARMv8 Linux 内核源码,发现 ARMv8 异常处理与 ARMv7 及之前的架构有所不同,详细分析之

2014-05-30

ARM上电启动及Uboot代码分析

网上关于ARM的bootloader(以Uboot为例)的启动顺序的资料有好多,但是对于Uboot的地址映射、体系结构级操作介绍很少,都是直接开始Start.s代码的阅读。本文拟详细分析Uboot从上电,到第一条指令的执行,同时分析代码对于cache、TLB等部件的操作过程。 以下内容以u-boot-2012.04.01源码为例,从网上很容易下载该版本。

2014-05-30

空空如也

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

TA关注的人

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