pmu 性能分析

1. 什么是PMU

Performance Monitor Unit,性能监视单元,其实CPU提供的一个单元,属于硬件的范畴。通过访问相关的寄存器能读取到CPU的一些性能数据,目前大部分CPU都会提供相应的PMU,下面主要学习Intel系列CPU的PMU。

阅读更多

RPL、DPL、CPL之间的关系

保护模式中最重要的一个思想就是通过分级把代码隔离了起来,不同的代码在不同的级别,使大多数情况下都只和同级代码发生关系。Intel 的80286以上的cpu可以识別4个特权级(或特权层) ,0级到3级。数值越大特权越小。一般用把系统内核放在0级,系统的其他服务程序位于1、2级,3级则是应用软件。一般情况下代码都在自己的级别下做自己 的工作,同一级别之间可以相互访问,而一般是不允许不同级别的代码间随意访问的。但有时候不同级别的程序之间一定要访问,比如系统的接口函数等,必须能够 使得应用程序能够随意调用。

阅读更多

TLB、cache与buffer的比较

1)TLB的概述

TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存.

TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据.

阅读更多

x86-64安全虚拟机构架

AMD虚拟化(AMD-V?)构架安全虚拟机(Secure Virtual Machine,SVM)为企业级服务器虚拟软件技术设计,SVM在处理器上提供了硬件资源,允许单个机器更有效地运行多个操作系统,并维护安全和资源相互隔离。

虚拟机监视器(Virtual Machine Monitor,VMM)也称为系统管理程序(Hypervisor),由控制程序软件组成,用于控制在单个物理机器上运行的多个客户操作系统。VMM给 每个客户操作系统提供了完全的计算机系统控制,包括内存、CPU和其他周边设备。

阅读更多

获取cpu 温度篇

刚接手这个的时候,可以说是一头雾水,完全不知道该怎么搞。首先接触到的就是hwmonitor和core temp 这两款软件,同时看到上面core temp 的说明,可以说知道一点东西了。可以它其中说的amd是在nb的特殊寄存器中,这个到底是什么寄存器了。当时没有去看amd的一些文档,就直接看是逆向hwmonitor和core temp软件,通过动态和静态分析了这两个软件的驱动和应用程序,只能说知道其中他们是在不断的进行端口读写分别是0XCF8和0xCFC这两个端口。你可以上网查找这两个端口是干什么的,之前由于我左右pci 配置空间读取问题,所以对这个两个端口不是很陌生。pci 配置空间相关说明就要看pci 规范了,说的很详细。

阅读更多