DE3586789T2 - Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit. - Google Patents

Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit.

Info

Publication number
DE3586789T2
DE3586789T2 DE8585110114T DE3586789T DE3586789T2 DE 3586789 T2 DE3586789 T2 DE 3586789T2 DE 8585110114 T DE8585110114 T DE 8585110114T DE 3586789 T DE3586789 T DE 3586789T DE 3586789 T2 DE3586789 T2 DE 3586789T2
Authority
DE
Germany
Prior art keywords
input
address
output
unit
output units
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
DE8585110114T
Other languages
English (en)
Other versions
DE3586789D1 (de
Inventor
Junichi Iwasaki
Akira Kuwata
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.)
NEC Electronics Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Application granted granted Critical
Publication of DE3586789D1 publication Critical patent/DE3586789D1/de
Publication of DE3586789T2 publication Critical patent/DE3586789T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • G06F12/0661Configuration or reconfiguration with centralised address assignment and decentralised selection
    • 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/10Program control for peripheral devices

Landscapes

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

Description

    Hintergrund der Erfindung
  • Die Erfindung betrifft einen Mikrocomputer und speziell einen Mikrocomputer mit einer Zentralprozessoreinheit (CPU) und zumindest eine auf demselben Halbleiterchip ausgebildeten Eingabe-/Ausgabeeinheit.
  • Beschreibung bekannter Technik
  • Als eine Technik zur Miniaturisierung und Gewichtsreduktion eines Computersystems, das bislang aus einem CPU-Chip, einem Zeitgeber-/Zähler-Chip, einem Unterbrechungs-Steuereinheit-Chip und andere periphere Einheiten zusammengesetzt ist, wurden Hochintegrationsverfahren entwickelt, die CPU- und periphere Funktionen wie Zeitgeberfunktionen und Unterbrecherfunktionen auf einem Chip integrieren. Bei einem konventionellen Mikroprozessor mit (peripheren) Eingangs- Ausgangs-Einheiten zusammen mit einer CPU auf einem einzigen Halbleiterchip sind jedoch die I/O-Adressen, die jeder Eingangs-Ausgangs-Einheit zugeordnet sind, fixiert. Im allgemeinen umfaßt jede Eingangs-Ausgangs-Einheit eine Vielzahl von Registern, die durch vorgegebene Adressen benannt werden. In diesem Fall, wenn eine Datenübertragung zwischen der CPU und einem Register in einer Eingangs-Ausgangs-Einheit durchgeführt wird, sendet die CPU eine dem auszuwählenden Register zugewiesene Adresse an einen Decoder. Der Decoder decodiert die Adresse von der CPU und erzeugt ein Auswahlsignal, das direkt durch eine Dekoder-Ausgangsleitung dem Register zugeführt wird. Auf diese Weise wird das durch die CPU ausgewiesene Register ausgewählt.
  • Da jedoch die I/O-Adressen die den Registern in den Eingangs-Ausgangs-Einheiten zugewiesen sind, vorgegeben und durch eine Hardware-Logikschaltung fixiert sind, ist eine Änderung der I/O-Adressen, die peripheren Eingangs-Ausgangs-Einheiten zugewiesen sind, nicht möglich. Aufgrunddessen kann eine Software, die I/O-Adressen verwendet, die sich von denen im Chip zur Zuweisung der Adressen der Register in den Eingangs-Ausgangs-Einheiten unterscheiden, bei einem konventionellen Ein-Chip-Mikroprozessor nicht verwendet werden.
  • Desweiteren wird im allgemeinen ein Adressraum mit einer Vielzahl von aufeinanderfolgenden Adressen als I/O-Adressen verwendet. Aufgrund dessen sind beim praktischen Gebrauch einige Adressen vorhanden, die nicht im Adressenraum als I/O-Adressen verwendet werden. Da jedoch alle I/O-Adressen im zugewiesenen Adressraum fixiert sind, können Adressen, die nicht im Adressraum verwendet werden, nicht für andere Zwecke verwendet werden. Das bedeutet, daß ein konventioneller Mikrocomputer den Nachteil aufweist, daß ein Benutzer den Adressraum nicht effektiv verwenden kann.
  • Aus der GB-A-2125594 ist ein Mikrocomputer gemäß dem Oberbegriff des Anspruchs 1 bekannt. Bei diesem Mikrocomputer ist die Adresse eines Datenregisters, das in jeder Eingangs-Ausgangs-Einheit vorgesehen ist, programmierbar. Wenn jedoch jede Eingangs-Ausgangs-Einheit eine Anzahl von Registern aufweist, ist eine große Anzahl von Adressregistern und Auswahlleitungen erforderlich, was zu einer aufwendigen internen Struktur des Mikrocomputers führt.
  • Die US-A-4 188670 beschreibt eine Assoziativ-Speichereinrichtung zum Vergleich von dazu zugeführten Daten mit vorher darin gespeicherten Daten.
  • Es ist die Aufgabe der Erfindung, einen Mikrocomputer gemäß dem Oberbegriff des Anspruchs 1 zu schaffen, bei dem auf jedes Register, das in den einzelnen Eingangs-Ausgangs-Einheiten vorgesehen ist, über eine programmierbare Adresse zugegriffen werden kann, wobei die interne Struktur des Computers einfach ist.
  • Diese Ausgabe wird durch einen Mikrocomputer gelöst, der in Anspruch 1 definiert ist; die abhängigen Ansprüche betreffen weitere Entwicklungen der Erfindung.
  • In dem Mikrocomputer gemäß Anspruch 1 sind die Eingangs- Ausgangs-Adressen änderbar, ohne daß die interne Struktur verkompliziert ist. Desweiteren kann der Adressraum effektiv verwendet werden, und die Adressen der Register der Eingangs-Ausgangs-Einheiten können leicht durch Software geändert werden.
  • Erfindungsgemäß kann die CPU eine Adresse, die durch ein Programm bestimmt ist, in die erste Schaltung unter Verwendung der zweiten Schaltung einschreiben, bevor das Programm ausgeführt wird. Anschließend, wenn ein Zugriff auf die Eingangs-Ausgangs-Einheit während der Programmausführung erforderlich ist, fügt die CPU eine I/O-Adresse zur Auswahl des Registers an die dritte Schaltung zu. Die dritte Schaltung vergleicht die von der CPU abgegebene I/O-Adresse mit der in der ersten Schaltung gespeicherten Adresse. Falls zwei Adressen gleich sind, führt die dritte Schaltung ein Auswahlsignal an das Register in der Eingangs-Ausgangs- Schaltung unter Verwendung der vierten Schaltung. Auf diese Weise kommt das Register in einen Zugriffszustand. Andererseits, wenn ein anderes Programm mit einer anderen I/O- Adresse ausgeführt wird, ändert die CPU den Inhalt der ersten Schaltung, bevor das unterschiedliche Programm durchgeführt wird. Auf diese Weise können alle unterschiedlichen Programme durch den erfindungsgemäßen Mikrocomputer durchgeführt werden. Desweiteren, falls eine Adresse in der CPU verwendet wird, die sich von der in der ersten Schaltung gespeicherten Adresse unterscheidet, wird das Register nicht durch diese unterschiedliche Adresse ausgewählt und aufgrund dessen kann die unterschiedliche Adresse für andere Zwecke verwendet werden, beispielsweise als Speicher oder als externe Eingangs-Ausgangs-Einheit. Erfindungsgemäß wird der Ausgang der ersten Schaltung vorzugsweise mit einem von zwei Eingängen der dritten Schaltung gekoppelt, und die I/O-Adresse von der CPU wird vorzugsweise den anderen Eingängen der dritten Schaltung zugeführt.
  • Die vierte Schaltung ist vorzugsweise eine Auswahlleitung, die zwischen den Ausgang der dritten Schaltung und einen Auswahlanschluß der Eingangs-Ausgangs-Schaltung geschaltet ist. Falls die beiden Eingänge der dritten Schaltung koinzidieren, wird somit das Vergleichssignal direkt der Eingangs-Ausgangs-Schaltung als Auswahlsignal zugeführt. Ein Assoziativspeicher kann in Kombination für die erste und die dritte Schaltung verwendet werden.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm eines Beispiels eines konventionellen Mikrocomputers;
  • Fig. 2 ist eine Darstellung einer Registerkonfiguration für die interne I/O104-107 der Fig. 1;
  • Fig. 3 ist ein I/O-Adressplan der Register der Fig. 2;
  • Fig. 4 ist ein Blockdiagramm eines Mikrocomputers gemäß einer Ausführungsform der Erfindung;
  • Fig. 5 ist eine Zeichnung zur Erläuterung einer Registerkonfiguration der internen I/O-404-407 der Fig. 4;
  • Fig. 6 ist ein Schaltungsdiagramm zur Erläuterung eines Arbeitsbeispiels für den Dekoder 403 der Fig. 4;
  • Fig. 7 ist ein I/O-Plan der Assoziativspeicher DMAUR, ICUR, TCUR, SCUR der Fig. 6;
  • Fig. 8 ist eine Darstellung zur binären Wiedergabe der I/O- Adressen der Assoziativspeicher DMAUR, ICUR, TCUR, SCUR der Fig. 6;
  • Fig. 9 ist eine Darstellung zur Erläuterung einer Speicherzellenkonfiguration der Assoziativspeicher DMAUR, ICUR, TCUR, SCUR der Fig. 6;
  • Fig. 10 ist ein Schaltungsdiagramm des Grundaufbaus der Assoziativspeicherzellen;
  • Fig. 11 ist ein I/O-Plan einer Ausführungsform der Erfindung; und
  • Fig. 12 ist ein I/O-Plan der Ausführungsform.
  • Beschreibung bekannter Technik
  • Fig. 1 ist ein Blockdiagramm eines Mikrocomputers 101 mit einem internen A/D-Konverter 104, einem Zeitgeber 105, einer Unterbrechungssteuerung 106, und einer seriellen Schnittstelle 107 als periphere Eingangs-Ausgangs-Einheiten (im folgenden I/O genannt), zusammen mit einer CPU 102 auf einem einzigen Halbleiterchip. Die CPU 102 kann Daten von und an einen externen Bus über einen Bus 108 übertragen. Die interne I/O wie der A/D-Konverter 104, Zeitgeber 105, Unterbrechungssteuerung 106, die serielle Schnittstelle 107 werden entsprechend eines Befehls für einen Eingabe/Ausgabevorgang der CPU 102 initialisiert, bevor ein Programm ausgeführt wird. Wenn die CPU 102 den Eingangs-Ausgangs-Befehl ausführt, wird eine vorgegebene Adresse der angesprochenen internen I/O an einen Dekoder 103 über einen Adressbus 109 ausgegeben. Hier haben die internen I/O 104 bis 107 eine Registergruppe, die jeweils wie in Fig. 2 dargestellt ist, und eine I/O-Adresse ist jedem Register, wie in Fig. 3 dargestellt ist, zugewiesen. Beispielsweise sind zwei Register MKH, MKL in der Unterbrechungssteuerung 106 vorgesehen, und Adressen 6H und 7H sind dem Register NKH bzw. dem Register MKL als I/O-Adressen zugewiesen. Der Dekoder 103 dekodiert eine über den Adressbus 109 angegebene Adresse und erzeugt ein Auswahlsignal für das korrespondierende Register gemäß der I/O-Adresse, wie in Fig. 3 dargestellt. Das Auswahlsignal wird der Unterbrechungssteuerung 106 durch eine von zwei Signalleitungen 111 zugeführt. Hinsichtlich der anderen I/O-Einheiten sind fünf Signalleitungen 113 zu den Registern ANM, CR0, CR1, CR2, CR3 in der A/D-Konvertereinheit 104 vorgesehen. Fünf Signalleitungen 114 sind zu fünf Registern EOM, ETMM, TMM, TM0, TM1 in der Zeitgebereinheit 105 vorgesehen, zwei Signalleitungen 112 sind zu zwei Registern SMH, SML in der seriellen Schnittstelleneinheit 107 vorgesehen, wobei Register in den vier I/O-Einheiten direkt mit dem Dekoder über 14 Signalleitungen verbunden sind. Das bedeutet, daß die 14 I/O-Adressen (6H-9H, 1AH-1BH, 20H-23H) zugewiesen und durch Hardwarelogik festgelegt sind und somit nicht durch Software geändert werden. H bedeutet hier die hexadezimale Darstellung.
  • Wie oben beschrieben wurde, sind in dem bekannten Mikroprozessor die I/O-Adressen vorgegeben und fixiert, so daß sie nicht in andere Adressen geändert werden können. Aufgrund dessen kann ein Programm, das Adressen IAH und IBH als Adressen für die Unterbrechungssteuereinheit 106 aufweist, nicht auf dem in Fig. 1 dargestellten Mikrocomputer ausgeführt werden. Aufgrund dessen muß ein I/O-Treiber (Eingabe/Ausgabe-Einheit-Steuerprogramm) des Programms modifiziert werden. Desweiteren, wie in Fig. 3 dargestellt ist, sind der interne I/O-Adressenraum und der externe I/O-Adressraum im konventionellen Prozessor fixiert, so daß die Adressräume SP1, SP2 und SP3 nicht als, beispielsweise, externer Adressraum verwendet werden können, selbst wenn diese Räume SP1, SP2 und SP3 nicht als interner I/O-Adressraum verwendet werden.
  • Der konventionelle Mikroprozessor ist nicht zufriedenstellend, da er die Nachteile aufweist, daß
  • 1) die interne I/O-Adresse nicht willkürlich geändert werden kann,
  • 2) der Adressraum nicht effektiv genutzt werden kann, da die externe I/O-Adresse nicht in den internen I/O-Adressraum eingefügt werden kann,
  • 3) ein unbenutzter Adressraum im internen I/O-Adressraum verbleibt usw.
  • Detaillierte Beschreibung der Ausführungsformen der Erfindung
  • Ausführungsformen der Erfindung werden nun im einzelnen mit Bezug auf die beigefügten Zeichnungen erläutert.
  • Fig. 4 ist ein Blockdiagramm eines Mikrocomputers 401, mit einer CPU 402, einem Dekoder 403 und vier I/O-Einheiten (eine DMA-Einheit 404, eine Unterbrechungssteuereinheit 405, eine serielle Kommunikationseinheit 406 und eine Zeitgeber-/Zähler-Einheit 407) auf einem einzigen Halbleiterchip. Diese DMA-Einheit 404, eine Unterbrechungssteuereinheit 405, eine serielle Kommunikationseinheit 406 und eine Zeitgeber-/Zähler-Einheit 407 sind mit der CPU 402 mittels eines internen Datenbusses 412 und eines internen Adressbusses 413 verbunden. Der Dekoder 403 umfaßt einen Assoziativspeicher wie im folgenden im einzelnen beschrieben wird. Der Dekoder 403 empfängt eine Adresse von der CPU 402 und dekodiert sie. Als Ergebnis erzeugt der Dekoder 403 eins von Auswahlsignalen 408 bis 412 zur Auswahl der entsprechenden I/O-Einheit. In diesem Fall soll festgestellt werden, daß die Auswahlsignale 408 bis 412 nicht zur Auswahl von Registern in jeder I/O-Einheit verwendet werden, sondern zur Auswahl der I/O-Einheit selbst.
  • Desweiteren, wie in Fig. 5 dargestellt ist, besitzen die internen I/O-Einheiten 404 bis 407 interne Registergruppen DMAU, ICU, TSCU und TCU. In dieser Ausführungsform umfassen DMAU, ICU, SCU und TCU 16 Register, 2 Register bzw. 4 Register. Die Register werden durch untere Adressen ausgewählt, die durch den internen Adressbus 413 übertragen werden, der Signalleitungen mit vier Bit aufweist.
  • Fig. 6 ist ein Schaltungsdiagramm einer Ausführungsform des Dekoders 403 der Fig. 4. DMAUR ist ein Assoziativspeicher, der I/O-Adressen speichert, die der DMA-Einheit 404 zuzuweisen sind, ICUR ist ein Assoziativspeicher, der die der Unterbrechungs-Steuereinheit 405 zuzuweisenden I/O-Adressen speichert, TCUR ist ein Assoziativspeicher, der die der Zeitgeber-/Zähler-Einheit 7 zuzuweisenden I/O-Adressen speichert, SCUR ist ein Assoziativspeicher, der die der seriellen Kommunikationseinheit 406 zuzuweisenden I/O-Adressen speichert, wobei alle 8 Bit aufweisen. Einer der Assoziativspeicher DMAUR, ICUR, TCUR und SCUR wird gemäß zwei Adressbits S0 und S1, die von der CPU abgegeben werden, ausgewählt. Dann wird dem ausgewählten Speicher ermöglicht, in einen Schreibfreigabezustand zu kommen, durch die Ausgänge 610, 611, 612 oder 613 eines Selektors 601, der einen Dekodiervorgang entsprechend den empfangenen zwei Adressbits S0 und S1 durchführt. Die CPU 402 sendet eine Information hinsichtlich der einer Eingabe-Ausgabe- Einheit zuzuweisenden Adresse gemeinsam an die Speicher. Auf diese Weise wird die von der CPU 402 abgegebene Information in den ausgewählten Speicher eingeschrieben. Dabei wird der Selektor 601 durch den Ausgang 602 eines UND-Tores 619 aktiviert, dem ein Signal S2 und ein Signal 621 zugeführt werden. Das Signal S2 wird erzeugt, wenn die CPU 402 eine Adresse ausgibt, die die vier Assoziativspeicher DMAUR, ICUR, TCUR und SCUR bezeichnet, während das Signal 621 erzeugt wird, wenn eine Information in die Assoziativspeicher eingeschrieben wird. Auf diese Weise wird nur dann, wenn die Adresse zur Bezeichnung eines der Assoziativspeicher von der CPU 402 in einem Schreibbetriebsmodus ausgegeben wird, der Selektor 601 aktiviert, um den Dekodiervorgang entsprechend den angegebenen zwei Adressbits 50 und S1 durchzuführen. In diesem Zustand kann die CPU 402 eine beliebige Information hinsichtlich den I/O-Einheiten 404 bis 407 zuzuweisenden Adresse in die Assoziativspeicher einschreiben. Im allgemeinen wird dieser Schreibvorgang durchgeführt, bevor ein Programm durch den Mikrocomputer ausgeführt wird.
  • Nachdem der Schreibvorgang für die vier Assoziativspeicher beendet ist, wird die Ausführung des Programms erlaubt. Bei der Programmausführung wird eine von der CPU 402 ausgegebene Adresse an Eingangsanschlüsse 10 bis 17 über den Bus 414 abgegeben und mit der in jeden Assoziativspeicher eingeschriebenen Information verglichen. Falls die den Assoziativspeichern zugeführte Adresse mit einer der Informationen, die in den Assoziativspeichern gespeichert sind, übereinstimmt, wird ein Auswahlsignal 408, 409, 410 oder 411 von dem Assoziativspeicher erzeugt, der die mit der zugeführten Adresse übereinstimmende Information speichert. Dieses Auswahlsignal (d. h. Signalpegel 1) wird der entsprechenden I/O-Einheit 404, 405, 406 oder 407 zugeführt. Auf diese Weise wird eine der I/O-Einheiten in Abhängigkeit von dem Auswahlsignal, das vom entsprechenden Assoziativspeicher abgegeben wird, ausgewählt. Andererseits, wenn die zugeführte Adresse nicht mit einer Information übereinstimmt, die in einem der vier Speicher gespeichert ist, wird kein Auswahlsignal erzeugt. Das bedeutet, daß Signale mit dem Pegel "0" auf allen Signalleitungen 408 bis 411 vorhanden sind, und aufgrund dessen wird der Ausgang eines ODER-Tores 623 zu dem Pegel "0". Dies bedeutet, daß keine I/O-Einheit entsprechend der von der CPU 402 abgeleiteten Adresse ausgewählt ist. Aufgrund dessen kann diese Adresse verwendet werden, um einen Speicher oder eine externe I/O-Einheit, die eine andere als die vier internen I/O-Einheiten 404 bis 407 ist, zu bezeichnen.
  • Bei der obigen Erläuterung kann ein Ausgabebefehl verwendet werden, um die Information in den Assoziativspeichern einzuschreiben, die Assoziativspeicher DMAUR, ICUR, TCUR, SCUR sind den oberen vier Bytes eines 64k Bytes 0000H bis FFFFH) I/O-Adressraum wie in Fig. 7 dargestellt ist.
  • Beispielsweise ist der Assoziativspeicher DMAUR bei FFFFH angeordnet, der Assoziativspeicher ICUR bei FFFEH, der Assoziativspeicher TCUR bei FFFDH und der Assoziativspeicher SCUR bei FFFCH. Falls diese Adressen FFFCH bis FFFFH in Binärform dargestellt sind, sind die oberen Bits D2 bis D15 alle auf "1", wie in Fig. 8 dargestellt ist, und falls es durch S2 angegeben ist, dann ist S2 = "1". Falls nun ein unteres Bit D0 auf S0 ist, und ein unteres Bit D1 auf S1, werden die Assoziativspeicher DMAUR, ICUR, TCUR, SCUR gemäß der folgenden Tabelle 1 ausgewählt: TABELLE 1
  • Gemäß Tabelle 1 wird die Information hinsichtlich der DMA- Einheit 404 in DMAUR eingeschrieben, bezeichnet durch die Adresse FFFFH. Das bedeutet, wenn der Ausgabebefehl ausgeführt wird und die Adresse FFFFH dem Dekoder 403 zugeführt wird, daß der Assoziativspeicher DMAUR ausgewählt wird. Bezugnehmend auf den Vorgang gemäß Fig. 6 in der Adresse FFFFH, ist S2 = "1", und das Signal 621 wird zu "1", so daß das Ausgangssignal 620 des UND-Tores 619 auch zu "1" wird, wenn das Signal 620 zu "1" wird, wird der Dekoder 601 aktiviert, und eins der Signale 610 bis 613 wird zu "1" gemäß der Information von S0 und S1. Wenn die Adresse FFFFH ist, da S1 = "1" und S0 = "1" aus Tabelle 1, wird der Assoziativspeicher DMAUR durch das Signal 610 auf "1" ausgewählt und somit werden Informationen in DMAUR in einem Schreibfreigabezustand eingeschrieben. Das Einstellen der Information der DMA-Einheit 404 ist somit beendet. Der gleiche Vorgang wird wiederholt, um Informationen hinsichtlich der verbleibenden Assoziativspeicher einzuschreiben.
  • Bei der Programmausführung, wenn die Adresse zur Auswahl von DMAUR durch die Anschlüsse 10 bis 17 eingegeben wird, wird jede Information, die den Assoziativspeicher DMAUR, ICUR, TCUR und SCUR gespeichert sind, mit der eingegebenen Adresse verglichen. In diesem Zustand stimmt die Information im Assoziativspeicher DMAUR mit der eingegebenen Adresse überein. Aufgrund dessen wird das Signal 606 zu "1", und dann ist die DMA-Einheit 409 ausgewählt. In diesem Moment wird der Ausgang des ODER-Tores 623 zu "1", um anzuzeigen, daß die interne I/O-Einheit ausgewählt ist.
  • Ein Schaltungsdiagramm einer bevorzugten Ausführungsform einer Speicherzelle der Assoziativspeicher DMAUR, ICUR, TCUR, SCUR. Eine Speicherzelle 1201, die in Fig. 10 dargestellt ist, ist die am weitesten links liegende Zelle von DMAUR. Eine Signalleitung 1202 ist direkt mit dem Anschluß 17 gekoppelt, während eine Signalleitung 1203 mit einem Inverter gekoppelt ist, der mit dem Anschluß 17 verbunden ist. Aufgrund dessen, falls die Signalleitung 1202 auf "1" ist, wird die Signalleitung 1203 zu "0" und falls die Signalleitung 1202 auf "0" ist, wird die Signalleitung 1203 zu "1". Die Signalleitung 610 ist mit den Eingangsgates zweier Schalttransistoren 1207 und 1208 verbunden. Ein Schreibdatum kommt durch die Signalleitungen 1202 und 1203 herein. Wenn die Signalleitung 610 auf "1" ist, werden beide Transistoren 1207 und 1208 eingeschaltet, und das Schreibdatum wird in eine Speicherschaltung 1206 über die Signalleitung 1202 und 1203 eingeschrieben. Wenn das Datum einmal in die Speicherschaltung 1206 eingeschrieben ist, hält die Speicherschaltung 1206 das eingeschriebene Datum, bis der nächste neue Schreibvorgang durchgeführt wird. Andererseits, wenn ein Vergleichsvorgang durchgeführt wird, ist das Signal 610 auf "0", da der Selektor 601 inaktiv ist, und die Transistoren 1207 und 1208 sind beide ausgeschaltet. Wenn eine die DMA-Einheit auszuwählende Adresse dem Assoziativspeicher übertragen wird, wird sie der Signalleitung 1202 zugeführt, die mit einem Exklusiv-ODER-Tor 1210 mit zwei Eingängen verbunden ist. Eine Signalleitung 1209 von der Speicherschaltung 1206 wird mit dem anderen Eingang des EX-OR-Tores 1210 verbunden. Wenn ein Datum auf der Signalleitung 1202 nicht mit einem Datum auf der Signalleitung 1209 übereinstimmt, ist die Situation so, daß die Adresse mit einer Speicherinformation übereinstimmt, und das Ausgangssignal 1212 des Exklusiv-ODER-Tores 1210 mit zwei Eingängen wird zu "0". Wenn ein Datum auf der Signalleitung 1202 mit einem Datum auf der Signalleitung 1209 übereinstimmt, ist die Situation derart, daß die Adresse nicht mit der Speicherinformation übereinstimmt, und das Ausgangssignal 1212 des Exklusiv-ODER-Tores 1210 mit zwei Eingängen wird zu "1". Da eine Signalleitung 1205 vorher auf "1" vorgeladen wird durch den Hochziehwiederstand 1211, wenn ein Transistor 1213 eingeschaltet wird, wobei die Ausgangssignalleitung 1212 auf "1" ist, wird die Signalleitung 1205 zu "0". Unterdessen ist die Signalleitung 1205 auf "1", wenn das Eingangsdatum mit dem Speicherdatum übereinstimmt, da die Signalleitung 1205 auf "0" ist. Der Grundaufbau der Assoziativspeicherzellen, der oben beschrieben wurde, ist durch eine Signalleitung 610 und die Signalleitung 1205 parallel verbunden.
  • In diesem Ausführungsbeispiel umfaßt die DMA-Einheit 404 16 Register DMAU01 bis DMAU16, wie in Fig. 5 dargestellt ist, und aufgrund dessen werden die unteren vier Bit der durch die CPU erzeugten Adresse der DMA-Einheit über den internen Adressbus 413 der Fig. 4 zugeführt, um eins dieser 16 Register auszuwählen. Aufgrund dessen können die oberen vier Bit der Adresse dem Assoziativspeicher DMAUR zugeführt werden. Das bedeutet, daß der Assoziativspeicher DMAUR vier Speicherzellen entsprechend den oberen vier Adressbits aufweisen kann. In gleicher Weise umfaßt die Unterbrechungssteuereinheit (ICU 405) nur ein Register ICUR, und dementsprechend werden die oberen sieben Adressbit zum Zugriff auf den Assoziativspeicher ICUR verwendet. Die Zeitgeber/Zähler-Einheit 407 und die serielle Kommunikationseinheit 406 umfassen zwei Register, wobei die oberen sechs Adressbits zur Auswahl dieser I/O-Einheiten 406 und 407 verwendet werden. Aufgrund dessen, wie in Fig. 9 dargestellt ist, umfassen die Assoziativspeicher ICUR, TCUR, SCUR 7, 6 bzw. 6 Register. In Fig. 9 bedeutet das Zeichen X, daß keine Speicherzelle erforderlich ist.
  • Ein I/O-Adressraum in dem Ausführungsbeispiel umfaßt 64 K- Byte (0-FFFFH), jedoch ist in einem gebräuchlichen Mikrocomputersystem der Adressraum für 256 Byte (0-FFH) fertig, wodurch die Adressbitlänge der Assoziativspeicher auf die unteren acht Bit festgelegt ist und die oberen acht Bit werden auf 00H fixiert, wodurch eine Verminderung der Hardware ermöglicht wird.
  • Im folgenden werden detailliert die Teile beschrieben, in denen die Speicherzellen C0 bis C3 des Assoziativspeichers DMAUR, C0 des Assoziativspeichers ICUR, C0 und C1 des Assoziativspeichers TCUR und C0, C1 des Assoziativspeichers SCUR nicht vorhanden sind. Wie in Fig. 11 dargestellt ist, wurde dem Register in jeder der internen IO-Einheit 404 bis 407 seine Adresse vorher in den I/O-Einheiten 404 bis 407 zugewiesen. Es ist selbstverständlich, daß das System so hoch im Adresspegel der Register jeder der I/O-Einheiten 404 bis 407 programmierbar gestaltet werden kann, jedoch muß der Assoziativspeicher zum Speichern der Adressen in der gleichen Anzahl vorgesehen sein, um mit einem Ansteigen der Anzahl der I/O-Register zu handeln, und folglich steigt die Hardware entsprechend an und die Arbeit zum Einstellen der I/O-Adresse für jedes I/O-Register wird kompliziert. Hier hat die geltende I/O die internen Register regelmäßig angeordnet wie in Fig. 11 dargestellt ist. Das bedeutet, daß die I/O-Adresse des internen Registers gemeinsam für die oberen Bits pro I/O sind, und durch Dekodieren der unteren wenigen Bits wird die Adresse regulär von der unteren Adresse bis zur oberen Adresse zugewiesen. In Fig. 11 sind Bits mit einem Zeichen V der Adressen DMAU01 bis DMAU16 Bits mit einem Zeichen Z von TCU1 bis TCU4, Bits mit einem Zeichen Y von SCU1 bis SCU4 und Bits mit einem Zeichen X von ICU 1 und ICU 2 einander gemeinsam und so programmierbar. Das bedeutet, daß die Bereiche mit den Zeichen V, Z, Y, X durch Einstellen von DMAUR, TCUR, SCUR, ICUR in Fig. 6 auf beliebige Adressen eingestellt werden können, und das desweiteren das auszuwählende Register durch Dekodieren der unteren Bits innerhalb jeder der I/O-Einheiten 404 bis 407 bestimmt sind. Das bedeutet, daß die Bereiche, bei denen Speicherzellen der unteren Bits nicht vorhanden sind, der Eingangsbit-Anzahl der internen I/O-Adressen entsprechen, die jeder der I/O-Einheiten 404 bis 407 der Fig. 4 eingegeben werden.
  • Im Dekoder 403 der Fig. 4 wird eine über den Adressbus 414 eingegebene Adressinformation dekodiert, ein Auswahlsignal wird für die zugegriffene interne I/O-Einheit erzeugt und das Auswahlsignal wird an eine der Auswahlsignalleitungen 408 bis 411 ausgegeben. Falls beispielsweise auf DMAU1 in der DMA-Einheit 404 zugegriffen wird, gibt der Dekoder 403 ein Auswahlsignal an die Auswahlsignalleitung 409. Falls auf DMAU16 zugegriffen wird, gibt der Dekoder 403 entsprechend ein Auswahlsignal an die Auswahlsignalleitung 409 und wählt die DMA-Einheit 404. Das bedeutet, wenn entweder das Register DMAU01 oder DMAU16 in der DMA-Einheit 404 ausgewählt wird, daß das Auswahlsignal nur auf die eine Auswahlsignalleitung 409 ausgegeben wird. Andererseits, wie in Fig. 11 dargestellt ist, ist den Registern DMAU01 und DMAU16 eine unterschiedliche I/O-Adresse zugewiesen, so daß beide Register DMAU01 und DMAU16 definitiv identifiziert werden müssen. Dementsprechend werden die unteren vier Bit der Adresse, wie in Fig. 4 dargestellt ist, der DMA-Einheit 404 über den internen Adressbus 413 eingegeben. Wenn die unteren vier Bit zu "0000" eingegeben werden, wird DMAU01 ausgewählt, und wenn die unteren vier Bit zu "1111" eingegeben werden, wird DMAU16 ausgewählt. Das untere eine Bit wird entsprechend der Unterbrechungssteuerung 405 über den internen Adressbus 413 eingegeben, die unteren beiden Bit werden der seriellen Kommunikationseinheit 406 eingegeben, die unteren zwei Bit werden der Zeitgeber-/Zähler-Einheit 407 eingegeben, und auf diese Weise ist das auszuwählende interne Register bestimmt.
  • Desweiteren ist ein I/O-Plan der Ausführungsform in Fig. 12 dargestellt. Fig. 12 (A) zeigt ein Beispiel, bei dem I/O- Einheiten 404 bis 407 aufeinanderfolgend programmiert sind und Fig. 12 (B) zeigt ein Beispiel, in dem die internen I/O-Einheiten 404 bis 407 in Intervallen programmiert sind.
  • I/O-Adressräume SP11, SP12, SP13 der Fig. 12 (B) werden nicht als interne verwendet, sondern können als externe I/O verwendet werden. Das bedeutet in Fig. 4, daß die vier Auswahlsignalleitungen 408 bis 411 alle als "0" erfaßt werden, so daß auf externe 10 zugegriffen wird. Mit anderen Worten kann die Systemkonfiguration frei eingestellt werden, unabhängig von internen 10 und externen 10, so daß die Beweglichkeit von einem existierenden System elastisch sichergestellt wird.
  • Erfindungsgemäß wird die I/O-Adresse einer internen I/O willkürlich in einem Mikrocomputer über Software eingestellt, so daß die Software auf einem existierenden System ohne Kodifizierung der I/O-Adresse übertragen werden kann und so daß die Miniaturisierung und die Erfordernisse der Leichtgewichtigkeit in einer kurzen Zeitspanne erfüllt werden können.
  • Ferner gemäß der Erfindung ist keine spezielle Unterscheidung vorgesehen für den internen I/O-Raum und den externen I/O-Raum, und ein I/O-Adressraum, der als interner I/O- Adressraum nicht verwendet wird, kann als externer I/O verwendet werden. I/O-Adressen von Eingangs-Ausgangs-Einheiten, die im Chip eingefügt sind, und externe Eingangs-Ausgangs-Einheiten können somit willkürlich gewählt werden, und somit ist der Freiheitsgrad für eine Systemkonfiguration extrem hoch.

Claims (4)

1. Mikrocomputer mit einer Zentralprozessoreinheit (402), einer Anzahl von Eingabe-Ausgabeeinheiten (404-407), einem Datenbus (412), der die Zentralprozessoreinheit und jede der Eingabe-Ausgabeeinheiten miteinander verbindet, einem ersten Adressbus (413), der die Zentralprozessoreinheit und jede der Eingabe-Ausgabeeinheiten verbindet, und einer Dekodereinrichtung (403) mit einer Anzahl von Ausgangsknoten (606-609), der einer Anzahl von vorgegebenen Adressinformationen, die durch die Zentralprozessoreinheit geschrieben wurden, speichert, dadurch gekennzeichnet, daß der Mikrocomputer ferner aufweist einen zweiten Adressbus (414), der die Zentralprozessoreinheit (402) und die Dekodereinrichtung (403) miteinander verbindet, und eine Anzahl von Auswahlleitungen (408-411), die jeweils zwischen den Eingangs- Ausgangseinheiten (404-407) und den Ausgangsknoten (606- 609) der Dekodereinrichtung verbunden sind, daß jede der Eingabe-Ausgabeeinheiten (404-407) einer Anzahl Register (DMAU 01-16; SCU 1-4; ICU 1, 2; TCU 1-4) aufweist, daß die Zentralprozessoreinheit eine erste Adressinformation zur Auswahl eines der Register und eine zweite Adressinformation zur Auswahl einer der Eingabe-Ausgabeeinheiten (404 - 407) erzeugt und die erste und die zweite Adressinformation auf den ersten bzw. den zweiten Adressbus (413 und 414) überträgt, und daß die Dekodereinrichtung (403) die zweite Adressinformation mit der vorgegebenen Adressinformation vergleicht und eine der Auswahlleitungen (408-410) auswählt, wodurch eine der Eingabe-Ausgabeeinheiten (404- 407), die mit der ausgewählten Auswahlleitung verbunden ist, ausgewählt wird und eins der Register, das in der ausgewählten Eingabe-Ausgabeeinheit enthalten ist, durch die erste Adressinformation ausgewählt wird.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß die Dekodereinrichtung (403) eine Anzahl von Assoziativ-Speichereinrichtungen (DMAUR, ICUR, TCUR, SCUR) aufweist, von denen jede eine entsprechend vorgegebene Adressinformation speichert und einen entsprechenden der Ausgangsknoten (606-609) aufweist und daß der zweite Adressbus (414) mit jeder der Assoziativ-Speichereinrichtungen verbunden ist.
3. Mikrocomputer nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Zentralprozessoreinheit (102), die Eingabe-Ausgabeeinheiten (104- 107), der Datenbus (412), der erste und der zweite Adressbus (413 und 414), die Dekodereinrichtung (403) und die Auswahlleitungen (408-411) in einem einzigen Halbleiterchip (401) integriert sind.
4. Mikrocomputer nach Anspruch 1, 2 oder 3, wobei die Eingabe-Ausgabeeinheiten eine DMA-Einheit (404), eine Unterbrechungs-Steuereinheit (405), eine Seriell- Kommunikationseinheit (406) und eine Zeitgeber- Zählereinheit (407) aufweist.
DE8585110114T 1984-08-10 1985-08-12 Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit. Expired - Lifetime DE3586789T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59167481A JPS6145347A (ja) 1984-08-10 1984-08-10 マイクロコンピユ−タ

Publications (2)

Publication Number Publication Date
DE3586789D1 DE3586789D1 (de) 1992-12-10
DE3586789T2 true DE3586789T2 (de) 1993-05-27

Family

ID=15850478

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8585110114T Expired - Lifetime DE3586789T2 (de) 1984-08-10 1985-08-12 Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit.

Country Status (4)

Country Link
US (1) US4760524A (de)
EP (1) EP0172523B1 (de)
JP (1) JPS6145347A (de)
DE (1) DE3586789T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system
KR930008050B1 (ko) * 1990-02-16 1993-08-25 가부시끼가이샤 히다찌세이사꾸쇼 원칩 마이크로프로세서 및 그 버스시스템
EP0602276A1 (de) * 1992-12-18 1994-06-22 Siemens Nixdorf Informationssysteme Aktiengesellschaft Programmierbare Adre dekoder
US5513374A (en) * 1993-09-27 1996-04-30 Hitachi America, Inc. On-chip interface and DMA controller with interrupt functions for digital signal processor
US5535417A (en) * 1993-09-27 1996-07-09 Hitachi America, Inc. On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
JPH0922394A (ja) * 1995-07-05 1997-01-21 Rohm Co Ltd 制御装置
US8149901B2 (en) * 2005-05-27 2012-04-03 Verigy (Singapore) Pte. Ltd. Channel switching circuit
JP4931195B2 (ja) * 2006-07-27 2012-05-16 大成化工株式会社 定量取り出し装置及び定量取り出し装置付き容器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4378589A (en) * 1976-12-27 1983-03-29 International Business Machines Corporation Undirectional looped bus microcomputer architecture
US4188670A (en) * 1978-01-11 1980-02-12 Mcdonnell Douglas Corporation Associative interconnection circuit
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
AT355354B (de) * 1978-08-29 1980-02-25 Schrack Elektrizitaets Ag E Schaltungsanordnung mit einer zentraleinheit, an die mehrere peripheriegeraete angeschlossen sind
US4373181A (en) * 1980-07-30 1983-02-08 Chisholm Douglas R Dynamic device address assignment mechanism for a data processing system
US4402042A (en) * 1980-11-24 1983-08-30 Texas Instruments Incorporated Microprocessor system with instruction pre-fetch
JPS5930139A (ja) * 1982-08-10 1984-02-17 Mitsubishi Electric Corp ビツトパタ−ン比較装置
US4480315A (en) * 1982-08-16 1984-10-30 Fairchild Camera & Instrument Corp. Dynamically controllable addressing in automatic test equipment
JPS5966728A (ja) * 1982-10-08 1984-04-16 Hitachi Micro Comput Eng Ltd マイクロコンピユ−タシステムのアドレスデコ−ド回路
US4649471A (en) * 1983-03-01 1987-03-10 Thomson Components-Mostek Corporation Address-controlled automatic bus arbitration and address modification

Also Published As

Publication number Publication date
EP0172523A3 (en) 1989-02-22
JPS6145347A (ja) 1986-03-05
DE3586789D1 (de) 1992-12-10
EP0172523B1 (de) 1992-11-04
EP0172523A2 (de) 1986-02-26
JPH0326864B2 (de) 1991-04-12
US4760524A (en) 1988-07-26

Similar Documents

Publication Publication Date Title
DE3751297T2 (de) Schaltung zur Programmsteuerung.
DE2760322C2 (de)
DE3938018C2 (de)
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE3587344T2 (de) Vorrichtung mit programmierbarem Festspeicher und Speicheranordnung zu deren Anwendung.
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE2844357A1 (de) Speichererweiterung
DE2755897A1 (de) Ein/ausgabe-system
DE2533403A1 (de) Datenverarbeitungssystem
DE3606211A1 (de) Multiprozessor-computersystem
DE68927795T2 (de) Übertragungssystem mit einem gemeinsamen Speicher
DE2750721A1 (de) Ein/ausgabe-system
DE8803316U1 (de) Digitalrechner mit steckbarer Erweiterungskarte
DE3689006T2 (de) Mikroprogrammsteuersystem.
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE2703559C2 (de)
DE3502147A1 (de) Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
DE3856139T2 (de) Mikroprozessor
DE1801620A1 (de) Verfahren und Anordnung zur Adressierung eines Speichers in einer Datenverarbeitungsanlage
DE2926322A1 (de) Speicher-subsystem
DE3586789T2 (de) Mikrocomputer mit wenigstens einer ein-/ausgabeeinheit.
DE3911721C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP