[Vollbild] [Home]
MultiProcessorUnit (MPU)
(Forschungsprojekt wegen begrenzter Mittel eingestellt)
Hierbei handelt es sich um einen kompletten Computer, der eigentlich ein IC ist.
Das IC ist ein kompakter Block eingegossen in PUR-Schaum und Gehäusekunststoff. Aufgebaut ist
das IC in Schichtbauweise, jede Schicht stellt eine PU (ProcessorUnit) dar; insgesammt
sind es 16+1 oder 256+1 oder 65536+1 PUs. Die Stromversorgung ist extern; die
Kühlung intern.
Die Kühlung befindet sich unten im Block. Es ist eine kleine Wärmepumpe, die
Luft verflüssigt die anschließend im Kern verdunstet. Dadurch wäre ein
supraleitender Aufbau möglich. Die nötige Wärmeabführung geschieht
über eine Aluminiumplatte oder Kupferplatte (Dekorplatte) auf der der Block
montiert wird.
Die MPU besitzt zwei Schnittstellen. Eine Schnittstelle ist für Festwertspeicher.
Adressiert wird mit 256 Bit und die Wortlänge ist auch 256 Bit bzw. 8 Byte.
Die Schnittstelle hat 16 gleichzeitg solcher adressierbaren Ports. Somit sind es bei
dieser Schnittstelle 2*16*256 = 8192 Kontakte + 2 Kontakte für die Stromversorgung
in den beiden Einschubschienen. Die Kontakte sind optisch realisiert.
Die zweite Schnittstelle ist auf der gegenüberliegenden Seite und besitzt keine
Adressports; diese 16 Ports dienen zur Kommunukation mit der Periferie und sind auch
optisch realisiert. Die Daten werden Parallel über 8 Lichtleiter übertragen
zu je 8 Bit, jedes Bit in einem anderen Wällenlänge.
Für besondere Anwendungen könnte eine andere MPU-Version, die Schnittstellen
mit 256 Ports hat, gebaut werden.
Jede PU hat ihren eigenen Hauptspeicher, Portanbindung (periferal und festwertspeicherseitig),
interner Datenport, Steuer-Leitung.
Die +1 PU ist die Steuer-PU, sie ist alein für Anforderungen und Freigaben, sowie Prüfungen zuständig.
Diese Top-Level-PU (TLPU) hat auf alles vorrangig Zugriff.
Eine Pu kann eine Anforderung senden, dies geschiet in dem sie die Anforderung auf den Datenport(Speicherseitig) schreibt
und Ihre ROM-Adresse, die sie nicht kennt (4, 8 bzw. 16 Bit-Adresse über genau so viele Steuerleitungen - konfliktfrei !) sendet.
Auf der TLPU lauft das Betriebssystem. Sie gibt Datenformate und Adressräume an die PU's und die Speichereinheiten weiter.
Die TLPU kann nur von außerhalb über einen Speziellen Port bespielt werden, startend bei Adresse 0. Nach Abnahme des Steckers
startet das Betriebssystem, wenn die MPU zu dem Zeitpunkt eingeschaltet ist.
Die PU
Sie arbeitet mit 64 Bit Befehlen und 64 Bit Adressen. Die adressierte Speicherstelle stellt maximal 16384 Bit zur Verfügung.
4 Bit des Befehls geben an in welchem Adressmodus der Befehl ausgeführt wird.
Wortgröße in Bits | Adressgröße in Bits | 4 Bit Wert |
1 | 64 | 0 |
2 | 63 | 1 |
4 | 62 | 2 |
8 | 61 | 3 |
16 | 60 | 4 |
32 | 59 | 5 |
64 | 58 | 6 |
128 | 57 | 7 |
256 | 56 | 8 |
512 | 55 | 9 |
1024 | 54 | A |
2048 | 53 | B |
4096 | 52 | C |
8192 | 50 | D |
16384 | 49 | E |
32768 | 48 | F |
Die Adressgöße variirt dadurch von 48 bis 64 Bit
Wird z.B. in 1 Bit-Worten Adressiert, dann werden alle 64 Bit zur Adressierung verwendet, bei 4 bit-Worten 62 Bit Adressen usw. Dabei kann nicht jeder Befehl auf beliebige Adressmodes angewandt werden - was ja auch keinen Sinn macht.
Somit können z.B. Bitoperationen direkt im Speicher ablaufen.
Wie der Speicher adressiert wird spiegeln die 4 ADRM (Adressmode) Bits des Statusregisters wieder.
Befehlsadressen, also Sprünge, werden immer im 64 Bit-Wort-Modus und relativ ausgefürt.
Dadurch ergibt sich auch der Maximale Adressraum von 2 58 64 Bit-Worten ( 2 147 483 648 GB) für Programmcode, Daten und Register.
Direkte Wertangaben in den Befehlen gibt es nicht.
Die Register wie man sie in 80X86er Prozessoren kennt gibt es nicht.
Die Register befinden sich sozusagen im Hauptspeicher und werden durch die 48-64 Bit-Adresse unterschieden. Man
kann die PU als Registermaschiene bezeichnen.
Einige Beispiele: MOV var1,var3 = 192 Bit, NEG var4 = 128 Bit, NOP = 64 Bit, MUL var1,var2 = 192 Bit, MUL var1,var2,var3 (Ergebnis in var3) 256 Bit ... .
Der Maschinencode ist eine Mischung aus den Befehlssätzen von x86, mips und Vereinfachteren oder Kompakteren.
Interrupts werden in FIFOs gesammelt; wobei jede PU ihr(e) eigenen Interrupts und FIFO besitzt. Prioritäten von Interrupts können per Software festgelegt werden (fast or long interrupt, oder mehr Prioritäten, je nach Interrupt Scheduler)
Der Hauptspeicher baut auf der Technologie des Kristallspeichers auf.
Ich weiß was !