Judy Warner: Was hat Ihr Interesse geweckt, Ihre eigene Mikroarchitektur mit diskreter Logik zu entwickeln?
Frank Duggan: Ohne die Details genau zu kennen, war es etwas, dass ich schon als kleines Kind machen wollte. Ich war besessen von meinem Elektronikbaukasten und hatte Spaß daran, mich selbst zu fordern, indem ich Schaltungen für verschiedene Dinge baute. An irgendeinem Punkt dachte ich, dass es die größte Herausforderung sein müsse, selbst einen Computer zu bauen. Der Grund dafür war wahrscheinlich, dass ich sie als sehr geheimnisvoll empfand und zu dem Schluss kam, dass sie wohl sehr schwierig zu entwickeln sein müssen.
Warner: Haben Sie auch andere Bausteine per Assemblersprache programmiert? Wenn ja, gab es da Dinge, die Sie ändern wollten und warum?
Duggan: Ich habe in keiner anderen Assemblersprache programmiert, obwohl ich Grundkenntnisse in der Programmiersprache „ARM Assembly“ habe. Als ich die Assemblersprache „BEEBA“ entwickelte, berücksichtigte ich keine der bereits vorhandenen Assemblersprachen. Ich habe mir nur den Befehlssatz angeschaut, mit dem die Hardware läuft, und fand einen Weg heraus, diesen als Text darzustellen.
Warner: Was war Ihre größte Herausforderung bei der Entwicklung der zweiten Version von „BEEBA“?
Duggan: Die größte Herausforderung bestand darin, den Befehlsdecoder zu entwickeln. Ich musste einen Weg finden, um Verzweigungen und Schleifen zu realisieren. Die 16-Bit-Befehle sind nicht breit genug, um eine Anweisung anzugeben, zu der gesprungen werden soll, und das Auslesen einer Speicherstelle zu veranlassen, um zu entscheiden, ob der Sprung ausgeführt werden soll oder nicht. Nach etwas Brainstorming fand ich eine Lösung, die im System funktioniert; dabei werden Daten von einer Speicherstelle an eine andere kopiert. Es werden drei beschreibbare Speicherstellen genutzt, um die Position eines Befehls zwischenzuspeichern. Eine vierte, beschreibbare Stelle wird für die Entscheidung genutzt, ob an die zwischengespeicherte Position gesprungen wird oder nicht. Wenn eine ungerade Zahl an diese Speicherstelle geschickt wird, kopiert der Computerbefehl die zwischengespeicherte Stelle in den Programmzähler. Wenn dagegen eine gerade Zahl an diese Speicherstelle geschickt wird, unternimmt der Computer nichts und fährt mit dem nächsten Befehl in der Sequenz fort. Die elektronische Umsetzung dieses Vorgangs war einfach und passte auf den begrenzten Platz der Befehlsdecoder-Platine.
Warner: Welche Techniken nutzten Sie für das Debugging der Leiterplatte?
Duggan: Ich nutzte Schaltdraht, um die Bauteile des Computers mit einem Breadboard zu verbinden, damit ich sie isoliert prüfen konnte. Manchmal schloss ich eine einzelne Leiterplatte des Computers an, manchmal auch mehrere Leiterplatten. Ich fand einen Fehler auf der Universalregister-Platine, wo das Lesen von schreib-lese-fähigen Speicherstellen rückwärts erfolgte. Da ich die Leiterplatte bereits soweit entwickelt hatte, musste ich sie mit Bohrungen versehen und mit Drähten die richtigen Verbindungen herstellen.
Warner: Welche Methoden haben Sie für das Prototyping genutzt, bevor Sie mit dem PCB-Design begannen?
Duggan: Ich baute Teile des Designs auf einem recht großen Breadboard auf. Zu Testzwecken brachte ich an bestimmten Eingangs- und Ausgangs-Pins Schalter und LEDs an. Nachdem ich sicher war, dass sie funktionierten, zeichnete ich sie in dem CAD-Programm, mit dem ich arbeitete.
Warner: Haben Sie dies als Open-Source-Design entworfen? Falls ja, wo können sich die Leute das anschauen?
Duggan: Inzwischen ist es tatsächlich verfügbar: https://github.com/giraffeics/BEEBA. Ich hätte die Dateien für das Design schon längst veröffentlichen sollen, aber nun sind sie verfügbar.
Warner: Welche Wünsche haben Sie in Hinblick auf die Hochschule? Welche Universität wäre Ihre erste Wahl und aus welchem Grund?
Duggan: Ich möchte gern Elektrotechnik und/oder Informatik studieren. Ich habe mich damit seit Jahren beschäftigt und es macht mir Spaß, also würde es keinen Sinn ergeben, jetzt aufzuhören. Seit ich mir den Campus angeschaut und an einer Besichtigung teilgenommen habe, ist das MIT meine erste Wahl. Meine erste Priorität bei Hochschulen ist der Lehrplan, und das MIT bietet die Flexibilität, die es mir erlaubt, beide Interessen – Elektrotechnik und Informatik – zu verfolgen. Das Institut biete sehr spezielle Kurse an, wie etwa Computergrafik und einen Kurs, in dem Studierende einen Prozessor entwickeln. Ich lerne gern praxisnah und das entspricht wortwörtlich dem Ideal, auf dem die Hochschule gegründet wurde: „Mens et Manus“. Ich sprach bei meinem Besuch auch mit einigen Studierenden, und eine Studentin erzählte mir von den Jobchancen, die sie während des Studiums am MIT hat, darunter u. a. die Möglichkeit, bei Google zu arbeiten. Die Möglichkeit, parallel zum Hochschulstudium in der Praxis an realen Projekten zu arbeiten, ist natürlich attraktiv. Und zum Schluss zählen natürlich auch die Forschungsmöglichkeiten. Die sind mir sehr wichtig, da ich sie als Möglichkeit sehe, wichtige Beiträge im Fachgebiet zu leisten. Ich weiß, dass die meisten Hochschulen heute mit der Forschung an ihren Instituten prahlen, doch das MIT ist in dieser Hinsicht dennoch ein großartiger Ort.
Warner: Ich habe mich sehr gefreut, Frank, Sie auf der New York City Maker Faire kennenzulernen. Ich danke Ihnen für dieses anregende Interview. Ich wünsche Ihnen alles Gute für Ihren weiteren Weg, und auch das Team von Altium drückt Ihnen die Daumen für das MIT.
Duggan: Vielen Dank, Judy. Es hat mich auch gefreut, Sie kennenzulernen. Ich bedanke mich bei Ihnen für das Interview und die Unterstützung!
In diesem You-Tube-Video erklärt Frank Duggan BEEBA.