Želite li izraditi vlastiti procesor i potom naučiti kako oni rade? Navedite se ovim primjerom

Prošla ste mjeseca na našim stranicama mogli pročitati dvije zanimljive priče o samogradnji retro računalnih sklopova. Autor tih projekata i naš sugovornik u tim je slučajevima bio Daniel Belle, softverski inženjer, predavač na Visokom učilištu Algebra, k tome entuzijast u elektronici, književnosti, i skateboardingu. Vidjeli smo da su vas njegove avanture u samogradnji zainteresirale, pa smo dogovorili još jedan intervju, kako bismo zaokružili trilogiju… Treći nastavak bavi se izradom vlastitog – procesora.

Daniele, o kakvom je projektu riječ ovog puta?

CP4U je projekt 4-bitnog procesora koji se idejno i vremenski smjestio između “tenis” implementacija, potpuno hardverske naravi, i računalna izgrađenog oko Z80 procesora koji ima i softverski aspekt. Sljedeći paradigmu korištenja komponenti tek nakon što su u potpunosti realizirane s diskretnim komponentama, mogao sam koristiti procesor Z80 tek nakon što sam izgradio vlastiti procesor.

Zapravo, dugo me proganjala misao kako procesor radi, te sam bio velike sreće otkriti knjigu J. Clark ScottAli kako to znati?“, koja na fascinantno jednostavan način odgovara na potonje pitanje. Kada sam pročitao knjigu, shvatio sam snagu jednostavnosti pristupa i usudio se pomisliti da sam shvatio rad procesora. Međutim, da bih to sebi i dokazao, morao sam ga izgraditi, doživjeti, dodirnuti. Drugo otkrivenje bili su mi video materijali Bena Eaterakoji sam riješio brojne dileme konkretnim rješenjima problema s kojima sam se suočavao tijekom izgradnje.

Tada sam napokon bio spreman implementirati procesor predstavljen u Scottovoj knjizi. Dakle, CP4U ni u kom slučaju nije moj autorski projekt, već tek objedinjenje prethodno spomenutih pristupa Scotta i Eatera. Ono što ipak jest moje, to je paradigma prilikom izgradnje.

Koji je bio glavni motiv za ovu avanturu?

U programerskoj karijeri našao sam se u jednoj vrlo složenoj situaciji jer sam programirao naučio stihijski ili bolje rečeno uličarski (smijeh), te sam u okruženju inženjera počeo gubiti tlo pod nogama već nakon par godina profesionalnog bavljenja tim poslom. Kada sam se bratu Mihaelu obratio na problem neshvaćanja apstrakcije viših razina, kao i nemogućnost praćenja tehnologije koja se brzo razvija i brzo mijenja paradigme, poput stavova političara zemlje u tranziciji, rekao je moja misao koju sam zapanjila: “Kaj se bojiš, pa to su samo nule i jedinice!?!“.

Mjesto da me ohrabrila, ta misao mi je pokazala gdje se, na najdubljoj razini, nalazi problem – pa ja uopće ne znam kako radi procesor, a kamoli kompjuter! Sa problemom sam se uhvatio u koštac na dvije razine.

Realizacija koračnog modula na početku projekta
Realizacija koračnog modula na početku projekta

Obzirom da sam već godinama programirao u Javi, krenuo sam polagati certifikate, i to, zamislite, nakon što sam u WC-u ureda pročitao reklamu za Sun (kasnije Oracle) certifikat. Tako sam poludio za vrijeme, da sam položio 5 certifikata u godini dana. Ali, još važniji smjer bio je onaj da napokon osnažim svoje samopouzdanje bavljenja ovim poslom – da izgradim procesor.

Koliko je vremena onda bilo potrebno za realizaciju?

Od trenutka kada sam shvatio što točno želim raditi prošlo je samo nekoliko mjeseci. Ne, važno je napomenuti da mi je trebalo dvostruko više vremena da svoju ideju uobličim u konkretan projekt. Kao zaostatku u elektronici, izgradnja Pong-a pomogla mi je da se suočim čak i s najsloženijim konceptima, ali sam morao puno naučiti i usput griješiti. Cijeli ovaj proces je detaljno dokumentiran na mom webuzajedno sa svim shemama i objašnjenjima u kojima sam težio jednostavnosti koja je, barem prema riječima Leonarda da Vincijakrajnja sofisticiranost.

Finalna realizacija procesora
Finalna realizacija procesora

Vjerujemo da je prilikom realizacije bilo mnogo kamena spoticanja?

Kako te život svakako malo počasti nekom ironijom, tako sam i ja, zapravo iz neuspjeha izgradnje 8-bitnog procesora, ipak naučio sve što me proganjalo. Sve je stvar prihvaćanja vlastite nesposobnosti, jer su greške najveći učitelji. Nakon izgradnje, svaki od komponenata 8-bitnog procesora radio je besprijekorno, međutim, kada bih ih povezao, kulise su se počele urušavati. Shvatio sam, napokon, da je riječ u mojoj škrtosti prilikom kupovanja eksperimentalnih pločica koje su uzrokovale nenadoknadive gubitke napona. Dakle, 8-bitni procesor bio mi je nadohvat ruke, toliko blizu da sam ga mogao gotovo dodirnuti, ali nije radio!

PCB procesora
PCB procesora

Toliko sam bio ufuran da sam ekspresno potrošio preko 400 eura samo da mi sa Amazonom već sutradan dođu nove, mnogo skuplje eksperimentalne pločice. Kada sam prebacio procesor na nove ploče, stanje se znatno popravilo, ali je procesor i dalje patio od gubitaka napona i bio totalno nestabilan pa sam malne završio u utjehama praznovjerja, padajući u sve dublje uobrazilju. Tada mi je napokon sinulo – prerezat ću ga na pola! Umjesto 8-bitnog, izgradit ću 4-bitni procesor koji će imati 16 instrukcija, 4 bitnu sabirnicu i 16 bajtni RAM-a, sve insekti. Uistinu, bilo je pravo zadovoljstvo poraziti svoju taštinu i pomiriti se sa vlastitom nesposobnošću. Ali, na kraju, rad 8-bitnog procesora koji sam namjeravao izgraditi, ni u čemu se konceptualno nije razlikovao od CP4U procesora koji je 4-bitan. Meni zapravo, beskrajno-bitan (smijeh).

Bi li netko drugi, na temelju tvog pristupa, mogao sam izgraditi procesor?

Naravno, to je i glavni smisao svih projekata koje sam gradio. Znaš, par mojih studenata pokazao je živi interes za vrijeme i to mi je veliki kompliment. Cijelo vrijeme sam se vodio mišlju da želim “u bunar znanja” vratiti ono što sam dobio. Toliko sam zahvalan izvorima iz kojih sam cijenio sve što sam mogao provjeriti, da sam osmislio vlastiti pristup koji je, nadam se, primjeren totalnim laicima poput mene i da samo na temelju interesa, truda i prihvaćanja teške šljake mogu izgraditi sve. Na koncu, ja sam sebi time dokazao svoje inženjerstvo.

I poruka za kraj ovog edukativnog uradi sam serijala?

Uglavnom, dosta sam plitak i glup, pa ću citirati pametnije: “Ako se sjećam Dana sigurnosti, sjećam se mene. Ako se ne sjete, nikoga nije briga. To je bila moja dužnost, učiniti. Najveće zadovoljstvo bit će mi pomisao da sam jednog čovjeka izveo na pravi put!” (Balkanski Špijun)

Više o temiIzvor:Bug.hr