Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Round-robin and priority arbiter, which is better?

Status
Not open for further replies.

davyzhu

Advanced Member level 1
Joined
May 23, 2004
Messages
494
Helped
5
Reputation
10
Reaction score
2
Trophy points
1,298
Location
oriental
Activity points
4,436
round robin arbiter

Hello all,

Round-robin and priority arbiter, which is better? And in which circumstance to use which types of arbiter?

DAVY
 

round robin priority

Rotating priority (round-robin)

Priority changed based on history of servicing better distribution of servicing especially among peripherals with similar priority demands

Arbitration: Priority arbiter

Consider the situation where multiple peripherals request service from single resource (e.g., microprocessor, DMA controller) simultaneously - which gets serviced first?

Priority arbiter
Single-purpose processor
Peripherals make requests to arbiter, arbiter makes requests to resource
Arbiter connected to system bus for configuration only

hope it helps

with regards,
 

round robin arbitration

it seems they cannot be compared.

round-robin is about time-slicing carried out by the OS to schedule tasks.

priority arbiter is for accessing resources.
 

priority arbiter

It's not really a matter of which is "better", rather, it's a matter of which one is more suitable to a particular application.

If the tasks have a relatively equal importance, then the round-robin works better, since all the tasks get a better chance of getting run; you avoid the situation where the task with the lowest priority hardly ever gets run, since there seems to always be another task with a higher priority.
Imagine you need to read data from a number of sensors. Basically, they are all important, so you would probably choose a round-robin scheme.

On the other hand, there are situations, where some of the tasks are really important, and possibly they need to be run relatively infrequently. In this case a priority arbiter works best, since the higher-priority tasks get serviced very quickly. Yet, because they do not need to be run too frequently, there is enough time for the low-priority tasks to get their fair share.
For instance, there are key parameters in a process and you must take action when something goes out of range. On the other hand, the operator keyboard can be serviced a few milliseconds or tens of milliseconds later, without his even noticing it.

Deciding which method to use is really the "art" of designing the operating system. And this is an important decision to make.
 

arbiter round robin

priority arbitor
 

round robin with priority

IMHO, both method cannot be compared and it depends on which application you are doing. If you were to have a process that is real time process, priority arbitrary method is more imporant. For example, lets say we have "N" process to be executed in one cycle. If those processes are time critical, then priority arbitrary is important by assigning certain amount of resources to a particular process important process. This would put the less time critical processes with little or no resoruces. But, this approach is more complicated and requires the evaluation of the "resources" available by the MCU/MPU during each pre-execution of a process. Hence, call priority arbitary.

For round robin method, we must fixed like a certain amount of time each process must be executed. Round robin is usually implemented using equal priority for simplicity. For example, each process must be executed using only 50 instuction line or within an "x" period.

Currently, I'm using round-robin method and I have gone through system using priority arbitrary before. For me, round robin is easier to be implemented and can be very powerful if designed carefully. One note about the other method, once you are implementing a bigger scale system, this arbitrary priority must be carefully implemented using very effecient state machines.

At th end of the day, its up to the designer to choose which suites him best.
All the best.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top