DE102014111305A1 - A processor model that uses a single large linear register, FIFO-based I / O ports supporting new interface signals, and interrupt bus transfers that eliminate DMA, bridges, and an external I / O bus - Google Patents
A processor model that uses a single large linear register, FIFO-based I / O ports supporting new interface signals, and interrupt bus transfers that eliminate DMA, bridges, and an external I / O bus Download PDFInfo
- Publication number
- DE102014111305A1 DE102014111305A1 DE102014111305.5A DE102014111305A DE102014111305A1 DE 102014111305 A1 DE102014111305 A1 DE 102014111305A1 DE 102014111305 A DE102014111305 A DE 102014111305A DE 102014111305 A1 DE102014111305 A1 DE 102014111305A1
- Authority
- DE
- Germany
- Prior art keywords
- cpu
- interrupt
- registers
- bit
- signals
- 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.)
- Pending
Links
Images
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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
Abstract
Ein Prozessor oder eine CPU-Architektur, der oder die viele befähigende Technologien implementiert, die sich bewährt haben, um einen Datendurchsatz, die synchrone Bitbündeldatenübertragung unterstützend, zu steigern. Die Eingabe-Ausgabe (E/A) wird einheitlich betrachtet und als individuelle Zuerst-hinein-zuerst-hinaus-(FIFO-; FIFO = First-In-First-Out)Vorrichtung behandelt. Eine Mehrzahl von Speicherbereichen ist für einen Benutzerstapel, Kernstapel, Unterbrechungsstapel und Prozeduraufrufstapel implementiert. Lediglich ein E/A-Zuteiler ist für ein CPU-Modell notwendig, der zwischen einer Mehrzahl von FIFO zuteilt, wobei eine Implementierung auf einem Chip durch Daten-Caches ausgetauscht wird, sodass herkömmliche Datenübertragungsverfahren unter Verwendung eines direkten Speicherzugriffs (DMA; DMA = Direct-Memory-Access) eliminiert werden, wobei Bussteuer- und Verriegelungssignale lediglich die Unterbrechungssignale und die neuen synchronen Signale für einen leichten und stromlinienförmig gestalteten Systementwurf und ein CPU-Modell hinterlassen. Durch ein Unterstützen einer unterbrechungsgetriebenen FIFO-basierten E/A und einer synchronen Bitbündeldatenübertragung verwendet die CPU einfache lineare große Registersätze ohne ein Bankumschalten.A processor or CPU architecture that implements many enabling technologies that have proven to enhance data throughput, supporting synchronous burst data transmission. The input-output (I / O) is considered uniform and treated as an individual-first-in-first-out (FIFO) device. A plurality of storage areas are implemented for a user stack, core stacks, interrupt stacks, and procedure call stacks. Only one I / O arbiter is necessary for a CPU model that allocates between a plurality of FIFOs, and an implementation on a chip is replaced by data caches, so that conventional data transfer methods using direct memory access (DMA) can be used Memory access), with bus control and latch signals leaving only the interrupt signals and the new synchronous signals for a lightweight and streamlined system design and CPU model. By supporting interrupt driven FIFO based I / O and synchronous burst data transfer, the CPU uses simple linear large register sets without bank switching.
Description
TECHNISCHES GEBIETTECHNICAL AREA
Diese Erfindung bezieht sich auf eine Mikroprozessor- und Computerarchitektur.This invention relates to a microprocessor and computer architecture.
HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION
Geschichte der CPU-ArchitekturHistory of the CPU architecture
Viele aktuelle Prozessor- oder CPU-Architekturen lehnen sich an dem IBM 360 (1964 bekannt gegeben) an, der beide Charakteristiken von CISC- und RISC-Entwürfen hatte. Der Entwurf hat bereits Multiverarbeitungserfordernisse mit spezifischen Anweisungen in Betracht gezogen, wie man es sich für die Geschäfts- und wissenschaftlichen Rechenbedürfnisse vorgestellt hat. Die meisten CPU-Entwürfe wurden für eine erwartete Verwendung um die alltägliche Betriebssystem-(OS-; OS = Operating System)Software herum ausgedacht, die meistens gesetzlich geschützt war. Bis zu diesem Punkt wurde ein Computer aus diskreten Logikgattern hergestellt, was darin resultiert hat, dass das ganze System ein paar äquivalente Zimmer in einem Haus eingenommen hat. Die Erfindung eines Prozessors, der eine diskrete Logik verwendet, ist bereits in dem
Es kann gesagt werden, dass die Geschichte der CPU 1961 beginnt, als Fairchild die ersten ICs vermarktet hat, nachdem sie und TI diese 1959 erfunden haben. In 1966 hat eine Patentanmeldung Nr. 3,462,742 durch Henry S. Miller et al. der RCA Corp., die 1969 zum Patent erteilt wurde, ein Prozessorsystem beschrieben, das aus vielen integrierten Schaltungen hergestellt ist, die einige 200 oder ähnlich Logikgatter enthalten. Dies war ein Weggang von vollständig diskreten Logikschaltungen.It can be said that the story of the CPU starts in 1961, when Fairchild marketed the first ICs after inventing them and TI in 1959. In 1966, a patent application No. 3,462,742 by Henry S. Miller et al. RCA Corp., which was granted a patent in 1969, describes a processor system made of many integrated circuits including some 200 or similar logic gates. This was a departure from fully discrete logic circuits.
Es wurde allgemein bald erkannt, dass, wenn für bestimmte Module, die den Prozessor bilden, anvisiert wird, dieselben in eine IC zu schrumpfen, es nur natürlich ist, anzunehmen, dass der nächste Schritt ist, alles in eine IC zu stecken, was dann der Mikroprozessor wird, diese Technologie war jedoch nicht realisierbar. 1971 erzeugte Intel den ersten Mikroprozessor, den Intel 4004, der in einer 16-Port-IC verpackt war und aus einem 4-Bit-Datenbus, 12-Bit-Adressbus, sechzehn 4-Bit-Registern, vier 12-Bit-Registern bestand und der bei einem Takt von 750 kHz lief. Dies war die einfachste von allen CPU, die die klassische Von-Neumann-Architektur in sich vereinigte, und war der Startpunkt für CPU-Architekturen.It has generally been recognized that if certain modules forming the processor are targeted to shrink into an IC, it is natural to assume that the next step is to put everything into an IC, and then what the microprocessor becomes, but this technology was not feasible. In 1971, Intel created the first microprocessor, the Intel 4004, which was packaged in a 16-port IC and consisted of a 4-bit data bus, 12-bit address bus, sixteen 4-bit registers, four 12-bit registers and ran at a clock of 750 kHz. This was the simplest of all CPUs, incorporating the classic Von Neumann architecture, and was the starting point for CPU architectures.
In den Siebzigern wurde Unix bei den Groß-(englisch: mainframe)Computern der Universitäten und der Unternehmenswelt verwendet. Und in den späten Siebzigern, als Personalcomputer für die Massen erschwinglich wurden, waren die Hauptbetriebssysteme das Einaufgabenbetriebssystem (englisch: single tasking) Apple-DOS und CP/M. Ein Mehraufgabenbetriebssystem (englisch: multitasking) für die Massen, das heißt, die IBM-PC-Klone in der Form von Unix-Versionen, wie das BSD-Unix von Berkeley und Xenix der Santa Cruz Operations, war nicht lange danach verfügbar, nachdem die IBM Corp. den IBM-PC 1981 und damit MSDOS, eine Einaufgabenbetriebsumgebung bis 1990, als Windows begann, Fuß zu fassen, eingeführt hat.In the 1970's, Unix was used in the mainframe computers of universities and the corporate world. And in the late 1970's, when personal computers became affordable to the masses, the main operating systems were the single-tasking Apple DOS and CP / M systems. A multitasking system for the masses, that is, the IBM PC clones in the form of Unix versions, such as Berkeley's BSD Unix and Santa Cruz Operations' Xenix, was not readily available after the IBM Corp. the IBM PC in 1981, and thus MSDOS, a single-tasking operating environment until 1990, when Windows began to take root.
1988 wurde ein tragbares Betriebssystem, die tragbare Betriebssystemschnittstelle für Unix (POSIX; POSIX = Portable-Operating-System-Interface-for-Unix), um einen Kern mit einheitlichen Funktionsaufrufen entwickelt, was ein konsistentes Verhalten von Prozessen, die zu allen Hochleistungs-CPU portiert werden können, beschreibt. Dies hat die verschiedenen Betriebssysteme im Kern und eine Anwendungsschnittstelle (API; API = Application-Interface), die die CPU-Architekturen beeinflusst hat, um dieselbe zu unterstützen, standardisiert.In 1988, a portable operating system, the Unix portable operating system interface (POSIX), was developed around a core with unified function calls, resulting in consistent behavior of processes common to all high-performance CPUs can be ported. This has standardized the various operating systems in the core and an application interface (API) that has influenced the CPU architectures to support the same.
Fast alle neuen populären CPU-Architekturen wurden Mitte der Achtziger (Intel Pentium und weiter stammten von dem alten 8086-Entwurf von 1978 ab) und Neunziger aus vertrauten CPU-Architekturen entwickelt, wie zum Beispiel ARM 1985, MIPS R2K 1986, Sun Sparc 1987, AMD 29K 1988, Intel i960 1988, der Motorola PowerPC 1992, DEC Alpha 1994 und Intel Itanium 2002.Almost all new popular CPU architectures were developed in the mid-eighties (Intel Pentium and further dated from the old 8086 draft of 1978) and nineties from familiar CPU architectures, such as ARM 1985, MIPS R2K 1986, Sun Sparc 1987, AMD 29K 1988, Intel i960 1988, the Motorola PowerPC 1992, DEC Alpha 1994 and Intel Itanium 2002.
Fast alle diese CPU hatten, außer ARM, i960 und AMD 29K, komplizierte Entwürfe. Spätere Architekturen waren sehr stark skalar, sehr stark fließbandverarbeitend (englisch: pipelined) mit einer Verzweigungsvorhersage und anderen komplexen Schemata, wobei dieselben am Ende Wertungen (englisch: benchmarks) erzeugt haben, die nicht wesentlich besser als dieselben des reinen Entwurfs dieser drei sind. Viele der Konzepte, wie zum Beispiel die drehenden Fenster (englisch: rotating windows) von Sun Sparc, erwiesen sich als Flaschenhals und als ineffizient. Ungünstigerweise hinterließen selbst diese drei viele gewünschte Charakteristiken, da dieselben erschienen bevor POSIX und insbesondere Linux geschaffen wurden.Almost all of these CPUs had complicated designs except ARM, i960, and AMD 29K. Later architectures were very strongly scalar, very pipelined with a branch prediction and other complex schemata, and in the end they produced benchmarks that are not much better than the ones of the pure design of these three. Many of the concepts, such as Sun Sparc's rotating windows, proved to be bottlenecks and inefficient. Unfortunately, even these three left many desirable characteristics as they appeared before POSIX and especially Linux were created.
Die Forderungen von Anwendungen in einer POSIX-Umgebung, wie zum Beispiel dem PC (= Personalcomputer) und einem eingebetteten System, eines Paketdatenflusses in Weiterleitungsvorrichtungen (englisch: routers) und einer Hinzufügung von Modulen erfordern, dass eine CPU-Leiterplatte einen DMA, Multibrücken, Multi-Zuteiler und einen E/A-Erweiterungsbus, wie zum Beispiel den PCI und Varianten desselben, verwendet. Es wird erwartet, dass die CPU diese herkömmlichen Komponenten mit dem entsprechend komplexen Schnittstellenschema aufweist.The demands of applications in a POSIX environment, such as the PC (= personal computer) and an embedded system, a packet data flow in routers and an addition of modules, require that a CPU board have a DMA, multibridge, Multi-allocators and an I / O Expansion bus, such as the PCI and variants thereof used. It is expected that the CPU will have these conventional components with the corresponding complex interface scheme.
Das Bedürfnis nach einer einfachen und dennoch leistungsfähigen CPU-Architektur in der POSIX-UmgebungThe need for a simple yet powerful CPU architecture in the POSIX environment
Einfach bedeutet bei dieser Erfindung, leicht zu lernen und leicht innerhalb einer POSIX-Schnittstelle zu implementieren, die eine leistungsfähige Computerumgebung beschreibt. Leicht zu lernen stammt von einer stromlinienförmig gestalteten (englisch: streamlined) Architektur, einem solchen Konzept und einem solchen Modell mit sehr wenig oder keinen Sonderfällen, jedoch eine, die CPU-Prozesse in der POSIX-Umgebung besser abbildet.Simple in this invention means easy to learn and easy to implement within a POSIX interface that describes a powerful computing environment. Easy to learn comes from a streamlined architecture, such a concept and model with very little or no special cases, but one that better maps CPU processes in the POSIX environment.
Ein Implementieren eines speziellen Systementwurfs, ob bei einem SOC (= System-On-Chip = System auf einem Chip) oder bei einer Leiterplatte, wird mit weniger komplexen Schnittstellensignalen leichter gemacht, was seinerseits in einer entsprechend einfacheren Trennung von Problemen bei der Störungssuche nach einer Fertigung resultiert. Eine Störungssuche bei einem System mit zwei Zuteilern und zwei Brücken ist beispielsweise wesentlich schwerer als bei einem System mit lediglich einem Zuteiler oder einer Brücke. Es sei die Komplexität des Kommunikationsprozessors, der bei vielen Spitzenroutern verwendet wird, dem IXP435 mit drei Busbrücken und drei Bus-Zuteilern, betrachtet. Die IA-32-(Intel i86)Architektur des PC mit der Nordbrücke (englisch: North bridge), Südbrücke (englisch: South bridge) und einem anderen Zuteilen-Brücken-Paar mit der PCI-Schnittstelle hat annähernd die gleiche Komplexität. Diese Erfindung einer alternativen CPU benötigt lediglich einen Zuteiler für alle Fälle, ohne überhaupt eine Brücke zu verwenden.Implementing a particular system design, whether in a system-on-chip (SOC) or circuit board, is made easier with less complex interface signals, which in turn results in a correspondingly easier separation of troubleshooting problems Production results. For example, troubleshooting a two-allocator and two-bridge system is significantly more difficult than a system having only one arbiter or one bridge. Consider the complexity of the communications processor used in many high-end routers, the IXP435 with three bus bridges and three bus arbiter. The IA-32 (Intel i86) architecture of the North Bridge, South Bridge, and another Dual Bridge pair with the PCI interface has nearly the same complexity. This invention of an alternative CPU requires only one dispatcher for all cases without even using a bridge at all.
Die meisten CPUs benötigen DMA-, Verriegelungs-(englisch: Lock) und Busanforderungssignale zu dem zugeordneten komplexen Unterstützungsprotokoll derselben, um Daten in Block-E/A-Vorrichtungen zu übertragen, obwohl das Gleiche durch lediglich Verwenden der allgemein verfügbaren und verstandenen Unterbrechungssignale besser erreicht werden kann. Am Ende erfordern diese Signale eine Unterbrechungseinrichtung, um richtig zu funktionieren, während das Gegenteil nicht wahr ist; eine Unterbrechungsalternative kann diese umgehen. Daher das starke Beruhen dieser Erfindung auf einer unterbrechungsgesteuerten bzw. -getriebenen Einrichtung.Most CPUs require DMA, Lock and Bus request signals to their associated complex support protocol to transfer data to block I / O devices, although the same can be better achieved by merely using the commonly available and understood interrupt signals can be. In the end, these signals require a breaker to work properly while the opposite is not true; an interruption alternative can bypass this. Therefore, relying heavily on this invention on an interrupt driven device.
Einem Reduzieren von komplexen Schnittstellensignalen muss eine andere einfache Sicht von E/A-Geräten bzw. -Vorrichtungen folgen, wenn alles auf eine Anzahl von FIFO reduziert werden kann und gleich behandelt werden kann. Mit lediglich einem Schlag wird es einfach, jede Peripherievorrichtung und jedes Gerät bzw. jede Vorrichtung, die eine Multiprozessorkern-CPU und eine parallele Arrayarchitektur aufweisen, zu verbinden.Reducing complex interface signals must be followed by another simple view of I / O devices or devices, if everything can be reduced to a number of FIFOs and treated equally. With a single stroke, it becomes easy to connect any peripheral device and any device that has a multiprocessor core CPU and a parallel array architecture.
Eine andere bemerkenswerte Einrichtung ist die einfache Vektor-ID, die ihre Ursprünge in den Beschreiber- bzw. Schlüsselwort-(englisch: descriptor)Tabellen des alten Burroughs-Computers der Siebziger hat, die sich für ein schnelles Unterbrechungsansprechen, einen schnellen Zugriff von Parametern in einem gegebenen Speicherrahmen und als eine effiziente Einrichtung zum Zugreifen auf PCB-(= Process-Control-Block = Prozesssteuerblock)Beschreiber als unschätzbar erwiesen hat.Another notable feature is the simple vector ID, which has its origins in the descriptor tables of the old Burroughs computer of the Seventy, which advocate fast interrupt response, fast access of parameters in Given a memory frame and as an efficient means for accessing PCB (= Process Control Block) descriptor has proved invaluable.
In Anbetracht des Vorhergehenden kann dies ohne eine effiziente Einrichtung einer Datenübertragung selbst nicht in einem hohen Rechendurchsatz resultieren. Dies wird mit synchronen Bitbündel-(englisch: burst)Datenübertragungen bei einer Blockspeicher-(Register-Speicher-)Übertragung sowie einer E/A über FIFO erreicht.In view of the foregoing, without an efficient means of data transmission itself, this can not result in high computational throughput. This is achieved with synchronous bursting (English: burst) data transfers in a block-memory (register-to-memory) transfer and I / O via FIFO.
Eine Kombination dieser bewährten Technologien, die durch den entsprechenden CPU-Anweisungssatz, der diese Fähigkeiten ermöglicht, unterstützt wird, wird in einer einfachen und leistungsfähigen CPU-Architektur resultieren.A combination of these proven technologies, supported by the appropriate CPU instruction set that enables these capabilities, will result in a simple and powerful CPU architecture.
KURZFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION
Diese Erfindung beschreibt ein CPU-Model, das einen Satz von Interface- bzw. Schnittstellensignalen verwendet, die eine unterbrechungsgetriebene bzw. -gesteuerte Verarbeitung einer FIFO-basierten E/A mit einer synchronen Bitbündeldatenübertragung unterstützen. Das CPU-Model unterstützt eine Architektur, die einen entsprechenden Satz von Anweisungen auf die POSIX-Schnittstelle abbildet, die dem Betriebssystem eines Personalcomputers sowie eingebetteten Systemen zugrunde liegt.This invention describes a CPU model that uses a set of interface signals that support interrupt driven processing of a FIFO-based I / O with synchronous burst data transmission. The CPU model supports an architecture that maps a corresponding set of instructions to the POSIX interface that underlies the operating system of a personal computer as well as embedded systems.
Das CPU-Model verwendet wenige bekannte befähigende Technologien kreativ, um einen hohen Datendurchsatz zu bewirken, und kombiniert dieselben auf eine solche Weise, um eine ungewöhnliche Sicht einer Datenverarbeitung zu haben.The CPU model creatively uses few known enabling technologies to achieve high data throughput and combines them in such a way as to have an unusual view of data processing.
Die bewährten befähigenden Technologien sind eine synchrone Bitbündeldatenübertragung, FIFO, separate Speicherbereiche für unterschiedliche Stapel, autonome lokale E/A-Register (IOR; IOR = I/O register) und Vektorbeschreiber. Komplizierte Technologien, wie zum Beispiel eine Cache-Speichermanipulation, eine Registerumbenennung, ein Fließbandbetrieb und andere datenabhängige manipulierende Schemata werden weggelassen. Große Daten-Caches, bei denen die Effektivität hinsichtlich der Natur probabilistisch bzw. zufällig ist, werden durch ein deterministisches Array von FIFO ausgetauscht.The proven enabling technologies are synchronous burst data transmission, FIFO, separate stack storage, autonomous local I / O registers (IOR) and vector descriptors. Complicated technologies such as cache manipulation, register renaming, pipeline operation, and other data-dependent manipulative schemes are omitted. Large data caches, where nature's effectiveness is probabilistic, are exchanged by a deterministic array of FIFOs.
Dieses CPU-Model ist um unterbrechungsgetriebene Signalquittungsbetriebsschemata unter Verwendung der allgemein verstandenen Unterbrechungseinrichtung des INT-INTA-(= Interrupt-Interrupt Acknowledge = Unterbrechung-Unterbrechung-Bestätigen)Paars von Signalen in Verbindung mit einem neuen Satz von synchronen Bitbündeldatenübertragungssignalen zentriert. Dies erbringt die einfache Philosophie von unterbrechungsgetriebenen Prozessen. Wenn jedes Ereignis unterbrechungsgetrieben ist, passieren viele Dinge, das heißt viele herkömmliche Bussteuersignale können redundant gemacht werden, sodass der DMA, Busbrücken, Multi-Zuteiler und der E/A-Bus, wie zum Beispiel der PCI und die Varianten desselben, eliminiert werden.This CPU model is centered around interrupt driven signal handoff schemes using the commonly understood interceptor of the INT-INTA (Interrupt-Interrupt Acknowledge) pair of signals in conjunction with a new set of synchronous burst data transmission signals. This provides the simple philosophy of interruption-driven processes. When each event is interrupt driven, many things happen, that is, many conventional bus control signals can be made redundant, eliminating the DMA, bus bridges, multi-arrays, and the I / O bus, such as the PCI and its variants.
Unterbrechungsgetriebene Prozesse sollten sich sehr gut an einen präemptiven Mehraufgabenkern adaptieren, wie zum Beispiel an Linux, das den Prozesszeitplaner (englisch: process scheduler) hat, der ein Hintergrundprogramm bzw. Daemon ist, der einen laufenden Prozess durch einen Zeitgebertick unterbricht, was bedeutet, dass derselbe ebenfalls unterbrechungsgetrieben ist.Interrupt-driven processes should adapt well to a preemptive multi-tasking kernel, such as Linux, which has the process scheduler, which is a background program or daemon that interrupts a running process through a timer tick, meaning that the same is also interruption driven.
KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
Diese und andere Charakteristiken, Aspekte und Vorteile der vorliegenden Erfindung sind vollständiger zu verstehen, wenn dieselben hinsichtlich der folgenden detaillierten Beschreibungen, angehängten Ansprüche und beigefügten Zeichnungen betrachtet werden. Es zeigen:These and other characteristics, aspects, and advantages of the present invention will become more fully understood when considered in light of the following detailed description, appended claims, and accompanying drawings. Show it:
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBESPIELEDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Im Folgenden ist die vorliegende Erfindung gemäß bevorzugten Ausführungsbeispielen der vorliegenden Erfindung und Bezug nehmend auf die beigefügte Beschreibung und die beigefügten Zeichnungen beschrieben. Es versteht sich jedoch von selbst, dass ein Begrenzen der Beschreibung auf die bevorzugten Ausführungsbeispiele der Erfindung und auf die Zeichnungen lediglich dazu dient, um eine Erörterung der vorliegenden Erfindung zu erleichtern, und es ist vorstellbar, dass Fachleute verschiedene Modifikationen ersinnen, ohne von dem Schutzbereich der beigefügten Ansprüche abzuweichen.In the following, the present invention will be described in accordance with preferred embodiments of the present invention and with reference to the accompanying description and the accompanying drawings. It should be understood, however, that limiting the description to the preferred embodiments of the invention and to the drawings is merely to aid in a discussion of the present invention, and it is conceivable that those skilled in the art will devise various modifications without departing from the scope of the appended claims.
Bezug nehmend auf
Die Regeln, die die Registersätze lenken, sind die folgenden: Der Benutzermodus kann lediglich r0–r31
Es gibt eine Gesamtmenge von zwölf Steuerregistern, die aus vier aktuellen Hauptsteuerregistern, d. h. Aktuelle(r) Flags/Status (FS)
Beim Unterstützen der FIFO-pufferorientierten E/A kann ein E/A-Zuteiler
Zusätzlich zu den CPU-Steuerregistern existiert eine lokale E/A-Registerdatei (IOR; IOR = I/O register file)
Bei einem ersten Ausführungsbeispiel der vorliegenden Erfindung führt bei einem typischen Rechenprozess, der eine Datenübertragung zu einer E/A-Vorrichtung betrifft, die durch das FIFO derselben geht, was bei diesem Beispiel unter Verwendung des FIFO-1
Daher muss ein Block von Daten in einen Speicherrahmen, Rahmen-1
Ein Schreiben in das FIFO-1
Bei einem Empfangen von Daten von einer Vorrichtung, wie zum Beispiel der USB-Vorrichtung
Bei einem zweiten Ausführungsbeispiel der vorliegenden Erfindung, das eine DMA-Übertragung nachahmt, möchte eine andere Vorrichtung oder eine andere CPU, CPU-2
Bei noch einer anderen Alternative einer DMA-Übertragung kann eine CPU-3
Bei einem dritten Ausführungsbeispiel der vorliegenden Erfindung ist eine Hardwareunterbrechungseinrichtung ersonnen, um fast null Haushaltsführungs-(englisch: houskeeping)Anweisungen für eine schnelle und effiziente Unterbrechungsverarbeitung bei einer ISR
Vor einem Ausführen der ersten Anweisung in der ISR
Dann wird der aktuelle Kernmodus FSP
Beim Verlassen der ISR
Es ist ein viertes Ausführungsbeispiel der vorliegenden Erfindung, bei dem die CPU-Architektur die Wechselspieleinrichtung der Schnittstellenleitungen und FIFO darstellt, gezeigt, um den DMA, Brücken, mehr als einen Zuteiler und einen E/A-Bus, wie zum Beispiel den PCI, zu eliminieren. Der E/A-Zuteiler
Bezug nehmend auf
Bei einem fünften Ausführungsbeispiel der vorliegenden Erfindung wird eine lokale E/A-Registerdatei (IOR)
Bezug nehmend auf
Eine stabile Kristalltaktquelle
Eine Zeitgebermaschine kann auf eine zu der Tageszeitmaschine ähnliche Art aufgebaut sein und den Zeitgeber 1
Bei einem sechsten Ausführungsbeispiel der vorliegenden Erfindung ist eine Mehrzahl von Rahmen-Stapel-Zeigern implementiert, um insbesondere die Prozeduraufrufanweisungen zu unterstützen, die die Funktions- und Systemanweisungen fn va und sys va unter Nutzung einer Notation eines Vektors 'va', wie es in Anspruch 3 beschrieben ist, betreffen. Zusätzlich zu der Sprung-(englisch: jump) und Verknüpfungs-(englisch: link)Anweisung j1 a und der Aufrufanweisung call a, die lokal sind und bei einer Aufgabe verwendet werden und den gleichen FSP
Bezug nehmend auf Fig. 5Referring to FIG. 5
Der FSP
Der Grundmechanismus bei jedem Funktionsaufruf ist in
Bei der Anweisung retf (Rücksprung von dem Funktionsaufruf) wird umgekehrt der aktuelle FP
Ein siebtes Ausführungsbeispiel der vorliegenden Erfindung, bei dem die CPU-Architektur unter Nutzung einer Vektor-ID oder einer Notation 'va' des Vektors Anweisungen erzeugt, und bei dem eine Verwendung bei einigen anderen darstellenden Anweisungen als bei den Unterbrechungsbeschreibern für die ISR
Bei einem FIFO-Ausführungsbeispiel kann auf den Rahmenspeicherpuffer des FIFO-1
m v0x700, r1 → Bewegen des Vektors v0x700 zu dem Register r1
m @r1, r2 → Bewegen der Daten, auf die durch das Register r1 gezeigt wird, zu dem Register r2 In a FIFO embodiment, the frame memory buffer of FIFO-1
m v0x700, r 1 → move vector v0x700 to register r 1
m @r 1 , r 2 → move the data pointed to by the register r 1 to the register r 2
v0x700 ist die Notation für den Vektor 0x700, 'm' ist die Mnemonik für 'bewegen', und das Zeichen '@' impliziert 'an dem Ort', und 0x ist die Präfixnotation für hexadezimal. Die Assembler-Anweisung liest sich von links nach rechts.v0x700 is the notation for the vector 0x700, 'm' is the mnemonics for 'move', and the character '@' implies 'in the place', and 0x is the prefix notation for hexadecimal. The assembler statement reads from left to right.
r2 enthält nun den tatsächlichen Zeiger zu dem Puffer des Arrays in dem Rahmen-1
Das 100ste Glied ist dann:
m @r2+100, r3 → Bewegen der Daten, auf die durch @r2+100 gezeigt wird, zu dem Register r3.
Oder das 101ste Glied; m @r2+101, r3.The 100th member is then:
m @ r 2 +100, r 3 → move the data pointed to by @r 2 +100 to register r 3 .
Or the 101st member; m @ r 2 +101, r 3 .
Sobald die Vektor-ID verwendet wird, um den tatsächlichen Zeiger zu erhalten, kann r2 nun als der Basiszeiger verwendet werden, und auf Variablen in der Vektor-ID oder dem Beschreiber kann durch Indexieren von dem Basiszeiger r2 zugegriffen werden.Once the vector ID is used to obtain the actual pointer, r 2 can now be used as the base pointer, and variables in the vector ID or descriptor can be accessed by indexing from the base pointer r 2 .
Die Vektornotation kann ferner bei einer Sprunganweisung verwendet werden; jp va; wobei 'jp' die Mnemonik für 'Springen' ist, 'v' für 'Vektor' ist und 'a' die Vektors oder die ID (Identifizierung) ist.The vector notation can also be used in a jump instruction; jp va; where 'jp' is the mnemonics for 'jumping', 'v' is for 'vector' and 'a' is the vector or the ID (identification).
Beim Antreffen dieser Anweisung wird die CPU den PC (= Programm-Counter = Programmzähler) zu der Vektornummer 'a' transferieren bzw. verlegen, was die Adresse 'a' x 4 spezifiziert, die die tatsächliche PC-Adresse enthält, zu der zu springen ist.Upon encountering this instruction, the CPU will transfer the PC (= program counter) to the vector number 'a', which specifies the address 'a' x 4 containing the actual PC address to jump to is.
Noch ein anderer Fall der CPU-Architektur, die eine Verwendung der Vektor-ID und eine synchrone Bitbündelübertragungsoperation veranschaulicht, besteht in einem Laden eines Rahmens von Parametern von einem Speicherort. Ein Rahmen von Parametern ist hier als sechzehn zusammenhängende 32-Bit-Worte in einem Speicher definiert, der auf den Benutzer- oder lokalen Kernmodusregistersatz abgebildet ist.Yet another case of the CPU architecture that illustrates use of the vector ID and a synchronous burst transmission operation is loading a frame of parameters from a memory location. A set of parameters is defined herein as sixteen contiguous 32-bit words in a memory mapped to the user or local kernel mode register set.
Bei der CPU-Anweisung ms @va, rb, bedeutet 'ms' „synchrones Bewegen oder bitbündelmäßiges Bewegen eines Blocks von Daten 16 Wörter beginnend von dem Vektor 'a' zu 16 Registern beginnend bei rb”, und 'v' ist die Mnemonik für 'Vektor', und 'a' ist die Vektor-ID.In the CPU instruction ms @va, r b , 'ms'"means moving a block of data in a synchronized manner 16 words starting from the vector' a 'to 16 registers starting at r b ', and 'v' is the Mnemonic for 'vector', and 'a' is the vector ID.
Der Rahmen eines Blocks von Daten, der als ein Rahmen, der als Rahmen-1
Bei einem achten Ausführungsbeispiel der vorliegenden Erfindung kann veranlasst werden, dass alle Anweisungen atomar laufen, was bei einer Synchronisation von Prozessen bei einem Multiverarbeitungssystem, die typischerweise einen Speicherzugriff und einen Vorrichtungszugriff betrifft, erforderlich ist. Der Speicherzugriff ist an einem Ort oder einem Block eines kritischen Speichers (kritische Region). Eine atomare Anweisungsoperation, die bei der Lesen-modifizieren-schreiben-Sequenz bei einer Operation ohne Unterbrechung auf der CPU-Ebene eine Kohärenz bewahrt, ermöglicht herkömmlicherweise andere höhere flexiblere Synchronisationsmechanismen, um Mutex-(= Mutually-Exclusion = gegenseitige Ausschließung)Ressourcen durchzusetzen, bei denen, wenn ein Prozess einen Zugriff erhält, die anderen warten müssen.In an eighth embodiment of the present invention, all instructions may be caused to run atomically, which is necessary in synchronizing processes in a multi-processing system, which typically involves memory access and device access. The memory access is at a critical memory location or block (critical region). An atomic instruction operation that preserves coherency in the read-modify-write sequence in an uninterrupted CPU-level operation conventionally allows other higher-level, more flexible synchronization mechanisms to enforce mutual mutilation (mutex) resources. where when one process gets access, others have to wait.
Auf Fig. 6 Bezug nehmendReferring to Fig. 6
Bei diesem Ausführungsbeispiel werden alle Mutex-Grundelemente entfernt und durch eine einzelne atomare Blockanweisung mit einem Präfix- und Postfixpaar atomar1
Das Paar atomar1
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 3401376 [0002] US 3401376 [0002]
- US 3518632 [0002] US 3518632 [0002]
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014111305.5A DE102014111305A1 (en) | 2014-08-07 | 2014-08-07 | A processor model that uses a single large linear register, FIFO-based I / O ports supporting new interface signals, and interrupt bus transfers that eliminate DMA, bridges, and an external I / O bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014111305.5A DE102014111305A1 (en) | 2014-08-07 | 2014-08-07 | A processor model that uses a single large linear register, FIFO-based I / O ports supporting new interface signals, and interrupt bus transfers that eliminate DMA, bridges, and an external I / O bus |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102014111305A1 true DE102014111305A1 (en) | 2016-02-11 |
DE102014111305A8 DE102014111305A8 (en) | 2016-04-07 |
Family
ID=55134632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014111305.5A Pending DE102014111305A1 (en) | 2014-08-07 | 2014-08-07 | A processor model that uses a single large linear register, FIFO-based I / O ports supporting new interface signals, and interrupt bus transfers that eliminate DMA, bridges, and an external I / O bus |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014111305A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810087A (en) * | 2018-04-28 | 2018-11-13 | 北京优帆科技有限公司 | A kind of connection method of storage server, system and equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3401376A (en) | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
US3518632A (en) | 1966-06-02 | 1970-06-30 | Automatic Telephone & Elect | Data processing system utilizing stored instruction program |
US4217638A (en) * | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
US4459657A (en) * | 1980-09-24 | 1984-07-10 | Tokyo Shibaura Denki Kabushiki Kaisha | Data processing system having re-entrant function for subroutines |
US6029242A (en) * | 1995-08-16 | 2000-02-22 | Sharp Electronics Corporation | Data processing system using a shared register bank and a plurality of processors |
-
2014
- 2014-08-07 DE DE102014111305.5A patent/DE102014111305A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3401376A (en) | 1965-11-26 | 1968-09-10 | Burroughs Corp | Central processor |
US3518632A (en) | 1966-06-02 | 1970-06-30 | Automatic Telephone & Elect | Data processing system utilizing stored instruction program |
US4217638A (en) * | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
US4459657A (en) * | 1980-09-24 | 1984-07-10 | Tokyo Shibaura Denki Kabushiki Kaisha | Data processing system having re-entrant function for subroutines |
US6029242A (en) * | 1995-08-16 | 2000-02-22 | Sharp Electronics Corporation | Data processing system using a shared register bank and a plurality of processors |
Non-Patent Citations (8)
Title |
---|
Call stack. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 21.05.2014. URL: http://en.wikipedia.org/w/index.php?title=Call_stack&oldid=609506158 [abgerufen am 16.10.2014] * |
CS322 - Operating Systems and Computer Architecture; Lecture: Hardware Requirements for Modern Operating Systems; 2000, S. 1 – 3. URL: http://www.math-cs.gordon.edu/courses/cs322/lectures/hardware.html, Archiviert in http://www.archive.org am 10.01.2008 [abgerufen am 15.10.2024] |
CS322 - Operating Systems and Computer Architecture; Lecture: Hardware Requirements for Modern Operating Systems; 2000, S. 1 - 3. URL: http://www.math-cs.gordon.edu/courses/cs322/lectures/hardware.html, Archiviert in http://www.archive.org am 10.01.2008 [abgerufen am 15.10.2024] * |
Intel: Intel Architecture Software Developer's Manual - Volume 2 - Instruction Set Reference, 1999. S. i,ii,vi,2-1,3-367 - 3-368. URL: https://www.cs.cmu.edu/~410/doc/intel-isr.pdf [abgerufen am 16.10.2014] * |
Proenca, AJ: Zusammenfassung für Vorlesung "Computer Architecture" zu Buch "Computer Organization and Architecture - Designing for Performance", 2006. URL Vorlesung: http://gec.di.uminho.pt/Discip/Mcc/ac0405/apoio.html [abgerufen am 13.10.2014], URL Zusammenfasung: http://brahms.di.uminho.pt/discip/MaisAC/COA5e_Stallings/ResumoCOA5e_Stallings.pdf [abgerufen am 13.10.2014] * |
Register window. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 24.07.2014. URL: http://en.wikipedia.org/w/index.php?title=Register_window&oldid=618326898 [abgerufen am 13.10.2014] * |
Vectored Interrupt. In: Wikipedia, the free encyclopedia. Bearbeitungsstand: 16.07.2014. URL: http://en.wikipedia.org/w/index.php?title=Vectored_Interrupt&oldid=617130557 [abgerufen am 13.10.2014] * |
Williams, J. and Bergmann, N.: Programmable parallel coprocessor architectures for reconfigurable system-on-chip. IEEE International Conference on Field-Programmable Technology, 2004 (Proceedings). USA : IEEE, 2004. S. 193-200. - ISBN 0-7803-8651-5. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=139326 [abgerufen am 13.10.2014] * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810087A (en) * | 2018-04-28 | 2018-11-13 | 北京优帆科技有限公司 | A kind of connection method of storage server, system and equipment |
CN108810087B (en) * | 2018-04-28 | 2020-06-26 | 北京青云科技股份有限公司 | Connection method, system and equipment of storage server |
Also Published As
Publication number | Publication date |
---|---|
DE102014111305A8 (en) | 2016-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005000706B4 (en) | Method and system for providing user-level multi-threading | |
DE602004012106T2 (en) | Multi-channel DMA with shared FIFO buffer | |
DE102018130441A1 (en) | Equipment, methods and systems with configurable spatial accelerator | |
DE112013004751T5 (en) | Multi-core processor, shared core extension logic, and shared core extension usage commands | |
DE102018213430A1 (en) | Accelerator with low latency | |
DE60132633T2 (en) | DIGITAL SIGNAL PROCESSOR DEVICE | |
DE102015002582A1 (en) | Cross-Architecture Compatibility Module to allow a code module of one architecture to use a library module of a different architecture | |
DE112017001825T5 (en) | PROCESSORS, METHODS, SYSTEMS AND INSTRUCTIONS FOR ATOMICALLY SAVING DATA WIDER THAN A NATIVELY SUPPORTED DATA WIDTH IN A MEMORY | |
DE102014003399A1 (en) | Systems and methods for implementing transactional memory | |
DE112010005821T5 (en) | context switching | |
DE112017003340T5 (en) | INTERRUPTABLE AND RESTORABLE MATRIX MULTIPLICATION INSTRUCTIONS, PROCESSORS, METHODS, AND SYSTEMS | |
DE102015102135A1 (en) | Interruptible exclusive storage | |
DE102014003671A1 (en) | PROCESSORS, METHODS AND SYSTEMS FOR RELAXING THE SYNCHRONIZATION OF ACCESS TO A SHARED MEMORY | |
DE202016009016U1 (en) | Commands and logic for recurring adjacent collections | |
DE102012221502A1 (en) | A system and method for performing crafted memory access operations | |
DE102014003799A1 (en) | Systems and methods for transfer elimination with bypass multiple instantiation table | |
DE112013005368T5 (en) | PROCESSORS, METHODS AND SYSTEMS FOR REAL-TIME COMMAND TRACKING | |
DE112013003741T5 (en) | Systems, devices and methods for performing conflict detection and transferring contents of one register to data element locations of another register | |
DE112017001716T5 (en) | MEMORY COMMANDS, PROCESSORS, METHODS AND SYSTEMS | |
DE102016006402A1 (en) | PERSISTENT COMMIT PROCESSORS, PROCEDURES, SYSTEMS AND COMMANDS | |
DE102018132521A1 (en) | DEVICE AND METHOD FOR LOADING AND REDUCING LOOPS IN A SINGLE INSTRUCTION, MULTIPLE DATA (SIMD) PIPELINE | |
DE2612054A1 (en) | PROCEDURE FOR ADDRESS DEVELOPMENT AND PROCESSOR FOR IMPLEMENTING THE PROCEDURE | |
DE112013004800T5 (en) | Bit shift instruction to the left, pulling ones to lower bits | |
DE102018002525A1 (en) | HYBRIDATOMARITY ASSISTANCE FOR A BINARY TRANSLATION-BASED MICROPROCESSOR | |
US9910801B2 (en) | Processor model using a single large linear registers, with new interfacing signals supporting FIFO-base I/O ports, and interrupt-driven burst transfers eliminating DMA, bridges, and external I/O bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R083 | Amendment of/additions to inventor(s) | ||
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: KUHNEN & WACKER PATENT- UND RECHTSANWALTSBUERO, DE |