[go: up one dir, main page]

DE69034165T2 - Mikroprozessor mit einer Vielzahl von Buskonfigurationen - Google Patents

Mikroprozessor mit einer Vielzahl von Buskonfigurationen Download PDF

Info

Publication number
DE69034165T2
DE69034165T2 DE1990634165 DE69034165T DE69034165T2 DE 69034165 T2 DE69034165 T2 DE 69034165T2 DE 1990634165 DE1990634165 DE 1990634165 DE 69034165 T DE69034165 T DE 69034165T DE 69034165 T2 DE69034165 T2 DE 69034165T2
Authority
DE
Germany
Prior art keywords
bus
address
external
data
multiplexed
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
DE1990634165
Other languages
English (en)
Other versions
DE69034165D1 (de
Inventor
Rod Fleck
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE69034165D1 publication Critical patent/DE69034165D1/de
Application granted granted Critical
Publication of DE69034165T2 publication Critical patent/DE69034165T2/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Information Transfer Systems (AREA)

Description

  • Die Erfindung betrifft einen Mikroprozessor mit einem internen Bus mit Daten-, Adressen- und Steuerleitungen.
  • Die meisten Mikroprozessoren oder Mikrosteuerungen verwenden ähnliche externe Buskonfigurationen zur Kommunikation mit externem Speicher und Peripheriegeräten. Diese Busse liefern die Möglichkeit, byte- oder wortbreite Daten (8, 16, 32 und 64 Bit) über mehrere Daten-, Adressen- und Steuerleitungen zu lesen und zu den Peripheriegeräten zu schreiben. Diese sogenannten Busse representieren den primären Kommunikationsweg von Mikroprozessoren oder Mikrosteuerungen. Im allgemeinen sind zwei Arten von Bussen üblich geworden.
  • Das erste Buskonzept, gemultiplexte Busse, ermöglicht es einem einzigen Satz Leitungen, sowohl Adressen- als auch Dateninformationen zwischen dem Prozessor und der externen Einrichtung zu transferieren. Die Anzahl der Leitungen ist normalerweise gleich der primären Datengröße oder der Anzahl von Bit, die zur Darstellung des Adressenbereichs erforderlich ist. Zusätzlich werden mehrere Steuersignale zur Steuerung der Kommunikation zwischen Mikroprozessor und Peripheriegeräten vorgesehen. Insbesondere gibt das ALE-Signal an, ob die den gemultiplexten Bus bildenden Busleitungen für Adressen verwendet werden. Die Lese-/Schreibleitungen spezifizieren, ob der gemultiplexte Bus für Daten verwendet wird, sowie die Richtung, in der der gemultiplexte Bus angesteuert wird. In der Zeit, während das ALE-Signal vorhanden ist, darf das Peripheriegerät den Bus nicht ansteuern. Andernfalls würde das System zusammenbrechen, da der gemultiplexte Bus in dieser Zeit Adressensignale transferiert und ein Datentransfer deshalb unmöglich ist. Das Konzept des gemultiplexten Busses wurde bei den ersten Einchipmikroprozessoren oder -mikrosteuerungen aufgrund der niedrigen Anzahl von Anschlüssen und Bordrouten, die erforderlich waren, sehr beliebt. Dieses Bussystem wurde in vielen vergangenen Intel- und Intelkompatiblen Mikroprozessoren oder Mikrosteuerungen verwendet (z.B. siehe zum Beispiel den Siemens Mikrocomputer Components Data Catalogue, 1988, Seite 41ff).
  • Das zweite Buskonzept, nicht gemultiplexte Busse, erfordert zwei unabhängige Busse, wobei Adresse über einen Bus und Daten auf einem zweiten Bus transferiert werden. Da zwei Informationsstücke gleichzeitig transferiert werden können, ist der nichtgemultiplexte Bus normalerweise leistungsstärker. Außerdem werden bei diesem Buskonzept mehrere Steuersignale zur Steuerung des Datentransfers vorgesehen. Ein ALE-Signal zum Trennen von Adressensignalen von Datensignalen ist bei diesem Buskonzept nicht notwendig. Hier ist nur ein Signal notwendig, um anzuzeigen, daß die Adressensignale auf dem Bus stabil sind. Die Schnittstellenverzögerungen sind tendentiell besser, da Adressenbusse Nur-Sende-Busse sind, während sich Daten- und gemultiplexte Busse während Lesezyklen im „tristate"-Zustand befinden müssen, wodurch „tristate"-Ein- und Aus-Verzögerungen entstehen. Diese Art von Bus ist heutzutage aufgrund der erhöhten Leistungsfähigkeit und der verringerten Kosten von Anschlüssen und Bordrouten üblicher geworden. Bei vielen der Motorola-Mikroprozessoren wurde dieser Bustyp integriert. Die DE 25 604 74 zeigt zum Beispiel einen Mikroprozessor, der diesen Bustyp verwendet.
  • Es existieren jedoch viele verschiedene Schnittstellenchips, Speicher und Peripheriegeräte, und es ist im allgemeinen nicht möglich, einen für den ersten Bus ausgelegten Chip an den zweiten Bustyp anzupassen und umgekehrt. Um Chips mit verschiedenen Schnittstellen zu verbinden, sind einige Logikbausteine erforderlich, um eine Anpassung von Schnittstellensignalen aneinander zu ermöglichen.
  • Im allgemeinen stellt der größte Teil der Peripheriechips heutzutage gemultiplexte Busschnittstellen bereit, um Gehäusegröße und Kosten zu verringern. In vielen Fällen wird der Systementwickler dadurch nicht eingeschränkt, da nur wenig Daten zu und von diesen Bausteinen transferiert werden. Im Fall von Speicher können die Kosten der Verwendung gemultiplexter Busse jedoch die Systemleistungsfähigkeit stark verschlechtern, wenn eine große Menge an Daten transferiert werden muß. Dieser Bus ist in neueren Systemen beliebter geworden, in denen die Anzahl interner Zyklen zur Durchführung einer Operation soweit abgenommen hat, daß der Bus der Begrenzungsfaktor werden kann. Außerdem hat der Maßstab von Speichergeschwindigkeiten zugenommen, sodaß Zugriffszeiten den möglichen Datendurchsatz nicht begrenzen.
  • In vielen Fällen haben Peripheriechips Mehrfachbusschnittstellenlogik bereitgestellt, um den Marktanteil durch Verkauf in beiden Umgebungen zu vergrößern. Einer dieser, der Siemens SAB 82 257, wird in dem Siemens Microcomputer Components Data Catalogue, 1988, Seite 635, veröffentlicht. Diese habe sich bei Einzelbussystemen als sehr effektiv erwiesen, wenn kein schneller Zugriff verlangt wird, aber sogar diese Peripheriechips benötigen einige externe Hardware, um zwei verschiedene Buskonfigurationen zu unterstützen.
  • In Systemen, in denen der gemultiplexte Bus gegenüber der internen Systemarchitektur zu dem Begrenzungsfaktor geworden ist, bevorzugen es viele Systementwickler also, zu schnelleren nichtgemultiplexten Buskonfigurationen zu wechseln. Da viele Produkte eine Anzahl von Subsystemen enthalten, wobei es Systementwickler bevorzugen, nur Teile des Systems zu modifizieren, um die Kosten und die Entwicklungszeiten bis zur Vermarktung zu reduzieren, ist es vorteilhaft, auch ältere Subsysteme zu unterstützen, die die Systemleistungsfähigkeit mit neueren schnelleren Subsystemen nicht begrenzen.
  • Außerdem ist es sehr oft notwendig, mehrere Steuersignale zu verlangsamen, und zwar immer dann, wenn ein sehr schneller Mikroprozessor mit einem langsamen Peripheriegerät kommuniziert. Langsame Speicherbausteine, wie zum Beispiel EPROMs, benötigen das Einfügen mehrerer „Wartezustände" für das Lesen von Daten.
  • Die heutigen Versionen von Mikrosteuerungen und Mikroprozessoren ermöglichen es dem Benutzer nicht, Buskonfigurationen aktiv zu wechseln.
  • Aus WO-A-8 600 436 ist ein Mikroprozessor bekannt, der einen internen Bus mit Daten-, Adressen- und Steuerleitungen umfaßt, wobei programmierbare Bussteuermittel vorgesehen sind, die mehrere externe Leitungen mit dem internen Bus verbinden, sodaß in Reaktion auf die Programmierung der Bussteuermittel ein externer Bus mit einer programmierbaren Datenbreite gebildet wird. WO-A-8 600 436 lehrt jedoch keine programmierbare Bussteuerung, die den Wechsel zwischen gemultiplexter und nichtgemultiplexter Buskonfiguration ermöglicht.
  • In Computer Design, Band 29, 01.03.90, Nr. 5, Tulsa, OK, US, Seiten 24–26, W. Andrews, „Multibus I stretches to 32 bits", wird eine zusätzliche Busschnittstelle für einen Mikroprozessor bereitgestellt, die den Wechsel zwischen gemultiplexten und nichtgemultiplexten Buskonfigurationen ermöglicht, obwohl diese Änderung nicht programmierbar ist, sondern dergestalt dynamisch gesteuert wird, daß immer der schnellst mögliche Buszyklus gewählt wird.
  • Eine Aufgabe der Erfindung ist folglich die Bereitstellung eines Mikroprozessors, der einen externen Bus bereitstellt, der gemultiplexte und nichtgemultiplexte Bustypen mit verschiedener Datenbusbreite für beide Bustypen ohne Notwendigkeit zusätzlicher Schnittstellenhardware zur Verbindung verschiedener Bustypeneinrichtungen mit dem externen Bus des Mikroprozessors unterstützt.
  • Diese Aufgabe wird mit einem Mikroprozessor gemäß Anspruch 1 gelöst. Weitere Entwicklungen der Erfindung folgen aus den abhängigen Ansprüchen.
  • Die Grundlage der Erfindung besteht darin, einem Mikroprozessor oder einer Mikrosteuerung eine Bussteuereinheit zu geben, durch die Benutzer eine beliebige Kombination gemultiplexter und nichtgemultiplexter Buszugriffe ohne Änderungen an Software oder Hardware durchführen können. Diese Bussteuereinheit verbindet die internen Adressen- und Datenleitungen mit den externen Anschlüssen des Prozessors auf eine solche Weise, daß entweder eine gemultiplexte oder eine nicht gemultiplexte externe Buskonfiguration konstruiert wird. Außerdem erzeugt die Steuereinheit alle notwendigen Steuersignale für den jeweiligen Bustyp und/oder verbindet eine Steuersignalleitung, die der Prozessor bereits unterstützt, mit dem jeweiligen Ausgangsanschluß des Mikroprozessors bzw. der Mikrosteuerung.
  • Die Erfindung wird nachfolgend mit Bezug auf die beigefügten Zeichnungen weiter beschrieben. Es zeigen:
  • 1 ein Blockschaltbild einer Ausführungsform der Erfindung.
  • 2 eine erste Anwendung eines Mikroprozessors gemäß der Erfindung.
  • 3 eine zweite Anwendung eines Mikroprozessors gemäß der Erfindung.
  • 4 eine dritte Anwendung eines Mikroprozessors gemäß der Erfindung.
  • 5 ein Diagramm von 3 Steuerregistern SYSCON, BUSCON, ADDRSEL eines Mikroprozessors gemäß der Erfindung.
  • 6 ein Diagramm eines aufgeteilten Adressenraums, wobei jeder Adressenraum eine verschiedene Busstruktur repräsentiert.
  • 7 ein Diagramm verschiedener Auswahlen für das ADDRESEL-Register.
  • 8 ein Impulsdiagramm für einen gemultiplexten Buszugriff nach einem nichtgemultiplexten Buszugriff.
  • 9 ein Impulsdiagramm eines Peripheriezugriffs mit Signalen „wait-states" und „Ready".
  • Gemäß 1 besteht ein Mikroprozessor oder eine Mikrosteuerung aus einer Prozessoreinheit 2 mit einem internen Adressenbus 4, einem internen Datenbus 5 und einem internen Steuerbus 6, die mit einer Bussteuereinheit 3 verbunden sind. Die Datenbusbreite kann 8, 16, 32 oder mehr Bit betragen. Gemäß dem Adressenraum des Prozessors 2 wird die Breite des Adressen- und Steuerbusses 4, 6 gebildet. Weiterhin wird angenommen, daß der Datenbus 5 und der Adressenbus 4 16 Bit breit sind. Die Bussteuereinheit 3 liefert ihrerseits zwei programmierbare Eingangs-/Ausgangsports 8, 9 und einen zusätzlichen Steuerport, die mit den externen Anschlüssen des Mikroprozessors oder der Mikrosteuerung verbunden sind und den externen Bus aufbauen.
  • Gemäß der Erfindung stellt der Mikroprozessor eine Bussteuereinheit 3 bereit, die verschiedene externe Buskonfigurationen ermöglicht. Die internen Busse 4, 5, 6 liefern eine optimale Verbindung zwischen der Prozessoreinheit 2 und der Bussteuereinheit 3 auf der Basis der internen Zeitsteuerung dieses Teils. Durch die Bussteuereinheit 3 können Transfers aus der Prozessoreinheit 2 gepuffert und über Busse 7, 8, 9 mit externen Peripheriegeräten verbunden werden. Wichtig ist, daß die beiden Mengen von Bussen (intern 4, 5, 6 und extern 7, 8, 9) normalerweise sehr verschiedene Steuerstrukturen aufweisen. Die Bussteuereinheit 3 ist programmierbar, und abhängig von der programmierten Buskonfiguration verbindet die Bussteuereinheit 3 die externen Busleitungen 7, 8, 9 mit den jeweiligen internen Bussen 4, 5, 6, konvertiert die Zeitsteuerung und führt gegebenenfalls eine Haltespeicherung von Signalen der Busse durch. Dies kann zum Beispiel über verschiedene Multiplexer, Haltespeicher und Steuerlogik geschehen. Zum Beispiel könnte ein erfindungsgemäßer Mikroprozessor mehrere externe Ports aufweisen. Die Bussteuereinheit verbindet abhängig von der Programmierung die externen Ports mit den jeweiligen internen Adressen-, Daten- und Steuerleitungen. Zur Programmierung der Bussteuereinheit 3 sind mehrere Register vorgesehen, die später erläutert werden. Die verschiedenen Steuersignale, die für den gemultiplexten oder den nicht gemultiplexten Bustyp notwendig sind, werden ebenfalls durch in der Bussteuereinheit 3 enthaltene Mittel erzeugt. Diese Steuersignale können durch einen zusätzlichen Port unterstützt werden.
  • Die Bussteuereinheit 3 bestimmt, ob Steuersignale im Fall des Wechsels von einem Bustyp zu einem anderen verlängert werden oder nicht. Weiterhin kann die Steuereinheit 3 „wait-states", das „Read/Write"-Signal erzeugen, ein „Ready"-Signal, das durch ein Peripheriegerät erzeugt wird, auswerten und die externen Busleitungen in einen „tristate"-Modus überführen. Ein weiteres Merkmal des erfindungsgemäßen Mikroprozessors besteht darin, daß zum Beispiel in der Bussteuereinheit 3 ein erstes SYSCON-Register und vier BUSCON-Register vorgesehen werden können. Das SYSCON-Register ermöglicht es dem Benutzer, den Standardtyp vom externen Bus des Mikroprozessors zu definieren. Die 4 BUSCON-Register definieren entsprechend ihrer Programmierung 4 unabhängige Adressenbereiche für verschiedene Bustypen und Busgrößen. Die Bussteuereinheit kann darüber hinaus „chip-select"-Signale für durch SYSCON- und BUSCON-Register definierte Adressenbereiche erzeugen. Diese Register sind über die Prozessoreinheit 2 durch den Benutzer progammierbar. Die Menge an BUSCON-Registern ist nicht auf 4 begrenzt.
  • 2 bis 4 sind Anwendungsbeispiele für die oben erwähnte Ausführungsform der Erfindung. 2 zeigt eine gemultiplexte Konfiguration mit 8 Bit breitem Datenbus. Der Mikroprozessor 1 ist über 8 Bit des ersten Ports 8 mit einem Peripheriegerät 10 verbunden. Dieselben 8 Leitungen des Ports 8 sind außerdem mit einem Haltespeicher 11 verbunden, der seinerseits den ersten Teil des Adressenbusses des Peripheriegeräts 10 mit dem Port 8 verbindet. In bestimmten Fällen wird der Haltespeicher in das Peripheriegerät 10 integriert. Der zweite Teil des Adressenbusses des Peripheriegeräts 10 ist direkt mit 8 Bit des zweiten Ports 9 des Mikroprozessors 1 verbunden. Da dieser zweite Bus ein nichtgemultiplexter Adressenbus ist, kann Port 9 als ein unidirektionaler Port programmiert werden, andernfalls muß der erste Port 8 ein bidirektioner Port sein, da er dem Peripheriegerät Adressen- und Dateninformationen zuführt. Der Klarheit halber ist nur eine Steuerleitung 7 gezeigt, die den Adressenhaltespeicher steuert.
  • 3 zeigt eine gemultiplexte Konfiguration mit 16 Bit breitem Datenbus. Alle Verbindungen zwischen dem Mikroprozessor 1 und dem Peripheriegerät 10 sind dieselben wie in 2 gezeigt, mit Ausnahme der Verbindung zwischen dem zweiten Port 9 und dem Peripheriegerät 10. Da 16 Datenleitungen benötigt werden, verbindet dieser Port 9 die oberen 8 Datenleitungen des Mikroprozessors 1 mit den jeweiligen Datenleitungen des Peripheriegeräts 10. Port 9 ist außerdem mit dem Haltespeicher 11 verbunden, der nun 16-Bit-Adressensignale hält. In diesem Fall werden beide Ports 8, 9 des Mikroprozessors gemultiplext. Wiederum ist der Klarheit halber der Steuerbus nicht gezeigt, mit Ausnahme des Adressenhaltespeichersteuersignals 7.
  • Der in 2, 3 gezeigte Haltespeicher 11 ist normalerweise in Intel-kompatiblen Peripheriegeräten enthalten.
  • 4 zeigt eine Anwendung mit einer nichtgemultiplexten Buskonfiguration mit demselben Mikroprozessor bzw. derselben Mikrosteuerung wie zuvor in 2, 3 abgebildet. Der Mikroprozessor 1 ist über einen ersten Port 8, der bidirektionale Dateninformationen transferiert, mit einem Peripheriegerät 10 verbunden. Es können alternativ gemäß der Busbreite 8 oder 16 Bit des Ports 8 verwendet werden. Der zweite 16 Bit breite Port 9 verbindet die Adressenleitungen des Prozessors 1 mit jeweiligen Eingängen des Peripheriegeräts 10. Wiederum ist der Steuerbus in 4 nicht abgebildet.
  • Die Kernsteuerprozessoreinheit (CPU) erfordert einen Satz Spezialfunktionsregister, um Systemzustandsinformationen zu führen, um Systemkonfigurationsoptionen bereitzustellen, um die Codespeichersegmentierung und das Datenspeicher-Paging zu steuern und so weiter. Diese Register können nicht nur explizit durch den Programmierer modifiziert werden, sondern auch implizit während der normalen Anweisungsverarbeitung durch die CPU aktualisiert werden.
  • 5 zeigt 3 spezielle 16 Bit breite Register, die in der Bussteuereinheit enthalten sind. Das erste, das SYSCON-Register, ist ein bitadressierbares Register, das Systemkonfigurations- und Steuerfunktionen bereitstellt. Dieses Register ist in mehrere Teile unterteilt . Das MCTC-Bitfeld (Bit 0...2) und die Bit MTTC (Bit 5) und RWDC (Bit 4) in dem SYSCON-Register sind vorgesehen, um wie folgt Zeitsteuerungsparameter des externen Busses zu variieren. Der Speicherzyklus kann um die Prozessorzustandszeit in einem Bereich von 0 bis 15 oder von 0 bis 7, wenn die Ready-Funktion verwendet wird, mittels des MCTC-Bitfelds erweitert werden. Mittels des MTTC-Bit kann die Speicher-tristate-Zeit um entweder ,1` oder ,0` zusätzliche Zustandszeiten erweitert werden. Die Speicher-tristate-Zeit wird zusätzlich immer dann um eine Zustandszeit erweitert, wenn eine gemultiplexte externe Buskonfiguration gewählt wird. Über das RWDC-Bit kann eine zusätzliche Read/Write-Signalverzögerung von der Hälfte einer Zustandszeit programmiert werden. Das Zweibit-Feld BTYP (Bit 6, 7) gibt den gerade gewählten Konfigurationsmodus des externen Busses wieder. Es sind vier verschiedene Buskonfigurationen vorgesehen. Diese lauten: gemultiplexte Buskonfiguration mit 8 oder 16 Bit und nichtgemultiplexte Buskonfiguration mit 8 oder 16 Bit. Die Taktausgangsfunktion wird durch Setzen des CLKEN-Bit (Bit 8) des SYSCON-Registers auf ,1` freigegeben. Bei Freigabe nimmt der jeweilige Portanschluß seine alternative Funktion als CLKOUT des Ausgangsanschlusses an. Das BYTDIS-Bit (Bit 9) ermöglicht die Steuerung des low-aktiven Byte-High-Freigabeanschlusses des Mikroprozessors. Die Funktion des Anschlusses wird freigegeben, wenn das BYTDIS-Bit eine ,0` enthält. Andernfalls wird sie gesperrt und der Anschluß kann als Standard-E/A-Anschluß verwendet werden. Der Anschluß wird implizit von der Bussteuereinheit zum Wählen eines von zwei byteorganisierten Speicherchips verwendet, die über einen wortbreiten externen Datenbus mit dem Mikroprozessor verbunden sind. Das BUSACT-Bit (Bit 10) gibt das SYSCON- oder ein beliebiges BUSCON-Register frei. Wenn es auf ,0` gesetzt ist, wird kein externer Bus konfiguriert. Wenn nur 16 Adressenleitungen verwendet werden, ist der Speicherraum im nichtsegmentierten Modus auf 64 K Byte begrenzt. Das SGTDIS-Bit (Bit 11) ermöglicht die Auswahl entweder eines segmentierten oder eines nicht segmentierten Speichermodus. Im Fall eines nichtsegmentierten Speichermodus (SGTDIS = „1") ist der gesamte Adressenraum auf 64 K Byte beschränkt und somit sind nur 16-Bit-Adressen erforderlich, um Speicherstellen in dem Segment 0 zu adressieren. Im Fall eines segmentierten Speichermodus (SGTDIS = „0") werden zusätzliche Portanschlüsse verwendet, um eine physische 18-Bit-Adresse zu erzeugen. Es könnte natürlich eine beliebige andere Adressenbusbreite implementiert werden. Das RDYEN-Bit (Bit 12) stellt über den low-aktiven Ready-Eingangsanschluß eine optionale Data-Ready-Funktion bereit, um einer externen Speichersteuerung oder einem externen Peripheriegerät die Bestimmung der Dauer eines externen Speicherzugriffs zu ermöglichen. Bei Freigabe bedeutet ein low-aktives Signal an dem Ready-Eingangsanschluß, daß Daten verfügbar sind und durch die Bussteuereinheit zwischengespeichert werden müssen.
  • Zusätzlich bestimmt das SRDY/ARDY-Bit (Bit 3), ob eine synchrone oder eine asynchrone Ready-Funktion verwendet wird. Die beiden STKSZ-Bit bestimmen die Größe des Systemstapels von 32 Wörtern bis herauf zu 256 Wörtern. Bit 15 des SYSCON-Registers kann in zukünftigen Implementierungen verwendet werden.
  • Das zweite Register (BUSCON) ist viermal vorgesehen. Seine Struktur stimmt fast mit der des SYSCON-Registers überein, mit Ausnahme der Bit 8, 9, 11, 13, 14. Alle anderen Bit steuern dieselben Funktionen wie die ihrer jeweiligen Bit des SYSCON-Registers. Für jedes BUSCON-Register ist ein jeweiliges ADDRSEL-Register vorgesehen. Diese ADDRSEL-Register definiert den gültigen Adressenbereich des jeweiligen BUSCON-Registers. Die Bit 8, 11, 14, 15 der BUSCON-Register können für zukünftige Implementierungen verwendet werden. Im Gegensatz zu dem SYSCON-Register bestimmt das Bit 9 des BUSCON-Registers, ob ein verlängertes ADDRESS-Haltespeicherfreigabesignal erzeugt wird oder nicht. Dies kann in einer gemultiplexten Buskonfiguration immer dann relevant sein, wenn der Mikroprozessor einen Zugriff auf langsamere Peripheriegeräte durchführt. Ein weiteres spezielles Merkmal des BUSCON-Registers zieht das CSEN-Bit (Bit 13) vor. Wenn diese Funktion freigegeben ist, erzeugt die Bussteuereinheit ein Chipauswahlsignal an dem jeweiligen Portanschluß für den in dem jeweiligen ADDRSEL-Register definierten Adressenbereich.
  • Das ADDRESEL-Register ermöglicht es dem Benutzer, einen Adressenbereich zu definieren, der die Buskonfiguration, die Zeitsteuerung und die anderen Merkmale, die durch das jeweilige BUSCON-Register fixiert werden, definiert. Die ersten drei RS-Bit (Bit 0...2) definieren die Bereichsgröße und die folgenden sieben RSA-Bit (Bit 3...9) definieren die Bereichsstartadresse. Die Bereichsstartadresse muß immer ein Vielfaches der Bereichsgröße sein.
  • 7 zeigt ein Diagramm von 5 verschiedenen Auswahlen für das ADDRESEL-Register. Die Bereichsgröße liegt in diesem Fall von 2K bis 128K Byte. Jeweils wird die Bereichsstartadresse reduziert. Wenn zum Beispiel die Bereichsgröße in dem RS-Bitfeld auf 32K eingestellt wird, sind nur drei weitere Bit notwendig, um die Bereichsstartadresse in dem RSA-Bitfeld zu definieren, da der Gesamtadressenbereich in diesem Beispiel 256K Byte beträgt. Für andere Adressenumfänge müssen die Auswahlgrößen korrigiert werden.
  • 6 zeigt ein Beispiel für einen unterteilten Adressenbereich mittels dreier BUSCON-Register. Als erstes definiert das SYSCON-Register den Standard-Bustyp und Funktionen des gesamten Adressenbereichs. Nach der Programmierung von 3 der vier BUSCON-Register wird der Gesamtadressenbereich in 5 Teile 51...55 unterteilt. Der Teil S2 und der Teil S5 werden durch das SYSCON-Register definiert, die anderen Teile S1, S3, S4 durch die jeweiligen BUSCON-Register. Hierdurch ist es möglich, den Adressenbereich in Teile mit verschiedenen Buskonfigurationen und Busbreiten zu unterteilen. Zum Beispiel ist der Teil S1 als ein nichtgemultiplexter 16 Bit breiter Bustyp adressierbar, Teil S3 als ein gemultiplexter 8 Bit breiter Bus, Teil S4 als ein nichtgemultiplexter 8 Bit breiter Bus und die Teile S2, S5 als gemultiplexter 16 Bit breiter Bus.
  • Mit einem solchen erfindungsgemäßen Mikroprozessor werden Benutzer in der Lage sein, eine beliebige Kombination gemultiplexter und nichtgemultiplexter Zugriffe ohne Änderungen an Software oder Hardware durchzuführen. Bustypen werden strikt nachdem die Adresse für die Lese-, Schreib- oder Abrufzugriffsadresse zu der Bussteuereinheit gesendet wurde, bestimmt. Es sind keine speziellen Anweisungen oder Adressenbetriebsarten erforderlich. Nachdem die Adressenbereichsprüfungen der BUSCON-Register vorgenommen wurden, wird einer ausgewählt, oder es wird das SYSCON-Register gewählt, wenn kein BUSCON-Register gewählt ist.
  • In den meisten Fällen verursacht das Wechseln von einem Bus zum nächsten keine Zeitsteuerungsprobleme. Dazu gehören jeweils die folgenden Kombinationen:
    • – MUX-MUX: gemultiplexte Buszugriffe, gefolgt durch einen geliebigen anderen gemultiplexten Buszugriff mit verschiedenen Wartezustandseigenschaften oder verschiedenen Busbreiten.
    • – NMUX-NMUX: nichtgemultiplexte Buszugriffe, gefolgt durch einen beliebigen weiteren nichtgemultiplexten Buszugriff mit verschiedenen Wartezustandseigenschaften oder verschiedenen Busbreiten.
    • – MUX-NMUX: jedem nichtgemultiplexten Buszugriff kann unmittelbar ein beliebiger weiterer gemultiplexter Buszugriff mit verschiedenen Wartezustandseigenschaften oder verschiedenen Busbreiten folgen, da der Adressenbus immer sofort frei ist.
  • Keiner der obigen Fälle verursacht irgendwelche Zeitsteuerungsprobleme, wenn zwischen diesen Zugriffen Frei-Bus- oder Mehrfach-Bus-Masterzyklen auftreten.
  • Falls ein gemultiplexter Buszugriff einem nichtgemultiplexten Buszugriff folgt, ist ein zusätzlicher Wartezustand erforderlich, um die abgehende gemultiplexte Adresse zu halten, bis der nichtgemultiplexte Zugriff wirklich abgeschlossen ist. Dieser Wartezustand kann immer durch die Bussteuereinheit eingefügt werden, egal ob Frei-Bus oder Mehrfach-Bus-Masterzyklen zwischen diesen Zugriffen auftreten. Dieser Leistungsverlust wird nur für den ersten gemultiplexten Zugriff nach einem nicht gemultiplexten Zugriff sichtbar, sodaß mehrere folgende Zugriffe keinen Busänderungskostenfaktor verursachen. Dadurch wird jegliches eine Buskollision verursachende Zeitsteuerungsproblem, das auftreten könnte, vermieden.
  • 8 ist ein Impulsdiagramm eines gemultiplexten Buszugriffs nach einem demultiplexierten Buszugriff; A steht für das Prozessortaktsignal; B für das Adressenfreigabesignal, das bei gemultiplexter und nicht gemultiplexter Buskonfiguration verschiedene Bedeutungen hat; C steht für die Signale des Ports 8 und D für die Signale des Ports 9. Als letztes steht E für das low-aktive Schreibsteuersignal. Der linke Teil des Diagramms zeigt einen nicht gemultiplexten Buszugriff und der rechte Teil einen gemultiplexten Buszugriff. Der Bereich zwischen den gestrichelten vertikalen Linien zeigt die Einfügung des zusätzlichen Wartezustands. Bei einem nicht gemultiplexten Buszugriff steuert Port 8 nur Datensignale an und Port 9 nur Adressensignale. Bei dem folgenden gemultiplexten Buszugriff, der rechts der zweiten gestrichelten Linie gezeigt ist, steuert Port 8 zuerst die neuen Adressensignale an, und nach dem Zwischenspeichern dieser geht der Port 8 zur Ansteuerung der jeweiligen Datensignale über.
  • Da es viele verschiedene Peripheriegeräte gibt und die Zugriffszeitsteuerung dieser von Typ zu Typ verschieden ist, liefert der erfindungsgemäße Prozessor mehrere Möglichkeiten zur Bewirkung der Zeitsteuerung der Bussteuereinheit. Wie oben beschrieben, ermöglicht es der neue Prozessor dem Benutzer, die Anzahl von Wartezuständen von 0 bis 15 oder von 0 bis 7 (wenn Ready freigegeben ist) für langsame oder schnelle Peripheriegeräte zu definieren. Ferner ist eine Read/Write-Verzögerungssteuerung vorgesehen, und die Speicher-tristate-Zeit kann beeinflußt werden. Der neue Prozessor ermöglicht es dem Benutzer außerdem, zwei bezüglich der Zugriffszeitsteuerung verschiedene Speicher oder Peripheriegeräte zwischen einem definierten Adressenbereich zu verbinden. Dies ist möglich, da die Bussteuereinheit immer die programmierten Wartezustände einfügt und danach den Ready-Eingangsanschluß prüft. Obwohl die READY-Funktion über das jeweilige RDYDEN-Bit des SYSCON- oder BUSCON-Registers implementiert wird, fügt die Bussteuereinheit immer die Wartezustände ein. Dadurch ist es möglich, ein Peripheriegerät zu verbinden, das bis zu 7 Wartezustände benötigt, und ein zweites langsameres Peripheriegerät wird über den Ready-Eingang gesteuert. Also ist es nicht notwendig, für zwei solche bezüglich Zeitsteuerung verschiedene Peripheriegeräte zwei Adressenbereiche zu definieren.
  • 9 ist ein Impulsdiagramm des Zugriffs zweier bezüglich Zeitsteuerung verschiedener Peripheriegeräte. In F und G steht das obere Signal für das low-aktive Lesesteuersignal und das untere für das low-aktive Ready-Eingangssignal. Es wird angenommen, daß das jeweilige BUSCON oder SYSCON-Register so programmiert ist, daß 3 Wartezustände erzeugt werden und eine asynchrone Ready-Funktion implementiert wird. F steht für den schnellen Peripheriezugriff und G für den langsamen Peripheriezugriff. Der Ready-Eingangsanschluß wird nach dem Ablaufen der programmierten Wartezustände immer geprüft. Im Fall G werden aus Gründen eines High-Ready-Pegels also zusätzliche Wartezustände erzeugt.
  • Bei gemultiplexten Busbetriebsarten ist es häufig für den Benutzer sehr kompliziert, Entwurfsfehler einer Anwendung zu finden. Gemäß der Erfindung kann ein spezielles Merkmal in einem Mikroprozessor implementiert werden. Wenn in einem System ein gemultiplexter Buszugriff vorgenommen wird, wobei ein beliebiges BUSCON oder SYSCON als ein nichtgemultiplexter Zugriff gewählt wurde, wird die Adresse auch an einem zusätzlichen Port mit ähnlicher Zeitsteuerung wie bei einem nichtgemultiplexten Zugriff angesteuert. Vorzugsweise könnte dazu bei den oben erläuterten Beispielen Port 9, der die Adressensignale im nichtgemultiplexten Busmodus ansteuert, verwendet werden, es könnte aber auch jeder beliebige andere Port, der in dem System nicht verwendet wird, für dieses Debugging-Merkmal verwendet werden.
  • Das oben erläuterte Konzept für einen Mehrfachbusmikroprozessor oder eine Mehrfachbusmikrosteuerung kann auf vielerlei Weise realisiert werden. Es können mehrere Register in der Bussteuereinheit installiert werden, die vielfältige Steuersignale und interne Funktionsblöcke steuern. Die Erfindung ist für einen beliebigen Einchip- oder Mehrchipprozessor oder eine beliebige Einchip- oder Mehrchipmikrosteuerung anwendbar.

Claims (11)

  1. Mikroprozessor (1), umfassend: – Datenleitungen (5), Adressenleitungen (4) und Steuerleitungen (6), die einen internen Bus (4, 5, 6) bilden, – mehrere externe Leitungen (7, 8, 9), die einen externen Bus (7, 8, 9) bilden, wobei der externe Bus (7, 8, 9) ein beliebiges externes Peripheriegerät (10) mit dem Mikroprozessor (1) verbinden kann, – Verbindungsmittel zum Verbinden des externen Busses (7, 8, 9) mit dem Mikroprozessor (1), – eine Einzelbussteuereinheit (3) zum Verbinden des internen Busses (4, 5, 6) mit dem externen Bus (7, 8, 9), wohingegen der interne Bus (4, 5, 6) und der externe Bus (7, 8, 9) verschiedene Strukturen ihrer Steuersignale aufweisen, – wobei die Bussteuereinheit (3) Mittel zum Zugreifen auf den externen Bus (7, 8, 9) mit Datensignalen und Adressensignalen aufweist, – wobei die Bussteuereinheit (3) eine erste Konfiguration aufweist, wobei die Datensignale und die Adressensignale auf mindestens einer selben Menge der externen Leitungen (7, 8, 9) miteinander gemultiplext sind, – wobei die Bussteuereinheit (3) eine zweite Konfiguration aufweist, wobei die Datensignale und die Adressensignale auf verschiedenen Mengen von Leitungen auf dem externen Bus (7, 8, 9) bereitgestellt werden, – wobei die Bussteuereinheit (3) programmierbar ist und die erste und die zweite Konfiguration von der Programmierung der Bussteuereinheit (3) abhängen und – wobei verschiedene Adressenbereiche programmierbar sind und die verschiedenen Adressenbereiche das verschiedene Zugreifen auf den externen Bus (7, 8, 9) definieren, – außerdem Mittel (11) zum Zwischenspeichern von Signalen des internen Busses (4, 5, 6) und/oder des externen Busses (7, 8, 9), – wobei die Steuerleitungen (7) unabhängig von der gewählten Daten-/Adressenleitungsbusbreite ihre spezifische Funktion beibehalten.
  2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß – der externe Bus (7, 8, 9) mindestens eine Steuerleitung (7) umfaßt, – die Bussteuereinheit (3) ein Adressensteuersignal erzeugt, das einer der externen Bussteuerleitungen (7) zugeführt wird, – wobei das Adressensteuersignal anzeigt, ob der gemultiplexte Bus gültige Adressensignale führt, und – die Dauer des Adressensteuersignals erweiterbar ist.
  3. Mikroprozessor nach Anspruch 2, dadurch gekennzeichnet, daß nach dem Wechsel von dem nichtgemultiplexten Busmodus zu dem gemultiplexten Busmodus die Dauer des Adressensteuersignals während des nächsten folgenden gemultiplexten Buszugriffes vergrößert ist.
  4. Mikroprozessor nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß – mindestens ein Steuerregister (SYSCON, BUSCON, ADDRESS) vorgesehen ist, – wobei das Steuerregister (SYSCON, BUSCON, ADDRESS) Daten speichert, – wobei die Daten einen Adressenbereich anzeigen, – wobei die Daten die Breite des externen Datenbusses (8, 9) für den gültigen Adressenbereich anzeigen, – und wobei die Daten anzeigen, ob sich der externe Bus (7, 8, 9) für den Adressenbereich in dem gemultiplexten Modus oder in dem nichtgemultiplexten Modus befinden.
  5. Mikroprozessor nach Anspruch 4, dadurch gekennzeichnet, daß die Daten des Steuerregisters (SYSCON, BUSCON, ADDRESS) anzeigen, ob ein „chip-select"-Signal erzeugt wird.
  6. Mikroprozessor nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß das Steuerregister Daten speichert, die anzeigen, ob und wieviele „wait-states" während eines externen Peripheriezugriffs erzeugt werden.
  7. Mikroprozessor nach Anspruch 6, dadurch gekennzeichnet, daß die Daten mindestens anzeigen, ob eine der externen Bussteuerleitungen (7) ein „Ready"-Eingangssignal führt, das anzeigt, ob ein Zugriff auf das externe Peripheriegerät (10) abgeschlossen ist, sodaß Daten auf den externen Datenbusleitungen (8, 9) verfügbar sind.
  8. Mikroprozessor nach Anspruch 7, dadurch gekennzeichnet, daß das „Ready"-Eingangssignal erst dann geprüft wird, nachdem die programmierte Anzahl von „wait-states" erreicht worden ist.
  9. Mikroprozessor nach Anspruch 8, dadurch gekennzeichnet, daß die Daten mindestens bestimmen, ob das „Ready"-Eingangssignal im asynchronen oder synchronen Modus verwendet werden soll.
  10. Mikroprozessor nach einem der Ansprüche 4 bis 9, dadurch gekennzeichnet, daß – eine der externen Bussteuerleitungen (7) ein „Read/Write"-Signal führt, – das Steuerregister (SYSCON, BUSCON, ADDRESS) Daten speichert, die im gemultiplexten Busmodus bestimmen, ob das „Read/Write"-Signal verzögert wird.
  11. Mikroprozessor nach einem der Ansprüche 4 bis 10, dadurch gekennzeichnet, daß das Steuerregister (SYSCON, BUSCON, ADDRESS) Daten speichert, die im gemultiplexten Busmodus bestimmen, ob die "tristate"-Zeit der externen Leitungen (7, 8, 9), die die Adressensignale führen, erhöht wird.
DE1990634165 1990-07-20 1990-07-20 Mikroprozessor mit einer Vielzahl von Buskonfigurationen Expired - Lifetime DE69034165T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19900113991 EP0466970B1 (de) 1990-07-20 1990-07-20 Mikroprozessor mit einer Vielzahl von Buskonfigurationen

Publications (2)

Publication Number Publication Date
DE69034165D1 DE69034165D1 (de) 2004-10-28
DE69034165T2 true DE69034165T2 (de) 2005-09-22

Family

ID=8204242

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1990634165 Expired - Lifetime DE69034165T2 (de) 1990-07-20 1990-07-20 Mikroprozessor mit einer Vielzahl von Buskonfigurationen

Country Status (3)

Country Link
EP (1) EP0466970B1 (de)
JP (1) JPH04260959A (de)
DE (1) DE69034165T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0518488A1 (de) * 1991-06-12 1992-12-16 Advanced Micro Devices, Inc. Busschnittstelle und Verarbeitungssystem
EP0562151B1 (de) * 1992-03-27 1998-12-23 Siemens Aktiengesellschaft Integrierter Mikroprozessor
DE4239461A1 (de) * 1992-11-24 1994-05-26 Siemens Ag Anordnung zur Übertragung von Daten über einen Bus
JP3608804B2 (ja) * 1993-05-14 2005-01-12 株式会社ソニー・コンピュータエンタテインメント バス制御装置
TW229288B (en) * 1993-05-28 1994-09-01 American Telephone & Telegraph Microprocessor with multiplexed and non-multiplexed address busses
US5448521A (en) * 1993-11-12 1995-09-05 International Business Machines Corporation Connecting a short word length non-volatile memory to a long word length address/data multiplexed bus
JP3060812B2 (ja) * 1993-12-27 2000-07-10 日本電気株式会社 情報処理装置
US5594362A (en) * 1995-10-13 1997-01-14 Seiko Communications Systems, Inc. Gatable level-pulling circuit
US5918027A (en) * 1995-12-15 1999-06-29 Nec Corporation Data processor having bus controller
US8321649B2 (en) * 2011-03-18 2012-11-27 Freescale Semiconductor, Inc. Memory controller address and data pin multiplexing
CN103246625B (zh) * 2013-05-24 2016-03-30 北京大学 一种数据与地址共用引脚自适应调整访存粒度的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3113870A1 (de) * 1981-04-06 1982-10-21 Siemens AG, 1000 Berlin und 8000 München Anordnung zum anschliessen von peripheriebausteinen, die an ein n-bit-multiplexbus-system anschliessbar sind, an ein m-bit-multiplexbus-system
US4509120A (en) * 1982-09-30 1985-04-02 Bell Telephone Laboratories, Inc. Variable cycle-time microcomputer
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기

Also Published As

Publication number Publication date
JPH04260959A (ja) 1992-09-16
DE69034165D1 (de) 2004-10-28
EP0466970B1 (de) 2004-09-22
EP0466970A1 (de) 1992-01-22

Similar Documents

Publication Publication Date Title
DE69523395T2 (de) Datenprozessor mit gesteuertem Stoss-Speicherzugriff und Vorrichtung dafür
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE2522748C2 (de) Peripheriekopplungsadapter zur Steuerung der Informationsübertragung zwischen einer Datensammelleitung eines Zentralprozessors und daran angeschlossenen peripheren Einheiten
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE69231500T2 (de) Ein-Chip-Mikrorechner
DE3588009T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.
DE3887324T2 (de) Speicheranordnung.
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE69630110T2 (de) Verfahren und vorrichtung zur steuerung von linearen und kippschaltbetrieb stosszugriffssequenzen mittels kippschaltbetrieb inkrement-logik
DE3752017T2 (de) Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
DE2944419C2 (de)
DE69710515T2 (de) Verfahren und Vorrichtung zur Bestimmung von Wartezuständen auf einer Zyklusbasis in einem Datenverarbeitungssystem
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE69423077T2 (de) Steuerungsvorrichtungen für nichtflüchtige Speicheranordnungen
DE60226141T2 (de) Fifo-speicher system und verfahren dafür
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen
DE60132424T2 (de) Taktschutz für gemeinsame Komponenten einer Multiprozessor-DSP Vorrichtung
DE19828620A1 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE3856139T2 (de) Mikroprozessor
DE69033412T2 (de) Datenübertragungssteuervorrichtung für Parallelverarbeitungssysteme
DE2533737A1 (de) Datenprozessor
DE68924368T2 (de) Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang.
DE2951040C2 (de)
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