DE3934466A1 - Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen - Google Patents

Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen

Info

Publication number
DE3934466A1
DE3934466A1 DE19893934466 DE3934466A DE3934466A1 DE 3934466 A1 DE3934466 A1 DE 3934466A1 DE 19893934466 DE19893934466 DE 19893934466 DE 3934466 A DE3934466 A DE 3934466A DE 3934466 A1 DE3934466 A1 DE 3934466A1
Authority
DE
Germany
Prior art keywords
clocking
self
central processing
speed
processing unit
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
Application number
DE19893934466
Other languages
English (en)
Inventor
Andreas Raseghi
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19893934466 priority Critical patent/DE3934466A1/de
Publication of DE3934466A1 publication Critical patent/DE3934466A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung betrifft eine Rechnerarchitektur, welche dazu bestimmt ist, die Ausführungsgeschwindigkeit zentraler Verarbeitungseinheiten rechnender Maschinen zu erhöhen.
Nach dem Stand der Technik unterscheidet man CISC und RISC-Architekturen bei zentralen Verarbeitungseinheiten. Nachdem jahrzehntelang CISC-Architekturen ("Complex Instruction Set Computer") mit festem Mikroprogramm in zentrale Verarbeitungseinheiten implementiert wurden, sind durch schaltkreistechno­ logische Fortschritte der letzten Jahre eine Reihe von RISC-Architekturen ("Reduced Instruction Set Computer") zur Erhöhung der Verarbeitungsgeschwin­ digkeit erfolgreich erprobt und eingesetzt worden, welche darauf basieren, daß das Hauptprogramm selbst die Aufgabe des Mikroprogramms erfüllt. Zur Entkopplung der zentralen Verarbeitungseinheit vom externen Speicher wurden dazu nach dem von-Neumannschen Speicherhierarchiekonzept sehr schnelle Programmzwischenspeicher ("Caches") eingesetzt, in welchen sich das variable Mikroprogramm befinden kann. Dieser Trend zur Entkopplung hat jedoch eines außer Acht gelassen: das Rechenwerk der zentralen Verarbeitungseinheit kann, mag es noch so reduziert sein, bestimmte Befehle immer schneller ausführen als andere. Als Beispiel mögen die Standardfunktionen AND und ADD dienen. Handelt es sich bei ADD-Funktionen immer um Funktionen, bei denen bitrelative Operationen abhängig von Verknüpfungsergebnissen davorstehender, bitrelativer Operationen sind ("Ripple Carry" oder "Carry Flowthrough"=Übertragsdurchlauf), so bewirkt eine AND-Funktion eine boolesche, bitweise Verknüpfungsoperation zweier Daten miteinander, welche nicht abhängig von Verknüpfungsergebnissen davorstehender, bitrelativer Operationen ist und daher schneller ausgeführt werden kann. Es ist nun hinlänglich bekannt, daß die Geschwindigkeit von elektronischen Einheiten, also Transistoren etc. und den aus ihnen bestehenden Gattern spannungs- und temperaturabhängig ist.
Der Vorteil der Erfindung besteht darin, daß durch die Verwendung einer befehls- und datenabhängigen oder nur befehlsabhängigen Verzögerungsschaltung oder mehreren Verzögerungsschaltungen die Ausführungsgeschwindigkeit von zentralen Verarbeitungseinheiten nicht nur durch die Anpassung der Ausführungs­ geschwindigkeit einzelner Befehle an die Leistung des oder der Rechenwerke, sondern auch durch die automatische Kompensation von Temperatur- und Spannungsschwankungen optimiert wird.
Die Aufgabe wird bei einer gattungsgemäßen Einrichtung durch die kennzeichnenden Merkmale der obigen Ansprüche gelöst.
Ein Ausführungsbeispiel der Erfindung ist in Fig. 1 dargestellt und wird im folgenden näher beschrieben. Das Ausführungsbeispiel betrifft einen einfachen Rechner, welcher die Befehle ADD und AND auf 2-bit-Datenworte anwenden kann, und dessen festverdrahtetes Programm aus der abwechselnden Folge dieser beiden Befehle besteht. Im linken Teil der Figur befinden sich die zwei 2-bit-Datenquellen A1, A0 und B1, B0, die als Schalter oder Zähler 74HC160 (zu Testzwecken) zur Verfügung stehen. Sie werden mit dem Rechenwerk verknüpft, welches aus einer Zusammenschaltung von Gattern besteht. Die booleschen Äquivalenzen der implementierten Funktionen lauten:
Aus dem Schaltbild ist ersichtlich, daß die AND-Verknüpfung über 74HC08, Gatter A und B vonstatten geht und die Funktion damit im Rechenwerk eine Gatterlaufzeit von 9 ns benötigt. Die ADD-Verknüpfung benötigt dagegen im Rechenwerk mehr als das dreifache dieses Wertes, weil die Verzögerung der beiden Gatter B und C des 74HC86 mit insgesamt 30 ns die längste Laufzeit im Rechenwerk darstellt. Der 1-bit-Programmzähler des Rechners findet sich als Toggle-Flip-Flop -Q4 des 74HC175, er bewirkt gleichzeitig die Befehlsdekodierung von AND und ADD am Multiplexer 74HC157, dessen Ausgänge 1Y=Q0, 2Y=Q1 und 3Y=Cq das Ergebnis der der angewählten Operation wiedergeben (wegen 3B = 0 besitzt die AND-Operation Null-Carry). Ist nun eine bestimmte Operation angewählt, so toggeln Q4 und-Q4 des 74HC175. Über zwei nichtinvertierende, analoge oder digitale Verzögerungsleitungen werden sie den Eingängen 4A und 4B des 74HC157 zugeführt, deren jeweils angewählter das Signal immer ansteigender Flanke mit einem zusätzlichen Multiplex-Delay von 12 ns an 4Y weiterleitet. Die ansteigende Flanke aber transferiert im 75HC175 Dn über CLK mit einer Verzögerung von 20 ns in die Qn, wo dann das Resultat der Operation jitterlos festgehalten wird.
Eine Transition an And/-Add signalisiert den Beginn der nächsten Operation. Es sei nun angenommen, daß zu diesem Zeitpunkt auch A1, A0 und B1, B0 wechseln. Die Anforderungen an die beiden Verzögerungsleitungen sind demnach, daß sie genausolange verzögern, wie die betreffende Operation zum Datendurchfluß im Rechenwerk benötigt, also 9 ns und 30 ns. Das Programm wiederholt sich mit typisch
Die AND-Operation benötigt im ganzen System 41 ns und die ADD-Operation 62 ns, was einer Zeitauslastung von 2 : 3 nahekommt. Liegen die Daten A1, A0 und B1, B0 aber bereits 20 ns vor dem Zeitpunkt einer Transition an And/-Add an, so entfällt die Verzögerung für AND, und die Verzögerungsleitung an ADD würde sich auf 10 ns reduzieren (womit die Programmwiederholfrequenz auf 13,5 MHz ansteigen und die Zeitauslastung 3 : 4 betragen würde). Die Reset-Schaltung dient schließlich dem Anschwingen des Systems; sie könnte auch als Watchdog implementiert sein.

Claims (7)

1. Selbsttaktende zentrale Verarbeitungseinheit bei rechnenden Maschinen, dadurch gekennzeichnet, daß die Verarbeitungsgeschwindigkeit der zentralen Verarbeitungseinheit nicht von einem äußeren Taktsignal, sondern von der für die Verarbeitung der jeweiligen Befehle erforderlichen Zeit abhängig ist.
2. Selbsttaktende zentrale Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, daß außer dem Datenkanal zu dem oder den Rechenwerken der zentralen Verarbeitungseinheit ein oder mehrere Hilfskanäle installiert sind, die wie befehlsabhängige Verzögerungsschaltungen wirken.
3. Selbsttaktende zentrale Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, daß außer dem Datenkanal zu dem oder den Rechenwerken der zentralen Verarbeitungseinheit ein oder mehrere Hilfskanäle installiert sind, die wie befehls- und datenabhängige Verzögerungsschaltungen wirken.
4. Selbsttaktende zentrale Verarbeitungseinheit nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß mithilfe des Hilfskanals in der Umgebung der zentralen Verarbeitungseinheit der Programmablauf gesteuert wird.
5. Selbsttaktende zentrale Verarbeitungseinheit nach den Ansprüchen 1 und 3, dadurch gekennzeichnet, daß mit Hilfe des Hilfskanals in der Umgebung der zentralen Verarbeitungseinheit der Programmablauf gesteuert wird.
6. Vorrichtung zur Realisierung der Ansprüche 1, 2 und 4.
7. Vorrichtung zur Realisierung der Ansprüche 1, 3 und 5.
DE19893934466 1989-10-16 1989-10-16 Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen Ceased DE3934466A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19893934466 DE3934466A1 (de) 1989-10-16 1989-10-16 Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19893934466 DE3934466A1 (de) 1989-10-16 1989-10-16 Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen

Publications (1)

Publication Number Publication Date
DE3934466A1 true DE3934466A1 (de) 1991-05-16

Family

ID=6391552

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19893934466 Ceased DE3934466A1 (de) 1989-10-16 1989-10-16 Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen

Country Status (1)

Country Link
DE (1) DE3934466A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2206810C2 (de) * 1972-02-12 1973-09-20 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Steuerwerk für einen Mikroprogrammspeicher
EP0048971B1 (de) * 1980-09-30 1985-01-23 Computer Gesellschaft Konstanz Mbh Schaltungsanordnung zur Ausführung von Mikrobefehlen mit unterschiedlich langen Ausführungszeiten

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2206810C2 (de) * 1972-02-12 1973-09-20 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Steuerwerk für einen Mikroprogrammspeicher
EP0048971B1 (de) * 1980-09-30 1985-01-23 Computer Gesellschaft Konstanz Mbh Schaltungsanordnung zur Ausführung von Mikrobefehlen mit unterschiedlich langen Ausführungszeiten

Similar Documents

Publication Publication Date Title
DE68927911T2 (de) Datenverarbeitungssystem
DE69930614T2 (de) VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen
DE69033398T2 (de) Rechnerarchitektur mit Mehrfachbefehlsausgabe
DE69032381T2 (de) Vorrichtung und Verfahren für die kollektive Verzweigung in einem Mehrbefehlsstrommultiprozessor
DE3886529T2 (de) Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
DE3586195T2 (de) Mikroprogrammfolgesteuergeraet.
DE69228360T2 (de) Registerlesekontrolle
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
US7809991B2 (en) System and method to qualify data capture
DE3687867T2 (de) Mikrorechner.
DE19639937C1 (de) Schaltungsanordnung mit zwischen Registern angeordneten kombinatorischen Blöcken
DE102018127141A1 (de) Techniken zur Abschwächung von Anweisungen mit hoher Latenz in hoch frequentierten Ausführungspfaden
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE2911909A1 (de) Verfahren und geraet zur digitalen datenverarbeitung, insbesondere von digitalen audiosignalen
DE19956704A1 (de) Interruptsteuerung
DE3307194C2 (de)
DE4430195A1 (de) Computersystem und Verfahren zur Auswertung von Vorhersagen und Booleschen Ausdrücken
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE3700800C2 (de) Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor
DE102011110151A1 (de) Halbleitervorrichtung und Verfahren zum Betreiben einer Pipeline-Ausgleichseinrichtung in einer Halbleitervorrichtung
DE3934466A1 (de) Selbsttaktende zentrale verarbeitungseinheit bei rechnenden maschinen
DE10110567B4 (de) Datenverarbeitungssystem mit einstellbaren Takten für unterteilte synchrone Schnittstellen
DE69327421T2 (de) Anordnung und Verfahren zum parallelisierten Grössenvergleich von digitalen Daten
DE69032494T2 (de) Befehlsdekoder für einen Pipelineprozessor

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection