volatile: 功能:即使程序不修改内存单元,值也会发生变化(硬件或其他程序修改) 作用:改善编译器的优化能力(编译器默认将常用·假设值不变的变量加入寄存器,使用 volatile 后将不优化) mutable: 指出即使结构或类变量为 const ,其某个成员也可以被修改 struct dat ...
分类:
编程语言 时间:
2020-05-11 13:32:17
阅读次数:
70
欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 1 输入数据同步化的原则 (1)如果输入数据的节拍和本级芯片的处理时钟同频,可以直接用本级芯片的主时钟对输入数据寄存器采样, 完成输入数据的同步化; (2)如果输入数据和本级芯片的处理时钟是异步的,特别是频率不匹配的时候,则只有用处理时钟对 ...
分类:
其他好文 时间:
2020-05-10 14:41:21
阅读次数:
57
页式内存管理上A.段式内存管理1.指的是一段连续的内存空间2.段式内存管理-程序的各个部分相对独立(数据段,代码段),早期x86处理器无法通过一个寄存器访问所有内存单元,解决早期程序运行的重定位问题段式内存管理的应用,在x86系列的处理器中,硬件对段式内存管理进行了直接支持;另外,段式内存管理也可以使用纯软件实现,内存单元地址=段首地址+段内偏移地址B.段式内存管理在C语言中的实现1.数组的本质:
分类:
其他好文 时间:
2020-05-09 10:44:15
阅读次数:
102
1、栈(Stack):存放的都是方法中的局部变量。方法的运行一定要在栈当中。 局部变量:方法的参数,或者是方法{}内部的变量 作用域:一旦超出作用域,立刻从栈内存当中消失。 2、堆(Heap):凡事new出来的东西,都在堆当中。 堆内存里面的东西都有一个地址值:16进制 堆内存里面的数据,都有默认值 ...
分类:
编程语言 时间:
2020-05-08 20:13:48
阅读次数:
107
一、文章背景 1个master,30个slaver,485 RTU通信。 master主动读取slaver的寄存器信息,下面用来做啥就省略了,本文只介绍如何处理通信逻辑。 关于协议的基本信息省略。 由于计算机加密,文字都是在博客编辑框中现写的。 二、注意点 1、 master不可同时与30个从站通信 ...
分类:
数据库 时间:
2020-05-08 16:06:46
阅读次数:
985
自旋锁(Spin Lock) 自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断等部分 (对于单处理器来说,防止中断处理中的并发可简单采用关闭中断的方式,即在标志寄存器中关闭/打开中断标志位,不需要自旋锁)。 自旋锁的性质 自旋锁最多只能被一个可执行线程所执有。 如果一个执行线程试 ...
分类:
其他好文 时间:
2020-05-07 15:45:43
阅读次数:
70
2.4 物理地址 CPU访问内存单元时要给出内存单元的地址。所有的内存单元构成的存储空间是一个一维的线性空间。 每一个内存单元在这个空间中都有唯一的地址,这个唯一的地址称为物理地址。 2.5 16位结构的CPU 概括的将,16位结构描述了一个CPU具有以下几个方面特征: 1、运算器一次最多可以处理1 ...
分类:
其他好文 时间:
2020-05-07 15:24:05
阅读次数:
101
涉及到以下汇编指令: pushl: 入栈 ebp指向栈底 esp指向栈顶 入栈时只需要将esp下移, 将入栈的值放入esp指向的地址,如下图所示: popl: 出栈 先将栈顶的数据保存,再将esp上移 call:顾名思义,调用一个函数 调用一个函数需要将当前执行到的指令位置(eip寄存器的值)保存, ...
分类:
其他好文 时间:
2020-05-07 00:26:08
阅读次数:
72
准备工作:首先输入起始数字,比如这里输入1和逗号,光标在当前行 动作序列如下:1. normal模式下qa 即将动作记录放入寄存器a中,可以根据自己偏好使用寄存器 2. Y 复制整行 3. p 粘贴到下一行 4. f , 向右查找到逗号, 5. h 光标右移一个字符 6. ctrl + a 数值加1 ...
分类:
其他好文 时间:
2020-05-06 21:55:07
阅读次数:
93
1,https://blog.csdn.net/ce123_zhouwei/article/details/7204458 2, 一、I/O端口 端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存 ...
分类:
其他好文 时间:
2020-05-06 21:51:32
阅读次数:
223