如何配置协处理器来提高系统性能?
21ic
310浏览
0评论
0点赞
2024-06-27
协处理器(coprocessor),一种芯片,用于减轻系统微处理器的特定处理任务。协处理器,这是一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器。这种中央处理器无法执行的工作有很多,比如设备间的信号传输、接入设备的管理等;而执行效率、效果低下的有图形处理、声频处理等。为了进行这些处理,各种辅助处理器就诞生了。需要说明的是,由于现在的计算机中,整数运算器与浮点运算器已经集成在一起,因此浮点处理器已经不算是辅助处理器。而内建于CPU中的协处理器,同样不算是辅助处理器,除非它是独立存在。
例如,数学协处理器可以控制数字处理;图形协处理器可以处理视频绘制。例如,intel pentium 微处理器就包括内置的数学协处理器。
内核相连协处理器可以附属于ARM处理器。一个协处理器通过扩展指令集或提供配置寄存器来扩展内核处理功能。一个或多个协处理器可以通过协处理器接口与ARM内核相连。
协处理器可以通过一组专门的、提供load-store类型接口的ARM指令来访问。例如协处理器15(CP15),ARM处理器使用协处理器15的寄存器来控制cache、TCM和存储器管理。
协处理器也能通过提供一组专门的新指令来扩展指令集。例如,有一组专门的指令可以添加到标准ARM指令集中,以处理向量浮点(VFP)运算。这些新指令是在ARM流水线的译码阶段被处理的。如果在译码阶段发现是一条协处理器指令,则把它送给相应的协处理器。如果该协处理器不存在,或不认识这条指令,则ARM认为发生了未定义指令异常。这也使得编程者可以用软件来仿真协处理器的行为(使用未定义指令异常服务子程序)。
协处理器80x87的内部结构如图1所示。它可分为二个主要部分:控制部件(CU)和数值执行部件(NEU)。控制部件(CU)把协处理器接到CPU的系统总线上,协处理器和CPU都监视正在执行的指令流。如果当前将要执行的指令是协处理器指令(即:ESCape指令),那么,协处理器会自动执行它,否则,该指令将交给CPU来执行。数值执行部件(NEU)复制执行所有的协处理器指令,它有一个用8个80位的寄存器组成的堆栈,该堆栈用于以扩展精度的浮点数据格式来存放数学指令的操作数和运算结果。在协处理器指令的执行过程中,要么指定该堆栈寄存器中的数据,要么使用压栈/出栈机制来从栈顶存放或读取数据。在NEU部件中,还有一些记录协处理器工作状态的寄存器,如:状态寄存器、控制寄存器、标记寄存器和异常指针寄存器等。有关这些寄存器的作用将在后面给予分别介绍。
2006年,AGEIA宣布了PhysX物理加速卡, PhysX被设计来处理那些耗时复杂的物理计算。2008年,Nvidia收购了AGEIA,NVIDIA将PhysX物理引擎,利用CUDA技术,由显示核心加速运算。2008年,Khronos Group发布OpenCL,这是一个通用语言,支持ATI/AMD和Nvidia的GPU。2012年,Intel宣布Intel Xeon Phi协处理器。2013年,苹果在iPhone 5s上首次推出了M7运动协处理器。
声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
-
本次2025全球 MCU及嵌入式技术论坛,旨在汇聚行业精英,共同探讨MCU的最新技术、市场趋势和应用前景,为参会者提供全面而深入的行业洞察。国际电机驱动与控制技术论坛将聚焦于展示和探讨电机驱动与控制技术的最新进展及其在多个领域的应用,汇集全球知名企业和专家学者,为电机行业的未来发展提供宝贵的见解和方向。同期举行:国际AI+IoT生态发展高峰论坛,暨2025年度AIoT创新奖颁奖典礼。立即报名>>>
-
不知不觉中,我们每天都在接触存储,由此可见存储的重要性。随着时代的改变,存储方式也在随之变化。目前,云存储是十分火热的存储方式之一。为增进大家对云存储的了解,本文将对云存储架构以及云存储系统的组成加...
-
-
电路板回板后,如果串口能够正常打印,则我们很多调试手段都可以运用,能够运用串口打印,或者调试工具能够快速的进行问题定位。
-
-
由于Linux是一个多任务操作系统,能够支持远大于CPU数量的任务同时运行。
-
由于Linux是一个多任务操作系统,能够支持远大于CPU数量的任务同时运行。
-
-
-
-
电路板回板后,如果串口能够正常打印,则我们很多调试手段都可以运用,能够运用串口打印,或者调试工具能够快速的进行问题定位。
-
串口接收方CPU拿取数据的速度赶不上串口数据的通信速度时,会导致丢数据的现象。使用串口流控制功能可以解决以上问题
-
本文我们将从软件工程师的角度去了解计算机是如何工作的,通过对计算机核心工作机制的学习,有利于理解我们平时编程时