x86架构下μop是如何调度的

在CPU的后端会有多个port用于执行uop。每个port只能用于执行某些uop,而一条uop可能可以在多个port执行,这就涉及到了uop的调度问题。

Read more

如何确定一条汇编指令的长度

最近在做实验的时候遇到了一些奇怪的问题,为了排除一些选项,不得不确定先一条汇编指令的长度,现记录如下。

当然最简单的方法是用ida反汇编之后直接对照。

如果是一段机器码片段,也有在线反编译器可使用12

Read more

使用汇编编写多线程程序

本文的运行环境为 ubuntu 20.04,编译环境为NASM version 2.14.02。文中代码不使用 pthread 等库。

如果需要在windows下使用汇编编写多线程程序,可以参考这个视频

Read more