CPU利用率计算

/proc/stat    在Linux的内核中,有一个全局变量:Jiffies。 Jiffies代表时间。它的单位随硬件平台的不同而不同。系统里定义了一个常数HZ,代表每秒种最小时间间隔的数目。这样jiffies的单位就是1/HZ。Intel平台jiffies的单位是1/100秒,这就是系统所能分辨的最小时间间隔了。每个CPU时间片,Jiffies都要加1。 CPU的利用率就是用执行用户态+系统

- 阅读全文 -

嵌入式 | ARM中断异常

<div align=center></div> <div align=center></div> 异常优先级:<div align=center></div> ARM处理器的异常空间:<div align=center></div> 在所有异常的入口,IRQ 中

- 阅读全文 -

嵌入式 | ARM工作模式详解

ARM v4版本的处理器有以下两个工作状态:ARM状态:32位,执行字对准的ARM指令。(性能好,代码密度小Thumb状态:16位,执行半字对准的Thumb指令。(性能差,代码密度大) 进入Thumb状态的方法是:执行BX指令,并设置操作数寄存器的状态(位[0])为1。在Thumb状态进入异常(所有的异常都是ARM状态),当异常处理返回时自动转换Thumb指令。进入ARM状态的方法是:执

- 阅读全文 -

嵌入式 | 嵌入式系统概论

嵌入式系统的硬件是以嵌入式微处理器为核心,主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。嵌入式系统的软件是由初始化代码及驱动、嵌入式操作系统和应用程序等软件有机地结合在一起形成系统特定的一体化软件。 总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。 <div align=center></div>&nbs

- 阅读全文 -

嵌入式 | U-Boot的源码stm_flash.c详细剖析

FLASH存储器FLASH存储器又称为闪存,它也是可重复擦写的储器,部分书籍会把FLASH存储器称为FLASH ROM,但它的容量一般比EEPROM大得多,且在擦除时,一般以多个字节为单位。根据存储单元电路的不同,FLASH存储器又分为NOR FLASH和NAND FLASH。<div align=center></div>支持XIP,才能直接运行代码,SD卡,硬盘,U盘其

- 阅读全文 -

嵌入式 | ARM嵌入式微处理器核心

ARM内核是一种32位RISC微处理器,具备功耗低、性价比低、代码密度高等三大特色。ARM处理器具有RISC体系结构的典型特征,同时具以下特点:  在每条数据处理指令当中,都控制算术逻辑单元(ALU)和移位器,以使ALU和移位器获得最大的利用概率。  自动递增和自动递减的寻址模式,以优化程序中的循环。  同时Load和Store多条指令,以增加数据吞吐量。&em

- 阅读全文 -

汇编 | CPU提供的栈机制

CPU提供的栈机制:push 寄存器/段寄存器/内存单元:将寄存器/段寄存器/内存单元中的数据压入栈中 pop 寄存器/段寄存器/内存单元:从栈顶取出的数据送入寄存器/段寄存器/内存单元中push和pop实质上是一种内存传送指令。8086CPU的push和pop都是以字为单位进行。栈顶的段地址存放在SS中,偏移地址存放在SP中。SS:SP指向栈中的第一个元素。**注:栈顶在上面,低位在上面。在80

- 阅读全文 -

汇编 | 寄存器篇

8086CPU内存中字的存储:CPU中,用16位寄存器来存储一个字,高8位存放高位字节,低8位存放低位字节。在内存中存储时,由于内存单元是字节单元,一个字要用两个地址连续的内存单元来存放。字的低位字节存在低位地址单元中,字的高位字节存在高位地址单元。起始地址(低位)为N,则为N地址字单元。CPU中DS寄存器通常用来存放要访问数据的段地址。 如下几种形式:mov 寄存器,数据 mov 寄存器,寄存器

- 阅读全文 -

汇编 | 入门代码篇

assume 寄存器:段名 ;将寄存器和代码段联系一起 段名 segment ;一个段的开始 ... ... 段名 ends ;一个段的结束 mov ax,4c00H ;程序返回 int 21H end

- 阅读全文 -