本文是《超标量处理器设计》这本书的读书笔记。总的来看这本书的难度在 《计算机组成与设计-硬件软件接口》和《计算机体系结构量化研究方法》之间。 这本书主要讲的是超标量处理器各个部件的设计原理。
计算机组成与设计-硬件软件接口笔记
本文是《计算机组成与设计-硬件/软件接口》的读书笔记。这本书讲的是CPU硬件设计 的一些基本知识,有一个定数字电路基础的人用来入门CPU硬件设计用这本书比较好, 看完这本书再看《计算机体系结构:量化研究方法》会比较容易一点。这本书的缺点 是讲的比较浅,现代CPU设计里的超标量、乱序和多发射具体的设计讲的比较少。
PCIe ATS协议分析
本文具体分析ATS相关的一些消息格式, 以及一些相关的设计逻辑。这些消息格式 除了capability,其他的都是软件不感知的,但是通过分析他们,我们对系统的 行为可以有更深一点的了解。当前的版本中,我们先分析目前比较关心的域段,随后 看需要补充其他的域段。
如何在qemu里增加一个虚拟设备
本文介绍在qemu里增加一个虚拟设备的步骤。本文会以一个PCIe DMA engine设备为 例来介绍,我们定义这个设备的软硬件接口,并且按照这样的定义在qemu里实现这个 设备,最后我们实现这个设备的Linux内核驱动。使用qemu可以方便的调试Linux内核, 有了自定义的qemu设备,使用qemu调试与设备有关的问题也会变得比较方便。
两层qemu环境配置
本文介绍qemu启动的系统里再起一个qemu的环境配置。这样可以搭建一个完全虚拟的 虚拟化环境,方便调试虚拟化相关的东西。本文说明整个搭建的逻辑,并搭建一个arm64 的qemu in qemu的环境。
Makefile再学习
本文是《跟我一起学Makefile》的一个学习笔记,N年前看过这个材料,现在再回头 看下,温故而知新。然后在拿pciutils里手写的Makefile逐行对照着看下。本文也用于 后面持续收集make相关的用法。
一个优先级队列的实现
本文介绍优先级队列的基本概念,并用c语言实现一个简单的优先级队列。
PCIe PRI分析
本文分析和PCIe PRI特性相关的软硬件接口逻辑,以及相关的软件实现。
qemu iommu模拟思路分析
本文介绍qemu对iommu模拟的思路,我们以qemu里smmuv3设备驱动为例。
Linux内核DMA子系统分析
本文分析Linux内核DMA子系统的构架,需要写DMA engine驱动的同学可以作为参考。