 Wir kommen zurück auf dem Stream von ChaoszoneTV und hier gibt es gleich den nächsten Vortrag. Fragen könnt ihr wie üblich auf Twitter, Mastodon und im IRC stellen. Wenn ihr sucht wie das geht, dann geht das einfach auf der streaming.metia.cc.de Seite dort den Kanal Chaoszone und dann unter dem Video gibt es einen Reiter Chat und dort findet ihr alle Details. Der nächste Vortrag wird auf Deutsch sein. Ich weiß nicht ob es eine englische Übersetzung gibt. Das werden wir sehen und er lautet basteln im Lockdown Gigatron ein Computer ohne CPU. Viel Spaß mit Little Alex und vielleicht auch mit Martin. Wir wollen heute mal über den Gigatron sprechen. Das ist ein kleines Projekt, wo ich drauf geschossen bin. Das ist der Martin. Ich bin der Alexander. Wir kommen bei das Simhatero2 im Vogtland und sind seit Jahren der Chaoszone. Wir wollen jetzt mal präsentieren, was wir so im Lockdown gemacht haben. Ich befasse mich seit Jahren mit hauptsächlich so viel mit alten Computern. Und irgendwann bin ich dann auch mal dazu gekommen zu sagen, jetzt möchte ich mal verstehen, wie die wirklich ganz tief in der Habwehr funktionieren. Und bin so auf diverse Projekte geschossen, wo Leute Computer der 70er nachgebaut haben. Mit TTL-Schaltkreisen. Hab dann angefangen, auf dem Brettboard selbst ein paar Sachen zusammenzustecken. Und dann im Frühjahr habe ich dann entdeckt, dass es ein Projekt gibt, wo Leute schon mal einen fertigen Computer gebaut haben. Leider war einer der beiden Entwickler zu den Zeiten schon verschormen. Und die Kids, die verkauft haben, mit denen man das selber bauen kann, sind leider nicht mehr erhältlich. Und dann habe ich mich hingestellt und habe gesagt, das stelle ich mir selber zusammen. Das sind alles Standardbauteile. Und dann haben wir mal angefangen und dann haben wir jeder einen davon gebaut. Ja, was ist der Gigatron? Was geben wir das mal? Genau, also Alex hat ja schon gesagt, der Gigatron ist aus TTL-Standardkomponenten zusammengebaut. Und ist dadurch praktisch ein Computer, der kein Mikroprozessor hat, sondern eben plus einzelne Standardkomponenten, die da drin stecken. Hat natürlich auch eine eigene Projektseite, Gigatron.io. Und jetzt drüben auf dem Bild sieht man auch die Abbildung von einem Gigatron. Und hier unten auf dem Tisch steht auch mal einiges zusammengehalten. Genau, der Gigatron wurde von Marcel van Kerfnig und Walter Belgers entwickelt. Und von Anfang 2008 bis Mitte 2020 gab es eben die Bausetzer. Wie Alex schon erzählt, haben dann die Bausetzer eingestellt. Glücklicherweise ist er aber auch seit Mitte 2020 vollständig offen. Das bedeutet, der Quellcode, die Schaltpläne und die PCB-Layoutslagen vorher schon vor. Und Mitte 2020 wurden dann auch das Handbuch und die Bestückungsliste veröffentlicht. Und dadurch war es jetzt auch kein so großer Aufwand, um Gigatron nachzubauen. Also das ist was, wenn man den Aufwand annimmt, ist das wunderbar als Wochenendprojekt geeignet. Es ist auch jetzt nicht so schwierig zu löten. Jemand, der Mötterfahrung hat, wird das hinbekommen für Anfänger nicht geeignet. Würde ich jetzt so zusammenfassen. Kostenpunkt schwer zu sagen. Ich hatte halt viel darliegen, deswegen war das nicht so deutlich unter 100 Euro. Ich schätze mal, die Bauteile waren unter 50 Euro. Und da zusätzlich eben noch die Platine und die Plexiglas-Scheiben, sofern man daran bauen möchte. Also Gehäuse muss man sehen, was man baut. Die Platinen, die kann man sich anfertigen lassen. Das Layout ist frei herunterladbar. So habe ich das gemacht, habe dann gleich mehrere bestellt. Mitunter findet man die auch beim Online Versteigerungshaus der Wahl. Da haben Leute dann mal 10 Stück machen lassen und geben die dann dort ab. Muss man halt sehen, ich habe die direkt anfertigen lassen, war überhaupt kein Problem. Die sind relativ einfach gestaltet. Also das soll jeder Auftragsfertiger hinbekommen. Kurz was zur technischen Spezifikation. Also die CPU, die hier aus einzelnen Komponenten zusammengebaut ist, ist eine 8-bit CPU. Das heißt, in dem konkreten Fall der Russ ist eben 8-bit breit. Es gibt 8-bit für Instruktionen bzw. für zusammengesetzte Instruktionen. Und die Architektur ist eine Harvard-Architektur, was man auch in der Hardware relativ gut sieht. Nur dem Grund, dass es da einen Improm gibt, das ist diese Komponente, auf dem das Programm läuft und einen S-Raum, das ist die Komponente hier, auf dem praktisch dann die Daten zur Laufzeit gespeichert werden. Und das ist ja genau das, was die Harvard-Architektur ausmacht, dass praktisch Programmspeicher und Datenspeicher festgetrennt sind. Das Ganze lässt sich relativ... Vielleicht sollte man auch dazu sagen, das Ganze ist eine 8-bit-Risk-CPU, also ein relativ einfacher CPU, aber letztendlich kann sie pro Tag einen Befehl verarbeiten. Was das Ding überraschend performant macht. Genau, das einzige Problem daran ist bloß, dass die Befehle sehr begrenzt sind. Also die CPU kann eben laden und speichern von verschiedenen Stellen, wenn wir gestern oder aus dem S-Raum. Die CPU kann in paralogische Grundfunktionen, das bedeutet und- oder x-Ohr. Die CPU kann addieren und subtrahieren und die kann Verzweigungsinstruktionen, also praktisch so Schleifen, Weißschleife, Anweisung usw. Das Problem daran ist, mit diesen 8 Instruktionen programmieren ist relativ schwierig. Also es ist ziemlich, muss man sogar sagen, also es ist möglichst direkt die CPU, falls man das CPU nennen, also das Rechenwerk zu programmieren, das geht. Es ist halt ganz schön schmerzhaft, also Spaß macht es nicht und es gibt auch meines Wissens nach noch keine Hochsprachen oder ähnliches, die direkt darauf laufen oder ist dir was bekannt? Naja, nicht direkt, aber dann über die virtuelle CPU, jetzt auf der Slide kommt, gibt es dann eine gigatron-spezifische. Ja genau, also die Lösung, was jetzt hier ist, wenn man eine relativ schnelle CPU hat, die aber nur wenig kann, der nächste Schritt ist dann darauf, eine virtuelle CPU laufen zu lassen. Also es ist eine in Software emollierte V-CPU in 16-Bit. Hier haben wir dann allerdings eine Verneumarn-Architektur, das heißt, wir haben eine auf einer Hardware simulierte Verneumarn-Architektur laufen in 16-Bit. Und warum kann das eine Verneumarn-Architektur sein? Die V-CPU läuft halt sozusagen komplett im Ram und da kann die natürlich darauf zugreifen, wie sie möchte und dann halt auch, was weiß ich, selbst verändernder Code, was man halt in der Verneumarn-Architektur alles machen kann. Genau, es gibt verschiedene Möglichkeiten, Signale auszugeben. Das können wir vielleicht jetzt noch mal zeigen. Also es gibt praktisch für die Ausgabe einmal VGA, das ist halt... Hier dran, das kann man dann an einem ganz normalen VGA-Monitor anschließen. Also der macht RGB mit 64 Farben. Genau, es gibt 3,5 mm Linke, das ist hier dran. Hier dran, eben einfach zum anderen Lautsprecher anschließen. Und es gibt eine sehr ehellangefundene Tastatur beziehungsweise den Controller. Das ist dann Eingabe allerdings. Genau, und das ist ursprünglich für die Nest-Kontrolle gebaut worden. Weil, wenn ich das richtig verstanden habe, gab es eben da gerade Nest-Kontrolle in großen Stückzahlen günstig zu erwerben und deswegen haben die Gigabron-Entwickler eben dann das auf den Controller ausgelegt. Also die Idee ist legitim da, wenn man so eine Ein- und Ausgabe hat. Das war ja auch nie wirklich geplant, da ein Produkt rauszumachen, sondern das ist für experimentieren. Und das seriale Protokoll, was da lief, hat halt funktioniert. Aber wenn man das als echter Computer benutzen möchte, was man haben möchte, ist was anderes als ein Game Controller. Und deswegen gibt es da mittlerweile das kleine Ding hier. Das nennt sich Plug-E-Mac-Plugface. Ist nichts weiter als ein kleiner Atmel, der die PS2, das PS2-Protokoll, das seriale Protokoll umsetzt und dann hier dran steckt und mit Strom versucht über den Computer. Und wird auch als Speicher benutzt, aber das kommen wir dann später noch mal zu. Um das Ding zu verstehen, muss man natürlich ein bisschen wissen, was die näher Logik ist. Ja, da rennen wir jetzt mal durch, dass wir da so alle auf dem gleichen Stand sind. Genau, also es ist auch davon auszugehen, dass vielen wahrscheinlich die Inhalte von dem Abschnitt hier bereits bekannt sind. Wir haben es aber einfach normal mit aufgenommen, um eben, falls das jemand noch noch nicht kennt, das nochmal mitzusehen. Also viele Leute sind halt softwarelastig und haben sich nie mit der wirklich grundlegenden Architektur von Computern wirklich befasst. Also es gibt näher Logik. Da wären praktisch elektrische Potentiale als nähere Zustände 1,0 definiert. Also zum Beispiel 5 Volt entsprechend nur logischen 1 und 0 Volt entsprechend nur logischen 0. Entsprechend könnte man auch sagen, wenn man jetzt eine Spannungsversorgung hat und eine Lampe und zwischendrin einen Schalter, wenn der Schalter geschlossen ist, dann leuchtet die Lampe, das wäre dann der logische Zustand 1. Wenn der Schalter offen ist, leuchtet die Lampe nicht, das wäre dann der logische Zustand 0. Genau, dann gibt es Halbleitebauelemente, zum Beispiel Dioden. Und das ist ein Bauelement, was Strom in eine Richtung fließen lässt. Da spricht man dann von Durchlassrichtung und in die andere Richtung nicht fließen lässt. Das heißt dann Sperrrichtung. Und je nachdem, wie rum wird die Diode in den Stromkreis eingebaut, also das sieht man halt hier an diesem Strichbär, daran ist, dass die halt hier in verschiedene Richtungen eingebaut ist, lässt die in die eine Richtung den Strom durchfließen und das wäre dann praktisch an der Lampe wieder der Zustand logisch 1 und in die andere Richtung die Diode sperren, das wäre an der Lampe der Zustand logisch 0. Es gibt Bipolache Transistronen, das ist ein Bauelement, was Strom in Abhängigkeit von einem Steuerstrom fließen lässt oder sperrt. Allerdings kann dabei der Strom, der fließt, entsprechend höher sein als der Steuerstrom, ansonsten wäre das auch nicht besonders sinnvoll. Das bedeutet also, Transistronen können Ströme auch verstärken. Und da gibt es zwei Typen von Bipolaren Transistronen, und zwar einmal NPN, die leiten bei einem positiven Steuerstrom, zumindest in generischer Logik, und PNP, die leiten bei einem negativen Steuerstrom. Also Hintergrund ist die Anordnung der Halbleiterschichten, hat man, je nachdem wie die angelegt sind, wie die aufgereizt sind, halt diese Effekte. Es ist für so eine Schaltung eigentlich, in dem Sinne, egal ob man die mit NPN oder PNP aufbaut, beides funktioniert, man muss sich halt bloß auf ein, wie soll man sagen, Logik einigen, also ob positiv 5 Volt, oder was auch immer für eine Spannung ist, 1 ist oder eben minus. Hier haben wir, wenn Transistoren irgendwo sind, NPN. Genau, und das Ganze sieht dann nochmal so als Schaltzeichen aus, also da wären jetzt praktisch links die NPN, oder andersrum links wäre der NPN Transistor, rechts der PNP Transistor, und bei dem linken würde man jetzt eben sehen, wenn der NPN Transistor gegen Plus geschaltet ist, dann leuchtet die Lampe, also Logik 1, ist dagegen minus geschaltet, ist die Lampe aus, Logik 0, und bei dem PNP Transistor fällt sich das genau andersrum. Es gibt auch unipolare Transistoren, generell funktionieren die ähnlich wie die bipolaren Transistoren, es gibt bloß den Unterschied, dass der unipolare Transistor spannungsgesteuert und nicht strömgesteuert ist. Das bedeutet, der Strom, den der Transistor durchlässt, hängt eben nicht von dem Steuerstrom, sondern von der Steuerspannung ab. Und analog zu den bipolaren Transistoren, gibt es auch von den unipolaren wieder zwei Typen, und zwar gibt es da einmal N-Kanal Transistoren, die leiten eben bei positiver Steuerspannung, und P-Kanal Transistoren, die leiten bei negativer Steuerspannung. Dann gibt es logische Gatter, durch Verschalten von diesen Bauteilen, die wir da gerade gezeigt haben, oder auch irgendwelchen anderen Bauteilen, lassen sich logische Verknüpfungen abbilden. Und die konkrete Verschaltung hängt dann eben immer von der Technologie zusammen, also z.B. um ein logisches und aus Dioden zu bauen, ist eine andere Schaltung notwendig, logischerweise als um ein logisches und aus Transistoren zu bauen. Und Beispiele dafür wären z.B. logisches und rund. Da ist der Ausgang genau dann eins, wenn beide Eingänge auf eins sind. Dann gibt es ein logisches oder, da ist der Ausgang eins, wenn entweder der eine oder der andere oder beide Eingänge eins sind. Dann gibt es noch das exklusive oder X-Ohr, da wäre der Ausgang eins, wenn entweder Eingang eins oder Eingang zwei eins sind, aber nicht beide gleichzeitig. Man könnte auch sagen, wenn die beiden Eingänge unterschiedlich sind. Und es gibt natürlich noch viel mehr logische Verknüpfungen als die. Es gibt auch einen Namen, also Nicht und und, also da gibt es sehr, sehr viele verschiedene. Wir haben hier auf dem Gerät auch diverse Standardgatter, die sich aus diesen Sachen zusammensetzen. Man kann auch einzelne Gatter dann weiter zusammenschalten in Flip Flops z.B. als Speicher und so weiter. Also das ist im Prinzip die Grundlage jedes binären Computers. Genau, und was Alex gerade schon gemeint hat, durch Verknüpfung von den Gattern, lassen sich eben auch komplexe Zusammenhänge abbilden. Und es können die verschiedensten Dinge sein. Also das können z.B. Flip Flops sein, die eben den Wert speichern, solange bis der Wert gesetzt oder zurückgesetzt wird. Das könnte auch ein Additionswerk sein, was zwei zweistellige binäre Zahlen addiert. Und das würde dann eben z.B. jetzt so aussehen. Genau, das sind eben jetzt einfach nur Standardgatter, die durch die Zusammenschaltung eine bestimmte komplexe Logik abbilden. Also das sieht man auch hier bei dem Gigatron. Diese Zusammenschaltungen sind, im Prinzip seit Jahrzehnten bekannt, kann man im Netz alles Mögliche finden. Und im Prinzip könnte man sich faktisch jede CPU aus diesen Logikgattern zusammenbauen in jeglicher Komplexität, was man da möchte. Also wir zeigen dann auch noch, was da für Sachen drauf sind. In dem Fall hier ist es halt ein 2-bit Volladdierer. Es könnten aber auch, was weiß ich für Rechenwehr, es im Prinzip geht alles über diese Logikgatter abzubilden. Genau, und dann haben wir ja vor uns schon erzählt, dass es generell die Möglichkeit gibt, diese Gatter aus einzelnen elektronischen Komponenten zusammenzubauen. Und da gibt es eben verschiedene Logikklassen. Also jetzt zum Beispiel die Diode resistorlogik würde eben aus Dioden und Widerständen bestehen. Und entsprechend, je nachdem wie man die verschaltet, könnte man jetzt ein logisches Und abbilden, indem man das so schaltet wie jetzt hier auf dem linken Bild. Also an dem Ausgang wäre halt genau dann der 5 Volt Spannungspickel oder die Spannung, mit der ich eben die Schaltung betreibe, wenn sowohl am Eingang i1 als auch am Eingang i2 dieser Spannungspickel anliegt. Analog dazu in der rechten Abbildung dann die Odesschaltung in Diode resistorlogik. Genau, das Ganze kann man auch als resistor-transistorlogik bauen, dann verwendet man eben Transistor und Widerstände. Und dann sehen eben die Schaltungen so aus. Ist aber im Endeffekt Äquivalenz der Schaltung aus der Diode resistorlogik, zumindest von der Funktionsweise. Also man muss auch dazu sagen, je weiter wir jetzt hier kommen in der Technik, um so weniger Strom nimmt die auch. Die Diode-Widerstandslogik fließt halt sehr viel Strom und möchte man auch daraus in wirklich komplexes Rechenwerk bauen, das ist möglich, aber da braucht man ganz schnell auch ein Kraftwerk. Widerstand-Transistorlogik ist da schon besser, aber auch hier wird halt Strom gesteuert und entsprechend muss das Ganze dann auch funktionieren. Ansonsten, also mit Strom versorgt werden, sondern funktioniert es nicht. Wir haben hier teilweise Diode-Logik drauf, aber zum großen Teil kommen wir dann ein bisschen später noch drauf auf die CMOS-Logik, die jetzt hier läuft. Genau, der nächste Schritt ist dann die Transistor-Transistorlogik. Die ist im Endeffekt ähnlich zu der normalen Transistor-Resistorlogik. Allerdings besteht die Schaltung an der Stelle aus Multi-Emmitter-Transistor. Das bedeutet, eben ein Transistor hat nicht wie auf den letzten Slides genau einen Emmitter, sondern er kann eben zwei Emmitter oder drei Emmitter oder vier Emmitter haben und damit lassen sich eben teilweise logische Verknüpfungen durch einen einzigen Transistor abbilden. Dadurch werden die Schaltungen eben effektiv kleiner und die Stromaufnahme sinkt auch. Genau, dann gibt es noch die 74.000er-Logik-Familie. Das sind logische Standardkomponenten, die bereits auf dem IC gepackt wurden. Genau, und die Logik-Serie gibt es seit den 70ern soweit ich weiß. Die geht zurück auf die TTL-Reihe, was 5.400er war, die dann wirklich ein TTL-Logik war. Die 7.400er ist meines Wissens nach größtenteils oder fast ausschließlich CMOS und damit ohne großen Stromaufnahmen. Gibt es aber auch verschiedene, also die sind eigentlich immer benannt 74, dann irgendein Kürzel, was halb für die Technologie steht und dann die Nummer von dem Bauteil. Gibt es zum Beispiel LC-MOS oder es gibt Low Power Shot Gears? Genau. Ich bin mir gerade gar nicht sicher, ob es die auch in TTL gibt. Weiß ich doch gar nicht. Auch Spannungsbereiche gibt es unterschiedliche. Wir arbeiten hier grundsätzlich mit 5 Volt. Genau, und diese 74er-Logik-Familie, die bietet teilweise eben mehr Hallgata auf ein IC an. Zum Beispiel dieser 74x08 hätte eben 4 Endgatter. Das bedeutet, dass was wir vor uns demonstriert haben, wie so ein Endgatter zusammengeschaltet aussieht, wäre halt dort 4 Mal drauf, jeweils 2 Eingänge und 1 Ausgang. Einmal Spannungsversorgung, einmal Ground und dann könnte man dann über diesen IC praktisch die Gatter direkt ansteuern. Das Ganze gibt es natürlich auch noch ein bisschen komplexer, also zum Beispiel bei dem 74x283, das wäre schon mal ein 4-Bit Volladira. Also das Equivalenz der Volladira, den wir vor uns gezeigt haben, nur eben nicht mit 2 Bit, sondern mit 4 Bit. Jetzt hat man ja auch gesehen, wenn man die Gatterfonds auf dem Bit mal zählt und jetzt vergleicht mit so 4 und Gatter, dann waren das definitiv mehr als 4 Gatter und das waren nur 2 Bit. Das bedeutet also, dieser IC hat definitiv deutlich mehr Gatter als der erste IC. Das geht auch noch komplexer. Also es gibt auch mit dem 74x8832 eine komplette 32-Bit rhythmätisch-logische Einheit. Aber solche ICs wurden dann an der Stelle nicht verwendet. Also es gibt bei den Gigatronen Adira und es gibt Multiplex, aber es gibt keine komplette ALU. Ja, also die Logik ist wirklich in Logikgattern nachgebildet. Also es ist halt wichtig an der Stelle, dass man das System verstehen kann und wenn man viel Logik sozusagen in einen Chip verpackt, dann ist es schwierig, das, was ich wollte, zu verstehen, wie das läuft. Und deswegen fand ich das Projekt auch so ansprechend, weil das eben auf solche Sachen verzichtet. Okay, als nächstes müsste beim Aufbau kommen. Genau. Genau, das gibt es in verschiedenen Technologien, aber das haben wir ja schon erzählt. Fängst du an, was zu erzählen? Ja, also das Gerät hat einen Ebrum hier an der Stelle. Es ist ein ganz normales Standard Ebrum. Was war das in 1040 oder so? In 1024. 1024, ja. So, es ist ein Ebrum, was in der Baureihe, also für TTL beziehungsweise CMOS, verwendbar ist, seit den 70ern bekannt, nichts irgendwie fancy. Man kann dort mehr oder weniger jedes Standard Ebrum nehmen, was das Pinlayout hat, oder man muss halt das Mainboard entsprechend umbauen. In dem Ebrum stehen letztendlich die, ist die VCPU und hier in dem Fall auch noch ein paar Programme, aber das ist halt Teil der Harbert-Architektur. Ja, genau, dann gibt es noch das S-Farm-Modul. Ja, 32K, genau. Und im Gegensatz zu dem Ram, der heute häufig in Rechnung verbaut ist, ist das eben Statischer Ram. Also in Rechnung ist so genannte dynamischer Ram oder DRAM eingebaut, der funktioniert generell so, dass eben Kondensatoren verwendet werden und über den Zugangstransistop praktisch dann aufgeladen werden bzw. die Ladung ausgelesen wird. Das erfordert natürlich, dass der Kondensator in regelmäßigen Set-Aufständen wieder aufgeladen wird. Das bedeutet, man muss halt mal lesen, was in dem Kondensator drin stand, man muss dann den Wert wieder in den Kondensator reinschreiben, weil ansonsten verliert er über die Zeit die Ladung und die Zeit irgendwann einfach leer. Bei dem S-Ram ist es nicht notwendig, weil der S-Ram wird praktisch aus solchen Logik-Bausteinen, wie wir vor uns gezeigt haben, zusammengebaut. Der erfordert natürlich dadurch auch ständig Bannungsversorgung, also das ist nicht so wie DRAM, dass ich jetzt sagen kann, okay, ich schreibe die Werte rein und dann kann ich mal 64 Millisekunden warten und brauche oft dafür keinen Strom, sondern der S-Ram muss praktisch komplett die ganze Zeit mit Strom verbunden sein und zieht auch die ganze Zeit Strom dafür, dass die entsprechenden Daten eben gespeichert werden können. Und der Grund, S-Ram zu nehmen, ist halt, dass man diesen ganzen Memorierefasch sich sparen kann und dadurch die Schaltung einfacher wird. Ja, so, genau, die Steuereinheit. Genau, das haben wir jetzt mal als Steuereinheit vereinfacht. Also in dem Bereich ist praktisch die gesamte Steuerlogik implementiert. Da sieht man einmal, vielleicht hier auf den Slides noch besser als auf den Bild, dass hier so Rückwärts sind und auf diesen Rückwärts sind praktisch Dioden verlötet und diese Dioden definieren dann, wie bestimmte Anweisungen in Binea kodiert werden müssen. Und wenn dann praktisch eine Anweisung aus DME-Prom geladen wird, dann entscheidet dieses Dioden-Netzwerk eben welche Komponente damit angesteuert wird und mit welchen Parametern. Also das ist im Endeffekt so einmal die gesamte Steuerlogik von dem Gerät. So, ein Bett. Program-Counter. Das funktioniert praktisch so, in dem E-Prom stehen ja nacheinander die Anweisungen und beziehungsweise die Operationen mit Parametern drin und irgendwoher muss der Rechner ja wissen, welche Instruktion, die nächste Instruktion ist, die erladen muss. Dafür geht es eben dem Program-Counter und normalerweise funktioniert es eben so, die Instruktion an der Stelle, die gerade in dem Program-Counter steht, wird geladen. Dann wird der Program-Counter um eins incrementiert, also erhöht und im nächsten Schritt wird dann wieder die Instruktion auf die der Program-Counter zeigt geladen und Sprünge können dann einfach durch Anpassung von dem Program-Counter implementiert werden. Also wenn man jetzt in dem Programmfluss zum Beispiel eine E-Fanweisung hat und dann halt den nächsten Befehl aus oder wenn die Bedingung nicht gegeben ist, den übernächsten, dann kann das eben durch Anpassung von dem Program-Counter passieren. Gut, der Takt gerne erwartet, da muss man nicht wirklich viel sagen. Der ist hier oben, ist einfach ein Quartz. Standard, Schaltungen für ein Quartz-Ostylator, 6,25 MHz war das, das glaube ich, genau. Also nichts irgendwie fancy, aber es ist erstaunlich, der doch relativ niedrigen Taktfrequenz Rechenleistung bringt. Na gut, wobei 6,25 MHz nicht unbedingt eine Standardfrequenz ist, also die Quarze gibt's, aber es war relativ schwierig einzufinden. Ja. Warum man genau diese Frequenz braucht, das greift jetzt schon ein bisschen vor auf die Bilderzeugung. Das Gerät muss synchron zu dem Monitor laufen, um das VGA Signal zu erzeugen. Nimmt man eine andere Taktfrequenz, passt das Bild sozusagen nicht mehr auf dem Monitor bzw. kann vom Monitor nicht mehr angezeigt werden. Wenn man jetzt zum Beispiel einen sehr hellen Ausgang gebaut hätte, dann wäre das nicht so kritisch, dann müsste man nur die Geschwindigkeit der sehr hellen Schnittstelle entsprechend anpassen. Hier war es aber nötig, so eine doch recht schräge Frequenz zu nehmen, um ein sauberes VGA-Signal rauszubekommen. Als nächstes haben wir noch die Spannungsversorgung. Da gibt's eigentlich auch nicht so viel zu erzählen. Das ist total simpel. Da gibt's halt einfach über mini USB in den Spannungseingang, da kommen halt fünf Volt rein. Dann gibt's eine Zenerdiode, die bei Überspannung eben die Eingangsspannung einfach kurz schließt. Es gibt eine selbst zurückstellende Sicherung, die bei Überstrom greift. Ein Elektrolytkondensator, der das ganze Eingangssignal noch mal klettet und dann hier drüben mit dem Bild noch mal eine Leuchttiode, die Anzeigdropgrade Spannung anliegt oder nicht. Und noch ein IC, der eben einfach so lange die Spannung unter einem gewissen Spellwert liegt, den Reset-Signal sendet, was einfach dazu führt, dass die Chips eben sauber starten. Wenn das eben nicht gegeben wäre und die Chips würden zum Beispiel bei 1,2 Volt schon anlaufen, dann wäre das irgendwie eine nicht so genau definierte Spannung. Die würden alle außerhalb der Spezifikation betrieben werden wahrscheinlich würde es sogar so laufen, dass einige hochlaufen, andere wieder nicht und das Ding würde nie in einem sauberen Zustand hochkommen. Deswegen ist dieser kleine IC, das ist ein kleines 3-weiniges Ding, was aussieht wie ein Transistor, der im Prinzip, wie gesagt, jetzt passt die Spannung und jetzt lasse ich die Kiste loslaufen. So, das Treibchen-Paltlein. Genau, dieser gesamte Gigatron verwendet den Pipleining-Ansatz für die Instruktionen und entsprechend gibt es eben zwei Register, die eben die Instruktion und die zugehörigen Daten nochmal zwischenspeicher. Das bedeutet praktisch in einem Tag wird die Instruktion aus dem E-Prom geholt und in die Register geschrieben und im nächsten Tag wird dann die Instruktion aus den Register geholt und ausgeführt. Und dieser gesamte Pipleining-Ansatz verfolgt eben das Ziel, das ansonsten immer Teile der CPU beziehungsweise des Rechners stehen würden. Die hätten praktisch nichts zu tun. Und mit dem Pipleining werden die Instruktionen in kleinere Teilinstruktionen zerlegt und die können dann nacheinander teilweise parallel ausgeführt werden. Also beispielsweise kann eben hier durch diesen Ansatz parallel eine Instruktion ausgeführt und die neue Instruktion geladen werden. Und dadurch kann man theoretisch eben dann die Taktfrequenz erhöhen auf der die CPU läuft. So, die Register, genau. Hier und da, also hier in dem Fall ist das Board auch bedruckt einfach damit es schön aussieht und man auch nachvollziehen kann, was wo ist, muss man natürlich nicht machen. In Hausinhalt X und Y-Register als Multipurpose-Register, also da kann man eben einfach Werte zwischenspeichern und dann wieder rauslesen. Das X-Register ist als Counter gebaut. Das hängt dann wieder mit der Bildausgabe zusammen, dass der eben nacheinander schnell über die Adressen iterieren kann und der Akkumulator ist praktisch nochmal das Register der rhythmisch-logischen Einheit. Man muss hier vielleicht noch dazu sagen, das Rechenwerk ist für die Erstellung des VGA-Signals zuständig. Also da gibt es kein extra Chip oder Controller oder irgendwas, was VGA-Signal oder auch Audio macht. Das macht die CPU sozusagen. Also falls man hier von der CPU-Rechnung reden will, also ich denke, Rechenwerk passt besser. So der Bus hier und die. Die Idee ist praktisch, dass die Zugriffen auf den Bus auch gepuffert werden können und das sind eben entsprechend dann die Register, die das gepuffert wird. Dieser gesamte Gigatron hat eine Nacht mit Bus, an denen sind eben die Komponenten alle angeschlossen und diese Puffer dienen eben dazu, dass zum Beispiel zuerst aus dem Bus in den Puffer gelesen werden kann und dann eben im nächsten Zyklus dann aus dem Puffer ausgewertet werden kann oder eben auch andersrum erst in den Puffer geschrieben werden und dann im nächsten Zyklus von dem Puffer auf den Bus gesendet. Genau, also das ist die arithmetischlogische Einheit. Die besteht aus mehreren Multiplexern und zwei Adirern und interessanterweise sind dadurch eben wirklich diese gesamten Operationen, die der Gigatron kann, also praktisch alle acht Stück, die dann in dem arithmetischlogischen Teil abgebildet sind. Also ich habe diese Schaltung gefunden in einem wissenschaftlichen Beitrag von, ich glaube, 1982. Da hat einer in einem Journal diese Schaltung veröffentlicht, die ist dann so in der Bastelszene dann immer mal unter dem Tisch rumgereicht worden. Also sollte man sich im Schallplan unbedingt mal anschauen und nachvollziehen, wie das geht, ist ziemlich genial gemacht. Das wird in den Rahmen jetzt hier sprengen, das im Einzelnen zu erklären. Es ist aber möglich, die Funktion dieser Alu wirklich zu verstehen. Eigentlich kann man hier wirklich jede einzelne Funktion verstehen. Man kann damit auch mit dem Logi-Ganalyse oder sogar mit dem Ostsee rangehen, um wirklich nachzuverziehen, was das Ding gerade tut. Und das fand ich, also dieser Teil hier, das war für mich der eigentlich faszinierende Teil an dem ganzen Gerät. Genau, da gibt es dann noch zwei ICs zur Speicheradressierung. Das hängt damit zusammen, dass der Gigatron mehrere Adressierungsmodik haben. Also beispielsweise kann man angeben, okay, die Speicheradressierung kommt jetzt aus dem X-Register oder die Speicheradressierung kommt jetzt aus dem Y-Register. Und die Komponenten sind eigentlich plus Multiplexer, die dann entsprechend die Speicheradresse auf die entsprechenden Pins durchgeben. Also da ist eben einfach nur ein DSUG9 den härter draufgelötet. Und noch ein IC. Und darüber erfolgt die Eingabe. Genau, der Ausgabe Teil ist ein kleines bisschen komplexer. Also es gibt einmal... Eigentlich ist das auch nicht wirklich. Naja, aber es gibt mehrere Komponenten. Also wir haben hier jetzt halt das Problem, wir verlassen sozusagen die digitale Welt und müssen quasi analog Dinge produzieren, mit denen die Menschheit klar kommt. Weil jetzt sind ja nicht digitale. Generell gibt es näherer Ausgaben. Einmal gibt es hier oben diese 4 LEDs. Die angestellert werden können. Dann gibt es hier in dem Bereich die Klingenausgabe für Audio. Und dann hier in dem nächsten Bereich die Videoausgabe über VBA. Das ist eigentlich... Also die Audioausgabe ist eigentlich ein ganz normaler digital analog Konverter. Also das ist ein Widerstandsnetzwerk, was dann entsprechend angestellt wird und über die Spannungsteile, die dabei entstehen, kommt dann halt in quasi analoges Signal daraus. Da kümmert sich aber wirklich das Rechenwerk drum. Also das ist keine Extrasound-Card oder ähnliches. Das macht die sozusagen nebenbei. Ja, und ähnliches ist auch mit der VGA-Ausgabe. Also das VGA-Signal sind ja Rot-Grün- und Blau und die Synchronsignale. Und hier sind wir wieder, warum das Ding so ein schrägen Quarz hat. Damit die Synchronsignale und die Zeilen zu der Monitorfrequenz passen muss das halt diese Frequenz sein. Und auch hier werden die 64 Farbenkantas-Gerät über diese Widerstände, die man dort sieht im Prinzip erzeugt für jede Farbe einzeln, dass dann eben 64 Farbstufen insgesamt durch Mischen rauskommen. Ja, die Ausgabe kannst du mal über VGA. Also jeder Standard-VGA-Monitor kann das Ding anzeigen. Dusch, ja. Ja, ist doch klar noch. Ja, genau, nicht mal jetzt. Ja, Software. Also es gibt in der Hand voll Standard-Spiele, die auf dem Ding mal programmiert wurden. Da gibt es auch, also das Rom, was da jetzt draufläuft für die Howard-Architektur ist inzwischen auch Open Source. Das kann man sich runterladen, kann da auch drin rumschreiben, kann eigene Dinge machen. Die Spiele hier, wie gesagt, Klassiker. Es gibt den Bildbetrachtungsprogramm. Wenn man jetzt davon ausgeht, dass das Ding so in der Leistungsklasse vom Rechen an Anfang der 80er spielt, hat man dadurch, dass die 64 Farben kann bei der relativ hohen Auslösung, sehen die Bilder erstaunlich gut aus. Also das hat mich... Also wenn man mal in ZX81 oder sowas gesehen hat, was der für eine Grafik ausgabert, ist das wirklich überraschend. Ja, gut. Der Klassiker, Mandelbrotfaktal und der Voice Monitor, der läuft natürlich auch. Ich habe viel gelernt, mit dem Ding rumgespielt, was da gerade los ist, was da passiert. Du solltest vielleicht noch kurz erklären, was das ist? Der Voice Monitor ist im Prinzip ein Monitor, mit dem ich in den Speicher reingucken kann. Und zwar von der VCPU. Ich kann nicht reinschauen, was in der Harvard-Architektur läuft. Aber das weiß ich ja, weil das Raum kann ich ja auch auslesen. Soweit ich weiß, kann der auch schreiben? Ja, der kann auch schreiben. Ja, genau. Das Wichtigste, man kann auch seine Programme schreiben. Es gibt inzwischen auch ein Projekt, das habe ich gelesen, die leistungsfähigere Basic Dialect in das Ding bringt. Habe ich aber selber noch nicht getestet? Hast du mal geschaut? Nein. Das Ding ist witzig. Und zwar, wir hatten ja schon ein Eingangs erwähnt, dass es da eine sehr ehelle Verbindung gibt. Das ist kein erst 232 oder so. Das ist wirklich was Eigenes. Und damit man dort PS2 mitsprechen kann, ist da ein Atmel drin. Hier ist jetzt ein Artini drin. Man kann aber auch das mit dem Arduino machen oder einen anderen Atmel nehmen. Es ist möglich, den Speicher des Arduino zu benutzen, als Massenspeicher für das Gerät, wenn man das so nennen will. Bei dem sind jetzt hier was 320 Byte oder so. Ich weiß jetzt nicht mehr genau wie viel. Aber man kann natürlich auch einen größeren nehmen und hat dann ein paar Kilobytes, wo man was abspeichern kann. Theoretisch könnte man sich auch irgendwie, wenn man einen größeren Atmel hat, auch einen Anschluss an der SD-Cutter oder so bauen. Aber grundsätzlich kann man diese ehelle Schnittstelle dazu benutzen, um Software, die man geschrieben hat, von dem Ding runterzubringen oder auch raufzubringen. Ja, dann zeigen wir mal, was das kann, oder? Genau, schalke das mal an. Das läuft mit fünf Volt. Ganz normales USB-Netzteil. Er hat ungefähr, also nicht ganz 100mA Stromaufnahmen. Hängt natürlich auch davon ab, wie viele Lampen gerade blinken. Es gibt noch ein, was vielleicht spannend ist, zur Funktionsweise, das Rechenwerk kümmert sich ja darum, dass die Bildschirm-Barstellung gemacht wird für den Aufbau des Bildseilers. Und wenn man genau hinschaut, sieht man hier schwarze Striche drin. Hintergrund des Ganzen ist, dass die CPU beschäftigt, also das Rechenwerk ist ja auch ohne CPU, ist damit beschäftigt, das Bild aufzubauen und kann in der Zeit nichts berechnen. Man kann das nur während des Zeilspruchs, oder wenn das zurück springt, und in der Austastlücke. Also oben unten gibt es eine Austastlücke. Früher ist da mein Elektronenschrank hin und her ist natürlich hier nicht mehr der Fall. Und ich kann dem Gerät sagen, zeichne alle Zeilen. Da hat er natürlich am wenigsten Zeilen. Also er kann nur an der Software rechnen, solange er nichts anzeigen muss. Ich kann jetzt sagen, zeige mir alles an. Ich kann aber auch sagen, lasst eine Zeile aus, oder jede Fünfte ist das jetzt glaube ich. Jetzt ist jede zweite, und so ist nur eine von drei Zeilen wird angezeigt. So ist das System ziemlich schnell und so ist er ziemlich langsam. So können wir auch mit dem Racer mal demonstrieren. Genau, wir machen einfach mal ein Programm auf. Racer, das ist halt ein klassisches Rennspiel. Man sieht das jetzt hier, ich nehme dem einfach mal ein paar Zeilen weg und schon läuft das deutlich flüssiger. Jetzt bin ich aus der Straße gefahren, aber das ist deutlich, wie beschleunigt der? Mit A. Aber das Problem ist bei der aktuellen Implementierung, dass der praktisch die eine Taste verliert, sobald eine andere Taste gedrückt wird, das bedeutet gleichzeitig geschleuniger und lenken funktioniert nicht. Das ist jetzt, denke ich, relativ deutlich gewesen. Das war was das war, das war ein Racer. Also sehr schön sieht man das auch bei der Mandelbrotberechnung. Wie lange das dauert, also der hat jetzt hier oben angefangen zu berechnen. Wenn ich jetzt Zeilen wegnehme, hat er plötzlich sehr, sehr viel mehr Zeit zu berechnen und entsprechend schneller geht das Ding ist aber, er behält die Pixel trotzdem im Speicher. Das heißt, ich kann ihn schnell rechnen lassen und dann mir das Ergebnis in voller Schönheit anzeigen. Okay, ich glaube, wenn ich das jetzt komplett ab für Menschen rechnen lassen wollen, ich hätte so mal zwei, so drei, vier Minuten brauchen. Wenn ich das so mache, habe ich schon ausprobiert, aber es dauert ungefähr eine Stunde. So, wir hatten vor uns die Bilder, also das ist, also das ist meine alte CT von 80ern oder frühen 90ern, dieses Bild war so der Standard, um die Grafikleistung zu zeigen und das ist für den Rechner von der Größe schon wirklich umwerfend. Also ich war wirklich absolut überrascht, wo ich das gesehen habe. Gut, no da, das sind jetzt weitere Spiele, so die üblichen Sachen, was ich jetzt hier auch spannend finde, also man kann hier tatsächlich Basic, die üblichen Sachen. Ich habe hier eine deutsche Tastatur, der ist auf deutscher Tastatur bei dem anderen gestellt, aber ich habe vergessen, dass in Basic das nicht davon ist. Wo waren da die Gänseflüschen? So, und hier kann man dann auch sehen, dass die Geschwindigkeit sich wieder merklich ändert, je nachdem, wie viele Zeilen man anzeigen lässt. Was gibt es noch, irgendwie zu zeigen? Vielleicht den Wassermann nicht noch mal kurz. Was würde ich mir da jetzt schon zeigen, ich glaube, man kann ihn einfach machen. Der Wassermann ist übrigens mit dem Apple 1 ausgeliefert worden. Wie war das? Wie war die ShopCuts? ShopCuts, weiß ich nicht, aber einfach nur die Adresse eingeben, gibt Wert aus. Das Garten ist da noch ein paar andere Sachen, wie du da machen konntest. Aber das ist ja, ich kann das nicht mehr nachlesen, dass der Wassermann wirklich umgespielt. Also, wie gibt es? Gut, da steht jetzt gerade nichts im Rahmen, aber man kann dann zum die Backen und so. Also, der Wassermann kann noch mehr, ist ein relativ kleines Programm, ich glaube 400 Byte oder sowas größer, aber mit dem kann man dann auch wirklich mal in den Rahmen reingucken. Es gab noch Sachen, dass man reinschreiben konnte und ich glaube, ich habe auch noch eine Möglichkeit, dass der einen irgendwie die zugehörigen Buchstaben oder sowas anzeigt, was dort steht, also sozusagen dekodieren. Aber das weiß ich jetzt nicht mehr aus dem Kopf, wie das genau war. Also, Wassermann ist so ein Klassiker, den findet man im Netz für alle möglichen Geräte. Wer wirklich sich in die Tiefe was debatten will, dann nimmt, glaube ich, was anderes. Also, ich nehme auch anderes, aber so mal schnell was zu schauen ist, ja. Mir fällt jetzt hier nichts bei ein. Ich kann noch mal hier einfach mal laufen lassen. Also, hier, das frisst so wenig Leistung, dass man das auch mit voller Zellenzahl, also das macht dann keinen Unterschied, kann man laufen. Ja, hier hat man dann Soundausgabe mit, also der Sound klingt auch gar nicht so schlecht, finde ich, dafür, dass das so eine einfache Sache ist. Ja. Die Blendenlights, das kann man auch programmieren, wenn jemand drauf steht. Aber so insgesamt ist das ein sehr schönes System, um zu verstehen, wie man aus einfacher Logik ein Computer bauen kann und dann wirklich eigentlich in beliebiger Tiefe fragt, kann man da reingehen, um sich anzugucken, was da abläuft. Ja, gut. Ich glaube, wir sind durch. Ja, wir bedanken uns. Na dann, vielen Dank für den Vortrag und jetzt haben wir hier die Speaker noch um Fragen zu beantworten und da fangen wir gleich an mit einer Frage von Krest aus dem IRC, in welchem Stand ist das Native Force für das System? Okay. Dann haben wir noch eine Frage von Krest aus dem IRC. Wie ähnlich ist die VCPU im Vergleich zu Suite 16? Wir arbeiten dran, dass der Speaker für euch im Stand zu ist. Okay, also es gab als erstes die Frage nach Native Force und die Konter konnten wir nicht aus dem Stegreif beantworten und jetzt war die nächste Frage wie ähnlich ist die VCPU im Vergleich zu Suite 16? Ja, also ich weiß jetzt ehrlich gesagt nicht sehr viel über Suite 16. Ich habe mir die hier angeschaut und kann also da das nicht wirklich beantworten. Martin, du vielleicht? Ich kenne Suite 16 nicht, von daher ist das Vergleichen jetzt nicht so wirklich möglich. Also ich muss dazu auch sagen, dass die Software interessiert hat und weniger so die Software Seite. Aber ja, man muss sich natürlich auch ein bisschen mit der Software fassen. Okay. Dann vielen Dank. Dann gab es im Wesentlichen noch den Wunsch die Slides zu erhalten. Aber da wurde schon gesagt, dass die ja üblicherweise dann verlinkt werden aus, dass das der Fall sein wird. Oder habt ihr da was dagegen? Ja. Gut. Also Suite 16 war offensichtlich die VCPU von Apple Basic. Ah, okay. Genau. Also das waren im Wesentlichen die Fragen im Chat. Dann wurde sich vielfach für einen sehr schönen Vortrag bedankt. Das würde ich dann weiter geben. Und genau. Dann wenn ihr den Vortrag gut fandet werdet ihr möglicherweise auch den nächsten Vortrag gut finden. Könnte ich mir vorstellen. Denn um 17 Uhr geht es dann weiter mit dem nächsten Vortrag Retro Computing auch mit Little Alex. Genau. Und dem Markus. Alles klar. Noch viel mehr Leuten werde ich dann genauer sagen. Bis nachher. Viel Spaß auf dem RC3 bis dahin. Tschüss.