0%

名词解释

POSIX: Portable Operating System Interface
A cross-platform specification supported by UNIX operating systems and those considered UNIX-like, such as Linux. The X in the name originally denoted that the interface was “based on UNIX.”

Read more »

今天学到一个知识点X86-64-ABI pre-build X86-64-ABI 下载地址
斗胆翻译下其中的3.2章节

本节介绍了标准的函数调用顺序,包括堆栈框架的布局、寄存器的使用、参数传递等等。标准调用顺序的要求只适用于全局函数。局部函数不能从其他编译单元访问,所以不尽相同。尽管如此,我们还是建议所有的函数在可能的情况下使用标准的调用顺序。

Read more »

玩了这么久的Intel CPU,今天一个问题忽然闪现在我脑海:“X86_64到底有多少个寄存器”? 带着知识的渴求,我们来掰一下手指头。

通用寄存器 (general register)

Read more »

PCI以及PCIE设备非常普遍,其驱动也是内核中非常重要的一部分,受到网友的启发,借助QEMU一次性把PCI/PCIE的拓扑结构给说透(尽量)。
为了简单,这里使用virtio-scsi-pci HBA (host bus adapter)作为例子,分别来探究PCI和PCIE两种不同类型的总线。

PCI

Read more »

概述

Intel® DSA是集成在Intel处理器中的高速数据拷贝传输的加速器。用于优化应用程中用于存储、网络、persistent memory以及各种数据处理时的的那些数据流搬运和传输。
Intel® DSA取代了Intel® I/O Acceleration Technology中的Intel® QuickData Technology。

Read more »

之前写过一篇关于如何手写最小ELF的文章。但偶然间在油管上发现了一个很好的视频,参考文末链接。
可以进一步缩小ELF文件。大概思路是:

  • 将之前64bit的文件改写成32bit
  • 整个e_ident部分是可以被覆盖的
  • e_shoff e_flags e_ehsize e_shnum e_shstrndx p_flags 是可以去掉的。
  • 代码段一堆放不下,是可以用JMP跳转的
Read more »

最近因工作需要,需要精确计算CPU的performance,顺便查了下,应该如何稍微精确的计算CPU的频率。
大概网上搜到三种方法:1,使用rdtsc,通过tsc计算CPU频率;2,IA32_APERF 和 IA32_MPERF两个MSR计算;3,系统接口”/sys/devices/system/cpu/cpu/cpufreq/scaling_cur_freq”
下面来分别比较下三种方法的优劣:

rdtsc

Read more »