GB2336274A - Arbitration circuitry - Google Patents

Arbitration circuitry Download PDF

Info

Publication number
GB2336274A
GB2336274A GB9802106A GB9802106A GB2336274A GB 2336274 A GB2336274 A GB 2336274A GB 9802106 A GB9802106 A GB 9802106A GB 9802106 A GB9802106 A GB 9802106A GB 2336274 A GB2336274 A GB 2336274A
Authority
GB
United Kingdom
Prior art keywords
signal
hierarchy
request
circuitry
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9802106A
Other versions
GB9802106D0 (en
GB2336274B (en
Inventor
James Graham Matthew
Pasquale Butta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Ltd Great Britain
Original Assignee
SGS Thomson Microelectronics Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SGS Thomson Microelectronics Ltd filed Critical SGS Thomson Microelectronics Ltd
Priority to GB9802106A priority Critical patent/GB2336274B/en
Publication of GB9802106D0 publication Critical patent/GB9802106D0/en
Publication of GB2336274A publication Critical patent/GB2336274A/en
Application granted granted Critical
Publication of GB2336274B publication Critical patent/GB2336274B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Abstract

A hierarchical system for accessing resources comprises: switch means 11, occupying a first level of hierarchy, arranged to request access to said resources by providing, to a higher level of hierarchy, output request signals 70 requesting access to resources and having memory means 112 for logging requests made to resources; first functional circuitry 18, occupying a second, lower, level of hierarchy, arranged to request access to said resources via said switch means by providing to said switch means, first request signals 80 1 requesting access to resources; second functional circuitry 21, occupying the second level of hierarchy, arranged to request access to said resources via said switch means by providing, to said switch means, second request signals 80 2 requesting access to resources; and wherein said switch means comprises arbitration circuitry 110 for selecting responsive to said first and second request signals, one of said first functional circuitry or said second functional circuitry to request access via said switch means, and is responsive to said selection to provide an output request signal requesting access to a resource, and log the request in the memory means 112 and wherein the switch means is arranged to selectively provide a reply 100 from said resource, responsive to the output request signal, to the appropriate one of the first or second functional circuitry 19,21 (23) by accessing said memory means 112. Application is to digital TV decoders (set-top boxes).

Description

1 A HIERARCHICAL SYSTEM FOR ACCESSING RESOURCES 2336274 This invention
relates to a hierarchical system for accessing resources.
According to the present invention there is provided a hierarchical system for accessing resources comprising: switch means, occupying a first level of hierarchy, arranged to request access to said resources by providing, to a higher level of hierarchy, output request signals requesting access to resources and having memory means for logging requests made to resources; first functional circuitry, occupying a second, lower, level of hierarchy, arranged to request access to said resources via said switch means by providing to said switch means, first request signals requesting access to resources; second functional circuitry, occupying the second level of hierarchy, arranged to request access to said resources via said switch means by providing, to said switch means, second request signals requesting access to resources; and interconnection means connecting said first circuitry to said switch means and said second circuitry to said switch means, wherein said switch means, comprises arbitration circuitry for selecting responsive to said first and second request signals, one of said first functional circuitry or said second functional circuitry to request access via said switch means, and is responsive to said selection to provide an output request signal requesting access to a resource, and log the request in the memory means and wherein the switch means is arranged to selectively provide a reply from said resource, responsive to the output request signal, to the appropriate one of the first or second functional circuitry by accessing said memory means.
Embodiments o:':: the present invention may find application on-chip 2 as part of an integrated electronic circuit.
According to embodiments of the invention the first and second functional circuitry will request access to a resource by using a f irst request protocol including the assertion of a request signal (the f irst request signal and second request signal, respectively). The switch uses the same first request protocol including the assertion of a request signal (the output request signal) to request the access of the switch to the resource.
According to further embodiments of the present invention the switch means has a memory for logging data identifying the output request signal. The arbitration circuitry may introduce a first identification signal into the output request signal and store data identifying the first identification signal in the memory. When the first identification signal is introduced into the output request signal, it may replace a second identification signal already present in the selected one of the first or second request signals, and the arbitration circuitry will then associate the first and second identification signals in the memory. After an access, reauested by the output request signal having the introduced first identification signal, has been concluded at a resource, an input signal is received at the switch. This input signal includes a third identification signal which corresponds to the first introduced identification signal. The third identification signal in the input signal is replaced with a fourth identification signal to produce and updated input signal. The third and fourth identification signals respectively correspond to the first and second identification signals associated in the memory. The third identification signal may be used to direct this updated input signal to the correct one of the first or second functional circuitry in the second, lower, level of hierarchy.
According to other embodiments of the present invention the arbitration circuitry may be arranged to initiate a continuous series of requests for accessing the same or different resources.
3 The initiation of requests within a series of requests may be independent of the completion of accesses previously requested.
According to a further aspect of the present invention there is provided a method of providing a hierarchical system comprising a plurality of functional elements for accessing a resource, comprising the steps of: providing a first functional element requiring a fast access to said resource in a first level of hierarchy; providing a switch in the first level of hierarchy which requests access to said resource by providing, to a higher level of hierarchy, a request signal received from a second functional element in a second, lower, level of hierarchy; providing second functional elements which do not require a fast access to said resource in the second level of hierarchy and which requests access to said resource via said switch by providing request signals requesting access to the resource; connecting said second functional elements in said second level of hierarchy to the switch in said first level of hierarchy; interconnecting said switch means and said other elements in the first level of hierarchy with said resource and providing second arbitration means for arbitrating the access of the switch means and the first functional element to the resource.
According to a still further aspect of the present invention there is provided a method of providing a hierarchical system comprising a plurality of functional elements for accessing a -resource, comprising the steps of: providing a first switch, in a first level of hierarchy, arranged to request access to said resources by providing to a higher level of hierarchy output request signals requesting access to the resources and having arbitration means and memory means; providing a first sub-set of the plurality of functional elements in a second level of hierarchy, wherein each functional element is arranged to request access to said resources via said 4 switch by providing to a higher level of hierarchy request signals requesting access to the -resources, and sald sub-set of functional elements includes a second switch having arbitration means and memory means; providing a second sub-set of functional elements in a third level of hierarchy, wherein each functional element is arranged to request access to said resources via said second switch by providing to a higher level of hierarchy request signals requesting access to resources, wherein each of the first and second switches receives request signals from a, lower level of hierarchy, arbitrates, and provides one of those request signals to the higher level of hierarchy, and each of the f irst and second switches receives a response from the higher level of hierarchy and provides said received response to the correct functional element in the level of hierarchy below, by accessing said memory means.
For a better understanding of the present invention and to understand how the same may be brought into effect, reference will now be made by way of example only to the following Figures in which:
Figure la illustrates a system utilising architecture, having a hierarchical structure; a modular Figure 1b illustrates in further detail a module of the hierarchical structure of the system of Figure la; Figure 2 illustrates in further detail one of the modules of the system illustrated in Figure la; Figures 3a to 3e illustrate the protocol which is used to communicate between the different levels of hierarchy within the system illustrated in Figure la; Figure 4 illustrates the input and output signals of the module illustrated in figure 2; Figure 5 illustrates a circuit implementation of the switches illustrated in Figures la, 1b and 2; Figure 6a illustrates one implementation of the memory circuitry 112 illustrated in Figure 5; Figure 6b illustrates one implementation of the arbitration circuit 110 illustrated in Figure S; Figure 7 illustrates a system utilising a routing system; Figure 8a illustrates a cable, terrestrial or satellite communication system including a set-top box; Figure 8b illustrates a transport stream; Figure 9 illustrates a programmable transport interface (PTI) suitable for use in the set-top box of the system of Figure 8a; Figure 10a illustrates a source decoder having architecture similar to that illustrated in Figure la; and Figure 10b illustrates a source decoder having an architecture similar to that illustrated in Figure 7.
Figure la illustrates an electrical system for sharing a resource 3. Although a single resource is shown it should be borne in mind in the following that the resource 3 may be representative of a plurality of separate resources. The system is modular, having as interconnected modules a first functional element 7, a second functional element 9 and the resource 3 and has a hierarchical architecture. The resource 3 may be for example static RAM, dynamic RAM, or an interface to external memory. The f irst functional element 7 may be a CPU and the second functional element 9 may be a dedicated controller. A bus 5 interconnects the modules and allows either one of the first or second functional elements to access the resource 3. The second 9, is multifunctional and comprises as separate modules a switch 11, a third functional element 19, a fourth functional element 21 and a fifth functional element 23. The third and fifth functional elements may be processors. The switch 11 is connected to the bus 5 and to the third functional element 19 via a first interconnect 13, to the fourth functional element 21 via a second interconnect 15 and to the fifth functional element 23 via a third interconnect 17. The switch 11 receives requests to access the resource 3 from the third, fourth and fifth functional elements. The switch 11 arbitrates between the reauests and selects one. The switch then presents functional element 6 the selected request to the bus 5 as if it were the appropriate one of the third, fourth, or fifth functional elements. The second functional element 9 can thus assume at any one time the function of any one of the third, fourth, or fifth functional elements.
The first functional element 7 and the second functional element 9 are directly connected to the resource 3 via the bus 5, and both occupy a first level of hierarchy. The second functional element 9 has within it two levels of hierarchy. The highest level, the first level, is occupied by the switch 11 and the lower level, the second level, is occupied by the third, fourth and fifth functional elements 19, 21 and 23. The switch 11 arbitrates the access by any one of the third, fourth or fifth functional elements 19, 21 or 23 to the first level of hierarchy.
Figure 1b illustrates in more detail the fourth functional element 21. This element includes a switch 25 which is connected to switch 11 via the second interconnect 15. A plurality of functional elements 29,, 2921... 29, make connection to the switch 25 via their respective interconnects 27,, 2721... 27,. Each of the functional elements 291, 2921... 29, may be singular in function, representing a single level of hierarchy, or may be multifunctional having multiple levels of hierarchy within them. The fourth functional element 21 has in this example two levels of hierarchy within it. The upper level of hierarchy, the second level, is occupied by the switch 25. The lower-level of hierarchy, the third level, is occupied by the functional elements 291, 2921... 29.. The switch 25 occupies the same level of hierarchy within.--he system 1 as the third functional element 19 and the fifth functional element 23. The switch 25 operates in the same manner and is structurally similar to switch 11 and arbitrates the access of any one of the functional elements 29-, 292... 29-, in the third level of hierarchy to the second level of hierarchy.
Each of the modules in the first level of hierarchy of the system 7 1 make direct access to the bus 5. These elements can access the resource 3 via the bus 5 in the shortest possible time, that is with the least latency. The access of these elements to the resource 3 can be controlled by an arbiter (not shown). The arbiter receives requests for access to the bus from the switch 11 and the functional element 7. The arbiter determines which of these two competing elements should have priority of access to the bus on the basis of a predetermined criterion or predetermined criteria, such as the type of resource each is trying to access via the bus, the operational status of the resources each element is trying to access, and whether the accesses from the switch 11 or first functional element 7 are given priority. The third functional element 19, the fifth functional element 23 and the switch 25 have access to the resource 3 by first gaining access to the output of the switch 11 and have a delay in accessing the resource 3 when compared to those elements in the first level of hierarchy. The functional elements 29-, 2921... 29n in the third level of hierarchy compete for access to the switch 25 (in the second level of hierarchy). when one of the functional elements 291, 292... has access to the switch 25, the switch 25 requests access to the switch 1-1 (in the first level of hierarchy). The switch 11 and functional element 7 then compete for access to the resource 3. Each of the functional elements 291, 2921... in the third level of hierarchy has a greater delay or latency, in accessing the resource 3 than the elements in the first level of hierarchy or in the second level of hierarchy.
The system 1 illustrated in Figure la provides for the simple design of a system architecture. Those functional elements which require access to a resource 3 with the smallest possible latency are connected directly to the bus 5 and occupy the first level of hierarchy. Those functional elements which do not require the shortest possible delay in accessing the resource 3 may occupy the second or third level of hierarchy. In designing a system, a functional element can be placed in a particular level of hierarchy depending upon the maximum latency the system 8 can stand in that functional element accessing the resource 3. Those functional elements which require a priority of access to the resource 3 via the bus 5 may occupy the first, second, third or any other hierarchical level of the system 1. However, the arbitration of their access to the resource 3 via the intervening hierarchical levels of the system 1 (if any) will be strongly arbitrated in their favour. For example if the functional element 29. in the third level of hierarchy was required to have priority of access to the resource 3, the switch 25 would preferentially allow that functional element to access the switch 25 in the second level of hierarchy. The switch 11 would arbitrate preferentially in favour of the switch 25 thereby allowing the request from the switch 25 to have access to the first level of hierarchy. The functional element 29. thereby has preferential access to the first level of hierarchy. The switch 11 will then be given priority of access to the resource 3 via bus 5. Consequently the function element 291 would have priority of access to the resource 3 over and above any of the other functional elements. It is therefore possible by controlling at each of the levels of hierarchy the arbitration of the requests for access to the resource 3, to control the priority of access which a functional element has to the resource 3.
The communication between the different levels of hierarchy is controlled by the same protocol.
Figure 2 illustrates a switch for arbitrating the access of elements in a lower-level of hierarchy to a higher level of hierarchy. The switch has a requester 31, a receiver 41 and an interconnect 51 connecting the requester 31 and the receiver 41. The requester 31 has a -'::-i--st requester-interface 33, which interfaces to a higher level of hierarchy, and a second requester- interface 35, a third requester-interf ace 37 and a fourth requester- interf ace 39 which interface to a lower-level of hierarchy. in the example of Figure la in relation to switch 11, the f--s-- requester- interface 33 makes connection to the bus 5, and the second, third and fourth requester-interfaces 35, 37 9 and 39 respectively make connection to the third, fourth and fifth functional elements 19, 21 and 23 via the first, second and third interconnects 13, 15 and 17. The receiver 41 has a first receiver- interface 49, which interfaces to a higher level, and second receiver- interface 43, a third receiverinterface 45 and fourth receiver- interface 47 which interface to a lower-level. In the example illustrated in figure la in relation to switch l!, the first receiver-interface 49 makes connection to the bus 5, the second, third and fourth receiver-interfaces 43, 45 and 47 respectively make connection to the third, fOurth and fifth functional elements 19, 21 and 23 via the first, second and third interconnects 13, 15 and 17. The requester 31 and the receiver 41 communicate with each other via the interconnect 51.
The number of utilised receiver-interfaces which interface to a lowerlevel and utilised requester- interfaces which interface to a lower-level, may differ in number from the three illustrated in Figure 2.
Referring to Figure 2 the requester 31 requests access to a higher level of hierarchy within the system 1 via the first requester- interface 33. This request is made in accordance with a defined protocol for communicating between the different levels of hierarchy within the system. If the requester 31 has multiple requester-interfaces which interface to a lower-level, then the requester 31 will arbitrate to determine which of these interfaces will be given access to the first requester- interface 33. The receiver 41 also allows a higher level of hierarchy of the system to access a lower-level of hierarchy. The receiver 41 communicates with the requester 31 to determine whether the access from the higher level of hierarchy is in response to a request made by one of the requesterinterfaces to a lower-level. If this is the case the receiver 41 will determine to which of the second, third or fourth receiver- interfaces 43, 45,47 the access from the higher level is directed.
Figure 4 schematically illustrates the signals produced at and received at a switch, such as the switch 25, as it receives communications from the level of hierarchy above and below it and as it communicates to the level of hierarchy above it and below it. A second level of hierarchy is occupied by an upper-level requester 31, interconnected to an upper-level receiver 411 by an interconnect 51,. The upper-level requester 31. has a first requester- interface 33,, interfacing to a first level and a second requester- interface 35,, interfacing to the third level. only one interface from the second level to the third level is shown in this figure, for the purposes of clearly illustrating t-he signals. The upper-level requester 311 would in practice have a plurality of suchinterfaces as shown in figure 2a. The upperlevel receiver 411 has a first receiver-interface 4911 interfacing to the first level and a second receiver-interface 43-, interfacing to the third level. Also illustrated is the third level of hierarchy which is occupied by a lower-level requester 312 and a lower-level receiver 41, connected by an interconnect 512 The lower-level reauester 312 has a f irst requester-interface 332 which is connected to the second requester- interface 35. of the upper-level requester 31._ The lower-level receiver 41. has a first receiver- interface 492 which is connected to the second receiverinterface 431 of the upper-level receiver 411.
The upper-level requester 311 receives, at its second requesterinterface, a first requester-input signal 80 produced at the first requesterinterface 332 of the lower-level requester 31,.
The upper-level requester 31. produces, from its first requesterinterface 33-, a first requester- output signal 70. The upperlevel requester 31. receives as an input at its first requester interface 331 a second reauester-input signal 71. The upper-Leve-' requester 31. produces as an output from its second recruester- interface 35, a second requesteroutput signal 81 which,s received as an input at the first recruester-interface 332 of the lower-level requester 312. The upper-level receiver 41. receives as an input to its 'first receiver- interface 49. a first receiver-input signal 90. The upper-level receiver 411-, produces 11 as an output from its second receiver- interface 43, a first receiveroutput signal 100, which is received as an input at the first receiverinterface 492 Of the lower-level receiver 412 ' The first requester-input signal 80 may include a number of separate signals, including an input request signal 82, an input read-notwrite signal 83, a requesterinput address signal 85, a requester-input data signal 86, and a requester-input ID signal 87. The first requester-output signal 70 may include a number of individual signals, including: an output request signal 72, an output read-not-write signal 73, a requester- output address signal 75, a requester-output data signal 76 output ID signal 77.
and a requesterThe first receiver-input signal 90 may include a number of individual signals, including: an input grant signal 91, an input valid signal 92, a receiver-input data signal 94, and a receiver-input ID signal 95. The first receiveroutput signal 100 may include a number of individual signals, including: an output grant signal 101, and output valid signal 102, a receiver-output data signal 104, and a receiver- output ID signal 105.
The request signals (output request signal 72 and input request signal 82), the read-not-write signals (output read-not-write signal 73 and input read-not-write signal 83), the grant signals (input grant signal 91 and output grant signal 101), the valid signals (input valid signal 92 and output valid signal 102) and the requester-output address Cignal 75 are used in the protocol for communicating between the different levels of hierarchy within the system. The operation of this protocol will be explained later in more detail in relation to Figures 3a to 3e. The address signals (requester-output address signal 75, requester-input address signal 85, receiver-output address signal 103, and receiver-input address signal 93) and data signals (requester -output data signal 76, requester-input data signal 86, receiver-output data signal 104 and receiver-input data signal 94) are used to direct and transmit data between levels of hierarchy to resources. The second requester-input signal 71, 12 the second reauester-output signal 81, and the ID signals (requester- output ID signal 77, requester-input ID signal 87, receiver-input ID signal 95 and receiver-output ID signal 105) may be utilised to route a signal, returning from a resource, through the hierarchical system to a functional element.
Figures 3a to 3e illustrate the communication protocol which is implemented in the communication between one level of hierarchy of the system and another level of hierarchy of the system. The outputs from each functional element and switch 11, 25 are in accordance with this protocol. The timing diagrams include a clock signal 300, a request signal 302, an address signal 304, a grant signal 306, an output data signal 312, a valid signal 310 and an in-out data signal 322. The request signal 302, the address signal 304, and the output data signal 312 are produced as output signals from the first requester-interface 33 of a requester 31. For the lower-level requester 312 of figure 4, these signals are respectively the input request signal 82, the requester-input address signal 85 and the requester-input data signal 86. For the upper- level requester 311of figure 4, these signals are respectively the output request signal 72, the requester- output address signal 75 and the requester output data signal 76. The grant signal 306, the valid signal 310 and the input data signal 322 are received as input signals at the first receiver- interf ace 49 of the receiver 41. For the lower-level requester 312 of figure 4, these signals are respectively the output grant signal 101, the output valid signal 102 and the receiver-output data signal 104. For the upper-level requester 311of figure 4, these signals are respectively the input grant signal 91, the input valid signal 92 and the receiver-input data signal 9,.
Figure 3a illustrates the protocol used for a requester 31 to request access to a resource 3 at a higher level of hierarchy within the system so that it may write to that resource. The requester 31 requests access to a higher level of hierarchy to perform a write operation by asserting simultaneously the request 13 signal 302, the output data signal 312 and the address signal 304 which indicates the address at which the write operation is to be performed. If the next highest level of hierarchy grants access to the requester 31 to its level, it asserts the grant signal 306 which is returned to the receiver. In the example illustrated in Figure 3a the grant signal 306 is returned by the higher level of hierarchy of the system immediately. The request signal 302, address signal 304 and data signal 312 are no longer asserted after the receipt of the asserted grant signal 306. The valid signal 310 is returned to the receiver 41' when the write operation has been completed at the resource. In the time between the return of an asserted grant signal 306 and the return of asserted valid signal 310 the requester may make further and different requests to the higher level of hierarchy.
Figure 3b illustrates the protocol used for a requester 31 to request access to a resource 3 at a higher level of hierarchy within the system so that it may read at that resource. The requester 31 requests access to a higher level of hierarchy to perform a read operation. It asserts simultaneously the request signal 302 and the address signal 304 which indicates the address at which the read operation is to be performed. If the next highest level of hierarchy grants access to the requester 31 to its level, it asserts the grant signal 306 which is returned to the receiver. In the example illustrated in Figure 3a the grant signal 306 is returned by the higher level of hierarchy of the system immediately. The request signal 302 and the address signal 30 are no longer asserted a predetermined time (one clock cycle) after the receipt of the asserted grant signal 306. The request then moves upwards through the levels of hierarchy within the system until it accesses the resource 3 and reads Lhe requisite address at that resource. The read data is returned through the levels of hierarchy to the requester 31. The read data is represented in Figure 3b as the input data signal 322. The input data signal 322 is returned to the receiver 41 with the valid signal 310 after the write operation has been completed at the resource. The return of the valid signal 310 indicates that 14 the input data signal 322 is valid. In the time between the return of an asserted grant signal 306 and the return of asserted valid signal 310, the requester may make further and different requests to the higher level of hierarchy.
Referen ' ce is now made to Figure 3c which illustrates the signals produced by a requester 31 in order to perform a pipelined write operation to a resource 3. In a pipelined operation a continuous ser, _Les of transactions are effected. In the example of Figure 3c a series of two transactions is made. The referEnce numerals of FiSure 3c where they correspond with those of Figure 3a represent the same silgnals. As previously the request signal 302, the address signal 304 and the write data signal 312 are asserted at the same time and are supplied to the higher level hierarchy. The signals of Figure 3c are different from those of Figure 3a in that the request signal 302 is asserted for multiple (two) clock cycles and in that the address signal 304 and the write data signal 312 are each composed of multiple portions. The address signal 304 has a first address portion 404a containing a first address and a second address portion 404b containing a second address. The write data signal 312 is composed of a first data portion 412a and a second data portion 412b. The first data portion 412a is to be written to the first address and the second data portion 412b is to be written to the second address. Thegrant signal 306 is also asserted for two clock cycles. The first data portion 412a and the first address portion 404a are asserted until one clock cycle after the start of the asserted grant signal 306. The second data portion 404b and the second address portion 404b are asserted for one clock cycle after the first data portion -7-2a and the first address portion 404a are no longer asserted. The valid signal 31-0 is asserted by the higher level of system hierarchy when the first and each write operation is completed at the resource. Consequently, a continuous series of requests can be made while previously made requests rema-n outstanding. Each recruest in the series is Jndependent of the completion of accesses requested previously.
Figure 3d illustrates a pipelined read operation. In a pipelined operation a continuous series of first transactions are effected. All the reference numerals in Figure 3d which correspond to those in Figure 3b represent the same signals. The signals of Figure 3d differ from those of Figure 3b in that the request signal 302 is asserted for two clock cycles and in that the address signal 304 has two portions, a first address portion 404a and a second address portion 404b. As previously the request signal 302 and the address signal 304 are asserted at the same time and are supplied to the higher level of hierarchy. The'higher level of hierarchy then returns a grant signal 306 when it grants access to its level to the requester of the lower-level. The grant signal 306 in this instance is two clock cycles. The f irst address portion 404a is asserted until one clock cycle after the start of the asserted grant signal 306. The second address portion 404b is asserted for one clock cycle after the first address portion 404a is no longer asserted. When the read data is to be transferred from the higher level of system architecture to the receiver 41 in the lower-level the valid signal 310 is asserted as before. However on this occasion the valid signal is two clock cycles long. As previously, while the valid signal 310 is asserted the input data signal 322 transfers the read data from the higher level of system architecture to the receiver in the lower-level of system architecture. The input data signal 322 has a first input data portion 422a and a second input data portion 422b. The first input data portion 422a of the read data signal is the data read from the address associated with the first address portion 404a of the address signal 304. The second input data portion 422b of the read data signal is the data read from the address associated with the second address portion 404b of the address signal 304. Consequently a continuous series of requests can be made while previously made requests remain outstanding. Each request in the series is independent of the completion of accesses requested previously.
The pipelined request signal 302 and pipelined address signal 304 in Figure 3c and 3d are produced by a requester 31 which receives 16 the address signal 304 from a single functional element in the level of hierarchy below the requester 31.
Reference will now be made to Figure 3e to illustrate how a requester 31 and receiver 41 may mix, shuffle or interleave requests received from the different functional elements in the level of hierarchy below them. The reference numerals of Figure 3e where they correspond to those of Figures 3a to 3d represent the same type of signal. Where no subscript is used it indicates that the signal is output from the requester 31 tb a higher level of hierarchy. where a subscript is used in respect of a reference numeral it indicates that the signal is received from or supplied to a functional element in the level of hierarchy below that of the reQuester 31 and receiver 41. A subscript 1 indicates that the signal is derived from or supplied to a first one of the functional elements in a level of hierarchy below that of the requester 31. A subscript 2 indicates that the signal is derived from or supplied to a different functional element in the level of hierarchy be-Low that of the requester 31.
The receiver 31 receives at the second requester- interf ace 35 a burst request signal 302. and an associated address signal 304. which has first, second, third and fourth address portions 404,,, 404,b, 4041C and 4041.. A flag is provided in the request signal to indicate that it is a burst request signal requesting a burst access. A burst access is a succession of accesses to the same resource. The requester 31 also receives at its third requesterinterface 37 a burst request signal 302, and an associated address signal 304, having first, second, third and fourth portions 4042,, 4042b, 404,, and 4042.. A flag is provided in the request signal to indicate that it is a burst request signal requesting a burst access. A burst access is a succession of different accesses to the same resource. The second requesterinterface 35 and third requester- interface 37 receive the burst request signals 302. and 3022 at the same time. The requester 31 must therefore arbitrate between these two requests to determine which of the recuests made will be nresented at tIne first 1 7 requesterinterface 33. The receiver 31 may arbitrate in favour of the second requester-interface or the third requesterinterface. If arbitration is in favour of the second requesterinterface 35 the grant signal 306,. is asserted high at the second requester- interface 35. If arbitration is in favour of the third requester- interface 37 the grant signal 3062 is asserted high at the third requester- interface 37. The address signal and request signals supplied to the second requester- interface 35 are held until the grant signal 306lis asserted high. The address signal and request signal supplied to the third requeser- interface 37 are held until the grant signal 3062 is asserted high. When the receiver arbitrates in favour of a burst request signal that is requesting a burst access to a first resource, it prevents for the duration of the burst request signal, the receiver arbitrating in favour of any other request signal received which is requesting access to that first resource, but remains responsive to other request signals received by the receiver which are not requesting access to that first resource. These other request signals may be normal request signals or burst request signals. Consequently, the switch may enable a burst of accesses to the first resource, while interleaving those accesses with accesses to a resource other than a first resource.
In summary, the circuitry in the level below, compete to perform transactions with the switch. Each of the circuitry in the level below the switch requests to transact with the switch until the switch arbitrates in its favour and transacts with it. The switch can therefore shuffle the requests presented at the second and third reauester interfaces to provide requests at its first requester interface to the higher level of hierarchy. While a burst access is being carried out at a first resource, the switch will not shuffle in other requests to access that resource.
Figure 5 illustrates circuitry suitable 'for implementing the switch 11 illustrated in Figures la, 2a and 4 and like numerals designate like features. The requester 31 has in addition to the first, second, third and fourth requester-interfaces 33, 35, 37 18 and 39, arbitration circuitry 110, memory circuitry 112, a first control switch 114 which is a multiplexer, and a register 116. The receiver 41 has in addition to the first, second, third and fourth receiver- interfaces 49, 43, 45 and 47, a second control switch 118 which is a demultiplexer. The second, third and fourth requester-interfaces 35, 37 and 39 receive respectively as the first requester-input signal 80 a requester-input signal 80. from the third functional element 19, a requester-input signal 802 from the fourth functional element 21 and a requesterinput signal 803 from the fifth functional el ' ement 23. The requester-input signal 80, is supplied to a first input of the first control switch 114 and to a first input of the arbitration circuitry 110. The requester-input signal 802 is supplied to a second input of the first control switch 114 and to a second input to the arbitration circuitry 110. The requester-input signal 80. is supplied to a third input of the first control switch 114 and to a third input to the arbitration circuitry 110. The arbitration circuitry 110 provides a signal to the first control switch 114 which controls which of the first, second or third inputs to the first control switch 114 will be presented as an output of the first control switch 114. This control signal is also used as the requester- output ID signal 77 and is supplied to the first control switch 114, to memory circuitry 112 and it is introduced into the output signal from the first control switch 114 to replace the requester-input ID signal 87 and thereby to produce the first requesteroutput signal 70. In the first requester- output signal 70, the requesteroutput ID signal 77 is produced by the arbitration circuitry 110 whereas the output request signal 72, the output read-not-write signal 73, the requester- output address signal 75, and the requesterout-out data signal -116 are, respectively, the same as the input request signal 82, the input read-not- write signal 83, the requester-input address signal 85, and the reauester- input data signal 86. The first requester-output signal 70 is presented as an input to the register 116. The register 116 latches the first reques ter- output signal 70 providing it to a higher level of hierarchy with-in the system under control of the input grant 19 signal 91.
The second requester-input signal 71 is supplied by the first requesterinterface 33 to the arbitration circuitry 110 and to the second, third and fourth requester- interfaces 35, 37 and 39. The second, third and fourth requester-interfaces 35, 37 and 39 respectively provide the received second requester-input signal 71 to the third, fourth and fifth functional elements as the second requester-output signals 81,, 812, and 813.
The first receiver- interface 49 receives from a higher level the first receiver-input signal 90 and supplies the input grant signal 91 to the register 116, the receiver-input data signal 94 to the second control switch 118, the input valid signal 92 to the memory circuitry 112 and the receiver-input ID signal 95 to the memory circuitry 112 and to the second control switch 118. The memory circuitry 112 produces the output valid signal 105 and the receiver-output ID signal 102, which are presented with the receiver-input data signal 94 at the input to the second control switch 118. The second control switch 118 has a single input and three outputs. Under the control of the receiver-input ID signal 95, the second control switch 118 diverts the signals received at its single input to a selected one of its outputs. The first, second and third outputs of the second control switch 118 are supplied respectively to the second, third and fourth receiver- interfaces 43, 45 and 47. The second, third and fourth receiverinterfaces are respectively connected to the third, fourth and fifth functional elements 19,21,23. The arbitration circuitry 110 supplies as the output grant signal 101 either the signal 1011 to the second receiver- interface 43, or the signal 1012 to the third receiverinterface 45 or the signal 101, to the fourth receiver- interface 47. The signal output from the second control switch 118 and the output grant signal 101 produce the receiveroutput signal 100. The receiver-output signal 100 is presented to one of the third, fourth or fifth functional elements 19, 21 and 23 respectively as one of the signals 100., 1002, or 1003. In the 'Lirst receiver-output signal 100, the output grant signal is produced by the arbitration circuitry 110, the output valid signal 102 and the receiver-output ID signal 105 are produced by the memory circuitry 112, and the receiver-output data signal 104 is the same as the receiver-input data signal 94.
The operation of switch 11 will now be explained with reference to Figure 5. When the third functional element 19, the fourth functional element 21 or the fifth functional element 23 require access to a higher level of hierarchy within the system they assert the first requester-input signals 80.', 802, and 803 respectively. The arbitration circuitry 110 receives the signals and in addition receives the second requester-input signal 71. on the basis of the received signals the arbitration circuitry 110 determines which of the third functional element 19, the fourth functional element 21 and the fifth functional element 23 should gain access to the level of hierarchy occupied by the switch 11. If the third functional element 19 gains access, the output grant signal 101, would be asserted. If the fourth functional element 21 gains access, the output grant signal 1012 would be asserted. if the fifth functional element 23 gains access, the output grant signal 101-, would be asserted. At any one time only one of the output grant signals 10l., 1012, or 101, is asserted and supplied to one of the third, fourth or fifth The arbitration circuitry The arbitration circuitry 110 produces the reque ster- output ID signal 77. This signal controls the first control switch 114 and identifies which one of the third, fourth or fifth functional elements has gained access to the higher level and consequently which of the first requester-input signals 80-, 80,, or 80, will be provided as an output from the -first control switch 114. The rejuester-input ID signal 87 in t-m.e output signal from the first control switch 114 is replaced by the requester - output ID signal 77. The requester-input ID signal 87 is stored in the memory circuitry 112 in association with the requester-output ID signal 77 which has replaced it in the output signal from the first control Switch 114. The first requester-output signal 70 is stored in functional elements 19, 21, or 23.
thus provides for local arbitration 21 the register 116.
The second requester-input signal 71 is asserted at the start Of each clock cycle. That is it is asserted with a frequency equal to that of the clock signal 300 illustrated in Figures 3a to 3e. The requester-input signal 71 indicates the status of the resource(s) 3. That is it indicates whether the resource(s) 3 is capable of receiving and responding to an access. Each resource may have an input register which asserts a flag when it is available. These flags will be provided at the start of each clock cycle as the second requester-input signal 71 to the requester 31 at the highest level of the hierarchy of the system. The passage of the second requester-input signal 71 is not arbitrated and it proceeds directly to the second, third and fourth requester- interfaces 35, 37 and 39 and is in addition supplied to the arbitration circuitry 110. The signals indicating the status of the resource(s) 3 cascade through each of the levels of hierarchy of the system.
when a first receiver-input signal 90 is received at the first receiverinterface 49, it is in response to an access to a resource previously requested by one of the third, fourth or fifth functional elements 19, 21 or 23. Consequently, it is necessary to direct the first receiver-input signal 90 to the functional element which made the request to which that signal is a response. As previously described when the switch 11 makes a request, the requester-input ID signal 87 is replaced by the requesteroutput ID signal 77 and the signals are stored in association in the memory circuitry 112. When the higher level of hierarchy responds to the request, the receiver-input ID signal 95 returned by the higher level will be the same as the requester-output ID signal 77 provided to the higher level when the switch made the reauest. The memory circuit 112 accesses its stored information to retrieve the requester-input ID signal 87 associated with the requester- output ID signal 77 which is the same as the receiver-input ID signal 95. The memory circuitry outputs the receiver-output ID signal 105 with a value of the 22 retrieved requester-input ID signal 87 stored in the memory. The output valid signal 102 and the receiver-output ID signal 105 are presented with the input data signal 94 as an output signal from the second control switch 118. The receiver-input ID signal 95 identifies which one of the first, second or third receiverinterfaces to a lower-level 43, 45 or 47 should receive this signal and controls the switch accordingly. Consequently, the switch can have many outstanding requests in progress at one time. The order of accesses responsive to requests may be different to the order in which the requests wete initiated.
The operation of the memory circuitry 112 will now be explained in further detail in relation to Figure 6a which illustrates the components of the memory circuitry 112. The memory circuit 112 includes decode and enable circuitry 130 a first-in/first-cut (FIFO) memory 140, a second first-in/first-out (FIFO) memory 142 and a third first-in/first-out (FIFO) memory 144. The memory circuitry 112 receives the requester-output ID signal 77 and the requesterinput ID signal 87 at a first input 146. - The memory circuitry 112 receives the input valid signal 92 and the receiver-input!D signal 95 at a second input 147. The memory circuitry 112 produces at an output 148 the output valid signal 102 and the receiver-output ID signal 105. The requester-output ID signal 77 and the receiver-input ID signal 95 are supplied as inputs to the decode enable circuitry 130. The requester-input ID signal 87 is supplied as a first input to each of the first, second and third FIF0s 140, 142 and 144. The input valid signal 92 is supplied as a second input to each of the FIF0s 140, 142 and 144 and is in addition supplied as the output valid signal 102. The decode and enable circuitry 130 produces a first enable signal 150 or a second enable signal 152 or a third enable signal 154. The first, second and third enable signals 150, 152 and 154 are received as a third input to the first, second and third FIF0s 140, 142 and 144 respectively. Each of the FIF0s has an outDut and the signal produced at the output of the FIF0s is supplied as the receiver-output ID signal 105. The first FIFO 140 is associated with. the third functional element 19. The 23 second FIFO 142 is associated with the fourth functional element 21. The third FIFO 144 is associated with the fifth functional element 23. The requester-output ID signal 77 indicates which one of the third, fourth or fifth functional elements 19, 21 or 23 has been given access to the level of hierarchy of the system occupied by the switch 11. The decode and enable circuitry 13o asserts one of the first, second or third enable signals 150, 152 or 154 to enable the FIFO which is associated with that functional element. The requester-input ID signal 87 is simultaneously asserted at the first input of ec-ich of the FIF0s 140, 142 or 144. The requester-input ID signal 87 causes a FIFO if enabled to be written to, with the value of the requesterinput ID signal 87 being stored therein. It will therefore be appreciated that the first FIFO 140 logs the values of the requester-input ID signal 87 supplied by the first requesterinput signal 80, in the order in which the first requester-input signals 80, have been given access to a higher level of hierarchy. The second FIFO 142 logs the values of the requesterinput ID signal 87 supplied by the first requester-input signal 802 in the order in which those signals have been given access to the higher level of hierarchy. The third FIFO 144 logs the values of the requesterinput ID signal 87 provided by the first requester-input signal 803 in the order in which those signals have been granted access to the higher level of hierarchy.
The receiver-input ID signal 95 when received by the memory circuitry 112 is decoded in the same manner as the requesteroutput ID signal 77 by the decode enable circuitry 130. If the first receiver-input signal 90 is to be supplied to the third functional element 19 then the first enable signal will be asserted. If the first receiver-input signal 90 is to be supplied to the fourth functional element 21 the second enable signal 152 will be asserted. If the receiver-input signal 90 is to be supplied to the fifth functional element 23 the third enable signal 154 will be asserted. The first, second and third enable signals 150, 152 and 154 respectively enable the first, second and third FIF0s 140, 142 and 144. The input valid signal 24 92 is supplied to the second input of the f irst, second and third FIF0s 140, 142 and 144. The input valid signal 92 causes a FIFO, if enabled, to be read from. The value read from the FIFO is provided as the receiveroutput ID signal 105.
Figure 6b illustrates arbitration circuitry 110. The arbitration circuitry receives the first requester-input signals 801, 802 and 80, and the second requester-input signal 71 and produces the requester output ID signal 77 and an output grant signal 101,, 1012 or 1011. The arbitration circuitry in(ludes decision circuitry 200, first, second and third decision weighting circuitry 210, 220, 230, inhibition circuitry 240, first, second and third gates 241, 242 and 243.
The f irst reauester-in-out signals 80,, 802 and 80, are respectively supplied to the first, second and third decision weighting circuitries 210, 220 and 230 via first and fourth gates 241 and 281, second and fifth gates 242 and 282 and third and sixth gates 243 and 283.
The inhibition circuitry 240 receives the requester- input address signal 85 of the first requester-input signals 801, 80. and 80, and second requester-input signal 71 and produces first, second and third suspension signals 204, 205, 206 which are respectively supplied to t-he first, second and third gates 241, 242 and 243. The first, second and third suspension signals control the first, second and third gates 241, 242 and 243 and consequently the reception of the first, second and third first requester- input signals by the first, second and third decision weighting circuLtries 210, 220 and 230.
The inhibition circuitry 240 comprises first, second and third ilter circuits 244, 245 and 246. The first filter circuitry 244 comprises decode circuitry and logic circuitry. The decode circuitry receives the requester-input address signal 85 of the first requester-input signal 80-. It decodes the most significan: bits (or any particular predetermined bits) of the address signal and provides a signal to the logic circuitry which identifies the resource addressed by the requester-input address signal 85. The logic circuitry in addition receives the second requester-input signal 71. The requester-input signal 71 comprises a plurality of status signals, wherein each of the signals indicates the operational status of a resource. If any particular resource is unable to be accessed then this will be indicated by its associated status signal in the requester-input signal 71. The logic circuitry on receiving the second requester-input signal 71 and the output fiom the decode circuitry determines whether the resource addressed by the requester-input address signal of the first requester-input signal 801 is addressing a resource which is not available for access. If the addressed resource is not available for access the logic circuitry asserts the first suspension signal 204 which disables the first gate 241 and prevents the f irst requesterinput signal 801 reaching the first decision weighting circuitry 210. The second filtration circuitry 245 comprises logic circuitry and decode circuitry and receives the second requesterinput signal 71 and the requester-input address signal 85 of the first requester-input signal 80.. The most significant bits of the requester-input signal are decoded and if the resource addressed is unavailable for access the logic circuitry asserts the second suspension signal 205 to disable the second gate 242 and prevent the first requester-input signal 802 reaching the second decision waiting circuitry 220. The third f iltration circuitry 246 contains logic circuitry and decode circuitry and it receives the second requester-input signal 71 and the requester-input address signal 85 of the first requesterinput signal 80,. If the resource addressed by the requester- in- out address signal 85 is unable to be accessed then the third suspension signal 206 is asserted and the third gate 243 is disabled preventing the first requester-input signal 80, reaching the third decision weighting circuitry 230. As previously mentioned, the second requester-input signal 71 is asserted at the start of each clock cycle. Consequently, the filtration circuits 244, 245 and 246 are activated at the beginning of each 26 clock cycle on the receipt of the second requester-input signal 71 and if any one of the first, second or third suspension signals 204, 205, 206 are asserted in response to the receipt of the second requester-input signal 71 they remain asserted until the next clock cycle. The simple decoding and logic circuitry required for the operation of the filtration circuits allows the very rapid processing of the requester-input address signals 85 and, if necessary, the production of suspension signals 204, 205 and 206. Consequently, the inhibition circuitry 240 prevents any one of the first request-input signals 801, 802 and 80, which are requesting access to a resource which is unavailable for access from reaching the decision weighting circuitry 210, 220 and 230, thereby reducing the processing load on the weighting circuitries 210, 220 and 250.
The first, second and third burst access circuitry 250, 260 and 270 operate to allow the request of a burst access to a first resource to be shuffled with the request to a second different resource, as described in relation to Figure 3e. The first burst access circuitry 250 is connected to receive the input. request signal 82 and requester- input address signal 85 cfL the first requester- input sianal 80, and the output grant signal 1011 if asserted. The first burst access circuitry 250 produces a fourth suspension signal 251 which is used to deactivate the fourth gate 281 and prevent the first requester-input signal 80 reaching the first weighting circuitry 210 and a first interconnection signal 252 which is provided to a bus 280 and thence to the second and third burst access circuitry 260 and 270. The second burst access circuitry 260 is connected in a analogous manner receiving signals from the first requester-input signal 80. and the output grant signal 1012 and produces a fifth suspension signal 261 for controlling the ffifth gate 282 and a second interconnection signal 262 onto the bus 280. The third burst access circuitry 270 is connected in an analogous manner receiving signals from the first requester-input signal 80, and the output grant signal 101, and produces a sixth suspension signal 271 for controlling the sixth gate 283 and a third interconnection signal 272 for 27 provision on the bus 280.
The operation of the first, second and third burst access circuitry 250, 260 and 270 will now be explained on the assumption that the first requester-input signal 80, has requested a burst access and has been granted said access by the arbitration circuitry 110. The input request signal 82 of the first requester-input signal 80, contains a flag indicating that the request is for a burst access at a resource represented by the requester-input address signal 85 of the f'irst requesterinput signal 80,. The output grant signal 1011 will be asserted high indicating that the arbitration circuitry has granted the request for burst access. The other output grant signals 1012 and 101. will not be asserted. The first burst access circuitry 250 responds to its input signals to produce a fourth suspension signal 251 which controls the fourth gate 281 to allow the first requester-input signal 80, to be received at the first weighting circuitry 210 for the duration of the burst access. The first burst access circuitry 250 also produces a first interconnection signal 252 which indicates to the second and third burst access circuitry 260 and 270 that a burst access has been granted andwhich indicates the resource at which the burst access has been granted. Subsequently, for the duration of the burst access, the second and third burst access circuitry 260 and 270 are responsive to the first interconnection signal received respectively as the second interconnection signal 262 and third interconnection signal 272 from the bus 280 to prevent the first requester-input signal 802 and 803 reaching the second or third weighting circuitries 220 and 230 if they are addressing the resource at which a burst access has been granted. For example, the second burst access circuitry 260 compares the identification of the resource at which a burst access has been granted supplied as second interconnection signal 262 with the identity of the resource addressed by the requester-input address signal 85 of the first requester-input signal 802. If the second burst access circuitry finds identity between these resources it asserts the fifth suspension signal 261 causing the fifth gate 282 to prevent 28 the passage of the first requester-input signal 802 to the second weighting circuitry 220. When the burst access has finished, the first interconnection signal 252 is disabled and the first, second and third burst access circuitry 250, 260 and 270 return to their normal state in which the fourth, fifth and sixth suspension signals 251, 261 and 271 are such that the fourth fifth and sixth gates 281, 282 and 283 are conductive allowing the first requester-input signals to reach the weighting circuitries.
Each of the first, second and third decision weighting circuitries 210, 220 and 230 comprise first and second determinators 214 and 216 and a combiner 218 for combining the outputs from the first and second determinators. The operation of the first, second and third decision weighting circuitry are similar and only the operation of the first decision weighting circuitry will be described.
The first determinator 214 receives as inputs the address signal 85, the requester- input!D signal 87 and the input read-not-write signal 83 and provides an output signal 215. The f irst determinator 214 stores a value indicating to which of the first, second or third inputs to the arbitration circuitry it is connected. The first determinator uses this value by itself, or in combination with the requester-input ID signal 87 to identify the functional element from which a request has been received. It uses the input read-not-write signal 83 to determine the type of operation which has been requested, and the requester-input address signal 85 to determine at which resource the access has been requested. The first determinator 214 uses this information to assign a particular priority to the access which has been requested. It produces an output signal 215 which reflects L-his priority. The higher the priority the greater the value of the output signal.
The second determinator 216 receives the input request signal 82 and the output grant signal 101 and produces an output signal 29 217. It determines how long an access has been requested without being granted. A counter counts the number of clock cycles for which the input request signal 82 has been asserted and the counter is reset by the receipt of the input grant signal 101, or a change in the request signal 82. The second determinator 216 produces an output signal 217 which increases in value as the count in the counter (timed from the last granted access) increases. This allows the requests received at the different requester interfaces of the switch to be shuffled and intermittently presented to the next level of hierarchy. The operation of the second determinator 216 may optionally be disabled.
The combiner 218 combines the signals from the first and second determinators and the fourth decision weighting circuitry to produce the first weighting signal 201. The combiner multiplies the signals it receives to produce the f irst weighting signal 201.
The decision circuitry 200 receives first, second and third weighting signals 201, 202 and 203 from the first, second and third decision weighting circuitry 210, 220, and 230. The decision circuitry 200 produces a requester output ID signal 77 and asserts one of the output grant signals 1011, 1012, and 1013 as an output from the arbitration circuitry.
The decision circuitry 200 determines which of the first, second and third weighting signals 201, 202 and 203 is the largest. If the first weighting signal 201 is the largest the output grant signal 101- is asserted and the grant signals 1012 and 101, are disasserted and the two bit requester output ID signal 77 is set to 0 1. if the second weighting signal 202 is the largest thle grant signal 1012 is asserted and the other grant signals are disasserted and the two bit requester output ID signal 77 is set to 1 0. If the third weighting signal 203 is the largest the output grant signal 1013 is asserted and the other grant signals are disasserted and the two bit requester output ID signal 77 is set to 1 1.
The arbitration circuitry 110 after receiving the first requester-input signals 80,, 802 and 803, decodes and arbitrates those signals within a single clock cycle to produce a requesteroutput 10, signal 77 and output grant signal 101.
Figure 7 illustrates an electrical system for sharing a resource 3. Where references in Figure 7 are the same as those in Figure la they relate to the same structural or funct'ional features. The system is modular having as interconnected modules a first functional element 7, a second functional element 9, a routing system 701, and a resource 3. The routing system 701 replaces the bus 5 in figure la. The resource 3 includes first, second, third and fourth resources 706, 708, 710 and 712. The first functional element 7 is connected to the routing system 701 via interconnect 703. The second functional element 9 is connected to the routing system 701 via interconnect 705. Each of the first, second, third and fourth resources 706, 708, 710 and 77-2 are connected to the routing system 701 via the respective interconnects 727, 729, 731 and 733. The routing system 701 controls the access of the first functional element 7 and the second functional element 9 to each of the first, second, third and fourth resources 706, 708, 710 and 712.
The components of the routing system 701 are also illustrated in Figure 7. The routing system includes a first decoder 714, a second decoder 716, a third decoder 718, and first, second, third and fourth switches 720, 722, 724 and 726. The first decoder 714 has a first input/output interface 740 connected to the interconnect 703, a second in-aut/output interface 741 connected to an interconnect 707 and a third input/output interface 742 connected:c an interconnect 709. The second decoder 716 has a first input/output interface 743 connected to the interconnect 705, a second input/output interface 744 connected to an interconnect 711, and a third innut/output interface 745 connected to an interconnect 713. The first switch 720 has a 31 first input/output interface 746 connected to the interconnect 707, a second input/output interface 747 connected to the interconnect 711 and a third input/output interface 762 connected to the interconnect 727. The third decoder 718 has a f irst input/output interface 748 connected to the interconnect 709 and a second input/output interface 749 connected to the interconnect 713, third, fourth, fifth, sixth, seventh and eighth input/output interfaces 750, 751, 752, 753, 754, 755 respectively make connection to interconnects 715, 717, 719, 721, 723, and 725. The second switch 722 has a first input/outpu interface 756 connected to the interconnect 715, a second input/output interface 757 connected to the interconnect 717 and a third input/output interface 763 connected to the interconnect 729. The third switch 724 has a first input/output interface 758 connected to the interconnect 719, a second input/output interface 759 connected to the interconnect 721 and a third input/output interface 764 connected to the interconnect 731. The fourth switch 726 has a first input/output interface 760 connected to the interconnect 723, a second input/output interface 761 connected to the interconnect 725 and a third input/output interface 765 connected to the interconnect 733. The interconnects illustrated in Figure 7 carry signals in both directions in the same manner as the interconnects of Figure la. The first and second decoders 714 and 716 decode the signal provided at the first input/output interfaces 740 and 743. if the signal received at the first input/output interface is addressed to the first resource 706 it is provided at the second input/output interface 741, 744, otherwise the signal is presented at the third input/output interface 742, 745. The third decoder 718 decodes the signal received at its first input/output interface 748 and provides it at its third, fifth or seventh input/output interface 750, 752, '754 respectively depending on whether that signal is addressed to the second, third or fourth resource 708, 710, or 712. The signal received at the second input/output interface 749 of the third decoder 718 is provided at the fourth, sixth or eighth input/output interface 751, 753, 755 of the third decoder 718 respectively depending on 32 whether that signal is addressed to the second, third or fourth resource 708, 710 or 712. Each of the first, second, third and fourth switches 720, 722, 724 and 726 arbitrate between the signals received at their first input/output interface and their second input/output interface and provide one of those signals at the third input/output interface.
The switch 11 illustrated in Figure 2a and Figure 5 is suitable for use as any one of the first, second, third or fourth switches 720, 722, 724 or 726. In this context, the first input/output interfaces of the switches each have a second requester- interface 35 in combination with a second receiver- interface 43, the second input/output interfaces of the switches each have a third requester- interface 37 in combination with a third receiverinterface 45, the third input/output interfaces of the switches each have a first requester-interface 33 in combination with a first receiverinterface 49 Each of the first, second, third and fourth resources 706, 708, 710 and 712 may have a structure similar to that of the third functional element 19 illustrated in Figure 2b. Each of the resources will therefore have functional circuitry 57, a requester 31 and a receiver 41. The requester and receiver of each resource via their first requester-interface 33 and their first receiver-interface 49 make respective connection to the first requester-interface 33 and first receiver-interface 49 of the first, second, third and fourth switches.
The first functional element 7 and the second functional element 9 may also have circuitry similar to that illustrated in Figure 2b. The first decoder 714 and third decoder 718 then connect respectively the first requester-interface 33 and first requester-interface 49 of the first functional element 7 to the second requester-interface 35 and second receiver-interface 43 of the first input/output interface 746, 756, 758, 760 of any one of the first, second, third, or fourth switches. The second decoder 716 and the third decoder 71-8 connect respectively the 33 first requester interface 33 and first receiver interface 49 of the second functional element 9 to the third requester- interface 37 and third receiver- interface 45 of the second input/output interface 747, 757, 759 and 761 of any one of the first, second, third or fourth switches.
A first requester-output signal 70 produced at the first requester interface 33 of the first functional element 7 is routed by the first decoder 714 and if necessary the third decoder 718 to the second requester-interface 35 of one of the first, second, third or fourth switches 720, 722, 724, or 726, in dependence on whether the requesteroutput address signal 75 of the first requester- output signal 70 addresses the first, second, third or fourth resource. Similarly the first requesteroutput signal 70 from the first requester- interface 33 of the second functional element 9 is directed by the second decoder 716 and if necessary the third decoder 718 to the third requesterinterface 37 of one of the first, second, third or fourth switches, in dependence on whether the requester-output address signal 75 indicates the first, second, third or fourth resource. Each of the first, second, third and fourth switches 720, 722, 724 and 726 arbitrate between the signals received at their second and third requester interfaces 35,37 to produce a signal at their first requester- interface 33, in the same manner as described in relation to Figure 5. The switches 720, 722, 724 and 726 directly access the first, second, third and fourth resources. When the access has been completed a first receiverinput signal 90 is returned to the first receiver-interface 49 of the switches. The signal is directed back through the appropriate decoders to be received at the first receiverinterface 49 of the first functional element 7 or the second functional element 9.
Although in the context of Figures la, 1b and 7 the systems have been described as modular they may be formed as integrated circuits. In particular the second functional element 9 and routing system 701 may be formed as integrated circuits.
34 Figure 8a illustrates how digital television signals 809, 811, and 813 can be transmitted via a cable, satellite or terrestrial television channel 852 and be viewed on a television 890. The first, second and third television signals 809, 811 and 813 each represent the audio and video signals necessary to recreate a television programme on input to a television. The digital television signals 809, 811, and 813 are source encoded and channel encoded by a transmitter 850 to produce a modulated analogue signal 835 for transmission into the channel 852. An integrated receiver decoder (also known as a set-top-box) 880 receives the modulated analogue signal 835 from the channel 852 and produces a video signal 839 which operates the television 890.
The operation of the transmitter 850 will now be explained. The transmitter includes a source encoder 810 and a channel encoder 840. The source encoder includes - first, second and third MPEG2 encoders 812, 814 and 816; first second and third packetisers 818, 820, and 822; first, second and third scramblers 824, 826 and 828 and a multiplexer 830. The first, second and third MPEG2 encoders respectively receive the first, second and third television signals and encode the signals to produce first, second and third elementary bit streams 815, 817 and 819. The first, second and third packetisers respectively receive the first, second and third elementary bit streams and packetise them to produce first, second and third packetised elementary bit streams (PES) 821, 823 and 825. The packetising of an elementary bit stream includes creating a series of packets which contain a packet header and a data portion. The first, second and third scramblers receive respectively the first, second, and third oacketised elementary bit streams (PES) and produce first, second, and third scrambled PES 827, 829 and 831. The multiplexer 830 receives as inputs packetised sections of tables 841, and the first, second and third scrambled PES 827, 829 and 831 and produces a transport stream 801. The packetised sections Of- tables 841 contains information which allows the set-top-box B80 to effect source decoding and produce the video signal 539.
The information is stored in a tabular format where each table contains a number of sections and each section is transmitted individually. The multiplexer 830 produces a transport stream 801 such as that illustrated in Figure 8b. The transport stream includes a number of transport packets 802 where each transport packet contains a transport packet header 804 and a transport packet payload 806. The transport packets have a fixed length which is dependent upon the estimated error in the channel 852 and will be shorter if the channel is noisy. In the digital video broadcast (DVB) standard the transport packet is 188 bytes in length. The transport packets are shorter in length than the packets in the packetised elementary stream. Consequently, in the transport stream 801, a packet from the first scrambled PES 827 will be spread over a number of transport packets and these transport packets will be multiplexed with transport packets derived from the packetised sections of tables 841 and the second and third scrambled PES 829, 831. The transport stream is then supplied to the channel encoder 840 to produce the modulated analogue signal 835.
The channel encoder 840 includes circuitry 832 for forward error correcting (FEC) the transport stream 801 and converting the signal from digital to analogue (DAC) to produce an analogue signal 833. The analogue signal 833 is modulated and upconverted to a transmission frequency by the circuitry 834 to produce the modulated analogue signal 835, which is then transmitted into the channel 852.
The operation of the set-top-box 880 will now be explained. The set-topbox 880 includes a channel decoder 860 and a source decoder 870. The channel decoder 860 receives the modulated analogue signal 852 and supplies the transport stream 801 to the source decoder 870. The channel decoder 860 includes circuitry 862 for tuning to the modulated analogue signal 852, and for down-conve-rting and demodulating the modulated analogue signal 835 to produce an analogue signal 837. The analogue signal 837 is converted from analogue to digital (ADC) and forward error 36 corrected (FEC) by the circuitry 864 to reproduce the transport stream 801. The source decoder 870 receives the transport stream 801 and produces the video signal 839. The source decoder 870 includes a programmable transport interface (PTI) 960 and MPEG-2 decoder 872. The PTI 960 demultiplexes the transport stream 801, selects the transport - packets 802 carrying information relating to a particular television programme, and descrambles these selected transport packets to produce a data output stream 956, which is in fact the packetised elementary bit stream of the selected television programme. The MPEG-2 decoder 872 receives the data output stream 956 and produces the video signal 839 which is supplied to the television 890. The television 890 displays the selected television programme.
Figure 8b illustrates a portion of the transport stream 801 having a series of N transport packets 802. Each transport Dacket 802 comor-Jses a transport packet header 804 and a transport packet payload 806. The transport stream is a bit stream which carries in the transport packet payloads 806 information cL:or recreating a number of different television programmes. Each particular television programme requires three types of information (audio information, video information and tables of programme information) for its recreation. Each transport packet 802 is preferably associated with a particular television programme, a particular source encoding time and a particular one of the information types. The individual transport packets are time division multiplexed to form the -ransport stream and allow the real-time recreation of a selected one of the different television programmes. To recreate a television programme the transport stream is sequentially demultiplexed to recover only the transport payloads 806 of audio information, video information and table c -LE programme information which are associated with the selected television programme. The recovered payloads are then decoded and used to recreate the selected television programme.
According to the digital video broadcast standard (DVI) each of 37 the transport packets 802 is 188 bytes long and the transport packet header 804 is 4 bytes long. The payload 806 contains either packetised audio or video information or sections of a table of programme information. The audio and video information in the payloads 6 have been packetised and encoded in accordance with the MPEG-2 compression standard in the DVB standard.
The transport packet header 804 contains a synchronisation byte which identifies the beginning of each transport packet 802, a packet identification (PID) which identifies ' the information type and the television programme associated with the transport packet payload 806 and information identifying the time at which of the transport packet was source encoded. The transport packet header 804 including the synchronisation byte and the PID is not scrambled. The transport packet payload 6 may be scrambled.
The programmable transport interface 960 is illustrated in Figure 9. It receives the transport stream 801 and produces a data output stream 956 and an alternative output stream 906. The alternative output stream 906 may be an output derived from the transport stream 801 for example by private encryption or changing the communication standard under which the transport stream has been prepared. The programmable transport interface (PTI) 960 performs the following functions amongst others. The PTI 960 uses the synchronisation byte to identify the start of a transport packet 802, it uses the packet identification (PID) to identify the type of information contained in the packet and the television programme it represents, and it descrambles the transport packet payloads 806 and demultiplexes the transport stream 801 to produce the data output stream 956. The data output stream, comprises a stream of audio information associated with the selected television programme, a stream of video information associated with the selected television programme and tables of programme information associated with the selected television programme. The PTI 960 then outputs these streams to the necessary decoders to reproduce the selected television programme.
38 The programmable transiDort interface 960 comprises six functional blocks: the input module 900; the transport controller 920; the instruction SRAM (Static Random Access Memory) 930; the data SRAM 940; and the multi-channel DMA (Direct Memory Access) 950.
The input module 900 has a transport stream input interface 902 for receiving the transport stream 801 and an alternative stream output interface 904 for outputting the alternative output stream 906. The input module 900 identifies the synchronisation byte of each transport packet which is used to synchrohise the system clock and the transiDort stream. The input module 900 is controlled by the transport controller 920 via an input module control signal 912 which includes a descrambling control signal 914, an alternative stream control signal 916 and an output stream control signal 918. The input module 900 provides bits to the transport controller 920 via an interconnect 908 and it receives bits back from the t--anspcrt controller 920 via the interconnect 110. The input module 900 under the control of the transport controller 920 descrambles the payload 806 of selected transport packets 8C2 and supplies the selected, demultiplexed and descrambled payloads to the transport controller 920 via the interconnect 908. The descrambling of the payloads is controlled by the descrambling control signal 914 and the number and rate of bits supplied on the interconnect 908 is controlled by the output stream control signal 918. The input module 900 receives along the interconnect 910, bits from the transport controller 920 which may be output as the alternative output stream 906 under the control of the alternative stream control signal 916. The operation of the input module is described in more detail in copending Patent Application (Agents reference The transport controller 920 operates on the bits received on interconnect 908 from the -n:)ut module 900. The transport controller 920 receives from the input module 900 via interconnect 908 the transport packet header 804 of the transport packet 802 arriving at the transport stream input interface 902. The transport controller 1920 uses the packeu identification (PIDi 39 in the transport packet header 804 to determine whether the transport packet 802 now entering the input module 900 via transport stream input interface 902 is associated with a selected television programme. If it is not the received transport packet 802 is discarded. If it is, it controls the input module 900 to descramble and supply the transport packet payload 806 via the interconnect 908 to the transport controller 920. The transport controller 920 may pass a payload 806 associated with audio or video information for the selected programme straight to the multi-channel DMA via iiterconnect 952. If the payload 806 relates to a section of a table of programme information the transport controller 920 may process the information before providing it at its output 952. Alternatively the transport controller 920 may process the received payloads 806 and repacketise them in accordance with a different transmission standard. The reformatted transport stream is then provided to the input module 900 via the interconnect 910 and it is output as the alternative output stream 906 under the control of the alternative stream control signal 916.
The transport controller 920 comprises a transport controller processor (not shown in Figure 9) which reads instructions from the instruction SRAM 930. The transport controller 920 is connected to the SRAM 930 by interconnect 934 and it reads its instructions via the interconnect 934. A CPU (not shown in Figure 9) may read and write to the instruction SRAM 930 via the interface 302 allowing the transport controller instruction to be varied. However, the transport controller 920 has preferential access to the instruction SRAM 930.
The data SRAM 94,0 can be read from and written to by the transport controller processor via the interconnect 944. A search engine (not shown in Figure 9) within the transport controller 920 reads from the data SRAM 940 via interconnect 946. The search engine associates a pointer with each of the programme identifications (PIDs) in the transport packet headers 804. The data SRAM 940 stores at a location indicated by the pointer the information associated with a transport packet 802 having a particular PID. This information is read over interconnect 946 and it enables the transport controller to control the production of the input module control signals 912 and the processing of the bits received on interconnect 908. The data SRAM 940 can be written to and read from by the system processor via the interface 902. Access to the data SRAM 940 is arbitrated with the following order of decreasing priority: search engine, transport controller processor, CPU. The transport controller 920 may be reset by the system processor by reset signal 922.
The transport controller 920 produces a transport controller output which is supplied to a multi-channel DMA 950 via interconnect 952. The multichannel DMA 950 has an external memory interface 954 which supplies the data output stream 956 to decoders (not shown in Figure 9).
Figure loa illustrates a source decoder 870 in a set-top-box 880. The source decoder 870 uses a bus 5 and a hierarchical structure similar to that illustrated in Figure la. The system includes the following elements: a CPU 1000, a bus 5, a switch 11, an MPEG-2 decoder 872, a decoder memory 1002, an arbiter 1004 and the components of a programmable transport interface 960 including the data SRAM 940, the instruction SRAM 930, the transport controller 920 and the input module 900. The transport controller 920 includes a search engine 1060 and a transport controller processor 1070. The input module 900 of the PTI receives a transport stream 801 and the MPEG-2 decoder 872 produces the video signal 839 for supply to a television. The data SRAM 940, instruction SP-AM 930 and decoder memory 1002 are -resources connected to the bus 5. The CPU 1000, the search engine 1060 within the transport controller 920, the transport controller processor 1070 and the switch 11 are functional elements in the first. level of hierarchy of the system and are each connected to the bus 5. The arbiter 1,004 arbitrates to determine which c-j':: the functional elements should gain access to the bus 5 and to the resources. Thetransport controller 920 and 41 the MPEG-2 decoder 872 are functional elements in the second level of hierarchy of the system and are each connected as inputs to the switch 11. The switch 11 arbitrates between the transport controller 920 and the MPEG-2 decoder 872 to determine which should have access to the first level of hierarchy and therefore be able to compete with the CPU 1000 and the search engine 1060 for access to the bus 5 and the resources. The transport controller 920 supplies the data output stream 956 via the switch 11 to the decoder memory 1002. The MPEG-2 decoder 872 reads from the decoder memory 1002 via the switch ll,' and uses the information read from the decoder memory 1002 to produce the video signal 839 for supply to a television. The switch 11 arbitrates between the writing to the decoder memory 1002 by the transport controller 920 and the reading from the memory 1002 by the MPEG-2 decoder 872.
Figure lob illustrates a source decoder 870 in a set-top-box 880. The source decoder 870 includes a PTI 960 (including data SRAM 940, instruction SRAM 930, and a transport controller 920 which includes a search engine 1060 and a transport controller processor 1070); MPEG-2 decoder 872; CPU 1000; decoder memory 1002; and routing system 701. This figure differs from Figure loa in that a hierarchical system similar to that illustrated in Figure 7 is used which does not necessitate the use of a bus. The routing system 701 includes a first decoder 1040, a second decoder 1050, and first, second, and third switches 1010, 1020, and 1030 which respectively request access to the data SRAM 940, the instruction SRAM 930 and the decoder memory 1002. The CPU 1000 requires access to the data SRAM 940 and the instruction SRAM 930 and its output is decoded by the first decoder 1040 and input to either the first switch 1010 or the second switch 1020. The search engine 1060 requires access to the data SRAM 940 and is connected as an input to the first switch 1010. The transport controller processor 1070 requires access to the data SRAM 940 and the instruction SRAM 930, and its output is decoded by the second decoder 1050 and input to either the first switch 1010 or the second switch 1020.The transport controller 920 requires 42 access to the decoder memory 1002 and its output is supplied as an input to the third switch 1030. The MPEG-2 decoder 872 requires access to the decoder memory 1002 and it is connected as an input to the third switch 1030. The first, second and third switches are similar to the switches described in relation to Figures la, lb, 2a, 5 and 7. The first switch 1010 arbitrates between a request for access to the data SRAM 940 from the CPU 1000, the search engine 1060 and the transport controller processor 1070. The second switch 1020 arbitrates between requests for access to the instruction SRAM 930 f= the CPU 1000 and the transport controller processor 1070. The third switch 1030 arbitrates between requests for access to the decoder memory 1002 from the transport controller 920 and the MPEG-2 decoders 872.
43

Claims (36)

CLAIMS:
1. A hierarchical system for accessing resources comprising: switch means, occupying a first level of hierarchy, arranged to request access to said resources by providing, to a higher level of hierarchy, output request signals requesting access to resources and having memor-y means for logging requests made to resources; first functional circuitry, occupying a second, lower, level of hierarchy, arranged to request access to said resources via said switch means by providing to said switch means, first request signals requesting access to resources; second functional circuitry, occupying the second level of hierarchy, arranged to request access to said resources via said switch means by providing, to said switch means, second request signals requesting access to resources; and interconnection means connecting said first circuitry to said switch means and said second circuitry to said switch means, wherein said switch means, comprises arbitration circuitry for selecting responsive to said first and second request signals, one of said first functional circuitry or said second functional circuitry to request access via said switch means, and is responsive to said selection to provide an output request signal requesting access to a resource, and log the request in the memory means and wherein the switch means is arranged to selectively provide a reply from said resource, responsive to the output request signal, to the appropriate one of the first or second functional circuitry by accessing said memory means.
2. A hierarchical system as claimed in claim 1, wherein said switch means, is responsive to the selection of said first functional circuitry or said second functional circuitry, to provide a grant signal to the selected circuitry.
3. A hierarchical system as claimed in claim 1 or 2, wherein said first reauest signal comprises a request signal and a simultaneous first address signal, and said second request signal 44 comprises signal.
a request signal and a simultaneous second address
4. A hierarchical system as claimed in any preceding claim, wherein said first and second functional circuitry each request access to a resource by using a f irst request protocol including the assertion of the f irst request signal and second request signal respectively, wherein said switch uses the same f irst request protocol including the assertion of the output request signal, to request the access of the switch to the resource.
5. A hierarchical system as claimed in any preceding claim, wherein said switch means selects one of said f irst or second functional circuitry and provides the first or second request signal, respectively, as the output request signal.
6. A hierarchical system as claimed in claim 5, wherein the switch means further comprises a multiplexer having a plurality of inputs and an output, wherein a first multiplexer in-out receives the first request signal, a second multiplexer input receives the second request signal and the multiplexer output provides -the output request signal, said multiplexer being controlled by the arbitration circuitry.
7. A hierarchical system as claimed in any preceding claim, wherein the switch means further comprises a register for storing an output request signal before its presentation to the higher level of hierarchy.
8. A hierarchical system as claimed in any preceding claim, wherein said switch means has a memory for logging data identifying the output request signals.
9. A hierarchical system as claimed in claim 8, wherein 1Che arbitration circuitry is connected to introduce a first identification signal into the output request signal and --c store data identifying the first identification signal in the memory.
10. A hierarchical system as claimed in claim 9, wherein the arbitration circuitry is connected to introduce the first identification signal into the output request signal by replacing a second identification signal in the selected one of the first or second request signals with the first identification signal and is arranged to associate the first and second identification signals in the memory.
11. A hierarchical system as claimed in claim 9 or 10 when dependent upon claim 6, wherein the arbitration circuitry controls the multiplexer by means of the first identification signal.
12. A hierarchical system as claimed in claim 11, wherein said memory comprises a plurality of FIF0s wherein the FIF0s log the second identification signal of each output request signal output from the switch means, wherein each second identification signal is logged in a FIFO selected in dependence upon the first identification signal replacing it.
13. A hierarchical system as claimed in any preceding claim, wherein said switch further comprises a demultiplexer having an input coupled to the next highest level of hierarchy and a first output connected to the first functional circuitry, and a second output connected to the second functional circuitry and a control means connected to control the output of the demultiplexer in dependence upon an input signal received from the higher level of hierarchy.
14. A hierarchical system as claimed in claim 13 when dependent upon claim 8, wherein the control means is arranged to access the memory.
15. A hierarchical system as claimed in claim 13 when dependent unon claim 9, wherein the control means is arranged to select the multiplexer output in dependence upon a third identification signal in the input signal supplied from t-he higher level of 46 hierarchy.
16. A hierarchical system as claimed in claim 15 when dependent upon claim 10, wherein the control means is arranged to replace the third identification signal in the input signal with a fourth identification signal, wherein the third and fourth identification signals respectively correspond to the first and second identification signals associated in the memory.
17 A hierarchical system as claimed in any p'receding claim, wherein said arbitration circuitry is arranged to initiate a continuous series of requests for accessing the same resource or different resources.
18. A hierarchical system as claimed in claim 17, wherein the initiation of a request within the series is independent of the completion of accesses requested previously.
19. A hierarchical system as claimed in claim 16 or 17, wherein said arbitration circuitry is arranged to receive a plurality of status signals wherein each status signal identifies whether a resource is capable of being accessed, and is arranged to arbitrate between said first request signal and said second request signal which are requesting access to resources having status signals indicating that they are capable of being accessed, to select one of said request signals from the first or second functional circuits.
20. A hierarchical system as claimed in claim 19, wherein said arbitration circuitry selects an input request signal -from a plurality of -Jnpu, request signals in dependence upon the identity of the resources to which --'---e input request signals request access.
21. A hierarchical system as claimed in claim 19, wherein said arbitration circuitrv selects an input request signal from a plurality of input request signals in dependence upon the 47 identity of the functional circuitry from which said request is received.
22. A hierarchical system as claimed in claim 19, wherein said arbitration circuitry selects one of said f irst or second request signals in dependence upon whether the request signals are requesting access to perform a read operation or a write operation at a resource.
23. A hierarchical system as claimed in any p 1 receding claim, wherein said arbitration circuitry receives a clock signal having a constant clock cycle wherein said arbitration circuitry arbitrates between said first and second request signals and provides said output request signal within a single clock cycle.
24. A hierarchical system as claimed in any preceding claim, further comprising third functional circuitry, for accessing said resources. occupying a first level of hierarchy, wherein said first and second functional circuitry can withstand a greater latency than said third functional circuitry.
25. A hierarchical system as claimed in any preceding claim, wherein said first functional circuitry comprises a second switch means, in the second level of hierarchy, and fourth and fifth functional circuitry, in a third level of hierarchy, interconnected to the switch means in the first level of hierarchy, via said second switch means in the second level of hierarchy.
26. A hierarchical system as claimed in any preceding claim, further comprising a bus in the higher level of hierarchy for interconnecting the switch means to the resources.
27. A hierarchical system as claimed in any preceding claim, wherein said first functional circuitry comprises decoding circuitry.
4 8
28. A hierarchical system as claimed in claim 27, wherein said decoding circuitry has two outputs, a first output interconnected to the switch means and a second output for interconnection to a resource.
29. A hierarchical system as claimed in claim 28, further comprising a third switch means for requesting access to the resource wherein said second output of the decoding circuitry is connected to the third switch means.
30. A hierarchical system as claimed in any one of claims 27 to 29, wherein said decoding circuitry receives an input from fourth functional circuitry.
31. A hierarchical system as claimed in any one of claims 1 to 30, wherein said system is modular, with each of the first and second circuitry and the switch being separate modules.
32. A hierarchical system as claimed in any one of claims 1 to 30, wherein said system is part of an integrated circuit.
33. A source decoder having a hierarchical system as claimed in any one of claims 1 to 32, wherein said resource(s) is memory and said functional circuitry includes decoding means and demultiplexing and descrambling means.
34. A set-top box comprising a source decoder as claimed in claim 33.
35. A method of providing a hierarchical system comp-rising a plurality of functional elements for accessing a resource, comprising the steps of:
providing a first functional element requiring a 'Last access to said resource in a first level of hierarchy; nroviding a switch in the first level of hierarchy which requests access to said resource by providing, to a higher level of hierarchy, a recues-L signal received from a second functional 49 element in a second, lower, level of hierarchy; providing second functional elements which do not require a fast access to said resource in the second level of hierarchy and which requests access to said resource via said switch by providing request signals requesting access to the resource; connecting said second functional elements in said second level of hierarchy to the switch in said first level of hierarchy; interconnecting said switch means and said other elements in the first level of hierarchy with said resource and providing second arbitration means for arbitrating the access of the switch means and the first functional element to the resource.
36. A method of providing a hierarchical system comprising a plurality of functional elements for accessing a resource, comprising the steps of: providing a first switch, in a first level of hierarchy, arranged to request access to said resources by providing to a higher level of hierarchy output request signals requesting access to the resources and having arbitration means and memory means; providing a first sub-set of the plurality of functional elements in a second level of hierarchy, wherein each functional element is arranged to request access to said resources via said switch by providing to a higher level of hierarchy request signals requesting access to the resources, and said sub-set of functional elements includes a second switch having arbitration means and memory means; providing a second sub-set of functional elements in a third level of hierarchy, wherein each functional element is arranged to request access to said resources via said second switch by providing to a higher level of hierarchy request signals requesting access to resources, wherein each of the first and second switches receives request signals from a lower level of hierarchy, arbitrates, and provides one of those request signals to the higher level of hierarchy, and each of the f irst and second switches receives a response from the higher level of hierarchy and provides said received response to the correct functional element in the level of hierarchy below, by accessing said memory means.
GB9802106A 1998-01-30 1998-01-30 A hierarchical system for accessing resources Expired - Fee Related GB2336274B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9802106A GB2336274B (en) 1998-01-30 1998-01-30 A hierarchical system for accessing resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9802106A GB2336274B (en) 1998-01-30 1998-01-30 A hierarchical system for accessing resources

Publications (3)

Publication Number Publication Date
GB9802106D0 GB9802106D0 (en) 1998-04-01
GB2336274A true GB2336274A (en) 1999-10-13
GB2336274B GB2336274B (en) 2003-05-21

Family

ID=10826232

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9802106A Expired - Fee Related GB2336274B (en) 1998-01-30 1998-01-30 A hierarchical system for accessing resources

Country Status (1)

Country Link
GB (1) GB2336274B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676699A2 (en) * 1994-04-04 1995-10-11 Symbios Logic Inc. Method of managing resources shared by multiple processing units
GB2301001A (en) * 1995-05-15 1996-11-20 Hyundai Electronics Ind Arbitration using LRU algorithm
EP0810529A1 (en) * 1996-05-31 1997-12-03 Sun Microsystems, Inc. Fast arbiter with decision storage

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996035173A1 (en) * 1995-05-03 1996-11-07 Apple Computer, Inc. Arbitration of computer resource access requests
US6385678B2 (en) * 1996-09-19 2002-05-07 Trimedia Technologies, Inc. Method and apparatus for bus arbitration with weighted bandwidth allocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676699A2 (en) * 1994-04-04 1995-10-11 Symbios Logic Inc. Method of managing resources shared by multiple processing units
GB2301001A (en) * 1995-05-15 1996-11-20 Hyundai Electronics Ind Arbitration using LRU algorithm
EP0810529A1 (en) * 1996-05-31 1997-12-03 Sun Microsystems, Inc. Fast arbiter with decision storage

Also Published As

Publication number Publication date
GB9802106D0 (en) 1998-04-01
GB2336274B (en) 2003-05-21

Similar Documents

Publication Publication Date Title
US6859850B1 (en) Controller for controlling direct memory access
US5574505A (en) Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
CN1443008A (en) Information package program component detecting method
MXPA96001816A (en) Method and apparatus for operating a decorrient transportation packet for data representing a plurality of signals decomposes
US7248602B2 (en) Flexible filtering
US6618778B1 (en) Arbiter for arbitrating between a plurality of requesters and method thereof
US7958321B2 (en) Apparatus and method for reducing memory access conflict
US6826776B1 (en) Method and apparatus for determining signal path
EP0940756B1 (en) Shared memory access
US8032910B2 (en) System for receiving transport streams
US7730515B1 (en) Digital receiver demultiplexer
US8650346B2 (en) Method and bus system for equalizing data information traffic and decoder
JP2002055942A (en) Arbiter and bus system employing the same
KR19980087236A (en) Demultiplexer and Demultiplexing Method
GB2336274A (en) Arbitration circuitry
GB2337138A (en) Arbitrating between a plurality of requests to access resources
GB2336275A (en) Arbitration circuitry
GB2336273A (en) Arbitration circuitry
US20060184702A1 (en) Apparatus and related method for sharing address and data pins of a cryptocard module and external memory
JPH10174069A (en) Packet multiplex method and reproduction method
JP3769477B2 (en) Demultiplexing circuit
JPH11266447A (en) Integrated circuit and circuit integration method
KR100280983B1 (en) Digital converter of multichannel video signal
JPH05284540A (en) Encoder and decoder
US20110019827A1 (en) Information processing apparatus

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20070130