多核与多处理机_第1页
多核与多处理机_第2页
多核与多处理机_第3页
多核与多处理机_第4页
多核与多处理机_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多核与多处理机2023/4/5第1页,共39页,2023年,2月20日,星期四目录CONTENTE比较多核CPU和多处理机01浅谈线程、进程、多机、内核、流水线02谈以上联系03第2页,共39页,2023年,2月20日,星期四0113122711胡红青16组试比较多核CPU与多处理机第3页,共39页,2023年,2月20日,星期四多核cpu多处理机多核cpu(处理器)是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。1P.H.Enslow对多处理机作了下列定义:*包含两个或两个以上功能大致相同的处理器;*所有处理器共享一个公共内存;*所有处理器共享I/O通道、控制器和外围设备;*整个系统由统一的操作系统控制,在处理器和程序之间实现作业、任务、程序段、数组和数组元素等各级的全面并行213122711胡红青第4页,共39页,2023年,2月20日,星期四多核cpu13122711胡红青在大多数情况下,多核CPU的内核拥有独立的L1缓存,共享L2缓存、内存子系统、中断子系统和外设第5页,共39页,2023年,2月20日,星期四13122711胡红青为什么出现多核在此添加关键字Loremipsumdolorsitamet,consectetueradipiscingelit.瓶颈:频率无法无限提升,物理定律无法违背,温度,制程,功耗均是制约条件增加多核的原因,主要是控制功耗和发热量。单核的瓶颈

微处理器4004摩尔定律——每过18个月,芯片上可以集成的晶体管数目将增加一倍2005年4月,戈登摩尔曾公开表示,引领半导体市场接近40年的“摩尔定律”,在未来10年至20年内可能失效。第6页,共39页,2023年,2月20日,星期四13122711胡红青多核调度算法在此添加关键字Loremipsumdolorsitamet,consectetueradipiscingelit.1)对任务的分配进行优化。使同一应用程序的任务尽量在一个核上执行,以便达到有共享数据的任务能够尽量在一个核上进行,而共享数据量少或者没有的任务尽量在不同核上进行。这样,可以显著得降低cache的缺失率,进而很大程度上提升了系统的整体性能。2)对任务的共享数据优化。体系结构共享二级缓存,可以考虑改变任务在内存中的数据分布,使任务在执行时尽量增加二级缓存的命中率。3)对任务的负载均衡优化。当任务在调度时,出现了负载不均衡,考虑将较忙处理器中与其他任务最不相关的任务迁移,以达到数据的冲突量小。第7页,共39页,2023年,2月20日,星期四13122711胡红青多处理机第8页,共39页,2023年,2月20日,星期四13122711胡红青Cache不一致性在此添加关键字Loremipsumdolorsitamet,consectetueradipiscingelit.以进一步减少访问主存的次数,可以在每个处理机同PMIN间设置Cache(CM)。但有了Cache以后,又要产生系统中多个Cache之间以及Cache同主存间的数据一致性问题。第9页,共39页,2023年,2月20日,星期四13122711胡红青多处理机的优点多处理机的优点很高的性能价格比:单处理机的性能价格比随其规模的增大而下降很高的可靠性:冗余度大、可维护性、可用性很高的处理速度:多个处理器并行运算很好的模块性:大量重复设置,结构灵活性、可扩充性、可重构性多处理机属于MIMD计算机第10页,共39页,2023年,2月20日,星期四13122711胡红青多处理机的分类在此添加关键字Loremipsumdolorsitamet,consectetueradipiscingelit.分类多处理机的分类按多处理机各机器之间物理连接的紧密程度与交互作用能力的强弱来分,多处理机分为紧耦合系统和松耦合系统两大类。按处理机的结构是否相同来分,如果每个处理机是同类型的,且完成同样的功能,我们称为同构型多处理机系统。如果多处理机是由多个不同类型,且担负不同功能的处理机组成,我们称为异构型多处理机系统。按多处理机系统的组成结构来分,现有的MIMD计算机分为如下五种类型:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储器多处理机(DSM)、工作站机群(COW),如图7.2所示。

第11页,共39页,2023年,2月20日,星期四两者的比较13122711胡红青这就像为什么我们要去公司上班而不是在家里上班一样。去公司上班(多核CPU)的话,资源共享(共享缓存),沟通方便(CPU内数据传输速度远大于总线速度)。

但是如果信息技术(类比总线)上有突破性进展,否则我们还是每天要挤公车去公司上班。第12页,共39页,2023年,2月20日,星期四两者比较12多核实现,(即100支手在一个人身上):即使人有一百只手,可一次搬的板砖太多了,脊椎估计顶不住,他在某些地方存在瓶颈(比如I/O),可能脑子控制不过来(内部的协调逻辑,调度策略复杂)。人多力量大,50个人协调好了,必然效率非常高,协调不好的话。。

1.可能俩人抢着搬一块砖(数据一致性)

2.可能一个人搬着砖走了一半不走了(单点故障),最要命的是别人都没看见他不走了!那块砖最后搞不好就丢了!

3.可能因为任务没分配好(任务调度),几个人累死,几个人傻看着

4.稀缺资源的分配,如I/O13122711胡红青形象的任务目标:你需要搬很多砖,你现在有一百支手。

实际的任务目标:你有一个很大的计算任务,你有很多cpu。第13页,共39页,2023年,2月20日,星期四/cstb/index.htm/computing/116561-the-death-of-cpu-scaling-from-one-core-to-many-and-why-were-still-stuck参考资料13122711胡红青第14页,共39页,2023年,2月20日,星期四简谈进程、线程、多机、内核、流水线0216组13121507张文杰第15页,共39页,2023年,2月20日,星期四进程和线程专业定义操作系统中的进程是指特定的代码序列在指定的数据集合上的一次执行活动,是指并行程序的一次执行过程,在Windows系统中就是一个EXE文件。13121507张文杰计算机上运行的可执行文件对特定的输入数据的一个实例。进程=PCB(进程控制块)+程序段+数据同一个执行程序文件如果操作不同的输入数据就是两个不同的进程。线程是指由进程进一步派生出来的一组代码(指令组)的执行过程。第16页,共39页,2023年,2月20日,星期四进程和线程通俗说法进程可以理解为一个线程容器,线程不能独立存在,它必须隶属于某个进程,而进程也必须至少拥有一个线程,如果一个进程的所有线程都结束了,那么进程也就结束。13121507张文杰第17页,共39页,2023年,2月20日,星期四进程和线程例子线程就是进行并行计算的一个抽象概念,在另一个线程完成计算任务的同时,一个线程可以对图像进行更新,两个线程可以同时处理同一个进程发出的两个网络请求。13121507张文杰一个人在处理家务的过程中,将衣服放在洗衣机中自动洗涤后将大米放在电饭煲里,然后开始做菜。等菜做好了,饭也熟了同时衣服也洗好了。第18页,共39页,2023年,2月20日,星期四进程和线程13121507张文杰第19页,共39页,2023年,2月20日,星期四多处理机多个处理机及存储器模块构成的并行处理机被称为多处理机系统(multiprocessorsystem),简称处理机。113121507张文杰处理机分类处理机之间通信通过存储器进行。依据存储器模块所在的位置不同,多处理机可以分为紧耦合(tightlycoupled)和松耦合(looselycoupled)。第20页,共39页,2023年,2月20日,星期四多处理机213121507张文杰cachecache是容量较少、速度较快的存储器,cache中存放经常使用的信息。从存储器读信息到cache方法:直接映像、全相联映像、组相联映像、扇区映像。cache替换策略:随机替换、先进先出(FIFO)替换、最近最少使用(LRU)替换。命中写策略:写回(writeback/copyback)、写透(writethrough)不命中写策略:写装入(writeallocate)和写不装入(writenoallocate)第21页,共39页,2023年,2月20日,星期四多处理机313121507张文杰多处理机cache一致性解决问题的核心:如何让处理机在执行过程中始终能够使用最新的数据第22页,共39页,2023年,2月20日,星期四多处理机313121507张文杰写废策略:当一个处理机往cache的某个“block”写数据的时候,该块在其它处理机cache中的拷贝(它们具有相同的存储器地址)应被置为无效状态。写改策略:新的数据也被写到其它处理机cache相应的块中。依据互联网络的拓扑结构的不同,实现方法也不同监听cache协议:(互联网络易于实现广播的操作)写废和写改命令能够被广播到其它所有的cache,每个cache都监视总线上的动作,监测是否有其它cache的写操作发生。目录协议:(不易实现广播操作)cache目录为每个块设立一个指针,指向其它每个存有该块拷贝的cache。cache目录可以是集中式的也可以是分布式的。第23页,共39页,2023年,2月20日,星期四多机13121507张文杰第24页,共39页,2023年,2月20日,星期四内核地位主要作用在于与计算硬件进行交互,实现对硬件的编程控制和接口操作,调度访问硬件资源,同时向应用程序提供一个高级的执行环境和对硬件的虚拟接口。内核与普通的应用程序不同,其所拥有的所有硬件设备的访问权限以及启动时即划分的受保护的内存空间。13121507张文杰内核内核(Kernel)是操作系统的核心

。第25页,共39页,2023年,2月20日,星期四流水线13121507张文杰乱序执行流水线译码级有一些略微的修改。不同于以往处理器仅仅译码指令指针指向的指令,现今的处理器(2008-2013年)每个时钟周期最多可以译码4条指令。寄存器重命名(registeraliasing)在处理器内部,这些原始的寄存器(如AX,BX,CX,DX等)被翻译(或者重命名)成为内部的寄存器,而这些寄存器对程序员是不可见的。寄存器和内存地址需要被映射到一个临时的地方用于指令执行。当前每个始终周期可以翻译4条微指令。重排序缓存(ReorderBuffer,ROB)ROB可以存储最多128条微指令。在支持超线程的处理器上,ROB同样可以重排来自两个虚拟处理器的指令。两个虚拟处理器在ROB中将微指令汇集到一个共享的乱序执行部件中。第26页,共39页,2023年,2月20日,星期四流水线13121507张文杰乱序执行流水线保留站(ReservationStation,RS)解码单元解码后的指令不是直接送到流水线,而是根据各自的指令种类,将解码后的指令送往各自的保留站中保存下来。如果操作数位于寄存器中,就把操作数从寄存器中读出来,和指令一起放入保留站。相反,如果操作数还在由前面的指令进行计算,那么就把那条指令的识别信息保存下来。然后,保留站把操作数齐备、可执行的指令依次送到流水线进行运算。即使指令位于前面,如果操作数没准备好,也不能开始执行,所以保留站中的指令执行顺序与程序不一致(乱序)。另外,保留站会监视执行流水线输出的结果,如果产生的结果正好是等待中的指令的操作数,就将其读入,这样操作数齐备后,等待中的指令就可以执行了。第27页,共39页,2023年,2月20日,星期四流水线13121507张文杰乱序执行流水线乱序执行

不同的微指令在不同的执行单元中同时执行,而且每个执行单元都全速运行。只要当前微指令所需要的数据就绪,而且有空闲的执行单元,微指令就可以立即执行,有时甚至可以跳过前面还未就绪的微指令。通过这种方式,需要长时间运行的操作不会阻塞后面的操作,流水线阻塞带来的损失被极大的减小了。猜测执行(if&switch)猜测执行意味着当遇到一个分支指令后,乱序执行部件会将所有分支的指令都执行一遍。一旦分支指令的跳转方向确定后,错误跳转方向的指令都将被丢弃。通过同时执行两个跳转方向的指令,避免了由于分支跳转导致的阻塞。第28页,共39页,2023年,2月20日,星期四13121507张文杰流水线LDr1,[a];←将内存的变量a读入到寄存器r1(加载)ADDr2,r1,r5;←r1与r5相加,保存到r2SUBr1,r5,r4;←r5减去r4,保存到r1执行这类程序时,开头的加载指令缓存未命中时,将变量a读取到r1就需要很长时间。而下一条ADD指令要使用r1的值作为操作数,所以在加载指令完成之前,ADD指令无法执行。但是,再下一条SUB指令的操作数r4和r5的值已经求出了,利用乱序执行,无须等待前面的LD指令、ADD指令就可以执行,但ADD指令的操作数r1正好是后面SUB指令保存结果的位置反向依赖问题第29页,共39页,2023年,2月20日,星期四参考资料13121507张文杰/page/179578/?from=groupmessage&isappinstalled=0/hardware/201508/646168.shtml/html/04/n-3707004.html第30页,共39页,2023年,2月20日,星期四讨论线程、进程、多机、内核、流水线的关系0313121785常旭婷16组第31页,共39页,2023年,2月20日,星期四共同点:多个、并发并行:多机系统操作系统层面:线程、进程硬件层面:CPU内核、流水线13121785常旭婷第32页,共39页,2023年,2月20日,星期四线程与进程的区别地址空间执行二者均可并发执行线程共享进程的地址空间;而进程有自己独立的地址空间每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。13121785常旭婷资源拥有进程在执行过程中拥有独立的内存单元,同一个进程内的线程共享进程的资源。第33页,共39页,2023年,2月20日,星期四并发执行操作系统的设计(1)以多进程形式,允许多个任务同时运行;(2)以多线程形式,允许单个任务分成不同的部分运行;例如,在一个未引入线程的单CPU操作系统中,若仅设置一个文件服务进程,当该进程由于某种原因而被阻塞时,便没有其它的文件服务进程来提供服务。在引入线程的操作系统中,则可以在一个文件服务进程中设置多个服务线程。当第一个线程等待时,文件服务进程中的第二个线程可以继续运行,以提供文件服务;当第二个线程阻塞时,则可由第三个继续执行,提供服务。显然,这样的方法可以显著地提高文件服务的质量和吞吐量。在操作系统的管理下,所有正在运行的进程轮流使用CPU,每个进程允许占用CPU的时间非常短(一个时间片),宏观上就好象所有的进程都在不间断地运行一样。13121785常旭婷第34页,共39页,2023年,2月20日,星期四CPU内核(核心)是CPU最重要的组成部分,被称为电脑的大脑。CPU性能核心设计流水线架构设计CPU所有的计算、接受/存储命令、处理数据都由核心执行。13121785常旭婷CPU内核及流水线流水线系统最大限度地利用了CPU资源,使每个部件在每个时钟周期都工作,大大提高了效率。第35页,共39页,2023年,2月20日,星期四CPU核心设计流水线的发展010203一定量地减少流水线深度后PC时代,是移动运算高发展的时代,所以CPU应该向低功率,高性能的方向发展,所以流水线深度可能更小,但CPU采用更好的架构以及更高的工艺来制造,达到和长流水线一样甚至更高的性能。更多条数的流水线流水线条数的增加,使CPU在相同的时间内完成更多的工作,相当于提高了CPU的性能。CPU线程的提高CPU线程会越来越多,多线程的使用,使CPU的流水线效率和速度得到了很大的提高,所以未来CPU可能会出现一个CPU8个、16个、32个甚至64个线程的情况。13121785常旭婷第36页,共39页,2023年,2月20日,星期四CPU内核与线程超线程技术一般处理器,都是几个核心,那就有几个线程。但是由于处理器技术发展越来越快,就诞生了一个“超线程”技术。如果是一核心一线程的话,那么核心在工作时,难免会有空闲、休息的时候。但是我们不想让它(核心)休息,就可以用超线程技术,给核心更多的线程,让处理器的利用率更高,从而提升处理器的能力。;超线程HT(Hyper-Threading)技术是在单个核心处理单元中集成两个逻辑处理单元,也就是一个实体内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论