矩阵转置的SSE汇编优化艺术以及ARM cortext 汇编优化

平时我们做图像处理或者视频处理, 很多地方会用到矩阵转置: 比如: DCT变换, 图像旋转, 图像滤波, 以及一些数据的内存行和列的交换等, 会大量使用转置这个动作. 然而由于数据量很大,处理速度很慢!如何来提高处理速度呢? 下面看看分析:  HEVC中有个地方是如下这样实现(直接行和列对应的位置交换): Pel tmp; for (k=0;k<blkSize...
阅读(5647) 评论(6)

Intrinsics头文件与SIMD指令集、Visual Studio版本对应表!

Intrinsics头文件与SIMD指令集、Visual Studio版本对应表!   File 描述 VS VisualStudio intrin.h All Architectures 8.0 2005 mmintrin.h MMX intrinsics...
阅读(2559) 评论(2)

微处理器的两种结构比较--DSP, ARM, GCPU

微处理器的两种结构比较--DSP, ARM, GCPU  冯·诺依曼结构 VS 哈佛结构 1、冯·诺依曼结构   冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture)。   1945年,冯·诺依曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯·诺依曼型结构”计算机。冯·诺依曼结构的处理器使用同一个存...
阅读(3386) 评论(0)

RISC、CISC、 SIMD、FPU、MMX、SSE、SSEX、AVX、3D Now以及DSP、ARM的Neon简介

CPU的指令集从主流的体系结构上分为精简指令集和复杂指令集,而在普通的计算机处理器基本上是使用的复杂指令集。在计算机早期的发展过程中,CPU中的指令集是没有划分类型的,而是都将各种程序需要相配合的指令集成到CPU中,但是随着科技的进步,计算机的功能也越来越强大,计算机内部的元件也越来越多,而且越来越复杂,CPU的指令也相应的变得十分复杂,而在使用过程中,并不是每一条指令都要完全被执行,在技术人员的...
阅读(7154) 评论(0)

AMD公司的灵魂Athlon产品回忆录

在CPU领域里的竞争,AMD与Intel从来就没有停止过,AMD也并没有如几年前人们所料想的那样被Intel压着打,反而步步紧逼Intel做出了种种不得以的决策。从AMD第一块CPU芯片开始,就已经发动了对Intel的猛烈进攻。     Athlon已不仅是一款处理器名称,而成为AMD公司的灵魂。这是一个沿用了8年而不朽的称谓,它见证了AMD由受人摆布到走向成熟,见证了AMD与Intel 历...
阅读(6053) 评论(0)

Intel英特尔历代经典 CPU 产品回顾

悉数历史 英特尔历代经典 CPU 产品回顾 从英特尔于 1971 年推出首款 4004 微处理器到现在, 英特尔处理器已经走过 了 40 个年头。在告别 13 年传奇品牌奔腾之后,我们又迎来新一代酷睿 i 双核处 理器。现在,我们就来回顾一下英特尔处理器 40 年来的发展历程。 1971 年:4004 微处理器 4004 是英特尔推出的第一款微处理器。这一突破性的发明最先应用于 Busicom...
阅读(6796) 评论(0)

AT&T与Intel汇编语言的比较

AT&T与Intel汇编语言的比较    我们知道,Linux是Unix家族的一员,尽管Linux的历史不长,但与其相关的很多事情都发源于Unix。就Linux所使用的386汇编语言而言,它也是起源于Unix。Unix最初是为PDP-11开发的,曾先后被移植到VAX及68000系列的处理器上,这些处理器上的汇编语言都采用的是AT&T的指令格式。当Unix被移植到i386时,自然也就采用了AT&T...
阅读(1351) 评论(0)

函数命名规则及调用约定(__cdecl,__stdcall,__fastcall)

函数命名规则及调用约定(__cdecl,__stdcall,__fastcall) __cdecl是C/C++和MFC程序默认使用的调用约定,也可以在函数声明时加上__cdecl关键字来手工指定。采用__cdecl约定时,函数参数按照从右到左的顺序入栈,并且由调用函数者把参数弹出栈以清理堆栈。因此,实现可变参数的函数只能使用该调用约定。由于每一个使用__cdecl约定的函数都要包含清理堆栈的代码...
阅读(1319) 评论(0)

IA-64位微处理器及其编程

ADM64架构概述 一、AMD64架构引入以下新的特征。 1)、寄存寄存器的扩展。     。8个新的通用寄存器(GPR)     。所有的16个GPR都是64位字宽     。8个新的128位XMM寄存器     。对于所有的GPR都用统一的字节寄存器寻址     。访问扩展寄存器的64位指令前缀 2)、长模式     。升到64位虚拟地址(最大支持)     。64位指令指...
阅读(2024) 评论(0)

基于SSE指令集的程序设计简介

SSE技术简介   Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用户在C++代码中不用编写汇编代码就可直接使用SSE指令的功能。MSDN中有关SSE技术的主题[1]有可能会使不熟悉使用SSE汇编指令编程的初学者感到困...
阅读(1150) 评论(0)
    个人资料
    • 访问:414288次
    • 积分:4560
    • 等级:
    • 排名:第7105名
    • 原创:83篇
    • 转载:3篇
    • 译文:1篇
    • 评论:191条
    博客专栏
    最新评论