多线程的硬件支持
多线程硬件支持的目标,即支持快速进行就绪态线程、执行态线程间的切换。
为达成这个目标,需要硬件实现保存、恢复程序看得见的寄存器以及一些对程序执行有影响的控制寄存器(如程序计数器PC、程序状态寄存器SR)。
从一个线程切换到另一个线程对硬件来讲意味着保存当前线程的一组寄存器的值,并恢复即将执行线程的一组寄存器的值。
新增这些功能的硬件有以下优势: 线程切换能够在一个 CPU 周期内完成(有些硬件甚至没有开销,上个周期在运行线程A,下个周期就已在运行线程B)。
每个线程看起来就像是独自运行的,即没有与其他线程共享硬件资源。
对操作系统来说,通常每个线程都被视做独占一个处理器,这样将简化系统软件的设计(尤其是对于支持多线程的操作系统)。
为了在各个线程间有效率的进行切换,每个线程需要保存自己的一组寄存器集(register set)。
有些硬件设计成每个处理器核心具有两组寄存器文件,以实现在多个线程间快速切换。
为什么骁龙820要才用四核设计?这样多线程能力会很弱
线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
C语言的开始设计,并未设计多线程的机制,由于随着软硬件的发展及需求的发展。
后来C语言才开发了线程库以支持多线程的操作、应用。
主要基于Linux介绍C多线程。
在编译C的多线程时候,一方面必须指定Linux C语言线程库多线程库pthread,才可以正确编译(例如:gcc test.c -o test -lpthread);另一方面要包含有关线程头文件#include 。
cpu多线程概念
展开全部 这个就涉及到处理器的串、并行处理的问题了。
由于现有科技水平难以继续提升处理器的频率,所以,串行处理能力已经很难继续攀升了。
于是乎,Intel提出了多核心,多线程的概念。
理论上,一个核心只有一条线程,而超线程就是利用一个核心内空闲的资源(空闲的高速缓存、寄存器、总线之类的),再虚拟出一条线程,进行并行工作,以达到“另一颗核心”的目的。
AMD公司认为超线程技术优势不大,甚至在一些应用中还会拖累实际物理线程,所以,AMD一直秉承一颗核心一条线程,不使用超线程技术。
受X86体系的影响,可以说,在处理器架构相同的前提下,主频提升绝对会带动性能提升,而核心和线程数量的提升,未必会带来性能提升,这还要取决于应用是否对多线程进行过优化。
所以,一个多核心多线程的处理器能发挥出其多核的优势,完全要取决于所用的操作系统和软件是否支持并行操作。
这么说来,你要是问多线程能提升多少性能,这要看你用了什么软件,不同软件的效果可能完全不同。
核心数,线程数提升,对“多开”比较有利,因为不同的程序可以视为占用不同的线程而在并行执行的。
之所以一颗双核四线程的I3比AMD的四核心APU还贵,一方面因为Intel现在的超线程技术确实不错,双核的I3无论串行还是并行,都已经和AMD的入门四核心处理器看齐。
另一方面,Intel处理器的架构和执行效率一直优于AMD,更给Intel双核挑战AMD四核增加了筹码,使得AMD一直在用“田忌赛马”的差异化市场策略,低价占领市场。
双核四线程相较于双核双线程的处理器性能提升多少,也要看所应用的软件针对超线程技术的优化有多好。
如果没有优化,且二者架构相同,主频一样,实际使用起来的体验几乎没有差异。
在多核CPU下,同一进程下的多个线程可以并行运行吗
展开全部电脑配置不行,还想要流畅流放之路的,那就降低画质提升流畅度。
流放之路优化方法:优化一:泥人模式显卡差的同学可以试一试,1代表最好,7代表最差,有很多反映说4是极限,再低画面就看不下去了。
修改方法:1.显示隐藏文件夹 2.找到系统目录下例如 XP: C盘里的\Documents\My Games\Path of Exilewin7: C:\Users\用户名\Documents\My Games\Path of Exile目录下有个production_Config文件,打开以后找到texture_filtering还有texture_quality,1代表最好,7最差。
优化二:无声模式在桌面快捷方式后面加上参数,例如:"D:\Backup\Path of Exile\Client.exe" --nosound -gc 2,主要就是在最后面加上:--nosound -gc 2,这样就可以关掉游戏声音。
优化三:优化显存与内存的占用1.显存低的建议最低分辨率开始设置,确保流畅。
窗口分辨率越低占用内存、显存越小2.内存较小的机器长时间游戏,推荐定期整理游戏内存软件,比如鲁大师,WINDOWS 优化大师等。
这里推荐 empty.exe (WINDOWS 2003整理内存软件) 加运行脚本。
...
请帮忙解释什么叫做“线程”,几核CPU计算机中的“核”。
线程就是逻辑上他是一个核心,实际上他不是一个完整的核心。
超线程打个比方单核心双线程,他不是一个核心模拟两个核心,实际上超线程的核心是特殊的,一个核心中有一个处理单元+很多执行单元+指令单元+L1+L2+时钟发生器等等组成的核心,超线程的核心相比普通核心要多出一个处理单元,也就是一核心两个处理单元。
就是说一个核心无论怎么满载,无论怎么使用都不可能完全的利用核心资源,以及核心的执行单元,添加一个处理单元是为了充分的利用核心中剩余的资源,这就是超线程存在的目的。
核心的处理单元就是我们说的线程。
按照官方 的说法是,核心可以做加法和减法等等运算,但是一个核心同一时间只能做加法,或者减法,不能加减同时计算,当核心做加法时,减法的执行单元就是闲置的,超线程的处理单元也就是线程,就可以利用减法的执行单元,以及剩余的资源计算减法。
但是核心的资源没变,只是添加了一个可执行的处理单元。
CPU的线程越多越好吗?
展开全部 线程?线程是针对程序而言的,不是cpu。
任何一个程序运行的时候可以看做是一个“进程”,而每个进程里面可以包含一个或多个“线程”。
多进程是指你可以同时运行多个程序,例如看电影的同时聊qq。
多线程是指在同一个程序里多个工作同时进行,例如winrar解压的同时能在界面上显示解压的比例,而且还能响应各个按键随时停止。
回答你的问题,cpu主要还是核心的问题,多个核心可以同时运行多个进程而不需要相互等待。
...
转载请注明出处51数据库 » 硬件多线程 软件多线程