DE2902862A1 - Digital-computer mit vielfaeltigkeits-verfahrens-faehigkeit, der den gebrauch eines zusammengesetzten intelligenten speichers und von input/output modulen vorsieht - Google Patents

Digital-computer mit vielfaeltigkeits-verfahrens-faehigkeit, der den gebrauch eines zusammengesetzten intelligenten speichers und von input/output modulen vorsieht

Info

Publication number
DE2902862A1
DE2902862A1 DE19792902862 DE2902862A DE2902862A1 DE 2902862 A1 DE2902862 A1 DE 2902862A1 DE 19792902862 DE19792902862 DE 19792902862 DE 2902862 A DE2902862 A DE 2902862A DE 2902862 A1 DE2902862 A1 DE 2902862A1
Authority
DE
Germany
Prior art keywords
cpu
mio
bus
memory
data
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.)
Withdrawn
Application number
DE19792902862
Other languages
English (en)
Inventor
Richard E Morley
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.)
FUNCTIONAL AUTOMATION Inc
Original Assignee
FUNCTIONAL AUTOMATION Inc
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 FUNCTIONAL AUTOMATION Inc filed Critical FUNCTIONAL AUTOMATION Inc
Publication of DE2902862A1 publication Critical patent/DE2902862A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Description

CC·-'-., .'-..-".-NCtII=N 40
198-003A
Functional Automation, Inc.
Nashua, New Hampshire, V. St. A.
Digital-Computer mit Vielfältiqkeits-Verfahrens-Fähigkeit, der den Gebrauch eines zusammengesetzten intelligenten Speichers und von Input/ Output Modulen vorsieht.
$03814/06*0
ORIGINAL INSPECTED
Querverbindung zu diesbezüglichen Gesuchen
Dieses Ansuchen ist ein in Teilen fortgesetzes Gesuch des schwebenden U S Patengesuches mit der Seriennummer 873,018, eingereicht am 26. Jänner 1978.
Diese Erfindung bezieht sich auf Digital Computer, insbesondere auf die Architektur und Methode, welche für die Herstellung von Digital Computern gebraucht werden.
Der Computerbau unterzog sich seit Beginn des Digital Computers relativ wenig grundsätzlicher Änderungen. Die meisten Computer umfassen ein grosses Speicherungsvermögen, eine Arithmetik-Logik-Einheit (ALU), sowie eine Input/Output Sektion (I/O). Der Computer funktioniert, indem der Speicher als eine einzelne Einheit betrachtet wird. Der Speicher kann jede beliebige Grosse haben inner-halb der Abruffähigkeiten der ALU aber vom Ausgangspunkt eines Blockdiagramms gesehen, ist er eine eigene Einheit. Sobald es ausserhalb zu einem Vorfall kommt, unterbricht das Input/Output Modul die ALU und zwingt diese den Stand der Unterbrechung festzuhalten und diese nutzbar zu machen. Nachdem das "wo" und "was" der Unterbrechung festgehalten wurde, werden passende Unterprogramme vom Speicher abgerufen, um die Unterbrechung zu nützen. Die Entscheidung muss getroffen werden und die passenden Speicherungen müssen ausgeführt werden. Nach Beendigung der Unterbrechung kehrt die ALU zu ihrer früheren Position zurück und fährt mit der internen Aufzeichnung fort. Ein etwas fortgeschrittener Computoraufbau verwendet die gleichen 3 Module mit I/O, die weiterhin den Speicher unterbricht. Hier hat die ALU die Kapazität durch "stunt boxes" und einen eingebauten Speicher erhöht. Dieser Speicher ermöglicht die Ausführung von kleinen Unterprogrammen, direkt in die ALU, ohne die langsame Zubringerstruktur zu gebrauchen, die die 3 Basismodule verbindet.
Der Speicher in solchen fortgeschrittenen Computern hat mehrere öffnungen, v/o jedoch nur eine zur Zeit gebraucht werden kann. Damit der I/O mit dem Speicher in Verbindung treten kann, ist es notwendig, dass derselbe Zubringer verwendet wird, der <\ew\ £pe>cb&n tn<i der " ALU vorbindet.
ORUHNAL INSPECTED
/C-
Jedoch, um hohe Geschwindigkextsdaten zu speichern, gebraucht, man einen direkten Speicherzutritt (DMA). Dieser DMA wird ausgeführt durch Unterbrechung der ALU und folgend durch Stillegung des Basiszubringer, welcher die ALU mit dem Speicher und I/O verbindet und durch Transferierung der Zubringerkontrolle zum DMA Kanal und weiters durch Durchführung des Datentransfers von einer Scheibe oder anderen assoziierten iusseren Vorrichtungen. Daher, in dieser Art von Common Data Base Computerbau, öffnet die DMA I/O Zutritt zum Speicher durch den Zubringer, der den Speicher mit der CPU verbindet. Der DMA kann jedoch ohne zu Hilfenahme der CPU funktionieren. Das führt im allgemeinen zu einer fälschlichen Auffassung, dass I/O und die CPU unabhängig voneinander funktionieren. Das ist jedoch nicht der Fall, da in einem konventionellen DMA Schema Transfers von und zum Speicher während des Ausführungszyklus der CPU, vorsichgehen. Das funktioniert gut so lange als die Gesamtzeit des DMA I/O geringer als die vorhandene Durchführungszeit ist. Wenn dies überschritten wird, wird entweder die CPU-Leistung rapid herabgesetzt oder die DMA kann den I/O nicht annehmen. Jeder der beiden Vorfälle hat verheerende Folgen. Weiters benötigen bekannte Rechenanlagen, wenn sie mit Serien I/O Bestandteilen wie Z.B. Terminals arbeiten, für gewöhnlich die Übersetzung jedes einzelnen erhaltenen sowie Antw.ortcharakters. Im konventionellen Bau wird das durch die Unterbrechung des CPU nach jedem Symbol gemacht. Die CPU benötigt viele CPU Zyklen, um den laufenden Stand zu speichern, die Symbole zu unterbrechen und um den vorherigen Stand wiederherzustellen. Das limitiert die Anzahl der Simultan-Serien I/O Kanäle, die von der CPU verarbeitet werden. z.B., wenn die CPU 100 Microskunden braucht, um ein Symbol zu verarbeiten, beschränkt das das System auf 9,600 Baud Zutritte. Um mehrere Zutritte zu verarbeiten, ist es notwendig äussere Verfahren hinzuzufügen, um die Verbindungsebene zu erhalten. Das macht das System complexer und teurer.
Damit ist der Basisbau des Computer-Busses beschränkt und einseitig. Er kann nur nacheinander, schrittweise arbeiten und ist gezwungen dies über den Speicheröffnungsbus zu tun. Um den Computer schneller arbeiten zu lassen, ist es nötig die Geschwindigkeit der Ausführung jedes Befehls zu erhöhen. Der klassische Aufbau ist daher analog zu einem Überschall Jet, der mehr und mehr Flüge über den Atlantik macht, im Gegensatz zum "Luftbus", der das analoge Equivalent zu der gegenwärtigen Erfindung ist, die hier beschrieben wird. Es wurde für schwierig gefunden, bekannte Rechenanlagen als Multiprocessor zu verwenden.
Multiprocessor-Anlagen im heutigen Gebrauch können auf Grund ihrer eigenen Bauart die Computerfähigkeit nicht bedeutend erhöhen, da tatasächlich ein Transfer zwischen geteilten Speichern bedeutet, dass eine CPU geschlossen ist, während die andere Einheit den Speicherzutrittstransfer durchführt. Eine allgemeine Datenbank ist natürlich wichtig, aber durch den Gebrauch einer Multiprocessor-Anlage wird die Ausführung eines Programms nicht bedeutend erhöht.
Bei der gegenwartigen Erfindung wird das Problem, grössere rechnerische Geschwindigkeit bei einem Digital Computer durch eine gänzlich neue Methode, nämlich mittels einer grundsätzlichen Änderung im Rechen-Steuergerät gelöst. Die gegenwärtige Erfindung ist ein Digital Computer, der einen geteilten Speicher verwendet, welcher abrufbereit ist, unabhängig von internen arithmetischen Logikeinheitsbedingungen. Die zentrale Verfahrenseinheit (CPU) oder die arithmetrische Logikeinheit fährt fort in einer bestimmten Weise zu arbeiten, doch wird in Bezung auf externe Vorgänge für die meisten rechnerischen Aufgaben nie gestoppt. Um dieses Ziel zu erreichen, werden der Speicher und der I/O miteinander zu einem Intelligenz-Modul verbunden, mit einer Speicherungsstruktur, die multi-synchrone Öffnungen hat. Die CPU steht mit dem zusammengezetzten Intelligenz—Speicher und dem Ein-Ausgabe Modul (MIO) während einer Phase des 3-Phasen Zeitzyklus in Verbindung, während die anderen 2 Phasen des Zeitzyklus dem MIO ermöglichen mit den externen
909834/0630
-r-
Einrichtungen in Verbindung zu stehen. Daher kann, im Gegensatz zu bekannten Rechenanlagen-Bauarten, die Menge an Daten, die zwischen dem Speicher und den externen Einrichtungen übertragen wird, nie die rechnerischen Fähigkeiten der CPU gegensätzlich beeinträchtigen, da der Zutritt zum Speicher durch die CPU nie durch Datenübertragung von und zu externen Einrichtungen behindert werden kann. Weiters, ermöglicht die gegenwärtige Erfindung, durch den Gebrauch von Zwischenverfahrensmodulen (IPB), welche Software abgeänderte MIOs sind, die Zugabe von beliebigen zusätzlichen CPUs mit deren assoziierten MIO und IPB. Die IPB, mit dessen verbundenen Speicher, ermöglicht eine Verbindung zwischen 2 miteinander verbundenen CPUs durch den Gebrauch eines geteilten Speichers. Jedoch, da IPB sowie MIO die gleichen 3-Phasen Zeitzyklen gebrauchen, wird eine Interferenz zwischen den verbundenen CPUs verhindert.
Durch die gegenwärtige Erfindung ist eine Kaskadenanordnung von CPUs mit assoziierten MTO erreichbar. Damit ist ein Multiprocessor Rechner-Steuergerät in einer einfachen und schlichten Weise realisierbar.
Ein Rechner-Steuergerät, laut vorliegender Erfindung, umfasst ein oder mehrere CPUs, die durch einen Bus mit ein bis zu 15 zusammengesetzten Intelligenz Speichern und Input/Output Modulen (MIOs) verbunden sind, oder mit ein bis zu 15 IPB oder einer Kombination von MIOs und IPBs, die zwischen ein bis zu 15 Modulen im Ganzen ergeben. Jedes MIO ist eine Kombination von Speicher und Input/Output Kanälen, welche eine hohe Ein-Ausgabe Geschwindigkeit zu und vom Speicher und den externen Einrichtungen zulässt, ohne in Gebrauchnahme des Busses, der die MIO mit der CPU verbindet. Jede CPU, MIO und IPB ist in einem separaten physischen Block verpackt, der mit dem Bus verbunden ist. Bis zu 16 Blöcke können mit einem einzigen Bus verbunden sein, wobei nur einer eine CPU sein kann. Da, wie später beschrieben wird, Daten transferierbar sind von einem allgemeinen Speicherteil jedes MIO zu den externen Einrichtungen und der CPU während separater Phasen des 3 Phasen Zeitzyklus, kann die CPU parallel zu jedem der Ein-und Ausgabe Kanäle jedes MIO, das
-J-
mit einem Bus verbunden ist, ohne Interferenz mit dem EinAusgabe-Kanal arbeiten und ebenso vice versa. Jedes MIO kann, an Hand der eingereichten Darstellung der vorliegenden Erfindung, bis zu 2.66 megabytes hinein-oder herausübertragen. Jedes Byte hat 8 Bits oder 666.000, 32 bit Worte in der Sekunde. Mit 15 MIO, die eine CPU bedienen, kann die CPU eine Ein-und Ausgaberate von 40 Megabytes simultan behandeln. Das ist eine Rate vergleichbar mit der grössten bei Mainframe Computer, die zur Zeit des Drucks dieses Artikels bestehen. Gleichzeitig, kann die CPU Berechnungen mit 100% Leistungsfähigkeit durchführen.
Jede MIO Einheit hat einen allgemeinen Speicher, eine Ein- und Ausgabe Kontroll-Sektion und einen eingebauten Microprocessor. Der allgemeine Speicher jedes MIO kann eine Grosse zwischen 64 K Bytes und 256 K Bytes haben. Die CPU bestimmt einen einzigartigen Befehlsraum für jeden Byte im allgemeinen Speicher eines jeden MIO. Wenn 15 MIO durch einen Bus miteinander verbunden sind, kann ein maximaler abrufbereiter Speicher von 3.75 megabytes erzielt werden.
In jedem MIO wird ein 3-Phasen Allgemeinspeicher verwendet. Jede Speicherphase hat eine Dauer von 0.5 Microsekunden und widmet den Allgemeinspeicher abwechselnd der CPU, der Serien Ein-und Ausgabe und dem direkten Speicherzutritt (DMA) Ein-Ausgabe. Die CPU hat Zutritt zum Allgemeinspeicher durch zu Hilfenahme des Buses, der einen 32 bit breiten Datenwag hat. Hohe Geschwindigkeits-Parallel Ein-und Ausgabe wird mittels bereits bekannter DMA Methoden durchgeführt. Eine langsame Serien Ein-und Ausgabe erfolgt durch Gebrauch des Microprocessors im MIO, um Daten von und zum Allgemeinspeicher und den verbundenen externen Einrichtungen zu übertragen. Der Microprocessor kontrolliert die Verbindungssaufnahme zwischen dem MIO und seinen peripheren Einrichtungen inklusive der Schaffung von Unterbrechungen zu der CPU , sodass die Beendigung eines gewünschten Ein-und Ausgabe Befehls angezeigt wird. Der Microprocessorss führt auf Befehl der CPU auch einen Diagnose Check des Allgemeinspeichers
909834/0610 ^n-.: 'r ".-' ■ ^~~ ^ ^
bei Stromzuführung durch (Strom auf). Er hat auch eine 300 Baud Erkennungs Öffnung, welche eine Möglichkeit hat zur Fehlerbeseitigung des Microprocessor Ein-und Ausgabe Programms, welche sich in geschlossenen Speichern innerhalb des MIO befindet.
Die CPU ist um einen Serien Teilscheiben Logik Processor (Serien Bit Slice Logic Processor) gebaut. In der gegenwärtigen Erfindung, wird ein 64-bit weiter Processor, der kleinst programmierbar ist, gebraucht. Befehle zur CPU verursachen Micro-Befehle, die von einem 4K χ 128-bit Aufzeichnungs Kontrollspeicher ausgeführt werden. Diese Microbefehle sind programmierbar. Die CPU hat 16, 32-bit Allgemeinzweckregister und inkorporiert einen Microprocessor für Hardware Diagnose Checks und für das Festhalten des Microcodes in einen aufzeichnungsfähigen Kontrollspeicher. Der Standard Microcode Befehlstand unterstützt ein weites Gebiet an logischen, fixen und schwebenden Operationen.
Der Bus, der CPU mit den MIOs und IPB verbindet, ist ein 3-Phasen Zeitzyklenleiter. Jede Zeitphase korrespondiert mit einer MIO Allgemeinspeicherzutritts-Phase. Der Leiter hat 32 Daten/Address Linien, welche als Address-Linien während einer Zeitphase und als Datenlinien in einer anderen Zeitphase gebraucht werden. Zusätzlich gibt es 8 singular Selekt CPU Unterbrechungsstufenlinien, die von den Mikroprocessors in den MIOs kontrolliert werden. Ausserdem gibt es auch Kontrollinien durch die die CPUs jeden der MIO Microprocessors unterbrechen können. Jede der 3 Phasen-Zeitzyklen, die in Gebrauch des Busses sind, hat eine Dauer von 0.5 Microsekunden und ist daher mit den 3 Speicherphasen der MIOs synchronisiert. Jeder Zwischenverfahrenspuffer (IPB) steht durch den Bus mit der ersten CPU und durch einen "Sklavenbus" mit den zusätzlichen CPUs mit seinen assoziierten MIOs und/oder IPB in Verbindung. Der IPB funktioniert auch auf Grund eines 3-Phasenzeitzyklus; der Zeitzklus in Verbindung mit der CPU funktioniert synchron mit den anderen IPB
9 0 9 8 3 U / 0 B 3 u ORP«"1"lNSPcC
und MIOs, die durch den selben Bus angeschlossen sind, der mit dem einzelnen CPU verbunden ist. Der IPB beinhaltet auch einen Allgemeinspeicher, zu dem man durch eine der verbundenen CPU Zutritt hat.
Die "Sklavenbus" verbindet und überbringt Daten von IPB zu der 2. CPU während einer der anderen 2 Zeitzyklen des 3 Phasen-Zeitzyklus. Auf diese Weise, können die CPU mit den angeschlossenen MIOs und zusätzlichen IPB eine Kaskade zur erstem CPU bilden. Ein Geflecht der resultierenden CPUs, MIOs und IPBs wird daher mit allen Datenverbindungen zwischen den externen Einrichtungen erreicht. Diese resultierende Berechnung findet mittels der MIOs stattj damit die rechnerische Geschwindigkeit der CPU nicht beeinträchtigt wird. Das Ergebnis ist ein Zusatz zum Speicher zu einer oder mehreren Zentralverfahrenseinheiten und zwar so, dass es zu keiner Herabsetzung der Ausführungszeit der CPU kommt, welche für eine hohe Geschwindigkeiets Kommunikation zwischen Computer und externen Einrichtungen durch Gebrauch von MIO sorgt. Eine Multiprocessor Wirksamkeit ist synergistisch durch Inkorporierung von Zwischenverfahrenspuffern, welche für Verbindung zu Und von den Zentralenverfahrenseinheiten sowie MIO sorgen, hergestellt, wobei wiederum die Ausführungszeit jedes CPU nicht herabgesetzt wird.
Eine Richtlinie im Hardware Entwurf, welche auch ein Globalsystem Konzept ist, kann durch leichte Handhabung und Verlässlichkeit ausgedrückt v/erden. Jedoch können diese Richtlinien sinnvoll zusammengefasst werden und weiters als Bestätigung angesehen werden, dass es möglich ist Lösungen zu komplexen Problemen zu erzielen, ohne diese komplizierter zu machen. Das bedeutet Kontrolle über den Entwurf und den Herstellungsprozess und besonderes Augenmerk auf Details auf jeder Herstellungsstufe. Eine andere Art die philosophischen Erfordernisse zu betrachten, ist der Drang nach Optimal-Ausführung in Hardware, wie es viele Erzevger fälschlich tun da die wahre Stärke des Computer-Systems in seinem Aufbau, seiner Verwendbarkeit, seiner Parallel Ein-und Ausgabe und seinem Software Konzept liegt. Nach höherer Leistung oder
909834/063Ö
dem Gebrauch von exotischen Technologien in Hardware zu drängen, würde bloss die Speichermenge reduzieren, es würde schwieriger werden verlässliche Komponenten zu erhalten und die Instandhaltung des Geräts wäre schwieriger. Deshalb strebt der Entwurf eher nach dem Zentrum der gegenwärtigen Silizium Techologie, als nach seiner äusseren Grenzen. Bekannte Techniken um die Haltbarkeit und Verlässlichkeit zu steigern, werden natürlich verwendet. Auf die Gefahr hin ausschweifend zu sein, sollten einige praktische Aspekte der Hardware Philosophie angeführt werden. Erstens, Abschweifungen in ein konventionelles Denken sollten vermieden werden, um in den Genuss der einwandfreien und baukünstlerischen Stärke zu kommen. Z.B. automatische System Inbetriebnahme, Vermeidung von "Vertauschungen", absolutes System der Unterteilung, nicht-entfernbare Scheibe, etc. Zweitens, die Idee "langsamer ist geschwinder" bedeutet extrem solide, unkritische Zeitabstände, niedriger Komponenten Stress und Beibehaltung der bestehenden wenn auch modernen Technologien. Drittens, On-Line Ausführungstests, die den gültigen Ablauf auf der Modulebene sicherstellen, zu inkorporieren, um sicher zu gehen, dass jede elektronische Montage Funktion richtig und korrekt, abgesehen von der Systemumgebung, abläuft. Dieselben Prinzipien gelten für Firmware und System Software Entwürfe, nämlich durch einige Isolierungsschichten einen Schaltungsschutz gegen Stromlinienflüchtigkeit zu erreichen. Dies ist bloss ein Aspekt einer Verpflichtung "crash proof" Geräte zu bauen. Solche Bedingungen beziehen sich auch auf Speicher Abberufung Hardware innerhalb der CPU.
Viertens, der Entwurf eines adequaten "Hacken" für Herstellun-gstest und modernes Plannen von Herstellungsverfahrenskontrolle, die Inspektion, Nachweisbarkeit, etc beinhaltet.
909834/0630
ORIGINAL INSPECTEq
ZWECK DER ERFINDUNG
Es ist daher ein Ziel der Erfindung, ein Rechner-Steuergerät zu schaffen, welches mindestens eine Zentralverfahrenseinheit mit ein oder mehreren zusammengesetzten Speichern und Ein- und Ausgabe Modulen (MIOs) inkorporiert. Diese schaffen einen Speicherzutritt zwischen der CPU und dem MIO während einer der mindestens 2 Phasen Zeitzyklen. Mit der oder den anderen Phasen des Zeitzyklus entsteht ein Speicherzutritt zwischen dem MIO und ein oder mehrenen externen Einrichtungen.
Ein weiteres Ziel der vorliegenden Erfindung ist die Schaffung eines Rechner-Steuergeräts laut vorangegangener Beschreibung, in dem ein 3-Phasen Zyklus in jedem MIO enthalten ist für den Speicherzutritt vom allgemeinen Speicher des MIO mit der CPU während einer Phase des 3-Phasenzeit Zyklus, mit ein oder mehreren Serien Ein-Ausgäbekanalen zu exterenen Einrichtungen während der 2 Phase des Zeitzyklus und mit einem direkten Speicherzutritt Parallelkanal für hohe Geschwindigkeitsübertragung während der 3»Phase des Zeitzyklus;
Ein weiteres Ziel der Erfindung ist Schaffung eines Rechner-Steuergeräts der obigen Art, wobei jedes MIO weiters einen Microprocessor beinhaltet zur Kontrolle der Kontaktaufnähme zwischen dem Allgemeinspeicher und den externen Einrichtungen, zwischenverbunden mit entweder den Serien Ein/AusgabeKanälen oder dem Datenspeicherzutrittskanal sowie zu und von der CPU.
Ein v/eiteres Ziel der Erfindung ist die Schaffung eines Rechnersteuergeräts der obigen Art, wobei der Microprocessor innerhalb des MIO einen Diagnose Check des Allgemeinspeichers innerhalb des MIO bei Stromzuführung durchführt, auch wenn der Befehl von der Zentralverfahrens einheii. kommt.
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, wobei ein oder mehrere Zwischenverfahrenspuffer (IPBs) einbezogen werden, die mit
90983 4/0630
-Vi-
einem Bus verbunden sind, um eine Verbindung von der Zentralverfahrenseinheit zum zweiten Bus herzustellen, der an einer zweiten Zentralverfahrenseinheit angeschlossen ist. Letztere kanndurch den zweiten Bus mit ein oder mehreren MIOs und/oder zusätzlichen IPBs in Verbindung stehen, um Konkakt mit weiteren Zentralverfahrenseinheiten zu erreichen.
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, wobei der Zwischenverfahrenspuffer mit der ersten CPU in Verbindung steht und zwar während derselben Phase des Zeitzyklus, in der die anderen MIOs oder Zwischenverfahrenspuffer, angeschlossen an den Bus, mit-der Zentralverfahrenseinheit verbunden sind, und wobei der Zwischenverfahrenspuffer mit dem Sklavenbus verbunden ist, der mit der zweiten CPU in Verbindung steht während einer der anderen Phasen des Zeitzyklus und zwar in einer Weise, die analog zum Verfahren der MIOs mit den miteinander verbundenen externen Einrichtungen ist.
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, wobei der Bus, verbunden mit der CPU und den MIOs, oder IPBs, einen 3-Phasenablauf braucht, um in Verbindung mit den MIOs zu treten, wobei 2 der Phasen das Placieren der Addresse und der gewünschten Information um den Bus betreffen und die 3. Phase das eigentliche Lesen und Schreiben der Daten von oder zum Allgemeinspeicher des angeschlossenen MIO betrifft.
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, wobei der Abberufraum für die Allgemeinspeicher zu jedem MIO, das angeschlossen an den Bus mit der CPU verbunden ist, einzigartig durch die CPU erkennbar ist;
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art,, wobei jedes MIO, IPB oder CPU in einem separaten Block untergebracht ist;
90 9 8 3 4 /ORiO onlG1NAL ,NSPECTED
2302862
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergerdts der obigen Art, wobei 2 Blöcke einen Teil einer funktioneilen Unterstutzungsexnheit bilden, welche die Stromversorgung für den elektronischen Umlauf innerhalb der 2 Blöcke lenkt, die funktionelle Unterstützungseinheit beherbergt einen Teil des Busses, der wiederum mit anderen funktioneilen Unterstützungseinheiten verbunden ist, die sich unteroder oberhalb befinden. Damit wird eine verlässliche und einfache Installierung des entstehenden Digital Computers gegeben;
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, das in einer Multi-CPU Anordnung gestaltet ist, ohne die rechnerische Geschwindigkeit der einzelnen CPU zu beinträchtigen, die das Multiprocessor System bilden;
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, wobei;
CPU, MIO, IPB und Stromversorgung darin verbunden, einen vorhandenen Microprocessor für Diagnosen und Inbetriebnahme zu haben;
Ein weiteres Ziel der Erfindung ist die Schaffung eines Rechner-Steuergeräts der obigen Art, das relativ billig in der Herstellung ist, aber dennoch verlässlich ist;
909834/0.6
-JA-
An Hand der Figuren wird die Erfindung beispielsweise näher erläutert. Es zeigen:
FIG. 1 ein Blockschaltbild einer typischen Struktur Lines Rechner-Steuergeräts an Hand der vorliegenden Erfindung, den Gebrauch der multiplen Zentralverfahrenseinheiten erklärend, jede CPU in Verbindung mit ein oder mehreren zusammengesetzten Speichern, Ein-Augsgabe Module (MIOs) und ein oder mehrere CPUs mittels Verbindungsbus und weiters die Stromversorgungsmodule und Verbindung der MIOs zu den externen Einrichtungen erklärend;
FIG. 2A ist ein Blockschaltbild eines Rechner-Steuergeräts, welches den Gebrauch einer CPU als Mittelpunkt CPU und 4 zusätzlicher Satelitten CPU erläutert;
FIG. 2B ist ein Blockschaltbild eines Rechner-Steuergeräts, an Hand der Erfindung, das den Gebrauch einer CPU mit der Maximalanzahl von verbundenen MIO erläutert, weiters die Verbindung des MIO mit der externen Umgebung in einer Rate von maximal 2.66 megabytes in der Sekunde pro MIO;
FIG. 3 ist eine schematische Veranschaulichung der Zwischenverbindung des Speicherteiles der MIO mit entweder der verbundenen CPU via dem Bus oder mit einem hohen Geschwindigkeits direkten Speicherzutritts Ein/Ausgabekanal oder mit langsamen Serien-oder Parallel Ein/Ausgabekanälen;
FIG. 4 ist ein Blockschaltbild, das die Verbindung von MIO mit dem Bus, verbunden zur CPU und zusätzlichen MIOs und/oder IPB darstellt und mit beiden Serien Ein/Ausgabekanälen und dem direkten Speicherzütritts-Ein/Ausgabekanal;
909834/0630
FIG. 5 ist ein etwas ausführlicheres Blockschaltbild des MIO, das den eingebauten Microprocessor mit angeschlossenem Ausschliesslich-Lese-Speicher (ROM) und beliebigen Zutritts-Speicher (RAM) illustriert/ sowie den Microprocessorbus und die asynchronen Komraunikationszwischenverbindungsröhre mit Serien Ein/ Ausgabeeinrichtungen und einer Parallel-Verb indungsröhre, in Verbindung zu einem direkten Speicherzutritts Kontroll-Logik Modul, um Daten zu und von Parallel Ein/ Ausgabe Einrichtungen (wie Z.B. Scheiben) zu übertragen;
FIG. 6A zeigt die Verbindung von CPU mit multiplen MIOs und erläutert die Unterverbindung des Busses mit dem Allgemeinspeicher während der ersten des 3 Phasenzeitzyklus;
FIG. 6B ist ähnlich zu FIG 6A und zeigt die Verbindung von Allgemeinspeicher zu den Serien Ein/Ausgabekanälen während der 2. des 3-Phasenzeitzyklus;
FIG. 6C ist ähnlich zu FIG 6A + 6B und zeigt die Verbindung vom Allgemeinspeicher zum Parallel Ein/Ausgabekanal, während der 3. des 3-Phasenzeitzyklus;
FIG. 7 ist ein Blockschaltbild einer bekannten Rechenanlagen-Konstruktion, die die Verbindung des direkten Speicherzutritts von und zum Speicher und EinAusgabe erläutert, wobei derseble Datenbus gebraucht wird, der CPU und Speicher verbindet;
FIG. 8 ist ein weiteres Blockschaltbild einer bekannten Rechenanlagenkonstruktur, die den Ablauf eines solchen Aufbaus für Serien Ein/Ausgabe zeigt;
909834/063 0
ORIGINAL INSPECTED
-Vs- .
FIG. 9 ist eine schematische Veranschaulichung eines Lesezyklus, ausgeführt durch den Bus, der CPU mit MIOs and IPB verbindet;
FIG. 10 ist eine schematische Veranschaulichung des Schreibzyklus für den Bus, ähnlich dem Lesezyklus, · wie in FIG 9 gezeigt wird;
FIG. 11 ist ein Blockschaltbild des MIO, in Betätigung zugleich als Parallel Ein/Ausgabe und als Sex'ien Ein/Ausgabe;
FIG. 12 ist ein Blockdiagramm ähnlich wie in FIG. 11, das den Gebrauch des MIO für einzig Serien Ein/Ausgabe Aufgaben erklärt;
FIG. 13 ist ein Blockschaltbild des MIO ,ähnlich wie in FIG. 11 und FIG. 12 ,das die Verbindung mit 2 Scheiben beschreibt;
FIG. 13A ist ein detailiertes Blockdiagramm der CPU gemdss der Erfindung;
FIG. 14 eine Schrägansicht derrunktionellen Unterstützungseinheit (gemäss der Erfindung), die 2 Blöcke beherbergt; jeder Block beinhaltet entweder die CPU, MIO ode IPB und die angeschlossene Stromversorgung und den Bus, der den Rest der funktionellen Einheit bildet, sowie den Sockel auf dem die funktionolle Unterstützungseinheit ruht, welche wiederum die konstanten Spannungstransformatoren und Rektifizierer für die Erzeugung von Roh-Gleichst rom beherbergt;
■ι η η R ι /* / π m π
FIG. 15 eine Schrägansicht des Rechner-Steuergeräts ähnlich wie in FIG. 14, welche auch ein Scheibenmodul beschreibt, das auf einem Verbindungssockel der funktioneilen Unterstützungseinheit placiert ist;
FIG. 16 eine Ansicht der funktionellen ünterstüzungsexnheit wie in FIG. 14 und 15 gezeigt wird;
FIG. 17 eine Schrdgansicht eines Terminals von einer Farbkathodenstrahlenröhre (CRT) für die Nutzniessung der Wechselwirkung mit der Rechenanlage laut vorliegender Erfindung;
FIG. 18 eine Schrägansicht eines Liniendruckers, der als externe Vorrichtung gebraucht werden kann;
FIG. 19 ein Blockschaltbild der Ausführung von Befehlen, laut Erfindung;
FIG. 2 0 eine Schrägansicht, die den Gebrauch von Ein-Ausgabenprogrammierung des vorliegenden Computer zeigt;
FIG. 21 eine Schrägansicht der Ein-Ausgaben Kommandoblöcke, gebraucht für die Abberufung und Übertrag von Daten zu und von externen Einrichtungen;
FIG. 22 ein Blockdiagramm der Arten von Unterbrechungen, verbunden mit dem Computer;
FIG. 23 eine schematische Teilansicht eines Terminal-Geflechts für den Bus, gebraucht für die Zwischenverbindung der CPU mit den MTOs und IPBs;
90983 Ly /0P30
FIG. 24A veranschaulichen einen Vergleich von Schwellen und zeigen typische Wellenformen des Busses, gebraucht für die Verbindung der CPU mit den MIOs und IPB;
FIG. 25 eine Reihe von Wellenformen, die die Aussendung und den Empfang von Zeitimpulsen erläutert;
FIG. 26 eine Gruppe von Wellenformen, die die Aussendung und den Empfang von Zeitimpulsen erläutert;
FIG. 2 7 ein Hardware Blockdiagramm einer Multiprocessors Gestaltung eines Rechner-Steuergeräts, laut Erfindung, es wird der Gebrauch von multiplen CPUs, MIOs und einer einzigen IPB gezeigt (ähnlich im Format zu FIG. 1);
FIG. 28 zeigt das Funktionszeitdiagramm des BusspeicherZutritts während jeder der 3-Phasenzeitzyklen;
FIG. 29 ein Blockdiagramm des Bus-Unterbrechungs Aufzeichnungs Mechanismus;
FIG. 30 eine Reihe von Wellenformen, den grundlegenden Zeitzyklus des Computers, laut Erfindung, zeigend;
FIG. 31 eine Reihe von Wellenformen, die die Dauer des Losezyklus der Blockdaten zur CPU zeigt;
FIG. 32 eine Reihe von Wellenformen, die die Dauer des Schroibzyklus von der CPU zum MIO zeigt;
FlG. 33 eine Reihe von Wollenformer, die die Dauer des Transferzyklus von eine™i Block zum anderen zeigt;
9098 3 4/0630
ORIGINAL INSPECTED
. S3- 2302362
FIG. 34 eine Reihe von Wellenformen, die das Verhältnis von Unterbrerchungsantrag, Unterbrechungsaufzeichnung und der Unterbrechungsbestätigung zeigt;
FIG. 35 ein vereinfachtes Blockdiagramm der CPU;
FIG. 36 ein Blockdiagramm, das die teilenden und diagnostischen Aspekte der CPU zeigt;
FIG. 37 ein Blockschaltbild über zusatzliche Details der teilenden und diagnostischen Aspekte der CPU;
FIG. 38 ein detailierteres Blockdiagramm der CPU;
FIG. 39 ein Reihe von Wellenformen, die das Zeitverhältnis der CPU und Bus und SYNC Schwingung beschreibt;
FIG. 40 ein schematische Veranschaulichung des Microcode Wortes;
FIG. 41 zeigt die Logik, gebraucht um zu zählen, zu kontrollieren und um schnelle Mikrocodcsehleifen auszuführen;
FIG. 42 ein schematisches Blockdiagramm, welches zeigt wie der 8-bit IR bus vom IR Register, vom Dokode-Register, oder vom Hinweisregistur; gestoucirt wird;
FIG. 43 zeigt die eigentlichen Address und Kartenformate, die vom Computer gebraucht: werdnn;
FlG. 44 ein Blockdiayramm dor Spoichoi-au f zei chnumj Hardware3;
Q q R 'U / Π ' - 3
PIG. 45 ein Blockdiagramm, das den 64 bit Befehlsvektor beschreibt, detailierend ob eine Störung für jeden Zyklus eintreten soll, die als Funktionsbefehl die von dem Block und seinen Datentype ausgehen;
PIG. 46 ein Blockdiagramm des MIO Pults;
FIG. 47 ein detailierteres Blockdiagram des MIO Pults;
FIG. 48 zeigt generelle Zeitdiagrainme für den MIO Mikrocomputer Pult;
FIG. 49 ein Blockdiagramm des Speicher Pults;
FIG. 50 zeigt ein Zeitdiagramm von einem 256 kilobyte Speicher Pult;
FIG. 51 ein Blockdiagramm von einer grossen Multiprocessor^ Computerstruktur an Hand der Erfindung und in Format ähnlich zu FIG. 1 + 27;
FIG. 52 eine schematische Veranschaulichung des Aufmachungs formats für eine ganze Zutrittsöffnung;
FIG. 53 eine schematische Veranschaulichung des Schaltpults (Tastatur) für eine ganze Zutrittsöffnung;
FIG. 54 eine schematische Veranschaulichung eines 9600 baud MIO Kanals, der einen Farb-KSR für diesen ganzen Zutrittsöffnung führt;
FIG. 55 ein vereinfachtes Blockschaltbild einer Ansicht des Stromversorgungssystems für den Computer;
90983/4/0630
-21-
FIG. 56 ein Blockdiagramm des Stromversorgungssystems;
FIG. 57 ein schematisches Diagramm eines Teils des Stromversogungssystems, mit Beschreibung der Versorgung für die KontrollsystemGrundschleifen;
FIG. 58 eine schematische Darstellung der hauptsächlichen Stadien der funktionellen Unterstützungseinheit;
FIG. 59 ein schematisches Diagramm der Systemstärke Kontrolle des "Sklavenbusses";
FIG. 60 zeigt eine Reihe von Wellenformen mit Beschreibung des Systems by Strom-an, während Strom-Absinkung und bei einer stromleeren Stillegung;
FIG. 61 eine schematische Darstellung des typischen Schirmformats in KSR;
FIG. 6 2 ein Blockdiagramm, welches das Strombudget für minimal gestaltete Rechner-Steuergeräte laut vorliegender Erfindung zeigt;
FIG. 6 3 eine schematische Darstellung der Modular-Verpackungs-Philosophie für den Digital Computer;
FIG. 64A-64C sind Ansichten von verschieden grosen Strukturen des Computers, an Hand dieser Erfindung, FIG. zeigt ein grosses System, das 3 niedrige Sockelteile, 4 Scheibenergie - Module und 9 funktioneile Unterstützungseinheiten umfasst, FIG. 64 zeigt ein kleineres System/ das einen niedrigein Sockelteil·, Scheibenkraft-Module und 2 funktionelle Unterstützungseinheiten umfasst und FIG. 64C zeigt ein kleines System, welches einen niedrigen modrigen Sockelteil, ein einziges Scheibenkraft Modul und funktionelle Unterstützungseinhreiten umfasst.
909834/0630
-22-
Generelle Merkmale
Wie man am besten aus FIG. 1 sieht, umfasst ein Digital Computer 20, laut vorliegender Erfindung ein oder mehrere (CPU) 22, ein oder mehrere zusammengesetzte Speicher und Ein/Ausgaben Module (MIOs) 24, ein oder mehrere Zwischenverfahrenspuffer (IPBs), einen Bus 26 für die Verbindung der MIO's und IPB's mit der CPU, und ein oder mehrere Stromversorgungsmodule 59 für die notwendige Gleichstromversorgung, um jede CPU, MIO oder IPB zu betätigen. Jedes MIO Steht mit einer oder mehreren externen Einrichtungen 31 entweder durch einen Parallel Direktspeicherzutritt (DMA) 28, oder ein oder mehrere Serien Ein/Ausgaben Kanäle 30 in Verbindung. Wie bei der Phantom Verlängerung des Bus 26 gezeigt, können eine Gesamtheit von 15 MIO's oder IPB (oder eine Kombination) mit Bus 26 zusammen mit CPU 22 verbunden werden. Daher können 16 Module (CPU, MIO oder IPB) mit dem Bus zu jeder beliebigen Zeit verbunden werden. Obwohl es auch möglich wäre, den Bus mit mehreren Modulen zu verbinden, so hat die bevorzugte Darstellung der Erfindung die Buslänge auf nicht mehr als 10 - 20 Fuss beibehalten, in Hinblick auf die Verbrextungsvezogerung von Signalbewegung wie von der Lichtgeschwindigkeit vorgeschrieben wird.
Wie in FIG. 1 kann ein Multiprocesser, das ist eine Multi CPU Struktur, durch den Gebrauch von ein oder mehreren Zwischeverfahrenspuffer (CPU) 32 entstehen, der mit Bus 26 verbunden ist; der wiederum ist mit der ersten CPU an einem Ende und am anderen Ende mit Sklavenbus 26' angeschlossen. Sklavenbus 26' ist sonst identisch mit Bus 26. Der Sklavenbus ist mit einer zweiten CPU 22' verbunden. Der Bus kann von bis zu 15 MIO's oder IPB's angeschlossen haben. Z.B. wie in FIG. 1 gezeigt wird, hat Sklavenbus 26' ein MIO 24' und ein IPB 32' an sich angeschlossen. Andererseits verbindet IPB 32' zu einem zweiten Sklavenbus 26" der mit einer dritten CUP 22" und ein oder mehreren MIO's oder IPB zwischen verbunden- ist. Eine solche Kaskade von CPUs kann unendlich fortgesetzt werden bei Digital Computer der vorliegenden Erfindung.
909834/0830
Wie auch in FIG. 1 gezeigt wird, kann der Bus 26 mit einem zweiten IPB verbunden sein, welcher wiederum in Verbindung zu einer vierten CPU 22'" und ein oder mehreren MIO's und IPB steht. Dieser Aufbau von zusätzlichen CPU ist daher in einer "Reihe" oder "Stern" Struktur, wobei die erste CPU 26 als Mittelpunkt und die zusätzlichen CPU (wie CPU 26111) als Satelliten agieren. FIG. 2A beschreibt eine CPU 26, mit 4 Satelliten CPU 26", 26'', 261'1, 261111 angeschlossen und zwar durch 4 IPB, 32, 32', 32'', 321'1. Ein oder mehrere MIO's oder wiederum sind mit den CPUs in Verbindung. Wie in FIG. 2B gezeigt wird, ist ein Struktur einer CPU 22, die an 15 MIO's angeschlossen ist, möglich. Wie ebenso in FIG. 2B gezeigt wird, kann jeder hohe Geschwxndigkexts Parallel - DMA Kanal Daten in und aus dem Allgemeinspeicher, innerhalb des MIO in einem Mass von 2.66 Megabytes/ Sekunde transferieren. Zusätzlich hat der Allgemeinspeicher, an jedes MIO angeschlossen, eine einzigartige und kontinuierliche Abberufungsmöglichkeit in bezug auf die CPU, um Daten innerhalb jedes MIO einzigartig für die CPU brauchbar zu machen. Ausser dem Hohen Geschwxndigkexts DMA Kanal (in FIG. 2B gezeigt) für jedes MIO, sind ein oder mehrere Serien Input/Output Kanäle 30 mit dem MIO für Zwischenverbindung an äussere Einrichtungen angeschlossen. Mit dem Parallel Hohen-Geschwindigkeits DMA Kanälen von jedem MIO> das mit der CPU an den Bus angeschlossen ist, können extrem hohe Geschwxndigkexts Input/Output von und zum Speicher stattfinden, ohne dass der Bus 26 zu Hilfe genommen wird. Dies ist eines der bedeutenden Merkmale dieser Erfindung, da sie den resultierenden Computer ermöglicht eine hohe Daten Kommunikation mit der "Aussenwelt" zu haben, ohne die Ausführungszeit der CPU herabzusetzen. Daher ist eine maximale Durchführung erreicht.
Digital Computer 20 kann dieses Ziel erreichen, durch Gebrauch eines 3-Phasen Zyklus für jedes MIO und IPB. Jede Speicherphase hat eine Dauer von 0.5 Microsekunden und ist
90983/. /0630
-24-
der CPU 22, mit Bus 26 verbunden, dem Serien Input/ Output Kanälen 30, und dem direkten Speicherzutritt (DMA) Input/ Output Kanal 28 gewidmet. FIG. 3 zeigt eine Schrägansicht über den übertrag von Information zum und vom Allgemeinspexcher 33, der mit dem MIO an die CPU, Serien Input/Output, und einem DMA Input/Output während des 3-Phasenzeitzyklus, an das MIO angeschlossen ist. Daher macht das MIO seinen Allgemeinspexcher in einem kompleten Zeitzyklus, das ist jede 1.5 Microsekunde, zum Lesen und Schreiben, den Serien Input/Output und den DMA Input/Output für die CPU brauchbar.
Wie in FIG. 4 und 5 gezeigt wird, inkorporiert das MIO einen Allgemeinspexcher 33, eine Busverbindung 34 an den Bus 26 angeschlossen, einen Microprocessor 36 angeschlossen mit der niedrigen Geschwindigkeitsserien-Kanal Verbindung 35 angeschlossen an Serien Input/Output Kanäle 30 und ausserdem zu einem Diagnose Kanal 37 angeschlossen, und ein direktes Speicherzutritt (DMA) Zwischenglied 38 - angeschlossen an den direkten Speicherzutrittskanal 28.
Der niedrige Geschwindigkeits Serien Input/Output wird durchgeführt durch den Gebrauch des Microprocessor 36 im MIO. In der bevorzugten Darstellung dieser Erfindung ist dieser Mikroprocessor eine 6800 Motorola Mikroprocessor-Type mit angeschlossenen integrierten Umlauf Stücken.
Wie in FIG. 5 gezeigt wird, hat der Microprocessor 36 einen Bus 43 und einen angeschlossenen Privatspeicher 39, der einen Ausschliesslich - Lesespeicher 40 (ROM) und einen Zufalls Zutrittsspeicher (RAM) 41. Der ROM beinhaltet Programme, die den Microprocessor in der Ausführung von Speicherdiagnosen Kontrollieren und auch zur Input/Output Kontrolle. Der Microprocessor 36 wiederum kontrolliert die Verbindung zwischen MIO und seinen peripheren Einrichtungen, inklusive der Erzeugung von Unterbrechungen zur CPU 22. Zusätzlich führt der Microprocessor Diagnose Checks des Speichers durch, während Inbetriebnahme und wenn so von der CPU angeordnet. Er hat auch eine 300 Baud Diagnose Öffnung
4/0630 ORIGINAL INSPECTED
-yS-
37, die mit einem peripheren Stück 51 angeschlossen ist.
Dieser Auslass hat Möglichkeiten für Microprocessor Input/Chitput Programm Fehlerbeseitigung.
Wie in FIG. 5 gezeigt wird, gebraucht man asynchrone (ACIA) 43 für die Serien I/O Kanäle 30, mittels Verbindung mit dem Microprocessor Bus 43. Symbole, die durch eine Serienöffnung 30 kommen, werden durch den Microprocessor 36 · verarbeitet, bevor sie im Allgemeinspeicher 33 ankommen. Daher können, ohne Intervention der CPU, ein Symbol zur Zeit, Aufzeichnungsstop und Aufzeichnungsbeendigung mit einem "Durchführungs - Retour - Signal" oder anderen Abgrenzungen erfolgen. Parallel Input/Output wird direkt in den Speicher eingegeben, durch den Gebrauch der direkten Speicherzutritts-Kontroll Logik Technik. Das Erstellen von Übertragungszählungen und Abberufungen und Ausführung von Kommunikationsherstellung wird durch den Microprocessor durch einen parallel Zwischenverbinder 44 zusammen mit einem direkten SpeicherZutritts Logik Modul 45 kontrolliert. Ein direkter Speicherzutritts Bus 43, mit einer 32-bit Weite, verbindet das DMA Kontroll-Logik Modul 45 mit dem Allgemeinspeicher zwecks schneller Datenübertragung. Der direkte Speicherzutritts parallel Input/Output Kanal 28 ist daher ein 32-bit breiter Kanal und hat eine Input/Output Rate von 2.66 megabytes in der Sekunde; jedes Byte stellt 8 bits Daten dar. Der Microprocessor 36, im MIO Block, erläutert den Gebrauch von geläufigen Microprocessoren, um eine grosse Datenbasismaschine zu verbinden und zwar durch vorhandene Semiconductor ergänzte Umlaufteile. Solche Microprocessoren werden ähnlich für CPU IPB und Stromversorgungsmodule, um dieses Endresultat.zu erreichen, gebraucht.
FIG. 6A, 6B und 6C zeigen in schematischer Form die 3-Phasen Wirkung des MIO. Während Phase I hat die CPU 22 durch Bus 26 Zutritt zum Allgemeinspeicher in jedem zwischenverbundenen MIO 24. Während Phase 2 des Zeitzyklus, hat der niedrige Geschwindigkeits Input/Output Kanal 30 Zutritt zum
909834/0630
Allgemeinspeicher innerhalb jedes MIO, während in Phase 3 des Zeitzyklus der Parallel Input/Output Kanal 28 Zugang zu und vom Allgemeinspeicher innerhalb des MIO hat. Es ist daher ersichtlich, dass die Gebrauchsmenge von entweder dem Serien Input/Outout 30 oder dem parallel Input/Output 28 die Nutzung der CPU des Allgemenspeichers in jedem angeschlossenen MIO nicht schmälert. Das ist ein merkliches Abgehen von der konventionellen Bauart, wie in FIG. 7 ersichtlich ist, wo der DMA Input/Output Zutritts Speicher den Bus, der den Speicher mit der CPU verbindet, nützt. In einigen der fortgeschrittenern Bauarten oder Digital Computer ist ein Speicherzutritt ohne direkten Gebrauch der CPU möglich. Das heisst aber nicht, dass der Input/Output und die CPU unabhängig voneinander ablaufen. In einem konventionellem DMA Schema kommt es zu Übertragungen von und zum Speicher während des Exekutiv-Zyklus der CPU. Das funktioniert gut solange die Gesamtzeit, die von DMA Input/Output benötigt wird, geringer ist als die vorhandene Exekutiv-Zeit. Wenn die Input/Output Rate überschritten wird, wird entweder die CPU Ausführung rapide herabgesetzt, oder der DMA Input/Output kann die Input/Output Daten nicht annehmen, was zu katastrophalen Folgen führt. In der vorliegenden Erfindung kann jedes MIO eine 2.66 Megabyte Rate in den Allgemeinspeicher von jedem MIO unterstützen, unabhängig vom Bus 26 und CPU 22. Da Speicherzutritte durch die CPU mit Input/Output in einen MIO Zeitzyklus eingestuft sind, kann die CPU Berechnungen aus demselben Speicher durchführen, in den eine 2.66 Megabyte Direktspeicher-Zutrittsubertragung läuft, ohne einer CPU Verlangsamung.
Gleichermassen, bei der Handhabung■von Serien Input/Output Einrichtungen wie Wechselwirkung Terminals, werden meist die Interpretation jedes erhaltenen und oft auch Antwortsymbols gebraucht. Wie in FIG. 8 gezeigt wird, wird dies-in einer konventionellen Bauweise-durch Unterbrechung der CPU nach jedem Symbol getan. Diese CPU benötigt viele CPU Zyklen, um seinen gegenwärtigen Stand zu speichern, die Symbole zu
909834/0630
ORIGINAL INSPECTED
-Pl-
.34· 2302862
interpretieren und um den vorherigen Stand wieder herzustellen. Das limitiert die Anzahl der Simultan Serien Input/Output Kanäle, die von der CPU verarbeitet werden können. Z.B., wenn die CPU 1OO Microsekunden braucht für 1 Symbol, so beschränkt das das System auf 10 9.600 Baud Öffnungen. Um mehrere Öffnungen zu schaffen, muss man externe Processor zufügen für die Kontaktherstellung. Das macht das System komplexer und offensichtlich teurer. Bei der vorliegenden Erfindung sind dieser"externe" Processor in das MIO eingebaut, und diese funktionieren innerhalb der ablaufenden System Software, angeschlossen an Computer 20. Zur Folge, kann der Computer 20 in einer einzigen CPU simultan mit voller CPU Berechnung, bis zu 60 öffnungen bedienen, wobei jede bis zu 9.600 Baud verarbeitet. In dieser Zusammenstellung, würde es-wie in FIG. 2B gezeigt 15 MIOs geben, jedes MIO mit 4 Serien Input/Output Kanälen. Dieser Aufbau wird später langer behandelt.
So wie jedes MIO ein 3-Phasenzeitsystem für die Benützung seines Allgemeinspeichers mit angeschlossener CPU, seiner Serien Input/Output und seinen parallel Input/Output benützt, so ist der Bus 26 auch ein 3-Phasen Bus. Jede einzelne des 3-Phasenzeitzyklus hat eine Dauer von 0.5 Microsekunden, synchronisiert mit den Phasen des MIO. Diese 500 Nanosekunden Zeitöffnung genügt, damit der Bus auf seiner ganzen Länge mit jedem der damit verbundenen Module, in Verbindung ist. Bei dem vorliegenden Computer hat der Bus 32 Daten/Anschrift Linien, diese werden in einer des 3-Phasenzeitzyklus als Address-Linien und in einer anderen Phase als Daten-Linien verwendet. Es gibt auch 8 singulare Selekt CPU Unterbrechungsebenen, die von den Microprocessoren mit. angeschlossenen MIOs kontrolliert werden. Ausserdem gibt es Kontroll-Linien, mit denen die CPU jeden der MIO Microprocessoren unterbrechen kann.
Wie in FIG. 9 gezeigt wird, liest der Bus Information vom MIO durch die CPU während Phase 1 ab, und zwar indem er die Anschrift auf den Bus gibt, der angeschlossen ist an die Daten, die abgelesen werden sollen. Diese sowie alle anderen
909834/0R30
ORIGINAL INSPECTED
23Q2862
Daten, verbunden mit Bus 26, werden in Puffern innerhalb jeder MIO Bus Zwischenverbindung gespeichert. Da jedoch der Anschriftraum für Daten in alien MIOs eine einzigartige abrufbereite Position hat, ist die Tatsche, dass MIO (ausser den mit der gewünschten Anschrift) die gewünschte Anschrift, von der CPU auf den Bus placiert-lesen, unwesentlich für die eigentliche Wirksamkeit des Systems.
In Phase 2 transferiert das MIO mit der zugehörigen Anschrift Daten vom Allgemeinspeicher zum Buszwischenglied und macht Daten für den Bus brauchbar. Dieser Phasen 2 Lesezyklus korrespondiert mit dem Phasen 1 Zyklus für das MIO, v/o der Allgemeinspeicher des MIO zum Datenbus verbindbar ist. Während Phase 3 des Buszyklus, liest die CPU die durch das MIO auf den Bus placierten Daten ab. Durch Eintritt in den Schreibzyklus, kann die CPU abweschselnd verursachen, dass Daten, die während Phase 2 auf den Bus placiert werden, in einem gewünschten Allgemeinspeicherort einer anderen MIO gespeichert werden. Das bewirkt eine rasche Datenübertragung zwischen den MIOs. Zu diesem Erfolg kommt es, da alle MIOs "Zuhören", wenn CPU oder andere MIO Daten auf den Bus geben. Dieses "Zuhören" wirkt sich nicht nachteilig auf deren eignen 3-Phasen Zeitzyklus aus.
Eine bildhafte Darstellung eines Schreibzyklus wird in FIG. 10 gezeigt. In diesem Fall hat Phase 1 des Busses die CPU, welche Anschrift auf den Bus lagert zur Unterbringung in einem bestimmten MIO, wo Daten abgelegt werden sollen. Während Phase 2 des Buszyklus, bringt die CPU Daten auf den Bus zur Speicherung in den Zwischenverbindungen des MIO, während sonst das MIO innerhalb Phase 3 Daten mit korrektem Anschriftraum von seiner Busverbindung zu seinem Allgemeinspeicher 33 überträgt. Daher korrespondiert die 3. Phase des Schreibzyklus mit der ersten des MIO Zyklus, in dem das MIO duch den Bus Zutritt von und zum Allgemeinspeicher gewährt.
Wie vorher erklärt, kann das MIO 1 32-bit Wort in oder aus dem Allgemeinspeicher entlang seines DMA Input/Output Kanals einmal in jeder 1.5 Microsekunde transferieren. Die bildhafte Darstellung solcher Parallel Durchführung des MIO
IGINAL IWSPECTED
33· 2302862
wird in FIG. 11 gezeigt. Sobald der Parallel Transfer von Daten begonnen hat, wird er in den Allgemeinspeicher 33 vom Parallel Kanal 28 ohne Gebrauch des Microprocesser 36, der mit dem MIO Modul 24 angeschlossen ist, gelenkt; :unabh.ingig von Bus 26 oder CPü. Der ursprungliche Aufbau von Datentransfer wird vom Microprocessor 36 durch PIA (FIG. 5) kontrolliert.
übertragung wird durch Microprocessor 36 begonnen, der die Speicheranschrift und Daten Zählung für den Transfer hat. Nach Beendigung der übertragung, unterbricht der Microprocessor die CPU oder fährt mit zusätzlichen Datentransfers fort bis ein Unterbrechungsbefehl für die CPU erfolgt. Diese Unterbrechung der CPUs wird auf einer der 8 Unterbrechungslinien, die an Bus 26 angeschlossen sind, ausgeführt.
Hardware Kontaktherstellung gelingt durch eine Bereit/ Beendet Kontroll-Linie 47, bei sowohl Input als auch Output. Das Parallel MIO ist auch mit 2 Serien ASCII Kanälen 30 ausgestattet, um den Terminals in einer solchen Struktur zu ermöglichen an das MIO angeschlossen zu werden. Man sollte beachten, dass der Aufbau, entworfen für das MIO, den Phasen 2 Zyklus des Speichers nicht auf 2 Serien-Input//utput Kanäle limitiert, sondern in seinem architektonischen Sinn unbegrenzt ist. Es ist dies bloss die Grosse der gedruckten Umlaufebene wohin das MIO fabriziert wird, die den Serienkanal auf 2 begrenzt, wenn der direkte· Speicherzutritts-Parallelkanal gebraucht wird.
FIG. 12 zeigt den Gebrauch eines MIO für den Serien Input/ Output allein. In dieser Darstellung können bis zu 4 Serien ASCII Kanäle simultan Zugang zum Allgemeinspeicher 33 haben. Jeder Serien ASCII Kanal hat wählbare Geschwindigkeiten bis zu 9,600 Bauds. Zu einer Serien-Kanal Verschmelzung Kommt es durch 4 Kabel und gehorcht voll dem RS 232 Protokoll; dieses Protokoll ist bekannt. Übertragungen geschehen durch ein Symbol zur Zeit, fixierte Längen Aufzeichnungei zu einer Zeit, oder variable Längenaufzeichnungen mit Termintarsymbolen. Alle Symbole werden vom Microprocessor 36, der mit dem MIO angeschlossen ist, kontrolliert.
OhIGIMAL INSPECTED
-Zo-
FIG. 13 beschreibt den Gebrauch eines MIO, um bis zu Scheiben 48 und 49 auf 2 separaten Parallelkanälen, angeschlossen an das direkte Speicherzutritt Verbindungsglied 38, zu kontrollieren. Diese Scheiben können als externe Einrichtungen 31, wie in FIG. 1 ,erläutert ,. angesehen werden. Die Scheiben haben auf jedem Kanal 28 eine Simultan-Transferrate von Megabytes in der Sekunde. Die Kanäle sind gänzlich unabhängig und gestatten dass das Lesen und Schreiben (Aufzeichnen) simultan auf beiden Scheiben ablaufen kann. Der Microprocessor 36 handhabt in Zusammenhang mit dem Hardware Kontrollor auf der direkten Speicherzutrittsverbindung die gesamte Kontaktaufnahme mit den Scheiben inklusive Fehlererkennung und Korrektur.
Weder die CPU noch Bus 26 werden bei der Datenübertragung benützt; damit ist der Grund für eine Systemverlangsamung total eliminiert. Multiple Scheiben MIOs können an einen einzigen Bus angeschlossen sein, wobei jeder unabhängig von den anderen MIOs im zwischenverbundenen CPU Gebiet, abläuft.
FIG. 13A ist ein'detailierteres Blockdiagramm einer CPU 22. Die zentrale Verfahrenseinheit (CPU) ist um Serienteilscheiben Logik Series Bit Slice Logik gebaut und gebraucht in der bevorzugten Darstellung der vorliegenden Erfindung 2901 Teilscheiben Logikserien von Komponenten, die von Motorola und Advanced Micro Devices in 901 Thompson Place, Sunnyvale, California 94086 hergestellt werden. Diese Reihe an Enrichtungen ist ein variabler Weiten-Processor, der von einem aufzeichnungsfähgen Kontrollspeicher 52 kontrolliert wird. Im Grunde ist der Teilscheiben Processor eine Serie von 4-Teilstücken, die Seite an Seite angeordnet sind, um ein 64-bit Wort zu schaffen, welches in der CPU 22 verwendet wird. Für arithmetische Aufgaben gibt es auch Vortrags und Leihteile, die entweder nach rechts oder links vom 64-bit Wort geschoben werden können.
Befehle an die CPU verursachen Micro-Befehle, die vom schreibfähigen Kontrollspeicher ausgeführt werden. Bei dieser Erfindung hat der aufzeichnungsfähige Kontrol-Aufbewahrer
909834/0690
ORIGINAL INSPECTED
einen 4,0OO χ 128 bit Speicher. Die Microbefehle sind programmierbar, um dem Gebraucher Flexibilität zu erlauben. Die CPU hat 16 32-blt Allgemeinzweck Register.
Wie früher erwähnt, ist der Speicher, der mit jedem MIO 24 verbunden ist, 32 bit weit. Das bedeutet, dass 32 bits an Informationen jede 500 Nanosekunde in und aus dem Speicher bewegt werden können- Jedoch ist der Allgemeinspeicher des MIO mit der CPU nur während einer der 3 Phasen des 1.5 MicrosekundenZeitzyklus verbunden. Daher sieht die CPU nur ein Drittel der Nanosekunden Rate, die mit den 32 bits jede 1.5 Microsekunden korrespondiert. Auf diese Weise kann der Computer den Speicher im höchsten Masse seiner Leistung ausnützen, ohne die Durchführung zu schmälern. Ausserdem . wird für eine relativ verlässliche Buswirkung gesorgt, da der Bus 26 nicht gezwungen wird jede 500 Nanosekunden volle Datentransfers auszuführen. Die 2900 Serienteilscheiben Logik die in der CPU 22 verwendet wird, läuft in einem Zeitrahmen von 50 bis 125 Nanosekunden ab, sowie es der aufzeichnungs'fähige Speicher kann« In dieser Bauweise können daher alle ausgesuchten Komponenten zu deren vollen Nutzen arbeiten. Gegenwärtige bekannte Spex.cherzutittszeiten haben in den 500 Nanosekunden-Mass eine hohe Verlässlichkeit, wie sie im Allgemein - und Aufzeichnungskontrollspeicher verwendet itferden, während der Bus 26, wenn er gebraucht wird um bis zu 15 MIOs und eine angeschlossene CPU zu bedienen, bei einer Lange von ca. 10 Fuss, eine verlässliche Geschwindikeit im 1.5 Microsekunden Ausmass hat. Daher läuft der Bus in einer bequemen Geschwindigkeit, während der Speicher im MIO dies ebenso tut, während die Teilscheibenstücke in der CPU in einer Geschwindigkeit, die mit den anderen Linien Komponenten vereinbar sind, ablaufen. Bei dieser Erfindung gibt es keine künstlichen Stauungen« Die vorliegende Erfindung ist eine Computerbauweise, die die Maximalanzahl von Verarbeitungsbits in einer bestimmten Aufbauform gebraucht.
Bezugnehmend auf FIG. 13A, inkorporiert die CPU weiters einen Microprocessor 54, dessen Aufgabe in der Hardware Diagnose und in der Versorgung des Microcodes in aufzeichnungsfähige Kontrollspeicher besteht, wenn so gekennzeichnet und bei
©09834/068Θ
-7/1-
Stromzuführung (Inbetriebnahme). Daher ist der Microprocessor 54 bei der eigentlichen Berechnung der CPU nicht verwickelt. Eine Standard Microcode Menge kann innerhalb des aufzeichnungsfähigen Speichers gebraucht werden, um ein grosses Mass an logischen fixen und schwebenden Punktvorgängen zu unterstützen.Der Aufzeichnungsspeicher 52 wird für Befehlsentwicklung gebraucht, um mit Software, die in konventionellen Maschinen üblich ist zu arbeiten. Der 6 4-bit breite Bitscheiben Processor 50 ist in Wirklichkeit in seiner Funktion auf 3 Dinge beschränkt - bit nach rechts und links zu verschieben, in einer binären Weise zu addieren, oder Register zu selektieren. Ein Multiplizier-Befehl ist daher nicht im direkten Ausführungsrahmen eines Bit Slice Processor. Eine Multiplikation ist in Wahrheit eine Folge von Additionen und Verschiebungen, sodass ein Unterprogramm, das die entsprechenden Register "addieren" und "verschieben" aussucht, im Aufzeichnungsspeicher beherbergt ist. Wenn eine normale Software eine "Multiplikation" kennzeichnet, so geht ein. Zeiger zum entsprechenden Unterprogramm im Aufzeichnungsspeicher, der wierderum den Bit Slice Processor anweist wie der ergangene Befehl verarbeitet werden soll. Der Aufzeichnungsspeicher bewahrt den Microcode für die Ausführungsinstruktionen auf.
Der Gebrauch eines 64-bit breiten Wortes im CPU ermöglicht den Computer hohe Präzisions Arithmetik mit Doppelwortgenauigkeit duchzuführen. Zwei zusammenhängende 32-bit Worte werden innerhalb des Akkumulators des Bit Slice Processors Seite an Seite gestellt, sobald ein arithmetischer Vorgang von solchen Daten durchgeführt werden soll. Z.B. wenn eine Multiplikation von zwei 32-bit Werten durchgeführt wird, so erscheint das Resultat als ein 64-bit Wort und es ist daher viel leichter einen 64-bit als einen 32-bit Akkumulator zu verwenden.
Eine grundsätzliche Anzahl von Microcodes, die im Aufzeichnungsspeicher gespeichert wird, kann die Programm-Sprache, normalerweise vom Benutzer gebraucht, darstellen. Es gibt allerdings die Möglichkeit seinen eigenen Microcode für spezielle Anforderungen zu schreiben.
90983A/0630
2902882
16 32-bit Register 89 sind, für den generellen Gebrauch auch in der CPU 22. Letztlich erzeigt eine Uhr 56, die mit Bus 26 verbunden ist, den 3-Phasenzeitzyklus, wobei jede Phase eine Dauer von 0.5 Microsekunden hat. In Hinblick auf FIG. 1, sollte beachtet werden, dass die erste CPU 26 einzig für den Gebrauch der Zeitfunktion gebraucht wird. Wenn andere CPU durch Zwischenverarbeitungspuffer (IPB) an die erste CPU angeschlossen werden, so wird die 3. Zeitphase der ersten CPU für die Verbindung zwischen IPB und der zweiten CPU gebraucht, so wie CPU 26'. Damit wird der 3. Zeitphasenzyklus der ersten CPU als erster Zeitzyklus der zusätzlichen CPU dargestellt. Der Unterbus 26' ist tatsächlich ein Sklave und wird durch die Zeitzyklen der 2 CPU nicht aktiviert, nur durch Zeitzyklen der ersten CPU. Die Schaltung innerhalb der zusätzlichen CPU synchronisiert seine Uhr und erlaubt Toleranz für die Abweichung vom normalen Elektronenwinkel.
PIG. 14, 15 und 16 zeigen die Verpackung von Computer 20. Der niedere Sockelteil 58 beherbergt die konstanten Stromtransformatoren und Rektifizierer, notwendig für die' Erzeungung des Starkstroms für Energieversorgung der Stromversorgungsmodule 59, die wechselweise gebraucht werden, um die CPUs 22, MIOs 24 und IPBs 32 mit Strom zu versorgen. Die MIOs, IPBs, CPUs sind individuell in Blöcken 60 untergebracht, die kombiniert mit dem Stromversorgungs modul 59 und Busmodul 61 die sogenannte funktionelle Unterstützungseinheit 62 bilden. Diese Unterstützungseinheit ist daher eine Unterbringung und Stromversorgung für 2 Blöcke, wöbe jeder Block entweder ein CPU, MIO oder IPB sein kann. Diese Blöcke sind installierbare Module. Die Stromversorgung j 59 liefert den fliessenden Starkstrom, um jeden Block 60 mit Energie zu versorgen. Die Stromversorgung 59 beinhaltet ein CRT 64 und 4 Kontrollschalter, welche von einem Microprocessor kontrolliert werden, der in der Stromversongung sitzt. Einfach gesagt, wird die CRT gebraucht, um den Hardware Status der ; Blöcke 6O und der Stromversorgung 59 darzulegen. Die Schalter werden zur Hardware Kontrolle der ,Blöcke 60 Gebraucht. Wie klar aus FIG. 15 ersichtlich ist, können die funktioneilen Unter-
909834/0630
-Kk-
stützungseinheltein auf einander aufgestockt werden. Zustätzlich kann, da die MIOs DMA Input/Output mit einer Scheibe verbunden werden können, ein Scheibenkraftmodul 66 auf dem Sockel 58 placiert werden, was im Wesen bedeutet/ dass es den Platz einer der funktioneilen Unterstützungseinheiten einnimmt.
Fig. 16 zeigt im Detail die innere Zusammensetzung der funktioneilen Unterstützungseinheit. Die Input/Output Kanäle von den Blöcken 60 gehen aus dem hinteren Teil der Blöcke 60 heraus. Diese Blöcke haben eine ungefähre Relais-Rahmen-Weite und diese 2 können in und aus der funktionellen Unterstützungseinheit 62 gleiten.
Die Scheiben innerhalb des Scheibenkraftmoduls 66 sind Winchester Typen und haben bewegliche Köpfe. Diese Scheiben haben ein nicht entfernbares Speichermedium. Da die Köpfe mit dem verschlossenen Speichermedium integriert sind, ist keine Kopfaneinanderreihung notwendig so wie bei anderen Typen des Scheibenkraftmoduls. Die Datenübertragungsrate . beträgt 1.2. Megabytes/Sekunde, und erlaubt dabei jedem MIO 2 Scheibenkraftmodule zu bedienen. Die Achsengeschwindigkeit dieser Module ist 3,600 Umdrehungen in der Minute, während die Zuganszeit 10 bis 60 Millisekunden ist, im Durchschnitt 8.3 Millisekunden.
Wie gut aus FIG 17 zu ersehen ist, ist ein CRT Terminal 68 die Basiseinheit über die der Gebrauch mit dem Computer kommuniziert. Dieser Terminal (Klemmen) ist daher eine der externen Einrichtungen 31, in FIG. 1 gezeigt, die mit einem der MIO Input/Output Kanälen zwischenverbunden werden kann. Dieser Terminal beinhaltett einen CRT Schirm 69, der eine höhere Verbindung zwischen Gebraucher und Computer ermöglicht. Er hat ein volles oberes und unteres ASCII Schaltpult 70, ebenso einen 3M Schlittenbands Behälter 71 für den Gebrauch von Programm beschaffung und Speicherung. Die Klemmen (Terminal) können mit einem der Serien ASCII öffnungen 30,
90983A/0S30 «Μ»
2902362
die mit den MIO's verbunden sind, in Verbindung stehen und kommunizieren mit den MIO's in 9.600 Baud. Andererseits könnte der Terminal von einem der DMA Input/Output öffnungen 28 arbeiten, um innerhalb eines bestimmten MIO für eine ganzseitige Realzeit Aufzeichnung von Daten zu sorgen. In dieser Zusammensetzung kann der Gebraucher wie in einem Buch mit entsprechender Kontrolle, tatsächlich durch die "Seiten", von den in MIO's gespeicherten Daten "blättern". Dieser Vorgang, der vom CRT Terminal 68 aus kontrolliert werden kann, kann einen Weg zum einfachen Informationszutrittse Speicher ermöglichen, wenn eine "bestimmte Abberufung unbekannt ist.
FIG. 18 zeigt einen Zeilendrucker 72, der als externe Einrichtung 31 mit einem der Serien Input/Output Öffnungen 30, angeschlossen an MIO 24, verbunden sein kann. Der Zeilendrucker wird von Printronix in 17421 Derian Avenue, Irvine, California 92714 hergestellt. Er hat eine Druckkapazität bis an die 300 Linien in der Minute. Er hat einen Schablonendrucker and kann einen vollen oberen und unteren ASCII Satz drucken. Es können bis zu 132 Spalten- weit auf bis zu 6 Teilen Papier gedruckt werden. Dieser Drucker hat ein vollständiges graphisches Vermögen und kann graphische Darstellungen und Zeichnungen bis zu 1000 Punkten pro Linie hervorbringen.
FIG. 19 zeigt die Arten von Befehlen, die vom Computer 20 verwendet werden. Die CPU 22 führt 32-bit Macrobefehle 73 durch, die sie von einem der Allgemeinspeicher 33, die mit einem MIO 24 angeschlossen sind, erhält. Diese Macrobefehle haben den ähnlichen Operationscode, Quelle, Bestimmung und Umwandlungsformat. Die CPU führt einen Befehl durch eine Serie von Micro-Instruktionen 74 durch, die den 2900 Series Bit Slice Processor 50 kontrolliert, der mit der CPU verbunden ist, aus. Macrobefehlsweisen die inkludieren sofort, Register, direkt, indirekt, indiciert und zusammengestellt. Die Datenbeschaffenbeit beinhaltet bit, byte,
0 9 8 3 4 / 0■ ß S ö
INSPECTED
Halbwort, Wort, Doppelwort, schwebendn Punkt, Doppelpräzision, Schwebepunkt, Dezimal. Die Befehle können natürlich varieren. Die in FIG. 19 gezeigten Befehle sind spezifisch für eine Anwendung, die einen 2900 Series Bit Slice Processor mit einer besonderen Sprache für den beschriebenen Computer verwendet. (Pseudonym "FASL".) Wie in FIG. 19 gezeigt wird, braucht die Ausführung des Befehls zuerst ein Einholung vom Allgemeinspeicher 33 für die Macro-Instruktion; die Macro— Instruktion zeigt zu einem bestimmten Code-Nest hin, dass den 2900 Series Processor in eine spezielle Zusammenstellung bringt, und zwar durch den schreibfähigen Kontrollspeicher 52. Das Resultat kann für einen späteren Verwendungszweck in einem kurzzeitigen 32 bit Register 89 aufbewahrt werden. Dieses Verfahren der Befehlseinholung und Lösung ist gut in Literatur über den 2900 Series Bit Slice Processor beschrieben.
UNTERTEILUNGS, DETAILS BUS BESCHREIBUNG
Ein wichtiges Merkmal des Busses ist, dass er synchron ist, so wie alle System Aktivitäten sind, die den Bus als Sync Referenz benützen. Obwohl das nicht zu einem Maximum in der Transfer Rate führt, so wird doch eine Vorhersage und eine gänzliche übersehbarkeit des DMA und Microprocessor Vorganges sicher gestellt. Mehr noch, die 1.5 Microsekunden Busübertragungszeit "gestattet eine Vervielfachung von Abberufung und Daten auf den Bussignallinien. Innerhalb der CPU, werden Microcode-Zyklen zur 500 Nanosekunden Uhr synchronisiert, sodass eine Resynchronization nicht notwendig ist und alle System Aktivitäten gehen ohne vorhersagbare Phasen Beziehungen vor sich.
Bus - Einleitung
Diese Spezifizierung definiert den Hauptbus des Digital Computer 20. Der Bus ist ein massig geschwindes, paralleles Zwischenglied zwischen Blöcken 60; er sorgt für einen in 2 Richtungen gehenden Datenübertrag, Start-System-Aufbau, und für alle Kommunikationen zwischen den Blöcken.
§09834/0830
Die Busverbindung besteht aus 3M-Stil flachen Kabeln und Verbinder. Die Signale laufen nicht parallel zu den Blöcken und alle Öffnungen im Bus sind identisch.
Der Zeitablauf am Bus erfolgt in einem 3—Phasen Zyklus. Jeder Zyklus ermöglicht dem Bus einen Speicherzutritt. Eine Phase ist dem lokalen Microprocessorzutritt und der Aufrischung jedes grossen RAM 41 in jedem Block gewidmet. Die 2. Phase wird für den Buszugang zum RAM verwendet, und die 3-Phase wird für DMA Datentransfers verwendet, die einem hohen Geschwindigkeitstransfer benötigen.
Alle Busvorgänge laufen auf vollen 32-bit Worten. Die CPU 22 kann einen Byte umwandeln, wenn sie die anderen 3 Bytes zur gleichen Zeit umschreibt.
BUS - MECHANISCH (Siehe FIG. 1, Bus 26)
Der Bus wird von 3 50 - Konduktor 3M - Stil flachen Kabeln getragen; jedes Kabel stellt 22 Signaldrähte, 4 + 5v Drähte und 24 Erdungen.
Eine Kabelvereinigung besteht nur aus Kabel und weiblichen VerbindungsstücKen. Angenommen, dass jeder Block Busverbindungen nur auf seiner niedrigen Ebene hat, so werden noch 2 weitere Verbindungsstucke mehr als Blöcke im System sind gebraucht. Eine Klemme steclt an jedem Ende des verbleibenden Verbindungstückes.
Alle Klemmen sind identisch. Jede besteht aus 44 Widerständen, 3 Ladebehälter und 3M männlichen Verbindungsteilen. Das sollte in einer passenden Öffnung in der Seite der oberen und unteren Blöcke auf dem Bus untergebracht sein.
Die Kabel-Länge sollte 20 Fuss nicht überschreiten, in diesem System, eher 10 Fuss. Die 3 Busverbindungstücke besetzen die 3 der 6 vorhandenen vordersten Positionen am Rand der niederen Ebene in jedem Block. IPB Blöcke verwenden die hinteren 3 Positionen.
909834/0630
ORIGINAL INSPECTPö
Alle Verbindungsstücke haben gleiche Aufgaben, sodass identische Klemmen benutzt werden können. Weiters kann jedes Kabel oder Klemme auch verkehrt angesteckt werden und wird dennoch richtig funktionieren.
Jedes Signal wird von 2 Erdungen abgeschirmt. Die CPU versorgt +5v auf Stiften 24 bus 27 für die Klemmen (max. 1.32 amp pro Kabel).
BUS - ELEKTRISCH
Bus Logik Ebenen sind offene Sammel "Teil-Linien" TTL. Empfänger mit Hysterese oder hohe Schwellen (Grenzen) werden gebraucht, um Lärmunempfindlichkeit zu gestatten. Mit Ausnahme von speziellen Stromfolge Kontroll-Linien, sind alle Signale tatsächliche hohe oder niedrige Stromsammler.
Jede Buslinie ist an beiden Enden mit einem 120 equivalent Wiederstandsunterbrecher ausgestattet, der - wenn Linie offen ist - eine +3ν Minumum Stufe schafft. Der Stromkreis muss im Stande sein ein Minimuni von 60 mA, maximal 0.8v zu sinken. Empfängerschwellen müssen einen 1 Volt Minimum Lärmschutz bei hohen und niedrigen Stufen garantieren.
Ein empfohlenes Klemmengeflecht wird in FIG. 23 gezeigt.
Andere zu empfehlende Senderempfänger sind AM 26SIO, AM26S11 (2. Bezug von Tl) AM 29OS-7 (2 Bezug von Motorola). All diese Einrichtungen können 100 ma .8 ν. sinken und sind daher annehmbare Stromkreise für alle Linien. Alle sind vierfach. ■·
Im vorliegenden Entwurf wird der AM 26SlO SendeEmpfänger verwendet.
FIG. 24A und 24B zeigen einen Vergleich zwischen Schwellen und zeigen typische Kabelwellenformen. UHR
Die Uhr 56 ist vom Bus und Systemsignalen gut isoliert, um Lärm und Verdrehung von steigenden und fallenden Rändern auf ein Minimum zu beschränken. Jeder Rand kann von einem Block für die Regelung gebraucht werden. Der fallende Rand
9098 3 4/0
-76-
ist das erste Zeitereignis. Schwingungsbewegungen am Empfängerauslass innerhalb eines Blocks, sollten + 2+ ns am steigenden Rand nicht übersteigen. Assymetrie der Uhrwellenformen, wie bei der Empfängerleistung innerhalb eines Blocks gesehen, sollte - IO nSek vom Nominal Mittelpunkt jedes Uhrintervalls nicht übersteigen. FIG. 25 beschreibt dies Uhrwellen formen. SYSTEM REGELUNG
UHR und Winkel (Siehe FIG. 13A +26).
Die Systemregelung geht von einer einzigen Phasen Uhr 56 bei 4.00 MHz, 50% AblaufZyklus aus. Es ist durch einen 8.0O MHz Kristall Oszillator verursacht und einer elektrischen Komponente auf der CPU Tafel und ist weiters mit Bus 26 mit einem Standard Hochstrom Sammler gesteuert.
Die Uhr ist augestattet mit Standardempfängern, die Hysterese haben. Das, plus der Verzögerung entlang der Buslänge, bedeutet, dass der Blockempfang wo das Ende der Uhr zusammentrifft, bis zu - 5On vom CPU Empfang des gleichen Uhrendes abweichen kann. Da nur ein Empfänger pro Block auf dem Bus sein kann, muss der Block die Leistung dieses Empfängers als seinen Ausgangspunkt gebrauchen.
Zum ärgsten Fall kommt es mit CPU und -beschrifteten Block an gegenüberliegenden Enden des Kabels.
Sowohl CPU als auch Block benützen den gleichen Empfänger Typ von verschiedenen Herstellern etc., die ziemlich verschiedene Ausbreitungs - Verzögerung haben können. Das Signal, welches die Uhr in der CPU antreibt ist ungünstig, da in den Zusammensetzungen in Multiprocessors, die IPB eine Linie "SKLAVE" genannt herunterzieht, welche die Uhr und Sync Antiebe in der CPU unbrauchbar macht. Auf dem Sklavenbus (Z*B. 26' in FIG. 1) werden die Uhr und sync vom IPB gesteuert.
Wenn man eine Ausbreitungsverzögerung von 2ns/ft. maximal erreichen will, so würde ein 10 ft. Bus eine 2O ns Differenz zwischen dem selben bezogenen fallenden Ende an gegenübeliegenden Enden des Busses verusachen, ein 25 ft. Bus würde eine 50 ns Differenz ergeben.
909834/OBSO
Beim Gebrauch von 26S1O, beträgt die VerbreitungsVerzögerung 30 ns; typisch ist 18 - 20 ns, Minimum unbestimmt, konservative Schätzung 5 ns, im Gesamten einen 25 ns Winkel, verursacht durch Unterschiede zwischen den Chips. Wenn die CPU einen schnellen Empfänger und der Block einen langsamen hat, so ist der Gesamtwinkel +75 später, als die CPU das Uhrende sieht.
Um zu enmöglichen, dass das Datum für eine Kante mehr verbleibt (egal welcher Pol), braucht man ein Minimum von 100 ns Abweichung, welche das Ärgste für beide Enden handhaben sollte. Der ärgste negative Winkel wäre ein schneller Empfänger, der eine langsame Empfänger CPU an gegenüberliegenden Busenden steuern würde. Die CPU würde 75 zurückbleiben ns, sodass eine 25 ns Abweichung gesichert wäre,· wenn die gegenüberliegenden Uhrkanten in Gebrauch sind. Um eine Übereinstimmung der Buszeit zu sichern, treiben alle Einheiten die Busuhr an den fallenden Kanten an (wie am Bus selbst). Alle Einheiten erhalten Signale von der Busuhr auf den vorherigen steigenden Enden. Das Signal, SYNC genannt, ist ein spezieller Prozess. Dieses Signal ändert sich beim steigenden Ende der Uhr.
System Übersicht
FIG. 1+27 zeigen eine Ansicht des Digital Computer 20. Ein Grundsystem besteht aus Bus, CPU und einer oder mehrerer MIO Einheiten. Maximal 16 Blöcke (bestehend aus MIO's, IPB's oder Scheiben), können an den Bus angeschlossen sein. Multiprocessor Zusammensetzungen werden durch den Gebrauch des IPB erreicht. Wie in FIG. 16 zu sehen ist, sind Blöcke 6O in funktioneilen Unterstützungseinheiten 62 (FSU) aufgebaut. Eine FSU besteht aus maximal 2 Blöcken und einer eigenen Stromversorgung. FSU sind auf einem Sockel zusammengestellt. Blöcke sind durch den Bus verbunden. Bestimmte Bussignale sind auch für die FSU brauchbar.
Ein einzigartiges Merkmal des Digital Computer ist, dass jeder Block im System, inklusive der Stromversorgung, vom Microprocessor kontrolliert wird. Ein Motorola 6800
9 0 9 B 3 /, / 0 Rl O ORIGINAL INSPECTED
ermöglicht einige Funktionen auf jedem Block inklusive: Modulstart, Diagnose Vermögen, I/O Handhabung und DMA Kontrolle. Die genauen Funktionen jeder 6 8OO auf jedem Modul werden im Abschnitt über das Modul besprochen. HARDWARE AUSWAHL
Eine bedeutende Eigenschaft des Digital Computer Systems ist der ausgiebige Gebrauch des dynamischen WMOS RAMS. Zur Zeit ist dies die dichteste Form der gut eingeführten Speichertechnologie. Die CPU benützt 4K RAM's in seinem Microcode - Speicher und MIO's benützen 16K RAM als primäres "Herz" des Systems. Diese Einrichtungen wurden wegen der Verwendungsmöglichkeit in der Semiconducter-Industrie gewählt, mit 64K Chips am Horizont und 16 K RAMS festgesetzt. Motorola wurde als beste Quelle für dieses Chip augesucht,· hauptsächlich wegen der Volumen - Produktions Kapazität. Diese Bestandteile sind zusätzlich von anderen Verkäufern erhältlich. Eine konservative Zeitnehmung erlaubt den Gebrauch von höchsten Ertragsteilen. Da Dynamic NMOS Speicher hohe verwendbare Inputs haben und da sie - bei Betrieb-St'romschwingungen verursachen, wurde grosses Augenmerk auf Addressensteuerung und Speicherstromverteilung gelegt. Wie vorher besprochen, dienen lokale Regulierung und Zusammenschlussumlauf zum Schutz der Chips gegen Vorkommnisse sowie Verfahrensmissbrauch. Diese Technik tendiert die gegenwärtigen Schalterschwankungen von anderen Stromversorgungsbussen zu isolieren.
Die CPU arithmetische Einheit benützt den AMD 2901 Bipolar 4 Bit Slice Microprocessor Chip. Dieser Chip ist allgemein in der Industrie im Gebrauch und bei einigen Verkäufern erhältlich. Die neuen 2903 Chips enthalten einige Verbesserungen, inklusive eine verbesserte multiplizier und dividier Logik und Register Karten-Ausdehnungs Hacken. Der 6800 Motorola Microprocessor wird weitgehend im System gebraucht. Firmware Enticklungsanlagen und Techniken können dadurch standardisiert werden. Standard ROM's, RAM's und
909834/06S0
Peripherien werden mit dem Microprocessor in solcher Weise benützt, dass jedes Modul eine einheitliche Speicherkarte und eingebaute Fehlerbeseitigungsöffnung hat. Massenspeicher gibt es in 2 Typen: Winchester Disk und 3M Data Cartridge Kasette. Die erstere Technologie verwendet einen strahlenförmigen Arm mit beweglicher Kopf Zusammensetzung innerhalb einer verschlossenen Patrone. Die Kopfstellung verwendet eine bereits aufgezeichnete Servospur auf einer der Scheibensoberflachen als einen Feedback Mechanismus für Sucher. Die Control Data Corporation 24 und 80 Megabyte (ohne Format) können verwendet werden. Die Scheibe wird hauptsächlich für Gross-Speicher und nicht für Tausch, benützt. Bei Gebrauch werden grosse (4K byte Records) über einen DMA Kanal zum MIO, das transparent zum Systembus ist, übertragen. Der 6800 der sich auf dem Scheiben Kontroll MIO vefindet wird die Aufzeichnungsnummer, an eine physikalische Scheiben-Addresse übersetzen und wird die angeordneten Operationen die Daten zum Speicher zu übertragen, durchführen. Kartenbandbabung ist sehr leicht bei Spurersetzung und Schutz gänzlich von den Tafeln die lokal vom 6800 gespeichert werden, ausgeführt. Die reduzierte Anzahl an Suchern, die von der Scheibe ausgeführt wird, sollte die gesamte MTBF erhöhen.
Die 3M Bandkasetten, welche sich im Gebraucher Terminal (TAP) befinden, werden meist für Laden von Karten verwendet. Sie werden nicht als aktive Speicherbestandteile verwendet und damit beschränken sie die Anzahl der Durchgänge über den Bandkopf auf ein Minimun und erhöhen die Lebensdauer. Das Band wird zuerst durch ANSI Standard 1600 BPI Format durchgeführt, bis die 6400 BPI Technologie festgesetzt ist.
Einheiten beinhalten verschiedene eingebaute Testkennzeichen, die die Anwendung der Modul Funktionstätigkeit zur Verbindungstufe erlauben. Schüfen Tests auf Kommunikationskanälen und auf dem Bus werden unter Kontrolle der lokalen 6800 Processors erreicht. Eine Bestätigung der Verbinderintegrität und Stromversorgungsanwendung werden durch den FSU Microprocessor ausgeführt. Ausführungstest Firmware
983^/0630 ORIGINAL INSPECTED
kV
wird in das funktionierende Programm für jedes MIO und zwar durch Hardware-Anlagen, die usätzlich zu den normalen Operationswegen beschrieben werden.
Die Addressen-Karte jedes 68OO wurde, wie in FIG. 27 gezeigt, standardisiert. Eine eingebaute Fehlerbeseitigung ist in jedem System vorhanden. Das wird für Firmware Entwicklung und auch für externe Fehlerbeseitigung gebraucht. Es ist eine Öffnung, die Zugang zu jeder Einbeit zwecks Inspektion der I/O Punkte, Diagnose-Abläufe, Speichertests oder Inhaltsverlagerung gewährt.
Jedes 6800 System beinhaltet auch eine "dead man" Zusammenfügungseinheit, die den Microprocesser im Falle einer Nichtaufzeichnung einer Unterbrechung für längere Zeit, wieder zurückeinstellt. Dies kann als Ausführungsmonitor betrachtet werden. Ein Block-Outputsignal, das mit dem Timer verbunden ist, wird vom FSU Microprocessor überwacht zwecks-Statushinweis über den Ablauf jedes Blocks. Zusätzlich sichert das "dead man" Zeitwiedereinstellungsmerkmal, dass ein Diagnosekommando Zutritt zum 6800 hat, im Falle eines Firmware/Hardware "pathologischen" Verhaltens.
Jeder Block hat zum Bus Verbindung, der Daten, Kontrolle und Zeitsignale synchron zu allen Modulen ermöglicht. Jeder Bus hat nur ein einziges CPU Modul. Die "Meister" CPU verursacht Zeitschwingungen, welche über den IPB an die Sklaven CPU weitergegeben werden. Ein Bus kann maximal IPB Module haben, die alle an einen verschiedenen Bus angeschlossen sein müssen, um für geeignete Zeitketten zu sorgen.
System I/O wird über die MIO Blocks geregelt. Jedes MIO Modul versorgt 4 Serien I/O Kanäle und kann ein oder mehrere 32-bit DMA Kanäle versorgen. Ein Maximum I/O ist durchgehend in 2.67 Megabytes pro Sekunde gekennzeichnet. Der DMA Kanal gestattet einen 32-bit Transfer in beide Richtungen pro Buszyklus (1.5 Microsekunden). Interprocessor Kommunikationen erscheinen als DMA Ausführungen über einen IPB.
90983^/0630
->T4-
2802862
Der Computer unterstützt 8 Unterbrechungsstufen von jedem Block. Jeder Block kann simultan Unterbrechungen auf verschiedenen Stufen anfordern. Die CPU verwendet einen Aufzeichnungs Mechanismus, um zu bestimmen welcher Block die Unterberechung auf jeder Stufe angefordert hat. Der Unterbrechungsantrag auf jeder Stufe (Höhe) ist das "OR" der •Anträge von jedem Block auf dieser Stufe. Dadurch können mannigfaltige Blöcke auf gleicher Stufe unterbrechen. Die CPU kann zu jedem Block auf dem Bus ein Unterbrechungssignal verursachen. Ein solches Signal deutet den angeschriebenen Microprocesser an, dass ein ausserturliches Ereignis stattgefunden hat. Daten werden an einen vorbestimmten Platz in der RAM Gegend gespeichert.
BUS (Siehe FIG. 1+27)
Der Bus ist das Verbindungsglied zwischen den Blöcken im Computer. Er ist ein paralleler, synchroner Daten-und Kontrollbus. Datentransfers sind in 2 Richtungen gehend und 32-bits' breit. Kontrollsignale schliessen Befehl, Start, Zeitregelung und Status Information ein. BUS REGELUNG
Der Bus ist ein synchroner Bestandteil und sorgt für Systemregelungs - Schwingungen zu allen Blöcken. Jeder Buszyklist 1.5 Microsek. lang und'wird durch SYNC Schwingungen hervorgerufen. Jeder Zyklus besteht aus 3 Phasen: ΡΗ0, PHl and PH2. Jeder Block läuft auf dem selben Zyklus ab und die Phasen bestimmen die lokalen und globalen Vorgänge. Die Zyklusphase bestimmt die Übersetzung der Datenlinen auf dem Bus, wie in Tabelle 1 gezeigt wirt.
Tabelle 1
Phase Daten Linien
ΡΗ0 Speicher Addresse PHl Speicher Addresse PH2 Daten
Der Gebrauch dieser Zeitphasen in Hinblick auf den Speicherzutritt wird später besprochen.
909834/06
2902852
In einem Multiprocessor Aufbau wird das SYNC Signal durch den IPB von der"jleister" CPU verbreitet. Auf dem Sklavenbus wird die normale Zeitregelung durch das Sklaven (SLAVE) Signal unbrauchbar gemacht; das ermöglicht den IPB das Zeitsignal vom Meisterbus zum Sklavenbus geltend zu machen. Der IPB verzögert die SYNC Schwingungen für eine Phase auf dem Sklavenbus. Diese Phasenverzögerung synchronisiert die Zugänge zum Speicher im IPB durch Meister - und Sklavenbusse, wie in Tabelle 2 gezeigt wird.
Tabelle 2
Meister Phase Sklaven Phase Meister
Aktivitäten
Sklaven
Aktivitäten
PH0 PH2 Speicher
Addresse
Daten
PHl PH0 - Speicher
Addresse
PH 2 PHl Daten
PH0 PH2 Speicher
Addresse
Daten
PHl PH0 - Speicher
Addresse
Die Phasenverzogerung erlaubt den geeigneten Zutritt des IPB Speichers, welcher für Datentransfers zwischen den Processors gebraucht wird. Die 3 Typen der Busaktivitäten sind:
Speicherzutitt, unterbrechung und Start.
Speicherzutritts Zyklen
Speicherzutritts Zyklen gestatten 5 Arten von Vorgängen Lesen, Schreiben, Übertragung Unterbrechungssignal, Austrahlung.
FIG. 28 und 30-33 zeigen diese Aktivitäten während jeder Phase.
Lese-Zyklus
Der Lese-Zyklus erlaubt der CPU 32-bit an Daten entweder von einem MIO oder einem IPB zu lesen. Das (Ab) Lesen fängt bei Beginn der PH0 an, wenn die CPU die Addresse auf die Daten-Linien placiert und führt zum LESE-Signal. Das wird bis zum Ende von PHl gehalten, während die Daten abgerufen werden. Während PH2 werden die Daten auf den Bus gegeben und das LESEN wird unrichtig gemacht. 90 9834/063G
• 50· 23C1Z862
Aussendung
Das Aussendungsmerkmal gestattet Zutritt zu mehr als einem MIO/IPB für den Lese/Schreib-Vorgang. Alle Blöcke, die AusSendungsnachrichten empfangen können antworten. Jorrangs Address bits werden ignoriert. In einem Lesevorgang, sind die Daten auf dem Bus "OR" von Lesedaten von jedem Block. Ein Schreibvorgang placiert die'selben Daten in jedem Block.
ünterbrechungs Zyklen
Ein Block fordert eine Unterbrechung in der CPU an, durch Festsetzung der Ünterbrechungslinie, die mit der Stufe korrespondiert, auf der der Block die Unterbrechung durchführen möchte. Ein Block kann eine Unterbrechung auf bis zu 8 Stufen simultan anfordern. Ein Block fährt mit den Anträgen fort, bis die CPU den Befehl bestätigt.
Ünterbrechungs - Aufzeichnungs Zyklus
Die CPU führt einen Aufzeichnungszyklus durch, wenn sie die Unterbrechungsquelle zu bestimmen wünscht. INT Aufzeichnung ist erfüllt und bits 24-26 des Datenbusses werden mit den Unterbrechungsbefehlsshilfen während PH0 und PHl beladen.
Schreib Zyklus
Der Schreibzyklus erlaubt der CPU Daten auf den Speicher entweder in Mio oder IPB zu schreiben. Das Schreiben benötigt 3 Phasen, aber die Phasen überlappen Buszyklen. Die Daten werden während PH2 auf den Bus placiert und die Addresse wird während PH0 geladen. Das eigentliche Speicher-Schreiben geschieht während PHl. Da Daten abgeschlossen sind, findet das Schreiben in aufeinanderfolgenden Zyklen in verschiedenen Speicherzutritten mit den selben Daten statt.
909834/0630 OR1QINAL1NSpECTED
-ff-
Transfer Zyklus
Der Transfer Zyklus ist ein kombinierter Lese-und Schreibzyklus. Die Daten vom Lesen werden während PH2 des Zyklus abgeschlossen und als Schreibdaten während des nächsten Zyklus verwendet. Ein Speicher-zu-Speicher Transfer kann extern von der CPU gemacht werden und zwar bloss durch den Gebrauch der Symbole des Busses.
Unterbrechungssignal
Das Signal ist ein Schreibzyklus, das bewirkt, dass ein Zeichen in den MIO/IPB Microprocessor gesetzt wird. Das Zeichen deutet darauf hin, dass ein höchst dringlicher Vorgang in den RAM für die Aufmerksamkeit des Microprocessor in Betrieb ist. Während PH2 des Zyklus, stellen alle Blöcke, die einen Antrag auf dieser Stufe haben das passende bit in bits 0-15 des Datenbusses ein, um sich zu identifizieren= Die CPU verfügt über eine Liste aller Blöcke, die auf gegebener Stufe, eine Unterbrechung verlangen.
FIG„ 29 + 34 zeigen die Unterbrechungs-AufzeichnungsLogik.
Unterbrechungs-Bestätigungs-Zyklus
Die CPU führt einen Unterbrechungs-Bestätigungs Zyklus durch. Dieser Zyklus beinhaltet ein Ablesen mit der wahren INT ACK Linie. Die Addresse auf dem Datenbus wird gebraucht, um einen Block im Anforderungs Bestandteil und eine Addresse innerhalb des Busses, die Daten für das Ünterbrechungskommando beinhalten, zu kennzeichnen. Das INT ACK Signal bewirkt auch den Block seinen Antrag auf dieser Stufe zu löschen.
Jeder Block hat seine eigene Startfolge, die vom vorhandenen Microprocessor kontrolliert wird. In Hinblick auf das
909834/06SÖ
restliche System, wird das ANONYM-Signal tatsächlich eingeschaltet, Addressen-Register werden gelöscht und die Blockanzahl wieder eingestellt. Dieser Start (Inbetriebnahme) wird immer bei Stromzufuhr und auf Aufforderung der CPU durchgeführt. Start Zyklus
Dieser Zyklus wirk aktiviert, wenn die CPU INIT als richtig während PH0 und PPIl eines Zyklus festsetzt. Das ist das Gleiche wie bei Stromzufuhr-Folge und hat zur Folge, dass alle Speicherund Blockaufgaben wieder eingestellt werden.
Block-Anzahl-Aufgaben
Speicher und Blocknummer Anweisung wird durch Kommando der CPU erreicht. Blocknummern werden Blöcken laut Speichergrössenanordnung zugeteilt. Eine Serie von Wechselwirkungen über den Bus ermöglichen jeden Block seine eigene Position auf dem Bus zu bestimmen und seine Address-Grenzregister einzustellen.
Die Folge beginnt wenn die CPU STEP während PH0 und PHl geltend macht. Jeder Block setzt sofort seine BUSY Linie ein, startet und löscht das BUSY Signal wenn ausgeführt. Zu dieser Zeit, stellt der Block sein Vorrang Speicher bit auf SERIAL DATA Linien (Seriendaten). Eine Folge von Funktionen wird ausgeführt, die dem MIO/IPB Modul erlaubt Speicher raum'und Blocknummer festzulegen. Blöcke werden so nummeriert, dass das grosste Modul die niedrigste Nummer hat und Basis-Addressen Register. Das kleinste Modul hat die höchste Blocknummer und höchsten Speicherraum. Blöcke mit gleicher Speichergrösse sind durch Seriennummern geordnet.
909834/0630
ORIGINAL INSPECTED
• ^3' 2S02862
Der Block Übertragungskreis wird durch die CPU ausgeführt bis alle Blöcke festgesetzt wurden. Dies wird durch das ANONYMOUS Signal als falsch angezeigt. Jeder Block kennt dann seinen Addressenbereich und Block Anweisungsnummer und System-Zusairanensetzung werden daher eine Stromzufuhr-Funktion und für den Gebraucher ersichtlich.
909834/0630
-06- .Sk-
TERMINAL· (KLEMMEN) FEHLERBESEITIGUNG BESCHREIBUNG Die Terminal Fehlerbeseitigung ist die Grundsoftware Verpackung für den 6800 Microprocessor. Die Software befindet sich im ROM und wird abberufen, sobald die Stromzufuhrfolge beendet ist.
Jeder Block beinhaltet einen 6800 und den allgemeinen Teil der Terminal Fehlerbeseitigung wird in jedem der 6800 gefunden.. Um mit der Terminal Fehlerbeseitigung Kontakt aufzunehmen, haben alle Blöcke 300 Baud Fehlerbeseitigungsöffnungen, die mit den Standard ASCII Symbolen in Verbindung sind. Die Terminal Fehlerbeseitigung arbeitet doppelt, alle Symbole die vom Terminal empfangen werden, hallen wieder:
Die Terminal Fehlerbeseitigung wird in Tabelle 3 beschrieben.
909834/0630
OHlGlNAL INSPECTED
198-OO3A
Tabelle 3
Terminal Fehlerbeseitigung Beschreibung 1
Symbol
Antwort
Auswirkung
***NÜMMERN 0-9 A-F
ECHO 'akkumuliert 1-4 stellige Nummer. ECHO 'einheitlich minus hebt folgende Stellen auf.
Bemerkung:
Wenn mehr als 4 Stellen getippt werden wird die Zahl von den letzten 2 oder 4 Stellen gebildet. Ein Minus Zeichen wird festgehalten, egal wie viele dazwischenliegende Nummern getippt werden. ·-; Der Fehlerbeseitigung ist bekannt ob 1 oder 2 bytes offen sind und wenn .Stellen auf den letzten Stand gebracht werden,
(wie bei nn ), werden entweder 1 oder 2 bytes, abhängig davon was offen war, aufgefrischt. ***HARDWARE MANIPULATION
[ctrll] CRLF* ***Sequenz Manipulation
Schalter unterbricht.
[SPACE] ECHO nichts
[ESC] CRLF 'nichts
[DEL] # 'entfernt letztes Symbol von der
Sequenz
[ctrlx] CRLF* 'löscht gesamte Sequenz
[ctrlR-J. CRLR Sequenz 'Wiederanordnung der
Befehlssequenz,
909834/0630
-nb6
***Stellenprüfung und Modifikation
nnnn/ /
mm
mm
nnnn \ mmmm
[CR] nn [CR]
nn [LF]
mmmm
CRLF* CRLF*
Raum
CRLF nnnn/mm
[LF] CRLF nnnn/mm
CRLF nnnn/mm CRLF nnnn/mm 'öffnet Stelle nnnn, hält öffnung fest und verteilt Inhalt, 'öffnet wieder und verteilt Inhalt auf festgehaltene Stellen.
'öffnet Stelle nnnn, hält geöffnete Stellen fest und verteilt Doppel-Byte Inhalt, 'öffnet wieder und verbreitet Doppel-Byte Inhalt auf festgehaltene Stellen. 'Schliesst offene Stellen, 'ersetzt Inhalt von offenen Stellen mit nn und schliesst sie. 'ersetzt Inhalt von offenen Stellen mit nn und lässt sie offen.
'schliesst offene Stellen, erholt Stellenzexger, öffnet und verbreitet neue Stellen. *Wenn 2 Bytes offen sind, nimmt der Stellenzexger 2 mal zu und '2 Bytes sind offen. 'gleich wie LF , ausser bringt alte Stelle mit nn zuerst auf den letzten Stand, 'wie LF , ausser vermehrt den Stellenzähler, wie A ,. ausser bringt alte Stelle
Bemerkung:
mit nn zuerst auf den letzten
Stand.
Auf den D.G. Terminals, arbeiten der auf-und ab Pfeil wieA und LF
CRLF nnnn/mm 'öffnet die Spexcherstelle in oder mmmm der offenen Stelle und verbreitet
Inhalt.
909834/0ß3-0
nnnn ·
Bemerkung:
.. .„:ΟΗΤ
.—-— —
28Q2862
198-003Α
oder nnc) CRLF nnnn/mm 'ersetzt Inhalt der offenen oder mmmm Stelle mit nn oder nnnn,
öffnet Speicherstelle nn oder nnnn und verbreitet dessen Inhalt. ' (nnnn oder nn = offene Stelle). Die obigen 2 Befehle betragen sich verschieden, abhängig ob ein-oder ein Doppel-Byte offen, ist. Wenn ein Byte offen ist, so wird die betroffene Stelle eine 8-Bit Menge. Wenn ein Doppel-Byte offen ist, wird die Quantität zu einer 16-Bit Menge. Ähnlich bei einer offenen Stelle, die ein einfacher oder Doppel-Byte sein kann.
'öffnet Speicherstelle, die von der offenen Stelle angeschrieben wurde und verbreitet Inhalt, 'ersetzt den Inhalt der.offenen Stelle mit nn, öffnet Stelle, die von nn addressiert wurde und verbreite dessen Inhalt.
' (nn + PC + 2 = offene Stelle) 'öffnet Speicherstellen Index, addressiert von der offenen Stelle und verbreikt dessen Inhalt.
'ersetzt den Inhalt der offenen Stelle mit nn, öffnet Stellenindex, der durch nn addressiert ist und verbreitet Inhalt '(nn ungekennzeichnet + Indexoffene Stelle).
'Rückkehr zur vorangegangenen offenen Stelle
CRLF nnnn/mm
CRLF nnnn/mm
CRLF nnnn/mm
CRLF nnnn/mm
< CRLF nnnn/mm
oder mmmm ***Status Ausbreitung X [CR] Verbreitung
CPU Regs. CRLF 'Verbreitung des Inhalts auf alle 6B00 Register.
909834^0630
ORIGINAL INSPECTED
RC
=ηη
RA =ηη .
RB =ηη
RX =ηηηη
RP =ηηηη
RX =ηηηη
'Verbreitung des Inhalts von Bedingung C.
'Verbreitung des Inhalts von Register 'Verbreitung des Inhalts von Register 'Verbreitung Index Register. 'Verbreitung Programmzähler. 'Verbreitung Stapelzeiger.
***PROGRAMM KONTROLLE
G Raum 'Anfang der Prograxnmausführung
bei offener Stelle.
nnnnG Raum 'Anfang der Programmausführung
bei nnnn.
nnnnSB CRLF* 'Festsetzung des Unterbrechungs-
punktes bei Stelle nnnn.
SB CRLF* 'Festsetzung des Unterbrechungs
punktes bei offener Stelle.
nXB CRLF* 'Löschung der Unterbrecher
nummer n.
XB CRLF* 'Löschung aller Unterbrechungs
punkte .
Bemerkung: Wenn ein Unterbrechungspunkt während Ausführung auf Widerstand trifft, antwortet die Fehlerbeseitigung:
"Bn:mmmm" wobei η die Unterbrechungs Nummer ist und mmmm
die Unterbrechungsaddresse.
Unterbrechungspunkte sind nummeriert 0-7. Wenn ein SWI eintritt, das nicht ein festgesetzter Unterbrechungspunkt ist. sieht es das System als Unterbrechungspunkt 8 an. Wird nicht durch
XB Befehl gelöscht.
***BLOCK SPEICHERMANIPÜLATION nnnn L [CR] CRLF*
nnnn H [CR] CRLF* CRLF*
nn M [CR] CRLF*
nn MF CRLF*
nnnn MV CRLF*
nn, nnnn, nnnnSF
'niedrige Speichergrenze festgesetzt
'hohe Speichergrenze festgesetzt.
'Festsetzung der Speicherverkleidung.
'Speicherfüllung
'Speicherblock wandert nach nnnn.
'folgende Füllung der gegenwärtigen
ORIGINAL INSPECTED
nn
XL
MS
CRLF*
•59· 2802862
198-OO3A
'Speichersuche
* Grenzen
(MUSTER. FEHLERBESEITIGUNG) GEBRAUCHER-EINGABE IST UNTERSTRICHEN
[If]— Linieneingabe [er]— Wagen retour
[d] — Symbol löschen (DEL) [χ] — Linien löschen (ctrl x)
[e] -- ESC
[r] — Befehlslinie wiederdrucken *4000/nn FF (If)
4001/nn
FF er
*S Glocke *FE [d] = 7F7 [X]
* /FF
34 [er]
*/34 [If]
4OO2/nn 8O**
4001/34 [er] *4 OOO/FF 1 [e]
2 [er]
*/12 _\ 1234 [er] *4OO1 \348O 0 [If] (ctrl R)
[Offen 4000, Eingabe FF und offen 4001]
[Eingabe FF in Stelle 4001 und schliessen]
[illegale Sequenz] [Symbol löschen, dann Linie löschen]
[letzte Stelle wiederöffnen und 34 eingeben] [letzte und dann nächste Stelle wiederöffnen]
[80 in nächste Stelle eingeben vorangegangene öffnen] [Schliessen]
[offenen 4000 und 12 eingeben] [Raum und Abgabe werden von der Fehlerbeseitigung unbeachtet gelassen]
[letzte Stelle Öffnen, dann die Doppel-Byte öffnen und schliessen]
[Doppel-Byte by 4001 öffnen und 0000 eingeben]
9-0 9834/0680 ORIGINAL INSPECTiD
4003 \ nnnn [er
44444000/12 1234 */34 *123456 123 [e]
M68OO SPEICHER VERTEILUNG
ADDRESSE
Qo-
198-OO3A
[dann nächstes Doppel-Byte öffnen und Schliessen] [öffnen 4000 (nur die letzten zählen]
[34 wurde eingegeben, weil nur ein Byte offen war] [Symbole löschen und Zeilen wiederdrucken]
[Befehlslinien löschen]
3F
40
FF
100
13F 140
17F 180
IFF 200
FFF 1000
UNGEBRAUCHT, BEGONNEN VON BRA O
FEHLERBESEITIGUNG SCHNELLE ZEICHEN GEBRAUCH DIREKTSPEICHER FEHLERBESEITIGUNG ALLEGEMEIN FEHLERBESEITIGUNG KOMMANDOLINIE
STAPEL
GEBRAUCHS RAM
(P/S VERBREITUNG SPEICHER)
(RAM AUSDEHNUNG)
90983A/OB30
\ Ki At""..
8FFF 9OOO
BFFF COOO
C7FFF C800
CFFF DOOO
DFFF EOOO
EFFF FOOO
198-OO3A
M-
GETEILTER SPEICHER (MIO + CPU)
FEHLERBESEITIGUNG ACIA (FEHLERBEISEITIGUNGSÖFFNUNG)
REST PIA
ANDERE
(IO AUSDEHNUNG)
CO - CHIP
C8 - CHIP
DO - CHIP
D8 - CHIP
EO - CHIP
E8 - CHIP
FO - CHIP FEHLERBESEITIGUNG ANWENDUNG
90983 4/0
198-OO3A
F7F7 JMP FEHLERBESEITIGUNG-NICHT-PRIMITIV
F7FA JMP STROM-AN ANWENDUNG
F7FD JMP UNTERBRECHUNG-AN-ANWENDUNG
F8 - CHIP - FEHLERBESEITIGUNG KERN
FFF7 SWI INSTRUKTION
FFF8 UNTERBRECHUNGS ANTRAG
FFFA SOFTWARE UNTERBRECHUNG
FFFC NICHTVERKLEIDBARE UNTERBRECHUNG
FFFE WIEDEREINSETZEN
909834/063G
Tabelle 3 Contd
2902962
A/ Diese Felder addressieren 2 von 16 Konstanten, die
B/ in 2901s Register Karten gespeichert werden.
60,61 PROP/GEN Gebraucht für Verbreitung und/oder Entstehung eines Übertrags von 2901.
Kein Übertrag in 2901
00
01
10
Druck (Gewalt) übertrag in 2901 Verbreitung eines Übertrags (d.h. für 64 bit
Arithmetik)
62-67 OP/ Wählt Quelle und Funktion (in dieser Reihenfolge) in den 2901. Man beachte, dass diese von der AMD Dokumentation abweichen. 62-64 Wählt Quelle
65-67 Wcihft Funktion
71-73 TEST/
75-77 TESTX/
80-83 AX/
84-87 BX/
CRY /
92-97 OPX/
A0 MARK /
Wählt das 2901 Destinations Feld.
Wählt das 2901X Destinations Feld. '
Wählt das 2901 XA Feld.
Wählt das 2901 XB Feld.
Der Übertrag in bit zur 2901X Verlängerung.
Wählt das 2901X OP Feld (siehe oberhalb).
Gebraucht um Testausstattung zu synchronisieren.
Die 6800 Software muss die Fähigkeit haben das
Bit einzusetzen und zu beseitigen und zwar
in jedem ausgesuchten Microcode Wort zwecks
Diagnostik.
Al GO / Ermöglicht den Microcode automatisch in das nächsten Microcode Wort zu treten. Damit xtfenn ungebrauchte Microcode Worte beseitig sind, die Microcode Machine zum Halt Kommt. Die 6800 kann die Abwesenheit dieses Bit im gegenwärtigen Microcode Wort aufdecken.
909834/0630
INSPECTED
-JfS-
Tabelle 3 Contd
Field Start Length Description
SPEC IA 6 Speziell
DPMIX 20 4 Datenwegmischung
CLK 24 4 Uhr
AH 28 4 A Select Hi
BH 2C 4 B Select Hi
PG 30 2 Verbreiten/Erzeugen/
Übertrag
OPH 32 6 Opcode Hi
DESTH 39 3 Destination Hi
DESTL 3D 3 Destination Lo
AL 40 4 A Select Lo
BL 44 4 B Select Lo
C 49 1 Übertrag hinein
OPL 4A 6 Opcode Lo
DMIX 53 5 Datenbusmischung
SCAD 5A 1 SCAD Kontrolle
MEM 5B 1 Speicher Funktion
REG 5C 4 Interne Register Karte
60 20 Konstant
Alle Werte sind hexadezimal.
Der Inhalt der Befehle wird in den CRAM Register eingegeben und ist für den Datenbus für Instruktions Deciedierung gebrauchbar.
f O 9834/0630
ORIGINAL INSPECTED
6800 Microprocessor-Arbeits-System
Der Sinn des 6800 Microprocessor-Arbeits-System ist für System Beginn und erste Programm Ladung, Input/Output Verarbeitung und Kontrolle, Diagnose und Zwischerverarbeitungs Kommunikation und Kontrolle zu sorgen.
Die Funktionen dieses Systems umfassen Stromzufuhr— Start, Stromabschaltung und Ausführung von Input/Output Überwachung von Hardware Verhalten, Ausführung von Grund Hardware Diagnosen und überwachung und Antworten auf Terminal-Fehlerbe sei ti gungsAnf or derungen .
Die Systemspezifikationen sind solcher Art: alle 6800 mit ähnlichem Speicherverzeichnis, alle 6800 mit gemeinsamer Terminal-Fehlerbeseitigungsöffnung und Kern (wie später beschrieben wird), ROM bis zu 16K zu versorgen, RAM bis zu 16K zu versorgen, Uhrunterbrechung nur durch Input/Output Lenkung und ROM und I/O angepasst an die 6800 besonderen Module.
Das 6800 System für Ereignis und Abläufe wird in Tabelle 4 dargelegt.
Das 6800 System für Stromzufuhr und Versorgung wird in Tabelle 5 dargelegt.
Das 6800 System für Stromzufuhr für die CPU wird in Tabelle 6 gezeigt.
Das 6800 System für Stromzufuhr des MIO wird in Tabelle 7 gezeigt.
Das 6800 System für Unterbrechung der Stromversorgung wird in Tabelle 8 dargelegt.
Das 6800 System für Unterbrechung des MIO wird in Tabelle 9 gezeigt.
Das 6800 System für Unterbrechung der CPU wird in Tabelle 10 gezeigt.
9 0 9 B JU / 0 ft 3 0 0R!Q1NÄL 1NSPECTED
6800 OS EREIGNIS UND ABLÄUFE 2302862
Tabelle 4
. Gleichstrom an — FSU System startet.
. FSU an Knopfdruck oder Strom. Antrag Signal aktiviert — Block/System startet.
. FSU zu Knopfaruck oder Strom. Antrag Signal nicht aktiviert — Block/System führt Strom unten Folge aus
. Hardware Uhr Unterbrechung — I/O Aufträge sind aufgezeichnet und nutzbar gemacht.
. Input von Terminal Fehlerbeseitigungsöffnung — Terminal Fehlerbeseitigung Diagnoseauftrag ausgeführt.
6800 OS
STROM AUF — STROMZUFUHR Tabelle 5
1. Start Hardware + STAPEL
2. Diagnose 6800
3. Abfall in Terminal Fehlerbeseitigung, Unterbrechungen ermöglicht
4. Aufzeigen der ursprünglichen Form auf Unterbrechung
5. Wenn auf signalisiert wird, Blöcke aufdrehen
909834/0630
-A-
.67.
6800 OS
Strom-auf — CPU Tabelle
1. Start Hardware + Stapel
2. Diagnose 6800 + anfüllen
3. MIOs gestalten
4. Abfall in Terminal Fehlerbeseitigung, Unterbrechungen ermöglicht
5. Ladung angefüllt
6. Signal CPU begonnen (in Betrieb)
7. Bootstrap (= eine Einheit Bestan-tbeilj, die ohne äussere
Einflüsse funktioniert)
-fß-
6800 QS
1302862
Shorn auf — HIO Tabelle 7
1. Start Hardware und Stapel
2. Diagnose 6800, Speicher und I/O
3. Gestaltung des Speichers mit CPU
4. Abfall in Terminal Fehlerbeseitigung, Unter brechungen ermöglicht
5. Ein MIO bekommt einen Ladebefehl auf einer Unterbrechung
6. Ein Ladebefehl wird an die Terminals gesendet
7. Ein Terminal antwortet mit CRAM
8. MIO Pipelines füllen Füllbefehlsöffnung
(oder Address Bus?)
909834/OS 30
-fti-
6800 QS
2S02862
Unterbrechung — Stromzufuhr Tabelle 8
1. Autzeichnungsform bei erster Unterbrechung
2. Test für Knopfstand Wechsel + Antwort
3. Test für Stromantrag Linie Wechsel + Antwort
4. Test für Wechsel in Block Signalen + Antwort
5. Abschaltungsauslöser
6. RTI
ANMERKUNG: Antwort kann Wechsel des Video beinhalten
909834/06-30
-W-
6800 OS
Unterbrechung — MIO ?QCl'7 f{P\7
Tabelle
1. Aufzeichnungseinheiten
2. Ablauf wird unterbrochen
3. Check für Unterbrechungsbefehle I- Antwort
4. Check für Aufgaben + Antwort
5. Stillegungsauslöser
6. RTI
AMMERKUNG: Einheitunterbrechung kann Ladungsantrag beinhalten.
Weitere Definition benötigtum das Wesen des Ablaufs in diesem Zyklus zu bestimmen.
6800 OS Unterbrechung — CPU
Tabelle 10
Nach voller Ladung, wenig Atktivität Tageszeit?
Stillegungsauslöser
909834/0630
ORIGINAL INSPECTED
Zusätzlich zu FIG. 13A. 28 028 6
FIG. 35 ist ein grobes Blockdiagramm einer CPU. Im wesentlichen besteht sie aus 2 32 bit internen Datenbussen, verbunden durch eine doppelte Reihe von AMD 2901 32 bit ALü's. Diese können miteinander verbunden sein, um 64 bit Abläufe auszuführen. Eine 512 bei 32 RAM bit Karte beinhaltet 256 64 bit Register, die in 8 Blöcke von je 32 Register aufgeteilt sind. Ein Äddressenschloss für diese RegisterKarten bringt eine Teilung, sodass jeder Gebraucher einen Block von 32 64 bit Register erhält. Man beachte, dass es 5 Gebraucher gibt, einer als " Äusführungssystem oder "Gastgeber", die anderen 4 sind die "Gäste". In diesem Falle gibt es 3 verbleibende Reihen, davon sollte eine den Diagnosejob zugeteilt bekommen? das wird in allen Systemen als der 6. Gebraucher betrachtet. Logik innerhalb der CPU wird von einem 128 bit weiten Microcode SSM (RAM) kontrolliert, welche unzählige Addressenarten plus einen Stapel für Hardware Schiingen und für Instruktionen hat ο
Der 6800 Microprocessor kann mit dem Bus in Verbindung sein und kann "Schnappschüsse" von alle Bussignalen in Phase Ο, 1 und 2 für vollständige Schleifrück-Diagnosen nehmen» Der 6800 kann auch die CRAM Addresse zwingen aufzuladen und CEMjI Daten zu lesen. Der 6800 kann die CPU Uhr-kontrollieren und kann den Computer zwingen einzelne Befehle auszuführen. Khniiche Microcode Schlingen können so eingesetzt werden, dass sie einen Computerstop und eine Transferkontrolle zum 6800 verursachen. Mit diesen und anderen Diagnose Merkmalen, werden die Hardware Hacken gezeigt, dass sie die CPU vollkommen anwendbar machen.
Die Einheit ist physisch in 2 Ebene, die mit 5-6 5O Stift Bandkabeln verbunden sind, geteilt. Ein Teil der CRÄM Aufstellung wird auf jeder Ebene gefunden, mit Datenbussen t die zwischen der Ebenen hin-und herkreuzen. Individuelle
09834/0830
Speicherstromregulierer/Zwischenverbindungs-Umlaufkreise sind ebenfalls auf diesen Ebenen zu finden. Zusätzliche Details bezüglich Teilung und Diagnosen werden in FIG. 36 & 37 gezeigt.
Zentrale Verarbeitungs Einheit
Die CPU ist um den AMD 2900 Bit Slice Microprocessor herum gebaut. Sie ist micro programmiert und zwar mit einem 4K & 128 bit Kontroll RAM (CRAM). Ausserdem beinhaltet sie einen Motorola 6800 Microprocessor für lokale Kontrolle. Überansicht
Das CPU detailierte Blockdiagramm wird in FIG. 38 gezeigt. Die CPU verarbeitet 64-bit Datenworte. Die Arithmetik - Logikeinkeit (ALU) ist von einem AMD 2900 bit bit Slice Microprocessor gebaut. Die CPU hat einen Motorola 6800 Microprocessor, der für lokale Kontrolle und Diagnosen sorgt. Die CPU ist micro-programmierbar. Eine Micro-Instruktion ist 128 bit breit. Ein grosses Kontroll RAM (CRAM) wird für die Speicherung vom Microcode gebraucht. Register Raum wird durch RAMFILE gegeben. RAMFILE ist in 8 Blöcke von 32 64-bit Registern aufgeteilt. SCAD (Schalten, Zählen, Addieren) wird für die Ausführung von hohen Geschwindigkeits Daten Manipulationen verwendet. Speicher Abberufung und Schutz werden durch POX und MAP Strukturen gewährleistet. Diagnosen
Der 6800 sorgt für die Basis-Diagnose Fähigkeit in der CPU. Lokale Diagnosen beinhalten 6800 Befehlstest, ROM Checksumme und eine RAM Diagnose. Die 6800 Uhr wird auch überprüft.
CPU Diagnosen bestehen aus Ladung der CRAM mit speziellem Microcode und dann wird die CPU zeitlich gemessen, um die Ausführung des Microcode zu bewerten. Dadurch können RAMFILE und Pox/PAGE RAMS als auch die Basisbefehle getestet werden. Die ALU kann durch die Ausführung von Datenmanipulationen in Kraft gesetzt werden. Wenn Halb-Wort Operationen durchgeführt werden, k;önnen die hohen und niedrigen Orderteile der ALU parallel getestet werden.
909834/0630
29Q2862
Ausser der Diagnostik, die sich innerhalb des 6800 ROM befindet, können noch zusätzliche Dxagnostiken durch die Terminal Fehlerbeseitigungsöffnung oder die 9600 Baud CPU Öffnung aufgeladen werden. Diese können im 6800 RAM Raum ausgeführt werden.
09834/08SÖ
0WiNA INSPECTIÖ
Zeitnehmung
Die CPU hat einige Zeitmehmungsstrukturen. Der 6800 hat seine eigene, interne Uhrlogik. Die Instruktionsdechiffrierung und Exekution haben Zeitlogik. Das Buszwischenglied wird für NYNC mit dem Bus benötigt.
Wenn die CPU die Meister-CPU in einem System ist, so ist sie für die Erzeugung der Systemuhr verantwortlich. Sie placiert die NYNC Schwingung auf.den Bus. Wenn die CPU Sklave ist, so wird SNYC nicht auf den Bus zur Geltung gebracht, sondern sync wird vom Bus gebraucht, ' welche vom IpB erzeugt wird. Alle CPUs bringen SYNC hervor, aber es wird durch das SLAVE Signal auf allen ausser dem Meisterbus unbrauchbar gemacht. Für Zeitdetails seihe FIG. 39.
3.3.3. Am 2901 Bpiolar Microprocessor Slice
Die ALU ist von einem AM 29+1 bipolaren Microprocessor slice gebaut. Sie besteht aus einem hohen Prioritätenteil und einem weniger wichtigen Teil. Jeder ist 32-bits breit und besteht aus 8 Am 2901 bipolaren bit-slice Microprocessoren. Die AM 2901 sind kaskadenförmig angeordnet um ein 64-bit Datenwort zu bilden.
Die AM 2901 hat 8 Funktion ALU; 16 Addressenregister, eine Verstellvorrichtung und einen Q-Register.
Wenn R und S die zwei Konstanten sind, dann werden die folgenden ALU Funktionen unterstützt:
R+s Addieren
S-R Subtrahieren
R-S Subtrahieren
R S OR
R S AND
R S MASK
R S XOR
V S NXOR
Die Konstanten können Halter Register, Quotienten Register, eine Konstante oder eine Null sein. Ein einzigartiges Merkmal ist, dass die 2 Halter-Register simultan addressiert
909834/0630
- ■ * ORSaiNAL !MSPECTED
-75- ' 23Q2862
werden können und damit zu einer grossen Effizienz verhelfen. Auswählbare Destinationen können RAM-Raum und den Q-Register inkludieren. Die Daten können vor der Aufladung in die Destination verstellt werden. Detailierte Information bezüglich Am 2901 ist von den Fortgeschrittenen Micro Einheiten erhältlich.
CPU Microprocessor
Ein Motorola 6800 Microprocessor befindet sich auf der CPU Ebene. Er beinhaltet einen eigenen ROM und RAM. Er bewirkt CPU Start, lokale Diagnostik, CRAM Ladung und Terminal Fehlerbeseitigung; ausserdem hat er auch Zugang zum Bus 26 (siehe FIG. 13A).
Der 6800 bewirkt die CPU Startfunktion. Bei Stromzufuhr, wird eine Reihe von internen Diagnostiken ausgeführt, um die eigne Durchführung zu gestätigen. Diese beinhalten einen ROM Checksummen Test und eine lokale RAM Diagnostik; dann wird eine CPU Diagnostik durchgefüht.
Nach der CPU Diagnostik, beginnt der 6800 die Startsequenz auf dem Bus. Der Start resultiert darin, dass alle Module mit einer Blocknummer versehen werden und, dass der Speicherraum festgelegt wird. Die Sequenz besteht aus einer Reihe von STEP Schwingungen und einem BUSY Check, da die Blöcke Speicheraddressen untereinander auflösen.
Nach dem Systemstart, beginnt die Terminal Fehlerbeseitigung und die normale Verfahrensweise tritt ein.
CRAM Ladung
Eine hauptsächliche Funktion des 6800 ist die Ladung von CRAM. Das ist der einzige Mechanismus um CRAM zu laden. Auvor wird der CRAM durch den 6800 während des Starts wertmässig bestätigt. Dies ist eine Speicher Diagnostik um gute Hardware zu sichern. Der CRAM wird durch eine MIO Einheit oder durch
909834/0630
Serien Konsolen-Kanäle geladen. Der 6800 gibt Befehle für Microcode Instruktionen heraus und erhält sie in 32-bits zur Zeit auf dem Bus. Dann werden sie in den CRAM geladen.
Sobald der CRAM beladen wurde, ist das System bereit abzulaufen. In einem Standard System, erhält das Scheiben Kontroll/MlO den Microcode von einem bestimmten Scheiben Bereich. In einer Entwicklungssituation kann eine Konsolen Band Kasette die Quelle sein.
Terminal Fehlerbeseitugung
Die primäre Software in 6800 ist die Terminal Fehlerbeseitugung Sie gewährt Zugang nicht nur zum 6800, sondern zu allen Teilen der CPU. Sie kann für die Ladung von Microcode, Instand/ Ausserstandsetzung der System Uhr oder Zutritt zum Bus verwendet werden.
Kontroll RAM
Der Microcode für die CPU wird in Kontroll-RAM (CRAM) gelagert; in der Grosse 4K χ 128 bits. CRAM Addressierung wird durch den Inhalt des überspringungsfeld = JUMP Field
Abfertigungsfeld = DISPATCH Field (DISP) Auslassungsfeld = SKIP Field (SKIP) bestimmt. Das J Feld bestimmt die Basisaddresse des nächsten Befehles. Das SKIP Feld ermöglicht die Verzweigung innerhalb einer Gruppe, während das DISP Feld Modifikationen der Addressen Linien ermöglicht.
Unterprogramme werden durch den Gebrauch einer gegenwärtigen Anlagenstapelung vollendtd. Der gegenwärtige Platz ist immer an der Spitze des Stapels + 1. Ein Unterprogramm-Ruf bewegt bloss den Stapelzeiger, um die Addresse auf den Stapel zu geben. Siehe Tabelle 11.
909834/0630
2302862
Tabelle 11
Feld
Start
Länge
Beschreibung
CALL
00 Unterprogramm Ruf
04
DISP 10
SKIP 14
C Überspringen
4 Abfertigen
6 Auslassen
09834/0830
ORIGINAL INSPECTED
Tabelle 12 beschreibt das gesamte Wort. Die Felder, die zusätzliche Erklärung benötigen, werden anderswo beschrieben:
Tabelle 12
CALL Verursacht, dass die Adresse des gegenwärtigen Wortes auf den Microcode Stapel verschoben wird.
04-17 JUMP Beinhaltet Addresse des wiedereingesetzten
Wortes, ausser wenn durch DISP/und SKIP Feld abgeändert.
20-23 DISP/ Gebraucht um 4,8 oder alle 12 bits, der
nächsten Addresse, die durch den jump entstehen, abzuändern, Z. B: DISP/kann die Spitze des Stapels für eine ünterprogrammsrückkehr auswählen oder kann das 8-bit OP Code Feld der gegenwärtigen Computer Instruktion aussuchen, um eine der 28 möglichen Bereiche abzufertigen.
24-31 SKIP/ Nur für die Abänderung des unbedeutendsten
bit der nächsten Instruktionsaddresse gebraucht.
32-37 SPEC/ Spezielle Funktionen werden gebraucht um Signale zu erzeugen, die selten verwendet werden und für die es sich nicht lohnt eigene Microcode bits zu haben.
40-43 DPX SEL/ Ermöglichen die 2901 Verlängerungen, ein byte zur Zeit, den DP Bus zu steuern.
44-47 CLK.EN/ Ermöglichen die Uhr in die bedeutensten
32 bit der 2901, ein byte zur Zeit. Damit können 8, 16 oder 24 bits von jedem 32-bit Wort innerhabb der 2901 geändert werden.
9D9834/0630
ORIGINAL INSPECTED
-ars-
DAS MICROCODE WORT
Allgemein (seihe FIG. 40)
Das 128-bit Microcode Wort ist physisch über beide CPU Ebenen ausgebreitet - die obere Ebene (CPU DATEN PATH BOARD = Datenwegebene) enthält 80 bits, die niedere (CPU CONTROL BOARD = CPU Kontrollebene) enthält die restlichen 48 bits. Das Wort wird geladen, gelesen mittels 16 6800 Datentransfers, zu Addressen XXX0 bis XXXF. Die bits sind deshalb gemäss der Byte Addresse gefolgt von bit innerhalb des Bytes, nummeriert:
00,01 07,10 17,20 etc., etc., .E7, F0
F7 die Bits sind von 0 bis .7 innerhalb des Byte nummeriert, eher als 7 bis 0 wie von dem 6800 Hardware Diagramm bevorzugt wird.
Im allgemeinen sind die Felder so beschaffen, dass ein Feld von allen O ein Null-Feld ist und keine Wirkung auf die CPU Ausführung hat. Folgende Ausnahmen oder Sonderbarkeiten gibt es:
1) Ein DISP Feld von 0 wählt die CSL Addresse (ein 12-bit Feld wird durch den 6800 beladen) als DISP/Addresse. Damit wird dem 6800 gestattet das benötigte Microcode Wort für Lesen und Schreiben zu addressieren.
2/ Die Datenwegfunktion und die Destinationsfelder sind von der AMD Dokumentation verschieden, da 3 bits umgedreht wurden.
3) Das GO bit muss schliesslich in jedem gebrauchten Wort eingesetzt werden. Ein 0 bit hält den ablaufenden Microcode auf und setzt ein Zeichen, das vom 6800 ermittelt wird.
A2 PAR Gleichheit bit, gebraucht um ungerade Parität zu schaffen über 47 bits A2 bis F7 auf der niederen CPU Kontrollebene. (MARK und GO scheinen nicht als Paritätcheck auf, um das Einsetzen und Löschen dieser Bits zu vereinfachen.) (Man beachte, dass es kein Paritätsbit auf
909834/0630
-κ-
W-
D BUS SEL
B2 SC EN
B3 MEM
B3-B7 REG SEL
C0-F7
der oberen Ebene gibt. Es wird angenommen, dass es genug Felder in diesen 80 bits gibt, um eine ungerade Parität zu schaffen, ohne dem Paritäts bit.)
Wählt den Input zu den 32 bit D BUS.
Gestattet die 16 bit SCAD Logik, Das 32 bit
Feld ist weiters dechiffriert, um SCAD zu kontrollieren.
Speicherfunktionsbit. Das 32 bit Feld wird weiters decodiert um die benötigte Speicherfunktion zu bestimmen.·
Kontrolliert die 256 64-bit interne Registerkarte, Das 32-bit Feld kann in den D BUS- geschleust werden, als augenblickliches 32-bit Datenwort; in den SCAD A Input als augenblickliches 16-bit Datenwort oder als direkte Addresse in die interne Registerkarte. Zusätzlich, ist es decodiert um folgendes zu kontrollieren.
1) Die Type der benötigten Speicherfunktion
2) Die 16bit SCAD Logik.
3) Die Addressierung der internen Register
reihe.
RAMFILE
Registerraum befindet sich in einem Bereich, RAMFILE bennant. Es gibt 8 Blöcke von 32, 64-bit Registern im RAMFILE. Der RAMFILE ist ein hoher Geschwindigkeits Speicher, welcher vom Datenweg beladen wird. Output vom RAMFILE wird zum Datenbus geschleust, RAMFILE Addressierung wird durch Blocknummer (0-7) und dem REG Feld des Microcodes kontrolliert. SCAD
Die 16bit SCAD Logik wird für das Zählen und Kontrollieren der schnellen Microcode Schleifen verwendet und ermöglicht das Schleifenzählen im SCAD während der Microcode Daten innerhalb der ALU manipuliert. Einzelne Befehlsschleifen können■zweifach von der normalen Uhrfrequenz ablaufen, da
909834/0630
der Microcode während der Schleifen nicht geändert wird. Der SCAD wird zur Kontrolle von Multiplizier und Dividierfunktionen gebraucht, die zu den Am 2901 Inputs hinzugefügt wurden.
Bus Zwischenglied
Die CPU ist die Hauptantriebskraft für den Bus. Auf den Meisterbus sorgt sie für die SYNC Schwingungen. Auf den Sklaven, wird SYNC durch IPB versorgt. Bei Strom-an, bringt die CPU das PWR REQ Signal zur Geltung, um den restlichen Block einzuschalten. Der Systemstart wird von der CPU kontrolliert und zwar durch den Gebrauch von INIT und STEP Signalen«
Die Buskominandos stehen alle unter der Kontrolle der CPU (READ) LESEN, (WRITE) SCHREIBEN, (BROADCAST) AUSSENDEN UND OUTERRUPT (BEFEHL ZUR UNTERBRECHUNG) Aktivitätan gehen von der CPU aus. INT POLL und INTACK Sequenzen sind in Antwort auf einen Unterbrechungsbefehl von einen Block auf dem Bus. MICROCODE SCAD Kontrolle (Siehe FIG 41)
Die 16-bit SCAD Logik soll zählen, kontrollieren, schnelle Microcode Schleifen vollbringen, um das zählen von Schleifen in der SCAD Hardware zu ermöglichen, während der Microcode Daten innerhalb der 2901 Datenwege manipuliert.
Für einzelne Instruktions Schleifen, wo die selbe Durchführung oft geschieht, wie es bei Verstellungs - und Kreisbefehlen der Fall sein kann, kann SCAD für die Kontrolle des Multi-Stufen Zyklus eingesetzt werden, während dessen ist SCAD und die Datenweg Logik zweifach als die normale Frequenz eingestellt. Dies ist möglich, da der Microcode sich während dieser Schleifen nicht ändert.
Multiplizier und Dividierkontrolle wurde zu den 2901 Inputs zugefügt, um den allgemeinen Sequenzen zu ermöglichen V1On der Multi-Stufen Hardware hervorgerufen zu werden« Diese Kontrolle kann OR in SOURCE 2 (Quelle 2), um die Ursprungs Selektion von B, A, zuA, 0 zu ändern,, und ORing in FUNC 1 und Übertrag um die Funktion von S+R auf S-R zuändern ο Der Microcode stellt Multi-Stufen multiplizier oder
I09834/06IÖ
dividier Stufen auf mit OPERATION auf BR/BR+AF (und die passende Verstellung) und die Hardware ändert dies, wie benötigt, auf BR/BR-AR, BR/BR - 0, gemäss der Resultate der vorhergegangenen Stufe.
Folgende Konsequenzen ergeben sich:
1) Es ist für die 6800 Konsole möglich, die Stufe zur vereinfachen durch die Multi-Stufenfunktion, eine Stufe zur Zeit. Bei jeder Einzel-Stufen Funktion sind nur SCAD und DATA PATH (Datenweg) eingestellt. Microcode Wort bleibt konstant, genau so als würde die Maschine in voller Geschwindigkeit laufen. Hardware Zeichen "erinnern" an die zu durchführende .änderung in der nächsten Stufe; wenn, zum Beispiel, das 6800 CSL Programm ein neues Microcode Wort hervorbringt; so muss sich dieses Wort der Modifizierung unterziehen. Solange der Datenweg nicht zeitlich eingestellt ist, kann die Konsole das unterbrochene Microwort "prüfen" und korrekt fortfahren. DIE SOURCE (Ursprung) und FUNKTIONS Felder, die die 2901s kontrollieren, sind mit einem. Stern {■*■) gekennzeichnet, die Funktionen andeutend, die durch die Multi-Stufen MUL/DIV Hardware unverändert bleiben.
2) Die Multi-Stufen Funktionen setzen sich fort bis
SC oder FE, (abhängig welche ausser Kraftgesetztist) positiv sind. Der Microcode kann zählen - 32, 768 bis zu 0, 8.192 Millisekunden bei 4 MHZ gebrauchend und sogar längerec Instruktionen sind möglich, bei Zählung auf den 2901s und durch Durchschleusung des Resultats in die SCAD Logik. (Man kann bis zu Null zählen, wenn ein Befehl von unbestimmter Länge gegeben wird).
Es gibt keinen Hardware Check für diese
Befehle von übermässiger Länge.
909834/0630
-n- - 83· 2902882
Der Computer fährt fort korrekt zu arbeiten (Microcode wird automatisch jede 32 Microsekunden aufgefrischt), sehr lange Befehle können ernsthafte Nebenwirkungen haben.
3) Eine negative zahl im SC Register kann durch andere Zahlen als 1 gezählt werden; Z.B. wenn wir ein längeres Feld in SC schleusen, eher als es 2 Plätze nach rechts verschieben vor der Zählung, so können wir leicht auch mit 4 zählen. (FE kann nur mit 1 gezählt werden).
4) Eine positive Nummer in SC bleibt unverändert und der Datenweg wird nicht zeitlich angestellt. Wenn ein negativer Wert in SC bedeutet Verstellung C
(Q) nach rechts und ein positiver Wert eine Verstellung nach links bedeutet, so ist die Sequenz fortgesetzt, wie Tabelle 13 zeigt.
MULTI SHIFT (=Verstellung), SC/SC + 1, Q/Q SHRT/ SHIFT Q nach SC/0 -SC rechts, wenn
SC negativ.
MULTI SHIFT ^Verstellung), SC/SC + 1, Q/Q SHLT/ SHIFT Q nach
(nicht rekommandiert, aber möglich)- wenn SC positiv.
5) Der Gebrauch von SC sieht vor, dass er bereits vorgeladen ist. Man kann auch die Anzahl in bits 16-31 des Feld zählen in den FE Register, und zwar mittels bit 1. Z.B. um zu berechnen BR + 5 AR: BR/BR + AR; SCAD EN, /C470 FFFB
909834/0630
Die SCAD lojik (seihe FIG. 41) ist völlig unter der Kontrolle des # Feld und ist daher in Bewegung auch wenn nicht gebraucht. Der Microcode SCAD EN bit kontrolliert nur die Ladung der SC und FE Register und-mit # bit 00 geschleustruft die multi-stufen Hardware hervor. SCAD EN Decodierung des # . Feld wie folgt FELD
0 - Multi-Stufen
1 - Schaltung SCAD Input A zu FE Register nach der
ersten Stufe.
2-3 - Type des Multi-Stupen Zyklus
0 - Normal
1 - Dividieren ·
2 - Nicht gekennzeichnet Multiplizieren
3 - Gekennzeichnet Multiplizieren
4 - Schleuse SCAD = 0 into SCAD/DISP logik.
5 - SCAD A auswahl
0 - FE register
1 - ^FeId
6,7 - SCAD B auswahl
0 - SC register
1 - EXP feld of DP (DP 0-09, richtig)
2 - DP 00 - 15
3 - DP 16-31
8 SC EN
9 - FE EN
10 - SCAD funktion (0 ARITHMETIK, 1 = BOOLEAN)
11 - SCAD übertrag
12 - SCAD ALU Funktion (siehe folgende Tabelle)
13 - SCAD ALU Funktion (siehe folgende Tabelle)
14 - SCAD ALU Funktion (siehe folgende Tabelle)
15 - SCAD ALU Funktion (siehe folgende Tabelle)
909834/0630
IR BUS KONTROLLE
Der 8-bit IR Bus wird vom IR Register gesteuert, der DECODE Register, der Hinweis Register oder direkt vom auf ■ weitesten rechten byte auf dem DBUS (siehe FIG 42). Die bits gehen direkt in die Dispatch Logik, und auch in den bit SILBEN Register, gebraucht für das Addressieren des REGISTER FILE.
Die verschiedenen Register werden durch SPEC/—Funktionen beladen.
SPEC/LOAD IRL—Laden IRL vom DBUS (linke Hälfte) SPEC/LOAD IRR—Laden IRR vom DBUS (rechte Hälfte) (Die Funktion SPEC/LOAD IR bewirkt beides)
IRR wird anderswo verdoppelt, um den DBUS zu steuern. SPEC/LOAD DECODE - Laden DECODE Register von DBUS (linke 3 bytes) SPEC/LOAD POINTER - Laden POINTER Register von DBUS (linke 3 bytes) SPEC/LOAD SYLLABLE - Laden SYLLABLE Register von DBUS (linkes byte)
Man beachte, dass all diese Funktionen hervorgerufen sind auf den Glockenschlag am Ende der 500 nsk Microcode Stufe.
Sollte die Microcode Stufe aus irgendeinem Grund nicht komplet sein (Micro Seiten Versagen, 6800 stoppt die Uhr, falsche Microcode Parität, etc.), so kommt es nicht zu der speziellen Funktion. Der 6800 kann das Microcode Wort vor der nächsten Zeitnehmung ändern.
Der IR Bus wird von einer von 8 Quellen gesteuert, abhängig von 3-bit IR/—Feld, wie unterhalb gezeigt wirds
0 - IR Register byte 0 (OP CODE byte)
1 - IR Register byte I
2 - IR Register byte 2
3 - IR Register byte 3
4 - POINTER Register
5 - DECODE Register byte 1 (gebraucht während DISP/EXEC)
6 - DECODE Register byte 2
7 - DBUS byte 3
909834/0630
-00-
Der IR Bus wird während der folgenden DISPATCHES gebraucht. DISP/OP CODE - Abfertigung 256 Wege, gebraucht die
gesamten 8 bits des IR Bus. Sollte mit
IR/0 gebraucht werden. DISP/EXEC - Ausführung um 12-bit EXEC Feld des
DECODE Register. Sollte mit IR/5
verwendet werden. DISP/SYLLABLE - Führt 15 Wege von 0 bis E aus und 16
Wege um Registerfeld, wenn die Beschaffenheit
F ist. Sollte mit SKIP/MODE F als ein 31 Weg
dispatch gebraucht werden. DISP/MODE - 16 Weg dispatch auf IR bits 0-3
(bedeutsamsten bits) DISP/REG - 16 Weg dispatch auf IR bits -4-7
(geringsten bedeutenden bits)'.
MICROCODE DISPATCH FELD
Das DISPATCH Feld (DISP/-) wird vom Microcode verwendet, um die nächste Befehlsaddresse in folgender Weise zu verändern:
1) Die Konsolen-Addresse für Lesen und Schreiben in den Microcode Speicher auszuwählen»
2) Die Spitze des Stapels fur Unterprogramm-Rückkehr zu wählen.
3) Als ein Vielfach abschnitt in gewählten Hardware Bedingungen.
Das DISP/- Feld ist ein 4 bit Feld, das dem Microcode gestattet von einem der 16 möglichen dispatches zu wählen. Es muss ein NULL dispatch verhanden sein und es gibt einen zweiten NULL dispatch in gegensätzlicher bit Polarität, um die Parität der 80 bits an Microcode, die sich auf dieser Ebene befinden aufzustellen.
Ein DISP/- Code von 0 muss die Konsolen Addresse wählen, um dem 6800 zu ermöglichen die Microcode Worte anzuschreiben. Der NULL,(Unterlassung) Fall darf nicht 0 eintreten.
9834/0630
Die Codes werden in Tabelle 14 angeführt;
Table 14
0 (12) CSL ADR
1 (12) SBR RET
2 (12) EXEC
3 (8) OP CODE
4 NOP
5 NOP
6 NOP
7 NOP
8 (5) DP 0-3
9 (5) SYLLABLE
A (5) MODE
B (5) REG
C (5) NORM
D (5) SCAD
E (5) SPARE
F (5) SPARE
6800 CSL ADR Register
Subroutine return address = Unterprogramm Rückkehr Addresse
12-bit address from DECODE register = Addresse vom DECODE Register
OP CODE from INSTRUCTION register = OP CODE vom Instruktion Register
DEFAULT = Unterlassung
DEFAULT (opposite polarity) = Unterlassung (gegensätzliche Polarät)
Data Path bits (0-3) = Daten Weg bits (0-3)
Selected syllable = ausgewählte Silbe.
Left 4 bits of syllable = linke < bits Silbe
Right 4 bits of syllable = recht? 4 bits Silbe
Normalize hardware = Hardware normalisieren
SCAD Logic = SCAD Logik
909834/0630
-.«82-
φ DISP/CSL ADR Diese Funktion wird wahrscheinlich nicht vom Microcode gebraucht. Wenn das Microcode Wort durch die 6800 Wiedereinsetzungsfunktion gelöscht ist, kann der 6800, via dem CSL ADR Register, jedes Wort in den Microcode Ram addressieren.
DISP/SBR RET Sucht Unterprogramm-Rückkehr Addresse aus, 12
bits und zwar von der Spitze des Stapels. Hardware lässt das Wort vom Stapel los. Normalerweise OR mit JUMP/1 oder JUMP/2 kehrt zu einer oder 2 Bereichen unterhalb der ursprünglichen CALL Instruktion zurück. Kann auch mit SKIP/Funktion für Unterprogramme, die vielfache Ausgänge haben, verwendet werden.
DISP/EXEC Wählt das 12 bit J FELD vom DECODE Register.
Man beachte, dass 8 bits des DECODE Register den allgemeinen 8-bit IR Bus zeigen und anderswo ausgesucht werden müssen. Normalerweise gebraucht um Addressen und Exekutionscode zu beinhalten.
DISP/OP CODE Dispatches auf der 8-bit Silbe vom IR Register
ausgesucht. Das wäre normal der linke Byte des IR Register und muss anderswo gesucht werden. Sollte mit einem grossen JUMP/Feld als Vielfachiabschnxtt für Decodierung vom OP CODE verwendet werden. Z.B. JUMP/F00, DISP/OP CODE wird zu F37 auf OP Code 37— abgefertigt.
Man beachte, dass der IR Register, der DECODE Register und der 8-bit INDIRECT Register alle ihre Daten auf einen gemeinsamen 8-bit IR Bus geben. Damit können alle DISP 1-Funktionen die solche Daten verwenden, auf die anderen Felder des Microcodes zählen bei der Auswahl von korrekten Daten für die Steuerung des IR Bus..
Dies Funktionen sind DISP/EXEC, OP CODE, SYLLABLE, MODE, REG.
909 834/0630
-ß-3-
Die Ausführungen in Tabelle 15 haben alle 4-bits, aber ihre Wirkung wird um eine Position nach links verschaben« um den letzten (am wenigsten bedeutend) Address bit. Damit können sie mit jeder der SKIP/ Konditionen gebraucht werden, um von 16-Weg auf 32-Weg Dispatsches zu ändern.
9 DISP/SILBE
BYTE 0X IX 2X
EX FX A DISP/MODE
B DISP/REG
8 DISP/DP0-3 C DISP/NORM
Tabelle 15
(benötigt einen ausgesuchten Byte auf dem IR Bus) Dispatches auf dem MODE Feld, ausser MODE ist F, dann Schaltung auf dispatch auf dem REG. Feld. Gekuppelt mit SKIP/MODE F gibt einen 32-Weg Dispatch.
DISP BYTE DISP
0 F0 ' 1
2 Fl 3
4 F2 5
etc.
etc.
IC
FE FF
(benötigt einen ausgesuchten Byte auf dem IR Bus). Dispatches im MODE Feld, die oberen 4 bits des ausgesuchten Byte.
(benötigt einen ausgesuchten Byte auf dem IR Bus)! Dispatches im REG. Feld, die niederen 4 bits des ausgesuchten Byte.
Dispatches auf 16 Wegen auf den bedeutendsten 4 bits des DP Bus.
Für den Gebrauch während schwebend-Punkt-Normalisierungs Routine, um schnell zu bestimmen wo der wichtigste 1-bit im 2901 Datenweg ist. Bestimmung erfolgt durch Gebrauch eines Prioritäten Decoder und-da Normalisierung nur positiven Nummern entspricht-ein negativer Wert gibt den höchsten Prioritäten Dispatch„
909834/0630
Datenweg ist negativ
2302862
0 DP 00 ist eine Ei: 2 DP ®8 "
4 DP 09 " " " 6 DP 10 "
8 2901 ALU 00 ist keine A 2901 ALU 16-31 " C 2901 ALU 32-47 " " E 2901 ALU 48-63 "
Man beachte bits 00, 08, 09, 10 hängen von diesen Bits, (von den 64 bit 2901 Funktion) ab, die auf den DP Bus placiert wurden. Es ist für den Microcode möglich sicherzustellen, dass diese Bits 0 sind und diese Funktion bloss für die Sucher eines 16-bit Nicht-Null Sektion der 2901 Funktion da ist.
Der korrekte Gebrauch der DISP/NORM Funktion verlangt nach einer früheren Kenntnis, wenn das Wort positiv ist, dass DP bits 01 bis 07 Null sind. Nach Addition oder Subtraktion von normalen schwebenden Punkt Nummern ist dies der Fall. Multiplikation und Division benötigen eine sorgsame Analyse um sicherzugehen, dass das wichtigste bit nicht links vom DP08 sein kann.
D DISP/SCAD Die 16-bit SCAD Logik untersteht der Kontrolle des SC EN bit und des Felds. Man nimmt an, dass wir eine negative Zahl in SCAD benötigen und bis zu Null zählen wollen, während Daten in die 2901 verstellt werden.
Tabelle 16
SCAD PROPAGATE.
2 SCAD ist posxtive.
4. SCAD<-128
6 SCAD <-64
8 SCAD <-32
A SCAD <-16
C £CAD ζ-8
E SCAD .2-8
(Summe ohne übertrag = -1) Muss via CRAM -»Ό5 bit ermöglicht werden
Mehr als 128 Plätze für Verstellung
8 oder weniger Plätze für Verstellung
909834/0630
• -95-
-94- 2302862
Man beachte weiters, dass aus Zeitgründen mit der 5OO mSek Micro Stufe, es unmöglich ist die SCAD Logik vom 2901 Datenweg her zu laden, während simultan eine arithmetische Funktion in der SCAD Logik ausgeführt wird. Microcode REG SEL/Feld
Die interne Register Reihe, 256 Worte von 64 bits ist in 8 Gebrauchsblöcke geteilt, nummeriert 0 bis 7. Der Block der dem gegenwärtigen Gebraucher gewidmet ist, wird durch ein 3-bit Blockfeld (BBB unterhalb) gekennzeichnet. Ein 4. Hardware Zeichen, in der folgenden Beschreibung EXEC benannt kann oder kann aber auch nicht genau mit EXEC Weise korrespondieren, ein separates Zeichen), kann eine Schaltung zu Block 0 verursachen.
Jeder Block aus 32 Registern ist weiters in eine obere und untere Sektion geteilt. Die unteren Sektionen, Register von 0 bis F. sind-die 17 Allgemeinzweck Register und Zugang ist einigermassen leicht. Die obere Sektion, Register 0 10 bis IF von jedem Block, sind Spezial Register und Zugang ist nicht so einfach und kann zu manchen speziellen Registern verhindert sein.
Im besonderen, während eines ablaufenden Programms, sind einige der gegenwärtigen Spezial-Register innerhalb der Register Reihe nicht gültig, aber haben gültigen Inhalt in den 29Ols. Der Programm Zähler (PC) ist ein Beispiel Zugang zum PC (Register 11) geht nicht von der Register Reihe.
Zusätzlich ist Registerzugang unter Kontrolle eines 8-bit byte, ausgesucht von der gegenwärtigen Instruktion und befindet sich in einem 8-bit Silben Register. Das Laden dieses Registers ist anderswo bestimmt; die 8 bit sind MMMMRRRR (korrespondierend zu MOD, REG.) benannt.
Das Microcode Feld, das den Registerzutreit bestimmt, besteht aus 4 bits, WR, SEL (2), L in dieiser Reihenfolge. Schreiben in den Taeschrifteten Bereich. Das Schreiben findet in der letzten 125 nsek eines 500 nsek Microcode Zyklus statt. Die REG Reihe sollte nicht als ein D BUS Input ausgesucht werden, der während des Schreibens der Output in einen unbestimmten hohen Impedanz Status geht.
909834/0630
Jj. 2302862
Diese 2 bits werden gebraucht, zusammen mit der ausgewählten Silbe und Block Nummer, um den benötighen Bereich, laut Tabelle 17 zu addressieren.
Tabelle 17 User Mode
Block
Register
Exec Mode
Block
BBB 0RRRR
000 BBB IRRRR
000 BBB 0MMMM
000
SEL (2) (SEL)
0
1
ο _
3 (Benötigt weiteres decoding des Microcode Felds) 3 00 000 BBB ^(27) fn (Reg,*-)
3 01 BBB BBB ti (27) " "
3 10 MMM MMM* .N mm
3 11 .#(24-26) ^(24-26f ^(27) "
& Microcode sollte' niemals dorthin kommen, ausser extra Tests werden auf den Addressen bits durchgeführt, um Wechselwirkung
zu vermeiden.
In REG Auswahl Weise 3, ist das Microcode Feld weiters
decodiert, um den benötigten Register zu addressieren. Das Feld wird wie in Tabelle 18 gezeigt wird folgendermassen decodiert:
* L Auswahl der niederen 32-bit Hälfte des 64 bit Registers (Abwesenheit dieses Bits sucht die obere Halte aus).
90 9 8 34/0630
. Ϊ3
Tabelle 18
Wahl des gegenwärtigen Blocks in Gebraucher Weise, Block 0 in Ausführungsweise.
00 - Select current block.in user mode, block 0 in exec mode
01 - Auswahl des gegenwartxgen Blocks
10 - Auswahlblock durch Addressen Silbe addressiert
11 - Auswahl Block durch (24-26) gegeben.
Dieses Feld füttert direkt in ein 64LS181 Chip und sucht eine der 32 möglichen Funktionen aus, mit oder ohne Übertrag. Die brauchbaren Funktionen werden in Tabelle 19 dargelegt.
Tabelle 19 LOGIC ARITHMETIC *<18> -1
SELECTION #(18) = 1 #(19) = 0 Ja«-(19) 2* Reg
5^(20-23) - - Reg +
0 - - Reg.
1 . - - -
2 0 - -
3 - - = O
4 - - = 1
5 Reg .XOR^ - Reg. 1
6 - - OR 3ji+ 1
7 - -
8 - Reg. +
9 -
A Reg .AND.rf Reg .AND^
B F 2* Reg. - J*
C - - -
D Reg .OR.^ - -
E Reg Reg - 1 -
F -
-
. + 1
-
-
-
909834/0630
-jn-
2902362
Microcode 2901 Kontroll Felder
Der 32 bit Daten Weg und die 32-bit Daten Weg Verlängerung werden von separaten Microcode Feldern aus kontrolliert. Diese können miteinander für eine 64 bit Daten Manipulationss verknüpft sein, aber können miteinander auf ganz neuartige Weise verbunden sein. Z.B. ist es möglich einen arithmetischen Vergleich (Subtraktion) in der Verlängerung anzustellen, während die Addition im Datenweg selbst stattfindet, jedoch trotzdem den Übertrag so zu verbreiten, dass der 32 bit Vergleich das Resultat der 32-bit Addition verändern kann. Der Datenweg kann nach rechts und die Verlängerung nach links in Verstellungsweise 2 für einen 8 Verstellungsweg verschoben werden.
A/—, AX/— Addressierung eines der 16 internen 2901
Register. Dieser Register kann als eine der ALU Konstanten verwendet werden, oder kann direkt auf den DP Bus placiert werden. Diese Register sind unverändert, (ausser addressiert von B/—).
B/—, BX/— Addressierung eines der 16 internen 2901
Register. Diese Daten können als eine der ALU Konstanten verwendet werden. Die ALU Funktion kann auch in den Register geschrieben werden, unter Kontrolle des DEST/—Felds.
SRCE/--, SRCEX/-- Dieses 3-bit Feld sucht die (3) (3) Quellen Konstanten für die 2901 ALU Funktion aus. Siehe Tabelle
909834/0630
.55
2302862
Tabelle 20 S KONSTANTE
SRCE S KONSTANTE A
0 Q A
1 B 0
2* Q 0
3* B 0
4 A D-Bus
5 A D-Bus
6* Q D-Bus
7"* 0
Unverändert von MUL/DIV Hardware Siehe MUL/DIV Beschreibung.
909834/0630
-JSrO- ■16-
2302862
Dieses 3-bit Feld sucht die auszuführende Funktion auf den ausgewählten Quellen-Konstanten aus: Siehe Tabelle
Tabelle 21
FUNC ALU Function (F)
0 S + R + übertrag in
1 S-R-I + Übertrag in
2 -S + R - 1 + Übertrag in 3* S.OR.R
4 S.AND.R
5* S.AND.R
6 S.XOR.R
7* S.EQV.R
Unverändert durch MUL/DIV Hardware. Siehe MUL/DIV Beschreibung.
Dieses 3-bit Feld kontrolliert das Laden des B und Q Registers und der Mischer kontrolliert den DP Output Bus. Man beachte, dass die Anordnung dieser Funktionen verschieden von der die von AMD herausgegeben wurde ist und zwar wegen der Umkehrung des 1 Gewichts. Siehe Tabelle 22.
Tabelle 22
PEST B-REG Q-REG DP Bus
0 - - F
1 F F
2 F- F
3 F - A
4 F/2 - F
5 F/2 'Q/2 F
6 2F - - F
7 2F 2Q F
Allgemeine Bemerkungen über die PEST Funktion
Es gibt einige Mangel der 2901, die nicht generell
bemerkbar sind, bis man versucht sie zu programieren. Die lästigsten werden hier aufgezählt.
1) Der Q Register Inhalt (Funktionen 5 oder 7) kann
nicht ohne Abänderung (Verschiebung) des B Registers verschoben
909834/0630
-eri-
Αι
2302862
werden. Diese Tatsache erfordert wahrscheinlich einen Abfall Register (Register 0).
2) Man kann nichts in den DP Bus verschieben- Die Verstellungen sind nach den DP Output Stiften (d.h. die Verstellungen sind in den Inputs zu den B + Q Registern).
3) Der Q-Versteller verschiebt nur den Inhalt von Q. Die ALU Funktion kann nicht in den Q Register gegeben werden.
DP/EN/— Die 4 bits des DP EN Felds werden verwendet (4) um die 32 bits der ALU Verlängerung in den DP Bus (statt der wichtigsten Hälfe der 2901 ALU) ein Byte zur Zeit, zu schleusen. Ein 1000 auf diesen 4 bits verursacht den ^ DP von den 2901 Bytes gesteuert zu werden; in der Reihenfolge 4, 1, 2, 3.
CLK EN/— Die 4 bits des CLK EN Felds werden dazu (4) verwendet, um dem CLK zu ermöglichen in den 2901, ein Byte zur Zeit, zu kommen. Man kann wählen nur 8, 16 oder 24 bits des 2901 Registers zu modifizieren. Die Verlängerung ist immer möglich.
CRY IN Kontrolliert den Übertrag in den 2901. Wenn (1) die MUL/DIV Hardware einen Subtraktions
Zyklus durchführt, kommt "OR" in diesen Output. PROP(I) Verbreitung eines Übertrags von der Addier -
Verlängerung.
GEN (1) Entstehung eines Übertrags von der Addier -
Verlängerung.
Diese letzten 3bits werden zur Kontrolle des addierens verwendet; einen Übertrag zu addieren und die 2 Hälften in 2 32-bit Addierer zu separieren.
ORIGINAL INSPECTED 909834/0630
2901 Verschiebungs Kontrolle 2302862
Verschiebung von Daten innerhalb des 2901 Ham Inputs oder 2901 Q Register Inputs, steht unter der Kontrolle der 3-bit DEST/—(und DESTX/—) Felder. Eine rechte Verschiebung, z.B. wird durch B/F12 gekennzeichnet; eine linke Verschiebung läuft in Q/2Q ab.
Während dieser Verschiebungen, sind die Wege als 64-bit Verstellungswege verbunden, wobei Hardware die Endkonditionen kontrolliert. Ist die Verschiebung eine arithmetische Verschiebung, eine logische Verschiebung oder ein Rotation ? Diese Endkonditionen werden von den bedeutungsarmsten bits des Microcode SPEC/-Felds augesucht, wie in Tabelle 23 gezeigt wird.
Linke Verschiebung
RAM
"XXXXXXXX' XXXXXXXX - XXXXXXXX
l~xxxxxxxx XXXXXXXX-
xxxxxxxx-• xxxxxxxx-
RAHX S.
XXXXXXXX-e-0 XXXXXXXX-^-
xxxxxxxx -^-i. xxxxxxxx -<r-• xxxxxxxx-^-1
xxxxxxxx xxxxxxxx^ ^-xxxxxxxx
XXXXXXXX -<t-
XXXXXXXX -«-
-xxxxxxxx -= xxxxxxxx -*
xxxxxxxx-^-
XXXXXXXX -<r
-XXXXXXXX
•xxxxxxxx
-xxxxxxxx
XXXXXXXXi^
xxxxxxxx< XXXXXXXX^-I s xxxxxxxx-^- Φ XXXXXXXX-^-X XXXXXXXX^-
xxxxxxxx^
*5— '
909834/0630
■89·
2302862
Rechte Verschiebung
SPEC
0
1
2
3
4
5
f?c/A /IS///Z. 6
RAM ■ -?> XXXXXXXX
i_—^XXXXXXXX L^XXXXXXXX L^XXXXXXXX
φ—^ XXXXXXXX
Ι—^xxxxxxxx Clxxxxxxx L-> xxxxxxxx
RAMX · q[
->- XXXXXXXX jz5-^>XXXXXXXX
-^xxxxxxxx /-^»xxxxxxxx
-^ xxxxxxxx
■^»xxxxxxxx
> xxxxxxxx
> xxxxxxxx ^> xxxxxxxx ^ xxxxxxxx
>xxxxxxxx
=> xxxxxxxx
xxxxxxxx
^ xxxxxxxx -
XXXXXXXX
xxxxxxxx xxxxxxxx
xxxxxxxx-
XXXXXXXX
xxxxxxxx xxxxxxxx
XXXXXXXX
XXXXXXXX-
xxxxxxxx
Links und Rechts Verschiebung
RAMX
-XXXXXXXX"
909834/0630
'Λο0' 2302862
SPEICHER VERLEGUNG
Speicher Anweisung in Hinblick auf Addressenraum wird durch die Verbindungs Hardware bewirkt. Die Addresse wird in den Register placiert, als VMA "Virtual Memory Address" (eigentlich eine Namensirreführung> da die Einheit hauptsächlich eine Speicherverlegung ist) benannt. Die Verlegung besteht aus hohen Geschwindigkeits statischen 4K bei 16 RAM, da sie sich im kritischen. Formationsstand der Busaddresse befindet. Elf der bits, die in der Verbindung gespeichert sind, sind die Verlegungsaddressen des 16K Byte physischen Speichersegments. Vier der fünf verbleibenden bits sind mit dem Schutz-Status des zu addressierenden Segments betraut. Die Logik, gebraucht um zu bestimmen ob ein bestimmter Zugang gültig ist, wird durch eine Einheit, als "Schutzbox" (protection box) und als "POX" beschriftet, ausgeführt. Der fünfte und letzte bit wird eingesetzt wenn ein Schreibzyklus - in einem bestimmten Segment, wenn ein bestimmtes Speichersegment "unsauber" ist, ausgeführt wird. In manchen Systemem wird dies verwendet, um festzustellen wann ein Segment auf eine Scheibe kopiert werden muss. (das ist ein übertrag von den "time share" Tagen) Beschreibung der Verlegung und POX folgt.
VERLEGUNG UND POX BESCHREIBUNG
VERLEGUNG:
1. Die Verbindungsgrösse beträgt 4K Durchlässe (X16 bits).
2. Die Einheit für Verlegung ist 16K bytes. Die 4K Verbindung ermöglicht Speicher Management Anlagen 64 M-bytes des verlegten Speichers in 1OK "Blöcken" zu addressieren.
3. Die Schutzeinheit ist 16K bytes. Jeder Durchlass enthält 4 Schutz bits, die zum Block des "Virtual Memory" gehören.
4. Microcode kann die Verbindung in bis zu 16 Teile teilen (jeder 4MB) und zwar durch Kontrolle eines 8 bit Unterteilungs Registers. Dieser besteht aus einem 4 bit Grossen Feld und einem 4 bit Basis Feld. Das Basis Feld
909834/0630 ORIGINAL INSPECTED
• /Ιοί
"OR"s mit den 4 MSBs der Verbindung (Map) und die Grössenfeider setzen die Grenze (Zuwachs von 4MB) oberhalb welcher der Gebraucher die Addresse nicht benutzen kann, ohne ein Verbindungs (Map) Versagen zu verursachen.
5. Kein Gebraucher kann über 64 M Bytes addressieren. Wenn eine der 3 MSP des VMA nicht Null ist, so Kommt es zu einem Versagen.
6. Eine nicht verbundene Addressierweise ist vorhanden, wobei die Verbindung umgangen und die vollständige Busaddresse direkt vom VMA Register geschaffen wird.
7. Jeder Speicherzutritt (Buszyklus) zu einem nichtexistenten Speicher (d.h. REPLY* L Signal während PHI nicht zur Geltung kommt) resultiert in einer Microprogramm-Falle (Zyklus Versagen).
8. Ausschliesslich Lese und Schreibzyklen sind auf dem Bus vorhanden, jedoch wann immer ein Zeitzyklus abläuft, 2#- FaId bits (K0, Kl) kennzeichnen die POX welche Art von Zyklus abläuft.
9. Jeder Verbxndungsdurchlass enthält ein "modifiziertes" oder M-bit, das von der Hardware dann eingesetzt wird, wenn ein Bus Schreibzyklus stattfindet innerhalb des korrespondierenden Blocks. Dieses bit wird auch dann eingesetzt, wenn REPLY* L nicht während des Zyklus zurückgekehrt ist.
10. Microcode kann alle bits lesen und schreiben im MAP RAM, inklusive M-bit. Speicher bits 7-14 werden als Teil der physischen Speicher Zutrittsaddresse via Mubus gelesen: Das M-bit und die 4 Schutz bits werden als Teil des Condition Code Halbwortes gelesen.
11. VMA und MAP Datenformate werden in FIG 43 gezeigt. VMA Format für nicht verbundene Weisen wird nicht gezeigt, da es einfach eine 28 bit breite Addresse ist.
12. Die 4 Schutz bist (Pw, Ρχ, C und W) sind mit 8 CPU Zutrittsbits (K^, K,, D , U^ - U3) kombiniert und bestimmen den benötigten Speicherzyklus in einer aufzeichnungs fähigen "protection box" (POX). Die zwei "gegenwärtigen" Domain
909834/0630
bits (Dw, D,) und die vier "gegenwärtigen Gebraucher bits" (U0-U3 kommen von einem 6-bit Register, der vom Datenweg durch einen spezielles Beladungskommando beladen wurden. Die "Zyklus Typen" bits (K0, Kl) werden direkt vom Microcode "Nummern Feld" gesteuert.
Der Output der POX verursacht eine Microprogramm Falle (MAP Versagen), sobald die 12 bit Input Kombination einen ungültigen Zutrittsantrag anzeigt.
13. Ein MAP oder Addressen Versagen (siehe Punkte 5 + 12) halten einen Buszyklus vom Ablauf ab (besonders einen Schreibzyklus); ein Zyklus Versagen (Punkt) nicht.
Ein pseudo-Hardware Blockdiagramm der MAP wird in FIG. 44 gezeigt, im besonderen die wichtigsten Signalwege andeutend. POX:
1. Jeder MAP Durchlass euthält 4 Schutzbits und kann daher in einen von 16 Schutzstadien sein.
2. Verbreitungszeit durch MAP und dann durch POX ist kritisch.
3. POX ist allgemein genug um vielfältige Schutzschemen (konventionell und unkonventionell) auszuführen.
POX Hardware basiert auf einem Schema in dem 16 mögliche Versagen, eines für jeden Status der Schutzbits, "aufgesucht werden" in einem 64 χ 16 RAM parallel oder bereits im vorraus um die 4 Schutzbits von MAP zu erhalten. Ein 16:1 Multiplexor, addressiert von den Schutzbits, wählt eines der potentiellen Versagen aus und reicht es an den MAP-Versagen-Output weiter. POX RAM wird von 8 bits addressiert, die CPU Zugangslage bestimmen. Ein Zutrittsstatus wird bestimmt; 1) welcher "Gebraucher" im Augenblick beträtigt, 2) in welchem "Bereich" sich der Gebraucher im Augenblick befindet (z.B. Kern, Fehler-beseitigung, Exekutive Code, und 3) welche Art von Speicherzyklus abgerufen wird (Keiner, Lesen, Schreiben, oder Befehlseinholung). Der Map-Schutz-Stand wird bestimmt 1) der Bereich in den das Segment gehört (Blockbereich) und
909834/06
2302862
2) welche Datentype gegenwärtig ist (z.B. reiner Code, nur-Lesedaten, Lesen/Schreibdaten). Für jeden gegenwärtige Bereich/gegenwärtige Gebraucher Kombination gibt es einen bit Authorizations Vektor, der spezifiziert ob ein Versagen stattfinden soll oder nicht für jeden Zyklentyp, angeordnet als Blockfunktionsbereich und Datentype (FIG. 45).
Die POX Tafel wird geschrieben und gelesen durch Microcode in 16 bit Quantitäten, jede enthält vier 4-bit Schutz "Nibbles" für jeden Seitenbereich, der einen bestimmten Zutrittsstand-Vektor-Wert gibt.
U0 - U-. gegenwärtige POX Gebrauchernummer. Teil des CPU Zutrittsstand Vektors. Spezifiziert einen von 16 möglichen POX - Gebrauchern.
D0, - D1 gegenwärtiger Bereich. Teil des '
CPU Zutrittsstand Vektors. Bestimmt gegenwärtige POX - Gebraucher Bereich der Ausführung.
K^ - K1 Type des Zyklus angeordnet. Teil des CPU Zutrittsvektors. Vom Microcode Nummern-Feld. Siehe Tabelle 24.
Tabelle 24
Kp, K Name Zyklus Beschreibung
0 Null . Keine. Kein FABUS Zyklus läuft
1 R Lesen
W Schreiben
F Befehlseinholung
P^ - P, Block Bereich. Teil des Block-Schutzvektors. Jeder Wert sucht eine 4x4 Aufstellung von MAP Versagen Bedingungen auf der Basis der Zyklustypen (K^, K) gegen Blockdatentype (C, Q).
C, Q Block Daten Type. Teil des Blockschutz
Vektors. Kennzeichnet wie Daten für Bereich
909834/flftSO
ORIGINAL INSPECTED
404.
von Block und gegenwärtigen Gebraucher behandelt werden.
Tabelle 25
C Q Name Beschreibung (siehe Anmerkung)
TS. 0 RD
1 0 RC
0 1 DD
1 1 DC
Nurlese Daten
Befehl (nur Lesen) Lesen/Schreib Daten Veränderliche Befehle
Anmerkung: Die Beschreibung bezieht sich allgemein nur auf den Inhaber Bereich. Andere Bereiche können angeordnet werden, z.B. "Code" oder "Nur-Lese" Daten zu ändern.
Speicher - I/O Einheit
Die Speicher - I/O Einheit (MIO) versorgt den Hauptspeicher, Serien I/O und parallel I/O im Computer. Der Computer ist so augestattet um grosse Speichermengen pro Processor zu versorgen. Zusätzlich werden alle I/O unabhängig von der CPU ausgeführt und damit wird zu einer hohen I/O Durchlass Rate sowohl im Seiten als auch Parallel I/O beigetragen!. Jeder MIO Block hat einen Microprocessor (Motorola 68OO) als einen lokalen Kontrollor. Der Microprocessor führt Modulstart, I/O Transfers und lokale Kontrollfunktionen aus Zusätzlich zu FIG. 4 und 5, ist in FIG. 46 eine Blockdiagramm der MIO Ebene zu sehen. Siehe auch FIG. 47 + 48 für weitere Details.
MIO Zeitnehmung (siehe FIG. 49 und 5O)
Die MIO Funktionen funktioniert in einem 3 Phasenzyklus synchron mit dem Buszyklus Der Gebrauch des 3 Phasenzyklus gestattet, dass lokale Verarbeitung in Sequenz mit dem Busverfahren stattfindet. Siehe Tabelle 26.
Phase Gebrauch
PH 0 Microprocessor Zutritt zum Haupt
RAM und dynamisch RAM-
Auffrischung.
PH 1 Speicherzutritt durch BUS.
PH 2 Speicherzutritt durch parallel
I/O (DMA).
90983h/06 90
ORIGINAL INSPECTBD
~λΟ5-
Tabelle 27 beschreibt die Beziehung zwischen den
Buszeitzyklen und den MIO Zeitzyklen;
Tabelle 27
Phase Bus 26 MIO
PH 0 Addresse + Kontrolle Microprocessor
Zutritt
und dynam. Auffrischung
PH 1 Addresse + Kontrolle Busaktivität
PH 2 Daten DMA
Hauptspeicher
Der MIO enthält eine grosse Menge an dynamischen RAM
für die Hauptsystemspeicherung. Dieser RAM hat 3 Öffnungen, obwohl nur eine zur Zeit offen sein kann. Das ermöglicht
den 3 Zutritts Mechanismen ihre Addresse und Datenregister
unabhängig zu laden, obwohl nur einer den RAM zu einer
bestimmten Zeit in Schwingung bringen kann.
Die Bus-Öffnung inkludiert Logik, um die Addresse,
angeordnet während PH0 und PH1 zu schliessen und führt den
Zutrittsbefehl in PH1 aus. Die Daten werden auf dem Bus und intern zum MIO während PH2 eingeschlossen. Buszutritte sind 32-bits breit.
Die Microprocessor öffnung gestattet dem 6800 den Haupt RAM via dem eigenen Datenbus zu lesen. Er kann den RAM
während PH0 des Buszyklus Zutritt gewähren. Dieser Zyklus
wird auch vom Auffrischungsmechanismus des RAM geteilt. Der 6800 kann ein Datenbyte zur Zeit Zugang gewähren. 4 Zyklen ' sind nötig für eine 32-bit Operation.
Die DMA Öffnung (parallel I/O) ist der 3 RAM Kanal. Er hat seinen eigenen Addressen und Zählregister, sowohl als
auch Kontrollfunktxonen für DMA Transfers. Die ersten Werte werden vom 6800 unter Anweisung der CPU geladen. Der DMA
hat Zutritt zum RAM während PH2 des Buszyklus. Alle DMA
Transfers sind 32-bit Daten Posten.
909834/0630
Microprocessor
Ein Motorola 6800 Microprocessor ist auf jeder MIO Ebene placiert. Der 6800 hat seinen eigenen Bus und beide RAM + ROM Speicher. Der 6800 erfüllt 5, Grundfunktionen: Modul Start, I/O Kontrolle, lokale Diagnostik, Unterbrechungsanordnung und Fehlerbeseitigung.
Modul Start
Bei Strom-an und auf Anordnung der CPU, tritt eine Startsequenz ein. Diese wird vom 6800 kontrolliert und ist dafür verantwortlich die MIO Einheit "auf Linie" zu bringen. Während des Startsführt der 6800 eine Reihe von lokalen Diagnosen durch, inklusive ROM Checksumme, RAM Diagnostik für beide den privaten RAM und den allgemeinen RAM und I/O Kanalstart. Wenn einer dieser Tests versagt, so wird eine Statuslinie zur PSU Reihe das Wesen des Versagens anzeigen.
Während des Systemstarts unter CPU Kontrolle ist der 6800 für Zwischverbindung zu anderen Modulen via Bus verantwortlich, um einen die Basisspeicherregister und Blocknummein festzulegen.
I/O Kontrolle
Alle I/O im Computer gehen durch die MIO Module. Jedes Modul unterstrützt 4 Asynchrone Kommunikationszwischenverbinder (ACIA - Asynchronous communications Interface Adapters). Jeder ACIA unterstützt einen vollen zweifachen Datenkanal, dessen Parameter durch den 6800 programmierbar sind. Der bit parallel MIO unterstützt auch 32-bit DMA mit dem allgemeinen RAM.
Das Protokoll für jeden ACIA wird von der CPU zum 6800 spezifiziert. Die Parameter werden durch Standard MIO/CPU Kommunikationen geladen. Die Einheit zum Befehl zur Unterbrechung (OUTERRUPT) kann auch verwendet werden.
90983^/0690
. fa.
-yfi-
Für Input werden Symbole in den gekennzeichneten Allgemein RAM Puffer geladen, bis eine Beendigungs Kondition, aufgedeckt ist. Dann kann eine CPU Unterbrechung angeordnet werden. Für Output werden Symbole vom Datenpuffer in den Allgemeinen RAM entfernt und in den ACIA geladen. Von der CPU aus gesehen, scheinen alle Serien I/O DMA zu sein, da die CPU nicht jedes Symbol individuell behandeln muss. Der 32 bit parallel 1410 enthält eine Öffnung, von DMA Transfers zum allgemeinen RAM gebraucht. Diese sind 32-bit Transfers entweder im oder ausserhalb des RAM. Die CPU spezifiziert den Datenpuffer und Wortzahl zum 68OO. Der 6800 ladet die POX mit Parametern und beginnt seine Durchfühung. DMA Transfers gehen während PH2 des MIO zyklus vor sich. I/O Parameter für beide Serien und Parallel I/O werden von der CPU zum 6800 via dem allgemeinen RAM geleitet. Der 6800 gewährt diesen RAM während PH0 des MIO Zyklus Zugang. Während Serien I/O wird diese Zeit für Einholung/Speicherung von Symbolen genützt. Für parallel I/O wird dies genutzt, um Parameter für PIA einzuholen.
Lokale Diagnostik
Eine wichtige Aufgabe des 6800 ist es lokale Diagnostik für den MIO Block zu gewährleisten. Der MIO kann unabhängig vom Rest des Systems als auch Systemumgebung getestet werden. Einige dieser Diagnosen inkludieren eine ROM Checksumme und Diagnose des privaten RAM, allgemeiner RAM, Serien I/O Kanal und parallel I/O Kanal.
Eine Unterteilung des gesamten Pakets wird während des Modulstarts ausgeführt. Die vollständige Reihe an Diagnosen kann entweder vom lokalen Terminal und Terminal Fehlerbeseitigung oder auf Systembefehl ablaufen. Zusätzlich kann eine spezielle Diagnostik in den allgemeinen RAM von der CPU für Ausführung des 6800 geladen werden. Terminal Fehlerbeseitigung
Die Grundverpackung für den 6800 ist die Terminal Fehlerbeseitigung. Sie befindet sich im ROM und wird begonnen nachdem die Strom-an Sequenz eendet ist.
3^/0630 om\nh\- inspected
2SQ2862
Unterbrechung
Der 6800 muss die Unterbrechungen handhaben. Sobald ein Zustand der eine Unterbrechung hervorrufen kann entdeckt wird, wird ein Unterbrechungsstufe auf den Bus , während PH2 eines Zyklus placiert. Die Antwort erfolgt wenn die CPU den INT POLL für diese Stufe bestätigt. Wenn mehrere Unterbrechungen stattfinden, muss der 6800 alle verfolgen und muss sicherstellen, dass eine Anordnung an die CPU ergangen ist. Wenn diese Anordnung angenommen ist (INTACK), löscht der 6800 seine internen Zeichen und fährt mit der Verarbeitung fort.
DMA
Die letzte wichtige Komponente des 32 bit Parallel MIO ist die DMA logik. Die DMA wird vom 6800 kontrolliert. Sie transferiert bei jeder Bewegung 32-bits Daten. Die DMA Öffnung ist während PH2 des MIO Zyklus aktiv.
Die DMA wird von der PIA auf dem MIO Block kontrolliert. Die PIA wird vom 6800 mit Parametern beladen, die von der CPU weitergegeben wurden. Die DMA hat eine Addressen und Kontroll-Logik, um allgemeine RAM Bereiche auszuwählen und die Transferrichtung zu kontrollieren.
Maximaler Durchlass ist ein 32-bit Wort in jedem Zyklus (1.5 microsek). Dies ergibt eine Transferrate von" 2.67 Megabytes in der Sekunde.
Der DMA wirkt unabhängig vom 6800 und dem Bus, die PH0 und PHI nacheinander benützen. Es bedarf keiner Wechselwirkung von der CPU.
Zwischenverfahrenspuffer · '
Der Zwischenverfahrenspuffer (IPB) ist eine spezielle Type des MIO, der den Computer zu einer Multiprocessor Zusammenstellung macht. Im Multiprocessor System, ist eine CPU als primäre oder "Gastgeber" CPU bestimmt. Sie ist für die Entstehung der Meistersystern Uhr verantwortlich. Eine IPB ist an den Bus angeschlossen und führt 2 Aufgaben aus. Erstens, lässt sie Daten zwischen dem Gastgeber und dem
9834/0830
ORIGINAL INSPECTED
Sklaven passieren. Zweitens, versorgt sie die SYNC Schwingung vom Meister mit dem Sklavensystem. Weiters, wird SYNC um eine Phase vom Meister zum Sklaven verzögert. Zeitmessung
Eine kritische Funktion des IPB ist die Versorgung von Zeitsignalen vom Meister zum Skavenbus. Es ist wichtig festzuhalten, dass ein IPB ein Meister auf einem Bus und ein Sklave auf einem anderen Bus sein kann FIG. 51 zeigt eine grosse Multiprocessor Konfiguration.
Tabelle 28 zeigt wie der IPB die Meister SYNC Schwingung im ganzen System verzögert.
Tabelle 28 SKLAVE C SKLAVE D
MEISTER SKLAVE B PHl PH2
PH0 PH2 PH2 PH0
PHl PH0 PH0 PHl
PH2 PHl PHl PH2
PH0 PH2 PH2 PH0
PHl PH0 PH0 PHl
PH2 PHl PHl PH 2
PH0 PH2 PH2 PH0
PH2 PH0 PH0 PHl
PH2 PHl
Das Zeitverzögerungsmerkmal bedeutet, dass es keine Ringstrukturen gibt. Eine Baumstruktur ist jedoch auf vielen Stufen erreichbar. Ein Meisterbus kann maximal 15 Sklaven IPBs haben. Ein Sklavenbus muss einen Meister IPB und ein Maximum von 14 Sklaven IPBs haben. Die Phasenverzögerung gestattet dem Meister und dem Sklaven Zugang zum allgemeinen RAM im IPB in aufeinanderfolgenden Phasen. Eine andere Folge der Verzögerung ist, das alle CPUs auf der selben Stufe in der gleichen Zeitphase ablaufen. Man beachte, dass die Sklavenlinie auf dem Bus durch den IPB auf seiner Sklavenseite zur Geltung gebracht wird. Das hemmt die Sklaven CPU an der Aussendung von SYNC Schwingungen. Die SYNC Schwingung entsteht durch den IPB für den Sklavenbus.
909834/0830
ORIGINAL INSPECTED
Hauptspeicher
Der IPB beinhaltet einen grossen, wirksamen RAM, der für die Leitung von Daten zwischen Meister und Sklavenbus verwendet wird. Auf der Meisterseite, nimmt der IPB die Gestalt eines anderen Speichers an, der liest und schreibt, in der gleichen Phase ablaufend mit dem Meister SYNC. Die Sklavenseite wirkt während PH2, die normalerv/eise für DMA Zutritt verwendet wird.
Der Phasenwinkel lasst einen Sklaven wie einen DMA Transfer zum Meister erscheinen. Andererseits, erscheint der Meister ein 6800 zum Sklaven zu sein. Microproce s sor
Ein Motorola 6800 Microprocessor ist auf jedem IPB Modul placiert. Der 6800 hat seinen eigenen ROM und RAM, als auch seine eigene Bus-Struktur. Der 6800 im IPB nimmt die gleichen Funktionen ein, wie der 6 800 im MIO. TOTALE ZUGANGSÖFFNUNG
Im folgenden wird in τchematischein Format die totale Zugangsoffnung beschrieben (TAPtotal access port). Diese Öffnung ist als Fenster gedacht und als Lösung der Reihenstruktur des grössten zusammengesetzten Computers gemäss dieser Enfindung gedacht.
Die totale Zugangsöffnung gestattet dem Gebraucher vollständig den Computer zu bedienen, ohne auch nur aufstehen zu müssen. Sogar die Druckaufgaben werden als letztes getan. Listen, etc sollten auf der totalen Zugangsöffnung erhalten bleiben und in manchen Mechanismen sollte TAP als Microfilm-Leser verwendet werden.
AUFMACHUNG
Eine idealisierte Aufmachung wird in FIG. 52 gezeigt. Eine Hitachi Color CRT mit 96 Symbolen ist die Begrenzung für Druck, Format und Aufmachung. Physisch gesehen, mag eine mechanische Spaltungslinie zwischen dem Hitachi Color CRT und mehreren anderen wichtigen Sektionen notwendig sein. Es gibt zwei 3M Bandvertiefungen. Jeder dieser Bandeinschnitte wird an eine Reihe von 10 Millionen Bytes festhalten. Dies
909834/0630 ORIGINAL INSPECTiB
j2?Q"2862
ist der neu vorgeschlagene ANC Standard. Zuerst jedoch benützen zwei und einhalb Millionen Bytes, die von alten Standard sind. 2 GRT Einer ist fähig einige "sanfte" zu benennen, der andere leichte. Wir haben sowohl weiche als auch leichte.
TASTATUR (siehe FIG. 53)
Die Tastatur hat Sektionen für 8 weiche Schalter. Die weichen stellen Status, Folge und Input dar und sind 8 Linien, jede mit 16 Symbolen; diese müssen gross sein. Eine Standard Selectric wird mit dem eigentlichen Typ Input gebraucht. Dies ist ungefähr 4 hoch, ausser dem Zwischenraum-Querbalken und 16 Tasten breit. Der Rechenblock, der separat ist, schaut wie ein Taschenrechner aus und hat sowohl schwere als leichte nummerische mathematische Funktionen-·
Spezielle Tasten wie Paragraphen, Linie, Überschrift, etc sind überhalb der Tastatur und separat vom der Selectric Tastatur. Es gibt auch spezielle Funktionstaten, wie Z.B. Hilfe, ja/nein. Ja/Nein ermöglicht schnelle Wechselwirkung k zwischen Fragen und Antworten. Beschleunigung des Schiebers und/oder Seiten zur Datenbasis muss reibungslos sein und muss auf einer Fibbonaci ganzen Nummernserie gebraucht werden. Ausserdem darf sich der Schieber nicht auf einer Symbolbasis bewegen, sondern muss eine sanfte Bewegung haben. Das Anhalten muss stufenweise vor sich gehen, um das Auge nicht zu ermüden. Der eigentliche Steuerknüpel ist nicht für Tasten mit Pfeilen gedacht, aber kann ein wirklicher Steuerknüpel oder ein Summagraphic Block, oder ein ähnlicher Bestandteil sein.
FIG. 54 zeigt den 9600 Baud MIO Kanal, der einen Hitachi Color CRT steuert. Dieser CRT hat durch den Motorola 6800 Microprocessor eine Auffirschungs-Format und Tastatursteuerung eingebaut.
STROMVERSORGUNG
FIG. 55 zeigt eine Ansicht des Stromversorgungskonzept. Nach Linienfilterung und Flüchtigkeitsunterdrückung, reguliert eine eisenresonante Versorgung vor und rektifiziert den Eingabenstrom und erzeugt einen 40 Volt Gleichstrom-Spannungsbus.
909834/0630
g?Q2862 J4i-
Ein eisenresonanter Transformer wurde ausgesucht, da er einen rein magnetischen, possiven Stromkreis anwendet, der Flüchtigkeit und Schwingungen standhält- Durch Eisen in magnetischer Durchsetzung werden Hochspannungen in Wärme umgewandelt, ohne auf die Semiconductor Kreise verheerende Flüchtigkeit aufzuerlegen. Der 40 Gleichstrom Voltbus wird auf alle FSUs verteilt- Innerhalb jeder FSU gibt es eine bereite Batterie, die fähig ist Durchführung von 2 unterstützten "cyblocs" für eine 10 Sekunden Dauer aufrecht zu erhalten. Ein Microprocessor innerhalb der Stromversorgung kontrolliert Stromsequenzen und nimmt den Zustand von Stromspannungen, Statussignalen, Konsolendruckknöpfen, etc. wahr. Ausserdem scheint der Hardware-Zustand auf einem 5 inch CRT auf. Vorkehrungen wurden für Batterilhadung und für Versorgung von Strom zu den FXU Microprocessor getroffen. Ein Gleichstrom Konverter versorgt drei Spannungen zu jedem Block. Eine regulierte +5 Volt Versorgung wird verwendet und 2 semiregulierte plus und minus 15 Volt nominale Outputs entstehen. Diese sind wieder reguliert und mit den Speichermodulen verschachtelt. Das wurde getan, um maximalen Schutz für die Speicherchips zu gewähren, da die verwendeten MOS kräftigen RAMS Zusammenschluss von VBB und VDD benötigen. Eine Überansicht des Stromversorgungsystems wird in FIG. 56 gezeigt. Jede Sockeleinheit bringt 2 CVT Zusammensetzungen unter. Jede CVT filtert 2 funktionelle Unterstützungseinheiten und eine Scheibenunterstützungseinheit. Eine funktionelle Unteistützungseinheit wiederum versorgt 2 Blöcke mit Strom. Jede FSU versorgt insgesamt 50 amps bei +5 Volt, plus 10 amps by +15 bis +20 Volt und 2 amps bei -15 bis -20 Volt.
Wie aus FIG; 57 zu sehen ist, wurden Vorkehrungen für ein vorsichtiges Kontrollsystem von Grundschleifen getroffen. Der Bussignal-Grund-Conductor ist die primäre Verbindung zu den Blöken. Innerhalb einer individuellen Blocks werden die 2 PC Ebenen von einander abgekoppelt und verwenden die Zwischenebenen Kabelsignalkonduktoren als Grundverbindung.
909834/0830
1302882
Tabelle 29
Gewünschte Merkmale
Muss von einem "gewöhnlichen Hausstrom" zu mindest zum "minimum gebrauchsfähigen Systemstand" gesteuert v/erden. Kein spezielles Drahtnetz erforderlich.
Muss momentane Stromverluste (10 Sekunden oder weniger), ohne Verlust von Daten warten können.
Muss mit UL, VDE (und NEMA) Standards übereinstimmen. Muss leicht Instand zu halten sein (keine versteckten Sicherungen; einfache Versagensisolierung). Input
Nominale Spannungen: 100, 115, 208,
oder 240 VRMS Spannungsunterschiede: gleichbleibender Stand - 20 % 10 Sek. Schwankung: - 30 % 1 Zyklus -"- : - 100 % Die Spitze: 20 joules at 1500V pk 1 second T
Common Mode: 2500 VDC Linien Isolation: >10 meg. at 500 VDC Die Häufigkeit: 60 hz - 2 o/o or 5O Hz - 2 o/o Temperatur: s" to 50ö C
£302862
STROMSEQUEiNTZEN
FIG. 58 seigt FSI Stadien, die zeugen, dass sowohl automatische als auch manuelle Arten erhältlich sind. In normalen Arten, ist eine FSU der Meister (diejenige die die CPU beinhaltet) und jeder andere Strom wird von dieser Einheit abgestimmt. Man kann jede FSU in einer manuellen Art für Instandhaltungsgründe placieren, wobei der Strom separat kontrolliert wird. In einer Multi-Processor Situation mit IPBs kann das gesamte System mittels der Meister CPU an und ab-gestimmt werden, jedoch kann man auch jeden Sklavenbus unabhängig kontrollieren.
FIG. 60 zeigt den Zustand des Sytems bei Strom-an während eines Stromabfalls und bei stromleerer Stillegung. Manuelle Stillegung mit brauchbarem Strom ist ähnlich, ausser dass Wechselstrom und primäre Gleichstromspannungen nicht absinken. Bei Stromabsinkung wird die Scheiber ihren Kopf zurück ziehen und muss wieder neu eingeschaltet werden. Bei Stromzuführung jedoch gingen keine Daten verloren, vorausgesetzt die Stromabsinke war weniger als 10 Sekunden. Zusätzlich kann auch noch ein Linien-Regulierer in Betracht gezogen werden, um den Scheibenstrom für erhöhte Spannungsverminderungs Resisten zu konditionieren.
Die Scheibe kann bei einem momentanen Stromaulassen nicht völlig undurchdringlich sein ohne einem vollen, hohen Energie UPS System.
Der Microprocessor mit seinen 5 inch CRT handelt als Ankündiger und als Stromkontroll-Konsole. Er spürt, dass Spannungen bei den Blöcken angewendet werden und dass die Verbinder angesteckt sind. Er zeigt auch eine von 8 allgemeinen Zweckmeldungen von jedem Block auf. Diese Meldungen sind allgemein und nicht mit spezifischen Blocktypen in Beziehung. Die Konsole für die Scheibenunterstützungseinheit (DSU) ist ähnlich aufgebaut, hat jedoch Meldungen die spezifisch mit der Scheibenausführung in Verbindung sind. FIG~ 61 zeigt in typisches Schirm-Format auf der CRT. Stromversorgungszuverlasslichkeit ist durch konservative Komponentenleistung, Vermeidung von "heissen Stellen" und Regulierung von Input
-1JT9-
Strom bei CVT/Batterie "front end" erreicht. Ein einziger Transistor Phillips-Typ Stromwechsler ist in Entwicklung als Hauptstromwechsler. Dieser Stromkreis hat den Vorteil, dass ein einziger Transistor gebraucht werden kann und damit Probleme, die sich durch Druckzug Aufstellung ergeben, vermieden werden können. Zusätzlich wurde ein erneuerter Abschaltstromkreis für den Konvertertransistor inkorporiert, der aussergewöhnliche Wirksamkeit und Verlässlichkeit ergeben soll.
THERMAL BETRACHTUNGEN
FIG. 62 zeigt ein Strombudget für ein Minimal-System. Zusätzlicher Hoch-Wechselstrom wird für den Scheibeneinheit-Stark Stromkreis benötigt. Ungefähr die Hälfte des FSU Stroms wird durch forcierten Luftdurchführungs Hitzeabzug entfernt, mittels eines der 5 FSU Ventilatoren. Die 4 anderen Ventilatoren blasen die Luft zu den Modulen und ein Teil des Stromversorgungskrexses. Langsame Ventilatoren werden wegen der ruhigen Arbeitsweise verwendet. VERPACKUNG
Wie in FIG. 14-16 und 63 gezeigt wird, gebraucht der Digital Computer 20 eine modulare Verpackungsweise. Jede elektrische Zusammensetzung wird mit ihrem eigenen mechanischen Inhalt/ elektrischen Abschirmung versorgt. Funktionen sind eng begrenzt und selbst enthalten, während gleichzeitig Systeme von verschiedenen Grossen gebaut werden, ohne dass dabei zur "relay rack" Technologie gegriffen wird. Mechanische Einfache! t wird durch Auslassung der Rükenwand erreicht, dafür aber werden flache Kabeln wie im Hauptsystembus verwendet. Dos MIO Konzept bedeutet, dass I/O Sygnalverteilung mit den einzelnen Blöcken in Beziehung ist, im Gegensatz zu den konzentrierten Stand in konventionellen Maschinen. Dies ist eine Darstellung der Tatsache, dass es keine "I/O Verstoppung" oder "schwere Verkehrs" Bereiche im System gibt. Modular!tat bedeutet verbesserte Instandhaltung, zu welcher auch durch die Existenz von unabhängigen Diagnostik Microprocessor auf jedem Modul verhilft. Dies ist eine Variation des gewöhnlichen
SO9834/OB30
eingebauten Tests da viele Diagnostik-Funktionen so beschaffen sind, unabhängig von normalen Signalwegen abzulaufen und damit die Möglichkeiten von gültigen Versagensmeldung und Isolierung zum Modul zu erhöhen. Wie in FIG. 64A-E gezeigt wird, gestaltet das modulare Verpackungs Konzept viele Systemzusamm'enstellungen. Alle gezeigten Systeme sind alle für Scheiben Speicher mit dem System verbunden. Durch Kombination von Baumstrukturen mit multiplen IPBs und Scheiben sind enorme Konfigurationen möglich. In ähnlicher Weise haben - innerhalb der FSü 62- die 2 Blöcke 60 ihre Stromversorgungen von einander isoliert, um Grundschleifenstromkreise herab zu setzen. Auf dem Systemniveau ist jede FSU von allen andern intern isoliert. Zusätzlich werden alle Signale zv/ischen dem FSU Microprocessor und jedem der 2 Blöcke von einander isoliert, um Bodenschleifen zu kontrollieren. Gestellbereiche sind mit allen Einheiten verdrahtet und Vorkehrung wird getroffen für Einheit - zu - Einheit Verbindung, um für EMI/RSI Abschirmungzu sorgen und EMI Empfindlichkeit herabzusetzen.
Die Software, die für den Digital Computer 20 angewendet werden kann, ist unbegrenzt. Für schnellen Gebrauch jedoch, kann ein kompleter ablaufbarer Satz von Microcode für das System und seine Sprache geschaffen werden. Die 3 Arten, die auf dem Computer 20 durchgeführt werden können sind Band orientiert, stehen allein, kein Scheiben - System mit einem Pseudonym FOS 1, ein einzelner Gebraucher, Vielaufgaben Scheiben - System mit Pseudonym FOS 11 und ein Viel-Gebraucher Scheiben ablaufsystem mit nicht direkt abrufbarem Speicher mit Pseudonym FOS 111. Zusätzlich kann für die Schaffung von Programmcodes gesorgt werden. 2 Versionen von Fortran können von dem Computer mit ANSI Standard Fortran IV und Fortran 77 gebraucht werden. Eine Anzahl von Zusammensetzungen kann vom Computer verwendet werden, inklusive eine symbolischen Programm Montage für Ausführung von Codes, '"' besonders für der Computer formuliert, ein Microcode Pro-
§09834/0630
.Mt-
grammzusammensetzung mit für den aufzei-chnungsfähigen Kontrollspeicher und eine symbolische Zusammen-setzung für den 6800 Microprocessor, der mit jedem MIO, IPB, Stromversorgung und CPU verbunden ist. Diese Software inkludiert die wirksame Software wie Verbindung, Fehlerbeseitigung Band und Scheiben Karten.
FIG. 20 zeigt in schematischer Form die Input/Output Programmierung, im MIO möglich durch den Gebrauch des Microprocessor 36, der mit der MIO assoziiert ist. Jeder Microprocessor im MIO und CPU kommuniziert mittels ("Mailboxes") "Briefkasteln", die kleine Teile des MIO Allgemeinen-Speichers 33 sind. Wenn die CPU einen Befehl für der Microprocessor hat, so wird dieser Befehl mit seinen angeschlossenen Parametern in den Briefkasten 76 gegeben. Dann führt der Microprocessor das Kommando aus und kehrt den Status, nach Beendigung in den Briefkasten zurück. Diese Befehle beinhalten Input/Output Transfers, und Unterbrechungen. Ausserdem wird Diagnostik ausgeführt und weiters Programme innerhalb des Microprocessor aus dem Allgemeinspeicher 33 oder dem Privatspeicher 39 des MIO. Das letztere Merkmal ermöglicht dem Gebraucher eigene Input/Output Protokolle zu entwickeln, die vom Microprocessor verwendet werden, ohne dass die Information permanent im "ausschliesslich Lese Speicher 40" gespeichert werden muss. Der Briefkasten 76 besteht aus einem Ringpuffer 86 (siehe FIG. 21) Mechanismus, sodass die CPU eine Reihe von Befehlen für den Microprocessor innerhalb der MIO aufstellen kann, bevor das MIO die CPU unterbricht. Essentiell werden in Briefkästen 76 Teile vom Status bezüglich der Ausführung von Input/Output aufbewahrt, sodass die CPU den Status einer anderen CPU prüfen kann. Normalerweise will man die CPU nicht unterbrechen, sondern will von der MIO, dass sie eine Linie von Symbolen mit passender Abgrenzung für späteren Gebrauch der CPU schafft. Die Abgrenzung zeigt die Beendigung des Befehls an. Abgrenzungen können Sterne, Wagenrückkehr, 3 Zwischenräume in-einer Zeile - sein. Die Abgrenzung tendiert das Kommando abzuschliessen. Ein typisches Kommando
834/0630
£902862
Modul kann sein (gehe zu Stelle 22), gefolgt von einer LinienVersorgung oder Schlittenrückkehr. Nach Erhalt der LinienVersorgung oder Schlittenrückkehr würde das MIO via seinem Microprocessor die Tatsache in seinem Briefkasten placieren, dass der Befehl anderswo wirksam ist- Die CPU würde dann den Briefkasten prüfen und weiters die Stelle wo der Befehl ausgeführt werden soll. Die CPU würde dann dem Microprocessor innerhalb der MIO mitteilen - durch den Briefkasten - dass die Ausführung vor sich geht und dass keine Störung gewünscht wird. Die Ausführung würde in der CPU in sehr schnellem Masse vor sich gehen und die Befehlsergebnisse würden dann wieder in der MIO deponiert werden. Daraus wird ersichtlich., dass das MIO der Speicher des gesamten Digital Computers ist.
Wie aus FIG. 21 ersichtlich, wird ein Input/Output Kommandoblock 78 aufgestellt, um einen Input/Output Transfer zu initieren. Diese Kommandoblocks sind für den Aufbau der hier vorliegenden Erfindung nicht notwendig, aber sind einfache Software Konventionen, die gebraucht werden können. In FIG. 21 enthält der I/O Kommandoblock ein I/O Kommando 79, der eine Kanalnummer und Transfertype beinhaltet, eine Unterbrechungsstufe 80, die aus 8 Hardwarestufen besteht, die in 8 Softwarestufen eingenistet sind, ein Datentransferzähler 81, eine Transferaddresse 82, ein Statuswort nach Vollendung des Transfers 83 und die Addresse für den Input/Output 84. Der Gebraucher setzt die Addresse von diesem Kommandoblock 78 in die "nächste" Position im Ringbuffer 86 und bewegt den Briefkasten "End" Zeiger 87, um auf diesen Kommandoblock zu zeigen. Wann immer die "Start" Addresse des Briefkasten ungleich zur "End" Addresse ist, fährt der Microprocessor innerhalb des MIO-Blocks fort die Input/Output Befhle auszuführen. Die Startaddresse wird bewegt, solange bis Start-und Endaddresse gleich sind.
FIG. 22 zeigt die Unterbrechungsstruktur. Die Unterbrechungen sind 8 Kabeln (Drähte), die direkt mittels Unterbrechungsbus verbunden sind; dieser ist Teil des Busses 26, zwischen MIO und CPU. Diese 8 Drähte haben 8 mögliche Prioritätsstufen an Unterbrechung. Wenn die CPU auf Stufe
909834/0630
2302862
-1/3-
abläuft würde eine Stufe 3 Unterbrechung den Ablauf nicht stören, jedoch Stufe 5 oder höher v/ürde die CPU unterbrechen. Die Stufenunterbrechungen sind verschieden von den 3 Phasenzeitzyklus des Busses und werden sofort von der CPU verarbeitet, wenn die Stufe eine höhere Priorität als die auszuführende Befehlsstufe der CPU hat. ;' Verarbeitungen können gleichzeitig ablaufen und jede MIO hat Zugang zu jeder Stufe durch die eigene Microprocessor Software.
Wenn eine Unterbrechungsstufe in einem Befehl spezifiziert wurde, erzeugt der Microprocessor im MIO eine Unterbrechung, nachdem der Beendigungsstand im Kommandoblock festgesetzt wurde. Das wiederum zeigt der CPU an, dass der Befehl ausgeführt ist. Die Unterbrechungsstufe wird ausgeführt indem die Input/Output Addresse des Input/Output Kommandoblocks 78 in den Briefkasten 76 gelegt wird, gefolgt von Energiefüllung von einer der 8 Hardware Prioritäten Unterbrechungslinien. Die höchste Prioritäten Unterbrechungsstufe auf diesen Linien ist mit der obersten Stufe des Unterbrechungsstapels zu vergleichen (siehe FIG. 22). Wenn die Unterbrechungsstufe höher ist, wird die CPU unterbrochen und diese neue Stufe wird in den Stapel gerückt. Die CPU speichert seinen Status und dann befragt sie die MIO die Unterbrechung auf diesen Stufe zu bestimmen. Dann wird die Addresse auf dem Input/Output Block von diesem MIO Briefkasten gelesen.
Die CPU bringt dann die Input/Output Blockaddresse in einen Register und verzweigt sich zu den Input/Output Verarbeitern, dessen Addresse in einem Input/Output Block gekennzeichnet ist.
Wenn Input/Output Verarbeitung beendent ist, Kehrt die Kontrolle zur CPU zurück, welche den Unterbrechungsstapel in seinen Status rückt. Die CPU nimmt ihre Verarbeirtung dort auf^ wo sie vor der Unterbrechung stehen geblieben war. Wenn die CPU halbfertig mit einer Microinstruktion war, als die Unterbrechung Stottfand, so wiederholt die CPU die gesamte Microinstruktion.
09834/06 S Ci
Der Mxcroprocessor innerhalb des MIO ist für das Aufzeigen der höchsten Stufen Software Unterbrechung zu jeder Hardware Unterbrechungsstufe zur CPU verantwortlxch. Wenn mehr als eine Unterbrechung vorhanden ist, so stellt der Microprocessor eine Reihe für Verarbeitung von der CPU auf.
2302862
SOFTWARE FÜR VERBINDUNG ZWISCHEN COMPUTER HARDWARE UMGEBUNG UND GEBRAUCHER-UMGEBUNG ;
Die Gebraucher-Umgebung wird für viele Gebraucher aufrecht erhalten. Software unterstutzt unabhängige Kopien der Gebraucher-Umgebung. Software ist verantwortlich für die Merkmale aller Kopien dieser Umgebung, trotz Hardware Versagen.
Die Strategie, die gewählt wird um diese Sammlung an Gebraucher Umgebungen einzusetzen, ist, das System in unabhängige Teile zu trennen. Jeder Teil hat totale Kontrolle über Systemteil Mittel.
Das Anwendungssystem das gewählt wurde ist ein Software-Kern, der die Illusion vermittelt, dass das Computersystern tatsächlich aus vielen, separaten Processoren besteht. Anwendungen in jedem Teil laufen so ab, als hätten sie komplete Mittel eines kleineren Computersystern zur Verfügung. Ausser für Ausführungsgeschwindigkeit, enhält ein Anwendungsprogramm in einer Unterteilung Keine Wirkung von anderen bestehenden Unteiteilungen.
Software Gebrauch hat wenig direkte Wechselwirking auf das Ablaufsystem, sondern Anwendungs-Programme wirken auf des Ablaufsystem ein. Eine separate Verkörperung des Ablauf-Systems läuft in jeder Unterteilung ab. Das Ablaufsystem unterstützt unabhängig I/O, Gebraucher Aufgaben-Sequenzen und Testlegung von Unterteilungsmittel KERN
Die primäre Aufgabe des Kerns ist die Aufrechterhaltung der Unterteilungen. Alle Aufträge für I/O und alle Befehle für Mittel werden letztlich zum Kern gelenkt. Dieser sichert, dass alle diese Befehle so ausgeführt werden, dass sie keine Auswirkung auf den Gebraucher haben.
Hardware wurde so ausgestattet um dem Kern auf diesem Gebiet zu helfen. Die Speicherverbindungsbox emöglicht dem Kern den Computerspeicher in unumschränkte Bahnen aufzuteilen.
909834/0630
./iaa-
Der Kern teilt den gesamten, verfügbaren Speicher in Unterteilungen und verbindet die Addressen, die zu diesem Speicher gehören so, dass jede Unterteilung einen angrenzenden Speicherraura hat, beginnend vom Wert O. Da der verwendbare Speicher an jede Unterterteilung angrenzend ist, ist es für Anwendungsprogramme und verschiedene Unterteilungen nicht möglich Daten von anderen Abteilungen zu addressieren.
Der Kern führt ähnliche Schutzverbindungen aus, in Hinblick auf Kartenzugang und Wirkung auf andere Peripherien. Jede Unterteilung ist in einem Teil der Systemscheibe untergebracht. Dieser Scheibenraum betrachtet jede Unterteilung so als wäre sie eine kleinere Scheibe, dessen este Bahn (Spur) O ist. Obwohl die eigentlichen Spuren die von der Unterteilung gebraucht werden angrenzend oder auch nicht sind, behandelt sie die Software in jeder Unterteilung als solche.
Jede Unterteilung hat Zutritt zu einem öderen mehreren Terminals. Terminals werden von der logischen I/O Einheit in Nummern angegeben und jede Unterteilung hat eine unabhängige Reihe von I/O Einheitsnummern. Hardware versorgt eine Reihe von internen CPU Registern und Speicherverbindungs-Hardware für jede Unterteilung. Diese setzt die oberen Schaltungen zwischen den Unterteilungen auf ein Minimum herab. Der Kern jedoch führt keine Aufgabenschaltung durch, wenn I/O Aktivität für eine untätige Unterteilung komplett ist, sondern diese Unterteilung wird beim nächsten Mal aktiviert.
ZWISCHEN TEILUNG MITTEL AMWENDUNG
Der Kern ist für die Mittelanwendung in jeder Unterteilung verantwortlich und sichert, dass keine Unterteilung mehr Aufträge als Mittel vorhanden sind stellt. Grundsätzliche Versionen des Kerns gestatten keine Mittelanwendungs-Abweichung. Spätere Versionen ermöglichen den Gebraucher die Mittel in jeder Unterteilung zu ändern.
3 4/0630 ORIGINAL INSPECTED
CPU ZEIT
Der CPU Zeit durch Gewährung eines fixen Zeitblocks zu jeder Unterteilung auf einer Basis. Jede Unterteilung bekommt eine bestimmte Äblaufzeit zugeteilt, wenn sie Kontrolle erhält. Die Unterteilung hält Kontrolle über die CPU bis entweder die gegebene Zeit abläuft, oder externe Daten benötigt werden.
Wenn I/O Aktivität begonnen wird, die beendet sein muss bevor der Ablauf weiter gehen kann, verliert die Unterteilung den Rest seiner Zeitscheibe und der Kern aktiviert die nächste Unterteilung. Egal wann die I/O Aktivität beendet ist, die Unterteilung wird erst dann re-aktiviert, wenn ihr Platz in der richtigen Sequenz bereit ist. SPEICHER
Der maximal verfügbare Speicher für jede Unterteilung ist in den Kern eingebaut. Eine Unterteilung allerdings bekommt nicht ' unbedingt immer die gesamte SpeicherZuteilung. Wann immer eine Unterteilung weniger als die zugeteilte Speicheranweisung braucht, zeigt sie dies dem Kern an, der den restlichen Speicher zurückbringt. Der Kern weist unbeanspuchten Speicher zur Inkraftsetzungs-Unterteilung, die für das Testen verantwortlich ist, bis er wieder gebraucht wird.
Ursprüngliche Darstellungen des Kerns ändern den zu den Unterteilungen angewiesenen Speicher nicht, ausser die Speicherverbindung ist mit IPL beladen und bleibt fix» SCHEIBEN RAUM
Der Kern gibt jeder Unterteilung den Eindruck, dass sie alleinige Kontrolle über eine kleine Scheibe hat. Diese Scheibe ist mit vermeintlichen angrenzenden Blocksektoren versehen, beginnend mit Sekker O. Datenschutz wird dadurch erleichtert, da Unterteilungen nicht Scheibenraum von anderen Unterteilungen addressieren können.
90983^/0630
• /131».
Hardware inkludiert keine Vorrichtungen für Verbindung von Scheibensektorenaddressen. Ursprüngliche Darstellung des Kerns teilt angrenzenden Teilen der Systemscheibe zu jeder Unterteilung zu und eine Unterteilung hat stets seinen maximalen Scheibenraum.
Spätere Darstellungen des Kerns jedoch handhaben Scheibenraum in gleicher Weise wie Kernspeicher. Scheibenraum, der ungenützt bleibt von der Unterteilung wird der Diagnostik-Unterteilung zugewiesen, die kontunuierlich Tests durchführt. Wann immer eine Unterteilung Scheibenspuren braucht, werden diese von der Diagnostik-Unterteilung zu anfordernden Unterteilung verlegt.
VERBINDUNG (MAPPING)
Der Kern hat allgemeine Verantwortlichkeit für Verbindung zwischen den logischen MitteIsantragen, die von"den Unterteilungen ausgehen und von den tatsächlichen Bestandteilen. Diese Verbindungsfähgkeit wird benötigt um Unterteilungen in der Verarbeitung fortzufahren, trotz Hardware Versagens. Durch Verbindung zu misslungenen Teilen der Hardware, kann der Kern mit der Dienstversorgung der Unterteilungen fortfahren. Ausser wenn alle Unterteilungen gleichzeitig die maximal möglichen Mittel benötigen, wird der Eindruck vollkommener Verlassluchkeit erhalten, auch bei Hardware Versagen.
SPEICHER VERBINDUNG (MAPPING) FÜR PROGRAMM AUSFÜHRUNG
Hardware wird für die Illusionserhaltung gebraucht, dass jede Unterteilung Zugang zum angrenzenden Speicher hat. Sobald ein Programm in einer Unterteilung einen Befehls-oder Datenbezug ausführt, muss die Addresse im Unterteilungsraum umgesetzt werden vom Unterteilungsraum in echte Hardware. Da es sein kann, dass dieser Vorgang einige Male im Laufe einer Ausführung eines einzigen Befehls ausgeführt werden muss, ist es notwendig, dass diese Speicherverbindung mit der Hardware ausgefüht wird. :"
909834/0630 ' O=USJfW. IMSPECTED
2302862
-3/L9-
Der Speicher-Verbinder ist eine Verbindungsbank zwischen hohen Prioritätsteilen der Datenaddresse und der hohen Prioritätsteilen der echten Hardware Addresse. Sobald ein Datenbezug von der Unterteilung ausgeführt ist, wird der hohe Prioritätenteil der Datenaddresse an die Verbindungsbank angepasst. Wenn eine Anpassung gefunden wird, wird die Eingalbe auf der Bank durch den ursprünglichen hohen Prioritätanteil der Unterteilungsaddresse ersetzt. Damit werden Datenaddressen vom nicht existierenden Unterteilungsaddressenraum zum echten Addressen-Hardware-Raum verlegt. Um die Grosse der Verbindungsbank in vernünftigen Grenzen zu halten, ist der Minimum Block des verbindungsfähigen Speichers 8 KB.
Speicher der an eine Unterteilung angewiesen ist, ist in den Addressenraum für diese Unterteilung beinhaltet. Die Verbindungshardware sichert, dass der Speicher der der Unterteilung zugewiesen ist als ein kontinuierlicher Addressenraum angesehen werden kann, beginnend mit dem Wort O. Er kann bis zur Maximum Addresse in der Unterteilung ablaufen.
Wann immer die Unterteilung mehr Speicher benötigt, als sie in Moment benützt, fordert sie mehr vom Kern an. Der Überprüfungsblock leitet an den Kern einen Speicherteil, der vor Kurzem getestet wurde. Der Kern ändert die Verbindungshardware sodass der Speicher nach der nächsten Addresse in der Unterteilung verbunden ist. Die Unterteilungs Maximum Addresse wird dann aufgefrischt, um den zusätzlichen Speicher zu berücksichtigen. Der Kern lehnt Speicherantrage ob, die aie Unterteilung bis an ihr Maximum bringen würden.
Sobald Unterteilungsspeicher Aufträge aufhören, Kehrt der überschüssige Speicher zum Kern zurück, der ihn zum Überprüfungsblock verlegt. Die Maximumaddresse in der Unterteilung wird geändert, um den reduzierten Addressenraum zu berücksichtigen.
8 KB Teile des echten Speichers werden kontinuierlich zwischen Unterteilungen und der Inkraftsetzungsunterteilung
hin und her geschleust. Wenn ein Versagen im Speichermodul gefunden wird, wird es der Inkraftsetzungsunterteilung zugewiesen, bis es repariert werden kann. Ausser alle Unterteilungen forden gleichzeitag so viel Speicher an, dass ein arbeitendes Speichermodul nicht zugeordnet werden kann, wirkt sich ein Speicherversagen auf den Systemblauf nicht aus.
SCHEIBENSEKTOR MAPPING
Zu Scheibensektoren v/ird viel weniger bezogen als zu Speicherworten. Es ist nicht notwendig für extra Hardware zu sorgen, um ünterteilungs-'Scheibensektoren Addresse in echte Scheiben zu verlegen. Erste Darstellungen des Kerns fügen einfach passende Konstanten zu Unterteilungssektorennummern zu, um die echten Scheibensektorenaddressen zu bestimmen. Spätere Darstellungen führen hoch entwickeltere Verbindungsdurchführungen aus und es wird möglich sein nicht angrenzende Bereiche auf der Scheibe angrenzend erscheinen zu lassen.
Sobald der Kern Möglichkeiten für Anordnung von nichtangrenzenden Scheibenbereichen beinhaltet, können Unterteilungen von Scheibenspurversagen in gleicher Weise geschützt werden wie von Speicherversagen. Schlechte Spuren werden von der Diagnostikunterteilung zurückgehalten, bis sie repariert werden können.
SPEICHER MAPPING FÜR I/O
I/O Befehle von Unterteilungen werden durch das Lesen von Daten oder Schreiben von Daten in einem Teil des Unterteilungsaddressenraumes gekennzeichnet. Unterteilungsaddressen sind für die MIO Processor unbedeutend die Datentransfers durchführen. Der Kern übersetzt Addressen in I/O Befehlen in Offsets Beginn des MIO Speichers. Mio Addressen werden zu den MIO weitergeleitet, wenn I/O Aktivität begonnen hat. Das MIO führt I/O der eigentlichen MIO Addressen aus und signaliiert dem Kern wenn eine Aktivität beendet ist.
AUFREIHUNG UMD ZERSETZUNG VON MIO BEFEHLEN
Das MIO und der Kern stehen durch den MIO Speicher in Verbindung. Die Kommunikationsebene wird als Briefkasten betrachtet. Dieser Briefkasten ist essentiell eine Reihe von I/O Operationen, die durch den Processor im MIO ausgeführt werden müssen. Diese Abläufe werden als auszufühende Funktionen angegeben und auf welchen Teil des Speichers sie ausgeführt werden müssen. Der Kern ist für das Einsetzen der ünterteilungs I/O . Befehle in den Briefkasten und für die Operations-Wiederaufnahme sobald die I/O Durchführung beendet ist. START
Da der Kern die Verantwortung für Handhabung und Steuerung der System Hardware hat, muss er den Platz der Hardware bestimmen. Diese Testlegung wird während des Starts gemacht. AUFSTELLUNG UND AUFRECHTERHALTUNG DER HARDWARE DARSTELLUNG
Jedes MIO ist für seine eigene Inkraftsetzung verantwortlich, wenn Strom zugefüht wird. Nachdem dies von der gesamten Hardware geschehen ist, setzt sich das MIO mit anderen in Verbindung, um seine absolute Addresse im gesamten Speicherraum festzulegen.
Der Briefkasten für jedes MIO befindet sich am Beginn seines Speichers. Die echten Computeraddressen, die vom MIO besetzt sind dem MIO nicht eigen, sondern MIOs besetzen Positionem im gesamten Addressenraum, die durch deren Speichergrosse und Seriennummern bestimmt sind. Die Computer Speicheraddressen von einem bestimmten MIO besetzt, können sich ändern, wenn andere MIO entfernt oder eingesetzt werden.
Sobald jedes MIO die Beginn und die Endaddresse seines Speichers kennt, gibt es diese Information an den Kern lieiter« Der Kern leitet die Briefkastenbereiche in jedem MIO von dieser Information ab und stellt Briefkästen auf.
Der Kern stellt dann fest wie die Systemmittel zwischen den Unterteilungen verteilt werden sollen. Speicherverbindungen werden aufgestellt, um Gebraucher voneinander zu schützen.
09834/0630
2902882
•488-
ünterteilungsstatusbanken werden eingeleitet und der Systemüberpüfungstest wird begonnen. Nachdem der Test beweist, dass jede Unterteilung vollständig arbeitet, wird der Kern informiert und startet die Gebraucherunterteilungen. Diese Unterteilungen werten auf Terminal-Kommandos, um die Gebraucher-Aufgaben verarbeiten zu können.
BEREICHE
Um die Vollständigkeit der Programme und Daten in einer Unterteilung zu gewährleisten, wird ein Speicher in einer Unterteilung in 4 Bereiche unterteillt. Die Speicherverbindungen und Schutzboxen können aussagen welcher Teil des Unterterteilungsspeichers zu jedem Bereich zugeordnet ist.
Bereiche haben eine hirarchische Beziehung zu einander, insoferne dass die niederen Nummernbereiche mehr Einfluss auf höhere Nummernbereiche haben. Ein Programm, das in Bereichen 2 oder 3 abläuft kann keinen Bezug auf Programme oder Daten in Bereichen O oder 1 haben. Höher nummerierte Bereich müssen spezifische Unterprogrammsanhäge abberufen um zu den nieder nummerierten Bereiche Zutritt zu gelangen.
Dies ermöglicht der Software die für einen Bereich zuständig ist, die Zutrittsanträge von höher nummerierten Bereichen zu kontrollieren. Da der Kern die wichtigste Software in einer Gebraucher Unterteilung ist, läuft er in Bereich O ab. Das Ablaufsystem steht an zweiter Stelle und läuft in Bereich 1 ab, Gebraucherprogramme in Bereich 3.
Da Zwischenunterteilungsschutz von der Schutzbox gehandhabt wird, hat das Bereichkonzept nichts mit dem gegenseitigen Unterteilungsschutz zu tun. Ein fehlerhaftes Gebraucherprogramm kann dem ablaufenden System nicht leicht schaden? der Kern wird ebenfalls nicht durch Fehler beschädigt werden. Diese Einrichtung erlaubt, dass Versagen in der Unterteilung festgehalten und beseitigt werden.
909834/0630
MIO SOFTWARE
MIO Software reguliert alle Computer I/O Aktivitäten und koordiniert diese mit der Haupt-CPU. Wenn der Strom abgestellt ist bewirkt die MIO Software eine Stillegung der Computer Peripherien. Bei Strom an, überwacht die MIO Software die Stromsequenz und überprüft, dass MIO Hardware richtig funktioniert. Wenn ablaufende Fehler entdeckt werden, aktiviert die MIO Software Testäblaufe um die Störung zu eliminieren.
BASIS MIO HARDWARE UMGEBUNG
Die Struktur der MIO Software ist mit der Hardware Umgebung in Beziehung. Das MIO beinhaltet auch einen Teil des Computer Allgemeinspeichers. Erste MIO Einheiten haben bis zu einer Viertelmillion bytes Speichervermögen. Weitere Techologie wird den MIO Einheiten bis zu 2 Million Bytes des Allgemeinspeichers ermöglichen.
Das MIO unterstützt bis 4 Kommunikationskanäle. Diese sind so beschaffen um aufeinanderfolgende I/O-ein Symbol zur Zeit-zu handhaben.
Ein Teil des Allgemein MIO Speichers ist dem Briefkasten gewidmet, (siehe FIG. 20 + 21). Der Briefkasten wird als Verbindungsebene verwendet, auf der Instruktionen zwischen Computer und MIO sassiert werden. Der MIO Processor überprüft den Briefkasten und schaut nach I/O Kommandos aus, startet sie und benachrichtigt die Computer CPUs wenn sie komplet sind.
Wenn ein I/O Befehl ausgefüht ist, placiert der MIO Processor die Statusinformation in den Briefkasten. Der MIO Processor werwendet einen Teil des Briefkastengebiets als einen I/O Puffer für Daten, die nicht für die Haupt-CPU bestimmt sind.
Ausgehend davon dass alle Computer Komponenten verbunden sind, so unterstützt die MIO eine Diagnostik-Öffnung. Diese kommuniziert mit einem Seriensymbolbestandteil, wie Z.B. Teletype.
-yrf.
2B028S2
BUS-VERBINDUNG
Obwohl der Bus 26 so betrachtet wird, als wäre er ein gewöhnlicher Datenbus, so funktioniert er doch ganz verschieden als der Datenbus in konventionellen Computern. Dort trägt der Bus Addressen und Daten. Die Addressen wählen den Speicher aus in den die begleitenden Daten gelesen oder geschrieben werden.
Hohe Geschwindigkeitsbestandteile wie die CPU und Scheiben sind direkt an den Datenbus angeschlossen. Peripherien auf dem Datenbus konkurieren um Zutritt zum Bus, wobei die CPU für gewöhnlich die niedrigste Priorität hat.
In solchem Aufbau, wann immer I/O Bestandteile Zutritt zum Datenbus wünschen, stehlen sie Zyklen von der CPU. I/O Transfers verlangsamen den CPU Ablauf. Zusätzlich muss die Entscheidung welcher Bestandteil jede Zyklusphase benützen soll während des vohergegangen Zyklus stattfinden. Da diese Entscheidung schnell getroffen werden muss, ist die Logik, die für diese Entscheidung gebraucht wird kompliziert.
Die Busaufbau umgeht dieses Problem völlig. An Stelle nur eines Buszyklus um den die Peripherien konkurieren, gibt es 3 Arten von Buszyklen (siehe FIG. 3) .
Der erste Buszyklus, bekannt als Phase 0, ist immer der Computer CPU zugeordnet. Die 2. Phase - Phase 1 - ist dem MIO Processor zugeteilt. Die dritte Phase - Phase 3 - ist den hohen Geschwindigkerts Transfer zwischen MIO Speicher und MIO Processor und peripheren Bestandterlen gewidmet. Damit verlangsamen I/O und überprüfung des Speichers durch den MIO Processor die CPU nicht.
HOHER BANDBREITER DATEN ZUGANG
(High Bandwidth Date Access = HBDA)
Der HBDA erlaubt weiten Bandbreiten Bestandteilen den gleichen Zutritt zum allgemeinen MIO Speicher, wie sie es CPU und der MIO Processor haben. Der HBDA beinhaltet einen Speicheraddressenregister, einen Speicherdatenregister, Lese-und Schreibverbindungslinien und alle anderen Bus-Kontroll-Linien .
Da HBDA und CPU identische Verbindungspunkte haben, kann ein anderer Bus in das MIO angesteckt werden. Bestandteile können HBDA für Lesen und Schreiben von wahllos gewählten 32 bit Worten im MIO Speicher verwenden. Eine anderer Computer CPU kann in den HBDA angesteckt werden und den allgemeinen MIO Speicher mit der ursprünglichen CPU teilen.
Der MIO Processor hat die Möglichkeit HBDA vom Zutritt zum Briefkastenbereich im MIO Speicher abzuhalten. Der Grund für diese Aussperrung ist es Fehler in peripheren Bestandteil-Operationen zu vermeiden. Der MIO Processor kann, auf seine Entscheidung hin, HBDA Bestandteilen Zutritt zum Briefkasten gestatten.
Bestandteile, die den HBDA für' den Transfer von Datenblocks in den folgenden Speichen benützen, müssen Vorrichtungen für Vergrösserung der Speicheraddressenregister und für Auf-und Abladen des Speicherdatenregisters haben. Konventionelle DMA Bestandteil-Kontrollen beinhalten diese Vorrichtungen und ignorieren die Busverbungungslinien. Computer Processors werden direkt an den HBDA angeschlossen und benützen Buskontroll-Linien.
SERIEM SYMBOL I/O ÖFFNUNGEN
Der MIO Processor ist für die Verbindungsaufnahme verantwortlich, die benötigt wird um Symbole von und zu den Computer Terminals zu übertragen. Jeder Terminal ist mit einer Symbolöffnung in der MIO zwischenverbunden.
In einer Befehle-Antwortsituation, wo das Ende der Nachricht durch ein Signal wie Schlittenrückkehr angekündigt wird, unterbricht das MIO die CPU nur dann wenn eine komplete Nachricht erhalten wurde. Auf diese Weise ist das MIO für das Symbol Echo, für Ablauf von Rückstellungen oder Eliminierungs-Funktionen, Testellung von Schlittenrückken und CPU Unterbrechung verantwortlich.
In komplexeren Anwendungen wo die Terminals mit der CPU auf einer Symbol-für-Symbol Basis verbunden sind, wird die CPO durch das MIO informiert wann ein Symbol vom Terminal
0 9 8 3 47 0 6 3 0
230:2862
durchgelassen wurde. In diesem Fall ist die Computer CPU für das Symbol Echo/Schieber-KontrolIe und Handhabung von besonderen Zeichen verantwortlich.
In komplexeren Anwendungen, wo die Terminals mit der CPU auf einer Symbol-für-Symbol Basis verbunden sind, wird die CPU durch das MIO informiert wann ein Symbol vom Terminal durchgelassen wurde. In diesem Fall ist die Computer CPU für das Symbol ECHO/Schieber-KOntrolle und Handhabung von besonderen Zeichen verantwortlich.
Der Computer sagt dem MIO Processor an ob Symbole von der CPU verarbeitet werden sollen, oder ob alle Input Zeichen an den Computer, weitergeleitet werden sollen wie sie erhalten werden.
TELEKOMMUNIKATIONEN
Der grösste Antriebsfaktor ausser einem speziellen Processor im MIO ist die Entfernung der Gesamtheit der hohen Geschwindigkeits I/O Bestandteilkontrolle von der CPU. Das beschränkt die Gesamtheit der Bereiche wo man einen Unterbrechungsbefehl ändern kann durch Herabesetzung der Anzahl der Unterbrechungsbefehle, die die CPU verarbeiten muss.
Telekommunikations Verarbeitung ist ein relativ gutes Beispiel für eine Anwendung wo eine MIO Processor die CPU abladen kann. Das MIO entnhnmt Protokollsymbole von den Nachrichten, ordnet nochmalige Weitergabe von falschen Blöcken und gibt keine Information an die CPU weiter bis sie richtig erhalten sind. Bei Ausgabe, wirft der MIO Processor Protokollsymbole in die Nachicht, überträgt den Block und überträgt ihn zurück wenn es notwendig ist.
Der gesamte Effekt ist der, dass die CPU Telekommunikations Kanäle so behandeln kann, als wäen sie Standardbestandteile. MIO SPEICHER ANLAGE
Der Processor, der für das MIO ausgesucht wurde ist ein Motorola 6800. Der 6800 hat 10 bits an Addressenraum, was bedeutet, dass er direkt bis zu 64 K Bytes addressieren
909834/0630
2302882
kann. Damit der 6800 im MIO alle seine Funktion en ausüben kann, wurde seine 64K Byte Basisaddressenbereich sehr vorsichtig festgelegt.
PRIVAT RAM
Der erste 16K des 6800 Addressenbereichs ist ein geschlossener RAM. Dieser kann nicht manipuliert werden, ausser durch den 6800 im MIO. Der 6800 benützt diesen RAM um besondere Daten aufzubewahren.
Zusätzlich kann der 6800 Programme in diesen RAM von anderen Teilen des Addressenbereiches kopieren. Diagnostik Routinen, die nicht in den Haupt 6800 Speicher passen, können zur Ausführung in den RAM geladen werden. Dieser Vorgang ist ziemlich langsam und nicht für normale Abläufe gedacht.
FENSTER ZUM GESCHLOSSENEN RAM
Der nächste 16K des 6800 Addressenbereichs ist in 2 8k bewegliche Fenster geteilt. Diese können sich irgendwo im allgemeinen MIO Speicher befinden. Durch richtige Verschiebung der Fenster kann der MIO Processor Zugang zu jedem der 8k Teile des allgemeinen RAM erhalten. Der MIO Processor braucht 2 Fenster zum Allgemeinspeicher, um den Briefkasten und den Datenbereich gleichzeitig zu eneichen.
Der 16k des geschlossenen RAM und die 2 8k Fenster in den Allgemein-RAM sind für 32k des 6800 Addressenraum verantwortlich.
I/O BESTANDTEILE
Der nachte 4k der 6800 Addresse ist für die I/O Vorrichtungen reserviert. Motorola 6800 I/O Vorrichtungen sind Teile des Speicheraddressenbereichs zugeordnet, statt als externe Peripherien behandelt zu werden. 4k des Addressenbereichs wurden für Addressierung einer grossen Anzahl von Terminals, externen Registern und anderem Zubehör, die mit I/O Vorrichtungen verbunden sind, reserviert.
909834/0630
2802862
• /134. -
PROGRAMM SPEICHERUNG
Der nächste 26k bytes des Addressenbereichs ist von einem "nur-Lese speicher", der MIO Programme enthalt, besetzt. Obwohl es leichter ist Software zu verteilen, die in den RAM ladbar ist, so werden ROMs verwendet, sodass die MIO Software Stromversagen überstehen kann. Durch Verfügbarkeit der MIO Software bei Strom-an, wird die Start-Prozedur vereinfacht. TERMINAL FEHLER BESEITIGUNG
Die letzten 2k des 6800 Speichers sind für die lokale MIO Fehlerbeseitigung vorbehalten. Diese unterstützt die Terminalfehlerbeseitigung. Der Fehlerbeseitigungs ROM beinhaltet die Unterbrechungsvektoren und Wiederinbetriebnahme-Vektoren, die vom 6800 gebraucht werden. I/O HANDHABUNG
Was Unterstützung von I/O Durchführungen anbelangt, so handelt der Processor im MIO wie ein Datenkanal. Die Computer CPU überträgt relativ hohe Stufen an I/O Befehlen an das MIO und der MIO Processor führt sie aus.' Die CPU wird benachrichtigt wenn die Durchführung beendet ist.
Da I/O Durchfühungen asynchreon von der CPU ablaufen, laden sie die CPU nicht. Das erleichtert die Unterstutzungs Software in der CPU, macht auch die Hardware-Unterbrechungstruktur leichter. Das wurde in der Vergangenheit angewendet, aber wegen der Kosten des Aussenbord Processors, haben nur sehr grosse Computeranlagen solche Datenkanäle. BRIEFKÄSTEN
Kontrollinformation zwischen dem MIO Processo und der Computer CPU wird durch den Briefkasten weitergegeben. Der Briefkasten besetzt immer die ersten 8k Bytes des Allgemeinspeichers in einem MIO. Die kleinste Briefkastengrösse ist 8k Bytes, da der Speicherschutz und Speicherverbindungs Hardware ein Minimum an 8k Bytes zur Zeit handhaben. MIO BESTIMMUNG
Der erste Teil des Briefkastens enthält eine 32 bit Bestimmung des MIO. Dieses Bestimmungswort enthält die
90983 4/06 30
23Q2862
.435·
Speichergrösse für das MIO, die MIO Seriennummer und die Anlage der externen MIO Bestimmungsschalter. Diese Information wird gebraucht, wenn MIOs sich selbst zu verschiedenen Teilen des Computerspeicherbereichs während Strom-auf zuteilen.
UNTERBRECHÜNGS VEKTOREN
Der Briefkasten enthält auch eine Reihe von 8 Vektoren, einen für jede Unterbrechungsstufe in der CPU. Der MIO Processor kann eine Unterbrechung auf jeder beliebigen Stufe auslösen. Wenn der Computer eine I/O Durchführung durch placieren einer Beschreibung der Handlung im Briefkasten befiehlt, kann der Computer anordnen, dass eine Unterbrechung ausgelöst wird, wenn die Aktivität abgeschlossen ist. Der Computer kennzeichnet auch die Unterbrechungsstufe auf der die Unterbrechung stattfinden soll.
Wen die I/O Aktivität komplet ist, placiert der I/O Processor den CPU-Unterbrecher für die oben beendete Duchführung in den Zeiger, der mit der angeordneten Unterbrechungsstufe verbunden ist und setzt die nötige Unterbrechung in Kraft. Wenn der Computer die Unterbrechung anerkennt, untersucht er den Zeiger, um die Stelle für die I/O Aktivität festzulegen. I/O REIHEN
Der Briefkasten hält Aufgaben-Reihen für I/O Aktivitäten, die vom MIO ausgeführt werden.
Der MIO Processor überprüft den Aufgabenpuffer auf einer periodischen Basis. Wenn eine aktive Eingabe im Aufgobenpuffer bemerkt wird, leitet der MIO Processor den Zeiger zur I/O Aktivität und gebraucht sie um die befohlene Operation auszuführen.
Wenn der I/O Übertrag beendet ist, wird die Status Information im I/O Darsteller erneuert. Eine Unterbrechung kann oder kann auch nicht ausgelöst werden, abhängig von der Computer Spezifikation.
9 O 9 8 3 4 / O B 3 O
436.
I/O VORRICHTUNGS PROTOKOLLE UND VORRICHTÜNGS ABHÄNGIGKEIT Die Computer CPU Pordert Datentransfers in einer mehr oder weniger Vorrichtungs-unabhängigen Weise an. Obwohl Briefkasten Eingaben bestimmte Vorrichtungen kennzeichnen, so gehen sie aber nicht in die Verrichtungs-spezifischen Details der Datentransfer.
Da I/O Transfers Vorrichtungen in verschiedenen Geschwindigkeiten umfassen, können oder auch nicht die I/O Transfer Duchführungen, ausgelöst durch Eintritt in den Briefkasten, in der selben Reihenfolge ausgeführt werden in der sie in den Briefkasten eingegeben werden. Abhängig von der Geschwindigkeit der enthaltenen Vorrichtungen, kann die letzte Eingabe in der Reihe als erste beendet werden.
Deshalb ist der gesamte Briefkasten nicht der erste in der Reihe. Er hält eine Serie von Aufgabenreihen aufrecht, die wie Aufgabenlisten funktionieren. Wenn die CPU den I/O Processor wegen einer neuen Aufgabe starten will, findet sie eine ungebrauchte Eingabe in der passenden Briefkasten Reihe und placiert die Eintragung direkt. Der MIO Processor kennzeichnet diese I/O Durchführung als beendet wenn sie ausgeführt sind.
Kern und MIO behandeln die Briefkastenschlangen als "wahllosin" und "wahloes-aus" Listen. Es ist vorteilhaft dem MIO Processor das Recht zu geben Eintragungen in seiner Briefkastenschlangen wieder zu ordnen.
Viele periphere Vorrichtungen können wirksame gebraucht werden, wenn Befehle wieder geordnet sind. Scheiben mit beweglichen Köpfen Z.B., können schneller arbeiten wenn Datentransfers in Sucherordnung ausgeführt werden. Damit können Kern und MIO Befehle ordnen, die simultan eingegeben wurden.
909834/0630
SPEICHER VERBINDUNG
Der MIO Processor hat keinen Zutritt zur Computer Speicherverbindungs Hardware. I/O Aktivität läuft asynchron mit der Ausführung eines Anwendungsprogramms in einer unterteilung ab und der Inhalt der Verbindungs-Hardware zu Zeit der I/O Aktivität kann oder kann nichts mit dem Inhalt des Verbinders zu Zeit des I/O Pintrags zu tun haben. Deshalb führt das MIO Datentransfers in einer tatsächlichen MIO Hardware Addresse aus.
Der Processor im MIO ist nicht schnell genug um die Verbindungsladung zu handhaben, noch hat er Zugang zur Verbindungs-Information. Daher ist der Kern verantwortlich .für die Übersetzung aller Unterteilungs-Datenaddressen in Addressen, entsprechend dem Beginn des MIO Speichers. Das MIO muss die vollen Computer Datenaddressen nicht manipulieren. Das erspart eine ganze Menge an Speicherraum im Briefkasten und erleichtert die MIO Software.
MIO TESTS
Wenn der MIO oder Kern Funktionsstörung des MIO vermutet, müssen Linien Tests durchgeführt werden. Wenn das MIO eine Funktionsstörung entdeckt, wird das Wesen dieser Störung dem Kern mitgeteilt. Wenn der Kern eine Störung entdeckt, unternimmt er die gleiche Handlung als hätte das MIO den Schaden gemeldet.
Die Antworten auf solch eine Störung ist jeweils der Start für MIO Tests. I/O Aktivität, die von der vermuteten Störung betoffen ist, wird aufgeschoben.·
Wenn die notwendigen Testroutinen im MIO Speicher enthalten sind, werden sie direkt aktiviert. Wenn nicht, erhält der Kern Testroutinen vom Scheiben MIO und placiert sie in einen Teil des Allgemeinspeichers. Der MIO Processor kopiert die Tests zu seinem geschlossenen RAM/ wo sie ausgeführt werden.
909834/0630
2302862
Wenn die Tests ein Versagen bestätigen, wird Information bezüglich dieses Versagens auf den Status CRT in TAP des Gebrauchers, dessen Unterteilung betroffen ist, dargelegt. In jedem Fall, sind ein Report des ursprünglichen Versagens und ein Report über Testablaufresultate im Gebrechen-Buch für spätere Prüfung enthalten.
FEHLERBESEITIGUNG
Bedinungspersonal benützt die Fehlerbeseitigung um ein MIO in Gang zu bringen, egal ob es auf einer Computerlinie ist oder nicht. Befehle, die von der Fehlerbeseitigungs Diagnostiköffnung eingegeben werden haben Vorrang über jene von der Computer CPU. Da der Fehlerbeseitung nur 2k Bytes des MIO Zusammensetzungs Sprachcode zugeordnet sind, fehlt ihn die Fähigkeit einer· vollen Haus-Software Fehlerbeseitung. Sie ist nützlich für Wechselwirkung mit einem MIO.
Der MIO Processor ist für den MIO Start verantwortlich, der nicht von der Computer CPU ausgeführt werden kann. Start wird dann ausgeführt, wenn Strom angeschalten ist oder auf Befehl der Terminal Fehlerbeseitigung oder des Computers.
STROM AN
Die Strom-an Sequenz besteht daraus, dass die Stromversorgung zu den Peripherien, die zum MIO in gehöriger Ordnung verbunden ist, sicher gestellt wird.
ÜBERPRÜFUNG DER LOKALEN MIO HARDWARE
Sobald der Strom stabilisiert ist, überprüft der MIO Processor, um sicher zu gehen dass sein Programm ROM die passende Checksumme hat. Er stellt dann fest, dass die Hardware, die zum MIO angeschlossen ist, korrekt arbeitet.
Dieser Überprüfungsablauf ist keine vollkommene Diagnostik, sie ist als GO/NO GO Test gedacht. Da der MIO Processor nur 8 bits des allgemeinen RAM auf einmal manipulieren kann,
909834/0630
/124
*' 2902882
prüft er den allgemeinen RAM nicht gründlich. Er überprüft dass alle bits sowohl O als auch 1 halten können. Gründliche Speichertests obliegen der Computer CPU.
Nachdem der MIO Processor seine Wirksamkeit überprüft hat, versucht er seine Peripherien zu bestätigen. Ein Testdatenmuster wird an alle Terminals übermittelt. Rudimentär Diagnostiken, den Peripheren eigen, wie Z.B. Sucher für Scheiben werden ebenfalls durchgeführt.
ESTELLUNG EINER SYSTEM DARSTELLUNG
Sobald die MIO Hardware bestimmt wurde an die Arbeit zu gehen, arbeiten die verschiedenen MIOs im System zusammen und begründen die Systemzusammensetzung. Die erste Aufgabe ist es den Hardware Addressenbereich der Computer CPU zu bilden. Um dies zu tun, muss jedes MIO einen Teil des Hardware Addressenbereichss, für den sein Speicher verantwortlich ist, heraus finden.
MIOs sortieren sich selbst aus, um den Computer Addressenraum mit den MIOs zu decken, die den grössten Anteil an RAM haben. MIOs mit grossen Speicherraum bilden die am niedrigsten nummerierten Speicheraddressen in der Computer CPU. MIOs mit kleineren Anteilen an RAM besetzen höhere Teile des Computeraddressenbereichs.
MIOs die den gleichen Anteil an RAM haben, sortieren sich auf der Basis von Seriennummern aus. Unter normalen Umständen, besetzt ein MIO mit niedriger Seriennummer höher nummerierte Speicheraddressen-Bereiche, als ein MIO mit höherer Seriennummer.
Um dem Gebraucher einige Kontrolle über die Hardware Zusammensetzung zu gewähen, können externe Zusairanensetzungsschalter verwendet werden. Die Anordnung der Schalter setzen bits in ein Seriennummern Wort, die bedeutender sind als bits die in Seriennummern in der Fabrik eingegeben wurden. Dies erlaubt dem hoher Seriennummer einen höheren Teil des Addressenbereichs zu besetzen,, als ein MIO mit einer niedrigen Seriennummer.
909834/0630
ORIGINAL INSPECTED
2302862
CPU UND KERN START
Sobald die MIOs sich aussortiert haben, um ihren Speicheraddressenbereich zu decken, wird der Microcode, der die Computer Opcodes bestimmen soll, von der Scheibe abgelesen. Ein kleiner Selbestauslöser-Lader wird mit dem Microcode gelesen. Dieser Lader liest die Kern Software vom Scheiben MIO, placiert sie in den passenden Teil des Computerspeichers und aktiviert sie. Tabellen im Kern werden mit den beginnenden Addressen von jedem MIO eingegeben.
Der Kern findet die Briefkästen. Jeder MIO Processor ist für den Start seines Briefkasten verantwortlich.
Wenn einmal die Briefkästen zum Ruhestand lommen, verwendet der Kern die Briefkästen um von den MIOs herauszufinden, welche Arten von Peripherien sie unterstützen. Der Kern gebraucht diese Information, um Kontrollbanken für die echten I/O Vorrichtungen zu bilden.
START DER I/O VORRICHTUNGEN
Der erste Teil der I/O Vorrichtungs-Bereitstellung obliegt der Verantwortung des MIO Processor. Diese Vorrichtungs Bereitstellung wird als ein Teil der Strom-an Sequenz ausgeführt und ist im wesentlichen darauf beschränkt, sicherzustellen dass jede Peripherie vorhanden ist und Strom führt.
Sobald der Kern heraus findet welche Bestandteile von jedem MIO unterstützt werden, führt der Kern den Start selbst aus. Damit ist eine spezifische Hardware Vorrichtungsbereitstellung eine Kombination eines lokalen MIO Start und Kern Routinen.
SCHEIBEN MIO
Zusätzlich zu allen anderen Funktionen eines MIO, ist das Scheiben MIO für die Überwachung von Datentransfers von und zur Scheibe verantwortlich.
90983 4/0630
OTOG/NAL INSPECTED
-ΪΪ5-
Die Minimum Scheibe die mit dem Computer verwendet wird ist eine 80 Millionen Byte Winchester kopfbewegliche Scheibe. Daten werden von und zur Scheibe über die HBDA Öffnung im MIO übermittelt. Der MIO Processor kontrolliert welcher wirliehe Scheibensektor in der Übertragung verwickelt ist, die Menge der Daten die übertragen werden und die Startaddresse der Daten in MIO Speicher.
Der Scheiben Kontrollor vertritt eine kleine Vergrösserung der HBDA im MIO. Der HBDA ermöglicht Zutritt für 4 bytes an Daten vom MIO Speicher auf einmalο Das Scheibenzwischenglied beinhaltet Vorrichtungen für die Aufnahme von 4 bytes an Daten zur Zeit und für Übertragung zur Scheibe und weiters für die Sammlung von Daten, die von der Scheibe in 4 byte Worten genommen wurden. Das Scheibenzwischenglied ist ebenso verantwortlich für die Erhöhung seines Speicheraddressenregisters während des Datentransfers.
Ursprünglich sind Datentransfers auf eine 4K Bytes Länge fixiert. Der Kern und das Ablaufsystem sind für den Gebrauch dieser Vorrichtung verantwortlich, um mehr generelle Scheiben I/O Vorrichtungen zu schaffen. Der Kern ist für die Teilung der Scheibe auf einer Gebraucher Basis und der MIO Processor für die Übersetzung von I/O Befehlen vom Kern in die Hartscheiben-Sektor-Addres sen verantwortlich.
Der MIO Processor ist weiters für die Aufrechterhaltung einer Liste von schadhaften Scheibenspuren verantwortlich. Obwohl der Kern eine solche Liste vom MIO erhalten kann, benötigen normale I/O Abläufe nicht, dass der Kern von schlechten Spuren informiert ist. Wann immer ein Befehl für eine schlechte Spur vom MIO Processor erhalten wird, leitet der MIO Processor diesen Befehl zu einer anderen Spur um.
9098 34/063
-ψ-
SCHEIBEN ADDRESSIERUNG
Man ist bestrebt, dass jedes MIO bis zu 8 Scheiben von je 300 megabytes minterstützen kann. Wenn man annimmt, dass die minimum addressierbare Einheit von Daten auf der Scheibe 4 K bytes ist, so werden 25 Address bits benötigt um diesen Scheibenbereich zu handhaben. Damit sind 32 bit Scheibenaddressen genug, um den Scheibendatenblock, die GebrauchernuKimer, und die Stufe angeschlossen an den Gebraucher zu kennzeichnen. Es ist nicht sicher ob der Kern in der Verbindung von Scheiben I/O Befehlen zu spezifischen Hardwarespuren verwickelt ist, oder ob all dies von der MIO ausgeführt wird.
TERMINALS AUF SCHEIBEN MIOs
Das Scheiben Überwachungs MIO unterstützt auch die Terminalzugangsöffnungen. Diese Terminals sind Unterteilungen zugeordnet, die wie Terminals auf jedem anderen MIO sind.
TAGESZEIT UHR
Eine der Scheiben MIO Peripherien ist für die Aufrechterhaltung der Tageszeituhr verantwortlich. Wenn es in einem System vielfache Scheiben MIOs gibt, so ist die Tageszeituhr im niedrigsten Computer addressierten MIO die gültige Tageszeit. Die Uhr ist mit einer speziellen Batterie versorgt, sodass es selten nöig ist die Uhr neu einzustellen, ausser ein Stromabfall dauert extrem lang.
Das MIO ist für das periodische Kopieren von Daten von der Uhr in den Briefkasten verantwortlich. Der Kern kann diese Stelle zu jeder Zeit prüfen, um die Zeit festzustellen. Zusätzlich kann der Kern von der MIO anfordern, dass die Uhr oder Zeitunterbrecher eingestellt werden und zwar durch spezielle Befehle über den Briefkasten. Ausser für die Einstellung der Sommerzeit, sollte es nicht nötig sein die Uhr mehr als einmal in einem Scheiben MIO einstellen zu müssen.
90983Λ/0630
-φ-
2902882
SCHEIBEN DIAGNOSTIK
Scheibentests obligen der Verantwortung des Scheiben MIO.
Für eine Diagnostik Routine, führt der MIO Processor eine beachtliche Menge an Übersetzung von der Scheibensektornummer, die vom Kern erhalten wird, aus. Man kann es einrichten, dass der Kern die Scheibe direkt ohne irgendwelche Nummernverbindung durch den MIO Processor manipuliert.
Diese spezielle Scheibenzutrittsweise wurde nur für Diagnosen von spezifischen Scheibensektoren und für das Erstellen von Scheiben-Mustern gebraucht.
IPB SOFTWARE (siehe FIG 1, 2A und 5)
IPB Hardware ist ähnlich der MIO Hardware. Der IPB besteht aus einem Teil an Allgemeinspeicher mit einem MIO Processor, der diesen lenkt. Da der MIO Processor die Standard Symbol orientierten Zugangsöffnungen unterstützt, können Terminals an den IPB angesteckt werden. Diese Terminals werden so wie alle anderen Terminals auf jedem MIO behandelt.
Der grösste Unterschied zwischen IPB und dem Standard MIO ist der, dass der IPB für den Datentransfer zwischen 2 Computer CPUs gedacht ist. Eine dieser CPUs ist permanent dem Meister, die andere permanent dem Sklaven gewidmet. Die Sklaven CPU wird in die HBDA Öffnung am IPB angesteckt und verwendet Buskontroll-Linien für den Zutritt des IPB Allgemeinspeichers. Der hauptsächlichste Unterschied zwischen MIO und IPB ist, dass ein IPB einen Computer der in den HBDA angesteckt ist, hat.
Der wichtigste Zusammenhang zwischen Meister und Sklavenbeziehung vom Hardware Gesichtspunkt aus gesehen, ist dass die Sklaven CPU ihre Zeit und Uhrsignale von der Meister CPU entnimmt. Das sichert, dass die 2 CPUs eine Synchronisation aufrecht erhalten. Obwohl es nicht besonders wichtig ist,
909834/0R3Q
ores**«-
dass die Befehlsausführung einer CPU in Sync mit der einer anderen verbleibt, so ist es doch bedeutend, dass deren Wechselwirkung über den IPB synchron bleibt.
Die Meister CPO steuert den IPB so wie irgendein- MIO. Der IPB hat einen Standard Briefkasten^ der für Komminakion zwisehen den Terminals, die an den IPB angeschlossen sind, gebraucht werden kann. Vom Meister aus gesehen ist der grösste Unterschied, dass der MIO Processor im IPB nicht der einzige Processor istr der am Inhalt des Briefkasten interessiert ist. Der Briefkasten wird auch von der Sklaven CPU ■ benützt.
ZWISCHENVERBINDUNG ZWISCHEN IPB UND SKLAVEN CPU .
Die Sklaven. CPU sehliesst an die HBDA Öffnung des IPB an.
Diese Öffnung unterstützt einen Speicheraddressen Register, einen Speicherdaten Register, Datenverknüpfungslinien und Buskontrollliinien. Die Sklaven CPU hat ebenso leicht Zutritt zum IPB Speicher wie Meister CPU. Da der HBDÄ Zutritt zum IPB Speicher auf der 3. Phase des Buszyklus erhält, beintrachtigt Speieherzutritt durch die Sklaven CPU nicht mit dem Zutritt des Meisters. Beide CPUs haben in Grunde gleichen Zutritt zum IPB Speicher^
ZWISCHEN-CPU TRANSAKTIONEN
Zwischen-CPU Transaktionen werden durch die Meister CPU begonnen. Der Meister stellt einen I/O Befehlsblock auf und stellt einen Zeiger zu diesem I/O Befehlsblock im Aufgabenpuffer auf. Wenn der MIO Processor den MIO Aufgabenpuffer prüft r macht er den I/O Befehlsblock in der üblichen Weise ausfindig. Wenn der MIO Processor diesen Block prüft, findet er Daten die für die Sklaven CPU bestimmt sind. Vom MIO Processor ausgesehen ist ein solcher Datentransferbefehl ähnlich einem Befehl über der HBDÄ zu hohen Geschwindigkeitsperipherien.
-yfs
Es gibt. 2 Grundmöglichkeiten wie die Sklaven CPO ausfindig machen kann, ob eine an sie addressierte Transaktion in Gange ist. Eine Möglichkeit ist für die Sklaven CPU die Briefkästen auf einer periodischen Basis zu prüfen. Die Schwierigkeit darin ist, dass eine relativ schwere Last auf die Sklaven CPO auferlegt wird, um den Briefkasten zu prüfen- Weiters erhöht diese Strategie die Maximum Latenz fiir Antworten durch die Sklaven CPO.
Eine andere Ansicht ist die, .dass der Processor im XPB Sklaven CPO unterbricht, genauso wie sie andere Vorrichtungen unterbricht, die den HBDA benutzen. Ein MIQ Processor ist normalerweise für die Aktivierung von Peripherien, <üe an j&en HBDA angeschlossen sind,, verantwortlich. 43a der HBDA alle Buslinien inkorporiert, würde es für diesen Processor möglich sein die Aufmerksamkeit der Sklaven CPO auf gleiche Waise zu erlangen, wie sie den Meister unterbricht. Die Sklaven CPO würde die unterbrechung notieren, erfahren dass sie vom IPB kommt und den IPB Briefkasten für darin -enthaltene Baten prüfen.
DATEM ÜBSRT&aGOHGEN
Egal wie die Sklaven CPO heraus findet, dass Information für sie im IPB Briefkasten ist, Datenübertragungen zwischen Gastgeber und Sklaven werden auf dem üblichen Weg durchgeführt. Da der IPB Speicher beiden CPOs eigen ist, besteht die 'Zwischen-CPü Datenübertragung darin, dass die Sklaven CPO in oder aus diesem gemeinsamen Speicher kopiert. ·
Wenn die Sklaven CPO die Datenbewegung beendet, informiert sie den MIO Processor im IPB Diese Information wird zum MIO Processor übermittelt auf gleichem Wege wie beendende ' Information von den normalen HBDA Peripherien übermittelt wird. Wenn der MIO Processor die Beendigung des Datentransfers bemerkt, so stellt er den übertrag als beendet in den Datenbefehlsblock und ordnet eine unterbrechung an, wenn die Meister CPO dies angefordert hat.
■9098347QS3Ö '
2332SS-2
PERIPHERE TEILÜMG
IPB Peripherien sind dem Meister -durch Fehler {Unterlassung} zugeordnet. Der Meister kann davon beliebige an Terminals oder andere Peripherien au den Sklaven abtreten, indem er gestaltet, dass Aufträge Im Briefkästen placiert werden- Xn diesem Falle, benachrichtigt der MIQ Processor im ΊΡΒ den Sklaven statt dem Meister wenn T/O Durchführung beendet sind-
9O9Ö3
FOLGERUNGEN ÄÜS DER IFB STRUKTUR
Der Effekt dieser IPB Struktur ist die Sklaven CPiI genauso wie eine HBDA Peripherie erscheinen zu lassen- Der Gastgeber fordert Datenübertragungen von und zum Sklaven genauso an, als würde er Datentransfers zur Scheibe anordnen. Der Sklave ist mit dem Processor im IPB in Verbindung so als wäre er eine hohe Geschwindigkeits-Scheibe. Der einzige Unterschied besteht darin, dass an Stelle dass der Processor und IPB Register laden, die Kontrollieren welche Daten von und zur Pheripherie übertragen wurden, die Sklaven-CPU den Briefkasten selbst prüft, um festzustellen was von ihr verlangt wird.
Es gibt einen guten Grund weshalb die Sklaven-CPU den Briefkasten selbst überprüft. Wechselwirkungen zwischen Meister und Sklaven CPU können Veränderung des Speichers im IPB hervorrufen, eher als tatsächliche Datenübertragungen. Dadurch dass Meister und Sklave den Briefkasten teilen, erfolgt die Verbindung zwischen den 2 CPUs schnell und bequem. Das ermöglicht dem Computer so programmiert zu sein, um wie ein Reihenprocessor zu arbeiten. IPB DIAGNOSTIKEN
IPB Diagnostiken obligen der Verantwortung der Meister CPU. Wenn Strom zugeführt wird, berichtet der IPB Processor nur an die Meister CPU. Die einzige ungewöhnliche Startweise ausgeführt vom IPB Processor ist die Notwendigkeit, dass der IPB Speicher einen Teil des Addressenbereichs des Sklaven einnimmt.
Während der Sklaven Strom-an Sequenz, kämpft der IPB mit den Sklaven MIO um seinen passenden Platz in der Speicherrangordnung. Der IPB teilt seine Speichergrösse und Seriennummer den Sklaven MIOs als auch den Meister MIOs mit. Die Strom—an Sequenz für einen IPB ist die gleiche wie für ein MIO und ebenso ist die erste Hardware Überprüfung.
280:2862
TEST DATEN ÜBERTRAGUNGEN
Nach der ersten überprüfung, ist es nötig zu überprüfen, dass der IPB tatsachlich Daten zwischen Meister und Sklaven CPUs übermitteln kann. Der Kern in der Meister CPU ist für die Erzeugung von Testdaten verantwortlich und für deren übertragung an den Sklaven. Der Kern führt dies als Teil des gesamten Systemfunktionstest aus, der ausgeführt wird, bevor irgendwelche Unterteilungen aktiviert sind. Testdaten die zwischen den CPUs übertragen werden, werden von fähigen Daten durch Zeichen in den I/O Befehlsblock ausgelöscht.
Die Situation wird komplizierter, wenn die Sklaven CPU zufällig Meister für andere CPUs ist. In diesem Falle, versucht jeder Meister eine Reihe an Daten zu all seinen Sklaven zu übermitteln. Wenn ein Meister zufällig auch ein Sklave ist, so überträgt er nicht nur Testdaten, sondern erhält einige von seinen Meistern. Das Endergebnis von dieser Strom-an Sequenz ist, dass alle CPUs im System ihre hierarchische Beziehung zu ihren unmittelbaren Nachbarn kennen.
Was soweit beschrieben wurde ist daher ein Digital Computer, der einen einzigartigen Aufbau verwendet, der multi-processing Vermögen zulässt und der eine neue Komponente gebraucht, die ein zusammengesetzter Speicher und Input/Output Modul (MIO) genannt wird. Dieses Modul funktioniert so, dass es Daten in und von den externen Vorrichtungen transferiert in solcher Weise, dass es die Input/Output Rate von der Beeinträchtigung der rechnerischen Fähigkeit der CPU eliminiert. Jede CPU kann von 1 bis zu 15 zusammengesetzten Speichern angeschlossen haben, Input/Output Module, wobei einige oder alle dieser Module als Zwischenverarbeitungsmodule fungieren, die
909834/0630
-νιί-
der CPU ermöglichen mit zusätzlichen CPUs in Verbindung zu stehen. In dieser Zusammensetzung kann der Speicher innerhalb des Zwischenverarbeitungsmoduls von beiden CPUs, die an jenes Modul angeschlossen sind, gebraucht werden, jedoch auf solcher Weise, dass simultaner Zutritt von den CPUs zum Speicher verhindert wird.
Der hier beschriebene Digital Computer verwendet einen 3 Phasenzeitzyklus, angeschlossen an den Bus, der die CPU mit den MIOs und IPBs zwischenverbindet und dem Bus gestattet direkten Zutritt zu den allgemeinen Speichern innerhalb der MIOs oder IPBs während einer des 3-Phasen Zeitzykluses zu haben. Die anderen 2 Phasen erlauben den externen Vorrichtungen Zutritt zum MIO Allgemeinspeicher, entweder durch einen Serien Input/Output Kanal oder Kanäle oder durch einen direkten Speicheraddressen Parallel Input/Output Kanal.
Die zentrale Verarbeitungseinheit, zusammengesetzter Speicher und Input/Output Modul, inklusive der Zwischenverarbeitungs-Module sind individuell in physischen Blöcken untergebracht, die in eine funktioneile Unterstützungseinheit einfügbar sind, die weiters die Stromversorgung für diese Blöcke und ebenso Bus um zwischen den Blöcken in Verbindung zu stehen, beherbergen.
Die funktionelle Unterstützungseinheit kann aufeinander aufgestapelt sein, wobei der Bus mit den angrenzenden funktioneilen Unterstützungseinheiten in Verbindung ist. Ein Sockel auf dem die funktionellen Unterstützungseinheiten ruhen, beherbergt die konstanten Spannungstransformatoren und rektifizierenden Schaltkreise für die Versorgung von hohem Gleichstrom zur Stromversorgung, die mit jeder der
0 9 8 3 4/0630
./ISO*
funktioneilen Unterstützungseinheiten verbunden ist. Durch den Gebrauch von konstanten Spannungstransformatoren ermöglichen die Input Stromspezifikationen einen plus 1O% und einen minus 20% Unterschied vom regelmässigen Wechselstrom, sei es 110 VAC oder 220 VAC- Dies erhöht die Zuverlässlichkeit von diesem Computer System.
Jedes der MIO hat weiters eine hohe Geschwindigkeits-Datenübertragungsfähigkeit, die ihm ermöglicht mit hohen Geschwindigkeits nicht direkt addressierbaren Speichern, angeschlossen an Scheiben, in Verbindung zu sein. Es kann auch direkt mit Färb CRT Terminals in Verbindung sein. Weiters, jedes der Module, inklusive der Stromversorgung, hat seinen eigenen Micro-processor für interne Buchung und auch um einen Diagnostik-Kanal bereitzustellen, der für das Aufzeigen des Status von jedem Block, der einen Teil der funktioneilen Unterstützungseinheit bildet, gebraucht wird. Der Computer hat einen grossen direkt addressierbaren Speicherbereich, wenn vielfache MIOs gebraucht werden, wobei der Speicher eine sehr hohe synchrone Datenübertragungsfahigkeit mit jeder beliebigen Anzahl von externen Vorrichtungen besitzt. Wegen der Zusammenstellung der CPU mit den angeschlossenen MIOs und IPBs, kann das gesamte Computersystem auf gewünschte Grosse erweitert werden. In einem Multiprocessor Aufbau, können die Multiprocessor, kraft des inkorporierten Gebraucher Microcode mit den CPUs, für Ausführung einer bestimmten Funktion angepasst sein, welche wiederum an die restlichen CPUs im Computersystern angeschlossen ist.
909834/0S3Ö
AUSZUG AUS DER BESCHREIBUNG
Ein Digital-Computer, der fähig ist, multiple zentrale Verfahrensexnheiten (CPU) zu inkorporieren, verwendet einen Adressen- und Datenbus zwischen den einzelnen zentralen Verfahrenseinheiten und zwischen 1 und 15 zusammengesetzten intelligenten Gedächtnissen, sowie Input/Output Module (MIO). Daten werden von und zu den einzelnen MIO und CPU synchron, mittels eines Busses, während einer des 3-Phasen-Zeitzyklus, transferiert. Während der 2. Phase des Zeit-Zyklus werden Daten in einem oder mehreren langsamen Seriendatenkanälen innerhalb jedes MIO zu oder von dem MIO und den äußeren Bestandteilen transferiert. Während der 3. Phase des Zeit-Zyklus werden Daten in einem hohen Geschwindigkeits-Speicher-Zutrittskanal (GSZ) von und zu dem MIO und ein oder mehreren äußeren Bestandteilen transferiert. Zusätzliche CPU können mit der ersten CPU zwischenverbunden werden, mittels eines Zwischenverfahrens-Puffer Moduls (IPB), welches an einem Ende mit dem Bus und am anderen Ende mit der zusätzlichen CPU verbunden ist. Der IPB kann ein Softwareveränderliches MIO sein und kann Daten speichern, welche durch die 2 zwischenverbundenen CPUs abrufbereit sind. Andererseits ist die zusätzliche CPU und ihr assoziierter Bus mit dem 2. Bus durch ein bis 15 zusätzliche MIOs oder IPBs zwischenverbunden, so daß eine Kaskade von CPUs und assoziierten MIOs und IPBs gewährleistet ist. Die Quantität -der Daten, die zwischen den MIOs und IPB und den assoziierten äußeren.Vorrichtungen oder den zusätzlichen CPUs transferiert wird, kann die rechnerische Geschwindigkeit einer CPU nicht herabsetzen, da alle Daten-Transfers von und zu den MIOs und den äußeren Vorrichtungen in Zeitphasen vor sich gehen, welche getrennt von der ersten Zeitphase, in welcher die CPU mit den MIOs und IPBs in Verbindung steht, sind.
Leerseife

Claims (18)

290286? , 1. Computer, gekennzeichnet durch A) wenigstens eine zentrale Verarbeitungseinheit (CPU 22); B) einen zusammengesetzten, intelligenten Speicher und ein Input/Output Modul (MIO 24), verbindbar mit der CPU und externen Vorrichtungen, umfassend
1) einen Allgemeinspeicher (33),
2) einen Microprocessor (36),
3) Mittel (34, 38), zwischenverbunden mit dem Microprocessor und dem Allgemeinspeicher für Verbindung zwischen Allgemeinspeicher mit CPU und externen Vorrichtungen, und
C) Mittel für elektrische Verbindung von CPU mit MIO.
2. Computer nach Anspruch 1 , gekennzeichnet durch eine CPU mit folgenden Merkmalen
A) eine arithmetische Logikeinheit (50),
B) ein Microprocessor (54) für Diagnostik und Stroman Zwecke, aber nicht für rechnerische Zwecke,
C) ein für den Gebraucher programmierbarer, aufzeichnungsfähiger Kontrollspeicher (52), zwischenverbunden mit der arithmetischen Logikeinheit, und ein Microprocessor für die Speicherung von Microcode für die Übersetzung von Gebraucherbefehlen in von der arithmetischen Logikeinheit lesbare Befehle.
3. Computer nach Anspruch 1, gekennzeichnet durch eine Uhr, die mit den elektrischen Verbindungen angeschlossen ist, um einen wiederholten Uhrzyklus mit wenigstens 2 abgesonderten Uhrphasen pro Zyklus zu erzeugen, ein MIO (24) mit Vorrichtungen für die Ausführung von Datentransfers von und zum Allgemeinspeicher und die CPU (22) während einer dieser Uhrphasen und für die Ausführung von Datentransfers von und zum Allgemeinspeicher (33) und den externen Vorrichtungen während einer anderen dieser Uhrphasen, wobei der Anteil der übertragenen Daten zwischen Allgemein-
ORIGINAL INSPECTED
-χύ-
-Sl-
speicher (3 3) und externen Vorrichtungen kann die Datenübertragung zwischen Allgemeinspeicher (33) und CPU (22) nicht herabsetzen.
4. Ein Computer wie unter Punkt 1 beschrieben, bei dem der erzeugte Uhrzyklus 3 getrennte Phasen hat.
5. Ein Computer wie unter Punkt beschreiben, bei dem der erzeugte Uhrzyklus getrennte Uhrphasen hat, wobei jede eine Dauer von 500 nanosekunden hat.
6. Ein Computer wie unter Punkt 1 beschrieben,.bei dem ein MIO (24) als Zwischenverarbeitungspuffer (3 2) zwischen den 2 CPUs (22) verbindbar ist, und dabei hierarchische Kontrolle einer CPU (22) über eine andere erlaubt.
7. Ein Computer wie unter Punkt 1 beschrieben, bei dem die elektrischen Verbindungen einen Bus (26) umfassen.
8. Ein Digital Computer der gekennzeichnet ist durch:
A) wenigstens eine zentrale Verfahrenseinheit (22);
B) einen Bus (26) zwischenverbunden zur CPU (22):
C) eine Uhr (56) für die Erzeugung von wenigstens getrennten, wiederholten Uhrphasen von einem Uhrzyklus; und
D) wenigstens einen zusammengesetzten, intelligenten Speicher, ein Input/Output Modul (MIO 24) mit dem Bus verbunden der hat,
1) einen Allgemeinspeicher (33),
2) einen ersten Puffer (34) für Datenübertrag vom Allgemeinspeicher zum Bus,
3) einen zweiten Puffer (3 8) für Datenübertrag vom Allgemeinspeicher zu den verbundenen externen Vorrichtungen, und
9 0 9 S 3 A / 0 fi 3 0
ORIGINAL
4) Vorrichtungen (36) , die mit den Uhrphasen und ersten und zweiten Puffern verbunden sind, um Zutritt vom Allgemeinspeicher entweder zur ersten oder zweiten Verbindung zu gestatten; wobei Datentransfer von und zum Allgemeinspeicher (3 3) zum" Bus (26) während einer getrennenten Phase des Uhrzyklus abläuft und Datentransfer von und zum Allgemeinspeicher (33) mit den externen Vorrichtungen während einer anderen getrennten Phase des Uhrzyklus abläuft.
9. Ein Digital Computer wie unter Punkt 8 beschrieben ist gekennzeichnet durch die Vorrichtung (welche ein Microprocessor ist) zur Kontrolle des Zutritts zwischen Allgemeinspeicher (3 3) und den ersten und zweiten Puffern (36) ,
10. Ein Digital Computer wie er unter Punkt 9 beschrieben wird, ist gekennzeichnet durch ein MIO (24) weiters einen 3. Puffer (35) für Datenübertrag vom Allgemeinspeicher (3 3) zu den Serien Input/Output Vorrichtungen verbunden und bei dem ein 2. Puffer (38) zu den parallel Datentransfer externen Vorrichtungen verbunden ist, wobei die Uhr (56) einen 3-Phasen Zyklus erzeugt und wobei der MIO Allgemeinspeicher (33) für den Datenbus
(26) Zutritt verschafft während der ersten Phase des Uhrzyklus, ist verbindbar mit einem Serien Input/Output während einer zv/eiten Phase des Uhrzyklus und ist verbindbar mit einem Parallel Input/Output während der 3-Phase der Uhrzyklus.
11. Ein Digital Computer wie in Punkt 10 beschrieben, gekennzeichnet dadurch, dass jede Phase des 3-Phasen Uhrzyklus eine Dauer von 500 Nanosekunden hat.
3 0 9 B S * / 0 β S 0 OmeimL INSPECTED
12. Ein Digital Computer wie in Punkt 8 beschrieben, gekennzeichnet dadurch dass die CPU (22) weiters einen Microprocessor (54) beinhaltet für die Ausführung von Diagnostiken in bezug auf die CPU (22) .
13. Ein Digital Computer wie er unter Punkt 12 beschrieben wird, gekennzeichnet dadurch, dass die CPU (22) weiters einen aufzeichnungsfähigen Kontrollspeicher (52), zwischenverbunden mit einen Microprocessor (54) hat, und worin ein Series Bit Slice Processor (64) mit einem aufzeichnungsfähigen Kontrollspeicher (52) für die Ausführung von Gebraucherbefehlen via einem Microcode, gespeichert in aufzeichnungsfähigen Kontrollspeicher
(52) sorgt.
14. Ein Digital Computer wie in Punkt 8 beschrieben, gekennzeichnet durch:
E) einen Zwischenverarbeitungspuffer (IPB 32) an den Bus (26) angeschlossen;
F) einen zweiten Bus (26') an den IPB (32) angeschlossen; und
G) eine zusätzliche CPU (22') angeschlossen an den zweiten Bus (26'), verbindbar mit der ersten CPU (22) durch die IPBs (32).
15. Ein Digital Computer wie in Punkt 14 beschrieben, gekennzeichnet dadurch, dass der IPB (32) einen Allgemeinspeicher (33) beinhaltet und Vorrichtungen (36) für Durchführung während der Uhrphasen des Zyklus, um dem Allgemeinspeicher (33) Zutritt zur ersten CPU (22) während einer Uhrphase und der zweiten CPU (221^ während einer anderen Phase zu gewähren.
16. Ein Digital Computer wie unter Punkt 15 beschrieben, gekennzeichnet durch die Zutrittsmöglichkeit des Allgemeinspeichors (33) im IPB (32) zur ersten CPU (22)
ORlGSNAL INSPECTED
-14/9-
*5' 2302862
der zur gleichen Zeit stattfindet, wie die erste CPU Zutritt hat zu den Allgemeinspeichern (33) von anderen verbunderen MIOs (24) und IPBs (32).
17. Ein Digital Computer wie in Punkt 16 beschrieben, worin die gesamte Anzahl an MIOs (24) und IPBs (32) die an einen Bus (26) angeschlossen ist, 15 sein kann.
18. Ein Digital Computer, der gekennzeichnet ist durch:
A) wenigstens 2 CPUs (22);
B) einen Bus (26), an die CPUs (22) angeschlossen;
C) eine Uhr (56) für die Erzeugung von mindestens verschiedenen Uhrphasen pro Uhrzyklus, und
D) einen IPB (32) der
1) Vorrichtung hat (36), verbindbar mit den
Uhrphasen, um Zutritt des Allgemeinspeicher (33) im IPB (32) zur ersten CPUs (22) zu gewähren während einer Phase des Uhrzyklus und um Zutritt des Allgemeinspeichers (33) zu einer 2 CPU (22') die mit einem IPB (32) wahrend einer anderen Phase des Uhrzyklus zu gewähren.
90983-4/QB3Ö
ORIGINAL INSPECTED
DE19792902862 1978-01-27 1979-01-25 Digital-computer mit vielfaeltigkeits-verfahrens-faehigkeit, der den gebrauch eines zusammengesetzten intelligenten speichers und von input/output modulen vorsieht Withdrawn DE2902862A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87301878A 1978-01-27 1978-01-27
US05/916,274 US4276594A (en) 1978-01-27 1978-06-16 Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same

Publications (1)

Publication Number Publication Date
DE2902862A1 true DE2902862A1 (de) 1979-08-23

Family

ID=27128273

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792902862 Withdrawn DE2902862A1 (de) 1978-01-27 1979-01-25 Digital-computer mit vielfaeltigkeits-verfahrens-faehigkeit, der den gebrauch eines zusammengesetzten intelligenten speichers und von input/output modulen vorsieht

Country Status (3)

Country Link
US (1) US4276594A (de)
JP (1) JPS54139351A (de)
DE (1) DE2902862A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023290B2 (en) 1997-01-24 2011-09-20 Synqor, Inc. High efficiency power converter
US10199950B1 (en) 2013-07-02 2019-02-05 Vlt, Inc. Power distribution architecture with series-connected bus converter

Families Citing this family (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4433376A (en) * 1978-10-31 1984-02-21 Honeywell Information Systems Inc. Intersystem translation logic system
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
US4467409A (en) * 1980-08-05 1984-08-21 Burroughs Corporation Flexible computer architecture using arrays of standardized microprocessors customized for pipeline and parallel operations
EP0059731A4 (de) * 1980-09-23 1985-10-01 Western Electric Co System zur verbindung von prozessoren.
US4519028A (en) * 1981-02-17 1985-05-21 Digital Equipment Corporation CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US4539636A (en) * 1981-06-24 1985-09-03 Elevator Gmbh Apparatus for inter-processor data transfer in a multi-processor system
EP0088789B1 (de) * 1981-09-18 1987-08-05 CHRISTIAN ROVSING A/S af 1984 Multiprozessor-rechnersystem
US4562533A (en) * 1981-12-03 1985-12-31 Ncr Corporation Data communications system to system adapter
US4583194A (en) * 1981-12-23 1986-04-15 Pitney Bowes Inc. Fixed disk controller for use in a word processing system
JPS58195265A (ja) * 1982-05-10 1983-11-14 Sony Corp マイクロコンピユ−タ
US4495596A (en) * 1982-06-10 1985-01-22 Rockwell International Corporation Data accumulator and transponder with power back-up for time of day clock
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4654783A (en) * 1982-07-26 1987-03-31 Data General Corporation Unique process for loading a microcode control store in a data processing system
US4504927A (en) * 1982-09-08 1985-03-12 Allen-Bradley Company Programmable controller with expandable I/O interface circuitry
US4713834A (en) * 1982-09-30 1987-12-15 American Telephone And Telegraph Company, At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4626634A (en) * 1982-09-30 1986-12-02 At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4751727A (en) * 1982-09-30 1988-06-14 American Telephone And Telegraph Company, At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US5208915A (en) * 1982-11-09 1993-05-04 Siemens Aktiengesellschaft Apparatus for the microprogram control of information transfer and a method for operating the same
US4628446A (en) * 1982-12-06 1986-12-09 At&T Bell Laboratories Multichannel interface
EP0135499B1 (de) * 1983-02-09 1990-05-02 International Business Machines Corporation Verfahren zum erhalten der einigung mehrfacher rechner zum vermeiden von fehlern
US4607346A (en) * 1983-03-28 1986-08-19 International Business Machines Corporation Apparatus and method for placing data on a partitioned direct access storage device
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
US4682304A (en) * 1983-08-04 1987-07-21 Tektronix, Inc. Asynchronous multiple buffered communications interface having an independent microprocessor for controlling host/peripheral exchanges
US4754326A (en) * 1983-10-25 1988-06-28 Keycom Electronic Publishing Method and apparatus for assisting user of information retrieval systems
US4862353A (en) * 1984-03-05 1989-08-29 Tektronix, Inc. Modular input device system
JPS6145347A (ja) * 1984-08-10 1986-03-05 Nec Corp マイクロコンピユ−タ
US4644542A (en) * 1984-10-16 1987-02-17 International Business Machines Corporation Fault-tolerant atomic broadcast methods
US4855903A (en) * 1984-12-20 1989-08-08 State University Of New York Topologically-distributed-memory multiprocessor computer
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4819152A (en) * 1985-04-05 1989-04-04 Raytheon Company Method and apparatus for addressing a memory by array transformations
US4787041A (en) * 1985-08-01 1988-11-22 Honeywell Data control system for digital automatic flight control system channel with plural dissimilar data processing
US4809217A (en) * 1985-10-31 1989-02-28 Allen-Bradley Company, Inc. Remote I/O port for transfer of I/O data in a programmable controller
US4682283A (en) * 1986-02-06 1987-07-21 Rockwell International Corporation Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's
US4807224A (en) * 1987-08-21 1989-02-21 Naron Steven E Multicast data distribution system and method
US4956805A (en) * 1987-09-22 1990-09-11 Anasazi, Inc. Circuitry for character translate functions
US5179683A (en) * 1988-06-14 1993-01-12 Hitachi, Ltd. Retrieval apparatus including a plurality of retrieval units
US5109384A (en) * 1988-11-02 1992-04-28 Tseung Lawrence C N Guaranteed reliable broadcast network
US5210828A (en) * 1988-12-29 1993-05-11 International Business Machines Corporation Multiprocessing system with interprocessor communications facility
US5148528A (en) * 1989-02-03 1992-09-15 Digital Equipment Corporation Method and apparatus for simultaneously decoding three operands in a variable length instruction when one of the operands is also of variable length
US5148537A (en) * 1989-05-02 1992-09-15 Belsan Jay S Method and apparatus for effecting an intra-cache data transfer
JPH077955B2 (ja) * 1989-05-13 1995-01-30 株式会社東芝 データ通信制御装置
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers
EP0442041A3 (en) * 1990-01-18 1991-09-04 National Semiconductor Corporation Integrated digital signal processor/general purpose cpu with shared internal memory
EP0442297B1 (de) * 1990-01-24 2000-05-24 Sony Corporation Prozessor mit überschreibbarem Mikrokodespeicher
KR950008837B1 (ko) * 1990-03-09 1995-08-08 후지쓰 가부시끼가이샤 멀티 프로세서 시스템용 제어시스템
EP0453160A3 (en) * 1990-04-20 1993-09-15 Digital Equipment Corporation A method and apparatus for analyzing the flow of data through a complex information exchange system
FR2662523B1 (fr) * 1990-05-28 1994-08-12 Copernique Dispositif controleur d'unites de memoire de masse multiprocesseur a bus central unique.
US5287247A (en) * 1990-09-21 1994-02-15 Lsi Logic Corporation Computer system module assembly
US5321844A (en) * 1990-12-20 1994-06-14 Siemens Aktiengesellschaft Method for error correction of software errors in a communication system
DE69228980T2 (de) * 1991-12-06 1999-12-02 Nat Semiconductor Corp Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
US5388217A (en) * 1991-12-13 1995-02-07 Cray Research, Inc. Distributing system for multi-processor input and output using channel adapters
US5613063A (en) * 1994-07-01 1997-03-18 Digital Equipment Corporation Method and apparatus for checking validity of memory operations
DE69625751T2 (de) * 1995-07-07 2003-10-02 Sun Microsystems Inc Verfahren und System zur Ausführungssynchronisation von Ereignissen beim Testen von Software
US5828257A (en) * 1995-09-08 1998-10-27 International Business Machines Corporation Precision time interval division with digital phase delay lines
US5614845A (en) * 1995-09-08 1997-03-25 International Business Machines Corporation Independent clock edge regulation
US5610548A (en) * 1995-09-08 1997-03-11 International Business Machines Corporation Split drive clock buffer
US5656963A (en) * 1995-09-08 1997-08-12 International Business Machines Corporation Clock distribution network for reducing clock skew
US5675273A (en) * 1995-09-08 1997-10-07 International Business Machines Corporation Clock regulator with precision midcycle edge timing
US5901291A (en) * 1996-10-21 1999-05-04 International Business Machines Corporation Method and apparatus for maintaining message order in multi-user FIFO stacks
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US6725250B1 (en) * 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US7634529B2 (en) 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US6167428A (en) 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US7926097B2 (en) 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US20050180095A1 (en) 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US7805756B2 (en) 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US8225003B2 (en) * 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US6226736B1 (en) * 1997-03-10 2001-05-01 Philips Semiconductors, Inc. Microprocessor configuration arrangement for selecting an external bus width
US6212614B1 (en) * 1998-01-05 2001-04-03 Trw Inc. Legacy MIL-STD-1750A software emulator address translation using power PC memory management hardware
US6701429B1 (en) 1998-12-03 2004-03-02 Telefonaktiebolaget Lm Ericsson(Publ) System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location
US6148361A (en) * 1998-12-17 2000-11-14 International Business Machines Corporation Interrupt architecture for a non-uniform memory access (NUMA) data processing system
US6738845B1 (en) * 1999-11-05 2004-05-18 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication device
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7194634B2 (en) * 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US6785780B1 (en) 2000-08-31 2004-08-31 Micron Technology, Inc. Distributed processor memory module and method
US7793111B1 (en) * 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7328232B1 (en) 2000-10-18 2008-02-05 Beptech Inc. Distributed multiprocessing system
US7215781B2 (en) * 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
DE10065418A1 (de) * 2000-12-27 2002-07-18 Siemens Ag Integrationsverfahren für Automatisierungskomponenten
US7117376B2 (en) * 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US6909659B2 (en) * 2001-08-30 2005-06-21 Micron Technology, Inc. Zero power chip standby mode
JP4681225B2 (ja) * 2001-10-17 2011-05-11 ベプテック インコーポレイテッド オペレーティングシステムにわたる通信の方法
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7480806B2 (en) * 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7124273B2 (en) * 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7076669B2 (en) * 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US7127548B2 (en) * 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) * 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
JP2003345525A (ja) * 2002-05-24 2003-12-05 Hitachi Ltd 計算機システム及びレプリケーション方法
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
US20040003321A1 (en) * 2002-06-27 2004-01-01 Glew Andrew F. Initialization of protected system
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US7296267B2 (en) * 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7318235B2 (en) 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7076802B2 (en) * 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7287197B2 (en) * 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7636844B2 (en) 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
US7389405B2 (en) * 2003-11-17 2008-06-17 Mediatek, Inc. Digital signal processor architecture with optimized memory access for code discontinuity
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US20050133582A1 (en) * 2003-12-22 2005-06-23 Bajikar Sundeep M. Method and apparatus for providing a trusted time stamp in an open platform
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050188173A1 (en) * 2004-02-24 2005-08-25 Robert Hasbun Physical domain separation
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) * 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
KR100660874B1 (ko) * 2005-07-25 2006-12-26 삼성전자주식회사 듀얼 포트를 갖는 디램에서의 리프레시 제어 방법
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US7444258B2 (en) * 2005-12-05 2008-10-28 International Business Machines Corporation Automated simulation testbench generation for serializer/deserializer datapath systems
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US7908406B2 (en) * 2006-06-21 2011-03-15 Finisar Corporation Interface architecture for facilitating communication regardless of protocol
JP4893427B2 (ja) * 2006-06-30 2012-03-07 株式会社デンソー マイクロコンピュータシステム
US7477948B1 (en) * 2006-11-06 2009-01-13 Novellus Systems, Inc. Apparatus and methods for precompiling program sequences for wafer processing
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US7526638B1 (en) * 2008-03-16 2009-04-28 International Business Machines Corporation Hardware alteration of instructions in a microcode routine
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
WO2011136796A1 (en) * 2010-04-30 2011-11-03 Hewlett-Packard Development Company, L.P. Management data transfer between processors
US8516426B2 (en) * 2011-08-25 2013-08-20 International Business Machines Corporation Vertical power budgeting and shifting for three-dimensional integration
US10055358B2 (en) * 2016-03-18 2018-08-21 Oracle International Corporation Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors
US10061714B2 (en) * 2016-03-18 2018-08-28 Oracle International Corporation Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors
US9898362B2 (en) * 2016-04-07 2018-02-20 Atmel Corporation Multi-channel RAM with ECC for partial writes
US10459859B2 (en) * 2016-11-28 2019-10-29 Oracle International Corporation Multicast copy ring for database direct memory access filtering engine

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3419849A (en) * 1962-11-30 1968-12-31 Burroughs Corp Modular computer system
US3349375A (en) * 1963-11-07 1967-10-24 Ibm Associative logic for highly parallel computer and data processing systems
US3350689A (en) * 1964-02-10 1967-10-31 North American Aviation Inc Multiple computer system
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
US3377623A (en) * 1965-09-29 1968-04-09 Foxboro Co Process backup system
US3411139A (en) * 1965-11-26 1968-11-12 Burroughs Corp Modular multi-computing data processing system
US3810105A (en) * 1967-10-26 1974-05-07 Xerox Corp Computer input-output system
US3651484A (en) * 1969-08-12 1972-03-21 Bailey Meter Co Multiple process control system
US3703707A (en) * 1971-04-28 1972-11-21 Burroughs Corp Dual clock memory access control
US3982231A (en) * 1972-03-31 1976-09-21 International Business Machines Corporation Prefixing in a multiprocessing system
FR2182259A5 (de) * 1972-04-24 1973-12-07 Cii
BE789828A (nl) * 1972-10-09 1973-04-09 Bell Telephone Mfg Gegevensverwerkend besturingsstelsel.
US4015242A (en) * 1972-11-29 1977-03-29 Institut Francais Du Petrole, Des Carburants Et Lubrifiants Et Entreprise De Recherches Et D'activities Petrolieres Elf Device for coupling several data processing units to a single memory
US3913070A (en) * 1973-02-20 1975-10-14 Memorex Corp Multi-processor data processing system
US3833889A (en) * 1973-03-08 1974-09-03 Control Data Corp Multi-mode data processing system
CH556576A (de) * 1973-03-28 1974-11-29 Hasler Ag Einrichtung zur synchronisierung dreier rechner.
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US3962685A (en) * 1974-06-03 1976-06-08 General Electric Company Data processing system having pyramidal hierarchy control flow
US3961312A (en) * 1974-07-15 1976-06-01 International Business Machines Corporation Cycle interleaving during burst mode operation
US3959775A (en) * 1974-08-05 1976-05-25 Gte Automatic Electric Laboratories Incorporated Multiprocessing system implemented with microprocessors
US3931613A (en) * 1974-09-25 1976-01-06 Data General Corporation Data processing system
US4048623A (en) * 1974-09-25 1977-09-13 Data General Corporation Data processing system
US4065808A (en) * 1975-01-25 1977-12-27 U.S. Philips Corporation Network computer system
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
US3978451A (en) * 1975-04-21 1976-08-31 Rca Corporation Controlling communications between computer devices over common bus
US4015243A (en) * 1975-06-02 1977-03-29 Kurpanek Horst G Multi-processing computer system
US4001790A (en) * 1975-06-30 1977-01-04 Honeywell Information Systems, Inc. Modularly addressable units coupled in a data processing system over a common bus
US4007450A (en) * 1975-06-30 1977-02-08 International Business Machines Corporation Data sharing computer network
US3993981A (en) * 1975-06-30 1976-11-23 Honeywell Information Systems, Inc. Apparatus for processing data transfer requests in a data processing system
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
US4060849A (en) * 1975-10-28 1977-11-29 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull Data input and output controller
JPS5266346A (en) * 1975-11-29 1977-06-01 Tokyo Electric Co Ltd Synch. clock control of microcomputer system
US4014005A (en) * 1976-01-05 1977-03-22 International Business Machines Corporation Configuration and control unit for a heterogeneous multi-system
US4093981A (en) * 1976-01-28 1978-06-06 Burroughs Corporation Data communications preprocessor
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4051551A (en) * 1976-05-03 1977-09-27 Burroughs Corporation Multidimensional parallel access computer memory system
US4065809A (en) * 1976-05-27 1977-12-27 Tokyo Shibaura Electric Co., Ltd. Multi-processing system for controlling microcomputers and memories
US4056843A (en) * 1976-06-07 1977-11-01 Amdahl Corporation Data processing system having a plurality of channel processors
DE2641741C2 (de) * 1976-09-16 1986-01-16 Siemens AG, 1000 Berlin und 8000 München Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
US4074352A (en) * 1976-09-30 1978-02-14 Burroughs Corporation Modular block unit for input-output subsystem
GB1574469A (en) * 1976-09-30 1980-09-10 Borroughs Corp Interface system providing interfaces to central processing unit and modular processor-controllers for an input-out-put subsystem
US4092728A (en) * 1976-11-29 1978-05-30 Rca Corporation Parallel access memory system
US4104720A (en) * 1976-11-29 1978-08-01 Data General Corporation CPU/Parallel processor interface with microcode extension
US4106090A (en) * 1977-01-17 1978-08-08 Fairchild Camera And Instrument Corporation Monolithic microcomputer central processor
US4122520A (en) * 1977-05-23 1978-10-24 General Electric Company Microcomputer controller and direct memory access apparatus therefor
US4149243A (en) * 1977-10-20 1979-04-10 International Business Machines Corporation Distributed control architecture with post and wait logic
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023290B2 (en) 1997-01-24 2011-09-20 Synqor, Inc. High efficiency power converter
US8493751B2 (en) 1997-01-24 2013-07-23 Synqor, Inc. High efficiency power converter
US9143042B2 (en) 1997-01-24 2015-09-22 Synqor, Inc. High efficiency power converter
US10199950B1 (en) 2013-07-02 2019-02-05 Vlt, Inc. Power distribution architecture with series-connected bus converter
US10594223B1 (en) 2013-07-02 2020-03-17 Vlt, Inc. Power distribution architecture with series-connected bus converter
US11075583B1 (en) 2013-07-02 2021-07-27 Vicor Corporation Power distribution architecture with series-connected bus converter

Also Published As

Publication number Publication date
US4276594A (en) 1981-06-30
JPS54139351A (en) 1979-10-29

Similar Documents

Publication Publication Date Title
DE2902862A1 (de) Digital-computer mit vielfaeltigkeits-verfahrens-faehigkeit, der den gebrauch eines zusammengesetzten intelligenten speichers und von input/output modulen vorsieht
DE2722099C2 (de)
DE2437200C2 (de) Mehrfachprogrammierungs-Datenverarbeitungsanlage in Modulbauweise
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE1279980C2 (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE2846495C2 (de) Zentraleinheit
DE2416609C2 (de) Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen
DE2357003A1 (de) Programmierbarer prozessor
DE1449532B2 (de) Datenverarbeitungsanlage
DE2714805A1 (de) Datenverarbeitungssystem
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE1934220A1 (de) Vorrichtung zur Wartung und Pruefung von elektronischen Datenverarbeitungsanlagen
DE2750721A1 (de) Ein/ausgabe-system
DE2612083A1 (de) Verfahren und vorrichtung zur ein/ausgang-datenverarbeitung
JPS58137200A (ja) デ−タ処理装置
DE3606211A1 (de) Multiprozessor-computersystem
DE2517276A1 (de) Datenverarbeitungssystem
DE3114961A1 (de) Datenverarbeitungssystem
DE2629266A1 (de) Ein/ausgabe-system
DE2750299A1 (de) Ein/ausgabe-system
DE2755897A1 (de) Ein/ausgabe-system
DE1549523B2 (de) Datenverarbeitungsanlage
DE2806045A1 (de) Dv-system mit pufferspeicher
DE4418892C2 (de) Mikrocomputer

Legal Events

Date Code Title Description
OGA New person/name/address of the applicant
8128 New person/name/address of the agent

Representative=s name: SPOTT, G., DIPL.-CHEM. DR.RER.NAT., PAT.-ANW., 800

8141 Disposal/no request for examination