摘要 |
In the first period of time during arbitration, each unit requesting access to the bus examines two or more MSBs of its priority number, and indicates these bits by signals on the bus. Thus, the units are divided into groups based on two or more MSBs of the units' priority numbers; at the end of the first period of time, the bus identifies one of the groups which wins arbitration over the remaining groups. In a second period of time, the units of the winning group that request access to the bus examine the next bits of their priority numbers, and indicate these bits by signal on the bus. Thus, the units of the winning group are divided into subgroups based on the next bits of the priority numbers. At the end of the second period of time, the bus indicates the winning subgroup. Arbitration proceeds in this way until the winning unit is determined. The winning unit changes its priority to the lowest priority. All the units that had lower priority than the winning unit increase their priorities. Initial priority numbers are determined from the device numbers. The device numbers are set during initialization as follows. Each unit has a pin connected to a unique line of the data bus. During initialization, a control unit drives the device number of each unit onto the corresponding line of the data bus. Arbitration cycles proceed in parallel with bus cycles. The above arbitration techniques are suitable to control access to shared resources other than a shared bus. |