DE2702556A1 - Schaltungsanordnung zur steuerung des speicherzugriffs - Google Patents
Schaltungsanordnung zur steuerung des speicherzugriffsInfo
- Publication number
- DE2702556A1 DE2702556A1 DE19772702556 DE2702556A DE2702556A1 DE 2702556 A1 DE2702556 A1 DE 2702556A1 DE 19772702556 DE19772702556 DE 19772702556 DE 2702556 A DE2702556 A DE 2702556A DE 2702556 A1 DE2702556 A1 DE 2702556A1
- Authority
- DE
- Germany
- Prior art keywords
- macro
- command
- fifo register
- memory
- microprocessor
- 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.)
- Ceased
Links
- 230000015654 memory Effects 0.000 title claims description 36
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 2
- LGAILEFNHXWAJP-BMEPFDOTSA-N macrocycle Chemical compound N([C@H]1[C@@H](C)CC)C(=O)C(N=2)=CSC=2CNC(=O)C(=C(O2)C)N=C2[C@H]([C@@H](C)CC)NC(=O)C2=CSC1=N2 LGAILEFNHXWAJP-BMEPFDOTSA-N 0.000 claims description 2
- 238000000034 method Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
STANDARD ELEKTRIK LORENZ
AKTIENGESELLSCHAFT
AKTIENGESELLSCHAFT
Stuttgart 2/02556
C.Becherer-H.-J.Golbach-D.Illi 1-2-10
Die Erfindung betrifft eine Schaltungsanordnung für einen Mikroprozessor, bei der zur Verringerung der
Speicherzugriffszeit während der Abarbeitung eines Befehls schon der nächste Befehl bereitgestellt wird.
Aus der amerikanischen Patentschrift 3 162 8^1 ist es
bekannt, die Steuerung des Speicherzugriffs mit zwei
Befehlszählern und einem zweistufigen Befehlsregister so auszuführen, daß während der Abarbeitung eines Befehls,
der in der zweiten Stufe des Befehlsregisters steht, schon der nächste Befehl in der ersten Stufe bereitgestellt
wird, wodurch die Zeit, die zum Bereitstellen der Befehle notwendig ist, nicht mehr in die Verarbeitungszeit
einfließt.
Nachteilig bei der bekannten Steuerung des Speicherzugriffs ist, daß aufgrund einer aus anderen Gründen notwendigen
Splittung der Adresse zwei getrennte Busleitungen erforderlich sind, um Befehle adressieren zu
können. Dadurch entsteht eine unübersichtliche und aufwendige Rechnerhardware.
12.1.1977
Sa/Mr
Sa/Mr
809830/024? ORIGINAL INSPECTED
Die Aufgabe der Schaltungsanordnung nach der Erfindung, den Speicherzugriff für einen Mikroprozessor zu steuern,
wird dadurch gelöst, daß ein Markobefehlszähler extern vom Mikroprozessor vorgesehen ist, der das Auslesen eines
Makrobefehls aus einem Programmspeicher in eine Stufe eines m-stufigen FIFO-Registers steuert, wobei der Mikroprozessor
den Befehl abarbeitet, der als erster in das m-stufige FIFO-Register geladen wurde, daß die Anzahl von
m Stufen abhängig vom Verhältnis der maximalen Makrozyklenzeit geteilt durch die Speicherzykluszeit gewählt
ist, daß der Mikroprozessor nach der Abarbeitung eines jeden Befehls den Stand eines Programmzählers erhöht,
daß der Stand des Makrobefehlszählers immer dann erhöht wird, wenn ein Makrobefehl aus dem FIFO-Register ausgelesen
wird, und daß ein vom Programmspeicher getrennter Datenspeicher vorgesehen ist.
Der extern vom Mikroprozessor vorgesehene Makrobefehlszähler
ist dem Programmspeicher fest zugeordnet, so daß das Auslesen aus dem Programmspeicher ohne Zeitverzug durch Zuordnen
erfolgt. Diese Lösung ist übersichtlich und einfach.
Die Schaltungsanordnung ermöglicht, daß bei Aktivierung des Prozessors das FIFO-Register vollgeladen wird. Der
Mikroprozessor arbeitet dann das volle FIFO-Register durchgehend ab, so daß Leerzyklen (NOP) vermieden werden.
Während des Abarbeitens wird das FIFO-Register ständig nachgeladen, wodurch eine asynchrone Arbeitsweise zwischen
Programmspeicher und FIFO-Register entsteht.
Θ09830/0242
OWG4NAL INSPECTED
Der vom Programmspeicher getrennte Datenspeicher und das Bereitstellen des Befehls im FIFO-Register ermöglichen,
daß der Mikroprozessor gleichzeitig zu den Daten und zu dem Befehl Zugriff hat.
In Weiterbildung der erfindungsgemäßen Schaltungsanordnung
ist zwischen dem Programmspeicher und dem m-stufigen FIFO-Register
ein Zwischenregister vorgesehen. Dadurch kann die Zykluszeit zwischen zwei Progranunspeicherzugriffen kurz
gehalten werden, wenn dieses Register möglichst nahe bei den Speichern
untergebracht wird und bei Verwendung dynamischer Speicher kann dadurch der Leistungsbedarf gesenkt werden.
Nachfolgend wird die Erfindung anhand eines im Blockschaltbild dargestellten Ausführungsbeispiels näher beschrieben.
Die Schaltungsanordnung zur Steuerung des Speicherzugriffs ist Teil eines Rechners. Es wird im folgenden davon ausgegangen,
daß der Rechner in Betrieb genommen wird.
Die Zählerstände eines Programmzählers PZ und eines Makrobefehlszählers
MZ stehen auf Null. Damit bietet der Makrobefehlszähler MZ einem Programmspeicher PS, dem er fest
zugeordnet ist, die Anfangsadresse an und ruft einen unter dieser Adresse abgelegten ersten Makrobefehl auf, der von
einem Zwischenregister ZR aufgenommen wird.
Mit Hilfe des Zwischenregisters ZR kann die Zeitspanne zwischen Beginn eines ersten und dem Beginn des folgenden
Zyklus, d.h. die Zykluszeit, so kurz wie möglich gehalten werden. Da im hiesigen Ausführungsbeispiel dynamische
Speicher verwendet werden, sinkt auch der Leistungsbedarf.
809830/0242
Das Zwischenregister ZR ist mit einem m-stufigen FIFO-Register BS verbunden und gibt seinen Inhalt an dieses
FIFO-Register BS weiter, falls noch freie Plätze im FIFO-Register BS vorhanden sind. Bei jedem Ladevorgang
wird der Makrobefehlszähler MZ erhöht. Der Mikroprozessor /UP arbeitet die Befehle in der Reihenfolge ab,
in der das FIFO-Register BS geladen wird. Der Ausgang des FIFO-Registers BS wird mit dem Befehlseingang des
Mikroprozessors ,uP verbunden. Alternativlösungen zur Realisierung des FIFO-Registers BS sind Schieberegister
oder Tri-state-Speicher.
Sobald der Mikroprozessor ii? bei der Abarbeitung eines
Befehls - im beschriebenen Beispiel ist dies der erste Befehl - den letzten Mikrozyklus des Befehls antritt,
wird der Programmzähler PZ, der bis dahin auf Null stand, über Leitung sP um eins erhöht. Der Makrobefehlszähler
MZ, der inzwischen η (η£m) Stufen des FIFO-Registers BS
geladen hat, steht auf n. Wird ein Makrobefehl aus dem FIFO-Register BS ausgelesen, so wird der Makrobefehlszähler MZ um 1 erhöhtem den Stand n+1 aufzuweisen. Der
Makrobefehlszähler MZ bietet dem Programmspeicher PS diese Adresse an, die in der beschriebenen Weise den nächsten
Makrobefehl aufruft. Die Speicherzugriffszeit läßt sich somit auf die Befehlslaufzeit FIFO-Register BS-Mikroprozessor
,uP reduzieren, die von der Leitungslänge bestimmt wird.
Daten, die der Mikroprozessor -uP bei der Abarbeitung von
Befehlen benötigt, werden aus einem Datenspeicher DS bezogen, indem der Mikroprozessor ^P über Adreßleitung
aD die gewünschte Speicherstelle anspricht. Die Adressierung
809830/02*2
geschieht ohne Zeitverzug; die sonst übliche Wartezeit, die dadurch bedingt ist, daß abwechselnd ein Programm und
ein Datenspeicherzugriff ausgeführt wird, entfällt, da der Programmspeicherzugriff schon vorher erfolgt ist
und der dabei aufgerufene Befehl schon im FIFO-Register BS bereitsgestellt wurde. Der Mikroprozessor ,uP hat
somit gleichzeitig zum Programm und zu den Daten Zugriff.
somit gleichzeitig zum Programm und zu den Daten Zugriff.
Bei der Ausführung einer Programmunterbrechung oder
eines Programmsprunges müssen Makrobefehls- und Programmzähler MZ und PZ gleichzeitig mit einer neuen Programmadresse über Leitung aP geladen werden. Ebenso wie bei
der Inbetriebnahme ist auch in diesen Fällen keine Verkürzung der Speicherzugriffszeit möglich, da das FIFO-Register BS erst geladen werden muß.
eines Programmsprunges müssen Makrobefehls- und Programmzähler MZ und PZ gleichzeitig mit einer neuen Programmadresse über Leitung aP geladen werden. Ebenso wie bei
der Inbetriebnahme ist auch in diesen Fällen keine Verkürzung der Speicherzugriffszeit möglich, da das FIFO-Register BS erst geladen werden muß.
Im beschriebenen Ausführungsbeispiel ist das FIFO-Register BS zweistufig ausgeführt, wodurch der vom Makrobefehlszähler MZ gesteuerte Programmspeicherzugriff asynchron
zur Abarbeitung der Befehle erfolgen kann. Der größte auftretende Schlupf beträgt zwei Zyklen, der sich in der
Differenz der Zählerstände ausdrückt.
zur Abarbeitung der Befehle erfolgen kann. Der größte auftretende Schlupf beträgt zwei Zyklen, der sich in der
Differenz der Zählerstände ausdrückt.
809830/0242
Claims (2)
1. Schaltungsanordnung für einen Mikroprozessor, bei der zur Verringerung der Speicherzugriffszeit während der Abarbeitung
eines Befehls schon der nächste Befehl bereitgestellt wird, dadurch gekennzeichnet, daß ein Makrobefehlszähler (MZ) extern vom Mikroprozessor (λιΡ) vorgesehen
ist, der das Auslesen eines Makrobefehls aus einem Programmspeicher (PS) in eine Stufe eines m-8tufigen FIFO-Registers
(BS) steuert, wobei der Mikroprozessor den Befehl abarbeitet, der als erster in das m-stufige FIFO-Register
geladen wurde, daß die Anzahl von m Stufen abhängig vom Verhältnis der maximalen Makrozykluszeit geteilt
durch die Speicherzykluszeit gewählt ist, daß der Makroprozessor nach der Abarbeitung eines jeden Befehls den
Stand eines Programmzählers (PZ) erhöht, daß der Stand des Makrobefehlszählers immer dann erhöht wird, wenn ein
Makrobefehl aus dem FIFO-Register ausgelesen wird und daß ein vom Programmspeicher getrennter Datenspeicher (DS)
vorgesehen ist.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet,
daß zwischen dem Programmspeicher (PS) und dem FIFO-Register (BS) ein Zwischenregister (ZR) vorgesehen ist.
809830/0242 ORIGINAL INSPECTED
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19772702556 DE2702556B2 (de) | 1977-01-22 | 1977-01-22 | Mikroprozessor-Schaltungsanordnung |
AU31639/77A AU3163977A (en) | 1977-01-22 | 1977-12-15 | Processor access control 0 |
FR7801068A FR2378312A1 (fr) | 1977-01-22 | 1978-01-16 | Dispositif de commande d'acces en memoire pour microprocesseur |
BE2056623A BE863098A (fr) | 1977-01-22 | 1978-01-20 | Dispositif de commande d'acces en memoire pour microprocesseur |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19772702556 DE2702556B2 (de) | 1977-01-22 | 1977-01-22 | Mikroprozessor-Schaltungsanordnung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2702556A1 true DE2702556A1 (de) | 1978-07-27 |
DE2702556B2 DE2702556B2 (de) | 1979-04-19 |
Family
ID=5999265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19772702556 Ceased DE2702556B2 (de) | 1977-01-22 | 1977-01-22 | Mikroprozessor-Schaltungsanordnung |
Country Status (4)
Country | Link |
---|---|
AU (1) | AU3163977A (de) |
BE (1) | BE863098A (de) |
DE (1) | DE2702556B2 (de) |
FR (1) | FR2378312A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3121174C2 (de) * | 1981-05-27 | 1985-11-07 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung in einem Prozessor |
-
1977
- 1977-01-22 DE DE19772702556 patent/DE2702556B2/de not_active Ceased
- 1977-12-15 AU AU31639/77A patent/AU3163977A/en active Pending
-
1978
- 1978-01-16 FR FR7801068A patent/FR2378312A1/fr active Granted
- 1978-01-20 BE BE2056623A patent/BE863098A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
BE863098A (fr) | 1978-07-20 |
FR2378312A1 (fr) | 1978-08-18 |
DE2702556B2 (de) | 1979-04-19 |
FR2378312B3 (de) | 1980-09-05 |
AU3163977A (en) | 1979-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3587277T2 (de) | System fuer die umgehungssteuerung beim pipelinebetrieb eines computers. | |
EP0268285B1 (de) | Verfahren und Schaltungsanordnung zum Urladen eines Zweitrechners | |
DE3401995C2 (de) | ||
DE2322674C3 (de) | Mikroprogramm-Steuereinrichtung | |
DE69228360T2 (de) | Registerlesekontrolle | |
DE2735814A1 (de) | Datenverarbeitungseinrichtung | |
DE2145120A1 (de) | Digitales Datenverarbeitungsgerat | |
DE2117936A1 (de) | Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE2718551C3 (de) | Adressenumsetzer | |
DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
DE1953364A1 (de) | Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter | |
DE2418921C2 (de) | Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage | |
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1180171B (de) | Zahlenrechner | |
DE2702556A1 (de) | Schaltungsanordnung zur steuerung des speicherzugriffs | |
DE2029467A1 (de) | Verfahren zur Steuerung von Sprüngen in verschiedene Programme in einem in Echtzeit arbeitenden Rechner | |
DE69502133T2 (de) | Datenprozessor mit gemeinsamen Anschluss zur Überwachung von internen und externen Speicherereignissen | |
DE3633898C2 (de) | ||
DE2230727B2 (de) | Schaltungsanordnung zur dynamischen zuteilung von speicherzyklen mit vorrangssteuerung | |
DE69521089T2 (de) | Vektordatenumgehungsmechanismus für einen Vektorrechner | |
DE2150292C2 (de) | Mikroprogrammgesteuerte Datenverarbeitungsanlage mit überlagerter Ausführung und Entnahme von Befehlen | |
DE2836873C2 (de) | Speichersystem mit wahlfreiem Zugriff |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
8235 | Patent refused |