DE69421107T2 - Systemverwaltungsunterbrechungsadressenbitkorrekturschaltung - Google Patents
SystemverwaltungsunterbrechungsadressenbitkorrekturschaltungInfo
- Publication number
- DE69421107T2 DE69421107T2 DE69421107T DE69421107T DE69421107T2 DE 69421107 T2 DE69421107 T2 DE 69421107T2 DE 69421107 T DE69421107 T DE 69421107T DE 69421107 T DE69421107 T DE 69421107T DE 69421107 T2 DE69421107 T2 DE 69421107T2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- microprocessor
- address
- system management
- mask
- 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 - Fee Related
Links
- 238000012937 correction Methods 0.000 title claims abstract description 10
- 230000000873 masking effect Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000003292 glue Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- GGZVJPRZONQVPC-UHFFFAOYSA-N Smipine Natural products O=CN1CCCCC1C2CCN=C2 GGZVJPRZONQVPC-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Circuits Of Receivers In General (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
Description
- Die Erfindung bezieht sich auf Unterbrechungsprogramme in Computersystemen und insbesondere auf eine Durchsetzung der geeigneten Unterbrechungsstartadresse auf einem Adressen-Bus, wenn eine Systemverwaltungs- bzw. Management-Unterbrechung geltend gemacht wird.
- In den früheren Jahren der Personal-Computer dominierten die PC-Computer der International Business Machines (IBM) das Gebiet. Der IBM PC erfreute sich eines sensationellen Erfolgs, wobei er einer der ersten, erschwinglichen, aber dennoch angemessen leistungsstarken, Desktop-Computer war.
- Schließlich wurde die Vorherrschaft des IBM PC so weit verbreitet, daß der IBM PC die Standards für eine Personal-Computer-Architektur, ein System-Design und die Software vorgab.
- Der IBM PC verwendete den 8088 Mikroprozesser der Intel Corporation in seiner zentralen Verarbeitungseinheit (CPU), die einen 20-Bit-Adressen-Bus zum Zugreifen auf den Systemspeicher und die I/O-Vorrichtungen einsetzt. Da der IBM PC so völlig den Personal-Computer Markt dominierte, kreierten Software-Anbieter ein Feld von Software für den 20-Bit-Bus des 8088 Mikroprozessors und des 8086 Mikroprozessors. Ein großer Anteil dieser Software bildete die Grundlage moderner Software. Demzufolge sind, aufgrund der frühen Dominanz des 20-Bit-Busses in dem IBM PC und der bahnbrechenden Software, die für diesen kreiert wurde, viele grundsätzliche Anwendungen, die heutzutage in Verwendung sind, auf einem 20-Bit-Adressen-Bus basierend.
- Die nächste Generation extrem erfolgreicher IBM Personal-Computer war der IBM PC/AT. Um einen Zugriff zu einem weiteren Bereich eines Speichers und von I/O-Vorrichtungen zu schaffen, setzte die IBM PC/AT-Architektur einen 24-Bit-Bus ein. Im Herz des IBM PC/AT war der 80286 Mikroprozessor der Intel Corporation, der einen 24-Bit-Adressen-Bus verwendet. Obwohl die 24-Bit-Adressierfähigkeit des 286 Mikroprozessors den 24-Bit-Bus des PC/AT ansteuern könnte, war eine Standard-24-Bit-Konfiguration mit einem bestimmten Teil der Software nicht kompatibel, die für den 20-Bit 8088 Mikroprozessor entwickelt worden ist. Dies kam bzw. kommt teilweise daher, daß das 8088 Instruktions-Register, wenn es seine Grenze von FFFFFh erreicht, zu einem Anfangswert von 00000h überläuft. Demzufolge kann der Speicherraum für ein 8088 System als kontinuierlich von der oberen Grenze (FFFFFh) des 20-Bit-Adressen-Bus zu dem anfänglichen Wert (00000h) angesehen werden. Ein 24-Bit-Zähler erzeugt allerdings einen Wert von 100000h nach 0FFFFFh, und läuft nicht über. Da einige Programme auf der Überlauf- bzw. Rollover-Charakteristik beruhen, sind diese Programme nicht mit einem 24-Bit-Adressen-Bus kompatibel, was fortfährt, sich zu erhöhen.
- Um eine Kompatibilität beizubehalten, wurde ein Adressen-Bit-20-Maskierungssignal in das Computersystem eingeschlossen, um das Überlaufen des 8088 Zählers zu simulieren. Obwohl verschiedene Namen und logische Bedeutungen verwendet werden, um das Adressen-Bit-20-Maskierungssignal zu bezeichnen, wird das Signal als das FORCE A20 Signal hier bezeichnet, was die übliche Bezeichnung für das Signal ist. Das FORCE A20 Signal bewirkt, wenn es geltend gemacht wird, daß ein Bit 20 des Adressen-Bus (Bit A20) maskiert wird, so daß das Bit 20 zu allen Zeiten niedrig gehalten wird, und zwar ungeachtet des Werts, der durch den Mikroprozessor erzeugt ist. Das FORCE A20 Signal wird durch ein Register gesteuert, das durch Software geschrieben werden kann. Durch Ansteuern des Bits A20 niedrig bewirkt das FORCE A20 Signal, daß der Adressen-Wert auf dem Bus geltend gemacht wird, um das Überlaufen des 8088 Mikroprozessors zu simulieren. Zum Beispiel bewirkt, wenn ein 24-Bit-Zähler den Wert von 0FFFFFh erreicht, die nächste Erhöhung, daß der Zählerwert 1000000h wird. Demzufolge würde die nächste Adresse, die geltend gemacht wird, 100000h sein, nicht 000000h, was in einem 8088 Mikroprozessor-System geltend gemacht wird. Wenn das FORCE A20 Signal allerdings geltend gemacht wird, wird Bit A20 des Adressen-Bus niedrig angesteuert. Als eine Folge ist der Wert, der auf dem Adressen-Bus geltend gemacht ist, 000000h, was der geeignete Wert ist, der erforderlich ist, um den Überlauf des 8088 Instruktions-Registers zu simulieren.
- Eine andere, signifikante Entwicklung in Personal-Computer-Systemen ist die System-Management- bzw. -Verwaltungs-Unterbrechung (SMI). Ursprünglich waren SMIs Energie-Management-Unterbrechungen, die durch die Intel Corporation für tragbare Systeme vorgesehen waren. Tragbare Computer ziehen oftmals Energie von Batterien, die eine begrenzte Menge an Energie liefern. Um die Batterielebensdauer zu maximieren, wird ein SMI geltend gemacht, um die Energie zu irgendeiner Systemkomponente abzuschalten oder zu reduzieren, die nicht momentan in Verwendung ist. Obwohl ursprünglich für Laptop-Modelle gedacht, sind SMIs Desktop- und andere, stationäre Modelle populär geworden und für Zwecke anders als ein Energiemanagement.
- SMIs werden entweder durch einen SMI-Zeitgeber, durch eine System-Anforderung oder durch andere Einrichtungen geltend gemacht. Ein SMI ist eine nicht maskierbare Unterbrechung, die die höchste Priorität in dem System hat. Wenn ein SMI geltend gemacht wird, listet ein Intel Mikroprozessor einen Bereich eines Speichers, der als der System-Management-Speicher (System Management Memory - SMRAM) bezeichnet wird, in den Hauptspeicherraum auf. Der gesamte CPU Zustand wird dann in dem SMRAM in einer gestapelten Form mit einer Art und Weise, zuerst eingegeben, zuerst ausgegeben, gesichert. Nachdem der CPU Zustand gesichert ist, beginnt der Mikroprozessor damit, ein SMI Handhabungsprogramm auszuführen, das ein Unterbrechungs-Service-Programm ist, um spezifische System-Management-Aufgaben vorzunehmen, ähnlich einer Energieverringerung zu spezifischen Vorrichtungen. Während das Programm ausgeführt wird, werden andere Unterbrechungs-Anforderungen nicht bedient und werden ignoriert, bis das Unterbrechungsprogramm abgeschlossen ist oder der Mikroprozessor zurückgesetzt ist. Wenn die SMI-Handhabungseinrichtung ihre Aufgabe beendet, wird der CPU-Zustand aus dem SMRAM aufgesucht und das Hauptprogramm fährt fort.
- In den ersten Prozessoren wird, um SMIs zu verwenden, die Mikroprozessoren 80386SL und 80486SL der Intel Corporation, der SMRAM in den Hauptspeicherraum hinein zwischen 30000h und 3FFFFh aufgelistet. Daten, die sich auf den CPU-Zustand beziehen, werden beginnend bei 3FFFFh, die ähnlich einem herkömmlichen Stapel heruntergehen, gespeichert. Nachdem der CPU-Zustand in dem SMRAM gesichert ist, startet der Mikroprozessor die SMI-Handhabungseinrichtung an der Speicheradresse 38000h, die in dem SMRAM-Raum angeordnet ist. In den Generationen der Mikroprozessoren 80386 und 80486 wird die SMI-Start-Adresse in einem Nicht- Zugriffs-Register gespeichert, so daß sie nicht durch den Programmierer geändert werden kann. Ähnlich wird die Verwendung des Speicherraums zwischen 30000h und 3FFFFh vorab in dem Mikroprozessor eingestellt und ist unveränderbar. Obwohl diese Plazierung des SMRAM und der Start-Adresse stabil und bekannt ist, ist sie oftmals unbequem. Irgendwelche Daten, die in dem Hauptspeicherraum zwischen 30000h und 3FFFFh gespeichert sind, bevor die SMI geltend gemacht ist, sind dahingehend wahrscheinlich, daß sie durch die SMI Handhabungseinrichtung überschrieben werden und verlorengehen, ohne daß eine Hardware entwickelt ist, die in einem speziellen Speicher auflistet und aus einem herkömmlichen Speicher auflistet. Dieses Auflistungs-Erfordernis besitzt das Problem eines Erfordernisses einer zusätzlichen Logik und erzwingt abrupte Änderungen in Speicherinhalten, was ein Löschen irgendeines Cache-Speicher-Systems notwendig macht. Dies hat einen Kosten- und Funktionsnachteil. Wenn die Auflistung nicht durchgeführt wird, muß die Software sorgfältig um den Speicherraum herum, der für den SMRAM verwendet ist, bezeichnet sein, um einen nachteiligen Verlust von Daten zu verhindern.
- Um diese Unannehmlichkeit zu beseitigen, ermöglicht die letzte Generation von Mikroprozessoren von der Intel Corporation, bekannt als die Pentium oder PS Mikroprozessoren, der SMI-Handhabungseinrichtung, daß die Start-Adresse und die Stelle des SMRAM-Raums durch den Benutzer geändert werden. Unter dem Pentium-Design wird die SMI-Start-Adresse, die in dem Mikroprozessor-Register gespeichert ist, anfänglich auf den 30000h Wert herkömmlich eingestellt. Demzufolge beginnt, wenn die erste SMI geltend gemacht wird, die SMI-Handhabungseinrichtung an der Adresse 38000h. Während das SMI-Handhabungseinrichtungs-Programm ausgeführt wird, kann es allerdings einen unterschiedlichen Bereich eines Speichers, der als der SMRAM verwendet werden soll, vorsehen. Dieser neue SMRAM kann an irgendeiner Stelle in dem Hauptspeicherraum, der durch den Programmierer ausgewählt ist, starten. Der SMRAM weist einen 64 kByte Block auf, der an der neuen SMRAM-Start-Adresse beginnt. Wenn die SMI-Handhabungseinrichtung abschließt, ersetzt die neue Start-Adresse die alte Start-Adresse in dem SMI-Start-Adressen-Register des Mikroprozessors.
- Wenn die nächste SMI geltend gemacht wird, listet der Mikroprozessor den neuen 64 kByte Block eines Speichers in den Hauptspeicherraum als den SMRAM auf und startet die SMI-Handhabungseinrichtung an der neuen Start-Adresse an dem Mittelpunkt des neuen SMRAM. Zum Beispiel kann, während des ersten SMI-Service-Programms, der Programmierer den SMRAM-Start-Punkt von 030000h zu 100000h ändern. Wenn die SMI als nächstes geltend gemacht wird, listet der Mikroprozessor den SMRAM in den Hauptspeicherraum zwischen 100000h und 10FFFFh auf. Der Mikroprozessor nimmt dann Referenz auf die Adresse 108000h für die SMI- Handhabungseinrichtung. Dieses Merkmal ermöglicht demzufolge dem Programmierer, eine angenehmere Stelle in dem Hauptspeicher für den SMRAM auszuwählen. Obwohl die Fähigkeit, den SMRAM umzuordnen, eine angenehme Option für den Programmierer liefert, stellt sie ein Problem für den Designer der Computer-Architektur dar. Wie zuvor beschrieben ist wird, wenn das FORCE A20 Signal geltend gemacht wird, Bit 20 des Adressen-Bus niedrig angesteuert, ungeachtet des Werts, der durch den Mikroprozessor geltend gemacht wird. Wenn eine SMI erzeugt wird, wird der SMRAM in den Hauptspeicherraum, der durch den Programmierer benannt ist, aufgelistet. Wenn der 64 kByte Block des Hauptspeichers ein ungerader MByte Block anstelle eines geraden MByte Blocks ist, muß Bit 20 des Adressen-Busses hoch durch den Mikroprozessor angesteuert werden. Falls das FORCE A20 Signal allerdings zu der Zeit aktiviert wird, zu der die SMI initiiert wird, hält das FORCE A20 Signal das Bit 20 des Adressen-Busses niedrig. Demzufolge ist der Adressen-Wert, der tatsächlich auf dem Bus geltend gemacht wird, 1 MByte niedriger als der Unterbrechungs-Vektor, der durch den Programmierer geliefert ist. Zum Beispiel sollte, wenn die Start-Adresse, die durch den Programmierer ausgewählt ist, 308000h ist, der SMRAM in den Speicherraum zwischen 300000h und 30FFFFh aufgelistet werden. Wenn das FORCE A20 Signal allerdings geltend gemacht wird, wird Bit 20 niedrig gehalten, so daß der Adressen-Bereich, der tatsächlich zu dem Hauptspeicher geliefert ist, 200000h bis 20FFFFh ist, und die SMI-Handhabungseinrichtungs- Start-Adresse, die auf dem Bus erscheint, ist 208000h. Der Zustand der CPU wird dann beginnend bei 20FFFFh gesichert und läuft nach unten, potentiell wichtige Daten, die in dem Hauptspeicher gespeichert sind, überschreibend. Wenn der Mikroprozessor die neue Startadresse erhält, wird die Adresse 208000h geltend gemacht, die nicht das SMI-Handhabungseinrichtungs-Programm enthält. Demzufolge erleidet das System einen Fehler und muß zurückgesetzt bzw. neu gestartet werden. Aufgrund dieses Problems ist ein Programmierer, der eine SMRAM-Stelle in einem herkömmlichen System auswählt, auf nur die Hälfte des potentiellen Hauptspeicherraums beschränkt, in dem der SMRAM zu plazieren ist. Wenn der Programmierer unachtsam einen SMRAM Bereich innerhalb eines ungeraden MByte Blocks des Hauptspeichers auswählt, können wichtige Daten überschrieben werden und das System kann einen Fehler erleiden. Als Folge wird die Flexibilität, die dem Programmierer gegeben wird, um eine angenehme Stelle für den SMRAM auszuwählen, auf nur die Hälfte des verfügbaren Speicherraums eingeschränkt.
- Gemäß der vorliegenden Erfindung wird ein Computersystem C geschaffen, das aufweist:
- einen Host-Bus H;
- einen Mikroprozessor, der mit dem Host-Bus H gekoppelt ist und in der Lage ist, in einem System-Management-Modus zu arbeiten, wobei der Mikroprozessor umfaßt:
- einen Satz von n Adressen-Ausgangs-Leitungen für ein kollektives Liefern einer Adresse zu dem Host-Bus H;
- einen Adressen-Masken-Eingang zum Aufnehmen eines Maskierungssignals;
- eine Adressen-Maske, die auf das Maskierungssignal anspricht, und dahingehend arbeitet, mindestens eine der Adressen-Ausgangs-Leitungen zu maskieren, bevor die Adresse zu dem Host-Bus H geliefert wird; und
- einen Maskierungs-Steuer-Signal-Generator, der dahingehend betreibbar ist, um selektiv das Maskierungs-Signal zu liefern; gekennzeichnet durch
- den Mikroprozessor, der ein System-Management-Modus-Indikations-Signal liefert, das anzeigt, daß der Mikroprozessor in einem System-Management-Modus arbeitet;
- einen Adressen-Korrektur-Schaltkreis, der auf das System-Management-Modus-Indikations-Signal zum Hindurchführen des Maskierungssignals von dem Maskierungs- Steuer-Signal-Generator zu dem Mikroprozessor basierend auf dem System-Management-Modus-Indikations-Signal SMIACT* anspricht, wobei der Adressen-Korrektur-Schaltkreis so arbeitet, um einen Durchgang des Maskierungssignals zu sperren, wenn das System-Management-Modus-Indikations-Signal geliefert wird, und so arbeitet, um einen Durchgang des Maskierungssignals freizugeben, wenn das System- Management-Modus-Indikations-Signals nicht geliefert wird.
- In der bevorzugten Ausführungsform verwendet das Computersystem einen Pentium Mikroprozessor. Der Pentium Mikroprozessor macht ein SMIACT* Signal geltend, während eine SMI in Bearbeitung ist. Das SMIACT* Signal wird zu einem Steuerschaltkreis geliefert, der auch das FORCE A20 Signal empfängt. Während das SMIACT* Signal deaktiviert wird, liefert der Steuerschaltkreis das wahre FORCE A20 Signal zu dem Computersystem und ermöglicht, daß ein Bit A20 maskiert wird. Wenn eine SMI auftritt, beginnt eine SMI-Verarbeitung und das SMIACT* Signal wird geltend gemacht. Wenn das SMIACT* Signal aktiv ist, wird das FORCE A20 Signal gesperrt.
- Demzufolge beeinflußt der Wert des FORCE A20 Signals nicht den Wert des Bit 20 des Adressen-Busses. Deshalb wird die Adresse, die durch den Mikroprozessor erzeugt ist, auf dem Adressen-Bus geltend gemacht und die geeignete Start-Adresse wird geltend gemacht. Da alle Adressen in dem Hauptspeicherraum, ohne daß das Bit A20 maskiert wird, geltend gemacht werden können, kann ein Programmierer, der das vorliegende Computersystem verwendet, in irgendeinen Bereich des Hauptspeichers für den SMRAM auswählen.
- Ein besseres Verständnis der vorliegenden Erfindung kann dann erhalten werden, wenn die nachfolgende, detaillierte Beschreibung der bevorzugten Ausführungsform in Verbindung mit den nachfolgenden Zeichnungen berücksichtigt wird, wobei:
- Fig. 1 zeigt ein Blockdiagramm eines Computersystems, das die vorliegende Erfindung einsetzt;
- Fig. 2 zeigt ein Blockdiagramm der Systemleiterplatte der Fig. 1;
- Fig. 3 zeigt ein Blockdiagramm der Eingabe/Ausgabe-Leiterplatte der Fig. 1;
- Fig. 4 zeigt ein Blockdiagramm der Prozessor-Leiterplatte der Fig. 1;
- Fig. 5 zeigt ein Blockdiagramm eines Bereichs der Prozessor-Leiterplatte der Fig. 4 und stellt bestimmte Zwischenverbindungen dar; und
- Fig. 6 zeigt ein logisches Diagramm der Signale, die das A20M* Signal der Fig. 5 erzeugen.
- Wie nun die Fig. 1 zeigt, ist dort ein Computersystem C gemäß der bevorzugten Ausführungsform dargestellt. Eine Prozessorleiterplatte P enthält den Prozessor, einen Cache-Speicher und einen Hauptspeicher und eine zugeordnete Ausrüstung und einen Verbinder 100, vorzugsweise eine Kontaktbahn. Eine Systemleiterplatte S umfaßt einen Verbinder 102, um den Verbinder 100 aufzunehmen, vorzugsweise eine Buchse, um eine Kontaktbahn aufzunehmen. Die Systemleiterplatte S enthält übliche Systemelemente und Schlitze oder Verbinder für gegeneinander austauschbare Schaltkreisleiterplatten. Die Systemleiterplatte S enthält auch einen zusätzlichen Verbinder 104. Der Verbinder 104 paßt zu einem Verbinder 106 auf einer Eingangs/Ausgangs-(I/O)-Leiterplatte I. Vorzugsweise enthält die I/O-Leiterplatte I bestimmte auf I/O bezogene Merkmale des Computers C, wie beispielsweise die Floppy- und Festplatten-Antriebssteuereinheiten, ein Audiosystem und die parallelen und seriellen Schnittstellen. Zusätzlich ist ein Realzeit-Takt und ein CMOS-Speicher auf der I/O-Leiterplatte I vorhanden. Jede der Prozessorleiterplatte P, der Systemleiterplatte S und der I/O-Leiterplatte I sind nachfolgend im Detail angegeben. Es ist anzumerken, daß dies eine bespielhafte und bevorzugte Ausführungsform des Computersystems C ist und es ist verständlich, daß zahlreiche andere Ausführungsformen, die alle die Komponenten auf einer einzelnen Systemleiterplatte oder einer Mother-Leiterplatte, wie dies üblich ist, haben, einfach entwickelt werden könnten. Wie nun die Fig. 2 zeigt, ist dort ein Blockdiagramm der Systemleiterplatte S dargestellt. Die zwei Haupt-Busse, ein Host-Bus H und ein EISA-Bus E, bilden das logische Rückgrat der Systemleiterplatte S. Der Host-Bus H besitzt drei Komponenten, den Host-Daten- oder HD-Bus, den HA- oder Host-Adressen-Bus und den HC- oder Host-Steuer-Bus. Vorzugsweise ist der HD-Bus 64 Bit breit und der HA-Bus ist für einen 32-Bit Adressierraum vorgesehen. Der EISA-Bus E besitzt vier Hauptkomponenten, die SA- und LA- oder System- und frühen Adressen-Busse, den SD- oder System-Daten-Bus und den SC- oder System-Steuer-Bus. Eine Vielzahl von EISA- Schlitzen 108 ist mit dem EISA-Bus E verbunden. Eine EISA-Bus-Steuereinheit 110 liefert die notwendigen Fähigkeiten, um zwischen Host-Bus-H-Zyklen und EISA-Bus- E-Zyklen zu wandeln, und ist zwischen den HA- und HC-Bussen und dem SC-Bus verbunden. Die EISA-Bus-Steuereinheit 110 ist so verbunden, um einen Daten-EBB- oder EISA-Bus-Puffer 112 zu steuern, der die Sendeempfangsfunktion für die notwendigen Daten zwischen dem Host-Bus H und dem EISA-Bus E liefert und die Daten-Zusammenstellungs- und Zerlegungs-Erfordernisse eines EISA-Systems liefert. Ähnlich liefert die EISA-Bus-Steuereinheit 110 die Steuerfunktion für einen Adressen-EISA-Bus-Puffer oder EBB 114. Der Adressen-EBB 114 liefert Sendeempfangsfähigkeiten zwischen dem EISA-Bus E und dem Host-Bus H und verriegelt zusätzlich die HA-Bus-Signale, um die SA-Bus-Signale so, wie dies geeignet ist, zu bilden.
- Der Computer C umfaßt bestimmte, fundamentale Operationen, wie beispielsweise ein Unterbrechungs-System, eine DMA-Steuereinheit und eine Anzahl von Zeitgebern, ebenso wie eine Arbitration des EISA-Busses E. Diese Komponenten sind alle in dem peripheren EISA-System 116 enthalten, das mit den HA-, HC- und SC-Bussen verbunden ist. Ein Chip, der als der System-Glue- bzw. -Klebe-Chip 118 bezeichnet ist, ist mit dem EISA-Bus E und mit einem Bus, der als der XD- oder X-Daten-Bus bezeichnet ist, verbunden, und führt zahlreiche, verschiedene Funktionen durch, die in dem Computersystem C notwendig sind.
- Schließlich ist ein dritter Bus, bezeichnet als der X-Bus X, an dem Verbinder 104 vorgesehen. Der X-Bus X besitzt Adressen-XA-, Daten-XD- und Steuer-SC-Bereiche. Die XA-Leitungen erstrecken sich von dem SA-Bus mittels eines Puffers 120, während der XD-Bus von dem SD-Bus mittels eines Puffers oder Sendeempfängers 122 gebildet ist. Vorzugsweise ist der XD-Bus 16 Bit breit, während der XA-Bus dieselbe Breite wie der SA-Bus besitzt. Der Host-Bus H und der XD-Bus sind zu dem Verbinder 102 zum Hinführen zu der Prozessor-Leiterplatte P vorgesehen. Zusätzlich ist der XD-Bus mit der Peripherie 116 des EISA-Systems vorgesehen.
- Wie nun die Fig. 3 zeigt, ist dort die I/O-Leiterplatte I in weiterem Detail dargestellt. Das Rückgrat der I/O-Leiterplatte I ist der X-Bus X. Verbunden mit dem X-Bus X ist ein ROM oder eine Read-Only-Memory 124, der die grundsätzlichen Betriebssequenzen des Computersystems C enthält. Der ROM 124 ist vorzugsweise ein Flash- EPROM, um eine leichte Änderung der grundsätzlichen Betriebssequenzen zu ermöglichen. Eine Realzeit-Takt-(RTC)/CMOS-Einheit 126 ist mit dem X-Bus X verbunden, um Realzeit-Takt-Funktionen und Langzeit-Speicher-Fähigkeiten zu schaffen. Eine Floppy-Disk-Steuereinheit 128 ist mit dem X-Bus X verbunden und nimmt eine Floppy-Disk-Einheit 130 auf Eine Tastenfeld-Steuereinheit 132, typischerweise eine 8042 Vorrichtung, ist mit dem X-Bus X verbunden und nimmt ein Tastenfeld 134 und eine Maus- oder Hinweisvorrichtung 136 auf. Ein vielfacher, peripherer Chip 138 ist mit dem X-Bus X verbunden und schafft eine Schnittstelle zu einer Festplatteneinheit 140, eine parallele Schnittstelle 142 und zwei serielle Schnittstellen 144 und 146. Schließlich ist ein Audio-System 148 mit dem X-Bus X verbunden, um Audio-Funktionen zu schaffen, wobei ein Lautsprecher 150 mit dem Audio-System verbunden ist. Andere Komponenten könnten auf der I/O-Leiterplatte I, falls dies erwünscht ist, vorgesehen sein. Vorzugsweise ist das Graphik-System in dem bevorzugten Computersystem C auf einem separaten Zusatz in Kartenform vorgesehen, die in einem EISA-Schlitz 108 angeordnet ist und nicht notwendigerweise auf der I/O-Leiterplatte I angeordnet ist.
- Wie nun die Fig. 4 zeigt, ist dort die Prozessor-Leiterplatte P in weiterem Detail dargestellt. Die primäre Komponente auf der Prozessor-Leiterplatte P ist die CPU 152, in der bevorzugten Ausführungsform vorzugsweise der PS oder Pentium Mikroprozessor von Intel Corp., die nächste Design-Generation nach dem 80486. Der PS ist ein Hochleistungs-Mikroprozessor, der eine super-skalare Architektur und integrierte und separate Code- und Daten-Cache-Speicher besitzt. Ähnlich verschiedener neuerer Generationen von Produkten der Intel Corporation arbeitet der PS Mikroprozessor in sowohl geschützten als auch realen Moden. In dem geschützten Modus können der gesamte 36-Bit Adressen-Bus und der vollständige Instruktions-Satz verwendet werden. Der PS Mikroprozessor umfaßt System-Management-Speicher oder SMRAM-Funktionen und umfaßt einen SMI-Stift, wie dies zum Stand der Technik beschrieben ist. Zusätzlich bewirkt, wie in dem 80486, ein FORCE A20 Signal, das zu der P5 CPU geliefert ist, daß das Adressen-Bit 20 maskiert wird, bevor eine Durchsicht in dem internen Cache-Speicher oder ein Ansteuern eines Speicherzyklus zu dem System durchgeführt wird. Die Maskierung des Bit A20 simuliert das Überlaufen des 8088 Mikroprozessors.
- Drei Busse sind mit der P5 CPU 152, dem PD- oder Prozessor-Daten-Bus, dem PA- oder Prozessor-Adressen-Bus und dem PC- oder Prozessor-Steuer-Bus verbunden. Ein Niveau Zwei (L2) oder ein externer Cache-Speicher 154 ist mit dem PD- und PA- Bus verbunden und empfängt Steuersignale von einer Speichersteuereinheit 156. In der bevorzugten Ausführungsform enthält die Speichersteuereinheit 156 herkömmliche Speichersteuereinheit-Funktionen und umfaßt zusätzlich die Cache-Speicher- Steuer-Fähigkeiten, die notwendig sind, um den L2 Cache-Speicher 154 zu betreiben.
- Ein Daten-Puffer 158 ist mit dem PD-Bus verbunden und entwickelt zwei neue Busse, den HD- oder Host-Daten-Bus und den MD- oder Speicher-Daten-Bus. Der HD- Bus ist mit dem Verbinder 100 für eine Verbindung zu der System-Leiterplatte S verbunden. Der Daten-Puffer 158 wird durch die Speichersteuereinheit 156 gesteuert.
- Eine Sendeempfänger/Verriegelungseinheit 160 ist zwischen dem PA-Bus und dem HA-Bus verbunden, um Verriegelungs- und Sendeempfangsfähigkeiten der Adressen zwischen der P5 CPU 152 und dem Host-Bus H zu schaffen. Die Sendeempfänger/Verriegelung 160 wird durch die Speichersteuereinheit 156 gesteuert. Ein Prozessor-Dienstprogramm-Chip 162 liefert bestimmte, notwendige Dienstprogramm-Operationen zur Verwendung mit der CPU 152. Der Prozessor-Dienstprogramm-Chip 162 ist mit dem XD-Bus verbunden und wird durch die Speichersteuereinheit 156 gesteuert. Der Ausgang des Prozessor-Dienstprogramm-Chips 162 wird vorzugsweise zu dem PC-Bus geliefert, um Steuer-Funktionen der P5 CPU 152 zu schaffen. Die Speichersteuereinheit 156 ist auch mit einer Einheit verbunden, die als die DDF- oder Daten-Benennungs-Einrichtung 164 bezeichnet ist. Die DDF 164 führt eine Speicher-Modul-Freigabe, eine Adressen-Translation und eine Speicher-Segment- oder Seiten-Eigenschafts-Speicherung durch. Die DDF 164 schafft Speicherfähigkeiten, um anzuzeigen, welche bestimmte Bank eines Speichers freigegeben werden soll, führt eine Adressen-Translation auf einer 128k Byte Grenze durch und schafft Indikationen bestimmter Charakteristika jedes 128k Blocks, wie beispielsweise, ob er schreibgeschützt ist, hochgeschwindigkeitsfähig ist und/oder cache-fähig ist und ob dieser Bereich durch einen Rückschreib-Cache-Speicher verwendet werden kann. Die Operation der DDF 164 ist vollständiger in der EPA-Veröffentlichung No. 0 426 386, Veröffentlichungsdatum 8. Mai 1991, erläutert. Die Ausgänge der DDF 164 sind eine Reihe von RASEN Freigabesignale zum Freigeben eines bestimmten Speichermoduls, bestimmter, translatierter Adressen, um die Adressen-Bits oberhalb 128k anzuzeigen, und von Seiten-Charakteristik-Bits.
- Der Speicherbereich der Prozessor-Leiterplatte P ist in Form von vier identischen Modulen vorgesehen, wobei jedes Modul einen Adressen/Steuer-Puffer 166, einen Sockel zum Aufnehmen einer individuellen SIMM-Einheit 168 und eines Basis-Speichers 170 enthält. Der Adressen/Steuer-Puffer 166 nimmt den PA-Bus, den Adressen- und Freigabe-Ausgang der DDF 164 und Steuersignale von der Speichersteuereinheit 156 auf. Die Ausgänge des Adressen/Steuer-Puffers 166 sind die Adressen, die zu den SIMMs 168 oder den Basis-Speicher-Vorrichtungen 170 geliefert werden, und die RAS*, CAS* und WE* Signale. Diese Signale werden zu jedem der SIMMs 168 geliefert. Zusätzlich ist jeder SIMM 168 oder jede Basis-Speicher-Vorrichtung 170 mit dem Speicher-Daten-Bus MD verbunden. Wie angezeigt ist, sind dort vier entsprechende Module vorhanden. Andere Konfigurationen der Prozessor-Leiterplatte P könnten entwickelt werden, und zwar mit Variationen, die für Fachleute auf dem betreffenden Fachgebiet offensichtlich sind, wobei verschiedene Details nachfolgend angegeben sind.
- Die P5 CPU 152 steuert den Prozessor-Adressen-Bus PA an und empfängt das FORCE A20 Signal. Wie nun in Fig. 5 gezeigt ist, sind dort die P5 CPU 152, der Prozessor-Dienstprogramm-Chip 162 und ein Satz relevanter Signale dargestellt. Für die Zwecke dieser Offenbarung zeigt eine Signal-Benennung, gefolgt durch ein Sternchen (*), an, daß das Signal aktiv ist, wenn es auf niedrig gesetzt ist. Im Gegensatz dazu zeigt das Nichtvorhandensein des Sternchens an, daß das Signal aktiv ist, wenn es zu hoch gesteuert wird. Bit 20 wird niedrig durch die P5 CPU 152 gehalten, wenn das A20M* Signal, das durch die P5 CPU 152 empfangen ist, niedrig ist. Demzufolge steuert, wenn das A20M* Signal deaktiviert ist, die P5 CPU 152 das Prozessor-Adressen-Bit 20 herkömmlich. Wenn das A20M* Signal niedrig ist, wird das Prozessor-Adressen-Bit 20 maskiert und wird zu niedrig gesteuert, so lange wie das A20M* Signal aktiv verbleibt. Dies ist das herkömmliche Mikroprozessor-Ansprechverhalten auf das FORCE A20 Signal.
- Das A20M* Signal wird durch den Prozessor-Dienstprogramm-Chip 162 erzeugt. Das A20M* Signal wird gemäß der nachfolgenden Gleichung gesteuert:
- A20M* = FA20M* + \SMIACT* + RSTSYS
- Das FA20M* Signal ist das herkömmliche FORCE A20 Signal und wird herkömmlich erzeugt. In der bevorzugten Ausführungsform erzeugt der System-Klebe- bzw. Glue- Chip 118 das FA20M* Signal durch Einschließen von Operationen an der System- Tastenfeld-Steuereinheit, was eine Anforderung anzeigt, das FA20M* Signal zu ändern und die angeforderte Änderung direkt durchzuführen. Das FA20M* Signal wird durch Schreiben der geeigneten Daten-Bits in ein spezifisches Steuerregister in dem System freigegeben. Ähnlich kann das FA20M* Signal durch Zurücksetzen der Steuer-Register-Bits gesperrt werden.
- Das SMIACT* Signal wird durch die P5 CPU 152 erzeugt und wird zu dem Prozessor-Dienstprogramm-Chip 162 geliefert. Das SMIACT* Signal zeigt an, daß die PS CPU 152 in einem System-Management-Modus arbeitet. Die Betriebsweise in dem System-Management-Modus zeigt an, daß ein SMI geltend gemacht worden ist und momentan durch die P5 CPU 152 bedient wird. Wenn der Mikroprozessor in den System-Management-Modus eintritt, wird ein System-Management-Speicher- (SMRAM)-Raum in den Speicher hinein aufgelistet. Der gesamte CPU Zustand wird dann in dem SMRAM gespeichert. Während in dem System-Management-Modus der Mikroprozessor in einem realen Modus arbeitet, verwendet er allerdings 32-Bit breite Adressen. Der System-Management-Modus ist für Software transparent und ist für eine Energieeinsparung und andere Merkmale ausgelegt. Wenn das SMI-Service-Programm abgeschlossen ist, wird das SMIACT* Signal deaktiviert. Das RSTSYS Signal ist dann das System-Rücksetz-Anforderungs-Signal. Dieser Ausgang wird durch den Prozessor-Dienstprogramm-Chip 160 erzeugt und wird dazu verwendet, eine System-Logik, anders als die P5 CPU 152, zurückzusetzen. Das RSTSYS Signal wird in Anspruch genommen, wenn das Energie-Gut-(PWRGOOD)- Signal inaktiv getastet wird oder wenn das Energie-Ein-Rücksetz-(DBRST)-Signal aktiv abgetastet wird. Das PWRGOOD Signal zeigt an, daß die Energieversorgung des Computersystems ausreichend Energie zuführt und geeignet arbeitet. Das DBRST Signal geht nur zu aktiv über, unmittelbar nachdem das System eingeschaltet bzw. hochgefahren ist und der Hauptprozessor taktstabil ist. Demzufolge wird das RSTSYS Signal aktiv, bis die Energieversorgung zu dem Computersystem auf adäquaten Niveaus ist oder wenn das System zuerst hochgefahren wird. Das RSTSYS Signal toggelt, um seinen inaktiven Zustand anzuzeigen, nachdem das PWRGOOD Signal aktiv abgetastet ist und das DBRST Signal zu seinem inaktiven Zustand zurückgekehrt ist. Mit anderen Worten kehrt das RSTSYS Signal zu seinem inaktiven Zustand zurück, wenn die Energieversorgung eingeschaltet ist und funktionsmäßig arbeitet und das Prozessor-Taktsignal stabil ist.
- Fig. 6 stellt einen logischen Schaltkreis dar, der in dem Prozessor-Dienstprogramm- Chip 162 zum Ausführen der logischen Gleichung vorstehend enthalten ist. Das A20M* Signal wird durch ein ODER-Gatter 200 erzeugt, das drei Eingänge besitzt. Ein erster Eingang nimmt das RSTSYS Signal auf, so daß das A20M* Signal zu hoch gesteuert wird, wenn das RSTSYS Signal aktiv ist. Ähnlich ist ein zweiter Eingang des ODER-Gatters 200 mit den Inversen des SMIACT* Signals von einem Inverter 204 verbunden. Wenn sich die P5 CPU 152 in einem System-Management- Modus befindet, ist das SMIACT* Signal niedrig, was A20M* hoch steuert und verhindert, daß das Bit A20 maskiert wird. Der letzte Eingang ist mit dem FA20M* Signal verbunden, so daß das A20M* Signal dem FA20M* Signal folgt, wenn RSTSYS und SMIACT* inaktiv sind.
- Wie durch die Gleichung und Fig. 6 dargestellt ist, wird Bit 20 des Prozessor-Adressen-Busses nur maskiert, wenn das FA20M* Signal geltend gemacht ist, das System nicht zurückgesetzt wird und sich die P5 CPU 152 nicht in einem System-Management-Modus befindet. Demzufolge kann das Prozessor-Adressen-Bit 20 nur maskiert werden, wenn die P5 CPU 152 nicht ein SMI Programm durchführt. Wenn die PS CPU 152 in einen System-Management-Modus eintritt, wird das SMIACT* Signal aktiviert. Dies bewirkt, daß das A20M* Signal deaktiviert wird, und das A20M* verbleibt deaktiviert, bis die P5 CPU 152 den System-Management-Modus verläßt und die verbleibenden Zustände der Gleichung erfüllt werden. Demzufolge kann die P5 CPU die geeignete Start-Adresse auf dem Bus ohne ein Maskierungs-Bit A20 ansteuern. Ein Computersystem gemäß der bevorzugten Ausführungsform ermöglicht, daß Bit A20 maskiert wird, um das Überlaufen des 8088 Mikroprozessors zu simulieren, liefert allerdings dennoch die geeignete Start-Adresse auf dem Adressen-Bus, wenn ein SMI in Anspruch genommen wird. Demzufolge kann der Programmierer den System-Management-Speicher an irgendeiner Stelle in dem Hauptspeicher umordnen. Wenn das System anfänglich hochgefahren wird, führt der Computer ein Energie- Einschalt-Selbsttest-(POST)-Programm aus. Ein Teil des POST Programms umfaßt ein Inanspruchnehmen eines anfänglichen SMI zu der P5 CPU. Wenn das anfängliche SMI in Anspruch genommen ist, listet die P5 CPU den SMRAM in den Hauptspeicherraum zwischen 30000h und 3FFFFh auf. Der CPU Zustand wird dann in dem SMRAM gesichert, startend bei 3FFFFh und abfallend in einer stufenähnlichen Art und Weise. Die P5 CPU tritt dann in einen realen Modus ein und beginnt ein Ausführen eines speziellen SMI Unterbrechungs-Service-Programms, das für das POST Programm ausgelegt ist. Dieses spezielle SMI Programm ändert eine der Linien von Daten, die in dem SMRAM gesichert sind, um die Start-Adresse für die SMI Handhabungseinrichtung zu ersetzen. Die alte SMI Start-Adresse wird mit dem Wert ersetzt, der durch den Programmierer für die neue SMI Start-Adresse erwünscht ist. Die SMI Handhabungseinrichtung vervollständigt dann den Rest des SMI Programms und der gespeicherte CPU Zustand wird von dem SMRAM aufgesucht. Wenn der CPU Zustand zu der CPU zurückgespeichert wird, verläßt die P5 CPU die SMI Handhabungseinrichtung und führt Operationen fort.
- Wenn das POST Programm abgeschlossen ist, wird die Steuerung des Computersystems zu dem arbeitenden System umgeschaltet. Während das Computersystem herkömmlich arbeitet, kann ein SMI durch eine bestimmte Quelle erzeugt werden, ähnlich einem Batterie-Niedrig-Signal, einem Bildschirm-Einspar-Zeitgeber, einem Totmann-Zeitgeber auf der Festplatte, einer Prozessor-Anforderung oder auf einer periodischen Basis. Wenn das SMI in Anspruch genommen wird, listet die P5 CPU den System-Management-Speicher in den 64 kByte Bereich des Hauptspeicherraums auf, der durch die SMRAM Start-Adresse bezeichnet ist. Zum Beispiel wird, wenn die neue SMRAM Start-Adresse 590000h ist, der SMRAM in den Speicherraum zwischen 590000h und 59FFFFh hinein aufgelistet. Um den SMRAM in den Hauptspeicher hinein aufzulisten, steuert die P5 CPU die Adressen-Werte auf den Adressen-Bus, um die geeigneten Adressen anzuzeigen. Bevor der SMRAM in den Speicher hinein aufgelistet wird, wird allerdings das SMIACT* Signal zu niedrig gesteuert, um anzuzeigen, daß die P5 CPU in den System-Management-Modus eingetreten ist. Obwohl das A20M* Signal normalerweise aktiviert wird, wenn die P5 CPU in einen realen Modus versetzt wird, steuert das aktive SMIACT* Signal den Ausgang des ODER-Gatters 200 zu hoch und sperrt das A20M* Signal. Als Folge ist die SMRAM Start-Adresse, die durch die P5 CPU erzeugt ist, 590000h, anstelle von 490000h, was in Anspruch genommen werden würde, wenn das A20M* Signal aktiviert verblieb. Nachdem der SMRAM in den Hauptspeicher hinein aufgelistet ist, wird der CPU Zustand in dem SMRAM gesichert und die P5 CPU startet damit, das SMI Handhabungseinrichtungs-Programm an der Handhabungseinrichtungs-Start- Adresse 598000h auszuführen. Demzufolge liefert ein Computersystem gemäß der bevorzugten Ausführungsform eine korrekte Adressierung für die SMI Handhabungseinrichtung, wenn das FORCE A20 Signal in Anspruch genommen wird. Demzufolge werden Systemfehler aufgrund einer ungeeigneten Adressierung vermieden und dem Programmierer wird ermöglicht, einen 64 kByte Bereich des Hauptspeichers an irgendeiner Stelle in dem Hauptspeicherraum für den SMRAM auszuwählen. Die vorstehende Offenbarung und Beschreibung der Erfindung sind illustrativ und erläuternd dafür und verschiedene Änderungen in der Größe, in der Form, in den Materialien, in den Komponenten, in den Schaltkreiselementen, in den Verdrahtungsverbindungen und den Kontakten, ebenso wie in den Details des dargestellten Schaltkreises und des Aufbaus und des Betriebsverfahrens können ohne Verlassen des Schutzumfangs der Erfindung vorgenommen werden.
Claims (13)
1. Computersystem (C), das aufweist:
einen Host-Bus (H);
einen Mikroprozessor (152), der mit dem Host-Bus (H) gekoppelt ist und in der Lage
ist, in einem System-Management-Modus zu arbeiten, wobei der Mikroprozessor
umfaßt:
einen Satz von n Adressen-Ausgangs-Leitungen für ein kollektives Liefern einer
Adresse zu dem Host-Bus (H);
einen Adressen-Masken-Eingang zum Aufnehmen eines Maskierungssignals;
eine Adressen-Maske, die auf das Maskierungssignal anspricht, und dahingehend
arbeitet, mindestens eine der Adressen-Ausgangs-Leitungen zu maskieren, bevor
die Adresse zu dem Host-Bus (H) geliefert wird; und
einen Maskierungs-Steuer-Signal-Generator, der dahingehend betreibbar ist, um
selektiv das Maskierungs-Signal zu liefern; gekennzeichnet durch
den Mikroprozessor (152), der ein System-Management-Modus-Indikations-Signal
(SMIACT*) liefert, das anzeigt, daß der Mikroprozessor (152) in einem
System-Management-Modus arbeitet;
einen Adressen-Korrektur-Schaltkreis (162), der auf das
System-Management-Modus-Indikations-Signal (SMIACT*) zum Hindurchführen des Maskierungssignals von
dem Maskierungs-Steuer-Signal-Generator zu dem Mikroprozessor (152) basierend
auf dem System-Management-Modus-Indikations-Signal (SMIACT*) anspricht, wobei
der Adressen-Korrektur-Schaltkreis (162) so arbeitet, um einen Durchgang des
Maskierungssignals zu sperren, wenn das
System-Management-Modus-Indikations-Signal (SMIACT*) geliefert wird, und so arbeitet, um einen Durchgang des
Maskierungssignals freizugeben, wenn das
System-Management-Modus-Indikations-Signal (SMIACT*) nicht geliefert wird.
2. Computersystem (C) nach Anspruch 1, wobei der Mikroprozessor (152) ein
System-Management-Unterbrechungs-Aktiv-Signal zum Anzeigen, daß der
Mikroprozessor (152) in einem System-Management-Modus arbeitet, besitzt, und wobei das
System-Management-Modus-Anzeige-Signal (SMIACT*) das System-Management-
Unterbrechungs-Aktiv-Signal ist.
3. Computersystem (C) nach Anspruch 1, wobei der Mikroprozessor (152)
weiterhin zum Betreiben in einem realen Modus geeignet ist, und wenn der Mikroprozessor
(152) in dem realen Modus arbeitet, sind die n Adressen-Ausgangs-Leitungen
dadurch charakterisiert, daß sie einen Wraparound- bzw. sich überlagernden Effekt bei
einer 1 Megabyte Adresse besitzen.
4. Computersystem (C) nach Anspruch 1, wobei der Mikroprozessor (152) ein
Pentium Mikroprozessor der Intel Corporation ist, und wobei das
System-Management-Unterbrechungs-Aktiv-Signal das
System-Management-Unterbrechungs-Aktiv-Signal umfaßt, das durch den Pentium Mikroprozessor erzeugt ist.
5. Computer (C) nach Anspruch 1, wobei n 36 ist.
6. Computersystem (C) nach Anspruch 5, wobei der Maskierungs-Steuer-Signal-
Generator ein Bit 20 der Mikroprozessor-Ausgangs-Leitungen so maskiert, daß der
inkrementierende Adressen-Ausgang das Überlaufen eines Satzes von Adressen-
Ausgängen simuliert, die 20 Bits haben, wenn das Maskierungs-Signal in Anspruch
genommen wird.
7. Computersystem (C) nach Anspruch 1, wobei der Mikroprozessor (152) ein
Pentium Mikroprozessor ist und wobei der Maskierungs-Steuer-Signal-Generator mit
dem Adressen-Bit-20-Maskierungs-Signal-Eingang des Pentium Mikroprozessors
verbunden ist.
8. Computersystem (C) nach Anspruch 1, wobei der
Adressen-Korrektur-Schaltkreis (162) ein ODER-Gatter, das seinen Ausgang mit dem Mikroprozessor (152)
verbunden besitzt, einen ersten Eingang, der mit dem Maskierungs-Steuer-Signal-
Generator zum Aufnehmen des Maskierungs-Steuer-Signals verbunden ist, und
einen zweiten Eingang, der mit dem Mikroprozessor zum Aufnehmen des
System-Management-Modus-Indikations-Signals verbunden ist, besitzt.
9. Computersystem (C) nach Anspruch 1, wobei der
Adressen-Korrektur-Schaltkreis (162) weiterhin auf ein System-Rücksetz-Signal (RSTSYS) anspricht und wobei
der Adressen-Korrektur-Schaltkreis (162) so arbeitet, um einen Durchgang des
Maskierungs-Signals zu sperren, wenn das System-Rücksetz-Signal (RSTSYS) geliefert
wird, und so arbeitet, um einen Durchgang des Maskierungs-Signals (RSTSYS)
freizugeben, wenn das System-Rücksetz-Signal nicht geliefert wird.
10. Computersystem (C) nach Anspruch 1, das weiterhin ein Register aufweist, das
n Bits zum Liefern von Werten zu den Adressen-Ausgangs-Leitungen besitzt, und
wobei der Adressen-Korrektur-Schaltkreis (152) mindestens eine der
Mikroprozessor-Adressen-Ausgangsleitungen so maskiert, daß die Register-Werte an den
Ausgangs-Leitungen das Überlaufen eines Registers simulieren, das weniger als n Bits
besitzt, und wobei der Mikroprozessor (152) in einem System-Management-Modus
arbeiten kann, der alle n Bits der Mikroprozessor-Ausgangs-Leitungen benutzt.
11. Computersystem (C) nach Anspruch 1, das weiterhin aufweist:
eine Eingangs/Ausgangs-System-Steuereinheit, die mit dem Host-Bus (H) gekoppelt
ist; und eine oder mehrere Massen-Speichervorrichtung(en), die mit der
Eingangs/Ausgangs-System-Steuereinheit verbunden ist (sind) und durch den
Mikroprozessor (152) adressierbar ist (sind).
12. Computersystem (C) nach Anspruch 1, das weiterhin aufweist:
einen Hauptspeicher (170), der mit dem Mikroprozessor (152) gekoppelt ist; und
einen Floppy-Disk-Antrieb bzw. ein -Laufwerk (130), das mit dem Mikroprozessor
(152) gekoppelt ist.
13. Computersystem nach Anspruch 12, das weiterhin ein Audio-System (148)
aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/034,300 US5509139A (en) | 1993-03-22 | 1993-03-22 | Circuit for disabling an address masking control signal using OR gate when a microprocessor is in a system management mode |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69421107D1 DE69421107D1 (de) | 1999-11-18 |
DE69421107T2 true DE69421107T2 (de) | 2000-03-30 |
Family
ID=21875549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69421107T Expired - Fee Related DE69421107T2 (de) | 1993-03-22 | 1994-03-22 | Systemverwaltungsunterbrechungsadressenbitkorrekturschaltung |
Country Status (6)
Country | Link |
---|---|
US (2) | US5509139A (de) |
EP (1) | EP0617367B1 (de) |
JP (1) | JP2631085B2 (de) |
AT (1) | ATE185630T1 (de) |
CA (1) | CA2118781C (de) |
DE (1) | DE69421107T2 (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2634147B2 (ja) * | 1994-09-16 | 1997-07-23 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステム、キャッシュヒットの判定方法 |
US5671422A (en) * | 1994-11-14 | 1997-09-23 | Intel Corporation | Method and apparatus for switching between the modes of a processor |
US5638532A (en) * | 1994-12-06 | 1997-06-10 | Digital Equipment Corporation | Apparatus and method for accessing SMRAM in a computer based upon a processor employing system management mode |
US5764999A (en) * | 1995-10-10 | 1998-06-09 | Cyrix Corporation | Enhanced system management mode with nesting |
US5943506A (en) * | 1996-03-25 | 1999-08-24 | Intel Corporation | System for facilitating data I/O between serial bus input device and non-serial bus cognition application by generating alternate interrupt and shutting off interrupt triggering activities |
US5909696A (en) * | 1996-06-04 | 1999-06-01 | Intel Corporation | Method and apparatus for caching system management mode information with other information |
US5729760A (en) * | 1996-06-21 | 1998-03-17 | Intel Corporation | System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode |
US6557104B2 (en) * | 1997-05-02 | 2003-04-29 | Phoenix Technologies Ltd. | Method and apparatus for secure processing of cryptographic keys |
US6246397B1 (en) | 1997-07-30 | 2001-06-12 | Gateway, Inc. | Screen saver computer program prohibition based on storage device activity |
US6145048A (en) * | 1998-09-17 | 2000-11-07 | Micron Technology, Inc. | Method of processing system management interrupt requests |
US6212592B1 (en) | 1998-09-17 | 2001-04-03 | Micron Technology, Inc. | Computer system for processing system management interrupt requests |
US6564317B1 (en) * | 1999-12-20 | 2003-05-13 | Intel Corporation | Method and apparatus for securing computer firmware wherein unlocking of nonvolatile memory is prohibited unless address line masking Is disabled during an initialization event |
US6418498B1 (en) * | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
US7653123B1 (en) | 2004-09-24 | 2010-01-26 | Cypress Semiconductor Corporation | Dynamic data rate using multiplicative PN-codes |
US7791365B2 (en) * | 2007-10-19 | 2010-09-07 | International Business Machines Corporation | Remotely configurable chip and associated method |
US9418223B2 (en) | 2014-04-22 | 2016-08-16 | Dell Products, Lp | System and method for securing embedded controller communications by verifying host system management mode execution |
US9509217B2 (en) | 2015-04-20 | 2016-11-29 | Altera Corporation | Asymmetric power flow controller for a power converter and method of operating the same |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6035690B2 (ja) * | 1980-12-22 | 1985-08-16 | 富士通株式会社 | アドレス拡張方式 |
JPS58102381A (ja) * | 1981-12-15 | 1983-06-17 | Nec Corp | バツフアメモリ |
JPS58115564A (ja) * | 1981-12-29 | 1983-07-09 | Fujitsu Ltd | アドレス空間拡張方式 |
US5027273A (en) * | 1985-04-10 | 1991-06-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
JPS63261446A (ja) * | 1987-04-17 | 1988-10-28 | Fujitsu Ltd | 拡張仮想記憶制御方式 |
US4926322A (en) * | 1987-08-03 | 1990-05-15 | Compag Computer Corporation | Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management |
US5226122A (en) * | 1987-08-21 | 1993-07-06 | Compaq Computer Corp. | Programmable logic system for filtering commands to a microprocessor |
US5063499A (en) * | 1989-01-09 | 1991-11-05 | Connectix, Inc. | Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing |
CA2028551A1 (en) * | 1989-11-03 | 1991-05-04 | John S. Thayer | Data destination facility |
US5283889A (en) * | 1989-12-29 | 1994-02-01 | Zenith Data Systems Corporation | Hardware based interface for mode switching to access memory above one megabyte |
US5175853A (en) * | 1990-10-09 | 1992-12-29 | Intel Corporation | Transparent system interrupt |
US5261114A (en) * | 1990-11-09 | 1993-11-09 | Ast Research, Inc. | Method and apparatus for providing down-loaded instructions for execution by a peripheral controller |
US5255379A (en) * | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5303378A (en) * | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
US5274834A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with integrated extended memory addressing |
JPH06230979A (ja) * | 1992-06-17 | 1994-08-19 | Cyrix Corp | 改良されたシステム管理方法および装置 |
US5392420A (en) * | 1993-09-30 | 1995-02-21 | Intel Corporation | In circuit emulator(ICE) that flags events occuring in system management mode(SMM) |
-
1993
- 1993-03-22 US US08/034,300 patent/US5509139A/en not_active Expired - Lifetime
-
1994
- 1994-03-10 CA CA002118781A patent/CA2118781C/en not_active Expired - Fee Related
- 1994-03-22 JP JP6075299A patent/JP2631085B2/ja not_active Expired - Fee Related
- 1994-03-22 AT AT94302036T patent/ATE185630T1/de not_active IP Right Cessation
- 1994-03-22 DE DE69421107T patent/DE69421107T2/de not_active Expired - Fee Related
- 1994-03-22 EP EP94302036A patent/EP0617367B1/de not_active Expired - Lifetime
-
1995
- 1995-10-27 US US08/524,799 patent/US5664225A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5509139A (en) | 1996-04-16 |
CA2118781C (en) | 1998-12-22 |
US5664225A (en) | 1997-09-02 |
EP0617367A3 (de) | 1994-10-19 |
JP2631085B2 (ja) | 1997-07-16 |
CA2118781A1 (en) | 1994-09-23 |
EP0617367B1 (de) | 1999-10-13 |
EP0617367A2 (de) | 1994-09-28 |
JPH0773047A (ja) | 1995-03-17 |
ATE185630T1 (de) | 1999-10-15 |
DE69421107D1 (de) | 1999-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69421107T2 (de) | Systemverwaltungsunterbrechungsadressenbitkorrekturschaltung | |
DE69232303T2 (de) | PC mit integriertem wiederbeschreibbarem ROM zur Speicherung des BIOS | |
DE69227774T2 (de) | Speicherverwaltungsverfahren | |
DE69633166T2 (de) | Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration | |
DE69523399T2 (de) | Leistungssteuerprozessor für Rechnersystem mit Halt/Wiederaufnahmefunktion-Fähigkeit | |
DE69428010T2 (de) | Verfahren und Einrichtung zur Sicherung und Rückspeicherung des Zustands eines CPVs | |
DE19882696B4 (de) | Speichertransaktionen auf einem Bus geringer Leitungsanzahl | |
DE69131610T2 (de) | Ermittlung des Speicheradressraums durch Verwendung von programmierbaren Grenzregistern mit Komparatoren mit einzelnen Ausgängen | |
DE69620055T2 (de) | Mehrfachbenutzerrechnersystem | |
DE69027471T2 (de) | Fehlersuchperipherie für Mikrorechner, Mikroprozessoren und Kernprozessor beinhaltende integrierte Schaltungen und Vorrichtung die diese Fehlersuchperipherie verwendet | |
DE69523527T2 (de) | Rechnersystem mit Klingelfeststelleinrichtung, um Systemaufwachverfahren einzuleiten | |
DE3853759T2 (de) | Datenprozessor mit zwei Betriebsmoden. | |
DE69623222T2 (de) | Ereignisverwaltungssystem | |
DE69331448T2 (de) | Dataprozessor mit einem Cachespeicher | |
DE112004001605B4 (de) | Computersystem, in welchem eine abgesicherte Ausführungsumgebung angewendet wird und in dem eine Speichersteuerung enthalten ist, die zum Löschen des Speichers ausgebildet ist | |
DE69723286T2 (de) | Echtzeitprogramm-sprachbeschleuniger | |
DE4228756C2 (de) | Unterbrechungseinrichtung für ein Mikroprozessorsystem | |
DE3876780T2 (de) | Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung. | |
DE69828074T2 (de) | Direkt-speicherzugriff / transaktionen auf ein bus mit niedriger pinanzahl | |
DE69427606T2 (de) | Rechnersystem, das den Schreibschutzstatus im Systemverwaltungszustand übergeht | |
DE60100848T2 (de) | Virtuelles rom für geräte-aufzählung | |
DE69429050T2 (de) | Personalrechner mit Tastatur und Emulation einer Hilfsvorrichtung | |
DE69505224T2 (de) | Computersystem | |
DE69601311T2 (de) | Wecksystem für pcmcia karte | |
DE69525129T2 (de) | Verfahren und Datenprozessor zum durchsichtigem Betrieb in einem Hintergrundmodus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |