DE69828074T2 - Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl - Google Patents

Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl Download PDF

Info

Publication number
DE69828074T2
DE69828074T2 DE69828074T DE69828074T DE69828074T2 DE 69828074 T2 DE69828074 T2 DE 69828074T2 DE 69828074 T DE69828074 T DE 69828074T DE 69828074 T DE69828074 T DE 69828074T DE 69828074 T2 DE69828074 T2 DE 69828074T2
Authority
DE
Germany
Prior art keywords
bus
host
dma
lpc
control information
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.)
Expired - Lifetime
Application number
DE69828074T
Other languages
English (en)
Other versions
DE69828074D1 (de
Inventor
H. Andrew GAFKEN
A. Joseph BENNETT
I. David POISNER
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE69828074D1 publication Critical patent/DE69828074D1/de
Application granted granted Critical
Publication of DE69828074T2 publication Critical patent/DE69828074T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Computersysteme. Im Besonderen betrifft die vorliegende Erfindung die Kommunikation zwischen verschiedenartigen Vorrichtungen an Low-Pin-Count-Bus bzw. einem Bus mit einer reduzierten Anzahl von Leitungen in einem Computersystem.
  • BESCHREIBUNG DES STANDS DER TECHNIK
  • Herkömmliche Legacy-Computersysteme weisen eine Vielzahl von Peripherie- und Speichervorrichtungen auf, die über einen Bus gemäß der Industry Standard Architecture (ISA) oder einen Erweiterungsbus (X-Bus) mit dem Chipsatz oder dem Prozessor des Systems kommunizieren. Der Chipsatz oder Prozessor des Systems muss eine große Anzahl von Pins (z.B. ungefähr 50 bis 70 Pins) sowie eine zugeordnete Schaltkreisanordnung aufweisen, um die ISA-Bus- oder X-Bus-Signale zu unterstützen, die eingesetzt werden, um eine Schnittstelle zwischen dem Chipsatz oder dem Prozessor und den Legacy-Peripheriegeräten vorzusehen, mit Ein-/Ausgabe-Steuervorrichtungen (E/A-Steuervorrichtungen) wie etwa Parallelanschluss-Steuereinheiten, Steuereinheiten für serielle Anschlüsse, Super-E/A-Steuereinheiten, Floppy-Diks-Steuereinheiten, Tastatur-Steuereinheiten und Speichervorrichtungen wie etwa nichtflüchtige Speichervorrichtungen, die zum Beispiel BIOS-Informationen speichern (BIOS als englische Abkürzung von Basic Input-Output System).
  • Die große Anzahl an Pins, die zur Unterstützung der Standards für den ISR-Bus und den X-Bus erforderlich ist, erhöhen allgemein die Kosten für das Gesamtsystem. Zum Beispiel sind größere Einheiten für einen Chipsatz oder einen Prozessor erforderlich. Größere Einheiten für eine hohe Anzahl von Pins kosten allgemein mehr als kleinere Einheiten für weniger Pins, und wobei sie ferner anfälliger sind für Probleme in Bezug auf die Fertigungsqualität und die Zuverlässigkeit während der Montage der Einheit und den Systemintegrationsprozessen. Ferner benötigen Einheiten mit größerer Anzahl von Pins einen größeren Anteil der Oberfläche auf der gedruckten Leiterplatte (PCB), auf der ein Computersystem implementiert werden kann. Somit wäre es wünschenswert, den ISA-Bus oder den X-Bus in einem Computersystem durch einen Bus zu ersetzen; der die gleichen Arten von Peripheriegeräten unterstützt, jedoch eine im Verhältnis geringere Anzahl von Pins oder Signalleitungen verwendet.
  • Die ISA-Bus- und X-Bus-Standards begrenzen ferner den Speicherplatz oder den E/A-Adressraum auf 24 Bits oder ungefähr 24 MByte Speicherplatz oder E/A-Adressraum. Da bestimmte Prozessoren und Chipsätze einen Adressraum von 32 Bit oder 64 Bit unterstützen können, war bislang ein Aliasing erforderlich, um den Prozessoradressraum auf den ISA-Adressraum umzusetzen. Aliasing kann erheblichen zusätzlichen Platzbedarf erzeugen, so dass die Leistung des Computersystems negativ beeinflusst werden kann. Somit wäre es wünschenswert, die ISA-Bus- und X-Bus-Standards durch einen Bus zu ersetzen, der einen Adressraum unterstützen kann, der mit dem Adressraum des Prozessors oder des Chipsatzes kompatibel und der potenziell unbegrenzt ist.
  • Die ISA-Bus- und X-Bus-Standards weisen den zusätzlichen Nachteil auf, dass sie asynchron sind. Dies erhöht allgemein die Komplexität der Konstruktion für Bauteile, die ISA-Bus- und X-Bus-Signale erzeugen und auf diese ansprechen müssen. Wünschenswert wäre es somit, die ISA-Bus- und X-Bus-Standards durch einen Bus zu ersetzen, der eine synchrone Kommunikation zwischen Komponenten bzw. Bauteilen unterstützen kann, um die Komplexität der Schaltkreisanordnung der Busschnittstelle allgemein zu verringern.
  • Ein Computersystem, das ein Weiterleitungsprotokoll für eine DMA-Anforderung implementiert, ist aus dem U.S. Patent US-A-5.664.197 bekannt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Vorgesehen ist gemäß einem ersten Aspekt der vorliegenden Erfindung ein System gemäß dem gegenständlichen Anspruch 1.
  • Vorgesehen ist gemäß einem zweiten Aspekt der vorliegenden Erfindung ein Verfahren gemäß dem gegenständlichen Anspruch 6.
  • Beschrieben wird ein System mit einem Host, der mit einer Speichervorrichtung und einer peripheren Steuervorrichtung gekoppelt ist. Der Host ist über einen Bus mit der peripheren Steuervorrichtung gekoppelt, wobei der Bus eine Mehrzahl von Universalsignalleitungen aufweist, die dazu dienen, zeitmultiplexierte Adressen, Daten und Steuerinformationen zu übertragen. Die periphere Steuervorrichtung führt Transaktionen eines Direktspeicherzugriffs (DMA) mit der Speichervorrichtung über den Host und den Bus aus.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus den beigefügten Zeichnungen und der folgenden genauen Beschreibung deutlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Merkmale und Vorteile der vorliegenden Erfindung sind in den Abbildungen der beigefügten Zeichnungen beispielhaft und ohne einzuschränken dargestellt, wobei gleiche Elemente mit den gleichen Bezugszeichen bezeichnet sind. In den Zeichnungen zeigen:
  • 1 ein Ausführungsbeispiel eines Computersystems mit einem Low-Pin-Count-Bus (LPC);
  • 2 ein Ausführungsbeispiel einer LPC-Schnittstelle für einen Host;
  • 3 ein Ausführungsbeispiel eines Zustandsmaschinendiagramms zur Implementierung einer Direktspeicherzugriffsanforderung (DMA-Anforderung);
  • 4 ein Ausführungsbeispiel einer DMA-Anforderungstransaktion;
  • 5 ein Ausführungsbeispiel einer Zustandsmaschine zur Implementierung von DMA-Lese- und Schreibtransaktionen;
  • 6 ein Ausführungsbeispiel einer DMA-Schreibtransaktion;
  • 7 ein Ausführungsbeispiel einer DMA-Lesetransaktion; und
  • 8 ein Ausführungsbeispiel eines Taktdiagramms für einen Schwachleistungsbetriebsmodus.
  • GENAUE BESCHREIBUNG DER ERFINDUNG
  • Offenbart wird ein Computersystem mit einem Low-Pin-Count-Bus (LPC-Bus). Der LPC-Bus kann den ISA-Bus oder den X-Bus in einem Computersystem ersetzen, wobei ein Kommunikationsmechanismus zwischen einem Host, wie etwa einem Prozessor oder einem Chipsatz, und Peripheriegeräten, wie etwa E/A- oder E/A-Steuerbausteinen und Speicherbausteinen, vorgesehen wird. In einem Ausführungsbeispiel kann der LPC-Bus Universalsignalleitungen aufweisen, die im Wesentlichen alle zeitmultiplexierten Adressen, Daten und Steuerinformationen übertragen, um Speicher-, E/A-, Direktspeicherzugriffs- (DMA) und Bus-Master-Transaktionen zischen dem Host und den peripheren Bausteinen zu implementieren.
  • Ein beabsichtigter Vorteil des LPC-Busses ist es, dass er mit deutlich weniger Signalleitu9ngen (z.B. ungefähr 6 bis 8 Signalleitungen) zur Ausführung aller Funktionen auskommen kann, die vorher von den ungefähr 50 bis 70 Signalleitungen gemäß dem ISA- Bus- oder dem X-Bus-Standards ausgeführt worden sind. Da die Anzahl der Signalleitungen bei dem LPC-Bus im Vergleich zu den ISA-Bus- und X-Bus-Standards erheblich reduziert werden kann, kann auch die Anzahl der erforderlichen Pins an dem Chipsatz oder Prozessor eines Computers zur Unterstützung des LPC-Busses erheblich reduziert werden. In ähnlicher Weise kann eine in jedem peripheren Baustein vorgesehene LPC-Schnittstelle eine gleichermaßen geringe Anzahl von Pins für eine Schnittstellenfunktion mit dem Chipsatz oder Prozessor über den LPC-Bus verwenden. Dies kann bei dem Komponentenhersteller zu niedrigeren Kosten für Einheiten führen sowie zu niedrigeren Systemkosten für den Hersteller des Computersystems. Dies kann zusätzlich zu einer höherwertigen und zuverlässigeren Packung und Systemintegration führen.
  • Ein weiterer beabsichtigter Vorteil des LPC-Busses ist es, dass der Speicher- und/oder E/A-Adressraum nicht auf eine bestimmte Anzahl von Adressleitungen in einem Datenübertragungsbus beschränkt ist, vielmehr kann der LPC-Bus seriell so viele Adresssignale übertragen, wie dies für die Adressierung jedes Adressraums erforderlich ist. Somit kann auf ein herkömmliches Aliasing des Speicher- oder E/A-Adressraums verzichtet werden.
  • Ein weiterer beabsichtigter Vorteil des LPC-Busses ist es, dass es sich bei der LPC-Schnittstellenlogik und/oder – Software, die für die Schnittstellenfunktion zwischen einem Chipsatz oder einem Prozessor mit einem peripheren Baustein verwendet werden kann, um eine Software handeln kann, die mit existierenden Computern kompatibel ist, die ISA-Bus- oder X-Bus-Standards kompatibel sind. Das heißt, seitens der Betriebssystemsoftware oder der Anwendungsprogramme sind keine speziellen Treiber oder Konfigurationen für die Ausführung auf einem LPC-Bus-System im Vergleich zu einem ISA-Bus- oder X-Bus-System erforderlich.
  • Ein wiederum weiterer beabsichtigter Vorteil des LPC-Busses ist es, dass es sich um einen synchronen Bus handeln kann, der eine LPC-Schnittstellenschaltung in Host- und peripheren Bausteinen freigibt, so dass allgemein eine weniger komplexe Schaltkreisanordnung als bei asynchronen Busschnittstellen-Konstruktionen erforderlich ist.
  • Die Abbildung aus 1 zeigt ein Ausführungsbeispiel eines Computersystems 100 mit einem Host 102, der über einen LPC-Bus 124 mit peripheren Vorrichtungen bzw. Bausteinen gekoppelt ist, die E/A- oder E/A-Steuervorrichtungen 104 und 106 und die Speichervorrichtung 108 aufweist. Bei dem Host 102 kann es sich um einen Chipsatz, Prozessor oder jede andere Steuerlogik handeln, die eine Intelligenz für eine Schnittstellenfunktion mit dem LPC-Bus 124 aufweist. Der Host 102 kann auch die erforderliche Logik für eine Schnittstellenfunktion mit einem optionalen ISA-Bus 126 und einem optionalen PCI- oder Host-Bus 128 aufweisen. Der Host 102 überträgt Adressen, Daten und Steuerinformationen über den Bus 130, bei dem es sich um einen lokalen Bus oder einen anderen Speicherbus handeln kann, mit dem Speicher 110. Der Speicher 130 kann der Haupt- oder primäre Speicher für das System 100 sein, wie etwa ein dynamischer Direktzugriffsspeicher (DRAM), ein statischer Direktzugriffsspeicher (SRAM) oder jeder andere flüchtige oder nichtflüchtige Speichertyp, der zum Beispiel Betriebssystemsoftware, Anwendungscode oder Programmdaten speichern kann.
  • Bei den E/A-Vorrichtungen 104 und 106 kann es sich um E/A-Steuervorrichtungen handeln, die in einem E/A-Adressraum adressierbar sind und den Zugriff auf periphere Komponenten wie etwa Floppy-Disk-Laufwerke, Tastaturen und dergleichen steuern. Bei den E/A-Vorrichtungen 104 und 106 kann es sich zum Beispiel jeweils zum eine Floppy-Disk-Steuereinheit, eine Steuereinheit für einen seriellen Anschluss, eine Parallelanschluss-Steuereinheit, eine Infrarot-Steuereinheit (IR-Steuereinheit), eine Tastatur-Steuereinheit, eine Audio-Steuervorrichtung oder eine Video-Steuervorrichtung handeln. Die E/A-Vorrichtung 104 kann eine Super-E/A-Vorrichtung sein, die E/A-Steuereinheiten 120 und 122 aufweist, bei denen es sich jeweils zum Beispiel um eine Floppy-Disk-Steuereinheit, eine Steuereinheit für einen seriellen Anschluss, eine Parallelanschluss-Steuereinheit, eine Infrarot-Steuereinheit (IR-Steuereinheit), eine Tastatur-Steuereinheit, eine Audio-Steuervorrichtung oder eine Video-Steuervorrichtung handeln kann.
  • Bei der Speichervorrichtung 108 handelt es sich um eine periphere Vorrichtung, die in dem Speicherraum adressierbar ist. Zum Beispiel kann die Speichervorrichtung 108 jede Art von flüchtigem oder nichtflüchtigem Speicher aufweisen, wie etwa DRAM, SRAM, Flash-Speicher, elektrisch programmierbaren Nur-Lesespeicher (EPROM), elektrisch löschbaren, programmierbaren Nur-Lesespeicher (EEPROM), magnetische Speichermedien oder optische Speichermedien. Die Speichervorrichtung 108 kann Systemstartcode bzw. Systemhochlaufcode, Verwaltbarkeitscode, Betriebssystemdaten, Anwendungscode oder Programmdaten speichern oder als Notizblock für den Host 102 oder die E/A-Vorrichtungen 104 und 106 fungieren. Der Systemhochlaufcode kann die erforderliche Software für die Konfiguration oder Boot-Komponenten in dem System 100 und auch BIOS-Informationen aufweisen.
  • Der Host 102 und alle peripheren Bausteine bzw. Vorrichtungen 104, 106 und 108 weisen entsprechende LPC-Schnittstellen 118, 112, 114 und 116 zur Erzeugung von LPC-Signalen und zur Reaktion auf LPC-Signale an dem LPC-Bus 124 auf. Die LPC-Schnittstellen können dem System 100 die Implementierung von Speicher-, E/A-, DMA- und Bus-Master-Transaktionen über den LPC-Bus 124 ermöglichen. Jede LPC-Schnittstelle weist entweder einen bzw. mehrere Eingabe- oder Ausgabe-Pin(s) für den Empfang oder das Übertragen der Signale LAD[3:0], LCLK und LFRAME# auf. Hiermit wird festgestellt, dass das einem Signalnamen folgende Rautensymbol "#" anzeigt, dass es sich bei dem Signal um ein aktiv niedriges Signal handelt. Bei alternativen Ausführungsbeispielen können aktiv niedrige Signale als aktiv hohe Signale verändert werden.
  • Die Signalleitungen LAD[3:0] sind Universalsignalleitungen, die zeitmultiplexierte Adressen, Daten und Steuerinformationen über den LPC-Bus 124 und zwischen dem Host 102 und den peripheren Vorrichtungen 104, 106 und 108 übertragen. Ob LAD[3:0] Adressen, Daten oder Steuerinformationen zu einem bestimmten Zeitpunkt überträgt kann durch den Betriebskontext des Systems 100 bestimmt werden, wie dies nachstehend im Text näher beschrieben wird. LAD[3:0] ist zwar als 4-Bit-Bus dargestellt, wobei er aber auch jede andere Anzahl von Signalleitungen aufweisen kann, um einen gewünschten Zweck für die Übertragung von zeitmultiplexierten Adressen, Daten und Steuerinformationen zu erfüllen. Ein 4-Bit-Bus kann von Vorteil sein, um die Anzahl der erforderlichen Pins an jeder LPC-Schnittstelle 112118 zu reduzieren sowie um die Anzahl der Pins und Packungsgrößen des Hosts 102 und der peripheren Vorrichtungen 104, 106 und 108 zu reduzieren.
  • LCLK ist ein Taktsignal, das von der LPC-Schnittstelle 118 oder jede andere Schaltkreisanordnung in dem Host 102 (nicht abgebildet) erzeugt werden kann. Alternativ kann LCLK durch einen Systemtakt (nicht abgebildet) erzeugt werden, mit einem Kristall oder einer anderen Taktschaltung. In einem Ausführungsbeispiel kann es sich bei LCLK um den PCI-Takt von dem PCI-Bus 128 handeln.
  • LFRAME# wird durch die LPC-Schnittstelle 118 des Host 102 erzeugt, um den Anfang und/oder das Ende von LPC-Transaktionen oder Zyklen anzuzeigen. Jede der LPC-Schnittstellen 112, 114 und 116 kann LFRAME# überwachen oder abtasten, um zu bestimmen, wann eine LPC-Transaktion beginnt oder endet. Wenn zum Beispiel LFRAME# durch den Host 102 behauptet (z.B. niedrig) wird, überwachen die LPC-Schnittstellen 112, 114 und 116 der entsprechenden peripheren Vorrichtungen 104, 106 bzw. 108 LAD[3:0], um zu bestimmen-, ob die Transaktion oder der Zyklus für sie bestimmt ist. Wenn eine Transaktion nicht an eine bestimmte periphere Vorrichtung gerichtet ist, kann diese periphere Vorrichtung in vorteilhafter Weise in einen Niederleistungsmodus eintreten und ihre Zustandsmaschinen von dem Bus trennen und/oder die eigenen takte torsteuern. Wenn LFRAME# über mehr als einen LCLK-Zyklus behauptet wird, können die LPC-Schnittstellen 112, 114 und 116 nur auf die Startsteuerinformationen an LAD[3:0] während dem letzten LCLK-Zyklus ansprechen, während dem LFRAME# aktiv ist. In Tabelle 1 sind beispielhafte Definitionen der Startsteuerinformationen an LAD[3:0] bei behauptetem LFRAME# zusammengefasst.
  • Tabelle 1
    Figure 00100001
  • LFRAME# kann auch zum Abbrechen oder Beenden von LPC-Transaktionen verwendet werden. Zum Beispiel überwachen die LPC-Schnittstellen 112, 114 und 116 der peripheren Vorrichtungen 104, 106 bzw. 108 weiter LFRAME# während LPC-Transaktionen. Wenn LFRAME# während einer LPC-Transaktion behauptet wird, beenden die peripheren Vorrichtungen 104, 106 und 108 die Ansteuerung von LAD[3:0] und brechen ihre LPC-Transaktion ab. In einem Ausführungsbeispiel behauptet der Host 102 LFRAME# für eine Anzahl von LCLK-Zyklen (z.B. vier Taktzyklen), um sicherzustellen, dass die Abbruchanzeige von allen peripheren Vorrichtungen erkannt wird. Während einem oder mehren dieser LCLK-Zyklen kann der Host 102 auch vorbestimmte Daten an LAD[3:0] steuern. In einem Ausführungsbeispiel steuert der Host 102 1111 an LAD[3:0], während LFRAME# behauptet wird, um eine Abbruchsequenz anzuzeigen. Am Ende der Abbruchsequenz kann die Behauptung von LFRAME# aufgehoben werden, bevor eine neue LPC-Transaktion beginnt.
  • In alternativen Ausführungsbeispielen kann LFRAME# zwischen zwei beliebigen Vorrichtungen bzw. Bausteinen (z.B. einem Host und einer peripheren Vorrichtung) in einem beliebigen System als unabhängiges Steuersignal an einer unabhängigen Steuerleitung (getrennt von dem Bus) verwendet werden, um den Beginn oder den Abbruch einer Transaktion anzuzeigen, wie etwa einer Speicher-, E/A-, Bus-Master- oder DMA-Transaktion.
  • Der LPC-Bus 124 kann auch ein Rücksetzsignal LRESET# aufweisen, das in jede der LPC-Schnittstellen 112, 114, 116 und 118 eingegeben wird und die LPC-Schnittstellen auf einen bekannten Zustand zurücksetzt (z.B. einen Ruhezustand). In einem Ausführungsbeispiel kann es sich bei LRESET# um das gleiche Rücksetzsignal wie ein PCI-Rücksetzsignal an dem PCI-Bus 128 handeln.
  • Die E/A-Vorrichtungen 104 und 106 können auch entsprechende DMA-Anforderungssignale LDRQ0# und LDRQ1# aufweisen, die auf separaten Steuerleitungen an die LPC-Schnittstelle 118 des Host 102 vorgesehen werden. LDRQ0# und LDRQ1# können zur Übermittlung von codierten DMA-Kanalanforderungen an den Host 102 vor der Ausführung einer DMA- oder Bus-Master-Transaktion verwendet werden. Jede E/A-Vorrichtung kann ein eindeutiges LDRQ#-Signal aufweisen, so dass die E/A-Steuereinheiten 120 und 122 der peripheren Vorrichtung eine DMA-Kanalanforderung an LDRQ0# gemeinsam nutzen.
  • Der LPC-Bus 124 kann auch ein Niederleistungs- oder Bereitschaftssignal LPCPD# aufweisen, das durch den Host 102 an jede der peripheren Vorrichtungen 104108 auf einer separaten Steuerleitung ausgegeben werden kann. Wie dies in der Abbildung aus 8 veranschaulicht ist, kann der Host 102 LPCPD# (z.B. niedrig) zum Zeitpunkt t0 asynchron behaupten, um zu bewirken, dass die peripheren Vorrichtungen 104108 in einen Niederleistungsmodus eintreten. Nach der Erkennung der Behauptung von LPCPD# durch den Host 102 halten die peripheren Vorrichtungen 104108 alle LPC-Transaktionen an und können auch einen Dreizustand oder eine Steuerung von LAD[3:0] an einen bekannten Zustand vorsehen. Der Host 102 kann auch LFRAME# nach der Behauptung von LPCPD# an einen bekannten Zustand steuern (hoch oder niedrig). In dem Niederleistungsmodus kann LCLK zum Zeitpunkt t1 abgeschaltet werden, und die peripheren Vorrichtungen 104108 können ihre Zustandsmaschinen und/oder eine andere Logik abschalten. In einem Ausführungsbeispiel beträgt der zeitliche Abstand zwischen t0 und t1 mindestens 30 Mikrosekunden. Beim Verlassen des Niederleistungsmodus kann LCLK zum Zeitpunkt t2 erneut asynchron gestartet und über einen Zeitraum ausgeführt werden, bevor die Behauptung von LPCPD# zum Zeitpunkt t3 aufgehoben wird. In einem Ausführungsbeispiel beträgt der zeitliche Abstand zwischen t2 und t3 mindestens 100 Mikrosekunden.
  • Danach kann LRESET# zum Zurücksetzen von peripheren Vorrichtungen 104108 vom Zeitpunkt t3 auf t4 verwendet werden. In einem Ausführungsbeispiel beträgt der zeitliche Abstand zwischen t3 und t4 mindestens 60 Mikrosekunden.
  • Der Host 102 und die peripheren Vorrichtungen 104108 können auch zusätzliche Seitenband-Eingabe- und/oder -Ausgabesignale aufweisen, die in ISA- oder PCI-Bussen verwendet werden, einschließlich Unterbrechungssignale (z.B. SERIRQ und SMI#), zusätzliche Taktsignale (z.B. CLKRUN#) und Power-Management-Signale, wie dies nachstehend im Text näher beschrieben wird.
  • Unter Verwendung von ungefähr 6 bis 9 Signalleitungen kann der LPC-Bus 124 in einem Ausführungsbeispiel erhebliche Signal- und Pin-Count-Einsparungen gegenüber herkömmlichen ISA-Bus- oder X-Bus-Bauteilen oder -Systemen vorsehen. Zum Beispiel kann es sein, dass die folgenden ISA-Bus- oder X-Bus-Signale, die für gewöhnlich in Plug&Play-Vorrichtungen vorkommen, nicht mehr erforderlich sind: D[7:0], SA[15:0], DREQ[3:0], DACK#[3:0], TC, IOR#, IOW#, IOCHRDY, IOCS16# und MEMCS16#. Dies kann zur Einsparung von ungefähr 30 bis 40 Signalen an dem Bus, dem Host und/oder den peripheren Vorrichtungen führen. In einem Ausführungsbeispiel kann eine vollständig funktionsfähige Super-E/A-Peripherie-Steuervorrichtung, die in ISA- oder X-Bus-kompatiblen Umgebungen eine Packung von bis zu 160 Pins erfordert, unter Verwendung einer LPC-Schnittstelle gemäß der Abbildung aus 1 nur eine Einheit mit 88 Pins (oder weniger) erfordern.
  • Der LPC-Bus kann von der LPC-Schnittstelle 112118 zur Ausführung von Speicher-, E/A-, DMA- und Bus-Master-Transaktionen oder Zyklen verwendet werden, einschließlich Lesen des Speichers, Schreiben in den Speicher, E/A-Lesen, E/A-Schreiben, DMA-Lesen, DMA-Schreiben, Bus-Master-Speicher lesen, Bus-Master-Speicher schreiben, Bus-Master-E/A lesen und Bus-Master-E/A schreiben. Die Transaktionsart kann in einem Feld der Zyklusart und Richtungssteuerinformationen angezeigt werden, die durch den Host 102 oder die peripheren Vorrichtungen 104, 106 und 108 an LAD[3:0] gesteuert werden. Tabelle 2 zeigt ein Ausführungsbeispiel der Zyklusart- und Steuerinformationen, die auf LAD[3:0] codiert sind. Andere Codierungen auf den gleichen oder anderen Signalleitungen können ebenfalls verwendet werden.
  • Tabelle 2
    Figure 00140001
  • Die Abbildung aus 2 zeigt die LPC-Schnittstelle 200 als ein Ausführungsbeispiel der LPC-Schnittstelle 118 des Host 102. Die LPC-Schnittstelle 200 erzeugt und interpretiert Adresse, Daten und Steuerinformationen an dem LPC-Bus 124 zur Implementierung der Transaktionen aus 2. Die LPC-Schnittstelle 200 weist eine Speicher- und E/A-LPC-Steuerlogik 202 auf, welche die Speicherlese-, Speicherschreiben-, E/A-Lesen- und E/A-Schreiben-LPC-Transaktionen zwischen dem Host 102 und einer der peripheren Vorrichtungen 104108 steuern kann. Die Speicher- und E/A-LPC-Steuerlogik 202 kann eine Zustandsmaschine oder eine Ablaufsteuerung zur Ablaufsteuerung zwischen den erforderlichen Zuständen für die jeweilige LPC-Transaktion und zur Erzeugung von Adressen, Daten oder Steuerinformationen an LAD[3:0], LFRAME# und/oder LCLK aufweisen. Die an LAD[3:0], LFRAME# und/oder LCLK vorgesehenen Informationen können an dem Bus 214 zur Ausgabe durch die Logik 208 an den LPC-Bus 124 vorgesehen werden.
  • In einem Ausführungsbeispiel bestimmt die Speicher- und E/A-LPC-Steuerlogik 202, dass eine LPC-Speicher- oder E/A-Transaktion durch die Kommunikation mit der LPC-Decodierungslogik 210 über ein oder mehrere Signale 216 ausgeführt werden muss. Die LPC-Decodierungslogik 210 kann eine Speicher- oder E/A-Lese- oder Schreibanforderung und eine zugeordnete Adresse von dem Host 102, dem ISA-Bus 126 oder PCI- oder Host-Bus 128 empfangen. Die LPC-Decodierungslogik kann die Adresse decodieren und der Speicher- und E/A-LPC-Steuerlogik 202 signalisieren, eine Speicher- oder E/A-LPC-Transaktion zu beginnen. Die LPC-Decodierungslogik 210 kann alternativ außerhalb der LPC-Schnittstelle 200 jedoch in dem Host 102 angeordnet sein. Die decodierten Adressbereiche für die peripheren Vorrichtungen 104108 können so definiert sein, dass sie mit früheren ISA-Bus- und X-Bus-Legacy-Peripheriegeräten kompatibel sind, um die LPC-Transaktionssoftware für die Betriebsystemsoftware und die Anwendungssoftware transparent zu gestaltne. In einem alternativen Ausführungsbeispiel kann die Steuerung der Speicher- und E/A-LPC-Transaktionen in verschiedene Steuerschaltungen aufgeteilt werden.
  • Die LPC-Schnittstelle 200 weist ferner die DMA-LPC-Steuerlogik 204 auf, welche die DMA-Lese- und Schreib-LPC-Transaktionen zwischen dem Host 102 und einer der E/A-Vorrichtungen 104 und 106 steuert. Die DMA-LPC-Steuerlogik 204 kann eine Zustandsmaschine oder eine Ablaufsteuerung für eine Ablaufsteuerung zwischen den erforderlichen Zuständen für die DMA-LPC-Transaktion und zur Erzeugung von Adressen, Daten oder Steuerinformationen an LAD[3:0], LFRAME# und/oder CLK sowie zum Empfang von DMA-Anforderungssignalen LDRQ0# und LDRQ1# aufweisen. Die an LAD[3:0], LFRAME#, LDRQ#, LDRQ1# und/oder LCLK vorgesehenen Informationen können über die Logik 208 und den Bus 214 an den LPC-Bus 124 oder von diesem vorgesehen werden.
  • Die DMA-LPC-Steuerlogik 204 kann über die DMA-Steuereinheit 212, die sich in dem Host 102 befinden kann, eine Schnittstellenfunktion mit dem Host 102 und dem Speicher 110 vorsehen. Die DMA-LPC-Steuerlogik 204 kann über ein oder mehrere Signale 218 mit der DMA-Steuereinheit 212 kommunizieren. In einem Ausführungsbeispiel kann die DMA-Steuereinheit 212 eine oder mehrere 8237- oder 8237-kompatible Steuereinheiten aufweisen. Die DMA-Steuereinheit 212 kann eine Arbitrierung in dem Host 102 für einen DMA-Kanal ausführen, so dass die E/A-Vorrichtung unter Verwendung des DMA-Kanals über den Host 102 mit dem Hauptspeicher 110 kommunizieren kann.
  • Die DMA-LPC-Steuerlogik 204 kann über die DMA-Steuereinheit 212, die sich in dem Host 102 befinden kann, eine Schnittstellenfunktion mit dem Host 102 und dem Speicher 110 vorsehen. Die DMA-LPC-Steuerlogik 204 kann über ein oder mehrere Signale 218 mit der DMA-Steuereinheit 212 kommunizieren. In einem Ausführungsbeispiel kann die DMA-Steuereinheit 212 eine oder mehrere 8237- oder 8237-kompatible Steuereinheiten aufweisen. Die DMA-Steuereinheit 212 kann eine Arbitrierung in dem Host 102 für einen DMA-Kanal ausführen, so dass die E/A-Vorrichtung unter Verwendung des DMA-Kanals über den Host 102 mit dem Hauptspeicher 110 kommunizieren kann.
  • Die LPC-Schnittstelle 200 kann auch eine Bus-Master-LPC-Steuerlogik 206 aufweisen, welche Bus-Master-Speicher-Lese- und Schreib-LPC-Transaktionen steuert sowie Bus-Master-E/A-Lese- und Schreib-LPC-Transaktionen zwischen dem Host 102 und den peripheren Vorrichtungen 104108. Die Bus-Master-LPC-Steuerlogik 206 kann eine Zustandsmaschine oder Ablaufsteuerung zur Ablaufsteuerung zwischen den erforderlichen Zuständen für Bus-Master-LPC-Transaktionen und zum Erzeugen von Adressen, Daten oder Steuerinformationen an LAD[3:0], LFRAME# und/oder LCLK sowie zum Empfangen von DMA-Anforderungssignalen LDRQ0# und LDRQ1# aufweisen. Die an LAD[3:0], LFRAME#, LDRQ0#, LDRQ1# und/oder LCLK vorgesehen Informationen können über die Logik 208 und den Bus 214 an oder von dem LPC-Bus 124 vorgesehen werden.
  • Die Logik 208 kann einen oder mehrere Puffer oder Transceiver für eine Schnittstellenfunktion zwischen dem LPC-Bus 124 und dem LPC-Bus 214 umfassen. Alternativ kann die LPC-Schnittstelle 200 keinen Bus 214 aufweisen; wobei die Logik 208 vielmehr direkt und einzeln mit den Eingabe- und Ausgabesignalen der Speicher- und E/A-LPC-Steuerlogik 202, der DMA-LPC-Steuerlogik 204 und der Bus-Master-LPC-Steuerlogik 206 verbunden werden kann. In diesem alternativen Ausführungsbeispiel kann es sich bei der Logik 208 um eine Selektor- oder Multiplexer-Schaltung handeln, welche die entsprechenden LPC-Signale zu und von dem LPC-Bus 124 und der Steuerlogik 202, 204 und 206 unter der Steuerung des Host 102 ausgibt oder eingibt.
  • Die Abbildung aus 3 zeigt ein Ausführungsbeispiel eines Zustandsdiagramms zur Ausführung einer DMA-Anforderung auf einer oder mehreren DMA-Anforderungssteuerleitungen LDRQ0# oder LDRQ1#. Das Zustandsdiagramm aus 3 kann durch Zustandsmaschinen oder Steuerlogik in der LPC-Schnittstelle 118 des Host 102 (z.B. der DMA-LPC-Steuerlogik 204 aus 2) implementiert werden oder durch Zustandsmaschinen oder Steuerlogik in LPC-Schnittstellen 112 und 114 der entsprechenden E/A-Vorrichtungen 104 bzw. 106. In alternativen Ausführungsbeispielen kann das Zustandsdiagramm durch Zustandsmaschinen oder Steuerlogik in jedem System implementiert werden, das eine Host-Vorrichtung und eine E/A-Vorrichtung aufweist, die einen DMA-Kanal über eine Steuerleitung anfordert, die von dem Universalbus unabhängig ist.
  • Wie dies bereits vorstehend im Text beschrieben worden ist, können die E/A-Vorrichtungen 104 und 106 DMR-Anforderungssignale LDRQ0# und LDRQ#1 entsprechend an separaten Steuerleitungen an die LPC-Schnittstelle 118 des Host 102 vorsehen. LDRQ0# und LDRQ1# können zur Übermittlung codierter DMA- oder Bus-Master-Kanalanforderungen an den Host 102 verwendet werden. Jede E/A-Vorrichtung kann ein eindeutiges dediziertes Signal LDRQ# aufweisen, so dass die E/A-Steuereinheiten 120 und 122 der peripheren Vorrichtung eine DMA- oder BUs-Master-Anforderungsleitung LDRQ0# gemeinsam nutzen können.
  • Der Ablauf der Abbildung aus 3 wird unter Verwendung des beispielhaften Zeitsteuerungsdiagramms aus 4 beschrieben. In dem Zustand 302 befinden sich die LPC-Schnittstellen 112, 114 und 116 in einem DMR-Ruhezustand, wobei die Behauptungen für LDRQ0# und LDRQ1# aufgehoben sind (z.B. hoch). Wenn zum Beispiel die E/A-Vorrichtung 104 LDRQ0# behauptet (z.B. niedrig), um eine DMA-Transaktion mit bzw. von dem Host 102 anzufordern, wechselt der Prozess in dem Zyklus T0 in den Startzustand 304. Der Host 102 erkennt, dass LDRQ0# behauptet worden und bereit ist, eine angeforderte DMA-Kanalnummer von der E/A-Vorrichtung 104 zu empfangen.
  • Der Prozess wechselt dann zu dem Zustand 306, wobei die angeforderte Kanalnummer während den Taktzyklen T1, T2 und T3 seriell und synchron an LDRQ0# von der E/A-Vorrichtung 104 zu dem Host 102 übertragen werden kann. Drei Taktzyklen können zur Codierung von bis zu acht verschiedenen DMA-Kanälen unter Verwendung eines binären Formats eingesetzt werden. In alternativen Ausführungsbeispielen kann eine andere Anzahl serieller Bits übertragen werden, um jede beliebige Anzahl von DMA-Kanälen zu codieren. In wiederum anderen Ausführungsbeispielen können andere Codierungssysteme als ein binäres Codierungssystem verwendet werden. Die Kanalnummer kann auch seriell mit dem werthöchsten Bit zuerst, mit dem wertniedrigsten Bit zuerst oder in jeder anderen von dem Host 102 erwarteten Reihenfolge bzw. Anordnung übermittelt werden.
  • Nachdem die Kanalnummer übertragen worden ist, wechselt der Prozess in den Zustand 308, in dem die E/A-Vorrichtung 104 ein aktives Bit (ACT) oder Signal auf LDRQ0# in dem Taktzyklus T4 an den Host 102 übermitteln kann. Das ACT-Bit kann anzeigen, ob die aktuelle DMA-Anforderung eine aktive oder inaktive Anforderung ist. Wenn das ACT-Bit zum Beispiel aktiv ist (z.B. hoch), so kann eine DMA-Steuereinheit des Host 102 eine Arbitrierung für einen Zugriff auf den Speicher 110 versuchen. Nachdem ein aktives ACT-Bit von dem Host 102 empfangen worden ist, kann die E/A-Vorrichtung 104 LDRQ0# für einen oder mehrere Taktzyklen T5 in dem Endzustand 310 in einen vorbestimmten Zustand (z.B. hoch oder niedrig) steuern. Danach kann eine DMA-Transaktion auftreten, die in dem Zyklus T6 oder zu jedem Zeitpunkt danach beginnt. Wenn das ACT-Bit hingegen inaktiv (z.B. niedrig) ist, kann der Host 102 diese DMA-Anforderung als Versuch zur Aufgabe einer vorherigen DMA-Anforderung für die in den Taktzyklen T1 – T3 angezeigten Kanalnummer interpretieren. Das heißt, wenn ACT inaktiv ist, kann die E/A-Vorrichtung 104 anfordern, dass der Host 102 eine vorherige DMA-Anforderung aufgibt. Der Prozess kann danach wieder zurück in den Ruhezustand 302 wechseln.
  • Die LPC-Schnittstellen 112, 114 und 118 können auch mehrere Pipeline-verarbeitete, serielle DMA-Anforderungen unterstützen. Zum Beispiel kann eine erste DMA-Anforderung für einen ersten Kanal an LDRQ0# für die E/A-Steuereinheit 120 der E/A-Vorrichtung 104 verarbeitet werden. In der Folge, entweder vor, während oder nach der tatsächlichen DMA-Transaktion über den ersten Kanal kann eine zweite DMA-Anforderung vorgenommen und für einen zweiten Kanal an LDRQ0# für die E/A-Steuereinheit 122 verarbeitet werden. In einem Ausführungsbeispiel führt der Host 102 die zweite DMA-Transaktion unmittelbar nach der ersten DMA-Transaktion aus. Ohne Pipeline-Verarbeitung kann eine Verzögerung zwischen DMA-Transaktionen existieren, während der Host 102 die zweite DMA-Anforderung an LDRQ0# oder LDRQ1# verarbeitet.
  • Nach einer DMA-Anforderung kann der Host 102 eine Arbitrierung vornehmen, um Zugriff auf den Speicher 110 zu erhalten, so dass Datendateien, Treiberinformationen, Anwendungscode und dergleichen über den Host 102 zwischen E/A-Vorrichtungen 104106 und dem Speicher 110 übertragen werden können. Sobald der Zugriff auf den Speicher 110 durch den Host 102 erreicht worden ist (z.B. durch die DMA-Steuereinheit 212 aus 2), kann eine DMA-Schreib- oder DMA-Lesetransaktion über den LPC-Bus 124 auftreten. Die Abbildung aus 5 zeigt ein Zustandsdiagramm der DMA-Schreib- und Lesetransaktionen, die über den LPC-Bus 124 auftreten können. Das Zustandsdiagramm aus 5 kann in jeder der LPC-Schnittstellen 112, 114 und 118 implementiert werden. Zum Beispiel kann das Zustandsdiagramm aus 5 in der DMA-LPC-Steuerlogik 204 aus 2 implementiert werden.
  • Eine DMA-Schreibtransaktion zwischen der LPC-Schnittstelle 112 der E/A-Vorrichtung 104, der LPC-Schnittstelle 118 des Host 102 und dem Speicher 110 wird unter Verwendung des beispielhaften Zeitsteuerungsdiagramms aus 6 beschrieben. Die DMA-Schreibtransaktion kann das Leasen von Daten durch die LPC-Schnittstelle 118 aus der E/A-Vorrichtung 104 und das folgende Schreiben dieser Daten in den Speicher 110 aufweisen.
  • Der Prozess beginnt in dem Zustand 502, in dem sich die LPC-Schnittstellen 118 und 112 im Ruhezustand befinden, wenn die Behauptung von LFRAME# aufgehoben wird (z.B. hoch). Wenn der Host 102 sich den Zugriff auf den Speicher 110 für den Kanal sichert, der vorher von der E/A-Vorrichtung 104 (z.B. dem Prozess aus 3) angefordert worden ist, beginnt eine DMA-Transaktion in dem Zustand 504, wenn LFRAME# durch den Host 102 während dem Zyklus T0 behauptet wird (z.B. niedrig). Der Host 102 steuert Startsteuerinformationen, welche den Start bzw. den Beginn einer LPC-Transaktion an LAD[3:0] während dem Zyklus T0 anzeigen. Zum Beispiel können die Startsteuerinformationen 0000 entsprechen, wie dies in Tabelle 1 angezeigt ist.
  • Der Prozess wechselt dann zu Zustand 506, in dem der Host 102 die Zyklustyp- und Richtungssteuerinformationen an LAD[3:0] während dem Zyklus T1 steuert. Die Zyklustyp- und Richtungssteuerinformationen zeigen der peripheren Einheit 104 an, dass es sich bei der LPC-Transaktion um eine DMA-Schreibtransaktion handelt. Die Zyklustyp- und Richtungssteuerinformationen können gemäß der Darstellung in Tabelle 2 101 an LAD[3:1] entsprechen.
  • Der Prozess wechselt dann zu dem Zustand 508, und der Host 102 kann während dem Taktzyklus T2 Kanalnummersteuerinformationen an LAD[2:0] steuern. Die Kanalnummer stellt die DMA-Kanalnummer dar, die während diesem Prozess durch den Host 102 eingeräumt wird. Die Kanalnummer kann einer Kanalnummer in einer vorherigen DMA-Anforderung durch die E/A-Vorrichtung 104 über LDRQ0# entsprechen. Die Kanalnummer kann in einem binären Format oder in jedem anderen Format codiert sein. Ein Ausführungsbeispiel der binären Codierungen ist in der folgenden Tabelle 3 veranschaulicht.
  • Tabelle 3
    Figure 00220001
  • Terminal-Count-Steuerinformationen können ebenfalls durch den Host 102 an LAD[3] während dem gleichen Taktzyklus T2 übertragen werden, während dem die Kanalnummer an LAD[2:0] gesteuert wird. Das Terminal-Count-Steuerbit kann ein letztes Byte der Übertragung auf der Basis der Größe der DMA-Transaktion (wird nachstehend im Text beschrieben) darstellen.
  • Wenn die Größe der DMA-Transaktion zum Beispiel 8 Bits entspricht und das TC-Bit gesetzt ist (z.B. hoch), so kann es sich dabei um das letzte Datenbyte für die DMA-Schreibtransaktion handeln. Wenn das TC-Bit in ähnlicher Weise für eine 16-Bit-DMA-Schreibtransaktion gesetzt ist, so kann es sich bei dem zweiten Byte nach dem TC-Bit um das letzte Byte für die DMA-Schreibtransaktion handeln.
  • Der Prozess wechselt als nächstes zu dem Zustand 510, und der Host 102 steuert Größensteuerungsinformationen an LAD[1:0] während dem Taktzyklus T3. Die Größensteuerungsinformationen zeigen die Anzahl der Bytes von E/A-Daten an, die über den Host 102 aus der E/A-Vorrichtung gelesen und in den Speicher 110 geschrieben werden müssen. In Tabelle 4 ist ein Ausführungsbeispiel der Codierung der Anzahl von Bytes an LAD[1:0] zur folgenden Übertragung über LAD[3:0] vorgesehen. Andere Codierungen auf den gleichen oder anderen LAD-Signalleitungen können ebenfalls verwendet werden.
  • Tabelle 4
    Figure 00230001
  • In einem alternativen Ausführungsbeispiel können die Größensteuerungsinformationen anzeigen, dass eine Anzahl von 2Größe Bytes von E/A-Daten über den Host 102 aus der E/A-Vorrichtung 108 und in den Speicher 110 geschrieben werden müssen.
  • Jeder der DMA-Kanaäle kann dedizierte Größen aufweisen. In einem Ausführungsbeispiel kann es sich bei den Kanälen 0 bis 3 jeweils um 8-Bit-Kanäle handeln, während es sich bei den Kanälen 5–7 jeweils um 16-Bit-Kanäle handelt. Wenn dedizierte Kanalgrößen eingesetzt werden, kann die LPC-Schnittstelle 118 Größensteuerungsinformationen übermitteln, die der Kanalgröße für den durch die DMA-Schreibtransaktion eingeräumten Kanal entsprechen. In alternativen Ausführungsbeispielen können größere Datengrößen über kleinere Kanalgrößen übertragen werden, sowie kleinere Datengrößen über größere Kanalgrößen.
  • Der Prozess kann danach zu dem Umkehrzustand (TAR) 514 wechseln, um die Steuerung des LPC-Busses 124 während dem bzw. den n Taktzyklus bzw. Taktzyklen T4 auf die E/A-Vorrichtung 104 zu übertragen. Die Steuerung des LPC-Busses 124 kann auf die E/A-Vorrichtung 104 übertragen werden, so dass diese ihre DMA-Schreibdaten an LAD[3:0] ausgeben kann. In einem Ausführungsbeispiel weist der Zustand 514 eine Breite von zwei Takten auf. In dem ersten Taktzyklus steuert der Host 102 die Leitungen LAD[3:0] mit vorbestimmten Steuerungsinformationen (z.B. 1111). In dem zweiten Taktzyklus kann der Host 102 die Leitungen LAD[3:0] mit einer Dreizustandbedingung vorsehen. An diesen Leitungen können schwache Endwiderstände angebracht sein, so dass sie in logisch hohen Zuständen verbleiben. In anderen Ausführungsbeispielen kann n einem Taktzyklus oder mehr als zwei Taktzyklen entsprechen, um LAD[3:0] umzukehren.
  • Der Prozess wechselt danach zu dem Zustand 516 und wartet n Taktzyklen, während die E/A-Vorrichtung 104 während n Taktzyklen T5 Inband-Synchronisierungssteuerinformationen an LAD[3:0] steuert. Die Synchronisierungssteuerinformationen können zum Hinzufügen von Wartezuständen verwendet werden, bis die Daten zur Ausgabe durch die E/A-Vorrichtung 104 bereit stehen. Auf diese Weise können E/A-Vorrichtungen mit unterschiedlichen Geschwindigkeiten oder Zugriffszeiten mit dem gleichen LPC-Bus gekoppelt werden. Traditionell wurde ein dediziertes Steuersignal auf einer dedizierten Steuerleitung verwendet, um anzuzeigen, wenn die Daten bereit sind (z.B. IOCHRDY in dem ISA-Bus oder X-Bus). Im Gegensatz dazu kann die E/A-Vorrichtung 104 eine Inband-Signalisierung an LAD[3:0] verwenden, um Wartezustände einzufügen, ohne dass die Verwendung eines zusätzlichen dedizierten Pins oder einer entsprechenden Signalleitung erforderlich ist.
  • In einem Ausführungsbeispiel kann das Feld für die Synchronisierungssteuerinformationen zwei Phasen aufweisen. Die erste Phase steuert erste Steuerinformationen an LAD[3:0] (z.B. 0101 oder 0110 an LAD[3:0]), während auf die DMA-Schreibdaten zugegriffen wird. Die zweite Phase steuret zweite Steuerinformationen an LAD[3:0] (z.B. 0000 LAD[3:0]), wobei angezeigt wird, dass die Daten zur Ausgabe an den LPC-Bus 124 bereit stehen. Der Host 102 überacht die Synchronisierungssteuerinformationen, um zu bestimmen, wenn DMA-Schreibdaten für die DMA-Transaktion an LAD[3:0] durch die E/A-Vorrichtung 104 in folgenden Taktzyklen T6 ausgegeben werden. In einem Ausführungsbeispiel weisen die ersten Steuerinformationen eine Codierung (z.B. 0110 an LAD[3:0]) auf, die anzeigt, dass die E/A-Vorrichtung 104 eine verhältnismäßig große Anzahl von Wartezuständen an LAD[3:0] steuert (z.B. ungefähr 20+ Wartezustände). Die ersten Steuerinformationen können auch eine Codierung (z.B. 0101 an LAD[3:0]) aufweisen, die anzeigt, dass die E/A-Vorrichtung 104 eine verhältnismäßig kleine Anzahl von Wartezuständen an LAD[3:0] steuert (z.B. ungefähr 1 – 20 Wartezustände). Zum Beispiel (siehe die folgende Tabelle 5) kann die E/A-Vorrichtung 104 Synchronisierungsdaten 0101 an LAD[3:0] entsprechend für ungefähr 1 – 20 Taktzyklen steuern und danach entsprechend eine Zyklus von 0000 an LAD[3:0] steuern, um anzuzeigen, dass die angeforderten Daten bereit stehen und während dem folgenden Taktzyklus ausgegeben werden.
  • Wenn die Anzahl der Wartezustände hoch ist, kann der Host 120 durch ein Eintreten in den Zustand 518 einen Abbruch der Transaktion entscheiden. Wie dies bereits vorstehend im text beschrieben worden ist, kann der Host 102 die Transaktion durch die Behauptung von LFRAME# für einen oder mehrere Taktzyklen abbrechen und vorbestimmte Abbruchsteuerinformationen (z.B. 1111 wie in Tabelle 1) an LAD[3:0] steuern.
  • Das Feld der Synchronisierungssteuerinformationen kann auch von der E/A-Vorrichtung 104 zum Übermitteln einer Inband-Fehlernachricht an LAD[3:0] an den Host 102 verwendet werden. Die Fehlernachricht kann jederzeit während der Synchronisierungssequenz übertragen werden. Zum Beispiel kann sie als die zweiten Steuerinformationen in dem Ausführungsbeispiel mit den ersten und zweiten Synchronisierungssteuerinformationen übermittelt werden. Die Fehlernachricht kann zum Beispiel anzeigen, dass die Daten eine bestimmte Korrumpierung aufweisen, dass die periphere Vorrichtung die Anforderung nicht versteht, dass eine ungültige Anforderung vorgenommen worden ist, oder dass eine Anforderung erfolgt ist, während sich die periphere Vorrichtung in einem Abschaltmodus oder in einem anderen Modus befindet, in dem sich nicht bereit oder in der Lage ist, Daten auszugeben. In einem anderen Ausführungsbeispiel kann die Fehlernachricht anzeigen, dass eine Floppy-Disk-Steuereinheit einen Überlauf ihres FIFO aufweist. Die Fehlernachricht kann einen Abbruch der DMA-Schreibtransaktion bewirken.
  • In einem anderen Ausführungsbeispiel kann die E/A-Vorrichtung 104 einen Fehlerzustand anzeigen, indem die Synchronisierungssteuerinformationen von 0000 oder 1010 an LAD[3:0] eines ungeraden Byte einer 16-Bit- oder 32-Bit-Übertragung gesteuert werden.
  • In Tabelle 5 ist ein Ausführungsbeispiel von Codierungen an LAD[3:0] für die vorstehend beschriebenen Synchronisierungssteuerinformationen vorgesehen. Anderen Codierungen können ebenso verwendet werden.
  • Tabelle 5
    Figure 00270001
  • In alternativen Ausführungsbeispielen können die Inband-Synchronisierungssteuerinformationen zwischen zwei beliebigen Vorrichtungen (z.B. einer E/A-Vorrichtung 104 und dem Host 102) über einen Universal-Zeitmultiplex-Bus in jedem beliebigen System verwendet werden, um einen Wartezustand, Fehler oder beliebige andere Informationen zu übertragen, wie dies vorstehend im Text beschrieben und in Tabelle 5 zusammengefasst worden ist.
  • Die E/A-Vorrichtung 104 kann die Synchronisierungssteuerinformationen mit jedem über LAD[3:0] an den Host 102 übertragenen Datenbyte verwenden, um dem Host 102 anzuzeigen, ob es sich um das letzte Byte der Übertragung handelt oder ob mehr Bytes zur Übertragung angefordert worden sind. In einem Ausführungsbeispiel kann Bereit ohne Fehler (z.B. 0000) oder Bereit mit Fehler (z.B. 1010) dem Host 102 anzeigen, dass das in dem Zyklus T6 folgende Datenbyte das letzte Datenbyte für die DMA-Schreibtransaktion ist. Die E/A-Vorrichtung 104 kann die DMA-Anforderung aktiv halten, indem die Steuerinformationen DMA Bereit mehr (z.B. 1001 in Tabelle 5) vor dem Zyklus T6 an LAD[3:0] gesteuert werden. Dies kann dem Host 102 anzeigen, dass nach dem aktuellen Byte noch mehr Datenbytes zur Übertragung angefordert worden sind. Der Host 102 kann zu einem späteren Zeitpunkt aus dem Zustand 502 erneut mit der DMA-Schreibtransaktion beginnen, um auf zusätzliche Daten zuzugreifen.
  • Wenn die E/A-Vorrichtung 104 für die Ausgabe ihrer Daten an den LPC-Bus 124 nach dem Vorsehen entsprechender Synchronisierungssteuerinformationen an LAD[3:0] (z.B. 0000) bereit ist, wechselt der Prozess zu dem Zustand 520 für n Taktzyklen T6. Die E/A-Vorrichtung 104 kann Daten in Byte-Inkrementen über zwei Taktzyklen an LAD[3:0] steuern. Für jedes Byte können die Daten durch die E/A-Vorrichtung 104 mit der niedrigen 4-Bit-Einheit zuerst, mit der hohen 4-Bit-Einheit zuerst oder in jedem anderen Format ausgegeben werden. Wenn es sich bei der DMA-Schreibtransaktion um eine 16-Bit- oder eine 32-Bit-Übertragung (oder höher) handelt, kann der Prozess die Zustände 516 und 520 so oft wiederholen, wie dies erforderlich ist, um die benötigten Datenbytes zu dem Host 102 zu übertragen. Jede Gruppe von Bytes, die von der E/A-Vorrichtung 104 ausgegeben wird, kann mit dem niedrigen Byte zuerst, dem hohen Byte zuerst oder in jedem anderen Format ausgegeben werden. Danach können die aus der E/A-Vorrichtung 104 gelesenen Daten durch den Host 102 in den Speicher 110 geschrieben werden. Der Host 102 kann auch einen Bestätigungsmodus unterstützen, in dem der Prozess aus 5 ausgeführt wird, und zwar ohne den zusätzlichen Schritt des Schreibens der aus der E/A-Vorrichtung 104 gelesenen Daten in den Speicher 110.
  • Nachdem alle Daten durch die LPC-Schnittstelle 112 der E/A-Vorrichtung 104 ausgegeben worden sind, wechselt der Prozess zu dem Umkehrzustand (TAR) 522, in dem die Steuerung von LAD[3:0] während n Taktzyklen T7 an den Host 102 zurückgeführt wird. Wie in Zustand 514 kann der Zustand 522 eine Breite von zwei Takten aufweisen. In dem ersten Taktzyklus steuert die E/A-Vorrichtung 104 die Leitungen LAD[3:0] mit vorbestimmten Steuerinformationen (z.B. 1111). In dem zweiten Taktzyklus kann die E/A-Vorrichtung 103 für die Leitungen LAD[3:0] einen Dreifachzustand vorsehen. In anderen Ausführungsbeispielen kann n einen Taktzyklus oder mehr als zwei Taktzyklen für die Umkehr von LAD[3:0] darstellen.
  • Nachstehend wird in Bezug auf das Zeitsteuerungsdiagramm aus 7 eine DMA-Lesetransaktion zwischen der LPC-Schnittstelle 112 der E/A-Vorrichtung 104, der LPC-Schnittstelle 118 des Host 102 und des Speichers 110 beschrieben.
  • Der Prozess beginnt mit dem Zustand 502, in dem sich die LPC-Schnittstellen 118 und 112 im Ruhezustand befinden, wenn die Behauptung von LFRAME# aufgehoben wird (z.B. hoch). Wenn der Host 102 den Zugriff auf den Speicher 110 erlangt und Speicherdaten aus diesem liest, wird LFRAME# durch den Host 102 in dem Zyklus T0 behauptet (z.B. niedrig). Der Host 102 steuert Startsteuerinformationen, die den Start bzw. den Beginn einer LPC-Transaktion an LAD[3:0] während dem Zyklus T0 anzeigen. Zum Beispiel können die Startsteuerinformationen gemäß der Darstellung in Tabelle 1 0000 entsprechen. Der Prozess wechselt danach zu dem Zustand 506, in dem der Host 102 die Zyklustyp- und Richtungssteuerungsinformationen während dem Zyklus T1 an LAD[3:0] steuert. Die Zyklustyp- und Richtungssteuerungsinformationen zeigen der peripheren Vorrichtung 104 an, dass es sich bei der LPC-Transaktion um eine DMA-Lesetransaktion handelt. Zum Beispiel können die Zyklustyp- und Richtungssteuerungsinformationen 100 an LAD[3:1] entsprechen, wie dies in Tabelle 2 dargestellt ist.
  • Der Prozess wechselt danach zu dem Zustand 508 und die LPC-Schnittstelle 118 steuert Kanalnummersteuerinformationen während dem Taktzyklus T2 an LAD[2:0]. Die Kanalnummer stellt die DMA-Kanalnummer dar, die während diesem Prozess durch den Host 102 eingeräumt wird. Ferner können Terminal-Count-Steuerinformationen auch durch den Host 102 an LAD[3] während dem gleichen Taktzyklus T2 übertragen werden, indem auch die Kanalnummer an LAD[2:0] gesteuert wird. Das Terminal-Count-Steuerbit kann ein letztes Übertragungsbyte auf der Basis der Größe der DMA-Transaktion anzeigen. Der Prozess wechselt danach zu dem Zustand 510 und der Host 102 steuert Größensteuerinformationen an LAD[1:0] während dem Taktzyklus T3.
  • Der Prozess wechselt danach zu dem Zustand 512, in dem der Host 102 ein Byte oder mehrere Bytes der Speicherdaten an die E/A-Vorrichtung 104 in n Taktzyklen T3 über LAD[3:0] schreibt. Der Host 102 kann Daten in Byte-Inkrementen über zwei Taktzyklen an LAD[3:0] steuern. Für jedes Byte können Daten durch den Host 102 mit der niedrigen 4-Bit-Einheit zuerst, der hohen 4-Bit-Einheit zuerst oder in jedem anderen Format ausgegeben werden. In ähnlicher Weise kann jede von der LPC-Schnittstelle 118 ausgegebene Byte-Gruppe mit dem niedrigen Byte zuerst, dem hohen Byte zuerst oder in jedem anderen Format ausgegeben werden.
  • Wenn der Schreibvorgang abgeschlossen ist, wechselt der Prozess in den Umkehrzustand (TAR) 514, um die Steuerung des LPC-Busses 124 während n Taktzyklen T4 auf die E/A-Vorrichtung 104 zu übertragen. Danach wechselt der Prozess zu dem Zustand 516 und wartet n Taktzyklen, während die E/A-Vorrichtung 104 während n Taktzyklen T5 Inband-Synchronisierungssteuerinformationen an LAD[3:0] steuert. In einem Ausführungsbeispiel können die Synchronisierungssteuerinformationen einem oder mehreren Taktzyklen entsprechen und verwendet werden, um folgendes anzuzeigen: (1) den Empfang der aus dem Speicher in die E/A-Vorrichtung 104 (z.B. 0000 an LAD[3:0]) gelesenen Daten, dass ein Fehlerzustand aufgetreten ist (z.B. 1010 an LAD[3:0]), (2) dass das in Zyklus T4 empfangene Byte das letzte Byte der Speicherdaten darstellen kann (z.B. 0000 an LAD[3:0]), oder (3) dass die E/A-Vorrichtung 104 die DMA-Anforderung für mehr DMA-Übertragungen aktiv halten kann (z.B. 1001 an LAD[3:0]).
  • Wenn es sich bei der DMA-Lesetransaktion um eine 16-Bit- oder 32-Bit-Übertragung (oder höher) handelt, kann der Prozess die Zustände 512, 514 und 516 so oft wiederholen, wie dies erforderlich ist, um ausreichend viele Bytes der aus dem Speicher gelesenen Daten an die E/A-Vorrichtung zu übertragen. Der Prozess wechselt danach zu dem Umkehrzustand (TAR) 522, in dem die Steuerung von LAD[3:0] während n Taktzyklen T7 an die LPC-Schnittstelle 118 und den Host 102 zurückgegeben wird.

Claims (10)

  1. System, das folgendes umfasst: einen Bus mit einer Mehrzahl von Universalleitungen zum Übertragen von zeitmultiplexierten Adressen, Daten und Steuerungsinformationen; einen mit dem Bus gekoppelten Host; einen mit dem Host gekoppelten Speicher; eine mit dem Bus gekoppelte periphere Steuereinheit, wobei die periphere Steuereinheit über den Host und den Bus eine Transaktion eines Direkspeicherzugriffs (DMA) mit dem Speicher ausführt; gekennzeichnet durch: eine erste Steuerleitung, die separat zu dem Bus vorgesehen und mit dem Host und der peripheren Steuereinheit gekoppelt ist, wobei die erste Steuerleitung seriell eine codierte Direktspeicherzugriffs-Kanalnummer von der peripheren Steuereinheit zu dem Host überträgt.
  2. System nach Anspruch 1, wobei der Bus eine zweite Steuerleitung zum Übertragen eines Steuersignals von dem Host zu der peripheren Steuereinheit umfasst, wobei das Steuersignal mit ersten Steuerinformationen von dem Host verwendet wird, um den Beginn der DMA-Transaktion anzuzeigen.
  3. System nach Anspruch 2, wobei der Host zweite Steuerinformationen über den Bus an die periphere Steuereinheit schreibt, um anzuzeigen, dass es sich bei der DMA-Transaktion um eine Lese- oder Schreib-DMA-Transaktion handelt.
  4. System nach Anspruch 2, wobei die periphere Steuereinheit Synchronisierungssteuerinformationen an dem Bus steuert.
  5. System nach Anspruch 4, wobei die Synchronisierungssteuerinformationen anzeigen, dass die Daten in einer DMA-Schreibtransaktion nicht zum Lesen aus der peripheren Steuereinheit bereit sind.
  6. Verfahren zur Ausführung einer Direktspeicherzugriffs-Schreibtransaktion von einer peripheren Steuereinheit über einen Host an einen Speicher, wobei die periphere Steuereinheit und der Host mit einem Bus gekoppelt sind, der eine Mehrzahl von Universalsignalleitungen aufweist, wobei das Verfahren folgendes umfasst: Anfordern einer DMA-Kanalnummer von dem Host durch serielles Übertragen einer Mehrzahl von Signalen zur Bezeichnung der DMA-Kanalnummer über eine erste Steuerleitung, die von dem Bus getrennt vorgesehen ist; Einräumen der DMA-Schreibtransaktion an die periphere Steuereinheit durch Übertragen der ersten Steuerinformationen über den Bus; Übertragen von Daten von der peripheren Steuereinheit über den Bus an den Host; und Schreiben der Daten in den Speicher.
  7. Verfahren nach Anspruch 6, wobei das Verfahren ferner die Behauptung einer Anzeige eines Beginns der DMA-Schreibtransaktion auf der zweiten Steuerleitung umfasst.
  8. Verfahren nach Anspruch 6, wobei das Verfahren ferner folgendes umfasst: Übertragen zweiter Steuerinformationen, die eine Anzahl von Bytes in der DMA-Schreibtransaktion anzeigen, über den Bus von dem Host an die periphere Steuereinheit.
  9. Verfahren nach Anspruch 6, wobei das Verfahren ferner folgendes umfasst: Vorsehen von Synchronisierungssteuerinformationen an den Bus, bis die periphere Steuereinheit bereit ist, die Daten auszugeben.
  10. Verfahren nach Anspruch 6, wobei das Verfahren ferner folgendes umfasst: Übertragen einer Fehlernachricht über den Bus von der peripheren Steuereinheit an den Host.
DE69828074T 1997-09-24 1998-06-26 Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl Expired - Lifetime DE69828074T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US936318 1997-09-24
US08/936,318 US6157970A (en) 1997-09-24 1997-09-24 Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
PCT/US1998/013402 WO1999015949A1 (en) 1997-09-24 1998-06-26 Direct memory access (dma) transactions on a low pin count bus

Publications (2)

Publication Number Publication Date
DE69828074D1 DE69828074D1 (de) 2005-01-13
DE69828074T2 true DE69828074T2 (de) 2005-12-22

Family

ID=25468468

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69828074T Expired - Lifetime DE69828074T2 (de) 1997-09-24 1998-06-26 Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl

Country Status (8)

Country Link
US (1) US6157970A (de)
EP (1) EP1021756B1 (de)
KR (1) KR100352224B1 (de)
CN (1) CN1126015C (de)
AU (1) AU8377098A (de)
DE (1) DE69828074T2 (de)
HK (1) HK1028459A1 (de)
WO (1) WO1999015949A1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065504B2 (en) 1999-01-28 2011-11-22 Ati International Srl Using on-chip and off-chip look-up tables indexed by instruction address to control instruction execution in a processor
US6826748B1 (en) 1999-01-28 2004-11-30 Ati International Srl Profiling program execution into registers of a computer
US6954923B1 (en) 1999-01-28 2005-10-11 Ati International Srl Recording classification of instructions executed by a computer
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US7941647B2 (en) 1999-01-28 2011-05-10 Ati Technologies Ulc Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination
US8127121B2 (en) 1999-01-28 2012-02-28 Ati Technologies Ulc Apparatus for executing programs for a first computer architechture on a computer of a second architechture
US8074055B1 (en) 1999-01-28 2011-12-06 Ati Technologies Ulc Altering data storage conventions of a processor when execution flows from first architecture code to second architecture code
US6779107B1 (en) 1999-05-28 2004-08-17 Ati International Srl Computer execution by opportunistic adaptation
US6549959B1 (en) * 1999-08-30 2003-04-15 Ati International Srl Detecting modification to computer memory by a DMA device
US6874039B2 (en) 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US20020144037A1 (en) * 2001-03-29 2002-10-03 Bennett Joseph A. Data fetching mechanism and method for fetching data
TWI221556B (en) * 2001-11-16 2004-10-01 Via Tech Inc Circuit system and transmission method enabling mutual transmission between LPC devices
ITVA20020012A1 (it) * 2002-02-08 2003-08-08 St Microelectronics Srl Dispositivo di memoria e metodo di lettura sequenziale di gruppi di bit da un dispositivo di memoria
ITVA20020016A1 (it) * 2002-02-21 2003-08-21 St Microelectronics Srl Metodo di scrittura di un insieme di bytes di dati in una memoria standard e relativo dispositivo di memoria
TWI226545B (en) * 2002-06-18 2005-01-11 Via Tech Inc Method and device for reducing LDRQ input pin counts of LPC host
TW589534B (en) * 2002-07-05 2004-06-01 Via Tech Inc Method and device to reduce the LDRQ input pin count of LPC control host
US6799227B2 (en) * 2003-01-06 2004-09-28 Lsi Logic Corporation Dynamic configuration of a time division multiplexing port and associated direct memory access controller
US7346716B2 (en) 2003-11-25 2008-03-18 Intel Corporation Tracking progress of data streamer
US20050143843A1 (en) * 2003-11-25 2005-06-30 Zohar Bogin Command pacing
US7370125B2 (en) * 2003-11-25 2008-05-06 Intel Corporation Stream under-run/over-run recovery
JP2005221731A (ja) * 2004-02-05 2005-08-18 Konica Minolta Photo Imaging Inc 撮像装置
US8239603B2 (en) * 2006-05-03 2012-08-07 Standard Microsystems Corporation Serialized secondary bus architecture
US7899303B2 (en) * 2006-08-02 2011-03-01 Lsi Corporation DVD recorder and PVR instant on architecture
KR101009280B1 (ko) * 2010-07-07 2011-01-19 지엔이텍(주) 인쇄회로기판의 갭 서포터 및 그 제조방법
US9047264B2 (en) * 2011-04-11 2015-06-02 Ineda Systems Pvt. Ltd. Low pin count controller
CN202177894U (zh) * 2011-07-14 2012-03-28 鸿富锦精密工业(深圳)有限公司 主板故障诊断卡
CN107608927B (zh) * 2017-09-22 2020-06-26 苏州浪潮智能科技有限公司 一种支持全功能的lpc总线主机端口的设计方法

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2044650B1 (de) * 1969-05-16 1974-06-14 Ibm France
US3924241A (en) * 1971-03-15 1975-12-02 Burroughs Corp Memory cycle initiation in response to the presence of the memory address
US3821715A (en) * 1973-01-22 1974-06-28 Intel Corp Memory system for a multi chip digital computer
DE2364408C3 (de) * 1973-12-22 1979-06-07 Olympia Werke Ag, 2940 Wilhelmshaven Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
US3882470A (en) * 1974-02-04 1975-05-06 Honeywell Inf Systems Multiple register variably addressable semiconductor mass memory
US4263650B1 (en) * 1974-10-30 1994-11-29 Motorola Inc Digital data processing system with interface adaptor having programmable monitorable control register therein
US4007452A (en) * 1975-07-28 1977-02-08 Intel Corporation Wafer scale integration system
US4099231A (en) * 1975-10-01 1978-07-04 Digital Equipment Corporation Memory control system for transferring selected words in a multiple memory word exchange during one memory cycle
US4333142A (en) * 1977-07-22 1982-06-01 Chesley Gilman D Self-configurable computer and memory system
US4191996A (en) * 1977-07-22 1980-03-04 Chesley Gilman D Self-configurable computer and memory system
US4375665A (en) * 1978-04-24 1983-03-01 Texas Instruments Incorporated Eight bit standard connector bus for sixteen bit microcomputer using mirrored memory boards
US4315308A (en) * 1978-12-21 1982-02-09 Intel Corporation Interface between a microprocessor chip and peripheral subsystems
US4286321A (en) * 1979-06-18 1981-08-25 International Business Machines Corporation Common bus communication system in which the width of the address field is greater than the number of lines on the bus
US4315310A (en) * 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
US4443864A (en) * 1979-10-09 1984-04-17 Texas Instruments Incorporated Memory system for microprocessor with multiplexed address/data bus
US4306298A (en) * 1979-10-09 1981-12-15 Texas Instruments Incorporated Memory system for microprocessor with multiplexed address/data bus
US4373183A (en) * 1980-08-20 1983-02-08 Ibm Corporation Bus interface units sharing a common bus using distributed control for allocation of the bus
EP0077328A4 (de) * 1981-04-27 1985-06-26 Textron Inc Vielfachleitung für mehrere hauptprozessoren.
US4811202A (en) * 1981-10-01 1989-03-07 Texas Instruments Incorporated Quadruply extended time multiplexed information bus for reducing the `pin out` configuration of a semiconductor chip package
US4481625A (en) * 1981-10-21 1984-11-06 Elxsi High speed data bus system
US4480307A (en) * 1982-01-04 1984-10-30 Intel Corporation Interface for use between a memory and components of a module switching apparatus
US4488218A (en) * 1982-01-07 1984-12-11 At&T Bell Laboratories Dynamic priority queue occupancy scheme for access to a demand-shared bus
US4470114A (en) * 1982-03-01 1984-09-04 Burroughs Corporation High speed interconnection network for a cluster of processors
US4449207A (en) * 1982-04-29 1984-05-15 Intel Corporation Byte-wide dynamic RAM with multiplexed internal buses
US4513370A (en) * 1982-07-19 1985-04-23 Amdahl Corporation Data transfer control system and method for a plurality of linked stations
US4660141A (en) * 1983-12-06 1987-04-21 Tri Sigma Corporation Self configuring computer network with automatic bus exchange of module identification numbers and processor assigned module numbers
US4766536A (en) * 1984-04-19 1988-08-23 Rational Computer bus apparatus with distributed arbitration
US4675813A (en) * 1985-01-03 1987-06-23 Northern Telecom Limited Program assignable I/O addresses for a computer
US5038320A (en) * 1987-03-13 1991-08-06 International Business Machines Corp. Computer system with automatic initialization of pluggable option cards
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus
US5159679A (en) * 1988-09-09 1992-10-27 Compaq Computer Corporation Computer system with high speed data transfer capabilities
US5129069A (en) * 1989-01-24 1992-07-07 Zenith Data Systems Corporation Method and apparatus for automatic memory configuration by a computer
US5214767A (en) * 1989-02-07 1993-05-25 Compaq Computer Corp. Full address and odd boundary direct memory access controller which determines address size by counting the input address bytes
GB2232514B (en) * 1989-04-24 1993-09-01 Yokogawa Electric Corp Programmable controller
EP0429252B1 (de) * 1989-11-17 1998-01-14 Digital Equipment Corporation System und Verfahren zur Speicherung von Firmware in einem adressunabhängigen Format
US5175831A (en) * 1989-12-05 1992-12-29 Zilog, Inc. System register initialization technique employing a non-volatile/read only memory
JPH03210649A (ja) * 1990-01-12 1991-09-13 Fujitsu Ltd マイクロコンピュータおよびそのバスサイクル制御方法
US5150313A (en) * 1990-04-12 1992-09-22 Regents Of The University Of California Parallel pulse processing and data acquisition for high speed, low error flow cytometry
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5367639A (en) * 1991-12-30 1994-11-22 Sun Microsystems, Inc. Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
US5471674A (en) * 1992-02-07 1995-11-28 Dell Usa, L.P. Computer system with plug-in override of system ROM
US5579530A (en) * 1992-06-11 1996-11-26 Intel Corporation Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
US5448701A (en) * 1992-12-22 1995-09-05 International Business Machines Corporation Flow controller for shared bus used by plural resources
US5392033A (en) * 1993-01-05 1995-02-21 International Business Machines Corporation Priority generator for providing controllable guaranteed fairness in accessing a shared bus
US5793990A (en) * 1993-06-11 1998-08-11 Vlsi Technology, Inc. Multiplex address/data bus with multiplex system controller and method therefor
US5561819A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices Computer system selecting byte lane for a peripheral device during I/O addressing technique of disabling non-participating peripherals by driving an address within a range on the local bus in a DMA controller
US5561821A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices System for performing I/O access and memory access by driving address of DMA configuration registers and memory address stored therein respectively on local bus
US5475854A (en) * 1994-01-28 1995-12-12 Vlsi Technology, Inc. Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system
US5596756A (en) * 1994-07-13 1997-01-21 Advanced Micro Devices, Inc. Sub-bus activity detection technique for power management within a computer system
US5619728A (en) * 1994-10-20 1997-04-08 Dell Usa, L.P. Decoupled DMA transfer list storage technique for a peripheral resource controller
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
US5664197A (en) * 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5768622A (en) * 1995-08-18 1998-06-16 Dell U.S.A., L.P. System for preemptive bus master termination by determining termination data for each target device and periodically terminating burst transfer to device according to termination data
US5774680A (en) * 1995-12-11 1998-06-30 Compaq Computer Corporation Interfacing direct memory access devices to a non-ISA bus
US5991841A (en) * 1997-09-24 1999-11-23 Intel Corporation Memory transactions on a low pin count bus

Also Published As

Publication number Publication date
EP1021756B1 (de) 2004-12-08
CN1301361A (zh) 2001-06-27
DE69828074D1 (de) 2005-01-13
KR20010024260A (ko) 2001-03-26
KR100352224B1 (ko) 2002-09-12
CN1126015C (zh) 2003-10-29
US6157970A (en) 2000-12-05
AU8377098A (en) 1999-04-12
WO1999015949A1 (en) 1999-04-01
EP1021756A1 (de) 2000-07-26
EP1021756A4 (de) 2000-12-20
HK1028459A1 (en) 2001-02-16

Similar Documents

Publication Publication Date Title
DE69828074T2 (de) Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl
DE69626485T2 (de) Schnittstellenbildung zwischen Direktspeicherzugriffsvorrichtung und einem nicht-ISA-Bus
DE19882696B4 (de) Speichertransaktionen auf einem Bus geringer Leitungsanzahl
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE19580707C2 (de) PCI-ZU-ISA-Interrupt-Protokoll-Konverter und -Auswahlmechanismus
DE69905689T2 (de) Verfahren und System zum Einstecken unter Spannung von Anpassungskarten in einer Buserweiterungsumgebung
DE19580606C2 (de) Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus
DE3689696T2 (de) Datenverarbeitungssystem mit einem Hauptprozessor und einem Ko-Prozessor mit gemeinsamen Betriebsmitteln.
DE3587622T2 (de) Emulationseinrichtung in einem Datenverarbeitungssystem.
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
DE69128565T2 (de) Mikrorechner ausgestattet mit einer DMA-Steuerung
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE102007009300B4 (de) Rechnersystem und Verfahren zum Betreiben eines Rechnersystems
DE69422221T2 (de) Genaue und komplette Übertragung zwischen verschiedenen Busarchitekturen
DE8803316U1 (de) Digitalrechner mit steckbarer Erweiterungskarte
DE69423077T2 (de) Steuerungsvorrichtungen für nichtflüchtige Speicheranordnungen
DE69621309T2 (de) Verfahren und Gerät zur Optimierung von gemeinsamen PCI-Unterbrechungen und entsprechender Latenz in den PCI-Bussen mit Erweiterung oder Brücke
DE102013113262A1 (de) Auslöser-Leitwegeinheit
DE4018481A1 (de) Mikroprozessor hold- und lock-schaltung
DE69427512T2 (de) Direktspeicherzugriffssteuerung
DE69626929T2 (de) Bidirektionale parallelschnittstelle
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE69119147T2 (de) Erweiterungskarte mit mehreren Geschwindigkeiten
DE19960574B4 (de) Peripheral Component Interconnection-(PCI) Debuggingvorrichtung und -verfahren
DE69603739T2 (de) Rechnersystem mit einem erweiterungsbus und einem zugeordneten echtzeitbus zur erhöhung der multimedialeistung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: HEYER, V., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 806