CMC总线在8051上实现与验证.docx

上传人:b****4 文档编号:4817924 上传时间:2023-05-07 格式:DOCX 页数:76 大小:1.09MB
下载 相关 举报
CMC总线在8051上实现与验证.docx_第1页
第1页 / 共76页
CMC总线在8051上实现与验证.docx_第2页
第2页 / 共76页
CMC总线在8051上实现与验证.docx_第3页
第3页 / 共76页
CMC总线在8051上实现与验证.docx_第4页
第4页 / 共76页
CMC总线在8051上实现与验证.docx_第5页
第5页 / 共76页
CMC总线在8051上实现与验证.docx_第6页
第6页 / 共76页
CMC总线在8051上实现与验证.docx_第7页
第7页 / 共76页
CMC总线在8051上实现与验证.docx_第8页
第8页 / 共76页
CMC总线在8051上实现与验证.docx_第9页
第9页 / 共76页
CMC总线在8051上实现与验证.docx_第10页
第10页 / 共76页
CMC总线在8051上实现与验证.docx_第11页
第11页 / 共76页
CMC总线在8051上实现与验证.docx_第12页
第12页 / 共76页
CMC总线在8051上实现与验证.docx_第13页
第13页 / 共76页
CMC总线在8051上实现与验证.docx_第14页
第14页 / 共76页
CMC总线在8051上实现与验证.docx_第15页
第15页 / 共76页
CMC总线在8051上实现与验证.docx_第16页
第16页 / 共76页
CMC总线在8051上实现与验证.docx_第17页
第17页 / 共76页
CMC总线在8051上实现与验证.docx_第18页
第18页 / 共76页
CMC总线在8051上实现与验证.docx_第19页
第19页 / 共76页
CMC总线在8051上实现与验证.docx_第20页
第20页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

CMC总线在8051上实现与验证.docx

《CMC总线在8051上实现与验证.docx》由会员分享,可在线阅读,更多相关《CMC总线在8051上实现与验证.docx(76页珍藏版)》请在冰点文库上搜索。

CMC总线在8051上实现与验证.docx

CMC总线在8051上实现与验证

摘要

随着计算机的广泛应用,对于处理器的处理能要求越来越高。

传统的单核处理器仅仅依靠提高处理器的时钟频率的做法已经无法满足需求了。

单芯片多核处理器(CMP)技术也就应运而生,相比于单核单芯片处理器有控制逻辑简单、低通信延迟、设计和验证周期短、积木式升级、低功耗、并行处理等优点。

多核处理器已经取代了单核处理器成为市场上的处理器的主流产品。

多核处理器内的多个核并不是简单的相连。

多核处理器内部的互联架构的研究近年来也在国内外广泛开展。

本文通过仔细分析多核处理器发展现状及趋势,分析了目前的多核处理器内部现有的通信架构的优缺点以及它们各自的适用场合。

针对小核模式的多核处理器本文提出了

本文设计出一种多核处理器的一种CMC总线架构。

CMC总线架构的设计目标为只需一根握手信号线,简单的硬件逻辑,并为软件提供必要的控制接口。

结构,该结构既可以作为同构多核处理器又可以作为异构多核处理器。

每个核处理的任务可以在很小、很专一。

多核处理器内多个核的互联总线包括有外总线、长总线、短总线。

长、短总线在多核处理器内分别有各自不同的功能。

长、短总线都采用CMC总线架构。

整个CMC总线架构采用汇编硬件描述语言编写实现,把多核处理器内部的各个核有机的结合在一起。

本课题内容就是用PROTEUS搭出电路,将程序运行,验证CMC总线多核与单核共享总线相比提高了效率,并在PROTEUS上实现并行计算,完成上述核间通讯。

证明该核间通信架构的可行性。

该内部核间通信结构的多核处理器的研究为后续的相关产品开发和设计奠定了坚实的基础。

关键词:

多核处理器;众核处理器;核间通信;CMC总线

 

Abstract

Withthewiderangeofcomputer,theprocessor’sperformanceisincreasing.Traditionalsingle-coreprocessorshavebeenunabletomeetthatdemandincreasingprocessorclockfrequency.Chipmulti-processor(CMP)technologyalsocameintobeing,theadvantagesaresimplecontrollogic,lowcommunicationdelay,shortdesignandverificationcycle,modularupgrade,lowpower,parallelprocessingcomparedtochipsingle-processor.Multi-coreprocessorshavereplacedsingle-coreprocessorsonthemarket.

Allcoresarenotsimplyconnectedinthemulti-coreprocessor.Theinternalhasbeenstudiedathomeandabroadintherecentyears.Throughtheanalysisofcurrentsituationandtrendofthedevelopmentofmulti-coreprocessors,wedisplaytheadvertagesanddisadvertagesoftheexistinginternalinter-corecommunicationinthemulti-coreprocessorandtheirapplicationofoccasions.WeputforwardamodelofCMCbusarchitectureforsmallcoreinthemulti-coreprocessor.OurdesigngoalsoftheCMCbusarejustahandshakesignal,simplehardwarelogicandenoughsoftwareinterfaces.

Weworkoutthearchitectureofmulti-coreprocessor,whichisusedeitherasisomorphicmulti-coreprocessororasheterogeneousmulti-coreprocessors.Undertheconditionofthefewprocessingtaskofeverycore,themulti-coreprocessorincludesouterbus,longbus,shortbus.Thelongandshortbushasdifferentfunctionsinthemulti-coreprocessorandisusingCMCbusarchitecture.

WedesigntheentireCMCbususingassemblerlanguagecombinedwithindividualcoresinmulti-coreprocessors.Simulatethereadandwriteofinternalinter-corecommiucationbyusingofPROTEUS..Thisdesignwillcontributetofurtherresearchanddevelopmentofrelevantproduct.

Keywords:

multi-coreprocessor;many-coreprocessor;inter-corecommunication;

CMCbus

目录

第1章绪论1

1.1课题研究的背景1

1.2课题研究的意义3

1.3本课题研究主要内容4

1.4课题研究方案4

第2章多核处理器核间通讯体系结构5

2.1多核处理器国内外发展现状5

2.2多核处理器核间通信技术发展现状8

2.2.1共享总线简介8

2.2.2交叉开关互联8

2.2.3片上网络9

2.3多核处理器核间通讯体系结构10

2.3.1多核处理器片上通信的瓶颈10

2.3.2多核处理器通信架构特点介绍11

2.4CMC总线的提出19

2.4.1基于CMC总线的多核处理器结构设计20

2.4.2CMC总线设计的特点23

第3章CMC总线在8051上的实现24

3.1CMC总线工作原理24

3.1.1CMC总线接口信号24

3.1.2CMC总线核部分硬件设计24

3.1.3CMC总线缓存部分硬件设计26

3.1.4CMC总线握手逻辑设计27

3.1.5CMC总线传输协议28

3.2CMC总线验证在8051上验证方案30

3.2.1CMC总线接口信号硬件仿真方案30

3.2.2CMC总线握手硬件仿真设计方案32

3.2.3CMC总线整体设计方案32

3.30851单片机简介33

3.3.180C51系列介绍33

3.3.28051的引脚说明33

3.3.4CPU结构34

3.4仿真软件PROTEUS介绍35

3.4.1PROTEUS简介35

3.4.3基于PROTEUS的电路设计35

3.4.5PROTEUS与KEIL联调使用37

3.5CMC总线硬件仿真图37

3.5.1双向驱动器连接方式38

3.5.2存储器与锁存器连接方式仿真40

3.5.3四2选1数据选择器仿真连接42

3.5.4数码管连接方式44

第4章多8051的异步并行程序验证45

4.1验证方案45

4.2微操做系统47

4.2.1微内核操做系统简介47

4.2.2内核操作系统流程47

4.2.3查询任务程序49

4.2.4资源查询与核间通讯50

4.2.5独立任务块50

4.3最终任务在数码管上显示结果52

总结56

致谢57

参考文献58

附录A英文原文59

附录B汉语翻译63

附录C微操做系统程序66

附录DCMC总线仿真图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,chipmulti-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(corememorycore)总线的结构是由挂在同一个总线上的多个核(core)和缓存(memory)组成。

核与核之间,核与主存之间的通信系统采用层次化的双向总线结构,其中包括有外总线、长总线和若干条短总线组成。

其中有一个核的权限是主核,其余核为从核。

主核通过外总线与存储程序指令和数据的主存进行数据交换。

长总线工作在主从模式,短总线工作在多主模式,核与核之间的地位相同,任何一个核都可以主动要求总线控制权,在总线空闲时获得总线控制权。

CMC在节约了资源的前提下保证了数据的完整性。

本课题内容就是用PROTEUS搭出电路,将程序运行,验证CMC总线多核提高了效率,并在PROTEUS上实现并行计算,完成上述核间通讯。

第2章多核处理器核间通讯体系结构

2.1多核处理器国内外发展现状

目前在国内多核处理器的研究相比于国外还有很大的差距,但是也有迎头赶上的趋势。

我国的国防科技大学为我国单芯片多处理器的研究做出巨大的贡献。

该校设计出了一种多核处理器内部多核共享多端口Cache的架构模型,每个核都拥有一个私有的指令缓存,核与核之间的通信架构采用的是交叉开关链接一个共享的级数据缓存,该缓存具有多访问端口。

现在已经成功投片的YHFT64-3多核处理器,它的性能可以在500MHz的相同频率下1.6GHz的Itanium2处理器相媲美YHFT64-3多核处理器的计算处理能力异常强大,因为它内部包含的18个并行处理的浮点处理构件可以进行多个层次并行处理数据。

2003年,我国清华大学的SoC与微处理器研究中心就展开了单芯片多处理器技术的研究,在2005年又有一款ThumpCMP模拟器的问世,也填补了我国在该领域的空白。

该处理器内部有两个Thump107内核,两个内核各有一个私有的一级缓存,两个内核之间还有一个共享的二级缓存,每个内核都采用了该校自主研制32位的MIPS指令集的微处理器【4】。

2002年位于北京中关村的中科院计算成功开发并投片中国第一款自我研发的处理器芯片--龙芯处理器。

这十多年来,龙芯的每一步发展都牵动着我国计算机产业从业者的神经。

它的快速发展大大促进了我国的处理器产业的发展,使我国在这方面与世界先进水平大大缩小。

现在,我国自主研发的龙芯处理器芯片也推出了多核处理器芯片。

龙芯推出的多核处理器芯片的内部架构采用了片上网络与交叉开关相结合的结构,这种结构的特点是带宽高、可扩展性好。

该芯片架构可以根据实际需求,选用龙芯自主研发的64位通用处理器核,也可以选用专用的处理器核。

2005年IBM、东芝和索尼发布了一款多核处理器—Cell处理器。

根据这些公司公布的部分的结构设计和性能参数显示,利用内部互联总线相连9个内核、1个存储器控制器、1个IO控制器,它们构成了整个Cell处理器。

其中这9个内核包含了1个PowerPC通用处理器核(PPE)和8个协处理器(SPE)。

整个处理器的内部统一编制,通过共享总线完成核间通信,处理器访问外部端口亦是如此。

2005年SUN公司研发成功了一款多核处理器UltraSPARCT1处理器(代号为“Niagara”)。

紧接着在2007Sun公司又成功推出了一款升级产品UltraSPARCT2处理器(代号为“Niagara2”)。

Niagara和Niagara2都是由8个处理器内核构成。

Niagara2中的内核相比于Niagara中的内核升级为UltraSPARCT2内核,

Niagara2相比于原来Niagara有了许多不同之处:

Niagara多了一个浮点运算单元;UltraSPARCT2内核同时支持的线程数是8个;UltraSPARCT2内核增加了一级流水线,多出来的一级流水线主要是选择待执行的线程;8个UltraSPARCT2内核共享一个4MB的二级缓存,二级缓存的映像机构结构是16路组相联,二级缓存采用写回和写分配策略,行长度为64字节。

每个内核一级指令缓存设立指令缓冲区,一级缓存的映像机构结构是8路组相联;UltraSPARCT2的二级缓存分为8个存储体结构,相比于UltraSPARCT1的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核的Power7处理器。

众核加速器方面目前使用最广、最受关注的是GPU。

GPU(graphicprocessunit)是NVIDIA公司在发布GeForce256图形处理芯片时首先提出的概念。

众核CPU使用的核心是通用CPU,众核加速器则是往往是面向特殊的领域设计的,这也正是它们名字的由来。

它们集成的核心数量比众核CPU要多,在设计方式上与众核CPU有很大的差别。

GPU不能独立运行操作系统,必须依附在通用CPU上发挥作用。

虽然GPU中的内核要比众核通用CPU中内核相对简单,但是存储器带宽和处理能力上GPU比众核通用CPU还是要强很多。

GPU的大部分芯片面积都用做计算单元,所以对于GPU计算要求较高。

GPU的设计目标是使芯片的吞吐率最大化,它的处理器方式并不是优化某一些线程的运行延迟,而是GPU将每个内核都做得简单一些,这就是小核模式。

这样的话在相同的工艺下,同样的芯片面积内可以集成更多的核心[4]。

目前的主流GPU有NVIDIAGPU,该GPU为了实现了较细粒度的线程间通信,运用统一架构单元,这样的话应用范围将变得非常的大。

GPGPU(GeneralPurposeGPU,基于GPU的通用计算)开始被人们重视的标志是2006年NVIDIA发布了一款支持DirectX10的GPU。

2007年,NVIDIA公司发布的CUDA(计算统一设备架构ComputeUnifiedDeviceArchitecture),标志者通用计算在GPU上真正的实现。

CUDA是由NVIDIA推出的GPU编程模型。

CUDA的实质是一套软硬件系统,编程模式是单程序多重数据(SPMD),CUDA目标是将GPU作为数据并行计算设备,多个并发的线程执行单一的程序并行地处理多重数据。

CUDA最基本的运算单元是线程(Thread),多个线程组成线程块(Block)。

CUDA的基本思想是尽量得开发线程级并行(ThreadLevelParallel),这些线程能够在硬件中被动态的调度和执行。

对于目前大部分并行处理数据,设计人员只需花费很小的精力,性能就能获得较大提升的。

但是设计人员想要设计高性能的GPU通用计算程序,并行算法和GPU架构方面的知识还需要设计人员深入研究。

2.2多核处理器核间通信技术发展现状

未来众核处理器上将集成数百个处理器内核。

系统的数据通信量非常庞大

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2