
CPU处理器类
文章平均质量分 90
ComputerInBook
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
操作系统——并发相关问题
并发编程原创 2022-10-19 12:57:11 · 3275 阅读 · 0 评论 -
操作系统——多处理器和多核架构
操作系统——多处理器和多核架构原创 2022-09-28 17:04:22 · 4289 阅读 · 0 评论 -
IDA反汇编之栈帧例释
使用IDA进行反汇编分析原创 2022-09-13 19:58:37 · 2942 阅读 · 2 评论 -
MASM汇编器指令——.SETFRAME
MASM汇编器指令——.SETFRAME原创 2022-08-24 17:00:45 · 669 阅读 · 0 评论 -
计算机中整数的表示和整数运算
整数补码表示原创 2022-08-14 20:41:36 · 3521 阅读 · 1 评论 -
X64汇编语言指令编码
X64汇编语言指令编码原创 2022-08-06 22:03:40 · 6320 阅读 · 1 评论 -
X64指令前缀概览
X64指令前缀概览原创 2022-06-12 00:49:53 · 1430 阅读 · 0 评论 -
什么是SSE指令所说的打包(packed)数据?
SSE打包数据(packed data)原创 2022-06-07 16:51:28 · 940 阅读 · 0 评论 -
MSVC平台下X64 ABI规则
本节描述X64架构(X86架构的64位扩展)的基本应用程序二进制接口(Application Binary Interface,简记为ABI)。这个主题的内容包括函数调用规则、类型分布、栈和寄存器用法、以及其它内容。1. X64调用规则概述 X64与X86之间重要的两个区别是64位的寻址能力和一套平坦的16个16位通用寄存器。给定扩展的寄存器集,X64使用 __fastcall调用规则和基于RISC(Reduced Instruction Set Computer)的异常处理模型。__fast...翻译 2022-04-23 18:09:37 · 1040 阅读 · 0 评论 -
MSVC平台下X64处理器函数调用规则——底层机制
目录1. 默认的调用规则2. 内存边界对齐问题3. 解开性(Unwindability)4. 参数传递5. 可变数量参数的传递6. 非原型函数7. 函数返回值8. 调用函数或被调函数存储寄存器9. 函数指针10. 对较旧代码的浮点支持11. 浮点状态和控制寄存器(Float Point Status and Control Register,简记为FPSCR)12. 多媒体扩展控制和状态寄存器(Multimedia Extensions Control and翻译 2022-04-22 12:20:29 · 1275 阅读 · 0 评论 -
X64汇编语言寄存器结构及其与X86架构编程区别
目录1. 关于X64架构2. X64架构的寄存器结构2.1 通用目的寄存器2.2浮点数寄存器2.3指令指针寄存器2.4段寄存器2.5标识寄存器2.6控制寄存器2.6.1控制寄存器CR02.6.2控制寄存器CR22.6.3控制寄存器CR32.6.4控制寄存器CR42.6.5控制寄存器CR82.6.6控制寄存器CR1,CR5-7, CR9-152.7 模式指定寄存器(MSRs)(Model Specific Registers)2.7.1 IA32原创 2022-02-16 01:04:00 · 8711 阅读 · 1 评论 -
什么是有效地址和逻辑地址
这2个概念在计算机体系结构、计算机原理与接口技术、汇编语言等课程中常常出现,却又无明确定义和讲解,常常混淆不清,今天我就来彻底的拔个明白。1. 什么是有效地址 从运行实体(指进程、线程、中断处理器、内核组件,等)的角度来讲,有效地址就是一个可以用于指定哪个内存位置可以用来执行存取操作的值。例如:一个寄存器存储了一个值10000,系统正在执行一条指令获取一个由寄存器内容指定的内存位置的内容,那么这个获取数据操作的有效地址就是10000。也就是说,这个内存位置由寄存器的内容...原创 2020-10-08 18:34:19 · 13701 阅读 · 0 评论 -
深入理解数据类型
1. 前言 有很多人会说,数据类型不是在高级语言编程中都会讲的吗,C,C++,C#,JAVA等都讲的很清楚,为什么还要提出来说呢?其实我想说,在几乎所有的高级语言编程书籍中,都将数据类型的讲解与底层割裂开来,对数据的大小端只字不提(C++之父写的书讲到了大小端),对浮点数的编码也没有讲清楚,什么是网络字节序和字节对齐更没有讲解,那些数据类型需要考虑网络字节序,那些不需要,有符号数和无符号数到底有什么区别?其实,所有定义的数据类型,都是基于底层而来,所以有必要从底层来分析理解数据类型,以下结合....原创 2020-10-07 18:47:34 · 1603 阅读 · 0 评论 -
深入理解原子操作-windows原子操作函数剖析
上一篇文章中, 我详细的整理了Intel处理器是如何在底层处理锁操的,在处理器指令集这一层次,这也是软件和硬件开发人员所能见到的处理器的最后一层,下面我就从汇编这一层来看看windows是如何封装原子操作函数的,了解清楚底层实现,以便在高并发中更好的利用原子操作。 Windows有6个原子操作函数: InterlockedExchange:把目标操作数(参数1所指向的内存中的数)与一个值(参数2)交换,返回参数1的原始值。 InterlockedCompareExch......原创 2020-09-22 11:15:37 · 2198 阅读 · 0 评论 -
深入理解原子操作-底层基础
我们在开发高并发系统时,必定会用到大量的原子操作,而要真正理解原子操作的本质,仅仅学习高级语言提供的原子操作函数是不够的,为了能够从本质上理解原子操作,还必须深入到处理器设计层面来看看原子操作是怎么实现的,各有什么特点,从而能够更好的利用原子操作。为什么要用到原子操作,就必须从多处理器管理说起,看看Intel处理器是如何来处理原子操作的。(相关内容参见Intel官方文档)Intel 64 和IA-32架构提供了管理多处理器连接到同一系统总线的机制,并提升了多处理器连接同一系统总线的性能。这些机制和提原创 2020-09-20 15:37:10 · 1714 阅读 · 0 评论