(微电子学与固体电子学专业论文)多核包处理器数据控制总线技术研究.pdf_第1页
(微电子学与固体电子学专业论文)多核包处理器数据控制总线技术研究.pdf_第2页
(微电子学与固体电子学专业论文)多核包处理器数据控制总线技术研究.pdf_第3页
(微电子学与固体电子学专业论文)多核包处理器数据控制总线技术研究.pdf_第4页
(微电子学与固体电子学专业论文)多核包处理器数据控制总线技术研究.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 近年来,网络环境的发展呈现两个趋势:高带宽和综合化,应用于网络环境 的多核包处理器提供高速的数据包分组、处理和转发能力,同时具有可编程的灵 活性,满足了当前网络发展的需求。 多核包处理器的总线接口是影响网络高效传输的重要因素。本文以多核包处 理器研究为背景,研究了多核包处理器与外部网络链路层设备进行数据通信的结 构和机制,设计了一种控制多核包处理器与网络链路层设备进行通信的数据控制 总线。该数据控制总线能够在3 2 b i t 全双工和6 4 b i t 半双工的工作模式下,轮询采 集链路层设备的状态标志,并通知多核包处理器读取已采集到的状态标志。同时, 该数据控制总线能够对链路层设备进行流量控制。 本文完成了数据控制总线i 汛设计和功能仿真,建立了该控制总线的参考模 型和m a c 设备f 4 4 0 的总线功能模型,制定了基于这两个模型的验证方案,并 完成了数据控制总线的功能验证。此外,对该控制总线r t l 设计进行了逻辑综合, 结果表明,该数据控制总线能够工作在1 0 4 m h z 下,完成对外部最多7 个m a c 设备的数据通信的控制。最后,完成了对电路网表的形式验证和功能仿真,该网 表与i 盯l 设计功能一致,满足课题需求。 关键词:高带宽综合化多核包处理器数据控制总线 a b s t r a c t i l lm er e c e n ty e a r s ,1 1 i 曲e r b a i l 捌d t ha n dm o r e 硫e g r a t e ds e r v i c eh a v eb e c o m e 趾 i n e v i t 2 l b l en e n do fn e t w o r kd e v e l o p m e n t i no r d e rt 0d e a l 嘶t l ls u c hat e n d e n c y , m u l t i c o r ep a c k a g ep r o c e s s o r sw e r ea p p l i e di nt l l en e 铆o r ke n v 的1 1 i n e n t t h em u l t i c o r e p a c k a g ep c e s s o r s c a np r o v i d eb o 廿l h i 曲p 娟n n a n c ep r o c e s sa b i l i t ) ,a n d p r o 孕觚m a b l ec h a r a c t e r i nn e 铆o r kb a s e do nt 1 1 em u l t i c o r ep a c k a g ep r o c e s s o r s ,d a t at r a m s “s s i o n e 街c i e n c yw 嬲l l i 鲥y 疆e c t e db y 舭b u si n t e 血c eo ft h em u n i c o r ep a c k a g ep r o c e s s o r s t h r o u 曲m es t u d yo ft l l ed a :t a 仃a i l s 疵s s i o ns 饥i c t u r ea i l dm e c l l a i l i s m ,at y i ) eo fd a t a c o n t r o lb u sa p p l i e di nm u l t i c o r ep a c k a g ep r o c e s s o r sw 鹊d e s i g n e dt 0c o m r o lt l l ed a t a 柏n s 商s s i o nb e 觚e e nm u l t i c o r ep a c k a g e p r o c e s s o 岱a n dd e v i c e si n 1 el i l l l 【l a y e r t h e d a t ac o n t r o lb u sc a nr 嘶e v e 1 es t a t es t a t u s 丘o mm a cd e 、,i c e s ,i i l f o 锄t h e 皿【u l t i c o r e p a c k a g ep r o c e s s o 璐t 0r e a di t ,趿d 弱s e r tn o wc o m r o lt 0m a cd e v i c e s ,u i l d e r3 2 b i t m 1 1 - d u p l e x0 r6 4 b i tb a l f 二d u p l e xw o m n g m o d e t h ep a p e rc o m p l e t e d l er t ld e s i 弘,b u i l t 舭r e f e r e n c em o d e l so f 恤d a t a c o n 缸0 lb u sa n d l eb f mo fm a c d e v i c e f 4 4 0 n d u 曲t l l et e s t b e n c l l sc o i l s n u c t e d b yt h e s e 铆on 1 0 d e i s ,t l l i sp 印e rf i l l i s h e d 缸t i o nv 耐f i c a t i o n f u n h e n n o r e ,m e s ) m t h e s i sr e s u l tr e p o n e db yd e s i 盟c o i n p i l e rs h o w e dt 1 1 a tm ed a t ac o n 舡d lb u s 、v a sa b l e t 0b eo a t e da t 也e 丘e q u e n c yo f10 4 m h z l a s t ,t h i sp a p e rc o r n p l e t e d l ef o 皿a l v e d 6 c a t i o na n d 劬c t i o nv e r i f i c a t i o nt ot h en e t l i s t k e y w o r d s :h i g hb a n d w i d t hi n t e g r a t e ds e r v i c em u l t i c o r ep a c k a g ep r o c e s s o r s d a t ac o n t r o lb u s 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注 和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果; 也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明 并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:琊盔! 歪隆日期盈臣:! 丝 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本人签名: 导师签名: 第一章绪论 第一章绪论 1 1 课题研究背景 近年来,随着网络传输技术的发展,网络环境呈现两大发展趋势:高带宽和 综合化。 首先,i n t e m e t 主干网络流量快速增长,因特网、企业网络等网络应用的带宽 需求急剧上升,主干路由器的处理速度从6 2 2 1 0 0 0 m b p s 增加到2 5 g b p s ,并且 1 0 g b p s 的e t h p o s r p r 已经得到应用【l j 。而且随着电子商务、多媒体业务和v o i p 等业务的出现,对带宽的要求越来越高。 其次,因特网的迅速发展和推广应用使人们在不断增长带宽的前提下,提出 了更加复杂多变的组网需求和不断增加的网络协议。此外,未来的网络不仅需要 更大的带宽,还要求它能不断增加新的服务,使得用户能够不断地更新他们的网 络,在他们的网络中增加专门的服务功能以及带宽管理功能。这种复杂服务功能 包括数据包调度以提供m 上的区分服务质量( q o s ) ,在多个服务器之间平衡传输 流量负载,测量数据流量以确定网络流量模式,以及音频视频数据流的多点传送 和交互式视频会议等【2 1 。这些综合化的服务要求整个网络基础设施能够支持快速 的交换和路由,对不同的业务进行智能化的处理。 总之,如何应对高带宽的趋势,如何适应不断增加的综合化网络业务类型增 长的需求,以及如何实现这些功能,是对网络设备厂商提出的挑战之一。 传统的网络设备通常都基于两种架构:基于a i s c ( 专用集成电路) 和基于 通用处理器【3 】。a i s c 性能高,速度快,但是灵活性差,处理功能单一,最重要的 是开发周期长,成本高,降低了产品的生命周期,不能满足网络飞速发展和业务 综合化的需求【4 1 。通用处理器有较高灵活性,但是对数据包处理等操作开销很大, 并且由于通用处理器的中断处理,分级c a c h e 结构对于网络通信这种实时处理需 要将数据包多次进入缓冲区,不能以较快速度处理网络上的数据包,因此只能用 于中低端速率的场合( 如低端路由器) 1 5 j 。 多核包处理器兼顾了通用处理器的灵活性和a s i c 的执行效率,同时弥补它 们在网络处理方面的不足嘲,在网络处理的功能和性能方面得到了较好的平衡, 它为网络系统构建了一个开放的硬件平台,能够通过软件的升级以适合不断增长 的功能需求。多核包处理器的出现,正是为了适应网络高带宽和综合化发展的趋 势【7 】【引,提高了网络技术的开放性,因而具有十分重要的意义。 2 多核包处理器数据控制总线技术研究 1 2 多核包处理器在网络中的应用 与通用的多核处理器不同,应用于网络中的多核处理器充分结合了网络环境 中数据流的传输和处理特点,专门用于满足网络中的路由和数据交换设备的需求, 专门为了满足网络环境的要求而设计。 网络中的多核包处理器一般包含两类硬件功能,即多个基于网络数据包的处 理器单元和一个专用的智能协处理器【9 j 。其中基于网络数据包的处理器单元是多 核包处理系统的核心,它提供高速、大容量智能处理数据包功能,包括数据解析、 分类和转发等等,因此网络数据包的处理器单元常常被称为数据包处理引擎。而 智能协处理器主要用以对基于网络数据包的处理器单元以及其他硬件单元进行操 作和控制,其通常需要嵌入式操作系统的支持,实现帧分段重组、加速查表、队 列缓冲区管理、顺序管理、存储器控制和多播支持等功能【l o 】。 图1 1 多核包处理器的硬件结构 其中处于核心地位的包处理单元的特点是一个针对包处理优化、专用的网络 数据处理的可编程器件。其中针对包处理优化一般是体现在用硬件执行例如数据 识别、分类,数据的高速查表,数据的高速替换等,只提取数据包的部分内容进 行搜索处理。 包处理单元通常采用的是多线程结构,即在一个处理器中有多个线程。这样, 这个专用的网络数据处理系统实际上是一个多核多线程的专用网络数据处理的系 统。这种多核并行工作的专用数据处理结构,大大提高了网络数据包的处理能力, 使得数据处理系统能够处理高速网络中同时到达的多核数据流。同时,处理单元 内部的多线程结构可以降低数据处理时间和访问存储器所需的平均时间,提高芯 片的效率u 。 作为一个可编程的器件,基于包处理单元有自己的专用指令系统【1 2 1 ,体现了 网络处理系统的灵活性。处理器根据指令可以对网络数据包进行扫描并管理数据 流。用户可以通过软件来决定对数据包的哪部分内容进行搜索处理,对多协议结 构的支持,表的灵活组织和安排等。这种灵活性可以缩短网络数据处理设备的市 场开发周期,延长设备的市场生命力。更重要的是,通过对这种可编程的网络处 第一章绪论 理系统,可以构建一个开放、通用、统一的网络系统硬件平台。 1 3 典型多核包处理器系统结构概述 在本课题的研究中,采用一个应用于网络的典型多核包处理器,它提供高性 能的多核多线程并行处理能力,适用于各种网络环境。它由一个s t r o n g a r m 微处 理器、6 个3 2 位可编程多线程包处理器、存储器接口和快速总线接口组成,可达 到每秒1 g 次操作的总体运行性能。它的内部结构如图1 2 所示,主要包括的功能 模块有: 图1 2 典型多核包处理器的内部结构 ( 1 ) 6 个可编程的包处理器:工作频率最高可达2 0 0 m h z ,每个数据包处理 器可支持运行4 个多线程,采用内部线程通信机制实现线程同步,提高了系统效 率。6 个微引擎总共可以运行2 4 个线程,这些线程的功能完全对称。可编程数据 包处理器的指令集是专门为网络和通信应用设计的,在网络系统中,数据包处理 器可用于对网络数据包行进分组,路由表查找以及分组队列管理等。由于具有可 编程特性,因而使得以此为核心的路由器能够适应未来网络协议的发展和多业务 综合化应用的发展【1 6 】【1 7 】。 ( 2 ) s t r o n g a r m 内核:s t r o n g a r m 处理器内核采用典型的r i s c 微处理器 的流水线结构,具有3 2 位算术运算功能,可运行在1 6 6 m h z 下。s t r o n g a r m 内 核主要负责协议控制平面和上层应用程序的处理。它运行操作系统和网络协议软 件,对可编程的包处理器、存储器和其他资源进行管理。在路由器的应用中, s t r o n g a r m 内核处理器可用于运行路由协议软件,维护路由表,对异常的分组进 4 多核包处理器数据控制总线技术研究 行处理和网络管理等【1 6 】【1 7 j 。 ( 3 ) 高性能的s r a m 和s d r a m 内存控制器:工业标准的3 2 位s r a m 接 口和6 4 位s d r a m 接口。s d r a m 和s r a m 均支持多个读写队列进行优先级排 队以优化带宽。其中s r a m 访问速度较快,但存储容量较小,主要用来存放查找 表等需要快速访问的数据结构;s d r a m 的访问速度较慢,但是存储容量大,可 用来存放大容量的数据( 如数据包等) ,并存放系统执行时操作系统的代码。 ( 4 ) p c i 总线接口单元:集成3 2 位,6 6 m h z 的p c i 总线接口。p c i 接口主 要用于在多核包处理器与p c i 外设( 如以太网m a c 设备) 或者其他的宿主处理 器之间的通信。 ( 5 ) 快速总线接口单元:快速总线接口单元提供片内的便笺存储器 ( s c r a t c h p a d ) 和h a s h 单元等。它是多核包处理器与数据总线和数据控制总线的 接口,多核包处理器可以通过f b i 单元连接数据总线,与外部的e t h e m e t m a c 、 a t m 、e 1 等器件进行通信,还可以实现多个多核包处理器间的通信。 在多核包处理器的系统结构中,数据总线是多核包处理器的主要数据通道, 提供多核包处理器与外部网络设备的接口,使多核包处理器能够通过数据总线向 外部网络设备或者总线上的其他部件发送数据分组或接收分组。数据控制总线与 数据总线时钟同步,用来对数据总线上分组数据的通信进行控制。 数据总线接口是影响网络高效传输数据的重要因素。数据总线和数据控制总 线的设计,直接影响到网络的传输效率。 1 4 课题研究内容 本论文以多核包处理器设计与研究为背景,研究了应用于网络中的多核包处 理器与外部网络设备进行通信的数据传输结构和数据传输机制,并重点研究了数 据控制总线技术。多核包处理器与外部网络设备的数据通信是影响网络设备数据 传输效率的关键技术之一。 本文在以上基础之上,设计了一种用于多核包处理器的数据控制总线,其主 要功能是用来控制网络中多核包处理器与外部网络设备的数据交互以及流量控 制。 1 5 论文主要工作和章节安排 本文的研究重点是多核包处理器的数据控制总线技术,在课题的研究进展中, 主要完成了以下工作:一 一、针对当前网络环境发展的两大趋势:高带宽和综合化,总结了这些趋势 第一章绪论 对网络设备提出的新要求以及传统的解决方案,并比较了多核包处理器和传统解 决方案相比较的优势所在。概括了典型多核包处理器的系统结构,指出了数据总 线和数据控制总线是影响网络高效传输数据的重要因素。 二、分析了t c p i p 网络中,以多核包处理器为核心构成的网络路由结构。根 据课题所研究的多核包处理器的特性和结构,研究了网络中多核包处理器与外部 网络设备的数据通信机制,给出了数据控制总线的功能描述和设计指标。 三、根据数据控制总线的功能描述和设计指标,对数据控制总线进行总体设 计和功能模块的划分,完成各个子模块的设计和总体设计。 四、制定合适验证方案,建立数据控制总线的参考模型和实际m a c 设备 i x f 4 4 0 的模型,搭建完善的验证平台,完成数据控制总线r t l 设计的功能验证, 评估验证质量。并完成了逻辑综合和形式验证以及电路网表的功能仿真。 根据以上工作,本文的章节安排如下: 第一章:绪论。主要总结论述了多核包处理器的研究背景、特点和在网络中 的应用,说明了课题所研究的多核包处理器的内部结构,以及数据控制总线的作 用。最后,介绍论文的主要任务和安排。 第二章:基于多核包处理器的网络结构和数据传输概述。主要概述了t c p 】 p 协议的网络分层结构,以及在该层次结构中,多核包处理器系统构成的路由结构。 通过研究多核包处理器与外部链路层设备的通信机制,给出多核包处理器数据控 制总线的设计目标。 第三章:数据控制总线的设计和实现。本章是论文的重点,根据第二章给出 的指标,对数据控制总线进行总体规划,将数据控制总线划分为配置寄存器模块、 状态标志寄存器模块和总线控制器模块。本章节完成了各个模块的详细设计和数 据控制总线的整体设计。 第四章:数据控制总线的功能验证和逻辑综合。本章介绍了常用的验证方法 和验证平台的搭建,根据课题的需要,建立数据控制总线的参考模型和m a c 设 备i x f 4 4 0 的模型,搭建了验证平台并评估验证质量。同时,本章对数据控制总 线设计进行了逻辑综合。最后,完成电路网表的形式验证和功能仿真。 第五章:总结和展望。本章总结了整个数据控制总线的工作成果和不足之处, 并提出后续工作的展望。 第二章基于多核包处理器的网络结构和数据传输概述 7 第二章基于多核包处理器的网络结构和数据传输概述 2 1 基于多核包处理器的网络结构概述 因特网源于计算机与通信技术的结合,始于2 0 世纪5 0 年代,在近几十年得 到迅猛发展。基于因特网的网络系统是应用于网络领域的数字计算机系统,是计 算机互连的基础。因特网是由路由器构成的,路由器系统是最主要的网络系统。 网络系统中的路由器主要负责运行网络协议并且实现网络中数据包分组和转发 l z o j 。因此,以多核包处理器系统为核心的路由器设备开发,必须正确遵循网络协 议标准,保证网络系统能够正确地进行数据通信。 2 1 1 网络协议及网络分层结构 为了保证网络系统能够正确和有效地进行通信和数据的处理,所有的网络设 备必须依据标准的网络协议来实现。因特网采用的是t c p i p 协议体系,事实上 而随着近几十年因特网的飞速发展,t c p i p 协议已经成为网络系统的协议标准。 t c p i p 协议体系是一种可路由协议,它包含了路由器能解释的网络寻址信息 2 1 】。它是由基于硬件层次上的四个概念性层次构成,从下往上依次为:链路层、 网络层、传输层和应用层【2 2 】,如表2 1 所示: 表2 1t c p i p 协议分层结构 应用层 t e l n e t 、f t p 、s m t p 、h r 腰 t i m 匣、d n s 、s n m p 、t f t p 传输层 t c p u d p 网络层i p 链路层 e t h e m e t t o k e nr i n g p p p o t h e rm e d i a 链路层:通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。 它是t c p i p 的最底层,负责使主机通过某种协议与网络进行连接和数据传输, 即接收i p 数据包并将其通过网络发送,或者从网络上接收物理帧,抽出i p 数据 包,交给网络层。 网络层:俗称i p 层。负责处理计算机间的通信,其功能包括三个方面,一 是接收来自传输层的请求,传输某个具有目的地址信息的分组,将分组装入i p 数 据包,填充包头,通过使用路由算法来将数据包发送目标机或者是路由器,然后 将数据包发往链路层中适当的网络接口。二是处理输入的数据包,检验其正确行 并进行处理,选择需要将其交给合适的传输协议还是转发。三是处理数据包路径、 流控、拥塞等问题。 8 多核包处理器数据控制总线技术研究 传输层:主要提供应用层之间的通信,即为两台主机上的应用程序提供端到 端的通信。传输层管理和格式化信息流, 送确认信息及让发送方重发丢失的分组, 错的、按序到达。 进行传输层协议软件协商,让接收方回 提供可靠的传输服务,以确保数据无差 应用层:负责处理特定的应用程序。在这个最高层,用户调用应用程序来访 问t c p i p 互联网络提供的多种服务。常见的有:t e l n e t 远程登录、f t p 文件传 输协议、s m t p 简单邮件传送协议、s n m p 简单网络管理协议。 2 1 2 基于多核包处理器的网络路由结构 路由器是互联网的核心设备,工作在第三层,即网络层,通过转发数据来对 网络进行互连【2 3 】。在实际的t c p i p 网络中,路由器运行t c p i p 、u d p 等协议, 利用网络层上定义的i p 地址来识别不同的网络,以此实现网络的互连,同时也 保证了各个网络相互之间的独立性 2 4 1 。路由器是各个网络之间的连接点,通过动 态的维护路由表来反映当前网络的拓扑关系,并通过与其他网络或者其他路由器 交换路由和链路信息来维护路由表。 路由器的结构可以分为控制平面和数据平面 2 0 1 2 5 1 ,如图2 1 所示。 路由嚣 童- 耀平而 处 i 转发表 f 转 外理发外 部部 网 网 络 络 3 i 路由协议 l 控制平面 l 路由表 图2 1 路由器基本结构 控制平面上运行如o s p f 、b g p 等路由协议,通过路由协议来对网络拓扑结 构信息进行交换和完成路由计算,并对路由表进行动态管理。数据平面上实现数 据处理和转发功能【2 5 1 。 早期的路由器由通用c p u 和多个共享总线的线卡组成 2 3 1 。通用c p u 负责路 由计算和数据分组以及转发,这样虽然具有很高的灵活性,但是受通用c p u 速度 限制,数据转发效率低,而且路由器吞吐率也很低。随着网络带宽的不断增长, 基于通用c p u 的路由器越来越不满足实际的要求【2 4 1 1 2 7 1 。 基于高速、专用的a s i c 的路由器的出现,解决了路由转发效率低下的问题, 提高了网络数据的处理速度,适应网络带宽不断增长的发展趋势。但是,基于a s i c 第二章基于多核包处理器的网络结构和数据传输概述 9 的路由器开发周期长,市场生命力短,灵活性差1 2 引。 而多核包处理器专门针对网络环境而设计,同时满足灵活性和高效率的要求。 采用多核包处理器的路由器提供个友好的可编程控制环境,不但能支持多种网 络协议,实现对三层及三层以上协议的分析,而且能根据用户的需要对多种业务 进行管理,具有很高的灵活性【1 1 1 。同时,针对网络数据的优化而设计的包处理器 能够高效率的对数据包进行线速转发,包括数据包的分类、统计和转发。还可以 根据用户程序的要求进行数据包的重组和分拆,提高了执行效率和路由的数据吞 吐率【2 9 】。另外还可以根据用户需要进行带宽的分配和优先级定义【3 0 】,实现对各类 用户数据包的分类管理,适应了未来高带宽化服务的趋势。 在采用多核包处理器的路由器中,多核包处理器之中的通用协处理器负责操 作系统的运行,以及路由协议的执行、路由包的接收、路由表生成和维护等操作。 多核包处理器之中的专用数据包处理器负责数据的高速分组,根据调度算法进行 数据分组的传输,对数据流进行处理,路由表查找等【1 2 】。 采用多核包处理器的路由器结构如图2 2 所示,每个线卡由一个多核包处理 器和链路层m a c 芯片构成。线卡中的多核包处理器运行网络协议,对数据进行 路由和转发。交换结构连接各个线卡,构成大规模的路由系统。 图2 2 采用多核包处理器的路由器结构 2 2 基于多核包处理器的网络数据传输 本文所论述的多核包处理器的网络数据传输指的是多核包处理器与外部链路 层的网络设备( 如a t m 、i p 、m a c 、以太网等类似的数据通信设备) 的数据通 信。 网络数据的传输可分为数据流传输和数据控制流的传输,在本课题中的网络 数据交互分别由多核包处理器的数据总线和数据控制总线执行。多核包处理器通 过一定的数据传输机制,由数据控制总线对数据流的通信进行控制。而数据总线 1 0 多核包处理器数据控制总线技术研究 形成多核包处理器与链路层器件之间的数据交互通道,将要传输的数据帧分成数 据包。多核包处理器通过数据总线,实现与外部网络的数据分组接收或者发送。 2 2 1 数据传输和数据传输控制的结构 本课题中多核包处理器与外部链路层器件的数据传输和数据传输控制的结构 如图2 3 所示: o n j a l 瑚n tl 了 数据传输及数据传输控制结构 发送数据控制状态接收数据 缓冲区寄存器缓冲区 j l 接收发送 数据发送状态机数据接收状态机 仲裁器 1r f 数据总线 i i 数据控制总线 i ? 外部链路层器件 图2 3 数据传输和数据传输控制的结构 数据传输和数据传输控制的结构接收各个包处理器及其它们的线程的请求, 并执行。所有的数据传输和数据传输控制都是由包处理器来实现控制。 发送数据缓冲区,接收数据缓冲区g 由双口r a m 组成的异步f i f o 。f i f o 是以四字为单位的存储阵列。每个f i f o 单元由1 0 个四字共8 0 个字节组成。f i f o 的读写始终以四字为单位。接收缓冲区和发送缓冲区都有1 6 个单元装载有效数 据,但是功能划分不同。发送数据缓冲区和接收数据缓冲区分别用于存储发送或 者接收的分组数据。 数据发送状态机,数据接收状态机:执行数据总线上数据的写读操作。采用 状态机的形式,数据发送状态机负责将发送数据缓冲区中的数据放到数据总线上, 发送到外部链路层器件;数据接收状态机负责将数据总线读取到的外部链路层数 据器件的数据存放到接收数据缓冲区。 接收发送仲裁器:负责在数据发送状态机和数据接收状态机之间切换对数据 总线的控制权。 数据总线:用于多核包处理器与外部链路层器件交换数据。 第二章基于多核包处理器的网络结构和数据传输概述 1 1 数据控制总线:用于对数据总线进行控制,控制数据总线进行数据包的通信。 2 2 2 数据传输和数据传输控制的机制 数据总线以微包为单位传输数据,微包是6 4 b 固定大小的传输单位,外部链 路层器件的数据帧被分成若干个微包进行接收和发送【3 l 】【3 2 】,如图2 4 所示: 包尾 中间微包包头( p s ) ( p e ) 外部链路层器件 图2 4 数据帧形成数据微包过程 数据总线处理传输的数据帧中的第一个数据微包的时候,设置包起始标志, 即包头p s ( p a c k e ts t a r t ) ;处理最后一个数据微包时,设置包结束标志,即包尾 p e ( p a c k e te n d ) 。数据帧中的其他数据微包可以看做中间微包。当数据帧小于6 4 b 的时候,数据总线将数据帧填充到6 4 b ,将其表示成一个数据微包,并可以既设 置包起始标志p s 又设置包结束标志p e 。这些包起始标志p s 和包结束标志p e 都 存放在状态控制寄存器中。 数据控制总线与数据总线分离,在上电启动后接收多核包处理器给它的配置 指令,自动循环执行。数据控制总线与外部链路层器件通信如图2 5 所示: 数据控制总线 控制状态寄存器数据总线 + i l 硝口格腑j i 褛1 门 7 l 状态标志 发接 发送l 数数 状态标志 缓发送 缓接收 数据数据 缓冲缓冲 外部链路层器件 tt i 图2 5 数据控制总线与外部链路层器件通信结构 数据控制总线定时轮询外部链路层器件( 如以太网m a c 设备i x f 4 4 0 等) , 接收外部链路层器件的发送数据状态标志和接收数据状态标志,检测外部链路层 器件中的存储空间或者数据量是否达到某个阈值,能否进行数据接收或者发送, 如图2 5 所示。数据控制总线接收这些状态标志,并将其存放到控制状态寄存器 中。此外,数据控制总线向外部链路层器件发出流量控制的命令。 1 2 多核包处理器数据控制总线技术研究 多核包处理器与外部链路层器件进行数据通信时,数据控制总线根据多核包 处理器的配置指令,轮询并接收指令指定的外部链路层器件,将收到的状态标志 存放到相应的控制状态寄存器中。多核包处理器通过自动入队或者轮询的方式, 读取存放到控制状态寄存器中的发送或者接收状态标志,并通过对这些标志进行 检测和判断,通知数据总线做相应的发送或者接收处理。 当多核包处理器向外部链路层器件发送数据时,如图2 6 所示。多核包处理 器对数据控制总线接收的发送状态标志估算之后,首先确定多核包处理器哪一个 输出队列具有需要发送的数据包,外部链路层器件哪个端口可以接收发送的数据, 数据总线传输结构中哪个发送数据缓冲区元素可以使用,以及决定使用包处理中 哪一个发送线程进行数据包的发送操作。包处理器通过一定的通信机制向决定的 线程发出数据发送请求,完成线程调度。被调度的线程将要发送的数据存入发送 数据缓冲区中,通知发送状态机向接收发送仲裁器发出请求,经过仲裁后获得数 据总线控制权,将数据以数据包的形式发送给外部链路层器件。 图2 6 多核包处理器数据发送流程图 当多核包处理器接收外部链路层器件发送的数据时,如图2 7 所示。多核包 处理器读取数据控制总线获取到的外部链路层器件的接收状态标志,估算之后确 定哪个外部端口有数据供应。同时包处理器首先发出请求,通过一定的机制,调 度相应的线程,通知数据接收状态机向接收发送仲裁器发出请求,获得数据总线 的控制权,进行数据的接收。数据存放到数据接收缓冲区之后,数据接收状态机 第二章基于多核包处理器的网络结构和数据传输概述 1 3 向包处理器线程发出请求,由包处理器将数据接收缓冲区中的数据放入包处理器 内部的传输寄存器中,或者放入s d r a m 中进行分组头处理、路由表查找等。 图2 7 多核包处理器数据接收流程图 2 3 多核包处理器数据控制总线的设计目标 本文所设计的多核包处理器的数据控制总线,其主要功能是用来控制网络中 多核包处理器和外部链路层器件的数据通信以及流量控制。 本课题要求该数据控制总线支持不同的工作模式,能够在不同的工作模式下 控制数据总线与外部链路层器件进行数据通信。在该数据控制总线的控制之下, 数据总线提供的数据带宽和吞吐率能够满足实际项目的需求。此外,该数据控制 总线还能够支持多种外部链路层器件,如多种m a c 设备。 根据本课题的实际需要,本文所设计的数据控制总线必须满足以下设计目标: 功能:完成对外部链路层设备接收发送状态标志的采集,完成将采集到的接 收发送状态标志自动入队操作,完成对外部链路层设备的流量控制。 工作模式:能够支持数据总线以3 2 b i t 全双工和6 4 b i t 半双工两种模式进行数 据通信。在6 4 b i t 半双工总线模式中,数据总线位宽6 4 b i t ,在数据总线上既可以 用于发送又可以用于接收数据。在3 2 b i t 全双工总线模式中,数据总线分为两个 3 2 b i t 数据总线。一个3 2 b i t 用于发送数据,另一个3 2 b i t 用于接收数据。 1 4 多核包处理器数据控制总线技术研究 外部m a c 设备模式:支持1 - 2 m a c 模式与3 + m a c 模式。1 - 2 m a c 模式下, 数据控制总线控制外部最多2 个m a c 设备。3 + m a c 模式下,若工作模式为3 2 b i t , 则数据控制总线控制外部最多4 个m a c 设备;若工作模式为6 4 b i t ,则数据控制 总线控制外部最多7 个m a c 设备。 工作频率:1 0 4 m h z 。 2 4 本章小结 本章概述了基于t c p i p 协议的网络分层结构和以多核包处理器为核心的网 络路由结构。以多核包处理器为核心的路由器工作在t c p i p 协议的第三层,即网 络层,通过分组和转发数据来实现网络系统的互连。 在此基础之上,本章分析了多核包处理器与外部链路层的数据传输结构,详 述了数据传输和数据传输控制的机制以及流程。通过数据传输机制和传输流程的 研究,阐述了数据控制总线、数据总线以及多核包处理器在数据通信流程中的关 系。针对本课题的实际需求,本章给出了多核处理器数据控制总线的基本功能、 所支持的工作模式、外部m a c 设备模式以及工作频率,作为整个数据控制总线 的设计目标。 第三章数据控制总线的设计和实现 第三章数据控制总线的设计和实现 通过充分研究多核包处理器与外部链路层器件的数据传输和数据传输控制的 机制,根据上一章所提出的设计目标,本章阐述了多核包处理器数据控制总线的 设计思想,并对数据控制总线进行了总体的模块规划和说明。在此基础之上,根 据各个模块的功能划分,对各个模块进行了详细的设计。 3 1 数据控制总线的总体设计 3 1 1 数据控制总线总体设计思想 数据控制总线的工作过程为:在系统上电启动后,数据控制总线接受多核包 处理器对它的初始化,主要配置它的工作模式和工作任务。配置完成之后,无需 多核包处理器进行干涉,独立完成相应的工作任务,并且将结果返回给多核包处 理器。 通过研究多核包处理器系统与外部m a c 设备的数据传输机制,可以知道数 据控制总线的工作任务为: 1 、采集外部m a c 设备的数据接收发送状态标志,向多核包处理器发出自 动入队通知,通知多核包处理器采用自动入队的方式读取采集到的状态标志,以 便进行接收或者发送线程的调度。 2 、向外部m a c 设备发出流控的命令,采用反压机制控制网络上到来的数据, 对m a c 设备做流量控制。 根据数据控制总线的设计目标,可知如图3 1 所示: 图3 1 数据控制总线工作模式状态图 数据控制总线有四种工作模式:半双工6 4 b i t1 - 2 m a c 模式,半双工6 4 b i t 3 + m a c 模式,全双工3 2 b i t1 - 2 m a c 模式和全双工3 2 b i t3 + m a c 模式。多核包 处理器可以配置数据控制总线在这四种工作模式之间运行并切换。 1 6 多核包处理器数据控制总线技术研究 3 1 2 数据控制总线总体结构设计 根据以上的设计思想,将数据控制总线的总体结构设计为图3 2 所示: 数据控制总线结构 配置寄存嚣模块 状态标志寄存器模块 + 总线控制嚣模块 + 外部m a c 设备 图3 2 数据控制总线总体结构 以下为各模块功能描述: 配置寄存器模块:存放数据控制总线工作模式和工作任务的配置信息。多核 包处理器对配置寄存器模块有写权限,总线控制器模块对配置寄存器模块有读权 限。 状态标志寄存器模块:存放数据控制总线采集到的外部m a c 设备的接收发 送状态标志。多核包处理器对配置寄存器模块有读权限,总线控制器模块对状态 标志寄存器模块有写权限。 总线控制器模块:数据控制总线的核心模块。负责读取配置寄存器中的配置 信息,在配置的工作模式下,采集指定的外部m a c 设备的接收发送状态标志, 将其写入状态标志寄存器中。 3 2 功能寄存器设计 3 2 1 配置寄存器模块的设计 根据数据控制总线的总体设计思想,将配置寄存器模块划分为以下几个寄存 器,见表3 1 所示: 表3 1 配置寄存器划分说明 比特包处理器总线控制 寄存器名称功能 数权限器权限 d a t a c t l b u s c t l 工作模式配置寄存器 3 2 写读 d a t a c t l b u s p r o g l 工作任务指令寄存器1 3 2 写读 d a t a c t lb u s _ p r o g 2 工作任务指令寄存器23 2写读 d a t a c t l b u 叶r o g 3 工作任务指令寄存器33 2写读 d a t a c t lb u s _ t i m e r 工作任务定时寄存器 3 2写 读 f l o w c t l 流控使能寄存器 1 读写读写 第三章数据控制总线的设计和实现 1 7 f l o w m a s kl 流控数据寄存器 i 3 2 i 写 l 读 i l 、d a t a c t lb u sc t l 寄存器 设计思想及功能:存放多核包处理器写入的工作模式配置信息,用来控制和 切换数据控制总线的工作模式。系统复位时,寄存器内容清零。 寄存器内容设计说明见表3 2 : 表3 2 d a t a c t l _ b u s _ c t l 寄存器 位3 l :1 21 11 098 :0 n a m e r e s e r v e de n删b m r e s e r v e d e n :使能总线控制器模块。系统复位时,e n 为低电平。e n = 1 b 1 时,启动 总线控制器模块。 m m :控制外部m a c 设备数量。系统复位时,m m 为低电平。m m = 1 b 0 时, 数据总线处于3 + m a c 模式;m m = 1 b 1 时,数据总线处于1 - 2 m a c 模式。 b m :配置数据总线的工作模式。系统复位时,b m 为低电平。b m = 1 b 0 时, 数据总线处于3 2 b i t 全双工模式;b m = 1 b l 时,数据总线处于6 4 b i t 半双工模式。 2 、d a t a c t lb u sp r o g x 寄存器 设计思想:存放多核包处理器写入的工作任务配置信息。 根据本课题的实际要求,数据控制总线可控制外部最多7 个m a c 设备,可 以将数据控制总线的工作任务配置信息设计成针对外部每个m a c 设备的读写指 令 。d a t a c t l b u s p r o g l、d a t a c t l b u s p r o g 2 和 d a t a c t lb u sp r o g 3 分别存放这些指令。其中,每条指令占据8 b i t 的位宽, 每个寄存器存放4 条指令,三个寄存器共存放1 2 条指令。系统复位时,寄存器内 容置零。 数据控制总线使能后,总线控制器模块依次将三个寄存中存放的1 2 条指令从 p r 0 9 0 到p r o g li 读入,对指令进行译码和执行相应的操作。 d a t a c t l b u s p r o g x 寄存器设计说明,见表3 3 、表3 4 、表3 5 : 表3 3d a t a c t lb u sp r o g l 寄存器 位 3 1 :2 42 3 :1 61 5 :8 7 :0 n a m e p r 0 9 3p r 0 9 2p r o g lp r 0 9 0 表3 4d a t a c t l _ b u s _ p r o g 2 寄存器 位3 l :2 42 3 :1 6 1 5 :87 :0 n a m e p r 0 9 7p r 0 9 6 p r 0 9 5p r 0 9 4 表3 5 d a t a c t l _ b u s _ p r o g 3 寄存器 位3 1 :2 42 3 :1 61 5 :8 7 :0 n a m e p r o g l lp r o g l 0p r 0 9 9p r 0 9 8 1 8 多核包处理器数据控制总线技术研究 根据以上设计思想,将工作任务配置信息设计成w a i t ( 等待) 、( 采集接收 状态标志) 、t x ( 采集发送状态标志) 、r x a u t o i n ( 接收状态标志自动入队) 、t x a u t o i n ( 发送状态标志自动入队) 和f l o w ( 流控) 控制指令,指令功能说明如表3 6 所 示: 表3 6 数据控制总线指令功能说明 指令功能 w a i t 数据控制总线处于等待状态,对外部m a c 设备不执行任何操作 数据控制总线采集指定的外部m a c 设备的接收状态标志,并将该状态标 志存入状态标志寄存器中 数据控制总线采集指定的外部m a c 设备的发送状态标志,并将该状态标 t x 志存入状态标志寄存器中 r x a u t o i n 通知多核包处理器读取状态标志寄存器中存放的接收状态标志 t x a u t o i n 通知多核包处理器读取状态标志寄存器中存放的发送状态标志 f l o w 输出流控数据,对外部m a c 设备进行流控操作 根据本课题的实际要求,多核包处理器最多与7 个外部m a c 设备进行通信, 因此r x 指令和仅指令可以细化为7 条针对每个m a c 设备的指令。此外,根据课 题的实际需要,每条指令的执行周期为3 个周期。指令的明细如表3 7 所示: 表3 7 数据控制总线指令详细说明 指令操作码指令执行周期 w a i t 1 f3 r x m a c0f b3 d 【m a c 俨

温馨提示

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

评论

0/150

提交评论