Judy Warner: Che cosa ti ha spinto a utilizzare la matematica discreta per sviluppare la tua microarchitettura?
Frank Duggan: Era qualcosa che volevo fare sin da piccolo, ancor prima di conoscere a fondo la materia. Ero ossessionato dal mio kit di elettronica Snap Circuits, e mi piaceva mettermi alla prova con vari tipi di circuiti. A un certo punto, mi sono ripromesso di provare a costruire un computer, forse perché per me questi dispositivi erano un mistero. Non capendo a fondo il loro funzionamento, ho pensato che fossero molto complessi da progettare.
Warner: Hai mai utilizzato altri tipi di linguaggio assembly? Se sì, ci sono cose che avresti voluto cambiare e perché?
Duggan: Non ho mai programmato in nessun altro linguaggio assembly, anche se conosco un po' di assembly ARM. Quando ho realizzato il linguaggio assembly di BEEBA, non ho preso in considerazione i progetti di linguaggio assembly esistenti. Ho solo esaminato il pacchetto d’istruzioni eseguito dall'hardware e pensato a un modo per rappresentarlo nel testo.
Warner: Qual è stata la sfida più grande nello sviluppo della Rev 2 di BEEBA?
Duggan: La sfida più grande è stata progettare il decodificatore delle istruzioni. Dovevo trovare un modo per consentire operazioni di ramificazione e loop. Le istruzioni a 16 bit non sono abbastanza grandi per poter specificare un'istruzione a cui saltare, o una locazione da cui leggere per decidere se saltare lì o meno. Riflettendoci su, ho trovato una soluzione adatta al sistema in grado di copiare i dati da una locazione all'altra. Utilizzo tre locazioni scrivibili per bufferizzare una posizione d’istruzione. Una quarta locazione scrivibile viene utilizzata per decidere se saltare o meno alla posizione bufferizzata. Quando un numero dispari viene inviato a quella locazione, il computer d’istruzioni copia la locazione bufferizzata nel contatore del programma. Quando invece viene inviato un numero pari, il computer non fa nulla e procede all'istruzione successiva nella sequenza. L'implementazione elettronica di questo sistema è semplice e si adatta allo spazio limitato della scheda del decodificatore d’istruzioni.
Warner: Quali tecniche hai implementato per il debug della scheda?
Duggan: Ho usato ponticelli per collegare parti del computer a un waffle in modo da poterle testare in isolamento. A volte ho collegato una singola scheda, a volte più schede. Ho trovato un errore nella scheda di registro generica per cui questa leggeva le locazioni di lettura/scrittura al contrario. Ma ormai avevo già le schede in mano, per cui ho dovuto praticare dei fori e creare i collegamenti corretti con i cavi.
Warner: Prima d’iniziare la progettazione del PCB, quali metodi hai utilizzato per i prototipi?
Duggan: Ho costruito parti del progetto su un waffle piuttosto grande. Per testarli, ho collegato interruttori e LED a determinati pin d’input e output. Quindi, dopo essermi assicurato che funzionassero, li ho disegnati usando un programma CAD.
Warner: Il tuo progetto è pensato per essere open source? Se sì, dove è possibile trovarlo?
Duggan: Ora lo è! Lo si può trovare qui, su Github. Avrei dovuto pubblicare i file di progettazione già da molto tempo, ma ora sono finalmente disponibili.
Warner: Quali sono le tue aspirazioni per il futuro e qual è la tua prima scelta per quanto riguarda l'università da frequentare e perché?
Duggan: Vorrei studiare ingegneria elettrica e/o informatica. In un certo senso, lo sto già facendo da anni e mi piace, quindi non avrebbe senso smettere ora. Vorrei frequentare il MIT, da quando ho visitato il campus per la prima volta. Ho molte aspettative per quanto riguarda il programma di studi e il MIT offre una certa flessibilità che mi consentirebbe di perseguire i miei interessi sia in ingegneria elettrica che in informatica. Offrono corsi molto specifici, come la computer grafica e un corso in cui gli studenti si cimentano nella progettazione di un processore. Mi piace imparare facendo, e questo è proprio l'ideale su cui è stata fondata la scuola: "Mens et Manus." Inoltre, ho chiacchierato con alcuni studenti durante la mia visita e uno di loro mi ha parlato delle opportunità di lavoro che ha avuto studiando al MIT, tra cui lavorare per Google. La possibilità di trovare un lavoro prestigioso nel settore già durante il college è sicuramente allettante. Infine, ci sono le opportunità di ricerca. Questo è molto importante per me, lo vedo come un modo per dare un contributo significativo al settore. So che gran parte delle università al giorno d'oggi offrono la possibilità di condurre studi e ricerche, ma il MIT rimane all’avanguardia anche su questo fronte.
Warner: Frank, è stato bello incontrarti alla Maker Faire di New York e grazie mille per questa intervista. Ti auguro il meglio in attesa dell’università. L’intera squadra di Altium si augura che tu possa entrare al MIT, teniamo le dita incrociate per te!
Duggan: Grazie, Judy. È stato un piacere conoscerti e ti ringrazio per l'intervista e il supporto!
Scopri di più su BEEBA con Duggan, QUI