FR2894696A1 - Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant - Google Patents

Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant Download PDF

Info

Publication number
FR2894696A1
FR2894696A1 FR0553872A FR0553872A FR2894696A1 FR 2894696 A1 FR2894696 A1 FR 2894696A1 FR 0553872 A FR0553872 A FR 0553872A FR 0553872 A FR0553872 A FR 0553872A FR 2894696 A1 FR2894696 A1 FR 2894696A1
Authority
FR
France
Prior art keywords
bus
access
master
data
peripherals
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.)
Pending
Application number
FR0553872A
Other languages
English (en)
Inventor
Renaud Dore
Ludovic Jeanne
Patrick Fontaine
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to FR0553872A priority Critical patent/FR2894696A1/fr
Priority to EP06819883A priority patent/EP1960891A1/fr
Priority to CN2006800474571A priority patent/CN101331469B/zh
Priority to PCT/EP2006/069181 priority patent/WO2007068606A1/fr
Priority to JP2008544948A priority patent/JP2009519524A/ja
Priority to KR1020087014190A priority patent/KR20080080538A/ko
Priority to US12/086,457 priority patent/US20100122000A1/en
Publication of FR2894696A1 publication Critical patent/FR2894696A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter

Abstract

Selon l'invention, un bus (10) est destiné à être relié à un maître principal (22) à des maîtres secondaires (32), le bus étant adapté à la transmission de données entre les périphériques. Afin de garantir un débit minimal et/ou une latence maximale entre les maîtres secondaires lorsque le maître principal utilise une faible fraction du temps disponible sur le bus, le maître principal a la plus forte priorité et le procédé d'accès au bus comprend :- une étape d'autorisation d'accès au bus au maître principal lorsqu'il demande l'accès au bus; et- une étape de sélection d'accès au bus à un des maîtres secondaires lorsque le périphérique maître principal ne demande pas l'accès au bus.

Description

Procédé d'accès à un bus de transmission de données, dispositif et système
correspondant.
1. Domaine de l'invention.
La présente invention concerne le domaine de l'électronique et de l'informatique et plus particulièrement les bus à hautes performances déterministes.
2. Arrière plan technologique.
Selon l'état de la technique, un bus local de processeur (ou PLB de l'anglais Processor Local Bus ) décrit en regard de la figure 9 dans la demande de brevet US687905 déposé par la société International Business Machines Corporation comprend plusieurs esclaves et maîtres. Aussi, une priorité d'accès au bus est définie pour les maîtres. Dans le PLB, le maître qui a la plus petite priorité a accès au bus uniquement lorsque un autre maître ayant accès au bus le libère. Cette technique présente l'inconvénient de ne pas garantir la bande passante et la latence pour chaque maître. Aussi, ce bus n'est pas adapté aux communications de bas niveau (notamment de type couche physique (ou PHY en abrégé) ou d'accès un canal de communication (ou MAC en abrégé de l'anglais Mac Access ). Il n'est pas non plus adapté à un partitionnement entre des ressources matérielles et logicielles.
3. Résumé de l'invention.
L'invention a pour but de pallier ces inconvénients de l'art antérieur. Plus particulièrement, l'invention a pour objectif de permettre un bus déterministe destiné à être relié à un périphérique maître principal de plus forte priorité et à des périphériques maîtres secondaires et donc de garantir un débit minimal et/ou une latence maximale pour un maître secondaire au bus, lorsque le maître principal utilise une faible fraction du temps disponible sur le bus. A cet effet, l'invention propose un procédé d'accès à un bus destiné à être relié à un périphérique maître principal de plus forte priorité et à des périphériques maîtres secondaires, le bus étant adapté à la transmission de données à destination et/ou en provenance des périphériques. Selon l'invention, le procédé comprend : - une étape d'autorisation d'accès au bus au périphérique maître principal lorsqu'il demande l'accès au bus ; - une étape de sélection d'accès au bus à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande pas l'accès au bus. Selon une caractéristique préférée, l'étape de sélection comprend : - une étape d'attribution d'un jeton tournant à chacun des périphériques maîtres secondaires, 10 - une étape d'autorisation d'accès au bus au périphérique maître secondaire qui a le jeton, lorsqu'il demande l'accès au bus. Avantageusement, l'étape de sélection comprend une étape d'arbitrage pour l'accès au bus entre les périphériques maîtres secondaires 15 lorsque le périphérique secondaire qui a le jeton ne demande pas l'accès au bus. Selon d'autres caractéristiques, l'étape d'arbitrage comprend : - une étape de sélection aléatoire d'un périphérique secondaire demandant l'accès au bus ; 20 - une étape de sélection du dernier périphérique secondaire ayant eu l'accès au bus qui demande l'accès au bus ; - une étape de sélection du périphérique secondaire qui demande l'accès au bus et qui n'a pas eu accès au bus depuis le plus longtemps ; ou 25 - une étape de sélection du périphérique secondaire qui demande l'accès au bus depuis le plus longtemps. Selon une caractéristique particulière, le procédé comprend une étape de sélection du type d'accès en écriture ou en lecture. Selon une autre caractéristique particulière, le procédé comprend 30 - une étape d'autorisation d'accès au bus en lecture au périphérique maître principal lorsqu'il demande l'accès au bus en lecture ; - une étape de sélection d'accès au bus en lecture à un des périphériques maîtres secondaires lorsque le périphérique 35 maître principal ne demande pas l'accès au bus en lecture ;5 - une étape d'autorisation d'accès au bus en écriture au périphérique maître principal lorsqu'il demande l'accès au bus en écriture ; et - une étape de sélection d'accès au bus en écriture à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande pas l'accès au bus en écriture. Selon une caractéristique avantageuse, le bus comprend au moins un périphérique esclave, le procédé comprenant un accès au bus en lecture et/ou en écriture à un périphérique autorisé pour transmettre des données à destination ou en provenance du ou au moins un des périphériques esclaves. L'invention concerne également un dispositif d'accès à un bus destiné à être relié à un périphérique maître principal de plus forte priorité et à des périphériques maîtres secondaires, le bus étant adapté à la transmission de données entre les périphériques ; avantageusement, le dispositif comprend : - des moyens d'autorisation d'accès au bus au périphérique maître principal lorsqu'il demande l'accès au bus ; et - des moyens de sélection d'accès au bus à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande pas l'accès au bus. L'invention se rapporte aussi à un système qui comprend : - un bus; - un périphérique maître principal de plus forte priorité relié au bus , - des périphériques maîtres secondaires de même priorité et reliés au bus ; et - un dispositif d'accès au bus tel que précisé précédemment selon l'invention ; le bus étant adapté à la transmission de données entre les périphériques. Avantageusement, le système comprend au moins un périphérique esclave relié au bus, le ou les périphériques esclaves ne pouvant pas demander l'accès au bus. Selon une caractéristique particulière, le ou les périphériques 35 sont des mémoires. Avantageusement, le périphérique maître principal comprend un microprocesseur.
Selon une caractéristique particulière, le périphérique maître principal comprend des moyens d'accès à un médium sans fil. Selon une caractéristique préférée, le système comprend un composant qui comprend le bus et au moins un des périphériques maîtres secondaires et, éventuellement, le périphérique maître principal.
4. Liste des figures. L'invention sera mieux comprise, et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels : - la figure 1 est un synoptique très schématique d'un système de communication selon un mode particulier de réalisation de l'invention ; - la figure 2 représente schématiquement la structure en couches du système de la figure 1 ; - la figure 3 détaille le système des figures 1 et 2 appliqué à un dispositif échangeant des données avec une couche d'accès au médium ; - la figure 4 présente un bus mis en oeuvre dans le système de la figure 1 ; - les figures 5 et 6 illustrent des chronogrammes lors d'échanges de données sur le bus de la figure 4 ; - la figure 7 présente un algorithme d'accès au bus de la figure 4 - les figures 8 et 9 présentent des exemples d'accès au bus de la figure 4 ; - les figures 10 et 11 illustrent des arbitres adaptés à gérer les accès sur le bus de la figure 4 ; et - la figure 12 présente un maître connecté au bus de la figure 4. 5. Description détaillée de l'invention. La figure 1 présente schématiquement un système de communication 1 selon un mode particulier de réalisation de l'invention. Le système 1 comprend : - unbus10; - un arbitre 13 gérant les accès au bus 10 ;35 - un maître périphérique principal 100 ayant la plus grande priorité pour accéder au bus 10 ; - des maîtres périphériques secondaires 110 à 112 connectés au bus 10 ; et - des esclaves 120 à 123. Les maîtres 110 à 112 sont adaptés à initier des transferts de données en lecture et/ou écriture sur le bus 10. Ils ont une priorité moindre que le maître 100 pour accéder au bus. Avantageusement, le nombre de maîtres n'est pas limité et peut prendre une valeur quelconque (par 10 exemple, 3, 10 ou 100). Plus le nombre de maîtres est élevé, plus les autorisations d'accès au bus doivent être gérées au mieux, le temps et la bande passante alloués à chacun des maîtres étant plus faibles en moyenne. L'invention permet notamment une fluidité dans les accès lorsque le nombre de maîtres est élevé. 15 Les esclaves 120 à 123 reçoivent et/ou transmettent des données sur le bus 10 et ne peuvent pas initier de transferts de données. D'une manière générale, selon l'invention, au moins un esclave est connecté au bus 10. La figure 2 représente schématiquement la structure en couches 20 du système 1. Plus précisément, le système 1 met en oeuvre au moins trois couches comprenant : - une couche physique ou PHY ; - une couche d'accès au médium ou MAC (de l'anglais Medium Access ) ; et 25 - une couche applicative. Le médium est, par exemple, une couche de communication sans fil (par exemple infra-rouge, radio (notamment selon les normes WiFi, IEEE802.11, IEEE 802.16 et/ou IEEE 802.15) ou par courants porteurs) ou filaire. Le débit des données transférées peut notamment atteindre quelques 30 centaines de Mégabits. La figure 2 présente notamment une répartition entre les éléments matériels (ou composants électronique) et logiciels (ou hardware/software partitioning en anglais). Le système 1 comprend notamment : - un coeur MAC 20 comprenant le bus 10, le coeur MAC étant 35 relié à un médium de transmission de données (couche physique) et/ou à une couche applicative) ;5 - une unité centrale MAC ou MAC CPU (ou Central Processing Unit en anglais) 22 ; - une couche applicative 23 ; et - une mémoire vive ou SDRAM 24 qui est reliée à la couche 23 via une liaison bidirectionnelle 28. La couche physique 20 et la couche MAC sont reliées par une interface PHY-MAC 25 qui comprend : - une liaison bidirectionnelle 252 de contrôle entre la couche 20 et l'unité 22 ; et - deux liaisons monodirectionnelles 250 et 251 de transmission de données entre la couche 20 et le coeur MAC 20. La couche applicative 23 est reliée au coeur 20 et à l'unité 22 via respectivement le bus 10 (interface 26) pour la transmission de données et une liaison bidirectionnelle 270 de contrôle.
Le bus 10 est relié à plusieurs maîtres de même priorité (non représentés sur la figure 2), à au moins un esclave (non représenté sur la figure 2) et à l'unité 22 qui est le périphérique maître principal du bus avec une priorité plus forte que les autres maîtres, dit périphériques maîtres secondaires. Ainsi, l'unité 22 est prioritaire pour l'accès au bus 10 (contrairement à l'état de l'art où un CPU a une priorité plus faibles que des maîtres pour accéder à un bus). La figure 3 détaille le système 1 appliqué à un dispositif échangeant des données avec la couche MAC. Selon le système illustré en regard de la figure 3, le bus 10 dont les accès sont contrôlés par l'arbitre 13 relient : - une interface 220 reliant le bus 10 à un bus 221 interne à l'unité 22, l'interface 220 et le bus 221 appartenant au MAC CPU 22; - une mémoire esclave 30 ; - deux unités de contrôle de la couche physique respectivement en émission 201 (relié à la liaison 251) et en réception 202 (reliée à la liaison 250); - deux unités DMA respectivement d'émission 321 et de réception 322 dans un codeur de sécurité 32 (chiffrant, par exemple, des données) ; - deux unités DMA respectivement d'émission 311 et de réception 312 dans un décodeur de sécurité 31 (déchiffrant, par exemple, des données) ; et - deux unités DMA respectivement d'émission 205 et de réception 203 reliés tous deux à une interface 204 maître d'un bus d'application 33, les unités 203 et 205 ainsi que l'interface maître 204 appartenant à un module 206 d'interface avec l'application. Le bus 221 est un bus de contrôle des autres unités du système (par exemple pour une initialisation). Il est mis en oeuvre, par exemple, sous forme de la partie dite APB d'un bus AMBA ). Il est relié à liaison 252. Les unités 201 à 205, le codeur 32 et le décodeur 31 appartiennent au coeur MAC 20 Le système dont un exemple est donné à titre illustratif en figure 3 comprend ainsi : - un périphérique maître principal correspondant au MAC CPU 22 - huit maîtres 201 à 205, 321, 322, 311, 312 de même priorité (correspondant par exemple aux maîtres 110 à 112 de la figure 1) ou périphériques maîtres secondaires ; et - un esclave 30. L'invention permet avantageusement un partitionnement entre des ressources matérielles et logicielles, ce partitionnement pouvant se faire suivant différentes configurations matérielles. 25 En effet, selon un mode préféré de réalisation, un seul composant comprend le coeur MAC 20 est, par exemple, du type composant programmable (par exemple PGA (ou (( Programmable Gate Array ), PLD (ou (( Programmable Logic Device ), composant dédié ou ASIC (de l'anglais Application Specific Integrated Circuit ou circuit intégré pour 30 application spécifique en français) ou microcontrôleur. Ainsi, l'invention présente l'avantage d'un bus très compact reliant plusieurs maîtres à l'intérieur d'un composant. En effet, selon l'état de l'art, pour garantir un niveau d'efficacité de bus à l'intérieur d'un composant, le bus est divisé en sous-bus complets (avec données, adresses et contrôles) distincts, chacun 35 des sous-bus étant affecté à un maître. Selon une autre variante, le MAC CPU 22 et le coeur MAC 20 sont dans un même composant.20 Selon encore une variante, le composant comprenant le coeur MAC 20 et, le cas échéant, le MAC CPU 22 comprend également la mémoire 30. Selon d'autres variantes, le MAC CPU 22, les unités 201 et 202, le module 206, le codeur 32 et le décodeur 31 sont tous ou en partie dans des composants séparés. Selon une variante de réalisation non représentée, le bus 10 est relié à deux mémoires esclaves. Bien entendu, le bus 10 peut être relié à plus d'esclaves.
La figure 4 présente le bus 10 avec quelques maîtres (l'unité 22 et le codeur 32) et esclave (la mémoire 30 et une autre mémoire 301 permettant de mieux visualiser les connexions partagées ou non). L'unité 22 (respectivement 32) est reliée à l'arbitre 13 dans le sens maître vers arbitre via : - un bus d'adresses en écriture 400 (respectivement 410) (ou address-write ) de 16 bits (ou 20 bits selon une variante) ; - un bus de données en écriture 401 (respectivement 411) (ou data-write ) de 32 bits (ou 16 ou 64 bits selon des variantes) ; - une liaison de taille de données en écriture 402 (respectivement 412) (ou size-write ) sur 2 bits ; - une liaison de requête d'écriture 403 (respectivement 413) (ou write-enable ) sur 1 bit ; - un bus d'adresses en lecture 404 (respectivement 414) (ou address-read ) de 16 bits (ou 20 bits selon une variante) ; - une liaison de taille de données en lecture 405 (respectivement 415) (ou size-write ) sur 2 bits ; et - une liaison de requête de lecture 406 (respectivement 416) (ou write-enable ) sur 1 bit.
L'unité 22 (respectivement 32) est reliée à l'arbitre 13 dans le sens arbitre vers périphérique maître secondaire, via: - une liaison d'autorisation d'accès au bus 408 (respectivement 418) (ou bus-grant ) ; et - un bus de données en lecture 407 (ou data-read ) de 32 bits (ou 16 ou 64 bits selon des variantes) partagé par tous les maîtres connectés au bus 13.
Selon le mode de réalisation décrit en regard de la figure 4, une liaison d'autorisation d'accès au bus relie un périphérique maître secondaire à l'arbitre 13 ; dans ce cas, un périphérique maître secondaire peut accéder au bus en écriture et en lecture simultanément si le périphérique maître principal ne prend pas la main. Selon une variante de l'invention, un périphérique maître peut également accéder au bus en écriture (respectivement en lecture) en même temps que le périphérique maître principal accède au bus en lecture (respectivement en écriture), les types d'accès par le périphérique maître secondaire et le périphérique maître principal étant différents. Selon une autre variante, deux liaisons d'autorisation d'accès au bus, respectivement en lecture 409 à 419 et en écriture 4010 à 4110, relient un périphérique maître secondaire à l'arbitre 13. Dans ce cas, deux périphériques maîtres secondaires peuvent accéder au bus simultanément, l'un en écriture et l'autre en lecture. Cette variante présente l'avantage de clarifier les accès au bus et de permettre des accès plus rapides et/ou à plus fort débits. L'esclave 301 (respectivement 30) est relié à l'arbitre 13 dans le sens arbitre vers esclave via : - un bus d'adresses en écriture 420 (ou address-write ) partagé par tous les esclaves connectés au bus 13, de 16 bits (ou 20 bits selon une variante) ; - un bus de données en écriture 421 (ou datawrite ) partagé par tous les esclaves, de 32 bits (ou 16 ou 64 bits selon des variantes) ; - une liaison de taille de données en écriture 423 (respectivement 433) (ou size-write ) sur 2 bits ; - un bus d'adresses en lecture 422 (ou address-read ) partagé par tous les esclaves, de 16 bits (ou 20 bits selon une variante) ; - une liaison de taille de données en lecture 424 (respectivement 434) (ou size-read ) sur 2 bits ; Les esclaves 30 et 301 sont reliés à l'arbitre 13 dans le sens esclave vers arbitre, via un bus de données en lecture 425 (respectivement 35 435) (ou data-read ) de 32 bits (ou 16 ou 64 bits selon des variantes). Les signaux de taille de données 402, 412, 405, 415, 423, 433, 424 et 434 permettent de définir plusieurs tailles de données véhiculées sur30 le bus 10. Ainsi, avec une taille de données codée sur 2 bits, trois valeurs prédéfinies de taille de données sont possibles, par exemple : 8, 16 et 32 bits. Selon une variante, le bus de données comprend plus que 32 bits (par exemple 64 ou 128 bits), les valeurs prédéfinies sont alors choisies en fonction de la taille du bus (par exemple, pour un bus à 64 bits, quatre valeurs de taille de données, soit 8, 16, 32 et 64 bits, peuvent être prédéfinies). Ici, préférentiellement, les valeurs prédéfinies suivent une progression arithmétique de facteur 2 (une valeur prédéfinie étant égale au double de la précédente). Selon d'autres variantes, les valeurs prédéfinies ne suivent pas une progression arithmétique et peuvent être quelconques en restant inférieure ou égale à la taille du bus de données. Selon une variante de réalisation, les données sont codées suivant une taille fixe et les signaux de tailles de données (et les liaisons correspondantes) sont omis.
L'arbitre 13 est, par exemple, mis en oeuvre sous forme de circuit électronique, de circuit programmable, d'ASIC ou de microcontrôleur ou microprocesseur. Le câblage du bus permet d'identifier le maître CPU de priorité la plus forte (ou périphérique maître principal), les maîtres de même priorité (ou périphériques maîtres secondaires) et les esclaves.
Le bus 10 comprend d'autres signaux tel que les signaux d'horloge (ou CLK) et de réinitialisation (ou reset) qui sont reliés à tous les périphériques connectés au bus et à l'arbitre 13. Le signal d'horloge n'est pas représenté sur les figures afin d'en assurer la lisibilité. La figure 5 illustre un chronogramme lors d'échanges de données sur le bus 10 selon un mode de réalisation où des opérations de lecture et d'écriture de données peuvent être simultanées. Une opération de lecture et une opération d'écriture simultanées sont bien adaptées aux maîtres qui permettent ces opérations (par exemple, maîtres qui ont des accès directs à la mémoire ou DMA (de l'anglais Direct Memory Access ) en émission et en réception appairés). Tous les signaux sont synchrones d'un signal d'horloge 50. Sur un premier front montant d'horloge, les signaux d'adresse en écriture 51 sont activés en même temps que les données 52 pour le maître qui a reçu une autorisation d'accès via le signal correspondant bus grant . Ces signaux restent valides pendant un cycle d'horloge. Simultanément, un maître demande (signal 53 read-enable ) et obtient l'accès au bus sur un front montant du signal d'horloge 50. Les données correspondant (par exemple fournies par l'esclave) sont présentées au cycle d'horloge suivant (signal 55), un accès en lecture (signal 54) étant accordé par l'arbitre 13. Selon une variante de réalisation de l'invention, le bus 10 est séparé en deux bus distincts qui fonctionnent respectivement en lecture et en écriture. L'invention permet des débits élevés sur la couche physique. A titre illustratif, pour une horloge de bus cadencée à 40 MHz (pour une mise en oeuvre sous forme de FPGA), des débits sur la couche physique supérieurs à 100Mbit/s avec un bus de données de 32 bits. Le débit instantané en lecture et écriture peut atteindre 2,56 Gbit/s. Avec une mise en oeuvre sous forme d'ASIC, l'horloge peut être cadencée à des vitesses très supérieure (par exemple 80 MHz). Les débits sont alors augmentés proportionnellement. Pour un périphérique maître secondaire, la latence maximale pour accéder au bus (hors accès du maître principal) est égal au produit du nombre de périphériques maîtres secondaires par le nombre de coups d'horloge par cycle. La figure 6 illustre un chronogramme lors d'échanges de données sur le bus 10 selon une variante de réalisation de l'invention, les opérations de lecture et d'écriture se faisant séquentiellement et non simultanément. Les éléments 51 et 52 sont communs aux figures 5 et 6 et portent les mêmes références. Ils ne sont donc pas décrits davantage. Le signal de lecture de données à une adresse spécifique 63 est mis en oeuvre uniquement lorsque le bus est libre en lecture.
Selon le mode de réalisation correspondant au chronogramme de la figure 6, l'arbitre du bus gère de façon décorrélée les accès en lecture et les accès en écriture. Les accès au bus se font alternativement en lecture et en écriture. Selon une variante de réalisation de l'invention, les accès en lecture et les accès en écriture ne se font pas alternativement et la priorité entre lecture et écriture est définie d'une manière quelconque, par exemple, aléatoire, ou au contraire suivant une loi prédéfinie, notamment selon l'ordre d'arrivée et/ou selon la priorité du périphérique maître secondaire demandant un accès au bus. La figure 7 présente un algorithme d'accès au bus 10 (qui peut 35 par exemple mis en oeuvre en VHDL lorsque l'arbitre est implémenté dans un composant programmable).
Au cours d'une étape d'initialisation 70 correspondant à une activation du signal reset, l'arbitre 13 est initialisé, les signaux de sorties sont inactivés et les registres internes (notamment un registre de maître courant) sont également initialisés. Ensuite, des cycles de lecture/écriture de données sont mis en oeuvre. Ces cycles sont synchronisés sur le signal d'horloge, une boucle élémentaire dans l'organigramme correspondant à un cycle d'horloge. La boucle élémentaire commence par un test 71, au cours duquel l'arbitre 13 vérifie si l'unité centrale 22 souhaite un accès (signal write- enable ou read-enable activé). Dans l'affirmative, l'accès est donné à l'unité centrale 22 au cours d'une étape 72 par activation du signal 408. Dans la négative, l'unité centrale 22 n'a pas demandé d'accès, et l'accès pourra être donné à un autre maître. L'arbitre 13 gère des cycles pour que chacun des maîtres secondaires de même priorité aient un accès équitable au bus 10. Aussi, l'arbitre 13 définit une séquence ordonnée parmi les périphériques maîtres secondaires. Ainsi, au cours d'une étape 73, il vérifie s'il a atteint la fin de la séquence. Si oui, au cours d'une étape 740, il réinitialise la séquence et considère le premier périphérique maître secondaire comme maître courant. Sinon, au cours d'une étape 741, il passe au périphérique maître secondaire suivant dans la séquence qui devient le maître courant. Selon un premier mode de réalisation de l'invention, la séquence ordonnée est fixe en étant définie une première fois de manière aléatoire ou en fonction des types de maîtres.
Selon une variante, la séquence ordonnée est modifiée aléatoirement au cours de l'étape 740. Ainsi, on peut obtenir un brassage des maîtres pour une plus grande équité. Selon une autre variante, la séquence ordonnée est modifiée au cours de l'étape 740 en fonction d'évènements extérieurs (par exemple, en fonction d'une commande transmise par le maître principal ou un maître secondaire). Ensuite, au cours d'une étape 75, l'arbitre 13 vérifie si le maître courant M a demandé un accès au bus. Dans l'affirmative, il donne l'accès au bus au maître courant au cours d'une étape 76. Dans la négative, il détermine un maître Mj parmi les maîtres qui ont demandé un accès au bus au cours d'une étape d'arbitrage 77 et lui donne accès au bus au cours d'une étape 78. L'étape d'arbitrage 77 permet notamment d'augmenter la bande passante lorsque le maître courant ne demande pas un accès au bus. Plusieurs stratégies d'arbitrage sont envisageables pour l'étape 77, notamment - une stratégie d'attribution aléatoire ; - un accès donné au dernier maître ayant eu accès au bus ; -un accès en fonction du numéro de priorité des maîtres (les maîtres étant connectés au bus en fonction de leur priorité, par exemple, dans une mise en oeuvre purement électronique, avec des broches affectées en fonction de la priorité respective des maîtres); - un accès en fonction d'un ordre logique dépendant des accès précédent (par exemple, accès à un maître qui généralement demande l'accès suite à l'accès d'un autre maître donné) (l'ordre logique étant par exemple tabulé) ; - un accès en fonction du type (lecture ou écriture) d'accès demandé, une priorité étant donnée à l'un des deux types d'accès ; et/ou - un accès au premier périphérique qui a demandé un accès au bus. L'algorithme correspond préférentiellement à une mise en oeuvre matérielle à l'aide de portes logiques. On peut résumer les signaux d'accès en écriture de la manière suivante : - bus-grant(Mp) = write-enable(Mp) - bus-grant(M) = write-enable(Mp)). write-enable(M); -bus-grant(Mj) = write-enable(Mp). write-enable(M). write-enable(Mj) où -Mp représente le maitre principal (ici l'unité 22), M le maitre 30 courant et Mj le maitre déterminé par une étape d'arbitrage ; et - où bus-grant(X) représente le signal d'autorisation d'accès au bus pour un maitre X, write-enable(X), le signal de demande d'accès au bus par un maitre X et write-enable(X) le signal opposé (pouvant être obtenu à l'aide d'une porte inverseuse). 35 L'opérateur . représente une multiplication logique et peut être mise en oeuvre à l'aide d'une porte ET. L'étape 73 peut-être mise en oeuvre à l'aide d'un compteur.
Les opérations ci-dessus sont synchronisées sur l'horloge. Les figures 8 et 9 présentent les accès successifs au bus 10. Plus précisément, la figure 8 correspond à une mise en oeuvre simplifiée ne prévoyant pas d'accès au bus lorsque ni le MAC CPU ni le maitre courant ne demande le bus (Il n'a pas d'étapes 77 et 78 dans ce cas). La figure 9 présente les accès successifs au bus 10 selon l'algorithme présenté en regard de la figure 7 mettant en oeuvre une phase d'arbitrage lorsque ni le MAC CPU ni le maitre courant ne demande le bus. Selon la figure 8, on suppose que la séquence ordonnée est (2, 3, 4, 5, 6, 7). Les éléments mentionnés dans la première ligne du tableau de la figure 8 représentent le maître courant en fonction du temps : des maîtres de même priorité sont numérotés avec un paramètre N prenant les valeurs 2 à 7. La première colonne représente les maîtres (le MAC CPU a un paramètre N égal à 1). Au cours d'un premier cycle, le maître avec N valant 5 est le maître courant ne demande pasl'accès au bus. Au cours d'un second cycle 80, le périphérique maître secondaire avec N valant 2 est le maître courant, il demande et obtient l'accès au bus 20 en lecture (symbolisé par la lettre R). Au cours d'un troisième cycle 81, l'unité 22 demande l'accès en lecture et l'obtient, interdisant un accès en lecture pour le périphérique maître secondaire avec N valant 3. Au cours des cycles suivants 82, 83, 84..., l'arbitre accorde la 25 main à l'unité 22 en priorité ou, si l'unité 22 ne demande pas l'accès au bus, au maître courant (N prenant les valeurs successives de la séquence ordonnée (2, 3, 4, 5, 6, 7)) en écriture (symbolisé par la lettre W) ou en lecture. On note qu'il peut y avoir un accès en écriture et un accès en 30 lecture simultané par le maître courant et/ou l'unité 22 (certains maîtres mais non nécessairement tous supportent peuvent supporter des accès en lecture et en écriture). C'est le cas, par exemple, au cours d'un cycle 85, où l'unité 22 a accès au bus en écriture et un maître courant (N valant 6) a accès au bus en lecture (correspondant à la variante où un tel accès est possible). 35 C'est également le cas, au cours d'un cycle 86, où le périphérique maître secondaire avec N valant 2 accède au bus à la fois en lecture et en écriture.
Selon la figure 9, on suppose que la séquence ordonnée est également est (2, 3, 4, 5, 6, 7). Le tableau de la figure 9 comprend successivement les lignes suivantes : - l'indication que le périphérique maître principal demande le bus avec le type d'accès requis écriture Wou lecture R ; - la valeur du paramètre N correspondant aux périphériques maîtres secondaire demandant l'accès au bus en lecture ; - la valeur du paramètre N correspondant aux périphériques maîtres secondaire demandant l'accès au bus en écriture ; - le périphérique maître secondaire sélectionné par l'arbitre lors de l'étape de sélection, le périphérique maître principal ne demandant pas l'accès au bus ; - le périphérique maître ayant l'accès au bus en lecture ; et - le périphérique maître ayant l'accès au bus en écriture Dans l'exemple donné ici, on suppose que si le périphérique maître principal demande la main, un périphérique maître secondaire ne peut pas avoir accès au bus. Au cours d'un premier cycle 900, deux périphériques maîtres secondaires correspondant à N valant respectivement 2 et 6 demandent un accès en lecture. L'arbitre ayant sélectionné le maître avec N valant 2 lui donne donc l'accès au bus. Au cours d'un second cycle 901, la MAC CPU demande la main en lecture et l'obtient donc.
Au cours d'un troisième cycle 902, le maître sélectionné avec N valant 3 ne demande pas la main ; le maître avec N valant 6 étant le seul maître à demander l'accès au bus, au cours de l'étape d'arbitrage, il obtient l'accès au bus en lecture. Au cours d'un quatrième cycle 903, le maître avec N valant 2 demande accès au bus à la fois en écriture et en écriture et obtient cet accès, le maître sélectionné avec N valant 4 ne demandant pas l'accès au bus. Au cours d'un cinquième cycle 904, le maître principal et les périphériques maîtres secondaires avec N valant 7 et 5 demandent l'accès au bus. Le maître principal obtient donc l'accès au bus. Au cours d'un sixième cycle 905, le périphérique maître secondaire avec N valant 3 demande également l'accès au bus. L'arbitre sélectionne le maître avec N valant 5. Ce dernier obtient donc l'accès au bus. Au cours d'un septième cycle 906, le maître sélectionné avec N valant 6 ne demandant pas l'accès au bus, l'arbitre, au cours d'une étape d'arbitrage entre les maîtres avec N valant 3 et 7 donne la main au périphérique avec N valant 7. Ensuite au cours d'un cycle 907, le maître avec N valant 3 a accès au bus. Puis, au cours des deux étapes suivantes 908 et 909, aucun 10 maître ne demande le bus, ce dernier reste donc libre. Ainsi, la phase d'arbitrage permet d'utiliser les intervalles de temps (ou time slots en anglais) lorsque le maître principal et le maître secondaire ne demandent pas d'accès au bus. La figure 10 illustre la structure de l'arbitre 13, les accès en 15 lecture et les accès en écriture au bus étant décorrélés. L'arbitre 13 comprend : - un module de sélection d'accès en écriture 131 ; - un multiplexeur d'adresses en écriture 131 ; - un multiplexeur de données en écriture 132 ; 20 - un multiplexeur de taille en écriture 133 ; - un module de sélection d'accès en lecture 134 ; - un multiplexeur d'adresses en lecture 135 ; - un multiplexeur de données en lecture 136 ; - un multiplexeur de taille en lecture 137. 25 Le module de sélection d'accès 130 (respectivement 134) reçoit en entrées les signaux 403, 413 (respectivement 406, 416) de demande d'accès en écriture (write-enable) en provenance des différents maîtres. Il met en oeuvre l'algorithme de la figure 7 pour donner l'accès à l'un des maîtres et active, le cas échéant : 30 - l'un des signaux d'autorisation d'accès (bus-grant) 4010 à 4110 (respectivement 409 à 419) associé au maître ayant reçu l'autorisation d'accès ; et - un signal de commande 138 pilotant les multiplexeurs 131 à 133 (respectivement 135 à 137) en fonction du maître ayant 35 reçu l'autorisation d'accès. Le multiplexeur d'adresses 131 (respectivement 135) reçoit les signaux d'adresses 400, 410 (respectivement 404, 414) en provenance des différents maîtres. Il présente en sortie les signaux d'adresse 420 (respectivement 422) en fonction du signal de commande 138 (respectivement 139) qu'il reçoit. Le multiplexeur d'adresses 132 génère également un signal de 5 commande 1390 en fonction du périphérique (esclave) comprenant l'adresse sélectionnée. Le multiplexeur de données 132 (respectivement 136) reçoit les signaux de données 401, 411 (respectivement 425, 435) en provenance des différents esclaves. Il présente en sortie les signaux de données 421 (data- 10 write) (respectivement 407(data-read)) en fonction du signal de commande 138 (respectivement 1390) qu'il reçoit. Selon une variante de l'invention, le bus n'accepte qu'un esclave adapté à fournir des données en lecture. Dans ce cas, le module 136 et le signal 1390 (et les moyens le générant) sont omis. 15 Le multiplexeur de taille 133 (respectivement 137) reçoit les signaux de taille 402, 412 (respectivement 404, 414) en provenance des différents maîtres. Il présente en sortie les signaux de taille 433 (respectivement 424) en fonction du signal de commande 138 (respectivement 139) qu'il reçoit. 20 La figure 11 illustre une structure d'un l'arbitre 14 selon une variante de réalisation de l'invention, correspondant à une mise en oeuvre où les accès en lecture et/ou en écriture sont autorisés pour le périphérique maître principal et/ou un seul périphérique maître secondaire durant un cycle donné. 25 L'arbitre 14 est similaire à l'arbitre à l'exception des modules 131 et 134 qui sont remplacés par un module de sélection d'adresses 140 unique, le bus ne pouvant pas supporter une écriture et une lecture simultanée. Chaque maître reçoit un signal d'autorisation d'accès en lecture/écriture 141, 142 qui lui est dédié. Les autres éléments sont 30 similaires, portent les mêmes références et ne sont pas décrits davantage. Le module 140 reçoit les signaux de demande d'autorisation d'accès au bus en écriture 403, 413 et en lecture 406, 416 des différents maîtres connectés au bus. Il génère : - des signaux d'autorisation d'accès au bus 141, 142 en 35 fonction du maître déterminé par la mise en oeuvre de l'algorithme de la figure 7 et ; - des signaux de commande 138 et 139 en fonction du maître ainsi déterminé et du ou des types d'accès (écriture ou lecture) demandés par le maître ainsi déterminé. Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits précédemment. En particulier, l'invention est compatible avec des nombres et des fonctions de maîtres et/ou d'esclave différents de ceux décrits précédemment. En outre, le nombre de bit de données, d'adresses, de taille des données transmis en parallèle sur le bus n'est pas figé et peut prendre d'autres valeurs que celles indiquées précédemment selon différents modes de réalisation de l'invention. Les signaux indiquant la taille des données transmises simultanément sont omis lorsque la taille des données transmises est fixe.
Par ailleurs, d'autres signaux que ceux décrits précédemment peuvent être présents sur le bus, selon et notamment : - un signal de changement dynamique de l'ordre des périphériques maîtres secondaires dans les étapes d'arbitrages ; - un signal d'activation ou non de la mise en oeuvre d'un arbitrage si le périphérique maître secondaire sélectionné par l'arbitre pour accéder au bus ne demande pas l'accès ; - un signal de changement dynamique de l'ordre de sélection d'accès au bus à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande pas l'accès au bus. Ces signaux peuvent notamment être mis en oeuvre par un CPU (de l'anglais Central Process Unit ou unité centrale de traitement). L'invention permet une grande souplesse d'utilisation, facilite une reconfiguration d'un coeur de base pour une adaptation à une application particulière et/ou une couche physique spécifique et est bien adaptée à une conception modulaire. Ainsi, l'invention est également compatible avec une mise en oeuvre totalement électronique (sous forme de composants) ou, au contraire, en partie logicielle (par exemple dans le cas de logiciels radio (ou software radio en anglais pouvant être reconfiguré facilement en fonction du contexte). Par ailleurs, l'invention est applicable à de nombreux domaines, et notamment dans le domaine des communications filaires ou sans fil (notamment une interface avec une couche physique du type IEEE 802.16, IEEE802.15.3 (UWB)).

Claims (9)

REVENDICATIONS
1. Procédé d'accès à un bus de données (10), destiné à être relié à un périphérique maître principal (100, 22) et à des périphériques maîtres secondaires (110 à 112, 201 à 205, 32, 321, 322, 311, 312), le bus étant adapté à la transmission de données à destination et/ou en provenance desdits périphériques, caractérisé en ce que, le maître principal a la plus forte priorité d'accès au bus et en que ledit procédé comprend : -une étape d'autorisation (72) d'accès au bus au périphérique maître principal lorsqu'il demande (71) l'accès au bus ; et - une étape de sélection (75) d'accès au bus à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande pas l'accès au bus.
2. Procédé selon la revendication 1, caractérisé en ce que l'étape de sélection comprend : - une étape d'attribution (740, 741) d'un jeton tournant à chacun desdits périphériques maîtres secondaires ; et - une étape d'autorisation (76) d'accès au bus au périphérique maître secondaire qui a le jeton, lorsqu'il demande l'accès au bus (75).
3. Procédé selon la revendication 2, caractérisé en ce l'étape de sélection comprend une étape d'arbitrage (77) pour l'accès au bus entre les périphériques maîtres secondaires lorsque le périphérique secondaire qui a le jeton ne demande pas l'accès au bus (75).
4. Procédé selon la revendication 3, caractérisé en ce que l'étape d'arbitrage comprend une étape de sélection aléatoire d'un périphérique secondaire demandant l'accès au bus.
5. Procédé selon la revendication 3, caractérisé en ce que l'étape d'arbitrage comprend une étape de sélection du dernier périphérique secondaire ayant eu l'accès au bus qui demande l'accès au bus.
6. Procédé selon la revendication 3, caractérisé en ce que l'étape d'arbitrage comprend une étape de sélection du périphérique secondaire qui demande l'accès au bus et qui n'a pas eu accès au bus depuis le plus longtemps.
7. Procédé selon la revendication 3, caractérisé en ce que l'étape d'arbitrage comprend une étape de sélection du périphérique secondaire qui demande l'accès au bus depuis le plus longtemps.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comprend une étape de sélection du type d'accès en écriture ou en lecture.
9. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé 5 en ce qu'il comprend - une étape d'autorisation d'accès au bus en lecture au périphérique maître principal lorsqu'il demande l'accès au bus en lecture ; - une étape de sélection d'accès au bus en lecture à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande 10 pas l'accès au bus en lecture ; - une étape d'autorisation d'accès au bus en écriture au périphérique maître principal lorsqu'il demande l'accès au bus en écriture ; et - une étape de sélection d'accès au bus en écriture à un des périphériques maîtres secondaires lorsque le périphérique maître principal ne demande 15 pas l'accès au bus en écriture. 14. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce que ledit bus comprend au moins un périphérique esclave (120 à 123, 30), le procédé comprenant un accès au bus en lecture et/ou en écriture à un périphérique autorisé pour transmettre des données à destination ou en 20 provenance dudit ou au moins un desdits périphériques esclaves. 15. Dispositif d'accès (13, 14) à un bus de données,(10) destiné à être relié à un périphérique maître principal (100,22) et à des périphériques maîtres secondaires, le bus étant adapté à la transmission de données à destination et/ou en provenance desdits périphériques, caractérisée en ce 25 que ledit périphérique maître principal est de plus forte priorité d'accès au bus et en ce que ledit dispositif comprend : -des moyens d'autorisation d'accès au bus au périphérique maître principal lorsqu'il demande l'accès au bus ; et - des moyens de sélection d'accès au bus à un des périphériques maîtres 30 secondaires (110 à 112, 201 à 205, 32, 321, 322, 311, 312) lorsque le périphérique maître principal ne demande pas l'accès au bus. 12. Système caractérisé en ce qu'il comprend : - un bus de données ; - un périphérique maître principal de plus forte priorité relié audit bus ; 35 - des périphériques maîtres secondaires de même priorité et reliés audit bus , et - un dispositif d'accès au bus selon la revendication 11 ;le bus étant adapté à la transmission de données à destination et/ou en provenance desdits périphériques. 13. Système selon la revendication 12, caractérisé en ce qu'il comprend au moins un périphérique esclave relié audit bus, ledit ou lesdits périphériques esclaves ne pouvant pas demandé l'accès au bus. 14. Système selon la revendication 13, caractérisé en ce que ledit ou lesdits périphériques sont des mémoires. 15. Système selon l'une quelconque des revendications 12 à 14, caractérisé en ce que ledit périphérique maître principal comprend un 10 microprocesseur. 16. Système selon l'une quelconque des revendications 12 à 15, caractérisé en ce que ledit périphérique maître principal comprend des moyens d'accès à un médium sans fil. 17. Système selon l'une quelconque des revendications 12 à 16, 15 caractérisé en ce qu'il comprend un composant qui comprend ledit bus et au moins un desdits périphériques maîtres secondaires. 18. Système selon la revendication 17, caractérisé en que ledit composant comprend ledit périphérique maître principal.
FR0553872A 2005-12-14 2005-12-14 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant Pending FR2894696A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FR0553872A FR2894696A1 (fr) 2005-12-14 2005-12-14 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant
EP06819883A EP1960891A1 (fr) 2005-12-14 2006-12-01 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant.
CN2006800474571A CN101331469B (zh) 2005-12-14 2006-12-01 访问数据传送总线的方法、相应设备与系统
PCT/EP2006/069181 WO2007068606A1 (fr) 2005-12-14 2006-12-01 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant.
JP2008544948A JP2009519524A (ja) 2005-12-14 2006-12-01 データ伝送バスにアクセスする方法、対応する装置およびシステム
KR1020087014190A KR20080080538A (ko) 2005-12-14 2006-12-01 데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스및 시스템
US12/086,457 US20100122000A1 (en) 2005-12-14 2006-12-01 Method for Accessing a Data Transmission Bus, Corresponding Device and System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0553872A FR2894696A1 (fr) 2005-12-14 2005-12-14 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant

Publications (1)

Publication Number Publication Date
FR2894696A1 true FR2894696A1 (fr) 2007-06-15

Family

ID=36889282

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0553872A Pending FR2894696A1 (fr) 2005-12-14 2005-12-14 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant

Country Status (7)

Country Link
US (1) US20100122000A1 (fr)
EP (1) EP1960891A1 (fr)
JP (1) JP2009519524A (fr)
KR (1) KR20080080538A (fr)
CN (1) CN101331469B (fr)
FR (1) FR2894696A1 (fr)
WO (1) WO2007068606A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5775101B2 (ja) * 2013-01-18 2015-09-09 日本電信電話株式会社 信号受信回路
TWI494944B (zh) * 2013-10-25 2015-08-01 Phison Electronics Corp 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置
CN106610906A (zh) * 2015-10-27 2017-05-03 深圳市中兴微电子技术有限公司 一种数据访问方法及总线
US9965410B2 (en) 2016-01-21 2018-05-08 Qualcomm Incorporated Priority-based data communication over multiple communication buses

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791563A (en) * 1984-12-12 1988-12-13 Telefonaktiebolaget Lm Ericsson Arrangement for apportioning priority among co-operating computers
EP0425194A2 (fr) * 1989-10-23 1991-05-02 International Business Machines Corporation Système calculateur
EP0426413A2 (fr) * 1989-11-03 1991-05-08 Compaq Computer Corporation Arbitrage pour multiprocesseur dans des schémas d'arbitrage conçus pour processeur unique
US5884051A (en) * 1997-06-13 1999-03-16 International Business Machines Corporation System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities
US5925118A (en) * 1996-10-11 1999-07-20 International Business Machines Corporation Methods and architectures for overlapped read and write operations
GB2337138A (en) * 1998-01-30 1999-11-10 * Sgs-Thomson Microelectronics Limited Arbitrating between a plurality of requests to access resources

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2507643B2 (ja) * 1989-12-28 1996-06-12 株式会社日立製作所 共通バス制御方法及びその制御装置並びにマスタ装置と計算機システム
JP3260456B2 (ja) * 1992-12-25 2002-02-25 株式会社日立製作所 コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
JP3195489B2 (ja) * 1994-03-03 2001-08-06 株式会社日立製作所 外部記憶制御装置およびバス切り替え制御方法
US5572686A (en) * 1995-06-05 1996-11-05 Apple Computer, Inc. Bus arbitration scheme with priority switching and timer
US5862355A (en) * 1996-09-12 1999-01-19 Telxon Corporation Method and apparatus for overriding bus prioritization scheme
US6073132A (en) * 1998-03-27 2000-06-06 Lsi Logic Corporation Priority arbiter with shifting sequential priority scheme
US6745243B2 (en) * 1998-06-30 2004-06-01 Nortel Networks Limited Method and apparatus for network caching and load balancing
US6490642B1 (en) * 1999-08-12 2002-12-03 Mips Technologies, Inc. Locked read/write on separate address/data bus using write barrier
JP2001195353A (ja) * 2000-01-06 2001-07-19 Rohm Co Ltd Dma転送システム
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
US6587905B1 (en) 2000-06-29 2003-07-01 International Business Machines Corporation Dynamic data bus allocation
US6859852B2 (en) * 2000-09-08 2005-02-22 Texas Instruments Incorporated Immediate grant bus arbiter for bus system
US6745273B1 (en) * 2001-01-12 2004-06-01 Lsi Logic Corporation Automatic deadlock prevention via arbitration switching
JP2002251370A (ja) * 2001-02-21 2002-09-06 Noritsu Koki Co Ltd 要求調停方法、要求調停装置、メモリ装置、および写真処理システム
JP2002278922A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd コンピュータバスシステム
JP2002312309A (ja) * 2001-04-09 2002-10-25 Nec Eng Ltd 調停回路及び調停方法
JP2002318782A (ja) * 2001-04-20 2002-10-31 Nec Corp バスシステム
JP3791005B2 (ja) * 2001-11-20 2006-06-28 日本電気株式会社 バスアクセス調停装置及びバスアクセス調停方法
US6931470B2 (en) * 2002-02-11 2005-08-16 Motorola, Inc. Dual access serial peripheral interface
JP2003256358A (ja) * 2002-02-28 2003-09-12 Sony Corp アービタ装置及び方法、並びに、リソース共有システム
JP2003348097A (ja) * 2002-05-29 2003-12-05 Hitachi Ulsi Systems Co Ltd 無線lan装置
US20030229743A1 (en) * 2002-06-05 2003-12-11 Brown Andrew C. Methods and structure for improved fairness bus arbitration
US7107365B1 (en) * 2002-06-25 2006-09-12 Cypress Semiconductor Corp. Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
JP2005071049A (ja) * 2003-08-22 2005-03-17 Murata Mach Ltd データ転送制御装置
KR101089324B1 (ko) * 2004-02-20 2011-12-02 삼성전자주식회사 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템
US8478921B2 (en) * 2004-03-31 2013-07-02 Silicon Laboratories, Inc. Communication apparatus implementing time domain isolation with restricted bus access
US20060026329A1 (en) * 2004-07-30 2006-02-02 Yu James K System and method for an arbiter rewind
JP2006172256A (ja) * 2004-12-17 2006-06-29 Renesas Technology Corp 情報処理装置
GB2426604B (en) * 2005-05-26 2010-07-14 Advanced Risc Mach Ltd Interconnect logic for a data processing apparatus
US7467245B2 (en) * 2005-07-22 2008-12-16 Cisco Technology, Inc. PCI arbiter
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791563A (en) * 1984-12-12 1988-12-13 Telefonaktiebolaget Lm Ericsson Arrangement for apportioning priority among co-operating computers
EP0425194A2 (fr) * 1989-10-23 1991-05-02 International Business Machines Corporation Système calculateur
EP0426413A2 (fr) * 1989-11-03 1991-05-08 Compaq Computer Corporation Arbitrage pour multiprocesseur dans des schémas d'arbitrage conçus pour processeur unique
US5925118A (en) * 1996-10-11 1999-07-20 International Business Machines Corporation Methods and architectures for overlapped read and write operations
US5884051A (en) * 1997-06-13 1999-03-16 International Business Machines Corporation System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities
GB2337138A (en) * 1998-01-30 1999-11-10 * Sgs-Thomson Microelectronics Limited Arbitrating between a plurality of requests to access resources

Also Published As

Publication number Publication date
CN101331469B (zh) 2011-11-09
CN101331469A (zh) 2008-12-24
US20100122000A1 (en) 2010-05-13
EP1960891A1 (fr) 2008-08-27
JP2009519524A (ja) 2009-05-14
WO2007068606A1 (fr) 2007-06-21
KR20080080538A (ko) 2008-09-04

Similar Documents

Publication Publication Date Title
US9021156B2 (en) Integrating intellectual property (IP) blocks into a processor
US9367517B2 (en) Integrated circuit package with multiple dies and queue allocation
US9105316B2 (en) Integrated circuit package with multiple dies and a multiplexed communications interface
US8610258B2 (en) Integrated circuit package with multiple dies and sampled control signals
US8653638B2 (en) Integrated circuit package with multiple dies and bundling of control signals
US8504751B2 (en) Integrated circuit package with multiple dies and interrupt processing
US6826640B1 (en) Bus bandwidth control system
JP2000259557A (ja) 多数の機能モジュールを接続するためのポート管理コントローラ
FR2894696A1 (fr) Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant
US6697904B1 (en) Preventing starvation of agents on a bus bridge
US20050289278A1 (en) Apparatus and method for programmable completion tracking logic to support multiple virtual channels
EP1324175A1 (fr) Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
US6323755B1 (en) Dynamic bus locking in a cross bar switch
US8533377B2 (en) System and method for allocating transaction ID in a system with a plurality of processing modules
US20120117286A1 (en) Interface Devices And Systems Including The Same
US7657682B2 (en) Bus interconnect with flow control
US20110135046A1 (en) Integrated circuit package with multiple dies and a synchronizer
CA2904176A1 (fr) Procede de controle de bande passante pour systeme sur puce
US7069363B1 (en) On-chip bus
US11169947B2 (en) Data transmission system capable of transmitting a great amount of data
US8819325B2 (en) Interface device and system including the same
Wang et al. An on-chip CDMA communication network
CN110765496A (zh) 一种基于级联架构的加密固态硬盘
Yang et al. Towards IP integration on SoC: a case study of high‐throughput and low‐cost wrapper design on a novel IBUS architecture
Tiwari et al. Multi-master bus interface design using efficient lottery bus arbiter