High-Voltage
Het probleem bij een maatschappelijke samenleving is dat je geen "normale" uitzondering kan zijn...
Hi all,
In de PCI specificaties zijn er een aantal pinnen sustained tri state en een aantal pinnen "gewoon" tri state. Alle pinnen die te maken hebben met adres & data en arbitrage zijn "gewoon" tri state. De pinnen die te maken hebben met interface control (frame/xRDY/DevSel/...) zijn sustained tri state.
Waarom zijn voor de interface control pinnen sustained tri state in/uitgangen nodig terwijl voor de data en adres pinnen gekozen is voor gewone tri state?
Voor de duidelijkheid:
Bij sustained tri state heb je een zeer hoog ohmige pullup weerstand op de lijn zitten. Deze weerstand is te groot om de lijn binnen een aanvaardbare tijd hoog te maken, maar houdt de lijn wel hoog eens ze hoog is. Daarom moet een sustaind tri state output altijd één cyclus hoog zijn alvorens de lijn los te laten.
Het enige wat ik kan bedenken is dat de lijn netjes hoog blijft wanneer niemand actief is. Maar waarom zijn dan de adres en data lijnen niet sustained tri state? Het voordeel van sustained tri state boven open draien is me ook duidelijk: vermogen verbruik en/of snelheid.
Iemand een verklaring hiervoor?
Grtz
H-V
Ik doe maar een gok.
Bij een lopende computer is op de PCI-bus altijd een geldig adres en geldige data aanwezig. Dit komt doordat de adres- en data-lijnen altijd door een actieve chip in een geldige toestand gezet worden.
Kennelijk geldt dat niet voor I/O- en interface-signalen.
Waarom zou je je adres en data signalen sustained tri-state willen hebben i.p.v. tri-state? ik zie het voordeel niet helemaal.
[Bericht gewijzigd door DigitalDesigned op (77%)]
High-Voltage
Het probleem bij een maatschappelijke samenleving is dat je geen "normale" uitzondering kan zijn...
@DigitalDesigned: Sinds dat AGP eigenlijk gewoon PCI is, staat op die link dezelfde info als hetgeen ik heb over PCI. Dus zo een beetje hetzelfde als in mn start post.
@ohm pi: Je gokje heeft mij verder geholpen denk ik. Het zijn de Interface Control lijnen die het begin en einde van een bus transactie bepalen. Wanneer niemand de bus in gebruik heeft moeten die signalen dus duidelijk gedefinieerd zijn. Wanneer ze zweven bestaat de kans dat een device denkt dat het begin van een bus transactie gegeven is met alle errors vandien.
Wanneer niemand de bus gebruikt kan adres etc gewoon ongedefinieerd zijn omdat het begin van een transactie nog niet gegeven is. Dat je de adreslijnen etc gewoon tri state maakt ipv sustained tri state is omdat het beterkoop is (achterwegen laten van die pull up weerstand) en sneller (je hoeft immers geen klok cyclus te wachten bij het wisselen van busgebruiker).
Hoe een kleine tip naar de oplossing kan leiden 
Edit:
@DigitalDesign: Blijkbaar je post gewijzigd. Het is niet zo zeer dat ik data & adres sustained tri state wil zien, maar eerder waarom de Interface Control lijnen wél zo moeten zijn. Dit is immers wat duurder én trager.
Volgens mij om bovenstaande reden.
@all: bedankt voor het meedenken!
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
1) AGP heeft NIKS met pci te maken !! das compleet anders !
de sustained lijnen moeten hoog worden gehouden. ( het zijn edges op deze lijnen die commandos geven ) als er rotzooi opgepikt wordt op die lijnen schop je het systeem in de war.
je moet wel tri-staten om busmastering te kunnen doen.
de andere tristate paden hebben geen pull-up nodig omdat die niet kritisch zijn. door de manier waarop de logica gebouwd is zijn deze altijd in een defined toestand vooraleer er trafiek gebeurt.
in princiepe konden ze met een open collector uitgang gewerkt hebben voor de interface control lijnen. Alleen is de risetime met een stomme pull-up weerstand te klein bij grote busbelasting (die is capacitief ... ). dus vandaar dat ze toch push-pull gebruiken en de poort dan tristaten. de weerstanden zorgen dan voor de steady state.
High-Voltage
Het probleem bij een maatschappelijke samenleving is dat je geen "normale" uitzondering kan zijn...
@free_electron: Ik heb me een beetje verkeerd uitgedrukt. AGP is gebaseerd op PCI (32 bit 66 MHz 3.3V). De I/O buffers konden in eerste instantie gewoon herbruikt worden. Delen van het protocol zijn ook gelijklopend. Connector en dergelijke is inderdaad verschillend. Daar is pipelining bijgekomen, iets wat PCI natuurlijk niet kent. Evenals data transfers sneller dan de klok (2x, 4x).
Dus op hardware niveau komen ook weer die tri state en sustained tri-state terug.
Maar ik heb ondertussen dus een antwoord op de vraag 
Edit:
Blz 20 van de AGP 2.0 specificatie:
1.2 Relationship to PCI
The A.G.P. interface specification uses the 66 MHz PCI (PCI Local Bus Specification) specification as an
operational baseline, and provides four significant performance extensions or enhancements to the PCI specification
which are intended to optimize the A.G.P. for high performance 3D graphics applications.
Blz 41:
3.2 Operation overview
A.G.P. pipelined bus transactions share most of the PCI signal set, and are actually interleaved with PCI transactions
on the bus. Only memory read and write bus operations targeted at main memory can be pipelined; all other bus
operations, including those targeted at device-local memories (e.g., frame buffers), are executed as PCI transactions,
as defined in the PCI Local Bus Specification.
[Bericht gewijzigd door High-Voltage op (19%)]