ISSN在线(2278 - 8875)打印(2320 - 3765)
Sajad Ahmad Ganiee1,Shabeer Ahmad Ganiee2和贾汗季拉希德Dar3
|
相关文章Pubmed,谷歌学者 |
访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程
Network-on-Chip (NoC)是支配现在天。NoC为特征的拓扑结构、路由和流量控制。工作提出了Verilog实现中,建模和合成的8位4×4纵横开关虚拟路由器频道。横梁组件广泛应用于路由器和交换机。纵横开关可作为一种交换结构提供一个非阻塞的网络配置。主要是横梁在NoC作为互连网络。纵横开关是一个完全连接的网络,每个输入连接到每个输出。纵横开关的信息包交换设计的兴趣。在虚拟路由器频道最小轻快的大小是8位。我们还设计了仲裁模块称为DPA细胞和8位结构模块横梁。 As flit size is 8- bit for virtual channel router we have implemented 8- bit 4 × 4 switch. In this paper rotating round robin arbitration algorithm with the help of DPA had been also implemented Hence our proposed arbiter is suitable for NoC design which needs high speed cross bar switches and router in them.The design is synthesized on Vertex 7 and maximum operating system achieved 1.1 GHz. Using parallel bit data transfer we have archived faster data transmission rates. Critical path delay of 8-bit 4x4 crossbar switch is 4.996ns.
关键字 |
网络芯片(NoC),系统芯片(SoC),调度器、路由和横梁。 |
介绍 |
多处理器系统芯片(SoC)的设计有多个处理器和同样巨大的内存芯片。系统芯片(SoC)由硬件核心和软件核心,多个处理器、嵌入式DRAM和连接器之间的核心。系统芯片(SoC)技术是包装的所有必要的电子电路和部分“系统”(如手机、数码相机和笔记本电脑)在一个集成电路,通常被称为一个微芯片。晶体管的集成在一个芯片上极大地提高系统的性能,效率,同时减少尺寸。根据摩尔定律,集成密度每两年增加一倍,这样集成系统的复杂性增加了芯片面积使用常数[1]。Network-on-chips (NoC)对架构的优点,比传统的总线的system-onchip性能、可重用性和可伸缩性。可伸缩的解决方案和高效连接片上组件是一个分组交换网络上芯片(2、3、4)。NoC由高速路由器的每个节点,连接到邻国的链接。体系结构和数据流控制会显著影响NOC的仲裁者的设计。目前很多多核系统很小(2 - 8核),因此,一个简单的常见总线就可以连接各种组件。 However, chips with hundreds or thousands of cores are likely to be common place [5, 6] Connecting so many cores with a bus is not scalable because electrical loading on the bus significantly reduces its operational speed and the shared bus cannot support the bandwidth demand. Also, the increased bandwidth is not worth as much as it seems because messages which circulate for more than one hop on the ring tie up bus resources as they travel. A higher performance and more general approach to processor interconnection method is the switching network. This is a core fabric for communication. A switching network can be thought of as a box, with a set of input and output ports, which provide the service of passing data from any input to any output. Computer networks utilize routers to receive, forward, and deliver packets. To achieve high performance, a router that provides high bandwidth and low latency is required. A router can be considered as a collection of network interfaces, a connection fabric connecting those interfaces, and logic that determines how to route packets among those interfaces [7]. A crossbar switch may serve as switching fabric to provide a non blocking network configuration [8]. Crossbars are one of the key components in most communication switches used in today’s networks. In general, switch networks are composed of four parts: switching engine, switch fabric, queuing discipline and forwarding technology [9]. The switching engine is responsible for identifying the destination for the input packets. The switch fabric forwards the packets to the output ports with different scheduling methods and forwarding techniques. The arbitration plays a crucial role in determining performance of bus-based system, as it assigns priorities, with which processor is granted the access to the shared communication resources. The arbitration should guaranteed the fairness in scheduling, avoid starvation, and provide high throughput [10]. The NoC's switches should provide high speed and cost-effective contention resolution scheme when multiple packets from different input ports compete for the same output port. A fast arbiter is one of the most dominant factors for high performance NoC switches [11].In the conventional arbitration algorithms there are some drawbacks such as bus starvation problem and low system performance. The bus should provide each component a flexible and utmost share of on-chip communication bandwidth and should improve the latency in access of the shared bus. The performance of SoC is improved using the probabilistic round robin algorithm with regard to the parameters. |
横梁结构模块 |
![]() |
横梁结构负责物理上连接一个输入端口目的地输出端口根据批准颁发的调度器。横梁的设计结构如图1所示。换句话说crossbar-based织物开关是占主导地位的架构对于今天的高性能包交换机[12][13]。crossbar-based包的织物开关可以是无缓冲的[12]或内部缓冲[13]。这两个变量之间的相似性在于成本的二次增长与交换机端口的数量。此外,架构都需要一个复杂的输入排队结构,称为虚拟输出队列(VOQ)来实现可接受的性能[14]。无缓冲的横梁面料比缓冲同行便宜,因为他们不包含内部缓冲区。然而,他们很难规模由于高昂计算复杂性和集中的调度[14]。 |
第一个请求来自输入端口的横梁调度器的开关输出端口目的地。调度器拨款请求基于优先级算法不能保证公平服务的所有输入端口。一旦发行一笔赠款,横梁结构配置为允许输入端口映射到输出端口目的地。横梁结构模块的设计负责身体注定输出端口连接一个输入端口,根据调度程序发行的赠款。织物的输入(cntrl输入除外)连接到输入端口模块的开关。织物的输出连接到输出端口的交换机。织物使适当的对应每个输入和输出之间的联系。织物能)由控制行四(4)控制每个输入行与图1中显示为xxxx。如果其中一个控制行0、4、8、12高一次输入数据的四(4)输入端口将出现在输出端口1。同样如果其中一个控制线路1、5、9、13很高然后输入数据的四(4)将出现在输入输出端口2 8位数据做的话我们可以发送所有四个港口一次通过各自的控制线路高意味着如果我们使控制0行,5、9、13个高数据可以准确地转移到输出端口1,2,3,4。在4×4横梁结构很明显我们将数据发送到任何输出端口保持所需的控制线路高但我们面临一个问题没有适当的仲裁请求。如果两个输入端口发送数据到同一个输出端口。 As a result we cannot send data because of interfering (Blocking) between two ports requesting for same output port. This problem is solved by using an arbitration technique called round robin arbitration discussed in V. |
纵横开关模型 |
纵横开关(也称为交叉点开关或矩阵开关)是一个开关矩阵的方式将多个输入连接到多个输出。最初这个词被用于一个矩阵开关控制网格的穿越金属酒吧,后来扩大到矩阵开关。水平和垂直的线的交点称为相交点。在每个交叉点开关,关闭连接的“M”输入一个“N”输出。横杆的集合可用于实现多层或阻止开关。纵横交换系统也被称为坐标交换系统。纵横开关的一个简单的模型如图2所示。每个水平总线是连接到一个输入端口,每个垂直总线是连接到一个输出端口.Crossbar开关完全连接交换机。因此,在纵横开关,有直接从每一个输入输出路径。闩提供每个输入和输出端口之间的直接连接。 |
![]() |
横梁的速度取决于输入队列或输出队列。在输入队列的情况下,输入和输出端口控制器的优势仅仅使用链接的速度。如果利用输出队列,开关结构必须足够快不导致争用输出端口。 |
完成4 x 4纵横开关的结构 |
4 x 4纵横开关是一个四输入四个输出消息路由器路由消息进入在一个输入端口输出端口由消息头。4 x 4纵横开关采用虚拟直通路由技术[15]。如果输出端口不是已经被另一个消息,传入的先进到这个负责人尽快输出端口的消息接收和解码。消息然后推进通过建立链接到链接是闭尾的消息。如果所选的输出端口是被另一个消息4 x 4纵横开关会自动重新路由消息在繁忙的输出端口。这种自动路由在一个繁忙的港口被称为随机路由”[16]。如果随机路由未能找到一个空置的输出端口,传入消息阻塞并存储到内存缓冲区的输入端口。4 x 4横梁开关还支持广播路由。如果传入消息的解码是一个广播消息,将消息路由到多个输出端口。在4 * 4纵横开关总互连实现输入和输出。 As a result each input can be directly connected to all outputs. All these connections are independent of each other and therefore can function simultaneously without interfering each other. The 4 x 4 8 bit crossbar switch has four independent data ports and is therefore capable of performing four simultaneous communications. The 4 x 4 crossbar switch has four first-in first-out (FIFO) memory buffers, four control units. a crossbar, an arbiter and 8 bit input data. The control units and the arbiter are driven by a single central clock signal. The main reason for the 4 x 4 crossbar switch having only one FIFO buffer per input port is that this buffering scheme allows for a high speed design. If multiple buffers are used for each of the input ports. Each output port is required to connect to multiple loads. The impedance of the connection may becorne unstable. This leads to the degradation of the data transfer rate because the data transfer is encumbered by the need to cater for different numbers of connections and variable loads. Each FIFO has its own clock signals to clock data into and out of the memory buffer. The crossbar is pure combinational logic thus it is not driven by any clock signal. The main function of the four FIFO's is to provide data buffering for the 4x4 crossbar switch. If an incoming message is blocked due to the selected output port being already occupied, the incoming message is stored in the FIFO until the selected output port is free. Each FIFO is controlled by separate clocked read and write signals. Therefore, each FIFO is able to store more than two short messages. The 8 bit input data sends request to the scheduler and grant is received if the requested is empty accordingly data is send to the requested port. As soon as the first message is sent off the switch, the second message is ready to make a connection to a output port immediately. The reason for doing this is to keep the output ports as busy as possible. The complete structure of 4x 4 is shown below in Figure 3 |
![]() |
仲裁 |
仲裁之间设置连接横梁开关的入口和出口端口数据交换系统。重量参数是用于每一对入口和出口港口。连接请求生成指示进入端口连接到输出端口。冲突中选择连接请求生产建议每个出口端口的连接。任何连接请求的各自权重参数为零并不是选择。实现的一个连接请求时,重量参数对应于这个连接是下降了。所有重量参数对于一个给定的出口港口是重置为默认值没有连接请求的情况下,出口端口与非零权重。因为不同类型的仲裁中存在切换机制,但在本文中一个典型的仲裁称为轮循的技术仲裁技术讨论 |
答:设计的轮循仲裁 |
具有相同优先级的数据包和运往同一个输出端口将循环仲裁者。假设在给定的时间内,有很多请求相同的输出或输入港口资源,仲裁者负责处理许多不同的请求之间的优先级输入[17]。仲裁者将发布的输出端口连接到横梁最后包完成传输。等待,这样其他包可以使用输出的仲裁的仲裁者。循环仲裁者运作的原则,请求只是服务应该对下一轮的最低优先级仲裁。根据控制逻辑仲裁者生成基于选择线路多路复用器的横梁和读写信号FIFO缓冲区。换句话说在循环赛仲裁,仲裁程序扫描所有的渠道和第一个准备发送时,说“我”频道,选择发送一个flit。下一个周期扫描过程始于通道(i + 1)。这种方法显然并不公平,会发生饥荒。循环赛仲裁者授予访问任何总线rotatary基础上像一个旋转开关如图4所示。活动1是请求总线访问仲裁者授予访问权限。 After this request is over the arbiter is turned to Active 2 and grants access to it and accordingly the arbiter grants access in a clockwise fashion. |
![]() |
然而,IP路由器延迟趋向于均匀增加掠过。减轻这种负面效应我们可以做以下修改:扫描过程将进入下一个通道只有当前通道刚刚发出的尾巴掠过。换句话说,仲裁者将喜欢虫子,目前流出的路由器。当这个蠕虫完全枯竭了,简单的循环使用政策。循环赛匹配(RRM)克服了随机匹配的不公平给予请求和接受赠款根据轮询调度优先配屋计划(18、19)。这个算法有三个步骤如图15所示[20] |
)请求中的一步,每个输入发送一个请求到调度器知道是否输出端口是免费的。 |
b)在格兰特步骤中,一个输出,收到任何请求授予之后出现的一个请求在一个固定的轮循调度从最高优先级元素。优先轮循的输出是输入然后增加超出了一步授予; |
c)在接受步骤中,输入已收到拨款接受之后出现的格兰特在固定轮循调度从最高优先级元素。轮询调度优先级的输入然后增加一步超出公认的输出。 |
现在在8位的结果4×4横梁结构很明显我们将数据发送到任何输出端口保持所需的控制线路高但是我们正面临着一个问题,如果两个输入端口请求发送数据到同一个输出端口。因此我们不能传输数据,因为两个端口请求相同的输出端口之间的冲突。这个问题是通过轮询调度仲裁解决。在这个技术的最后两位8位数据被用来决定目的地端口地址。四个控制线路与每个输入端口。例如图3中如果最后两位四个输入8位数据是00,01,10,11,那么我们可以发送数据到输出端口1、2、3、4分别通过保持控制线路1、5、10、15高如表1所示。如果最后两位8位数据是相同的,我们只能发送一个输入数据在第一时钟和第二输入相同的最后两位在第二时钟和他们的优先级是由对角优先仲裁者决定在下一节中讨论。 |
![]() |
横梁调度器 |
横梁调度器接受一个请求从每个输入端口和赠款的请求,每个包期间根据优先级算法。它的主要目标是公平的所有输入意味着包中包拥有同一仲裁位是理所当然。有很多方法实现横梁的调度程序: |
脉动进位仲裁者(RCA)。 |
b)直线传播仲裁者(战) |
c)斜传播仲裁者(DPA) |
在RCA有一些缺点,则延迟是非常大的和优先级旋转也不可能,所以我们继续分区。 |
)对角优先仲裁者(DPA) |
在这个纵横开关延迟是我们实现DPA仲裁者和优先级旋转也更少。DPA的设计是有一些细胞二维传播相互独立的仲裁者,在某种意义上,授予其中一个并不妨碍授予他人。[21]。 |
![]() |
细胞是相互独立的斜行。在上面的图细胞(1,1),细胞(4,2),细胞(3,3)和细胞(2、4)对角连接因此这些细胞是独立的,所以是这样的(2,1),(1、2),(4,3)和(3,4)对角细胞。DPA的仲裁程序架构首先考虑第一个对角线。如果有要求每一个细胞都在第一图5的对角线,他们都可以。然后,在下一个时间段,仲裁程序移动到第二个对角线。请求第二对角的细胞只会收到资助如果没有细胞顶部或左侧的他们还没有收到拨款。脉动进位设计给优先级高的细胞和离开。同样,DPA架构中的最高优先级总是给细胞在第一对角。但它会旋转优先通过添加面具活动窗口[21]。 |
为了旋转优先同时伤害等发现体系结构来克服这个问题。在这种情况下,第一次的n×n (n - 1)对角线DPA后最后一行是重复的考虑图5。第一列的X信号和W第一对角设置为逻辑的信号。在每次n2细胞活跃的粗体显示窗口显示在图5。细胞在第一对角活动窗口的最高优先级。阴影细胞是细胞获得助学金和细胞与大胆的广场接收请求。活动窗口移动一站在每一个时间段来旋转优先级。任何细胞内活动窗口后会优先把当活动窗口通过n细胞旋转。实现优先级旋转矢量P介绍[21]。(2 n - 1)的元素矢量P命名公关。 |
优先级旋转的算法: |
•P =“111111110000000”。 |
•如果P = " 000000011111111 " |
•集P =“111111110000000” |
•其他 |
•P一个位置向右旋转。(这一步是像移动窗口一下台。) |
•在每一个时间段只n2细胞活跃。 |
所以,通过这三个仲裁者,我们来到知道DPA三位仲裁者是最好的设计,我们设计是相同的仲裁者和比较我的结果在表3中给出的结果。 |
![]() |
仿真结果 |
1)两个端口请求相同的输出端口 |
仿真结果的4×4纵横开关有四个8位输入与前两个输入拥有相同的最后两位,另两个输入有不同的前两位。这意味着第一两个输入相同的最后两位“00”请求发送数据到同一个输出端口1。其中两个输入我们发送的数据只有一个港口在第一时钟和第二输入在第二时钟与他们的优先级由对角优先级决定仲裁者(DPA),各自控制行高。第三和第四输入不同的最后两位01和10发送数据到输出端口第一和第三因为这些单独的端口请求同时控制8和14行必须高如表3所示,仿真结果如图6所示 |
![]() |
![]() |
2)所有端口相同端口的请求 |
这个结果在所有四个输入有相同的最后两位,要求输出端口4。我们可以发送数据到输出端口4四个时钟周期分别提供了控制线路3、7、11和15必须高如表4所示,在图7的仿真结果 |
![]() |
![]() |
分析 |
纵横开关已经合成顶点7使用Xilinx FPGA板。我们目前的分析设计实现和4×4纵横开关速度。讨论说明了一个事实,一个4×4的帮助下纵横开关对角优先仲裁者(DPA)我们正在传输数据速率更快。详细的时间总结如表5所示 |
![]() |
![]() |
现在我们将比较几个参数电力和关键路径延迟分析8位4×4纵横开关与先前的纵横开关。 |
![]() |
的图形化表示延迟图8所示。轴读取延迟在纳秒和轴代表纵横开关的类型 |
![]() |
结论 |
这个项目实现了HDL建模和合成的8位,4 x 4纵横开关。我们还设计了仲裁模块称为DPA细胞和8位结构模块横梁。轻快的大小是8位虚拟路由器频道我们实现了8位4 x4纵横开关。在这个我们也实现了旋转轮循仲裁算法,德通社的帮助。轮循仲裁方案保证公平对待所有输入请求。设计合成了顶点7系列。使用并行数据传输我们有存档更快的数据传输速率。关键路径延迟是8位4 x4纵横开关是0.876 ns(最大频率:1142.074 mhz)。 |
引用 |
|