from 

2015-EDCAV-Problems encountered in various arbitration techniques used in NOC router-A survey

2001-Engineering Issues, Arbiters and Allocators

book_Principles and Practices of Interconnection Networks

basic terminology

Congestion:- Many input ports are requesting for the same output port.

Starvation: - A type of unfairness in which all the input ports don’t have an equal chance of accessing the output port.

Deadlock: - Output port can’t be accessed by an input port because it is waiting on other input port to release the resources.

Livelock: - Packets from the input port are moving but they can’t reach the desired output port.

Head of Line Blocking:- It occurs in the case that two input ports request for the same output port but it is already being occupied by one of the input port, so another input port and the coming input port requests can’t advance to the desired output port thus, degrading the network performance.

Arbitration Timing

The duration of the grant depends on the application. In some applications, the requester may need uninterrupted access to the resource for a number of cycles.

In other applications, it may be safe to rearbitrate every cycle.

To suit these different applications, we may build arbiters that issue a grant for a single cycle, for a fixed number of cycles, or until the resource is released.

Design goal

The arbitration should guarantee the fairness in scheduling, avoid starvation, and provide high throughput

Fixed Priority Arbiter(固定优先级)

The simplest form of arbiters which has a predetermined priority order grants access to a shared resource based on which it grants access to a shared resource.

Its implementation involves a linear array of basic bit cells resulting in the generation of the grant Gi if both the input request Ri and incoming priority signal Ci are asserted.

The carry input Ci indicates that the resource has not been granted to a higher priority request and, hence, is available for this bit cell.

disadvantages:

  • Critical path delay grant is linearly proportional to the number of inputs.
  • The problem of starvation is very severe as only one input port is provided with a highest priority while all other with a low priority to access the output port i.e. an unfair arbitration technique.

Round-robin Arbiter(轮转法)

Round robin arbiter provides a high degree of fairness among the agents by treating each input port fairly and guaranteeing fairness in scheduling.

Thus, each input port is provided with an equal chance to access the output port and the starvation problem can be solved

A round-robin arbiter operates on the principle that a request that was just served should have the lowest priority on the next round of arbitration.

The round robin arbitration, in its basic form, is a simple time slice scheduling, allowing each requestor an equal share of the time in accessing a memory or a limited processing resource in a circular order.

An extension to RRA is the weighted version of RRA. Here if we want to process Inputs 1’s packets twice as often as Input 2’s packets we do it in one of two ways.

  • We place two request of Input 1 in the Request Stack.
  • Another way is to have a counter for each input. The counter represents the number of requests the input should be granted over a given period of time.

The problems we have found are -
1) The high degree of fairness of the round robin arbiter may degrade the efficiency for some input ports.
2) Round Robin Arbiter is a little bit time-consuming operation and is mostly contributed by the Input Selector to grant the requests, which also determines critical path delay.

Matrix Arbiter(最久未被使用优先)

A matrix arbiter implements a least recently served priority scheme by maintaining a triangular array of state bits wij for all i < j.

The bit W_ij in row i and column j indicates that request i takes priority over request j .

A 1 at the ath row and the bth column means requestor a beats requestor b in acquiring the resource.

This information is maintained in a matrix form where each row corresponds to an input and each column corresponds to an output.

after Input 1 gets processed=>

For the maintenance of priority registers, when a matrix arbiter grants a requester,

the arbiter resets the row that has the same row index as the winner to 0 and sets the column that has the same column index as the winner to 1,

to give itself the lowest priority since it was the most recently served.

Queuing Arbiter(先到先服务)

a queueing arbiter provides FIFO priority.

It accomplishes this by assigning a time stamp to each request when it is asserted.

During each time step, the earliest time stamp is selected by a tree of comparators.

最新文章

  1. Make cnblogs mobile Compatible
  2. MySql 中游标,事务,终止存储过程方法总结
  3. 优秀IT技术文章集(最新)(高质量)
  4. Merlin 的魔力: SpringLayout 管理器
  5. JQuery 操作input
  6. SQL随着子查询结果更新多个字段
  7. [自制操作系统] 原子操作&核间中断&读写锁&PRWLock
  8. HDU 2066 最短路floyd算法+优化
  9. Matlab实现画柱状图坐标标签旋转
  10. redux知识点
  11. Linux代理服务器—squid正向代理实验
  12. java导出excel,多表头合并
  13. 059、安装配置flannel(2019-03-28 周四)
  14. [C++]头文件&lt;algorithm&gt;
  15. ActiveMQ使用
  16. VS2013 error C2556: “const int &amp;Array&lt;int&gt;::operator [](int)”: 重载函数与“int &amp;Array&lt;int&gt;::operator [](int)”只是在返回类型上不同
  17. Java里多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)
  18. 在Linux上rpm安装运行Redis 3.0.4
  19. ActiveMq持久化数据
  20. m个苹果放入n个篮子

热门文章

  1. React学习札记一
  2. easyui datagrid 三层嵌套
  3. springboot 日志1
  4. JFinal中文件上传后会默认放置到WebContent的upload包下,但是tomcat会自动重启,当我们再次打开upload文件夹查看我们刚刚上传的文件时,发现上传的文件已经没有了。
  5. EF利用重写SaveChanges()方法实现 审计日志记录
  6. MVC防止跨站攻击@Html.AntiForgeryToken()
  7. 认识Thymeleaf:简单表达式和标签 基础信息
  8. 利用spring boot构建一个简单的web工程
  9. andorid EditView
  10. 20172306《Java程序设计与数据结构》第九周学习总结