欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    CMC总线在8051上实现与验证学士学位论文.doc

    • 资源ID:4018657       资源大小:1.38MB        全文页数:76页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    CMC总线在8051上实现与验证学士学位论文.doc

    摘 要 随着计算机的广泛应用,对于处理器的处理能要求越来越高。传统的单核处理器仅仅依靠提高处理器的时钟频率的做法已经无法满足需求了。单芯片多核处理器(CMP)技术也就应运而生,相比于单核单芯片处理器有控制逻辑简单、低通信延迟、设计和验证周期短、积木式升级、低功耗、并行处理等优点。多核处理器已经取代了单核处理器成为市场上的处理器的主流产品。 多核处理器内的多个核并不是简单的相连。多核处理器内部的互联架构的研究近年来也在国内外广泛开展。本文通过仔细分析多核处理器发展现状及趋势,分析了目前的多核处理器内部现有的通信架构的优缺点以及它们各自的适用场合。针对小核模式的多核处理器本文提出了 本文设计出一种多核处理器的一种CMC 总线架构。CMC 总线架构的设计目标为只需一根握手信号线,简单的硬件逻辑,并为软件提供必要的控制接口。结构,该结构既可以作为同构多核处理器又可以作为异构多核处理器。每个核处理的任务可以在很小、很专一。多核处理器内多个核的互联总线包括有外总线、长总线、短总线。长、短总线在多核处理器内分别有各自不同的功能。长、短总线都采用CMC总线架构。 整个CMC 总线架构采用汇编硬件描述语言编写实现,把多核处理器内部的各个核有机的结合在一起。本课题内容就是用PROTEUS搭出电路,将程序运行,验证CMC总线多核与单核共享总线相比提高了效率,并在PROTEUS上实现并行计算,完成上述核间通讯。证明该核间通信架构的可行性。该内部核间通信结构的多核处理器的研究为后续的相关产品开发和设计奠定了坚实的基础。关键词:多核处理器;众核处理器;核间通信;CMC总线Abstract With the wide range of computer,the processors performance is increasing.Traditional single-core processors have been unable to meet that demand increasing processor clock frequency.Chip multi-processor(CMP) technology also came into being,the advantages are simple control logic,low communication delay,short design and verification cycle,modular upgrade,low power,parallel processing compared to chip single- processor. Multi-core processors have replaced single-core processors on the market. All cores are not simply connected in the multi-core processor.The internal has been studied at home and abroad in the recent years. Through the analysis of current situation and trend of the development of multi-core processors,we display the advertages and disadvertages of the existing internal inter-core communication in the multi-core processor and their application of occasions. We put forward a model of CMC bus architecture for small core in the multi-core processor. Our design goals of the CMC bus are just a handshake signal, simple hardware logic and enough softwareinterfaces. We work out the architecture of multi-core processor, which is used either as isomorphic multi-core processor or as heterogeneous multi-core processors. Under the condition of the few processing task of every core, the multi-core processor includes outer bus, long bus, short bus. The long and short bus has different functions in the multi-core processor and is using CMC bus architecture. We design the entire CMC bus using assembler language combined with individual cores in multi-core processors.Simulate the read and write of internal inter-core commiucation by using of PROTEUS .This design will contribute to further research and development of relevant product. Key words :multi-core processor; many-core processor; inter-core communication;CMC bus目 录第1章 绪论11.1课题研究的背景11.2 课题研究的意义31.3本课题研究主要内容41.4课题研究方案4第2章 多核处理器核间通讯体系结构52.1多核处理器国内外发展现状52.2 多核处理器核间通信技术发展现状82.2.1共享总线简介82.2.2交叉开关互联82.2.3片上网络92.3多核处理器核间通讯体系结构102.3.1多核处理器片上通信的瓶颈102.3.2多核处理器通信架构特点介绍112.4 CMC总线的提出192.4.1 基于CMC 总线的多核处理器结构设计202.4.2 CMC总线设计的特点23第3章CMC总线在8051上的实现243.1CMC总线工作原理243.1.1 CMC总线接口信号243.1.2 CMC总线核部分硬件设计243.1.3 CMC总线缓存部分硬件设计263.1.4 CMC总线握手逻辑设计273.1.5 CMC总线传输协议283.2 CMC总线验证在8051上验证方案303.2.1 CMC总线接口信号硬件仿真方案303.2.2 CMC总线握手硬件仿真设计方案323.2.3CMC总线整体设计方案323.3 0851单片机简介333.3.1 80C51系列介绍333.3.2 8051的引脚说明333.3.4 CPU结构343.4仿真软件PROTEUS介绍353.4.1 PROTEUS简介353.4.3 基于PROTEUS的电路设计353.4.5 PROTEUS与KEIL联调使用373.5 CMC总线硬件仿真图373.5.1 双向驱动器连接方式383.5.2存储器与锁存器连接方式仿真403.5.3 四2 选1 数据选择器仿真连接423.5.4数码管连接方式44第4章 多8051的异步并行程序验证454.1 验证方案454.2微操做系统474.2.1微内核操做系统简介474.2.2 内核操作系统流程474.2.3 查询任务程序494.2.4 资源查询与核间通讯504.2.5 独立任务块504.3最终任务在数码管上显示结果52总 结56致 谢57参考文献58附录A 英文原文59附录B汉语翻译63附录C微操做系统程序66附录D CMC总线仿真图70第1章 绪论1.1课题研究的背景 过去的几年中,计算机已经在生活与工作中各个领域得到了广泛的运用。计算机处理器设计工艺和处理器体系结构发展迅速。从1971 年Intel 公司推出的全球第一块由2300 个晶体管构成的通用性微处理器4004 时,Intel 公司的创始人戈登·摩尔就提出了“摩尔定律”每过18 个月,芯片上集成的晶体管数(集成度)翻一番。自20 世纪70 年代以来的大多数时间内,超大规模集成电路器件的特征尺寸以每3年70%的速度缩小,从而使得数目越来越多的晶体管可以集成在同一颗半导体芯片上制造。根据图1.1 显示的趋势,2010 年单个芯片上集成的晶体管数目将达到22 亿个。图1.1 集成电路发展趋势 单核性能主要是由处理器的体系结构设计及其工作频率决定的,然而仅仅依靠单核处理器中集成更多的晶体管来提升处理器频率的方法已经行不通了,单核处理器架构上已无潜力可挖,超线程多流水线复杂的分支预测大缓存等技术已经将性能发挥到了极致,单核处理器主频的提高已经逼近了工艺极限。究其原因受几个方面因素响。(1)功耗 随着计算机的广泛应用,一方面按照“摩尔定律”推论,这就意味着处理器内部的功能部件还将不断增加【2】,整个CPU要为计算部件提供充足的指令和数据,就需要CPU有更高的时钟频率、更高的性能。另一方面随着晶体管数量的增加,处理器的功耗急剧的增长。摩尔定律和处理器功耗已经畸形不对称,目前的功耗已经达到散热技术的极限。(2)互连线延时增大 当单核处理器的时钟频率是4GHz 时,在一个时钟周期内电信号仅能在多核处理器中前进50mm。(3)设计复杂度 随着处理器性能的提升,芯片面积、晶体管数量、设计复杂度和验证难度都大幅度增加。全局互连延迟、功耗、可靠性等因素使得单纯地通过单处理器的频率来提高系统性能变得越来越难以实现,单核CPU的时代已经即将结束了。 集成电路技术的迅猛发展,使得片上系统(System-on-Chips,SoC)提供了丰富的芯片应用解决方案,应用的发展和芯片集成度的提高,单颗芯片上能够集成大量的计算和存储资源形成更强功能、更大容量和更灵活的片上系统。单芯片多核处理器(CMP,chip multi-processor)技术是一条可行之路,CMP 能够用多个低频率核单元产生超过高频率单核的处理效能,获得较佳的性价比。目前单个芯片上集成的处理器核逐渐增多两核、三核,甚至众核处理器应运而生。 图1.2 片上系统发展蓝图 当前片上系统的发展具有一些趋势,例如片上系统已经从只有单个顺序处理器核发展到集成多个并行处理器核处理器的发展也因此进入了多核甚至众核时代。图1.2显示了片上系统的变化趋势。最初由于集成电路技术有限和工艺水平较低,处理器芯片的设计采用全定制或半定制的ASIC 设计方法,单芯片的面积较小,逻辑功能较少。随着应用需求的提升,需要在单个芯片上集成更多的资源,获取更强的处理能力,集成电路设计和制造技术的发展,使得在单个芯片上能够集成大量的同构或异构处理器核或者专用计算逻辑。此外成本和上市时间带来的挑战促使多核处理器的设计转移到以IP 核重用为主的设计方法上。由图1.2 可知如今的片上多核系统包含多个微处理器核,DSP 核以及专用计算逻辑。 单芯片多核处理器实质上是一个芯片上集成多个简单处理器核(例如RISC 核以及DSP 核等),各个处理器核可以并行执行不同的线程或进程,提高处理器计算能力,整个处理器具有较高的指令级/线程级并行性。核间使用高速片内互连结构进行通信。多个处理器核之间不但互连而且结构多种多样,处理器核本身也可以采用不同的结构与功能。根据处理器内的核的结构与功能是否相同,将多核处理器可以分为同构多核处理器和异构多核处理器。同构多核处理器的多个核执行相同或类似的任务。同构多核处理器具有非常好的规整性和可扩展性,如RAW处理器。 计算内核不同、地位不对等的称为异构多核处理器,异构多核多采用“主处理核+协处理核”的设计。异构多核处理器除含有作为控制、通用计算的微处理器之外,还针对特定应用集成DSP、ASIC、媒体处理器、VLIW 处理器等以提高计算的性能,如YHFT-QDSP 处理器。多核体系结构是持续发展“摩尔定律”利用有限的芯片面积进一步提升处理器性能的有效方法。1.2 课题研究的意义 随着技术的不断发展,多核处理器越来越广泛的应用在诸多大型政府、企业等通信设备中。多核展示出其强大的性能优势,是处理器发展的必然趋势。无论是移动与嵌入式应用、桌面应用还是服务器应用,都将采用多核的架构。从单核处理器到多核处理器,虽然随着处理器核心的数量增多能够给处理器带来性能上诸多好处,但是多核处理器的设计不是多个处理器核在单个芯片内部简单排列或拼凑,如何实现多核内核之间相互协作和通信,确保提高处理速度、提高芯片处理器性能?如何实现多核内核之间相对高效的通信机制?很明显的在设计多核处理器时仍然有一些系统级的问题有待科研与工程人员解决。其中面临的巨大的挑战有多核处理器体系架构设计,程序执行模型的选择、共享总线的多级Cache 设计与一致性,核间通信技术,总线设计,操作系统设计的任务调度、中断处理、同步互斥,低功耗设计,存储器墙,可靠性及安全性设计等。多核处理器在并行化、软件优化、高性能计算(HPC)、核间通信技术研究及多核心等诸多技术方面为中国软件开发和应用行业提供了巨大空间。1.3本课题研究主要内容 针对目前多核处理器的发展方向和国内外市场需求和多核处理器核间通信架构发展趋势提出了一种基于新型CMC总线的多核处理器结构,其主要研究内容有:(1)分析了多核处理器的发展趋势以及优势。(2)分析了现在常用的多核处理器通信架构的优缺点。(3)创新地提出了基于CMC总线的多核微处理器的体系结构。(4)利用proteus仿真软件在8051上验证CMC总线可行性。该设计的主要创新点有:(1)创新性地提出了一种新型的多核处理器通信架构。(2)CMC总线针对多核处理器的结构 ,CMC中的M可以根据需要在运行时动态作为不同核的缓存来使用。1.4课题研究方案 本课题的研究内容建立在多核与总线基础上,CMC(core memory core)总线的结构是由挂在同一个总线上的多个核( core) 和缓存( memory) 组成。核与核之间,核与主存之间的通信系统采用层次化的双向总线结构,其中包括有外总线、长总线和若干条短总线组成。其中有一个核的权限是主核,其余核为从核。主核通过外总线与存储程序指令和数据的主存进行数据交换。长总线工作在主从模式,短总线工作在多主模式,核与核之间的地位相同,任何一个核都可以主动要求总线控制权,在总线空闲时获得总线控制权。CMC在节约了资源的前提下保证了数据的完整性。本课题内容就是用PROTEUS搭出电路,将程序运行,验证CMC总线多核提高了效率,并在PROTEUS上实现并行计算,完成上述核间通讯。第2章 多核处理器核间通讯体系结构2.1多核处理器国内外发展现状 目前在国内多核处理器的研究相比于国外还有很大的差距,但是也有迎头赶上的趋势。我国的国防科技大学为我国单芯片多处理器的研究做出巨大的贡献。该校设计出了一种多核处理器内部多核共享多端口Cache 的架构模型,每个核都拥有一个私有的指令缓存,核与核之间的通信架构采用的是交叉开关链接一个共享的级数据缓存,该缓存具有多访问端口。现在已经成功投片的YHFT64-3 多核处理器,它的性能可以在500MHz 的相同频率下1. 6GHz 的Itanium 2 处理器相媲美YHFT64-3 多核处理器的计算处理能力异常强大,因为它内部包含的18个并行处理的浮点处理构件可以进行多个层次并行处理数据。 2003 年,我国清华大学的SoC 与微处理器研究中心就展开了单芯片多处理器 技术的研究,在2005年又有一款Thump CMP模拟器的问世,也填补了我国在该领域的空白。该处理器内部有两个Thump107内核,两个内核各有一个私有的一级缓存,两个内核之间还有一个共享的二级缓存,每个内核都采用了该校自主研制32 位的MIPS 指令集的微处理器【4】 。 2002 年位于北京中关村的中科院计算成功开发并投片中国第一款自我研发的处理器芯片-龙芯处理器。这十多年来,龙芯的每一步发展都牵动着我国计算机产业从业者的神经。它的快速发展大大促进了我国的处理器产业的发展,使我国在这方面与世界先进水平大大缩小。现在,我国自主研发的龙芯处理器芯片也推出了多核处理器芯片。龙芯推出的多核处理器芯片的内部架构采用了片上网络与交叉开关相结合的结构,这种结构的特点是带宽高、可扩展性好。该芯片架构可以根据实际需求,选用龙芯自主研发的64 位通用处理器核,也可以选用专用的处理器核。 2005年IBM、东芝和索尼发布了一款多核处理器Cell处理器。根据这些公司公布的部分的结构设计和性能参数显示,利用内部互联总线相连9个内核、1个存储器控制器、1个IO 控制器,它们构成了整个Cell处理器。其中这9个内核包含了1个PowerPC通用处理器核(PPE)和8个协处理器(SPE)。整个处理器的内部统一编制,通过共享总线完成核间通信,处理器访问外部端口亦是如此。 2005年SUN公司研发成功了一款多核处理器Ultra SPARC T1处理器(代号为“Niagara”)。紧接着在2007Sun 公司又成功推出了一款升级产品Ultra SPARCT2处理器(代号为“Niagara 2”)。Niagara 和Niagara 2 都是由8 个处理器内核构成。Niagara 2中的内核相比于Niagara 中的内核升级为Ultra SPARC T2 内核,Niagara 2 相比于原来Niagara有了许多不同之处:Niagara多了一个浮点运算单元;Ultra SPARC T2 内核同时支持的线程数是8 个;Ultra SPARC T2内核增加了一级流水线,多出来的一级流水线主要是选择待执行的线程;8 个Ultra SPARC T2 内核共享一个4MB 的二级缓存,二级缓存的映像机构结构是16 路组相联,二级缓存采用写回和写分配策略,行长度为64 字节。每个内核一级指令缓存设立指令缓冲区,一级缓存的映像机构结构是8 路组相联;Ultra SPARC T2 的二级缓存分为8 个存储体结构,相比于UltraSPARC T1的4 存储体结构,性能将提高10%。Intel、AMD正式推出多核架构的处理器在真正意义上揭开多核处理器进入了商业市场的序幕。 2007年4月Intel 宣称他们正在研发一款集成在一块芯片上的超大型计算机的计划。芯片的计算速度预计要达到每秒一万一次,性能相当于1996 年的Intel 自己研发的超大型计算机,该计算机占地面积约为2000 平方英尺,而该芯片的大小只有邮票这么大。根据该公司的计划该芯片包括有80 个处理器核心。 2008 年Intel 对外界宣布了一种全新的多核处理器架构Nahelem 架构,它的出现也为Intel 的多核处理器的研究掀开了新的一页。 2011年5月4日,美国加州圣克拉拉-英特尔公司宣布设计出一种新型的晶体管-三栅极(Tri-Gate)的革命性3-D晶体管设计(英特尔曾在2002 年首次露),自从50多年前晶体管被英特尔发明以来,这种晶体管的出现是前所未有的。2-D晶体管在社会各个领域的电子控制中运用,3-D立体的晶体管或许会改变我们的生活。 AMD公司也发布了一款四核处理器,它的代号为巴塞罗那,这款处理器的发布标志AMD的处理器也进入了四核时代,为AMD处理器翻开了新的篇章。 随着处理器技术的发展,越来越多的处理器使用众核处理器【6】。现在市场上已经出现大量的众核处理器产品。可以预见,众核处理器很快就将成为处理器市场的主流。现代的众核处理器可以分为两类:一类是从通用CPU 发展而来的众核通用CPU,另一类是众核加速器。 前者是在一个芯片中集成多个通用CPU 核心,而后者使用的核心则往往要简单得多,片上通信的架构更加先进。众核通用CPU使用的处理器核心往往都是传统的CPU设计,它们可以独立的运行操作系统,基本上不做过多的更改。这些处理器使用的核心都是从传统的通用CPU进化而来的,都具有比较大的cache和复杂的乱序执行部件以加速单线程程序的执行。但是也有众核通用CPU采用简单的处理核。之所以简单的核心是因为芯片上可集成的核心数将增多,芯片整体的吞吐率变大。目前一些主要的处理器生产商都已经开发出一些众核CPU,例如AMD的包含12核Opteron处理器、Intel的包括有8核至强CPU、IBM 包含有8核的Power 7处理器。众核加速器方面目前使用最广、最受关注的是GPU。GPU(graphicprocess unit)是NVIDIA 公司在发布GeForce 256 图形处理芯片时首先提出的概念。众核CPU使用的核心是通用CPU,众核加速器则是往往是面向特殊的领域设计的,这也正是它们名字的由来。它们集成的核心数量比众核CPU 要多,在设计方式上与众核CPU有很大的差别。 GPU不能独立运行操作系统,必须依附在通用CPU上发挥作用。虽然GPU中的内核要比众核通用CPU 中内核相对简单,但是存储器带宽和处理能力上GPU 比众核通用CPU 还是要强很多。GPU 的大部分芯片面积都用做计算单元,所以对于GPU 计算要求较高。GPU 的设计目标是使芯片的吞吐率最大化,它的处理器方式并不是优化某一些线程的运行延迟,而是GPU将每个内核都做得简单一些,这就是小核模式。这样的话在相同的工艺下,同样的芯片面积内可以集成更多的核心4。 目前的主流GPU有NVIDIAGPU,该GPU为了实现了较细粒度的线程间通信,运用统一架构单元,这样的话应用范围将变得非常的大。GPGPU(General Purpose GPU,基于GPU 的通用计算)开始被人们重视的标志是2006年NVIDIA发布了一款支持DirectX10的GPU。2007年,NVIDIA 公司发布的CUDA(计算统一设备架构Compute Unified Device Architecture),标志者通用计算在GPU 上真正的实现。 CUDA是由NVIDIA推出的GPU编程模型。CUDA 的实质是一套软硬件系统,编程模式是单程序多重数据(SPMD),CUDA 目标是将GPU作为数据并行计算设备,多个并发的线程执行单一的程序并行地处理多重数据。CUDA最基本的运算单元是线程(Thread),多个线程组成线程块(Block)。CUDA的基本思想是尽量得开发线程级并行(Thread Level Parallel),这些线程能够在硬件中被动态的调度和执行。对于目前大部分并行处理数据,设计人员只需花费很小的精力,性能就能获得较大提升的。但是设计人员想要设计高性能的GPU 通用计算程序,并行算法和GPU 架构方面的知识还需要设计人员深入研究。2.2 多核处理器核间通信技术发展现状未来众核处理器上将集成数百个处理器内核。系统的数据通信量非常庞大,对通信带宽提出了更高的要求。在这种规模的多核SoC设计中,多核处理器的多个核心虽然各自执行自己的代码,但是不同核间可能需要进行数据的共享和同步,核间通信机制用于多个进程或线程之间的数据通信以及多个处理器核之间的同步,对系统性能影响非常大。当前多核处理器的片上通信主要有3 种方式【6】:总线共享、交叉开关互连(Cross-bar Switch)和片上网络(Network on-chip, NoC)。2.2.1共享总线简介 共享总线的互连方式可以分为:单总线、多总线和层次化总线。在SoC 的设计中共享总线的通信方式是较常用的一种方式,国外有CoreConnect 总线、AMBA总线、Wisbone总线,国内有C*BUS总线等。国内有许多高校对于SoC设计中的共享总线结构的研究,例如西安电子科技大学的“高性能SoC 异步互连技术研究”项目。在整个共享总线的通信结构中的设计中仲裁器的设计是很重要的一个环节,为保证整个SoC设计有较高的数据传输速率以及较高的总线利用率,另外个别端口能够频繁地、实时地传输数据,最重要的一点是每个端口均有机会获取共享资源。这就需要设计者选择合适的仲裁策略。共享总线的通信结构广泛运用在SoC设计中,但是存在一些弊病。一个芯片中有许多的部件,在同一时刻仅仅能接受一个部件作为主设备占用该总线,基于此原因,整个SoC 的性能无法提高。共享总线的互连问题、功耗问题也会随着芯片规模的扩大而凸显出来。 2.2.2交叉开关互联 另外一种交叉开关互联结构,随着芯片设计尺寸的减小,在许多芯片设计也运用到了这种结构。交叉开关的结构也是有利有弊,有利的一方面对于并行处理器的多核处理器而言,所有的部件通过交叉开关能够两两互联通信,每个处理器核都可以与任意内部存储器部件通信,通信的效率是非常高的。不利的一方面与之付出的硬件成本比较大,一个由N 个节点组成的交叉开关,它的设计复杂度的数量级着O(N2)增加,当某两个或多个设备要同时访问某一设备,必须设计额外的仲裁器并伴随着设计仲裁器优先策略,这样的话增加了设计难度。 随着工艺尺寸的缩小,单元门的延迟(晶体管的开关时间)成比例地降低,然而全局互连线的延迟并不随着工艺尺寸的降低而成比例地降低。在深亚微米尺下,芯片投产时即使采用最优的工艺条件(低电介质常数的半导体材料低电阻率的纯铜材料。高/宽比很高的互连线以及插入优化的repeater),顶层全局互连线在传输信号是需要几个甚至十几个时钟,芯片性能还是受限于通信延迟。随着电路规模的扩大,全局总线限制了并发通信。虽然总线可以有效地连接多个通信方, 但总线地址资源并不能随着计算单元的增加而无限扩展,挂接在总线上的设备个数越多导致总线接口电阻电容的增加。虽然采用分段式总线、层次化总线、高级的仲裁机制等优化方式可以提高总线的性能,但是不能从根本上克服总线的可扩展性差的问题。还有总线可由多用户共享,但一条总线无法支持一对以上的用户同时通信,即串行访问机制导致了通信的瓶颈。从这个角度讲,随着SoC集成度的增加,由于良好的可扩展性片上网络(Nework on-Chip,NoC)【5】逐渐成为在单芯片上多处理的片上通信比较好的解决方案。基于NoC 的多核处理器逐渐成为当前甚至未来处理器的主流。AMD、Intel、Sun、ARM、IBM 等比较大的计算机厂商,都将他们当前或未来产品设计投向基于NoC 的多核系统。例如在2007 年Intel 公司的研究人员宣称他们研制实现了一款众核处理器,该款众核处理器通过10×8 的2D mesh 结构的NoC 连接80 个处理器核。2.2.3片上网络 NoC方法为片上通信提供了一种新的设计空间,2002 年Standford 大学的DeMicheli 提出了SoC内部通信中采用NoC 方式的概念。集成电路设计总是想方设法把现有的各种电子电路乃至计算系统集成到单一芯片上,因此计算机体系结构历来是集成电路片上系统架构的参考体系。NoC 结构的核心思想就是把传统计算机网络中互连思想移植到了片上系统各设备之间的通信。 基于NoC 结构的系统能很好地适应在现在复杂SoC设计中常使用的全局异步局部同步的时钟机制,具有NoC 结构的多核处理器通过并发和非阻塞交换带宽更高、节点也有比较好的扩展性、通过分组交换获得更高的链路利用率,这是它与传统总线式结构的差别。它被认为是未来集成工艺下多核技术发展的一个方向。NoC 的网络结构是报文交换的直接网络,通信协议比总线协议要复杂得多,采用分层的网络协议。近年来多种基于报文交换网络的片上网络互连结构也被提出来。 然而相对于共享总线结构来说也有许多缺点,交换电路和接口增加了芯片的硬件资源消耗,数据打包、缓冲、同步和接口增加了延迟开销,增加的逻辑造成了功耗增大。 有人提出另外一些通信结构的概念。把一块芯片分为几个孤岛,当某个孤岛需要工作时就工作,不需要工作时就停止供电,这样的话功耗就会降低,整个芯片的时钟频率也会降低。孤岛内的通信结构可以是各种通信结构的组合。 有人也提出混合的片上通信结构,把各种通信结构组合在同一块芯片中,充分发挥各种通信方式的优点。特别是NoC 结构的提出,使得片上通信的方式更加趋于多样化。例如利用共享总线方式硬件资源占用较小的特点,利用NoC 结构的高带宽、分层协议传输的高可靠、分层网络中点对点传输低功耗的特点,将它们组合起来,使得芯片的性能参数得到优化。对于片上通信系统结构的研究,为SoC系统的优化设计提供了一个探索空间。2.3多核处理器核间通讯体系结构2.3.1多核处理器片上通信的瓶颈 随着芯片设计尺寸的不断减小以及设计复杂度的增大,多核处理器的传统的片上通信架构遇到了许多新的设计特点【5】。(1) 全局同步 在目前的大型SoC芯片的设计,实现整个芯片的严格时钟同步已经不切实际。由于特征尺寸缩小后,信号延迟变小,工作频率提高,设计人员要实现全局时钟所要付出的代价是更大的硬件开销以及功耗的急剧上升。即使以较大的代价实现了全局时钟,时钟偏斜变得难以控制,而时钟树又是影响芯片功耗和成本的一个主要因素。另外全局信号的延时超过一个时钟周期的可能性也大大增加。(2) 延时 SoC 设计中的信号延时包括线延时和门延时,CMOS 的集成电路线延时与门延时并不相同,而如今的IC 设计已经达到超深亚微米,线延时已经超过门延时已经成为设计者提高芯片的性能的首要瓶颈。随着众核处理器的出现,核的个数将成倍的增加,核间的互联线长度增大,设计者能够有效地控制线延时的困难将大大增强。超深亚微米的设计尺寸下,时钟频率提高,线延时有可能超过一个时钟周期甚至不只一个时钟周期。所以在设计SoC 过程中线延时可控的是设计者必须考虑的问题。(3) 信号完整性 除了全局同步的问题以外,在芯片设计时SoC 的信号完整性的问题也是设计者面临的重大挑战。如果信号完整性问题处理不好将使整个SoC芯片的性能下降,甚至整个芯片都无法正常工作。信号完整性问题包括有电磁干扰、串扰、反射、轨道塌陷等问题。信号完整性不仅是决定信号时序的关键因素,还是影响芯片功能完整性的一个重要方面。有时为了保证信号完整性,需要在性能上做出一些牺牲。(4) 功耗 功耗已经成为限制SoC 复杂度的一个基本因素。随着工艺尺寸的缩小,晶体管密度以及开关速度迅速增大,芯片的总功耗不断增大,互连逐渐成为系统总功耗的最大消耗者之一。而传统的总线结构传输数据时要对所有挂接在总线上的负载电容进行充放电,浪费了大量的功耗。因此,降低互连通信的功耗是当前SoC设计面临的一大挑战。 在SoC 设计中随着设计复杂度的提高,功耗问题成为设计者不得不考虑的问题。如何降低在多核处理器中的核间通信的功耗,也是研究者的一个重要课题。传统共享总线架构挂接在总线上电容的充放电。随着众核处理器的出现,核的数量成倍的增加,核与核之间的互联延时增加。使用交叉开关结构开关的频繁切换以及芯片上的晶体管密度增大。这些因素都使能量消耗变大。因此设计者可以从以下几个方面入手设计一种新型的互联通信架构,使之有更低的功耗。2.3.2多核处理器通信架构特点介绍(1) 共享总线结构 如图2.1 所示,多核处理器共享Cache总线结构是指每个处理器的内核拥有共享的二级或三级Cache。图2.1 中共享总线上方的内核为主设备,它是通讯发起方,下方的设备为从设备。主设备可以由n 个处理器核构成,从设备为本地存储器和n 个共享二级Cache 设备,共享的Cache 用于保存比较常用的数据。多核处理器内部的各个内核通过共享总线进行通信。 n 个本地Cache 分别属于各个处理器,即这n 个本地Cache在逻辑上统一编址,但每个处理器只能访问自己的存储地址空间。在共享Cache的多处理器系统中,多个设备同时进行的共享存储器读写操作,可能会出现Cache不命中事件或Cache的一致性问题,对整个CPU通信效率产生负面影响。 因此必须采取同步措施才能保证读写操作的正确性并且提高整个多核处理器的系统性能。解决Cache的一致性和不命中的问题有很多种方法,在共享总线互联通信结构中总线接口单元(BIU)解决。高效多端口BIU访问的仲裁机制将是多核处理器研究的重要内容。BIU 位于每个内核私有一级缓存内部,包含有一个仲裁机。当多核处理器中多个内核同时访问某个内存时BIU 内部的仲裁机采用一定的仲裁策略,分配某一个内核访问内存,该内核此时获得总线的控制权。当出现Cache 不一致现象时BIU 也利用仲裁机的仲裁策略解决这个问题。总线仲裁策略可以被采用的有很多种,实现最为简单采用循环占用总线仲裁策略。图2.1 共享总线结构图 这里我们列举了一种多端口的BIU结构,该BIU的特点是多核对主存的读写操作由单字节转换为突发式(burst)访问,并且寻求到最佳一次突发式访问字的大小,使得读写效率最高。 在单一共享总线结构中,所有设备共享一条总线。当有多个主设备同时申请总线时,由BIU决定总线的所有权,各个主设备的优先级一般预先由设计者来定例如斯坦福大学研制的Hydra多核处理器,它采用了l 条64 位的写通过总线和1条256位的读/写替换总线,位于片上L2 Cache 内部BIU 实现处理器核与和内存接口的通信。 实现片上总线的方式有许多种,如果某段总线上传输速率并不相同,设计者就可以对这段总线分段,分段后总线可以在不同时间段去竞争总线,这样的话整个共享总线的利用率就变高了。下面描述的AMBA总线就是这种这种类型。在共享总线上的主、从部件较多,并且想要高总线利用率,实现所有主从部件的点对点互联,可以对共享总线进行分层,实际运用中可以采用交换矩阵形式。另外,提高总线的利用率的方式,是从SoC 中的从部件下手,一旦从部件需要读写操作时,从部件占有总线。这种方案叫做从部件仲裁(Slavesidearbitration)。 如果多核处理器的片上通信结构采用共享总线。共享总线方式为了完成总线复用以及多核处理器内部各个部件的互连,需要不同地址的解码来完成,如果外设较多的话,多核处理器内部的地址总线的扇出将成为多核处理器的新的负担。同时过于复杂的解码逻辑会增加额外的时延,仅仅适用核的个数不多的多核处理器。尽管利用采用多总线方案、提高总线的带宽、以及提高时钟频率能够改善全局布线、延时等问题,但是提高总线的时钟频率伴随而来

    注意事项

    本文(CMC总线在8051上实现与验证学士学位论文.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开