linux编程的108种奇淫巧计-16(如何达到内存最大带宽,复杂指令)
来源:互联网 发布:c语言exit(0) 编辑:程序博客网 时间:2024/06/05 10:42
内存的使用可以说对程序员来说极其重要,特别在大规模数据处理中,如何达到内存带宽的极限是程序员追求的目标。
从本节开始,通过一系列的例子,来进行探讨。本系列全部采用汇编语言,使用的例子只有一个就是内存拷贝,这个最容易理解,最容易举例的例子。
本节给出的代码是baseline,也就是最差的方法,将来的方法都比这个要强的多,包括了精简指令,内存的预取,MMX寄存器,块复制等多项技术,希望读者朋友持续阅读。希望达到的目的包括:
(1)读完该小系列后,对汇编和内存的一些基本指令会有一定了解和应用
(2)对内存的原理,寄存器有深入理解
按照奇淫巧计的惯例,代码详细讲解将在续篇中给出。以下代码编译方式gcc -g -o test main.c。限64位机。
本文续篇:http://blog.csdn.net/pennyliang/archive/2011/03/10/6238448.aspx
本系列其他文章:http://blog.csdn.net/pennyliang/category/746545.aspx
- linux编程的108种奇淫巧计-16(如何达到内存最大带宽,复杂指令)
- linux编程的108种奇淫巧计-16(如何达到内存最大带宽,复杂指令)【续】
- linux编程奇淫巧计17(如何达到内存最大带宽,精简指令,预取和NT)
- linux编程的108种奇淫巧计-2(RDTSC)
- linux编程的108种奇淫巧计-2(RDTSC)
- linux编程的108种奇淫巧计-4(编译展开)(续)
- linux编程的108种奇淫巧计-4(编译展开)(续)
- linux编程的108种奇淫巧计之18(SIMD)
- *nux编程的108种奇淫巧计-6(shellcode)
- linux编程的108种奇淫巧计-8(嵌入汇编的另一种写法)
- linux编程的108种奇淫巧计-1(FALSE SHARING)
- linux编程的108种奇淫巧计-3(magic 2)
- linux编程的108种奇淫巧计-1(FALSE SHARING)【续】
- linux编程的108种奇淫巧计-4(编译展开)
- linux编程的108种奇淫巧计-1(FALSE SHARING)
- linux编程的108种奇淫巧计-1(FALSE SHARING)【续】
- linux编程的108种奇淫巧计-3(magic 2)
- linux编程的108种奇淫巧计-4(编译展开)
- 格式字符串为16进制,不满两位左边补0
- Android连接远程数据库
- Switch和Enum的那点事儿
- c99中的restrict(转)
- C#中Abstract和Virtual
- linux编程的108种奇淫巧计-16(如何达到内存最大带宽,复杂指令)
- Android连接远程数据库
- 方正web开发平台之Web安全
- C# 调用exe 并传参
- sfc /scannow 提示 插入Windows XP SP3 CD 光盘
- VS2005 MINI6410 PWM 测试程序
- Oracle中rowid和rownum区别
- 一天一个单词--持续更新
- java面试中关于学员一些sql语句的写法